Merge: doc: fixed some typos and other misc. corrections
[nit.git] / c_src / nitc__abstract_compiler.sep.2.c
1 #include "nitc__abstract_compiler.sep.0.h"
2 /* method abstract_compiler$AbstractCompiler$compile_header for (self: AbstractCompiler) */
3 void nitc___nitc__AbstractCompiler___compile_header(val* self) {
4 val* var /* : CodeWriter */;
5 val* var2 /* : CodeWriter */;
6 static val* varonce;
7 val* var3 /* : String */;
8 char* var4 /* : CString */;
9 val* var5 /* : String */;
10 val* var6 /* : nullable Int */;
11 val* var7 /* : nullable Int */;
12 val* var8 /* : nullable Bool */;
13 val* var9 /* : nullable Bool */;
14 val* var10 /* : CodeWriter */;
15 val* var12 /* : CodeWriter */;
16 static val* varonce13;
17 val* var14 /* : String */;
18 char* var15 /* : CString */;
19 val* var16 /* : String */;
20 val* var17 /* : nullable Int */;
21 val* var18 /* : nullable Int */;
22 val* var19 /* : nullable Bool */;
23 val* var20 /* : nullable Bool */;
24 val* var21 /* : CodeWriter */;
25 val* var23 /* : CodeWriter */;
26 static val* varonce24;
27 val* var25 /* : String */;
28 char* var26 /* : CString */;
29 val* var27 /* : String */;
30 val* var28 /* : nullable Int */;
31 val* var29 /* : nullable Int */;
32 val* var30 /* : nullable Bool */;
33 val* var31 /* : nullable Bool */;
34 val* var32 /* : CodeWriter */;
35 val* var34 /* : CodeWriter */;
36 static val* varonce35;
37 val* var36 /* : String */;
38 char* var37 /* : CString */;
39 val* var38 /* : String */;
40 val* var39 /* : nullable Int */;
41 val* var40 /* : nullable Int */;
42 val* var41 /* : nullable Bool */;
43 val* var42 /* : nullable Bool */;
44 val* var43 /* : CodeWriter */;
45 val* var45 /* : CodeWriter */;
46 static val* varonce46;
47 val* var47 /* : String */;
48 char* var48 /* : CString */;
49 val* var49 /* : String */;
50 val* var50 /* : nullable Int */;
51 val* var51 /* : nullable Int */;
52 val* var52 /* : nullable Bool */;
53 val* var53 /* : nullable Bool */;
54 val* var54 /* : CodeWriter */;
55 val* var56 /* : CodeWriter */;
56 static val* varonce57;
57 val* var58 /* : String */;
58 char* var59 /* : CString */;
59 val* var60 /* : String */;
60 val* var61 /* : nullable Int */;
61 val* var62 /* : nullable Int */;
62 val* var63 /* : nullable Bool */;
63 val* var64 /* : nullable Bool */;
64 val* var65 /* : CodeWriter */;
65 val* var67 /* : CodeWriter */;
66 static val* varonce68;
67 val* var69 /* : String */;
68 char* var70 /* : CString */;
69 val* var71 /* : String */;
70 val* var72 /* : nullable Int */;
71 val* var73 /* : nullable Int */;
72 val* var74 /* : nullable Bool */;
73 val* var75 /* : nullable Bool */;
74 val* var76 /* : CodeWriter */;
75 val* var78 /* : CodeWriter */;
76 static val* varonce79;
77 val* var80 /* : String */;
78 char* var81 /* : CString */;
79 val* var82 /* : String */;
80 val* var83 /* : nullable Int */;
81 val* var84 /* : nullable Int */;
82 val* var85 /* : nullable Bool */;
83 val* var86 /* : nullable Bool */;
84 val* var87 /* : CodeWriter */;
85 val* var89 /* : CodeWriter */;
86 static val* varonce90;
87 val* var91 /* : String */;
88 char* var92 /* : CString */;
89 val* var93 /* : String */;
90 val* var94 /* : nullable Int */;
91 val* var95 /* : nullable Int */;
92 val* var96 /* : nullable Bool */;
93 val* var97 /* : nullable Bool */;
94 val* var98 /* : CodeWriter */;
95 val* var100 /* : CodeWriter */;
96 static val* varonce101;
97 val* var102 /* : String */;
98 char* var103 /* : CString */;
99 val* var104 /* : String */;
100 val* var105 /* : nullable Int */;
101 val* var106 /* : nullable Int */;
102 val* var107 /* : nullable Bool */;
103 val* var108 /* : nullable Bool */;
104 val* var109 /* : CodeWriter */;
105 val* var111 /* : CodeWriter */;
106 static val* varonce112;
107 val* var113 /* : String */;
108 char* var114 /* : CString */;
109 val* var115 /* : String */;
110 val* var116 /* : nullable Int */;
111 val* var117 /* : nullable Int */;
112 val* var118 /* : nullable Bool */;
113 val* var119 /* : nullable Bool */;
114 val* var120 /* : CodeWriter */;
115 val* var122 /* : CodeWriter */;
116 static val* varonce123;
117 val* var124 /* : String */;
118 char* var125 /* : CString */;
119 val* var126 /* : String */;
120 val* var127 /* : nullable Int */;
121 val* var128 /* : nullable Int */;
122 val* var129 /* : nullable Bool */;
123 val* var130 /* : nullable Bool */;
124 val* var131 /* : CodeWriter */;
125 val* var133 /* : CodeWriter */;
126 static val* varonce134;
127 val* var135 /* : String */;
128 char* var136 /* : CString */;
129 val* var137 /* : String */;
130 val* var138 /* : nullable Int */;
131 val* var139 /* : nullable Int */;
132 val* var140 /* : nullable Bool */;
133 val* var141 /* : nullable Bool */;
134 val* var142 /* : CodeWriter */;
135 val* var144 /* : CodeWriter */;
136 static val* varonce145;
137 val* var146 /* : String */;
138 char* var147 /* : CString */;
139 val* var148 /* : String */;
140 val* var149 /* : nullable Int */;
141 val* var150 /* : nullable Int */;
142 val* var151 /* : nullable Bool */;
143 val* var152 /* : nullable Bool */;
144 val* var153 /* : CodeWriter */;
145 val* var155 /* : CodeWriter */;
146 static val* varonce156;
147 val* var157 /* : String */;
148 char* var158 /* : CString */;
149 val* var159 /* : String */;
150 val* var160 /* : nullable Int */;
151 val* var161 /* : nullable Int */;
152 val* var162 /* : nullable Bool */;
153 val* var163 /* : nullable Bool */;
154 val* var164 /* : CodeWriter */;
155 val* var166 /* : CodeWriter */;
156 static val* varonce167;
157 val* var168 /* : String */;
158 char* var169 /* : CString */;
159 val* var170 /* : String */;
160 val* var171 /* : nullable Int */;
161 val* var172 /* : nullable Int */;
162 val* var173 /* : nullable Bool */;
163 val* var174 /* : nullable Bool */;
164 val* var175 /* : CodeWriter */;
165 val* var177 /* : CodeWriter */;
166 static val* varonce178;
167 val* var179 /* : String */;
168 char* var180 /* : CString */;
169 val* var181 /* : String */;
170 val* var182 /* : nullable Int */;
171 val* var183 /* : nullable Int */;
172 val* var184 /* : nullable Bool */;
173 val* var185 /* : nullable Bool */;
174 val* var186 /* : CodeWriter */;
175 val* var188 /* : CodeWriter */;
176 static val* varonce189;
177 val* var190 /* : String */;
178 char* var191 /* : CString */;
179 val* var192 /* : String */;
180 val* var193 /* : nullable Int */;
181 val* var194 /* : nullable Int */;
182 val* var195 /* : nullable Bool */;
183 val* var196 /* : nullable Bool */;
184 val* var197 /* : CodeWriter */;
185 val* var199 /* : CodeWriter */;
186 static val* varonce200;
187 val* var201 /* : String */;
188 char* var202 /* : CString */;
189 val* var203 /* : String */;
190 val* var204 /* : nullable Int */;
191 val* var205 /* : nullable Int */;
192 val* var206 /* : nullable Bool */;
193 val* var207 /* : nullable Bool */;
194 val* var208 /* : CodeWriter */;
195 val* var210 /* : CodeWriter */;
196 static val* varonce211;
197 val* var212 /* : String */;
198 char* var213 /* : CString */;
199 val* var214 /* : String */;
200 val* var215 /* : nullable Int */;
201 val* var216 /* : nullable Int */;
202 val* var217 /* : nullable Bool */;
203 val* var218 /* : nullable Bool */;
204 val* var219 /* : CodeWriter */;
205 val* var221 /* : CodeWriter */;
206 static val* varonce222;
207 val* var223 /* : String */;
208 char* var224 /* : CString */;
209 val* var225 /* : String */;
210 val* var226 /* : nullable Int */;
211 val* var227 /* : nullable Int */;
212 val* var228 /* : nullable Bool */;
213 val* var229 /* : nullable Bool */;
214 val* var230 /* : CodeWriter */;
215 val* var232 /* : CodeWriter */;
216 static val* varonce233;
217 val* var234 /* : String */;
218 char* var235 /* : CString */;
219 val* var236 /* : String */;
220 val* var237 /* : nullable Int */;
221 val* var238 /* : nullable Int */;
222 val* var239 /* : nullable Bool */;
223 val* var240 /* : nullable Bool */;
224 val* var241 /* : CodeWriter */;
225 val* var243 /* : CodeWriter */;
226 static val* varonce244;
227 val* var245 /* : String */;
228 char* var246 /* : CString */;
229 val* var247 /* : String */;
230 val* var248 /* : nullable Int */;
231 val* var249 /* : nullable Int */;
232 val* var250 /* : nullable Bool */;
233 val* var251 /* : nullable Bool */;
234 val* var252 /* : CodeWriter */;
235 val* var254 /* : CodeWriter */;
236 static val* varonce255;
237 val* var256 /* : String */;
238 char* var257 /* : CString */;
239 val* var258 /* : String */;
240 val* var259 /* : nullable Int */;
241 val* var260 /* : nullable Int */;
242 val* var261 /* : nullable Bool */;
243 val* var262 /* : nullable Bool */;
244 val* var263 /* : CodeWriter */;
245 val* var265 /* : CodeWriter */;
246 static val* varonce266;
247 val* var267 /* : String */;
248 char* var268 /* : CString */;
249 val* var269 /* : String */;
250 val* var270 /* : nullable Int */;
251 val* var271 /* : nullable Int */;
252 val* var272 /* : nullable Bool */;
253 val* var273 /* : nullable Bool */;
254 val* var274 /* : CodeWriter */;
255 val* var276 /* : CodeWriter */;
256 static val* varonce277;
257 val* var278 /* : String */;
258 char* var279 /* : CString */;
259 val* var280 /* : String */;
260 val* var281 /* : nullable Int */;
261 val* var282 /* : nullable Int */;
262 val* var283 /* : nullable Bool */;
263 val* var284 /* : nullable Bool */;
264 val* var285 /* : CodeWriter */;
265 val* var287 /* : CodeWriter */;
266 static val* varonce288;
267 val* var289 /* : String */;
268 char* var290 /* : CString */;
269 val* var291 /* : String */;
270 val* var292 /* : nullable Int */;
271 val* var293 /* : nullable Int */;
272 val* var294 /* : nullable Bool */;
273 val* var295 /* : nullable Bool */;
274 val* var296 /* : CodeWriter */;
275 val* var298 /* : CodeWriter */;
276 static val* varonce299;
277 val* var300 /* : String */;
278 char* var301 /* : CString */;
279 val* var302 /* : String */;
280 val* var303 /* : nullable Int */;
281 val* var304 /* : nullable Int */;
282 val* var305 /* : nullable Bool */;
283 val* var306 /* : nullable Bool */;
284 val* var307 /* : CodeWriter */;
285 val* var309 /* : CodeWriter */;
286 static val* varonce310;
287 val* var311 /* : String */;
288 char* var312 /* : CString */;
289 val* var313 /* : String */;
290 val* var314 /* : nullable Int */;
291 val* var315 /* : nullable Int */;
292 val* var316 /* : nullable Bool */;
293 val* var317 /* : nullable Bool */;
294 val* var318 /* : CodeWriter */;
295 val* var320 /* : CodeWriter */;
296 static val* varonce321;
297 val* var322 /* : String */;
298 char* var323 /* : CString */;
299 val* var324 /* : String */;
300 val* var325 /* : nullable Int */;
301 val* var326 /* : nullable Int */;
302 val* var327 /* : nullable Bool */;
303 val* var328 /* : nullable Bool */;
304 val* var329 /* : CodeWriter */;
305 val* var331 /* : CodeWriter */;
306 static val* varonce332;
307 val* var333 /* : String */;
308 char* var334 /* : CString */;
309 val* var335 /* : String */;
310 val* var336 /* : nullable Int */;
311 val* var337 /* : nullable Int */;
312 val* var338 /* : nullable Bool */;
313 val* var339 /* : nullable Bool */;
314 val* var340 /* : CodeWriter */;
315 val* var342 /* : CodeWriter */;
316 static val* varonce343;
317 val* var344 /* : String */;
318 char* var345 /* : CString */;
319 val* var346 /* : String */;
320 val* var347 /* : nullable Int */;
321 val* var348 /* : nullable Int */;
322 val* var349 /* : nullable Bool */;
323 val* var350 /* : nullable Bool */;
324 val* var351 /* : CodeWriter */;
325 val* var353 /* : CodeWriter */;
326 static val* varonce354;
327 val* var355 /* : String */;
328 char* var356 /* : CString */;
329 val* var357 /* : String */;
330 val* var358 /* : nullable Int */;
331 val* var359 /* : nullable Int */;
332 val* var360 /* : nullable Bool */;
333 val* var361 /* : nullable Bool */;
334 val* var362 /* : CodeWriter */;
335 val* var364 /* : CodeWriter */;
336 static val* varonce365;
337 val* var366 /* : String */;
338 char* var367 /* : CString */;
339 val* var368 /* : String */;
340 val* var369 /* : nullable Int */;
341 val* var370 /* : nullable Int */;
342 val* var371 /* : nullable Bool */;
343 val* var372 /* : nullable Bool */;
344 val* var373 /* : CodeWriter */;
345 val* var375 /* : CodeWriter */;
346 static val* varonce376;
347 val* var377 /* : String */;
348 char* var378 /* : CString */;
349 val* var379 /* : String */;
350 val* var380 /* : nullable Int */;
351 val* var381 /* : nullable Int */;
352 val* var382 /* : nullable Bool */;
353 val* var383 /* : nullable Bool */;
354 val* var384 /* : CodeWriter */;
355 val* var386 /* : CodeWriter */;
356 static val* varonce387;
357 val* var388 /* : String */;
358 char* var389 /* : CString */;
359 val* var390 /* : String */;
360 val* var391 /* : nullable Int */;
361 val* var392 /* : nullable Int */;
362 val* var393 /* : nullable Bool */;
363 val* var394 /* : nullable Bool */;
364 val* var395 /* : ModelBuilder */;
365 val* var397 /* : ModelBuilder */;
366 val* var398 /* : ToolContext */;
367 val* var400 /* : ToolContext */;
368 val* var401 /* : OptionArray */;
369 val* var403 /* : OptionArray */;
370 val* var404 /* : nullable Object */;
371 val* var406 /* : nullable Object */;
372 val* var_gccd_disable /* var gccd_disable: Array[String] */;
373 short int var407 /* : Bool */;
374 static val* varonce408;
375 val* var409 /* : String */;
376 char* var410 /* : CString */;
377 val* var411 /* : String */;
378 val* var412 /* : nullable Int */;
379 val* var413 /* : nullable Int */;
380 val* var414 /* : nullable Bool */;
381 val* var415 /* : nullable Bool */;
382 short int var416 /* : Bool */;
383 short int var_ /* var : Bool */;
384 static val* varonce417;
385 val* var418 /* : String */;
386 char* var419 /* : CString */;
387 val* var420 /* : String */;
388 val* var421 /* : nullable Int */;
389 val* var422 /* : nullable Int */;
390 val* var423 /* : nullable Bool */;
391 val* var424 /* : nullable Bool */;
392 short int var425 /* : Bool */;
393 val* var426 /* : CodeWriter */;
394 val* var428 /* : CodeWriter */;
395 static val* varonce429;
396 val* var430 /* : String */;
397 char* var431 /* : CString */;
398 val* var432 /* : String */;
399 val* var433 /* : nullable Int */;
400 val* var434 /* : nullable Int */;
401 val* var435 /* : nullable Bool */;
402 val* var436 /* : nullable Bool */;
403 val* var437 /* : CodeWriter */;
404 val* var439 /* : CodeWriter */;
405 static val* varonce440;
406 val* var441 /* : String */;
407 char* var442 /* : CString */;
408 val* var443 /* : String */;
409 val* var444 /* : nullable Int */;
410 val* var445 /* : nullable Int */;
411 val* var446 /* : nullable Bool */;
412 val* var447 /* : nullable Bool */;
413 short int var448 /* : Bool */;
414 static val* varonce449;
415 val* var450 /* : String */;
416 char* var451 /* : CString */;
417 val* var452 /* : String */;
418 val* var453 /* : nullable Int */;
419 val* var454 /* : nullable Int */;
420 val* var455 /* : nullable Bool */;
421 val* var456 /* : nullable Bool */;
422 short int var457 /* : Bool */;
423 short int var_458 /* var : Bool */;
424 static val* varonce459;
425 val* var460 /* : String */;
426 char* var461 /* : CString */;
427 val* var462 /* : String */;
428 val* var463 /* : nullable Int */;
429 val* var464 /* : nullable Int */;
430 val* var465 /* : nullable Bool */;
431 val* var466 /* : nullable Bool */;
432 short int var467 /* : Bool */;
433 val* var468 /* : CodeWriter */;
434 val* var470 /* : CodeWriter */;
435 static val* varonce471;
436 val* var472 /* : String */;
437 char* var473 /* : CString */;
438 val* var474 /* : String */;
439 val* var475 /* : nullable Int */;
440 val* var476 /* : nullable Int */;
441 val* var477 /* : nullable Bool */;
442 val* var478 /* : nullable Bool */;
443 val* var479 /* : CodeWriter */;
444 val* var481 /* : CodeWriter */;
445 static val* varonce482;
446 val* var483 /* : String */;
447 char* var484 /* : CString */;
448 val* var485 /* : String */;
449 val* var486 /* : nullable Int */;
450 val* var487 /* : nullable Int */;
451 val* var488 /* : nullable Bool */;
452 val* var489 /* : nullable Bool */;
453 static val* varonce490;
454 val* var491 /* : String */;
455 char* var492 /* : CString */;
456 val* var493 /* : String */;
457 val* var494 /* : nullable Int */;
458 val* var495 /* : nullable Int */;
459 val* var496 /* : nullable Bool */;
460 val* var497 /* : nullable Bool */;
461 short int var498 /* : Bool */;
462 val* var499 /* : CodeWriter */;
463 val* var501 /* : CodeWriter */;
464 static val* varonce502;
465 val* var503 /* : String */;
466 char* var504 /* : CString */;
467 val* var505 /* : String */;
468 val* var506 /* : nullable Int */;
469 val* var507 /* : nullable Int */;
470 val* var508 /* : nullable Bool */;
471 val* var509 /* : nullable Bool */;
472 val* var510 /* : CodeWriter */;
473 val* var512 /* : CodeWriter */;
474 static val* varonce513;
475 val* var514 /* : String */;
476 char* var515 /* : CString */;
477 val* var516 /* : String */;
478 val* var517 /* : nullable Int */;
479 val* var518 /* : nullable Int */;
480 val* var519 /* : nullable Bool */;
481 val* var520 /* : nullable Bool */;
482 val* var521 /* : CodeWriter */;
483 val* var523 /* : CodeWriter */;
484 static val* varonce524;
485 val* var525 /* : String */;
486 char* var526 /* : CString */;
487 val* var527 /* : String */;
488 val* var528 /* : nullable Int */;
489 val* var529 /* : nullable Int */;
490 val* var530 /* : nullable Bool */;
491 val* var531 /* : nullable Bool */;
492 val* var532 /* : CodeWriter */;
493 val* var534 /* : CodeWriter */;
494 static val* varonce535;
495 val* var536 /* : String */;
496 char* var537 /* : CString */;
497 val* var538 /* : String */;
498 val* var539 /* : nullable Int */;
499 val* var540 /* : nullable Int */;
500 val* var541 /* : nullable Bool */;
501 val* var542 /* : nullable Bool */;
502 val* var543 /* : CodeWriter */;
503 val* var545 /* : CodeWriter */;
504 static val* varonce546;
505 val* var547 /* : String */;
506 char* var548 /* : CString */;
507 val* var549 /* : String */;
508 val* var550 /* : nullable Int */;
509 val* var551 /* : nullable Int */;
510 val* var552 /* : nullable Bool */;
511 val* var553 /* : nullable Bool */;
512 val* var554 /* : CodeWriter */;
513 val* var556 /* : CodeWriter */;
514 static val* varonce557;
515 val* var558 /* : String */;
516 char* var559 /* : CString */;
517 val* var560 /* : String */;
518 val* var561 /* : nullable Int */;
519 val* var562 /* : nullable Int */;
520 val* var563 /* : nullable Bool */;
521 val* var564 /* : nullable Bool */;
522 val* var565 /* : CodeWriter */;
523 val* var567 /* : CodeWriter */;
524 static val* varonce568;
525 val* var569 /* : String */;
526 char* var570 /* : CString */;
527 val* var571 /* : String */;
528 val* var572 /* : nullable Int */;
529 val* var573 /* : nullable Int */;
530 val* var574 /* : nullable Bool */;
531 val* var575 /* : nullable Bool */;
532 {
533 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
534 var2 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
535 if (unlikely(var2 == NULL)) {
536 if(catchStack.cursor >= 0){
537 longjmp(catchStack.envs[catchStack.cursor], 1);
538 }
539 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
540 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
541 fatal_exit(1);
542 }
543 var = var2;
544 RET_LABEL1:(void)0;
545 }
546 }
547 if (likely(varonce!=NULL)) {
548 var3 = varonce;
549 } else {
550 var4 = "#include <stdlib.h>";
551 var6 = (val*)(19l<<2|1);
552 var7 = (val*)(19l<<2|1);
553 var8 = (val*)((long)(0)<<2|3);
554 var9 = (val*)((long)(0)<<2|3);
555 var5 = core__flat___CString___to_s_unsafe(var4, var6, var7, var8, var9);
556 var3 = var5;
557 varonce = var3;
558 }
559 {
560 nitc___nitc__CodeWriter___add_decl(var, var3); /* Direct call abstract_compiler$CodeWriter$add_decl on <var:CodeWriter>*/
561 }
562 {
563 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
564 var12 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
565 if (unlikely(var12 == NULL)) {
566 if(catchStack.cursor >= 0){
567 longjmp(catchStack.envs[catchStack.cursor], 1);
568 }
569 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
570 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
571 fatal_exit(1);
572 }
573 var10 = var12;
574 RET_LABEL11:(void)0;
575 }
576 }
577 if (likely(varonce13!=NULL)) {
578 var14 = varonce13;
579 } else {
580 var15 = "#include <stdio.h>";
581 var17 = (val*)(18l<<2|1);
582 var18 = (val*)(18l<<2|1);
583 var19 = (val*)((long)(0)<<2|3);
584 var20 = (val*)((long)(0)<<2|3);
585 var16 = core__flat___CString___to_s_unsafe(var15, var17, var18, var19, var20);
586 var14 = var16;
587 varonce13 = var14;
588 }
589 {
590 nitc___nitc__CodeWriter___add_decl(var10, var14); /* Direct call abstract_compiler$CodeWriter$add_decl on <var10:CodeWriter>*/
591 }
592 {
593 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
594 var23 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
595 if (unlikely(var23 == NULL)) {
596 if(catchStack.cursor >= 0){
597 longjmp(catchStack.envs[catchStack.cursor], 1);
598 }
599 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
600 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
601 fatal_exit(1);
602 }
603 var21 = var23;
604 RET_LABEL22:(void)0;
605 }
606 }
607 if (likely(varonce24!=NULL)) {
608 var25 = varonce24;
609 } else {
610 var26 = "#include <string.h>";
611 var28 = (val*)(19l<<2|1);
612 var29 = (val*)(19l<<2|1);
613 var30 = (val*)((long)(0)<<2|3);
614 var31 = (val*)((long)(0)<<2|3);
615 var27 = core__flat___CString___to_s_unsafe(var26, var28, var29, var30, var31);
616 var25 = var27;
617 varonce24 = var25;
618 }
619 {
620 nitc___nitc__CodeWriter___add_decl(var21, var25); /* Direct call abstract_compiler$CodeWriter$add_decl on <var21:CodeWriter>*/
621 }
622 {
623 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
624 var34 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
625 if (unlikely(var34 == NULL)) {
626 if(catchStack.cursor >= 0){
627 longjmp(catchStack.envs[catchStack.cursor], 1);
628 }
629 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
630 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
631 fatal_exit(1);
632 }
633 var32 = var34;
634 RET_LABEL33:(void)0;
635 }
636 }
637 if (likely(varonce35!=NULL)) {
638 var36 = varonce35;
639 } else {
640 var37 = "#include <setjmp.h>\n";
641 var39 = (val*)(20l<<2|1);
642 var40 = (val*)(20l<<2|1);
643 var41 = (val*)((long)(0)<<2|3);
644 var42 = (val*)((long)(0)<<2|3);
645 var38 = core__flat___CString___to_s_unsafe(var37, var39, var40, var41, var42);
646 var36 = var38;
647 varonce35 = var36;
648 }
649 {
650 nitc___nitc__CodeWriter___add_decl(var32, var36); /* Direct call abstract_compiler$CodeWriter$add_decl on <var32:CodeWriter>*/
651 }
652 {
653 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
654 var45 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
655 if (unlikely(var45 == NULL)) {
656 if(catchStack.cursor >= 0){
657 longjmp(catchStack.envs[catchStack.cursor], 1);
658 }
659 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
660 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
661 fatal_exit(1);
662 }
663 var43 = var45;
664 RET_LABEL44:(void)0;
665 }
666 }
667 if (likely(varonce46!=NULL)) {
668 var47 = varonce46;
669 } else {
670 var48 = "#include <sys/types.h>\n";
671 var50 = (val*)(23l<<2|1);
672 var51 = (val*)(23l<<2|1);
673 var52 = (val*)((long)(0)<<2|3);
674 var53 = (val*)((long)(0)<<2|3);
675 var49 = core__flat___CString___to_s_unsafe(var48, var50, var51, var52, var53);
676 var47 = var49;
677 varonce46 = var47;
678 }
679 {
680 nitc___nitc__CodeWriter___add_decl(var43, var47); /* Direct call abstract_compiler$CodeWriter$add_decl on <var43:CodeWriter>*/
681 }
682 {
683 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
684 var56 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
685 if (unlikely(var56 == NULL)) {
686 if(catchStack.cursor >= 0){
687 longjmp(catchStack.envs[catchStack.cursor], 1);
688 }
689 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
690 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
691 fatal_exit(1);
692 }
693 var54 = var56;
694 RET_LABEL55:(void)0;
695 }
696 }
697 if (likely(varonce57!=NULL)) {
698 var58 = varonce57;
699 } else {
700 var59 = "#include <unistd.h>\n";
701 var61 = (val*)(20l<<2|1);
702 var62 = (val*)(20l<<2|1);
703 var63 = (val*)((long)(0)<<2|3);
704 var64 = (val*)((long)(0)<<2|3);
705 var60 = core__flat___CString___to_s_unsafe(var59, var61, var62, var63, var64);
706 var58 = var60;
707 varonce57 = var58;
708 }
709 {
710 nitc___nitc__CodeWriter___add_decl(var54, var58); /* Direct call abstract_compiler$CodeWriter$add_decl on <var54:CodeWriter>*/
711 }
712 {
713 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
714 var67 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
715 if (unlikely(var67 == NULL)) {
716 if(catchStack.cursor >= 0){
717 longjmp(catchStack.envs[catchStack.cursor], 1);
718 }
719 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
720 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
721 fatal_exit(1);
722 }
723 var65 = var67;
724 RET_LABEL66:(void)0;
725 }
726 }
727 if (likely(varonce68!=NULL)) {
728 var69 = varonce68;
729 } else {
730 var70 = "#include <stdint.h>\n";
731 var72 = (val*)(20l<<2|1);
732 var73 = (val*)(20l<<2|1);
733 var74 = (val*)((long)(0)<<2|3);
734 var75 = (val*)((long)(0)<<2|3);
735 var71 = core__flat___CString___to_s_unsafe(var70, var72, var73, var74, var75);
736 var69 = var71;
737 varonce68 = var69;
738 }
739 {
740 nitc___nitc__CodeWriter___add_decl(var65, var69); /* Direct call abstract_compiler$CodeWriter$add_decl on <var65:CodeWriter>*/
741 }
742 {
743 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
744 var78 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
745 if (unlikely(var78 == NULL)) {
746 if(catchStack.cursor >= 0){
747 longjmp(catchStack.envs[catchStack.cursor], 1);
748 }
749 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
750 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
751 fatal_exit(1);
752 }
753 var76 = var78;
754 RET_LABEL77:(void)0;
755 }
756 }
757 if (likely(varonce79!=NULL)) {
758 var80 = varonce79;
759 } else {
760 var81 = "#ifdef __linux__";
761 var83 = (val*)(16l<<2|1);
762 var84 = (val*)(16l<<2|1);
763 var85 = (val*)((long)(0)<<2|3);
764 var86 = (val*)((long)(0)<<2|3);
765 var82 = core__flat___CString___to_s_unsafe(var81, var83, var84, var85, var86);
766 var80 = var82;
767 varonce79 = var80;
768 }
769 {
770 nitc___nitc__CodeWriter___add_decl(var76, var80); /* Direct call abstract_compiler$CodeWriter$add_decl on <var76:CodeWriter>*/
771 }
772 {
773 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
774 var89 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
775 if (unlikely(var89 == NULL)) {
776 if(catchStack.cursor >= 0){
777 longjmp(catchStack.envs[catchStack.cursor], 1);
778 }
779 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
780 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
781 fatal_exit(1);
782 }
783 var87 = var89;
784 RET_LABEL88:(void)0;
785 }
786 }
787 if (likely(varonce90!=NULL)) {
788 var91 = varonce90;
789 } else {
790 var92 = "\t#include <endian.h>";
791 var94 = (val*)(20l<<2|1);
792 var95 = (val*)(20l<<2|1);
793 var96 = (val*)((long)(0)<<2|3);
794 var97 = (val*)((long)(0)<<2|3);
795 var93 = core__flat___CString___to_s_unsafe(var92, var94, var95, var96, var97);
796 var91 = var93;
797 varonce90 = var91;
798 }
799 {
800 nitc___nitc__CodeWriter___add_decl(var87, var91); /* Direct call abstract_compiler$CodeWriter$add_decl on <var87:CodeWriter>*/
801 }
802 {
803 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
804 var100 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
805 if (unlikely(var100 == NULL)) {
806 if(catchStack.cursor >= 0){
807 longjmp(catchStack.envs[catchStack.cursor], 1);
808 }
809 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
810 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
811 fatal_exit(1);
812 }
813 var98 = var100;
814 RET_LABEL99:(void)0;
815 }
816 }
817 if (likely(varonce101!=NULL)) {
818 var102 = varonce101;
819 } else {
820 var103 = "#endif";
821 var105 = (val*)(6l<<2|1);
822 var106 = (val*)(6l<<2|1);
823 var107 = (val*)((long)(0)<<2|3);
824 var108 = (val*)((long)(0)<<2|3);
825 var104 = core__flat___CString___to_s_unsafe(var103, var105, var106, var107, var108);
826 var102 = var104;
827 varonce101 = var102;
828 }
829 {
830 nitc___nitc__CodeWriter___add_decl(var98, var102); /* Direct call abstract_compiler$CodeWriter$add_decl on <var98:CodeWriter>*/
831 }
832 {
833 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
834 var111 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
835 if (unlikely(var111 == NULL)) {
836 if(catchStack.cursor >= 0){
837 longjmp(catchStack.envs[catchStack.cursor], 1);
838 }
839 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
840 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
841 fatal_exit(1);
842 }
843 var109 = var111;
844 RET_LABEL110:(void)0;
845 }
846 }
847 if (likely(varonce112!=NULL)) {
848 var113 = varonce112;
849 } else {
850 var114 = "#include <inttypes.h>\n";
851 var116 = (val*)(22l<<2|1);
852 var117 = (val*)(22l<<2|1);
853 var118 = (val*)((long)(0)<<2|3);
854 var119 = (val*)((long)(0)<<2|3);
855 var115 = core__flat___CString___to_s_unsafe(var114, var116, var117, var118, var119);
856 var113 = var115;
857 varonce112 = var113;
858 }
859 {
860 nitc___nitc__CodeWriter___add_decl(var109, var113); /* Direct call abstract_compiler$CodeWriter$add_decl on <var109:CodeWriter>*/
861 }
862 {
863 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
864 var122 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
865 if (unlikely(var122 == NULL)) {
866 if(catchStack.cursor >= 0){
867 longjmp(catchStack.envs[catchStack.cursor], 1);
868 }
869 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
870 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
871 fatal_exit(1);
872 }
873 var120 = var122;
874 RET_LABEL121:(void)0;
875 }
876 }
877 if (likely(varonce123!=NULL)) {
878 var124 = varonce123;
879 } else {
880 var125 = "#include \"gc_chooser.h\"";
881 var127 = (val*)(23l<<2|1);
882 var128 = (val*)(23l<<2|1);
883 var129 = (val*)((long)(0)<<2|3);
884 var130 = (val*)((long)(0)<<2|3);
885 var126 = core__flat___CString___to_s_unsafe(var125, var127, var128, var129, var130);
886 var124 = var126;
887 varonce123 = var124;
888 }
889 {
890 nitc___nitc__CodeWriter___add_decl(var120, var124); /* Direct call abstract_compiler$CodeWriter$add_decl on <var120:CodeWriter>*/
891 }
892 {
893 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
894 var133 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
895 if (unlikely(var133 == NULL)) {
896 if(catchStack.cursor >= 0){
897 longjmp(catchStack.envs[catchStack.cursor], 1);
898 }
899 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
900 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
901 fatal_exit(1);
902 }
903 var131 = var133;
904 RET_LABEL132:(void)0;
905 }
906 }
907 if (likely(varonce134!=NULL)) {
908 var135 = varonce134;
909 } else {
910 var136 = "#ifdef __APPLE__";
911 var138 = (val*)(16l<<2|1);
912 var139 = (val*)(16l<<2|1);
913 var140 = (val*)((long)(0)<<2|3);
914 var141 = (val*)((long)(0)<<2|3);
915 var137 = core__flat___CString___to_s_unsafe(var136, var138, var139, var140, var141);
916 var135 = var137;
917 varonce134 = var135;
918 }
919 {
920 nitc___nitc__CodeWriter___add_decl(var131, var135); /* Direct call abstract_compiler$CodeWriter$add_decl on <var131:CodeWriter>*/
921 }
922 {
923 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
924 var144 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
925 if (unlikely(var144 == NULL)) {
926 if(catchStack.cursor >= 0){
927 longjmp(catchStack.envs[catchStack.cursor], 1);
928 }
929 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
930 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
931 fatal_exit(1);
932 }
933 var142 = var144;
934 RET_LABEL143:(void)0;
935 }
936 }
937 if (likely(varonce145!=NULL)) {
938 var146 = varonce145;
939 } else {
940 var147 = "\t#include <TargetConditionals.h>";
941 var149 = (val*)(32l<<2|1);
942 var150 = (val*)(32l<<2|1);
943 var151 = (val*)((long)(0)<<2|3);
944 var152 = (val*)((long)(0)<<2|3);
945 var148 = core__flat___CString___to_s_unsafe(var147, var149, var150, var151, var152);
946 var146 = var148;
947 varonce145 = var146;
948 }
949 {
950 nitc___nitc__CodeWriter___add_decl(var142, var146); /* Direct call abstract_compiler$CodeWriter$add_decl on <var142:CodeWriter>*/
951 }
952 {
953 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
954 var155 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
955 if (unlikely(var155 == NULL)) {
956 if(catchStack.cursor >= 0){
957 longjmp(catchStack.envs[catchStack.cursor], 1);
958 }
959 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
960 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
961 fatal_exit(1);
962 }
963 var153 = var155;
964 RET_LABEL154:(void)0;
965 }
966 }
967 if (likely(varonce156!=NULL)) {
968 var157 = varonce156;
969 } else {
970 var158 = "\t#include <syslog.h>";
971 var160 = (val*)(20l<<2|1);
972 var161 = (val*)(20l<<2|1);
973 var162 = (val*)((long)(0)<<2|3);
974 var163 = (val*)((long)(0)<<2|3);
975 var159 = core__flat___CString___to_s_unsafe(var158, var160, var161, var162, var163);
976 var157 = var159;
977 varonce156 = var157;
978 }
979 {
980 nitc___nitc__CodeWriter___add_decl(var153, var157); /* Direct call abstract_compiler$CodeWriter$add_decl on <var153:CodeWriter>*/
981 }
982 {
983 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
984 var166 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
985 if (unlikely(var166 == NULL)) {
986 if(catchStack.cursor >= 0){
987 longjmp(catchStack.envs[catchStack.cursor], 1);
988 }
989 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
990 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
991 fatal_exit(1);
992 }
993 var164 = var166;
994 RET_LABEL165:(void)0;
995 }
996 }
997 if (likely(varonce167!=NULL)) {
998 var168 = varonce167;
999 } else {
1000 var169 = "\t#include <libkern/OSByteOrder.h>";
1001 var171 = (val*)(33l<<2|1);
1002 var172 = (val*)(33l<<2|1);
1003 var173 = (val*)((long)(0)<<2|3);
1004 var174 = (val*)((long)(0)<<2|3);
1005 var170 = core__flat___CString___to_s_unsafe(var169, var171, var172, var173, var174);
1006 var168 = var170;
1007 varonce167 = var168;
1008 }
1009 {
1010 nitc___nitc__CodeWriter___add_decl(var164, var168); /* Direct call abstract_compiler$CodeWriter$add_decl on <var164:CodeWriter>*/
1011 }
1012 {
1013 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1014 var177 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1015 if (unlikely(var177 == NULL)) {
1016 if(catchStack.cursor >= 0){
1017 longjmp(catchStack.envs[catchStack.cursor], 1);
1018 }
1019 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1020 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1021 fatal_exit(1);
1022 }
1023 var175 = var177;
1024 RET_LABEL176:(void)0;
1025 }
1026 }
1027 if (likely(varonce178!=NULL)) {
1028 var179 = varonce178;
1029 } else {
1030 var180 = "\t#define be32toh(x) OSSwapBigToHostInt32(x)";
1031 var182 = (val*)(43l<<2|1);
1032 var183 = (val*)(43l<<2|1);
1033 var184 = (val*)((long)(0)<<2|3);
1034 var185 = (val*)((long)(0)<<2|3);
1035 var181 = core__flat___CString___to_s_unsafe(var180, var182, var183, var184, var185);
1036 var179 = var181;
1037 varonce178 = var179;
1038 }
1039 {
1040 nitc___nitc__CodeWriter___add_decl(var175, var179); /* Direct call abstract_compiler$CodeWriter$add_decl on <var175:CodeWriter>*/
1041 }
1042 {
1043 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1044 var188 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1045 if (unlikely(var188 == NULL)) {
1046 if(catchStack.cursor >= 0){
1047 longjmp(catchStack.envs[catchStack.cursor], 1);
1048 }
1049 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1050 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1051 fatal_exit(1);
1052 }
1053 var186 = var188;
1054 RET_LABEL187:(void)0;
1055 }
1056 }
1057 if (likely(varonce189!=NULL)) {
1058 var190 = varonce189;
1059 } else {
1060 var191 = "#endif";
1061 var193 = (val*)(6l<<2|1);
1062 var194 = (val*)(6l<<2|1);
1063 var195 = (val*)((long)(0)<<2|3);
1064 var196 = (val*)((long)(0)<<2|3);
1065 var192 = core__flat___CString___to_s_unsafe(var191, var193, var194, var195, var196);
1066 var190 = var192;
1067 varonce189 = var190;
1068 }
1069 {
1070 nitc___nitc__CodeWriter___add_decl(var186, var190); /* Direct call abstract_compiler$CodeWriter$add_decl on <var186:CodeWriter>*/
1071 }
1072 {
1073 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1074 var199 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1075 if (unlikely(var199 == NULL)) {
1076 if(catchStack.cursor >= 0){
1077 longjmp(catchStack.envs[catchStack.cursor], 1);
1078 }
1079 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1080 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1081 fatal_exit(1);
1082 }
1083 var197 = var199;
1084 RET_LABEL198:(void)0;
1085 }
1086 }
1087 if (likely(varonce200!=NULL)) {
1088 var201 = varonce200;
1089 } else {
1090 var202 = "#ifdef _WIN32";
1091 var204 = (val*)(13l<<2|1);
1092 var205 = (val*)(13l<<2|1);
1093 var206 = (val*)((long)(0)<<2|3);
1094 var207 = (val*)((long)(0)<<2|3);
1095 var203 = core__flat___CString___to_s_unsafe(var202, var204, var205, var206, var207);
1096 var201 = var203;
1097 varonce200 = var201;
1098 }
1099 {
1100 nitc___nitc__CodeWriter___add_decl(var197, var201); /* Direct call abstract_compiler$CodeWriter$add_decl on <var197:CodeWriter>*/
1101 }
1102 {
1103 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1104 var210 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1105 if (unlikely(var210 == NULL)) {
1106 if(catchStack.cursor >= 0){
1107 longjmp(catchStack.envs[catchStack.cursor], 1);
1108 }
1109 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1110 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1111 fatal_exit(1);
1112 }
1113 var208 = var210;
1114 RET_LABEL209:(void)0;
1115 }
1116 }
1117 if (likely(varonce211!=NULL)) {
1118 var212 = varonce211;
1119 } else {
1120 var213 = "\t#define be32toh(val) _byteswap_ulong(val)";
1121 var215 = (val*)(42l<<2|1);
1122 var216 = (val*)(42l<<2|1);
1123 var217 = (val*)((long)(0)<<2|3);
1124 var218 = (val*)((long)(0)<<2|3);
1125 var214 = core__flat___CString___to_s_unsafe(var213, var215, var216, var217, var218);
1126 var212 = var214;
1127 varonce211 = var212;
1128 }
1129 {
1130 nitc___nitc__CodeWriter___add_decl(var208, var212); /* Direct call abstract_compiler$CodeWriter$add_decl on <var208:CodeWriter>*/
1131 }
1132 {
1133 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1134 var221 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1135 if (unlikely(var221 == NULL)) {
1136 if(catchStack.cursor >= 0){
1137 longjmp(catchStack.envs[catchStack.cursor], 1);
1138 }
1139 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1140 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1141 fatal_exit(1);
1142 }
1143 var219 = var221;
1144 RET_LABEL220:(void)0;
1145 }
1146 }
1147 if (likely(varonce222!=NULL)) {
1148 var223 = varonce222;
1149 } else {
1150 var224 = "#endif";
1151 var226 = (val*)(6l<<2|1);
1152 var227 = (val*)(6l<<2|1);
1153 var228 = (val*)((long)(0)<<2|3);
1154 var229 = (val*)((long)(0)<<2|3);
1155 var225 = core__flat___CString___to_s_unsafe(var224, var226, var227, var228, var229);
1156 var223 = var225;
1157 varonce222 = var223;
1158 }
1159 {
1160 nitc___nitc__CodeWriter___add_decl(var219, var223); /* Direct call abstract_compiler$CodeWriter$add_decl on <var219:CodeWriter>*/
1161 }
1162 {
1163 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1164 var232 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1165 if (unlikely(var232 == NULL)) {
1166 if(catchStack.cursor >= 0){
1167 longjmp(catchStack.envs[catchStack.cursor], 1);
1168 }
1169 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1170 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1171 fatal_exit(1);
1172 }
1173 var230 = var232;
1174 RET_LABEL231:(void)0;
1175 }
1176 }
1177 if (likely(varonce233!=NULL)) {
1178 var234 = varonce233;
1179 } else {
1180 var235 = "#ifdef __pnacl__";
1181 var237 = (val*)(16l<<2|1);
1182 var238 = (val*)(16l<<2|1);
1183 var239 = (val*)((long)(0)<<2|3);
1184 var240 = (val*)((long)(0)<<2|3);
1185 var236 = core__flat___CString___to_s_unsafe(var235, var237, var238, var239, var240);
1186 var234 = var236;
1187 varonce233 = var234;
1188 }
1189 {
1190 nitc___nitc__CodeWriter___add_decl(var230, var234); /* Direct call abstract_compiler$CodeWriter$add_decl on <var230:CodeWriter>*/
1191 }
1192 {
1193 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1194 var243 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1195 if (unlikely(var243 == NULL)) {
1196 if(catchStack.cursor >= 0){
1197 longjmp(catchStack.envs[catchStack.cursor], 1);
1198 }
1199 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1200 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1201 fatal_exit(1);
1202 }
1203 var241 = var243;
1204 RET_LABEL242:(void)0;
1205 }
1206 }
1207 if (likely(varonce244!=NULL)) {
1208 var245 = varonce244;
1209 } else {
1210 var246 = "\t#define be16toh(val) (((val) >> 8) | ((val) << 8))";
1211 var248 = (val*)(51l<<2|1);
1212 var249 = (val*)(51l<<2|1);
1213 var250 = (val*)((long)(0)<<2|3);
1214 var251 = (val*)((long)(0)<<2|3);
1215 var247 = core__flat___CString___to_s_unsafe(var246, var248, var249, var250, var251);
1216 var245 = var247;
1217 varonce244 = var245;
1218 }
1219 {
1220 nitc___nitc__CodeWriter___add_decl(var241, var245); /* Direct call abstract_compiler$CodeWriter$add_decl on <var241:CodeWriter>*/
1221 }
1222 {
1223 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1224 var254 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1225 if (unlikely(var254 == NULL)) {
1226 if(catchStack.cursor >= 0){
1227 longjmp(catchStack.envs[catchStack.cursor], 1);
1228 }
1229 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1230 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1231 fatal_exit(1);
1232 }
1233 var252 = var254;
1234 RET_LABEL253:(void)0;
1235 }
1236 }
1237 if (likely(varonce255!=NULL)) {
1238 var256 = varonce255;
1239 } else {
1240 var257 = "\t#define be32toh(val) ((be16toh((val) << 16) | (be16toh((val) >> 16))))";
1241 var259 = (val*)(71l<<2|1);
1242 var260 = (val*)(71l<<2|1);
1243 var261 = (val*)((long)(0)<<2|3);
1244 var262 = (val*)((long)(0)<<2|3);
1245 var258 = core__flat___CString___to_s_unsafe(var257, var259, var260, var261, var262);
1246 var256 = var258;
1247 varonce255 = var256;
1248 }
1249 {
1250 nitc___nitc__CodeWriter___add_decl(var252, var256); /* Direct call abstract_compiler$CodeWriter$add_decl on <var252:CodeWriter>*/
1251 }
1252 {
1253 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1254 var265 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1255 if (unlikely(var265 == NULL)) {
1256 if(catchStack.cursor >= 0){
1257 longjmp(catchStack.envs[catchStack.cursor], 1);
1258 }
1259 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1260 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1261 fatal_exit(1);
1262 }
1263 var263 = var265;
1264 RET_LABEL264:(void)0;
1265 }
1266 }
1267 if (likely(varonce266!=NULL)) {
1268 var267 = varonce266;
1269 } else {
1270 var268 = "#endif";
1271 var270 = (val*)(6l<<2|1);
1272 var271 = (val*)(6l<<2|1);
1273 var272 = (val*)((long)(0)<<2|3);
1274 var273 = (val*)((long)(0)<<2|3);
1275 var269 = core__flat___CString___to_s_unsafe(var268, var270, var271, var272, var273);
1276 var267 = var269;
1277 varonce266 = var267;
1278 }
1279 {
1280 nitc___nitc__CodeWriter___add_decl(var263, var267); /* Direct call abstract_compiler$CodeWriter$add_decl on <var263:CodeWriter>*/
1281 }
1282 {
1283 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1284 var276 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1285 if (unlikely(var276 == NULL)) {
1286 if(catchStack.cursor >= 0){
1287 longjmp(catchStack.envs[catchStack.cursor], 1);
1288 }
1289 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1290 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1291 fatal_exit(1);
1292 }
1293 var274 = var276;
1294 RET_LABEL275:(void)0;
1295 }
1296 }
1297 if (likely(varonce277!=NULL)) {
1298 var278 = varonce277;
1299 } else {
1300 var279 = "#ifdef ANDROID";
1301 var281 = (val*)(14l<<2|1);
1302 var282 = (val*)(14l<<2|1);
1303 var283 = (val*)((long)(0)<<2|3);
1304 var284 = (val*)((long)(0)<<2|3);
1305 var280 = core__flat___CString___to_s_unsafe(var279, var281, var282, var283, var284);
1306 var278 = var280;
1307 varonce277 = var278;
1308 }
1309 {
1310 nitc___nitc__CodeWriter___add_decl(var274, var278); /* Direct call abstract_compiler$CodeWriter$add_decl on <var274:CodeWriter>*/
1311 }
1312 {
1313 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1314 var287 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1315 if (unlikely(var287 == NULL)) {
1316 if(catchStack.cursor >= 0){
1317 longjmp(catchStack.envs[catchStack.cursor], 1);
1318 }
1319 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1320 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1321 fatal_exit(1);
1322 }
1323 var285 = var287;
1324 RET_LABEL286:(void)0;
1325 }
1326 }
1327 if (likely(varonce288!=NULL)) {
1328 var289 = varonce288;
1329 } else {
1330 var290 = "\t#ifndef be32toh";
1331 var292 = (val*)(16l<<2|1);
1332 var293 = (val*)(16l<<2|1);
1333 var294 = (val*)((long)(0)<<2|3);
1334 var295 = (val*)((long)(0)<<2|3);
1335 var291 = core__flat___CString___to_s_unsafe(var290, var292, var293, var294, var295);
1336 var289 = var291;
1337 varonce288 = var289;
1338 }
1339 {
1340 nitc___nitc__CodeWriter___add_decl(var285, var289); /* Direct call abstract_compiler$CodeWriter$add_decl on <var285:CodeWriter>*/
1341 }
1342 {
1343 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1344 var298 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1345 if (unlikely(var298 == NULL)) {
1346 if(catchStack.cursor >= 0){
1347 longjmp(catchStack.envs[catchStack.cursor], 1);
1348 }
1349 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1350 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1351 fatal_exit(1);
1352 }
1353 var296 = var298;
1354 RET_LABEL297:(void)0;
1355 }
1356 }
1357 if (likely(varonce299!=NULL)) {
1358 var300 = varonce299;
1359 } else {
1360 var301 = "\t\t#define be32toh(val) betoh32(val)";
1361 var303 = (val*)(35l<<2|1);
1362 var304 = (val*)(35l<<2|1);
1363 var305 = (val*)((long)(0)<<2|3);
1364 var306 = (val*)((long)(0)<<2|3);
1365 var302 = core__flat___CString___to_s_unsafe(var301, var303, var304, var305, var306);
1366 var300 = var302;
1367 varonce299 = var300;
1368 }
1369 {
1370 nitc___nitc__CodeWriter___add_decl(var296, var300); /* Direct call abstract_compiler$CodeWriter$add_decl on <var296:CodeWriter>*/
1371 }
1372 {
1373 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1374 var309 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1375 if (unlikely(var309 == NULL)) {
1376 if(catchStack.cursor >= 0){
1377 longjmp(catchStack.envs[catchStack.cursor], 1);
1378 }
1379 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1380 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1381 fatal_exit(1);
1382 }
1383 var307 = var309;
1384 RET_LABEL308:(void)0;
1385 }
1386 }
1387 if (likely(varonce310!=NULL)) {
1388 var311 = varonce310;
1389 } else {
1390 var312 = "\t#endif";
1391 var314 = (val*)(7l<<2|1);
1392 var315 = (val*)(7l<<2|1);
1393 var316 = (val*)((long)(0)<<2|3);
1394 var317 = (val*)((long)(0)<<2|3);
1395 var313 = core__flat___CString___to_s_unsafe(var312, var314, var315, var316, var317);
1396 var311 = var313;
1397 varonce310 = var311;
1398 }
1399 {
1400 nitc___nitc__CodeWriter___add_decl(var307, var311); /* Direct call abstract_compiler$CodeWriter$add_decl on <var307:CodeWriter>*/
1401 }
1402 {
1403 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1404 var320 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1405 if (unlikely(var320 == NULL)) {
1406 if(catchStack.cursor >= 0){
1407 longjmp(catchStack.envs[catchStack.cursor], 1);
1408 }
1409 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1410 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1411 fatal_exit(1);
1412 }
1413 var318 = var320;
1414 RET_LABEL319:(void)0;
1415 }
1416 }
1417 if (likely(varonce321!=NULL)) {
1418 var322 = varonce321;
1419 } else {
1420 var323 = "\t#include <android/log.h>";
1421 var325 = (val*)(25l<<2|1);
1422 var326 = (val*)(25l<<2|1);
1423 var327 = (val*)((long)(0)<<2|3);
1424 var328 = (val*)((long)(0)<<2|3);
1425 var324 = core__flat___CString___to_s_unsafe(var323, var325, var326, var327, var328);
1426 var322 = var324;
1427 varonce321 = var322;
1428 }
1429 {
1430 nitc___nitc__CodeWriter___add_decl(var318, var322); /* Direct call abstract_compiler$CodeWriter$add_decl on <var318:CodeWriter>*/
1431 }
1432 {
1433 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1434 var331 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1435 if (unlikely(var331 == NULL)) {
1436 if(catchStack.cursor >= 0){
1437 longjmp(catchStack.envs[catchStack.cursor], 1);
1438 }
1439 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1440 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1441 fatal_exit(1);
1442 }
1443 var329 = var331;
1444 RET_LABEL330:(void)0;
1445 }
1446 }
1447 if (likely(varonce332!=NULL)) {
1448 var333 = varonce332;
1449 } else {
1450 var334 = "\t#define PRINT_ERROR(...) (void)__android_log_print(ANDROID_LOG_WARN, \"Nit\", __VA_ARGS__)";
1451 var336 = (val*)(89l<<2|1);
1452 var337 = (val*)(89l<<2|1);
1453 var338 = (val*)((long)(0)<<2|3);
1454 var339 = (val*)((long)(0)<<2|3);
1455 var335 = core__flat___CString___to_s_unsafe(var334, var336, var337, var338, var339);
1456 var333 = var335;
1457 varonce332 = var333;
1458 }
1459 {
1460 nitc___nitc__CodeWriter___add_decl(var329, var333); /* Direct call abstract_compiler$CodeWriter$add_decl on <var329:CodeWriter>*/
1461 }
1462 {
1463 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1464 var342 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1465 if (unlikely(var342 == NULL)) {
1466 if(catchStack.cursor >= 0){
1467 longjmp(catchStack.envs[catchStack.cursor], 1);
1468 }
1469 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1470 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1471 fatal_exit(1);
1472 }
1473 var340 = var342;
1474 RET_LABEL341:(void)0;
1475 }
1476 }
1477 if (likely(varonce343!=NULL)) {
1478 var344 = varonce343;
1479 } else {
1480 var345 = "#elif TARGET_OS_IPHONE";
1481 var347 = (val*)(22l<<2|1);
1482 var348 = (val*)(22l<<2|1);
1483 var349 = (val*)((long)(0)<<2|3);
1484 var350 = (val*)((long)(0)<<2|3);
1485 var346 = core__flat___CString___to_s_unsafe(var345, var347, var348, var349, var350);
1486 var344 = var346;
1487 varonce343 = var344;
1488 }
1489 {
1490 nitc___nitc__CodeWriter___add_decl(var340, var344); /* Direct call abstract_compiler$CodeWriter$add_decl on <var340:CodeWriter>*/
1491 }
1492 {
1493 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1494 var353 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1495 if (unlikely(var353 == NULL)) {
1496 if(catchStack.cursor >= 0){
1497 longjmp(catchStack.envs[catchStack.cursor], 1);
1498 }
1499 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1500 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1501 fatal_exit(1);
1502 }
1503 var351 = var353;
1504 RET_LABEL352:(void)0;
1505 }
1506 }
1507 if (likely(varonce354!=NULL)) {
1508 var355 = varonce354;
1509 } else {
1510 var356 = "\t#define PRINT_ERROR(...) syslog(LOG_ERR, __VA_ARGS__)";
1511 var358 = (val*)(54l<<2|1);
1512 var359 = (val*)(54l<<2|1);
1513 var360 = (val*)((long)(0)<<2|3);
1514 var361 = (val*)((long)(0)<<2|3);
1515 var357 = core__flat___CString___to_s_unsafe(var356, var358, var359, var360, var361);
1516 var355 = var357;
1517 varonce354 = var355;
1518 }
1519 {
1520 nitc___nitc__CodeWriter___add_decl(var351, var355); /* Direct call abstract_compiler$CodeWriter$add_decl on <var351:CodeWriter>*/
1521 }
1522 {
1523 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1524 var364 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1525 if (unlikely(var364 == NULL)) {
1526 if(catchStack.cursor >= 0){
1527 longjmp(catchStack.envs[catchStack.cursor], 1);
1528 }
1529 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1530 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1531 fatal_exit(1);
1532 }
1533 var362 = var364;
1534 RET_LABEL363:(void)0;
1535 }
1536 }
1537 if (likely(varonce365!=NULL)) {
1538 var366 = varonce365;
1539 } else {
1540 var367 = "#else";
1541 var369 = (val*)(5l<<2|1);
1542 var370 = (val*)(5l<<2|1);
1543 var371 = (val*)((long)(0)<<2|3);
1544 var372 = (val*)((long)(0)<<2|3);
1545 var368 = core__flat___CString___to_s_unsafe(var367, var369, var370, var371, var372);
1546 var366 = var368;
1547 varonce365 = var366;
1548 }
1549 {
1550 nitc___nitc__CodeWriter___add_decl(var362, var366); /* Direct call abstract_compiler$CodeWriter$add_decl on <var362:CodeWriter>*/
1551 }
1552 {
1553 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1554 var375 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1555 if (unlikely(var375 == NULL)) {
1556 if(catchStack.cursor >= 0){
1557 longjmp(catchStack.envs[catchStack.cursor], 1);
1558 }
1559 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1560 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1561 fatal_exit(1);
1562 }
1563 var373 = var375;
1564 RET_LABEL374:(void)0;
1565 }
1566 }
1567 if (likely(varonce376!=NULL)) {
1568 var377 = varonce376;
1569 } else {
1570 var378 = "\t#define PRINT_ERROR(...) fprintf(stderr, __VA_ARGS__)";
1571 var380 = (val*)(54l<<2|1);
1572 var381 = (val*)(54l<<2|1);
1573 var382 = (val*)((long)(0)<<2|3);
1574 var383 = (val*)((long)(0)<<2|3);
1575 var379 = core__flat___CString___to_s_unsafe(var378, var380, var381, var382, var383);
1576 var377 = var379;
1577 varonce376 = var377;
1578 }
1579 {
1580 nitc___nitc__CodeWriter___add_decl(var373, var377); /* Direct call abstract_compiler$CodeWriter$add_decl on <var373:CodeWriter>*/
1581 }
1582 {
1583 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1584 var386 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1585 if (unlikely(var386 == NULL)) {
1586 if(catchStack.cursor >= 0){
1587 longjmp(catchStack.envs[catchStack.cursor], 1);
1588 }
1589 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1590 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1591 fatal_exit(1);
1592 }
1593 var384 = var386;
1594 RET_LABEL385:(void)0;
1595 }
1596 }
1597 if (likely(varonce387!=NULL)) {
1598 var388 = varonce387;
1599 } else {
1600 var389 = "#endif";
1601 var391 = (val*)(6l<<2|1);
1602 var392 = (val*)(6l<<2|1);
1603 var393 = (val*)((long)(0)<<2|3);
1604 var394 = (val*)((long)(0)<<2|3);
1605 var390 = core__flat___CString___to_s_unsafe(var389, var391, var392, var393, var394);
1606 var388 = var390;
1607 varonce387 = var388;
1608 }
1609 {
1610 nitc___nitc__CodeWriter___add_decl(var384, var388); /* Direct call abstract_compiler$CodeWriter$add_decl on <var384:CodeWriter>*/
1611 }
1612 {
1613 ((void(*)(val* self))(self->class->vft[COLOR_nitc__abstract_compiler__AbstractCompiler__compile_header_structs]))(self); /* compile_header_structs on <self:AbstractCompiler>*/
1614 }
1615 {
1616 nitc___nitc__SeparateCompiler___nitc__abstract_compiler__AbstractCompiler__compile_nitni_structs(self); /* Direct call separate_compiler$SeparateCompiler$compile_nitni_structs on <self:AbstractCompiler>*/
1617 }
1618 {
1619 nitc___nitc__AbstractCompiler___compile_catch_stack(self); /* Direct call abstract_compiler$AbstractCompiler$compile_catch_stack on <self:AbstractCompiler>*/
1620 }
1621 {
1622 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:AbstractCompiler> */
1623 var397 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:AbstractCompiler> */
1624 if (unlikely(var397 == NULL)) {
1625 if(catchStack.cursor >= 0){
1626 longjmp(catchStack.envs[catchStack.cursor], 1);
1627 }
1628 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1629 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 552);
1630 fatal_exit(1);
1631 }
1632 var395 = var397;
1633 RET_LABEL396:(void)0;
1634 }
1635 }
1636 {
1637 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var395) on <var395:ModelBuilder> */
1638 var400 = var395->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var395:ModelBuilder> */
1639 if (unlikely(var400 == NULL)) {
1640 if(catchStack.cursor >= 0){
1641 longjmp(catchStack.envs[catchStack.cursor], 1);
1642 }
1643 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1644 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 47);
1645 fatal_exit(1);
1646 }
1647 var398 = var400;
1648 RET_LABEL399:(void)0;
1649 }
1650 }
1651 {
1652 { /* Inline abstract_compiler$ToolContext$opt_no_gcc_directive (var398) on <var398:ToolContext> */
1653 var403 = var398->attrs[COLOR_nitc__abstract_compiler__ToolContext___opt_no_gcc_directive].val; /* _opt_no_gcc_directive on <var398:ToolContext> */
1654 if (unlikely(var403 == NULL)) {
1655 if(catchStack.cursor >= 0){
1656 longjmp(catchStack.envs[catchStack.cursor], 1);
1657 }
1658 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_gcc_directive");
1659 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 68);
1660 fatal_exit(1);
1661 }
1662 var401 = var403;
1663 RET_LABEL402:(void)0;
1664 }
1665 }
1666 {
1667 { /* Inline opts$Option$value (var401) on <var401:OptionArray> */
1668 var406 = var401->attrs[COLOR_opts__Option___value].val; /* _value on <var401:OptionArray> */
1669 var404 = var406;
1670 RET_LABEL405:(void)0;
1671 }
1672 }
1673 var_gccd_disable = var404;
1674 if (likely(varonce408!=NULL)) {
1675 var409 = varonce408;
1676 } else {
1677 var410 = "noreturn";
1678 var412 = (val*)(8l<<2|1);
1679 var413 = (val*)(8l<<2|1);
1680 var414 = (val*)((long)(0)<<2|3);
1681 var415 = (val*)((long)(0)<<2|3);
1682 var411 = core__flat___CString___to_s_unsafe(var410, var412, var413, var414, var415);
1683 var409 = var411;
1684 varonce408 = var409;
1685 }
1686 {
1687 var416 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var_gccd_disable, var409);
1688 }
1689 var_ = var416;
1690 if (var416){
1691 var407 = var_;
1692 } else {
1693 if (likely(varonce417!=NULL)) {
1694 var418 = varonce417;
1695 } else {
1696 var419 = "all";
1697 var421 = (val*)(3l<<2|1);
1698 var422 = (val*)(3l<<2|1);
1699 var423 = (val*)((long)(0)<<2|3);
1700 var424 = (val*)((long)(0)<<2|3);
1701 var420 = core__flat___CString___to_s_unsafe(var419, var421, var422, var423, var424);
1702 var418 = var420;
1703 varonce417 = var418;
1704 }
1705 {
1706 var425 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var_gccd_disable, var418);
1707 }
1708 var407 = var425;
1709 }
1710 if (var407){
1711 {
1712 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1713 var428 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1714 if (unlikely(var428 == NULL)) {
1715 if(catchStack.cursor >= 0){
1716 longjmp(catchStack.envs[catchStack.cursor], 1);
1717 }
1718 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1719 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1720 fatal_exit(1);
1721 }
1722 var426 = var428;
1723 RET_LABEL427:(void)0;
1724 }
1725 }
1726 if (likely(varonce429!=NULL)) {
1727 var430 = varonce429;
1728 } else {
1729 var431 = "void fatal_exit(int);";
1730 var433 = (val*)(21l<<2|1);
1731 var434 = (val*)(21l<<2|1);
1732 var435 = (val*)((long)(0)<<2|3);
1733 var436 = (val*)((long)(0)<<2|3);
1734 var432 = core__flat___CString___to_s_unsafe(var431, var433, var434, var435, var436);
1735 var430 = var432;
1736 varonce429 = var430;
1737 }
1738 {
1739 nitc___nitc__CodeWriter___add_decl(var426, var430); /* Direct call abstract_compiler$CodeWriter$add_decl on <var426:CodeWriter>*/
1740 }
1741 } else {
1742 {
1743 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1744 var439 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1745 if (unlikely(var439 == NULL)) {
1746 if(catchStack.cursor >= 0){
1747 longjmp(catchStack.envs[catchStack.cursor], 1);
1748 }
1749 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1750 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1751 fatal_exit(1);
1752 }
1753 var437 = var439;
1754 RET_LABEL438:(void)0;
1755 }
1756 }
1757 if (likely(varonce440!=NULL)) {
1758 var441 = varonce440;
1759 } else {
1760 var442 = "void fatal_exit(int) __attribute__ ((noreturn));";
1761 var444 = (val*)(48l<<2|1);
1762 var445 = (val*)(48l<<2|1);
1763 var446 = (val*)((long)(0)<<2|3);
1764 var447 = (val*)((long)(0)<<2|3);
1765 var443 = core__flat___CString___to_s_unsafe(var442, var444, var445, var446, var447);
1766 var441 = var443;
1767 varonce440 = var441;
1768 }
1769 {
1770 nitc___nitc__CodeWriter___add_decl(var437, var441); /* Direct call abstract_compiler$CodeWriter$add_decl on <var437:CodeWriter>*/
1771 }
1772 }
1773 if (likely(varonce449!=NULL)) {
1774 var450 = varonce449;
1775 } else {
1776 var451 = "likely";
1777 var453 = (val*)(6l<<2|1);
1778 var454 = (val*)(6l<<2|1);
1779 var455 = (val*)((long)(0)<<2|3);
1780 var456 = (val*)((long)(0)<<2|3);
1781 var452 = core__flat___CString___to_s_unsafe(var451, var453, var454, var455, var456);
1782 var450 = var452;
1783 varonce449 = var450;
1784 }
1785 {
1786 var457 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var_gccd_disable, var450);
1787 }
1788 var_458 = var457;
1789 if (var457){
1790 var448 = var_458;
1791 } else {
1792 if (likely(varonce459!=NULL)) {
1793 var460 = varonce459;
1794 } else {
1795 var461 = "all";
1796 var463 = (val*)(3l<<2|1);
1797 var464 = (val*)(3l<<2|1);
1798 var465 = (val*)((long)(0)<<2|3);
1799 var466 = (val*)((long)(0)<<2|3);
1800 var462 = core__flat___CString___to_s_unsafe(var461, var463, var464, var465, var466);
1801 var460 = var462;
1802 varonce459 = var460;
1803 }
1804 {
1805 var467 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var_gccd_disable, var460);
1806 }
1807 var448 = var467;
1808 }
1809 if (var448){
1810 {
1811 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1812 var470 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1813 if (unlikely(var470 == NULL)) {
1814 if(catchStack.cursor >= 0){
1815 longjmp(catchStack.envs[catchStack.cursor], 1);
1816 }
1817 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1818 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1819 fatal_exit(1);
1820 }
1821 var468 = var470;
1822 RET_LABEL469:(void)0;
1823 }
1824 }
1825 if (likely(varonce471!=NULL)) {
1826 var472 = varonce471;
1827 } else {
1828 var473 = "#define likely(x) (x)";
1829 var475 = (val*)(27l<<2|1);
1830 var476 = (val*)(27l<<2|1);
1831 var477 = (val*)((long)(0)<<2|3);
1832 var478 = (val*)((long)(0)<<2|3);
1833 var474 = core__flat___CString___to_s_unsafe(var473, var475, var476, var477, var478);
1834 var472 = var474;
1835 varonce471 = var472;
1836 }
1837 {
1838 nitc___nitc__CodeWriter___add_decl(var468, var472); /* Direct call abstract_compiler$CodeWriter$add_decl on <var468:CodeWriter>*/
1839 }
1840 {
1841 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1842 var481 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1843 if (unlikely(var481 == NULL)) {
1844 if(catchStack.cursor >= 0){
1845 longjmp(catchStack.envs[catchStack.cursor], 1);
1846 }
1847 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1848 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1849 fatal_exit(1);
1850 }
1851 var479 = var481;
1852 RET_LABEL480:(void)0;
1853 }
1854 }
1855 if (likely(varonce482!=NULL)) {
1856 var483 = varonce482;
1857 } else {
1858 var484 = "#define unlikely(x) (x)";
1859 var486 = (val*)(27l<<2|1);
1860 var487 = (val*)(27l<<2|1);
1861 var488 = (val*)((long)(0)<<2|3);
1862 var489 = (val*)((long)(0)<<2|3);
1863 var485 = core__flat___CString___to_s_unsafe(var484, var486, var487, var488, var489);
1864 var483 = var485;
1865 varonce482 = var483;
1866 }
1867 {
1868 nitc___nitc__CodeWriter___add_decl(var479, var483); /* Direct call abstract_compiler$CodeWriter$add_decl on <var479:CodeWriter>*/
1869 }
1870 } else {
1871 if (likely(varonce490!=NULL)) {
1872 var491 = varonce490;
1873 } else {
1874 var492 = "correct-likely";
1875 var494 = (val*)(14l<<2|1);
1876 var495 = (val*)(14l<<2|1);
1877 var496 = (val*)((long)(0)<<2|3);
1878 var497 = (val*)((long)(0)<<2|3);
1879 var493 = core__flat___CString___to_s_unsafe(var492, var494, var495, var496, var497);
1880 var491 = var493;
1881 varonce490 = var491;
1882 }
1883 {
1884 var498 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var_gccd_disable, var491);
1885 }
1886 if (var498){
1887 {
1888 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1889 var501 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1890 if (unlikely(var501 == NULL)) {
1891 if(catchStack.cursor >= 0){
1892 longjmp(catchStack.envs[catchStack.cursor], 1);
1893 }
1894 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1895 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1896 fatal_exit(1);
1897 }
1898 var499 = var501;
1899 RET_LABEL500:(void)0;
1900 }
1901 }
1902 if (likely(varonce502!=NULL)) {
1903 var503 = varonce502;
1904 } else {
1905 var504 = "#define likely(x) __builtin_expect((x),0)";
1906 var506 = (val*)(47l<<2|1);
1907 var507 = (val*)(47l<<2|1);
1908 var508 = (val*)((long)(0)<<2|3);
1909 var509 = (val*)((long)(0)<<2|3);
1910 var505 = core__flat___CString___to_s_unsafe(var504, var506, var507, var508, var509);
1911 var503 = var505;
1912 varonce502 = var503;
1913 }
1914 {
1915 nitc___nitc__CodeWriter___add_decl(var499, var503); /* Direct call abstract_compiler$CodeWriter$add_decl on <var499:CodeWriter>*/
1916 }
1917 {
1918 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1919 var512 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1920 if (unlikely(var512 == NULL)) {
1921 if(catchStack.cursor >= 0){
1922 longjmp(catchStack.envs[catchStack.cursor], 1);
1923 }
1924 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1925 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1926 fatal_exit(1);
1927 }
1928 var510 = var512;
1929 RET_LABEL511:(void)0;
1930 }
1931 }
1932 if (likely(varonce513!=NULL)) {
1933 var514 = varonce513;
1934 } else {
1935 var515 = "#define unlikely(x) __builtin_expect((x),1)";
1936 var517 = (val*)(47l<<2|1);
1937 var518 = (val*)(47l<<2|1);
1938 var519 = (val*)((long)(0)<<2|3);
1939 var520 = (val*)((long)(0)<<2|3);
1940 var516 = core__flat___CString___to_s_unsafe(var515, var517, var518, var519, var520);
1941 var514 = var516;
1942 varonce513 = var514;
1943 }
1944 {
1945 nitc___nitc__CodeWriter___add_decl(var510, var514); /* Direct call abstract_compiler$CodeWriter$add_decl on <var510:CodeWriter>*/
1946 }
1947 } else {
1948 {
1949 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1950 var523 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1951 if (unlikely(var523 == NULL)) {
1952 if(catchStack.cursor >= 0){
1953 longjmp(catchStack.envs[catchStack.cursor], 1);
1954 }
1955 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1956 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1957 fatal_exit(1);
1958 }
1959 var521 = var523;
1960 RET_LABEL522:(void)0;
1961 }
1962 }
1963 if (likely(varonce524!=NULL)) {
1964 var525 = varonce524;
1965 } else {
1966 var526 = "#define likely(x) __builtin_expect((x),1)";
1967 var528 = (val*)(47l<<2|1);
1968 var529 = (val*)(47l<<2|1);
1969 var530 = (val*)((long)(0)<<2|3);
1970 var531 = (val*)((long)(0)<<2|3);
1971 var527 = core__flat___CString___to_s_unsafe(var526, var528, var529, var530, var531);
1972 var525 = var527;
1973 varonce524 = var525;
1974 }
1975 {
1976 nitc___nitc__CodeWriter___add_decl(var521, var525); /* Direct call abstract_compiler$CodeWriter$add_decl on <var521:CodeWriter>*/
1977 }
1978 {
1979 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
1980 var534 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
1981 if (unlikely(var534 == NULL)) {
1982 if(catchStack.cursor >= 0){
1983 longjmp(catchStack.envs[catchStack.cursor], 1);
1984 }
1985 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1986 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
1987 fatal_exit(1);
1988 }
1989 var532 = var534;
1990 RET_LABEL533:(void)0;
1991 }
1992 }
1993 if (likely(varonce535!=NULL)) {
1994 var536 = varonce535;
1995 } else {
1996 var537 = "#define unlikely(x) __builtin_expect((x),0)";
1997 var539 = (val*)(47l<<2|1);
1998 var540 = (val*)(47l<<2|1);
1999 var541 = (val*)((long)(0)<<2|3);
2000 var542 = (val*)((long)(0)<<2|3);
2001 var538 = core__flat___CString___to_s_unsafe(var537, var539, var540, var541, var542);
2002 var536 = var538;
2003 varonce535 = var536;
2004 }
2005 {
2006 nitc___nitc__CodeWriter___add_decl(var532, var536); /* Direct call abstract_compiler$CodeWriter$add_decl on <var532:CodeWriter>*/
2007 }
2008 }
2009 }
2010 {
2011 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
2012 var545 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
2013 if (unlikely(var545 == NULL)) {
2014 if(catchStack.cursor >= 0){
2015 longjmp(catchStack.envs[catchStack.cursor], 1);
2016 }
2017 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2018 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
2019 fatal_exit(1);
2020 }
2021 var543 = var545;
2022 RET_LABEL544:(void)0;
2023 }
2024 }
2025 if (likely(varonce546!=NULL)) {
2026 var547 = varonce546;
2027 } else {
2028 var548 = "extern int glob_argc;";
2029 var550 = (val*)(21l<<2|1);
2030 var551 = (val*)(21l<<2|1);
2031 var552 = (val*)((long)(0)<<2|3);
2032 var553 = (val*)((long)(0)<<2|3);
2033 var549 = core__flat___CString___to_s_unsafe(var548, var550, var551, var552, var553);
2034 var547 = var549;
2035 varonce546 = var547;
2036 }
2037 {
2038 nitc___nitc__CodeWriter___add_decl(var543, var547); /* Direct call abstract_compiler$CodeWriter$add_decl on <var543:CodeWriter>*/
2039 }
2040 {
2041 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
2042 var556 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
2043 if (unlikely(var556 == NULL)) {
2044 if(catchStack.cursor >= 0){
2045 longjmp(catchStack.envs[catchStack.cursor], 1);
2046 }
2047 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2048 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
2049 fatal_exit(1);
2050 }
2051 var554 = var556;
2052 RET_LABEL555:(void)0;
2053 }
2054 }
2055 if (likely(varonce557!=NULL)) {
2056 var558 = varonce557;
2057 } else {
2058 var559 = "extern char **glob_argv;";
2059 var561 = (val*)(24l<<2|1);
2060 var562 = (val*)(24l<<2|1);
2061 var563 = (val*)((long)(0)<<2|3);
2062 var564 = (val*)((long)(0)<<2|3);
2063 var560 = core__flat___CString___to_s_unsafe(var559, var561, var562, var563, var564);
2064 var558 = var560;
2065 varonce557 = var558;
2066 }
2067 {
2068 nitc___nitc__CodeWriter___add_decl(var554, var558); /* Direct call abstract_compiler$CodeWriter$add_decl on <var554:CodeWriter>*/
2069 }
2070 {
2071 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
2072 var567 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
2073 if (unlikely(var567 == NULL)) {
2074 if(catchStack.cursor >= 0){
2075 longjmp(catchStack.envs[catchStack.cursor], 1);
2076 }
2077 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2078 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
2079 fatal_exit(1);
2080 }
2081 var565 = var567;
2082 RET_LABEL566:(void)0;
2083 }
2084 }
2085 if (likely(varonce568!=NULL)) {
2086 var569 = varonce568;
2087 } else {
2088 var570 = "extern val *glob_sys;";
2089 var572 = (val*)(21l<<2|1);
2090 var573 = (val*)(21l<<2|1);
2091 var574 = (val*)((long)(0)<<2|3);
2092 var575 = (val*)((long)(0)<<2|3);
2093 var571 = core__flat___CString___to_s_unsafe(var570, var572, var573, var574, var575);
2094 var569 = var571;
2095 varonce568 = var569;
2096 }
2097 {
2098 nitc___nitc__CodeWriter___add_decl(var565, var569); /* Direct call abstract_compiler$CodeWriter$add_decl on <var565:CodeWriter>*/
2099 }
2100 RET_LABEL:;
2101 }
2102 /* method abstract_compiler$AbstractCompiler$compile_catch_stack for (self: AbstractCompiler) */
2103 void nitc___nitc__AbstractCompiler___compile_catch_stack(val* self) {
2104 val* var /* : CodeWriter */;
2105 val* var2 /* : CodeWriter */;
2106 static val* varonce;
2107 val* var3 /* : String */;
2108 char* var4 /* : CString */;
2109 val* var5 /* : String */;
2110 val* var6 /* : nullable Int */;
2111 val* var7 /* : nullable Int */;
2112 val* var8 /* : nullable Bool */;
2113 val* var9 /* : nullable Bool */;
2114 {
2115 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
2116 var2 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
2117 if (unlikely(var2 == NULL)) {
2118 if(catchStack.cursor >= 0){
2119 longjmp(catchStack.envs[catchStack.cursor], 1);
2120 }
2121 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2122 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
2123 fatal_exit(1);
2124 }
2125 var = var2;
2126 RET_LABEL1:(void)0;
2127 }
2128 }
2129 if (likely(varonce!=NULL)) {
2130 var3 = varonce;
2131 } else {
2132 var4 = "struct catch_stack_t {\n\tint cursor;\n\tjmp_buf envs[100];\n};\nextern struct catch_stack_t catchStack;\n";
2133 var6 = (val*)(99l<<2|1);
2134 var7 = (val*)(99l<<2|1);
2135 var8 = (val*)((long)(0)<<2|3);
2136 var9 = (val*)((long)(0)<<2|3);
2137 var5 = core__flat___CString___to_s_unsafe(var4, var6, var7, var8, var9);
2138 var3 = var5;
2139 varonce = var3;
2140 }
2141 {
2142 nitc___nitc__CodeWriter___add_decl(var, var3); /* Direct call abstract_compiler$CodeWriter$add_decl on <var:CodeWriter>*/
2143 }
2144 RET_LABEL:;
2145 }
2146 /* method abstract_compiler$AbstractCompiler$compile_nitni_structs for (self: AbstractCompiler) */
2147 void nitc___nitc__AbstractCompiler___compile_nitni_structs(val* self) {
2148 val* var /* : CodeWriter */;
2149 val* var2 /* : CodeWriter */;
2150 static val* varonce;
2151 val* var3 /* : String */;
2152 char* var4 /* : CString */;
2153 val* var5 /* : String */;
2154 val* var6 /* : nullable Int */;
2155 val* var7 /* : nullable Int */;
2156 val* var8 /* : nullable Bool */;
2157 val* var9 /* : nullable Bool */;
2158 {
2159 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:AbstractCompiler> */
2160 var2 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
2161 if (unlikely(var2 == NULL)) {
2162 if(catchStack.cursor >= 0){
2163 longjmp(catchStack.envs[catchStack.cursor], 1);
2164 }
2165 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2166 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
2167 fatal_exit(1);
2168 }
2169 var = var2;
2170 RET_LABEL1:(void)0;
2171 }
2172 }
2173 if (likely(varonce!=NULL)) {
2174 var3 = varonce;
2175 } else {
2176 var4 = "/* Native reference to Nit objects */\n/* This structure is used to represent every Nit type in extern methods and custom C code. */\nstruct nitni_ref {\n\tstruct nitni_ref *next,\n\t\t*prev; /* adjacent global references in global list */\n\tint count; /* number of time this global reference has been marked */\n};\n\n/* List of global references from C code to Nit objects */\n/* Instanciated empty at init of Nit system and filled explicitly by user in C code */\nstruct nitni_global_ref_list_t {\n\tstruct nitni_ref *head, *tail;\n};\nextern struct nitni_global_ref_list_t *nitni_global_ref_list;\n\n/* Initializer of global reference list */\nextern void nitni_global_ref_list_init();\n\n/* Intern function to add a global reference to the list */\nextern void nitni_global_ref_add( struct nitni_ref *ref );\n\n/* Intern function to remove a global reference from the list */\nextern void nitni_global_ref_remove( struct nitni_ref *ref );\n\n/* Increase count on an existing global reference */\nextern void nitni_global_ref_incr( struct nitni_ref *ref );\n\n/* Decrease count on an existing global reference */\nextern void nitni_global_ref_decr( struct nitni_ref *ref );\n";
2177 var6 = (val*)(1146l<<2|1);
2178 var7 = (val*)(1146l<<2|1);
2179 var8 = (val*)((long)(0)<<2|3);
2180 var9 = (val*)((long)(0)<<2|3);
2181 var5 = core__flat___CString___to_s_unsafe(var4, var6, var7, var8, var9);
2182 var3 = var5;
2183 varonce = var3;
2184 }
2185 {
2186 nitc___nitc__CodeWriter___add_decl(var, var3); /* Direct call abstract_compiler$CodeWriter$add_decl on <var:CodeWriter>*/
2187 }
2188 RET_LABEL:;
2189 }
2190 /* method abstract_compiler$AbstractCompiler$compile_finalizer_function for (self: AbstractCompiler) */
2191 void nitc___nitc__AbstractCompiler___compile_finalizer_function(val* self) {
2192 val* var /* : MModule */;
2193 val* var2 /* : MModule */;
2194 val* var3 /* : nullable MClassType */;
2195 val* var_finalizable_type /* var finalizable_type: nullable MClassType */;
2196 short int var4 /* : Bool */;
2197 short int var5 /* : Bool */;
2198 val* var_other /* var other: nullable Object */;
2199 short int var7 /* : Bool */;
2200 short int var9 /* : Bool */;
2201 val* var10 /* : MModule */;
2202 val* var12 /* : MModule */;
2203 static val* varonce;
2204 val* var13 /* : String */;
2205 char* var14 /* : CString */;
2206 val* var15 /* : String */;
2207 val* var16 /* : nullable Int */;
2208 val* var17 /* : nullable Int */;
2209 val* var18 /* : nullable Bool */;
2210 val* var19 /* : nullable Bool */;
2211 val* var20 /* : MClass */;
2212 val* var22 /* : MClass */;
2213 val* var23 /* : nullable MMethod */;
2214 val* var_finalize_meth /* var finalize_meth: nullable MMethod */;
2215 short int var24 /* : Bool */;
2216 short int var25 /* : Bool */;
2217 short int var27 /* : Bool */;
2218 short int var29 /* : Bool */;
2219 val* var30 /* : ModelBuilder */;
2220 val* var32 /* : ModelBuilder */;
2221 val* var33 /* : ToolContext */;
2222 val* var35 /* : ToolContext */;
2223 static val* varonce36;
2224 val* var37 /* : String */;
2225 char* var38 /* : CString */;
2226 val* var39 /* : String */;
2227 val* var40 /* : nullable Int */;
2228 val* var41 /* : nullable Int */;
2229 val* var42 /* : nullable Bool */;
2230 val* var43 /* : nullable Bool */;
2231 val* var44 /* : Message */;
2232 val* var45 /* : AbstractCompilerVisitor */;
2233 val* var_v /* var v: AbstractCompilerVisitor */;
2234 static val* varonce46;
2235 val* var47 /* : String */;
2236 char* var48 /* : CString */;
2237 val* var49 /* : String */;
2238 val* var50 /* : nullable Int */;
2239 val* var51 /* : nullable Int */;
2240 val* var52 /* : nullable Bool */;
2241 val* var53 /* : nullable Bool */;
2242 static val* varonce54;
2243 val* var55 /* : String */;
2244 char* var56 /* : CString */;
2245 val* var57 /* : String */;
2246 val* var58 /* : nullable Int */;
2247 val* var59 /* : nullable Int */;
2248 val* var60 /* : nullable Bool */;
2249 val* var61 /* : nullable Bool */;
2250 val* var62 /* : RuntimeVariable */;
2251 val* var_recv /* var recv: RuntimeVariable */;
2252 val* var63 /* : Array[RuntimeVariable] */;
2253 val* var_ /* var : Array[RuntimeVariable] */;
2254 val* var64 /* : nullable RuntimeVariable */;
2255 static val* varonce65;
2256 val* var66 /* : String */;
2257 char* var67 /* : CString */;
2258 val* var68 /* : String */;
2259 val* var69 /* : nullable Int */;
2260 val* var70 /* : nullable Int */;
2261 val* var71 /* : nullable Bool */;
2262 val* var72 /* : nullable Bool */;
2263 {
2264 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:AbstractCompiler> */
2265 var2 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:AbstractCompiler> */
2266 if (unlikely(var2 == NULL)) {
2267 if(catchStack.cursor >= 0){
2268 longjmp(catchStack.envs[catchStack.cursor], 1);
2269 }
2270 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2271 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 545);
2272 fatal_exit(1);
2273 }
2274 var = var2;
2275 RET_LABEL1:(void)0;
2276 }
2277 }
2278 {
2279 var3 = nitc__model___MModule___finalizable_type(var);
2280 }
2281 var_finalizable_type = var3;
2282 if (var_finalizable_type == NULL) {
2283 var4 = 1; /* is null */
2284 } else {
2285 var4 = 0; /* arg is null but recv is not */
2286 }
2287 if (0) {
2288 { /* Inline kernel$Object$== (var_finalizable_type,((val*)NULL)) on <var_finalizable_type:nullable MClassType> */
2289 var_other = ((val*)NULL);
2290 {
2291 { /* Inline kernel$Object$is_same_instance (var_finalizable_type,var_other) on <var_finalizable_type:nullable MClassType(MClassType)> */
2292 var9 = var_finalizable_type == var_other;
2293 var7 = var9;
2294 goto RET_LABEL8;
2295 RET_LABEL8:(void)0;
2296 }
2297 }
2298 var5 = var7;
2299 goto RET_LABEL6;
2300 RET_LABEL6:(void)0;
2301 }
2302 var4 = var5;
2303 }
2304 if (var4){
2305 goto RET_LABEL;
2306 } else {
2307 }
2308 {
2309 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:AbstractCompiler> */
2310 var12 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:AbstractCompiler> */
2311 if (unlikely(var12 == NULL)) {
2312 if(catchStack.cursor >= 0){
2313 longjmp(catchStack.envs[catchStack.cursor], 1);
2314 }
2315 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2316 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 545);
2317 fatal_exit(1);
2318 }
2319 var10 = var12;
2320 RET_LABEL11:(void)0;
2321 }
2322 }
2323 if (likely(varonce!=NULL)) {
2324 var13 = varonce;
2325 } else {
2326 var14 = "finalize";
2327 var16 = (val*)(8l<<2|1);
2328 var17 = (val*)(8l<<2|1);
2329 var18 = (val*)((long)(0)<<2|3);
2330 var19 = (val*)((long)(0)<<2|3);
2331 var15 = core__flat___CString___to_s_unsafe(var14, var16, var17, var18, var19);
2332 var13 = var15;
2333 varonce = var13;
2334 }
2335 {
2336 { /* Inline model$MClassType$mclass (var_finalizable_type) on <var_finalizable_type:nullable MClassType(MClassType)> */
2337 var22 = var_finalizable_type->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <var_finalizable_type:nullable MClassType(MClassType)> */
2338 if (unlikely(var22 == NULL)) {
2339 if(catchStack.cursor >= 0){
2340 longjmp(catchStack.envs[catchStack.cursor], 1);
2341 }
2342 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2343 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1197);
2344 fatal_exit(1);
2345 }
2346 var20 = var22;
2347 RET_LABEL21:(void)0;
2348 }
2349 }
2350 {
2351 var23 = nitc__model___MModule___try_get_primitive_method(var10, var13, var20);
2352 }
2353 var_finalize_meth = var23;
2354 if (var_finalize_meth == NULL) {
2355 var24 = 1; /* is null */
2356 } else {
2357 var24 = 0; /* arg is null but recv is not */
2358 }
2359 if (0) {
2360 { /* Inline kernel$Object$== (var_finalize_meth,((val*)NULL)) on <var_finalize_meth:nullable MMethod> */
2361 var_other = ((val*)NULL);
2362 {
2363 { /* Inline kernel$Object$is_same_instance (var_finalize_meth,var_other) on <var_finalize_meth:nullable MMethod(MMethod)> */
2364 var29 = var_finalize_meth == var_other;
2365 var27 = var29;
2366 goto RET_LABEL28;
2367 RET_LABEL28:(void)0;
2368 }
2369 }
2370 var25 = var27;
2371 goto RET_LABEL26;
2372 RET_LABEL26:(void)0;
2373 }
2374 var24 = var25;
2375 }
2376 if (var24){
2377 {
2378 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:AbstractCompiler> */
2379 var32 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:AbstractCompiler> */
2380 if (unlikely(var32 == NULL)) {
2381 if(catchStack.cursor >= 0){
2382 longjmp(catchStack.envs[catchStack.cursor], 1);
2383 }
2384 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2385 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 552);
2386 fatal_exit(1);
2387 }
2388 var30 = var32;
2389 RET_LABEL31:(void)0;
2390 }
2391 }
2392 {
2393 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var30) on <var30:ModelBuilder> */
2394 var35 = var30->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var30:ModelBuilder> */
2395 if (unlikely(var35 == NULL)) {
2396 if(catchStack.cursor >= 0){
2397 longjmp(catchStack.envs[catchStack.cursor], 1);
2398 }
2399 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2400 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 47);
2401 fatal_exit(1);
2402 }
2403 var33 = var35;
2404 RET_LABEL34:(void)0;
2405 }
2406 }
2407 if (likely(varonce36!=NULL)) {
2408 var37 = varonce36;
2409 } else {
2410 var38 = "Error: the `Finalizable` class does not declare the `finalize` method.";
2411 var40 = (val*)(70l<<2|1);
2412 var41 = (val*)(70l<<2|1);
2413 var42 = (val*)((long)(0)<<2|3);
2414 var43 = (val*)((long)(0)<<2|3);
2415 var39 = core__flat___CString___to_s_unsafe(var38, var40, var41, var42, var43);
2416 var37 = var39;
2417 varonce36 = var37;
2418 }
2419 {
2420 var44 = nitc___nitc__ToolContext___error(var33, ((val*)NULL), var37);
2421 }
2422 goto RET_LABEL;
2423 } else {
2424 }
2425 {
2426 var45 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__abstract_compiler__AbstractCompiler__new_visitor]))(self); /* new_visitor on <self:AbstractCompiler>*/
2427 }
2428 var_v = var45;
2429 if (likely(varonce46!=NULL)) {
2430 var47 = varonce46;
2431 } else {
2432 var48 = "void gc_finalize (void *obj, void *client_data) {";
2433 var50 = (val*)(49l<<2|1);
2434 var51 = (val*)(49l<<2|1);
2435 var52 = (val*)((long)(0)<<2|3);
2436 var53 = (val*)((long)(0)<<2|3);
2437 var49 = core__flat___CString___to_s_unsafe(var48, var50, var51, var52, var53);
2438 var47 = var49;
2439 varonce46 = var47;
2440 }
2441 {
2442 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var47); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
2443 }
2444 if (likely(varonce54!=NULL)) {
2445 var55 = varonce54;
2446 } else {
2447 var56 = "obj";
2448 var58 = (val*)(3l<<2|1);
2449 var59 = (val*)(3l<<2|1);
2450 var60 = (val*)((long)(0)<<2|3);
2451 var61 = (val*)((long)(0)<<2|3);
2452 var57 = core__flat___CString___to_s_unsafe(var56, var58, var59, var60, var61);
2453 var55 = var57;
2454 varonce54 = var55;
2455 }
2456 {
2457 var62 = nitc___nitc__AbstractCompilerVisitor___new_expr(var_v, var55, var_finalizable_type);
2458 }
2459 var_recv = var62;
2460 var63 = NEW_core__Array(&type_core__Array__nitc__RuntimeVariable);
2461 {
2462 core___core__Array___with_capacity(var63, 1l); /* Direct call array$Array$with_capacity on <var63:Array[RuntimeVariable]>*/
2463 }
2464 var_ = var63;
2465 {
2466 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_, var_recv); /* Direct call array$AbstractArray$push on <var_:Array[RuntimeVariable]>*/
2467 }
2468 {
2469 var64 = nitc___nitc__SeparateCompilerVisitor___nitc__abstract_compiler__AbstractCompilerVisitor__send(var_v, var_finalize_meth, var_);
2470 }
2471 if (likely(varonce65!=NULL)) {
2472 var66 = varonce65;
2473 } else {
2474 var67 = "}";
2475 var69 = (val*)(1l<<2|1);
2476 var70 = (val*)(1l<<2|1);
2477 var71 = (val*)((long)(0)<<2|3);
2478 var72 = (val*)((long)(0)<<2|3);
2479 var68 = core__flat___CString___to_s_unsafe(var67, var69, var70, var71, var72);
2480 var66 = var68;
2481 varonce65 = var66;
2482 }
2483 {
2484 nitc___nitc__AbstractCompilerVisitor___add(var_v, var66); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
2485 }
2486 RET_LABEL:;
2487 }
2488 /* method abstract_compiler$AbstractCompiler$compile_before_main for (self: AbstractCompiler, AbstractCompilerVisitor) */
2489 void nitc___nitc__AbstractCompiler___compile_before_main(val* self, val* p0) {
2490 short int var /* : Bool */;
2491 int cltype;
2492 int idtype;
2493 const struct type* type_struct;
2494 const char* var_class_name;
2495 val* var_v /* var v: AbstractCompilerVisitor */;
2496 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
2497 /* <p0:AbstractCompilerVisitor> isa VISITOR */
2498 type_struct = self->type->resolution_table->types[COLOR_nitc__abstract_compiler__AbstractCompiler__VISITOR];
2499 cltype = type_struct->color;
2500 idtype = type_struct->id;
2501 if(cltype >= p0->type->table_size) {
2502 var = 0;
2503 } else {
2504 var = p0->type->type_table[cltype] == idtype;
2505 }
2506 if (unlikely(!var)) {
2507 var_class_name = p0 == NULL ? "null" : p0->type->name;
2508 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name);
2509 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 803);
2510 fatal_exit(1);
2511 }
2512 var_v = p0;
2513 RET_LABEL:;
2514 }
2515 /* method abstract_compiler$AbstractCompiler$compile_begin_main for (self: AbstractCompiler, AbstractCompilerVisitor) */
2516 void nitc___nitc__AbstractCompiler___compile_begin_main(val* self, val* p0) {
2517 short int var /* : Bool */;
2518 int cltype;
2519 int idtype;
2520 const struct type* type_struct;
2521 const char* var_class_name;
2522 val* var_v /* var v: AbstractCompilerVisitor */;
2523 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
2524 /* <p0:AbstractCompilerVisitor> isa VISITOR */
2525 type_struct = self->type->resolution_table->types[COLOR_nitc__abstract_compiler__AbstractCompiler__VISITOR];
2526 cltype = type_struct->color;
2527 idtype = type_struct->id;
2528 if(cltype >= p0->type->table_size) {
2529 var = 0;
2530 } else {
2531 var = p0->type->type_table[cltype] == idtype;
2532 }
2533 if (unlikely(!var)) {
2534 var_class_name = p0 == NULL ? "null" : p0->type->name;
2535 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name);
2536 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 810);
2537 fatal_exit(1);
2538 }
2539 var_v = p0;
2540 RET_LABEL:;
2541 }
2542 /* method abstract_compiler$AbstractCompiler$compile_main_function for (self: AbstractCompiler) */
2543 void nitc___nitc__AbstractCompiler___compile_main_function(val* self) {
2544 val* var /* : AbstractCompilerVisitor */;
2545 val* var_v /* var v: AbstractCompilerVisitor */;
2546 static val* varonce;
2547 val* var1 /* : String */;
2548 char* var2 /* : CString */;
2549 val* var3 /* : String */;
2550 val* var4 /* : nullable Int */;
2551 val* var5 /* : nullable Int */;
2552 val* var6 /* : nullable Bool */;
2553 val* var7 /* : nullable Bool */;
2554 val* var8 /* : Platform */;
2555 val* var10 /* : Platform */;
2556 val* var_platform /* var platform: Platform */;
2557 short int var11 /* : Bool */;
2558 short int var12 /* : Bool */;
2559 short int var_ /* var : Bool */;
2560 val* var13 /* : ModelBuilder */;
2561 val* var15 /* : ModelBuilder */;
2562 val* var16 /* : ToolContext */;
2563 val* var18 /* : ToolContext */;
2564 val* var19 /* : OptionBool */;
2565 val* var21 /* : OptionBool */;
2566 val* var22 /* : nullable Object */;
2567 val* var24 /* : nullable Object */;
2568 short int var25 /* : Bool */;
2569 short int var_no_main /* var no_main: Bool */;
2570 short int var26 /* : Bool */;
2571 static val* varonce27;
2572 val* var28 /* : String */;
2573 char* var29 /* : CString */;
2574 val* var30 /* : String */;
2575 val* var31 /* : nullable Int */;
2576 val* var32 /* : nullable Int */;
2577 val* var33 /* : nullable Bool */;
2578 val* var34 /* : nullable Bool */;
2579 static val* varonce35;
2580 val* var36 /* : String */;
2581 char* var37 /* : CString */;
2582 val* var38 /* : String */;
2583 val* var39 /* : nullable Int */;
2584 val* var40 /* : nullable Int */;
2585 val* var41 /* : nullable Bool */;
2586 val* var42 /* : nullable Bool */;
2587 static val* varonce43;
2588 val* var44 /* : String */;
2589 char* var45 /* : CString */;
2590 val* var46 /* : String */;
2591 val* var47 /* : nullable Int */;
2592 val* var48 /* : nullable Int */;
2593 val* var49 /* : nullable Bool */;
2594 val* var50 /* : nullable Bool */;
2595 static val* varonce51;
2596 val* var52 /* : String */;
2597 char* var53 /* : CString */;
2598 val* var54 /* : String */;
2599 val* var55 /* : nullable Int */;
2600 val* var56 /* : nullable Int */;
2601 val* var57 /* : nullable Bool */;
2602 val* var58 /* : nullable Bool */;
2603 static val* varonce59;
2604 val* var60 /* : String */;
2605 char* var61 /* : CString */;
2606 val* var62 /* : String */;
2607 val* var63 /* : nullable Int */;
2608 val* var64 /* : nullable Int */;
2609 val* var65 /* : nullable Bool */;
2610 val* var66 /* : nullable Bool */;
2611 static val* varonce67;
2612 val* var68 /* : String */;
2613 char* var69 /* : CString */;
2614 val* var70 /* : String */;
2615 val* var71 /* : nullable Int */;
2616 val* var72 /* : nullable Int */;
2617 val* var73 /* : nullable Bool */;
2618 val* var74 /* : nullable Bool */;
2619 static val* varonce75;
2620 val* var76 /* : String */;
2621 char* var77 /* : CString */;
2622 val* var78 /* : String */;
2623 val* var79 /* : nullable Int */;
2624 val* var80 /* : nullable Int */;
2625 val* var81 /* : nullable Bool */;
2626 val* var82 /* : nullable Bool */;
2627 static val* varonce83;
2628 val* var84 /* : String */;
2629 char* var85 /* : CString */;
2630 val* var86 /* : String */;
2631 val* var87 /* : nullable Int */;
2632 val* var88 /* : nullable Int */;
2633 val* var89 /* : nullable Bool */;
2634 val* var90 /* : nullable Bool */;
2635 static val* varonce91;
2636 val* var92 /* : String */;
2637 char* var93 /* : CString */;
2638 val* var94 /* : String */;
2639 val* var95 /* : nullable Int */;
2640 val* var96 /* : nullable Int */;
2641 val* var97 /* : nullable Bool */;
2642 val* var98 /* : nullable Bool */;
2643 val* var99 /* : ModelBuilder */;
2644 val* var101 /* : ModelBuilder */;
2645 val* var102 /* : ToolContext */;
2646 val* var104 /* : ToolContext */;
2647 val* var105 /* : OptionBool */;
2648 val* var107 /* : OptionBool */;
2649 val* var108 /* : nullable Object */;
2650 val* var110 /* : nullable Object */;
2651 short int var111 /* : Bool */;
2652 val* var112 /* : Array[String] */;
2653 val* var114 /* : Array[String] */;
2654 val* var_115 /* var : Array[String] */;
2655 val* var116 /* : IndexedIterator[nullable Object] */;
2656 val* var_117 /* var : IndexedIterator[String] */;
2657 short int var118 /* : Bool */;
2658 val* var119 /* : nullable Object */;
2659 val* var_tag /* var tag: String */;
2660 val* var121 /* : NativeArray[String] */;
2661 static val* varonce120;
2662 static val* varonce122;
2663 val* var123 /* : String */;
2664 char* var124 /* : CString */;
2665 val* var125 /* : String */;
2666 val* var126 /* : nullable Int */;
2667 val* var127 /* : nullable Int */;
2668 val* var128 /* : nullable Bool */;
2669 val* var129 /* : nullable Bool */;
2670 static val* varonce130;
2671 val* var131 /* : String */;
2672 char* var132 /* : CString */;
2673 val* var133 /* : String */;
2674 val* var134 /* : nullable Int */;
2675 val* var135 /* : nullable Int */;
2676 val* var136 /* : nullable Bool */;
2677 val* var137 /* : nullable Bool */;
2678 val* var138 /* : String */;
2679 val* var140 /* : NativeArray[String] */;
2680 static val* varonce139;
2681 static val* varonce141;
2682 val* var142 /* : String */;
2683 char* var143 /* : CString */;
2684 val* var144 /* : String */;
2685 val* var145 /* : nullable Int */;
2686 val* var146 /* : nullable Int */;
2687 val* var147 /* : nullable Bool */;
2688 val* var148 /* : nullable Bool */;
2689 static val* varonce149;
2690 val* var150 /* : String */;
2691 char* var151 /* : CString */;
2692 val* var152 /* : String */;
2693 val* var153 /* : nullable Int */;
2694 val* var154 /* : nullable Int */;
2695 val* var155 /* : nullable Bool */;
2696 val* var156 /* : nullable Bool */;
2697 val* var157 /* : String */;
2698 val* var159 /* : NativeArray[String] */;
2699 static val* varonce158;
2700 static val* varonce160;
2701 val* var161 /* : String */;
2702 char* var162 /* : CString */;
2703 val* var163 /* : String */;
2704 val* var164 /* : nullable Int */;
2705 val* var165 /* : nullable Int */;
2706 val* var166 /* : nullable Bool */;
2707 val* var167 /* : nullable Bool */;
2708 static val* varonce168;
2709 val* var169 /* : String */;
2710 char* var170 /* : CString */;
2711 val* var171 /* : String */;
2712 val* var172 /* : nullable Int */;
2713 val* var173 /* : nullable Int */;
2714 val* var174 /* : nullable Bool */;
2715 val* var175 /* : nullable Bool */;
2716 val* var176 /* : String */;
2717 val* var177 /* : AbstractCompiler */;
2718 val* var179 /* : AbstractCompiler */;
2719 val* var180 /* : CodeWriter */;
2720 val* var182 /* : CodeWriter */;
2721 val* var184 /* : NativeArray[String] */;
2722 static val* varonce183;
2723 static val* varonce185;
2724 val* var186 /* : String */;
2725 char* var187 /* : CString */;
2726 val* var188 /* : String */;
2727 val* var189 /* : nullable Int */;
2728 val* var190 /* : nullable Int */;
2729 val* var191 /* : nullable Bool */;
2730 val* var192 /* : nullable Bool */;
2731 static val* varonce193;
2732 val* var194 /* : String */;
2733 char* var195 /* : CString */;
2734 val* var196 /* : String */;
2735 val* var197 /* : nullable Int */;
2736 val* var198 /* : nullable Int */;
2737 val* var199 /* : nullable Bool */;
2738 val* var200 /* : nullable Bool */;
2739 val* var201 /* : String */;
2740 val* var202 /* : AbstractCompiler */;
2741 val* var204 /* : AbstractCompiler */;
2742 val* var205 /* : CodeWriter */;
2743 val* var207 /* : CodeWriter */;
2744 val* var209 /* : NativeArray[String] */;
2745 static val* varonce208;
2746 static val* varonce210;
2747 val* var211 /* : String */;
2748 char* var212 /* : CString */;
2749 val* var213 /* : String */;
2750 val* var214 /* : nullable Int */;
2751 val* var215 /* : nullable Int */;
2752 val* var216 /* : nullable Bool */;
2753 val* var217 /* : nullable Bool */;
2754 static val* varonce218;
2755 val* var219 /* : String */;
2756 char* var220 /* : CString */;
2757 val* var221 /* : String */;
2758 val* var222 /* : nullable Int */;
2759 val* var223 /* : nullable Int */;
2760 val* var224 /* : nullable Bool */;
2761 val* var225 /* : nullable Bool */;
2762 val* var226 /* : String */;
2763 val* var227 /* : AbstractCompiler */;
2764 val* var229 /* : AbstractCompiler */;
2765 val* var230 /* : CodeWriter */;
2766 val* var232 /* : CodeWriter */;
2767 val* var234 /* : NativeArray[String] */;
2768 static val* varonce233;
2769 static val* varonce235;
2770 val* var236 /* : String */;
2771 char* var237 /* : CString */;
2772 val* var238 /* : String */;
2773 val* var239 /* : nullable Int */;
2774 val* var240 /* : nullable Int */;
2775 val* var241 /* : nullable Bool */;
2776 val* var242 /* : nullable Bool */;
2777 static val* varonce243;
2778 val* var244 /* : String */;
2779 char* var245 /* : CString */;
2780 val* var246 /* : String */;
2781 val* var247 /* : nullable Int */;
2782 val* var248 /* : nullable Int */;
2783 val* var249 /* : nullable Bool */;
2784 val* var250 /* : nullable Bool */;
2785 val* var251 /* : String */;
2786 val* var252 /* : ModelBuilder */;
2787 val* var254 /* : ModelBuilder */;
2788 val* var255 /* : ToolContext */;
2789 val* var257 /* : ToolContext */;
2790 val* var258 /* : OptionBool */;
2791 val* var260 /* : OptionBool */;
2792 val* var261 /* : nullable Object */;
2793 val* var263 /* : nullable Object */;
2794 short int var264 /* : Bool */;
2795 static val* varonce265;
2796 val* var266 /* : String */;
2797 char* var267 /* : CString */;
2798 val* var268 /* : String */;
2799 val* var269 /* : nullable Int */;
2800 val* var270 /* : nullable Int */;
2801 val* var271 /* : nullable Bool */;
2802 val* var272 /* : nullable Bool */;
2803 static val* varonce273;
2804 val* var274 /* : String */;
2805 char* var275 /* : CString */;
2806 val* var276 /* : String */;
2807 val* var277 /* : nullable Int */;
2808 val* var278 /* : nullable Int */;
2809 val* var279 /* : nullable Bool */;
2810 val* var280 /* : nullable Bool */;
2811 static val* varonce281;
2812 val* var282 /* : String */;
2813 char* var283 /* : CString */;
2814 val* var284 /* : String */;
2815 val* var285 /* : nullable Int */;
2816 val* var286 /* : nullable Int */;
2817 val* var287 /* : nullable Bool */;
2818 val* var288 /* : nullable Bool */;
2819 val* var289 /* : AbstractCompiler */;
2820 val* var291 /* : AbstractCompiler */;
2821 val* var292 /* : CodeWriter */;
2822 val* var294 /* : CodeWriter */;
2823 static val* varonce295;
2824 val* var296 /* : String */;
2825 char* var297 /* : CString */;
2826 val* var298 /* : String */;
2827 val* var299 /* : nullable Int */;
2828 val* var300 /* : nullable Int */;
2829 val* var301 /* : nullable Bool */;
2830 val* var302 /* : nullable Bool */;
2831 val* var303 /* : AbstractCompiler */;
2832 val* var305 /* : AbstractCompiler */;
2833 val* var306 /* : CodeWriter */;
2834 val* var308 /* : CodeWriter */;
2835 static val* varonce309;
2836 val* var310 /* : String */;
2837 char* var311 /* : CString */;
2838 val* var312 /* : String */;
2839 val* var313 /* : nullable Int */;
2840 val* var314 /* : nullable Int */;
2841 val* var315 /* : nullable Bool */;
2842 val* var316 /* : nullable Bool */;
2843 val* var317 /* : AbstractCompiler */;
2844 val* var319 /* : AbstractCompiler */;
2845 val* var320 /* : CodeWriter */;
2846 val* var322 /* : CodeWriter */;
2847 static val* varonce323;
2848 val* var324 /* : String */;
2849 char* var325 /* : CString */;
2850 val* var326 /* : String */;
2851 val* var327 /* : nullable Int */;
2852 val* var328 /* : nullable Int */;
2853 val* var329 /* : nullable Bool */;
2854 val* var330 /* : nullable Bool */;
2855 val* var331 /* : ModelBuilder */;
2856 val* var333 /* : ModelBuilder */;
2857 val* var334 /* : ToolContext */;
2858 val* var336 /* : ToolContext */;
2859 val* var337 /* : OptionBool */;
2860 val* var339 /* : OptionBool */;
2861 val* var340 /* : nullable Object */;
2862 val* var342 /* : nullable Object */;
2863 short int var343 /* : Bool */;
2864 static val* varonce344;
2865 val* var345 /* : String */;
2866 char* var346 /* : CString */;
2867 val* var347 /* : String */;
2868 val* var348 /* : nullable Int */;
2869 val* var349 /* : nullable Int */;
2870 val* var350 /* : nullable Bool */;
2871 val* var351 /* : nullable Bool */;
2872 static val* varonce352;
2873 val* var353 /* : String */;
2874 char* var354 /* : CString */;
2875 val* var355 /* : String */;
2876 val* var356 /* : nullable Int */;
2877 val* var357 /* : nullable Int */;
2878 val* var358 /* : nullable Bool */;
2879 val* var359 /* : nullable Bool */;
2880 val* var360 /* : AbstractCompiler */;
2881 val* var362 /* : AbstractCompiler */;
2882 val* var363 /* : CodeWriter */;
2883 val* var365 /* : CodeWriter */;
2884 static val* varonce366;
2885 val* var367 /* : String */;
2886 char* var368 /* : CString */;
2887 val* var369 /* : String */;
2888 val* var370 /* : nullable Int */;
2889 val* var371 /* : nullable Int */;
2890 val* var372 /* : nullable Bool */;
2891 val* var373 /* : nullable Bool */;
2892 val* var374 /* : AbstractCompiler */;
2893 val* var376 /* : AbstractCompiler */;
2894 val* var377 /* : CodeWriter */;
2895 val* var379 /* : CodeWriter */;
2896 static val* varonce380;
2897 val* var381 /* : String */;
2898 char* var382 /* : CString */;
2899 val* var383 /* : String */;
2900 val* var384 /* : nullable Int */;
2901 val* var385 /* : nullable Int */;
2902 val* var386 /* : nullable Bool */;
2903 val* var387 /* : nullable Bool */;
2904 static val* varonce388;
2905 val* var389 /* : String */;
2906 char* var390 /* : CString */;
2907 val* var391 /* : String */;
2908 val* var392 /* : nullable Int */;
2909 val* var393 /* : nullable Int */;
2910 val* var394 /* : nullable Bool */;
2911 val* var395 /* : nullable Bool */;
2912 short int var396 /* : Bool */;
2913 static val* varonce397;
2914 val* var398 /* : String */;
2915 char* var399 /* : CString */;
2916 val* var400 /* : String */;
2917 val* var401 /* : nullable Int */;
2918 val* var402 /* : nullable Int */;
2919 val* var403 /* : nullable Bool */;
2920 val* var404 /* : nullable Bool */;
2921 static val* varonce405;
2922 val* var406 /* : String */;
2923 char* var407 /* : CString */;
2924 val* var408 /* : String */;
2925 val* var409 /* : nullable Int */;
2926 val* var410 /* : nullable Int */;
2927 val* var411 /* : nullable Bool */;
2928 val* var412 /* : nullable Bool */;
2929 static val* varonce413;
2930 val* var414 /* : String */;
2931 char* var415 /* : CString */;
2932 val* var416 /* : String */;
2933 val* var417 /* : nullable Int */;
2934 val* var418 /* : nullable Int */;
2935 val* var419 /* : nullable Bool */;
2936 val* var420 /* : nullable Bool */;
2937 static val* varonce421;
2938 val* var422 /* : String */;
2939 char* var423 /* : CString */;
2940 val* var424 /* : String */;
2941 val* var425 /* : nullable Int */;
2942 val* var426 /* : nullable Int */;
2943 val* var427 /* : nullable Bool */;
2944 val* var428 /* : nullable Bool */;
2945 static val* varonce429;
2946 val* var430 /* : String */;
2947 char* var431 /* : CString */;
2948 val* var432 /* : String */;
2949 val* var433 /* : nullable Int */;
2950 val* var434 /* : nullable Int */;
2951 val* var435 /* : nullable Bool */;
2952 val* var436 /* : nullable Bool */;
2953 static val* varonce437;
2954 val* var438 /* : String */;
2955 char* var439 /* : CString */;
2956 val* var440 /* : String */;
2957 val* var441 /* : nullable Int */;
2958 val* var442 /* : nullable Int */;
2959 val* var443 /* : nullable Bool */;
2960 val* var444 /* : nullable Bool */;
2961 static val* varonce445;
2962 val* var446 /* : String */;
2963 char* var447 /* : CString */;
2964 val* var448 /* : String */;
2965 val* var449 /* : nullable Int */;
2966 val* var450 /* : nullable Int */;
2967 val* var451 /* : nullable Bool */;
2968 val* var452 /* : nullable Bool */;
2969 static val* varonce453;
2970 val* var454 /* : String */;
2971 char* var455 /* : CString */;
2972 val* var456 /* : String */;
2973 val* var457 /* : nullable Int */;
2974 val* var458 /* : nullable Int */;
2975 val* var459 /* : nullable Bool */;
2976 val* var460 /* : nullable Bool */;
2977 static val* varonce461;
2978 val* var462 /* : String */;
2979 char* var463 /* : CString */;
2980 val* var464 /* : String */;
2981 val* var465 /* : nullable Int */;
2982 val* var466 /* : nullable Int */;
2983 val* var467 /* : nullable Bool */;
2984 val* var468 /* : nullable Bool */;
2985 static val* varonce469;
2986 val* var470 /* : String */;
2987 char* var471 /* : CString */;
2988 val* var472 /* : String */;
2989 val* var473 /* : nullable Int */;
2990 val* var474 /* : nullable Int */;
2991 val* var475 /* : nullable Bool */;
2992 val* var476 /* : nullable Bool */;
2993 static val* varonce477;
2994 val* var478 /* : String */;
2995 char* var479 /* : CString */;
2996 val* var480 /* : String */;
2997 val* var481 /* : nullable Int */;
2998 val* var482 /* : nullable Int */;
2999 val* var483 /* : nullable Bool */;
3000 val* var484 /* : nullable Bool */;
3001 static val* varonce485;
3002 val* var486 /* : String */;
3003 char* var487 /* : CString */;
3004 val* var488 /* : String */;
3005 val* var489 /* : nullable Int */;
3006 val* var490 /* : nullable Int */;
3007 val* var491 /* : nullable Bool */;
3008 val* var492 /* : nullable Bool */;
3009 static val* varonce493;
3010 val* var494 /* : String */;
3011 char* var495 /* : CString */;
3012 val* var496 /* : String */;
3013 val* var497 /* : nullable Int */;
3014 val* var498 /* : nullable Int */;
3015 val* var499 /* : nullable Bool */;
3016 val* var500 /* : nullable Bool */;
3017 static val* varonce501;
3018 val* var502 /* : String */;
3019 char* var503 /* : CString */;
3020 val* var504 /* : String */;
3021 val* var505 /* : nullable Int */;
3022 val* var506 /* : nullable Int */;
3023 val* var507 /* : nullable Bool */;
3024 val* var508 /* : nullable Bool */;
3025 static val* varonce509;
3026 val* var510 /* : String */;
3027 char* var511 /* : CString */;
3028 val* var512 /* : String */;
3029 val* var513 /* : nullable Int */;
3030 val* var514 /* : nullable Int */;
3031 val* var515 /* : nullable Bool */;
3032 val* var516 /* : nullable Bool */;
3033 static val* varonce517;
3034 val* var518 /* : String */;
3035 char* var519 /* : CString */;
3036 val* var520 /* : String */;
3037 val* var521 /* : nullable Int */;
3038 val* var522 /* : nullable Int */;
3039 val* var523 /* : nullable Bool */;
3040 val* var524 /* : nullable Bool */;
3041 static val* varonce525;
3042 val* var526 /* : String */;
3043 char* var527 /* : CString */;
3044 val* var528 /* : String */;
3045 val* var529 /* : nullable Int */;
3046 val* var530 /* : nullable Int */;
3047 val* var531 /* : nullable Bool */;
3048 val* var532 /* : nullable Bool */;
3049 static val* varonce533;
3050 val* var534 /* : String */;
3051 char* var535 /* : CString */;
3052 val* var536 /* : String */;
3053 val* var537 /* : nullable Int */;
3054 val* var538 /* : nullable Int */;
3055 val* var539 /* : nullable Bool */;
3056 val* var540 /* : nullable Bool */;
3057 static val* varonce541;
3058 val* var542 /* : String */;
3059 char* var543 /* : CString */;
3060 val* var544 /* : String */;
3061 val* var545 /* : nullable Int */;
3062 val* var546 /* : nullable Int */;
3063 val* var547 /* : nullable Bool */;
3064 val* var548 /* : nullable Bool */;
3065 static val* varonce549;
3066 val* var550 /* : String */;
3067 char* var551 /* : CString */;
3068 val* var552 /* : String */;
3069 val* var553 /* : nullable Int */;
3070 val* var554 /* : nullable Int */;
3071 val* var555 /* : nullable Bool */;
3072 val* var556 /* : nullable Bool */;
3073 static val* varonce557;
3074 val* var558 /* : String */;
3075 char* var559 /* : CString */;
3076 val* var560 /* : String */;
3077 val* var561 /* : nullable Int */;
3078 val* var562 /* : nullable Int */;
3079 val* var563 /* : nullable Bool */;
3080 val* var564 /* : nullable Bool */;
3081 static val* varonce565;
3082 val* var566 /* : String */;
3083 char* var567 /* : CString */;
3084 val* var568 /* : String */;
3085 val* var569 /* : nullable Int */;
3086 val* var570 /* : nullable Int */;
3087 val* var571 /* : nullable Bool */;
3088 val* var572 /* : nullable Bool */;
3089 static val* varonce573;
3090 val* var574 /* : String */;
3091 char* var575 /* : CString */;
3092 val* var576 /* : String */;
3093 val* var577 /* : nullable Int */;
3094 val* var578 /* : nullable Int */;
3095 val* var579 /* : nullable Bool */;
3096 val* var580 /* : nullable Bool */;
3097 static val* varonce581;
3098 val* var582 /* : String */;
3099 char* var583 /* : CString */;
3100 val* var584 /* : String */;
3101 val* var585 /* : nullable Int */;
3102 val* var586 /* : nullable Int */;
3103 val* var587 /* : nullable Bool */;
3104 val* var588 /* : nullable Bool */;
3105 static val* varonce589;
3106 val* var590 /* : String */;
3107 char* var591 /* : CString */;
3108 val* var592 /* : String */;
3109 val* var593 /* : nullable Int */;
3110 val* var594 /* : nullable Int */;
3111 val* var595 /* : nullable Bool */;
3112 val* var596 /* : nullable Bool */;
3113 static val* varonce597;
3114 val* var598 /* : String */;
3115 char* var599 /* : CString */;
3116 val* var600 /* : String */;
3117 val* var601 /* : nullable Int */;
3118 val* var602 /* : nullable Int */;
3119 val* var603 /* : nullable Bool */;
3120 val* var604 /* : nullable Bool */;
3121 static val* varonce605;
3122 val* var606 /* : String */;
3123 char* var607 /* : CString */;
3124 val* var608 /* : String */;
3125 val* var609 /* : nullable Int */;
3126 val* var610 /* : nullable Int */;
3127 val* var611 /* : nullable Bool */;
3128 val* var612 /* : nullable Bool */;
3129 static val* varonce613;
3130 val* var614 /* : String */;
3131 char* var615 /* : CString */;
3132 val* var616 /* : String */;
3133 val* var617 /* : nullable Int */;
3134 val* var618 /* : nullable Int */;
3135 val* var619 /* : nullable Bool */;
3136 val* var620 /* : nullable Bool */;
3137 static val* varonce621;
3138 val* var622 /* : String */;
3139 char* var623 /* : CString */;
3140 val* var624 /* : String */;
3141 val* var625 /* : nullable Int */;
3142 val* var626 /* : nullable Int */;
3143 val* var627 /* : nullable Bool */;
3144 val* var628 /* : nullable Bool */;
3145 static val* varonce629;
3146 val* var630 /* : String */;
3147 char* var631 /* : CString */;
3148 val* var632 /* : String */;
3149 val* var633 /* : nullable Int */;
3150 val* var634 /* : nullable Int */;
3151 val* var635 /* : nullable Bool */;
3152 val* var636 /* : nullable Bool */;
3153 static val* varonce637;
3154 val* var638 /* : String */;
3155 char* var639 /* : CString */;
3156 val* var640 /* : String */;
3157 val* var641 /* : nullable Int */;
3158 val* var642 /* : nullable Int */;
3159 val* var643 /* : nullable Bool */;
3160 val* var644 /* : nullable Bool */;
3161 static val* varonce645;
3162 val* var646 /* : String */;
3163 char* var647 /* : CString */;
3164 val* var648 /* : String */;
3165 val* var649 /* : nullable Int */;
3166 val* var650 /* : nullable Int */;
3167 val* var651 /* : nullable Bool */;
3168 val* var652 /* : nullable Bool */;
3169 static val* varonce653;
3170 val* var654 /* : String */;
3171 char* var655 /* : CString */;
3172 val* var656 /* : String */;
3173 val* var657 /* : nullable Int */;
3174 val* var658 /* : nullable Int */;
3175 val* var659 /* : nullable Bool */;
3176 val* var660 /* : nullable Bool */;
3177 static val* varonce661;
3178 val* var662 /* : String */;
3179 char* var663 /* : CString */;
3180 val* var664 /* : String */;
3181 val* var665 /* : nullable Int */;
3182 val* var666 /* : nullable Int */;
3183 val* var667 /* : nullable Bool */;
3184 val* var668 /* : nullable Bool */;
3185 static val* varonce669;
3186 val* var670 /* : String */;
3187 char* var671 /* : CString */;
3188 val* var672 /* : String */;
3189 val* var673 /* : nullable Int */;
3190 val* var674 /* : nullable Int */;
3191 val* var675 /* : nullable Bool */;
3192 val* var676 /* : nullable Bool */;
3193 static val* varonce677;
3194 val* var678 /* : String */;
3195 char* var679 /* : CString */;
3196 val* var680 /* : String */;
3197 val* var681 /* : nullable Int */;
3198 val* var682 /* : nullable Int */;
3199 val* var683 /* : nullable Bool */;
3200 val* var684 /* : nullable Bool */;
3201 static val* varonce685;
3202 val* var686 /* : String */;
3203 char* var687 /* : CString */;
3204 val* var688 /* : String */;
3205 val* var689 /* : nullable Int */;
3206 val* var690 /* : nullable Int */;
3207 val* var691 /* : nullable Bool */;
3208 val* var692 /* : nullable Bool */;
3209 static val* varonce693;
3210 val* var694 /* : String */;
3211 char* var695 /* : CString */;
3212 val* var696 /* : String */;
3213 val* var697 /* : nullable Int */;
3214 val* var698 /* : nullable Int */;
3215 val* var699 /* : nullable Bool */;
3216 val* var700 /* : nullable Bool */;
3217 static val* varonce701;
3218 val* var702 /* : String */;
3219 char* var703 /* : CString */;
3220 val* var704 /* : String */;
3221 val* var705 /* : nullable Int */;
3222 val* var706 /* : nullable Int */;
3223 val* var707 /* : nullable Bool */;
3224 val* var708 /* : nullable Bool */;
3225 static val* varonce709;
3226 val* var710 /* : String */;
3227 char* var711 /* : CString */;
3228 val* var712 /* : String */;
3229 val* var713 /* : nullable Int */;
3230 val* var714 /* : nullable Int */;
3231 val* var715 /* : nullable Bool */;
3232 val* var716 /* : nullable Bool */;
3233 static val* varonce717;
3234 val* var718 /* : String */;
3235 char* var719 /* : CString */;
3236 val* var720 /* : String */;
3237 val* var721 /* : nullable Int */;
3238 val* var722 /* : nullable Int */;
3239 val* var723 /* : nullable Bool */;
3240 val* var724 /* : nullable Bool */;
3241 static val* varonce725;
3242 val* var726 /* : String */;
3243 char* var727 /* : CString */;
3244 val* var728 /* : String */;
3245 val* var729 /* : nullable Int */;
3246 val* var730 /* : nullable Int */;
3247 val* var731 /* : nullable Bool */;
3248 val* var732 /* : nullable Bool */;
3249 short int var734 /* : Bool */;
3250 int cltype;
3251 int idtype;
3252 const struct type* type_struct;
3253 const char* var_class_name;
3254 val* var_v735 /* var v: AbstractCompilerVisitor */;
3255 static val* varonce736;
3256 val* var737 /* : String */;
3257 char* var738 /* : CString */;
3258 val* var739 /* : String */;
3259 val* var740 /* : nullable Int */;
3260 val* var741 /* : nullable Int */;
3261 val* var742 /* : nullable Bool */;
3262 val* var743 /* : nullable Bool */;
3263 static val* varonce744;
3264 val* var745 /* : String */;
3265 char* var746 /* : CString */;
3266 val* var747 /* : String */;
3267 val* var748 /* : nullable Int */;
3268 val* var749 /* : nullable Int */;
3269 val* var750 /* : nullable Bool */;
3270 val* var751 /* : nullable Bool */;
3271 short int var753 /* : Bool */;
3272 int cltype754;
3273 int idtype755;
3274 const struct type* type_struct756;
3275 const char* var_class_name757;
3276 val* var_v758 /* var v: AbstractCompilerVisitor */;
3277 static val* varonce759;
3278 val* var760 /* : String */;
3279 char* var761 /* : CString */;
3280 val* var762 /* : String */;
3281 val* var763 /* : nullable Int */;
3282 val* var764 /* : nullable Int */;
3283 val* var765 /* : nullable Bool */;
3284 val* var766 /* : nullable Bool */;
3285 static val* varonce767;
3286 val* var768 /* : String */;
3287 char* var769 /* : CString */;
3288 val* var770 /* : String */;
3289 val* var771 /* : nullable Int */;
3290 val* var772 /* : nullable Int */;
3291 val* var773 /* : nullable Bool */;
3292 val* var774 /* : nullable Bool */;
3293 static val* varonce775;
3294 val* var776 /* : String */;
3295 char* var777 /* : CString */;
3296 val* var778 /* : String */;
3297 val* var779 /* : nullable Int */;
3298 val* var780 /* : nullable Int */;
3299 val* var781 /* : nullable Bool */;
3300 val* var782 /* : nullable Bool */;
3301 static val* varonce783;
3302 val* var784 /* : String */;
3303 char* var785 /* : CString */;
3304 val* var786 /* : String */;
3305 val* var787 /* : nullable Int */;
3306 val* var788 /* : nullable Int */;
3307 val* var789 /* : nullable Bool */;
3308 val* var790 /* : nullable Bool */;
3309 static val* varonce791;
3310 val* var792 /* : String */;
3311 char* var793 /* : CString */;
3312 val* var794 /* : String */;
3313 val* var795 /* : nullable Int */;
3314 val* var796 /* : nullable Int */;
3315 val* var797 /* : nullable Bool */;
3316 val* var798 /* : nullable Bool */;
3317 static val* varonce799;
3318 val* var800 /* : String */;
3319 char* var801 /* : CString */;
3320 val* var802 /* : String */;
3321 val* var803 /* : nullable Int */;
3322 val* var804 /* : nullable Int */;
3323 val* var805 /* : nullable Bool */;
3324 val* var806 /* : nullable Bool */;
3325 static val* varonce807;
3326 val* var808 /* : String */;
3327 char* var809 /* : CString */;
3328 val* var810 /* : String */;
3329 val* var811 /* : nullable Int */;
3330 val* var812 /* : nullable Int */;
3331 val* var813 /* : nullable Bool */;
3332 val* var814 /* : nullable Bool */;
3333 static val* varonce815;
3334 val* var816 /* : String */;
3335 char* var817 /* : CString */;
3336 val* var818 /* : String */;
3337 val* var819 /* : nullable Int */;
3338 val* var820 /* : nullable Int */;
3339 val* var821 /* : nullable Bool */;
3340 val* var822 /* : nullable Bool */;
3341 static val* varonce823;
3342 val* var824 /* : String */;
3343 char* var825 /* : CString */;
3344 val* var826 /* : String */;
3345 val* var827 /* : nullable Int */;
3346 val* var828 /* : nullable Int */;
3347 val* var829 /* : nullable Bool */;
3348 val* var830 /* : nullable Bool */;
3349 static val* varonce831;
3350 val* var832 /* : String */;
3351 char* var833 /* : CString */;
3352 val* var834 /* : String */;
3353 val* var835 /* : nullable Int */;
3354 val* var836 /* : nullable Int */;
3355 val* var837 /* : nullable Bool */;
3356 val* var838 /* : nullable Bool */;
3357 static val* varonce839;
3358 val* var840 /* : String */;
3359 char* var841 /* : CString */;
3360 val* var842 /* : String */;
3361 val* var843 /* : nullable Int */;
3362 val* var844 /* : nullable Int */;
3363 val* var845 /* : nullable Bool */;
3364 val* var846 /* : nullable Bool */;
3365 static val* varonce847;
3366 val* var848 /* : String */;
3367 char* var849 /* : CString */;
3368 val* var850 /* : String */;
3369 val* var851 /* : nullable Int */;
3370 val* var852 /* : nullable Int */;
3371 val* var853 /* : nullable Bool */;
3372 val* var854 /* : nullable Bool */;
3373 static val* varonce855;
3374 val* var856 /* : String */;
3375 char* var857 /* : CString */;
3376 val* var858 /* : String */;
3377 val* var859 /* : nullable Int */;
3378 val* var860 /* : nullable Int */;
3379 val* var861 /* : nullable Bool */;
3380 val* var862 /* : nullable Bool */;
3381 static val* varonce863;
3382 val* var864 /* : String */;
3383 char* var865 /* : CString */;
3384 val* var866 /* : String */;
3385 val* var867 /* : nullable Int */;
3386 val* var868 /* : nullable Int */;
3387 val* var869 /* : nullable Bool */;
3388 val* var870 /* : nullable Bool */;
3389 static val* varonce871;
3390 val* var872 /* : String */;
3391 char* var873 /* : CString */;
3392 val* var874 /* : String */;
3393 val* var875 /* : nullable Int */;
3394 val* var876 /* : nullable Int */;
3395 val* var877 /* : nullable Bool */;
3396 val* var878 /* : nullable Bool */;
3397 val* var879 /* : MModule */;
3398 val* var881 /* : MModule */;
3399 val* var882 /* : nullable MClassType */;
3400 val* var_main_type /* var main_type: nullable MClassType */;
3401 short int var883 /* : Bool */;
3402 short int var884 /* : Bool */;
3403 val* var_other /* var other: nullable Object */;
3404 short int var886 /* : Bool */;
3405 short int var887 /* : Bool */;
3406 val* var888 /* : AbstractCompiler */;
3407 val* var890 /* : AbstractCompiler */;
3408 val* var891 /* : MModule */;
3409 val* var893 /* : MModule */;
3410 val* var_mainmodule /* var mainmodule: MModule */;
3411 val* var894 /* : RuntimeVariable */;
3412 val* var_glob_sys /* var glob_sys: RuntimeVariable */;
3413 val* var896 /* : NativeArray[String] */;
3414 static val* varonce895;
3415 static val* varonce897;
3416 val* var898 /* : String */;
3417 char* var899 /* : CString */;
3418 val* var900 /* : String */;
3419 val* var901 /* : nullable Int */;
3420 val* var902 /* : nullable Int */;
3421 val* var903 /* : nullable Bool */;
3422 val* var904 /* : nullable Bool */;
3423 static val* varonce905;
3424 val* var906 /* : String */;
3425 char* var907 /* : CString */;
3426 val* var908 /* : String */;
3427 val* var909 /* : nullable Int */;
3428 val* var910 /* : nullable Int */;
3429 val* var911 /* : nullable Bool */;
3430 val* var912 /* : nullable Bool */;
3431 val* var913 /* : String */;
3432 val* var914 /* : String */;
3433 static val* varonce915;
3434 val* var916 /* : String */;
3435 char* var917 /* : CString */;
3436 val* var918 /* : String */;
3437 val* var919 /* : nullable Int */;
3438 val* var920 /* : nullable Int */;
3439 val* var921 /* : nullable Bool */;
3440 val* var922 /* : nullable Bool */;
3441 val* var923 /* : MClass */;
3442 val* var925 /* : MClass */;
3443 val* var926 /* : nullable MMethod */;
3444 val* var_main_init /* var main_init: nullable MMethod */;
3445 short int var927 /* : Bool */;
3446 short int var928 /* : Bool */;
3447 short int var930 /* : Bool */;
3448 short int var931 /* : Bool */;
3449 val* var932 /* : Array[RuntimeVariable] */;
3450 val* var_933 /* var : Array[RuntimeVariable] */;
3451 val* var934 /* : nullable RuntimeVariable */;
3452 val* var935 /* : nullable MMethod */;
3453 static val* varonce936;
3454 val* var937 /* : String */;
3455 char* var938 /* : CString */;
3456 val* var939 /* : String */;
3457 val* var940 /* : nullable Int */;
3458 val* var941 /* : nullable Int */;
3459 val* var942 /* : nullable Bool */;
3460 val* var943 /* : nullable Bool */;
3461 val* var944 /* : MClass */;
3462 val* var946 /* : MClass */;
3463 val* var947 /* : nullable MMethod */;
3464 static val* varonce948;
3465 val* var949 /* : String */;
3466 char* var950 /* : CString */;
3467 val* var951 /* : String */;
3468 val* var952 /* : nullable Int */;
3469 val* var953 /* : nullable Int */;
3470 val* var954 /* : nullable Bool */;
3471 val* var955 /* : nullable Bool */;
3472 val* var956 /* : MClass */;
3473 val* var958 /* : MClass */;
3474 val* var959 /* : nullable MMethod */;
3475 val* var_main_method /* var main_method: nullable MMethod */;
3476 short int var960 /* : Bool */;
3477 short int var961 /* : Bool */;
3478 short int var963 /* : Bool */;
3479 short int var964 /* : Bool */;
3480 val* var965 /* : Array[RuntimeVariable] */;
3481 val* var_966 /* var : Array[RuntimeVariable] */;
3482 val* var967 /* : nullable RuntimeVariable */;
3483 val* var968 /* : ModelBuilder */;
3484 val* var970 /* : ModelBuilder */;
3485 val* var971 /* : ToolContext */;
3486 val* var973 /* : ToolContext */;
3487 val* var974 /* : OptionBool */;
3488 val* var976 /* : OptionBool */;
3489 val* var977 /* : nullable Object */;
3490 val* var979 /* : nullable Object */;
3491 short int var980 /* : Bool */;
3492 static val* varonce981;
3493 val* var982 /* : String */;
3494 char* var983 /* : CString */;
3495 val* var984 /* : String */;
3496 val* var985 /* : nullable Int */;
3497 val* var986 /* : nullable Int */;
3498 val* var987 /* : nullable Bool */;
3499 val* var988 /* : nullable Bool */;
3500 static val* varonce989;
3501 val* var990 /* : String */;
3502 char* var991 /* : CString */;
3503 val* var992 /* : String */;
3504 val* var993 /* : nullable Int */;
3505 val* var994 /* : nullable Int */;
3506 val* var995 /* : nullable Bool */;
3507 val* var996 /* : nullable Bool */;
3508 static val* varonce997;
3509 val* var998 /* : String */;
3510 char* var999 /* : CString */;
3511 val* var1000 /* : String */;
3512 val* var1001 /* : nullable Int */;
3513 val* var1002 /* : nullable Int */;
3514 val* var1003 /* : nullable Bool */;
3515 val* var1004 /* : nullable Bool */;
3516 static val* varonce1005;
3517 val* var1006 /* : String */;
3518 char* var1007 /* : CString */;
3519 val* var1008 /* : String */;
3520 val* var1009 /* : nullable Int */;
3521 val* var1010 /* : nullable Int */;
3522 val* var1011 /* : nullable Bool */;
3523 val* var1012 /* : nullable Bool */;
3524 val* var1013 /* : Array[String] */;
3525 val* var1015 /* : Array[String] */;
3526 val* var_1016 /* var : Array[String] */;
3527 val* var1017 /* : IndexedIterator[nullable Object] */;
3528 val* var_1018 /* var : IndexedIterator[String] */;
3529 short int var1019 /* : Bool */;
3530 val* var1021 /* : nullable Object */;
3531 val* var_tag1022 /* var tag: String */;
3532 val* var1024 /* : NativeArray[String] */;
3533 static val* varonce1023;
3534 static val* varonce1025;
3535 val* var1026 /* : String */;
3536 char* var1027 /* : CString */;
3537 val* var1028 /* : String */;
3538 val* var1029 /* : nullable Int */;
3539 val* var1030 /* : nullable Int */;
3540 val* var1031 /* : nullable Bool */;
3541 val* var1032 /* : nullable Bool */;
3542 static val* varonce1033;
3543 val* var1034 /* : String */;
3544 char* var1035 /* : CString */;
3545 val* var1036 /* : String */;
3546 val* var1037 /* : nullable Int */;
3547 val* var1038 /* : nullable Int */;
3548 val* var1039 /* : nullable Bool */;
3549 val* var1040 /* : nullable Bool */;
3550 val* var1041 /* : String */;
3551 val* var1043 /* : NativeArray[String] */;
3552 static val* varonce1042;
3553 static val* varonce1044;
3554 val* var1045 /* : String */;
3555 char* var1046 /* : CString */;
3556 val* var1047 /* : String */;
3557 val* var1048 /* : nullable Int */;
3558 val* var1049 /* : nullable Int */;
3559 val* var1050 /* : nullable Bool */;
3560 val* var1051 /* : nullable Bool */;
3561 static val* varonce1052;
3562 val* var1053 /* : String */;
3563 char* var1054 /* : CString */;
3564 val* var1055 /* : String */;
3565 val* var1056 /* : nullable Int */;
3566 val* var1057 /* : nullable Int */;
3567 val* var1058 /* : nullable Bool */;
3568 val* var1059 /* : nullable Bool */;
3569 static val* varonce1060;
3570 val* var1061 /* : String */;
3571 char* var1062 /* : CString */;
3572 val* var1063 /* : String */;
3573 val* var1064 /* : nullable Int */;
3574 val* var1065 /* : nullable Int */;
3575 val* var1066 /* : nullable Bool */;
3576 val* var1067 /* : nullable Bool */;
3577 static val* varonce1068;
3578 val* var1069 /* : String */;
3579 char* var1070 /* : CString */;
3580 val* var1071 /* : String */;
3581 val* var1072 /* : nullable Int */;
3582 val* var1073 /* : nullable Int */;
3583 val* var1074 /* : nullable Bool */;
3584 val* var1075 /* : nullable Bool */;
3585 static val* varonce1076;
3586 val* var1077 /* : String */;
3587 char* var1078 /* : CString */;
3588 val* var1079 /* : String */;
3589 val* var1080 /* : nullable Int */;
3590 val* var1081 /* : nullable Int */;
3591 val* var1082 /* : nullable Bool */;
3592 val* var1083 /* : nullable Bool */;
3593 val* var1084 /* : String */;
3594 val* var1086 /* : NativeArray[String] */;
3595 static val* varonce1085;
3596 static val* varonce1087;
3597 val* var1088 /* : String */;
3598 char* var1089 /* : CString */;
3599 val* var1090 /* : String */;
3600 val* var1091 /* : nullable Int */;
3601 val* var1092 /* : nullable Int */;
3602 val* var1093 /* : nullable Bool */;
3603 val* var1094 /* : nullable Bool */;
3604 static val* varonce1095;
3605 val* var1096 /* : String */;
3606 char* var1097 /* : CString */;
3607 val* var1098 /* : String */;
3608 val* var1099 /* : nullable Int */;
3609 val* var1100 /* : nullable Int */;
3610 val* var1101 /* : nullable Bool */;
3611 val* var1102 /* : nullable Bool */;
3612 val* var1103 /* : String */;
3613 val* var1105 /* : NativeArray[String] */;
3614 static val* varonce1104;
3615 static val* varonce1106;
3616 val* var1107 /* : String */;
3617 char* var1108 /* : CString */;
3618 val* var1109 /* : String */;
3619 val* var1110 /* : nullable Int */;
3620 val* var1111 /* : nullable Int */;
3621 val* var1112 /* : nullable Bool */;
3622 val* var1113 /* : nullable Bool */;
3623 static val* varonce1114;
3624 val* var1115 /* : String */;
3625 char* var1116 /* : CString */;
3626 val* var1117 /* : String */;
3627 val* var1118 /* : nullable Int */;
3628 val* var1119 /* : nullable Int */;
3629 val* var1120 /* : nullable Bool */;
3630 val* var1121 /* : nullable Bool */;
3631 val* var1122 /* : String */;
3632 val* var1124 /* : NativeArray[String] */;
3633 static val* varonce1123;
3634 static val* varonce1125;
3635 val* var1126 /* : String */;
3636 char* var1127 /* : CString */;
3637 val* var1128 /* : String */;
3638 val* var1129 /* : nullable Int */;
3639 val* var1130 /* : nullable Int */;
3640 val* var1131 /* : nullable Bool */;
3641 val* var1132 /* : nullable Bool */;
3642 static val* varonce1133;
3643 val* var1134 /* : String */;
3644 char* var1135 /* : CString */;
3645 val* var1136 /* : String */;
3646 val* var1137 /* : nullable Int */;
3647 val* var1138 /* : nullable Int */;
3648 val* var1139 /* : nullable Bool */;
3649 val* var1140 /* : nullable Bool */;
3650 val* var1141 /* : String */;
3651 val* var1143 /* : NativeArray[String] */;
3652 static val* varonce1142;
3653 static val* varonce1144;
3654 val* var1145 /* : String */;
3655 char* var1146 /* : CString */;
3656 val* var1147 /* : String */;
3657 val* var1148 /* : nullable Int */;
3658 val* var1149 /* : nullable Int */;
3659 val* var1150 /* : nullable Bool */;
3660 val* var1151 /* : nullable Bool */;
3661 static val* varonce1152;
3662 val* var1153 /* : String */;
3663 char* var1154 /* : CString */;
3664 val* var1155 /* : String */;
3665 val* var1156 /* : nullable Int */;
3666 val* var1157 /* : nullable Int */;
3667 val* var1158 /* : nullable Bool */;
3668 val* var1159 /* : nullable Bool */;
3669 val* var1160 /* : String */;
3670 static val* varonce1161;
3671 val* var1162 /* : String */;
3672 char* var1163 /* : CString */;
3673 val* var1164 /* : String */;
3674 val* var1165 /* : nullable Int */;
3675 val* var1166 /* : nullable Int */;
3676 val* var1167 /* : nullable Bool */;
3677 val* var1168 /* : nullable Bool */;
3678 static val* varonce1169;
3679 val* var1170 /* : String */;
3680 char* var1171 /* : CString */;
3681 val* var1172 /* : String */;
3682 val* var1173 /* : nullable Int */;
3683 val* var1174 /* : nullable Int */;
3684 val* var1175 /* : nullable Bool */;
3685 val* var1176 /* : nullable Bool */;
3686 val* var1177 /* : Array[String] */;
3687 val* var1179 /* : Array[String] */;
3688 val* var1180 /* : Array[nullable Object] */;
3689 val* var_tags /* var tags: Array[String] */;
3690 static val* varonce1181;
3691 val* var1182 /* : String */;
3692 char* var1183 /* : CString */;
3693 val* var1184 /* : String */;
3694 val* var1185 /* : nullable Int */;
3695 val* var1186 /* : nullable Int */;
3696 val* var1187 /* : nullable Bool */;
3697 val* var1188 /* : nullable Bool */;
3698 val* var_1189 /* var : Array[String] */;
3699 val* var1190 /* : IndexedIterator[nullable Object] */;
3700 val* var_1191 /* var : IndexedIterator[String] */;
3701 short int var1192 /* : Bool */;
3702 val* var1194 /* : nullable Object */;
3703 val* var_tag1195 /* var tag: String */;
3704 val* var1197 /* : NativeArray[String] */;
3705 static val* varonce1196;
3706 static val* varonce1198;
3707 val* var1199 /* : String */;
3708 char* var1200 /* : CString */;
3709 val* var1201 /* : String */;
3710 val* var1202 /* : nullable Int */;
3711 val* var1203 /* : nullable Int */;
3712 val* var1204 /* : nullable Bool */;
3713 val* var1205 /* : nullable Bool */;
3714 static val* varonce1206;
3715 val* var1207 /* : String */;
3716 char* var1208 /* : CString */;
3717 val* var1209 /* : String */;
3718 val* var1210 /* : nullable Int */;
3719 val* var1211 /* : nullable Int */;
3720 val* var1212 /* : nullable Bool */;
3721 val* var1213 /* : nullable Bool */;
3722 val* var1214 /* : String */;
3723 val* var1216 /* : NativeArray[String] */;
3724 static val* varonce1215;
3725 static val* varonce1217;
3726 val* var1218 /* : String */;
3727 char* var1219 /* : CString */;
3728 val* var1220 /* : String */;
3729 val* var1221 /* : nullable Int */;
3730 val* var1222 /* : nullable Int */;
3731 val* var1223 /* : nullable Bool */;
3732 val* var1224 /* : nullable Bool */;
3733 static val* varonce1225;
3734 val* var1226 /* : String */;
3735 char* var1227 /* : CString */;
3736 val* var1228 /* : String */;
3737 val* var1229 /* : nullable Int */;
3738 val* var1230 /* : nullable Int */;
3739 val* var1231 /* : nullable Bool */;
3740 val* var1232 /* : nullable Bool */;
3741 static val* varonce1233;
3742 val* var1234 /* : String */;
3743 char* var1235 /* : CString */;
3744 val* var1236 /* : String */;
3745 val* var1237 /* : nullable Int */;
3746 val* var1238 /* : nullable Int */;
3747 val* var1239 /* : nullable Bool */;
3748 val* var1240 /* : nullable Bool */;
3749 val* var1241 /* : String */;
3750 val* var1243 /* : NativeArray[String] */;
3751 static val* varonce1242;
3752 static val* varonce1244;
3753 val* var1245 /* : String */;
3754 char* var1246 /* : CString */;
3755 val* var1247 /* : String */;
3756 val* var1248 /* : nullable Int */;
3757 val* var1249 /* : nullable Int */;
3758 val* var1250 /* : nullable Bool */;
3759 val* var1251 /* : nullable Bool */;
3760 static val* varonce1252;
3761 val* var1253 /* : String */;
3762 char* var1254 /* : CString */;
3763 val* var1255 /* : String */;
3764 val* var1256 /* : nullable Int */;
3765 val* var1257 /* : nullable Int */;
3766 val* var1258 /* : nullable Bool */;
3767 val* var1259 /* : nullable Bool */;
3768 static val* varonce1260;
3769 val* var1261 /* : String */;
3770 char* var1262 /* : CString */;
3771 val* var1263 /* : String */;
3772 val* var1264 /* : nullable Int */;
3773 val* var1265 /* : nullable Int */;
3774 val* var1266 /* : nullable Bool */;
3775 val* var1267 /* : nullable Bool */;
3776 val* var1268 /* : String */;
3777 val* var1270 /* : NativeArray[String] */;
3778 static val* varonce1269;
3779 static val* varonce1271;
3780 val* var1272 /* : String */;
3781 char* var1273 /* : CString */;
3782 val* var1274 /* : String */;
3783 val* var1275 /* : nullable Int */;
3784 val* var1276 /* : nullable Int */;
3785 val* var1277 /* : nullable Bool */;
3786 val* var1278 /* : nullable Bool */;
3787 static val* varonce1279;
3788 val* var1280 /* : String */;
3789 char* var1281 /* : CString */;
3790 val* var1282 /* : String */;
3791 val* var1283 /* : nullable Int */;
3792 val* var1284 /* : nullable Int */;
3793 val* var1285 /* : nullable Bool */;
3794 val* var1286 /* : nullable Bool */;
3795 static val* varonce1287;
3796 val* var1288 /* : String */;
3797 char* var1289 /* : CString */;
3798 val* var1290 /* : String */;
3799 val* var1291 /* : nullable Int */;
3800 val* var1292 /* : nullable Int */;
3801 val* var1293 /* : nullable Bool */;
3802 val* var1294 /* : nullable Bool */;
3803 val* var1295 /* : String */;
3804 val* var1297 /* : NativeArray[String] */;
3805 static val* varonce1296;
3806 static val* varonce1298;
3807 val* var1299 /* : String */;
3808 char* var1300 /* : CString */;
3809 val* var1301 /* : String */;
3810 val* var1302 /* : nullable Int */;
3811 val* var1303 /* : nullable Int */;
3812 val* var1304 /* : nullable Bool */;
3813 val* var1305 /* : nullable Bool */;
3814 static val* varonce1306;
3815 val* var1307 /* : String */;
3816 char* var1308 /* : CString */;
3817 val* var1309 /* : String */;
3818 val* var1310 /* : nullable Int */;
3819 val* var1311 /* : nullable Int */;
3820 val* var1312 /* : nullable Bool */;
3821 val* var1313 /* : nullable Bool */;
3822 static val* varonce1314;
3823 val* var1315 /* : String */;
3824 char* var1316 /* : CString */;
3825 val* var1317 /* : String */;
3826 val* var1318 /* : nullable Int */;
3827 val* var1319 /* : nullable Int */;
3828 val* var1320 /* : nullable Bool */;
3829 val* var1321 /* : nullable Bool */;
3830 val* var1322 /* : String */;
3831 val* var1323 /* : ModelBuilder */;
3832 val* var1325 /* : ModelBuilder */;
3833 val* var1326 /* : ToolContext */;
3834 val* var1328 /* : ToolContext */;
3835 val* var1329 /* : OptionBool */;
3836 val* var1331 /* : OptionBool */;
3837 val* var1332 /* : nullable Object */;
3838 val* var1334 /* : nullable Object */;
3839 short int var1335 /* : Bool */;
3840 static val* varonce1336;
3841 val* var1337 /* : String */;
3842 char* var1338 /* : CString */;
3843 val* var1339 /* : String */;
3844 val* var1340 /* : nullable Int */;
3845 val* var1341 /* : nullable Int */;
3846 val* var1342 /* : nullable Bool */;
3847 val* var1343 /* : nullable Bool */;
3848 static val* varonce1344;
3849 val* var1345 /* : String */;
3850 char* var1346 /* : CString */;
3851 val* var1347 /* : String */;
3852 val* var1348 /* : nullable Int */;
3853 val* var1349 /* : nullable Int */;
3854 val* var1350 /* : nullable Bool */;
3855 val* var1351 /* : nullable Bool */;
3856 static val* varonce1352;
3857 val* var1353 /* : String */;
3858 char* var1354 /* : CString */;
3859 val* var1355 /* : String */;
3860 val* var1356 /* : nullable Int */;
3861 val* var1357 /* : nullable Int */;
3862 val* var1358 /* : nullable Bool */;
3863 val* var1359 /* : nullable Bool */;
3864 static val* varonce1360;
3865 val* var1361 /* : String */;
3866 char* var1362 /* : CString */;
3867 val* var1363 /* : String */;
3868 val* var1364 /* : nullable Int */;
3869 val* var1365 /* : nullable Int */;
3870 val* var1366 /* : nullable Bool */;
3871 val* var1367 /* : nullable Bool */;
3872 static val* varonce1368;
3873 val* var1369 /* : String */;
3874 char* var1370 /* : CString */;
3875 val* var1371 /* : String */;
3876 val* var1372 /* : nullable Int */;
3877 val* var1373 /* : nullable Int */;
3878 val* var1374 /* : nullable Bool */;
3879 val* var1375 /* : nullable Bool */;
3880 static val* varonce1376;
3881 val* var1377 /* : String */;
3882 char* var1378 /* : CString */;
3883 val* var1379 /* : String */;
3884 val* var1380 /* : nullable Int */;
3885 val* var1381 /* : nullable Int */;
3886 val* var1382 /* : nullable Bool */;
3887 val* var1383 /* : nullable Bool */;
3888 val* var1384 /* : ModelBuilder */;
3889 val* var1386 /* : ModelBuilder */;
3890 val* var1387 /* : ToolContext */;
3891 val* var1389 /* : ToolContext */;
3892 val* var1390 /* : OptionBool */;
3893 val* var1392 /* : OptionBool */;
3894 val* var1393 /* : nullable Object */;
3895 val* var1395 /* : nullable Object */;
3896 short int var1396 /* : Bool */;
3897 static val* varonce1397;
3898 val* var1398 /* : String */;
3899 char* var1399 /* : CString */;
3900 val* var1400 /* : String */;
3901 val* var1401 /* : nullable Int */;
3902 val* var1402 /* : nullable Int */;
3903 val* var1403 /* : nullable Bool */;
3904 val* var1404 /* : nullable Bool */;
3905 static val* varonce1405;
3906 val* var1406 /* : String */;
3907 char* var1407 /* : CString */;
3908 val* var1408 /* : String */;
3909 val* var1409 /* : nullable Int */;
3910 val* var1410 /* : nullable Int */;
3911 val* var1411 /* : nullable Bool */;
3912 val* var1412 /* : nullable Bool */;
3913 static val* varonce1413;
3914 val* var1414 /* : String */;
3915 char* var1415 /* : CString */;
3916 val* var1416 /* : String */;
3917 val* var1417 /* : nullable Int */;
3918 val* var1418 /* : nullable Int */;
3919 val* var1419 /* : nullable Bool */;
3920 val* var1420 /* : nullable Bool */;
3921 static val* varonce1421;
3922 val* var1422 /* : String */;
3923 char* var1423 /* : CString */;
3924 val* var1424 /* : String */;
3925 val* var1425 /* : nullable Int */;
3926 val* var1426 /* : nullable Int */;
3927 val* var1427 /* : nullable Bool */;
3928 val* var1428 /* : nullable Bool */;
3929 val* var1429 /* : MModule */;
3930 val* var1431 /* : MModule */;
3931 val* var1432 /* : POSetElement[MModule] */;
3932 val* var1434 /* : POSetElement[MModule] */;
3933 val* var1435 /* : Collection[nullable Object] */;
3934 val* var_1436 /* var : Collection[MModule] */;
3935 val* var1437 /* : Iterator[nullable Object] */;
3936 val* var_1438 /* var : Iterator[MModule] */;
3937 short int var1439 /* : Bool */;
3938 val* var1441 /* : nullable Object */;
3939 val* var_m /* var m: MModule */;
3940 static val* varonce1442;
3941 val* var1443 /* : String */;
3942 char* var1444 /* : CString */;
3943 val* var1445 /* : String */;
3944 val* var1446 /* : nullable Int */;
3945 val* var1447 /* : nullable Int */;
3946 val* var1448 /* : nullable Bool */;
3947 val* var1449 /* : nullable Bool */;
3948 val* var1450 /* : String */;
3949 val* var1451 /* : Text */;
3950 val* var_f /* var f: String */;
3951 val* var1453 /* : NativeArray[String] */;
3952 static val* varonce1452;
3953 static val* varonce1454;
3954 val* var1455 /* : String */;
3955 char* var1456 /* : CString */;
3956 val* var1457 /* : String */;
3957 val* var1458 /* : nullable Int */;
3958 val* var1459 /* : nullable Int */;
3959 val* var1460 /* : nullable Bool */;
3960 val* var1461 /* : nullable Bool */;
3961 static val* varonce1462;
3962 val* var1463 /* : String */;
3963 char* var1464 /* : CString */;
3964 val* var1465 /* : String */;
3965 val* var1466 /* : nullable Int */;
3966 val* var1467 /* : nullable Int */;
3967 val* var1468 /* : nullable Bool */;
3968 val* var1469 /* : nullable Bool */;
3969 static val* varonce1470;
3970 val* var1471 /* : String */;
3971 char* var1472 /* : CString */;
3972 val* var1473 /* : String */;
3973 val* var1474 /* : nullable Int */;
3974 val* var1475 /* : nullable Int */;
3975 val* var1476 /* : nullable Bool */;
3976 val* var1477 /* : nullable Bool */;
3977 val* var1478 /* : Location */;
3978 val* var1480 /* : Location */;
3979 val* var1481 /* : nullable SourceFile */;
3980 val* var1483 /* : nullable SourceFile */;
3981 val* var1484 /* : String */;
3982 val* var1486 /* : String */;
3983 val* var1487 /* : String */;
3984 val* var1488 /* : String */;
3985 val* var1490 /* : NativeArray[String] */;
3986 static val* varonce1489;
3987 static val* varonce1491;
3988 val* var1492 /* : String */;
3989 char* var1493 /* : CString */;
3990 val* var1494 /* : String */;
3991 val* var1495 /* : nullable Int */;
3992 val* var1496 /* : nullable Int */;
3993 val* var1497 /* : nullable Bool */;
3994 val* var1498 /* : nullable Bool */;
3995 static val* varonce1499;
3996 val* var1500 /* : String */;
3997 char* var1501 /* : CString */;
3998 val* var1502 /* : String */;
3999 val* var1503 /* : nullable Int */;
4000 val* var1504 /* : nullable Int */;
4001 val* var1505 /* : nullable Bool */;
4002 val* var1506 /* : nullable Bool */;
4003 val* var1507 /* : String */;
4004 {
4005 var = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__abstract_compiler__AbstractCompiler__new_visitor]))(self); /* new_visitor on <self:AbstractCompiler>*/
4006 }
4007 var_v = var;
4008 if (likely(varonce!=NULL)) {
4009 var1 = varonce;
4010 } else {
4011 var2 = "#include <signal.h>";
4012 var4 = (val*)(19l<<2|1);
4013 var5 = (val*)(19l<<2|1);
4014 var6 = (val*)((long)(0)<<2|3);
4015 var7 = (val*)((long)(0)<<2|3);
4016 var3 = core__flat___CString___to_s_unsafe(var2, var4, var5, var6, var7);
4017 var1 = var3;
4018 varonce = var1;
4019 }
4020 {
4021 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var1); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
4022 }
4023 {
4024 { /* Inline abstract_compiler$AbstractCompiler$target_platform (self) on <self:AbstractCompiler> */
4025 var10 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___target_platform].val; /* _target_platform on <self:AbstractCompiler> */
4026 if (unlikely(var10 == NULL)) {
4027 if(catchStack.cursor >= 0){
4028 longjmp(catchStack.envs[catchStack.cursor], 1);
4029 }
4030 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target_platform");
4031 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 563);
4032 fatal_exit(1);
4033 }
4034 var8 = var10;
4035 RET_LABEL9:(void)0;
4036 }
4037 }
4038 var_platform = var8;
4039 {
4040 var12 = nitc___nitc__Platform___no_main(var_platform);
4041 }
4042 var_ = var12;
4043 if (var12){
4044 var11 = var_;
4045 } else {
4046 {
4047 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:AbstractCompiler> */
4048 var15 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:AbstractCompiler> */
4049 if (unlikely(var15 == NULL)) {
4050 if(catchStack.cursor >= 0){
4051 longjmp(catchStack.envs[catchStack.cursor], 1);
4052 }
4053 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4054 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 552);
4055 fatal_exit(1);
4056 }
4057 var13 = var15;
4058 RET_LABEL14:(void)0;
4059 }
4060 }
4061 {
4062 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var13) on <var13:ModelBuilder> */
4063 var18 = var13->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var13:ModelBuilder> */
4064 if (unlikely(var18 == NULL)) {
4065 if(catchStack.cursor >= 0){
4066 longjmp(catchStack.envs[catchStack.cursor], 1);
4067 }
4068 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4069 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 47);
4070 fatal_exit(1);
4071 }
4072 var16 = var18;
4073 RET_LABEL17:(void)0;
4074 }
4075 }
4076 {
4077 { /* Inline abstract_compiler$ToolContext$opt_no_main (var16) on <var16:ToolContext> */
4078 var21 = var16->attrs[COLOR_nitc__abstract_compiler__ToolContext___opt_no_main].val; /* _opt_no_main on <var16:ToolContext> */
4079 if (unlikely(var21 == NULL)) {
4080 if(catchStack.cursor >= 0){
4081 longjmp(catchStack.envs[catchStack.cursor], 1);
4082 }
4083 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_main");
4084 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 36);
4085 fatal_exit(1);
4086 }
4087 var19 = var21;
4088 RET_LABEL20:(void)0;
4089 }
4090 }
4091 {
4092 { /* Inline opts$Option$value (var19) on <var19:OptionBool> */
4093 var24 = var19->attrs[COLOR_opts__Option___value].val; /* _value on <var19:OptionBool> */
4094 var22 = var24;
4095 RET_LABEL23:(void)0;
4096 }
4097 }
4098 var25 = (short int)((long)(var22)>>2);
4099 var11 = var25;
4100 }
4101 var_no_main = var11;
4102 {
4103 var26 = nitc___nitc__Platform___supports_libunwind(var_platform);
4104 }
4105 if (var26){
4106 if (likely(varonce27!=NULL)) {
4107 var28 = varonce27;
4108 } else {
4109 var29 = "#ifndef NO_STACKTRACE";
4110 var31 = (val*)(21l<<2|1);
4111 var32 = (val*)(21l<<2|1);
4112 var33 = (val*)((long)(0)<<2|3);
4113 var34 = (val*)((long)(0)<<2|3);
4114 var30 = core__flat___CString___to_s_unsafe(var29, var31, var32, var33, var34);
4115 var28 = var30;
4116 varonce27 = var28;
4117 }
4118 {
4119 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var28); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
4120 }
4121 if (likely(varonce35!=NULL)) {
4122 var36 = varonce35;
4123 } else {
4124 var37 = "#define UNW_LOCAL_ONLY";
4125 var39 = (val*)(22l<<2|1);
4126 var40 = (val*)(22l<<2|1);
4127 var41 = (val*)((long)(0)<<2|3);
4128 var42 = (val*)((long)(0)<<2|3);
4129 var38 = core__flat___CString___to_s_unsafe(var37, var39, var40, var41, var42);
4130 var36 = var38;
4131 varonce35 = var36;
4132 }
4133 {
4134 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var36); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
4135 }
4136 if (likely(varonce43!=NULL)) {
4137 var44 = varonce43;
4138 } else {
4139 var45 = "#include <libunwind.h>";
4140 var47 = (val*)(22l<<2|1);
4141 var48 = (val*)(22l<<2|1);
4142 var49 = (val*)((long)(0)<<2|3);
4143 var50 = (val*)((long)(0)<<2|3);
4144 var46 = core__flat___CString___to_s_unsafe(var45, var47, var48, var49, var50);
4145 var44 = var46;
4146 varonce43 = var44;
4147 }
4148 {
4149 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var44); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
4150 }
4151 if (likely(varonce51!=NULL)) {
4152 var52 = varonce51;
4153 } else {
4154 var53 = "#include \"c_functions_hash.h\"";
4155 var55 = (val*)(29l<<2|1);
4156 var56 = (val*)(29l<<2|1);
4157 var57 = (val*)((long)(0)<<2|3);
4158 var58 = (val*)((long)(0)<<2|3);
4159 var54 = core__flat___CString___to_s_unsafe(var53, var55, var56, var57, var58);
4160 var52 = var54;
4161 varonce51 = var52;
4162 }
4163 {
4164 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var52); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
4165 }
4166 if (likely(varonce59!=NULL)) {
4167 var60 = varonce59;
4168 } else {
4169 var61 = "#endif";
4170 var63 = (val*)(6l<<2|1);
4171 var64 = (val*)(6l<<2|1);
4172 var65 = (val*)((long)(0)<<2|3);
4173 var66 = (val*)((long)(0)<<2|3);
4174 var62 = core__flat___CString___to_s_unsafe(var61, var63, var64, var65, var66);
4175 var60 = var62;
4176 varonce59 = var60;
4177 }
4178 {
4179 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var60); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
4180 }
4181 } else {
4182 }
4183 if (likely(varonce67!=NULL)) {
4184 var68 = varonce67;
4185 } else {
4186 var69 = "int glob_argc;";
4187 var71 = (val*)(14l<<2|1);
4188 var72 = (val*)(14l<<2|1);
4189 var73 = (val*)((long)(0)<<2|3);
4190 var74 = (val*)((long)(0)<<2|3);
4191 var70 = core__flat___CString___to_s_unsafe(var69, var71, var72, var73, var74);
4192 var68 = var70;
4193 varonce67 = var68;
4194 }
4195 {
4196 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var68); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
4197 }
4198 if (likely(varonce75!=NULL)) {
4199 var76 = varonce75;
4200 } else {
4201 var77 = "char **glob_argv;";
4202 var79 = (val*)(17l<<2|1);
4203 var80 = (val*)(17l<<2|1);
4204 var81 = (val*)((long)(0)<<2|3);
4205 var82 = (val*)((long)(0)<<2|3);
4206 var78 = core__flat___CString___to_s_unsafe(var77, var79, var80, var81, var82);
4207 var76 = var78;
4208 varonce75 = var76;
4209 }
4210 {
4211 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var76); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
4212 }
4213 if (likely(varonce83!=NULL)) {
4214 var84 = varonce83;
4215 } else {
4216 var85 = "val *glob_sys;";
4217 var87 = (val*)(14l<<2|1);
4218 var88 = (val*)(14l<<2|1);
4219 var89 = (val*)((long)(0)<<2|3);
4220 var90 = (val*)((long)(0)<<2|3);
4221 var86 = core__flat___CString___to_s_unsafe(var85, var87, var88, var89, var90);
4222 var84 = var86;
4223 varonce83 = var84;
4224 }
4225 {
4226 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var84); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
4227 }
4228 if (likely(varonce91!=NULL)) {
4229 var92 = varonce91;
4230 } else {
4231 var93 = "struct catch_stack_t catchStack;";
4232 var95 = (val*)(32l<<2|1);
4233 var96 = (val*)(32l<<2|1);
4234 var97 = (val*)((long)(0)<<2|3);
4235 var98 = (val*)((long)(0)<<2|3);
4236 var94 = core__flat___CString___to_s_unsafe(var93, var95, var96, var97, var98);
4237 var92 = var94;
4238 varonce91 = var92;
4239 }
4240 {
4241 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var92); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
4242 }
4243 {
4244 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:AbstractCompiler> */
4245 var101 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:AbstractCompiler> */
4246 if (unlikely(var101 == NULL)) {
4247 if(catchStack.cursor >= 0){
4248 longjmp(catchStack.envs[catchStack.cursor], 1);
4249 }
4250 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4251 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 552);
4252 fatal_exit(1);
4253 }
4254 var99 = var101;
4255 RET_LABEL100:(void)0;
4256 }
4257 }
4258 {
4259 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var99) on <var99:ModelBuilder> */
4260 var104 = var99->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var99:ModelBuilder> */
4261 if (unlikely(var104 == NULL)) {
4262 if(catchStack.cursor >= 0){
4263 longjmp(catchStack.envs[catchStack.cursor], 1);
4264 }
4265 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4266 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 47);
4267 fatal_exit(1);
4268 }
4269 var102 = var104;
4270 RET_LABEL103:(void)0;
4271 }
4272 }
4273 {
4274 { /* Inline abstract_compiler$ToolContext$opt_typing_test_metrics (var102) on <var102:ToolContext> */
4275 var107 = var102->attrs[COLOR_nitc__abstract_compiler__ToolContext___opt_typing_test_metrics].val; /* _opt_typing_test_metrics on <var102:ToolContext> */
4276 if (unlikely(var107 == NULL)) {
4277 if(catchStack.cursor >= 0){
4278 longjmp(catchStack.envs[catchStack.cursor], 1);
4279 }
4280 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
4281 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 60);
4282 fatal_exit(1);
4283 }
4284 var105 = var107;
4285 RET_LABEL106:(void)0;
4286 }
4287 }
4288 {
4289 { /* Inline opts$Option$value (var105) on <var105:OptionBool> */
4290 var110 = var105->attrs[COLOR_opts__Option___value].val; /* _value on <var105:OptionBool> */
4291 var108 = var110;
4292 RET_LABEL109:(void)0;
4293 }
4294 }
4295 var111 = (short int)((long)(var108)>>2);
4296 if (var111){
4297 {
4298 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_tags (self) on <self:AbstractCompiler> */
4299 var114 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_tags].val; /* _count_type_test_tags on <self:AbstractCompiler> */
4300 if (unlikely(var114 == NULL)) {
4301 if(catchStack.cursor >= 0){
4302 longjmp(catchStack.envs[catchStack.cursor], 1);
4303 }
4304 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
4305 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1110);
4306 fatal_exit(1);
4307 }
4308 var112 = var114;
4309 RET_LABEL113:(void)0;
4310 }
4311 }
4312 var_115 = var112;
4313 {
4314 var116 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_115);
4315 }
4316 var_117 = var116;
4317 for(;;) {
4318 {
4319 var118 = ((short int(*)(val* self))((((long)var_117&3)?class_info[((long)var_117&3)]:var_117->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_117); /* is_ok on <var_117:IndexedIterator[String]>*/
4320 }
4321 if (var118){
4322 } else {
4323 goto BREAK_label;
4324 }
4325 {
4326 var119 = ((val*(*)(val* self))((((long)var_117&3)?class_info[((long)var_117&3)]:var_117->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_117); /* item on <var_117:IndexedIterator[String]>*/
4327 }
4328 var_tag = var119;
4329 if (unlikely(varonce120==NULL)) {
4330 var121 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
4331 if (likely(varonce122!=NULL)) {
4332 var123 = varonce122;
4333 } else {
4334 var124 = "long count_type_test_resolved_";
4335 var126 = (val*)(30l<<2|1);
4336 var127 = (val*)(30l<<2|1);
4337 var128 = (val*)((long)(0)<<2|3);
4338 var129 = (val*)((long)(0)<<2|3);
4339 var125 = core__flat___CString___to_s_unsafe(var124, var126, var127, var128, var129);
4340 var123 = var125;
4341 varonce122 = var123;
4342 }
4343 ((struct instance_core__NativeArray*)var121)->values[0]=var123;
4344 if (likely(varonce130!=NULL)) {
4345 var131 = varonce130;
4346 } else {
4347 var132 = ";";
4348 var134 = (val*)(1l<<2|1);
4349 var135 = (val*)(1l<<2|1);
4350 var136 = (val*)((long)(0)<<2|3);
4351 var137 = (val*)((long)(0)<<2|3);
4352 var133 = core__flat___CString___to_s_unsafe(var132, var134, var135, var136, var137);
4353 var131 = var133;
4354 varonce130 = var131;
4355 }
4356 ((struct instance_core__NativeArray*)var121)->values[2]=var131;
4357 } else {
4358 var121 = varonce120;
4359 varonce120 = NULL;
4360 }
4361 ((struct instance_core__NativeArray*)var121)->values[1]=var_tag;
4362 {
4363 var138 = ((val*(*)(val* self))(var121->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var121); /* native_to_s on <var121:NativeArray[String]>*/
4364 }
4365 varonce120 = var121;
4366 {
4367 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var138); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
4368 }
4369 if (unlikely(varonce139==NULL)) {
4370 var140 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
4371 if (likely(varonce141!=NULL)) {
4372 var142 = varonce141;
4373 } else {
4374 var143 = "long count_type_test_unresolved_";
4375 var145 = (val*)(32l<<2|1);
4376 var146 = (val*)(32l<<2|1);
4377 var147 = (val*)((long)(0)<<2|3);
4378 var148 = (val*)((long)(0)<<2|3);
4379 var144 = core__flat___CString___to_s_unsafe(var143, var145, var146, var147, var148);
4380 var142 = var144;
4381 varonce141 = var142;
4382 }
4383 ((struct instance_core__NativeArray*)var140)->values[0]=var142;
4384 if (likely(varonce149!=NULL)) {
4385 var150 = varonce149;
4386 } else {
4387 var151 = ";";
4388 var153 = (val*)(1l<<2|1);
4389 var154 = (val*)(1l<<2|1);
4390 var155 = (val*)((long)(0)<<2|3);
4391 var156 = (val*)((long)(0)<<2|3);
4392 var152 = core__flat___CString___to_s_unsafe(var151, var153, var154, var155, var156);
4393 var150 = var152;
4394 varonce149 = var150;
4395 }
4396 ((struct instance_core__NativeArray*)var140)->values[2]=var150;
4397 } else {
4398 var140 = varonce139;
4399 varonce139 = NULL;
4400 }
4401 ((struct instance_core__NativeArray*)var140)->values[1]=var_tag;
4402 {
4403 var157 = ((val*(*)(val* self))(var140->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var140); /* native_to_s on <var140:NativeArray[String]>*/
4404 }
4405 varonce139 = var140;
4406 {
4407 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var157); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
4408 }
4409 if (unlikely(varonce158==NULL)) {
4410 var159 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
4411 if (likely(varonce160!=NULL)) {
4412 var161 = varonce160;
4413 } else {
4414 var162 = "long count_type_test_skipped_";
4415 var164 = (val*)(29l<<2|1);
4416 var165 = (val*)(29l<<2|1);
4417 var166 = (val*)((long)(0)<<2|3);
4418 var167 = (val*)((long)(0)<<2|3);
4419 var163 = core__flat___CString___to_s_unsafe(var162, var164, var165, var166, var167);
4420 var161 = var163;
4421 varonce160 = var161;
4422 }
4423 ((struct instance_core__NativeArray*)var159)->values[0]=var161;
4424 if (likely(varonce168!=NULL)) {
4425 var169 = varonce168;
4426 } else {
4427 var170 = ";";
4428 var172 = (val*)(1l<<2|1);
4429 var173 = (val*)(1l<<2|1);
4430 var174 = (val*)((long)(0)<<2|3);
4431 var175 = (val*)((long)(0)<<2|3);
4432 var171 = core__flat___CString___to_s_unsafe(var170, var172, var173, var174, var175);
4433 var169 = var171;
4434 varonce168 = var169;
4435 }
4436 ((struct instance_core__NativeArray*)var159)->values[2]=var169;
4437 } else {
4438 var159 = varonce158;
4439 varonce158 = NULL;
4440 }
4441 ((struct instance_core__NativeArray*)var159)->values[1]=var_tag;
4442 {
4443 var176 = ((val*(*)(val* self))(var159->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var159); /* native_to_s on <var159:NativeArray[String]>*/
4444 }
4445 varonce158 = var159;
4446 {
4447 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var176); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
4448 }
4449 {
4450 { /* Inline abstract_compiler$AbstractCompilerVisitor$compiler (var_v) on <var_v:AbstractCompilerVisitor> */
4451 var179 = var_v->attrs[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on <var_v:AbstractCompilerVisitor> */
4452 if (unlikely(var179 == NULL)) {
4453 if(catchStack.cursor >= 0){
4454 longjmp(catchStack.envs[catchStack.cursor], 1);
4455 }
4456 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4457 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1214);
4458 fatal_exit(1);
4459 }
4460 var177 = var179;
4461 RET_LABEL178:(void)0;
4462 }
4463 }
4464 {
4465 { /* Inline abstract_compiler$AbstractCompiler$header (var177) on <var177:AbstractCompiler> */
4466 var182 = var177->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <var177:AbstractCompiler> */
4467 if (unlikely(var182 == NULL)) {
4468 if(catchStack.cursor >= 0){
4469 longjmp(catchStack.envs[catchStack.cursor], 1);
4470 }
4471 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
4472 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
4473 fatal_exit(1);
4474 }
4475 var180 = var182;
4476 RET_LABEL181:(void)0;
4477 }
4478 }
4479 if (unlikely(varonce183==NULL)) {
4480 var184 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
4481 if (likely(varonce185!=NULL)) {
4482 var186 = varonce185;
4483 } else {
4484 var187 = "extern long count_type_test_resolved_";
4485 var189 = (val*)(37l<<2|1);
4486 var190 = (val*)(37l<<2|1);
4487 var191 = (val*)((long)(0)<<2|3);
4488 var192 = (val*)((long)(0)<<2|3);
4489 var188 = core__flat___CString___to_s_unsafe(var187, var189, var190, var191, var192);
4490 var186 = var188;
4491 varonce185 = var186;
4492 }
4493 ((struct instance_core__NativeArray*)var184)->values[0]=var186;
4494 if (likely(varonce193!=NULL)) {
4495 var194 = varonce193;
4496 } else {
4497 var195 = ";";
4498 var197 = (val*)(1l<<2|1);
4499 var198 = (val*)(1l<<2|1);
4500 var199 = (val*)((long)(0)<<2|3);
4501 var200 = (val*)((long)(0)<<2|3);
4502 var196 = core__flat___CString___to_s_unsafe(var195, var197, var198, var199, var200);
4503 var194 = var196;
4504 varonce193 = var194;
4505 }
4506 ((struct instance_core__NativeArray*)var184)->values[2]=var194;
4507 } else {
4508 var184 = varonce183;
4509 varonce183 = NULL;
4510 }
4511 ((struct instance_core__NativeArray*)var184)->values[1]=var_tag;
4512 {
4513 var201 = ((val*(*)(val* self))(var184->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var184); /* native_to_s on <var184:NativeArray[String]>*/
4514 }
4515 varonce183 = var184;
4516 {
4517 nitc___nitc__CodeWriter___add_decl(var180, var201); /* Direct call abstract_compiler$CodeWriter$add_decl on <var180:CodeWriter>*/
4518 }
4519 {
4520 { /* Inline abstract_compiler$AbstractCompilerVisitor$compiler (var_v) on <var_v:AbstractCompilerVisitor> */
4521 var204 = var_v->attrs[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on <var_v:AbstractCompilerVisitor> */
4522 if (unlikely(var204 == NULL)) {
4523 if(catchStack.cursor >= 0){
4524 longjmp(catchStack.envs[catchStack.cursor], 1);
4525 }
4526 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4527 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1214);
4528 fatal_exit(1);
4529 }
4530 var202 = var204;
4531 RET_LABEL203:(void)0;
4532 }
4533 }
4534 {
4535 { /* Inline abstract_compiler$AbstractCompiler$header (var202) on <var202:AbstractCompiler> */
4536 var207 = var202->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <var202:AbstractCompiler> */
4537 if (unlikely(var207 == NULL)) {
4538 if(catchStack.cursor >= 0){
4539 longjmp(catchStack.envs[catchStack.cursor], 1);
4540 }
4541 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
4542 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
4543 fatal_exit(1);
4544 }
4545 var205 = var207;
4546 RET_LABEL206:(void)0;
4547 }
4548 }
4549 if (unlikely(varonce208==NULL)) {
4550 var209 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
4551 if (likely(varonce210!=NULL)) {
4552 var211 = varonce210;
4553 } else {
4554 var212 = "extern long count_type_test_unresolved_";
4555 var214 = (val*)(39l<<2|1);
4556 var215 = (val*)(39l<<2|1);
4557 var216 = (val*)((long)(0)<<2|3);
4558 var217 = (val*)((long)(0)<<2|3);
4559 var213 = core__flat___CString___to_s_unsafe(var212, var214, var215, var216, var217);
4560 var211 = var213;
4561 varonce210 = var211;
4562 }
4563 ((struct instance_core__NativeArray*)var209)->values[0]=var211;
4564 if (likely(varonce218!=NULL)) {
4565 var219 = varonce218;
4566 } else {
4567 var220 = ";";
4568 var222 = (val*)(1l<<2|1);
4569 var223 = (val*)(1l<<2|1);
4570 var224 = (val*)((long)(0)<<2|3);
4571 var225 = (val*)((long)(0)<<2|3);
4572 var221 = core__flat___CString___to_s_unsafe(var220, var222, var223, var224, var225);
4573 var219 = var221;
4574 varonce218 = var219;
4575 }
4576 ((struct instance_core__NativeArray*)var209)->values[2]=var219;
4577 } else {
4578 var209 = varonce208;
4579 varonce208 = NULL;
4580 }
4581 ((struct instance_core__NativeArray*)var209)->values[1]=var_tag;
4582 {
4583 var226 = ((val*(*)(val* self))(var209->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var209); /* native_to_s on <var209:NativeArray[String]>*/
4584 }
4585 varonce208 = var209;
4586 {
4587 nitc___nitc__CodeWriter___add_decl(var205, var226); /* Direct call abstract_compiler$CodeWriter$add_decl on <var205:CodeWriter>*/
4588 }
4589 {
4590 { /* Inline abstract_compiler$AbstractCompilerVisitor$compiler (var_v) on <var_v:AbstractCompilerVisitor> */
4591 var229 = var_v->attrs[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on <var_v:AbstractCompilerVisitor> */
4592 if (unlikely(var229 == NULL)) {
4593 if(catchStack.cursor >= 0){
4594 longjmp(catchStack.envs[catchStack.cursor], 1);
4595 }
4596 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4597 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1214);
4598 fatal_exit(1);
4599 }
4600 var227 = var229;
4601 RET_LABEL228:(void)0;
4602 }
4603 }
4604 {
4605 { /* Inline abstract_compiler$AbstractCompiler$header (var227) on <var227:AbstractCompiler> */
4606 var232 = var227->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <var227:AbstractCompiler> */
4607 if (unlikely(var232 == NULL)) {
4608 if(catchStack.cursor >= 0){
4609 longjmp(catchStack.envs[catchStack.cursor], 1);
4610 }
4611 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
4612 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
4613 fatal_exit(1);
4614 }
4615 var230 = var232;
4616 RET_LABEL231:(void)0;
4617 }
4618 }
4619 if (unlikely(varonce233==NULL)) {
4620 var234 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
4621 if (likely(varonce235!=NULL)) {
4622 var236 = varonce235;
4623 } else {
4624 var237 = "extern long count_type_test_skipped_";
4625 var239 = (val*)(36l<<2|1);
4626 var240 = (val*)(36l<<2|1);
4627 var241 = (val*)((long)(0)<<2|3);
4628 var242 = (val*)((long)(0)<<2|3);
4629 var238 = core__flat___CString___to_s_unsafe(var237, var239, var240, var241, var242);
4630 var236 = var238;
4631 varonce235 = var236;
4632 }
4633 ((struct instance_core__NativeArray*)var234)->values[0]=var236;
4634 if (likely(varonce243!=NULL)) {
4635 var244 = varonce243;
4636 } else {
4637 var245 = ";";
4638 var247 = (val*)(1l<<2|1);
4639 var248 = (val*)(1l<<2|1);
4640 var249 = (val*)((long)(0)<<2|3);
4641 var250 = (val*)((long)(0)<<2|3);
4642 var246 = core__flat___CString___to_s_unsafe(var245, var247, var248, var249, var250);
4643 var244 = var246;
4644 varonce243 = var244;
4645 }
4646 ((struct instance_core__NativeArray*)var234)->values[2]=var244;
4647 } else {
4648 var234 = varonce233;
4649 varonce233 = NULL;
4650 }
4651 ((struct instance_core__NativeArray*)var234)->values[1]=var_tag;
4652 {
4653 var251 = ((val*(*)(val* self))(var234->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var234); /* native_to_s on <var234:NativeArray[String]>*/
4654 }
4655 varonce233 = var234;
4656 {
4657 nitc___nitc__CodeWriter___add_decl(var230, var251); /* Direct call abstract_compiler$CodeWriter$add_decl on <var230:CodeWriter>*/
4658 }
4659 {
4660 ((void(*)(val* self))((((long)var_117&3)?class_info[((long)var_117&3)]:var_117->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_117); /* next on <var_117:IndexedIterator[String]>*/
4661 }
4662 }
4663 BREAK_label: (void)0;
4664 {
4665 ((void(*)(val* self))((((long)var_117&3)?class_info[((long)var_117&3)]:var_117->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_117); /* finish on <var_117:IndexedIterator[String]>*/
4666 }
4667 } else {
4668 }
4669 {
4670 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:AbstractCompiler> */
4671 var254 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:AbstractCompiler> */
4672 if (unlikely(var254 == NULL)) {
4673 if(catchStack.cursor >= 0){
4674 longjmp(catchStack.envs[catchStack.cursor], 1);
4675 }
4676 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4677 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 552);
4678 fatal_exit(1);
4679 }
4680 var252 = var254;
4681 RET_LABEL253:(void)0;
4682 }
4683 }
4684 {
4685 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var252) on <var252:ModelBuilder> */
4686 var257 = var252->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var252:ModelBuilder> */
4687 if (unlikely(var257 == NULL)) {
4688 if(catchStack.cursor >= 0){
4689 longjmp(catchStack.envs[catchStack.cursor], 1);
4690 }
4691 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4692 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 47);
4693 fatal_exit(1);
4694 }
4695 var255 = var257;
4696 RET_LABEL256:(void)0;
4697 }
4698 }
4699 {
4700 { /* Inline abstract_compiler$ToolContext$opt_invocation_metrics (var255) on <var255:ToolContext> */
4701 var260 = var255->attrs[COLOR_nitc__abstract_compiler__ToolContext___opt_invocation_metrics].val; /* _opt_invocation_metrics on <var255:ToolContext> */
4702 if (unlikely(var260 == NULL)) {
4703 if(catchStack.cursor >= 0){
4704 longjmp(catchStack.envs[catchStack.cursor], 1);
4705 }
4706 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
4707 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 62);
4708 fatal_exit(1);
4709 }
4710 var258 = var260;
4711 RET_LABEL259:(void)0;
4712 }
4713 }
4714 {
4715 { /* Inline opts$Option$value (var258) on <var258:OptionBool> */
4716 var263 = var258->attrs[COLOR_opts__Option___value].val; /* _value on <var258:OptionBool> */
4717 var261 = var263;
4718 RET_LABEL262:(void)0;
4719 }
4720 }
4721 var264 = (short int)((long)(var261)>>2);
4722 if (var264){
4723 if (likely(varonce265!=NULL)) {
4724 var266 = varonce265;
4725 } else {
4726 var267 = "long count_invoke_by_tables;";
4727 var269 = (val*)(28l<<2|1);
4728 var270 = (val*)(28l<<2|1);
4729 var271 = (val*)((long)(0)<<2|3);
4730 var272 = (val*)((long)(0)<<2|3);
4731 var268 = core__flat___CString___to_s_unsafe(var267, var269, var270, var271, var272);
4732 var266 = var268;
4733 varonce265 = var266;
4734 }
4735 {
4736 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var266); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
4737 }
4738 if (likely(varonce273!=NULL)) {
4739 var274 = varonce273;
4740 } else {
4741 var275 = "long count_invoke_by_direct;";
4742 var277 = (val*)(28l<<2|1);
4743 var278 = (val*)(28l<<2|1);
4744 var279 = (val*)((long)(0)<<2|3);
4745 var280 = (val*)((long)(0)<<2|3);
4746 var276 = core__flat___CString___to_s_unsafe(var275, var277, var278, var279, var280);
4747 var274 = var276;
4748 varonce273 = var274;
4749 }
4750 {
4751 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var274); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
4752 }
4753 if (likely(varonce281!=NULL)) {
4754 var282 = varonce281;
4755 } else {
4756 var283 = "long count_invoke_by_inline;";
4757 var285 = (val*)(28l<<2|1);
4758 var286 = (val*)(28l<<2|1);
4759 var287 = (val*)((long)(0)<<2|3);
4760 var288 = (val*)((long)(0)<<2|3);
4761 var284 = core__flat___CString___to_s_unsafe(var283, var285, var286, var287, var288);
4762 var282 = var284;
4763 varonce281 = var282;
4764 }
4765 {
4766 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var282); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
4767 }
4768 {
4769 { /* Inline abstract_compiler$AbstractCompilerVisitor$compiler (var_v) on <var_v:AbstractCompilerVisitor> */
4770 var291 = var_v->attrs[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on <var_v:AbstractCompilerVisitor> */
4771 if (unlikely(var291 == NULL)) {
4772 if(catchStack.cursor >= 0){
4773 longjmp(catchStack.envs[catchStack.cursor], 1);
4774 }
4775 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4776 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1214);
4777 fatal_exit(1);
4778 }
4779 var289 = var291;
4780 RET_LABEL290:(void)0;
4781 }
4782 }
4783 {
4784 { /* Inline abstract_compiler$AbstractCompiler$header (var289) on <var289:AbstractCompiler> */
4785 var294 = var289->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <var289:AbstractCompiler> */
4786 if (unlikely(var294 == NULL)) {
4787 if(catchStack.cursor >= 0){
4788 longjmp(catchStack.envs[catchStack.cursor], 1);
4789 }
4790 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
4791 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
4792 fatal_exit(1);
4793 }
4794 var292 = var294;
4795 RET_LABEL293:(void)0;
4796 }
4797 }
4798 if (likely(varonce295!=NULL)) {
4799 var296 = varonce295;
4800 } else {
4801 var297 = "extern long count_invoke_by_tables;";
4802 var299 = (val*)(35l<<2|1);
4803 var300 = (val*)(35l<<2|1);
4804 var301 = (val*)((long)(0)<<2|3);
4805 var302 = (val*)((long)(0)<<2|3);
4806 var298 = core__flat___CString___to_s_unsafe(var297, var299, var300, var301, var302);
4807 var296 = var298;
4808 varonce295 = var296;
4809 }
4810 {
4811 nitc___nitc__CodeWriter___add_decl(var292, var296); /* Direct call abstract_compiler$CodeWriter$add_decl on <var292:CodeWriter>*/
4812 }
4813 {
4814 { /* Inline abstract_compiler$AbstractCompilerVisitor$compiler (var_v) on <var_v:AbstractCompilerVisitor> */
4815 var305 = var_v->attrs[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on <var_v:AbstractCompilerVisitor> */
4816 if (unlikely(var305 == NULL)) {
4817 if(catchStack.cursor >= 0){
4818 longjmp(catchStack.envs[catchStack.cursor], 1);
4819 }
4820 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4821 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1214);
4822 fatal_exit(1);
4823 }
4824 var303 = var305;
4825 RET_LABEL304:(void)0;
4826 }
4827 }
4828 {
4829 { /* Inline abstract_compiler$AbstractCompiler$header (var303) on <var303:AbstractCompiler> */
4830 var308 = var303->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <var303:AbstractCompiler> */
4831 if (unlikely(var308 == NULL)) {
4832 if(catchStack.cursor >= 0){
4833 longjmp(catchStack.envs[catchStack.cursor], 1);
4834 }
4835 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
4836 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
4837 fatal_exit(1);
4838 }
4839 var306 = var308;
4840 RET_LABEL307:(void)0;
4841 }
4842 }
4843 if (likely(varonce309!=NULL)) {
4844 var310 = varonce309;
4845 } else {
4846 var311 = "extern long count_invoke_by_direct;";
4847 var313 = (val*)(35l<<2|1);
4848 var314 = (val*)(35l<<2|1);
4849 var315 = (val*)((long)(0)<<2|3);
4850 var316 = (val*)((long)(0)<<2|3);
4851 var312 = core__flat___CString___to_s_unsafe(var311, var313, var314, var315, var316);
4852 var310 = var312;
4853 varonce309 = var310;
4854 }
4855 {
4856 nitc___nitc__CodeWriter___add_decl(var306, var310); /* Direct call abstract_compiler$CodeWriter$add_decl on <var306:CodeWriter>*/
4857 }
4858 {
4859 { /* Inline abstract_compiler$AbstractCompilerVisitor$compiler (var_v) on <var_v:AbstractCompilerVisitor> */
4860 var319 = var_v->attrs[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on <var_v:AbstractCompilerVisitor> */
4861 if (unlikely(var319 == NULL)) {
4862 if(catchStack.cursor >= 0){
4863 longjmp(catchStack.envs[catchStack.cursor], 1);
4864 }
4865 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4866 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1214);
4867 fatal_exit(1);
4868 }
4869 var317 = var319;
4870 RET_LABEL318:(void)0;
4871 }
4872 }
4873 {
4874 { /* Inline abstract_compiler$AbstractCompiler$header (var317) on <var317:AbstractCompiler> */
4875 var322 = var317->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <var317:AbstractCompiler> */
4876 if (unlikely(var322 == NULL)) {
4877 if(catchStack.cursor >= 0){
4878 longjmp(catchStack.envs[catchStack.cursor], 1);
4879 }
4880 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
4881 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
4882 fatal_exit(1);
4883 }
4884 var320 = var322;
4885 RET_LABEL321:(void)0;
4886 }
4887 }
4888 if (likely(varonce323!=NULL)) {
4889 var324 = varonce323;
4890 } else {
4891 var325 = "extern long count_invoke_by_inline;";
4892 var327 = (val*)(35l<<2|1);
4893 var328 = (val*)(35l<<2|1);
4894 var329 = (val*)((long)(0)<<2|3);
4895 var330 = (val*)((long)(0)<<2|3);
4896 var326 = core__flat___CString___to_s_unsafe(var325, var327, var328, var329, var330);
4897 var324 = var326;
4898 varonce323 = var324;
4899 }
4900 {
4901 nitc___nitc__CodeWriter___add_decl(var320, var324); /* Direct call abstract_compiler$CodeWriter$add_decl on <var320:CodeWriter>*/
4902 }
4903 } else {
4904 }
4905 {
4906 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:AbstractCompiler> */
4907 var333 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:AbstractCompiler> */
4908 if (unlikely(var333 == NULL)) {
4909 if(catchStack.cursor >= 0){
4910 longjmp(catchStack.envs[catchStack.cursor], 1);
4911 }
4912 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4913 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 552);
4914 fatal_exit(1);
4915 }
4916 var331 = var333;
4917 RET_LABEL332:(void)0;
4918 }
4919 }
4920 {
4921 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var331) on <var331:ModelBuilder> */
4922 var336 = var331->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var331:ModelBuilder> */
4923 if (unlikely(var336 == NULL)) {
4924 if(catchStack.cursor >= 0){
4925 longjmp(catchStack.envs[catchStack.cursor], 1);
4926 }
4927 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4928 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 47);
4929 fatal_exit(1);
4930 }
4931 var334 = var336;
4932 RET_LABEL335:(void)0;
4933 }
4934 }
4935 {
4936 { /* Inline abstract_compiler$ToolContext$opt_isset_checks_metrics (var334) on <var334:ToolContext> */
4937 var339 = var334->attrs[COLOR_nitc__abstract_compiler__ToolContext___opt_isset_checks_metrics].val; /* _opt_isset_checks_metrics on <var334:ToolContext> */
4938 if (unlikely(var339 == NULL)) {
4939 if(catchStack.cursor >= 0){
4940 longjmp(catchStack.envs[catchStack.cursor], 1);
4941 }
4942 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
4943 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 64);
4944 fatal_exit(1);
4945 }
4946 var337 = var339;
4947 RET_LABEL338:(void)0;
4948 }
4949 }
4950 {
4951 { /* Inline opts$Option$value (var337) on <var337:OptionBool> */
4952 var342 = var337->attrs[COLOR_opts__Option___value].val; /* _value on <var337:OptionBool> */
4953 var340 = var342;
4954 RET_LABEL341:(void)0;
4955 }
4956 }
4957 var343 = (short int)((long)(var340)>>2);
4958 if (var343){
4959 if (likely(varonce344!=NULL)) {
4960 var345 = varonce344;
4961 } else {
4962 var346 = "long count_attr_reads = 0;";
4963 var348 = (val*)(26l<<2|1);
4964 var349 = (val*)(26l<<2|1);
4965 var350 = (val*)((long)(0)<<2|3);
4966 var351 = (val*)((long)(0)<<2|3);
4967 var347 = core__flat___CString___to_s_unsafe(var346, var348, var349, var350, var351);
4968 var345 = var347;
4969 varonce344 = var345;
4970 }
4971 {
4972 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var345); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
4973 }
4974 if (likely(varonce352!=NULL)) {
4975 var353 = varonce352;
4976 } else {
4977 var354 = "long count_isset_checks = 0;";
4978 var356 = (val*)(28l<<2|1);
4979 var357 = (val*)(28l<<2|1);
4980 var358 = (val*)((long)(0)<<2|3);
4981 var359 = (val*)((long)(0)<<2|3);
4982 var355 = core__flat___CString___to_s_unsafe(var354, var356, var357, var358, var359);
4983 var353 = var355;
4984 varonce352 = var353;
4985 }
4986 {
4987 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var353); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
4988 }
4989 {
4990 { /* Inline abstract_compiler$AbstractCompilerVisitor$compiler (var_v) on <var_v:AbstractCompilerVisitor> */
4991 var362 = var_v->attrs[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on <var_v:AbstractCompilerVisitor> */
4992 if (unlikely(var362 == NULL)) {
4993 if(catchStack.cursor >= 0){
4994 longjmp(catchStack.envs[catchStack.cursor], 1);
4995 }
4996 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4997 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1214);
4998 fatal_exit(1);
4999 }
5000 var360 = var362;
5001 RET_LABEL361:(void)0;
5002 }
5003 }
5004 {
5005 { /* Inline abstract_compiler$AbstractCompiler$header (var360) on <var360:AbstractCompiler> */
5006 var365 = var360->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <var360:AbstractCompiler> */
5007 if (unlikely(var365 == NULL)) {
5008 if(catchStack.cursor >= 0){
5009 longjmp(catchStack.envs[catchStack.cursor], 1);
5010 }
5011 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
5012 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
5013 fatal_exit(1);
5014 }
5015 var363 = var365;
5016 RET_LABEL364:(void)0;
5017 }
5018 }
5019 if (likely(varonce366!=NULL)) {
5020 var367 = varonce366;
5021 } else {
5022 var368 = "extern long count_attr_reads;";
5023 var370 = (val*)(29l<<2|1);
5024 var371 = (val*)(29l<<2|1);
5025 var372 = (val*)((long)(0)<<2|3);
5026 var373 = (val*)((long)(0)<<2|3);
5027 var369 = core__flat___CString___to_s_unsafe(var368, var370, var371, var372, var373);
5028 var367 = var369;
5029 varonce366 = var367;
5030 }
5031 {
5032 nitc___nitc__CodeWriter___add_decl(var363, var367); /* Direct call abstract_compiler$CodeWriter$add_decl on <var363:CodeWriter>*/
5033 }
5034 {
5035 { /* Inline abstract_compiler$AbstractCompilerVisitor$compiler (var_v) on <var_v:AbstractCompilerVisitor> */
5036 var376 = var_v->attrs[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on <var_v:AbstractCompilerVisitor> */
5037 if (unlikely(var376 == NULL)) {
5038 if(catchStack.cursor >= 0){
5039 longjmp(catchStack.envs[catchStack.cursor], 1);
5040 }
5041 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5042 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1214);
5043 fatal_exit(1);
5044 }
5045 var374 = var376;
5046 RET_LABEL375:(void)0;
5047 }
5048 }
5049 {
5050 { /* Inline abstract_compiler$AbstractCompiler$header (var374) on <var374:AbstractCompiler> */
5051 var379 = var374->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <var374:AbstractCompiler> */
5052 if (unlikely(var379 == NULL)) {
5053 if(catchStack.cursor >= 0){
5054 longjmp(catchStack.envs[catchStack.cursor], 1);
5055 }
5056 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
5057 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 599);
5058 fatal_exit(1);
5059 }
5060 var377 = var379;
5061 RET_LABEL378:(void)0;
5062 }
5063 }
5064 if (likely(varonce380!=NULL)) {
5065 var381 = varonce380;
5066 } else {
5067 var382 = "extern long count_isset_checks;";
5068 var384 = (val*)(31l<<2|1);
5069 var385 = (val*)(31l<<2|1);
5070 var386 = (val*)((long)(0)<<2|3);
5071 var387 = (val*)((long)(0)<<2|3);
5072 var383 = core__flat___CString___to_s_unsafe(var382, var384, var385, var386, var387);
5073 var381 = var383;
5074 varonce380 = var381;
5075 }
5076 {
5077 nitc___nitc__CodeWriter___add_decl(var377, var381); /* Direct call abstract_compiler$CodeWriter$add_decl on <var377:CodeWriter>*/
5078 }
5079 } else {
5080 }
5081 if (likely(varonce388!=NULL)) {
5082 var389 = varonce388;
5083 } else {
5084 var390 = "static void show_backtrace(void) {";
5085 var392 = (val*)(34l<<2|1);
5086 var393 = (val*)(34l<<2|1);
5087 var394 = (val*)((long)(0)<<2|3);
5088 var395 = (val*)((long)(0)<<2|3);
5089 var391 = core__flat___CString___to_s_unsafe(var390, var392, var393, var394, var395);
5090 var389 = var391;
5091 varonce388 = var389;
5092 }
5093 {
5094 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var389); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5095 }
5096 {
5097 var396 = nitc___nitc__Platform___supports_libunwind(var_platform);
5098 }
5099 if (var396){
5100 if (likely(varonce397!=NULL)) {
5101 var398 = varonce397;
5102 } else {
5103 var399 = "#ifndef NO_STACKTRACE";
5104 var401 = (val*)(21l<<2|1);
5105 var402 = (val*)(21l<<2|1);
5106 var403 = (val*)((long)(0)<<2|3);
5107 var404 = (val*)((long)(0)<<2|3);
5108 var400 = core__flat___CString___to_s_unsafe(var399, var401, var402, var403, var404);
5109 var398 = var400;
5110 varonce397 = var398;
5111 }
5112 {
5113 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var398); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5114 }
5115 if (likely(varonce405!=NULL)) {
5116 var406 = varonce405;
5117 } else {
5118 var407 = "char* opt = getenv(\"NIT_NO_STACK\");";
5119 var409 = (val*)(35l<<2|1);
5120 var410 = (val*)(35l<<2|1);
5121 var411 = (val*)((long)(0)<<2|3);
5122 var412 = (val*)((long)(0)<<2|3);
5123 var408 = core__flat___CString___to_s_unsafe(var407, var409, var410, var411, var412);
5124 var406 = var408;
5125 varonce405 = var406;
5126 }
5127 {
5128 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var406); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5129 }
5130 if (likely(varonce413!=NULL)) {
5131 var414 = varonce413;
5132 } else {
5133 var415 = "unw_cursor_t cursor;";
5134 var417 = (val*)(20l<<2|1);
5135 var418 = (val*)(20l<<2|1);
5136 var419 = (val*)((long)(0)<<2|3);
5137 var420 = (val*)((long)(0)<<2|3);
5138 var416 = core__flat___CString___to_s_unsafe(var415, var417, var418, var419, var420);
5139 var414 = var416;
5140 varonce413 = var414;
5141 }
5142 {
5143 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var414); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5144 }
5145 if (likely(varonce421!=NULL)) {
5146 var422 = varonce421;
5147 } else {
5148 var423 = "if(opt==NULL){";
5149 var425 = (val*)(14l<<2|1);
5150 var426 = (val*)(14l<<2|1);
5151 var427 = (val*)((long)(0)<<2|3);
5152 var428 = (val*)((long)(0)<<2|3);
5153 var424 = core__flat___CString___to_s_unsafe(var423, var425, var426, var427, var428);
5154 var422 = var424;
5155 varonce421 = var422;
5156 }
5157 {
5158 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var422); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5159 }
5160 if (likely(varonce429!=NULL)) {
5161 var430 = varonce429;
5162 } else {
5163 var431 = "unw_context_t uc;";
5164 var433 = (val*)(17l<<2|1);
5165 var434 = (val*)(17l<<2|1);
5166 var435 = (val*)((long)(0)<<2|3);
5167 var436 = (val*)((long)(0)<<2|3);
5168 var432 = core__flat___CString___to_s_unsafe(var431, var433, var434, var435, var436);
5169 var430 = var432;
5170 varonce429 = var430;
5171 }
5172 {
5173 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var430); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5174 }
5175 if (likely(varonce437!=NULL)) {
5176 var438 = varonce437;
5177 } else {
5178 var439 = "unw_word_t ip;";
5179 var441 = (val*)(14l<<2|1);
5180 var442 = (val*)(14l<<2|1);
5181 var443 = (val*)((long)(0)<<2|3);
5182 var444 = (val*)((long)(0)<<2|3);
5183 var440 = core__flat___CString___to_s_unsafe(var439, var441, var442, var443, var444);
5184 var438 = var440;
5185 varonce437 = var438;
5186 }
5187 {
5188 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var438); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5189 }
5190 if (likely(varonce445!=NULL)) {
5191 var446 = varonce445;
5192 } else {
5193 var447 = "char* procname = malloc(sizeof(char) * 100);";
5194 var449 = (val*)(44l<<2|1);
5195 var450 = (val*)(44l<<2|1);
5196 var451 = (val*)((long)(0)<<2|3);
5197 var452 = (val*)((long)(0)<<2|3);
5198 var448 = core__flat___CString___to_s_unsafe(var447, var449, var450, var451, var452);
5199 var446 = var448;
5200 varonce445 = var446;
5201 }
5202 {
5203 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var446); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5204 }
5205 if (likely(varonce453!=NULL)) {
5206 var454 = varonce453;
5207 } else {
5208 var455 = "unw_getcontext(&uc);";
5209 var457 = (val*)(20l<<2|1);
5210 var458 = (val*)(20l<<2|1);
5211 var459 = (val*)((long)(0)<<2|3);
5212 var460 = (val*)((long)(0)<<2|3);
5213 var456 = core__flat___CString___to_s_unsafe(var455, var457, var458, var459, var460);
5214 var454 = var456;
5215 varonce453 = var454;
5216 }
5217 {
5218 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var454); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5219 }
5220 if (likely(varonce461!=NULL)) {
5221 var462 = varonce461;
5222 } else {
5223 var463 = "unw_init_local(&cursor, &uc);";
5224 var465 = (val*)(29l<<2|1);
5225 var466 = (val*)(29l<<2|1);
5226 var467 = (val*)((long)(0)<<2|3);
5227 var468 = (val*)((long)(0)<<2|3);
5228 var464 = core__flat___CString___to_s_unsafe(var463, var465, var466, var467, var468);
5229 var462 = var464;
5230 varonce461 = var462;
5231 }
5232 {
5233 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var462); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5234 }
5235 if (likely(varonce469!=NULL)) {
5236 var470 = varonce469;
5237 } else {
5238 var471 = "PRINT_ERROR(\"-------------------------------------------------\\n\");";
5239 var473 = (val*)(67l<<2|1);
5240 var474 = (val*)(67l<<2|1);
5241 var475 = (val*)((long)(0)<<2|3);
5242 var476 = (val*)((long)(0)<<2|3);
5243 var472 = core__flat___CString___to_s_unsafe(var471, var473, var474, var475, var476);
5244 var470 = var472;
5245 varonce469 = var470;
5246 }
5247 {
5248 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var470); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5249 }
5250 if (likely(varonce477!=NULL)) {
5251 var478 = varonce477;
5252 } else {
5253 var479 = "PRINT_ERROR(\"-- Stack Trace ------------------------------\\n\");";
5254 var481 = (val*)(67l<<2|1);
5255 var482 = (val*)(67l<<2|1);
5256 var483 = (val*)((long)(0)<<2|3);
5257 var484 = (val*)((long)(0)<<2|3);
5258 var480 = core__flat___CString___to_s_unsafe(var479, var481, var482, var483, var484);
5259 var478 = var480;
5260 varonce477 = var478;
5261 }
5262 {
5263 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var478); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5264 }
5265 if (likely(varonce485!=NULL)) {
5266 var486 = varonce485;
5267 } else {
5268 var487 = "PRINT_ERROR(\"-------------------------------------------------\\n\");";
5269 var489 = (val*)(67l<<2|1);
5270 var490 = (val*)(67l<<2|1);
5271 var491 = (val*)((long)(0)<<2|3);
5272 var492 = (val*)((long)(0)<<2|3);
5273 var488 = core__flat___CString___to_s_unsafe(var487, var489, var490, var491, var492);
5274 var486 = var488;
5275 varonce485 = var486;
5276 }
5277 {
5278 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var486); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5279 }
5280 if (likely(varonce493!=NULL)) {
5281 var494 = varonce493;
5282 } else {
5283 var495 = "while (unw_step(&cursor) > 0) {";
5284 var497 = (val*)(31l<<2|1);
5285 var498 = (val*)(31l<<2|1);
5286 var499 = (val*)((long)(0)<<2|3);
5287 var500 = (val*)((long)(0)<<2|3);
5288 var496 = core__flat___CString___to_s_unsafe(var495, var497, var498, var499, var500);
5289 var494 = var496;
5290 varonce493 = var494;
5291 }
5292 {
5293 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var494); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5294 }
5295 if (likely(varonce501!=NULL)) {
5296 var502 = varonce501;
5297 } else {
5298 var503 = "\tunw_get_proc_name(&cursor, procname, 100, &ip);";
5299 var505 = (val*)(48l<<2|1);
5300 var506 = (val*)(48l<<2|1);
5301 var507 = (val*)((long)(0)<<2|3);
5302 var508 = (val*)((long)(0)<<2|3);
5303 var504 = core__flat___CString___to_s_unsafe(var503, var505, var506, var507, var508);
5304 var502 = var504;
5305 varonce501 = var502;
5306 }
5307 {
5308 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var502); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5309 }
5310 if (likely(varonce509!=NULL)) {
5311 var510 = varonce509;
5312 } else {
5313 var511 = "\tconst char* recv = get_nit_name(procname, strlen(procname));";
5314 var513 = (val*)(61l<<2|1);
5315 var514 = (val*)(61l<<2|1);
5316 var515 = (val*)((long)(0)<<2|3);
5317 var516 = (val*)((long)(0)<<2|3);
5318 var512 = core__flat___CString___to_s_unsafe(var511, var513, var514, var515, var516);
5319 var510 = var512;
5320 varonce509 = var510;
5321 }
5322 {
5323 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var510); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5324 }
5325 if (likely(varonce517!=NULL)) {
5326 var518 = varonce517;
5327 } else {
5328 var519 = "\tif (recv != NULL){";
5329 var521 = (val*)(19l<<2|1);
5330 var522 = (val*)(19l<<2|1);
5331 var523 = (val*)((long)(0)<<2|3);
5332 var524 = (val*)((long)(0)<<2|3);
5333 var520 = core__flat___CString___to_s_unsafe(var519, var521, var522, var523, var524);
5334 var518 = var520;
5335 varonce517 = var518;
5336 }
5337 {
5338 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var518); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5339 }
5340 if (likely(varonce525!=NULL)) {
5341 var526 = varonce525;
5342 } else {
5343 var527 = "\t\tPRINT_ERROR(\"` %s\\n\", recv);";
5344 var529 = (val*)(30l<<2|1);
5345 var530 = (val*)(30l<<2|1);
5346 var531 = (val*)((long)(0)<<2|3);
5347 var532 = (val*)((long)(0)<<2|3);
5348 var528 = core__flat___CString___to_s_unsafe(var527, var529, var530, var531, var532);
5349 var526 = var528;
5350 varonce525 = var526;
5351 }
5352 {
5353 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var526); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5354 }
5355 if (likely(varonce533!=NULL)) {
5356 var534 = varonce533;
5357 } else {
5358 var535 = "\t}else{";
5359 var537 = (val*)(7l<<2|1);
5360 var538 = (val*)(7l<<2|1);
5361 var539 = (val*)((long)(0)<<2|3);
5362 var540 = (val*)((long)(0)<<2|3);
5363 var536 = core__flat___CString___to_s_unsafe(var535, var537, var538, var539, var540);
5364 var534 = var536;
5365 varonce533 = var534;
5366 }
5367 {
5368 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var534); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5369 }
5370 if (likely(varonce541!=NULL)) {
5371 var542 = varonce541;
5372 } else {
5373 var543 = "\t\tPRINT_ERROR(\"` %s\\n\", procname);";
5374 var545 = (val*)(34l<<2|1);
5375 var546 = (val*)(34l<<2|1);
5376 var547 = (val*)((long)(0)<<2|3);
5377 var548 = (val*)((long)(0)<<2|3);
5378 var544 = core__flat___CString___to_s_unsafe(var543, var545, var546, var547, var548);
5379 var542 = var544;
5380 varonce541 = var542;
5381 }
5382 {
5383 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var542); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5384 }
5385 if (likely(varonce549!=NULL)) {
5386 var550 = varonce549;
5387 } else {
5388 var551 = "\t}";
5389 var553 = (val*)(2l<<2|1);
5390 var554 = (val*)(2l<<2|1);
5391 var555 = (val*)((long)(0)<<2|3);
5392 var556 = (val*)((long)(0)<<2|3);
5393 var552 = core__flat___CString___to_s_unsafe(var551, var553, var554, var555, var556);
5394 var550 = var552;
5395 varonce549 = var550;
5396 }
5397 {
5398 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var550); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5399 }
5400 if (likely(varonce557!=NULL)) {
5401 var558 = varonce557;
5402 } else {
5403 var559 = "}";
5404 var561 = (val*)(1l<<2|1);
5405 var562 = (val*)(1l<<2|1);
5406 var563 = (val*)((long)(0)<<2|3);
5407 var564 = (val*)((long)(0)<<2|3);
5408 var560 = core__flat___CString___to_s_unsafe(var559, var561, var562, var563, var564);
5409 var558 = var560;
5410 varonce557 = var558;
5411 }
5412 {
5413 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var558); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5414 }
5415 if (likely(varonce565!=NULL)) {
5416 var566 = varonce565;
5417 } else {
5418 var567 = "PRINT_ERROR(\"-------------------------------------------------\\n\");";
5419 var569 = (val*)(67l<<2|1);
5420 var570 = (val*)(67l<<2|1);
5421 var571 = (val*)((long)(0)<<2|3);
5422 var572 = (val*)((long)(0)<<2|3);
5423 var568 = core__flat___CString___to_s_unsafe(var567, var569, var570, var571, var572);
5424 var566 = var568;
5425 varonce565 = var566;
5426 }
5427 {
5428 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var566); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5429 }
5430 if (likely(varonce573!=NULL)) {
5431 var574 = varonce573;
5432 } else {
5433 var575 = "free(procname);";
5434 var577 = (val*)(15l<<2|1);
5435 var578 = (val*)(15l<<2|1);
5436 var579 = (val*)((long)(0)<<2|3);
5437 var580 = (val*)((long)(0)<<2|3);
5438 var576 = core__flat___CString___to_s_unsafe(var575, var577, var578, var579, var580);
5439 var574 = var576;
5440 varonce573 = var574;
5441 }
5442 {
5443 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var574); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5444 }
5445 if (likely(varonce581!=NULL)) {
5446 var582 = varonce581;
5447 } else {
5448 var583 = "}";
5449 var585 = (val*)(1l<<2|1);
5450 var586 = (val*)(1l<<2|1);
5451 var587 = (val*)((long)(0)<<2|3);
5452 var588 = (val*)((long)(0)<<2|3);
5453 var584 = core__flat___CString___to_s_unsafe(var583, var585, var586, var587, var588);
5454 var582 = var584;
5455 varonce581 = var582;
5456 }
5457 {
5458 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var582); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5459 }
5460 if (likely(varonce589!=NULL)) {
5461 var590 = varonce589;
5462 } else {
5463 var591 = "#endif /* NO_STACKTRACE */";
5464 var593 = (val*)(26l<<2|1);
5465 var594 = (val*)(26l<<2|1);
5466 var595 = (val*)((long)(0)<<2|3);
5467 var596 = (val*)((long)(0)<<2|3);
5468 var592 = core__flat___CString___to_s_unsafe(var591, var593, var594, var595, var596);
5469 var590 = var592;
5470 varonce589 = var590;
5471 }
5472 {
5473 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var590); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5474 }
5475 } else {
5476 }
5477 if (likely(varonce597!=NULL)) {
5478 var598 = varonce597;
5479 } else {
5480 var599 = "}";
5481 var601 = (val*)(1l<<2|1);
5482 var602 = (val*)(1l<<2|1);
5483 var603 = (val*)((long)(0)<<2|3);
5484 var604 = (val*)((long)(0)<<2|3);
5485 var600 = core__flat___CString___to_s_unsafe(var599, var601, var602, var603, var604);
5486 var598 = var600;
5487 varonce597 = var598;
5488 }
5489 {
5490 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var598); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5491 }
5492 if (likely(varonce605!=NULL)) {
5493 var606 = varonce605;
5494 } else {
5495 var607 = "void sig_handler(int signo){";
5496 var609 = (val*)(28l<<2|1);
5497 var610 = (val*)(28l<<2|1);
5498 var611 = (val*)((long)(0)<<2|3);
5499 var612 = (val*)((long)(0)<<2|3);
5500 var608 = core__flat___CString___to_s_unsafe(var607, var609, var610, var611, var612);
5501 var606 = var608;
5502 varonce605 = var606;
5503 }
5504 {
5505 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var606); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5506 }
5507 if (likely(varonce613!=NULL)) {
5508 var614 = varonce613;
5509 } else {
5510 var615 = "#ifdef _WIN32";
5511 var617 = (val*)(13l<<2|1);
5512 var618 = (val*)(13l<<2|1);
5513 var619 = (val*)((long)(0)<<2|3);
5514 var620 = (val*)((long)(0)<<2|3);
5515 var616 = core__flat___CString___to_s_unsafe(var615, var617, var618, var619, var620);
5516 var614 = var616;
5517 varonce613 = var614;
5518 }
5519 {
5520 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var614); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5521 }
5522 if (likely(varonce621!=NULL)) {
5523 var622 = varonce621;
5524 } else {
5525 var623 = "PRINT_ERROR(\"Caught signal : %s\\n\", signo);";
5526 var625 = (val*)(43l<<2|1);
5527 var626 = (val*)(43l<<2|1);
5528 var627 = (val*)((long)(0)<<2|3);
5529 var628 = (val*)((long)(0)<<2|3);
5530 var624 = core__flat___CString___to_s_unsafe(var623, var625, var626, var627, var628);
5531 var622 = var624;
5532 varonce621 = var622;
5533 }
5534 {
5535 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var622); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5536 }
5537 if (likely(varonce629!=NULL)) {
5538 var630 = varonce629;
5539 } else {
5540 var631 = "#else";
5541 var633 = (val*)(5l<<2|1);
5542 var634 = (val*)(5l<<2|1);
5543 var635 = (val*)((long)(0)<<2|3);
5544 var636 = (val*)((long)(0)<<2|3);
5545 var632 = core__flat___CString___to_s_unsafe(var631, var633, var634, var635, var636);
5546 var630 = var632;
5547 varonce629 = var630;
5548 }
5549 {
5550 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var630); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5551 }
5552 if (likely(varonce637!=NULL)) {
5553 var638 = varonce637;
5554 } else {
5555 var639 = "PRINT_ERROR(\"Caught signal : %s\\n\", strsignal(signo));";
5556 var641 = (val*)(54l<<2|1);
5557 var642 = (val*)(54l<<2|1);
5558 var643 = (val*)((long)(0)<<2|3);
5559 var644 = (val*)((long)(0)<<2|3);
5560 var640 = core__flat___CString___to_s_unsafe(var639, var641, var642, var643, var644);
5561 var638 = var640;
5562 varonce637 = var638;
5563 }
5564 {
5565 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var638); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5566 }
5567 if (likely(varonce645!=NULL)) {
5568 var646 = varonce645;
5569 } else {
5570 var647 = "#endif";
5571 var649 = (val*)(6l<<2|1);
5572 var650 = (val*)(6l<<2|1);
5573 var651 = (val*)((long)(0)<<2|3);
5574 var652 = (val*)((long)(0)<<2|3);
5575 var648 = core__flat___CString___to_s_unsafe(var647, var649, var650, var651, var652);
5576 var646 = var648;
5577 varonce645 = var646;
5578 }
5579 {
5580 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var646); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5581 }
5582 if (likely(varonce653!=NULL)) {
5583 var654 = varonce653;
5584 } else {
5585 var655 = "show_backtrace();";
5586 var657 = (val*)(17l<<2|1);
5587 var658 = (val*)(17l<<2|1);
5588 var659 = (val*)((long)(0)<<2|3);
5589 var660 = (val*)((long)(0)<<2|3);
5590 var656 = core__flat___CString___to_s_unsafe(var655, var657, var658, var659, var660);
5591 var654 = var656;
5592 varonce653 = var654;
5593 }
5594 {
5595 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var654); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5596 }
5597 if (likely(varonce661!=NULL)) {
5598 var662 = varonce661;
5599 } else {
5600 var663 = "signal(signo, SIG_DFL);";
5601 var665 = (val*)(23l<<2|1);
5602 var666 = (val*)(23l<<2|1);
5603 var667 = (val*)((long)(0)<<2|3);
5604 var668 = (val*)((long)(0)<<2|3);
5605 var664 = core__flat___CString___to_s_unsafe(var663, var665, var666, var667, var668);
5606 var662 = var664;
5607 varonce661 = var662;
5608 }
5609 {
5610 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var662); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5611 }
5612 if (likely(varonce669!=NULL)) {
5613 var670 = varonce669;
5614 } else {
5615 var671 = "#ifndef _WIN32";
5616 var673 = (val*)(14l<<2|1);
5617 var674 = (val*)(14l<<2|1);
5618 var675 = (val*)((long)(0)<<2|3);
5619 var676 = (val*)((long)(0)<<2|3);
5620 var672 = core__flat___CString___to_s_unsafe(var671, var673, var674, var675, var676);
5621 var670 = var672;
5622 varonce669 = var670;
5623 }
5624 {
5625 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var670); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5626 }
5627 if (likely(varonce677!=NULL)) {
5628 var678 = varonce677;
5629 } else {
5630 var679 = "kill(getpid(), signo);";
5631 var681 = (val*)(22l<<2|1);
5632 var682 = (val*)(22l<<2|1);
5633 var683 = (val*)((long)(0)<<2|3);
5634 var684 = (val*)((long)(0)<<2|3);
5635 var680 = core__flat___CString___to_s_unsafe(var679, var681, var682, var683, var684);
5636 var678 = var680;
5637 varonce677 = var678;
5638 }
5639 {
5640 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var678); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5641 }
5642 if (likely(varonce685!=NULL)) {
5643 var686 = varonce685;
5644 } else {
5645 var687 = "#endif";
5646 var689 = (val*)(6l<<2|1);
5647 var690 = (val*)(6l<<2|1);
5648 var691 = (val*)((long)(0)<<2|3);
5649 var692 = (val*)((long)(0)<<2|3);
5650 var688 = core__flat___CString___to_s_unsafe(var687, var689, var690, var691, var692);
5651 var686 = var688;
5652 varonce685 = var686;
5653 }
5654 {
5655 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var686); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5656 }
5657 if (likely(varonce693!=NULL)) {
5658 var694 = varonce693;
5659 } else {
5660 var695 = "}";
5661 var697 = (val*)(1l<<2|1);
5662 var698 = (val*)(1l<<2|1);
5663 var699 = (val*)((long)(0)<<2|3);
5664 var700 = (val*)((long)(0)<<2|3);
5665 var696 = core__flat___CString___to_s_unsafe(var695, var697, var698, var699, var700);
5666 var694 = var696;
5667 varonce693 = var694;
5668 }
5669 {
5670 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var694); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5671 }
5672 if (likely(varonce701!=NULL)) {
5673 var702 = varonce701;
5674 } else {
5675 var703 = "void fatal_exit(int status) {";
5676 var705 = (val*)(29l<<2|1);
5677 var706 = (val*)(29l<<2|1);
5678 var707 = (val*)((long)(0)<<2|3);
5679 var708 = (val*)((long)(0)<<2|3);
5680 var704 = core__flat___CString___to_s_unsafe(var703, var705, var706, var707, var708);
5681 var702 = var704;
5682 varonce701 = var702;
5683 }
5684 {
5685 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var702); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5686 }
5687 if (likely(varonce709!=NULL)) {
5688 var710 = varonce709;
5689 } else {
5690 var711 = "show_backtrace();";
5691 var713 = (val*)(17l<<2|1);
5692 var714 = (val*)(17l<<2|1);
5693 var715 = (val*)((long)(0)<<2|3);
5694 var716 = (val*)((long)(0)<<2|3);
5695 var712 = core__flat___CString___to_s_unsafe(var711, var713, var714, var715, var716);
5696 var710 = var712;
5697 varonce709 = var710;
5698 }
5699 {
5700 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var710); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5701 }
5702 if (likely(varonce717!=NULL)) {
5703 var718 = varonce717;
5704 } else {
5705 var719 = "exit(status);";
5706 var721 = (val*)(13l<<2|1);
5707 var722 = (val*)(13l<<2|1);
5708 var723 = (val*)((long)(0)<<2|3);
5709 var724 = (val*)((long)(0)<<2|3);
5710 var720 = core__flat___CString___to_s_unsafe(var719, var721, var722, var723, var724);
5711 var718 = var720;
5712 varonce717 = var718;
5713 }
5714 {
5715 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var718); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5716 }
5717 if (likely(varonce725!=NULL)) {
5718 var726 = varonce725;
5719 } else {
5720 var727 = "}";
5721 var729 = (val*)(1l<<2|1);
5722 var730 = (val*)(1l<<2|1);
5723 var731 = (val*)((long)(0)<<2|3);
5724 var732 = (val*)((long)(0)<<2|3);
5725 var728 = core__flat___CString___to_s_unsafe(var727, var729, var730, var731, var732);
5726 var726 = var728;
5727 varonce725 = var726;
5728 }
5729 {
5730 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var726); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5731 }
5732 {
5733 { /* Inline abstract_compiler$AbstractCompiler$compile_before_main (self,var_v) on <self:AbstractCompiler> */
5734 /* Covariant cast for argument 0 (v) <var_v:AbstractCompilerVisitor> isa VISITOR */
5735 /* <var_v:AbstractCompilerVisitor> isa VISITOR */
5736 type_struct = self->type->resolution_table->types[COLOR_nitc__abstract_compiler__AbstractCompiler__VISITOR];
5737 cltype = type_struct->color;
5738 idtype = type_struct->id;
5739 if(cltype >= var_v->type->table_size) {
5740 var734 = 0;
5741 } else {
5742 var734 = var_v->type->type_table[cltype] == idtype;
5743 }
5744 if (unlikely(!var734)) {
5745 var_class_name = var_v == NULL ? "null" : var_v->type->name;
5746 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name);
5747 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 803);
5748 fatal_exit(1);
5749 }
5750 var_v735 = var_v;
5751 RET_LABEL733:(void)0;
5752 }
5753 }
5754 if (var_no_main){
5755 if (likely(varonce736!=NULL)) {
5756 var737 = varonce736;
5757 } else {
5758 var738 = "int nit_main(int argc, char** argv) {";
5759 var740 = (val*)(37l<<2|1);
5760 var741 = (val*)(37l<<2|1);
5761 var742 = (val*)((long)(0)<<2|3);
5762 var743 = (val*)((long)(0)<<2|3);
5763 var739 = core__flat___CString___to_s_unsafe(var738, var740, var741, var742, var743);
5764 var737 = var739;
5765 varonce736 = var737;
5766 }
5767 {
5768 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var737); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5769 }
5770 } else {
5771 if (likely(varonce744!=NULL)) {
5772 var745 = varonce744;
5773 } else {
5774 var746 = "int main(int argc, char** argv) {";
5775 var748 = (val*)(33l<<2|1);
5776 var749 = (val*)(33l<<2|1);
5777 var750 = (val*)((long)(0)<<2|3);
5778 var751 = (val*)((long)(0)<<2|3);
5779 var747 = core__flat___CString___to_s_unsafe(var746, var748, var749, var750, var751);
5780 var745 = var747;
5781 varonce744 = var745;
5782 }
5783 {
5784 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var745); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
5785 }
5786 }
5787 {
5788 { /* Inline abstract_compiler$AbstractCompiler$compile_begin_main (self,var_v) on <self:AbstractCompiler> */
5789 /* Covariant cast for argument 0 (v) <var_v:AbstractCompilerVisitor> isa VISITOR */
5790 /* <var_v:AbstractCompilerVisitor> isa VISITOR */
5791 type_struct756 = self->type->resolution_table->types[COLOR_nitc__abstract_compiler__AbstractCompiler__VISITOR];
5792 cltype754 = type_struct756->color;
5793 idtype755 = type_struct756->id;
5794 if(cltype754 >= var_v->type->table_size) {
5795 var753 = 0;
5796 } else {
5797 var753 = var_v->type->type_table[cltype754] == idtype755;
5798 }
5799 if (unlikely(!var753)) {
5800 var_class_name757 = var_v == NULL ? "null" : var_v->type->name;
5801 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name757);
5802 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 810);
5803 fatal_exit(1);
5804 }
5805 var_v758 = var_v;
5806 RET_LABEL752:(void)0;
5807 }
5808 }
5809 if (likely(varonce759!=NULL)) {
5810 var760 = varonce759;
5811 } else {
5812 var761 = "#if !defined(__ANDROID__) && !defined(TARGET_OS_IPHONE)";
5813 var763 = (val*)(55l<<2|1);
5814 var764 = (val*)(55l<<2|1);
5815 var765 = (val*)((long)(0)<<2|3);
5816 var766 = (val*)((long)(0)<<2|3);
5817 var762 = core__flat___CString___to_s_unsafe(var761, var763, var764, var765, var766);
5818 var760 = var762;
5819 varonce759 = var760;
5820 }
5821 {
5822 nitc___nitc__AbstractCompilerVisitor___add(var_v, var760); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
5823 }
5824 if (likely(varonce767!=NULL)) {
5825 var768 = varonce767;
5826 } else {
5827 var769 = "signal(SIGABRT, sig_handler);";
5828 var771 = (val*)(29l<<2|1);
5829 var772 = (val*)(29l<<2|1);
5830 var773 = (val*)((long)(0)<<2|3);
5831 var774 = (val*)((long)(0)<<2|3);
5832 var770 = core__flat___CString___to_s_unsafe(var769, var771, var772, var773, var774);
5833 var768 = var770;
5834 varonce767 = var768;
5835 }
5836 {
5837 nitc___nitc__AbstractCompilerVisitor___add(var_v, var768); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
5838 }
5839 if (likely(varonce775!=NULL)) {
5840 var776 = varonce775;
5841 } else {
5842 var777 = "signal(SIGFPE, sig_handler);";
5843 var779 = (val*)(28l<<2|1);
5844 var780 = (val*)(28l<<2|1);
5845 var781 = (val*)((long)(0)<<2|3);
5846 var782 = (val*)((long)(0)<<2|3);
5847 var778 = core__flat___CString___to_s_unsafe(var777, var779, var780, var781, var782);
5848 var776 = var778;
5849 varonce775 = var776;
5850 }
5851 {
5852 nitc___nitc__AbstractCompilerVisitor___add(var_v, var776); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
5853 }
5854 if (likely(varonce783!=NULL)) {
5855 var784 = varonce783;
5856 } else {
5857 var785 = "signal(SIGILL, sig_handler);";
5858 var787 = (val*)(28l<<2|1);
5859 var788 = (val*)(28l<<2|1);
5860 var789 = (val*)((long)(0)<<2|3);
5861 var790 = (val*)((long)(0)<<2|3);
5862 var786 = core__flat___CString___to_s_unsafe(var785, var787, var788, var789, var790);
5863 var784 = var786;
5864 varonce783 = var784;
5865 }
5866 {
5867 nitc___nitc__AbstractCompilerVisitor___add(var_v, var784); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
5868 }
5869 if (likely(varonce791!=NULL)) {
5870 var792 = varonce791;
5871 } else {
5872 var793 = "signal(SIGINT, sig_handler);";
5873 var795 = (val*)(28l<<2|1);
5874 var796 = (val*)(28l<<2|1);
5875 var797 = (val*)((long)(0)<<2|3);
5876 var798 = (val*)((long)(0)<<2|3);
5877 var794 = core__flat___CString___to_s_unsafe(var793, var795, var796, var797, var798);
5878 var792 = var794;
5879 varonce791 = var792;
5880 }
5881 {
5882 nitc___nitc__AbstractCompilerVisitor___add(var_v, var792); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
5883 }
5884 if (likely(varonce799!=NULL)) {
5885 var800 = varonce799;
5886 } else {
5887 var801 = "signal(SIGTERM, sig_handler);";
5888 var803 = (val*)(29l<<2|1);
5889 var804 = (val*)(29l<<2|1);
5890 var805 = (val*)((long)(0)<<2|3);
5891 var806 = (val*)((long)(0)<<2|3);
5892 var802 = core__flat___CString___to_s_unsafe(var801, var803, var804, var805, var806);
5893 var800 = var802;
5894 varonce799 = var800;
5895 }
5896 {
5897 nitc___nitc__AbstractCompilerVisitor___add(var_v, var800); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
5898 }
5899 if (likely(varonce807!=NULL)) {
5900 var808 = varonce807;
5901 } else {
5902 var809 = "signal(SIGSEGV, sig_handler);";
5903 var811 = (val*)(29l<<2|1);
5904 var812 = (val*)(29l<<2|1);
5905 var813 = (val*)((long)(0)<<2|3);
5906 var814 = (val*)((long)(0)<<2|3);
5907 var810 = core__flat___CString___to_s_unsafe(var809, var811, var812, var813, var814);
5908 var808 = var810;
5909 varonce807 = var808;
5910 }
5911 {
5912 nitc___nitc__AbstractCompilerVisitor___add(var_v, var808); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
5913 }
5914 if (likely(varonce815!=NULL)) {
5915 var816 = varonce815;
5916 } else {
5917 var817 = "#endif";
5918 var819 = (val*)(6l<<2|1);
5919 var820 = (val*)(6l<<2|1);
5920 var821 = (val*)((long)(0)<<2|3);
5921 var822 = (val*)((long)(0)<<2|3);
5922 var818 = core__flat___CString___to_s_unsafe(var817, var819, var820, var821, var822);
5923 var816 = var818;
5924 varonce815 = var816;
5925 }
5926 {
5927 nitc___nitc__AbstractCompilerVisitor___add(var_v, var816); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
5928 }
5929 if (likely(varonce823!=NULL)) {
5930 var824 = varonce823;
5931 } else {
5932 var825 = "#ifndef _WIN32";
5933 var827 = (val*)(14l<<2|1);
5934 var828 = (val*)(14l<<2|1);
5935 var829 = (val*)((long)(0)<<2|3);
5936 var830 = (val*)((long)(0)<<2|3);
5937 var826 = core__flat___CString___to_s_unsafe(var825, var827, var828, var829, var830);
5938 var824 = var826;
5939 varonce823 = var824;
5940 }
5941 {
5942 nitc___nitc__AbstractCompilerVisitor___add(var_v, var824); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
5943 }
5944 if (likely(varonce831!=NULL)) {
5945 var832 = varonce831;
5946 } else {
5947 var833 = "signal(SIGPIPE, SIG_IGN);";
5948 var835 = (val*)(25l<<2|1);
5949 var836 = (val*)(25l<<2|1);
5950 var837 = (val*)((long)(0)<<2|3);
5951 var838 = (val*)((long)(0)<<2|3);
5952 var834 = core__flat___CString___to_s_unsafe(var833, var835, var836, var837, var838);
5953 var832 = var834;
5954 varonce831 = var832;
5955 }
5956 {
5957 nitc___nitc__AbstractCompilerVisitor___add(var_v, var832); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
5958 }
5959 if (likely(varonce839!=NULL)) {
5960 var840 = varonce839;
5961 } else {
5962 var841 = "#endif";
5963 var843 = (val*)(6l<<2|1);
5964 var844 = (val*)(6l<<2|1);
5965 var845 = (val*)((long)(0)<<2|3);
5966 var846 = (val*)((long)(0)<<2|3);
5967 var842 = core__flat___CString___to_s_unsafe(var841, var843, var844, var845, var846);
5968 var840 = var842;
5969 varonce839 = var840;
5970 }
5971 {
5972 nitc___nitc__AbstractCompilerVisitor___add(var_v, var840); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
5973 }
5974 if (likely(varonce847!=NULL)) {
5975 var848 = varonce847;
5976 } else {
5977 var849 = "glob_argc = argc; glob_argv = argv;";
5978 var851 = (val*)(35l<<2|1);
5979 var852 = (val*)(35l<<2|1);
5980 var853 = (val*)((long)(0)<<2|3);
5981 var854 = (val*)((long)(0)<<2|3);
5982 var850 = core__flat___CString___to_s_unsafe(var849, var851, var852, var853, var854);
5983 var848 = var850;
5984 varonce847 = var848;
5985 }
5986 {
5987 nitc___nitc__AbstractCompilerVisitor___add(var_v, var848); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
5988 }
5989 if (likely(varonce855!=NULL)) {
5990 var856 = varonce855;
5991 } else {
5992 var857 = "catchStack.cursor = -1;";
5993 var859 = (val*)(23l<<2|1);
5994 var860 = (val*)(23l<<2|1);
5995 var861 = (val*)((long)(0)<<2|3);
5996 var862 = (val*)((long)(0)<<2|3);
5997 var858 = core__flat___CString___to_s_unsafe(var857, var859, var860, var861, var862);
5998 var856 = var858;
5999 varonce855 = var856;
6000 }
6001 {
6002 nitc___nitc__AbstractCompilerVisitor___add(var_v, var856); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
6003 }
6004 if (likely(varonce863!=NULL)) {
6005 var864 = varonce863;
6006 } else {
6007 var865 = "initialize_gc_option();";
6008 var867 = (val*)(23l<<2|1);
6009 var868 = (val*)(23l<<2|1);
6010 var869 = (val*)((long)(0)<<2|3);
6011 var870 = (val*)((long)(0)<<2|3);
6012 var866 = core__flat___CString___to_s_unsafe(var865, var867, var868, var869, var870);
6013 var864 = var866;
6014 varonce863 = var864;
6015 }
6016 {
6017 nitc___nitc__AbstractCompilerVisitor___add(var_v, var864); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
6018 }
6019 if (likely(varonce871!=NULL)) {
6020 var872 = varonce871;
6021 } else {
6022 var873 = "initialize_nitni_global_refs();";
6023 var875 = (val*)(31l<<2|1);
6024 var876 = (val*)(31l<<2|1);
6025 var877 = (val*)((long)(0)<<2|3);
6026 var878 = (val*)((long)(0)<<2|3);
6027 var874 = core__flat___CString___to_s_unsafe(var873, var875, var876, var877, var878);
6028 var872 = var874;
6029 varonce871 = var872;
6030 }
6031 {
6032 nitc___nitc__AbstractCompilerVisitor___add(var_v, var872); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
6033 }
6034 {
6035 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:AbstractCompiler> */
6036 var881 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:AbstractCompiler> */
6037 if (unlikely(var881 == NULL)) {
6038 if(catchStack.cursor >= 0){
6039 longjmp(catchStack.envs[catchStack.cursor], 1);
6040 }
6041 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6042 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 545);
6043 fatal_exit(1);
6044 }
6045 var879 = var881;
6046 RET_LABEL880:(void)0;
6047 }
6048 }
6049 {
6050 var882 = nitc__model___MModule___sys_type(var879);
6051 }
6052 var_main_type = var882;
6053 if (var_main_type == NULL) {
6054 var883 = 0; /* is null */
6055 } else {
6056 var883 = 1; /* arg is null and recv is not */
6057 }
6058 if (0) {
6059 { /* Inline kernel$Object$!= (var_main_type,((val*)NULL)) on <var_main_type:nullable MClassType> */
6060 var_other = ((val*)NULL);
6061 {
6062 var886 = ((short int(*)(val* self, val* p0))(var_main_type->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_main_type, var_other); /* == on <var_main_type:nullable MClassType(MClassType)>*/
6063 }
6064 var887 = !var886;
6065 var884 = var887;
6066 goto RET_LABEL885;
6067 RET_LABEL885:(void)0;
6068 }
6069 var883 = var884;
6070 }
6071 if (var883){
6072 {
6073 { /* Inline abstract_compiler$AbstractCompilerVisitor$compiler (var_v) on <var_v:AbstractCompilerVisitor> */
6074 var890 = var_v->attrs[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on <var_v:AbstractCompilerVisitor> */
6075 if (unlikely(var890 == NULL)) {
6076 if(catchStack.cursor >= 0){
6077 longjmp(catchStack.envs[catchStack.cursor], 1);
6078 }
6079 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6080 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1214);
6081 fatal_exit(1);
6082 }
6083 var888 = var890;
6084 RET_LABEL889:(void)0;
6085 }
6086 }
6087 {
6088 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (var888) on <var888:AbstractCompiler> */
6089 var893 = var888->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <var888:AbstractCompiler> */
6090 if (unlikely(var893 == NULL)) {
6091 if(catchStack.cursor >= 0){
6092 longjmp(catchStack.envs[catchStack.cursor], 1);
6093 }
6094 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6095 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 545);
6096 fatal_exit(1);
6097 }
6098 var891 = var893;
6099 RET_LABEL892:(void)0;
6100 }
6101 }
6102 var_mainmodule = var891;
6103 {
6104 var894 = ((val*(*)(val* self, val* p0))(var_v->class->vft[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor__init_instance]))(var_v, var_main_type); /* init_instance on <var_v:AbstractCompilerVisitor>*/
6105 }
6106 var_glob_sys = var894;
6107 if (unlikely(varonce895==NULL)) {
6108 var896 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
6109 if (likely(varonce897!=NULL)) {
6110 var898 = varonce897;
6111 } else {
6112 var899 = "glob_sys = ";
6113 var901 = (val*)(11l<<2|1);
6114 var902 = (val*)(11l<<2|1);
6115 var903 = (val*)((long)(0)<<2|3);
6116 var904 = (val*)((long)(0)<<2|3);
6117 var900 = core__flat___CString___to_s_unsafe(var899, var901, var902, var903, var904);
6118 var898 = var900;
6119 varonce897 = var898;
6120 }
6121 ((struct instance_core__NativeArray*)var896)->values[0]=var898;
6122 if (likely(varonce905!=NULL)) {
6123 var906 = varonce905;
6124 } else {
6125 var907 = ";";
6126 var909 = (val*)(1l<<2|1);
6127 var910 = (val*)(1l<<2|1);
6128 var911 = (val*)((long)(0)<<2|3);
6129 var912 = (val*)((long)(0)<<2|3);
6130 var908 = core__flat___CString___to_s_unsafe(var907, var909, var910, var911, var912);
6131 var906 = var908;
6132 varonce905 = var906;
6133 }
6134 ((struct instance_core__NativeArray*)var896)->values[2]=var906;
6135 } else {
6136 var896 = varonce895;
6137 varonce895 = NULL;
6138 }
6139 {
6140 var913 = ((val*(*)(val* self))(var_glob_sys->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_glob_sys); /* to_s on <var_glob_sys:RuntimeVariable>*/
6141 }
6142 ((struct instance_core__NativeArray*)var896)->values[1]=var913;
6143 {
6144 var914 = ((val*(*)(val* self))(var896->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var896); /* native_to_s on <var896:NativeArray[String]>*/
6145 }
6146 varonce895 = var896;
6147 {
6148 nitc___nitc__AbstractCompilerVisitor___add(var_v, var914); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
6149 }
6150 if (likely(varonce915!=NULL)) {
6151 var916 = varonce915;
6152 } else {
6153 var917 = "init";
6154 var919 = (val*)(4l<<2|1);
6155 var920 = (val*)(4l<<2|1);
6156 var921 = (val*)((long)(0)<<2|3);
6157 var922 = (val*)((long)(0)<<2|3);
6158 var918 = core__flat___CString___to_s_unsafe(var917, var919, var920, var921, var922);
6159 var916 = var918;
6160 varonce915 = var916;
6161 }
6162 {
6163 { /* Inline model$MClassType$mclass (var_main_type) on <var_main_type:nullable MClassType(MClassType)> */
6164 var925 = var_main_type->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <var_main_type:nullable MClassType(MClassType)> */
6165 if (unlikely(var925 == NULL)) {
6166 if(catchStack.cursor >= 0){
6167 longjmp(catchStack.envs[catchStack.cursor], 1);
6168 }
6169 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6170 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1197);
6171 fatal_exit(1);
6172 }
6173 var923 = var925;
6174 RET_LABEL924:(void)0;
6175 }
6176 }
6177 {
6178 var926 = nitc__model___MModule___try_get_primitive_method(var_mainmodule, var916, var923);
6179 }
6180 var_main_init = var926;
6181 if (var_main_init == NULL) {
6182 var927 = 0; /* is null */
6183 } else {
6184 var927 = 1; /* arg is null and recv is not */
6185 }
6186 if (0) {
6187 { /* Inline kernel$Object$!= (var_main_init,((val*)NULL)) on <var_main_init:nullable MMethod> */
6188 var_other = ((val*)NULL);
6189 {
6190 var930 = ((short int(*)(val* self, val* p0))(var_main_init->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_main_init, var_other); /* == on <var_main_init:nullable MMethod(MMethod)>*/
6191 }
6192 var931 = !var930;
6193 var928 = var931;
6194 goto RET_LABEL929;
6195 RET_LABEL929:(void)0;
6196 }
6197 var927 = var928;
6198 }
6199 if (var927){
6200 var932 = NEW_core__Array(&type_core__Array__nitc__RuntimeVariable);
6201 {
6202 core___core__Array___with_capacity(var932, 1l); /* Direct call array$Array$with_capacity on <var932:Array[RuntimeVariable]>*/
6203 }
6204 var_933 = var932;
6205 {
6206 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_933, var_glob_sys); /* Direct call array$AbstractArray$push on <var_933:Array[RuntimeVariable]>*/
6207 }
6208 {
6209 var934 = nitc___nitc__SeparateCompilerVisitor___nitc__abstract_compiler__AbstractCompilerVisitor__send(var_v, var_main_init, var_933);
6210 }
6211 } else {
6212 }
6213 if (likely(varonce936!=NULL)) {
6214 var937 = varonce936;
6215 } else {
6216 var938 = "run";
6217 var940 = (val*)(3l<<2|1);
6218 var941 = (val*)(3l<<2|1);
6219 var942 = (val*)((long)(0)<<2|3);
6220 var943 = (val*)((long)(0)<<2|3);
6221 var939 = core__flat___CString___to_s_unsafe(var938, var940, var941, var942, var943);
6222 var937 = var939;
6223 varonce936 = var937;
6224 }
6225 {
6226 { /* Inline model$MClassType$mclass (var_main_type) on <var_main_type:nullable MClassType(MClassType)> */
6227 var946 = var_main_type->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <var_main_type:nullable MClassType(MClassType)> */
6228 if (unlikely(var946 == NULL)) {
6229 if(catchStack.cursor >= 0){
6230 longjmp(catchStack.envs[catchStack.cursor], 1);
6231 }
6232 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6233 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1197);
6234 fatal_exit(1);
6235 }
6236 var944 = var946;
6237 RET_LABEL945:(void)0;
6238 }
6239 }
6240 {
6241 var947 = nitc__model___MModule___try_get_primitive_method(var_mainmodule, var937, var944);
6242 }
6243 if (var947!=NULL) {
6244 var935 = var947;
6245 } else {
6246 if (likely(varonce948!=NULL)) {
6247 var949 = varonce948;
6248 } else {
6249 var950 = "main";
6250 var952 = (val*)(4l<<2|1);
6251 var953 = (val*)(4l<<2|1);
6252 var954 = (val*)((long)(0)<<2|3);
6253 var955 = (val*)((long)(0)<<2|3);
6254 var951 = core__flat___CString___to_s_unsafe(var950, var952, var953, var954, var955);
6255 var949 = var951;
6256 varonce948 = var949;
6257 }
6258 {
6259 { /* Inline model$MClassType$mclass (var_main_type) on <var_main_type:nullable MClassType(MClassType)> */
6260 var958 = var_main_type->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <var_main_type:nullable MClassType(MClassType)> */
6261 if (unlikely(var958 == NULL)) {
6262 if(catchStack.cursor >= 0){
6263 longjmp(catchStack.envs[catchStack.cursor], 1);
6264 }
6265 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6266 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1197);
6267 fatal_exit(1);
6268 }
6269 var956 = var958;
6270 RET_LABEL957:(void)0;
6271 }
6272 }
6273 {
6274 var959 = nitc__model___MModule___try_get_primitive_method(var_mainmodule, var949, var956);
6275 }
6276 var935 = var959;
6277 }
6278 var_main_method = var935;
6279 if (var_main_method == NULL) {
6280 var960 = 0; /* is null */
6281 } else {
6282 var960 = 1; /* arg is null and recv is not */
6283 }
6284 if (0) {
6285 { /* Inline kernel$Object$!= (var_main_method,((val*)NULL)) on <var_main_method:nullable MMethod> */
6286 var_other = ((val*)NULL);
6287 {
6288 var963 = ((short int(*)(val* self, val* p0))(var_main_method->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_main_method, var_other); /* == on <var_main_method:nullable MMethod(MMethod)>*/
6289 }
6290 var964 = !var963;
6291 var961 = var964;
6292 goto RET_LABEL962;
6293 RET_LABEL962:(void)0;
6294 }
6295 var960 = var961;
6296 }
6297 if (var960){
6298 var965 = NEW_core__Array(&type_core__Array__nitc__RuntimeVariable);
6299 {
6300 core___core__Array___with_capacity(var965, 1l); /* Direct call array$Array$with_capacity on <var965:Array[RuntimeVariable]>*/
6301 }
6302 var_966 = var965;
6303 {
6304 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_966, var_glob_sys); /* Direct call array$AbstractArray$push on <var_966:Array[RuntimeVariable]>*/
6305 }
6306 {
6307 var967 = nitc___nitc__SeparateCompilerVisitor___nitc__abstract_compiler__AbstractCompilerVisitor__send(var_v, var_main_method, var_966);
6308 }
6309 } else {
6310 }
6311 } else {
6312 }
6313 {
6314 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:AbstractCompiler> */
6315 var970 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:AbstractCompiler> */
6316 if (unlikely(var970 == NULL)) {
6317 if(catchStack.cursor >= 0){
6318 longjmp(catchStack.envs[catchStack.cursor], 1);
6319 }
6320 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6321 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 552);
6322 fatal_exit(1);
6323 }
6324 var968 = var970;
6325 RET_LABEL969:(void)0;
6326 }
6327 }
6328 {
6329 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var968) on <var968:ModelBuilder> */
6330 var973 = var968->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var968:ModelBuilder> */
6331 if (unlikely(var973 == NULL)) {
6332 if(catchStack.cursor >= 0){
6333 longjmp(catchStack.envs[catchStack.cursor], 1);
6334 }
6335 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6336 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 47);
6337 fatal_exit(1);
6338 }
6339 var971 = var973;
6340 RET_LABEL972:(void)0;
6341 }
6342 }
6343 {
6344 { /* Inline abstract_compiler$ToolContext$opt_typing_test_metrics (var971) on <var971:ToolContext> */
6345 var976 = var971->attrs[COLOR_nitc__abstract_compiler__ToolContext___opt_typing_test_metrics].val; /* _opt_typing_test_metrics on <var971:ToolContext> */
6346 if (unlikely(var976 == NULL)) {
6347 if(catchStack.cursor >= 0){
6348 longjmp(catchStack.envs[catchStack.cursor], 1);
6349 }
6350 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
6351 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 60);
6352 fatal_exit(1);
6353 }
6354 var974 = var976;
6355 RET_LABEL975:(void)0;
6356 }
6357 }
6358 {
6359 { /* Inline opts$Option$value (var974) on <var974:OptionBool> */
6360 var979 = var974->attrs[COLOR_opts__Option___value].val; /* _value on <var974:OptionBool> */
6361 var977 = var979;
6362 RET_LABEL978:(void)0;
6363 }
6364 }
6365 var980 = (short int)((long)(var977)>>2);
6366 if (var980){
6367 if (likely(varonce981!=NULL)) {
6368 var982 = varonce981;
6369 } else {
6370 var983 = "long count_type_test_resolved_total = 0;";
6371 var985 = (val*)(40l<<2|1);
6372 var986 = (val*)(40l<<2|1);
6373 var987 = (val*)((long)(0)<<2|3);
6374 var988 = (val*)((long)(0)<<2|3);
6375 var984 = core__flat___CString___to_s_unsafe(var983, var985, var986, var987, var988);
6376 var982 = var984;
6377 varonce981 = var982;
6378 }
6379 {
6380 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var982); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
6381 }
6382 if (likely(varonce989!=NULL)) {
6383 var990 = varonce989;
6384 } else {
6385 var991 = "long count_type_test_unresolved_total = 0;";
6386 var993 = (val*)(42l<<2|1);
6387 var994 = (val*)(42l<<2|1);
6388 var995 = (val*)((long)(0)<<2|3);
6389 var996 = (val*)((long)(0)<<2|3);
6390 var992 = core__flat___CString___to_s_unsafe(var991, var993, var994, var995, var996);
6391 var990 = var992;
6392 varonce989 = var990;
6393 }
6394 {
6395 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var990); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
6396 }
6397 if (likely(varonce997!=NULL)) {
6398 var998 = varonce997;
6399 } else {
6400 var999 = "long count_type_test_skipped_total = 0;";
6401 var1001 = (val*)(39l<<2|1);
6402 var1002 = (val*)(39l<<2|1);
6403 var1003 = (val*)((long)(0)<<2|3);
6404 var1004 = (val*)((long)(0)<<2|3);
6405 var1000 = core__flat___CString___to_s_unsafe(var999, var1001, var1002, var1003, var1004);
6406 var998 = var1000;
6407 varonce997 = var998;
6408 }
6409 {
6410 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var998); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
6411 }
6412 if (likely(varonce1005!=NULL)) {
6413 var1006 = varonce1005;
6414 } else {
6415 var1007 = "long count_type_test_total_total = 0;";
6416 var1009 = (val*)(37l<<2|1);
6417 var1010 = (val*)(37l<<2|1);
6418 var1011 = (val*)((long)(0)<<2|3);
6419 var1012 = (val*)((long)(0)<<2|3);
6420 var1008 = core__flat___CString___to_s_unsafe(var1007, var1009, var1010, var1011, var1012);
6421 var1006 = var1008;
6422 varonce1005 = var1006;
6423 }
6424 {
6425 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var1006); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
6426 }
6427 {
6428 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_tags (self) on <self:AbstractCompiler> */
6429 var1015 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_tags].val; /* _count_type_test_tags on <self:AbstractCompiler> */
6430 if (unlikely(var1015 == NULL)) {
6431 if(catchStack.cursor >= 0){
6432 longjmp(catchStack.envs[catchStack.cursor], 1);
6433 }
6434 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
6435 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1110);
6436 fatal_exit(1);
6437 }
6438 var1013 = var1015;
6439 RET_LABEL1014:(void)0;
6440 }
6441 }
6442 var_1016 = var1013;
6443 {
6444 var1017 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_1016);
6445 }
6446 var_1018 = var1017;
6447 for(;;) {
6448 {
6449 var1019 = ((short int(*)(val* self))((((long)var_1018&3)?class_info[((long)var_1018&3)]:var_1018->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_1018); /* is_ok on <var_1018:IndexedIterator[String]>*/
6450 }
6451 if (var1019){
6452 } else {
6453 goto BREAK_label1020;
6454 }
6455 {
6456 var1021 = ((val*(*)(val* self))((((long)var_1018&3)?class_info[((long)var_1018&3)]:var_1018->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_1018); /* item on <var_1018:IndexedIterator[String]>*/
6457 }
6458 var_tag1022 = var1021;
6459 if (unlikely(varonce1023==NULL)) {
6460 var1024 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
6461 if (likely(varonce1025!=NULL)) {
6462 var1026 = varonce1025;
6463 } else {
6464 var1027 = "long count_type_test_total_";
6465 var1029 = (val*)(27l<<2|1);
6466 var1030 = (val*)(27l<<2|1);
6467 var1031 = (val*)((long)(0)<<2|3);
6468 var1032 = (val*)((long)(0)<<2|3);
6469 var1028 = core__flat___CString___to_s_unsafe(var1027, var1029, var1030, var1031, var1032);
6470 var1026 = var1028;
6471 varonce1025 = var1026;
6472 }
6473 ((struct instance_core__NativeArray*)var1024)->values[0]=var1026;
6474 if (likely(varonce1033!=NULL)) {
6475 var1034 = varonce1033;
6476 } else {
6477 var1035 = ";";
6478 var1037 = (val*)(1l<<2|1);
6479 var1038 = (val*)(1l<<2|1);
6480 var1039 = (val*)((long)(0)<<2|3);
6481 var1040 = (val*)((long)(0)<<2|3);
6482 var1036 = core__flat___CString___to_s_unsafe(var1035, var1037, var1038, var1039, var1040);
6483 var1034 = var1036;
6484 varonce1033 = var1034;
6485 }
6486 ((struct instance_core__NativeArray*)var1024)->values[2]=var1034;
6487 } else {
6488 var1024 = varonce1023;
6489 varonce1023 = NULL;
6490 }
6491 ((struct instance_core__NativeArray*)var1024)->values[1]=var_tag1022;
6492 {
6493 var1041 = ((val*(*)(val* self))(var1024->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1024); /* native_to_s on <var1024:NativeArray[String]>*/
6494 }
6495 varonce1023 = var1024;
6496 {
6497 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var1041); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
6498 }
6499 if (unlikely(varonce1042==NULL)) {
6500 var1043 = NEW_core__NativeArray((int)9l, &type_core__NativeArray__core__String);
6501 if (likely(varonce1044!=NULL)) {
6502 var1045 = varonce1044;
6503 } else {
6504 var1046 = "count_type_test_total_";
6505 var1048 = (val*)(22l<<2|1);
6506 var1049 = (val*)(22l<<2|1);
6507 var1050 = (val*)((long)(0)<<2|3);
6508 var1051 = (val*)((long)(0)<<2|3);
6509 var1047 = core__flat___CString___to_s_unsafe(var1046, var1048, var1049, var1050, var1051);
6510 var1045 = var1047;
6511 varonce1044 = var1045;
6512 }
6513 ((struct instance_core__NativeArray*)var1043)->values[0]=var1045;
6514 if (likely(varonce1052!=NULL)) {
6515 var1053 = varonce1052;
6516 } else {
6517 var1054 = " = count_type_test_resolved_";
6518 var1056 = (val*)(28l<<2|1);
6519 var1057 = (val*)(28l<<2|1);
6520 var1058 = (val*)((long)(0)<<2|3);
6521 var1059 = (val*)((long)(0)<<2|3);
6522 var1055 = core__flat___CString___to_s_unsafe(var1054, var1056, var1057, var1058, var1059);
6523 var1053 = var1055;
6524 varonce1052 = var1053;
6525 }
6526 ((struct instance_core__NativeArray*)var1043)->values[2]=var1053;
6527 if (likely(varonce1060!=NULL)) {
6528 var1061 = varonce1060;
6529 } else {
6530 var1062 = " + count_type_test_unresolved_";
6531 var1064 = (val*)(30l<<2|1);
6532 var1065 = (val*)(30l<<2|1);
6533 var1066 = (val*)((long)(0)<<2|3);
6534 var1067 = (val*)((long)(0)<<2|3);
6535 var1063 = core__flat___CString___to_s_unsafe(var1062, var1064, var1065, var1066, var1067);
6536 var1061 = var1063;
6537 varonce1060 = var1061;
6538 }
6539 ((struct instance_core__NativeArray*)var1043)->values[4]=var1061;
6540 if (likely(varonce1068!=NULL)) {
6541 var1069 = varonce1068;
6542 } else {
6543 var1070 = " + count_type_test_skipped_";
6544 var1072 = (val*)(27l<<2|1);
6545 var1073 = (val*)(27l<<2|1);
6546 var1074 = (val*)((long)(0)<<2|3);
6547 var1075 = (val*)((long)(0)<<2|3);
6548 var1071 = core__flat___CString___to_s_unsafe(var1070, var1072, var1073, var1074, var1075);
6549 var1069 = var1071;
6550 varonce1068 = var1069;
6551 }
6552 ((struct instance_core__NativeArray*)var1043)->values[6]=var1069;
6553 if (likely(varonce1076!=NULL)) {
6554 var1077 = varonce1076;
6555 } else {
6556 var1078 = ";";
6557 var1080 = (val*)(1l<<2|1);
6558 var1081 = (val*)(1l<<2|1);
6559 var1082 = (val*)((long)(0)<<2|3);
6560 var1083 = (val*)((long)(0)<<2|3);
6561 var1079 = core__flat___CString___to_s_unsafe(var1078, var1080, var1081, var1082, var1083);
6562 var1077 = var1079;
6563 varonce1076 = var1077;
6564 }
6565 ((struct instance_core__NativeArray*)var1043)->values[8]=var1077;
6566 } else {
6567 var1043 = varonce1042;
6568 varonce1042 = NULL;
6569 }
6570 ((struct instance_core__NativeArray*)var1043)->values[1]=var_tag1022;
6571 ((struct instance_core__NativeArray*)var1043)->values[3]=var_tag1022;
6572 ((struct instance_core__NativeArray*)var1043)->values[5]=var_tag1022;
6573 ((struct instance_core__NativeArray*)var1043)->values[7]=var_tag1022;
6574 {
6575 var1084 = ((val*(*)(val* self))(var1043->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1043); /* native_to_s on <var1043:NativeArray[String]>*/
6576 }
6577 varonce1042 = var1043;
6578 {
6579 nitc___nitc__AbstractCompilerVisitor___add(var_v, var1084); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
6580 }
6581 if (unlikely(varonce1085==NULL)) {
6582 var1086 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
6583 if (likely(varonce1087!=NULL)) {
6584 var1088 = varonce1087;
6585 } else {
6586 var1089 = "count_type_test_resolved_total += count_type_test_resolved_";
6587 var1091 = (val*)(59l<<2|1);
6588 var1092 = (val*)(59l<<2|1);
6589 var1093 = (val*)((long)(0)<<2|3);
6590 var1094 = (val*)((long)(0)<<2|3);
6591 var1090 = core__flat___CString___to_s_unsafe(var1089, var1091, var1092, var1093, var1094);
6592 var1088 = var1090;
6593 varonce1087 = var1088;
6594 }
6595 ((struct instance_core__NativeArray*)var1086)->values[0]=var1088;
6596 if (likely(varonce1095!=NULL)) {
6597 var1096 = varonce1095;
6598 } else {
6599 var1097 = ";";
6600 var1099 = (val*)(1l<<2|1);
6601 var1100 = (val*)(1l<<2|1);
6602 var1101 = (val*)((long)(0)<<2|3);
6603 var1102 = (val*)((long)(0)<<2|3);
6604 var1098 = core__flat___CString___to_s_unsafe(var1097, var1099, var1100, var1101, var1102);
6605 var1096 = var1098;
6606 varonce1095 = var1096;
6607 }
6608 ((struct instance_core__NativeArray*)var1086)->values[2]=var1096;
6609 } else {
6610 var1086 = varonce1085;
6611 varonce1085 = NULL;
6612 }
6613 ((struct instance_core__NativeArray*)var1086)->values[1]=var_tag1022;
6614 {
6615 var1103 = ((val*(*)(val* self))(var1086->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1086); /* native_to_s on <var1086:NativeArray[String]>*/
6616 }
6617 varonce1085 = var1086;
6618 {
6619 nitc___nitc__AbstractCompilerVisitor___add(var_v, var1103); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
6620 }
6621 if (unlikely(varonce1104==NULL)) {
6622 var1105 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
6623 if (likely(varonce1106!=NULL)) {
6624 var1107 = varonce1106;
6625 } else {
6626 var1108 = "count_type_test_unresolved_total += count_type_test_unresolved_";
6627 var1110 = (val*)(63l<<2|1);
6628 var1111 = (val*)(63l<<2|1);
6629 var1112 = (val*)((long)(0)<<2|3);
6630 var1113 = (val*)((long)(0)<<2|3);
6631 var1109 = core__flat___CString___to_s_unsafe(var1108, var1110, var1111, var1112, var1113);
6632 var1107 = var1109;
6633 varonce1106 = var1107;
6634 }
6635 ((struct instance_core__NativeArray*)var1105)->values[0]=var1107;
6636 if (likely(varonce1114!=NULL)) {
6637 var1115 = varonce1114;
6638 } else {
6639 var1116 = ";";
6640 var1118 = (val*)(1l<<2|1);
6641 var1119 = (val*)(1l<<2|1);
6642 var1120 = (val*)((long)(0)<<2|3);
6643 var1121 = (val*)((long)(0)<<2|3);
6644 var1117 = core__flat___CString___to_s_unsafe(var1116, var1118, var1119, var1120, var1121);
6645 var1115 = var1117;
6646 varonce1114 = var1115;
6647 }
6648 ((struct instance_core__NativeArray*)var1105)->values[2]=var1115;
6649 } else {
6650 var1105 = varonce1104;
6651 varonce1104 = NULL;
6652 }
6653 ((struct instance_core__NativeArray*)var1105)->values[1]=var_tag1022;
6654 {
6655 var1122 = ((val*(*)(val* self))(var1105->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1105); /* native_to_s on <var1105:NativeArray[String]>*/
6656 }
6657 varonce1104 = var1105;
6658 {
6659 nitc___nitc__AbstractCompilerVisitor___add(var_v, var1122); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
6660 }
6661 if (unlikely(varonce1123==NULL)) {
6662 var1124 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
6663 if (likely(varonce1125!=NULL)) {
6664 var1126 = varonce1125;
6665 } else {
6666 var1127 = "count_type_test_skipped_total += count_type_test_skipped_";
6667 var1129 = (val*)(57l<<2|1);
6668 var1130 = (val*)(57l<<2|1);
6669 var1131 = (val*)((long)(0)<<2|3);
6670 var1132 = (val*)((long)(0)<<2|3);
6671 var1128 = core__flat___CString___to_s_unsafe(var1127, var1129, var1130, var1131, var1132);
6672 var1126 = var1128;
6673 varonce1125 = var1126;
6674 }
6675 ((struct instance_core__NativeArray*)var1124)->values[0]=var1126;
6676 if (likely(varonce1133!=NULL)) {
6677 var1134 = varonce1133;
6678 } else {
6679 var1135 = ";";
6680 var1137 = (val*)(1l<<2|1);
6681 var1138 = (val*)(1l<<2|1);
6682 var1139 = (val*)((long)(0)<<2|3);
6683 var1140 = (val*)((long)(0)<<2|3);
6684 var1136 = core__flat___CString___to_s_unsafe(var1135, var1137, var1138, var1139, var1140);
6685 var1134 = var1136;
6686 varonce1133 = var1134;
6687 }
6688 ((struct instance_core__NativeArray*)var1124)->values[2]=var1134;
6689 } else {
6690 var1124 = varonce1123;
6691 varonce1123 = NULL;
6692 }
6693 ((struct instance_core__NativeArray*)var1124)->values[1]=var_tag1022;
6694 {
6695 var1141 = ((val*(*)(val* self))(var1124->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1124); /* native_to_s on <var1124:NativeArray[String]>*/
6696 }
6697 varonce1123 = var1124;
6698 {
6699 nitc___nitc__AbstractCompilerVisitor___add(var_v, var1141); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
6700 }
6701 if (unlikely(varonce1142==NULL)) {
6702 var1143 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
6703 if (likely(varonce1144!=NULL)) {
6704 var1145 = varonce1144;
6705 } else {
6706 var1146 = "count_type_test_total_total += count_type_test_total_";
6707 var1148 = (val*)(53l<<2|1);
6708 var1149 = (val*)(53l<<2|1);
6709 var1150 = (val*)((long)(0)<<2|3);
6710 var1151 = (val*)((long)(0)<<2|3);
6711 var1147 = core__flat___CString___to_s_unsafe(var1146, var1148, var1149, var1150, var1151);
6712 var1145 = var1147;
6713 varonce1144 = var1145;
6714 }
6715 ((struct instance_core__NativeArray*)var1143)->values[0]=var1145;
6716 if (likely(varonce1152!=NULL)) {
6717 var1153 = varonce1152;
6718 } else {
6719 var1154 = ";";
6720 var1156 = (val*)(1l<<2|1);
6721 var1157 = (val*)(1l<<2|1);
6722 var1158 = (val*)((long)(0)<<2|3);
6723 var1159 = (val*)((long)(0)<<2|3);
6724 var1155 = core__flat___CString___to_s_unsafe(var1154, var1156, var1157, var1158, var1159);
6725 var1153 = var1155;
6726 varonce1152 = var1153;
6727 }
6728 ((struct instance_core__NativeArray*)var1143)->values[2]=var1153;
6729 } else {
6730 var1143 = varonce1142;
6731 varonce1142 = NULL;
6732 }
6733 ((struct instance_core__NativeArray*)var1143)->values[1]=var_tag1022;
6734 {
6735 var1160 = ((val*(*)(val* self))(var1143->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1143); /* native_to_s on <var1143:NativeArray[String]>*/
6736 }
6737 varonce1142 = var1143;
6738 {
6739 nitc___nitc__AbstractCompilerVisitor___add(var_v, var1160); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
6740 }
6741 {
6742 ((void(*)(val* self))((((long)var_1018&3)?class_info[((long)var_1018&3)]:var_1018->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_1018); /* next on <var_1018:IndexedIterator[String]>*/
6743 }
6744 }
6745 BREAK_label1020: (void)0;
6746 {
6747 ((void(*)(val* self))((((long)var_1018&3)?class_info[((long)var_1018&3)]:var_1018->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_1018); /* finish on <var_1018:IndexedIterator[String]>*/
6748 }
6749 if (likely(varonce1161!=NULL)) {
6750 var1162 = varonce1161;
6751 } else {
6752 var1163 = "printf(\"# dynamic count_type_test: total %l\\n\");";
6753 var1165 = (val*)(48l<<2|1);
6754 var1166 = (val*)(48l<<2|1);
6755 var1167 = (val*)((long)(0)<<2|3);
6756 var1168 = (val*)((long)(0)<<2|3);
6757 var1164 = core__flat___CString___to_s_unsafe(var1163, var1165, var1166, var1167, var1168);
6758 var1162 = var1164;
6759 varonce1161 = var1162;
6760 }
6761 {
6762 nitc___nitc__AbstractCompilerVisitor___add(var_v, var1162); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
6763 }
6764 if (likely(varonce1169!=NULL)) {
6765 var1170 = varonce1169;
6766 } else {
6767 var1171 = "printf(\"\\tresolved\\tunresolved\\tskipped\\ttotal\\n\");";
6768 var1173 = (val*)(51l<<2|1);
6769 var1174 = (val*)(51l<<2|1);
6770 var1175 = (val*)((long)(0)<<2|3);
6771 var1176 = (val*)((long)(0)<<2|3);
6772 var1172 = core__flat___CString___to_s_unsafe(var1171, var1173, var1174, var1175, var1176);
6773 var1170 = var1172;
6774 varonce1169 = var1170;
6775 }
6776 {
6777 nitc___nitc__AbstractCompilerVisitor___add(var_v, var1170); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
6778 }
6779 {
6780 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_tags (self) on <self:AbstractCompiler> */
6781 var1179 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_tags].val; /* _count_type_test_tags on <self:AbstractCompiler> */
6782 if (unlikely(var1179 == NULL)) {
6783 if(catchStack.cursor >= 0){
6784 longjmp(catchStack.envs[catchStack.cursor], 1);
6785 }
6786 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
6787 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1110);
6788 fatal_exit(1);
6789 }
6790 var1177 = var1179;
6791 RET_LABEL1178:(void)0;
6792 }
6793 }
6794 {
6795 var1180 = core__array___Collection___to_a(var1177);
6796 }
6797 var_tags = var1180;
6798 if (likely(varonce1181!=NULL)) {
6799 var1182 = varonce1181;
6800 } else {
6801 var1183 = "total";
6802 var1185 = (val*)(5l<<2|1);
6803 var1186 = (val*)(5l<<2|1);
6804 var1187 = (val*)((long)(0)<<2|3);
6805 var1188 = (val*)((long)(0)<<2|3);
6806 var1184 = core__flat___CString___to_s_unsafe(var1183, var1185, var1186, var1187, var1188);
6807 var1182 = var1184;
6808 varonce1181 = var1182;
6809 }
6810 {
6811 core___core__Array___core__abstract_collection__SimpleCollection__add(var_tags, var1182); /* Direct call array$Array$add on <var_tags:Array[String]>*/
6812 }
6813 var_1189 = var_tags;
6814 {
6815 var1190 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_1189);
6816 }
6817 var_1191 = var1190;
6818 for(;;) {
6819 {
6820 var1192 = ((short int(*)(val* self))((((long)var_1191&3)?class_info[((long)var_1191&3)]:var_1191->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_1191); /* is_ok on <var_1191:IndexedIterator[String]>*/
6821 }
6822 if (var1192){
6823 } else {
6824 goto BREAK_label1193;
6825 }
6826 {
6827 var1194 = ((val*(*)(val* self))((((long)var_1191&3)?class_info[((long)var_1191&3)]:var_1191->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_1191); /* item on <var_1191:IndexedIterator[String]>*/
6828 }
6829 var_tag1195 = var1194;
6830 if (unlikely(varonce1196==NULL)) {
6831 var1197 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
6832 if (likely(varonce1198!=NULL)) {
6833 var1199 = varonce1198;
6834 } else {
6835 var1200 = "printf(\"";
6836 var1202 = (val*)(8l<<2|1);
6837 var1203 = (val*)(8l<<2|1);
6838 var1204 = (val*)((long)(0)<<2|3);
6839 var1205 = (val*)((long)(0)<<2|3);
6840 var1201 = core__flat___CString___to_s_unsafe(var1200, var1202, var1203, var1204, var1205);
6841 var1199 = var1201;
6842 varonce1198 = var1199;
6843 }
6844 ((struct instance_core__NativeArray*)var1197)->values[0]=var1199;
6845 if (likely(varonce1206!=NULL)) {
6846 var1207 = varonce1206;
6847 } else {
6848 var1208 = "\");";
6849 var1210 = (val*)(3l<<2|1);
6850 var1211 = (val*)(3l<<2|1);
6851 var1212 = (val*)((long)(0)<<2|3);
6852 var1213 = (val*)((long)(0)<<2|3);
6853 var1209 = core__flat___CString___to_s_unsafe(var1208, var1210, var1211, var1212, var1213);
6854 var1207 = var1209;
6855 varonce1206 = var1207;
6856 }
6857 ((struct instance_core__NativeArray*)var1197)->values[2]=var1207;
6858 } else {
6859 var1197 = varonce1196;
6860 varonce1196 = NULL;
6861 }
6862 ((struct instance_core__NativeArray*)var1197)->values[1]=var_tag1195;
6863 {
6864 var1214 = ((val*(*)(val* self))(var1197->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1197); /* native_to_s on <var1197:NativeArray[String]>*/
6865 }
6866 varonce1196 = var1197;
6867 {
6868 nitc___nitc__AbstractCompilerVisitor___add(var_v, var1214); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
6869 }
6870 if (unlikely(varonce1215==NULL)) {
6871 var1216 = NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String);
6872 if (likely(varonce1217!=NULL)) {
6873 var1218 = varonce1217;
6874 } else {
6875 var1219 = "printf(\"\\t%ld (%.2f%%)\", count_type_test_resolved_";
6876 var1221 = (val*)(50l<<2|1);
6877 var1222 = (val*)(50l<<2|1);
6878 var1223 = (val*)((long)(0)<<2|3);
6879 var1224 = (val*)((long)(0)<<2|3);
6880 var1220 = core__flat___CString___to_s_unsafe(var1219, var1221, var1222, var1223, var1224);
6881 var1218 = var1220;
6882 varonce1217 = var1218;
6883 }
6884 ((struct instance_core__NativeArray*)var1216)->values[0]=var1218;
6885 if (likely(varonce1225!=NULL)) {
6886 var1226 = varonce1225;
6887 } else {
6888 var1227 = ", 100.0*count_type_test_resolved_";
6889 var1229 = (val*)(33l<<2|1);
6890 var1230 = (val*)(33l<<2|1);
6891 var1231 = (val*)((long)(0)<<2|3);
6892 var1232 = (val*)((long)(0)<<2|3);
6893 var1228 = core__flat___CString___to_s_unsafe(var1227, var1229, var1230, var1231, var1232);
6894 var1226 = var1228;
6895 varonce1225 = var1226;
6896 }
6897 ((struct instance_core__NativeArray*)var1216)->values[2]=var1226;
6898 if (likely(varonce1233!=NULL)) {
6899 var1234 = varonce1233;
6900 } else {
6901 var1235 = "/count_type_test_total_total);";
6902 var1237 = (val*)(30l<<2|1);
6903 var1238 = (val*)(30l<<2|1);
6904 var1239 = (val*)((long)(0)<<2|3);
6905 var1240 = (val*)((long)(0)<<2|3);
6906 var1236 = core__flat___CString___to_s_unsafe(var1235, var1237, var1238, var1239, var1240);
6907 var1234 = var1236;
6908 varonce1233 = var1234;
6909 }
6910 ((struct instance_core__NativeArray*)var1216)->values[4]=var1234;
6911 } else {
6912 var1216 = varonce1215;
6913 varonce1215 = NULL;
6914 }
6915 ((struct instance_core__NativeArray*)var1216)->values[1]=var_tag1195;
6916 ((struct instance_core__NativeArray*)var1216)->values[3]=var_tag1195;
6917 {
6918 var1241 = ((val*(*)(val* self))(var1216->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1216); /* native_to_s on <var1216:NativeArray[String]>*/
6919 }
6920 varonce1215 = var1216;
6921 {
6922 nitc___nitc__AbstractCompilerVisitor___add(var_v, var1241); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
6923 }
6924 if (unlikely(varonce1242==NULL)) {
6925 var1243 = NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String);
6926 if (likely(varonce1244!=NULL)) {
6927 var1245 = varonce1244;
6928 } else {
6929 var1246 = "printf(\"\\t%ld (%.2f%%)\", count_type_test_unresolved_";
6930 var1248 = (val*)(52l<<2|1);
6931 var1249 = (val*)(52l<<2|1);
6932 var1250 = (val*)((long)(0)<<2|3);
6933 var1251 = (val*)((long)(0)<<2|3);
6934 var1247 = core__flat___CString___to_s_unsafe(var1246, var1248, var1249, var1250, var1251);
6935 var1245 = var1247;
6936 varonce1244 = var1245;
6937 }
6938 ((struct instance_core__NativeArray*)var1243)->values[0]=var1245;
6939 if (likely(varonce1252!=NULL)) {
6940 var1253 = varonce1252;
6941 } else {
6942 var1254 = ", 100.0*count_type_test_unresolved_";
6943 var1256 = (val*)(35l<<2|1);
6944 var1257 = (val*)(35l<<2|1);
6945 var1258 = (val*)((long)(0)<<2|3);
6946 var1259 = (val*)((long)(0)<<2|3);
6947 var1255 = core__flat___CString___to_s_unsafe(var1254, var1256, var1257, var1258, var1259);
6948 var1253 = var1255;
6949 varonce1252 = var1253;
6950 }
6951 ((struct instance_core__NativeArray*)var1243)->values[2]=var1253;
6952 if (likely(varonce1260!=NULL)) {
6953 var1261 = varonce1260;
6954 } else {
6955 var1262 = "/count_type_test_total_total);";
6956 var1264 = (val*)(30l<<2|1);
6957 var1265 = (val*)(30l<<2|1);
6958 var1266 = (val*)((long)(0)<<2|3);
6959 var1267 = (val*)((long)(0)<<2|3);
6960 var1263 = core__flat___CString___to_s_unsafe(var1262, var1264, var1265, var1266, var1267);
6961 var1261 = var1263;
6962 varonce1260 = var1261;
6963 }
6964 ((struct instance_core__NativeArray*)var1243)->values[4]=var1261;
6965 } else {
6966 var1243 = varonce1242;
6967 varonce1242 = NULL;
6968 }
6969 ((struct instance_core__NativeArray*)var1243)->values[1]=var_tag1195;
6970 ((struct instance_core__NativeArray*)var1243)->values[3]=var_tag1195;
6971 {
6972 var1268 = ((val*(*)(val* self))(var1243->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1243); /* native_to_s on <var1243:NativeArray[String]>*/
6973 }
6974 varonce1242 = var1243;
6975 {
6976 nitc___nitc__AbstractCompilerVisitor___add(var_v, var1268); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
6977 }
6978 if (unlikely(varonce1269==NULL)) {
6979 var1270 = NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String);
6980 if (likely(varonce1271!=NULL)) {
6981 var1272 = varonce1271;
6982 } else {
6983 var1273 = "printf(\"\\t%ld (%.2f%%)\", count_type_test_skipped_";
6984 var1275 = (val*)(49l<<2|1);
6985 var1276 = (val*)(49l<<2|1);
6986 var1277 = (val*)((long)(0)<<2|3);
6987 var1278 = (val*)((long)(0)<<2|3);
6988 var1274 = core__flat___CString___to_s_unsafe(var1273, var1275, var1276, var1277, var1278);
6989 var1272 = var1274;
6990 varonce1271 = var1272;
6991 }
6992 ((struct instance_core__NativeArray*)var1270)->values[0]=var1272;
6993 if (likely(varonce1279!=NULL)) {
6994 var1280 = varonce1279;
6995 } else {
6996 var1281 = ", 100.0*count_type_test_skipped_";
6997 var1283 = (val*)(32l<<2|1);
6998 var1284 = (val*)(32l<<2|1);
6999 var1285 = (val*)((long)(0)<<2|3);
7000 var1286 = (val*)((long)(0)<<2|3);
7001 var1282 = core__flat___CString___to_s_unsafe(var1281, var1283, var1284, var1285, var1286);
7002 var1280 = var1282;
7003 varonce1279 = var1280;
7004 }
7005 ((struct instance_core__NativeArray*)var1270)->values[2]=var1280;
7006 if (likely(varonce1287!=NULL)) {
7007 var1288 = varonce1287;
7008 } else {
7009 var1289 = "/count_type_test_total_total);";
7010 var1291 = (val*)(30l<<2|1);
7011 var1292 = (val*)(30l<<2|1);
7012 var1293 = (val*)((long)(0)<<2|3);
7013 var1294 = (val*)((long)(0)<<2|3);
7014 var1290 = core__flat___CString___to_s_unsafe(var1289, var1291, var1292, var1293, var1294);
7015 var1288 = var1290;
7016 varonce1287 = var1288;
7017 }
7018 ((struct instance_core__NativeArray*)var1270)->values[4]=var1288;
7019 } else {
7020 var1270 = varonce1269;
7021 varonce1269 = NULL;
7022 }
7023 ((struct instance_core__NativeArray*)var1270)->values[1]=var_tag1195;
7024 ((struct instance_core__NativeArray*)var1270)->values[3]=var_tag1195;
7025 {
7026 var1295 = ((val*(*)(val* self))(var1270->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1270); /* native_to_s on <var1270:NativeArray[String]>*/
7027 }
7028 varonce1269 = var1270;
7029 {
7030 nitc___nitc__AbstractCompilerVisitor___add(var_v, var1295); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
7031 }
7032 if (unlikely(varonce1296==NULL)) {
7033 var1297 = NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String);
7034 if (likely(varonce1298!=NULL)) {
7035 var1299 = varonce1298;
7036 } else {
7037 var1300 = "printf(\"\\t%ld (%.2f%%)\\n\", count_type_test_total_";
7038 var1302 = (val*)(49l<<2|1);
7039 var1303 = (val*)(49l<<2|1);
7040 var1304 = (val*)((long)(0)<<2|3);
7041 var1305 = (val*)((long)(0)<<2|3);
7042 var1301 = core__flat___CString___to_s_unsafe(var1300, var1302, var1303, var1304, var1305);
7043 var1299 = var1301;
7044 varonce1298 = var1299;
7045 }
7046 ((struct instance_core__NativeArray*)var1297)->values[0]=var1299;
7047 if (likely(varonce1306!=NULL)) {
7048 var1307 = varonce1306;
7049 } else {
7050 var1308 = ", 100.0*count_type_test_total_";
7051 var1310 = (val*)(30l<<2|1);
7052 var1311 = (val*)(30l<<2|1);
7053 var1312 = (val*)((long)(0)<<2|3);
7054 var1313 = (val*)((long)(0)<<2|3);
7055 var1309 = core__flat___CString___to_s_unsafe(var1308, var1310, var1311, var1312, var1313);
7056 var1307 = var1309;
7057 varonce1306 = var1307;
7058 }
7059 ((struct instance_core__NativeArray*)var1297)->values[2]=var1307;
7060 if (likely(varonce1314!=NULL)) {
7061 var1315 = varonce1314;
7062 } else {
7063 var1316 = "/count_type_test_total_total);";
7064 var1318 = (val*)(30l<<2|1);
7065 var1319 = (val*)(30l<<2|1);
7066 var1320 = (val*)((long)(0)<<2|3);
7067 var1321 = (val*)((long)(0)<<2|3);
7068 var1317 = core__flat___CString___to_s_unsafe(var1316, var1318, var1319, var1320, var1321);
7069 var1315 = var1317;
7070 varonce1314 = var1315;
7071 }
7072 ((struct instance_core__NativeArray*)var1297)->values[4]=var1315;
7073 } else {
7074 var1297 = varonce1296;
7075 varonce1296 = NULL;
7076 }
7077 ((struct instance_core__NativeArray*)var1297)->values[1]=var_tag1195;
7078 ((struct instance_core__NativeArray*)var1297)->values[3]=var_tag1195;
7079 {
7080 var1322 = ((val*(*)(val* self))(var1297->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1297); /* native_to_s on <var1297:NativeArray[String]>*/
7081 }
7082 varonce1296 = var1297;
7083 {
7084 nitc___nitc__AbstractCompilerVisitor___add(var_v, var1322); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
7085 }
7086 {
7087 ((void(*)(val* self))((((long)var_1191&3)?class_info[((long)var_1191&3)]:var_1191->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_1191); /* next on <var_1191:IndexedIterator[String]>*/
7088 }
7089 }
7090 BREAK_label1193: (void)0;
7091 {
7092 ((void(*)(val* self))((((long)var_1191&3)?class_info[((long)var_1191&3)]:var_1191->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_1191); /* finish on <var_1191:IndexedIterator[String]>*/
7093 }
7094 } else {
7095 }
7096 {
7097 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:AbstractCompiler> */
7098 var1325 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:AbstractCompiler> */
7099 if (unlikely(var1325 == NULL)) {
7100 if(catchStack.cursor >= 0){
7101 longjmp(catchStack.envs[catchStack.cursor], 1);
7102 }
7103 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
7104 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 552);
7105 fatal_exit(1);
7106 }
7107 var1323 = var1325;
7108 RET_LABEL1324:(void)0;
7109 }
7110 }
7111 {
7112 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var1323) on <var1323:ModelBuilder> */
7113 var1328 = var1323->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var1323:ModelBuilder> */
7114 if (unlikely(var1328 == NULL)) {
7115 if(catchStack.cursor >= 0){
7116 longjmp(catchStack.envs[catchStack.cursor], 1);
7117 }
7118 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7119 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 47);
7120 fatal_exit(1);
7121 }
7122 var1326 = var1328;
7123 RET_LABEL1327:(void)0;
7124 }
7125 }
7126 {
7127 { /* Inline abstract_compiler$ToolContext$opt_invocation_metrics (var1326) on <var1326:ToolContext> */
7128 var1331 = var1326->attrs[COLOR_nitc__abstract_compiler__ToolContext___opt_invocation_metrics].val; /* _opt_invocation_metrics on <var1326:ToolContext> */
7129 if (unlikely(var1331 == NULL)) {
7130 if(catchStack.cursor >= 0){
7131 longjmp(catchStack.envs[catchStack.cursor], 1);
7132 }
7133 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
7134 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 62);
7135 fatal_exit(1);
7136 }
7137 var1329 = var1331;
7138 RET_LABEL1330:(void)0;
7139 }
7140 }
7141 {
7142 { /* Inline opts$Option$value (var1329) on <var1329:OptionBool> */
7143 var1334 = var1329->attrs[COLOR_opts__Option___value].val; /* _value on <var1329:OptionBool> */
7144 var1332 = var1334;
7145 RET_LABEL1333:(void)0;
7146 }
7147 }
7148 var1335 = (short int)((long)(var1332)>>2);
7149 if (var1335){
7150 if (likely(varonce1336!=NULL)) {
7151 var1337 = varonce1336;
7152 } else {
7153 var1338 = "long count_invoke_total;";
7154 var1340 = (val*)(24l<<2|1);
7155 var1341 = (val*)(24l<<2|1);
7156 var1342 = (val*)((long)(0)<<2|3);
7157 var1343 = (val*)((long)(0)<<2|3);
7158 var1339 = core__flat___CString___to_s_unsafe(var1338, var1340, var1341, var1342, var1343);
7159 var1337 = var1339;
7160 varonce1336 = var1337;
7161 }
7162 {
7163 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var1337); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:AbstractCompilerVisitor>*/
7164 }
7165 if (likely(varonce1344!=NULL)) {
7166 var1345 = varonce1344;
7167 } else {
7168 var1346 = "count_invoke_total = count_invoke_by_tables + count_invoke_by_direct + count_invoke_by_inline;";
7169 var1348 = (val*)(94l<<2|1);
7170 var1349 = (val*)(94l<<2|1);
7171 var1350 = (val*)((long)(0)<<2|3);
7172 var1351 = (val*)((long)(0)<<2|3);
7173 var1347 = core__flat___CString___to_s_unsafe(var1346, var1348, var1349, var1350, var1351);
7174 var1345 = var1347;
7175 varonce1344 = var1345;
7176 }
7177 {
7178 nitc___nitc__AbstractCompilerVisitor___add(var_v, var1345); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
7179 }
7180 if (likely(varonce1352!=NULL)) {
7181 var1353 = varonce1352;
7182 } else {
7183 var1354 = "printf(\"# dynamic count_invocation: total %ld\\n\", count_invoke_total);";
7184 var1356 = (val*)(70l<<2|1);
7185 var1357 = (val*)(70l<<2|1);
7186 var1358 = (val*)((long)(0)<<2|3);
7187 var1359 = (val*)((long)(0)<<2|3);
7188 var1355 = core__flat___CString___to_s_unsafe(var1354, var1356, var1357, var1358, var1359);
7189 var1353 = var1355;
7190 varonce1352 = var1353;
7191 }
7192 {
7193 nitc___nitc__AbstractCompilerVisitor___add(var_v, var1353); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
7194 }
7195 if (likely(varonce1360!=NULL)) {
7196 var1361 = varonce1360;
7197 } else {
7198 var1362 = "printf(\"by table: %ld (%.2f%%)\\n\", count_invoke_by_tables, 100.0*count_invoke_by_tables/count_invoke_total);";
7199 var1364 = (val*)(108l<<2|1);
7200 var1365 = (val*)(108l<<2|1);
7201 var1366 = (val*)((long)(0)<<2|3);
7202 var1367 = (val*)((long)(0)<<2|3);
7203 var1363 = core__flat___CString___to_s_unsafe(var1362, var1364, var1365, var1366, var1367);
7204 var1361 = var1363;
7205 varonce1360 = var1361;
7206 }
7207 {
7208 nitc___nitc__AbstractCompilerVisitor___add(var_v, var1361); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
7209 }
7210 if (likely(varonce1368!=NULL)) {
7211 var1369 = varonce1368;
7212 } else {
7213 var1370 = "printf(\"direct: %ld (%.2f%%)\\n\", count_invoke_by_direct, 100.0*count_invoke_by_direct/count_invoke_total);";
7214 var1372 = (val*)(108l<<2|1);
7215 var1373 = (val*)(108l<<2|1);
7216 var1374 = (val*)((long)(0)<<2|3);
7217 var1375 = (val*)((long)(0)<<2|3);
7218 var1371 = core__flat___CString___to_s_unsafe(var1370, var1372, var1373, var1374, var1375);
7219 var1369 = var1371;
7220 varonce1368 = var1369;
7221 }
7222 {
7223 nitc___nitc__AbstractCompilerVisitor___add(var_v, var1369); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
7224 }
7225 if (likely(varonce1376!=NULL)) {
7226 var1377 = varonce1376;
7227 } else {
7228 var1378 = "printf(\"inlined: %ld (%.2f%%)\\n\", count_invoke_by_inline, 100.0*count_invoke_by_inline/count_invoke_total);";
7229 var1380 = (val*)(108l<<2|1);
7230 var1381 = (val*)(108l<<2|1);
7231 var1382 = (val*)((long)(0)<<2|3);
7232 var1383 = (val*)((long)(0)<<2|3);
7233 var1379 = core__flat___CString___to_s_unsafe(var1378, var1380, var1381, var1382, var1383);
7234 var1377 = var1379;
7235 varonce1376 = var1377;
7236 }
7237 {
7238 nitc___nitc__AbstractCompilerVisitor___add(var_v, var1377); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
7239 }
7240 } else {
7241 }
7242 {
7243 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:AbstractCompiler> */
7244 var1386 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:AbstractCompiler> */
7245 if (unlikely(var1386 == NULL)) {
7246 if(catchStack.cursor >= 0){
7247 longjmp(catchStack.envs[catchStack.cursor], 1);
7248 }
7249 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
7250 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 552);
7251 fatal_exit(1);
7252 }
7253 var1384 = var1386;
7254 RET_LABEL1385:(void)0;
7255 }
7256 }
7257 {
7258 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var1384) on <var1384:ModelBuilder> */
7259 var1389 = var1384->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var1384:ModelBuilder> */
7260 if (unlikely(var1389 == NULL)) {
7261 if(catchStack.cursor >= 0){
7262 longjmp(catchStack.envs[catchStack.cursor], 1);
7263 }
7264 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7265 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 47);
7266 fatal_exit(1);
7267 }
7268 var1387 = var1389;
7269 RET_LABEL1388:(void)0;
7270 }
7271 }
7272 {
7273 { /* Inline abstract_compiler$ToolContext$opt_isset_checks_metrics (var1387) on <var1387:ToolContext> */
7274 var1392 = var1387->attrs[COLOR_nitc__abstract_compiler__ToolContext___opt_isset_checks_metrics].val; /* _opt_isset_checks_metrics on <var1387:ToolContext> */
7275 if (unlikely(var1392 == NULL)) {
7276 if(catchStack.cursor >= 0){
7277 longjmp(catchStack.envs[catchStack.cursor], 1);
7278 }
7279 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
7280 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 64);
7281 fatal_exit(1);
7282 }
7283 var1390 = var1392;
7284 RET_LABEL1391:(void)0;
7285 }
7286 }
7287 {
7288 { /* Inline opts$Option$value (var1390) on <var1390:OptionBool> */
7289 var1395 = var1390->attrs[COLOR_opts__Option___value].val; /* _value on <var1390:OptionBool> */
7290 var1393 = var1395;
7291 RET_LABEL1394:(void)0;
7292 }
7293 }
7294 var1396 = (short int)((long)(var1393)>>2);
7295 if (var1396){
7296 if (likely(varonce1397!=NULL)) {
7297 var1398 = varonce1397;
7298 } else {
7299 var1399 = "printf(\"# dynamic attribute reads: %ld\\n\", count_attr_reads);";
7300 var1401 = (val*)(61l<<2|1);
7301 var1402 = (val*)(61l<<2|1);
7302 var1403 = (val*)((long)(0)<<2|3);
7303 var1404 = (val*)((long)(0)<<2|3);
7304 var1400 = core__flat___CString___to_s_unsafe(var1399, var1401, var1402, var1403, var1404);
7305 var1398 = var1400;
7306 varonce1397 = var1398;
7307 }
7308 {
7309 nitc___nitc__AbstractCompilerVisitor___add(var_v, var1398); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
7310 }
7311 if (likely(varonce1405!=NULL)) {
7312 var1406 = varonce1405;
7313 } else {
7314 var1407 = "printf(\"# dynamic isset checks: %ld\\n\", count_isset_checks);";
7315 var1409 = (val*)(60l<<2|1);
7316 var1410 = (val*)(60l<<2|1);
7317 var1411 = (val*)((long)(0)<<2|3);
7318 var1412 = (val*)((long)(0)<<2|3);
7319 var1408 = core__flat___CString___to_s_unsafe(var1407, var1409, var1410, var1411, var1412);
7320 var1406 = var1408;
7321 varonce1405 = var1406;
7322 }
7323 {
7324 nitc___nitc__AbstractCompilerVisitor___add(var_v, var1406); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
7325 }
7326 } else {
7327 }
7328 if (likely(varonce1413!=NULL)) {
7329 var1414 = varonce1413;
7330 } else {
7331 var1415 = "return 0;";
7332 var1417 = (val*)(9l<<2|1);
7333 var1418 = (val*)(9l<<2|1);
7334 var1419 = (val*)((long)(0)<<2|3);
7335 var1420 = (val*)((long)(0)<<2|3);
7336 var1416 = core__flat___CString___to_s_unsafe(var1415, var1417, var1418, var1419, var1420);
7337 var1414 = var1416;
7338 varonce1413 = var1414;
7339 }
7340 {
7341 nitc___nitc__AbstractCompilerVisitor___add(var_v, var1414); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
7342 }
7343 if (likely(varonce1421!=NULL)) {
7344 var1422 = varonce1421;
7345 } else {
7346 var1423 = "}";
7347 var1425 = (val*)(1l<<2|1);
7348 var1426 = (val*)(1l<<2|1);
7349 var1427 = (val*)((long)(0)<<2|3);
7350 var1428 = (val*)((long)(0)<<2|3);
7351 var1424 = core__flat___CString___to_s_unsafe(var1423, var1425, var1426, var1427, var1428);
7352 var1422 = var1424;
7353 varonce1421 = var1422;
7354 }
7355 {
7356 nitc___nitc__AbstractCompilerVisitor___add(var_v, var1422); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
7357 }
7358 {
7359 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:AbstractCompiler> */
7360 var1431 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:AbstractCompiler> */
7361 if (unlikely(var1431 == NULL)) {
7362 if(catchStack.cursor >= 0){
7363 longjmp(catchStack.envs[catchStack.cursor], 1);
7364 }
7365 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7366 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 545);
7367 fatal_exit(1);
7368 }
7369 var1429 = var1431;
7370 RET_LABEL1430:(void)0;
7371 }
7372 }
7373 {
7374 { /* Inline mmodule$MModule$in_importation (var1429) on <var1429:MModule> */
7375 var1434 = var1429->attrs[COLOR_nitc__mmodule__MModule___in_importation].val; /* _in_importation on <var1429:MModule> */
7376 if (unlikely(var1434 == NULL)) {
7377 if(catchStack.cursor >= 0){
7378 longjmp(catchStack.envs[catchStack.cursor], 1);
7379 }
7380 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
7381 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule, 108);
7382 fatal_exit(1);
7383 }
7384 var1432 = var1434;
7385 RET_LABEL1433:(void)0;
7386 }
7387 }
7388 {
7389 var1435 = poset___poset__POSetElement___greaters(var1432);
7390 }
7391 var_1436 = var1435;
7392 {
7393 var1437 = ((val*(*)(val* self))((((long)var_1436&3)?class_info[((long)var_1436&3)]:var_1436->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_1436); /* iterator on <var_1436:Collection[MModule]>*/
7394 }
7395 var_1438 = var1437;
7396 for(;;) {
7397 {
7398 var1439 = ((short int(*)(val* self))((((long)var_1438&3)?class_info[((long)var_1438&3)]:var_1438->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_1438); /* is_ok on <var_1438:Iterator[MModule]>*/
7399 }
7400 if (var1439){
7401 } else {
7402 goto BREAK_label1440;
7403 }
7404 {
7405 var1441 = ((val*(*)(val* self))((((long)var_1438&3)?class_info[((long)var_1438&3)]:var_1438->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_1438); /* item on <var_1438:Iterator[MModule]>*/
7406 }
7407 var_m = var1441;
7408 if (likely(varonce1442!=NULL)) {
7409 var1443 = varonce1442;
7410 } else {
7411 var1444 = "FILE_";
7412 var1446 = (val*)(5l<<2|1);
7413 var1447 = (val*)(5l<<2|1);
7414 var1448 = (val*)((long)(0)<<2|3);
7415 var1449 = (val*)((long)(0)<<2|3);
7416 var1445 = core__flat___CString___to_s_unsafe(var1444, var1446, var1447, var1448, var1449);
7417 var1443 = var1445;
7418 varonce1442 = var1443;
7419 }
7420 {
7421 var1450 = nitc___nitc__MModule___nitc__model_base__MEntity__c_name(var_m);
7422 }
7423 {
7424 var1451 = ((val*(*)(val* self, val* p0))(var1443->class->vft[COLOR_core__abstract_text__Text___43d]))(var1443, var1450); /* + on <var1443:String>*/
7425 }
7426 var_f = var1451;
7427 if (unlikely(varonce1452==NULL)) {
7428 var1453 = NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String);
7429 if (likely(varonce1454!=NULL)) {
7430 var1455 = varonce1454;
7431 } else {
7432 var1456 = "const char ";
7433 var1458 = (val*)(11l<<2|1);
7434 var1459 = (val*)(11l<<2|1);
7435 var1460 = (val*)((long)(0)<<2|3);
7436 var1461 = (val*)((long)(0)<<2|3);
7437 var1457 = core__flat___CString___to_s_unsafe(var1456, var1458, var1459, var1460, var1461);
7438 var1455 = var1457;
7439 varonce1454 = var1455;
7440 }
7441 ((struct instance_core__NativeArray*)var1453)->values[0]=var1455;
7442 if (likely(varonce1462!=NULL)) {
7443 var1463 = varonce1462;
7444 } else {
7445 var1464 = "[] = \"";
7446 var1466 = (val*)(6l<<2|1);
7447 var1467 = (val*)(6l<<2|1);
7448 var1468 = (val*)((long)(0)<<2|3);
7449 var1469 = (val*)((long)(0)<<2|3);
7450 var1465 = core__flat___CString___to_s_unsafe(var1464, var1466, var1467, var1468, var1469);
7451 var1463 = var1465;
7452 varonce1462 = var1463;
7453 }
7454 ((struct instance_core__NativeArray*)var1453)->values[2]=var1463;
7455 if (likely(varonce1470!=NULL)) {
7456 var1471 = varonce1470;
7457 } else {
7458 var1472 = "\";";
7459 var1474 = (val*)(2l<<2|1);
7460 var1475 = (val*)(2l<<2|1);
7461 var1476 = (val*)((long)(0)<<2|3);
7462 var1477 = (val*)((long)(0)<<2|3);
7463 var1473 = core__flat___CString___to_s_unsafe(var1472, var1474, var1475, var1476, var1477);
7464 var1471 = var1473;
7465 varonce1470 = var1471;
7466 }
7467 ((struct instance_core__NativeArray*)var1453)->values[4]=var1471;
7468 } else {
7469 var1453 = varonce1452;
7470 varonce1452 = NULL;
7471 }
7472 ((struct instance_core__NativeArray*)var1453)->values[1]=var_f;
7473 {
7474 { /* Inline mmodule$MModule$location (var_m) on <var_m:MModule> */
7475 var1480 = var_m->attrs[COLOR_nitc__mmodule__MModule___location].val; /* _location on <var_m:MModule> */
7476 if (unlikely(var1480 == NULL)) {
7477 if(catchStack.cursor >= 0){
7478 longjmp(catchStack.envs[catchStack.cursor], 1);
7479 }
7480 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
7481 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule, 103);
7482 fatal_exit(1);
7483 }
7484 var1478 = var1480;
7485 RET_LABEL1479:(void)0;
7486 }
7487 }
7488 {
7489 { /* Inline location$Location$file (var1478) on <var1478:Location> */
7490 var1483 = var1478->attrs[COLOR_nitc__location__Location___file].val; /* _file on <var1478:Location> */
7491 var1481 = var1483;
7492 RET_LABEL1482:(void)0;
7493 }
7494 }
7495 if (var1481 == NULL) {
7496 if(catchStack.cursor >= 0){
7497 longjmp(catchStack.envs[catchStack.cursor], 1);
7498 }
7499 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7500 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1009);
7501 fatal_exit(1);
7502 } else {
7503 { /* Inline location$SourceFile$filename (var1481) on <var1481:nullable SourceFile> */
7504 if (unlikely(var1481 == NULL)) {
7505 if(catchStack.cursor >= 0){
7506 longjmp(catchStack.envs[catchStack.cursor], 1);
7507 }
7508 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7509 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__location, 22);
7510 fatal_exit(1);
7511 }
7512 var1486 = var1481->attrs[COLOR_nitc__location__SourceFile___filename].val; /* _filename on <var1481:nullable SourceFile> */
7513 if (unlikely(var1486 == NULL)) {
7514 if(catchStack.cursor >= 0){
7515 longjmp(catchStack.envs[catchStack.cursor], 1);
7516 }
7517 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
7518 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__location, 22);
7519 fatal_exit(1);
7520 }
7521 var1484 = var1486;
7522 RET_LABEL1485:(void)0;
7523 }
7524 }
7525 {
7526 var1487 = ((val*(*)(val* self))(var1484->class->vft[COLOR_core__abstract_text__Text__escape_to_c]))(var1484); /* escape_to_c on <var1484:String>*/
7527 }
7528 ((struct instance_core__NativeArray*)var1453)->values[3]=var1487;
7529 {
7530 var1488 = ((val*(*)(val* self))(var1453->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1453); /* native_to_s on <var1453:NativeArray[String]>*/
7531 }
7532 varonce1452 = var1453;
7533 {
7534 nitc___nitc__AbstractCompilerVisitor___add(var_v, var1488); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
7535 }
7536 if (unlikely(varonce1489==NULL)) {
7537 var1490 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
7538 if (likely(varonce1491!=NULL)) {
7539 var1492 = varonce1491;
7540 } else {
7541 var1493 = "extern const char ";
7542 var1495 = (val*)(18l<<2|1);
7543 var1496 = (val*)(18l<<2|1);
7544 var1497 = (val*)((long)(0)<<2|3);
7545 var1498 = (val*)((long)(0)<<2|3);
7546 var1494 = core__flat___CString___to_s_unsafe(var1493, var1495, var1496, var1497, var1498);
7547 var1492 = var1494;
7548 varonce1491 = var1492;
7549 }
7550 ((struct instance_core__NativeArray*)var1490)->values[0]=var1492;
7551 if (likely(varonce1499!=NULL)) {
7552 var1500 = varonce1499;
7553 } else {
7554 var1501 = "[];";
7555 var1503 = (val*)(3l<<2|1);
7556 var1504 = (val*)(3l<<2|1);
7557 var1505 = (val*)((long)(0)<<2|3);
7558 var1506 = (val*)((long)(0)<<2|3);
7559 var1502 = core__flat___CString___to_s_unsafe(var1501, var1503, var1504, var1505, var1506);
7560 var1500 = var1502;
7561 varonce1499 = var1500;
7562 }
7563 ((struct instance_core__NativeArray*)var1490)->values[2]=var1500;
7564 } else {
7565 var1490 = varonce1489;
7566 varonce1489 = NULL;
7567 }
7568 ((struct instance_core__NativeArray*)var1490)->values[1]=var_f;
7569 {
7570 var1507 = ((val*(*)(val* self))(var1490->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1490); /* native_to_s on <var1490:NativeArray[String]>*/
7571 }
7572 varonce1489 = var1490;
7573 {
7574 nitc___nitc__AbstractCompiler___provide_declaration(self, var_f, var1507); /* Direct call abstract_compiler$AbstractCompiler$provide_declaration on <self:AbstractCompiler>*/
7575 }
7576 {
7577 ((void(*)(val* self))((((long)var_1438&3)?class_info[((long)var_1438&3)]:var_1438->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_1438); /* next on <var_1438:Iterator[MModule]>*/
7578 }
7579 }
7580 BREAK_label1440: (void)0;
7581 {
7582 ((void(*)(val* self))((((long)var_1438&3)?class_info[((long)var_1438&3)]:var_1438->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_1438); /* finish on <var_1438:Iterator[MModule]>*/
7583 }
7584 RET_LABEL:;
7585 }
7586 /* method abstract_compiler$AbstractCompiler$compile_nitni_global_ref_functions for (self: AbstractCompiler) */
7587 void nitc___nitc__AbstractCompiler___compile_nitni_global_ref_functions(val* self) {
7588 val* var /* : AbstractCompilerVisitor */;
7589 val* var_v /* var v: AbstractCompilerVisitor */;
7590 static val* varonce;
7591 val* var1 /* : String */;
7592 char* var2 /* : CString */;
7593 val* var3 /* : String */;
7594 val* var4 /* : nullable Int */;
7595 val* var5 /* : nullable Int */;
7596 val* var6 /* : nullable Bool */;
7597 val* var7 /* : nullable Bool */;
7598 {
7599 var = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__abstract_compiler__AbstractCompiler__new_visitor]))(self); /* new_visitor on <self:AbstractCompiler>*/
7600 }
7601 var_v = var;
7602 if (likely(varonce!=NULL)) {
7603 var1 = varonce;
7604 } else {
7605 var2 = "struct nitni_global_ref_list_t *nitni_global_ref_list;\nvoid initialize_nitni_global_refs() {\n\tnitni_global_ref_list = (struct nitni_global_ref_list_t*)nit_alloc(sizeof(struct nitni_global_ref_list_t));\n\tnitni_global_ref_list->head = NULL;\n\tnitni_global_ref_list->tail = NULL;\n}\n\nvoid nitni_global_ref_add( struct nitni_ref *ref ) {\n\tif ( nitni_global_ref_list->head == NULL ) {\n\t\tnitni_global_ref_list->head = ref;\n\t\tref->prev = NULL;\n\t} else {\n\t\tnitni_global_ref_list->tail->next = ref;\n\t\tref->prev = nitni_global_ref_list->tail;\n\t}\n\tnitni_global_ref_list->tail = ref;\n\n\tref->next = NULL;\n}\n\nvoid nitni_global_ref_remove( struct nitni_ref *ref ) {\n\tif ( ref->prev == NULL ) {\n\t\tnitni_global_ref_list->head = ref->next;\n\t} else {\n\t\tref->prev->next = ref->next;\n\t}\n\n\tif ( ref->next == NULL ) {\n\t\tnitni_global_ref_list->tail = ref->prev;\n\t} else {\n\t\tref->next->prev = ref->prev;\n\t}\n}\n\nextern void nitni_global_ref_incr( struct nitni_ref *ref ) {\n\tif ( ref->count == 0 ) /* not registered */\n\t{\n\t\t/* add to list */\n\t\tnitni_global_ref_add( ref );\n\t}\n\n\tref->count ++;\n}\n\nextern void nitni_global_ref_decr( struct nitni_ref *ref ) {\n\tif ( ref->count == 1 ) /* was last reference */\n\t{\n\t\t/* remove from list */\n\t\tnitni_global_ref_remove( ref );\n\t}\n\n\tref->count --;\n}\n";
7606 var4 = (val*)(1260l<<2|1);
7607 var5 = (val*)(1260l<<2|1);
7608 var6 = (val*)((long)(0)<<2|3);
7609 var7 = (val*)((long)(0)<<2|3);
7610 var3 = core__flat___CString___to_s_unsafe(var2, var4, var5, var6, var7);
7611 var1 = var3;
7612 varonce = var1;
7613 }
7614 {
7615 nitc___nitc__AbstractCompilerVisitor___add(var_v, var1); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
7616 }
7617 RET_LABEL:;
7618 }
7619 /* method abstract_compiler$AbstractCompiler$extern_bodies for (self: AbstractCompiler): Array[ExternFile] */
7620 val* nitc___nitc__AbstractCompiler___extern_bodies(val* self) {
7621 val* var /* : Array[ExternFile] */;
7622 val* var1 /* : Array[ExternFile] */;
7623 var1 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___extern_bodies].val; /* _extern_bodies on <self:AbstractCompiler> */
7624 if (unlikely(var1 == NULL)) {
7625 if(catchStack.cursor >= 0){
7626 longjmp(catchStack.envs[catchStack.cursor], 1);
7627 }
7628 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
7629 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1075);
7630 fatal_exit(1);
7631 }
7632 var = var1;
7633 RET_LABEL:;
7634 return var;
7635 }
7636 /* method abstract_compiler$AbstractCompiler$files_to_copy for (self: AbstractCompiler): Array[String] */
7637 val* nitc___nitc__AbstractCompiler___files_to_copy(val* self) {
7638 val* var /* : Array[String] */;
7639 val* var1 /* : Array[String] */;
7640 var1 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___files_to_copy].val; /* _files_to_copy on <self:AbstractCompiler> */
7641 if (unlikely(var1 == NULL)) {
7642 if(catchStack.cursor >= 0){
7643 longjmp(catchStack.envs[catchStack.cursor], 1);
7644 }
7645 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
7646 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1078);
7647 fatal_exit(1);
7648 }
7649 var = var1;
7650 RET_LABEL:;
7651 return var;
7652 }
7653 /* method abstract_compiler$AbstractCompiler$seen_extern for (self: AbstractCompiler): ArraySet[String] */
7654 val* nitc___nitc__AbstractCompiler___seen_extern(val* self) {
7655 val* var /* : ArraySet[String] */;
7656 val* var1 /* : ArraySet[String] */;
7657 var1 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___seen_extern].val; /* _seen_extern on <self:AbstractCompiler> */
7658 if (unlikely(var1 == NULL)) {
7659 if(catchStack.cursor >= 0){
7660 longjmp(catchStack.envs[catchStack.cursor], 1);
7661 }
7662 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen_extern");
7663 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1081);
7664 fatal_exit(1);
7665 }
7666 var = var1;
7667 RET_LABEL:;
7668 return var;
7669 }
7670 /* method abstract_compiler$AbstractCompiler$generate_init_attr for (self: AbstractCompiler, AbstractCompilerVisitor, RuntimeVariable, MClassType) */
7671 void nitc___nitc__AbstractCompiler___generate_init_attr(val* self, val* p0, val* p1, val* p2) {
7672 short int var /* : Bool */;
7673 int cltype;
7674 int idtype;
7675 const struct type* type_struct;
7676 const char* var_class_name;
7677 val* var_v /* var v: AbstractCompilerVisitor */;
7678 val* var_recv /* var recv: RuntimeVariable */;
7679 val* var_mtype /* var mtype: MClassType */;
7680 val* var1 /* : MModule */;
7681 val* var3 /* : MModule */;
7682 val* var4 /* : Set[MClassDef] */;
7683 val* var5 /* : Array[nullable Object] */;
7684 val* var_cds /* var cds: Array[MClassDef] */;
7685 val* var6 /* : MModule */;
7686 val* var8 /* : MModule */;
7687 val* var_ /* var : Array[MClassDef] */;
7688 val* var9 /* : IndexedIterator[nullable Object] */;
7689 val* var_10 /* var : IndexedIterator[MClassDef] */;
7690 short int var11 /* : Bool */;
7691 val* var12 /* : nullable Object */;
7692 val* var_cd /* var cd: MClassDef */;
7693 val* var13 /* : ModelBuilder */;
7694 val* var15 /* : ModelBuilder */;
7695 val* var16 /* : Array[AAttrPropdef] */;
7696 val* var_17 /* var : Array[AAttrPropdef] */;
7697 val* var18 /* : IndexedIterator[nullable Object] */;
7698 val* var_19 /* var : IndexedIterator[AAttrPropdef] */;
7699 short int var20 /* : Bool */;
7700 val* var22 /* : nullable Object */;
7701 val* var_npropdef /* var npropdef: AAttrPropdef */;
7702 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
7703 /* <p0:AbstractCompilerVisitor> isa VISITOR */
7704 type_struct = self->type->resolution_table->types[COLOR_nitc__abstract_compiler__AbstractCompiler__VISITOR];
7705 cltype = type_struct->color;
7706 idtype = type_struct->id;
7707 if(cltype >= p0->type->table_size) {
7708 var = 0;
7709 } else {
7710 var = p0->type->type_table[cltype] == idtype;
7711 }
7712 if (unlikely(!var)) {
7713 var_class_name = p0 == NULL ? "null" : p0->type->name;
7714 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name);
7715 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1084);
7716 fatal_exit(1);
7717 }
7718 var_v = p0;
7719 var_recv = p1;
7720 var_mtype = p2;
7721 {
7722 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:AbstractCompiler> */
7723 var3 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:AbstractCompiler> */
7724 if (unlikely(var3 == NULL)) {
7725 if(catchStack.cursor >= 0){
7726 longjmp(catchStack.envs[catchStack.cursor], 1);
7727 }
7728 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7729 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 545);
7730 fatal_exit(1);
7731 }
7732 var1 = var3;
7733 RET_LABEL2:(void)0;
7734 }
7735 }
7736 {
7737 var4 = nitc___nitc__MClassType___MType__collect_mclassdefs(var_mtype, var1);
7738 }
7739 {
7740 var5 = core__array___Collection___to_a(var4);
7741 }
7742 var_cds = var5;
7743 {
7744 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:AbstractCompiler> */
7745 var8 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:AbstractCompiler> */
7746 if (unlikely(var8 == NULL)) {
7747 if(catchStack.cursor >= 0){
7748 longjmp(catchStack.envs[catchStack.cursor], 1);
7749 }
7750 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7751 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 545);
7752 fatal_exit(1);
7753 }
7754 var6 = var8;
7755 RET_LABEL7:(void)0;
7756 }
7757 }
7758 {
7759 nitc__model___MModule___linearize_mclassdefs(var6, var_cds); /* Direct call model$MModule$linearize_mclassdefs on <var6:MModule>*/
7760 }
7761 var_ = var_cds;
7762 {
7763 var9 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_);
7764 }
7765 var_10 = var9;
7766 for(;;) {
7767 {
7768 var11 = ((short int(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_10); /* is_ok on <var_10:IndexedIterator[MClassDef]>*/
7769 }
7770 if (var11){
7771 } else {
7772 goto BREAK_label;
7773 }
7774 {
7775 var12 = ((val*(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_10); /* item on <var_10:IndexedIterator[MClassDef]>*/
7776 }
7777 var_cd = var12;
7778 {
7779 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:AbstractCompiler> */
7780 var15 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:AbstractCompiler> */
7781 if (unlikely(var15 == NULL)) {
7782 if(catchStack.cursor >= 0){
7783 longjmp(catchStack.envs[catchStack.cursor], 1);
7784 }
7785 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
7786 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 552);
7787 fatal_exit(1);
7788 }
7789 var13 = var15;
7790 RET_LABEL14:(void)0;
7791 }
7792 }
7793 {
7794 var16 = nitc__modelize_property___ModelBuilder___collect_attr_propdef(var13, var_cd);
7795 }
7796 var_17 = var16;
7797 {
7798 var18 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_17);
7799 }
7800 var_19 = var18;
7801 for(;;) {
7802 {
7803 var20 = ((short int(*)(val* self))((((long)var_19&3)?class_info[((long)var_19&3)]:var_19->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_19); /* is_ok on <var_19:IndexedIterator[AAttrPropdef]>*/
7804 }
7805 if (var20){
7806 } else {
7807 goto BREAK_label21;
7808 }
7809 {
7810 var22 = ((val*(*)(val* self))((((long)var_19&3)?class_info[((long)var_19&3)]:var_19->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_19); /* item on <var_19:IndexedIterator[AAttrPropdef]>*/
7811 }
7812 var_npropdef = var22;
7813 {
7814 nitc__separate_compiler___AAttrPropdef___init_expr(var_npropdef, var_v, var_recv); /* Direct call separate_compiler$AAttrPropdef$init_expr on <var_npropdef:AAttrPropdef>*/
7815 }
7816 {
7817 ((void(*)(val* self))((((long)var_19&3)?class_info[((long)var_19&3)]:var_19->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_19); /* next on <var_19:IndexedIterator[AAttrPropdef]>*/
7818 }
7819 }
7820 BREAK_label21: (void)0;
7821 {
7822 ((void(*)(val* self))((((long)var_19&3)?class_info[((long)var_19&3)]:var_19->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_19); /* finish on <var_19:IndexedIterator[AAttrPropdef]>*/
7823 }
7824 {
7825 ((void(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_10); /* next on <var_10:IndexedIterator[MClassDef]>*/
7826 }
7827 }
7828 BREAK_label: (void)0;
7829 {
7830 ((void(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_10); /* finish on <var_10:IndexedIterator[MClassDef]>*/
7831 }
7832 RET_LABEL:;
7833 }
7834 /* method abstract_compiler$AbstractCompiler$count_type_test_tags for (self: AbstractCompiler): Array[String] */
7835 val* nitc___nitc__AbstractCompiler___count_type_test_tags(val* self) {
7836 val* var /* : Array[String] */;
7837 val* var1 /* : Array[String] */;
7838 var1 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_tags].val; /* _count_type_test_tags on <self:AbstractCompiler> */
7839 if (unlikely(var1 == NULL)) {
7840 if(catchStack.cursor >= 0){
7841 longjmp(catchStack.envs[catchStack.cursor], 1);
7842 }
7843 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
7844 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1110);
7845 fatal_exit(1);
7846 }
7847 var = var1;
7848 RET_LABEL:;
7849 return var;
7850 }
7851 /* method abstract_compiler$AbstractCompiler$count_type_test_resolved for (self: AbstractCompiler): HashMap[String, Int] */
7852 val* nitc___nitc__AbstractCompiler___count_type_test_resolved(val* self) {
7853 val* var /* : HashMap[String, Int] */;
7854 val* var1 /* : HashMap[String, Int] */;
7855 var1 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on <self:AbstractCompiler> */
7856 if (unlikely(var1 == NULL)) {
7857 if(catchStack.cursor >= 0){
7858 longjmp(catchStack.envs[catchStack.cursor], 1);
7859 }
7860 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
7861 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1111);
7862 fatal_exit(1);
7863 }
7864 var = var1;
7865 RET_LABEL:;
7866 return var;
7867 }
7868 /* method abstract_compiler$AbstractCompiler$count_type_test_unresolved for (self: AbstractCompiler): HashMap[String, Int] */
7869 val* nitc___nitc__AbstractCompiler___count_type_test_unresolved(val* self) {
7870 val* var /* : HashMap[String, Int] */;
7871 val* var1 /* : HashMap[String, Int] */;
7872 var1 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on <self:AbstractCompiler> */
7873 if (unlikely(var1 == NULL)) {
7874 if(catchStack.cursor >= 0){
7875 longjmp(catchStack.envs[catchStack.cursor], 1);
7876 }
7877 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
7878 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1112);
7879 fatal_exit(1);
7880 }
7881 var = var1;
7882 RET_LABEL:;
7883 return var;
7884 }
7885 /* method abstract_compiler$AbstractCompiler$count_type_test_skipped for (self: AbstractCompiler): HashMap[String, Int] */
7886 val* nitc___nitc__AbstractCompiler___count_type_test_skipped(val* self) {
7887 val* var /* : HashMap[String, Int] */;
7888 val* var1 /* : HashMap[String, Int] */;
7889 var1 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on <self:AbstractCompiler> */
7890 if (unlikely(var1 == NULL)) {
7891 if(catchStack.cursor >= 0){
7892 longjmp(catchStack.envs[catchStack.cursor], 1);
7893 }
7894 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
7895 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1113);
7896 fatal_exit(1);
7897 }
7898 var = var1;
7899 RET_LABEL:;
7900 return var;
7901 }
7902 /* method abstract_compiler$AbstractCompiler$init_count_type_test_tags for (self: AbstractCompiler): HashMap[String, Int] */
7903 val* nitc___nitc__AbstractCompiler___init_count_type_test_tags(val* self) {
7904 val* var /* : HashMap[String, Int] */;
7905 val* var1 /* : HashMap[String, Int] */;
7906 val* var_res /* var res: HashMap[String, Int] */;
7907 val* var2 /* : Array[String] */;
7908 val* var4 /* : Array[String] */;
7909 val* var_ /* var : Array[String] */;
7910 val* var5 /* : IndexedIterator[nullable Object] */;
7911 val* var_6 /* var : IndexedIterator[String] */;
7912 short int var7 /* : Bool */;
7913 val* var8 /* : nullable Object */;
7914 val* var_tag /* var tag: String */;
7915 val* var9 /* : nullable Object */;
7916 var1 = NEW_core__HashMap(&type_core__HashMap__core__String__core__Int);
7917 {
7918 core___core__HashMap___core__kernel__Object__init(var1); /* Direct call hash_collection$HashMap$init on <var1:HashMap[String, Int]>*/
7919 }
7920 var_res = var1;
7921 {
7922 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_tags (self) on <self:AbstractCompiler> */
7923 var4 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_tags].val; /* _count_type_test_tags on <self:AbstractCompiler> */
7924 if (unlikely(var4 == NULL)) {
7925 if(catchStack.cursor >= 0){
7926 longjmp(catchStack.envs[catchStack.cursor], 1);
7927 }
7928 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
7929 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1110);
7930 fatal_exit(1);
7931 }
7932 var2 = var4;
7933 RET_LABEL3:(void)0;
7934 }
7935 }
7936 var_ = var2;
7937 {
7938 var5 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_);
7939 }
7940 var_6 = var5;
7941 for(;;) {
7942 {
7943 var7 = ((short int(*)(val* self))((((long)var_6&3)?class_info[((long)var_6&3)]:var_6->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_6); /* is_ok on <var_6:IndexedIterator[String]>*/
7944 }
7945 if (var7){
7946 } else {
7947 goto BREAK_label;
7948 }
7949 {
7950 var8 = ((val*(*)(val* self))((((long)var_6&3)?class_info[((long)var_6&3)]:var_6->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_6); /* item on <var_6:IndexedIterator[String]>*/
7951 }
7952 var_tag = var8;
7953 {
7954 var9 = (val*)(0l<<2|1);
7955 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_res, var_tag, var9); /* Direct call hash_collection$HashMap$[]= on <var_res:HashMap[String, Int]>*/
7956 }
7957 {
7958 ((void(*)(val* self))((((long)var_6&3)?class_info[((long)var_6&3)]:var_6->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_6); /* next on <var_6:IndexedIterator[String]>*/
7959 }
7960 }
7961 BREAK_label: (void)0;
7962 {
7963 ((void(*)(val* self))((((long)var_6&3)?class_info[((long)var_6&3)]:var_6->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_6); /* finish on <var_6:IndexedIterator[String]>*/
7964 }
7965 var = var_res;
7966 goto RET_LABEL;
7967 RET_LABEL:;
7968 return var;
7969 }
7970 /* method abstract_compiler$AbstractCompiler$display_stats for (self: AbstractCompiler) */
7971 void nitc___nitc__AbstractCompiler___display_stats(val* self) {
7972 val* var /* : ModelBuilder */;
7973 val* var2 /* : ModelBuilder */;
7974 val* var3 /* : ToolContext */;
7975 val* var5 /* : ToolContext */;
7976 val* var6 /* : OptionBool */;
7977 val* var8 /* : OptionBool */;
7978 val* var9 /* : nullable Object */;
7979 val* var11 /* : nullable Object */;
7980 short int var12 /* : Bool */;
7981 val* var13 /* : Sys */;
7982 static val* varonce;
7983 val* var14 /* : String */;
7984 char* var15 /* : CString */;
7985 val* var16 /* : String */;
7986 val* var17 /* : nullable Int */;
7987 val* var18 /* : nullable Int */;
7988 val* var19 /* : nullable Bool */;
7989 val* var20 /* : nullable Bool */;
7990 val* var21 /* : Sys */;
7991 static val* varonce22;
7992 val* var23 /* : String */;
7993 char* var24 /* : CString */;
7994 val* var25 /* : String */;
7995 val* var26 /* : nullable Int */;
7996 val* var27 /* : nullable Int */;
7997 val* var28 /* : nullable Bool */;
7998 val* var29 /* : nullable Bool */;
7999 val* var30 /* : HashMap[String, Int] */;
8000 val* var_count_type_test_total /* var count_type_test_total: HashMap[String, Int] */;
8001 val* var31 /* : HashMap[String, Int] */;
8002 val* var33 /* : HashMap[String, Int] */;
8003 static val* varonce34;
8004 val* var35 /* : String */;
8005 char* var36 /* : CString */;
8006 val* var37 /* : String */;
8007 val* var38 /* : nullable Int */;
8008 val* var39 /* : nullable Int */;
8009 val* var40 /* : nullable Bool */;
8010 val* var41 /* : nullable Bool */;
8011 val* var42 /* : nullable Object */;
8012 val* var43 /* : HashMap[String, Int] */;
8013 val* var45 /* : HashMap[String, Int] */;
8014 static val* varonce46;
8015 val* var47 /* : String */;
8016 char* var48 /* : CString */;
8017 val* var49 /* : String */;
8018 val* var50 /* : nullable Int */;
8019 val* var51 /* : nullable Int */;
8020 val* var52 /* : nullable Bool */;
8021 val* var53 /* : nullable Bool */;
8022 val* var54 /* : nullable Object */;
8023 val* var55 /* : HashMap[String, Int] */;
8024 val* var57 /* : HashMap[String, Int] */;
8025 static val* varonce58;
8026 val* var59 /* : String */;
8027 char* var60 /* : CString */;
8028 val* var61 /* : String */;
8029 val* var62 /* : nullable Int */;
8030 val* var63 /* : nullable Int */;
8031 val* var64 /* : nullable Bool */;
8032 val* var65 /* : nullable Bool */;
8033 val* var66 /* : nullable Object */;
8034 static val* varonce67;
8035 val* var68 /* : String */;
8036 char* var69 /* : CString */;
8037 val* var70 /* : String */;
8038 val* var71 /* : nullable Int */;
8039 val* var72 /* : nullable Int */;
8040 val* var73 /* : nullable Bool */;
8041 val* var74 /* : nullable Bool */;
8042 val* var75 /* : nullable Object */;
8043 val* var76 /* : Array[String] */;
8044 val* var78 /* : Array[String] */;
8045 val* var_ /* var : Array[String] */;
8046 val* var79 /* : IndexedIterator[nullable Object] */;
8047 val* var_80 /* var : IndexedIterator[String] */;
8048 short int var81 /* : Bool */;
8049 val* var82 /* : nullable Object */;
8050 val* var_tag /* var tag: String */;
8051 val* var83 /* : HashMap[String, Int] */;
8052 val* var85 /* : HashMap[String, Int] */;
8053 val* var86 /* : nullable Object */;
8054 val* var87 /* : HashMap[String, Int] */;
8055 val* var89 /* : HashMap[String, Int] */;
8056 val* var90 /* : nullable Object */;
8057 long var91 /* : Int */;
8058 short int var93 /* : Bool */;
8059 int cltype;
8060 int idtype;
8061 const char* var_class_name;
8062 long var94 /* : Int */;
8063 long var95 /* : Int */;
8064 long var96 /* : Int */;
8065 val* var97 /* : HashMap[String, Int] */;
8066 val* var99 /* : HashMap[String, Int] */;
8067 val* var100 /* : nullable Object */;
8068 long var101 /* : Int */;
8069 short int var103 /* : Bool */;
8070 int cltype104;
8071 int idtype105;
8072 const char* var_class_name106;
8073 long var107 /* : Int */;
8074 long var108 /* : Int */;
8075 val* var109 /* : nullable Object */;
8076 val* var110 /* : HashMap[String, Int] */;
8077 val* var112 /* : HashMap[String, Int] */;
8078 val* var_113 /* var : HashMap[String, Int] */;
8079 static val* varonce114;
8080 val* var115 /* : String */;
8081 char* var116 /* : CString */;
8082 val* var117 /* : String */;
8083 val* var118 /* : nullable Int */;
8084 val* var119 /* : nullable Int */;
8085 val* var120 /* : nullable Bool */;
8086 val* var121 /* : nullable Bool */;
8087 val* var_122 /* var : String */;
8088 val* var123 /* : nullable Object */;
8089 val* var124 /* : HashMap[String, Int] */;
8090 val* var126 /* : HashMap[String, Int] */;
8091 val* var127 /* : nullable Object */;
8092 long var128 /* : Int */;
8093 short int var130 /* : Bool */;
8094 int cltype131;
8095 int idtype132;
8096 const char* var_class_name133;
8097 long var134 /* : Int */;
8098 long var135 /* : Int */;
8099 long var136 /* : Int */;
8100 val* var137 /* : nullable Object */;
8101 val* var138 /* : HashMap[String, Int] */;
8102 val* var140 /* : HashMap[String, Int] */;
8103 val* var_141 /* var : HashMap[String, Int] */;
8104 static val* varonce142;
8105 val* var143 /* : String */;
8106 char* var144 /* : CString */;
8107 val* var145 /* : String */;
8108 val* var146 /* : nullable Int */;
8109 val* var147 /* : nullable Int */;
8110 val* var148 /* : nullable Bool */;
8111 val* var149 /* : nullable Bool */;
8112 val* var_150 /* var : String */;
8113 val* var151 /* : nullable Object */;
8114 val* var152 /* : HashMap[String, Int] */;
8115 val* var154 /* : HashMap[String, Int] */;
8116 val* var155 /* : nullable Object */;
8117 long var156 /* : Int */;
8118 short int var158 /* : Bool */;
8119 int cltype159;
8120 int idtype160;
8121 const char* var_class_name161;
8122 long var162 /* : Int */;
8123 long var163 /* : Int */;
8124 long var164 /* : Int */;
8125 val* var165 /* : nullable Object */;
8126 val* var166 /* : HashMap[String, Int] */;
8127 val* var168 /* : HashMap[String, Int] */;
8128 val* var_169 /* var : HashMap[String, Int] */;
8129 static val* varonce170;
8130 val* var171 /* : String */;
8131 char* var172 /* : CString */;
8132 val* var173 /* : String */;
8133 val* var174 /* : nullable Int */;
8134 val* var175 /* : nullable Int */;
8135 val* var176 /* : nullable Bool */;
8136 val* var177 /* : nullable Bool */;
8137 val* var_178 /* var : String */;
8138 val* var179 /* : nullable Object */;
8139 val* var180 /* : HashMap[String, Int] */;
8140 val* var182 /* : HashMap[String, Int] */;
8141 val* var183 /* : nullable Object */;
8142 long var184 /* : Int */;
8143 short int var186 /* : Bool */;
8144 int cltype187;
8145 int idtype188;
8146 const char* var_class_name189;
8147 long var190 /* : Int */;
8148 long var191 /* : Int */;
8149 long var192 /* : Int */;
8150 val* var193 /* : nullable Object */;
8151 val* var_194 /* var : HashMap[String, Int] */;
8152 static val* varonce195;
8153 val* var196 /* : String */;
8154 char* var197 /* : CString */;
8155 val* var198 /* : String */;
8156 val* var199 /* : nullable Int */;
8157 val* var200 /* : nullable Int */;
8158 val* var201 /* : nullable Bool */;
8159 val* var202 /* : nullable Bool */;
8160 val* var_203 /* var : String */;
8161 val* var204 /* : nullable Object */;
8162 val* var205 /* : nullable Object */;
8163 long var206 /* : Int */;
8164 short int var208 /* : Bool */;
8165 int cltype209;
8166 int idtype210;
8167 const char* var_class_name211;
8168 long var212 /* : Int */;
8169 long var213 /* : Int */;
8170 long var214 /* : Int */;
8171 val* var215 /* : nullable Object */;
8172 static val* varonce216;
8173 val* var217 /* : String */;
8174 char* var218 /* : CString */;
8175 val* var219 /* : String */;
8176 val* var220 /* : nullable Int */;
8177 val* var221 /* : nullable Int */;
8178 val* var222 /* : nullable Bool */;
8179 val* var223 /* : nullable Bool */;
8180 val* var224 /* : nullable Object */;
8181 long var225 /* : Int */;
8182 long var_count_type_test /* var count_type_test: Int */;
8183 val* var226 /* : Array[String] */;
8184 val* var228 /* : Array[String] */;
8185 val* var229 /* : Array[nullable Object] */;
8186 val* var_tags /* var tags: Array[String] */;
8187 static val* varonce230;
8188 val* var231 /* : String */;
8189 char* var232 /* : CString */;
8190 val* var233 /* : String */;
8191 val* var234 /* : nullable Int */;
8192 val* var235 /* : nullable Int */;
8193 val* var236 /* : nullable Bool */;
8194 val* var237 /* : nullable Bool */;
8195 val* var_238 /* var : Array[String] */;
8196 val* var239 /* : IndexedIterator[nullable Object] */;
8197 val* var_240 /* var : IndexedIterator[String] */;
8198 short int var241 /* : Bool */;
8199 val* var243 /* : nullable Object */;
8200 val* var_tag244 /* var tag: String */;
8201 val* var245 /* : Sys */;
8202 val* var246 /* : Array[Object] */;
8203 val* var247 /* : NativeArray[Object] */;
8204 val* var248 /* : Sys */;
8205 val* var250 /* : NativeArray[String] */;
8206 static val* varonce249;
8207 static val* varonce251;
8208 val* var252 /* : String */;
8209 char* var253 /* : CString */;
8210 val* var254 /* : String */;
8211 val* var255 /* : nullable Int */;
8212 val* var256 /* : nullable Int */;
8213 val* var257 /* : nullable Bool */;
8214 val* var258 /* : nullable Bool */;
8215 static val* varonce259;
8216 val* var260 /* : String */;
8217 char* var261 /* : CString */;
8218 val* var262 /* : String */;
8219 val* var263 /* : nullable Int */;
8220 val* var264 /* : nullable Int */;
8221 val* var265 /* : nullable Bool */;
8222 val* var266 /* : nullable Bool */;
8223 static val* varonce267;
8224 val* var268 /* : String */;
8225 char* var269 /* : CString */;
8226 val* var270 /* : String */;
8227 val* var271 /* : nullable Int */;
8228 val* var272 /* : nullable Int */;
8229 val* var273 /* : nullable Bool */;
8230 val* var274 /* : nullable Bool */;
8231 val* var275 /* : HashMap[String, Int] */;
8232 val* var277 /* : HashMap[String, Int] */;
8233 val* var278 /* : nullable Object */;
8234 val* var279 /* : String */;
8235 long var280 /* : Int */;
8236 val* var281 /* : Sys */;
8237 val* var282 /* : HashMap[String, Int] */;
8238 val* var284 /* : HashMap[String, Int] */;
8239 val* var285 /* : nullable Object */;
8240 val* var286 /* : String */;
8241 long var287 /* : Int */;
8242 val* var288 /* : String */;
8243 val* var289 /* : Array[Object] */;
8244 val* var290 /* : NativeArray[Object] */;
8245 val* var291 /* : Sys */;
8246 val* var293 /* : NativeArray[String] */;
8247 static val* varonce292;
8248 static val* varonce294;
8249 val* var295 /* : String */;
8250 char* var296 /* : CString */;
8251 val* var297 /* : String */;
8252 val* var298 /* : nullable Int */;
8253 val* var299 /* : nullable Int */;
8254 val* var300 /* : nullable Bool */;
8255 val* var301 /* : nullable Bool */;
8256 static val* varonce302;
8257 val* var303 /* : String */;
8258 char* var304 /* : CString */;
8259 val* var305 /* : String */;
8260 val* var306 /* : nullable Int */;
8261 val* var307 /* : nullable Int */;
8262 val* var308 /* : nullable Bool */;
8263 val* var309 /* : nullable Bool */;
8264 static val* varonce310;
8265 val* var311 /* : String */;
8266 char* var312 /* : CString */;
8267 val* var313 /* : String */;
8268 val* var314 /* : nullable Int */;
8269 val* var315 /* : nullable Int */;
8270 val* var316 /* : nullable Bool */;
8271 val* var317 /* : nullable Bool */;
8272 val* var318 /* : HashMap[String, Int] */;
8273 val* var320 /* : HashMap[String, Int] */;
8274 val* var321 /* : nullable Object */;
8275 val* var322 /* : String */;
8276 long var323 /* : Int */;
8277 val* var324 /* : Sys */;
8278 val* var325 /* : HashMap[String, Int] */;
8279 val* var327 /* : HashMap[String, Int] */;
8280 val* var328 /* : nullable Object */;
8281 val* var329 /* : String */;
8282 long var330 /* : Int */;
8283 val* var331 /* : String */;
8284 val* var332 /* : Array[Object] */;
8285 val* var333 /* : NativeArray[Object] */;
8286 val* var334 /* : Sys */;
8287 val* var336 /* : NativeArray[String] */;
8288 static val* varonce335;
8289 static val* varonce337;
8290 val* var338 /* : String */;
8291 char* var339 /* : CString */;
8292 val* var340 /* : String */;
8293 val* var341 /* : nullable Int */;
8294 val* var342 /* : nullable Int */;
8295 val* var343 /* : nullable Bool */;
8296 val* var344 /* : nullable Bool */;
8297 static val* varonce345;
8298 val* var346 /* : String */;
8299 char* var347 /* : CString */;
8300 val* var348 /* : String */;
8301 val* var349 /* : nullable Int */;
8302 val* var350 /* : nullable Int */;
8303 val* var351 /* : nullable Bool */;
8304 val* var352 /* : nullable Bool */;
8305 static val* varonce353;
8306 val* var354 /* : String */;
8307 char* var355 /* : CString */;
8308 val* var356 /* : String */;
8309 val* var357 /* : nullable Int */;
8310 val* var358 /* : nullable Int */;
8311 val* var359 /* : nullable Bool */;
8312 val* var360 /* : nullable Bool */;
8313 val* var361 /* : HashMap[String, Int] */;
8314 val* var363 /* : HashMap[String, Int] */;
8315 val* var364 /* : nullable Object */;
8316 val* var365 /* : String */;
8317 long var366 /* : Int */;
8318 val* var367 /* : Sys */;
8319 val* var368 /* : HashMap[String, Int] */;
8320 val* var370 /* : HashMap[String, Int] */;
8321 val* var371 /* : nullable Object */;
8322 val* var372 /* : String */;
8323 long var373 /* : Int */;
8324 val* var374 /* : String */;
8325 val* var375 /* : Array[Object] */;
8326 val* var376 /* : NativeArray[Object] */;
8327 val* var377 /* : Sys */;
8328 val* var379 /* : NativeArray[String] */;
8329 static val* varonce378;
8330 static val* varonce380;
8331 val* var381 /* : String */;
8332 char* var382 /* : CString */;
8333 val* var383 /* : String */;
8334 val* var384 /* : nullable Int */;
8335 val* var385 /* : nullable Int */;
8336 val* var386 /* : nullable Bool */;
8337 val* var387 /* : nullable Bool */;
8338 static val* varonce388;
8339 val* var389 /* : String */;
8340 char* var390 /* : CString */;
8341 val* var391 /* : String */;
8342 val* var392 /* : nullable Int */;
8343 val* var393 /* : nullable Int */;
8344 val* var394 /* : nullable Bool */;
8345 val* var395 /* : nullable Bool */;
8346 static val* varonce396;
8347 val* var397 /* : String */;
8348 char* var398 /* : CString */;
8349 val* var399 /* : String */;
8350 val* var400 /* : nullable Int */;
8351 val* var401 /* : nullable Int */;
8352 val* var402 /* : nullable Bool */;
8353 val* var403 /* : nullable Bool */;
8354 val* var404 /* : nullable Object */;
8355 val* var405 /* : String */;
8356 long var406 /* : Int */;
8357 val* var407 /* : Sys */;
8358 val* var408 /* : nullable Object */;
8359 val* var409 /* : String */;
8360 long var410 /* : Int */;
8361 val* var411 /* : String */;
8362 val* var412 /* : Array[Object] */;
8363 val* var413 /* : NativeArray[Object] */;
8364 val* var414 /* : Sys */;
8365 static val* varonce415;
8366 val* var416 /* : String */;
8367 char* var417 /* : CString */;
8368 val* var418 /* : String */;
8369 val* var419 /* : nullable Int */;
8370 val* var420 /* : nullable Int */;
8371 val* var421 /* : nullable Bool */;
8372 val* var422 /* : nullable Bool */;
8373 {
8374 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:AbstractCompiler> */
8375 var2 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:AbstractCompiler> */
8376 if (unlikely(var2 == NULL)) {
8377 if(catchStack.cursor >= 0){
8378 longjmp(catchStack.envs[catchStack.cursor], 1);
8379 }
8380 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8381 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 552);
8382 fatal_exit(1);
8383 }
8384 var = var2;
8385 RET_LABEL1:(void)0;
8386 }
8387 }
8388 {
8389 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var) on <var:ModelBuilder> */
8390 var5 = var->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var:ModelBuilder> */
8391 if (unlikely(var5 == NULL)) {
8392 if(catchStack.cursor >= 0){
8393 longjmp(catchStack.envs[catchStack.cursor], 1);
8394 }
8395 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8396 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 47);
8397 fatal_exit(1);
8398 }
8399 var3 = var5;
8400 RET_LABEL4:(void)0;
8401 }
8402 }
8403 {
8404 { /* Inline abstract_compiler$ToolContext$opt_typing_test_metrics (var3) on <var3:ToolContext> */
8405 var8 = var3->attrs[COLOR_nitc__abstract_compiler__ToolContext___opt_typing_test_metrics].val; /* _opt_typing_test_metrics on <var3:ToolContext> */
8406 if (unlikely(var8 == NULL)) {
8407 if(catchStack.cursor >= 0){
8408 longjmp(catchStack.envs[catchStack.cursor], 1);
8409 }
8410 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
8411 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 60);
8412 fatal_exit(1);
8413 }
8414 var6 = var8;
8415 RET_LABEL7:(void)0;
8416 }
8417 }
8418 {
8419 { /* Inline opts$Option$value (var6) on <var6:OptionBool> */
8420 var11 = var6->attrs[COLOR_opts__Option___value].val; /* _value on <var6:OptionBool> */
8421 var9 = var11;
8422 RET_LABEL10:(void)0;
8423 }
8424 }
8425 var12 = (short int)((long)(var9)>>2);
8426 if (var12){
8427 var13 = glob_sys;
8428 if (likely(varonce!=NULL)) {
8429 var14 = varonce;
8430 } else {
8431 var15 = "# static count_type_test";
8432 var17 = (val*)(24l<<2|1);
8433 var18 = (val*)(24l<<2|1);
8434 var19 = (val*)((long)(0)<<2|3);
8435 var20 = (val*)((long)(0)<<2|3);
8436 var16 = core__flat___CString___to_s_unsafe(var15, var17, var18, var19, var20);
8437 var14 = var16;
8438 varonce = var14;
8439 }
8440 {
8441 core__file___Sys___print(var13, var14); /* Direct call file$Sys$print on <var13:Sys>*/
8442 }
8443 var21 = glob_sys;
8444 if (likely(varonce22!=NULL)) {
8445 var23 = varonce22;
8446 } else {
8447 var24 = "\tresolved:\tunresolved\tskipped\ttotal";
8448 var26 = (val*)(35l<<2|1);
8449 var27 = (val*)(35l<<2|1);
8450 var28 = (val*)((long)(0)<<2|3);
8451 var29 = (val*)((long)(0)<<2|3);
8452 var25 = core__flat___CString___to_s_unsafe(var24, var26, var27, var28, var29);
8453 var23 = var25;
8454 varonce22 = var23;
8455 }
8456 {
8457 core__file___Sys___print(var21, var23); /* Direct call file$Sys$print on <var21:Sys>*/
8458 }
8459 {
8460 var30 = nitc___nitc__AbstractCompiler___init_count_type_test_tags(self);
8461 }
8462 var_count_type_test_total = var30;
8463 {
8464 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_resolved (self) on <self:AbstractCompiler> */
8465 var33 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on <self:AbstractCompiler> */
8466 if (unlikely(var33 == NULL)) {
8467 if(catchStack.cursor >= 0){
8468 longjmp(catchStack.envs[catchStack.cursor], 1);
8469 }
8470 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
8471 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1111);
8472 fatal_exit(1);
8473 }
8474 var31 = var33;
8475 RET_LABEL32:(void)0;
8476 }
8477 }
8478 if (likely(varonce34!=NULL)) {
8479 var35 = varonce34;
8480 } else {
8481 var36 = "total";
8482 var38 = (val*)(5l<<2|1);
8483 var39 = (val*)(5l<<2|1);
8484 var40 = (val*)((long)(0)<<2|3);
8485 var41 = (val*)((long)(0)<<2|3);
8486 var37 = core__flat___CString___to_s_unsafe(var36, var38, var39, var40, var41);
8487 var35 = var37;
8488 varonce34 = var35;
8489 }
8490 {
8491 var42 = (val*)(0l<<2|1);
8492 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var31, var35, var42); /* Direct call hash_collection$HashMap$[]= on <var31:HashMap[String, Int]>*/
8493 }
8494 {
8495 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_unresolved (self) on <self:AbstractCompiler> */
8496 var45 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on <self:AbstractCompiler> */
8497 if (unlikely(var45 == NULL)) {
8498 if(catchStack.cursor >= 0){
8499 longjmp(catchStack.envs[catchStack.cursor], 1);
8500 }
8501 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
8502 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1112);
8503 fatal_exit(1);
8504 }
8505 var43 = var45;
8506 RET_LABEL44:(void)0;
8507 }
8508 }
8509 if (likely(varonce46!=NULL)) {
8510 var47 = varonce46;
8511 } else {
8512 var48 = "total";
8513 var50 = (val*)(5l<<2|1);
8514 var51 = (val*)(5l<<2|1);
8515 var52 = (val*)((long)(0)<<2|3);
8516 var53 = (val*)((long)(0)<<2|3);
8517 var49 = core__flat___CString___to_s_unsafe(var48, var50, var51, var52, var53);
8518 var47 = var49;
8519 varonce46 = var47;
8520 }
8521 {
8522 var54 = (val*)(0l<<2|1);
8523 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var43, var47, var54); /* Direct call hash_collection$HashMap$[]= on <var43:HashMap[String, Int]>*/
8524 }
8525 {
8526 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_skipped (self) on <self:AbstractCompiler> */
8527 var57 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on <self:AbstractCompiler> */
8528 if (unlikely(var57 == NULL)) {
8529 if(catchStack.cursor >= 0){
8530 longjmp(catchStack.envs[catchStack.cursor], 1);
8531 }
8532 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
8533 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1113);
8534 fatal_exit(1);
8535 }
8536 var55 = var57;
8537 RET_LABEL56:(void)0;
8538 }
8539 }
8540 if (likely(varonce58!=NULL)) {
8541 var59 = varonce58;
8542 } else {
8543 var60 = "total";
8544 var62 = (val*)(5l<<2|1);
8545 var63 = (val*)(5l<<2|1);
8546 var64 = (val*)((long)(0)<<2|3);
8547 var65 = (val*)((long)(0)<<2|3);
8548 var61 = core__flat___CString___to_s_unsafe(var60, var62, var63, var64, var65);
8549 var59 = var61;
8550 varonce58 = var59;
8551 }
8552 {
8553 var66 = (val*)(0l<<2|1);
8554 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var55, var59, var66); /* Direct call hash_collection$HashMap$[]= on <var55:HashMap[String, Int]>*/
8555 }
8556 if (likely(varonce67!=NULL)) {
8557 var68 = varonce67;
8558 } else {
8559 var69 = "total";
8560 var71 = (val*)(5l<<2|1);
8561 var72 = (val*)(5l<<2|1);
8562 var73 = (val*)((long)(0)<<2|3);
8563 var74 = (val*)((long)(0)<<2|3);
8564 var70 = core__flat___CString___to_s_unsafe(var69, var71, var72, var73, var74);
8565 var68 = var70;
8566 varonce67 = var68;
8567 }
8568 {
8569 var75 = (val*)(0l<<2|1);
8570 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_count_type_test_total, var68, var75); /* Direct call hash_collection$HashMap$[]= on <var_count_type_test_total:HashMap[String, Int]>*/
8571 }
8572 {
8573 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_tags (self) on <self:AbstractCompiler> */
8574 var78 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_tags].val; /* _count_type_test_tags on <self:AbstractCompiler> */
8575 if (unlikely(var78 == NULL)) {
8576 if(catchStack.cursor >= 0){
8577 longjmp(catchStack.envs[catchStack.cursor], 1);
8578 }
8579 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
8580 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1110);
8581 fatal_exit(1);
8582 }
8583 var76 = var78;
8584 RET_LABEL77:(void)0;
8585 }
8586 }
8587 var_ = var76;
8588 {
8589 var79 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_);
8590 }
8591 var_80 = var79;
8592 for(;;) {
8593 {
8594 var81 = ((short int(*)(val* self))((((long)var_80&3)?class_info[((long)var_80&3)]:var_80->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_80); /* is_ok on <var_80:IndexedIterator[String]>*/
8595 }
8596 if (var81){
8597 } else {
8598 goto BREAK_label;
8599 }
8600 {
8601 var82 = ((val*(*)(val* self))((((long)var_80&3)?class_info[((long)var_80&3)]:var_80->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_80); /* item on <var_80:IndexedIterator[String]>*/
8602 }
8603 var_tag = var82;
8604 {
8605 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_resolved (self) on <self:AbstractCompiler> */
8606 var85 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on <self:AbstractCompiler> */
8607 if (unlikely(var85 == NULL)) {
8608 if(catchStack.cursor >= 0){
8609 longjmp(catchStack.envs[catchStack.cursor], 1);
8610 }
8611 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
8612 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1111);
8613 fatal_exit(1);
8614 }
8615 var83 = var85;
8616 RET_LABEL84:(void)0;
8617 }
8618 }
8619 {
8620 var86 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var83, var_tag);
8621 }
8622 {
8623 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_unresolved (self) on <self:AbstractCompiler> */
8624 var89 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on <self:AbstractCompiler> */
8625 if (unlikely(var89 == NULL)) {
8626 if(catchStack.cursor >= 0){
8627 longjmp(catchStack.envs[catchStack.cursor], 1);
8628 }
8629 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
8630 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1112);
8631 fatal_exit(1);
8632 }
8633 var87 = var89;
8634 RET_LABEL88:(void)0;
8635 }
8636 }
8637 {
8638 var90 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var87, var_tag);
8639 }
8640 {
8641 { /* Inline kernel$Int$+ (var86,var90) on <var86:nullable Object(Int)> */
8642 /* Covariant cast for argument 0 (i) <var90:nullable Object(Int)> isa OTHER */
8643 /* <var90:nullable Object(Int)> isa OTHER */
8644 var93 = 1; /* easy <var90:nullable Object(Int)> isa OTHER*/
8645 if (unlikely(!var93)) {
8646 var_class_name = var90 == NULL ? "null" : (((long)var90&3)?type_info[((long)var90&3)]:var90->type)->name;
8647 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
8648 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
8649 fatal_exit(1);
8650 }
8651 var94 = (long)(var86)>>2;
8652 var95 = (long)(var90)>>2;
8653 var96 = var94 + var95;
8654 var91 = var96;
8655 goto RET_LABEL92;
8656 RET_LABEL92:(void)0;
8657 }
8658 }
8659 {
8660 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_skipped (self) on <self:AbstractCompiler> */
8661 var99 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on <self:AbstractCompiler> */
8662 if (unlikely(var99 == NULL)) {
8663 if(catchStack.cursor >= 0){
8664 longjmp(catchStack.envs[catchStack.cursor], 1);
8665 }
8666 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
8667 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1113);
8668 fatal_exit(1);
8669 }
8670 var97 = var99;
8671 RET_LABEL98:(void)0;
8672 }
8673 }
8674 {
8675 var100 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var97, var_tag);
8676 }
8677 {
8678 { /* Inline kernel$Int$+ (var91,var100) on <var91:Int> */
8679 /* Covariant cast for argument 0 (i) <var100:nullable Object(Int)> isa OTHER */
8680 /* <var100:nullable Object(Int)> isa OTHER */
8681 var103 = 1; /* easy <var100:nullable Object(Int)> isa OTHER*/
8682 if (unlikely(!var103)) {
8683 var_class_name106 = var100 == NULL ? "null" : (((long)var100&3)?type_info[((long)var100&3)]:var100->type)->name;
8684 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name106);
8685 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
8686 fatal_exit(1);
8687 }
8688 var107 = (long)(var100)>>2;
8689 var108 = var91 + var107;
8690 var101 = var108;
8691 goto RET_LABEL102;
8692 RET_LABEL102:(void)0;
8693 }
8694 }
8695 {
8696 var109 = (val*)(var101<<2|1);
8697 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_count_type_test_total, var_tag, var109); /* Direct call hash_collection$HashMap$[]= on <var_count_type_test_total:HashMap[String, Int]>*/
8698 }
8699 {
8700 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_resolved (self) on <self:AbstractCompiler> */
8701 var112 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on <self:AbstractCompiler> */
8702 if (unlikely(var112 == NULL)) {
8703 if(catchStack.cursor >= 0){
8704 longjmp(catchStack.envs[catchStack.cursor], 1);
8705 }
8706 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
8707 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1111);
8708 fatal_exit(1);
8709 }
8710 var110 = var112;
8711 RET_LABEL111:(void)0;
8712 }
8713 }
8714 var_113 = var110;
8715 if (likely(varonce114!=NULL)) {
8716 var115 = varonce114;
8717 } else {
8718 var116 = "total";
8719 var118 = (val*)(5l<<2|1);
8720 var119 = (val*)(5l<<2|1);
8721 var120 = (val*)((long)(0)<<2|3);
8722 var121 = (val*)((long)(0)<<2|3);
8723 var117 = core__flat___CString___to_s_unsafe(var116, var118, var119, var120, var121);
8724 var115 = var117;
8725 varonce114 = var115;
8726 }
8727 var_122 = var115;
8728 {
8729 var123 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_113, var_122);
8730 }
8731 {
8732 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_resolved (self) on <self:AbstractCompiler> */
8733 var126 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on <self:AbstractCompiler> */
8734 if (unlikely(var126 == NULL)) {
8735 if(catchStack.cursor >= 0){
8736 longjmp(catchStack.envs[catchStack.cursor], 1);
8737 }
8738 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
8739 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1111);
8740 fatal_exit(1);
8741 }
8742 var124 = var126;
8743 RET_LABEL125:(void)0;
8744 }
8745 }
8746 {
8747 var127 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var124, var_tag);
8748 }
8749 {
8750 { /* Inline kernel$Int$+ (var123,var127) on <var123:nullable Object(Int)> */
8751 /* Covariant cast for argument 0 (i) <var127:nullable Object(Int)> isa OTHER */
8752 /* <var127:nullable Object(Int)> isa OTHER */
8753 var130 = 1; /* easy <var127:nullable Object(Int)> isa OTHER*/
8754 if (unlikely(!var130)) {
8755 var_class_name133 = var127 == NULL ? "null" : (((long)var127&3)?type_info[((long)var127&3)]:var127->type)->name;
8756 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name133);
8757 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
8758 fatal_exit(1);
8759 }
8760 var134 = (long)(var123)>>2;
8761 var135 = (long)(var127)>>2;
8762 var136 = var134 + var135;
8763 var128 = var136;
8764 goto RET_LABEL129;
8765 RET_LABEL129:(void)0;
8766 }
8767 }
8768 {
8769 var137 = (val*)(var128<<2|1);
8770 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_113, var_122, var137); /* Direct call hash_collection$HashMap$[]= on <var_113:HashMap[String, Int]>*/
8771 }
8772 {
8773 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_unresolved (self) on <self:AbstractCompiler> */
8774 var140 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on <self:AbstractCompiler> */
8775 if (unlikely(var140 == NULL)) {
8776 if(catchStack.cursor >= 0){
8777 longjmp(catchStack.envs[catchStack.cursor], 1);
8778 }
8779 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
8780 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1112);
8781 fatal_exit(1);
8782 }
8783 var138 = var140;
8784 RET_LABEL139:(void)0;
8785 }
8786 }
8787 var_141 = var138;
8788 if (likely(varonce142!=NULL)) {
8789 var143 = varonce142;
8790 } else {
8791 var144 = "total";
8792 var146 = (val*)(5l<<2|1);
8793 var147 = (val*)(5l<<2|1);
8794 var148 = (val*)((long)(0)<<2|3);
8795 var149 = (val*)((long)(0)<<2|3);
8796 var145 = core__flat___CString___to_s_unsafe(var144, var146, var147, var148, var149);
8797 var143 = var145;
8798 varonce142 = var143;
8799 }
8800 var_150 = var143;
8801 {
8802 var151 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_141, var_150);
8803 }
8804 {
8805 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_unresolved (self) on <self:AbstractCompiler> */
8806 var154 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on <self:AbstractCompiler> */
8807 if (unlikely(var154 == NULL)) {
8808 if(catchStack.cursor >= 0){
8809 longjmp(catchStack.envs[catchStack.cursor], 1);
8810 }
8811 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
8812 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1112);
8813 fatal_exit(1);
8814 }
8815 var152 = var154;
8816 RET_LABEL153:(void)0;
8817 }
8818 }
8819 {
8820 var155 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var152, var_tag);
8821 }
8822 {
8823 { /* Inline kernel$Int$+ (var151,var155) on <var151:nullable Object(Int)> */
8824 /* Covariant cast for argument 0 (i) <var155:nullable Object(Int)> isa OTHER */
8825 /* <var155:nullable Object(Int)> isa OTHER */
8826 var158 = 1; /* easy <var155:nullable Object(Int)> isa OTHER*/
8827 if (unlikely(!var158)) {
8828 var_class_name161 = var155 == NULL ? "null" : (((long)var155&3)?type_info[((long)var155&3)]:var155->type)->name;
8829 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name161);
8830 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
8831 fatal_exit(1);
8832 }
8833 var162 = (long)(var151)>>2;
8834 var163 = (long)(var155)>>2;
8835 var164 = var162 + var163;
8836 var156 = var164;
8837 goto RET_LABEL157;
8838 RET_LABEL157:(void)0;
8839 }
8840 }
8841 {
8842 var165 = (val*)(var156<<2|1);
8843 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_141, var_150, var165); /* Direct call hash_collection$HashMap$[]= on <var_141:HashMap[String, Int]>*/
8844 }
8845 {
8846 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_skipped (self) on <self:AbstractCompiler> */
8847 var168 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on <self:AbstractCompiler> */
8848 if (unlikely(var168 == NULL)) {
8849 if(catchStack.cursor >= 0){
8850 longjmp(catchStack.envs[catchStack.cursor], 1);
8851 }
8852 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
8853 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1113);
8854 fatal_exit(1);
8855 }
8856 var166 = var168;
8857 RET_LABEL167:(void)0;
8858 }
8859 }
8860 var_169 = var166;
8861 if (likely(varonce170!=NULL)) {
8862 var171 = varonce170;
8863 } else {
8864 var172 = "total";
8865 var174 = (val*)(5l<<2|1);
8866 var175 = (val*)(5l<<2|1);
8867 var176 = (val*)((long)(0)<<2|3);
8868 var177 = (val*)((long)(0)<<2|3);
8869 var173 = core__flat___CString___to_s_unsafe(var172, var174, var175, var176, var177);
8870 var171 = var173;
8871 varonce170 = var171;
8872 }
8873 var_178 = var171;
8874 {
8875 var179 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_169, var_178);
8876 }
8877 {
8878 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_skipped (self) on <self:AbstractCompiler> */
8879 var182 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on <self:AbstractCompiler> */
8880 if (unlikely(var182 == NULL)) {
8881 if(catchStack.cursor >= 0){
8882 longjmp(catchStack.envs[catchStack.cursor], 1);
8883 }
8884 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
8885 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1113);
8886 fatal_exit(1);
8887 }
8888 var180 = var182;
8889 RET_LABEL181:(void)0;
8890 }
8891 }
8892 {
8893 var183 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var180, var_tag);
8894 }
8895 {
8896 { /* Inline kernel$Int$+ (var179,var183) on <var179:nullable Object(Int)> */
8897 /* Covariant cast for argument 0 (i) <var183:nullable Object(Int)> isa OTHER */
8898 /* <var183:nullable Object(Int)> isa OTHER */
8899 var186 = 1; /* easy <var183:nullable Object(Int)> isa OTHER*/
8900 if (unlikely(!var186)) {
8901 var_class_name189 = var183 == NULL ? "null" : (((long)var183&3)?type_info[((long)var183&3)]:var183->type)->name;
8902 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name189);
8903 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
8904 fatal_exit(1);
8905 }
8906 var190 = (long)(var179)>>2;
8907 var191 = (long)(var183)>>2;
8908 var192 = var190 + var191;
8909 var184 = var192;
8910 goto RET_LABEL185;
8911 RET_LABEL185:(void)0;
8912 }
8913 }
8914 {
8915 var193 = (val*)(var184<<2|1);
8916 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_169, var_178, var193); /* Direct call hash_collection$HashMap$[]= on <var_169:HashMap[String, Int]>*/
8917 }
8918 var_194 = var_count_type_test_total;
8919 if (likely(varonce195!=NULL)) {
8920 var196 = varonce195;
8921 } else {
8922 var197 = "total";
8923 var199 = (val*)(5l<<2|1);
8924 var200 = (val*)(5l<<2|1);
8925 var201 = (val*)((long)(0)<<2|3);
8926 var202 = (val*)((long)(0)<<2|3);
8927 var198 = core__flat___CString___to_s_unsafe(var197, var199, var200, var201, var202);
8928 var196 = var198;
8929 varonce195 = var196;
8930 }
8931 var_203 = var196;
8932 {
8933 var204 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_194, var_203);
8934 }
8935 {
8936 var205 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_count_type_test_total, var_tag);
8937 }
8938 {
8939 { /* Inline kernel$Int$+ (var204,var205) on <var204:nullable Object(Int)> */
8940 /* Covariant cast for argument 0 (i) <var205:nullable Object(Int)> isa OTHER */
8941 /* <var205:nullable Object(Int)> isa OTHER */
8942 var208 = 1; /* easy <var205:nullable Object(Int)> isa OTHER*/
8943 if (unlikely(!var208)) {
8944 var_class_name211 = var205 == NULL ? "null" : (((long)var205&3)?type_info[((long)var205&3)]:var205->type)->name;
8945 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name211);
8946 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
8947 fatal_exit(1);
8948 }
8949 var212 = (long)(var204)>>2;
8950 var213 = (long)(var205)>>2;
8951 var214 = var212 + var213;
8952 var206 = var214;
8953 goto RET_LABEL207;
8954 RET_LABEL207:(void)0;
8955 }
8956 }
8957 {
8958 var215 = (val*)(var206<<2|1);
8959 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_194, var_203, var215); /* Direct call hash_collection$HashMap$[]= on <var_194:HashMap[String, Int]>*/
8960 }
8961 {
8962 ((void(*)(val* self))((((long)var_80&3)?class_info[((long)var_80&3)]:var_80->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_80); /* next on <var_80:IndexedIterator[String]>*/
8963 }
8964 }
8965 BREAK_label: (void)0;
8966 {
8967 ((void(*)(val* self))((((long)var_80&3)?class_info[((long)var_80&3)]:var_80->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_80); /* finish on <var_80:IndexedIterator[String]>*/
8968 }
8969 if (likely(varonce216!=NULL)) {
8970 var217 = varonce216;
8971 } else {
8972 var218 = "total";
8973 var220 = (val*)(5l<<2|1);
8974 var221 = (val*)(5l<<2|1);
8975 var222 = (val*)((long)(0)<<2|3);
8976 var223 = (val*)((long)(0)<<2|3);
8977 var219 = core__flat___CString___to_s_unsafe(var218, var220, var221, var222, var223);
8978 var217 = var219;
8979 varonce216 = var217;
8980 }
8981 {
8982 var224 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_count_type_test_total, var217);
8983 }
8984 var225 = (long)(var224)>>2;
8985 var_count_type_test = var225;
8986 {
8987 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_tags (self) on <self:AbstractCompiler> */
8988 var228 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_tags].val; /* _count_type_test_tags on <self:AbstractCompiler> */
8989 if (unlikely(var228 == NULL)) {
8990 if(catchStack.cursor >= 0){
8991 longjmp(catchStack.envs[catchStack.cursor], 1);
8992 }
8993 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
8994 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1110);
8995 fatal_exit(1);
8996 }
8997 var226 = var228;
8998 RET_LABEL227:(void)0;
8999 }
9000 }
9001 {
9002 var229 = core__array___Collection___to_a(var226);
9003 }
9004 var_tags = var229;
9005 if (likely(varonce230!=NULL)) {
9006 var231 = varonce230;
9007 } else {
9008 var232 = "total";
9009 var234 = (val*)(5l<<2|1);
9010 var235 = (val*)(5l<<2|1);
9011 var236 = (val*)((long)(0)<<2|3);
9012 var237 = (val*)((long)(0)<<2|3);
9013 var233 = core__flat___CString___to_s_unsafe(var232, var234, var235, var236, var237);
9014 var231 = var233;
9015 varonce230 = var231;
9016 }
9017 {
9018 core___core__Array___core__abstract_collection__SimpleCollection__add(var_tags, var231); /* Direct call array$Array$add on <var_tags:Array[String]>*/
9019 }
9020 var_238 = var_tags;
9021 {
9022 var239 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_238);
9023 }
9024 var_240 = var239;
9025 for(;;) {
9026 {
9027 var241 = ((short int(*)(val* self))((((long)var_240&3)?class_info[((long)var_240&3)]:var_240->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_240); /* is_ok on <var_240:IndexedIterator[String]>*/
9028 }
9029 if (var241){
9030 } else {
9031 goto BREAK_label242;
9032 }
9033 {
9034 var243 = ((val*(*)(val* self))((((long)var_240&3)?class_info[((long)var_240&3)]:var_240->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_240); /* item on <var_240:IndexedIterator[String]>*/
9035 }
9036 var_tag244 = var243;
9037 var245 = glob_sys;
9038 var246 = NEW_core__Array(&type_core__Array__core__Object);
9039 { /* var246 = array_instance Array[Object] */
9040 var247 = NEW_core__NativeArray((int)1l, &type_core__NativeArray__core__Object);
9041 ((struct instance_core__NativeArray*)var247)->values[0] = (val*) var_tag244;
9042 {
9043 ((void(*)(val* self, val* p0, long p1))(var246->class->vft[COLOR_core__array__Array__with_native]))(var246, var247, 1l); /* with_native on <var246:Array[Object]>*/
9044 }
9045 }
9046 {
9047 core__file___Sys___printn(var245, var246); /* Direct call file$Sys$printn on <var245:Sys>*/
9048 }
9049 var248 = glob_sys;
9050 if (unlikely(varonce249==NULL)) {
9051 var250 = NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String);
9052 if (likely(varonce251!=NULL)) {
9053 var252 = varonce251;
9054 } else {
9055 var253 = "\t";
9056 var255 = (val*)(1l<<2|1);
9057 var256 = (val*)(1l<<2|1);
9058 var257 = (val*)((long)(0)<<2|3);
9059 var258 = (val*)((long)(0)<<2|3);
9060 var254 = core__flat___CString___to_s_unsafe(var253, var255, var256, var257, var258);
9061 var252 = var254;
9062 varonce251 = var252;
9063 }
9064 ((struct instance_core__NativeArray*)var250)->values[0]=var252;
9065 if (likely(varonce259!=NULL)) {
9066 var260 = varonce259;
9067 } else {
9068 var261 = " (";
9069 var263 = (val*)(2l<<2|1);
9070 var264 = (val*)(2l<<2|1);
9071 var265 = (val*)((long)(0)<<2|3);
9072 var266 = (val*)((long)(0)<<2|3);
9073 var262 = core__flat___CString___to_s_unsafe(var261, var263, var264, var265, var266);
9074 var260 = var262;
9075 varonce259 = var260;
9076 }
9077 ((struct instance_core__NativeArray*)var250)->values[2]=var260;
9078 if (likely(varonce267!=NULL)) {
9079 var268 = varonce267;
9080 } else {
9081 var269 = "%)";
9082 var271 = (val*)(2l<<2|1);
9083 var272 = (val*)(2l<<2|1);
9084 var273 = (val*)((long)(0)<<2|3);
9085 var274 = (val*)((long)(0)<<2|3);
9086 var270 = core__flat___CString___to_s_unsafe(var269, var271, var272, var273, var274);
9087 var268 = var270;
9088 varonce267 = var268;
9089 }
9090 ((struct instance_core__NativeArray*)var250)->values[4]=var268;
9091 } else {
9092 var250 = varonce249;
9093 varonce249 = NULL;
9094 }
9095 {
9096 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_resolved (self) on <self:AbstractCompiler> */
9097 var277 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on <self:AbstractCompiler> */
9098 if (unlikely(var277 == NULL)) {
9099 if(catchStack.cursor >= 0){
9100 longjmp(catchStack.envs[catchStack.cursor], 1);
9101 }
9102 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
9103 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1111);
9104 fatal_exit(1);
9105 }
9106 var275 = var277;
9107 RET_LABEL276:(void)0;
9108 }
9109 }
9110 {
9111 var278 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var275, var_tag244);
9112 }
9113 var280 = (long)(var278)>>2;
9114 var279 = core__flat___Int___core__abstract_text__Object__to_s(var280);
9115 ((struct instance_core__NativeArray*)var250)->values[1]=var279;
9116 var281 = glob_sys;
9117 {
9118 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_resolved (self) on <self:AbstractCompiler> */
9119 var284 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on <self:AbstractCompiler> */
9120 if (unlikely(var284 == NULL)) {
9121 if(catchStack.cursor >= 0){
9122 longjmp(catchStack.envs[catchStack.cursor], 1);
9123 }
9124 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
9125 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1111);
9126 fatal_exit(1);
9127 }
9128 var282 = var284;
9129 RET_LABEL283:(void)0;
9130 }
9131 }
9132 {
9133 var285 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var282, var_tag244);
9134 }
9135 {
9136 var287 = (long)(var285)>>2;
9137 var286 = counter___core__Sys___div(var281, var287, var_count_type_test);
9138 }
9139 ((struct instance_core__NativeArray*)var250)->values[3]=var286;
9140 {
9141 var288 = ((val*(*)(val* self))(var250->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var250); /* native_to_s on <var250:NativeArray[String]>*/
9142 }
9143 varonce249 = var250;
9144 var289 = NEW_core__Array(&type_core__Array__core__Object);
9145 { /* var289 = array_instance Array[Object] */
9146 var290 = NEW_core__NativeArray((int)1l, &type_core__NativeArray__core__Object);
9147 ((struct instance_core__NativeArray*)var290)->values[0] = (val*) var288;
9148 {
9149 ((void(*)(val* self, val* p0, long p1))(var289->class->vft[COLOR_core__array__Array__with_native]))(var289, var290, 1l); /* with_native on <var289:Array[Object]>*/
9150 }
9151 }
9152 {
9153 core__file___Sys___printn(var248, var289); /* Direct call file$Sys$printn on <var248:Sys>*/
9154 }
9155 var291 = glob_sys;
9156 if (unlikely(varonce292==NULL)) {
9157 var293 = NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String);
9158 if (likely(varonce294!=NULL)) {
9159 var295 = varonce294;
9160 } else {
9161 var296 = "\t";
9162 var298 = (val*)(1l<<2|1);
9163 var299 = (val*)(1l<<2|1);
9164 var300 = (val*)((long)(0)<<2|3);
9165 var301 = (val*)((long)(0)<<2|3);
9166 var297 = core__flat___CString___to_s_unsafe(var296, var298, var299, var300, var301);
9167 var295 = var297;
9168 varonce294 = var295;
9169 }
9170 ((struct instance_core__NativeArray*)var293)->values[0]=var295;
9171 if (likely(varonce302!=NULL)) {
9172 var303 = varonce302;
9173 } else {
9174 var304 = " (";
9175 var306 = (val*)(2l<<2|1);
9176 var307 = (val*)(2l<<2|1);
9177 var308 = (val*)((long)(0)<<2|3);
9178 var309 = (val*)((long)(0)<<2|3);
9179 var305 = core__flat___CString___to_s_unsafe(var304, var306, var307, var308, var309);
9180 var303 = var305;
9181 varonce302 = var303;
9182 }
9183 ((struct instance_core__NativeArray*)var293)->values[2]=var303;
9184 if (likely(varonce310!=NULL)) {
9185 var311 = varonce310;
9186 } else {
9187 var312 = "%)";
9188 var314 = (val*)(2l<<2|1);
9189 var315 = (val*)(2l<<2|1);
9190 var316 = (val*)((long)(0)<<2|3);
9191 var317 = (val*)((long)(0)<<2|3);
9192 var313 = core__flat___CString___to_s_unsafe(var312, var314, var315, var316, var317);
9193 var311 = var313;
9194 varonce310 = var311;
9195 }
9196 ((struct instance_core__NativeArray*)var293)->values[4]=var311;
9197 } else {
9198 var293 = varonce292;
9199 varonce292 = NULL;
9200 }
9201 {
9202 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_unresolved (self) on <self:AbstractCompiler> */
9203 var320 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on <self:AbstractCompiler> */
9204 if (unlikely(var320 == NULL)) {
9205 if(catchStack.cursor >= 0){
9206 longjmp(catchStack.envs[catchStack.cursor], 1);
9207 }
9208 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
9209 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1112);
9210 fatal_exit(1);
9211 }
9212 var318 = var320;
9213 RET_LABEL319:(void)0;
9214 }
9215 }
9216 {
9217 var321 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var318, var_tag244);
9218 }
9219 var323 = (long)(var321)>>2;
9220 var322 = core__flat___Int___core__abstract_text__Object__to_s(var323);
9221 ((struct instance_core__NativeArray*)var293)->values[1]=var322;
9222 var324 = glob_sys;
9223 {
9224 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_unresolved (self) on <self:AbstractCompiler> */
9225 var327 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on <self:AbstractCompiler> */
9226 if (unlikely(var327 == NULL)) {
9227 if(catchStack.cursor >= 0){
9228 longjmp(catchStack.envs[catchStack.cursor], 1);
9229 }
9230 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
9231 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1112);
9232 fatal_exit(1);
9233 }
9234 var325 = var327;
9235 RET_LABEL326:(void)0;
9236 }
9237 }
9238 {
9239 var328 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var325, var_tag244);
9240 }
9241 {
9242 var330 = (long)(var328)>>2;
9243 var329 = counter___core__Sys___div(var324, var330, var_count_type_test);
9244 }
9245 ((struct instance_core__NativeArray*)var293)->values[3]=var329;
9246 {
9247 var331 = ((val*(*)(val* self))(var293->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var293); /* native_to_s on <var293:NativeArray[String]>*/
9248 }
9249 varonce292 = var293;
9250 var332 = NEW_core__Array(&type_core__Array__core__Object);
9251 { /* var332 = array_instance Array[Object] */
9252 var333 = NEW_core__NativeArray((int)1l, &type_core__NativeArray__core__Object);
9253 ((struct instance_core__NativeArray*)var333)->values[0] = (val*) var331;
9254 {
9255 ((void(*)(val* self, val* p0, long p1))(var332->class->vft[COLOR_core__array__Array__with_native]))(var332, var333, 1l); /* with_native on <var332:Array[Object]>*/
9256 }
9257 }
9258 {
9259 core__file___Sys___printn(var291, var332); /* Direct call file$Sys$printn on <var291:Sys>*/
9260 }
9261 var334 = glob_sys;
9262 if (unlikely(varonce335==NULL)) {
9263 var336 = NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String);
9264 if (likely(varonce337!=NULL)) {
9265 var338 = varonce337;
9266 } else {
9267 var339 = "\t";
9268 var341 = (val*)(1l<<2|1);
9269 var342 = (val*)(1l<<2|1);
9270 var343 = (val*)((long)(0)<<2|3);
9271 var344 = (val*)((long)(0)<<2|3);
9272 var340 = core__flat___CString___to_s_unsafe(var339, var341, var342, var343, var344);
9273 var338 = var340;
9274 varonce337 = var338;
9275 }
9276 ((struct instance_core__NativeArray*)var336)->values[0]=var338;
9277 if (likely(varonce345!=NULL)) {
9278 var346 = varonce345;
9279 } else {
9280 var347 = " (";
9281 var349 = (val*)(2l<<2|1);
9282 var350 = (val*)(2l<<2|1);
9283 var351 = (val*)((long)(0)<<2|3);
9284 var352 = (val*)((long)(0)<<2|3);
9285 var348 = core__flat___CString___to_s_unsafe(var347, var349, var350, var351, var352);
9286 var346 = var348;
9287 varonce345 = var346;
9288 }
9289 ((struct instance_core__NativeArray*)var336)->values[2]=var346;
9290 if (likely(varonce353!=NULL)) {
9291 var354 = varonce353;
9292 } else {
9293 var355 = "%)";
9294 var357 = (val*)(2l<<2|1);
9295 var358 = (val*)(2l<<2|1);
9296 var359 = (val*)((long)(0)<<2|3);
9297 var360 = (val*)((long)(0)<<2|3);
9298 var356 = core__flat___CString___to_s_unsafe(var355, var357, var358, var359, var360);
9299 var354 = var356;
9300 varonce353 = var354;
9301 }
9302 ((struct instance_core__NativeArray*)var336)->values[4]=var354;
9303 } else {
9304 var336 = varonce335;
9305 varonce335 = NULL;
9306 }
9307 {
9308 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_skipped (self) on <self:AbstractCompiler> */
9309 var363 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on <self:AbstractCompiler> */
9310 if (unlikely(var363 == NULL)) {
9311 if(catchStack.cursor >= 0){
9312 longjmp(catchStack.envs[catchStack.cursor], 1);
9313 }
9314 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
9315 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1113);
9316 fatal_exit(1);
9317 }
9318 var361 = var363;
9319 RET_LABEL362:(void)0;
9320 }
9321 }
9322 {
9323 var364 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var361, var_tag244);
9324 }
9325 var366 = (long)(var364)>>2;
9326 var365 = core__flat___Int___core__abstract_text__Object__to_s(var366);
9327 ((struct instance_core__NativeArray*)var336)->values[1]=var365;
9328 var367 = glob_sys;
9329 {
9330 { /* Inline abstract_compiler$AbstractCompiler$count_type_test_skipped (self) on <self:AbstractCompiler> */
9331 var370 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on <self:AbstractCompiler> */
9332 if (unlikely(var370 == NULL)) {
9333 if(catchStack.cursor >= 0){
9334 longjmp(catchStack.envs[catchStack.cursor], 1);
9335 }
9336 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
9337 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1113);
9338 fatal_exit(1);
9339 }
9340 var368 = var370;
9341 RET_LABEL369:(void)0;
9342 }
9343 }
9344 {
9345 var371 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var368, var_tag244);
9346 }
9347 {
9348 var373 = (long)(var371)>>2;
9349 var372 = counter___core__Sys___div(var367, var373, var_count_type_test);
9350 }
9351 ((struct instance_core__NativeArray*)var336)->values[3]=var372;
9352 {
9353 var374 = ((val*(*)(val* self))(var336->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var336); /* native_to_s on <var336:NativeArray[String]>*/
9354 }
9355 varonce335 = var336;
9356 var375 = NEW_core__Array(&type_core__Array__core__Object);
9357 { /* var375 = array_instance Array[Object] */
9358 var376 = NEW_core__NativeArray((int)1l, &type_core__NativeArray__core__Object);
9359 ((struct instance_core__NativeArray*)var376)->values[0] = (val*) var374;
9360 {
9361 ((void(*)(val* self, val* p0, long p1))(var375->class->vft[COLOR_core__array__Array__with_native]))(var375, var376, 1l); /* with_native on <var375:Array[Object]>*/
9362 }
9363 }
9364 {
9365 core__file___Sys___printn(var334, var375); /* Direct call file$Sys$printn on <var334:Sys>*/
9366 }
9367 var377 = glob_sys;
9368 if (unlikely(varonce378==NULL)) {
9369 var379 = NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String);
9370 if (likely(varonce380!=NULL)) {
9371 var381 = varonce380;
9372 } else {
9373 var382 = "\t";
9374 var384 = (val*)(1l<<2|1);
9375 var385 = (val*)(1l<<2|1);
9376 var386 = (val*)((long)(0)<<2|3);
9377 var387 = (val*)((long)(0)<<2|3);
9378 var383 = core__flat___CString___to_s_unsafe(var382, var384, var385, var386, var387);
9379 var381 = var383;
9380 varonce380 = var381;
9381 }
9382 ((struct instance_core__NativeArray*)var379)->values[0]=var381;
9383 if (likely(varonce388!=NULL)) {
9384 var389 = varonce388;
9385 } else {
9386 var390 = " (";
9387 var392 = (val*)(2l<<2|1);
9388 var393 = (val*)(2l<<2|1);
9389 var394 = (val*)((long)(0)<<2|3);
9390 var395 = (val*)((long)(0)<<2|3);
9391 var391 = core__flat___CString___to_s_unsafe(var390, var392, var393, var394, var395);
9392 var389 = var391;
9393 varonce388 = var389;
9394 }
9395 ((struct instance_core__NativeArray*)var379)->values[2]=var389;
9396 if (likely(varonce396!=NULL)) {
9397 var397 = varonce396;
9398 } else {
9399 var398 = "%)";
9400 var400 = (val*)(2l<<2|1);
9401 var401 = (val*)(2l<<2|1);
9402 var402 = (val*)((long)(0)<<2|3);
9403 var403 = (val*)((long)(0)<<2|3);
9404 var399 = core__flat___CString___to_s_unsafe(var398, var400, var401, var402, var403);
9405 var397 = var399;
9406 varonce396 = var397;
9407 }
9408 ((struct instance_core__NativeArray*)var379)->values[4]=var397;
9409 } else {
9410 var379 = varonce378;
9411 varonce378 = NULL;
9412 }
9413 {
9414 var404 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_count_type_test_total, var_tag244);
9415 }
9416 var406 = (long)(var404)>>2;
9417 var405 = core__flat___Int___core__abstract_text__Object__to_s(var406);
9418 ((struct instance_core__NativeArray*)var379)->values[1]=var405;
9419 var407 = glob_sys;
9420 {
9421 var408 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_count_type_test_total, var_tag244);
9422 }
9423 {
9424 var410 = (long)(var408)>>2;
9425 var409 = counter___core__Sys___div(var407, var410, var_count_type_test);
9426 }
9427 ((struct instance_core__NativeArray*)var379)->values[3]=var409;
9428 {
9429 var411 = ((val*(*)(val* self))(var379->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var379); /* native_to_s on <var379:NativeArray[String]>*/
9430 }
9431 varonce378 = var379;
9432 var412 = NEW_core__Array(&type_core__Array__core__Object);
9433 { /* var412 = array_instance Array[Object] */
9434 var413 = NEW_core__NativeArray((int)1l, &type_core__NativeArray__core__Object);
9435 ((struct instance_core__NativeArray*)var413)->values[0] = (val*) var411;
9436 {
9437 ((void(*)(val* self, val* p0, long p1))(var412->class->vft[COLOR_core__array__Array__with_native]))(var412, var413, 1l); /* with_native on <var412:Array[Object]>*/
9438 }
9439 }
9440 {
9441 core__file___Sys___printn(var377, var412); /* Direct call file$Sys$printn on <var377:Sys>*/
9442 }
9443 var414 = glob_sys;
9444 if (likely(varonce415!=NULL)) {
9445 var416 = varonce415;
9446 } else {
9447 var417 = "";
9448 var419 = (val*)(0l<<2|1);
9449 var420 = (val*)(0l<<2|1);
9450 var421 = (val*)((long)(0)<<2|3);
9451 var422 = (val*)((long)(0)<<2|3);
9452 var418 = core__flat___CString___to_s_unsafe(var417, var419, var420, var421, var422);
9453 var416 = var418;
9454 varonce415 = var416;
9455 }
9456 {
9457 core__file___Sys___print(var414, var416); /* Direct call file$Sys$print on <var414:Sys>*/
9458 }
9459 {
9460 ((void(*)(val* self))((((long)var_240&3)?class_info[((long)var_240&3)]:var_240->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_240); /* next on <var_240:IndexedIterator[String]>*/
9461 }
9462 }
9463 BREAK_label242: (void)0;
9464 {
9465 ((void(*)(val* self))((((long)var_240&3)?class_info[((long)var_240&3)]:var_240->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_240); /* finish on <var_240:IndexedIterator[String]>*/
9466 }
9467 } else {
9468 }
9469 RET_LABEL:;
9470 }
9471 /* method abstract_compiler$AbstractCompiler$finalize_ffi_for_module for (self: AbstractCompiler, MModule) */
9472 void nitc___nitc__AbstractCompiler___finalize_ffi_for_module(val* self, val* p0) {
9473 val* var_mmodule /* var mmodule: MModule */;
9474 var_mmodule = p0;
9475 {
9476 nitc__light___MModule___finalize_ffi(var_mmodule, self); /* Direct call light$MModule$finalize_ffi on <var_mmodule:MModule>*/
9477 }
9478 RET_LABEL:;
9479 }
9480 /* method abstract_compiler$CodeFile$name for (self: CodeFile): String */
9481 val* nitc___nitc__CodeFile___name(val* self) {
9482 val* var /* : String */;
9483 val* var1 /* : String */;
9484 var1 = self->attrs[COLOR_nitc__abstract_compiler__CodeFile___name].val; /* _name on <self:CodeFile> */
9485 if (unlikely(var1 == NULL)) {
9486 if(catchStack.cursor >= 0){
9487 longjmp(catchStack.envs[catchStack.cursor], 1);
9488 }
9489 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
9490 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1170);
9491 fatal_exit(1);
9492 }
9493 var = var1;
9494 RET_LABEL:;
9495 return var;
9496 }
9497 /* method abstract_compiler$CodeFile$name= for (self: CodeFile, String) */
9498 void nitc___nitc__CodeFile___name_61d(val* self, val* p0) {
9499 self->attrs[COLOR_nitc__abstract_compiler__CodeFile___name].val = p0; /* _name on <self:CodeFile> */
9500 RET_LABEL:;
9501 }
9502 /* method abstract_compiler$CodeFile$writers for (self: CodeFile): Array[CodeWriter] */
9503 val* nitc___nitc__CodeFile___writers(val* self) {
9504 val* var /* : Array[CodeWriter] */;
9505 val* var1 /* : Array[CodeWriter] */;
9506 var1 = self->attrs[COLOR_nitc__abstract_compiler__CodeFile___writers].val; /* _writers on <self:CodeFile> */
9507 if (unlikely(var1 == NULL)) {
9508 if(catchStack.cursor >= 0){
9509 longjmp(catchStack.envs[catchStack.cursor], 1);
9510 }
9511 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writers");
9512 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1173);
9513 fatal_exit(1);
9514 }
9515 var = var1;
9516 RET_LABEL:;
9517 return var;
9518 }
9519 /* method abstract_compiler$CodeFile$required_declarations for (self: CodeFile): HashSet[String] */
9520 val* nitc___nitc__CodeFile___required_declarations(val* self) {
9521 val* var /* : HashSet[String] */;
9522 val* var1 /* : HashSet[String] */;
9523 var1 = self->attrs[COLOR_nitc__abstract_compiler__CodeFile___required_declarations].val; /* _required_declarations on <self:CodeFile> */
9524 if (unlikely(var1 == NULL)) {
9525 if(catchStack.cursor >= 0){
9526 longjmp(catchStack.envs[catchStack.cursor], 1);
9527 }
9528 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _required_declarations");
9529 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1176);
9530 fatal_exit(1);
9531 }
9532 var = var1;
9533 RET_LABEL:;
9534 return var;
9535 }
9536 /* method abstract_compiler$CodeFile$init for (self: CodeFile) */
9537 void nitc___nitc__CodeFile___core__kernel__Object__init(val* self) {
9538 {
9539 ((void(*)(val* self))(self->class->vft[COLOR_nitc___nitc__CodeFile___core__kernel__Object__init]))(self); /* init on <self:CodeFile>*/
9540 }
9541 RET_LABEL:;
9542 }
9543 /* method abstract_compiler$CodeWriter$file for (self: CodeWriter): CodeFile */
9544 val* nitc___nitc__CodeWriter___file(val* self) {
9545 val* var /* : CodeFile */;
9546 val* var1 /* : CodeFile */;
9547 var1 = self->attrs[COLOR_nitc__abstract_compiler__CodeWriter___file].val; /* _file on <self:CodeWriter> */
9548 if (unlikely(var1 == NULL)) {
9549 if(catchStack.cursor >= 0){
9550 longjmp(catchStack.envs[catchStack.cursor], 1);
9551 }
9552 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
9553 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1186);
9554 fatal_exit(1);
9555 }
9556 var = var1;
9557 RET_LABEL:;
9558 return var;
9559 }
9560 /* method abstract_compiler$CodeWriter$file= for (self: CodeWriter, CodeFile) */
9561 void nitc___nitc__CodeWriter___file_61d(val* self, val* p0) {
9562 self->attrs[COLOR_nitc__abstract_compiler__CodeWriter___file].val = p0; /* _file on <self:CodeWriter> */
9563 RET_LABEL:;
9564 }
9565 /* method abstract_compiler$CodeWriter$lines for (self: CodeWriter): Array[String] */
9566 val* nitc___nitc__CodeWriter___lines(val* self) {
9567 val* var /* : Array[String] */;
9568 val* var1 /* : Array[String] */;
9569 var1 = self->attrs[COLOR_nitc__abstract_compiler__CodeWriter___lines].val; /* _lines on <self:CodeWriter> */
9570 if (unlikely(var1 == NULL)) {
9571 if(catchStack.cursor >= 0){
9572 longjmp(catchStack.envs[catchStack.cursor], 1);
9573 }
9574 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
9575 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1189);
9576 fatal_exit(1);
9577 }
9578 var = var1;
9579 RET_LABEL:;
9580 return var;
9581 }
9582 /* method abstract_compiler$CodeWriter$decl_lines for (self: CodeWriter): Array[String] */
9583 val* nitc___nitc__CodeWriter___decl_lines(val* self) {
9584 val* var /* : Array[String] */;
9585 val* var1 /* : Array[String] */;
9586 var1 = self->attrs[COLOR_nitc__abstract_compiler__CodeWriter___decl_lines].val; /* _decl_lines on <self:CodeWriter> */
9587 if (unlikely(var1 == NULL)) {
9588 if(catchStack.cursor >= 0){
9589 longjmp(catchStack.envs[catchStack.cursor], 1);
9590 }
9591 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
9592 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1192);
9593 fatal_exit(1);
9594 }
9595 var = var1;
9596 RET_LABEL:;
9597 return var;
9598 }
9599 /* method abstract_compiler$CodeWriter$add_decl for (self: CodeWriter, String) */
9600 void nitc___nitc__CodeWriter___add_decl(val* self, val* p0) {
9601 val* var_s /* var s: String */;
9602 val* var /* : Array[String] */;
9603 val* var2 /* : Array[String] */;
9604 var_s = p0;
9605 {
9606 { /* Inline abstract_compiler$CodeWriter$decl_lines (self) on <self:CodeWriter> */
9607 var2 = self->attrs[COLOR_nitc__abstract_compiler__CodeWriter___decl_lines].val; /* _decl_lines on <self:CodeWriter> */
9608 if (unlikely(var2 == NULL)) {
9609 if(catchStack.cursor >= 0){
9610 longjmp(catchStack.envs[catchStack.cursor], 1);
9611 }
9612 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
9613 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1192);
9614 fatal_exit(1);
9615 }
9616 var = var2;
9617 RET_LABEL1:(void)0;
9618 }
9619 }
9620 {
9621 core___core__Array___core__abstract_collection__SimpleCollection__add(var, var_s); /* Direct call array$Array$add on <var:Array[String]>*/
9622 }
9623 RET_LABEL:;
9624 }
9625 /* method abstract_compiler$CodeWriter$init for (self: CodeWriter) */
9626 void nitc___nitc__CodeWriter___core__kernel__Object__init(val* self) {
9627 val* var /* : CodeFile */;
9628 val* var2 /* : CodeFile */;
9629 val* var3 /* : Array[CodeWriter] */;
9630 val* var5 /* : Array[CodeWriter] */;
9631 {
9632 ((void(*)(val* self))(self->class->vft[COLOR_nitc___nitc__CodeWriter___core__kernel__Object__init]))(self); /* init on <self:CodeWriter>*/
9633 }
9634 {
9635 { /* Inline abstract_compiler$CodeWriter$file (self) on <self:CodeWriter> */
9636 var2 = self->attrs[COLOR_nitc__abstract_compiler__CodeWriter___file].val; /* _file on <self:CodeWriter> */
9637 if (unlikely(var2 == NULL)) {
9638 if(catchStack.cursor >= 0){
9639 longjmp(catchStack.envs[catchStack.cursor], 1);
9640 }
9641 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
9642 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1186);
9643 fatal_exit(1);
9644 }
9645 var = var2;
9646 RET_LABEL1:(void)0;
9647 }
9648 }
9649 {
9650 { /* Inline abstract_compiler$CodeFile$writers (var) on <var:CodeFile> */
9651 var5 = var->attrs[COLOR_nitc__abstract_compiler__CodeFile___writers].val; /* _writers on <var:CodeFile> */
9652 if (unlikely(var5 == NULL)) {
9653 if(catchStack.cursor >= 0){
9654 longjmp(catchStack.envs[catchStack.cursor], 1);
9655 }
9656 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writers");
9657 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1173);
9658 fatal_exit(1);
9659 }
9660 var3 = var5;
9661 RET_LABEL4:(void)0;
9662 }
9663 }
9664 {
9665 core___core__Array___core__abstract_collection__SimpleCollection__add(var3, self); /* Direct call array$Array$add on <var3:Array[CodeWriter]>*/
9666 }
9667 RET_LABEL:;
9668 }
9669 /* method abstract_compiler$AbstractCompilerVisitor$compiler for (self: AbstractCompilerVisitor): AbstractCompiler */
9670 val* nitc___nitc__AbstractCompilerVisitor___compiler(val* self) {
9671 val* var /* : AbstractCompiler */;
9672 val* var1 /* : AbstractCompiler */;
9673 var1 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on <self:AbstractCompilerVisitor> */
9674 if (unlikely(var1 == NULL)) {
9675 if(catchStack.cursor >= 0){
9676 longjmp(catchStack.envs[catchStack.cursor], 1);
9677 }
9678 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
9679 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1214);
9680 fatal_exit(1);
9681 }
9682 var = var1;
9683 RET_LABEL:;
9684 return var;
9685 }
9686 /* method abstract_compiler$AbstractCompilerVisitor$compiler= for (self: AbstractCompilerVisitor, AbstractCompiler) */
9687 void nitc___nitc__AbstractCompilerVisitor___compiler_61d(val* self, val* p0) {
9688 short int var /* : Bool */;
9689 int cltype;
9690 int idtype;
9691 const struct type* type_struct;
9692 const char* var_class_name;
9693 /* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
9694 /* <p0:AbstractCompiler> isa COMPILER */
9695 type_struct = self->type->resolution_table->types[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor__COMPILER];
9696 cltype = type_struct->color;
9697 idtype = type_struct->id;
9698 if(cltype >= p0->type->table_size) {
9699 var = 0;
9700 } else {
9701 var = p0->type->type_table[cltype] == idtype;
9702 }
9703 if (unlikely(!var)) {
9704 var_class_name = p0 == NULL ? "null" : p0->type->name;
9705 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name);
9706 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1214);
9707 fatal_exit(1);
9708 }
9709 self->attrs[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler].val = p0; /* _compiler on <self:AbstractCompilerVisitor> */
9710 RET_LABEL:;
9711 }
9712 /* method abstract_compiler$AbstractCompilerVisitor$current_node for (self: AbstractCompilerVisitor): nullable ANode */
9713 val* nitc___nitc__AbstractCompilerVisitor___current_node(val* self) {
9714 val* var /* : nullable ANode */;
9715 val* var1 /* : nullable ANode */;
9716 var1 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on <self:AbstractCompilerVisitor> */
9717 var = var1;
9718 RET_LABEL:;
9719 return var;
9720 }
9721 /* method abstract_compiler$AbstractCompilerVisitor$current_node= for (self: AbstractCompilerVisitor, nullable ANode) */
9722 void nitc___nitc__AbstractCompilerVisitor___current_node_61d(val* self, val* p0) {
9723 self->attrs[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___current_node].val = p0; /* _current_node on <self:AbstractCompilerVisitor> */
9724 RET_LABEL:;
9725 }
9726 /* method abstract_compiler$AbstractCompilerVisitor$frame for (self: AbstractCompilerVisitor): nullable StaticFrame */
9727 val* nitc___nitc__AbstractCompilerVisitor___frame(val* self) {
9728 val* var /* : nullable StaticFrame */;
9729 val* var1 /* : nullable StaticFrame */;
9730 var1 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___frame].val; /* _frame on <self:AbstractCompilerVisitor> */
9731 var = var1;
9732 RET_LABEL:;
9733 return var;
9734 }
9735 /* method abstract_compiler$AbstractCompilerVisitor$frame= for (self: AbstractCompilerVisitor, nullable StaticFrame) */
9736 void nitc___nitc__AbstractCompilerVisitor___frame_61d(val* self, val* p0) {
9737 self->attrs[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___frame].val = p0; /* _frame on <self:AbstractCompilerVisitor> */
9738 RET_LABEL:;
9739 }
9740 /* method abstract_compiler$AbstractCompilerVisitor$object_type for (self: AbstractCompilerVisitor): MClassType */
9741 val* nitc___nitc__AbstractCompilerVisitor___object_type(val* self) {
9742 val* var /* : MClassType */;
9743 val* var1 /* : AbstractCompiler */;
9744 val* var3 /* : AbstractCompiler */;
9745 val* var4 /* : MModule */;
9746 val* var6 /* : MModule */;
9747 val* var7 /* : MClassType */;
9748 {
9749 { /* Inline abstract_compiler$AbstractCompilerVisitor$compiler (self) on <self:AbstractCompilerVisitor> */
9750 var3 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on <self:AbstractCompilerVisitor> */
9751 if (unlikely(var3 == NULL)) {
9752 if(catchStack.cursor >= 0){
9753 longjmp(catchStack.envs[catchStack.cursor], 1);
9754 }
9755 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
9756 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1214);
9757 fatal_exit(1);
9758 }
9759 var1 = var3;
9760 RET_LABEL2:(void)0;
9761 }
9762 }
9763 {
9764 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (var1) on <var1:AbstractCompiler> */
9765 var6 = var1->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <var1:AbstractCompiler> */
9766 if (unlikely(var6 == NULL)) {
9767 if(catchStack.cursor >= 0){
9768 longjmp(catchStack.envs[catchStack.cursor], 1);
9769 }
9770 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
9771 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 545);
9772 fatal_exit(1);
9773 }
9774 var4 = var6;
9775 RET_LABEL5:(void)0;
9776 }
9777 }
9778 {
9779 var7 = nitc__model___MModule___object_type(var4);
9780 }
9781 var = var7;
9782 goto RET_LABEL;
9783 RET_LABEL:;
9784 return var;
9785 }
9786 /* method abstract_compiler$AbstractCompilerVisitor$bool_type for (self: AbstractCompilerVisitor): MClassType */
9787 val* nitc___nitc__AbstractCompilerVisitor___bool_type(val* self) {
9788 val* var /* : MClassType */;
9789 val* var1 /* : AbstractCompiler */;
9790 val* var3 /* : AbstractCompiler */;
9791 val* var4 /* : MModule */;
9792 val* var6 /* : MModule */;
9793 val* var7 /* : MClassType */;
9794 {
9795 { /* Inline abstract_compiler$AbstractCompilerVisitor$compiler (self) on <self:AbstractCompilerVisitor> */
9796 var3 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on <self:AbstractCompilerVisitor> */
9797 if (unlikely(var3 == NULL)) {
9798 if(catchStack.cursor >= 0){
9799 longjmp(catchStack.envs[catchStack.cursor], 1);
9800 }
9801 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
9802 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1214);
9803 fatal_exit(1);
9804 }
9805 var1 = var3;
9806 RET_LABEL2:(void)0;
9807 }
9808 }
9809 {
9810 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (var1) on <var1:AbstractCompiler> */
9811 var6 = var1->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <var1:AbstractCompiler> */
9812 if (unlikely(var6 == NULL)) {
9813 if(catchStack.cursor >= 0){
9814 longjmp(catchStack.envs[catchStack.cursor], 1);
9815 }
9816 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
9817 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 545);
9818 fatal_exit(1);
9819 }
9820 var4 = var6;
9821 RET_LABEL5:(void)0;
9822 }
9823 }
9824 {
9825 var7 = nitc__model___MModule___bool_type(var4);
9826 }
9827 var = var7;
9828 goto RET_LABEL;
9829 RET_LABEL:;
9830 return var;
9831 }
9832 /* method abstract_compiler$AbstractCompilerVisitor$writer for (self: AbstractCompilerVisitor): CodeWriter */
9833 val* nitc___nitc__AbstractCompilerVisitor___writer(val* self) {
9834 val* var /* : CodeWriter */;
9835 val* var1 /* : CodeWriter */;
9836 var1 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___writer].val; /* _writer on <self:AbstractCompilerVisitor> */
9837 if (unlikely(var1 == NULL)) {
9838 if(catchStack.cursor >= 0){
9839 longjmp(catchStack.envs[catchStack.cursor], 1);
9840 }
9841 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer");
9842 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1229);
9843 fatal_exit(1);
9844 }
9845 var = var1;
9846 RET_LABEL:;
9847 return var;
9848 }
9849 /* method abstract_compiler$AbstractCompilerVisitor$writer= for (self: AbstractCompilerVisitor, CodeWriter) */
9850 void nitc___nitc__AbstractCompilerVisitor___writer_61d(val* self, val* p0) {
9851 self->attrs[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___writer].val = p0; /* _writer on <self:AbstractCompilerVisitor> */
9852 RET_LABEL:;
9853 }
9854 /* method abstract_compiler$AbstractCompilerVisitor$init for (self: AbstractCompilerVisitor) */
9855 void nitc___nitc__AbstractCompilerVisitor___core__kernel__Object__init(val* self) {
9856 val* var /* : CodeWriter */;
9857 val* var1 /* : AbstractCompiler */;
9858 val* var3 /* : AbstractCompiler */;
9859 val* var4 /* : Array[CodeFile] */;
9860 val* var6 /* : Array[CodeFile] */;
9861 val* var7 /* : nullable Object */;
9862 {
9863 ((void(*)(val* self))(self->class->vft[COLOR_nitc___nitc__AbstractCompilerVisitor___core__kernel__Object__init]))(self); /* init on <self:AbstractCompilerVisitor>*/
9864 }
9865 var = NEW_nitc__CodeWriter(&type_nitc__CodeWriter);
9866 {
9867 { /* Inline abstract_compiler$AbstractCompilerVisitor$compiler (self) on <self:AbstractCompilerVisitor> */
9868 var3 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on <self:AbstractCompilerVisitor> */
9869 if (unlikely(var3 == NULL)) {
9870 if(catchStack.cursor >= 0){
9871 longjmp(catchStack.envs[catchStack.cursor], 1);
9872 }
9873 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
9874 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1214);
9875 fatal_exit(1);
9876 }
9877 var1 = var3;
9878 RET_LABEL2:(void)0;
9879 }
9880 }
9881 {
9882 { /* Inline abstract_compiler$AbstractCompiler$files (var1) on <var1:AbstractCompiler> */
9883 var6 = var1->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___files].val; /* _files on <var1:AbstractCompiler> */
9884 if (unlikely(var6 == NULL)) {
9885 if(catchStack.cursor >= 0){
9886 longjmp(catchStack.envs[catchStack.cursor], 1);
9887 }
9888 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
9889 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 592);
9890 fatal_exit(1);
9891 }
9892 var4 = var6;
9893 RET_LABEL5:(void)0;
9894 }
9895 }
9896 {
9897 var7 = core___core__SequenceRead___last(var4);
9898 }
9899 {
9900 ((void(*)(val* self, val* p0))(var->class->vft[COLOR_nitc__abstract_compiler__CodeWriter__file_61d]))(var, var7); /* file= on <var:CodeWriter>*/
9901 }
9902 {
9903 ((void(*)(val* self))(var->class->vft[COLOR_core__kernel__Object__init]))(var); /* init on <var:CodeWriter>*/
9904 }
9905 {
9906 { /* Inline abstract_compiler$AbstractCompilerVisitor$writer= (self,var) on <self:AbstractCompilerVisitor> */
9907 self->attrs[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___writer].val = var; /* _writer on <self:AbstractCompilerVisitor> */
9908 RET_LABEL8:(void)0;
9909 }
9910 }
9911 RET_LABEL:;
9912 }