1 #include "nitc__separate_compiler.sep.0.h"
2 /* method separate_compiler$ToolContext$opt_separate for (self: ToolContext): OptionBool */
3 val
* nitc__separate_compiler___ToolContext___opt_separate(val
* self
) {
4 val
* var
/* : OptionBool */;
5 val
* var1
/* : OptionBool */;
6 var1
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_separate
].val
; /* _opt_separate on <self:ToolContext> */
7 if (unlikely(var1
== NULL
)) {
8 if(catchStack
.cursor
>= 0){
9 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
11 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_separate");
12 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 24);
19 /* method separate_compiler$ToolContext$opt_no_inline_intern for (self: ToolContext): OptionBool */
20 val
* nitc__separate_compiler___ToolContext___opt_no_inline_intern(val
* self
) {
21 val
* var
/* : OptionBool */;
22 val
* var1
/* : OptionBool */;
23 var1
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_no_inline_intern
].val
; /* _opt_no_inline_intern on <self:ToolContext> */
24 if (unlikely(var1
== NULL
)) {
25 if(catchStack
.cursor
>= 0){
26 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
28 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_inline_intern");
29 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 26);
36 /* method separate_compiler$ToolContext$opt_no_union_attribute for (self: ToolContext): OptionBool */
37 val
* nitc__separate_compiler___ToolContext___opt_no_union_attribute(val
* self
) {
38 val
* var
/* : OptionBool */;
39 val
* var1
/* : OptionBool */;
40 var1
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_no_union_attribute
].val
; /* _opt_no_union_attribute on <self:ToolContext> */
41 if (unlikely(var1
== NULL
)) {
42 if(catchStack
.cursor
>= 0){
43 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
45 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_union_attribute");
46 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 28);
53 /* method separate_compiler$ToolContext$opt_no_shortcut_equate for (self: ToolContext): OptionBool */
54 val
* nitc__separate_compiler___ToolContext___opt_no_shortcut_equate(val
* self
) {
55 val
* var
/* : OptionBool */;
56 val
* var1
/* : OptionBool */;
57 var1
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_no_shortcut_equate
].val
; /* _opt_no_shortcut_equate on <self:ToolContext> */
58 if (unlikely(var1
== NULL
)) {
59 if(catchStack
.cursor
>= 0){
60 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
62 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_shortcut_equate");
63 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 30);
70 /* method separate_compiler$ToolContext$opt_no_tag_primitives for (self: ToolContext): OptionBool */
71 val
* nitc__separate_compiler___ToolContext___opt_no_tag_primitives(val
* self
) {
72 val
* var
/* : OptionBool */;
73 val
* var1
/* : OptionBool */;
74 var1
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_no_tag_primitives
].val
; /* _opt_no_tag_primitives on <self:ToolContext> */
75 if (unlikely(var1
== NULL
)) {
76 if(catchStack
.cursor
>= 0){
77 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
79 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_tag_primitives");
80 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 32);
87 /* method separate_compiler$ToolContext$opt_colors_are_symbols for (self: ToolContext): OptionBool */
88 val
* nitc__separate_compiler___ToolContext___opt_colors_are_symbols(val
* self
) {
89 val
* var
/* : OptionBool */;
90 val
* var1
/* : OptionBool */;
91 var1
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_colors_are_symbols
].val
; /* _opt_colors_are_symbols on <self:ToolContext> */
92 if (unlikely(var1
== NULL
)) {
93 if(catchStack
.cursor
>= 0){
94 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
96 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_colors_are_symbols");
97 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 35);
104 /* method separate_compiler$ToolContext$opt_trampoline_call for (self: ToolContext): OptionBool */
105 val
* nitc__separate_compiler___ToolContext___opt_trampoline_call(val
* self
) {
106 val
* var
/* : OptionBool */;
107 val
* var1
/* : OptionBool */;
108 var1
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_trampoline_call
].val
; /* _opt_trampoline_call on <self:ToolContext> */
109 if (unlikely(var1
== NULL
)) {
110 if(catchStack
.cursor
>= 0){
111 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
113 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_trampoline_call");
114 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 37);
121 /* method separate_compiler$ToolContext$opt_guard_call for (self: ToolContext): OptionBool */
122 val
* nitc__separate_compiler___ToolContext___opt_guard_call(val
* self
) {
123 val
* var
/* : OptionBool */;
124 val
* var1
/* : OptionBool */;
125 var1
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_guard_call
].val
; /* _opt_guard_call on <self:ToolContext> */
126 if (unlikely(var1
== NULL
)) {
127 if(catchStack
.cursor
>= 0){
128 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
130 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_guard_call");
131 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 39);
138 /* method separate_compiler$ToolContext$opt_substitute_monomorph for (self: ToolContext): OptionBool */
139 val
* nitc__separate_compiler___ToolContext___opt_substitute_monomorph(val
* self
) {
140 val
* var
/* : OptionBool */;
141 val
* var1
/* : OptionBool */;
142 var1
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_substitute_monomorph
].val
; /* _opt_substitute_monomorph on <self:ToolContext> */
143 if (unlikely(var1
== NULL
)) {
144 if(catchStack
.cursor
>= 0){
145 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
147 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_substitute_monomorph");
148 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 41);
155 /* method separate_compiler$ToolContext$opt_link_boost for (self: ToolContext): OptionBool */
156 val
* nitc__separate_compiler___ToolContext___opt_link_boost(val
* self
) {
157 val
* var
/* : OptionBool */;
158 val
* var1
/* : OptionBool */;
159 var1
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_link_boost
].val
; /* _opt_link_boost on <self:ToolContext> */
160 if (unlikely(var1
== NULL
)) {
161 if(catchStack
.cursor
>= 0){
162 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
164 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_link_boost");
165 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 43);
172 /* method separate_compiler$ToolContext$opt_inline_coloring_numbers for (self: ToolContext): OptionBool */
173 val
* nitc__separate_compiler___ToolContext___opt_inline_coloring_numbers(val
* self
) {
174 val
* var
/* : OptionBool */;
175 val
* var1
/* : OptionBool */;
176 var1
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_inline_coloring_numbers
].val
; /* _opt_inline_coloring_numbers on <self:ToolContext> */
177 if (unlikely(var1
== NULL
)) {
178 if(catchStack
.cursor
>= 0){
179 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
181 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_inline_coloring_numbers");
182 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 46);
189 /* method separate_compiler$ToolContext$opt_inline_some_methods for (self: ToolContext): OptionBool */
190 val
* nitc__separate_compiler___ToolContext___opt_inline_some_methods(val
* self
) {
191 val
* var
/* : OptionBool */;
192 val
* var1
/* : OptionBool */;
193 var1
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_inline_some_methods
].val
; /* _opt_inline_some_methods on <self:ToolContext> */
194 if (unlikely(var1
== NULL
)) {
195 if(catchStack
.cursor
>= 0){
196 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
198 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_inline_some_methods");
199 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 48);
206 /* method separate_compiler$ToolContext$opt_direct_call_monomorph for (self: ToolContext): OptionBool */
207 val
* nitc__separate_compiler___ToolContext___opt_direct_call_monomorph(val
* self
) {
208 val
* var
/* : OptionBool */;
209 val
* var1
/* : OptionBool */;
210 var1
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_direct_call_monomorph
].val
; /* _opt_direct_call_monomorph on <self:ToolContext> */
211 if (unlikely(var1
== NULL
)) {
212 if(catchStack
.cursor
>= 0){
213 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
215 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_direct_call_monomorph");
216 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 50);
223 /* method separate_compiler$ToolContext$opt_direct_call_monomorph0 for (self: ToolContext): OptionBool */
224 val
* nitc__separate_compiler___ToolContext___opt_direct_call_monomorph0(val
* self
) {
225 val
* var
/* : OptionBool */;
226 val
* var1
/* : OptionBool */;
227 var1
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_direct_call_monomorph0
].val
; /* _opt_direct_call_monomorph0 on <self:ToolContext> */
228 if (unlikely(var1
== NULL
)) {
229 if(catchStack
.cursor
>= 0){
230 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
232 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_direct_call_monomorph0");
233 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 52);
240 /* method separate_compiler$ToolContext$opt_skip_dead_methods for (self: ToolContext): OptionBool */
241 val
* nitc__separate_compiler___ToolContext___opt_skip_dead_methods(val
* self
) {
242 val
* var
/* : OptionBool */;
243 val
* var1
/* : OptionBool */;
244 var1
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_skip_dead_methods
].val
; /* _opt_skip_dead_methods on <self:ToolContext> */
245 if (unlikely(var1
== NULL
)) {
246 if(catchStack
.cursor
>= 0){
247 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
249 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_skip_dead_methods");
250 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 54);
257 /* method separate_compiler$ToolContext$opt_semi_global for (self: ToolContext): OptionBool */
258 val
* nitc__separate_compiler___ToolContext___opt_semi_global(val
* self
) {
259 val
* var
/* : OptionBool */;
260 val
* var1
/* : OptionBool */;
261 var1
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_semi_global
].val
; /* _opt_semi_global on <self:ToolContext> */
262 if (unlikely(var1
== NULL
)) {
263 if(catchStack
.cursor
>= 0){
264 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
266 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_semi_global");
267 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 56);
274 /* method separate_compiler$ToolContext$opt_colo_dead_methods for (self: ToolContext): OptionBool */
275 val
* nitc__separate_compiler___ToolContext___opt_colo_dead_methods(val
* self
) {
276 val
* var
/* : OptionBool */;
277 val
* var1
/* : OptionBool */;
278 var1
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_colo_dead_methods
].val
; /* _opt_colo_dead_methods on <self:ToolContext> */
279 if (unlikely(var1
== NULL
)) {
280 if(catchStack
.cursor
>= 0){
281 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
283 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_colo_dead_methods");
284 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 58);
291 /* method separate_compiler$ToolContext$opt_tables_metrics for (self: ToolContext): OptionBool */
292 val
* nitc__separate_compiler___ToolContext___opt_tables_metrics(val
* self
) {
293 val
* var
/* : OptionBool */;
294 val
* var1
/* : OptionBool */;
295 var1
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_tables_metrics
].val
; /* _opt_tables_metrics on <self:ToolContext> */
296 if (unlikely(var1
== NULL
)) {
297 if(catchStack
.cursor
>= 0){
298 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
300 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_tables_metrics");
301 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 60);
308 /* method separate_compiler$ToolContext$opt_type_poset for (self: ToolContext): OptionBool */
309 val
* nitc__separate_compiler___ToolContext___opt_type_poset(val
* self
) {
310 val
* var
/* : OptionBool */;
311 val
* var1
/* : OptionBool */;
312 var1
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_type_poset
].val
; /* _opt_type_poset on <self:ToolContext> */
313 if (unlikely(var1
== NULL
)) {
314 if(catchStack
.cursor
>= 0){
315 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
317 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_type_poset");
318 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 62);
325 /* method separate_compiler$ToolContext$init for (self: ToolContext) */
326 void nitc__separate_compiler___ToolContext___core__kernel__Object__init(val
* self
) {
327 val
* var
/* : OptionContext */;
328 val
* var2
/* : OptionContext */;
329 val
* var3
/* : OptionBool */;
330 val
* var5
/* : OptionBool */;
331 val
* var6
/* : Array[Option] */;
332 val
* var7
/* : NativeArray[Option] */;
333 val
* var8
/* : OptionContext */;
334 val
* var10
/* : OptionContext */;
335 val
* var11
/* : OptionBool */;
336 val
* var13
/* : OptionBool */;
337 val
* var14
/* : Array[Option] */;
338 val
* var15
/* : NativeArray[Option] */;
339 val
* var16
/* : OptionContext */;
340 val
* var18
/* : OptionContext */;
341 val
* var19
/* : OptionBool */;
342 val
* var21
/* : OptionBool */;
343 val
* var22
/* : Array[Option] */;
344 val
* var23
/* : NativeArray[Option] */;
345 val
* var24
/* : OptionContext */;
346 val
* var26
/* : OptionContext */;
347 val
* var27
/* : OptionBool */;
348 val
* var29
/* : OptionBool */;
349 val
* var30
/* : Array[Option] */;
350 val
* var31
/* : NativeArray[Option] */;
351 val
* var32
/* : OptionContext */;
352 val
* var34
/* : OptionContext */;
353 val
* var35
/* : OptionBool */;
354 val
* var37
/* : OptionBool */;
355 val
* var38
/* : Array[Option] */;
356 val
* var39
/* : NativeArray[Option] */;
357 val
* var40
/* : OptionContext */;
358 val
* var42
/* : OptionContext */;
359 val
* var43
/* : OptionBool */;
360 val
* var45
/* : OptionBool */;
361 val
* var46
/* : OptionBool */;
362 val
* var48
/* : OptionBool */;
363 val
* var49
/* : OptionBool */;
364 val
* var51
/* : OptionBool */;
365 val
* var52
/* : OptionBool */;
366 val
* var54
/* : OptionBool */;
367 val
* var55
/* : OptionBool */;
368 val
* var57
/* : OptionBool */;
369 val
* var58
/* : OptionBool */;
370 val
* var60
/* : OptionBool */;
371 val
* var61
/* : Array[Option] */;
372 val
* var62
/* : NativeArray[Option] */;
373 val
* var63
/* : OptionContext */;
374 val
* var65
/* : OptionContext */;
375 val
* var66
/* : OptionBool */;
376 val
* var68
/* : OptionBool */;
377 val
* var69
/* : OptionBool */;
378 val
* var71
/* : OptionBool */;
379 val
* var72
/* : OptionBool */;
380 val
* var74
/* : OptionBool */;
381 val
* var75
/* : OptionBool */;
382 val
* var77
/* : OptionBool */;
383 val
* var78
/* : OptionBool */;
384 val
* var80
/* : OptionBool */;
385 val
* var81
/* : Array[Option] */;
386 val
* var82
/* : NativeArray[Option] */;
387 val
* var83
/* : OptionContext */;
388 val
* var85
/* : OptionContext */;
389 val
* var86
/* : OptionBool */;
390 val
* var88
/* : OptionBool */;
391 val
* var89
/* : Array[Option] */;
392 val
* var90
/* : NativeArray[Option] */;
393 val
* var91
/* : OptionContext */;
394 val
* var93
/* : OptionContext */;
395 val
* var94
/* : OptionBool */;
396 val
* var96
/* : OptionBool */;
397 val
* var97
/* : Array[Option] */;
398 val
* var98
/* : NativeArray[Option] */;
399 val
* var99
/* : OptionContext */;
400 val
* var101
/* : OptionContext */;
401 val
* var102
/* : OptionBool */;
402 val
* var104
/* : OptionBool */;
403 val
* var105
/* : Array[Option] */;
404 val
* var106
/* : NativeArray[Option] */;
406 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc__separate_compiler___ToolContext___core__kernel__Object__init
]))(self
); /* init on <self:ToolContext>*/
409 { /* Inline toolcontext$ToolContext$option_context (self) on <self:ToolContext> */
410 var2
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
411 if (unlikely(var2
== NULL
)) {
412 if(catchStack
.cursor
>= 0){
413 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
415 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
416 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 357);
424 { /* Inline separate_compiler$ToolContext$opt_separate (self) on <self:ToolContext> */
425 var5
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_separate
].val
; /* _opt_separate on <self:ToolContext> */
426 if (unlikely(var5
== NULL
)) {
427 if(catchStack
.cursor
>= 0){
428 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
430 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_separate");
431 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 24);
438 var6
= NEW_core__Array(&type_core__Array__opts__Option
);
439 { /* var6 = array_instance Array[Option] */
440 var7
= NEW_core__NativeArray((int)1l, &type_core__NativeArray__opts__Option
);
441 ((struct instance_core__NativeArray
*)var7
)->values
[0] = (val
*) var3
;
443 ((void(*)(val
* self
, val
* p0
, long p1
))(var6
->class->vft
[COLOR_core__array__Array__with_native
]))(var6
, var7
, 1l); /* with_native on <var6:Array[Option]>*/
447 opts___opts__OptionContext___add_option(var
, var6
); /* Direct call opts$OptionContext$add_option on <var:OptionContext>*/
450 { /* Inline toolcontext$ToolContext$option_context (self) on <self:ToolContext> */
451 var10
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
452 if (unlikely(var10
== NULL
)) {
453 if(catchStack
.cursor
>= 0){
454 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
456 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
457 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 357);
465 { /* Inline separate_compiler$ToolContext$opt_no_inline_intern (self) on <self:ToolContext> */
466 var13
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_no_inline_intern
].val
; /* _opt_no_inline_intern on <self:ToolContext> */
467 if (unlikely(var13
== NULL
)) {
468 if(catchStack
.cursor
>= 0){
469 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
471 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_inline_intern");
472 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 26);
479 var14
= NEW_core__Array(&type_core__Array__opts__Option
);
480 { /* var14 = array_instance Array[Option] */
481 var15
= NEW_core__NativeArray((int)1l, &type_core__NativeArray__opts__Option
);
482 ((struct instance_core__NativeArray
*)var15
)->values
[0] = (val
*) var11
;
484 ((void(*)(val
* self
, val
* p0
, long p1
))(var14
->class->vft
[COLOR_core__array__Array__with_native
]))(var14
, var15
, 1l); /* with_native on <var14:Array[Option]>*/
488 opts___opts__OptionContext___add_option(var8
, var14
); /* Direct call opts$OptionContext$add_option on <var8:OptionContext>*/
491 { /* Inline toolcontext$ToolContext$option_context (self) on <self:ToolContext> */
492 var18
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
493 if (unlikely(var18
== NULL
)) {
494 if(catchStack
.cursor
>= 0){
495 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
497 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
498 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 357);
506 { /* Inline separate_compiler$ToolContext$opt_no_union_attribute (self) on <self:ToolContext> */
507 var21
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_no_union_attribute
].val
; /* _opt_no_union_attribute on <self:ToolContext> */
508 if (unlikely(var21
== NULL
)) {
509 if(catchStack
.cursor
>= 0){
510 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
512 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_union_attribute");
513 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 28);
520 var22
= NEW_core__Array(&type_core__Array__opts__Option
);
521 { /* var22 = array_instance Array[Option] */
522 var23
= NEW_core__NativeArray((int)1l, &type_core__NativeArray__opts__Option
);
523 ((struct instance_core__NativeArray
*)var23
)->values
[0] = (val
*) var19
;
525 ((void(*)(val
* self
, val
* p0
, long p1
))(var22
->class->vft
[COLOR_core__array__Array__with_native
]))(var22
, var23
, 1l); /* with_native on <var22:Array[Option]>*/
529 opts___opts__OptionContext___add_option(var16
, var22
); /* Direct call opts$OptionContext$add_option on <var16:OptionContext>*/
532 { /* Inline toolcontext$ToolContext$option_context (self) on <self:ToolContext> */
533 var26
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
534 if (unlikely(var26
== NULL
)) {
535 if(catchStack
.cursor
>= 0){
536 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
538 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
539 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 357);
547 { /* Inline separate_compiler$ToolContext$opt_no_shortcut_equate (self) on <self:ToolContext> */
548 var29
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_no_shortcut_equate
].val
; /* _opt_no_shortcut_equate on <self:ToolContext> */
549 if (unlikely(var29
== NULL
)) {
550 if(catchStack
.cursor
>= 0){
551 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
553 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_shortcut_equate");
554 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 30);
561 var30
= NEW_core__Array(&type_core__Array__opts__Option
);
562 { /* var30 = array_instance Array[Option] */
563 var31
= NEW_core__NativeArray((int)1l, &type_core__NativeArray__opts__Option
);
564 ((struct instance_core__NativeArray
*)var31
)->values
[0] = (val
*) var27
;
566 ((void(*)(val
* self
, val
* p0
, long p1
))(var30
->class->vft
[COLOR_core__array__Array__with_native
]))(var30
, var31
, 1l); /* with_native on <var30:Array[Option]>*/
570 opts___opts__OptionContext___add_option(var24
, var30
); /* Direct call opts$OptionContext$add_option on <var24:OptionContext>*/
573 { /* Inline toolcontext$ToolContext$option_context (self) on <self:ToolContext> */
574 var34
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
575 if (unlikely(var34
== NULL
)) {
576 if(catchStack
.cursor
>= 0){
577 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
579 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
580 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 357);
588 { /* Inline separate_compiler$ToolContext$opt_no_tag_primitives (self) on <self:ToolContext> */
589 var37
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_no_tag_primitives
].val
; /* _opt_no_tag_primitives on <self:ToolContext> */
590 if (unlikely(var37
== NULL
)) {
591 if(catchStack
.cursor
>= 0){
592 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
594 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_tag_primitives");
595 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 32);
602 var38
= NEW_core__Array(&type_core__Array__opts__Option
);
603 { /* var38 = array_instance Array[Option] */
604 var39
= NEW_core__NativeArray((int)1l, &type_core__NativeArray__opts__Option
);
605 ((struct instance_core__NativeArray
*)var39
)->values
[0] = (val
*) var35
;
607 ((void(*)(val
* self
, val
* p0
, long p1
))(var38
->class->vft
[COLOR_core__array__Array__with_native
]))(var38
, var39
, 1l); /* with_native on <var38:Array[Option]>*/
611 opts___opts__OptionContext___add_option(var32
, var38
); /* Direct call opts$OptionContext$add_option on <var32:OptionContext>*/
614 { /* Inline toolcontext$ToolContext$option_context (self) on <self:ToolContext> */
615 var42
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
616 if (unlikely(var42
== NULL
)) {
617 if(catchStack
.cursor
>= 0){
618 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
620 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
621 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 357);
629 { /* Inline separate_compiler$ToolContext$opt_colors_are_symbols (self) on <self:ToolContext> */
630 var45
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_colors_are_symbols
].val
; /* _opt_colors_are_symbols on <self:ToolContext> */
631 if (unlikely(var45
== NULL
)) {
632 if(catchStack
.cursor
>= 0){
633 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
635 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_colors_are_symbols");
636 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 35);
644 { /* Inline separate_compiler$ToolContext$opt_trampoline_call (self) on <self:ToolContext> */
645 var48
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_trampoline_call
].val
; /* _opt_trampoline_call on <self:ToolContext> */
646 if (unlikely(var48
== NULL
)) {
647 if(catchStack
.cursor
>= 0){
648 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
650 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_trampoline_call");
651 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 37);
659 { /* Inline separate_compiler$ToolContext$opt_guard_call (self) on <self:ToolContext> */
660 var51
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_guard_call
].val
; /* _opt_guard_call on <self:ToolContext> */
661 if (unlikely(var51
== NULL
)) {
662 if(catchStack
.cursor
>= 0){
663 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
665 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_guard_call");
666 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 39);
674 { /* Inline separate_compiler$ToolContext$opt_direct_call_monomorph0 (self) on <self:ToolContext> */
675 var54
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_direct_call_monomorph0
].val
; /* _opt_direct_call_monomorph0 on <self:ToolContext> */
676 if (unlikely(var54
== NULL
)) {
677 if(catchStack
.cursor
>= 0){
678 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
680 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_direct_call_monomorph0");
681 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 52);
689 { /* Inline separate_compiler$ToolContext$opt_substitute_monomorph (self) on <self:ToolContext> */
690 var57
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_substitute_monomorph
].val
; /* _opt_substitute_monomorph on <self:ToolContext> */
691 if (unlikely(var57
== NULL
)) {
692 if(catchStack
.cursor
>= 0){
693 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
695 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_substitute_monomorph");
696 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 41);
704 { /* Inline separate_compiler$ToolContext$opt_link_boost (self) on <self:ToolContext> */
705 var60
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_link_boost
].val
; /* _opt_link_boost on <self:ToolContext> */
706 if (unlikely(var60
== NULL
)) {
707 if(catchStack
.cursor
>= 0){
708 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
710 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_link_boost");
711 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 43);
718 var61
= NEW_core__Array(&type_core__Array__opts__Option
);
719 { /* var61 = array_instance Array[Option] */
720 var62
= NEW_core__NativeArray((int)6l, &type_core__NativeArray__opts__Option
);
721 ((struct instance_core__NativeArray
*)var62
)->values
[0] = (val
*) var43
;
722 ((struct instance_core__NativeArray
*)var62
)->values
[1] = (val
*) var46
;
723 ((struct instance_core__NativeArray
*)var62
)->values
[2] = (val
*) var49
;
724 ((struct instance_core__NativeArray
*)var62
)->values
[3] = (val
*) var52
;
725 ((struct instance_core__NativeArray
*)var62
)->values
[4] = (val
*) var55
;
726 ((struct instance_core__NativeArray
*)var62
)->values
[5] = (val
*) var58
;
728 ((void(*)(val
* self
, val
* p0
, long p1
))(var61
->class->vft
[COLOR_core__array__Array__with_native
]))(var61
, var62
, 6l); /* with_native on <var61:Array[Option]>*/
732 opts___opts__OptionContext___add_option(var40
, var61
); /* Direct call opts$OptionContext$add_option on <var40:OptionContext>*/
735 { /* Inline toolcontext$ToolContext$option_context (self) on <self:ToolContext> */
736 var65
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
737 if (unlikely(var65
== NULL
)) {
738 if(catchStack
.cursor
>= 0){
739 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
741 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
742 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 357);
750 { /* Inline separate_compiler$ToolContext$opt_inline_coloring_numbers (self) on <self:ToolContext> */
751 var68
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_inline_coloring_numbers
].val
; /* _opt_inline_coloring_numbers on <self:ToolContext> */
752 if (unlikely(var68
== NULL
)) {
753 if(catchStack
.cursor
>= 0){
754 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
756 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_inline_coloring_numbers");
757 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 46);
765 { /* Inline separate_compiler$ToolContext$opt_inline_some_methods (self) on <self:ToolContext> */
766 var71
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_inline_some_methods
].val
; /* _opt_inline_some_methods on <self:ToolContext> */
767 if (unlikely(var71
== NULL
)) {
768 if(catchStack
.cursor
>= 0){
769 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
771 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_inline_some_methods");
772 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 48);
780 { /* Inline separate_compiler$ToolContext$opt_direct_call_monomorph (self) on <self:ToolContext> */
781 var74
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_direct_call_monomorph
].val
; /* _opt_direct_call_monomorph on <self:ToolContext> */
782 if (unlikely(var74
== NULL
)) {
783 if(catchStack
.cursor
>= 0){
784 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
786 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_direct_call_monomorph");
787 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 50);
795 { /* Inline separate_compiler$ToolContext$opt_skip_dead_methods (self) on <self:ToolContext> */
796 var77
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_skip_dead_methods
].val
; /* _opt_skip_dead_methods on <self:ToolContext> */
797 if (unlikely(var77
== NULL
)) {
798 if(catchStack
.cursor
>= 0){
799 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
801 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_skip_dead_methods");
802 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 54);
810 { /* Inline separate_compiler$ToolContext$opt_semi_global (self) on <self:ToolContext> */
811 var80
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_semi_global
].val
; /* _opt_semi_global on <self:ToolContext> */
812 if (unlikely(var80
== NULL
)) {
813 if(catchStack
.cursor
>= 0){
814 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
816 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_semi_global");
817 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 56);
824 var81
= NEW_core__Array(&type_core__Array__opts__Option
);
825 { /* var81 = array_instance Array[Option] */
826 var82
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__opts__Option
);
827 ((struct instance_core__NativeArray
*)var82
)->values
[0] = (val
*) var66
;
828 ((struct instance_core__NativeArray
*)var82
)->values
[1] = (val
*) var69
;
829 ((struct instance_core__NativeArray
*)var82
)->values
[2] = (val
*) var72
;
830 ((struct instance_core__NativeArray
*)var82
)->values
[3] = (val
*) var75
;
831 ((struct instance_core__NativeArray
*)var82
)->values
[4] = (val
*) var78
;
833 ((void(*)(val
* self
, val
* p0
, long p1
))(var81
->class->vft
[COLOR_core__array__Array__with_native
]))(var81
, var82
, 5l); /* with_native on <var81:Array[Option]>*/
837 opts___opts__OptionContext___add_option(var63
, var81
); /* Direct call opts$OptionContext$add_option on <var63:OptionContext>*/
840 { /* Inline toolcontext$ToolContext$option_context (self) on <self:ToolContext> */
841 var85
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
842 if (unlikely(var85
== NULL
)) {
843 if(catchStack
.cursor
>= 0){
844 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
846 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
847 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 357);
855 { /* Inline separate_compiler$ToolContext$opt_colo_dead_methods (self) on <self:ToolContext> */
856 var88
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_colo_dead_methods
].val
; /* _opt_colo_dead_methods on <self:ToolContext> */
857 if (unlikely(var88
== NULL
)) {
858 if(catchStack
.cursor
>= 0){
859 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
861 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_colo_dead_methods");
862 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 58);
869 var89
= NEW_core__Array(&type_core__Array__opts__Option
);
870 { /* var89 = array_instance Array[Option] */
871 var90
= NEW_core__NativeArray((int)1l, &type_core__NativeArray__opts__Option
);
872 ((struct instance_core__NativeArray
*)var90
)->values
[0] = (val
*) var86
;
874 ((void(*)(val
* self
, val
* p0
, long p1
))(var89
->class->vft
[COLOR_core__array__Array__with_native
]))(var89
, var90
, 1l); /* with_native on <var89:Array[Option]>*/
878 opts___opts__OptionContext___add_option(var83
, var89
); /* Direct call opts$OptionContext$add_option on <var83:OptionContext>*/
881 { /* Inline toolcontext$ToolContext$option_context (self) on <self:ToolContext> */
882 var93
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
883 if (unlikely(var93
== NULL
)) {
884 if(catchStack
.cursor
>= 0){
885 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
887 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
888 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 357);
896 { /* Inline separate_compiler$ToolContext$opt_tables_metrics (self) on <self:ToolContext> */
897 var96
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_tables_metrics
].val
; /* _opt_tables_metrics on <self:ToolContext> */
898 if (unlikely(var96
== NULL
)) {
899 if(catchStack
.cursor
>= 0){
900 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
902 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_tables_metrics");
903 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 60);
910 var97
= NEW_core__Array(&type_core__Array__opts__Option
);
911 { /* var97 = array_instance Array[Option] */
912 var98
= NEW_core__NativeArray((int)1l, &type_core__NativeArray__opts__Option
);
913 ((struct instance_core__NativeArray
*)var98
)->values
[0] = (val
*) var94
;
915 ((void(*)(val
* self
, val
* p0
, long p1
))(var97
->class->vft
[COLOR_core__array__Array__with_native
]))(var97
, var98
, 1l); /* with_native on <var97:Array[Option]>*/
919 opts___opts__OptionContext___add_option(var91
, var97
); /* Direct call opts$OptionContext$add_option on <var91:OptionContext>*/
922 { /* Inline toolcontext$ToolContext$option_context (self) on <self:ToolContext> */
923 var101
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
924 if (unlikely(var101
== NULL
)) {
925 if(catchStack
.cursor
>= 0){
926 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
928 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
929 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 357);
933 RET_LABEL100
:(void)0;
937 { /* Inline separate_compiler$ToolContext$opt_type_poset (self) on <self:ToolContext> */
938 var104
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_type_poset
].val
; /* _opt_type_poset on <self:ToolContext> */
939 if (unlikely(var104
== NULL
)) {
940 if(catchStack
.cursor
>= 0){
941 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
943 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_type_poset");
944 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 62);
948 RET_LABEL103
:(void)0;
951 var105
= NEW_core__Array(&type_core__Array__opts__Option
);
952 { /* var105 = array_instance Array[Option] */
953 var106
= NEW_core__NativeArray((int)1l, &type_core__NativeArray__opts__Option
);
954 ((struct instance_core__NativeArray
*)var106
)->values
[0] = (val
*) var102
;
956 ((void(*)(val
* self
, val
* p0
, long p1
))(var105
->class->vft
[COLOR_core__array__Array__with_native
]))(var105
, var106
, 1l); /* with_native on <var105:Array[Option]>*/
960 opts___opts__OptionContext___add_option(var99
, var105
); /* Direct call opts$OptionContext$add_option on <var99:OptionContext>*/
964 /* method separate_compiler$ToolContext$process_options for (self: ToolContext, Sequence[String]) */
965 void nitc__separate_compiler___ToolContext___process_options(val
* self
, val
* p0
) {
966 val
* var_args
/* var args: Sequence[String] */;
967 val
* var_tc
/* var tc: ToolContext */;
968 val
* var
/* : OptionBool */;
969 val
* var2
/* : OptionBool */;
970 val
* var3
/* : nullable Object */;
971 val
* var5
/* : nullable Object */;
972 short int var6
/* : Bool */;
973 val
* var7
/* : OptionBool */;
974 val
* var9
/* : OptionBool */;
975 short int var11
/* : Bool */;
978 const struct type
* type_struct
;
979 const char* var_class_name
;
980 val
* var12
/* : nullable Object */;
981 val
* var13
/* : OptionBool */;
982 val
* var15
/* : OptionBool */;
983 short int var17
/* : Bool */;
986 const struct type
* type_struct20
;
987 const char* var_class_name21
;
988 val
* var22
/* : nullable Object */;
989 val
* var23
/* : OptionBool */;
990 val
* var25
/* : OptionBool */;
991 short int var27
/* : Bool */;
994 const struct type
* type_struct30
;
995 const char* var_class_name31
;
996 val
* var32
/* : nullable Object */;
997 val
* var33
/* : OptionBool */;
998 val
* var35
/* : OptionBool */;
999 short int var37
/* : Bool */;
1002 const struct type
* type_struct40
;
1003 const char* var_class_name41
;
1004 val
* var42
/* : nullable Object */;
1005 val
* var43
/* : OptionBool */;
1006 val
* var45
/* : OptionBool */;
1007 val
* var46
/* : nullable Object */;
1008 val
* var48
/* : nullable Object */;
1009 short int var49
/* : Bool */;
1010 val
* var50
/* : OptionBool */;
1011 val
* var52
/* : OptionBool */;
1012 short int var54
/* : Bool */;
1015 const struct type
* type_struct57
;
1016 const char* var_class_name58
;
1017 val
* var59
/* : nullable Object */;
1018 val
* var60
/* : OptionBool */;
1019 val
* var62
/* : OptionBool */;
1020 short int var64
/* : Bool */;
1023 const struct type
* type_struct67
;
1024 const char* var_class_name68
;
1025 val
* var69
/* : nullable Object */;
1026 val
* var70
/* : OptionBool */;
1027 val
* var72
/* : OptionBool */;
1028 val
* var73
/* : nullable Object */;
1029 val
* var75
/* : nullable Object */;
1030 short int var76
/* : Bool */;
1031 val
* var77
/* : OptionBool */;
1032 val
* var79
/* : OptionBool */;
1033 short int var81
/* : Bool */;
1036 const struct type
* type_struct84
;
1037 const char* var_class_name85
;
1038 val
* var86
/* : nullable Object */;
1041 ((void(*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nitc__separate_compiler___ToolContext___process_options
]))(self
, p0
); /* process_options on <self:ToolContext>*/
1045 { /* Inline separate_compiler$ToolContext$opt_semi_global (var_tc) on <var_tc:ToolContext> */
1046 var2
= var_tc
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_semi_global
].val
; /* _opt_semi_global on <var_tc:ToolContext> */
1047 if (unlikely(var2
== NULL
)) {
1048 if(catchStack
.cursor
>= 0){
1049 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1051 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_semi_global");
1052 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 56);
1060 { /* Inline opts$Option$value (var) on <var:OptionBool> */
1061 var5
= var
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var:OptionBool> */
1066 var6
= (short int)((long)(var3
)>>2);
1069 { /* Inline separate_compiler$ToolContext$opt_inline_coloring_numbers (var_tc) on <var_tc:ToolContext> */
1070 var9
= var_tc
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_inline_coloring_numbers
].val
; /* _opt_inline_coloring_numbers on <var_tc:ToolContext> */
1071 if (unlikely(var9
== NULL
)) {
1072 if(catchStack
.cursor
>= 0){
1073 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1075 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_inline_coloring_numbers");
1076 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 46);
1084 { /* Inline opts$Option$value= (var7,1) on <var7:OptionBool> */
1085 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
1086 /* <1:Bool> isa VALUE */
1087 type_struct
= var7
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1088 cltype
= type_struct
->color
;
1089 idtype
= type_struct
->id
;
1090 if(cltype
>= (&type_core__Bool
)->table_size
) {
1093 var11
= (&type_core__Bool
)->type_table
[cltype
] == idtype
;
1095 if (unlikely(!var11
)) {
1096 var_class_name
= type_core__Bool
.name
;
1097 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
1098 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1101 var12
= (val
*)((long)(1)<<2|3);
1102 var7
->attrs
[COLOR_opts__Option___value
].val
= var12
; /* _value on <var7:OptionBool> */
1103 RET_LABEL10
:(void)0;
1107 { /* Inline separate_compiler$ToolContext$opt_inline_some_methods (var_tc) on <var_tc:ToolContext> */
1108 var15
= var_tc
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_inline_some_methods
].val
; /* _opt_inline_some_methods on <var_tc:ToolContext> */
1109 if (unlikely(var15
== NULL
)) {
1110 if(catchStack
.cursor
>= 0){
1111 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1113 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_inline_some_methods");
1114 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 48);
1118 RET_LABEL14
:(void)0;
1122 { /* Inline opts$Option$value= (var13,1) on <var13:OptionBool> */
1123 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
1124 /* <1:Bool> isa VALUE */
1125 type_struct20
= var13
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1126 cltype18
= type_struct20
->color
;
1127 idtype19
= type_struct20
->id
;
1128 if(cltype18
>= (&type_core__Bool
)->table_size
) {
1131 var17
= (&type_core__Bool
)->type_table
[cltype18
] == idtype19
;
1133 if (unlikely(!var17
)) {
1134 var_class_name21
= type_core__Bool
.name
;
1135 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name21
);
1136 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1139 var22
= (val
*)((long)(1)<<2|3);
1140 var13
->attrs
[COLOR_opts__Option___value
].val
= var22
; /* _value on <var13:OptionBool> */
1141 RET_LABEL16
:(void)0;
1145 { /* Inline separate_compiler$ToolContext$opt_direct_call_monomorph (var_tc) on <var_tc:ToolContext> */
1146 var25
= var_tc
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_direct_call_monomorph
].val
; /* _opt_direct_call_monomorph on <var_tc:ToolContext> */
1147 if (unlikely(var25
== NULL
)) {
1148 if(catchStack
.cursor
>= 0){
1149 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1151 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_direct_call_monomorph");
1152 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 50);
1156 RET_LABEL24
:(void)0;
1160 { /* Inline opts$Option$value= (var23,1) on <var23:OptionBool> */
1161 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
1162 /* <1:Bool> isa VALUE */
1163 type_struct30
= var23
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1164 cltype28
= type_struct30
->color
;
1165 idtype29
= type_struct30
->id
;
1166 if(cltype28
>= (&type_core__Bool
)->table_size
) {
1169 var27
= (&type_core__Bool
)->type_table
[cltype28
] == idtype29
;
1171 if (unlikely(!var27
)) {
1172 var_class_name31
= type_core__Bool
.name
;
1173 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name31
);
1174 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1177 var32
= (val
*)((long)(1)<<2|3);
1178 var23
->attrs
[COLOR_opts__Option___value
].val
= var32
; /* _value on <var23:OptionBool> */
1179 RET_LABEL26
:(void)0;
1183 { /* Inline separate_compiler$ToolContext$opt_skip_dead_methods (var_tc) on <var_tc:ToolContext> */
1184 var35
= var_tc
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_skip_dead_methods
].val
; /* _opt_skip_dead_methods on <var_tc:ToolContext> */
1185 if (unlikely(var35
== NULL
)) {
1186 if(catchStack
.cursor
>= 0){
1187 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1189 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_skip_dead_methods");
1190 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 54);
1194 RET_LABEL34
:(void)0;
1198 { /* Inline opts$Option$value= (var33,1) on <var33:OptionBool> */
1199 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
1200 /* <1:Bool> isa VALUE */
1201 type_struct40
= var33
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1202 cltype38
= type_struct40
->color
;
1203 idtype39
= type_struct40
->id
;
1204 if(cltype38
>= (&type_core__Bool
)->table_size
) {
1207 var37
= (&type_core__Bool
)->type_table
[cltype38
] == idtype39
;
1209 if (unlikely(!var37
)) {
1210 var_class_name41
= type_core__Bool
.name
;
1211 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name41
);
1212 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1215 var42
= (val
*)((long)(1)<<2|3);
1216 var33
->attrs
[COLOR_opts__Option___value
].val
= var42
; /* _value on <var33:OptionBool> */
1217 RET_LABEL36
:(void)0;
1223 { /* Inline separate_compiler$ToolContext$opt_link_boost (var_tc) on <var_tc:ToolContext> */
1224 var45
= var_tc
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_link_boost
].val
; /* _opt_link_boost on <var_tc:ToolContext> */
1225 if (unlikely(var45
== NULL
)) {
1226 if(catchStack
.cursor
>= 0){
1227 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1229 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_link_boost");
1230 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 43);
1234 RET_LABEL44
:(void)0;
1238 { /* Inline opts$Option$value (var43) on <var43:OptionBool> */
1239 var48
= var43
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var43:OptionBool> */
1241 RET_LABEL47
:(void)0;
1244 var49
= (short int)((long)(var46
)>>2);
1247 { /* Inline separate_compiler$ToolContext$opt_colors_are_symbols (var_tc) on <var_tc:ToolContext> */
1248 var52
= var_tc
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_colors_are_symbols
].val
; /* _opt_colors_are_symbols on <var_tc:ToolContext> */
1249 if (unlikely(var52
== NULL
)) {
1250 if(catchStack
.cursor
>= 0){
1251 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1253 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_colors_are_symbols");
1254 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 35);
1258 RET_LABEL51
:(void)0;
1262 { /* Inline opts$Option$value= (var50,1) on <var50:OptionBool> */
1263 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
1264 /* <1:Bool> isa VALUE */
1265 type_struct57
= var50
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1266 cltype55
= type_struct57
->color
;
1267 idtype56
= type_struct57
->id
;
1268 if(cltype55
>= (&type_core__Bool
)->table_size
) {
1271 var54
= (&type_core__Bool
)->type_table
[cltype55
] == idtype56
;
1273 if (unlikely(!var54
)) {
1274 var_class_name58
= type_core__Bool
.name
;
1275 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name58
);
1276 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1279 var59
= (val
*)((long)(1)<<2|3);
1280 var50
->attrs
[COLOR_opts__Option___value
].val
= var59
; /* _value on <var50:OptionBool> */
1281 RET_LABEL53
:(void)0;
1285 { /* Inline separate_compiler$ToolContext$opt_substitute_monomorph (var_tc) on <var_tc:ToolContext> */
1286 var62
= var_tc
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_substitute_monomorph
].val
; /* _opt_substitute_monomorph on <var_tc:ToolContext> */
1287 if (unlikely(var62
== NULL
)) {
1288 if(catchStack
.cursor
>= 0){
1289 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1291 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_substitute_monomorph");
1292 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 41);
1296 RET_LABEL61
:(void)0;
1300 { /* Inline opts$Option$value= (var60,1) on <var60:OptionBool> */
1301 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
1302 /* <1:Bool> isa VALUE */
1303 type_struct67
= var60
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1304 cltype65
= type_struct67
->color
;
1305 idtype66
= type_struct67
->id
;
1306 if(cltype65
>= (&type_core__Bool
)->table_size
) {
1309 var64
= (&type_core__Bool
)->type_table
[cltype65
] == idtype66
;
1311 if (unlikely(!var64
)) {
1312 var_class_name68
= type_core__Bool
.name
;
1313 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name68
);
1314 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1317 var69
= (val
*)((long)(1)<<2|3);
1318 var60
->attrs
[COLOR_opts__Option___value
].val
= var69
; /* _value on <var60:OptionBool> */
1319 RET_LABEL63
:(void)0;
1325 { /* Inline separate_compiler$ToolContext$opt_substitute_monomorph (var_tc) on <var_tc:ToolContext> */
1326 var72
= var_tc
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_substitute_monomorph
].val
; /* _opt_substitute_monomorph on <var_tc:ToolContext> */
1327 if (unlikely(var72
== NULL
)) {
1328 if(catchStack
.cursor
>= 0){
1329 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1331 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_substitute_monomorph");
1332 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 41);
1336 RET_LABEL71
:(void)0;
1340 { /* Inline opts$Option$value (var70) on <var70:OptionBool> */
1341 var75
= var70
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var70:OptionBool> */
1343 RET_LABEL74
:(void)0;
1346 var76
= (short int)((long)(var73
)>>2);
1349 { /* Inline separate_compiler$ToolContext$opt_trampoline_call (var_tc) on <var_tc:ToolContext> */
1350 var79
= var_tc
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_trampoline_call
].val
; /* _opt_trampoline_call on <var_tc:ToolContext> */
1351 if (unlikely(var79
== NULL
)) {
1352 if(catchStack
.cursor
>= 0){
1353 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1355 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_trampoline_call");
1356 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 37);
1360 RET_LABEL78
:(void)0;
1364 { /* Inline opts$Option$value= (var77,1) on <var77:OptionBool> */
1365 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
1366 /* <1:Bool> isa VALUE */
1367 type_struct84
= var77
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1368 cltype82
= type_struct84
->color
;
1369 idtype83
= type_struct84
->id
;
1370 if(cltype82
>= (&type_core__Bool
)->table_size
) {
1373 var81
= (&type_core__Bool
)->type_table
[cltype82
] == idtype83
;
1375 if (unlikely(!var81
)) {
1376 var_class_name85
= type_core__Bool
.name
;
1377 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name85
);
1378 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1381 var86
= (val
*)((long)(1)<<2|3);
1382 var77
->attrs
[COLOR_opts__Option___value
].val
= var86
; /* _value on <var77:OptionBool> */
1383 RET_LABEL80
:(void)0;
1390 /* method separate_compiler$SeparateCompilerPhase$process_mainmodule for (self: SeparateCompilerPhase, MModule, SequenceRead[MModule]) */
1391 void nitc___nitc__SeparateCompilerPhase___nitc__modelbuilder__Phase__process_mainmodule(val
* self
, val
* p0
, val
* p1
) {
1392 val
* var_mainmodule
/* var mainmodule: MModule */;
1393 val
* var_given_mmodules
/* var given_mmodules: SequenceRead[MModule] */;
1394 val
* var
/* : ToolContext */;
1395 val
* var2
/* : ToolContext */;
1396 val
* var3
/* : OptionBool */;
1397 val
* var5
/* : OptionBool */;
1398 val
* var6
/* : nullable Object */;
1399 val
* var8
/* : nullable Object */;
1400 short int var9
/* : Bool */;
1401 short int var10
/* : Bool */;
1402 val
* var11
/* : ToolContext */;
1403 val
* var13
/* : ToolContext */;
1404 val
* var14
/* : ModelBuilder */;
1405 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
1406 val
* var15
/* : RapidTypeAnalysis */;
1407 val
* var_analysis
/* var analysis: RapidTypeAnalysis */;
1408 var_mainmodule
= p0
;
1409 var_given_mmodules
= p1
;
1411 { /* Inline phase$Phase$toolcontext (self) on <self:SeparateCompilerPhase> */
1412 var2
= self
->attrs
[COLOR_nitc__phase__Phase___toolcontext
].val
; /* _toolcontext on <self:SeparateCompilerPhase> */
1413 if (unlikely(var2
== NULL
)) {
1414 if(catchStack
.cursor
>= 0){
1415 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1417 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1418 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase
, 210);
1426 { /* Inline separate_compiler$ToolContext$opt_separate (var) on <var:ToolContext> */
1427 var5
= var
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_separate
].val
; /* _opt_separate on <var:ToolContext> */
1428 if (unlikely(var5
== NULL
)) {
1429 if(catchStack
.cursor
>= 0){
1430 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1432 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_separate");
1433 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 24);
1441 { /* Inline opts$Option$value (var3) on <var3:OptionBool> */
1442 var8
= var3
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var3:OptionBool> */
1447 var9
= (short int)((long)(var6
)>>2);
1454 { /* Inline phase$Phase$toolcontext (self) on <self:SeparateCompilerPhase> */
1455 var13
= self
->attrs
[COLOR_nitc__phase__Phase___toolcontext
].val
; /* _toolcontext on <self:SeparateCompilerPhase> */
1456 if (unlikely(var13
== NULL
)) {
1457 if(catchStack
.cursor
>= 0){
1458 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1460 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1461 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase
, 210);
1465 RET_LABEL12
:(void)0;
1469 var14
= nitc__modelbuilder_base___ToolContext___modelbuilder(var11
);
1471 var_modelbuilder
= var14
;
1473 var15
= nitc__rapid_type_analysis___ModelBuilder___do_rapid_type_analysis(var_modelbuilder
, var_mainmodule
);
1475 var_analysis
= var15
;
1477 nitc__separate_compiler___ModelBuilder___run_separate_compiler(var_modelbuilder
, var_mainmodule
, var_analysis
); /* Direct call separate_compiler$ModelBuilder$run_separate_compiler on <var_modelbuilder:ModelBuilder>*/
1481 /* method separate_compiler$ModelBuilder$run_separate_compiler for (self: ModelBuilder, MModule, nullable RapidTypeAnalysis) */
1482 void nitc__separate_compiler___ModelBuilder___run_separate_compiler(val
* self
, val
* p0
, val
* p1
) {
1483 val
* var_mainmodule
/* var mainmodule: MModule */;
1484 val
* var_runtime_type_analysis
/* var runtime_type_analysis: nullable RapidTypeAnalysis */;
1485 val
* var
/* : Sys */;
1486 long var1
/* : Int */;
1487 long var3
/* : Int */;
1488 long var_time0
/* var time0: Int */;
1489 val
* var4
/* : ToolContext */;
1490 val
* var6
/* : ToolContext */;
1491 static val
* varonce
;
1492 val
* var7
/* : String */;
1493 char* var8
/* : CString */;
1494 val
* var9
/* : String */;
1495 val
* var10
/* : nullable Int */;
1496 val
* var11
/* : nullable Int */;
1497 val
* var12
/* : nullable Bool */;
1498 val
* var13
/* : nullable Bool */;
1499 val
* var14
/* : SeparateCompiler */;
1500 val
* var_compiler
/* var compiler: SeparateCompiler */;
1501 val
* var15
/* : Sys */;
1502 long var16
/* : Int */;
1503 long var18
/* : Int */;
1504 long var_time1
/* var time1: Int */;
1505 val
* var19
/* : ToolContext */;
1506 val
* var21
/* : ToolContext */;
1507 val
* var23
/* : NativeArray[String] */;
1508 static val
* varonce22
;
1509 static val
* varonce24
;
1510 val
* var25
/* : String */;
1511 char* var26
/* : CString */;
1512 val
* var27
/* : String */;
1513 val
* var28
/* : nullable Int */;
1514 val
* var29
/* : nullable Int */;
1515 val
* var30
/* : nullable Bool */;
1516 val
* var31
/* : nullable Bool */;
1517 static val
* varonce32
;
1518 val
* var33
/* : String */;
1519 char* var34
/* : CString */;
1520 val
* var35
/* : String */;
1521 val
* var36
/* : nullable Int */;
1522 val
* var37
/* : nullable Int */;
1523 val
* var38
/* : nullable Bool */;
1524 val
* var39
/* : nullable Bool */;
1525 long var40
/* : Int */;
1526 short int var42
/* : Bool */;
1529 const char* var_class_name
;
1530 long var43
/* : Int */;
1531 val
* var44
/* : String */;
1532 val
* var45
/* : String */;
1533 var_mainmodule
= p0
;
1534 var_runtime_type_analysis
= p1
;
1537 { /* Inline time$Sys$get_time (var) on <var:Sys> */
1538 struct nitni_instance
* var_for_c_0
;
1539 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
1540 var_for_c_0
->value
= var
;
1541 var3
= core__time___Sys_get_time___impl(var_for_c_0
);
1549 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
1550 var6
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
1551 if (unlikely(var6
== NULL
)) {
1552 if(catchStack
.cursor
>= 0){
1553 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1555 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1556 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
1563 if (likely(varonce
!=NULL
)) {
1566 var8
= "*** GENERATING C ***";
1567 var10
= (val
*)(20l<<2|1);
1568 var11
= (val
*)(20l<<2|1);
1569 var12
= (val
*)((long)(0)<<2|3);
1570 var13
= (val
*)((long)(0)<<2|3);
1571 var9
= core__flat___CString___to_s_unsafe(var8
, var10
, var11
, var12
, var13
);
1576 nitc___nitc__ToolContext___info(var4
, var7
, 1l); /* Direct call toolcontext$ToolContext$info on <var4:ToolContext>*/
1578 var14
= NEW_nitc__SeparateCompiler(&type_nitc__SeparateCompiler
);
1580 ((void(*)(val
* self
, val
* p0
))(var14
->class->vft
[COLOR_nitc__abstract_compiler__AbstractCompiler__mainmodule_61d
]))(var14
, var_mainmodule
); /* mainmodule= on <var14:SeparateCompiler>*/
1583 ((void(*)(val
* self
, val
* p0
))(var14
->class->vft
[COLOR_nitc__abstract_compiler__AbstractCompiler__modelbuilder_61d
]))(var14
, self
); /* modelbuilder= on <var14:SeparateCompiler>*/
1586 ((void(*)(val
* self
, val
* p0
))(var14
->class->vft
[COLOR_nitc__separate_compiler__SeparateCompiler__runtime_type_analysis_61d
]))(var14
, var_runtime_type_analysis
); /* runtime_type_analysis= on <var14:SeparateCompiler>*/
1589 ((void(*)(val
* self
))(var14
->class->vft
[COLOR_core__kernel__Object__init
]))(var14
); /* init on <var14:SeparateCompiler>*/
1591 var_compiler
= var14
;
1593 nitc___nitc__SeparateCompiler___nitc__abstract_compiler__AbstractCompiler__do_compilation(var_compiler
); /* Direct call separate_compiler$SeparateCompiler$do_compilation on <var_compiler:SeparateCompiler>*/
1596 nitc___nitc__SeparateCompiler___nitc__abstract_compiler__AbstractCompiler__display_stats(var_compiler
); /* Direct call separate_compiler$SeparateCompiler$display_stats on <var_compiler:SeparateCompiler>*/
1600 { /* Inline time$Sys$get_time (var15) on <var15:Sys> */
1601 struct nitni_instance
* var_for_c_0
;
1602 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
1603 var_for_c_0
->value
= var15
;
1604 var18
= core__time___Sys_get_time___impl(var_for_c_0
);
1607 RET_LABEL17
:(void)0;
1612 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
1613 var21
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
1614 if (unlikely(var21
== NULL
)) {
1615 if(catchStack
.cursor
>= 0){
1616 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1618 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1619 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
1623 RET_LABEL20
:(void)0;
1626 if (unlikely(varonce22
==NULL
)) {
1627 var23
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
1628 if (likely(varonce24
!=NULL
)) {
1631 var26
= "*** END GENERATING C: ";
1632 var28
= (val
*)(22l<<2|1);
1633 var29
= (val
*)(22l<<2|1);
1634 var30
= (val
*)((long)(0)<<2|3);
1635 var31
= (val
*)((long)(0)<<2|3);
1636 var27
= core__flat___CString___to_s_unsafe(var26
, var28
, var29
, var30
, var31
);
1640 ((struct instance_core__NativeArray
*)var23
)->values
[0]=var25
;
1641 if (likely(varonce32
!=NULL
)) {
1645 var36
= (val
*)(4l<<2|1);
1646 var37
= (val
*)(4l<<2|1);
1647 var38
= (val
*)((long)(0)<<2|3);
1648 var39
= (val
*)((long)(0)<<2|3);
1649 var35
= core__flat___CString___to_s_unsafe(var34
, var36
, var37
, var38
, var39
);
1653 ((struct instance_core__NativeArray
*)var23
)->values
[2]=var33
;
1659 { /* Inline kernel$Int$- (var_time1,var_time0) on <var_time1:Int> */
1660 /* Covariant cast for argument 0 (i) <var_time0:Int> isa OTHER */
1661 /* <var_time0:Int> isa OTHER */
1662 var42
= 1; /* easy <var_time0:Int> isa OTHER*/
1663 if (unlikely(!var42
)) {
1664 var_class_name
= type_core__Int
.name
;
1665 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1666 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1669 var43
= var_time1
- var_time0
;
1672 RET_LABEL41
:(void)0;
1675 var44
= core__flat___Int___core__abstract_text__Object__to_s(var40
);
1676 ((struct instance_core__NativeArray
*)var23
)->values
[1]=var44
;
1678 var45
= ((val
*(*)(val
* self
))(var23
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var23
); /* native_to_s on <var23:NativeArray[String]>*/
1682 nitc___nitc__ToolContext___info(var19
, var45
, 2l); /* Direct call toolcontext$ToolContext$info on <var19:ToolContext>*/
1685 nitc__abstract_compiler___ModelBuilder___write_and_make(self
, var_compiler
); /* Direct call abstract_compiler$ModelBuilder$write_and_make on <self:ModelBuilder>*/
1689 /* method separate_compiler$ModelBuilder$nb_invok_by_tables for (self: ModelBuilder): Int */
1690 long nitc__separate_compiler___ModelBuilder___nb_invok_by_tables(val
* self
) {
1691 long var
/* : Int */;
1692 long var1
/* : Int */;
1693 var1
= self
->attrs
[COLOR_nitc__separate_compiler__ModelBuilder___nb_invok_by_tables
].l
; /* _nb_invok_by_tables on <self:ModelBuilder> */
1698 /* method separate_compiler$ModelBuilder$nb_invok_by_tables= for (self: ModelBuilder, Int) */
1699 void nitc__separate_compiler___ModelBuilder___nb_invok_by_tables_61d(val
* self
, long p0
) {
1700 self
->attrs
[COLOR_nitc__separate_compiler__ModelBuilder___nb_invok_by_tables
].l
= p0
; /* _nb_invok_by_tables on <self:ModelBuilder> */
1703 /* method separate_compiler$ModelBuilder$nb_invok_by_direct for (self: ModelBuilder): Int */
1704 long nitc__separate_compiler___ModelBuilder___nb_invok_by_direct(val
* self
) {
1705 long var
/* : Int */;
1706 long var1
/* : Int */;
1707 var1
= self
->attrs
[COLOR_nitc__separate_compiler__ModelBuilder___nb_invok_by_direct
].l
; /* _nb_invok_by_direct on <self:ModelBuilder> */
1712 /* method separate_compiler$ModelBuilder$nb_invok_by_direct= for (self: ModelBuilder, Int) */
1713 void nitc__separate_compiler___ModelBuilder___nb_invok_by_direct_61d(val
* self
, long p0
) {
1714 self
->attrs
[COLOR_nitc__separate_compiler__ModelBuilder___nb_invok_by_direct
].l
= p0
; /* _nb_invok_by_direct on <self:ModelBuilder> */
1717 /* method separate_compiler$ModelBuilder$nb_invok_by_inline for (self: ModelBuilder): Int */
1718 long nitc__separate_compiler___ModelBuilder___nb_invok_by_inline(val
* self
) {
1719 long var
/* : Int */;
1720 long var1
/* : Int */;
1721 var1
= self
->attrs
[COLOR_nitc__separate_compiler__ModelBuilder___nb_invok_by_inline
].l
; /* _nb_invok_by_inline on <self:ModelBuilder> */
1726 /* method separate_compiler$ModelBuilder$nb_invok_by_inline= for (self: ModelBuilder, Int) */
1727 void nitc__separate_compiler___ModelBuilder___nb_invok_by_inline_61d(val
* self
, long p0
) {
1728 self
->attrs
[COLOR_nitc__separate_compiler__ModelBuilder___nb_invok_by_inline
].l
= p0
; /* _nb_invok_by_inline on <self:ModelBuilder> */
1731 /* method separate_compiler$SeparateCompiler$runtime_type_analysis for (self: SeparateCompiler): nullable RapidTypeAnalysis */
1732 val
* nitc___nitc__SeparateCompiler___runtime_type_analysis(val
* self
) {
1733 val
* var
/* : nullable RapidTypeAnalysis */;
1734 val
* var1
/* : nullable RapidTypeAnalysis */;
1735 var1
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <self:SeparateCompiler> */
1740 /* method separate_compiler$SeparateCompiler$runtime_type_analysis= for (self: SeparateCompiler, nullable RapidTypeAnalysis) */
1741 void nitc___nitc__SeparateCompiler___runtime_type_analysis_61d(val
* self
, val
* p0
) {
1742 self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___runtime_type_analysis
].val
= p0
; /* _runtime_type_analysis on <self:SeparateCompiler> */
1745 /* method separate_compiler$SeparateCompiler$undead_types for (self: SeparateCompiler): Set[MType] */
1746 val
* nitc___nitc__SeparateCompiler___undead_types(val
* self
) {
1747 val
* var
/* : Set[MType] */;
1748 val
* var1
/* : Set[MType] */;
1749 var1
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___undead_types
].val
; /* _undead_types on <self:SeparateCompiler> */
1750 if (unlikely(var1
== NULL
)) {
1751 if(catchStack
.cursor
>= 0){
1752 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1754 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _undead_types");
1755 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 146);
1762 /* method separate_compiler$SeparateCompiler$live_unresolved_types for (self: SeparateCompiler): Map[MClassDef, Set[MType]] */
1763 val
* nitc___nitc__SeparateCompiler___live_unresolved_types(val
* self
) {
1764 val
* var
/* : Map[MClassDef, Set[MType]] */;
1765 val
* var1
/* : Map[MClassDef, Set[MType]] */;
1766 var1
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___live_unresolved_types
].val
; /* _live_unresolved_types on <self:SeparateCompiler> */
1767 if (unlikely(var1
== NULL
)) {
1768 if(catchStack
.cursor
>= 0){
1769 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1771 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_unresolved_types");
1772 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 147);
1779 /* method separate_compiler$SeparateCompiler$type_ids for (self: SeparateCompiler): Map[MType, Int] */
1780 val
* nitc___nitc__SeparateCompiler___type_ids(val
* self
) {
1781 val
* var
/* : Map[MType, Int] */;
1782 val
* var1
/* : Map[MType, Int] */;
1783 var1
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___type_ids
].val
; /* _type_ids on <self:SeparateCompiler> */
1784 if (unlikely(var1
== NULL
)) {
1785 if(catchStack
.cursor
>= 0){
1786 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1788 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_ids");
1789 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 149);
1796 /* method separate_compiler$SeparateCompiler$type_ids= for (self: SeparateCompiler, Map[MType, Int]) */
1797 void nitc___nitc__SeparateCompiler___type_ids_61d(val
* self
, val
* p0
) {
1798 self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___type_ids
].val
= p0
; /* _type_ids on <self:SeparateCompiler> */
1801 /* method separate_compiler$SeparateCompiler$type_colors for (self: SeparateCompiler): Map[MType, Int] */
1802 val
* nitc___nitc__SeparateCompiler___type_colors(val
* self
) {
1803 val
* var
/* : Map[MType, Int] */;
1804 val
* var1
/* : Map[MType, Int] */;
1805 var1
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___type_colors
].val
; /* _type_colors on <self:SeparateCompiler> */
1806 if (unlikely(var1
== NULL
)) {
1807 if(catchStack
.cursor
>= 0){
1808 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1810 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_colors");
1811 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 150);
1818 /* method separate_compiler$SeparateCompiler$type_colors= for (self: SeparateCompiler, Map[MType, Int]) */
1819 void nitc___nitc__SeparateCompiler___type_colors_61d(val
* self
, val
* p0
) {
1820 self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___type_colors
].val
= p0
; /* _type_colors on <self:SeparateCompiler> */
1823 /* method separate_compiler$SeparateCompiler$opentype_colors for (self: SeparateCompiler): Map[MType, Int] */
1824 val
* nitc___nitc__SeparateCompiler___opentype_colors(val
* self
) {
1825 val
* var
/* : Map[MType, Int] */;
1826 val
* var1
/* : Map[MType, Int] */;
1827 var1
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___opentype_colors
].val
; /* _opentype_colors on <self:SeparateCompiler> */
1828 if (unlikely(var1
== NULL
)) {
1829 if(catchStack
.cursor
>= 0){
1830 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1832 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opentype_colors");
1833 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 151);
1840 /* method separate_compiler$SeparateCompiler$opentype_colors= for (self: SeparateCompiler, Map[MType, Int]) */
1841 void nitc___nitc__SeparateCompiler___opentype_colors_61d(val
* self
, val
* p0
) {
1842 self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___opentype_colors
].val
= p0
; /* _opentype_colors on <self:SeparateCompiler> */
1845 /* method separate_compiler$SeparateCompiler$init for (self: SeparateCompiler) */
1846 void nitc___nitc__SeparateCompiler___core__kernel__Object__init(val
* self
) {
1847 static val
* varonce
;
1848 val
* var
/* : String */;
1849 char* var1
/* : CString */;
1850 val
* var2
/* : String */;
1851 val
* var3
/* : nullable Int */;
1852 val
* var4
/* : nullable Int */;
1853 val
* var5
/* : nullable Bool */;
1854 val
* var6
/* : nullable Bool */;
1855 val
* var7
/* : CodeFile */;
1856 val
* var_file
/* var file: CodeFile */;
1857 val
* var8
/* : CodeWriter */;
1859 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc___nitc__SeparateCompiler___core__kernel__Object__init
]))(self
); /* init on <self:SeparateCompiler>*/
1861 if (likely(varonce
!=NULL
)) {
1864 var1
= "nit.common";
1865 var3
= (val
*)(10l<<2|1);
1866 var4
= (val
*)(10l<<2|1);
1867 var5
= (val
*)((long)(0)<<2|3);
1868 var6
= (val
*)((long)(0)<<2|3);
1869 var2
= core__flat___CString___to_s_unsafe(var1
, var3
, var4
, var5
, var6
);
1874 var7
= nitc___nitc__AbstractCompiler___new_file(self
, var
);
1877 var8
= NEW_nitc__CodeWriter(&type_nitc__CodeWriter
);
1879 ((void(*)(val
* self
, val
* p0
))(var8
->class->vft
[COLOR_nitc__abstract_compiler__CodeWriter__file_61d
]))(var8
, var_file
); /* file= on <var8:CodeWriter>*/
1882 ((void(*)(val
* self
))(var8
->class->vft
[COLOR_core__kernel__Object__init
]))(var8
); /* init on <var8:CodeWriter>*/
1885 { /* Inline abstract_compiler$AbstractCompiler$header= (self,var8) on <self:SeparateCompiler> */
1886 self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
= var8
; /* _header on <self:SeparateCompiler> */
1891 nitc___nitc__SeparateCompiler___compile_box_kinds(self
); /* Direct call separate_compiler$SeparateCompiler$compile_box_kinds on <self:SeparateCompiler>*/
1895 /* method separate_compiler$SeparateCompiler$do_compilation for (self: SeparateCompiler) */
1896 void nitc___nitc__SeparateCompiler___nitc__abstract_compiler__AbstractCompiler__do_compilation(val
* self
) {
1897 val
* var_compiler
/* var compiler: SeparateCompiler */;
1898 val
* var
/* : MModule */;
1899 val
* var2
/* : MModule */;
1900 val
* var3
/* : String */;
1901 val
* var_c_name
/* var c_name: String */;
1902 val
* var4
/* : ModelBuilder */;
1903 val
* var6
/* : ModelBuilder */;
1904 val
* var7
/* : ToolContext */;
1905 val
* var9
/* : ToolContext */;
1906 static val
* varonce
;
1907 val
* var10
/* : String */;
1908 char* var11
/* : CString */;
1909 val
* var12
/* : String */;
1910 val
* var13
/* : nullable Int */;
1911 val
* var14
/* : nullable Int */;
1912 val
* var15
/* : nullable Bool */;
1913 val
* var16
/* : nullable Bool */;
1914 val
* var18
/* : NativeArray[String] */;
1915 static val
* varonce17
;
1916 static val
* varonce19
;
1917 val
* var20
/* : String */;
1918 char* var21
/* : CString */;
1919 val
* var22
/* : String */;
1920 val
* var23
/* : nullable Int */;
1921 val
* var24
/* : nullable Int */;
1922 val
* var25
/* : nullable Bool */;
1923 val
* var26
/* : nullable Bool */;
1924 val
* var27
/* : String */;
1925 val
* var28
/* : CodeFile */;
1926 val
* var29
/* : MModule */;
1927 val
* var31
/* : MModule */;
1928 val
* var32
/* : POSetElement[MModule] */;
1929 val
* var34
/* : POSetElement[MModule] */;
1930 val
* var35
/* : Collection[nullable Object] */;
1931 val
* var_
/* var : Collection[MModule] */;
1932 val
* var36
/* : Iterator[nullable Object] */;
1933 val
* var_37
/* var : Iterator[MModule] */;
1934 short int var38
/* : Bool */;
1935 val
* var39
/* : nullable Object */;
1936 val
* var_m
/* var m: MModule */;
1937 val
* var40
/* : Array[MClass] */;
1938 val
* var42
/* : Array[MClass] */;
1939 val
* var_43
/* var : Array[MClass] */;
1940 val
* var44
/* : IndexedIterator[nullable Object] */;
1941 val
* var_45
/* var : IndexedIterator[MClass] */;
1942 short int var46
/* : Bool */;
1943 val
* var48
/* : nullable Object */;
1944 val
* var_mclass
/* var mclass: MClass */;
1945 val
* var50
/* : NativeArray[String] */;
1946 static val
* varonce49
;
1947 static val
* varonce51
;
1948 val
* var52
/* : String */;
1949 char* var53
/* : CString */;
1950 val
* var54
/* : String */;
1951 val
* var55
/* : nullable Int */;
1952 val
* var56
/* : nullable Int */;
1953 val
* var57
/* : nullable Bool */;
1954 val
* var58
/* : nullable Bool */;
1955 val
* var59
/* : String */;
1956 val
* var60
/* : CodeFile */;
1957 val
* var61
/* : MModule */;
1958 val
* var63
/* : MModule */;
1959 val
* var64
/* : POSetElement[MModule] */;
1960 val
* var66
/* : POSetElement[MModule] */;
1961 val
* var67
/* : Collection[nullable Object] */;
1962 val
* var_68
/* var : Collection[MModule] */;
1963 val
* var69
/* : Iterator[nullable Object] */;
1964 val
* var_70
/* var : Iterator[MModule] */;
1965 short int var71
/* : Bool */;
1966 val
* var73
/* : nullable Object */;
1967 val
* var_m74
/* var m: MModule */;
1968 val
* var75
/* : ModelBuilder */;
1969 val
* var77
/* : ModelBuilder */;
1970 val
* var78
/* : ToolContext */;
1971 val
* var80
/* : ToolContext */;
1972 val
* var82
/* : NativeArray[String] */;
1973 static val
* varonce81
;
1974 static val
* varonce83
;
1975 val
* var84
/* : String */;
1976 char* var85
/* : CString */;
1977 val
* var86
/* : String */;
1978 val
* var87
/* : nullable Int */;
1979 val
* var88
/* : nullable Int */;
1980 val
* var89
/* : nullable Bool */;
1981 val
* var90
/* : nullable Bool */;
1982 val
* var91
/* : String */;
1983 val
* var92
/* : String */;
1984 val
* var94
/* : NativeArray[String] */;
1985 static val
* varonce93
;
1986 static val
* varonce95
;
1987 val
* var96
/* : String */;
1988 char* var97
/* : CString */;
1989 val
* var98
/* : String */;
1990 val
* var99
/* : nullable Int */;
1991 val
* var100
/* : nullable Int */;
1992 val
* var101
/* : nullable Bool */;
1993 val
* var102
/* : nullable Bool */;
1994 val
* var103
/* : String */;
1995 val
* var104
/* : String */;
1996 val
* var105
/* : CodeFile */;
1997 val
* var106
/* : ModelBuilder */;
1998 val
* var108
/* : ModelBuilder */;
1999 val
* var109
/* : ToolContext */;
2000 val
* var111
/* : ToolContext */;
2001 static val
* varonce112
;
2002 val
* var113
/* : String */;
2003 char* var114
/* : CString */;
2004 val
* var115
/* : String */;
2005 val
* var116
/* : nullable Int */;
2006 val
* var117
/* : nullable Int */;
2007 val
* var118
/* : nullable Bool */;
2008 val
* var119
/* : nullable Bool */;
2009 val
* var121
/* : NativeArray[String] */;
2010 static val
* varonce120
;
2011 static val
* varonce122
;
2012 val
* var123
/* : String */;
2013 char* var124
/* : CString */;
2014 val
* var125
/* : String */;
2015 val
* var126
/* : nullable Int */;
2016 val
* var127
/* : nullable Int */;
2017 val
* var128
/* : nullable Bool */;
2018 val
* var129
/* : nullable Bool */;
2019 val
* var130
/* : String */;
2020 val
* var131
/* : CodeFile */;
2021 var_compiler
= self
;
2023 nitc___nitc__AbstractCompiler___compile_header(var_compiler
); /* Direct call abstract_compiler$AbstractCompiler$compile_header on <var_compiler:SeparateCompiler>*/
2026 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateCompiler> */
2027 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
2028 if (unlikely(var2
== NULL
)) {
2029 if(catchStack
.cursor
>= 0){
2030 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2032 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2033 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
2041 var3
= nitc___nitc__MModule___nitc__model_base__MEntity__c_name(var
);
2045 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:SeparateCompiler> */
2046 var6
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
2047 if (unlikely(var6
== NULL
)) {
2048 if(catchStack
.cursor
>= 0){
2049 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2051 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2052 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 552);
2060 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var4) on <var4:ModelBuilder> */
2061 var9
= var4
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var4:ModelBuilder> */
2062 if (unlikely(var9
== NULL
)) {
2063 if(catchStack
.cursor
>= 0){
2064 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2066 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2067 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
2074 if (likely(varonce
!=NULL
)) {
2077 var11
= "Property coloring";
2078 var13
= (val
*)(17l<<2|1);
2079 var14
= (val
*)(17l<<2|1);
2080 var15
= (val
*)((long)(0)<<2|3);
2081 var16
= (val
*)((long)(0)<<2|3);
2082 var12
= core__flat___CString___to_s_unsafe(var11
, var13
, var14
, var15
, var16
);
2087 nitc___nitc__ToolContext___info(var7
, var10
, 2l); /* Direct call toolcontext$ToolContext$info on <var7:ToolContext>*/
2089 if (unlikely(varonce17
==NULL
)) {
2090 var18
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
2091 if (likely(varonce19
!=NULL
)) {
2095 var23
= (val
*)(8l<<2|1);
2096 var24
= (val
*)(8l<<2|1);
2097 var25
= (val
*)((long)(0)<<2|3);
2098 var26
= (val
*)((long)(0)<<2|3);
2099 var22
= core__flat___CString___to_s_unsafe(var21
, var23
, var24
, var25
, var26
);
2103 ((struct instance_core__NativeArray
*)var18
)->values
[1]=var20
;
2108 ((struct instance_core__NativeArray
*)var18
)->values
[0]=var_c_name
;
2110 var27
= ((val
*(*)(val
* self
))(var18
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var18
); /* native_to_s on <var18:NativeArray[String]>*/
2114 var28
= nitc___nitc__AbstractCompiler___new_file(var_compiler
, var27
);
2117 nitc___nitc__SeparateCompiler___do_property_coloring(var_compiler
); /* Direct call separate_compiler$SeparateCompiler$do_property_coloring on <var_compiler:SeparateCompiler>*/
2120 nitc___nitc__SeparateCompiler___compile_class_infos(var_compiler
); /* Direct call separate_compiler$SeparateCompiler$compile_class_infos on <var_compiler:SeparateCompiler>*/
2123 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateCompiler> */
2124 var31
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
2125 if (unlikely(var31
== NULL
)) {
2126 if(catchStack
.cursor
>= 0){
2127 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2129 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2130 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
2134 RET_LABEL30
:(void)0;
2138 { /* Inline mmodule$MModule$in_importation (var29) on <var29:MModule> */
2139 var34
= var29
->attrs
[COLOR_nitc__mmodule__MModule___in_importation
].val
; /* _in_importation on <var29:MModule> */
2140 if (unlikely(var34
== NULL
)) {
2141 if(catchStack
.cursor
>= 0){
2142 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2144 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
2145 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 108);
2149 RET_LABEL33
:(void)0;
2153 var35
= poset___poset__POSetElement___greaters(var32
);
2157 var36
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[MModule]>*/
2162 var38
= ((short int(*)(val
* self
))((((long)var_37
&3)?class_info
[((long)var_37
&3)]:var_37
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_37
); /* is_ok on <var_37:Iterator[MModule]>*/
2169 var39
= ((val
*(*)(val
* self
))((((long)var_37
&3)?class_info
[((long)var_37
&3)]:var_37
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_37
); /* item on <var_37:Iterator[MModule]>*/
2173 { /* Inline model$MModule$intro_mclasses (var_m) on <var_m:MModule> */
2174 var42
= var_m
->attrs
[COLOR_nitc__model__MModule___intro_mclasses
].val
; /* _intro_mclasses on <var_m:MModule> */
2175 if (unlikely(var42
== NULL
)) {
2176 if(catchStack
.cursor
>= 0){
2177 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2179 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclasses");
2180 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 147);
2184 RET_LABEL41
:(void)0;
2189 var44
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_43
);
2194 var46
= ((short int(*)(val
* self
))((((long)var_45
&3)?class_info
[((long)var_45
&3)]:var_45
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_45
); /* is_ok on <var_45:IndexedIterator[MClass]>*/
2201 var48
= ((val
*(*)(val
* self
))((((long)var_45
&3)?class_info
[((long)var_45
&3)]:var_45
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_45
); /* item on <var_45:IndexedIterator[MClass]>*/
2205 ((void(*)(val
* self
, val
* p0
))(var_compiler
->class->vft
[COLOR_nitc__separate_compiler__SeparateCompiler__compile_class_to_c
]))(var_compiler
, var_mclass
); /* compile_class_to_c on <var_compiler:SeparateCompiler>*/
2208 ((void(*)(val
* self
))((((long)var_45
&3)?class_info
[((long)var_45
&3)]:var_45
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_45
); /* next on <var_45:IndexedIterator[MClass]>*/
2211 BREAK_label47
: (void)0;
2213 ((void(*)(val
* self
))((((long)var_45
&3)?class_info
[((long)var_45
&3)]:var_45
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_45
); /* finish on <var_45:IndexedIterator[MClass]>*/
2216 ((void(*)(val
* self
))((((long)var_37
&3)?class_info
[((long)var_37
&3)]:var_37
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_37
); /* next on <var_37:Iterator[MModule]>*/
2219 BREAK_label
: (void)0;
2221 ((void(*)(val
* self
))((((long)var_37
&3)?class_info
[((long)var_37
&3)]:var_37
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_37
); /* finish on <var_37:Iterator[MModule]>*/
2223 if (unlikely(varonce49
==NULL
)) {
2224 var50
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
2225 if (likely(varonce51
!=NULL
)) {
2229 var55
= (val
*)(5l<<2|1);
2230 var56
= (val
*)(5l<<2|1);
2231 var57
= (val
*)((long)(0)<<2|3);
2232 var58
= (val
*)((long)(0)<<2|3);
2233 var54
= core__flat___CString___to_s_unsafe(var53
, var55
, var56
, var57
, var58
);
2237 ((struct instance_core__NativeArray
*)var50
)->values
[1]=var52
;
2242 ((struct instance_core__NativeArray
*)var50
)->values
[0]=var_c_name
;
2244 var59
= ((val
*(*)(val
* self
))(var50
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var50
); /* native_to_s on <var50:NativeArray[String]>*/
2248 var60
= nitc___nitc__AbstractCompiler___new_file(var_compiler
, var59
);
2251 nitc___nitc__AbstractCompiler___compile_nitni_global_ref_functions(var_compiler
); /* Direct call abstract_compiler$AbstractCompiler$compile_nitni_global_ref_functions on <var_compiler:SeparateCompiler>*/
2254 nitc___nitc__AbstractCompiler___compile_main_function(var_compiler
); /* Direct call abstract_compiler$AbstractCompiler$compile_main_function on <var_compiler:SeparateCompiler>*/
2257 nitc___nitc__AbstractCompiler___compile_finalizer_function(var_compiler
); /* Direct call abstract_compiler$AbstractCompiler$compile_finalizer_function on <var_compiler:SeparateCompiler>*/
2260 nitc___nitc__SeparateCompiler___link_mmethods(var_compiler
); /* Direct call separate_compiler$SeparateCompiler$link_mmethods on <var_compiler:SeparateCompiler>*/
2263 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateCompiler> */
2264 var63
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
2265 if (unlikely(var63
== NULL
)) {
2266 if(catchStack
.cursor
>= 0){
2267 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2269 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2270 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
2274 RET_LABEL62
:(void)0;
2278 { /* Inline mmodule$MModule$in_importation (var61) on <var61:MModule> */
2279 var66
= var61
->attrs
[COLOR_nitc__mmodule__MModule___in_importation
].val
; /* _in_importation on <var61:MModule> */
2280 if (unlikely(var66
== NULL
)) {
2281 if(catchStack
.cursor
>= 0){
2282 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2284 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
2285 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 108);
2289 RET_LABEL65
:(void)0;
2293 var67
= poset___poset__POSetElement___greaters(var64
);
2297 var69
= ((val
*(*)(val
* self
))((((long)var_68
&3)?class_info
[((long)var_68
&3)]:var_68
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_68
); /* iterator on <var_68:Collection[MModule]>*/
2302 var71
= ((short int(*)(val
* self
))((((long)var_70
&3)?class_info
[((long)var_70
&3)]:var_70
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_70
); /* is_ok on <var_70:Iterator[MModule]>*/
2309 var73
= ((val
*(*)(val
* self
))((((long)var_70
&3)?class_info
[((long)var_70
&3)]:var_70
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_70
); /* item on <var_70:Iterator[MModule]>*/
2313 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:SeparateCompiler> */
2314 var77
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
2315 if (unlikely(var77
== NULL
)) {
2316 if(catchStack
.cursor
>= 0){
2317 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2319 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2320 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 552);
2324 RET_LABEL76
:(void)0;
2328 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var75) on <var75:ModelBuilder> */
2329 var80
= var75
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var75:ModelBuilder> */
2330 if (unlikely(var80
== NULL
)) {
2331 if(catchStack
.cursor
>= 0){
2332 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2334 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2335 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
2339 RET_LABEL79
:(void)0;
2342 if (unlikely(varonce81
==NULL
)) {
2343 var82
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
2344 if (likely(varonce83
!=NULL
)) {
2347 var85
= "Generate C for module ";
2348 var87
= (val
*)(22l<<2|1);
2349 var88
= (val
*)(22l<<2|1);
2350 var89
= (val
*)((long)(0)<<2|3);
2351 var90
= (val
*)((long)(0)<<2|3);
2352 var86
= core__flat___CString___to_s_unsafe(var85
, var87
, var88
, var89
, var90
);
2356 ((struct instance_core__NativeArray
*)var82
)->values
[0]=var84
;
2362 var91
= nitc___nitc__MModule___nitc__model_base__MEntity__full_name(var_m74
);
2364 ((struct instance_core__NativeArray
*)var82
)->values
[1]=var91
;
2366 var92
= ((val
*(*)(val
* self
))(var82
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var82
); /* native_to_s on <var82:NativeArray[String]>*/
2370 nitc___nitc__ToolContext___info(var78
, var92
, 2l); /* Direct call toolcontext$ToolContext$info on <var78:ToolContext>*/
2372 if (unlikely(varonce93
==NULL
)) {
2373 var94
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
2374 if (likely(varonce95
!=NULL
)) {
2378 var99
= (val
*)(4l<<2|1);
2379 var100
= (val
*)(4l<<2|1);
2380 var101
= (val
*)((long)(0)<<2|3);
2381 var102
= (val
*)((long)(0)<<2|3);
2382 var98
= core__flat___CString___to_s_unsafe(var97
, var99
, var100
, var101
, var102
);
2386 ((struct instance_core__NativeArray
*)var94
)->values
[1]=var96
;
2392 var103
= nitc___nitc__MModule___nitc__model_base__MEntity__c_name(var_m74
);
2394 ((struct instance_core__NativeArray
*)var94
)->values
[0]=var103
;
2396 var104
= ((val
*(*)(val
* self
))(var94
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var94
); /* native_to_s on <var94:NativeArray[String]>*/
2400 var105
= nitc___nitc__AbstractCompiler___new_file(var_compiler
, var104
);
2403 nitc___nitc__SeparateCompiler___compile_module_to_c(var_compiler
, var_m74
); /* Direct call separate_compiler$SeparateCompiler$compile_module_to_c on <var_compiler:SeparateCompiler>*/
2406 ((void(*)(val
* self
))((((long)var_70
&3)?class_info
[((long)var_70
&3)]:var_70
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_70
); /* next on <var_70:Iterator[MModule]>*/
2409 BREAK_label72
: (void)0;
2411 ((void(*)(val
* self
))((((long)var_70
&3)?class_info
[((long)var_70
&3)]:var_70
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_70
); /* finish on <var_70:Iterator[MModule]>*/
2414 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:SeparateCompiler> */
2415 var108
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
2416 if (unlikely(var108
== NULL
)) {
2417 if(catchStack
.cursor
>= 0){
2418 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2420 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2421 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 552);
2425 RET_LABEL107
:(void)0;
2429 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var106) on <var106:ModelBuilder> */
2430 var111
= var106
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var106:ModelBuilder> */
2431 if (unlikely(var111
== NULL
)) {
2432 if(catchStack
.cursor
>= 0){
2433 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2435 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2436 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
2440 RET_LABEL110
:(void)0;
2443 if (likely(varonce112
!=NULL
)) {
2444 var113
= varonce112
;
2446 var114
= "Type coloring";
2447 var116
= (val
*)(13l<<2|1);
2448 var117
= (val
*)(13l<<2|1);
2449 var118
= (val
*)((long)(0)<<2|3);
2450 var119
= (val
*)((long)(0)<<2|3);
2451 var115
= core__flat___CString___to_s_unsafe(var114
, var116
, var117
, var118
, var119
);
2453 varonce112
= var113
;
2456 nitc___nitc__ToolContext___info(var109
, var113
, 2l); /* Direct call toolcontext$ToolContext$info on <var109:ToolContext>*/
2458 if (unlikely(varonce120
==NULL
)) {
2459 var121
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
2460 if (likely(varonce122
!=NULL
)) {
2461 var123
= varonce122
;
2464 var126
= (val
*)(6l<<2|1);
2465 var127
= (val
*)(6l<<2|1);
2466 var128
= (val
*)((long)(0)<<2|3);
2467 var129
= (val
*)((long)(0)<<2|3);
2468 var125
= core__flat___CString___to_s_unsafe(var124
, var126
, var127
, var128
, var129
);
2470 varonce122
= var123
;
2472 ((struct instance_core__NativeArray
*)var121
)->values
[1]=var123
;
2474 var121
= varonce120
;
2477 ((struct instance_core__NativeArray
*)var121
)->values
[0]=var_c_name
;
2479 var130
= ((val
*(*)(val
* self
))(var121
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var121
); /* native_to_s on <var121:NativeArray[String]>*/
2481 varonce120
= var121
;
2483 var131
= nitc___nitc__AbstractCompiler___new_file(var_compiler
, var130
);
2486 ((void(*)(val
* self
))(var_compiler
->class->vft
[COLOR_nitc__separate_compiler__SeparateCompiler__compile_types
]))(var_compiler
); /* compile_types on <var_compiler:SeparateCompiler>*/
2490 /* method separate_compiler$SeparateCompiler$compile_types for (self: SeparateCompiler) */
2491 void nitc___nitc__SeparateCompiler___compile_types(val
* self
) {
2492 val
* var_compiler
/* var compiler: SeparateCompiler */;
2493 val
* var
/* : Collection[MType] */;
2494 val
* var_mtypes
/* var mtypes: Collection[MType] */;
2495 val
* var_
/* var : Collection[MType] */;
2496 val
* var1
/* : Iterator[nullable Object] */;
2497 val
* var_2
/* var : Iterator[MType] */;
2498 short int var3
/* : Bool */;
2499 val
* var4
/* : nullable Object */;
2500 val
* var_t
/* var t: MType */;
2501 val
* var5
/* : Set[MType] */;
2502 val
* var7
/* : Set[MType] */;
2503 val
* var_8
/* var : Set[MType] */;
2504 val
* var9
/* : Iterator[nullable Object] */;
2505 val
* var_10
/* var : Iterator[MType] */;
2506 short int var11
/* : Bool */;
2507 val
* var13
/* : nullable Object */;
2508 val
* var_t14
/* var t: MType */;
2509 short int var15
/* : Bool */;
2510 var_compiler
= self
;
2512 var
= nitc___nitc__SeparateCompiler___do_type_coloring(var_compiler
);
2517 var1
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[MType]>*/
2522 var3
= ((short int(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_2
); /* is_ok on <var_2:Iterator[MType]>*/
2529 var4
= ((val
*(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_2
); /* item on <var_2:Iterator[MType]>*/
2533 nitc___nitc__SeparateCompiler___compile_type_to_c(var_compiler
, var_t
); /* Direct call separate_compiler$SeparateCompiler$compile_type_to_c on <var_compiler:SeparateCompiler>*/
2536 ((void(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_2
); /* next on <var_2:Iterator[MType]>*/
2539 BREAK_label
: (void)0;
2541 ((void(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_2
); /* finish on <var_2:Iterator[MType]>*/
2544 { /* Inline separate_compiler$SeparateCompiler$undead_types (var_compiler) on <var_compiler:SeparateCompiler> */
2545 var7
= var_compiler
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___undead_types
].val
; /* _undead_types on <var_compiler:SeparateCompiler> */
2546 if (unlikely(var7
== NULL
)) {
2547 if(catchStack
.cursor
>= 0){
2548 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2550 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _undead_types");
2551 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 146);
2560 var9
= ((val
*(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_8
); /* iterator on <var_8:Set[MType]>*/
2565 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:Iterator[MType]>*/
2572 var13
= ((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:Iterator[MType]>*/
2576 var15
= ((short int(*)(val
* self
, val
* p0
))((((long)var_mtypes
&3)?class_info
[((long)var_mtypes
&3)]:var_mtypes
->class)->vft
[COLOR_core__abstract_collection__Collection__has
]))(var_mtypes
, var_t14
); /* has on <var_mtypes:Collection[MType]>*/
2583 nitc___nitc__SeparateCompiler___compile_type_to_c(var_compiler
, var_t14
); /* Direct call separate_compiler$SeparateCompiler$compile_type_to_c on <var_compiler:SeparateCompiler>*/
2585 BREAK_label16
: (void)0;
2587 ((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:Iterator[MType]>*/
2590 BREAK_label12
: (void)0;
2592 ((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:Iterator[MType]>*/
2596 /* method separate_compiler$SeparateCompiler$compile_header_structs for (self: SeparateCompiler) */
2597 void nitc___nitc__SeparateCompiler___nitc__abstract_compiler__AbstractCompiler__compile_header_structs(val
* self
) {
2598 val
* var
/* : CodeWriter */;
2599 val
* var2
/* : CodeWriter */;
2600 static val
* varonce
;
2601 val
* var3
/* : String */;
2602 char* var4
/* : CString */;
2603 val
* var5
/* : String */;
2604 val
* var6
/* : nullable Int */;
2605 val
* var7
/* : nullable Int */;
2606 val
* var8
/* : nullable Bool */;
2607 val
* var9
/* : nullable Bool */;
2608 val
* var10
/* : CodeWriter */;
2609 val
* var12
/* : CodeWriter */;
2610 static val
* varonce13
;
2611 val
* var14
/* : String */;
2612 char* var15
/* : CString */;
2613 val
* var16
/* : String */;
2614 val
* var17
/* : nullable Int */;
2615 val
* var18
/* : nullable Int */;
2616 val
* var19
/* : nullable Bool */;
2617 val
* var20
/* : nullable Bool */;
2618 val
* var21
/* : CodeWriter */;
2619 val
* var23
/* : CodeWriter */;
2620 static val
* varonce24
;
2621 val
* var25
/* : String */;
2622 char* var26
/* : CString */;
2623 val
* var27
/* : String */;
2624 val
* var28
/* : nullable Int */;
2625 val
* var29
/* : nullable Int */;
2626 val
* var30
/* : nullable Bool */;
2627 val
* var31
/* : nullable Bool */;
2628 val
* var32
/* : CodeWriter */;
2629 val
* var34
/* : CodeWriter */;
2630 static val
* varonce35
;
2631 val
* var36
/* : String */;
2632 char* var37
/* : CString */;
2633 val
* var38
/* : String */;
2634 val
* var39
/* : nullable Int */;
2635 val
* var40
/* : nullable Int */;
2636 val
* var41
/* : nullable Bool */;
2637 val
* var42
/* : nullable Bool */;
2638 val
* var43
/* : CodeWriter */;
2639 val
* var45
/* : CodeWriter */;
2640 static val
* varonce46
;
2641 val
* var47
/* : String */;
2642 char* var48
/* : CString */;
2643 val
* var49
/* : String */;
2644 val
* var50
/* : nullable Int */;
2645 val
* var51
/* : nullable Int */;
2646 val
* var52
/* : nullable Bool */;
2647 val
* var53
/* : nullable Bool */;
2648 val
* var54
/* : CodeWriter */;
2649 val
* var56
/* : CodeWriter */;
2650 static val
* varonce57
;
2651 val
* var58
/* : String */;
2652 char* var59
/* : CString */;
2653 val
* var60
/* : String */;
2654 val
* var61
/* : nullable Int */;
2655 val
* var62
/* : nullable Int */;
2656 val
* var63
/* : nullable Bool */;
2657 val
* var64
/* : nullable Bool */;
2658 val
* var65
/* : ModelBuilder */;
2659 val
* var67
/* : ModelBuilder */;
2660 val
* var68
/* : ToolContext */;
2661 val
* var70
/* : ToolContext */;
2662 val
* var71
/* : OptionBool */;
2663 val
* var73
/* : OptionBool */;
2664 val
* var74
/* : nullable Object */;
2665 val
* var76
/* : nullable Object */;
2666 short int var77
/* : Bool */;
2667 short int var78
/* : Bool */;
2668 val
* var79
/* : CodeWriter */;
2669 val
* var81
/* : CodeWriter */;
2670 static val
* varonce82
;
2671 val
* var83
/* : String */;
2672 char* var84
/* : CString */;
2673 val
* var85
/* : String */;
2674 val
* var86
/* : nullable Int */;
2675 val
* var87
/* : nullable Int */;
2676 val
* var88
/* : nullable Bool */;
2677 val
* var89
/* : nullable Bool */;
2678 val
* var90
/* : CodeWriter */;
2679 val
* var92
/* : CodeWriter */;
2680 static val
* varonce93
;
2681 val
* var94
/* : String */;
2682 char* var95
/* : CString */;
2683 val
* var96
/* : String */;
2684 val
* var97
/* : nullable Int */;
2685 val
* var98
/* : nullable Int */;
2686 val
* var99
/* : nullable Bool */;
2687 val
* var100
/* : nullable Bool */;
2689 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateCompiler> */
2690 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2691 if (unlikely(var2
== NULL
)) {
2692 if(catchStack
.cursor
>= 0){
2693 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2695 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2696 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
2703 if (likely(varonce
!=NULL
)) {
2706 var4
= "typedef void(*nitmethod_t)(void); /* general C type representing a Nit method. */";
2707 var6
= (val
*)(81l<<2|1);
2708 var7
= (val
*)(81l<<2|1);
2709 var8
= (val
*)((long)(0)<<2|3);
2710 var9
= (val
*)((long)(0)<<2|3);
2711 var5
= core__flat___CString___to_s_unsafe(var4
, var6
, var7
, var8
, var9
);
2716 nitc___nitc__CodeWriter___add_decl(var
, var3
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var:CodeWriter>*/
2719 nitc___nitc__SeparateCompiler___compile_header_attribute_structs(self
); /* Direct call separate_compiler$SeparateCompiler$compile_header_attribute_structs on <self:SeparateCompiler>*/
2722 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateCompiler> */
2723 var12
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2724 if (unlikely(var12
== NULL
)) {
2725 if(catchStack
.cursor
>= 0){
2726 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2728 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2729 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
2733 RET_LABEL11
:(void)0;
2736 if (likely(varonce13
!=NULL
)) {
2739 var15
= "struct class { int box_kind; nitmethod_t vft[]; }; /* general C type representing a Nit class. */";
2740 var17
= (val
*)(97l<<2|1);
2741 var18
= (val
*)(97l<<2|1);
2742 var19
= (val
*)((long)(0)<<2|3);
2743 var20
= (val
*)((long)(0)<<2|3);
2744 var16
= core__flat___CString___to_s_unsafe(var15
, var17
, var18
, var19
, var20
);
2749 nitc___nitc__CodeWriter___add_decl(var10
, var14
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var10:CodeWriter>*/
2752 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateCompiler> */
2753 var23
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2754 if (unlikely(var23
== NULL
)) {
2755 if(catchStack
.cursor
>= 0){
2756 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2758 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2759 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
2763 RET_LABEL22
:(void)0;
2766 if (likely(varonce24
!=NULL
)) {
2769 var26
= "struct type { int id; const char *name; int color; short int is_nullable; const struct types *resolution_table; int table_size; int type_table[]; }; /* general C type representing a Nit type. */";
2770 var28
= (val
*)(194l<<2|1);
2771 var29
= (val
*)(194l<<2|1);
2772 var30
= (val
*)((long)(0)<<2|3);
2773 var31
= (val
*)((long)(0)<<2|3);
2774 var27
= core__flat___CString___to_s_unsafe(var26
, var28
, var29
, var30
, var31
);
2779 nitc___nitc__CodeWriter___add_decl(var21
, var25
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var21:CodeWriter>*/
2782 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateCompiler> */
2783 var34
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2784 if (unlikely(var34
== NULL
)) {
2785 if(catchStack
.cursor
>= 0){
2786 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2788 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2789 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
2793 RET_LABEL33
:(void)0;
2796 if (likely(varonce35
!=NULL
)) {
2799 var37
= "struct instance { const struct type *type; const struct class *class; nitattribute_t attrs[]; }; /* general C type representing a Nit instance. */";
2800 var39
= (val
*)(146l<<2|1);
2801 var40
= (val
*)(146l<<2|1);
2802 var41
= (val
*)((long)(0)<<2|3);
2803 var42
= (val
*)((long)(0)<<2|3);
2804 var38
= core__flat___CString___to_s_unsafe(var37
, var39
, var40
, var41
, var42
);
2809 nitc___nitc__CodeWriter___add_decl(var32
, var36
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var32:CodeWriter>*/
2812 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateCompiler> */
2813 var45
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2814 if (unlikely(var45
== NULL
)) {
2815 if(catchStack
.cursor
>= 0){
2816 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2818 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2819 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
2823 RET_LABEL44
:(void)0;
2826 if (likely(varonce46
!=NULL
)) {
2829 var48
= "struct types { int dummy; const struct type *types[]; }; /* a list types (used for vts, fts and unresolved lists). */";
2830 var50
= (val
*)(117l<<2|1);
2831 var51
= (val
*)(117l<<2|1);
2832 var52
= (val
*)((long)(0)<<2|3);
2833 var53
= (val
*)((long)(0)<<2|3);
2834 var49
= core__flat___CString___to_s_unsafe(var48
, var50
, var51
, var52
, var53
);
2839 nitc___nitc__CodeWriter___add_decl(var43
, var47
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var43:CodeWriter>*/
2842 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateCompiler> */
2843 var56
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2844 if (unlikely(var56
== NULL
)) {
2845 if(catchStack
.cursor
>= 0){
2846 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2848 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2849 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
2853 RET_LABEL55
:(void)0;
2856 if (likely(varonce57
!=NULL
)) {
2859 var59
= "typedef struct instance val; /* general C type representing a Nit instance. */";
2860 var61
= (val
*)(78l<<2|1);
2861 var62
= (val
*)(78l<<2|1);
2862 var63
= (val
*)((long)(0)<<2|3);
2863 var64
= (val
*)((long)(0)<<2|3);
2864 var60
= core__flat___CString___to_s_unsafe(var59
, var61
, var62
, var63
, var64
);
2869 nitc___nitc__CodeWriter___add_decl(var54
, var58
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var54:CodeWriter>*/
2872 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:SeparateCompiler> */
2873 var67
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
2874 if (unlikely(var67
== NULL
)) {
2875 if(catchStack
.cursor
>= 0){
2876 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2878 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2879 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 552);
2883 RET_LABEL66
:(void)0;
2887 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var65) on <var65:ModelBuilder> */
2888 var70
= var65
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var65:ModelBuilder> */
2889 if (unlikely(var70
== NULL
)) {
2890 if(catchStack
.cursor
>= 0){
2891 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2893 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2894 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
2898 RET_LABEL69
:(void)0;
2902 { /* Inline separate_compiler$ToolContext$opt_no_tag_primitives (var68) on <var68:ToolContext> */
2903 var73
= var68
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_no_tag_primitives
].val
; /* _opt_no_tag_primitives on <var68:ToolContext> */
2904 if (unlikely(var73
== NULL
)) {
2905 if(catchStack
.cursor
>= 0){
2906 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2908 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_tag_primitives");
2909 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 32);
2913 RET_LABEL72
:(void)0;
2917 { /* Inline opts$Option$value (var71) on <var71:OptionBool> */
2918 var76
= var71
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var71:OptionBool> */
2920 RET_LABEL75
:(void)0;
2923 var77
= (short int)((long)(var74
)>>2);
2927 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateCompiler> */
2928 var81
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2929 if (unlikely(var81
== NULL
)) {
2930 if(catchStack
.cursor
>= 0){
2931 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2933 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2934 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
2938 RET_LABEL80
:(void)0;
2941 if (likely(varonce82
!=NULL
)) {
2944 var84
= "extern const struct class *class_info[];";
2945 var86
= (val
*)(40l<<2|1);
2946 var87
= (val
*)(40l<<2|1);
2947 var88
= (val
*)((long)(0)<<2|3);
2948 var89
= (val
*)((long)(0)<<2|3);
2949 var85
= core__flat___CString___to_s_unsafe(var84
, var86
, var87
, var88
, var89
);
2954 nitc___nitc__CodeWriter___add_decl(var79
, var83
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var79:CodeWriter>*/
2957 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateCompiler> */
2958 var92
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2959 if (unlikely(var92
== NULL
)) {
2960 if(catchStack
.cursor
>= 0){
2961 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2963 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2964 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
2968 RET_LABEL91
:(void)0;
2971 if (likely(varonce93
!=NULL
)) {
2974 var95
= "extern const struct type *type_info[];";
2975 var97
= (val
*)(38l<<2|1);
2976 var98
= (val
*)(38l<<2|1);
2977 var99
= (val
*)((long)(0)<<2|3);
2978 var100
= (val
*)((long)(0)<<2|3);
2979 var96
= core__flat___CString___to_s_unsafe(var95
, var97
, var98
, var99
, var100
);
2984 nitc___nitc__CodeWriter___add_decl(var90
, var94
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var90:CodeWriter>*/
2990 /* method separate_compiler$SeparateCompiler$compile_header_attribute_structs for (self: SeparateCompiler) */
2991 void nitc___nitc__SeparateCompiler___compile_header_attribute_structs(val
* self
) {
2992 val
* var
/* : ModelBuilder */;
2993 val
* var2
/* : ModelBuilder */;
2994 val
* var3
/* : ToolContext */;
2995 val
* var5
/* : ToolContext */;
2996 val
* var6
/* : OptionBool */;
2997 val
* var8
/* : OptionBool */;
2998 val
* var9
/* : nullable Object */;
2999 val
* var11
/* : nullable Object */;
3000 short int var12
/* : Bool */;
3001 val
* var13
/* : CodeWriter */;
3002 val
* var15
/* : CodeWriter */;
3003 static val
* varonce
;
3004 val
* var16
/* : String */;
3005 char* var17
/* : CString */;
3006 val
* var18
/* : String */;
3007 val
* var19
/* : nullable Int */;
3008 val
* var20
/* : nullable Int */;
3009 val
* var21
/* : nullable Bool */;
3010 val
* var22
/* : nullable Bool */;
3011 val
* var23
/* : CodeWriter */;
3012 val
* var25
/* : CodeWriter */;
3013 static val
* varonce26
;
3014 val
* var27
/* : String */;
3015 char* var28
/* : CString */;
3016 val
* var29
/* : String */;
3017 val
* var30
/* : nullable Int */;
3018 val
* var31
/* : nullable Int */;
3019 val
* var32
/* : nullable Bool */;
3020 val
* var33
/* : nullable Bool */;
3021 val
* var34
/* : CodeWriter */;
3022 val
* var36
/* : CodeWriter */;
3023 static val
* varonce37
;
3024 val
* var38
/* : String */;
3025 char* var39
/* : CString */;
3026 val
* var40
/* : String */;
3027 val
* var41
/* : nullable Int */;
3028 val
* var42
/* : nullable Int */;
3029 val
* var43
/* : nullable Bool */;
3030 val
* var44
/* : nullable Bool */;
3031 val
* var45
/* : HashMap[MClass, Int] */;
3032 val
* var47
/* : HashMap[MClass, Int] */;
3033 val
* var_
/* var : HashMap[MClass, Int] */;
3034 val
* var48
/* : MapIterator[nullable Object, nullable Object] */;
3035 val
* var_49
/* var : MapIterator[MClass, Int] */;
3036 short int var50
/* : Bool */;
3037 val
* var51
/* : nullable Object */;
3038 val
* var_c
/* var c: MClass */;
3039 val
* var52
/* : nullable Object */;
3040 long var53
/* : Int */;
3041 long var_v
/* var v: Int */;
3042 val
* var54
/* : MClassType */;
3043 val
* var56
/* : MClassType */;
3044 val
* var_t
/* var t: MClassType */;
3045 val
* var57
/* : MClass */;
3046 val
* var59
/* : MClass */;
3047 val
* var60
/* : String */;
3048 val
* var62
/* : String */;
3049 static val
* varonce63
;
3050 val
* var64
/* : String */;
3051 char* var65
/* : CString */;
3052 val
* var66
/* : String */;
3053 val
* var67
/* : nullable Int */;
3054 val
* var68
/* : nullable Int */;
3055 val
* var69
/* : nullable Bool */;
3056 val
* var70
/* : nullable Bool */;
3057 short int var71
/* : Bool */;
3058 val
* var73
/* : CodeWriter */;
3059 val
* var75
/* : CodeWriter */;
3060 val
* var77
/* : NativeArray[String] */;
3061 static val
* varonce76
;
3062 static val
* varonce78
;
3063 val
* var79
/* : String */;
3064 char* var80
/* : CString */;
3065 val
* var81
/* : String */;
3066 val
* var82
/* : nullable Int */;
3067 val
* var83
/* : nullable Int */;
3068 val
* var84
/* : nullable Bool */;
3069 val
* var85
/* : nullable Bool */;
3070 static val
* varonce86
;
3071 val
* var87
/* : String */;
3072 char* var88
/* : CString */;
3073 val
* var89
/* : String */;
3074 val
* var90
/* : nullable Int */;
3075 val
* var91
/* : nullable Int */;
3076 val
* var92
/* : nullable Bool */;
3077 val
* var93
/* : nullable Bool */;
3078 val
* var94
/* : String */;
3079 val
* var95
/* : String */;
3080 val
* var96
/* : String */;
3081 val
* var98
/* : CodeWriter */;
3082 val
* var100
/* : CodeWriter */;
3083 static val
* varonce101
;
3084 val
* var102
/* : String */;
3085 char* var103
/* : CString */;
3086 val
* var104
/* : String */;
3087 val
* var105
/* : nullable Int */;
3088 val
* var106
/* : nullable Int */;
3089 val
* var107
/* : nullable Bool */;
3090 val
* var108
/* : nullable Bool */;
3092 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:SeparateCompiler> */
3093 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
3094 if (unlikely(var2
== NULL
)) {
3095 if(catchStack
.cursor
>= 0){
3096 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3098 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3099 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 552);
3107 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var) on <var:ModelBuilder> */
3108 var5
= var
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var:ModelBuilder> */
3109 if (unlikely(var5
== NULL
)) {
3110 if(catchStack
.cursor
>= 0){
3111 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3113 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3114 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
3122 { /* Inline separate_compiler$ToolContext$opt_no_union_attribute (var3) on <var3:ToolContext> */
3123 var8
= var3
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_no_union_attribute
].val
; /* _opt_no_union_attribute on <var3:ToolContext> */
3124 if (unlikely(var8
== NULL
)) {
3125 if(catchStack
.cursor
>= 0){
3126 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3128 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_union_attribute");
3129 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 28);
3137 { /* Inline opts$Option$value (var6) on <var6:OptionBool> */
3138 var11
= var6
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var6:OptionBool> */
3140 RET_LABEL10
:(void)0;
3143 var12
= (short int)((long)(var9
)>>2);
3146 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateCompiler> */
3147 var15
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3148 if (unlikely(var15
== NULL
)) {
3149 if(catchStack
.cursor
>= 0){
3150 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3152 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3153 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
3157 RET_LABEL14
:(void)0;
3160 if (likely(varonce
!=NULL
)) {
3163 var17
= "typedef void* nitattribute_t; /* general C type representing a Nit attribute. */";
3164 var19
= (val
*)(80l<<2|1);
3165 var20
= (val
*)(80l<<2|1);
3166 var21
= (val
*)((long)(0)<<2|3);
3167 var22
= (val
*)((long)(0)<<2|3);
3168 var18
= core__flat___CString___to_s_unsafe(var17
, var19
, var20
, var21
, var22
);
3173 nitc___nitc__CodeWriter___add_decl(var13
, var16
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var13:CodeWriter>*/
3177 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateCompiler> */
3178 var25
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3179 if (unlikely(var25
== NULL
)) {
3180 if(catchStack
.cursor
>= 0){
3181 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3183 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3184 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
3188 RET_LABEL24
:(void)0;
3191 if (likely(varonce26
!=NULL
)) {
3194 var28
= "typedef union {";
3195 var30
= (val
*)(15l<<2|1);
3196 var31
= (val
*)(15l<<2|1);
3197 var32
= (val
*)((long)(0)<<2|3);
3198 var33
= (val
*)((long)(0)<<2|3);
3199 var29
= core__flat___CString___to_s_unsafe(var28
, var30
, var31
, var32
, var33
);
3204 nitc___nitc__CodeWriter___add_decl(var23
, var27
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var23:CodeWriter>*/
3207 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateCompiler> */
3208 var36
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3209 if (unlikely(var36
== NULL
)) {
3210 if(catchStack
.cursor
>= 0){
3211 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3213 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3214 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
3218 RET_LABEL35
:(void)0;
3221 if (likely(varonce37
!=NULL
)) {
3224 var39
= "void* val;";
3225 var41
= (val
*)(10l<<2|1);
3226 var42
= (val
*)(10l<<2|1);
3227 var43
= (val
*)((long)(0)<<2|3);
3228 var44
= (val
*)((long)(0)<<2|3);
3229 var40
= core__flat___CString___to_s_unsafe(var39
, var41
, var42
, var43
, var44
);
3234 nitc___nitc__CodeWriter___add_decl(var34
, var38
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var34:CodeWriter>*/
3237 { /* Inline separate_compiler$SeparateCompiler$box_kinds (self) on <self:SeparateCompiler> */
3238 var47
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___box_kinds
].val
; /* _box_kinds on <self:SeparateCompiler> */
3239 if (unlikely(var47
== NULL
)) {
3240 if(catchStack
.cursor
>= 0){
3241 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3243 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _box_kinds");
3244 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 264);
3248 RET_LABEL46
:(void)0;
3253 var48
= core___core__HashMap___core__abstract_collection__MapRead__iterator(var_
);
3258 var50
= ((short int(*)(val
* self
))((((long)var_49
&3)?class_info
[((long)var_49
&3)]:var_49
->class)->vft
[COLOR_core__abstract_collection__MapIterator__is_ok
]))(var_49
); /* is_ok on <var_49:MapIterator[MClass, Int]>*/
3265 var51
= ((val
*(*)(val
* self
))((((long)var_49
&3)?class_info
[((long)var_49
&3)]:var_49
->class)->vft
[COLOR_core__abstract_collection__MapIterator__key
]))(var_49
); /* key on <var_49:MapIterator[MClass, Int]>*/
3269 var52
= ((val
*(*)(val
* self
))((((long)var_49
&3)?class_info
[((long)var_49
&3)]:var_49
->class)->vft
[COLOR_core__abstract_collection__MapIterator__item
]))(var_49
); /* item on <var_49:MapIterator[MClass, Int]>*/
3271 var53
= (long)(var52
)>>2;
3274 { /* Inline model$MClass$mclass_type (var_c) on <var_c:MClass> */
3275 var56
= var_c
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_c:MClass> */
3276 if (unlikely(var56
== NULL
)) {
3277 if(catchStack
.cursor
>= 0){
3278 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3280 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
3281 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 520);
3285 RET_LABEL55
:(void)0;
3290 { /* Inline model$MClassType$mclass (var_t) on <var_t:MClassType> */
3291 var59
= var_t
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_t:MClassType> */
3292 if (unlikely(var59
== NULL
)) {
3293 if(catchStack
.cursor
>= 0){
3294 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3296 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3297 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
3301 RET_LABEL58
:(void)0;
3305 { /* Inline model$MClass$name (var57) on <var57:MClass> */
3306 var62
= var57
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <var57:MClass> */
3307 if (unlikely(var62
== NULL
)) {
3308 if(catchStack
.cursor
>= 0){
3309 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3311 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3312 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 396);
3316 RET_LABEL61
:(void)0;
3319 if (likely(varonce63
!=NULL
)) {
3323 var67
= (val
*)(7l<<2|1);
3324 var68
= (val
*)(7l<<2|1);
3325 var69
= (val
*)((long)(0)<<2|3);
3326 var70
= (val
*)((long)(0)<<2|3);
3327 var66
= core__flat___CString___to_s_unsafe(var65
, var67
, var68
, var69
, var70
);
3332 var71
= ((short int(*)(val
* self
, val
* p0
))(var60
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var60
, var64
); /* == on <var60:String>*/
3339 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateCompiler> */
3340 var75
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3341 if (unlikely(var75
== NULL
)) {
3342 if(catchStack
.cursor
>= 0){
3343 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3345 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3346 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
3350 RET_LABEL74
:(void)0;
3353 if (unlikely(varonce76
==NULL
)) {
3354 var77
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
3355 if (likely(varonce78
!=NULL
)) {
3359 var82
= (val
*)(1l<<2|1);
3360 var83
= (val
*)(1l<<2|1);
3361 var84
= (val
*)((long)(0)<<2|3);
3362 var85
= (val
*)((long)(0)<<2|3);
3363 var81
= core__flat___CString___to_s_unsafe(var80
, var82
, var83
, var84
, var85
);
3367 ((struct instance_core__NativeArray
*)var77
)->values
[1]=var79
;
3368 if (likely(varonce86
!=NULL
)) {
3372 var90
= (val
*)(1l<<2|1);
3373 var91
= (val
*)(1l<<2|1);
3374 var92
= (val
*)((long)(0)<<2|3);
3375 var93
= (val
*)((long)(0)<<2|3);
3376 var89
= core__flat___CString___to_s_unsafe(var88
, var90
, var91
, var92
, var93
);
3380 ((struct instance_core__NativeArray
*)var77
)->values
[3]=var87
;
3386 var94
= nitc__abstract_compiler___MClassType___MType__ctype_extern(var_t
);
3388 ((struct instance_core__NativeArray
*)var77
)->values
[0]=var94
;
3390 var95
= nitc__abstract_compiler___MClassType___MType__ctypename(var_t
);
3392 ((struct instance_core__NativeArray
*)var77
)->values
[2]=var95
;
3394 var96
= ((val
*(*)(val
* self
))(var77
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var77
); /* native_to_s on <var77:NativeArray[String]>*/
3398 nitc___nitc__CodeWriter___add_decl(var73
, var96
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var73:CodeWriter>*/
3400 BREAK_label72
: (void)0;
3402 ((void(*)(val
* self
))((((long)var_49
&3)?class_info
[((long)var_49
&3)]:var_49
->class)->vft
[COLOR_core__abstract_collection__MapIterator__next
]))(var_49
); /* next on <var_49:MapIterator[MClass, Int]>*/
3405 BREAK_label
: (void)0;
3407 { /* Inline abstract_collection$MapIterator$finish (var_49) on <var_49:MapIterator[MClass, Int]> */
3408 RET_LABEL97
:(void)0;
3412 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateCompiler> */
3413 var100
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3414 if (unlikely(var100
== NULL
)) {
3415 if(catchStack
.cursor
>= 0){
3416 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3418 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3419 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
3423 RET_LABEL99
:(void)0;
3426 if (likely(varonce101
!=NULL
)) {
3427 var102
= varonce101
;
3429 var103
= "} nitattribute_t; /* general C type representing a Nit attribute. */";
3430 var105
= (val
*)(68l<<2|1);
3431 var106
= (val
*)(68l<<2|1);
3432 var107
= (val
*)((long)(0)<<2|3);
3433 var108
= (val
*)((long)(0)<<2|3);
3434 var104
= core__flat___CString___to_s_unsafe(var103
, var105
, var106
, var107
, var108
);
3436 varonce101
= var102
;
3439 nitc___nitc__CodeWriter___add_decl(var98
, var102
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var98:CodeWriter>*/
3444 /* method separate_compiler$SeparateCompiler$compile_box_kinds for (self: SeparateCompiler) */
3445 void nitc___nitc__SeparateCompiler___compile_box_kinds(val
* self
) {
3446 val
* var
/* : Array[String] */;
3447 val
* var_
/* var : Array[String] */;
3448 static val
* varonce
;
3449 val
* var1
/* : String */;
3450 char* var2
/* : CString */;
3451 val
* var3
/* : String */;
3452 val
* var4
/* : nullable Int */;
3453 val
* var5
/* : nullable Int */;
3454 val
* var6
/* : nullable Bool */;
3455 val
* var7
/* : nullable Bool */;
3456 static val
* varonce8
;
3457 val
* var9
/* : String */;
3458 char* var10
/* : CString */;
3459 val
* var11
/* : String */;
3460 val
* var12
/* : nullable Int */;
3461 val
* var13
/* : nullable Int */;
3462 val
* var14
/* : nullable Bool */;
3463 val
* var15
/* : nullable Bool */;
3464 static val
* varonce16
;
3465 val
* var17
/* : String */;
3466 char* var18
/* : CString */;
3467 val
* var19
/* : String */;
3468 val
* var20
/* : nullable Int */;
3469 val
* var21
/* : nullable Int */;
3470 val
* var22
/* : nullable Bool */;
3471 val
* var23
/* : nullable Bool */;
3472 static val
* varonce24
;
3473 val
* var25
/* : String */;
3474 char* var26
/* : CString */;
3475 val
* var27
/* : String */;
3476 val
* var28
/* : nullable Int */;
3477 val
* var29
/* : nullable Int */;
3478 val
* var30
/* : nullable Bool */;
3479 val
* var31
/* : nullable Bool */;
3480 static val
* varonce32
;
3481 val
* var33
/* : String */;
3482 char* var34
/* : CString */;
3483 val
* var35
/* : String */;
3484 val
* var36
/* : nullable Int */;
3485 val
* var37
/* : nullable Int */;
3486 val
* var38
/* : nullable Bool */;
3487 val
* var39
/* : nullable Bool */;
3488 static val
* varonce40
;
3489 val
* var41
/* : String */;
3490 char* var42
/* : CString */;
3491 val
* var43
/* : String */;
3492 val
* var44
/* : nullable Int */;
3493 val
* var45
/* : nullable Int */;
3494 val
* var46
/* : nullable Bool */;
3495 val
* var47
/* : nullable Bool */;
3496 static val
* varonce48
;
3497 val
* var49
/* : String */;
3498 char* var50
/* : CString */;
3499 val
* var51
/* : String */;
3500 val
* var52
/* : nullable Int */;
3501 val
* var53
/* : nullable Int */;
3502 val
* var54
/* : nullable Bool */;
3503 val
* var55
/* : nullable Bool */;
3504 static val
* varonce56
;
3505 val
* var57
/* : String */;
3506 char* var58
/* : CString */;
3507 val
* var59
/* : String */;
3508 val
* var60
/* : nullable Int */;
3509 val
* var61
/* : nullable Int */;
3510 val
* var62
/* : nullable Bool */;
3511 val
* var63
/* : nullable Bool */;
3512 static val
* varonce64
;
3513 val
* var65
/* : String */;
3514 char* var66
/* : CString */;
3515 val
* var67
/* : String */;
3516 val
* var68
/* : nullable Int */;
3517 val
* var69
/* : nullable Int */;
3518 val
* var70
/* : nullable Bool */;
3519 val
* var71
/* : nullable Bool */;
3520 static val
* varonce72
;
3521 val
* var73
/* : String */;
3522 char* var74
/* : CString */;
3523 val
* var75
/* : String */;
3524 val
* var76
/* : nullable Int */;
3525 val
* var77
/* : nullable Int */;
3526 val
* var78
/* : nullable Bool */;
3527 val
* var79
/* : nullable Bool */;
3528 static val
* varonce80
;
3529 val
* var81
/* : String */;
3530 char* var82
/* : CString */;
3531 val
* var83
/* : String */;
3532 val
* var84
/* : nullable Int */;
3533 val
* var85
/* : nullable Int */;
3534 val
* var86
/* : nullable Bool */;
3535 val
* var87
/* : nullable Bool */;
3536 static val
* varonce88
;
3537 val
* var89
/* : String */;
3538 char* var90
/* : CString */;
3539 val
* var91
/* : String */;
3540 val
* var92
/* : nullable Int */;
3541 val
* var93
/* : nullable Int */;
3542 val
* var94
/* : nullable Bool */;
3543 val
* var95
/* : nullable Bool */;
3544 val
* var_96
/* var : Array[String] */;
3545 val
* var97
/* : IndexedIterator[nullable Object] */;
3546 val
* var_98
/* var : IndexedIterator[String] */;
3547 short int var99
/* : Bool */;
3548 val
* var100
/* : nullable Object */;
3549 val
* var_classname
/* var classname: String */;
3550 val
* var101
/* : MModule */;
3551 val
* var103
/* : MModule */;
3552 val
* var104
/* : Model */;
3553 val
* var106
/* : Model */;
3554 val
* var107
/* : nullable Array[MClass] */;
3555 val
* var_classes
/* var classes: nullable Array[MClass] */;
3556 short int var108
/* : Bool */;
3557 short int var109
/* : Bool */;
3558 long var111
/* : Int */;
3559 long var113
/* : Int */;
3560 short int var114
/* : Bool */;
3561 short int var116
/* : Bool */;
3562 val
* var117
/* : Sys */;
3563 static val
* varonce118
;
3564 val
* var119
/* : String */;
3565 char* var120
/* : CString */;
3566 val
* var121
/* : String */;
3567 val
* var122
/* : nullable Int */;
3568 val
* var123
/* : nullable Int */;
3569 val
* var124
/* : nullable Bool */;
3570 val
* var125
/* : nullable Bool */;
3571 val
* var126
/* : String */;
3572 val
* var127
/* : HashMap[MClass, Int] */;
3573 val
* var129
/* : HashMap[MClass, Int] */;
3574 val
* var130
/* : nullable Object */;
3575 val
* var131
/* : HashMap[MClass, Int] */;
3576 val
* var133
/* : HashMap[MClass, Int] */;
3577 long var134
/* : Int */;
3578 long var135
/* : Int */;
3579 short int var137
/* : Bool */;
3582 const char* var_class_name
;
3583 long var138
/* : Int */;
3584 val
* var139
/* : nullable Object */;
3585 var
= NEW_core__Array(&type_core__Array__core__String
);
3587 core___core__Array___with_capacity(var
, 12l); /* Direct call array$Array$with_capacity on <var:Array[String]>*/
3590 if (likely(varonce
!=NULL
)) {
3594 var4
= (val
*)(3l<<2|1);
3595 var5
= (val
*)(3l<<2|1);
3596 var6
= (val
*)((long)(0)<<2|3);
3597 var7
= (val
*)((long)(0)<<2|3);
3598 var3
= core__flat___CString___to_s_unsafe(var2
, var4
, var5
, var6
, var7
);
3603 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var1
); /* Direct call array$AbstractArray$push on <var_:Array[String]>*/
3605 if (likely(varonce8
!=NULL
)) {
3609 var12
= (val
*)(4l<<2|1);
3610 var13
= (val
*)(4l<<2|1);
3611 var14
= (val
*)((long)(0)<<2|3);
3612 var15
= (val
*)((long)(0)<<2|3);
3613 var11
= core__flat___CString___to_s_unsafe(var10
, var12
, var13
, var14
, var15
);
3618 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var9
); /* Direct call array$AbstractArray$push on <var_:Array[String]>*/
3620 if (likely(varonce16
!=NULL
)) {
3624 var20
= (val
*)(4l<<2|1);
3625 var21
= (val
*)(4l<<2|1);
3626 var22
= (val
*)((long)(0)<<2|3);
3627 var23
= (val
*)((long)(0)<<2|3);
3628 var19
= core__flat___CString___to_s_unsafe(var18
, var20
, var21
, var22
, var23
);
3633 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var17
); /* Direct call array$AbstractArray$push on <var_:Array[String]>*/
3635 if (likely(varonce24
!=NULL
)) {
3639 var28
= (val
*)(4l<<2|1);
3640 var29
= (val
*)(4l<<2|1);
3641 var30
= (val
*)((long)(0)<<2|3);
3642 var31
= (val
*)((long)(0)<<2|3);
3643 var27
= core__flat___CString___to_s_unsafe(var26
, var28
, var29
, var30
, var31
);
3648 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var25
); /* Direct call array$AbstractArray$push on <var_:Array[String]>*/
3650 if (likely(varonce32
!=NULL
)) {
3654 var36
= (val
*)(5l<<2|1);
3655 var37
= (val
*)(5l<<2|1);
3656 var38
= (val
*)((long)(0)<<2|3);
3657 var39
= (val
*)((long)(0)<<2|3);
3658 var35
= core__flat___CString___to_s_unsafe(var34
, var36
, var37
, var38
, var39
);
3663 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var33
); /* Direct call array$AbstractArray$push on <var_:Array[String]>*/
3665 if (likely(varonce40
!=NULL
)) {
3669 var44
= (val
*)(7l<<2|1);
3670 var45
= (val
*)(7l<<2|1);
3671 var46
= (val
*)((long)(0)<<2|3);
3672 var47
= (val
*)((long)(0)<<2|3);
3673 var43
= core__flat___CString___to_s_unsafe(var42
, var44
, var45
, var46
, var47
);
3678 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var41
); /* Direct call array$AbstractArray$push on <var_:Array[String]>*/
3680 if (likely(varonce48
!=NULL
)) {
3684 var52
= (val
*)(7l<<2|1);
3685 var53
= (val
*)(7l<<2|1);
3686 var54
= (val
*)((long)(0)<<2|3);
3687 var55
= (val
*)((long)(0)<<2|3);
3688 var51
= core__flat___CString___to_s_unsafe(var50
, var52
, var53
, var54
, var55
);
3693 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var49
); /* Direct call array$AbstractArray$push on <var_:Array[String]>*/
3695 if (likely(varonce56
!=NULL
)) {
3699 var60
= (val
*)(4l<<2|1);
3700 var61
= (val
*)(4l<<2|1);
3701 var62
= (val
*)((long)(0)<<2|3);
3702 var63
= (val
*)((long)(0)<<2|3);
3703 var59
= core__flat___CString___to_s_unsafe(var58
, var60
, var61
, var62
, var63
);
3708 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var57
); /* Direct call array$AbstractArray$push on <var_:Array[String]>*/
3710 if (likely(varonce64
!=NULL
)) {
3714 var68
= (val
*)(5l<<2|1);
3715 var69
= (val
*)(5l<<2|1);
3716 var70
= (val
*)((long)(0)<<2|3);
3717 var71
= (val
*)((long)(0)<<2|3);
3718 var67
= core__flat___CString___to_s_unsafe(var66
, var68
, var69
, var70
, var71
);
3723 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var65
); /* Direct call array$AbstractArray$push on <var_:Array[String]>*/
3725 if (likely(varonce72
!=NULL
)) {
3729 var76
= (val
*)(6l<<2|1);
3730 var77
= (val
*)(6l<<2|1);
3731 var78
= (val
*)((long)(0)<<2|3);
3732 var79
= (val
*)((long)(0)<<2|3);
3733 var75
= core__flat___CString___to_s_unsafe(var74
, var76
, var77
, var78
, var79
);
3738 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var73
); /* Direct call array$AbstractArray$push on <var_:Array[String]>*/
3740 if (likely(varonce80
!=NULL
)) {
3744 var84
= (val
*)(5l<<2|1);
3745 var85
= (val
*)(5l<<2|1);
3746 var86
= (val
*)((long)(0)<<2|3);
3747 var87
= (val
*)((long)(0)<<2|3);
3748 var83
= core__flat___CString___to_s_unsafe(var82
, var84
, var85
, var86
, var87
);
3753 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var81
); /* Direct call array$AbstractArray$push on <var_:Array[String]>*/
3755 if (likely(varonce88
!=NULL
)) {
3759 var92
= (val
*)(6l<<2|1);
3760 var93
= (val
*)(6l<<2|1);
3761 var94
= (val
*)((long)(0)<<2|3);
3762 var95
= (val
*)((long)(0)<<2|3);
3763 var91
= core__flat___CString___to_s_unsafe(var90
, var92
, var93
, var94
, var95
);
3768 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var89
); /* Direct call array$AbstractArray$push on <var_:Array[String]>*/
3772 var97
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_96
);
3777 var99
= ((short int(*)(val
* self
))((((long)var_98
&3)?class_info
[((long)var_98
&3)]:var_98
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_98
); /* is_ok on <var_98:IndexedIterator[String]>*/
3784 var100
= ((val
*(*)(val
* self
))((((long)var_98
&3)?class_info
[((long)var_98
&3)]:var_98
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_98
); /* item on <var_98:IndexedIterator[String]>*/
3786 var_classname
= var100
;
3788 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateCompiler> */
3789 var103
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
3790 if (unlikely(var103
== NULL
)) {
3791 if(catchStack
.cursor
>= 0){
3792 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3794 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
3795 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
3799 RET_LABEL102
:(void)0;
3803 { /* Inline mmodule$MModule$model (var101) on <var101:MModule> */
3804 var106
= var101
->attrs
[COLOR_nitc__mmodule__MModule___model
].val
; /* _model on <var101:MModule> */
3805 if (unlikely(var106
== NULL
)) {
3806 if(catchStack
.cursor
>= 0){
3807 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3809 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
3810 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 77);
3814 RET_LABEL105
:(void)0;
3818 var107
= nitc__model___Model___get_mclasses_by_name(var104
, var_classname
);
3820 var_classes
= var107
;
3821 if (var_classes
== NULL
) {
3822 var108
= 1; /* is null */
3824 var108
= 0; /* arg is null but recv is not */
3827 var109
= core___core__Array___core__kernel__Object___61d_61d(var_classes
, ((val
*)NULL
));
3831 goto BREAK_label110
;
3835 { /* Inline array$AbstractArrayRead$length (var_classes) on <var_classes:nullable Array[MClass](Array[MClass])> */
3836 var113
= var_classes
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_classes:nullable Array[MClass](Array[MClass])> */
3838 RET_LABEL112
:(void)0;
3842 { /* Inline kernel$Int$== (var111,1l) on <var111:Int> */
3843 var116
= var111
== 1l;
3846 RET_LABEL115
:(void)0;
3849 if (unlikely(!var114
)) {
3851 if (likely(varonce118
!=NULL
)) {
3852 var119
= varonce118
;
3855 var122
= (val
*)(2l<<2|1);
3856 var123
= (val
*)(2l<<2|1);
3857 var124
= (val
*)((long)(0)<<2|3);
3858 var125
= (val
*)((long)(0)<<2|3);
3859 var121
= core__flat___CString___to_s_unsafe(var120
, var122
, var123
, var124
, var125
);
3861 varonce118
= var119
;
3864 var126
= core__abstract_text___Collection___join(var_classes
, var119
, ((val
*)NULL
));
3867 core__file___Sys___print_error(var117
, var126
); /* Direct call file$Sys$print_error on <var117:Sys>*/
3869 if(catchStack
.cursor
>= 0){
3870 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3872 PRINT_ERROR("Runtime error: %s", "Assert failed");
3873 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 259);
3877 { /* Inline separate_compiler$SeparateCompiler$box_kinds (self) on <self:SeparateCompiler> */
3878 var129
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___box_kinds
].val
; /* _box_kinds on <self:SeparateCompiler> */
3879 if (unlikely(var129
== NULL
)) {
3880 if(catchStack
.cursor
>= 0){
3881 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3883 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _box_kinds");
3884 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 264);
3888 RET_LABEL128
:(void)0;
3892 var130
= core___core__SequenceRead___Collection__first(var_classes
);
3895 { /* Inline separate_compiler$SeparateCompiler$box_kinds (self) on <self:SeparateCompiler> */
3896 var133
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___box_kinds
].val
; /* _box_kinds on <self:SeparateCompiler> */
3897 if (unlikely(var133
== NULL
)) {
3898 if(catchStack
.cursor
>= 0){
3899 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3901 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _box_kinds");
3902 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 264);
3906 RET_LABEL132
:(void)0;
3910 var134
= core___core__HashMap___core__abstract_collection__MapRead__length(var131
);
3913 { /* Inline kernel$Int$+ (var134,1l) on <var134:Int> */
3914 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3915 /* <1l:Int> isa OTHER */
3916 var137
= 1; /* easy <1l:Int> isa OTHER*/
3917 if (unlikely(!var137
)) {
3918 var_class_name
= type_core__Int
.name
;
3919 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3920 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
3923 var138
= var134
+ 1l;
3926 RET_LABEL136
:(void)0;
3930 var139
= (val
*)(var135
<<2|1);
3931 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var127
, var130
, var139
); /* Direct call hash_collection$HashMap$[]= on <var127:HashMap[MClass, Int]>*/
3933 BREAK_label110
: (void)0;
3935 ((void(*)(val
* self
))((((long)var_98
&3)?class_info
[((long)var_98
&3)]:var_98
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_98
); /* next on <var_98:IndexedIterator[String]>*/
3938 BREAK_label
: (void)0;
3940 ((void(*)(val
* self
))((((long)var_98
&3)?class_info
[((long)var_98
&3)]:var_98
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_98
); /* finish on <var_98:IndexedIterator[String]>*/
3944 /* method separate_compiler$SeparateCompiler$box_kinds for (self: SeparateCompiler): HashMap[MClass, Int] */
3945 val
* nitc___nitc__SeparateCompiler___box_kinds(val
* self
) {
3946 val
* var
/* : HashMap[MClass, Int] */;
3947 val
* var1
/* : HashMap[MClass, Int] */;
3948 var1
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___box_kinds
].val
; /* _box_kinds on <self:SeparateCompiler> */
3949 if (unlikely(var1
== NULL
)) {
3950 if(catchStack
.cursor
>= 0){
3951 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3953 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _box_kinds");
3954 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 264);
3961 /* method separate_compiler$SeparateCompiler$box_kind_of for (self: SeparateCompiler, MClass): Int */
3962 long nitc___nitc__SeparateCompiler___box_kind_of(val
* self
, val
* p0
) {
3963 long var
/* : Int */;
3964 val
* var_mclass
/* var mclass: MClass */;
3965 val
* var1
/* : MClassType */;
3966 val
* var3
/* : MClassType */;
3967 val
* var4
/* : String */;
3968 static val
* varonce
;
3969 val
* var5
/* : String */;
3970 char* var6
/* : CString */;
3971 val
* var7
/* : String */;
3972 val
* var8
/* : nullable Int */;
3973 val
* var9
/* : nullable Int */;
3974 val
* var10
/* : nullable Bool */;
3975 val
* var11
/* : nullable Bool */;
3976 short int var12
/* : Bool */;
3977 short int var13
/* : Bool */;
3978 val
* var14
/* : MClassKind */;
3979 val
* var16
/* : MClassKind */;
3980 val
* var17
/* : Sys */;
3981 val
* var18
/* : MClassKind */;
3982 short int var19
/* : Bool */;
3983 val
* var_other
/* var other: nullable Object */;
3984 short int var21
/* : Bool */;
3985 short int var23
/* : Bool */;
3986 short int var_
/* var : Bool */;
3987 val
* var24
/* : String */;
3988 val
* var26
/* : String */;
3989 static val
* varonce27
;
3990 val
* var28
/* : String */;
3991 char* var29
/* : CString */;
3992 val
* var30
/* : String */;
3993 val
* var31
/* : nullable Int */;
3994 val
* var32
/* : nullable Int */;
3995 val
* var33
/* : nullable Bool */;
3996 val
* var34
/* : nullable Bool */;
3997 short int var35
/* : Bool */;
3998 val
* var_other37
/* var other: nullable Object */;
3999 short int var38
/* : Bool */;
4000 short int var39
/* : Bool */;
4001 val
* var40
/* : HashMap[MClass, Int] */;
4002 val
* var42
/* : HashMap[MClass, Int] */;
4003 val
* var43
/* : MModule */;
4004 val
* var45
/* : MModule */;
4005 val
* var46
/* : MClassType */;
4006 val
* var47
/* : MClass */;
4007 val
* var49
/* : MClass */;
4008 val
* var50
/* : nullable Object */;
4009 long var51
/* : Int */;
4010 val
* var52
/* : HashMap[MClass, Int] */;
4011 val
* var54
/* : HashMap[MClass, Int] */;
4012 val
* var55
/* : nullable Object */;
4013 long var56
/* : Int */;
4016 { /* Inline model$MClass$mclass_type (var_mclass) on <var_mclass:MClass> */
4017 var3
= var_mclass
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:MClass> */
4018 if (unlikely(var3
== NULL
)) {
4019 if(catchStack
.cursor
>= 0){
4020 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4022 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
4023 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 520);
4031 var4
= nitc__abstract_compiler___MClassType___MType__ctype_extern(var1
);
4033 if (likely(varonce
!=NULL
)) {
4037 var8
= (val
*)(4l<<2|1);
4038 var9
= (val
*)(4l<<2|1);
4039 var10
= (val
*)((long)(0)<<2|3);
4040 var11
= (val
*)((long)(0)<<2|3);
4041 var7
= core__flat___CString___to_s_unsafe(var6
, var8
, var9
, var10
, var11
);
4046 var12
= ((short int(*)(val
* self
, val
* p0
))(var4
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var4
, var5
); /* == on <var4:String>*/
4053 { /* Inline model$MClass$kind (var_mclass) on <var_mclass:MClass> */
4054 var16
= var_mclass
->attrs
[COLOR_nitc__model__MClass___kind
].val
; /* _kind on <var_mclass:MClass> */
4055 if (unlikely(var16
== NULL
)) {
4056 if(catchStack
.cursor
>= 0){
4057 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4059 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
4060 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 472);
4064 RET_LABEL15
:(void)0;
4069 var18
= nitc__model___core__Sys___extern_kind(var17
);
4072 { /* Inline kernel$Object$== (var14,var18) on <var14:MClassKind> */
4075 { /* Inline kernel$Object$is_same_instance (var14,var_other) on <var14:MClassKind> */
4076 var23
= var14
== var_other
;
4079 RET_LABEL22
:(void)0;
4084 RET_LABEL20
:(void)0;
4090 { /* Inline model$MClass$name (var_mclass) on <var_mclass:MClass> */
4091 var26
= var_mclass
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <var_mclass:MClass> */
4092 if (unlikely(var26
== NULL
)) {
4093 if(catchStack
.cursor
>= 0){
4094 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4096 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4097 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 396);
4101 RET_LABEL25
:(void)0;
4104 if (likely(varonce27
!=NULL
)) {
4108 var31
= (val
*)(7l<<2|1);
4109 var32
= (val
*)(7l<<2|1);
4110 var33
= (val
*)((long)(0)<<2|3);
4111 var34
= (val
*)((long)(0)<<2|3);
4112 var30
= core__flat___CString___to_s_unsafe(var29
, var31
, var32
, var33
, var34
);
4117 { /* Inline kernel$Object$!= (var24,var28) on <var24:String> */
4118 var_other37
= var28
;
4120 var38
= ((short int(*)(val
* self
, val
* p0
))(var24
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var24
, var_other37
); /* == on <var24:String>*/
4125 RET_LABEL36
:(void)0;
4134 { /* Inline separate_compiler$SeparateCompiler$box_kinds (self) on <self:SeparateCompiler> */
4135 var42
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___box_kinds
].val
; /* _box_kinds on <self:SeparateCompiler> */
4136 if (unlikely(var42
== NULL
)) {
4137 if(catchStack
.cursor
>= 0){
4138 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4140 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _box_kinds");
4141 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 264);
4145 RET_LABEL41
:(void)0;
4149 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateCompiler> */
4150 var45
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
4151 if (unlikely(var45
== NULL
)) {
4152 if(catchStack
.cursor
>= 0){
4153 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4155 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
4156 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
4160 RET_LABEL44
:(void)0;
4164 var46
= nitc__model___MModule___pointer_type(var43
);
4167 { /* Inline model$MClassType$mclass (var46) on <var46:MClassType> */
4168 var49
= var46
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var46:MClassType> */
4169 if (unlikely(var49
== NULL
)) {
4170 if(catchStack
.cursor
>= 0){
4171 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4173 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4174 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
4178 RET_LABEL48
:(void)0;
4182 var50
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var40
, var47
);
4184 var51
= (long)(var50
)>>2;
4189 { /* Inline separate_compiler$SeparateCompiler$box_kinds (self) on <self:SeparateCompiler> */
4190 var54
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___box_kinds
].val
; /* _box_kinds on <self:SeparateCompiler> */
4191 if (unlikely(var54
== NULL
)) {
4192 if(catchStack
.cursor
>= 0){
4193 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4195 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _box_kinds");
4196 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 264);
4200 RET_LABEL53
:(void)0;
4204 var55
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var52
, var_mclass
);
4206 var56
= (long)(var55
)>>2;
4214 /* method separate_compiler$SeparateCompiler$compile_color_consts for (self: SeparateCompiler, Map[Object, Int]) */
4215 void nitc___nitc__SeparateCompiler___compile_color_consts(val
* self
, val
* p0
) {
4216 val
* var_colors
/* var colors: Map[Object, Int] */;
4217 val
* var
/* : AbstractCompilerVisitor */;
4218 val
* var_v
/* var v: SeparateCompilerVisitor */;
4219 val
* var_
/* var : Map[Object, Int] */;
4220 val
* var1
/* : MapIterator[nullable Object, nullable Object] */;
4221 val
* var_2
/* var : MapIterator[Object, Int] */;
4222 short int var3
/* : Bool */;
4223 val
* var4
/* : nullable Object */;
4224 val
* var_m
/* var m: Object */;
4225 val
* var5
/* : nullable Object */;
4226 long var6
/* : Int */;
4227 long var_c
/* var c: Int */;
4230 var
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__abstract_compiler__AbstractCompiler__new_visitor
]))(self
); /* new_visitor on <self:SeparateCompiler>*/
4235 var1
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__MapRead__iterator
]))(var_
); /* iterator on <var_:Map[Object, Int]>*/
4240 var3
= ((short int(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__MapIterator__is_ok
]))(var_2
); /* is_ok on <var_2:MapIterator[Object, Int]>*/
4247 var4
= ((val
*(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__MapIterator__key
]))(var_2
); /* key on <var_2:MapIterator[Object, Int]>*/
4251 var5
= ((val
*(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__MapIterator__item
]))(var_2
); /* item on <var_2:MapIterator[Object, Int]>*/
4253 var6
= (long)(var5
)>>2;
4256 nitc___nitc__SeparateCompiler___compile_color_const(self
, var_v
, var_m
, var_c
); /* Direct call separate_compiler$SeparateCompiler$compile_color_const on <self:SeparateCompiler>*/
4259 ((void(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__MapIterator__next
]))(var_2
); /* next on <var_2:MapIterator[Object, Int]>*/
4262 BREAK_label
: (void)0;
4264 { /* Inline abstract_collection$MapIterator$finish (var_2) on <var_2:MapIterator[Object, Int]> */
4270 /* method separate_compiler$SeparateCompiler$compile_color_const for (self: SeparateCompiler, SeparateCompilerVisitor, Object, Int) */
4271 void nitc___nitc__SeparateCompiler___compile_color_const(val
* self
, val
* p0
, val
* p1
, long p2
) {
4272 val
* var_v
/* var v: SeparateCompilerVisitor */;
4273 val
* var_m
/* var m: Object */;
4274 long var_color
/* var color: Int */;
4275 val
* var
/* : HashSet[Object] */;
4276 val
* var2
/* : HashSet[Object] */;
4277 short int var3
/* : Bool */;
4278 short int var4
/* : Bool */;
4281 val
* var5
/* : ModelBuilder */;
4282 val
* var7
/* : ModelBuilder */;
4283 val
* var8
/* : ToolContext */;
4284 val
* var10
/* : ToolContext */;
4285 val
* var11
/* : OptionBool */;
4286 val
* var13
/* : OptionBool */;
4287 val
* var14
/* : nullable Object */;
4288 val
* var16
/* : nullable Object */;
4289 short int var17
/* : Bool */;
4290 val
* var18
/* : String */;
4291 val
* var19
/* : NativeArray[String] */;
4292 static val
* varonce
;
4293 static val
* varonce20
;
4294 val
* var21
/* : String */;
4295 char* var22
/* : CString */;
4296 val
* var23
/* : String */;
4297 val
* var24
/* : nullable Int */;
4298 val
* var25
/* : nullable Int */;
4299 val
* var26
/* : nullable Bool */;
4300 val
* var27
/* : nullable Bool */;
4301 static val
* varonce28
;
4302 val
* var29
/* : String */;
4303 char* var30
/* : CString */;
4304 val
* var31
/* : String */;
4305 val
* var32
/* : nullable Int */;
4306 val
* var33
/* : nullable Int */;
4307 val
* var34
/* : nullable Bool */;
4308 val
* var35
/* : nullable Bool */;
4309 val
* var36
/* : String */;
4310 val
* var37
/* : String */;
4311 val
* var38
/* : String */;
4312 short int var39
/* : Bool */;
4313 val
* var40
/* : ModelBuilder */;
4314 val
* var42
/* : ModelBuilder */;
4315 val
* var43
/* : ToolContext */;
4316 val
* var45
/* : ToolContext */;
4317 val
* var46
/* : OptionBool */;
4318 val
* var48
/* : OptionBool */;
4319 val
* var49
/* : nullable Object */;
4320 val
* var51
/* : nullable Object */;
4321 short int var52
/* : Bool */;
4322 short int var53
/* : Bool */;
4323 short int var_
/* var : Bool */;
4324 val
* var54
/* : AbstractCompiler */;
4325 val
* var56
/* : AbstractCompiler */;
4326 val
* var57
/* : Platform */;
4327 val
* var59
/* : Platform */;
4328 short int var60
/* : Bool */;
4329 short int var61
/* : Bool */;
4330 val
* var62
/* : String */;
4331 val
* var64
/* : NativeArray[String] */;
4332 static val
* varonce63
;
4333 static val
* varonce65
;
4334 val
* var66
/* : String */;
4335 char* var67
/* : CString */;
4336 val
* var68
/* : String */;
4337 val
* var69
/* : nullable Int */;
4338 val
* var70
/* : nullable Int */;
4339 val
* var71
/* : nullable Bool */;
4340 val
* var72
/* : nullable Bool */;
4341 static val
* varonce73
;
4342 val
* var74
/* : String */;
4343 char* var75
/* : CString */;
4344 val
* var76
/* : String */;
4345 val
* var77
/* : nullable Int */;
4346 val
* var78
/* : nullable Int */;
4347 val
* var79
/* : nullable Bool */;
4348 val
* var80
/* : nullable Bool */;
4349 val
* var81
/* : String */;
4350 val
* var82
/* : String */;
4351 val
* var84
/* : NativeArray[String] */;
4352 static val
* varonce83
;
4353 static val
* varonce85
;
4354 val
* var86
/* : String */;
4355 char* var87
/* : CString */;
4356 val
* var88
/* : String */;
4357 val
* var89
/* : nullable Int */;
4358 val
* var90
/* : nullable Int */;
4359 val
* var91
/* : nullable Bool */;
4360 val
* var92
/* : nullable Bool */;
4361 static val
* varonce93
;
4362 val
* var94
/* : String */;
4363 char* var95
/* : CString */;
4364 val
* var96
/* : String */;
4365 val
* var97
/* : nullable Int */;
4366 val
* var98
/* : nullable Int */;
4367 val
* var99
/* : nullable Bool */;
4368 val
* var100
/* : nullable Bool */;
4369 static val
* varonce101
;
4370 val
* var102
/* : String */;
4371 char* var103
/* : CString */;
4372 val
* var104
/* : String */;
4373 val
* var105
/* : nullable Int */;
4374 val
* var106
/* : nullable Int */;
4375 val
* var107
/* : nullable Bool */;
4376 val
* var108
/* : nullable Bool */;
4377 val
* var109
/* : String */;
4378 val
* var110
/* : String */;
4379 val
* var111
/* : String */;
4380 val
* var112
/* : String */;
4381 val
* var114
/* : NativeArray[String] */;
4382 static val
* varonce113
;
4383 static val
* varonce115
;
4384 val
* var116
/* : String */;
4385 char* var117
/* : CString */;
4386 val
* var118
/* : String */;
4387 val
* var119
/* : nullable Int */;
4388 val
* var120
/* : nullable Int */;
4389 val
* var121
/* : nullable Bool */;
4390 val
* var122
/* : nullable Bool */;
4391 static val
* varonce123
;
4392 val
* var124
/* : String */;
4393 char* var125
/* : CString */;
4394 val
* var126
/* : String */;
4395 val
* var127
/* : nullable Int */;
4396 val
* var128
/* : nullable Int */;
4397 val
* var129
/* : nullable Bool */;
4398 val
* var130
/* : nullable Bool */;
4399 static val
* varonce131
;
4400 val
* var132
/* : String */;
4401 char* var133
/* : CString */;
4402 val
* var134
/* : String */;
4403 val
* var135
/* : nullable Int */;
4404 val
* var136
/* : nullable Int */;
4405 val
* var137
/* : nullable Bool */;
4406 val
* var138
/* : nullable Bool */;
4407 static val
* varonce139
;
4408 val
* var140
/* : String */;
4409 char* var141
/* : CString */;
4410 val
* var142
/* : String */;
4411 val
* var143
/* : nullable Int */;
4412 val
* var144
/* : nullable Int */;
4413 val
* var145
/* : nullable Bool */;
4414 val
* var146
/* : nullable Bool */;
4415 val
* var147
/* : String */;
4416 val
* var148
/* : String */;
4417 val
* var149
/* : String */;
4418 val
* var150
/* : String */;
4419 long var151
/* : Int */;
4420 long var153
/* : Int */;
4421 short int var154
/* : Bool */;
4422 short int var156
/* : Bool */;
4423 val
* var157
/* : Array[String] */;
4424 val
* var159
/* : Array[String] */;
4425 val
* var161
/* : NativeArray[String] */;
4426 static val
* varonce160
;
4427 static val
* varonce162
;
4428 val
* var163
/* : String */;
4429 char* var164
/* : CString */;
4430 val
* var165
/* : String */;
4431 val
* var166
/* : nullable Int */;
4432 val
* var167
/* : nullable Int */;
4433 val
* var168
/* : nullable Bool */;
4434 val
* var169
/* : nullable Bool */;
4435 static val
* varonce170
;
4436 val
* var171
/* : String */;
4437 char* var172
/* : CString */;
4438 val
* var173
/* : String */;
4439 val
* var174
/* : nullable Int */;
4440 val
* var175
/* : nullable Int */;
4441 val
* var176
/* : nullable Bool */;
4442 val
* var177
/* : nullable Bool */;
4443 static val
* varonce178
;
4444 val
* var179
/* : String */;
4445 char* var180
/* : CString */;
4446 val
* var181
/* : String */;
4447 val
* var182
/* : nullable Int */;
4448 val
* var183
/* : nullable Int */;
4449 val
* var184
/* : nullable Bool */;
4450 val
* var185
/* : nullable Bool */;
4451 val
* var186
/* : String */;
4452 val
* var187
/* : String */;
4453 val
* var188
/* : String */;
4454 val
* var189
/* : HashSet[Object] */;
4455 val
* var191
/* : HashSet[Object] */;
4460 { /* Inline separate_compiler$SeparateCompiler$color_consts_done (self) on <self:SeparateCompiler> */
4461 var2
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___color_consts_done
].val
; /* _color_consts_done on <self:SeparateCompiler> */
4462 if (unlikely(var2
== NULL
)) {
4463 if(catchStack
.cursor
>= 0){
4464 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4466 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _color_consts_done");
4467 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 308);
4475 var3
= core___core__HashSet___core__abstract_collection__Collection__has(var
, var_m
);
4481 /* <var_m:Object> isa MEntity */
4482 cltype
= type_nitc__MEntity
.color
;
4483 idtype
= type_nitc__MEntity
.id
;
4484 if(cltype
>= (((long)var_m
&3)?type_info
[((long)var_m
&3)]:var_m
->type
)->table_size
) {
4487 var4
= (((long)var_m
&3)?type_info
[((long)var_m
&3)]:var_m
->type
)->type_table
[cltype
] == idtype
;
4491 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:SeparateCompiler> */
4492 var7
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
4493 if (unlikely(var7
== NULL
)) {
4494 if(catchStack
.cursor
>= 0){
4495 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4497 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4498 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 552);
4506 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var5) on <var5:ModelBuilder> */
4507 var10
= var5
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var5:ModelBuilder> */
4508 if (unlikely(var10
== NULL
)) {
4509 if(catchStack
.cursor
>= 0){
4510 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4512 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4513 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
4521 { /* Inline separate_compiler$ToolContext$opt_inline_coloring_numbers (var8) on <var8:ToolContext> */
4522 var13
= var8
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_inline_coloring_numbers
].val
; /* _opt_inline_coloring_numbers on <var8:ToolContext> */
4523 if (unlikely(var13
== NULL
)) {
4524 if(catchStack
.cursor
>= 0){
4525 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4527 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_inline_coloring_numbers");
4528 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 46);
4532 RET_LABEL12
:(void)0;
4536 { /* Inline opts$Option$value (var11) on <var11:OptionBool> */
4537 var16
= var11
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var11:OptionBool> */
4539 RET_LABEL15
:(void)0;
4542 var17
= (short int)((long)(var14
)>>2);
4545 var18
= nitc__separate_compiler___MEntity___const_color(var_m
);
4547 if (unlikely(varonce
==NULL
)) {
4548 var19
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
4549 if (likely(varonce20
!=NULL
)) {
4553 var24
= (val
*)(8l<<2|1);
4554 var25
= (val
*)(8l<<2|1);
4555 var26
= (val
*)((long)(0)<<2|3);
4556 var27
= (val
*)((long)(0)<<2|3);
4557 var23
= core__flat___CString___to_s_unsafe(var22
, var24
, var25
, var26
, var27
);
4561 ((struct instance_core__NativeArray
*)var19
)->values
[0]=var21
;
4562 if (likely(varonce28
!=NULL
)) {
4566 var32
= (val
*)(1l<<2|1);
4567 var33
= (val
*)(1l<<2|1);
4568 var34
= (val
*)((long)(0)<<2|3);
4569 var35
= (val
*)((long)(0)<<2|3);
4570 var31
= core__flat___CString___to_s_unsafe(var30
, var32
, var33
, var34
, var35
);
4574 ((struct instance_core__NativeArray
*)var19
)->values
[2]=var29
;
4580 var36
= nitc__separate_compiler___MEntity___const_color(var_m
);
4582 ((struct instance_core__NativeArray
*)var19
)->values
[1]=var36
;
4583 var37
= core__flat___Int___core__abstract_text__Object__to_s(var_color
);
4584 ((struct instance_core__NativeArray
*)var19
)->values
[3]=var37
;
4586 var38
= ((val
*(*)(val
* self
))(var19
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var19
); /* native_to_s on <var19:NativeArray[String]>*/
4590 nitc___nitc__AbstractCompiler___provide_declaration(self
, var18
, var38
); /* Direct call abstract_compiler$AbstractCompiler$provide_declaration on <self:SeparateCompiler>*/
4594 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:SeparateCompiler> */
4595 var42
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
4596 if (unlikely(var42
== NULL
)) {
4597 if(catchStack
.cursor
>= 0){
4598 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4600 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4601 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 552);
4605 RET_LABEL41
:(void)0;
4609 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var40) on <var40:ModelBuilder> */
4610 var45
= var40
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var40:ModelBuilder> */
4611 if (unlikely(var45
== NULL
)) {
4612 if(catchStack
.cursor
>= 0){
4613 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4615 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4616 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
4620 RET_LABEL44
:(void)0;
4624 { /* Inline separate_compiler$ToolContext$opt_colors_are_symbols (var43) on <var43:ToolContext> */
4625 var48
= var43
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_colors_are_symbols
].val
; /* _opt_colors_are_symbols on <var43:ToolContext> */
4626 if (unlikely(var48
== NULL
)) {
4627 if(catchStack
.cursor
>= 0){
4628 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4630 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_colors_are_symbols");
4631 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 35);
4635 RET_LABEL47
:(void)0;
4639 { /* Inline opts$Option$value (var46) on <var46:OptionBool> */
4640 var51
= var46
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var46:OptionBool> */
4642 RET_LABEL50
:(void)0;
4645 var52
= (short int)((long)(var49
)>>2);
4652 { /* Inline abstract_compiler$AbstractCompilerVisitor$compiler (var_v) on <var_v:SeparateCompilerVisitor> */
4653 var56
= var_v
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:SeparateCompilerVisitor> */
4654 if (unlikely(var56
== NULL
)) {
4655 if(catchStack
.cursor
>= 0){
4656 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4658 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4659 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1214);
4663 RET_LABEL55
:(void)0;
4667 { /* Inline abstract_compiler$AbstractCompiler$target_platform (var54) on <var54:AbstractCompiler(SeparateCompiler)> */
4668 var59
= var54
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___target_platform
].val
; /* _target_platform on <var54:AbstractCompiler(SeparateCompiler)> */
4669 if (unlikely(var59
== NULL
)) {
4670 if(catchStack
.cursor
>= 0){
4671 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4673 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target_platform");
4674 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 563);
4678 RET_LABEL58
:(void)0;
4682 var60
= nitc___nitc__Platform___supports_linker_script(var57
);
4689 var62
= nitc__separate_compiler___MEntity___const_color(var_m
);
4691 if (unlikely(varonce63
==NULL
)) {
4692 var64
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4693 if (likely(varonce65
!=NULL
)) {
4696 var67
= "extern const int ";
4697 var69
= (val
*)(17l<<2|1);
4698 var70
= (val
*)(17l<<2|1);
4699 var71
= (val
*)((long)(0)<<2|3);
4700 var72
= (val
*)((long)(0)<<2|3);
4701 var68
= core__flat___CString___to_s_unsafe(var67
, var69
, var70
, var71
, var72
);
4705 ((struct instance_core__NativeArray
*)var64
)->values
[0]=var66
;
4706 if (likely(varonce73
!=NULL
)) {
4710 var77
= (val
*)(1l<<2|1);
4711 var78
= (val
*)(1l<<2|1);
4712 var79
= (val
*)((long)(0)<<2|3);
4713 var80
= (val
*)((long)(0)<<2|3);
4714 var76
= core__flat___CString___to_s_unsafe(var75
, var77
, var78
, var79
, var80
);
4718 ((struct instance_core__NativeArray
*)var64
)->values
[2]=var74
;
4724 var81
= nitc__separate_compiler___MEntity___const_color(var_m
);
4726 ((struct instance_core__NativeArray
*)var64
)->values
[1]=var81
;
4728 var82
= ((val
*(*)(val
* self
))(var64
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var64
); /* native_to_s on <var64:NativeArray[String]>*/
4732 nitc___nitc__AbstractCompiler___provide_declaration(self
, var62
, var82
); /* Direct call abstract_compiler$AbstractCompiler$provide_declaration on <self:SeparateCompiler>*/
4734 if (unlikely(varonce83
==NULL
)) {
4735 var84
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
4736 if (likely(varonce85
!=NULL
)) {
4739 var87
= "const int ";
4740 var89
= (val
*)(10l<<2|1);
4741 var90
= (val
*)(10l<<2|1);
4742 var91
= (val
*)((long)(0)<<2|3);
4743 var92
= (val
*)((long)(0)<<2|3);
4744 var88
= core__flat___CString___to_s_unsafe(var87
, var89
, var90
, var91
, var92
);
4748 ((struct instance_core__NativeArray
*)var84
)->values
[0]=var86
;
4749 if (likely(varonce93
!=NULL
)) {
4753 var97
= (val
*)(3l<<2|1);
4754 var98
= (val
*)(3l<<2|1);
4755 var99
= (val
*)((long)(0)<<2|3);
4756 var100
= (val
*)((long)(0)<<2|3);
4757 var96
= core__flat___CString___to_s_unsafe(var95
, var97
, var98
, var99
, var100
);
4761 ((struct instance_core__NativeArray
*)var84
)->values
[2]=var94
;
4762 if (likely(varonce101
!=NULL
)) {
4763 var102
= varonce101
;
4766 var105
= (val
*)(1l<<2|1);
4767 var106
= (val
*)(1l<<2|1);
4768 var107
= (val
*)((long)(0)<<2|3);
4769 var108
= (val
*)((long)(0)<<2|3);
4770 var104
= core__flat___CString___to_s_unsafe(var103
, var105
, var106
, var107
, var108
);
4772 varonce101
= var102
;
4774 ((struct instance_core__NativeArray
*)var84
)->values
[4]=var102
;
4780 var109
= nitc__separate_compiler___MEntity___const_color(var_m
);
4782 ((struct instance_core__NativeArray
*)var84
)->values
[1]=var109
;
4783 var110
= core__flat___Int___core__abstract_text__Object__to_s(var_color
);
4784 ((struct instance_core__NativeArray
*)var84
)->values
[3]=var110
;
4786 var111
= ((val
*(*)(val
* self
))(var84
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var84
); /* native_to_s on <var84:NativeArray[String]>*/
4790 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var111
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
4794 var112
= nitc__separate_compiler___MEntity___const_color(var_m
);
4796 if (unlikely(varonce113
==NULL
)) {
4797 var114
= NEW_core__NativeArray((int)7l, &type_core__NativeArray__core__String
);
4798 if (likely(varonce115
!=NULL
)) {
4799 var116
= varonce115
;
4801 var117
= "#define ";
4802 var119
= (val
*)(8l<<2|1);
4803 var120
= (val
*)(8l<<2|1);
4804 var121
= (val
*)((long)(0)<<2|3);
4805 var122
= (val
*)((long)(0)<<2|3);
4806 var118
= core__flat___CString___to_s_unsafe(var117
, var119
, var120
, var121
, var122
);
4808 varonce115
= var116
;
4810 ((struct instance_core__NativeArray
*)var114
)->values
[0]=var116
;
4811 if (likely(varonce123
!=NULL
)) {
4812 var124
= varonce123
;
4814 var125
= " ((long)&X";
4815 var127
= (val
*)(10l<<2|1);
4816 var128
= (val
*)(10l<<2|1);
4817 var129
= (val
*)((long)(0)<<2|3);
4818 var130
= (val
*)((long)(0)<<2|3);
4819 var126
= core__flat___CString___to_s_unsafe(var125
, var127
, var128
, var129
, var130
);
4821 varonce123
= var124
;
4823 ((struct instance_core__NativeArray
*)var114
)->values
[2]=var124
;
4824 if (likely(varonce131
!=NULL
)) {
4825 var132
= varonce131
;
4827 var133
= ")\nextern const void X";
4828 var135
= (val
*)(21l<<2|1);
4829 var136
= (val
*)(21l<<2|1);
4830 var137
= (val
*)((long)(0)<<2|3);
4831 var138
= (val
*)((long)(0)<<2|3);
4832 var134
= core__flat___CString___to_s_unsafe(var133
, var135
, var136
, var137
, var138
);
4834 varonce131
= var132
;
4836 ((struct instance_core__NativeArray
*)var114
)->values
[4]=var132
;
4837 if (likely(varonce139
!=NULL
)) {
4838 var140
= varonce139
;
4841 var143
= (val
*)(1l<<2|1);
4842 var144
= (val
*)(1l<<2|1);
4843 var145
= (val
*)((long)(0)<<2|3);
4844 var146
= (val
*)((long)(0)<<2|3);
4845 var142
= core__flat___CString___to_s_unsafe(var141
, var143
, var144
, var145
, var146
);
4847 varonce139
= var140
;
4849 ((struct instance_core__NativeArray
*)var114
)->values
[6]=var140
;
4851 var114
= varonce113
;
4855 var147
= nitc__separate_compiler___MEntity___const_color(var_m
);
4857 ((struct instance_core__NativeArray
*)var114
)->values
[1]=var147
;
4859 var148
= nitc__separate_compiler___MEntity___const_color(var_m
);
4861 ((struct instance_core__NativeArray
*)var114
)->values
[3]=var148
;
4863 var149
= nitc__separate_compiler___MEntity___const_color(var_m
);
4865 ((struct instance_core__NativeArray
*)var114
)->values
[5]=var149
;
4867 var150
= ((val
*(*)(val
* self
))(var114
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var114
); /* native_to_s on <var114:NativeArray[String]>*/
4869 varonce113
= var114
;
4871 nitc___nitc__AbstractCompiler___provide_declaration(self
, var112
, var150
); /* Direct call abstract_compiler$AbstractCompiler$provide_declaration on <self:SeparateCompiler>*/
4874 { /* Inline kernel$Int$unary - (1l) on <1l:Int> */
4878 RET_LABEL152
:(void)0;
4882 { /* Inline kernel$Int$== (var_color,var151) on <var_color:Int> */
4883 var156
= var_color
== var151
;
4886 RET_LABEL155
:(void)0;
4894 { /* Inline abstract_compiler$AbstractCompiler$linker_script (self) on <self:SeparateCompiler> */
4895 var159
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___linker_script
].val
; /* _linker_script on <self:SeparateCompiler> */
4896 if (unlikely(var159
== NULL
)) {
4897 if(catchStack
.cursor
>= 0){
4898 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4900 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _linker_script");
4901 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 602);
4905 RET_LABEL158
:(void)0;
4908 if (unlikely(varonce160
==NULL
)) {
4909 var161
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
4910 if (likely(varonce162
!=NULL
)) {
4911 var163
= varonce162
;
4914 var166
= (val
*)(1l<<2|1);
4915 var167
= (val
*)(1l<<2|1);
4916 var168
= (val
*)((long)(0)<<2|3);
4917 var169
= (val
*)((long)(0)<<2|3);
4918 var165
= core__flat___CString___to_s_unsafe(var164
, var166
, var167
, var168
, var169
);
4920 varonce162
= var163
;
4922 ((struct instance_core__NativeArray
*)var161
)->values
[0]=var163
;
4923 if (likely(varonce170
!=NULL
)) {
4924 var171
= varonce170
;
4927 var174
= (val
*)(3l<<2|1);
4928 var175
= (val
*)(3l<<2|1);
4929 var176
= (val
*)((long)(0)<<2|3);
4930 var177
= (val
*)((long)(0)<<2|3);
4931 var173
= core__flat___CString___to_s_unsafe(var172
, var174
, var175
, var176
, var177
);
4933 varonce170
= var171
;
4935 ((struct instance_core__NativeArray
*)var161
)->values
[2]=var171
;
4936 if (likely(varonce178
!=NULL
)) {
4937 var179
= varonce178
;
4940 var182
= (val
*)(1l<<2|1);
4941 var183
= (val
*)(1l<<2|1);
4942 var184
= (val
*)((long)(0)<<2|3);
4943 var185
= (val
*)((long)(0)<<2|3);
4944 var181
= core__flat___CString___to_s_unsafe(var180
, var182
, var183
, var184
, var185
);
4946 varonce178
= var179
;
4948 ((struct instance_core__NativeArray
*)var161
)->values
[4]=var179
;
4950 var161
= varonce160
;
4954 var186
= nitc__separate_compiler___MEntity___const_color(var_m
);
4956 ((struct instance_core__NativeArray
*)var161
)->values
[1]=var186
;
4957 var187
= core__flat___Int___core__abstract_text__Object__to_s(var_color
);
4958 ((struct instance_core__NativeArray
*)var161
)->values
[3]=var187
;
4960 var188
= ((val
*(*)(val
* self
))(var161
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var161
); /* native_to_s on <var161:NativeArray[String]>*/
4962 varonce160
= var161
;
4964 core___core__Array___core__abstract_collection__SimpleCollection__add(var157
, var188
); /* Direct call array$Array$add on <var157:Array[String]>*/
4969 if(catchStack
.cursor
>= 0){
4970 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4972 PRINT_ERROR("Runtime error: %s", "Aborted");
4973 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 303);
4977 { /* Inline separate_compiler$SeparateCompiler$color_consts_done (self) on <self:SeparateCompiler> */
4978 var191
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___color_consts_done
].val
; /* _color_consts_done on <self:SeparateCompiler> */
4979 if (unlikely(var191
== NULL
)) {
4980 if(catchStack
.cursor
>= 0){
4981 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4983 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _color_consts_done");
4984 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 308);
4988 RET_LABEL190
:(void)0;
4992 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var189
, var_m
); /* Direct call hash_collection$HashSet$add on <var189:HashSet[Object]>*/
4996 /* method separate_compiler$SeparateCompiler$color_consts_done for (self: SeparateCompiler): HashSet[Object] */
4997 val
* nitc___nitc__SeparateCompiler___color_consts_done(val
* self
) {
4998 val
* var
/* : HashSet[Object] */;
4999 val
* var1
/* : HashSet[Object] */;
5000 var1
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___color_consts_done
].val
; /* _color_consts_done on <self:SeparateCompiler> */
5001 if (unlikely(var1
== NULL
)) {
5002 if(catchStack
.cursor
>= 0){
5003 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5005 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _color_consts_done");
5006 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 308);
5013 /* method separate_compiler$SeparateCompiler$class_conflict_graph for (self: SeparateCompiler): POSetConflictGraph[MClass] */
5014 val
* nitc___nitc__SeparateCompiler___class_conflict_graph(val
* self
) {
5015 val
* var
/* : POSetConflictGraph[MClass] */;
5016 val
* var1
/* : POSetConflictGraph[MClass] */;
5017 var1
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___class_conflict_graph
].val
; /* _class_conflict_graph on <self:SeparateCompiler> */
5018 if (unlikely(var1
== NULL
)) {
5019 if(catchStack
.cursor
>= 0){
5020 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5022 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _class_conflict_graph");
5023 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 310);
5030 /* method separate_compiler$SeparateCompiler$class_conflict_graph= for (self: SeparateCompiler, POSetConflictGraph[MClass]) */
5031 void nitc___nitc__SeparateCompiler___class_conflict_graph_61d(val
* self
, val
* p0
) {
5032 self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___class_conflict_graph
].val
= p0
; /* _class_conflict_graph on <self:SeparateCompiler> */
5035 /* method separate_compiler$SeparateCompiler$do_property_coloring for (self: SeparateCompiler) */
5036 void nitc___nitc__SeparateCompiler___do_property_coloring(val
* self
) {
5037 val
* var
/* : nullable RapidTypeAnalysis */;
5038 val
* var2
/* : nullable RapidTypeAnalysis */;
5039 val
* var_rta
/* var rta: nullable RapidTypeAnalysis */;
5040 val
* var3
/* : MModule */;
5041 val
* var5
/* : MModule */;
5042 val
* var6
/* : POSet[MClass] */;
5043 val
* var_mclasses
/* var mclasses: POSet[MClass] */;
5044 val
* var7
/* : POSetConflictGraph[nullable Object] */;
5045 val
* var9
/* : HashMap[MClass, Set[PropertyLayoutElement]] */;
5046 val
* var_mmethods
/* var mmethods: HashMap[MClass, Set[PropertyLayoutElement]] */;
5047 val
* var10
/* : HashMap[MClass, Set[MAttribute]] */;
5048 val
* var_mattributes
/* var mattributes: HashMap[MClass, Set[MAttribute]] */;
5049 val
* var11
/* : Array[PropertyLayoutElement] */;
5050 val
* var_dead_methods
/* var dead_methods: Array[PropertyLayoutElement] */;
5051 val
* var_
/* var : POSet[MClass] */;
5052 val
* var12
/* : Iterator[nullable Object] */;
5053 val
* var_13
/* var : Iterator[MClass] */;
5054 short int var14
/* : Bool */;
5055 val
* var15
/* : nullable Object */;
5056 val
* var_mclass
/* var mclass: MClass */;
5057 val
* var16
/* : HashSet[PropertyLayoutElement] */;
5058 val
* var17
/* : HashSet[MAttribute] */;
5059 short int var18
/* : Bool */;
5060 short int var19
/* : Bool */;
5061 val
* var_other
/* var other: nullable Object */;
5062 short int var21
/* : Bool */;
5063 short int var22
/* : Bool */;
5064 val
* var23
/* : HashSet[MMethod] */;
5065 val
* var25
/* : HashSet[MMethod] */;
5066 val
* var_26
/* var : HashSet[MMethod] */;
5067 val
* var27
/* : Iterator[nullable Object] */;
5068 val
* var_28
/* var : Iterator[MMethod] */;
5069 short int var29
/* : Bool */;
5070 val
* var31
/* : nullable Object */;
5071 val
* var_m
/* var m: MMethod */;
5072 val
* var32
/* : MClassDef */;
5073 val
* var34
/* : MClassDef */;
5074 val
* var35
/* : MClass */;
5075 val
* var37
/* : MClass */;
5076 val
* var38
/* : nullable Object */;
5077 val
* var39
/* : HashSet[MMethodDef] */;
5078 val
* var41
/* : HashSet[MMethodDef] */;
5079 val
* var_42
/* var : HashSet[MMethodDef] */;
5080 val
* var43
/* : Iterator[nullable Object] */;
5081 val
* var_44
/* var : Iterator[MMethodDef] */;
5082 short int var45
/* : Bool */;
5083 val
* var47
/* : nullable Object */;
5084 val
* var_m48
/* var m: MMethodDef */;
5085 val
* var49
/* : MClassDef */;
5086 val
* var51
/* : MClassDef */;
5087 val
* var52
/* : MClass */;
5088 val
* var54
/* : MClass */;
5089 val
* var_mclass55
/* var mclass: MClass */;
5090 val
* var56
/* : nullable Object */;
5091 val
* var57
/* : MModule */;
5092 val
* var59
/* : MModule */;
5093 val
* var60
/* : POSetElement[MModule] */;
5094 val
* var62
/* : POSetElement[MModule] */;
5095 val
* var63
/* : Collection[nullable Object] */;
5096 val
* var_64
/* var : Collection[MModule] */;
5097 val
* var65
/* : Iterator[nullable Object] */;
5098 val
* var_66
/* var : Iterator[MModule] */;
5099 short int var67
/* : Bool */;
5100 val
* var69
/* : nullable Object */;
5101 val
* var_m70
/* var m: MModule */;
5102 val
* var71
/* : Array[MClassDef] */;
5103 val
* var73
/* : Array[MClassDef] */;
5104 val
* var_74
/* var : Array[MClassDef] */;
5105 val
* var75
/* : IndexedIterator[nullable Object] */;
5106 val
* var_76
/* var : IndexedIterator[MClassDef] */;
5107 short int var77
/* : Bool */;
5108 val
* var79
/* : nullable Object */;
5109 val
* var_cd
/* var cd: MClassDef */;
5110 val
* var80
/* : MClass */;
5111 val
* var82
/* : MClass */;
5112 val
* var_mclass83
/* var mclass: MClass */;
5113 val
* var84
/* : Array[MProperty] */;
5114 val
* var86
/* : Array[MProperty] */;
5115 val
* var_87
/* var : Array[MProperty] */;
5116 val
* var88
/* : IndexedIterator[nullable Object] */;
5117 val
* var_89
/* var : IndexedIterator[MProperty] */;
5118 short int var90
/* : Bool */;
5119 val
* var92
/* : nullable Object */;
5120 val
* var_p
/* var p: MProperty */;
5121 short int var93
/* : Bool */;
5124 short int var94
/* : Bool */;
5125 short int var95
/* : Bool */;
5126 val
* var_other97
/* var other: nullable Object */;
5127 short int var98
/* : Bool */;
5128 short int var100
/* : Bool */;
5129 val
* var101
/* : nullable Object */;
5130 val
* var102
/* : HashSet[MMethod] */;
5131 val
* var104
/* : HashSet[MMethod] */;
5132 short int var105
/* : Bool */;
5133 short int var106
/* : Bool */;
5134 short int var107
/* : Bool */;
5137 val
* var110
/* : nullable Object */;
5138 val
* var111
/* : Array[MPropDef] */;
5139 val
* var113
/* : Array[MPropDef] */;
5140 val
* var_114
/* var : Array[MPropDef] */;
5141 val
* var115
/* : IndexedIterator[nullable Object] */;
5142 val
* var_116
/* var : IndexedIterator[MPropDef] */;
5143 short int var117
/* : Bool */;
5144 val
* var119
/* : nullable Object */;
5145 val
* var_mpropdef
/* var mpropdef: MPropDef */;
5146 short int var120
/* : Bool */;
5149 short int var123
/* : Bool */;
5150 short int var125
/* : Bool */;
5151 short int var127
/* : Bool */;
5152 short int var128
/* : Bool */;
5153 short int var129
/* : Bool */;
5154 short int var131
/* : Bool */;
5155 short int var133
/* : Bool */;
5156 val
* var134
/* : nullable Object */;
5157 val
* var135
/* : HashSet[MMethodDef] */;
5158 val
* var137
/* : HashSet[MMethodDef] */;
5159 short int var138
/* : Bool */;
5160 short int var139
/* : Bool */;
5161 val
* var140
/* : POSetGroupColorer[MClass, PropertyLayoutElement] */;
5162 val
* var141
/* : POSetConflictGraph[MClass] */;
5163 val
* var143
/* : POSetConflictGraph[MClass] */;
5164 val
* var_meth_colorer
/* var meth_colorer: POSetGroupColorer[MClass, PropertyLayoutElement] */;
5165 val
* var144
/* : Map[Object, Int] */;
5166 val
* var_method_colors
/* var method_colors: Map[PropertyLayoutElement, Int] */;
5167 val
* var_145
/* var : Array[PropertyLayoutElement] */;
5168 val
* var146
/* : IndexedIterator[nullable Object] */;
5169 val
* var_147
/* var : IndexedIterator[PropertyLayoutElement] */;
5170 short int var148
/* : Bool */;
5171 val
* var150
/* : nullable Object */;
5172 val
* var_mproperty
/* var mproperty: PropertyLayoutElement */;
5173 val
* var151
/* : AbstractCompilerVisitor */;
5174 long var152
/* : Int */;
5175 long var154
/* : Int */;
5176 val
* var155
/* : POSetGroupColorer[MClass, MAttribute] */;
5177 val
* var156
/* : POSetConflictGraph[MClass] */;
5178 val
* var158
/* : POSetConflictGraph[MClass] */;
5179 val
* var_attr_colorer
/* var attr_colorer: POSetGroupColorer[MClass, MAttribute] */;
5180 val
* var159
/* : Map[Object, Int] */;
5181 val
* var_attr_colors
/* var attr_colors: Map[MAttribute, Int] */;
5182 val
* var160
/* : HashMap[MClass, Array[nullable MPropDef]] */;
5183 val
* var162
/* : HashMap[MClass, Array[nullable MProperty]] */;
5184 val
* var_164
/* var : POSet[MClass] */;
5185 val
* var165
/* : Iterator[nullable Object] */;
5186 val
* var_166
/* var : Iterator[MClass] */;
5187 short int var167
/* : Bool */;
5188 val
* var169
/* : nullable Object */;
5189 val
* var_mclass170
/* var mclass: MClass */;
5190 short int var171
/* : Bool */;
5191 short int var172
/* : Bool */;
5192 short int var174
/* : Bool */;
5193 short int var175
/* : Bool */;
5194 short int var_176
/* var : Bool */;
5195 short int var177
/* : Bool */;
5196 val
* var178
/* : MClassKind */;
5197 val
* var180
/* : MClassKind */;
5198 val
* var181
/* : Sys */;
5199 val
* var182
/* : MClassKind */;
5200 short int var183
/* : Bool */;
5201 short int var185
/* : Bool */;
5202 short int var187
/* : Bool */;
5203 short int var_188
/* var : Bool */;
5204 val
* var189
/* : MClassKind */;
5205 val
* var191
/* : MClassKind */;
5206 val
* var192
/* : Sys */;
5207 val
* var193
/* : MClassKind */;
5208 short int var194
/* : Bool */;
5209 short int var196
/* : Bool */;
5210 short int var198
/* : Bool */;
5211 short int var200
/* : Bool */;
5212 short int var201
/* : Bool */;
5213 short int var202
/* : Bool */;
5214 short int var204
/* : Bool */;
5215 short int var205
/* : Bool */;
5216 short int var_206
/* var : Bool */;
5217 val
* var207
/* : HashSet[MClass] */;
5218 val
* var209
/* : HashSet[MClass] */;
5219 short int var210
/* : Bool */;
5220 short int var211
/* : Bool */;
5221 val
* var212
/* : MClassDef */;
5222 val
* var214
/* : MClassDef */;
5223 val
* var215
/* : MClassType */;
5224 val
* var217
/* : MClassType */;
5225 val
* var_mtype
/* var mtype: MClassType */;
5226 val
* var218
/* : Array[nullable Object] */;
5227 val
* var_meth_layout
/* var meth_layout: Array[nullable PropertyLayoutElement] */;
5228 val
* var219
/* : Array[nullable MPropDef] */;
5229 long var220
/* : Int */;
5230 long var222
/* : Int */;
5231 val
* var_meth_table
/* var meth_table: Array[nullable MPropDef] */;
5232 val
* var223
/* : Map[MClass, Array[nullable MPropDef]] */;
5233 val
* var225
/* : Map[MClass, Array[nullable MPropDef]] */;
5234 val
* var_226
/* var : Array[nullable PropertyLayoutElement] */;
5235 val
* var227
/* : IndexedIterator[nullable Object] */;
5236 val
* var_228
/* var : IndexedIterator[nullable PropertyLayoutElement] */;
5237 short int var229
/* : Bool */;
5238 val
* var231
/* : nullable Object */;
5239 val
* var_e
/* var e: nullable PropertyLayoutElement */;
5240 short int var232
/* : Bool */;
5241 short int var233
/* : Bool */;
5242 short int var235
/* : Bool */;
5243 short int var237
/* : Bool */;
5244 short int var238
/* : Bool */;
5247 val
* var241
/* : MModule */;
5248 val
* var243
/* : MModule */;
5249 val
* var244
/* : MPropDef */;
5250 short int var245
/* : Bool */;
5253 val
* var248
/* : MModule */;
5254 val
* var250
/* : MModule */;
5255 val
* var251
/* : MPropDef */;
5256 val
* var252
/* : Map[MClass, Array[nullable MProperty]] */;
5257 val
* var254
/* : Map[MClass, Array[nullable MProperty]] */;
5258 val
* var255
/* : Array[nullable Object] */;
5260 { /* Inline separate_compiler$SeparateCompiler$runtime_type_analysis (self) on <self:SeparateCompiler> */
5261 var2
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <self:SeparateCompiler> */
5268 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateCompiler> */
5269 var5
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
5270 if (unlikely(var5
== NULL
)) {
5271 if(catchStack
.cursor
>= 0){
5272 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5274 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
5275 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
5283 var6
= nitc__model___MModule___flatten_mclass_hierarchy(var3
);
5285 var_mclasses
= var6
;
5287 var7
= nitc__coloring___poset__POSet___to_conflict_graph(var_mclasses
);
5290 { /* Inline separate_compiler$SeparateCompiler$class_conflict_graph= (self,var7) on <self:SeparateCompiler> */
5291 self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___class_conflict_graph
].val
= var7
; /* _class_conflict_graph on <self:SeparateCompiler> */
5295 var9
= NEW_core__HashMap(&type_core__HashMap__nitc__MClass__core__Set__nitc__PropertyLayoutElement
);
5297 core___core__HashMap___core__kernel__Object__init(var9
); /* Direct call hash_collection$HashMap$init on <var9:HashMap[MClass, Set[PropertyLayoutElement]]>*/
5299 var_mmethods
= var9
;
5300 var10
= NEW_core__HashMap(&type_core__HashMap__nitc__MClass__core__Set__nitc__MAttribute
);
5302 core___core__HashMap___core__kernel__Object__init(var10
); /* Direct call hash_collection$HashMap$init on <var10:HashMap[MClass, Set[MAttribute]]>*/
5304 var_mattributes
= var10
;
5305 var11
= NEW_core__Array(&type_core__Array__nitc__PropertyLayoutElement
);
5307 core___core__Array___core__kernel__Object__init(var11
); /* Direct call array$Array$init on <var11:Array[PropertyLayoutElement]>*/
5309 var_dead_methods
= var11
;
5310 var_
= var_mclasses
;
5312 var12
= poset___poset__POSet___core__abstract_collection__Collection__iterator(var_
);
5317 var14
= ((short int(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_13
); /* is_ok on <var_13:Iterator[MClass]>*/
5324 var15
= ((val
*(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_13
); /* item on <var_13:Iterator[MClass]>*/
5327 var16
= NEW_core__HashSet(&type_core__HashSet__nitc__PropertyLayoutElement
);
5329 core___core__HashSet___core__kernel__Object__init(var16
); /* Direct call hash_collection$HashSet$init on <var16:HashSet[PropertyLayoutElement]>*/
5332 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_mmethods
, var_mclass
, var16
); /* Direct call hash_collection$HashMap$[]= on <var_mmethods:HashMap[MClass, Set[PropertyLayoutElement]]>*/
5334 var17
= NEW_core__HashSet(&type_core__HashSet__nitc__MAttribute
);
5336 core___core__HashSet___core__kernel__Object__init(var17
); /* Direct call hash_collection$HashSet$init on <var17:HashSet[MAttribute]>*/
5339 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_mattributes
, var_mclass
, var17
); /* Direct call hash_collection$HashMap$[]= on <var_mattributes:HashMap[MClass, Set[MAttribute]]>*/
5342 ((void(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_13
); /* next on <var_13:Iterator[MClass]>*/
5345 BREAK_label
: (void)0;
5347 ((void(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_13
); /* finish on <var_13:Iterator[MClass]>*/
5349 if (var_rta
== NULL
) {
5350 var18
= 0; /* is null */
5352 var18
= 1; /* arg is null and recv is not */
5355 { /* Inline kernel$Object$!= (var_rta,((val*)NULL)) on <var_rta:nullable RapidTypeAnalysis> */
5356 var_other
= ((val
*)NULL
);
5358 var21
= ((short int(*)(val
* self
, val
* p0
))(var_rta
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_rta
, var_other
); /* == on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)>*/
5363 RET_LABEL20
:(void)0;
5369 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_methods (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
5370 var25
= var_rta
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_methods
].val
; /* _live_methods on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
5371 if (unlikely(var25
== NULL
)) {
5372 if(catchStack
.cursor
>= 0){
5373 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5375 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_methods");
5376 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 82);
5380 RET_LABEL24
:(void)0;
5385 var27
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_26
);
5390 var29
= ((short int(*)(val
* self
))((((long)var_28
&3)?class_info
[((long)var_28
&3)]:var_28
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_28
); /* is_ok on <var_28:Iterator[MMethod]>*/
5397 var31
= ((val
*(*)(val
* self
))((((long)var_28
&3)?class_info
[((long)var_28
&3)]:var_28
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_28
); /* item on <var_28:Iterator[MMethod]>*/
5401 { /* Inline model$MProperty$intro_mclassdef (var_m) on <var_m:MMethod> */
5402 var34
= var_m
->attrs
[COLOR_nitc__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_m:MMethod> */
5403 if (unlikely(var34
== NULL
)) {
5404 if(catchStack
.cursor
>= 0){
5405 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5407 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
5408 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2042);
5412 RET_LABEL33
:(void)0;
5416 { /* Inline model$MClassDef$mclass (var32) on <var32:MClassDef> */
5417 var37
= var32
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <var32:MClassDef> */
5418 if (unlikely(var37
== NULL
)) {
5419 if(catchStack
.cursor
>= 0){
5420 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5422 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5423 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 591);
5427 RET_LABEL36
:(void)0;
5431 var38
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_mmethods
, var35
);
5434 ((void(*)(val
* self
, val
* p0
))((((long)var38
&3)?class_info
[((long)var38
&3)]:var38
->class)->vft
[COLOR_core__abstract_collection__SimpleCollection__add
]))(var38
, var_m
); /* add on <var38:nullable Object(Set[PropertyLayoutElement])>*/
5437 ((void(*)(val
* self
))((((long)var_28
&3)?class_info
[((long)var_28
&3)]:var_28
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_28
); /* next on <var_28:Iterator[MMethod]>*/
5440 BREAK_label30
: (void)0;
5442 ((void(*)(val
* self
))((((long)var_28
&3)?class_info
[((long)var_28
&3)]:var_28
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_28
); /* finish on <var_28:Iterator[MMethod]>*/
5445 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_super_sends (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
5446 var41
= var_rta
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_super_sends
].val
; /* _live_super_sends on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
5447 if (unlikely(var41
== NULL
)) {
5448 if(catchStack
.cursor
>= 0){
5449 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5451 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_super_sends");
5452 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 118);
5456 RET_LABEL40
:(void)0;
5461 var43
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_42
);
5466 var45
= ((short int(*)(val
* self
))((((long)var_44
&3)?class_info
[((long)var_44
&3)]:var_44
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_44
); /* is_ok on <var_44:Iterator[MMethodDef]>*/
5473 var47
= ((val
*(*)(val
* self
))((((long)var_44
&3)?class_info
[((long)var_44
&3)]:var_44
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_44
); /* item on <var_44:Iterator[MMethodDef]>*/
5477 { /* Inline model$MPropDef$mclassdef (var_m48) on <var_m48:MMethodDef> */
5478 var51
= var_m48
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m48:MMethodDef> */
5479 if (unlikely(var51
== NULL
)) {
5480 if(catchStack
.cursor
>= 0){
5481 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5483 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
5484 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2354);
5488 RET_LABEL50
:(void)0;
5492 { /* Inline model$MClassDef$mclass (var49) on <var49:MClassDef> */
5493 var54
= var49
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <var49:MClassDef> */
5494 if (unlikely(var54
== NULL
)) {
5495 if(catchStack
.cursor
>= 0){
5496 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5498 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5499 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 591);
5503 RET_LABEL53
:(void)0;
5506 var_mclass55
= var52
;
5508 var56
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_mmethods
, var_mclass55
);
5511 ((void(*)(val
* self
, val
* p0
))((((long)var56
&3)?class_info
[((long)var56
&3)]:var56
->class)->vft
[COLOR_core__abstract_collection__SimpleCollection__add
]))(var56
, var_m48
); /* add on <var56:nullable Object(Set[PropertyLayoutElement])>*/
5514 ((void(*)(val
* self
))((((long)var_44
&3)?class_info
[((long)var_44
&3)]:var_44
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_44
); /* next on <var_44:Iterator[MMethodDef]>*/
5517 BREAK_label46
: (void)0;
5519 ((void(*)(val
* self
))((((long)var_44
&3)?class_info
[((long)var_44
&3)]:var_44
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_44
); /* finish on <var_44:Iterator[MMethodDef]>*/
5524 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateCompiler> */
5525 var59
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
5526 if (unlikely(var59
== NULL
)) {
5527 if(catchStack
.cursor
>= 0){
5528 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5530 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
5531 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
5535 RET_LABEL58
:(void)0;
5539 { /* Inline mmodule$MModule$in_importation (var57) on <var57:MModule> */
5540 var62
= var57
->attrs
[COLOR_nitc__mmodule__MModule___in_importation
].val
; /* _in_importation on <var57:MModule> */
5541 if (unlikely(var62
== NULL
)) {
5542 if(catchStack
.cursor
>= 0){
5543 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5545 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
5546 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 108);
5550 RET_LABEL61
:(void)0;
5554 var63
= poset___poset__POSetElement___greaters(var60
);
5558 var65
= ((val
*(*)(val
* self
))((((long)var_64
&3)?class_info
[((long)var_64
&3)]:var_64
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_64
); /* iterator on <var_64:Collection[MModule]>*/
5563 var67
= ((short int(*)(val
* self
))((((long)var_66
&3)?class_info
[((long)var_66
&3)]:var_66
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_66
); /* is_ok on <var_66:Iterator[MModule]>*/
5570 var69
= ((val
*(*)(val
* self
))((((long)var_66
&3)?class_info
[((long)var_66
&3)]:var_66
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_66
); /* item on <var_66:Iterator[MModule]>*/
5574 { /* Inline model$MModule$mclassdefs (var_m70) on <var_m70:MModule> */
5575 var73
= var_m70
->attrs
[COLOR_nitc__model__MModule___mclassdefs
].val
; /* _mclassdefs on <var_m70:MModule> */
5576 if (unlikely(var73
== NULL
)) {
5577 if(catchStack
.cursor
>= 0){
5578 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5580 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
5581 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 150);
5585 RET_LABEL72
:(void)0;
5590 var75
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_74
);
5595 var77
= ((short int(*)(val
* self
))((((long)var_76
&3)?class_info
[((long)var_76
&3)]:var_76
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_76
); /* is_ok on <var_76:IndexedIterator[MClassDef]>*/
5602 var79
= ((val
*(*)(val
* self
))((((long)var_76
&3)?class_info
[((long)var_76
&3)]:var_76
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_76
); /* item on <var_76:IndexedIterator[MClassDef]>*/
5606 { /* Inline model$MClassDef$mclass (var_cd) on <var_cd:MClassDef> */
5607 var82
= var_cd
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <var_cd:MClassDef> */
5608 if (unlikely(var82
== NULL
)) {
5609 if(catchStack
.cursor
>= 0){
5610 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5612 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5613 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 591);
5617 RET_LABEL81
:(void)0;
5620 var_mclass83
= var80
;
5622 { /* Inline model$MClassDef$intro_mproperties (var_cd) on <var_cd:MClassDef> */
5623 var86
= var_cd
->attrs
[COLOR_nitc__model__MClassDef___intro_mproperties
].val
; /* _intro_mproperties on <var_cd:MClassDef> */
5624 if (unlikely(var86
== NULL
)) {
5625 if(catchStack
.cursor
>= 0){
5626 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5628 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mproperties");
5629 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 720);
5633 RET_LABEL85
:(void)0;
5638 var88
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_87
);
5643 var90
= ((short int(*)(val
* self
))((((long)var_89
&3)?class_info
[((long)var_89
&3)]:var_89
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_89
); /* is_ok on <var_89:IndexedIterator[MProperty]>*/
5650 var92
= ((val
*(*)(val
* self
))((((long)var_89
&3)?class_info
[((long)var_89
&3)]:var_89
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_89
); /* item on <var_89:IndexedIterator[MProperty]>*/
5653 /* <var_p:MProperty> isa MMethod */
5654 cltype
= type_nitc__MMethod
.color
;
5655 idtype
= type_nitc__MMethod
.id
;
5656 if(cltype
>= var_p
->type
->table_size
) {
5659 var93
= var_p
->type
->type_table
[cltype
] == idtype
;
5662 if (var_rta
== NULL
) {
5663 var94
= 1; /* is null */
5665 var94
= 0; /* arg is null but recv is not */
5668 { /* Inline kernel$Object$== (var_rta,((val*)NULL)) on <var_rta:nullable RapidTypeAnalysis> */
5669 var_other97
= ((val
*)NULL
);
5671 { /* Inline kernel$Object$is_same_instance (var_rta,var_other97) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
5672 var100
= var_rta
== var_other97
;
5675 RET_LABEL99
:(void)0;
5680 RET_LABEL96
:(void)0;
5686 var101
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_mmethods
, var_mclass83
);
5689 ((void(*)(val
* self
, val
* p0
))((((long)var101
&3)?class_info
[((long)var101
&3)]:var101
->class)->vft
[COLOR_core__abstract_collection__SimpleCollection__add
]))(var101
, var_p
); /* add on <var101:nullable Object(Set[PropertyLayoutElement])>*/
5693 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_methods (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
5694 var104
= var_rta
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_methods
].val
; /* _live_methods on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
5695 if (unlikely(var104
== NULL
)) {
5696 if(catchStack
.cursor
>= 0){
5697 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5699 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_methods");
5700 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 82);
5704 RET_LABEL103
:(void)0;
5708 var105
= core___core__HashSet___core__abstract_collection__Collection__has(var102
, var_p
);
5713 core___core__Array___core__abstract_collection__SimpleCollection__add(var_dead_methods
, var_p
); /* Direct call array$Array$add on <var_dead_methods:Array[PropertyLayoutElement]>*/
5719 /* <var_p:MProperty> isa MAttribute */
5720 cltype108
= type_nitc__MAttribute
.color
;
5721 idtype109
= type_nitc__MAttribute
.id
;
5722 if(cltype108
>= var_p
->type
->table_size
) {
5725 var107
= var_p
->type
->type_table
[cltype108
] == idtype109
;
5729 var110
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_mattributes
, var_mclass83
);
5732 ((void(*)(val
* self
, val
* p0
))((((long)var110
&3)?class_info
[((long)var110
&3)]:var110
->class)->vft
[COLOR_core__abstract_collection__SimpleCollection__add
]))(var110
, var_p
); /* add on <var110:nullable Object(Set[MAttribute])>*/
5738 ((void(*)(val
* self
))((((long)var_89
&3)?class_info
[((long)var_89
&3)]:var_89
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_89
); /* next on <var_89:IndexedIterator[MProperty]>*/
5741 BREAK_label91
: (void)0;
5743 ((void(*)(val
* self
))((((long)var_89
&3)?class_info
[((long)var_89
&3)]:var_89
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_89
); /* finish on <var_89:IndexedIterator[MProperty]>*/
5746 { /* Inline model$MClassDef$mpropdefs (var_cd) on <var_cd:MClassDef> */
5747 var113
= var_cd
->attrs
[COLOR_nitc__model__MClassDef___mpropdefs
].val
; /* _mpropdefs on <var_cd:MClassDef> */
5748 if (unlikely(var113
== NULL
)) {
5749 if(catchStack
.cursor
>= 0){
5750 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5752 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
5753 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 723);
5757 RET_LABEL112
:(void)0;
5762 var115
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_114
);
5767 var117
= ((short int(*)(val
* self
))((((long)var_116
&3)?class_info
[((long)var_116
&3)]:var_116
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_116
); /* is_ok on <var_116:IndexedIterator[MPropDef]>*/
5771 goto BREAK_label118
;
5774 var119
= ((val
*(*)(val
* self
))((((long)var_116
&3)?class_info
[((long)var_116
&3)]:var_116
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_116
); /* item on <var_116:IndexedIterator[MPropDef]>*/
5776 var_mpropdef
= var119
;
5777 /* <var_mpropdef:MPropDef> isa MMethodDef */
5778 cltype121
= type_nitc__MMethodDef
.color
;
5779 idtype122
= type_nitc__MMethodDef
.id
;
5780 if(cltype121
>= var_mpropdef
->type
->table_size
) {
5783 var120
= var_mpropdef
->type
->type_table
[cltype121
] == idtype122
;
5787 goto BREAK_label124
;
5791 { /* Inline modelize_property$MPropDef$has_supercall (var_mpropdef) on <var_mpropdef:MPropDef(MMethodDef)> */
5792 var127
= var_mpropdef
->attrs
[COLOR_nitc__modelize_property__MPropDef___has_supercall
].s
; /* _has_supercall on <var_mpropdef:MPropDef(MMethodDef)> */
5794 RET_LABEL126
:(void)0;
5798 if (var_rta
== NULL
) {
5799 var128
= 1; /* is null */
5801 var128
= 0; /* arg is null but recv is not */
5804 { /* Inline kernel$Object$== (var_rta,((val*)NULL)) on <var_rta:nullable RapidTypeAnalysis> */
5805 var_other97
= ((val
*)NULL
);
5807 { /* Inline kernel$Object$is_same_instance (var_rta,var_other97) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
5808 var133
= var_rta
== var_other97
;
5811 RET_LABEL132
:(void)0;
5816 RET_LABEL130
:(void)0;
5822 var134
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_mmethods
, var_mclass83
);
5825 ((void(*)(val
* self
, val
* p0
))((((long)var134
&3)?class_info
[((long)var134
&3)]:var134
->class)->vft
[COLOR_core__abstract_collection__SimpleCollection__add
]))(var134
, var_mpropdef
); /* add on <var134:nullable Object(Set[PropertyLayoutElement])>*/
5829 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_super_sends (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
5830 var137
= var_rta
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_super_sends
].val
; /* _live_super_sends on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
5831 if (unlikely(var137
== NULL
)) {
5832 if(catchStack
.cursor
>= 0){
5833 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5835 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_super_sends");
5836 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 118);
5840 RET_LABEL136
:(void)0;
5844 var138
= core___core__HashSet___core__abstract_collection__Collection__has(var135
, var_mpropdef
);
5849 core___core__Array___core__abstract_collection__SimpleCollection__add(var_dead_methods
, var_mpropdef
); /* Direct call array$Array$add on <var_dead_methods:Array[PropertyLayoutElement]>*/
5856 BREAK_label124
: (void)0;
5858 ((void(*)(val
* self
))((((long)var_116
&3)?class_info
[((long)var_116
&3)]:var_116
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_116
); /* next on <var_116:IndexedIterator[MPropDef]>*/
5861 BREAK_label118
: (void)0;
5863 ((void(*)(val
* self
))((((long)var_116
&3)?class_info
[((long)var_116
&3)]:var_116
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_116
); /* finish on <var_116:IndexedIterator[MPropDef]>*/
5866 ((void(*)(val
* self
))((((long)var_76
&3)?class_info
[((long)var_76
&3)]:var_76
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_76
); /* next on <var_76:IndexedIterator[MClassDef]>*/
5869 BREAK_label78
: (void)0;
5871 ((void(*)(val
* self
))((((long)var_76
&3)?class_info
[((long)var_76
&3)]:var_76
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_76
); /* finish on <var_76:IndexedIterator[MClassDef]>*/
5874 ((void(*)(val
* self
))((((long)var_66
&3)?class_info
[((long)var_66
&3)]:var_66
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_66
); /* next on <var_66:Iterator[MModule]>*/
5877 BREAK_label68
: (void)0;
5879 ((void(*)(val
* self
))((((long)var_66
&3)?class_info
[((long)var_66
&3)]:var_66
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_66
); /* finish on <var_66:Iterator[MModule]>*/
5881 var140
= NEW_nitc__POSetGroupColorer(&type_nitc__POSetGroupColorer__nitc__MClass__nitc__PropertyLayoutElement
);
5883 { /* Inline separate_compiler$SeparateCompiler$class_conflict_graph (self) on <self:SeparateCompiler> */
5884 var143
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___class_conflict_graph
].val
; /* _class_conflict_graph on <self:SeparateCompiler> */
5885 if (unlikely(var143
== NULL
)) {
5886 if(catchStack
.cursor
>= 0){
5887 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5889 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _class_conflict_graph");
5890 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 310);
5894 RET_LABEL142
:(void)0;
5898 ((void(*)(val
* self
, val
* p0
))(var140
->class->vft
[COLOR_nitc__coloring__POSetGroupColorer__graph_61d
]))(var140
, var141
); /* graph= on <var140:POSetGroupColorer[MClass, PropertyLayoutElement]>*/
5901 ((void(*)(val
* self
, val
* p0
))(var140
->class->vft
[COLOR_nitc__coloring__POSetGroupColorer__buckets_61d
]))(var140
, var_mmethods
); /* buckets= on <var140:POSetGroupColorer[MClass, PropertyLayoutElement]>*/
5904 ((void(*)(val
* self
))(var140
->class->vft
[COLOR_core__kernel__Object__init
]))(var140
); /* init on <var140:POSetGroupColorer[MClass, PropertyLayoutElement]>*/
5906 var_meth_colorer
= var140
;
5908 var144
= nitc___nitc__POSetGroupColorer___colors(var_meth_colorer
);
5910 var_method_colors
= var144
;
5912 nitc___nitc__SeparateCompiler___compile_color_consts(self
, var_method_colors
); /* Direct call separate_compiler$SeparateCompiler$compile_color_consts on <self:SeparateCompiler>*/
5914 var_145
= var_dead_methods
;
5916 var146
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_145
);
5921 var148
= ((short int(*)(val
* self
))((((long)var_147
&3)?class_info
[((long)var_147
&3)]:var_147
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_147
); /* is_ok on <var_147:IndexedIterator[PropertyLayoutElement]>*/
5925 goto BREAK_label149
;
5928 var150
= ((val
*(*)(val
* self
))((((long)var_147
&3)?class_info
[((long)var_147
&3)]:var_147
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_147
); /* item on <var_147:IndexedIterator[PropertyLayoutElement]>*/
5930 var_mproperty
= var150
;
5932 var151
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__abstract_compiler__AbstractCompiler__new_visitor
]))(self
); /* new_visitor on <self:SeparateCompiler>*/
5935 { /* Inline kernel$Int$unary - (1l) on <1l:Int> */
5939 RET_LABEL153
:(void)0;
5943 nitc___nitc__SeparateCompiler___compile_color_const(self
, var151
, var_mproperty
, var152
); /* Direct call separate_compiler$SeparateCompiler$compile_color_const on <self:SeparateCompiler>*/
5946 ((void(*)(val
* self
))((((long)var_147
&3)?class_info
[((long)var_147
&3)]:var_147
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_147
); /* next on <var_147:IndexedIterator[PropertyLayoutElement]>*/
5949 BREAK_label149
: (void)0;
5951 ((void(*)(val
* self
))((((long)var_147
&3)?class_info
[((long)var_147
&3)]:var_147
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_147
); /* finish on <var_147:IndexedIterator[PropertyLayoutElement]>*/
5953 var155
= NEW_nitc__POSetGroupColorer(&type_nitc__POSetGroupColorer__nitc__MClass__nitc__MAttribute
);
5955 { /* Inline separate_compiler$SeparateCompiler$class_conflict_graph (self) on <self:SeparateCompiler> */
5956 var158
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___class_conflict_graph
].val
; /* _class_conflict_graph on <self:SeparateCompiler> */
5957 if (unlikely(var158
== NULL
)) {
5958 if(catchStack
.cursor
>= 0){
5959 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5961 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _class_conflict_graph");
5962 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 310);
5966 RET_LABEL157
:(void)0;
5970 ((void(*)(val
* self
, val
* p0
))(var155
->class->vft
[COLOR_nitc__coloring__POSetGroupColorer__graph_61d
]))(var155
, var156
); /* graph= on <var155:POSetGroupColorer[MClass, MAttribute]>*/
5973 ((void(*)(val
* self
, val
* p0
))(var155
->class->vft
[COLOR_nitc__coloring__POSetGroupColorer__buckets_61d
]))(var155
, var_mattributes
); /* buckets= on <var155:POSetGroupColorer[MClass, MAttribute]>*/
5976 ((void(*)(val
* self
))(var155
->class->vft
[COLOR_core__kernel__Object__init
]))(var155
); /* init on <var155:POSetGroupColorer[MClass, MAttribute]>*/
5978 var_attr_colorer
= var155
;
5980 var159
= nitc___nitc__POSetGroupColorer___colors(var_attr_colorer
);
5982 var_attr_colors
= var159
;
5984 nitc___nitc__SeparateCompiler___compile_color_consts(self
, var_attr_colors
); /* Direct call separate_compiler$SeparateCompiler$compile_color_consts on <self:SeparateCompiler>*/
5986 var160
= NEW_core__HashMap(&type_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MPropDef
);
5988 core___core__HashMap___core__kernel__Object__init(var160
); /* Direct call hash_collection$HashMap$init on <var160:HashMap[MClass, Array[nullable MPropDef]]>*/
5991 { /* Inline separate_compiler$SeparateCompiler$method_tables= (self,var160) on <self:SeparateCompiler> */
5992 self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___method_tables
].val
= var160
; /* _method_tables on <self:SeparateCompiler> */
5993 RET_LABEL161
:(void)0;
5996 var162
= NEW_core__HashMap(&type_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MProperty
);
5998 core___core__HashMap___core__kernel__Object__init(var162
); /* Direct call hash_collection$HashMap$init on <var162:HashMap[MClass, Array[nullable MProperty]]>*/
6001 { /* Inline separate_compiler$SeparateCompiler$attr_tables= (self,var162) on <self:SeparateCompiler> */
6002 self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___attr_tables
].val
= var162
; /* _attr_tables on <self:SeparateCompiler> */
6003 RET_LABEL163
:(void)0;
6006 var_164
= var_mclasses
;
6008 var165
= poset___poset__POSet___core__abstract_collection__Collection__iterator(var_164
);
6013 var167
= ((short int(*)(val
* self
))((((long)var_166
&3)?class_info
[((long)var_166
&3)]:var_166
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_166
); /* is_ok on <var_166:Iterator[MClass]>*/
6017 goto BREAK_label168
;
6020 var169
= ((val
*(*)(val
* self
))((((long)var_166
&3)?class_info
[((long)var_166
&3)]:var_166
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_166
); /* item on <var_166:Iterator[MClass]>*/
6022 var_mclass170
= var169
;
6024 { /* Inline model$MClass$has_new_factory (var_mclass170) on <var_mclass170:MClass> */
6025 var174
= var_mclass170
->attrs
[COLOR_nitc__model__MClass___has_new_factory
].s
; /* _has_new_factory on <var_mclass170:MClass> */
6027 RET_LABEL173
:(void)0;
6034 { /* Inline model$MClass$kind (var_mclass170) on <var_mclass170:MClass> */
6035 var180
= var_mclass170
->attrs
[COLOR_nitc__model__MClass___kind
].val
; /* _kind on <var_mclass170:MClass> */
6036 if (unlikely(var180
== NULL
)) {
6037 if(catchStack
.cursor
>= 0){
6038 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6040 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
6041 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 472);
6045 RET_LABEL179
:(void)0;
6050 var182
= nitc__model___core__Sys___abstract_kind(var181
);
6053 { /* Inline kernel$Object$== (var178,var182) on <var178:MClassKind> */
6054 var_other97
= var182
;
6056 { /* Inline kernel$Object$is_same_instance (var178,var_other97) on <var178:MClassKind> */
6057 var187
= var178
== var_other97
;
6060 RET_LABEL186
:(void)0;
6065 RET_LABEL184
:(void)0;
6073 { /* Inline model$MClass$kind (var_mclass170) on <var_mclass170:MClass> */
6074 var191
= var_mclass170
->attrs
[COLOR_nitc__model__MClass___kind
].val
; /* _kind on <var_mclass170:MClass> */
6075 if (unlikely(var191
== NULL
)) {
6076 if(catchStack
.cursor
>= 0){
6077 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6079 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
6080 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 472);
6084 RET_LABEL190
:(void)0;
6089 var193
= nitc__model___core__Sys___interface_kind(var192
);
6092 { /* Inline kernel$Object$== (var189,var193) on <var189:MClassKind> */
6093 var_other97
= var193
;
6095 { /* Inline kernel$Object$is_same_instance (var189,var_other97) on <var189:MClassKind> */
6096 var198
= var189
== var_other97
;
6099 RET_LABEL197
:(void)0;
6104 RET_LABEL195
:(void)0;
6114 goto BREAK_label199
;
6117 if (var_rta
== NULL
) {
6118 var201
= 0; /* is null */
6120 var201
= 1; /* arg is null and recv is not */
6123 { /* Inline kernel$Object$!= (var_rta,((val*)NULL)) on <var_rta:nullable RapidTypeAnalysis> */
6124 var_other
= ((val
*)NULL
);
6126 var204
= ((short int(*)(val
* self
, val
* p0
))(var_rta
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_rta
, var_other
); /* == on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)>*/
6131 RET_LABEL203
:(void)0;
6138 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_classes (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
6139 var209
= var_rta
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_classes
].val
; /* _live_classes on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
6140 if (unlikely(var209
== NULL
)) {
6141 if(catchStack
.cursor
>= 0){
6142 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6144 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_classes");
6145 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 69);
6149 RET_LABEL208
:(void)0;
6153 var210
= core___core__HashSet___core__abstract_collection__Collection__has(var207
, var_mclass170
);
6161 goto BREAK_label199
;
6165 { /* Inline model$MClass$intro (var_mclass170) on <var_mclass170:MClass> */
6166 var214
= var_mclass170
->attrs
[COLOR_nitc__model__MClass___intro
].val
; /* _intro on <var_mclass170:MClass> */
6167 if (unlikely(var214
== NULL
)) {
6168 if(catchStack
.cursor
>= 0){
6169 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6171 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
6172 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 496);
6176 RET_LABEL213
:(void)0;
6180 { /* Inline model$MClassDef$bound_mtype (var212) on <var212:MClassDef> */
6181 var217
= var212
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var212:MClassDef> */
6182 if (unlikely(var217
== NULL
)) {
6183 if(catchStack
.cursor
>= 0){
6184 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6186 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
6187 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 594);
6191 RET_LABEL216
:(void)0;
6196 var218
= nitc___nitc__POSetGroupColorer___build_layout(var_meth_colorer
, var_mclass170
);
6198 var_meth_layout
= var218
;
6199 var219
= NEW_core__Array(&type_core__Array__nullable__nitc__MPropDef
);
6201 { /* Inline array$AbstractArrayRead$length (var_meth_layout) on <var_meth_layout:Array[nullable PropertyLayoutElement]> */
6202 var222
= var_meth_layout
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_meth_layout:Array[nullable PropertyLayoutElement]> */
6204 RET_LABEL221
:(void)0;
6208 core___core__Array___with_capacity(var219
, var220
); /* Direct call array$Array$with_capacity on <var219:Array[nullable MPropDef]>*/
6210 var_meth_table
= var219
;
6212 { /* Inline separate_compiler$SeparateCompiler$method_tables (self) on <self:SeparateCompiler> */
6213 var225
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___method_tables
].val
; /* _method_tables on <self:SeparateCompiler> */
6214 if (unlikely(var225
== NULL
)) {
6215 if(catchStack
.cursor
>= 0){
6216 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6218 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _method_tables");
6219 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 1073);
6223 RET_LABEL224
:(void)0;
6227 ((void(*)(val
* self
, val
* p0
, val
* p1
))((((long)var223
&3)?class_info
[((long)var223
&3)]:var223
->class)->vft
[COLOR_core__abstract_collection__Map___91d_93d_61d
]))(var223
, var_mclass170
, var_meth_table
); /* []= on <var223:Map[MClass, Array[nullable MPropDef]]>*/
6229 var_226
= var_meth_layout
;
6231 var227
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_226
);
6236 var229
= ((short int(*)(val
* self
))((((long)var_228
&3)?class_info
[((long)var_228
&3)]:var_228
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_228
); /* is_ok on <var_228:IndexedIterator[nullable PropertyLayoutElement]>*/
6240 goto BREAK_label230
;
6243 var231
= ((val
*(*)(val
* self
))((((long)var_228
&3)?class_info
[((long)var_228
&3)]:var_228
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_228
); /* item on <var_228:IndexedIterator[nullable PropertyLayoutElement]>*/
6246 if (var_e
== NULL
) {
6247 var232
= 1; /* is null */
6249 var232
= 0; /* arg is null but recv is not */
6252 { /* Inline kernel$Object$== (var_e,((val*)NULL)) on <var_e:nullable PropertyLayoutElement> */
6253 var_other97
= ((val
*)NULL
);
6255 { /* Inline kernel$Object$is_same_instance (var_e,var_other97) on <var_e:nullable PropertyLayoutElement(PropertyLayoutElement)> */
6256 var237
= var_e
== var_other97
|| (var_other97
!= NULL
&& (!((long)var_e
&3)) && (!((long)var_other97
&3)) && var_e
->class == var_other97
->class && ((var_e
->class->box_kind
== 3 && ((struct instance_core__Byte
*)var_e
)->value
== ((struct instance_core__Byte
*)var_other97
)->value
) || (var_e
->class->box_kind
== 5 && ((struct instance_core__Float
*)var_e
)->value
== ((struct instance_core__Float
*)var_other97
)->value
) || (var_e
->class->box_kind
== 6 && ((struct instance_core__CString
*)var_e
)->value
== ((struct instance_core__CString
*)var_other97
)->value
) || (var_e
->class->box_kind
== 7 && ((struct instance_core__Pointer
*)var_e
)->value
== ((struct instance_core__Pointer
*)var_other97
)->value
) || (var_e
->class->box_kind
== 8 && ((struct instance_core__Int8
*)var_e
)->value
== ((struct instance_core__Int8
*)var_other97
)->value
) || (var_e
->class->box_kind
== 9 && ((struct instance_core__Int16
*)var_e
)->value
== ((struct instance_core__Int16
*)var_other97
)->value
) || (var_e
->class->box_kind
== 10 && ((struct instance_core__UInt16
*)var_e
)->value
== ((struct instance_core__UInt16
*)var_other97
)->value
) || (var_e
->class->box_kind
== 11 && ((struct instance_core__Int32
*)var_e
)->value
== ((struct instance_core__Int32
*)var_other97
)->value
) || (var_e
->class->box_kind
== 12 && ((struct instance_core__UInt32
*)var_e
)->value
== ((struct instance_core__UInt32
*)var_other97
)->value
)));
6259 RET_LABEL236
:(void)0;
6264 RET_LABEL234
:(void)0;
6270 core___core__Array___core__abstract_collection__SimpleCollection__add(var_meth_table
, ((val
*)NULL
)); /* Direct call array$Array$add on <var_meth_table:Array[nullable MPropDef]>*/
6273 /* <var_e:nullable PropertyLayoutElement(PropertyLayoutElement)> isa MMethod */
6274 cltype239
= type_nitc__MMethod
.color
;
6275 idtype240
= type_nitc__MMethod
.id
;
6276 if(cltype239
>= (((long)var_e
&3)?type_info
[((long)var_e
&3)]:var_e
->type
)->table_size
) {
6279 var238
= (((long)var_e
&3)?type_info
[((long)var_e
&3)]:var_e
->type
)->type_table
[cltype239
] == idtype240
;
6283 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateCompiler> */
6284 var243
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
6285 if (unlikely(var243
== NULL
)) {
6286 if(catchStack
.cursor
>= 0){
6287 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6289 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6290 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
6294 RET_LABEL242
:(void)0;
6298 var244
= nitc___nitc__MProperty___lookup_first_definition(var_e
, var241
, var_mtype
);
6301 core___core__Array___core__abstract_collection__SimpleCollection__add(var_meth_table
, var244
); /* Direct call array$Array$add on <var_meth_table:Array[nullable MPropDef]>*/
6304 /* <var_e:nullable PropertyLayoutElement(PropertyLayoutElement)> isa MMethodDef */
6305 cltype246
= type_nitc__MMethodDef
.color
;
6306 idtype247
= type_nitc__MMethodDef
.id
;
6307 if(cltype246
>= (((long)var_e
&3)?type_info
[((long)var_e
&3)]:var_e
->type
)->table_size
) {
6310 var245
= (((long)var_e
&3)?type_info
[((long)var_e
&3)]:var_e
->type
)->type_table
[cltype246
] == idtype247
;
6314 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateCompiler> */
6315 var250
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
6316 if (unlikely(var250
== NULL
)) {
6317 if(catchStack
.cursor
>= 0){
6318 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6320 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6321 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
6325 RET_LABEL249
:(void)0;
6329 var251
= nitc___nitc__MPropDef___lookup_next_definition(var_e
, var248
, var_mtype
);
6332 core___core__Array___core__abstract_collection__SimpleCollection__add(var_meth_table
, var251
); /* Direct call array$Array$add on <var_meth_table:Array[nullable MPropDef]>*/
6335 if(catchStack
.cursor
>= 0){
6336 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6338 PRINT_ERROR("Runtime error: %s", "Aborted");
6339 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 409);
6345 ((void(*)(val
* self
))((((long)var_228
&3)?class_info
[((long)var_228
&3)]:var_228
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_228
); /* next on <var_228:IndexedIterator[nullable PropertyLayoutElement]>*/
6348 BREAK_label230
: (void)0;
6350 ((void(*)(val
* self
))((((long)var_228
&3)?class_info
[((long)var_228
&3)]:var_228
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_228
); /* finish on <var_228:IndexedIterator[nullable PropertyLayoutElement]>*/
6353 { /* Inline separate_compiler$SeparateCompiler$attr_tables (self) on <self:SeparateCompiler> */
6354 var254
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___attr_tables
].val
; /* _attr_tables on <self:SeparateCompiler> */
6355 if (unlikely(var254
== NULL
)) {
6356 if(catchStack
.cursor
>= 0){
6357 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6359 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _attr_tables");
6360 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 1074);
6364 RET_LABEL253
:(void)0;
6368 var255
= nitc___nitc__POSetGroupColorer___build_layout(var_attr_colorer
, var_mclass170
);
6371 ((void(*)(val
* self
, val
* p0
, val
* p1
))((((long)var252
&3)?class_info
[((long)var252
&3)]:var252
->class)->vft
[COLOR_core__abstract_collection__Map___91d_93d_61d
]))(var252
, var_mclass170
, var255
); /* []= on <var252:Map[MClass, Array[nullable MProperty]]>*/
6373 BREAK_label199
: (void)0;
6375 ((void(*)(val
* self
))((((long)var_166
&3)?class_info
[((long)var_166
&3)]:var_166
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_166
); /* next on <var_166:Iterator[MClass]>*/
6378 BREAK_label168
: (void)0;
6380 ((void(*)(val
* self
))((((long)var_166
&3)?class_info
[((long)var_166
&3)]:var_166
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_166
); /* finish on <var_166:Iterator[MClass]>*/
6384 /* method separate_compiler$SeparateCompiler$do_type_coloring for (self: SeparateCompiler): Collection[MType] */
6385 val
* nitc___nitc__SeparateCompiler___do_type_coloring(val
* self
) {
6386 val
* var
/* : Collection[MType] */;
6387 val
* var1
/* : nullable RapidTypeAnalysis */;
6388 val
* var3
/* : nullable RapidTypeAnalysis */;
6389 val
* var4
/* : HashSet[MClassType] */;
6390 val
* var6
/* : HashSet[MClassType] */;
6391 val
* var_live_types
/* var live_types: HashSet[MClassType] */;
6392 val
* var7
/* : nullable RapidTypeAnalysis */;
6393 val
* var9
/* : nullable RapidTypeAnalysis */;
6394 val
* var10
/* : HashSet[MType] */;
6395 val
* var12
/* : HashSet[MType] */;
6396 val
* var_live_cast_types
/* var live_cast_types: HashSet[MType] */;
6397 val
* var13
/* : HashSet[MType] */;
6398 val
* var_res
/* var res: HashSet[MType] */;
6399 val
* var14
/* : ModelBuilder */;
6400 val
* var16
/* : ModelBuilder */;
6401 val
* var17
/* : ToolContext */;
6402 val
* var19
/* : ToolContext */;
6403 val
* var20
/* : OptionBool */;
6404 val
* var22
/* : OptionBool */;
6405 val
* var23
/* : nullable Object */;
6406 val
* var25
/* : nullable Object */;
6407 short int var26
/* : Bool */;
6408 val
* var27
/* : POSet[MType] */;
6409 val
* var_poset
/* var poset: POSet[MType] */;
6410 val
* var28
/* : POSetColorer[MType] */;
6411 val
* var_colorer
/* var colorer: POSetColorer[MType] */;
6412 val
* var30
/* : Map[Object, Int] */;
6413 val
* var32
/* : Map[Object, Int] */;
6414 val
* var34
/* : Map[MType, Array[nullable MType]] */;
6415 val
* var36
/* : HashMap[MType, Int] */;
6416 val
* var_
/* var : HashSet[MType] */;
6417 val
* var38
/* : Iterator[nullable Object] */;
6418 val
* var_39
/* var : Iterator[MType] */;
6419 short int var40
/* : Bool */;
6420 val
* var41
/* : nullable Object */;
6421 val
* var_x
/* var x: MType */;
6422 val
* var42
/* : Map[MType, Int] */;
6423 val
* var44
/* : Map[MType, Int] */;
6424 val
* var45
/* : Map[MType, Int] */;
6425 val
* var47
/* : Map[MType, Int] */;
6426 long var48
/* : Int */;
6427 long var49
/* : Int */;
6428 short int var51
/* : Bool */;
6431 const char* var_class_name
;
6432 long var52
/* : Int */;
6433 val
* var53
/* : nullable Object */;
6435 { /* Inline separate_compiler$SeparateCompiler$runtime_type_analysis (self) on <self:SeparateCompiler> */
6436 var3
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <self:SeparateCompiler> */
6442 if(catchStack
.cursor
>= 0){
6443 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6445 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6446 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 423);
6449 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_types (var1) on <var1:nullable RapidTypeAnalysis> */
6450 if (unlikely(var1
== NULL
)) {
6451 if(catchStack
.cursor
>= 0){
6452 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6454 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6455 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 60);
6458 var6
= var1
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_types
].val
; /* _live_types on <var1:nullable RapidTypeAnalysis> */
6459 if (unlikely(var6
== NULL
)) {
6460 if(catchStack
.cursor
>= 0){
6461 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6463 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
6464 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 60);
6471 var_live_types
= var4
;
6473 { /* Inline separate_compiler$SeparateCompiler$runtime_type_analysis (self) on <self:SeparateCompiler> */
6474 var9
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <self:SeparateCompiler> */
6480 if(catchStack
.cursor
>= 0){
6481 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6483 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6484 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 424);
6487 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_cast_types (var7) on <var7:nullable RapidTypeAnalysis> */
6488 if (unlikely(var7
== NULL
)) {
6489 if(catchStack
.cursor
>= 0){
6490 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6492 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6493 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 72);
6496 var12
= var7
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_cast_types
].val
; /* _live_cast_types on <var7:nullable RapidTypeAnalysis> */
6497 if (unlikely(var12
== NULL
)) {
6498 if(catchStack
.cursor
>= 0){
6499 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6501 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_cast_types");
6502 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 72);
6506 RET_LABEL11
:(void)0;
6509 var_live_cast_types
= var10
;
6510 var13
= NEW_core__HashSet(&type_core__HashSet__nitc__MType
);
6512 core___core__HashSet___core__kernel__Object__init(var13
); /* Direct call hash_collection$HashSet$init on <var13:HashSet[MType]>*/
6516 core___core__SimpleCollection___add_all(var_res
, var_live_types
); /* Direct call abstract_collection$SimpleCollection$add_all on <var_res:HashSet[MType]>*/
6519 core___core__SimpleCollection___add_all(var_res
, var_live_cast_types
); /* Direct call abstract_collection$SimpleCollection$add_all on <var_res:HashSet[MType]>*/
6522 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:SeparateCompiler> */
6523 var16
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6524 if (unlikely(var16
== NULL
)) {
6525 if(catchStack
.cursor
>= 0){
6526 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6528 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6529 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 552);
6533 RET_LABEL15
:(void)0;
6537 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var14) on <var14:ModelBuilder> */
6538 var19
= var14
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var14:ModelBuilder> */
6539 if (unlikely(var19
== NULL
)) {
6540 if(catchStack
.cursor
>= 0){
6541 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6543 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6544 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
6548 RET_LABEL18
:(void)0;
6552 { /* Inline separate_compiler$ToolContext$opt_type_poset (var17) on <var17:ToolContext> */
6553 var22
= var17
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_type_poset
].val
; /* _opt_type_poset on <var17:ToolContext> */
6554 if (unlikely(var22
== NULL
)) {
6555 if(catchStack
.cursor
>= 0){
6556 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6558 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_type_poset");
6559 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 62);
6563 RET_LABEL21
:(void)0;
6567 { /* Inline opts$Option$value (var20) on <var20:OptionBool> */
6568 var25
= var20
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var20:OptionBool> */
6570 RET_LABEL24
:(void)0;
6573 var26
= (short int)((long)(var23
)>>2);
6576 var27
= nitc___nitc__SeparateCompiler___poset_from_mtypes(self
, var_live_types
, var_live_cast_types
);
6579 var28
= NEW_nitc__POSetColorer(&type_nitc__POSetColorer__nitc__MType
);
6581 { /* Inline kernel$Object$init (var28) on <var28:POSetColorer[MType]> */
6582 RET_LABEL29
:(void)0;
6585 var_colorer
= var28
;
6587 nitc___nitc__POSetColorer___colorize(var_colorer
, var_poset
); /* Direct call coloring$POSetColorer$colorize on <var_colorer:POSetColorer[MType]>*/
6590 var30
= nitc___nitc__POSetColorer___ids(var_colorer
);
6593 { /* Inline separate_compiler$SeparateCompiler$type_ids= (self,var30) on <self:SeparateCompiler> */
6594 self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___type_ids
].val
= var30
; /* _type_ids on <self:SeparateCompiler> */
6595 RET_LABEL31
:(void)0;
6599 var32
= nitc___nitc__POSetColorer___colors(var_colorer
);
6602 { /* Inline separate_compiler$SeparateCompiler$type_colors= (self,var32) on <self:SeparateCompiler> */
6603 self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___type_colors
].val
= var32
; /* _type_colors on <self:SeparateCompiler> */
6604 RET_LABEL33
:(void)0;
6608 var34
= nitc___nitc__SeparateCompiler___build_type_tables(self
, var_poset
);
6611 { /* Inline separate_compiler$SeparateCompiler$type_tables= (self,var34) on <self:SeparateCompiler> */
6612 self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___type_tables
].val
= var34
; /* _type_tables on <self:SeparateCompiler> */
6613 RET_LABEL35
:(void)0;
6618 nitc___nitc__SeparateCompiler___compute_type_test_layouts(self
, var_live_types
, var_live_cast_types
); /* Direct call separate_compiler$SeparateCompiler$compute_type_test_layouts on <self:SeparateCompiler>*/
6620 var36
= NEW_core__HashMap(&type_core__HashMap__nitc__MType__core__Int
);
6622 core___core__HashMap___core__kernel__Object__init(var36
); /* Direct call hash_collection$HashMap$init on <var36:HashMap[MType, Int]>*/
6625 { /* Inline separate_compiler$SeparateCompiler$type_ids= (self,var36) on <self:SeparateCompiler> */
6626 self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___type_ids
].val
= var36
; /* _type_ids on <self:SeparateCompiler> */
6627 RET_LABEL37
:(void)0;
6632 var38
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_
);
6637 var40
= ((short int(*)(val
* self
))((((long)var_39
&3)?class_info
[((long)var_39
&3)]:var_39
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_39
); /* is_ok on <var_39:Iterator[MType]>*/
6644 var41
= ((val
*(*)(val
* self
))((((long)var_39
&3)?class_info
[((long)var_39
&3)]:var_39
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_39
); /* item on <var_39:Iterator[MType]>*/
6648 { /* Inline separate_compiler$SeparateCompiler$type_ids (self) on <self:SeparateCompiler> */
6649 var44
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___type_ids
].val
; /* _type_ids on <self:SeparateCompiler> */
6650 if (unlikely(var44
== NULL
)) {
6651 if(catchStack
.cursor
>= 0){
6652 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6654 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_ids");
6655 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 149);
6659 RET_LABEL43
:(void)0;
6663 { /* Inline separate_compiler$SeparateCompiler$type_ids (self) on <self:SeparateCompiler> */
6664 var47
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___type_ids
].val
; /* _type_ids on <self:SeparateCompiler> */
6665 if (unlikely(var47
== NULL
)) {
6666 if(catchStack
.cursor
>= 0){
6667 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6669 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_ids");
6670 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 149);
6674 RET_LABEL46
:(void)0;
6678 var48
= ((long(*)(val
* self
))((((long)var45
&3)?class_info
[((long)var45
&3)]:var45
->class)->vft
[COLOR_core__abstract_collection__MapRead__length
]))(var45
); /* length on <var45:Map[MType, Int]>*/
6681 { /* Inline kernel$Int$+ (var48,1l) on <var48:Int> */
6682 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
6683 /* <1l:Int> isa OTHER */
6684 var51
= 1; /* easy <1l:Int> isa OTHER*/
6685 if (unlikely(!var51
)) {
6686 var_class_name
= type_core__Int
.name
;
6687 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6688 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
6694 RET_LABEL50
:(void)0;
6698 var53
= (val
*)(var49
<<2|1);
6699 ((void(*)(val
* self
, val
* p0
, val
* p1
))((((long)var42
&3)?class_info
[((long)var42
&3)]:var42
->class)->vft
[COLOR_core__abstract_collection__Map___91d_93d_61d
]))(var42
, var_x
, var53
); /* []= on <var42:Map[MType, Int]>*/
6702 ((void(*)(val
* self
))((((long)var_39
&3)?class_info
[((long)var_39
&3)]:var_39
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_39
); /* next on <var_39:Iterator[MType]>*/
6705 BREAK_label
: (void)0;
6707 ((void(*)(val
* self
))((((long)var_39
&3)?class_info
[((long)var_39
&3)]:var_39
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_39
); /* finish on <var_39:Iterator[MType]>*/
6711 nitc___nitc__SeparateCompiler___compute_resolution_tables(self
, var_live_types
); /* Direct call separate_compiler$SeparateCompiler$compute_resolution_tables on <self:SeparateCompiler>*/
6718 /* method separate_compiler$SeparateCompiler$poset_from_mtypes for (self: SeparateCompiler, Set[MType], Set[MType]): POSet[MType] */
6719 val
* nitc___nitc__SeparateCompiler___poset_from_mtypes(val
* self
, val
* p0
, val
* p1
) {
6720 val
* var
/* : POSet[MType] */;
6721 val
* var_mtypes
/* var mtypes: Set[MType] */;
6722 val
* var_cast_types
/* var cast_types: Set[MType] */;
6723 val
* var1
/* : POSet[MType] */;
6724 val
* var_poset
/* var poset: POSet[MType] */;
6725 val
* var3
/* : MultiHashMap[MClass, MType] */;
6726 val
* var_mtypes_by_class
/* var mtypes_by_class: MultiHashMap[MClass, MType] */;
6727 val
* var_
/* var : Set[MType] */;
6728 val
* var4
/* : Iterator[nullable Object] */;
6729 val
* var_5
/* var : Iterator[MType] */;
6730 short int var6
/* : Bool */;
6731 val
* var7
/* : nullable Object */;
6732 val
* var_e
/* var e: MType */;
6733 val
* var8
/* : MType */;
6734 short int var9
/* : Bool */;
6737 const char* var_class_name
;
6738 val
* var10
/* : MClass */;
6739 val
* var12
/* : MClass */;
6740 val
* var_c
/* var c: MClass */;
6741 val
* var13
/* : nullable Object */;
6742 val
* var14
/* : POSetElement[nullable Object] */;
6743 val
* var15
/* : MultiHashMap[MClass, MType] */;
6744 val
* var_casttypes_by_class
/* var casttypes_by_class: MultiHashMap[MClass, MType] */;
6745 val
* var_16
/* var : Set[MType] */;
6746 val
* var17
/* : Iterator[nullable Object] */;
6747 val
* var_18
/* var : Iterator[MType] */;
6748 short int var19
/* : Bool */;
6749 val
* var21
/* : nullable Object */;
6750 val
* var_e22
/* var e: MType */;
6751 val
* var23
/* : MType */;
6752 short int var24
/* : Bool */;
6755 const char* var_class_name27
;
6756 val
* var28
/* : MClass */;
6757 val
* var30
/* : MClass */;
6758 val
* var_c31
/* var c: MClass */;
6759 val
* var32
/* : nullable Object */;
6760 val
* var33
/* : POSetElement[nullable Object] */;
6761 val
* var_34
/* var : MultiHashMap[MClass, MType] */;
6762 val
* var35
/* : MapIterator[nullable Object, nullable Object] */;
6763 val
* var_36
/* var : MapIterator[MClass, Array[MType]] */;
6764 short int var37
/* : Bool */;
6765 val
* var39
/* : nullable Object */;
6766 val
* var_c1
/* var c1: MClass */;
6767 val
* var40
/* : nullable Object */;
6768 val
* var_ts1
/* var ts1: Array[MType] */;
6769 val
* var41
/* : MModule */;
6770 val
* var43
/* : MModule */;
6771 val
* var44
/* : POSetElement[MClass] */;
6772 val
* var45
/* : Collection[nullable Object] */;
6773 val
* var_46
/* var : Collection[MClass] */;
6774 val
* var47
/* : Iterator[nullable Object] */;
6775 val
* var_48
/* var : Iterator[MClass] */;
6776 short int var49
/* : Bool */;
6777 val
* var51
/* : nullable Object */;
6778 val
* var_c2
/* var c2: MClass */;
6779 val
* var52
/* : nullable Object */;
6780 val
* var_ts2
/* var ts2: Array[MType] */;
6781 val
* var_53
/* var : Array[MType] */;
6782 val
* var54
/* : IndexedIterator[nullable Object] */;
6783 val
* var_55
/* var : IndexedIterator[MType] */;
6784 short int var56
/* : Bool */;
6785 val
* var58
/* : nullable Object */;
6786 val
* var_e59
/* var e: MType */;
6787 val
* var_60
/* var : Array[MType] */;
6788 val
* var61
/* : IndexedIterator[nullable Object] */;
6789 val
* var_62
/* var : IndexedIterator[MType] */;
6790 short int var63
/* : Bool */;
6791 val
* var65
/* : nullable Object */;
6792 val
* var_o
/* var o: MType */;
6793 short int var66
/* : Bool */;
6794 val
* var_other
/* var other: nullable Object */;
6795 short int var68
/* : Bool */;
6796 short int var70
/* : Bool */;
6797 val
* var72
/* : MModule */;
6798 val
* var74
/* : MModule */;
6799 short int var75
/* : Bool */;
6801 var_cast_types
= p1
;
6802 var1
= NEW_poset__POSet(&type_poset__POSet__nitc__MType
);
6804 { /* Inline kernel$Object$init (var1) on <var1:POSet[MType]> */
6809 var3
= NEW_more_collections__MultiHashMap(&type_more_collections__MultiHashMap__nitc__MClass__nitc__MType
);
6811 core___core__HashMap___core__kernel__Object__init(var3
); /* Direct call hash_collection$HashMap$init on <var3:MultiHashMap[MClass, MType]>*/
6813 var_mtypes_by_class
= var3
;
6816 var4
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Set[MType]>*/
6821 var6
= ((short int(*)(val
* self
))((((long)var_5
&3)?class_info
[((long)var_5
&3)]:var_5
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_5
); /* is_ok on <var_5:Iterator[MType]>*/
6828 var7
= ((val
*(*)(val
* self
))((((long)var_5
&3)?class_info
[((long)var_5
&3)]:var_5
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_5
); /* item on <var_5:Iterator[MType]>*/
6832 var8
= ((val
*(*)(val
* self
))(var_e
->class->vft
[COLOR_nitc__model__MType__undecorate
]))(var_e
); /* undecorate on <var_e:MType>*/
6834 /* <var8:MType> isa MClassType */
6835 cltype
= type_nitc__MClassType
.color
;
6836 idtype
= type_nitc__MClassType
.id
;
6837 if(cltype
>= var8
->type
->table_size
) {
6840 var9
= var8
->type
->type_table
[cltype
] == idtype
;
6842 if (unlikely(!var9
)) {
6843 var_class_name
= var8
== NULL ?
"null" : var8
->type
->name
;
6844 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
6845 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 462);
6849 { /* Inline model$MClassType$mclass (var8) on <var8:MType(MClassType)> */
6850 var12
= var8
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var8:MType(MClassType)> */
6851 if (unlikely(var12
== NULL
)) {
6852 if(catchStack
.cursor
>= 0){
6853 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6855 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6856 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
6860 RET_LABEL11
:(void)0;
6865 var13
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_mtypes_by_class
, var_c
);
6868 core___core__Array___core__abstract_collection__SimpleCollection__add(var13
, var_e
); /* Direct call array$Array$add on <var13:nullable Object(Array[MType])>*/
6871 var14
= poset___poset__POSet___add_node(var_poset
, var_e
);
6874 ((void(*)(val
* self
))((((long)var_5
&3)?class_info
[((long)var_5
&3)]:var_5
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_5
); /* next on <var_5:Iterator[MType]>*/
6877 BREAK_label
: (void)0;
6879 ((void(*)(val
* self
))((((long)var_5
&3)?class_info
[((long)var_5
&3)]:var_5
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_5
); /* finish on <var_5:Iterator[MType]>*/
6881 var15
= NEW_more_collections__MultiHashMap(&type_more_collections__MultiHashMap__nitc__MClass__nitc__MType
);
6883 core___core__HashMap___core__kernel__Object__init(var15
); /* Direct call hash_collection$HashMap$init on <var15:MultiHashMap[MClass, MType]>*/
6885 var_casttypes_by_class
= var15
;
6886 var_16
= var_cast_types
;
6888 var17
= ((val
*(*)(val
* self
))((((long)var_16
&3)?class_info
[((long)var_16
&3)]:var_16
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_16
); /* iterator on <var_16:Set[MType]>*/
6893 var19
= ((short int(*)(val
* self
))((((long)var_18
&3)?class_info
[((long)var_18
&3)]:var_18
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_18
); /* is_ok on <var_18:Iterator[MType]>*/
6900 var21
= ((val
*(*)(val
* self
))((((long)var_18
&3)?class_info
[((long)var_18
&3)]:var_18
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_18
); /* item on <var_18:Iterator[MType]>*/
6904 var23
= ((val
*(*)(val
* self
))(var_e22
->class->vft
[COLOR_nitc__model__MType__undecorate
]))(var_e22
); /* undecorate on <var_e22:MType>*/
6906 /* <var23:MType> isa MClassType */
6907 cltype25
= type_nitc__MClassType
.color
;
6908 idtype26
= type_nitc__MClassType
.id
;
6909 if(cltype25
>= var23
->type
->table_size
) {
6912 var24
= var23
->type
->type_table
[cltype25
] == idtype26
;
6914 if (unlikely(!var24
)) {
6915 var_class_name27
= var23
== NULL ?
"null" : var23
->type
->name
;
6916 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name27
);
6917 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 469);
6921 { /* Inline model$MClassType$mclass (var23) on <var23:MType(MClassType)> */
6922 var30
= var23
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var23:MType(MClassType)> */
6923 if (unlikely(var30
== NULL
)) {
6924 if(catchStack
.cursor
>= 0){
6925 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6927 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6928 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
6932 RET_LABEL29
:(void)0;
6937 var32
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_casttypes_by_class
, var_c31
);
6940 core___core__Array___core__abstract_collection__SimpleCollection__add(var32
, var_e22
); /* Direct call array$Array$add on <var32:nullable Object(Array[MType])>*/
6943 var33
= poset___poset__POSet___add_node(var_poset
, var_e22
);
6946 ((void(*)(val
* self
))((((long)var_18
&3)?class_info
[((long)var_18
&3)]:var_18
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_18
); /* next on <var_18:Iterator[MType]>*/
6949 BREAK_label20
: (void)0;
6951 ((void(*)(val
* self
))((((long)var_18
&3)?class_info
[((long)var_18
&3)]:var_18
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_18
); /* finish on <var_18:Iterator[MType]>*/
6953 var_34
= var_mtypes_by_class
;
6955 var35
= core___core__HashMap___core__abstract_collection__MapRead__iterator(var_34
);
6960 var37
= ((short int(*)(val
* self
))((((long)var_36
&3)?class_info
[((long)var_36
&3)]:var_36
->class)->vft
[COLOR_core__abstract_collection__MapIterator__is_ok
]))(var_36
); /* is_ok on <var_36:MapIterator[MClass, Array[MType]]>*/
6967 var39
= ((val
*(*)(val
* self
))((((long)var_36
&3)?class_info
[((long)var_36
&3)]:var_36
->class)->vft
[COLOR_core__abstract_collection__MapIterator__key
]))(var_36
); /* key on <var_36:MapIterator[MClass, Array[MType]]>*/
6971 var40
= ((val
*(*)(val
* self
))((((long)var_36
&3)?class_info
[((long)var_36
&3)]:var_36
->class)->vft
[COLOR_core__abstract_collection__MapIterator__item
]))(var_36
); /* item on <var_36:MapIterator[MClass, Array[MType]]>*/
6975 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateCompiler> */
6976 var43
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
6977 if (unlikely(var43
== NULL
)) {
6978 if(catchStack
.cursor
>= 0){
6979 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6981 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6982 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
6986 RET_LABEL42
:(void)0;
6990 var44
= nitc___nitc__MClass___in_hierarchy(var_c1
, var41
);
6993 var45
= poset___poset__POSetElement___greaters(var44
);
6997 var47
= ((val
*(*)(val
* self
))((((long)var_46
&3)?class_info
[((long)var_46
&3)]:var_46
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_46
); /* iterator on <var_46:Collection[MClass]>*/
7002 var49
= ((short int(*)(val
* self
))((((long)var_48
&3)?class_info
[((long)var_48
&3)]:var_48
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_48
); /* is_ok on <var_48:Iterator[MClass]>*/
7009 var51
= ((val
*(*)(val
* self
))((((long)var_48
&3)?class_info
[((long)var_48
&3)]:var_48
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_48
); /* item on <var_48:Iterator[MClass]>*/
7013 var52
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_casttypes_by_class
, var_c2
);
7018 var54
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_53
);
7023 var56
= ((short int(*)(val
* self
))((((long)var_55
&3)?class_info
[((long)var_55
&3)]:var_55
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_55
); /* is_ok on <var_55:IndexedIterator[MType]>*/
7030 var58
= ((val
*(*)(val
* self
))((((long)var_55
&3)?class_info
[((long)var_55
&3)]:var_55
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_55
); /* item on <var_55:IndexedIterator[MType]>*/
7035 var61
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_60
);
7040 var63
= ((short int(*)(val
* self
))((((long)var_62
&3)?class_info
[((long)var_62
&3)]:var_62
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_62
); /* is_ok on <var_62:IndexedIterator[MType]>*/
7047 var65
= ((val
*(*)(val
* self
))((((long)var_62
&3)?class_info
[((long)var_62
&3)]:var_62
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_62
); /* item on <var_62:IndexedIterator[MType]>*/
7051 { /* Inline kernel$Object$== (var_e59,var_o) on <var_e59:MType> */
7054 { /* Inline kernel$Object$is_same_instance (var_e59,var_other) on <var_e59:MType> */
7055 var70
= var_e59
== var_other
;
7058 RET_LABEL69
:(void)0;
7063 RET_LABEL67
:(void)0;
7071 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateCompiler> */
7072 var74
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
7073 if (unlikely(var74
== NULL
)) {
7074 if(catchStack
.cursor
>= 0){
7075 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7077 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7078 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
7082 RET_LABEL73
:(void)0;
7086 var75
= nitc___nitc__MType___is_subtype(var_e59
, var72
, ((val
*)NULL
), var_o
);
7090 poset___poset__POSet___add_edge(var_poset
, var_e59
, var_o
); /* Direct call poset$POSet$add_edge on <var_poset:POSet[MType]>*/
7094 BREAK_label71
: (void)0;
7096 ((void(*)(val
* self
))((((long)var_62
&3)?class_info
[((long)var_62
&3)]:var_62
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_62
); /* next on <var_62:IndexedIterator[MType]>*/
7099 BREAK_label64
: (void)0;
7101 ((void(*)(val
* self
))((((long)var_62
&3)?class_info
[((long)var_62
&3)]:var_62
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_62
); /* finish on <var_62:IndexedIterator[MType]>*/
7104 ((void(*)(val
* self
))((((long)var_55
&3)?class_info
[((long)var_55
&3)]:var_55
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_55
); /* next on <var_55:IndexedIterator[MType]>*/
7107 BREAK_label57
: (void)0;
7109 ((void(*)(val
* self
))((((long)var_55
&3)?class_info
[((long)var_55
&3)]:var_55
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_55
); /* finish on <var_55:IndexedIterator[MType]>*/
7112 ((void(*)(val
* self
))((((long)var_48
&3)?class_info
[((long)var_48
&3)]:var_48
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_48
); /* next on <var_48:Iterator[MClass]>*/
7115 BREAK_label50
: (void)0;
7117 ((void(*)(val
* self
))((((long)var_48
&3)?class_info
[((long)var_48
&3)]:var_48
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_48
); /* finish on <var_48:Iterator[MClass]>*/
7120 ((void(*)(val
* self
))((((long)var_36
&3)?class_info
[((long)var_36
&3)]:var_36
->class)->vft
[COLOR_core__abstract_collection__MapIterator__next
]))(var_36
); /* next on <var_36:MapIterator[MClass, Array[MType]]>*/
7123 BREAK_label38
: (void)0;
7125 { /* Inline abstract_collection$MapIterator$finish (var_36) on <var_36:MapIterator[MClass, Array[MType]]> */
7126 RET_LABEL76
:(void)0;
7134 /* method separate_compiler$SeparateCompiler$build_type_tables for (self: SeparateCompiler, POSet[MType]): Map[MType, Array[nullable MType]] */
7135 val
* nitc___nitc__SeparateCompiler___build_type_tables(val
* self
, val
* p0
) {
7136 val
* var
/* : Map[MType, Array[nullable MType]] */;
7137 val
* var_mtypes
/* var mtypes: POSet[MType] */;
7138 val
* var1
/* : HashMap[MType, Array[nullable MType]] */;
7139 val
* var_tables
/* var tables: HashMap[MType, Array[nullable MType]] */;
7140 val
* var_
/* var : POSet[MType] */;
7141 val
* var2
/* : Iterator[nullable Object] */;
7142 val
* var_3
/* var : Iterator[MType] */;
7143 short int var4
/* : Bool */;
7144 val
* var5
/* : nullable Object */;
7145 val
* var_mtype
/* var mtype: MType */;
7146 val
* var6
/* : Array[nullable MType] */;
7147 val
* var_table
/* var table: Array[nullable MType] */;
7148 val
* var7
/* : POSetElement[nullable Object] */;
7149 val
* var8
/* : Collection[nullable Object] */;
7150 val
* var_9
/* var : Collection[MType] */;
7151 val
* var10
/* : Iterator[nullable Object] */;
7152 val
* var_11
/* var : Iterator[MType] */;
7153 short int var12
/* : Bool */;
7154 val
* var14
/* : nullable Object */;
7155 val
* var_sup
/* var sup: MType */;
7156 val
* var15
/* : Map[MType, Int] */;
7157 val
* var17
/* : Map[MType, Int] */;
7158 val
* var18
/* : nullable Object */;
7159 long var19
/* : Int */;
7160 long var_color
/* var color: Int */;
7161 long var20
/* : Int */;
7162 long var22
/* : Int */;
7163 short int var23
/* : Bool */;
7164 short int var25
/* : Bool */;
7167 const char* var_class_name
;
7168 short int var26
/* : Bool */;
7169 long var27
/* : Int */;
7170 long var29
/* : Int */;
7171 long var_i
/* var i: Int */;
7172 long var_30
/* var : Int */;
7173 short int var31
/* : Bool */;
7174 short int var33
/* : Bool */;
7177 const char* var_class_name36
;
7178 short int var37
/* : Bool */;
7179 long var39
/* : Int */;
7181 var1
= NEW_core__HashMap(&type_core__HashMap__nitc__MType__core__Array__nullable__nitc__MType
);
7183 core___core__HashMap___core__kernel__Object__init(var1
); /* Direct call hash_collection$HashMap$init on <var1:HashMap[MType, Array[nullable MType]]>*/
7188 var2
= poset___poset__POSet___core__abstract_collection__Collection__iterator(var_
);
7193 var4
= ((short int(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_3
); /* is_ok on <var_3:Iterator[MType]>*/
7200 var5
= ((val
*(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_3
); /* item on <var_3:Iterator[MType]>*/
7203 var6
= NEW_core__Array(&type_core__Array__nullable__nitc__MType
);
7205 core___core__Array___core__kernel__Object__init(var6
); /* Direct call array$Array$init on <var6:Array[nullable MType]>*/
7209 var7
= poset___poset__POSet____91d_93d(var_mtypes
, var_mtype
);
7212 var8
= poset___poset__POSetElement___greaters(var7
);
7216 var10
= ((val
*(*)(val
* self
))((((long)var_9
&3)?class_info
[((long)var_9
&3)]:var_9
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_9
); /* iterator on <var_9:Collection[MType]>*/
7221 var12
= ((short int(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_11
); /* is_ok on <var_11:Iterator[MType]>*/
7228 var14
= ((val
*(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_11
); /* item on <var_11:Iterator[MType]>*/
7232 { /* Inline separate_compiler$SeparateCompiler$type_colors (self) on <self:SeparateCompiler> */
7233 var17
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___type_colors
].val
; /* _type_colors on <self:SeparateCompiler> */
7234 if (unlikely(var17
== NULL
)) {
7235 if(catchStack
.cursor
>= 0){
7236 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7238 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_colors");
7239 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 150);
7243 RET_LABEL16
:(void)0;
7247 var18
= ((val
*(*)(val
* self
, val
* p0
))((((long)var15
&3)?class_info
[((long)var15
&3)]:var15
->class)->vft
[COLOR_core__abstract_collection__MapRead___91d_93d
]))(var15
, var_sup
); /* [] on <var15:Map[MType, Int]>*/
7249 var19
= (long)(var18
)>>2;
7252 { /* Inline array$AbstractArrayRead$length (var_table) on <var_table:Array[nullable MType]> */
7253 var22
= var_table
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_table:Array[nullable MType]> */
7255 RET_LABEL21
:(void)0;
7259 { /* Inline kernel$Int$<= (var20,var_color) on <var20:Int> */
7260 /* Covariant cast for argument 0 (i) <var_color:Int> isa OTHER */
7261 /* <var_color:Int> isa OTHER */
7262 var25
= 1; /* easy <var_color:Int> isa OTHER*/
7263 if (unlikely(!var25
)) {
7264 var_class_name
= type_core__Int
.name
;
7265 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7266 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 724);
7269 var26
= var20
<= var_color
;
7272 RET_LABEL24
:(void)0;
7277 { /* Inline array$AbstractArrayRead$length (var_table) on <var_table:Array[nullable MType]> */
7278 var29
= var_table
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_table:Array[nullable MType]> */
7280 RET_LABEL28
:(void)0;
7287 { /* Inline kernel$Int$< (var_i,var_30) on <var_i:Int> */
7288 /* Covariant cast for argument 0 (i) <var_30:Int> isa OTHER */
7289 /* <var_30:Int> isa OTHER */
7290 var33
= 1; /* easy <var_30:Int> isa OTHER*/
7291 if (unlikely(!var33
)) {
7292 var_class_name36
= type_core__Int
.name
;
7293 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name36
);
7294 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
7297 var37
= var_i
< var_30
;
7300 RET_LABEL32
:(void)0;
7308 core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_table
, var_i
, ((val
*)NULL
)); /* Direct call array$Array$[]= on <var_table:Array[nullable MType]>*/
7311 var39
= core___core__Int___Discrete__successor(var_i
, 1l);
7315 BREAK_label38
: (void)0;
7319 core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_table
, var_color
, var_sup
); /* Direct call array$Array$[]= on <var_table:Array[nullable MType]>*/
7322 ((void(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_11
); /* next on <var_11:Iterator[MType]>*/
7325 BREAK_label13
: (void)0;
7327 ((void(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_11
); /* finish on <var_11:Iterator[MType]>*/
7330 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_tables
, var_mtype
, var_table
); /* Direct call hash_collection$HashMap$[]= on <var_tables:HashMap[MType, Array[nullable MType]]>*/
7333 ((void(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_3
); /* next on <var_3:Iterator[MType]>*/
7336 BREAK_label
: (void)0;
7338 ((void(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_3
); /* finish on <var_3:Iterator[MType]>*/
7345 /* method separate_compiler$SeparateCompiler$compute_type_test_layouts for (self: SeparateCompiler, Set[MClassType], Set[MType]) */
7346 void nitc___nitc__SeparateCompiler___compute_type_test_layouts(val
* self
, val
* p0
, val
* p1
) {
7347 val
* var_mtypes
/* var mtypes: Set[MClassType] */;
7348 val
* var_cast_types
/* var cast_types: Set[MType] */;
7349 val
* var
/* : HashMap[MClass, Set[MType]] */;
7350 val
* var_bucklets
/* var bucklets: HashMap[MClass, Set[MType]] */;
7351 val
* var_
/* var : Set[MType] */;
7352 val
* var1
/* : Iterator[nullable Object] */;
7353 val
* var_2
/* var : Iterator[MType] */;
7354 short int var3
/* : Bool */;
7355 val
* var4
/* : nullable Object */;
7356 val
* var_e
/* var e: MType */;
7357 val
* var5
/* : MType */;
7358 short int var6
/* : Bool */;
7361 const char* var_class_name
;
7362 val
* var7
/* : MClass */;
7363 val
* var9
/* : MClass */;
7364 val
* var_c
/* var c: MClass */;
7365 short int var10
/* : Bool */;
7366 short int var11
/* : Bool */;
7367 val
* var12
/* : HashSet[MType] */;
7368 val
* var13
/* : nullable Object */;
7369 val
* var14
/* : POSetGroupColorer[MClass, MType] */;
7370 val
* var15
/* : POSetConflictGraph[MClass] */;
7371 val
* var17
/* : POSetConflictGraph[MClass] */;
7372 val
* var_colorer
/* var colorer: POSetGroupColorer[MClass, MType] */;
7373 val
* var18
/* : Map[Object, Int] */;
7374 val
* var20
/* : HashMap[MClass, Array[nullable MType]] */;
7375 val
* var_layouts
/* var layouts: HashMap[MClass, Array[nullable MType]] */;
7376 val
* var21
/* : nullable RapidTypeAnalysis */;
7377 val
* var23
/* : nullable RapidTypeAnalysis */;
7378 val
* var24
/* : HashSet[MClass] */;
7379 val
* var26
/* : HashSet[MClass] */;
7380 val
* var_27
/* var : HashSet[MClass] */;
7381 val
* var28
/* : Iterator[nullable Object] */;
7382 val
* var_29
/* var : Iterator[MClass] */;
7383 short int var30
/* : Bool */;
7384 val
* var32
/* : nullable Object */;
7385 val
* var_c33
/* var c: MClass */;
7386 val
* var34
/* : Array[nullable Object] */;
7387 val
* var_35
/* var : Set[MClassType] */;
7388 val
* var36
/* : Iterator[nullable Object] */;
7389 val
* var_37
/* var : Iterator[MClassType] */;
7390 short int var38
/* : Bool */;
7391 val
* var40
/* : nullable Object */;
7392 val
* var_t
/* var t: MClassType */;
7393 val
* var41
/* : MClass */;
7394 val
* var43
/* : MClass */;
7395 val
* var_c44
/* var c: MClass */;
7396 val
* var45
/* : nullable Object */;
7397 val
* var_layout
/* var layout: Array[nullable MType] */;
7398 val
* var46
/* : Array[nullable MType] */;
7399 long var47
/* : Int */;
7400 long var49
/* : Int */;
7401 val
* var_table
/* var table: Array[nullable MType] */;
7402 val
* var50
/* : Map[MType, Array[nullable MType]] */;
7403 val
* var52
/* : Map[MType, Array[nullable MType]] */;
7404 val
* var_53
/* var : Array[nullable MType] */;
7405 val
* var54
/* : IndexedIterator[nullable Object] */;
7406 val
* var_55
/* var : IndexedIterator[nullable MType] */;
7407 short int var56
/* : Bool */;
7408 val
* var58
/* : nullable Object */;
7409 val
* var_sup
/* var sup: nullable MType */;
7410 short int var59
/* : Bool */;
7411 short int var60
/* : Bool */;
7412 val
* var_other
/* var other: nullable Object */;
7413 short int var62
/* : Bool */;
7414 short int var64
/* : Bool */;
7415 val
* var65
/* : MModule */;
7416 val
* var67
/* : MModule */;
7417 short int var68
/* : Bool */;
7419 var_cast_types
= p1
;
7420 var
= NEW_core__HashMap(&type_core__HashMap__nitc__MClass__core__Set__nitc__MType
);
7422 core___core__HashMap___core__kernel__Object__init(var
); /* Direct call hash_collection$HashMap$init on <var:HashMap[MClass, Set[MType]]>*/
7425 var_
= var_cast_types
;
7427 var1
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Set[MType]>*/
7432 var3
= ((short int(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_2
); /* is_ok on <var_2:Iterator[MType]>*/
7439 var4
= ((val
*(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_2
); /* item on <var_2:Iterator[MType]>*/
7443 var5
= ((val
*(*)(val
* self
))(var_e
->class->vft
[COLOR_nitc__model__MType__undecorate
]))(var_e
); /* undecorate on <var_e:MType>*/
7445 /* <var5:MType> isa MClassType */
7446 cltype
= type_nitc__MClassType
.color
;
7447 idtype
= type_nitc__MClassType
.id
;
7448 if(cltype
>= var5
->type
->table_size
) {
7451 var6
= var5
->type
->type_table
[cltype
] == idtype
;
7453 if (unlikely(!var6
)) {
7454 var_class_name
= var5
== NULL ?
"null" : var5
->type
->name
;
7455 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
7456 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 514);
7460 { /* Inline model$MClassType$mclass (var5) on <var5:MType(MClassType)> */
7461 var9
= var5
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var5:MType(MClassType)> */
7462 if (unlikely(var9
== NULL
)) {
7463 if(catchStack
.cursor
>= 0){
7464 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7466 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7467 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
7476 var10
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var_bucklets
, var_c
);
7480 var12
= NEW_core__HashSet(&type_core__HashSet__nitc__MType
);
7482 core___core__HashSet___core__kernel__Object__init(var12
); /* Direct call hash_collection$HashSet$init on <var12:HashSet[MType]>*/
7485 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_bucklets
, var_c
, var12
); /* Direct call hash_collection$HashMap$[]= on <var_bucklets:HashMap[MClass, Set[MType]]>*/
7490 var13
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_bucklets
, var_c
);
7493 ((void(*)(val
* self
, val
* p0
))((((long)var13
&3)?class_info
[((long)var13
&3)]:var13
->class)->vft
[COLOR_core__abstract_collection__SimpleCollection__add
]))(var13
, var_e
); /* add on <var13:nullable Object(Set[MType])>*/
7496 ((void(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_2
); /* next on <var_2:Iterator[MType]>*/
7499 BREAK_label
: (void)0;
7501 ((void(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_2
); /* finish on <var_2:Iterator[MType]>*/
7503 var14
= NEW_nitc__POSetGroupColorer(&type_nitc__POSetGroupColorer__nitc__MClass__nitc__MType
);
7505 { /* Inline separate_compiler$SeparateCompiler$class_conflict_graph (self) on <self:SeparateCompiler> */
7506 var17
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___class_conflict_graph
].val
; /* _class_conflict_graph on <self:SeparateCompiler> */
7507 if (unlikely(var17
== NULL
)) {
7508 if(catchStack
.cursor
>= 0){
7509 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7511 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _class_conflict_graph");
7512 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 310);
7516 RET_LABEL16
:(void)0;
7520 ((void(*)(val
* self
, val
* p0
))(var14
->class->vft
[COLOR_nitc__coloring__POSetGroupColorer__graph_61d
]))(var14
, var15
); /* graph= on <var14:POSetGroupColorer[MClass, MType]>*/
7523 ((void(*)(val
* self
, val
* p0
))(var14
->class->vft
[COLOR_nitc__coloring__POSetGroupColorer__buckets_61d
]))(var14
, var_bucklets
); /* buckets= on <var14:POSetGroupColorer[MClass, MType]>*/
7526 ((void(*)(val
* self
))(var14
->class->vft
[COLOR_core__kernel__Object__init
]))(var14
); /* init on <var14:POSetGroupColorer[MClass, MType]>*/
7528 var_colorer
= var14
;
7530 var18
= nitc___nitc__POSetGroupColorer___colors(var_colorer
);
7533 { /* Inline separate_compiler$SeparateCompiler$type_colors= (self,var18) on <self:SeparateCompiler> */
7534 self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___type_colors
].val
= var18
; /* _type_colors on <self:SeparateCompiler> */
7535 RET_LABEL19
:(void)0;
7538 var20
= NEW_core__HashMap(&type_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MType
);
7540 core___core__HashMap___core__kernel__Object__init(var20
); /* Direct call hash_collection$HashMap$init on <var20:HashMap[MClass, Array[nullable MType]]>*/
7542 var_layouts
= var20
;
7544 { /* Inline separate_compiler$SeparateCompiler$runtime_type_analysis (self) on <self:SeparateCompiler> */
7545 var23
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <self:SeparateCompiler> */
7547 RET_LABEL22
:(void)0;
7550 if (var21
== NULL
) {
7551 if(catchStack
.cursor
>= 0){
7552 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7554 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7555 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 526);
7558 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_classes (var21) on <var21:nullable RapidTypeAnalysis> */
7559 if (unlikely(var21
== NULL
)) {
7560 if(catchStack
.cursor
>= 0){
7561 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7563 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7564 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 69);
7567 var26
= var21
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_classes
].val
; /* _live_classes on <var21:nullable RapidTypeAnalysis> */
7568 if (unlikely(var26
== NULL
)) {
7569 if(catchStack
.cursor
>= 0){
7570 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7572 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_classes");
7573 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 69);
7577 RET_LABEL25
:(void)0;
7582 var28
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_27
);
7587 var30
= ((short int(*)(val
* self
))((((long)var_29
&3)?class_info
[((long)var_29
&3)]:var_29
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_29
); /* is_ok on <var_29:Iterator[MClass]>*/
7594 var32
= ((val
*(*)(val
* self
))((((long)var_29
&3)?class_info
[((long)var_29
&3)]:var_29
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_29
); /* item on <var_29:Iterator[MClass]>*/
7598 var34
= nitc___nitc__POSetGroupColorer___build_layout(var_colorer
, var_c33
);
7601 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_layouts
, var_c33
, var34
); /* Direct call hash_collection$HashMap$[]= on <var_layouts:HashMap[MClass, Array[nullable MType]]>*/
7604 ((void(*)(val
* self
))((((long)var_29
&3)?class_info
[((long)var_29
&3)]:var_29
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_29
); /* next on <var_29:Iterator[MClass]>*/
7607 BREAK_label31
: (void)0;
7609 ((void(*)(val
* self
))((((long)var_29
&3)?class_info
[((long)var_29
&3)]:var_29
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_29
); /* finish on <var_29:Iterator[MClass]>*/
7611 var_35
= var_mtypes
;
7613 var36
= ((val
*(*)(val
* self
))((((long)var_35
&3)?class_info
[((long)var_35
&3)]:var_35
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_35
); /* iterator on <var_35:Set[MClassType]>*/
7618 var38
= ((short int(*)(val
* self
))((((long)var_37
&3)?class_info
[((long)var_37
&3)]:var_37
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_37
); /* is_ok on <var_37:Iterator[MClassType]>*/
7625 var40
= ((val
*(*)(val
* self
))((((long)var_37
&3)?class_info
[((long)var_37
&3)]:var_37
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_37
); /* item on <var_37:Iterator[MClassType]>*/
7629 { /* Inline model$MClassType$mclass (var_t) on <var_t:MClassType> */
7630 var43
= var_t
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_t:MClassType> */
7631 if (unlikely(var43
== NULL
)) {
7632 if(catchStack
.cursor
>= 0){
7633 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7635 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7636 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
7640 RET_LABEL42
:(void)0;
7645 var45
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_layouts
, var_c44
);
7648 var46
= NEW_core__Array(&type_core__Array__nullable__nitc__MType
);
7650 { /* Inline array$AbstractArrayRead$length (var_layout) on <var_layout:Array[nullable MType]> */
7651 var49
= var_layout
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_layout:Array[nullable MType]> */
7653 RET_LABEL48
:(void)0;
7657 core___core__Array___with_capacity(var46
, var47
); /* Direct call array$Array$with_capacity on <var46:Array[nullable MType]>*/
7661 { /* Inline separate_compiler$SeparateCompiler$type_tables (self) on <self:SeparateCompiler> */
7662 var52
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___type_tables
].val
; /* _type_tables on <self:SeparateCompiler> */
7663 if (unlikely(var52
== NULL
)) {
7664 if(catchStack
.cursor
>= 0){
7665 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7667 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_tables");
7668 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 1071);
7672 RET_LABEL51
:(void)0;
7676 ((void(*)(val
* self
, val
* p0
, val
* p1
))((((long)var50
&3)?class_info
[((long)var50
&3)]:var50
->class)->vft
[COLOR_core__abstract_collection__Map___91d_93d_61d
]))(var50
, var_t
, var_table
); /* []= on <var50:Map[MType, Array[nullable MType]]>*/
7678 var_53
= var_layout
;
7680 var54
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_53
);
7685 var56
= ((short int(*)(val
* self
))((((long)var_55
&3)?class_info
[((long)var_55
&3)]:var_55
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_55
); /* is_ok on <var_55:IndexedIterator[nullable MType]>*/
7692 var58
= ((val
*(*)(val
* self
))((((long)var_55
&3)?class_info
[((long)var_55
&3)]:var_55
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_55
); /* item on <var_55:IndexedIterator[nullable MType]>*/
7695 if (var_sup
== NULL
) {
7696 var59
= 1; /* is null */
7698 var59
= 0; /* arg is null but recv is not */
7701 { /* Inline kernel$Object$== (var_sup,((val*)NULL)) on <var_sup:nullable MType> */
7702 var_other
= ((val
*)NULL
);
7704 { /* Inline kernel$Object$is_same_instance (var_sup,var_other) on <var_sup:nullable MType(MType)> */
7705 var64
= var_sup
== var_other
;
7708 RET_LABEL63
:(void)0;
7713 RET_LABEL61
:(void)0;
7719 core___core__Array___core__abstract_collection__SimpleCollection__add(var_table
, ((val
*)NULL
)); /* Direct call array$Array$add on <var_table:Array[nullable MType]>*/
7723 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateCompiler> */
7724 var67
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
7725 if (unlikely(var67
== NULL
)) {
7726 if(catchStack
.cursor
>= 0){
7727 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7729 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7730 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
7734 RET_LABEL66
:(void)0;
7738 var68
= nitc___nitc__MType___is_subtype(var_t
, var65
, ((val
*)NULL
), var_sup
);
7742 core___core__Array___core__abstract_collection__SimpleCollection__add(var_table
, var_sup
); /* Direct call array$Array$add on <var_table:Array[nullable MType]>*/
7746 core___core__Array___core__abstract_collection__SimpleCollection__add(var_table
, ((val
*)NULL
)); /* Direct call array$Array$add on <var_table:Array[nullable MType]>*/
7751 ((void(*)(val
* self
))((((long)var_55
&3)?class_info
[((long)var_55
&3)]:var_55
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_55
); /* next on <var_55:IndexedIterator[nullable MType]>*/
7754 BREAK_label57
: (void)0;
7756 ((void(*)(val
* self
))((((long)var_55
&3)?class_info
[((long)var_55
&3)]:var_55
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_55
); /* finish on <var_55:IndexedIterator[nullable MType]>*/
7759 ((void(*)(val
* self
))((((long)var_37
&3)?class_info
[((long)var_37
&3)]:var_37
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_37
); /* next on <var_37:Iterator[MClassType]>*/
7762 BREAK_label39
: (void)0;
7764 ((void(*)(val
* self
))((((long)var_37
&3)?class_info
[((long)var_37
&3)]:var_37
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_37
); /* finish on <var_37:Iterator[MClassType]>*/
7768 /* method separate_compiler$SeparateCompiler$compute_resolution_tables for (self: SeparateCompiler, Set[MType]) */
7769 void nitc___nitc__SeparateCompiler___compute_resolution_tables(val
* self
, val
* p0
) {
7770 val
* var_mtypes
/* var mtypes: Set[MType] */;
7771 val
* var
/* : HashMap[MClass, Set[MType]] */;
7772 val
* var_mtype2unresolved
/* var mtype2unresolved: HashMap[MClass, Set[MType]] */;
7773 val
* var1
/* : nullable RapidTypeAnalysis */;
7774 val
* var3
/* : nullable RapidTypeAnalysis */;
7775 val
* var4
/* : HashSet[MClassType] */;
7776 val
* var6
/* : HashSet[MClassType] */;
7777 val
* var_
/* var : HashSet[MClassType] */;
7778 val
* var7
/* : Iterator[nullable Object] */;
7779 val
* var_8
/* var : Iterator[MClassType] */;
7780 short int var9
/* : Bool */;
7781 val
* var10
/* : nullable Object */;
7782 val
* var_mtype
/* var mtype: MClassType */;
7783 val
* var11
/* : MClass */;
7784 val
* var13
/* : MClass */;
7785 val
* var_mclass
/* var mclass: MClass */;
7786 val
* var14
/* : nullable Object */;
7787 val
* var_set
/* var set: nullable Set[MType] */;
7788 short int var15
/* : Bool */;
7789 short int var16
/* : Bool */;
7790 val
* var17
/* : HashSet[MType] */;
7791 val
* var18
/* : MModule */;
7792 val
* var20
/* : MModule */;
7793 val
* var21
/* : Set[MClassDef] */;
7794 val
* var_22
/* var : Set[MClassDef] */;
7795 val
* var23
/* : Iterator[nullable Object] */;
7796 val
* var_24
/* var : Iterator[MClassDef] */;
7797 short int var25
/* : Bool */;
7798 val
* var27
/* : nullable Object */;
7799 val
* var_cd
/* var cd: MClassDef */;
7800 val
* var28
/* : Map[MClassDef, Set[MType]] */;
7801 val
* var30
/* : Map[MClassDef, Set[MType]] */;
7802 short int var31
/* : Bool */;
7803 val
* var32
/* : Map[MClassDef, Set[MType]] */;
7804 val
* var34
/* : Map[MClassDef, Set[MType]] */;
7805 val
* var35
/* : nullable Object */;
7806 val
* var36
/* : BucketsColorer[MClass, MType] */;
7807 val
* var_colorer
/* var colorer: BucketsColorer[MClass, MType] */;
7808 val
* var38
/* : Map[Object, Int] */;
7809 val
* var40
/* : nullable RapidTypeAnalysis */;
7810 val
* var42
/* : nullable RapidTypeAnalysis */;
7811 val
* var43
/* : HashSet[MClassType] */;
7812 val
* var45
/* : HashSet[MClassType] */;
7813 val
* var46
/* : Map[MClassType, Array[nullable MType]] */;
7814 val
* var48
/* : HashSet[MType] */;
7815 val
* var_all_unresolved
/* var all_unresolved: HashSet[MType] */;
7816 val
* var49
/* : Map[MClassDef, Set[MType]] */;
7817 val
* var51
/* : Map[MClassDef, Set[MType]] */;
7818 val
* var52
/* : Collection[nullable Object] */;
7819 val
* var_53
/* var : RemovableCollection[Set[MType]] */;
7820 val
* var54
/* : Iterator[nullable Object] */;
7821 val
* var_55
/* var : Iterator[Set[MType]] */;
7822 short int var56
/* : Bool */;
7823 val
* var58
/* : nullable Object */;
7824 val
* var_t
/* var t: Set[MType] */;
7825 val
* var59
/* : HashMap[MType, Int] */;
7826 val
* var_all_unresolved_types_colors
/* var all_unresolved_types_colors: HashMap[MType, Int] */;
7827 val
* var_60
/* var : HashSet[MType] */;
7828 val
* var61
/* : Iterator[nullable Object] */;
7829 val
* var_62
/* var : Iterator[MType] */;
7830 short int var63
/* : Bool */;
7831 val
* var65
/* : nullable Object */;
7832 val
* var_t66
/* var t: MType */;
7833 val
* var67
/* : Map[MType, Int] */;
7834 val
* var69
/* : Map[MType, Int] */;
7835 short int var70
/* : Bool */;
7836 val
* var71
/* : Map[MType, Int] */;
7837 val
* var73
/* : Map[MType, Int] */;
7838 val
* var74
/* : nullable Object */;
7839 long var75
/* : Int */;
7840 long var77
/* : Int */;
7841 val
* var78
/* : nullable Object */;
7843 var
= NEW_core__HashMap(&type_core__HashMap__nitc__MClass__core__Set__nitc__MType
);
7845 core___core__HashMap___core__kernel__Object__init(var
); /* Direct call hash_collection$HashMap$init on <var:HashMap[MClass, Set[MType]]>*/
7847 var_mtype2unresolved
= var
;
7849 { /* Inline separate_compiler$SeparateCompiler$runtime_type_analysis (self) on <self:SeparateCompiler> */
7850 var3
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <self:SeparateCompiler> */
7856 if(catchStack
.cursor
>= 0){
7857 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7859 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7860 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 559);
7863 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_types (var1) on <var1:nullable RapidTypeAnalysis> */
7864 if (unlikely(var1
== NULL
)) {
7865 if(catchStack
.cursor
>= 0){
7866 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7868 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7869 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 60);
7872 var6
= var1
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_types
].val
; /* _live_types on <var1:nullable RapidTypeAnalysis> */
7873 if (unlikely(var6
== NULL
)) {
7874 if(catchStack
.cursor
>= 0){
7875 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7877 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
7878 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 60);
7887 var7
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_
);
7892 var9
= ((short int(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_8
); /* is_ok on <var_8:Iterator[MClassType]>*/
7899 var10
= ((val
*(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_8
); /* item on <var_8:Iterator[MClassType]>*/
7903 { /* Inline model$MClassType$mclass (var_mtype) on <var_mtype:MClassType> */
7904 var13
= var_mtype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
7905 if (unlikely(var13
== NULL
)) {
7906 if(catchStack
.cursor
>= 0){
7907 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7909 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7910 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
7914 RET_LABEL12
:(void)0;
7919 var14
= core___core__HashMap___core__abstract_collection__MapRead__get_or_null(var_mtype2unresolved
, var_mclass
);
7922 if (var_set
== NULL
) {
7923 var15
= 1; /* is null */
7925 var15
= 0; /* arg is null but recv is not */
7928 var16
= core___core__Set___core__kernel__Object___61d_61d(var_set
, ((val
*)NULL
));
7932 var17
= NEW_core__HashSet(&type_core__HashSet__nitc__MType
);
7934 core___core__HashSet___core__kernel__Object__init(var17
); /* Direct call hash_collection$HashSet$init on <var17:HashSet[MType]>*/
7938 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_mtype2unresolved
, var_mclass
, var_set
); /* Direct call hash_collection$HashMap$[]= on <var_mtype2unresolved:HashMap[MClass, Set[MType]]>*/
7943 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateCompiler> */
7944 var20
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
7945 if (unlikely(var20
== NULL
)) {
7946 if(catchStack
.cursor
>= 0){
7947 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7949 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7950 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
7954 RET_LABEL19
:(void)0;
7958 var21
= nitc___nitc__MClassType___MType__collect_mclassdefs(var_mtype
, var18
);
7962 var23
= ((val
*(*)(val
* self
))((((long)var_22
&3)?class_info
[((long)var_22
&3)]:var_22
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_22
); /* iterator on <var_22:Set[MClassDef]>*/
7967 var25
= ((short int(*)(val
* self
))((((long)var_24
&3)?class_info
[((long)var_24
&3)]:var_24
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_24
); /* is_ok on <var_24:Iterator[MClassDef]>*/
7974 var27
= ((val
*(*)(val
* self
))((((long)var_24
&3)?class_info
[((long)var_24
&3)]:var_24
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_24
); /* item on <var_24:Iterator[MClassDef]>*/
7978 { /* Inline separate_compiler$SeparateCompiler$live_unresolved_types (self) on <self:SeparateCompiler> */
7979 var30
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___live_unresolved_types
].val
; /* _live_unresolved_types on <self:SeparateCompiler> */
7980 if (unlikely(var30
== NULL
)) {
7981 if(catchStack
.cursor
>= 0){
7982 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7984 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_unresolved_types");
7985 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 147);
7989 RET_LABEL29
:(void)0;
7993 var31
= ((short int(*)(val
* self
, val
* p0
))((((long)var28
&3)?class_info
[((long)var28
&3)]:var28
->class)->vft
[COLOR_core__abstract_collection__MapRead__has_key
]))(var28
, var_cd
); /* has_key on <var28:Map[MClassDef, Set[MType]]>*/
7997 { /* Inline separate_compiler$SeparateCompiler$live_unresolved_types (self) on <self:SeparateCompiler> */
7998 var34
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___live_unresolved_types
].val
; /* _live_unresolved_types on <self:SeparateCompiler> */
7999 if (unlikely(var34
== NULL
)) {
8000 if(catchStack
.cursor
>= 0){
8001 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8003 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_unresolved_types");
8004 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 147);
8008 RET_LABEL33
:(void)0;
8012 var35
= ((val
*(*)(val
* self
, val
* p0
))((((long)var32
&3)?class_info
[((long)var32
&3)]:var32
->class)->vft
[COLOR_core__abstract_collection__MapRead___91d_93d
]))(var32
, var_cd
); /* [] on <var32:Map[MClassDef, Set[MType]]>*/
8015 core___core__SimpleCollection___add_all(var_set
, var35
); /* Direct call abstract_collection$SimpleCollection$add_all on <var_set:nullable Set[MType](Set[MType])>*/
8020 ((void(*)(val
* self
))((((long)var_24
&3)?class_info
[((long)var_24
&3)]:var_24
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_24
); /* next on <var_24:Iterator[MClassDef]>*/
8023 BREAK_label26
: (void)0;
8025 ((void(*)(val
* self
))((((long)var_24
&3)?class_info
[((long)var_24
&3)]:var_24
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_24
); /* finish on <var_24:Iterator[MClassDef]>*/
8028 ((void(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_8
); /* next on <var_8:Iterator[MClassType]>*/
8031 BREAK_label
: (void)0;
8033 ((void(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_8
); /* finish on <var_8:Iterator[MClassType]>*/
8035 var36
= NEW_nitc__BucketsColorer(&type_nitc__BucketsColorer__nitc__MClass__nitc__MType
);
8037 { /* Inline kernel$Object$init (var36) on <var36:BucketsColorer[MClass, MType]> */
8038 RET_LABEL37
:(void)0;
8041 var_colorer
= var36
;
8043 var38
= nitc___nitc__BucketsColorer___colorize(var_colorer
, var_mtype2unresolved
);
8046 { /* Inline separate_compiler$SeparateCompiler$opentype_colors= (self,var38) on <self:SeparateCompiler> */
8047 self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___opentype_colors
].val
= var38
; /* _opentype_colors on <self:SeparateCompiler> */
8048 RET_LABEL39
:(void)0;
8052 { /* Inline separate_compiler$SeparateCompiler$runtime_type_analysis (self) on <self:SeparateCompiler> */
8053 var42
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <self:SeparateCompiler> */
8055 RET_LABEL41
:(void)0;
8058 if (var40
== NULL
) {
8059 if(catchStack
.cursor
>= 0){
8060 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8062 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8063 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 577);
8066 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_types (var40) on <var40:nullable RapidTypeAnalysis> */
8067 if (unlikely(var40
== NULL
)) {
8068 if(catchStack
.cursor
>= 0){
8069 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8071 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8072 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 60);
8075 var45
= var40
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_types
].val
; /* _live_types on <var40:nullable RapidTypeAnalysis> */
8076 if (unlikely(var45
== NULL
)) {
8077 if(catchStack
.cursor
>= 0){
8078 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8080 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
8081 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 60);
8085 RET_LABEL44
:(void)0;
8089 var46
= nitc___nitc__SeparateCompiler___build_resolution_tables(self
, var43
, var_mtype2unresolved
);
8092 { /* Inline separate_compiler$SeparateCompiler$resolution_tables= (self,var46) on <self:SeparateCompiler> */
8093 self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___resolution_tables
].val
= var46
; /* _resolution_tables on <self:SeparateCompiler> */
8094 RET_LABEL47
:(void)0;
8097 var48
= NEW_core__HashSet(&type_core__HashSet__nitc__MType
);
8099 core___core__HashSet___core__kernel__Object__init(var48
); /* Direct call hash_collection$HashSet$init on <var48:HashSet[MType]>*/
8101 var_all_unresolved
= var48
;
8103 { /* Inline separate_compiler$SeparateCompiler$live_unresolved_types (self) on <self:SeparateCompiler> */
8104 var51
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___live_unresolved_types
].val
; /* _live_unresolved_types on <self:SeparateCompiler> */
8105 if (unlikely(var51
== NULL
)) {
8106 if(catchStack
.cursor
>= 0){
8107 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8109 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_unresolved_types");
8110 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 147);
8114 RET_LABEL50
:(void)0;
8118 var52
= ((val
*(*)(val
* self
))((((long)var49
&3)?class_info
[((long)var49
&3)]:var49
->class)->vft
[COLOR_core__abstract_collection__MapRead__values
]))(var49
); /* values on <var49:Map[MClassDef, Set[MType]]>*/
8122 var54
= ((val
*(*)(val
* self
))((((long)var_53
&3)?class_info
[((long)var_53
&3)]:var_53
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_53
); /* iterator on <var_53:RemovableCollection[Set[MType]]>*/
8127 var56
= ((short int(*)(val
* self
))((((long)var_55
&3)?class_info
[((long)var_55
&3)]:var_55
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_55
); /* is_ok on <var_55:Iterator[Set[MType]]>*/
8134 var58
= ((val
*(*)(val
* self
))((((long)var_55
&3)?class_info
[((long)var_55
&3)]:var_55
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_55
); /* item on <var_55:Iterator[Set[MType]]>*/
8138 core___core__SimpleCollection___add_all(var_all_unresolved
, var_t
); /* Direct call abstract_collection$SimpleCollection$add_all on <var_all_unresolved:HashSet[MType]>*/
8141 ((void(*)(val
* self
))((((long)var_55
&3)?class_info
[((long)var_55
&3)]:var_55
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_55
); /* next on <var_55:Iterator[Set[MType]]>*/
8144 BREAK_label57
: (void)0;
8146 ((void(*)(val
* self
))((((long)var_55
&3)?class_info
[((long)var_55
&3)]:var_55
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_55
); /* finish on <var_55:Iterator[Set[MType]]>*/
8148 var59
= NEW_core__HashMap(&type_core__HashMap__nitc__MType__core__Int
);
8150 core___core__HashMap___core__kernel__Object__init(var59
); /* Direct call hash_collection$HashMap$init on <var59:HashMap[MType, Int]>*/
8152 var_all_unresolved_types_colors
= var59
;
8153 var_60
= var_all_unresolved
;
8155 var61
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_60
);
8160 var63
= ((short int(*)(val
* self
))((((long)var_62
&3)?class_info
[((long)var_62
&3)]:var_62
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_62
); /* is_ok on <var_62:Iterator[MType]>*/
8167 var65
= ((val
*(*)(val
* self
))((((long)var_62
&3)?class_info
[((long)var_62
&3)]:var_62
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_62
); /* item on <var_62:Iterator[MType]>*/
8171 { /* Inline separate_compiler$SeparateCompiler$opentype_colors (self) on <self:SeparateCompiler> */
8172 var69
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___opentype_colors
].val
; /* _opentype_colors on <self:SeparateCompiler> */
8173 if (unlikely(var69
== NULL
)) {
8174 if(catchStack
.cursor
>= 0){
8175 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8177 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opentype_colors");
8178 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 151);
8182 RET_LABEL68
:(void)0;
8186 var70
= ((short int(*)(val
* self
, val
* p0
))((((long)var67
&3)?class_info
[((long)var67
&3)]:var67
->class)->vft
[COLOR_core__abstract_collection__MapRead__has_key
]))(var67
, var_t66
); /* has_key on <var67:Map[MType, Int]>*/
8190 { /* Inline separate_compiler$SeparateCompiler$opentype_colors (self) on <self:SeparateCompiler> */
8191 var73
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___opentype_colors
].val
; /* _opentype_colors on <self:SeparateCompiler> */
8192 if (unlikely(var73
== NULL
)) {
8193 if(catchStack
.cursor
>= 0){
8194 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8196 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opentype_colors");
8197 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 151);
8201 RET_LABEL72
:(void)0;
8205 var74
= ((val
*(*)(val
* self
, val
* p0
))((((long)var71
&3)?class_info
[((long)var71
&3)]:var71
->class)->vft
[COLOR_core__abstract_collection__MapRead___91d_93d
]))(var71
, var_t66
); /* [] on <var71:Map[MType, Int]>*/
8208 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_all_unresolved_types_colors
, var_t66
, var74
); /* Direct call hash_collection$HashMap$[]= on <var_all_unresolved_types_colors:HashMap[MType, Int]>*/
8212 { /* Inline kernel$Int$unary - (1l) on <1l:Int> */
8216 RET_LABEL76
:(void)0;
8220 var78
= (val
*)(var75
<<2|1);
8221 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_all_unresolved_types_colors
, var_t66
, var78
); /* Direct call hash_collection$HashMap$[]= on <var_all_unresolved_types_colors:HashMap[MType, Int]>*/
8225 ((void(*)(val
* self
))((((long)var_62
&3)?class_info
[((long)var_62
&3)]:var_62
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_62
); /* next on <var_62:Iterator[MType]>*/
8228 BREAK_label64
: (void)0;
8230 ((void(*)(val
* self
))((((long)var_62
&3)?class_info
[((long)var_62
&3)]:var_62
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_62
); /* finish on <var_62:Iterator[MType]>*/
8233 nitc___nitc__SeparateCompiler___compile_color_consts(self
, var_all_unresolved_types_colors
); /* Direct call separate_compiler$SeparateCompiler$compile_color_consts on <self:SeparateCompiler>*/
8237 /* method separate_compiler$SeparateCompiler$build_resolution_tables for (self: SeparateCompiler, Set[MClassType], Map[MClass, Set[MType]]): Map[MClassType, Array[nullable MType]] */
8238 val
* nitc___nitc__SeparateCompiler___build_resolution_tables(val
* self
, val
* p0
, val
* p1
) {
8239 val
* var
/* : Map[MClassType, Array[nullable MType]] */;
8240 val
* var_elements
/* var elements: Set[MClassType] */;
8241 val
* var_map
/* var map: Map[MClass, Set[MType]] */;
8242 val
* var1
/* : HashMap[MClassType, Array[nullable MType]] */;
8243 val
* var_tables
/* var tables: HashMap[MClassType, Array[nullable MType]] */;
8244 val
* var_
/* var : Set[MClassType] */;
8245 val
* var2
/* : Iterator[nullable Object] */;
8246 val
* var_3
/* var : Iterator[MClassType] */;
8247 short int var4
/* : Bool */;
8248 val
* var5
/* : nullable Object */;
8249 val
* var_mclasstype
/* var mclasstype: MClassType */;
8250 val
* var6
/* : MClass */;
8251 val
* var8
/* : MClass */;
8252 val
* var9
/* : nullable Object */;
8253 val
* var_mtypes
/* var mtypes: Set[MType] */;
8254 val
* var10
/* : Array[nullable MType] */;
8255 val
* var_table
/* var table: Array[nullable MType] */;
8256 val
* var_11
/* var : Set[MType] */;
8257 val
* var12
/* : Iterator[nullable Object] */;
8258 val
* var_13
/* var : Iterator[MType] */;
8259 short int var14
/* : Bool */;
8260 val
* var16
/* : nullable Object */;
8261 val
* var_mtype
/* var mtype: MType */;
8262 val
* var17
/* : Map[MType, Int] */;
8263 val
* var19
/* : Map[MType, Int] */;
8264 val
* var20
/* : nullable Object */;
8265 long var21
/* : Int */;
8266 long var_color
/* var color: Int */;
8267 long var22
/* : Int */;
8268 long var24
/* : Int */;
8269 short int var25
/* : Bool */;
8270 short int var27
/* : Bool */;
8273 const char* var_class_name
;
8274 short int var28
/* : Bool */;
8275 long var29
/* : Int */;
8276 long var31
/* : Int */;
8277 long var_i
/* var i: Int */;
8278 long var_32
/* var : Int */;
8279 short int var33
/* : Bool */;
8280 short int var35
/* : Bool */;
8283 const char* var_class_name38
;
8284 short int var39
/* : Bool */;
8285 long var41
/* : Int */;
8288 var1
= NEW_core__HashMap(&type_core__HashMap__nitc__MClassType__core__Array__nullable__nitc__MType
);
8290 core___core__HashMap___core__kernel__Object__init(var1
); /* Direct call hash_collection$HashMap$init on <var1:HashMap[MClassType, Array[nullable MType]]>*/
8293 var_
= var_elements
;
8295 var2
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Set[MClassType]>*/
8300 var4
= ((short int(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_3
); /* is_ok on <var_3:Iterator[MClassType]>*/
8307 var5
= ((val
*(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_3
); /* item on <var_3:Iterator[MClassType]>*/
8309 var_mclasstype
= var5
;
8311 { /* Inline model$MClassType$mclass (var_mclasstype) on <var_mclasstype:MClassType> */
8312 var8
= var_mclasstype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_mclasstype:MClassType> */
8313 if (unlikely(var8
== NULL
)) {
8314 if(catchStack
.cursor
>= 0){
8315 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8317 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8318 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
8326 var9
= ((val
*(*)(val
* self
, val
* p0
))((((long)var_map
&3)?class_info
[((long)var_map
&3)]:var_map
->class)->vft
[COLOR_core__abstract_collection__MapRead___91d_93d
]))(var_map
, var6
); /* [] on <var_map:Map[MClass, Set[MType]]>*/
8329 var10
= NEW_core__Array(&type_core__Array__nullable__nitc__MType
);
8331 core___core__Array___core__kernel__Object__init(var10
); /* Direct call array$Array$init on <var10:Array[nullable MType]>*/
8334 var_11
= var_mtypes
;
8336 var12
= ((val
*(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_11
); /* iterator on <var_11:Set[MType]>*/
8341 var14
= ((short int(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_13
); /* is_ok on <var_13:Iterator[MType]>*/
8348 var16
= ((val
*(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_13
); /* item on <var_13:Iterator[MType]>*/
8352 { /* Inline separate_compiler$SeparateCompiler$opentype_colors (self) on <self:SeparateCompiler> */
8353 var19
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___opentype_colors
].val
; /* _opentype_colors on <self:SeparateCompiler> */
8354 if (unlikely(var19
== NULL
)) {
8355 if(catchStack
.cursor
>= 0){
8356 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8358 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opentype_colors");
8359 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 151);
8363 RET_LABEL18
:(void)0;
8367 var20
= ((val
*(*)(val
* self
, val
* p0
))((((long)var17
&3)?class_info
[((long)var17
&3)]:var17
->class)->vft
[COLOR_core__abstract_collection__MapRead___91d_93d
]))(var17
, var_mtype
); /* [] on <var17:Map[MType, Int]>*/
8369 var21
= (long)(var20
)>>2;
8372 { /* Inline array$AbstractArrayRead$length (var_table) on <var_table:Array[nullable MType]> */
8373 var24
= var_table
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_table:Array[nullable MType]> */
8375 RET_LABEL23
:(void)0;
8379 { /* Inline kernel$Int$<= (var22,var_color) on <var22:Int> */
8380 /* Covariant cast for argument 0 (i) <var_color:Int> isa OTHER */
8381 /* <var_color:Int> isa OTHER */
8382 var27
= 1; /* easy <var_color:Int> isa OTHER*/
8383 if (unlikely(!var27
)) {
8384 var_class_name
= type_core__Int
.name
;
8385 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
8386 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 724);
8389 var28
= var22
<= var_color
;
8392 RET_LABEL26
:(void)0;
8397 { /* Inline array$AbstractArrayRead$length (var_table) on <var_table:Array[nullable MType]> */
8398 var31
= var_table
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_table:Array[nullable MType]> */
8400 RET_LABEL30
:(void)0;
8407 { /* Inline kernel$Int$< (var_i,var_32) on <var_i:Int> */
8408 /* Covariant cast for argument 0 (i) <var_32:Int> isa OTHER */
8409 /* <var_32:Int> isa OTHER */
8410 var35
= 1; /* easy <var_32:Int> isa OTHER*/
8411 if (unlikely(!var35
)) {
8412 var_class_name38
= type_core__Int
.name
;
8413 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name38
);
8414 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
8417 var39
= var_i
< var_32
;
8420 RET_LABEL34
:(void)0;
8428 core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_table
, var_i
, ((val
*)NULL
)); /* Direct call array$Array$[]= on <var_table:Array[nullable MType]>*/
8431 var41
= core___core__Int___Discrete__successor(var_i
, 1l);
8435 BREAK_label40
: (void)0;
8439 core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_table
, var_color
, var_mtype
); /* Direct call array$Array$[]= on <var_table:Array[nullable MType]>*/
8442 ((void(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_13
); /* next on <var_13:Iterator[MType]>*/
8445 BREAK_label15
: (void)0;
8447 ((void(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_13
); /* finish on <var_13:Iterator[MType]>*/
8450 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_tables
, var_mclasstype
, var_table
); /* Direct call hash_collection$HashMap$[]= on <var_tables:HashMap[MClassType, Array[nullable MType]]>*/
8453 ((void(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_3
); /* next on <var_3:Iterator[MClassType]>*/
8456 BREAK_label
: (void)0;
8458 ((void(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_3
); /* finish on <var_3:Iterator[MClassType]>*/
8465 /* method separate_compiler$SeparateCompiler$compile_module_to_c for (self: SeparateCompiler, MModule) */
8466 void nitc___nitc__SeparateCompiler___compile_module_to_c(val
* self
, val
* p0
) {
8467 val
* var_mmodule
/* var mmodule: MModule */;
8468 val
* var
/* : MModule */;
8469 val
* var2
/* : MModule */;
8470 val
* var_old_module
/* var old_module: MModule */;
8471 val
* var4
/* : Array[MClassDef] */;
8472 val
* var6
/* : Array[MClassDef] */;
8473 val
* var_
/* var : Array[MClassDef] */;
8474 val
* var7
/* : IndexedIterator[nullable Object] */;
8475 val
* var_8
/* var : IndexedIterator[MClassDef] */;
8476 short int var9
/* : Bool */;
8477 val
* var10
/* : nullable Object */;
8478 val
* var_cd
/* var cd: MClassDef */;
8479 val
* var11
/* : Array[MPropDef] */;
8480 val
* var13
/* : Array[MPropDef] */;
8481 val
* var_14
/* var : Array[MPropDef] */;
8482 val
* var15
/* : IndexedIterator[nullable Object] */;
8483 val
* var_16
/* var : IndexedIterator[MPropDef] */;
8484 short int var17
/* : Bool */;
8485 val
* var19
/* : nullable Object */;
8486 val
* var_pd
/* var pd: MPropDef */;
8487 short int var20
/* : Bool */;
8490 short int var21
/* : Bool */;
8491 short int var23
/* : Bool */;
8492 short int var24
/* : Bool */;
8493 val
* var25
/* : MProperty */;
8494 val
* var27
/* : MProperty */;
8495 short int var28
/* : Bool */;
8496 short int var30
/* : Bool */;
8497 short int var_31
/* var : Bool */;
8498 short int var32
/* : Bool */;
8499 short int var34
/* : Bool */;
8500 short int var_35
/* var : Bool */;
8501 val
* var36
/* : nullable MSignature */;
8502 val
* var38
/* : nullable MSignature */;
8503 short int var39
/* : Bool */;
8504 short int var40
/* : Bool */;
8505 val
* var_other
/* var other: nullable Object */;
8506 short int var42
/* : Bool */;
8507 short int var44
/* : Bool */;
8508 val
* var45
/* : nullable RapidTypeAnalysis */;
8509 val
* var47
/* : nullable RapidTypeAnalysis */;
8510 val
* var_rta
/* var rta: nullable RapidTypeAnalysis */;
8511 short int var48
/* : Bool */;
8512 short int var49
/* : Bool */;
8513 val
* var50
/* : ModelBuilder */;
8514 val
* var52
/* : ModelBuilder */;
8515 val
* var53
/* : ToolContext */;
8516 val
* var55
/* : ToolContext */;
8517 val
* var56
/* : OptionBool */;
8518 val
* var58
/* : OptionBool */;
8519 val
* var59
/* : nullable Object */;
8520 val
* var61
/* : nullable Object */;
8521 short int var62
/* : Bool */;
8522 short int var_63
/* var : Bool */;
8523 short int var64
/* : Bool */;
8524 short int var65
/* : Bool */;
8525 val
* var_other67
/* var other: nullable Object */;
8526 short int var68
/* : Bool */;
8527 short int var69
/* : Bool */;
8528 short int var_70
/* var : Bool */;
8529 val
* var71
/* : HashSet[MMethodDef] */;
8530 val
* var73
/* : HashSet[MMethodDef] */;
8531 short int var74
/* : Bool */;
8532 short int var75
/* : Bool */;
8533 val
* var76
/* : SeparateRuntimeFunction */;
8534 val
* var_r
/* var r: SeparateRuntimeFunction */;
8535 val
* var77
/* : SeparateRuntimeFunction */;
8536 val
* var_r2
/* var r2: SeparateRuntimeFunction */;
8537 short int var78
/* : Bool */;
8538 short int var80
/* : Bool */;
8539 short int var81
/* : Bool */;
8540 val
* var82
/* : ModelBuilder */;
8541 val
* var84
/* : ModelBuilder */;
8542 val
* var85
/* : ToolContext */;
8543 val
* var87
/* : ToolContext */;
8544 val
* var88
/* : OptionBool */;
8545 val
* var90
/* : OptionBool */;
8546 val
* var91
/* : nullable Object */;
8547 val
* var93
/* : nullable Object */;
8548 short int var94
/* : Bool */;
8551 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateCompiler> */
8552 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
8553 if (unlikely(var2
== NULL
)) {
8554 if(catchStack
.cursor
>= 0){
8555 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8557 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
8558 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
8565 var_old_module
= var
;
8567 { /* Inline abstract_compiler$AbstractCompiler$mainmodule= (self,var_mmodule) on <self:SeparateCompiler> */
8568 self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
= var_mmodule
; /* _mainmodule on <self:SeparateCompiler> */
8573 { /* Inline model$MModule$mclassdefs (var_mmodule) on <var_mmodule:MModule> */
8574 var6
= var_mmodule
->attrs
[COLOR_nitc__model__MModule___mclassdefs
].val
; /* _mclassdefs on <var_mmodule:MModule> */
8575 if (unlikely(var6
== NULL
)) {
8576 if(catchStack
.cursor
>= 0){
8577 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8579 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
8580 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 150);
8589 var7
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
8594 var9
= ((short int(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_8
); /* is_ok on <var_8:IndexedIterator[MClassDef]>*/
8601 var10
= ((val
*(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_8
); /* item on <var_8:IndexedIterator[MClassDef]>*/
8605 { /* Inline model$MClassDef$mpropdefs (var_cd) on <var_cd:MClassDef> */
8606 var13
= var_cd
->attrs
[COLOR_nitc__model__MClassDef___mpropdefs
].val
; /* _mpropdefs on <var_cd:MClassDef> */
8607 if (unlikely(var13
== NULL
)) {
8608 if(catchStack
.cursor
>= 0){
8609 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8611 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
8612 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 723);
8616 RET_LABEL12
:(void)0;
8621 var15
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_14
);
8626 var17
= ((short int(*)(val
* self
))((((long)var_16
&3)?class_info
[((long)var_16
&3)]:var_16
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_16
); /* is_ok on <var_16:IndexedIterator[MPropDef]>*/
8633 var19
= ((val
*(*)(val
* self
))((((long)var_16
&3)?class_info
[((long)var_16
&3)]:var_16
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_16
); /* item on <var_16:IndexedIterator[MPropDef]>*/
8636 /* <var_pd:MPropDef> isa MMethodDef */
8637 cltype
= type_nitc__MMethodDef
.color
;
8638 idtype
= type_nitc__MMethodDef
.id
;
8639 if(cltype
>= var_pd
->type
->table_size
) {
8642 var20
= var_pd
->type
->type_table
[cltype
] == idtype
;
8650 { /* Inline model$MPropDef$mproperty (var_pd) on <var_pd:MPropDef(MMethodDef)> */
8651 var27
= var_pd
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var_pd:MPropDef(MMethodDef)> */
8652 if (unlikely(var27
== NULL
)) {
8653 if(catchStack
.cursor
>= 0){
8654 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8656 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8657 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2357);
8661 RET_LABEL26
:(void)0;
8665 { /* Inline model_base$MEntity$is_broken (var25) on <var25:MProperty(MMethod)> */
8666 var30
= var25
->attrs
[COLOR_nitc__model_base__MEntity___is_broken
].s
; /* _is_broken on <var25:MProperty(MMethod)> */
8668 RET_LABEL29
:(void)0;
8676 { /* Inline model_base$MEntity$is_broken (var_pd) on <var_pd:MPropDef(MMethodDef)> */
8677 var34
= var_pd
->attrs
[COLOR_nitc__model_base__MEntity___is_broken
].s
; /* _is_broken on <var_pd:MPropDef(MMethodDef)> */
8679 RET_LABEL33
:(void)0;
8689 { /* Inline model$MMethodDef$msignature (var_pd) on <var_pd:MPropDef(MMethodDef)> */
8690 var38
= var_pd
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var_pd:MPropDef(MMethodDef)> */
8692 RET_LABEL37
:(void)0;
8695 if (var36
== NULL
) {
8696 var39
= 1; /* is null */
8698 var39
= 0; /* arg is null but recv is not */
8701 { /* Inline kernel$Object$== (var36,((val*)NULL)) on <var36:nullable MSignature> */
8702 var_other
= ((val
*)NULL
);
8704 { /* Inline kernel$Object$is_same_instance (var36,var_other) on <var36:nullable MSignature(MSignature)> */
8705 var44
= var36
== var_other
;
8708 RET_LABEL43
:(void)0;
8713 RET_LABEL41
:(void)0;
8724 { /* Inline separate_compiler$SeparateCompiler$runtime_type_analysis (self) on <self:SeparateCompiler> */
8725 var47
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <self:SeparateCompiler> */
8727 RET_LABEL46
:(void)0;
8732 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:SeparateCompiler> */
8733 var52
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
8734 if (unlikely(var52
== NULL
)) {
8735 if(catchStack
.cursor
>= 0){
8736 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8738 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8739 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 552);
8743 RET_LABEL51
:(void)0;
8747 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var50) on <var50:ModelBuilder> */
8748 var55
= var50
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var50:ModelBuilder> */
8749 if (unlikely(var55
== NULL
)) {
8750 if(catchStack
.cursor
>= 0){
8751 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8753 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8754 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
8758 RET_LABEL54
:(void)0;
8762 { /* Inline separate_compiler$ToolContext$opt_skip_dead_methods (var53) on <var53:ToolContext> */
8763 var58
= var53
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_skip_dead_methods
].val
; /* _opt_skip_dead_methods on <var53:ToolContext> */
8764 if (unlikely(var58
== NULL
)) {
8765 if(catchStack
.cursor
>= 0){
8766 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8768 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_skip_dead_methods");
8769 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 54);
8773 RET_LABEL57
:(void)0;
8777 { /* Inline opts$Option$value (var56) on <var56:OptionBool> */
8778 var61
= var56
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var56:OptionBool> */
8780 RET_LABEL60
:(void)0;
8783 var62
= (short int)((long)(var59
)>>2);
8786 if (var_rta
== NULL
) {
8787 var64
= 0; /* is null */
8789 var64
= 1; /* arg is null and recv is not */
8792 { /* Inline kernel$Object$!= (var_rta,((val*)NULL)) on <var_rta:nullable RapidTypeAnalysis> */
8793 var_other67
= ((val
*)NULL
);
8795 var68
= ((short int(*)(val
* self
, val
* p0
))(var_rta
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_rta
, var_other67
); /* == on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)>*/
8800 RET_LABEL66
:(void)0;
8811 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_methoddefs (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
8812 var73
= var_rta
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_methoddefs
].val
; /* _live_methoddefs on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
8813 if (unlikely(var73
== NULL
)) {
8814 if(catchStack
.cursor
>= 0){
8815 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8817 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_methoddefs");
8818 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 79);
8822 RET_LABEL72
:(void)0;
8826 var74
= core___core__HashSet___core__abstract_collection__Collection__has(var71
, var_pd
);
8838 var76
= nitc__separate_compiler___MMethodDef___separate_runtime_function(var_pd
);
8842 nitc___nitc__SeparateRuntimeFunction___nitc__abstract_compiler__AbstractRuntimeFunction__compile_to_c(var_r
, self
); /* Direct call separate_compiler$SeparateRuntimeFunction$compile_to_c on <var_r:SeparateRuntimeFunction>*/
8845 var77
= nitc__separate_compiler___MMethodDef___virtual_runtime_function(var_pd
);
8849 { /* Inline kernel$Object$!= (var_r2,var_r) on <var_r2:SeparateRuntimeFunction> */
8850 var_other67
= var_r
;
8852 var80
= ((short int(*)(val
* self
, val
* p0
))(var_r2
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_r2
, var_other67
); /* == on <var_r2:SeparateRuntimeFunction>*/
8857 RET_LABEL79
:(void)0;
8862 nitc___nitc__SeparateRuntimeFunction___nitc__abstract_compiler__AbstractRuntimeFunction__compile_to_c(var_r2
, self
); /* Direct call separate_compiler$SeparateRuntimeFunction$compile_to_c on <var_r2:SeparateRuntimeFunction>*/
8867 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:SeparateCompiler> */
8868 var84
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
8869 if (unlikely(var84
== NULL
)) {
8870 if(catchStack
.cursor
>= 0){
8871 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8873 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8874 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 552);
8878 RET_LABEL83
:(void)0;
8882 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var82) on <var82:ModelBuilder> */
8883 var87
= var82
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var82:ModelBuilder> */
8884 if (unlikely(var87
== NULL
)) {
8885 if(catchStack
.cursor
>= 0){
8886 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8888 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8889 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
8893 RET_LABEL86
:(void)0;
8897 { /* Inline separate_compiler$ToolContext$opt_trampoline_call (var85) on <var85:ToolContext> */
8898 var90
= var85
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_trampoline_call
].val
; /* _opt_trampoline_call on <var85:ToolContext> */
8899 if (unlikely(var90
== NULL
)) {
8900 if(catchStack
.cursor
>= 0){
8901 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8903 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_trampoline_call");
8904 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 37);
8908 RET_LABEL89
:(void)0;
8912 { /* Inline opts$Option$value (var88) on <var88:OptionBool> */
8913 var93
= var88
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var88:OptionBool> */
8915 RET_LABEL92
:(void)0;
8918 var94
= (short int)((long)(var91
)>>2);
8921 nitc___nitc__SeparateRuntimeFunction___compile_trampolines(var_r2
, self
); /* Direct call separate_compiler$SeparateRuntimeFunction$compile_trampolines on <var_r2:SeparateRuntimeFunction>*/
8925 BREAK_label22
: (void)0;
8927 ((void(*)(val
* self
))((((long)var_16
&3)?class_info
[((long)var_16
&3)]:var_16
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_16
); /* next on <var_16:IndexedIterator[MPropDef]>*/
8930 BREAK_label18
: (void)0;
8932 ((void(*)(val
* self
))((((long)var_16
&3)?class_info
[((long)var_16
&3)]:var_16
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_16
); /* finish on <var_16:IndexedIterator[MPropDef]>*/
8935 ((void(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_8
); /* next on <var_8:IndexedIterator[MClassDef]>*/
8938 BREAK_label
: (void)0;
8940 ((void(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_8
); /* finish on <var_8:IndexedIterator[MClassDef]>*/
8943 { /* Inline abstract_compiler$AbstractCompiler$mainmodule= (self,var_old_module) on <self:SeparateCompiler> */
8944 self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
= var_old_module
; /* _mainmodule on <self:SeparateCompiler> */
8945 RET_LABEL95
:(void)0;
8950 /* method separate_compiler$SeparateCompiler$link_mmethods for (self: SeparateCompiler) */
8951 void nitc___nitc__SeparateCompiler___link_mmethods(val
* self
) {
8952 short int var
/* : Bool */;
8953 val
* var1
/* : ModelBuilder */;
8954 val
* var3
/* : ModelBuilder */;
8955 val
* var4
/* : ToolContext */;
8956 val
* var6
/* : ToolContext */;
8957 val
* var7
/* : OptionBool */;
8958 val
* var9
/* : OptionBool */;
8959 val
* var10
/* : nullable Object */;
8960 val
* var12
/* : nullable Object */;
8961 short int var13
/* : Bool */;
8962 short int var14
/* : Bool */;
8963 short int var_
/* var : Bool */;
8964 val
* var15
/* : ModelBuilder */;
8965 val
* var17
/* : ModelBuilder */;
8966 val
* var18
/* : ToolContext */;
8967 val
* var20
/* : ToolContext */;
8968 val
* var21
/* : OptionBool */;
8969 val
* var23
/* : OptionBool */;
8970 val
* var24
/* : nullable Object */;
8971 val
* var26
/* : nullable Object */;
8972 short int var27
/* : Bool */;
8973 short int var28
/* : Bool */;
8974 val
* var29
/* : MModule */;
8975 val
* var31
/* : MModule */;
8976 val
* var32
/* : POSetElement[MModule] */;
8977 val
* var34
/* : POSetElement[MModule] */;
8978 val
* var35
/* : Collection[nullable Object] */;
8979 val
* var_36
/* var : Collection[MModule] */;
8980 val
* var37
/* : Iterator[nullable Object] */;
8981 val
* var_38
/* var : Iterator[MModule] */;
8982 short int var39
/* : Bool */;
8983 val
* var40
/* : nullable Object */;
8984 val
* var_mmodule
/* var mmodule: MModule */;
8985 val
* var41
/* : Array[MClassDef] */;
8986 val
* var43
/* : Array[MClassDef] */;
8987 val
* var_44
/* var : Array[MClassDef] */;
8988 val
* var45
/* : IndexedIterator[nullable Object] */;
8989 val
* var_46
/* var : IndexedIterator[MClassDef] */;
8990 short int var47
/* : Bool */;
8991 val
* var49
/* : nullable Object */;
8992 val
* var_cd
/* var cd: MClassDef */;
8993 val
* var50
/* : Array[MProperty] */;
8994 val
* var52
/* : Array[MProperty] */;
8995 val
* var_53
/* var : Array[MProperty] */;
8996 val
* var54
/* : IndexedIterator[nullable Object] */;
8997 val
* var_55
/* var : IndexedIterator[MProperty] */;
8998 short int var56
/* : Bool */;
8999 val
* var58
/* : nullable Object */;
9000 val
* var_m
/* var m: MProperty */;
9001 short int var59
/* : Bool */;
9004 short int var60
/* : Bool */;
9006 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:SeparateCompiler> */
9007 var3
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
9008 if (unlikely(var3
== NULL
)) {
9009 if(catchStack
.cursor
>= 0){
9010 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9012 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
9013 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 552);
9021 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var1) on <var1:ModelBuilder> */
9022 var6
= var1
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var1:ModelBuilder> */
9023 if (unlikely(var6
== NULL
)) {
9024 if(catchStack
.cursor
>= 0){
9025 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9027 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
9028 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
9036 { /* Inline separate_compiler$ToolContext$opt_substitute_monomorph (var4) on <var4:ToolContext> */
9037 var9
= var4
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_substitute_monomorph
].val
; /* _opt_substitute_monomorph on <var4:ToolContext> */
9038 if (unlikely(var9
== NULL
)) {
9039 if(catchStack
.cursor
>= 0){
9040 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9042 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_substitute_monomorph");
9043 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 41);
9051 { /* Inline opts$Option$value (var7) on <var7:OptionBool> */
9052 var12
= var7
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var7:OptionBool> */
9054 RET_LABEL11
:(void)0;
9057 var13
= (short int)((long)(var10
)>>2);
9062 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:SeparateCompiler> */
9063 var17
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
9064 if (unlikely(var17
== NULL
)) {
9065 if(catchStack
.cursor
>= 0){
9066 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9068 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
9069 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 552);
9073 RET_LABEL16
:(void)0;
9077 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var15) on <var15:ModelBuilder> */
9078 var20
= var15
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var15:ModelBuilder> */
9079 if (unlikely(var20
== NULL
)) {
9080 if(catchStack
.cursor
>= 0){
9081 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9083 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
9084 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
9088 RET_LABEL19
:(void)0;
9092 { /* Inline separate_compiler$ToolContext$opt_guard_call (var18) on <var18:ToolContext> */
9093 var23
= var18
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_guard_call
].val
; /* _opt_guard_call on <var18:ToolContext> */
9094 if (unlikely(var23
== NULL
)) {
9095 if(catchStack
.cursor
>= 0){
9096 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9098 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_guard_call");
9099 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 39);
9103 RET_LABEL22
:(void)0;
9107 { /* Inline opts$Option$value (var21) on <var21:OptionBool> */
9108 var26
= var21
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var21:OptionBool> */
9110 RET_LABEL25
:(void)0;
9113 var27
= (short int)((long)(var24
)>>2);
9124 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateCompiler> */
9125 var31
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
9126 if (unlikely(var31
== NULL
)) {
9127 if(catchStack
.cursor
>= 0){
9128 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9130 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
9131 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
9135 RET_LABEL30
:(void)0;
9139 { /* Inline mmodule$MModule$in_importation (var29) on <var29:MModule> */
9140 var34
= var29
->attrs
[COLOR_nitc__mmodule__MModule___in_importation
].val
; /* _in_importation on <var29:MModule> */
9141 if (unlikely(var34
== NULL
)) {
9142 if(catchStack
.cursor
>= 0){
9143 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9145 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
9146 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 108);
9150 RET_LABEL33
:(void)0;
9154 var35
= poset___poset__POSetElement___greaters(var32
);
9158 var37
= ((val
*(*)(val
* self
))((((long)var_36
&3)?class_info
[((long)var_36
&3)]:var_36
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_36
); /* iterator on <var_36:Collection[MModule]>*/
9163 var39
= ((short int(*)(val
* self
))((((long)var_38
&3)?class_info
[((long)var_38
&3)]:var_38
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_38
); /* is_ok on <var_38:Iterator[MModule]>*/
9170 var40
= ((val
*(*)(val
* self
))((((long)var_38
&3)?class_info
[((long)var_38
&3)]:var_38
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_38
); /* item on <var_38:Iterator[MModule]>*/
9172 var_mmodule
= var40
;
9174 { /* Inline model$MModule$mclassdefs (var_mmodule) on <var_mmodule:MModule> */
9175 var43
= var_mmodule
->attrs
[COLOR_nitc__model__MModule___mclassdefs
].val
; /* _mclassdefs on <var_mmodule:MModule> */
9176 if (unlikely(var43
== NULL
)) {
9177 if(catchStack
.cursor
>= 0){
9178 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9180 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
9181 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 150);
9185 RET_LABEL42
:(void)0;
9190 var45
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_44
);
9195 var47
= ((short int(*)(val
* self
))((((long)var_46
&3)?class_info
[((long)var_46
&3)]:var_46
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_46
); /* is_ok on <var_46:IndexedIterator[MClassDef]>*/
9202 var49
= ((val
*(*)(val
* self
))((((long)var_46
&3)?class_info
[((long)var_46
&3)]:var_46
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_46
); /* item on <var_46:IndexedIterator[MClassDef]>*/
9206 { /* Inline model$MClassDef$intro_mproperties (var_cd) on <var_cd:MClassDef> */
9207 var52
= var_cd
->attrs
[COLOR_nitc__model__MClassDef___intro_mproperties
].val
; /* _intro_mproperties on <var_cd:MClassDef> */
9208 if (unlikely(var52
== NULL
)) {
9209 if(catchStack
.cursor
>= 0){
9210 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9212 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mproperties");
9213 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 720);
9217 RET_LABEL51
:(void)0;
9222 var54
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_53
);
9227 var56
= ((short int(*)(val
* self
))((((long)var_55
&3)?class_info
[((long)var_55
&3)]:var_55
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_55
); /* is_ok on <var_55:IndexedIterator[MProperty]>*/
9234 var58
= ((val
*(*)(val
* self
))((((long)var_55
&3)?class_info
[((long)var_55
&3)]:var_55
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_55
); /* item on <var_55:IndexedIterator[MProperty]>*/
9237 /* <var_m:MProperty> isa MMethod */
9238 cltype
= type_nitc__MMethod
.color
;
9239 idtype
= type_nitc__MMethod
.id
;
9240 if(cltype
>= var_m
->type
->table_size
) {
9243 var59
= var_m
->type
->type_table
[cltype
] == idtype
;
9251 nitc___nitc__SeparateCompiler___link_mmethod(self
, var_m
); /* Direct call separate_compiler$SeparateCompiler$link_mmethod on <self:SeparateCompiler>*/
9253 BREAK_label61
: (void)0;
9255 ((void(*)(val
* self
))((((long)var_55
&3)?class_info
[((long)var_55
&3)]:var_55
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_55
); /* next on <var_55:IndexedIterator[MProperty]>*/
9258 BREAK_label57
: (void)0;
9260 ((void(*)(val
* self
))((((long)var_55
&3)?class_info
[((long)var_55
&3)]:var_55
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_55
); /* finish on <var_55:IndexedIterator[MProperty]>*/
9263 ((void(*)(val
* self
))((((long)var_46
&3)?class_info
[((long)var_46
&3)]:var_46
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_46
); /* next on <var_46:IndexedIterator[MClassDef]>*/
9266 BREAK_label48
: (void)0;
9268 ((void(*)(val
* self
))((((long)var_46
&3)?class_info
[((long)var_46
&3)]:var_46
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_46
); /* finish on <var_46:IndexedIterator[MClassDef]>*/
9271 ((void(*)(val
* self
))((((long)var_38
&3)?class_info
[((long)var_38
&3)]:var_38
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_38
); /* next on <var_38:Iterator[MModule]>*/
9274 BREAK_label
: (void)0;
9276 ((void(*)(val
* self
))((((long)var_38
&3)?class_info
[((long)var_38
&3)]:var_38
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_38
); /* finish on <var_38:Iterator[MModule]>*/
9280 /* method separate_compiler$SeparateCompiler$link_mmethod for (self: SeparateCompiler, MMethod) */
9281 void nitc___nitc__SeparateCompiler___link_mmethod(val
* self
, val
* p0
) {
9282 val
* var_m
/* var m: MMethod */;
9283 static val
* varonce
;
9284 val
* var
/* : String */;
9285 char* var1
/* : CString */;
9286 val
* var2
/* : String */;
9287 val
* var3
/* : nullable Int */;
9288 val
* var4
/* : nullable Int */;
9289 val
* var5
/* : nullable Bool */;
9290 val
* var6
/* : nullable Bool */;
9291 val
* var7
/* : String */;
9292 val
* var8
/* : Text */;
9293 val
* var_n2
/* var n2: String */;
9294 val
* var9
/* : nullable MMethodDef */;
9295 val
* var_md
/* var md: nullable MMethodDef */;
9296 short int var10
/* : Bool */;
9297 short int var11
/* : Bool */;
9298 val
* var_other
/* var other: nullable Object */;
9299 short int var13
/* : Bool */;
9300 short int var14
/* : Bool */;
9301 val
* var15
/* : Array[String] */;
9302 val
* var17
/* : Array[String] */;
9303 val
* var19
/* : NativeArray[String] */;
9304 static val
* varonce18
;
9305 static val
* varonce20
;
9306 val
* var21
/* : String */;
9307 char* var22
/* : CString */;
9308 val
* var23
/* : String */;
9309 val
* var24
/* : nullable Int */;
9310 val
* var25
/* : nullable Int */;
9311 val
* var26
/* : nullable Bool */;
9312 val
* var27
/* : nullable Bool */;
9313 static val
* varonce28
;
9314 val
* var29
/* : String */;
9315 char* var30
/* : CString */;
9316 val
* var31
/* : String */;
9317 val
* var32
/* : nullable Int */;
9318 val
* var33
/* : nullable Int */;
9319 val
* var34
/* : nullable Bool */;
9320 val
* var35
/* : nullable Bool */;
9321 val
* var36
/* : SeparateRuntimeFunction */;
9322 val
* var37
/* : String */;
9323 val
* var38
/* : String */;
9324 val
* var39
/* : ModelBuilder */;
9325 val
* var41
/* : ModelBuilder */;
9326 val
* var42
/* : ToolContext */;
9327 val
* var44
/* : ToolContext */;
9328 val
* var45
/* : OptionBool */;
9329 val
* var47
/* : OptionBool */;
9330 val
* var48
/* : nullable Object */;
9331 val
* var50
/* : nullable Object */;
9332 short int var51
/* : Bool */;
9333 val
* var52
/* : MPropDef */;
9334 val
* var54
/* : MPropDef */;
9335 val
* var55
/* : SeparateRuntimeFunction */;
9336 val
* var_r
/* var r: SeparateRuntimeFunction */;
9337 val
* var57
/* : NativeArray[String] */;
9338 static val
* varonce56
;
9339 static val
* varonce58
;
9340 val
* var59
/* : String */;
9341 char* var60
/* : CString */;
9342 val
* var61
/* : String */;
9343 val
* var62
/* : nullable Int */;
9344 val
* var63
/* : nullable Int */;
9345 val
* var64
/* : nullable Bool */;
9346 val
* var65
/* : nullable Bool */;
9347 static val
* varonce66
;
9348 val
* var67
/* : String */;
9349 char* var68
/* : CString */;
9350 val
* var69
/* : String */;
9351 val
* var70
/* : nullable Int */;
9352 val
* var71
/* : nullable Int */;
9353 val
* var72
/* : nullable Bool */;
9354 val
* var73
/* : nullable Bool */;
9355 val
* var74
/* : String */;
9356 val
* var75
/* : String */;
9357 val
* var76
/* : String */;
9359 if (likely(varonce
!=NULL
)) {
9363 var3
= (val
*)(5l<<2|1);
9364 var4
= (val
*)(5l<<2|1);
9365 var5
= (val
*)((long)(0)<<2|3);
9366 var6
= (val
*)((long)(0)<<2|3);
9367 var2
= core__flat___CString___to_s_unsafe(var1
, var3
, var4
, var5
, var6
);
9372 var7
= nitc__separate_compiler___MEntity___const_color(var_m
);
9375 var8
= ((val
*(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_core__abstract_text__Text___43d
]))(var
, var7
); /* + on <var:String>*/
9379 var9
= nitc___nitc__SeparateCompiler___is_monomorphic(self
, var_m
);
9382 if (var_md
== NULL
) {
9383 var10
= 0; /* is null */
9385 var10
= 1; /* arg is null and recv is not */
9388 { /* Inline kernel$Object$!= (var_md,((val*)NULL)) on <var_md:nullable MMethodDef> */
9389 var_other
= ((val
*)NULL
);
9391 var13
= ((short int(*)(val
* self
, val
* p0
))(var_md
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_md
, var_other
); /* == on <var_md:nullable MMethodDef(MMethodDef)>*/
9396 RET_LABEL12
:(void)0;
9402 { /* Inline abstract_compiler$AbstractCompiler$linker_script (self) on <self:SeparateCompiler> */
9403 var17
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___linker_script
].val
; /* _linker_script on <self:SeparateCompiler> */
9404 if (unlikely(var17
== NULL
)) {
9405 if(catchStack
.cursor
>= 0){
9406 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9408 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _linker_script");
9409 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 602);
9413 RET_LABEL16
:(void)0;
9416 if (unlikely(varonce18
==NULL
)) {
9417 var19
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
9418 if (likely(varonce20
!=NULL
)) {
9422 var24
= (val
*)(3l<<2|1);
9423 var25
= (val
*)(3l<<2|1);
9424 var26
= (val
*)((long)(0)<<2|3);
9425 var27
= (val
*)((long)(0)<<2|3);
9426 var23
= core__flat___CString___to_s_unsafe(var22
, var24
, var25
, var26
, var27
);
9430 ((struct instance_core__NativeArray
*)var19
)->values
[1]=var21
;
9431 if (likely(varonce28
!=NULL
)) {
9435 var32
= (val
*)(1l<<2|1);
9436 var33
= (val
*)(1l<<2|1);
9437 var34
= (val
*)((long)(0)<<2|3);
9438 var35
= (val
*)((long)(0)<<2|3);
9439 var31
= core__flat___CString___to_s_unsafe(var30
, var32
, var33
, var34
, var35
);
9443 ((struct instance_core__NativeArray
*)var19
)->values
[3]=var29
;
9448 ((struct instance_core__NativeArray
*)var19
)->values
[0]=var_n2
;
9450 var36
= nitc__separate_compiler___MMethodDef___virtual_runtime_function(var_md
);
9453 var37
= nitc___nitc__AbstractRuntimeFunction___c_name(var36
);
9455 ((struct instance_core__NativeArray
*)var19
)->values
[2]=var37
;
9457 var38
= ((val
*(*)(val
* self
))(var19
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var19
); /* native_to_s on <var19:NativeArray[String]>*/
9461 core___core__Array___core__abstract_collection__SimpleCollection__add(var15
, var38
); /* Direct call array$Array$add on <var15:Array[String]>*/
9466 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:SeparateCompiler> */
9467 var41
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
9468 if (unlikely(var41
== NULL
)) {
9469 if(catchStack
.cursor
>= 0){
9470 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9472 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
9473 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 552);
9477 RET_LABEL40
:(void)0;
9481 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var39) on <var39:ModelBuilder> */
9482 var44
= var39
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var39:ModelBuilder> */
9483 if (unlikely(var44
== NULL
)) {
9484 if(catchStack
.cursor
>= 0){
9485 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9487 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
9488 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
9492 RET_LABEL43
:(void)0;
9496 { /* Inline separate_compiler$ToolContext$opt_guard_call (var42) on <var42:ToolContext> */
9497 var47
= var42
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_guard_call
].val
; /* _opt_guard_call on <var42:ToolContext> */
9498 if (unlikely(var47
== NULL
)) {
9499 if(catchStack
.cursor
>= 0){
9500 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9502 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_guard_call");
9503 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 39);
9507 RET_LABEL46
:(void)0;
9511 { /* Inline opts$Option$value (var45) on <var45:OptionBool> */
9512 var50
= var45
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var45:OptionBool> */
9514 RET_LABEL49
:(void)0;
9517 var51
= (short int)((long)(var48
)>>2);
9520 { /* Inline model$MProperty$intro (var_m) on <var_m:MMethod> */
9521 var54
= var_m
->attrs
[COLOR_nitc__model__MProperty___intro
].val
; /* _intro on <var_m:MMethod> */
9522 if (unlikely(var54
== NULL
)) {
9523 if(catchStack
.cursor
>= 0){
9524 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9526 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
9527 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2097);
9531 RET_LABEL53
:(void)0;
9535 var55
= nitc__separate_compiler___MMethodDef___virtual_runtime_function(var52
);
9538 if (unlikely(varonce56
==NULL
)) {
9539 var57
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
9540 if (likely(varonce58
!=NULL
)) {
9544 var62
= (val
*)(1l<<2|1);
9545 var63
= (val
*)(1l<<2|1);
9546 var64
= (val
*)((long)(0)<<2|3);
9547 var65
= (val
*)((long)(0)<<2|3);
9548 var61
= core__flat___CString___to_s_unsafe(var60
, var62
, var63
, var64
, var65
);
9552 ((struct instance_core__NativeArray
*)var57
)->values
[1]=var59
;
9553 if (likely(varonce66
!=NULL
)) {
9556 var68
= " __attribute__((weak));";
9557 var70
= (val
*)(23l<<2|1);
9558 var71
= (val
*)(23l<<2|1);
9559 var72
= (val
*)((long)(0)<<2|3);
9560 var73
= (val
*)((long)(0)<<2|3);
9561 var69
= core__flat___CString___to_s_unsafe(var68
, var70
, var71
, var72
, var73
);
9565 ((struct instance_core__NativeArray
*)var57
)->values
[4]=var67
;
9571 var74
= nitc___nitc__SeparateRuntimeFunction___c_ret(var_r
);
9573 ((struct instance_core__NativeArray
*)var57
)->values
[0]=var74
;
9574 ((struct instance_core__NativeArray
*)var57
)->values
[2]=var_n2
;
9576 var75
= nitc___nitc__SeparateRuntimeFunction___c_sig(var_r
);
9578 ((struct instance_core__NativeArray
*)var57
)->values
[3]=var75
;
9580 var76
= ((val
*(*)(val
* self
))(var57
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var57
); /* native_to_s on <var57:NativeArray[String]>*/
9584 nitc___nitc__AbstractCompiler___provide_declaration(self
, var_n2
, var76
); /* Direct call abstract_compiler$AbstractCompiler$provide_declaration on <self:SeparateCompiler>*/
9590 /* method separate_compiler$SeparateCompiler$is_monomorphic for (self: SeparateCompiler, MMethod): nullable MMethodDef */
9591 val
* nitc___nitc__SeparateCompiler___is_monomorphic(val
* self
, val
* p0
) {
9592 val
* var
/* : nullable MMethodDef */;
9593 val
* var_m
/* var m: MMethod */;
9594 val
* var1
/* : nullable RapidTypeAnalysis */;
9595 val
* var3
/* : nullable RapidTypeAnalysis */;
9596 val
* var_rta
/* var rta: nullable RapidTypeAnalysis */;
9597 short int var4
/* : Bool */;
9598 short int var5
/* : Bool */;
9599 val
* var_other
/* var other: nullable Object */;
9600 short int var7
/* : Bool */;
9601 short int var9
/* : Bool */;
9602 val
* var10
/* : Array[MPropDef] */;
9603 val
* var12
/* : Array[MPropDef] */;
9604 long var13
/* : Int */;
9605 long var15
/* : Int */;
9606 short int var16
/* : Bool */;
9607 short int var18
/* : Bool */;
9608 val
* var19
/* : Array[MPropDef] */;
9609 val
* var21
/* : Array[MPropDef] */;
9610 val
* var22
/* : nullable Object */;
9611 val
* var_res
/* var res: nullable MMethodDef */;
9612 val
* var23
/* : Array[MPropDef] */;
9613 val
* var25
/* : Array[MPropDef] */;
9614 val
* var_
/* var : Array[MMethodDef] */;
9615 val
* var26
/* : IndexedIterator[nullable Object] */;
9616 val
* var_27
/* var : IndexedIterator[MMethodDef] */;
9617 short int var28
/* : Bool */;
9618 val
* var29
/* : nullable Object */;
9619 val
* var_md
/* var md: MMethodDef */;
9620 val
* var30
/* : HashSet[MMethodDef] */;
9621 val
* var32
/* : HashSet[MMethodDef] */;
9622 short int var33
/* : Bool */;
9623 short int var34
/* : Bool */;
9624 short int var35
/* : Bool */;
9625 val
* var_other37
/* var other: nullable Object */;
9626 short int var38
/* : Bool */;
9627 short int var39
/* : Bool */;
9630 { /* Inline separate_compiler$SeparateCompiler$runtime_type_analysis (self) on <self:SeparateCompiler> */
9631 var3
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <self:SeparateCompiler> */
9637 if (var_rta
== NULL
) {
9638 var4
= 1; /* is null */
9640 var4
= 0; /* arg is null but recv is not */
9643 { /* Inline kernel$Object$== (var_rta,((val*)NULL)) on <var_rta:nullable RapidTypeAnalysis> */
9644 var_other
= ((val
*)NULL
);
9646 { /* Inline kernel$Object$is_same_instance (var_rta,var_other) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
9647 var9
= var_rta
== var_other
;
9661 { /* Inline model$MProperty$mpropdefs (var_m) on <var_m:MMethod> */
9662 var12
= var_m
->attrs
[COLOR_nitc__model__MProperty___mpropdefs
].val
; /* _mpropdefs on <var_m:MMethod> */
9663 if (unlikely(var12
== NULL
)) {
9664 if(catchStack
.cursor
>= 0){
9665 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9667 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
9668 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2092);
9672 RET_LABEL11
:(void)0;
9676 { /* Inline array$AbstractArrayRead$length (var10) on <var10:Array[MPropDef](Array[MMethodDef])> */
9677 var15
= var10
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var10:Array[MPropDef](Array[MMethodDef])> */
9679 RET_LABEL14
:(void)0;
9683 { /* Inline kernel$Int$== (var13,1l) on <var13:Int> */
9684 var18
= var13
== 1l;
9687 RET_LABEL17
:(void)0;
9692 { /* Inline model$MProperty$mpropdefs (var_m) on <var_m:MMethod> */
9693 var21
= var_m
->attrs
[COLOR_nitc__model__MProperty___mpropdefs
].val
; /* _mpropdefs on <var_m:MMethod> */
9694 if (unlikely(var21
== NULL
)) {
9695 if(catchStack
.cursor
>= 0){
9696 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9698 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
9699 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2092);
9703 RET_LABEL20
:(void)0;
9707 var22
= core___core__SequenceRead___Collection__first(var19
);
9716 var_res
= ((val
*)NULL
);
9718 { /* Inline model$MProperty$mpropdefs (var_m) on <var_m:MMethod> */
9719 var25
= var_m
->attrs
[COLOR_nitc__model__MProperty___mpropdefs
].val
; /* _mpropdefs on <var_m:MMethod> */
9720 if (unlikely(var25
== NULL
)) {
9721 if(catchStack
.cursor
>= 0){
9722 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9724 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
9725 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2092);
9729 RET_LABEL24
:(void)0;
9734 var26
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
9739 var28
= ((short int(*)(val
* self
))((((long)var_27
&3)?class_info
[((long)var_27
&3)]:var_27
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_27
); /* is_ok on <var_27:IndexedIterator[MMethodDef]>*/
9746 var29
= ((val
*(*)(val
* self
))((((long)var_27
&3)?class_info
[((long)var_27
&3)]:var_27
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_27
); /* item on <var_27:IndexedIterator[MMethodDef]>*/
9750 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_methoddefs (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
9751 var32
= var_rta
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_methoddefs
].val
; /* _live_methoddefs on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
9752 if (unlikely(var32
== NULL
)) {
9753 if(catchStack
.cursor
>= 0){
9754 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9756 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_methoddefs");
9757 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 79);
9761 RET_LABEL31
:(void)0;
9765 var33
= core___core__HashSet___core__abstract_collection__Collection__has(var30
, var_md
);
9768 if (var_res
== NULL
) {
9769 var34
= 0; /* is null */
9771 var34
= 1; /* arg is null and recv is not */
9774 { /* Inline kernel$Object$!= (var_res,((val*)NULL)) on <var_res:nullable MMethodDef> */
9775 var_other37
= ((val
*)NULL
);
9777 var38
= ((short int(*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_res
, var_other37
); /* == on <var_res:nullable MMethodDef(MMethodDef)>*/
9782 RET_LABEL36
:(void)0;
9795 ((void(*)(val
* self
))((((long)var_27
&3)?class_info
[((long)var_27
&3)]:var_27
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_27
); /* next on <var_27:IndexedIterator[MMethodDef]>*/
9798 BREAK_label
: (void)0;
9800 ((void(*)(val
* self
))((((long)var_27
&3)?class_info
[((long)var_27
&3)]:var_27
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_27
); /* finish on <var_27:IndexedIterator[MMethodDef]>*/