1 #include "nitc__separate_erasure_compiler.sep.0.h"
2 /* method separate_erasure_compiler$ToolContext$opt_erasure for (self: ToolContext): OptionBool */
3 val
* nitc__separate_erasure_compiler___ToolContext___opt_erasure(val
* self
) {
4 val
* var
/* : OptionBool */;
5 val
* var1
/* : OptionBool */;
6 var1
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__ToolContext___opt_erasure
].val
; /* _opt_erasure 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_erasure");
12 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 22);
19 /* method separate_erasure_compiler$ToolContext$opt_rta for (self: ToolContext): OptionBool */
20 val
* nitc__separate_erasure_compiler___ToolContext___opt_rta(val
* self
) {
21 val
* var
/* : OptionBool */;
22 val
* var1
/* : OptionBool */;
23 var1
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__ToolContext___opt_rta
].val
; /* _opt_rta 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_rta");
29 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 24);
36 /* method separate_erasure_compiler$ToolContext$opt_no_check_erasure_cast for (self: ToolContext): OptionBool */
37 val
* nitc__separate_erasure_compiler___ToolContext___opt_no_check_erasure_cast(val
* self
) {
38 val
* var
/* : OptionBool */;
39 val
* var1
/* : OptionBool */;
40 var1
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__ToolContext___opt_no_check_erasure_cast
].val
; /* _opt_no_check_erasure_cast 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_check_erasure_cast");
46 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 26);
53 /* method separate_erasure_compiler$ToolContext$init for (self: ToolContext) */
54 void nitc__separate_erasure_compiler___ToolContext___core__kernel__Object__init(val
* self
) {
55 val
* var
/* : OptionContext */;
56 val
* var2
/* : OptionContext */;
57 val
* var3
/* : OptionBool */;
58 val
* var5
/* : OptionBool */;
59 val
* var6
/* : OptionBool */;
60 val
* var8
/* : OptionBool */;
61 val
* var9
/* : OptionBool */;
62 val
* var11
/* : OptionBool */;
63 val
* var12
/* : Array[Option] */;
64 val
* var13
/* : NativeArray[Option] */;
66 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc__separate_erasure_compiler___ToolContext___core__kernel__Object__init
]))(self
); /* init on <self:ToolContext>*/
69 { /* Inline toolcontext$ToolContext$option_context (self) on <self:ToolContext> */
70 var2
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
71 if (unlikely(var2
== NULL
)) {
72 if(catchStack
.cursor
>= 0){
73 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
75 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
76 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 357);
84 { /* Inline separate_erasure_compiler$ToolContext$opt_erasure (self) on <self:ToolContext> */
85 var5
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__ToolContext___opt_erasure
].val
; /* _opt_erasure on <self:ToolContext> */
86 if (unlikely(var5
== NULL
)) {
87 if(catchStack
.cursor
>= 0){
88 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
90 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_erasure");
91 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 22);
99 { /* Inline separate_erasure_compiler$ToolContext$opt_no_check_erasure_cast (self) on <self:ToolContext> */
100 var8
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__ToolContext___opt_no_check_erasure_cast
].val
; /* _opt_no_check_erasure_cast on <self:ToolContext> */
101 if (unlikely(var8
== NULL
)) {
102 if(catchStack
.cursor
>= 0){
103 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
105 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_erasure_cast");
106 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 26);
114 { /* Inline separate_erasure_compiler$ToolContext$opt_rta (self) on <self:ToolContext> */
115 var11
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__ToolContext___opt_rta
].val
; /* _opt_rta on <self:ToolContext> */
116 if (unlikely(var11
== NULL
)) {
117 if(catchStack
.cursor
>= 0){
118 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
120 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_rta");
121 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 24);
128 var12
= NEW_core__Array(&type_core__Array__opts__Option
);
129 { /* var12 = array_instance Array[Option] */
130 var13
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__opts__Option
);
131 ((struct instance_core__NativeArray
*)var13
)->values
[0] = (val
*) var3
;
132 ((struct instance_core__NativeArray
*)var13
)->values
[1] = (val
*) var6
;
133 ((struct instance_core__NativeArray
*)var13
)->values
[2] = (val
*) var9
;
135 ((void(*)(val
* self
, val
* p0
, long p1
))(var12
->class->vft
[COLOR_core__array__Array__with_native
]))(var12
, var13
, 3l); /* with_native on <var12:Array[Option]>*/
139 opts___opts__OptionContext___add_option(var
, var12
); /* Direct call opts$OptionContext$add_option on <var:OptionContext>*/
143 /* method separate_erasure_compiler$ToolContext$process_options for (self: ToolContext, Sequence[String]) */
144 void nitc__separate_erasure_compiler___ToolContext___process_options(val
* self
, val
* p0
) {
145 val
* var_args
/* var args: Sequence[String] */;
146 val
* var
/* : OptionBool */;
147 val
* var2
/* : OptionBool */;
148 val
* var3
/* : nullable Object */;
149 val
* var5
/* : nullable Object */;
150 short int var6
/* : Bool */;
151 val
* var7
/* : OptionBool */;
152 val
* var9
/* : OptionBool */;
153 short int var11
/* : Bool */;
156 const struct type
* type_struct
;
157 const char* var_class_name
;
158 val
* var12
/* : nullable Object */;
159 val
* var13
/* : OptionBool */;
160 val
* var15
/* : OptionBool */;
161 val
* var16
/* : nullable Object */;
162 val
* var18
/* : nullable Object */;
163 short int var19
/* : Bool */;
164 val
* var20
/* : OptionBool */;
165 val
* var22
/* : OptionBool */;
166 short int var24
/* : Bool */;
169 const struct type
* type_struct27
;
170 const char* var_class_name28
;
171 val
* var29
/* : nullable Object */;
174 ((void(*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nitc__separate_erasure_compiler___ToolContext___process_options
]))(self
, p0
); /* process_options on <self:ToolContext>*/
177 { /* Inline abstract_compiler$ToolContext$opt_no_check_all (self) on <self:ToolContext> */
178 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_all
].val
; /* _opt_no_check_all on <self:ToolContext> */
179 if (unlikely(var2
== NULL
)) {
180 if(catchStack
.cursor
>= 0){
181 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
183 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_all");
184 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 58);
192 { /* Inline opts$Option$value (var) on <var:OptionBool> */
193 var5
= var
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var:OptionBool> */
198 var6
= (short int)((long)(var3
)>>2);
201 { /* Inline separate_erasure_compiler$ToolContext$opt_no_check_erasure_cast (self) on <self:ToolContext> */
202 var9
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__ToolContext___opt_no_check_erasure_cast
].val
; /* _opt_no_check_erasure_cast on <self:ToolContext> */
203 if (unlikely(var9
== NULL
)) {
204 if(catchStack
.cursor
>= 0){
205 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
207 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_erasure_cast");
208 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 26);
216 { /* Inline opts$Option$value= (var7,1) on <var7:OptionBool> */
217 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
218 /* <1:Bool> isa VALUE */
219 type_struct
= var7
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
220 cltype
= type_struct
->color
;
221 idtype
= type_struct
->id
;
222 if(cltype
>= (&type_core__Bool
)->table_size
) {
225 var11
= (&type_core__Bool
)->type_table
[cltype
] == idtype
;
227 if (unlikely(!var11
)) {
228 var_class_name
= type_core__Bool
.name
;
229 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
230 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
233 var12
= (val
*)((long)(1)<<2|3);
234 var7
->attrs
[COLOR_opts__Option___value
].val
= var12
; /* _value on <var7:OptionBool> */
241 { /* Inline separate_erasure_compiler$ToolContext$opt_erasure (self) on <self:ToolContext> */
242 var15
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__ToolContext___opt_erasure
].val
; /* _opt_erasure on <self:ToolContext> */
243 if (unlikely(var15
== NULL
)) {
244 if(catchStack
.cursor
>= 0){
245 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
247 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_erasure");
248 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 22);
256 { /* Inline opts$Option$value (var13) on <var13:OptionBool> */
257 var18
= var13
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var13:OptionBool> */
262 var19
= (short int)((long)(var16
)>>2);
265 { /* Inline separate_compiler$ToolContext$opt_no_tag_primitives (self) on <self:ToolContext> */
266 var22
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_no_tag_primitives
].val
; /* _opt_no_tag_primitives on <self:ToolContext> */
267 if (unlikely(var22
== NULL
)) {
268 if(catchStack
.cursor
>= 0){
269 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
271 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_tag_primitives");
272 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 32);
280 { /* Inline opts$Option$value= (var20,1) on <var20:OptionBool> */
281 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
282 /* <1:Bool> isa VALUE */
283 type_struct27
= var20
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
284 cltype25
= type_struct27
->color
;
285 idtype26
= type_struct27
->id
;
286 if(cltype25
>= (&type_core__Bool
)->table_size
) {
289 var24
= (&type_core__Bool
)->type_table
[cltype25
] == idtype26
;
291 if (unlikely(!var24
)) {
292 var_class_name28
= type_core__Bool
.name
;
293 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name28
);
294 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
297 var29
= (val
*)((long)(1)<<2|3);
298 var20
->attrs
[COLOR_opts__Option___value
].val
= var29
; /* _value on <var20:OptionBool> */
306 /* method separate_erasure_compiler$ErasureCompilerPhase$process_mainmodule for (self: ErasureCompilerPhase, MModule, SequenceRead[MModule]) */
307 void nitc___nitc__ErasureCompilerPhase___nitc__modelbuilder__Phase__process_mainmodule(val
* self
, val
* p0
, val
* p1
) {
308 val
* var_mainmodule
/* var mainmodule: MModule */;
309 val
* var_given_mmodules
/* var given_mmodules: SequenceRead[MModule] */;
310 val
* var
/* : ToolContext */;
311 val
* var2
/* : ToolContext */;
312 val
* var3
/* : OptionBool */;
313 val
* var5
/* : OptionBool */;
314 val
* var6
/* : nullable Object */;
315 val
* var8
/* : nullable Object */;
316 short int var9
/* : Bool */;
317 short int var10
/* : Bool */;
318 val
* var11
/* : ToolContext */;
319 val
* var13
/* : ToolContext */;
320 val
* var14
/* : ModelBuilder */;
321 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
322 val
* var_analysis
/* var analysis: nullable Object */;
323 val
* var15
/* : ToolContext */;
324 val
* var17
/* : ToolContext */;
325 val
* var18
/* : OptionBool */;
326 val
* var20
/* : OptionBool */;
327 val
* var21
/* : nullable Object */;
328 val
* var23
/* : nullable Object */;
329 short int var24
/* : Bool */;
330 val
* var25
/* : RapidTypeAnalysis */;
332 var_given_mmodules
= p1
;
334 { /* Inline phase$Phase$toolcontext (self) on <self:ErasureCompilerPhase> */
335 var2
= self
->attrs
[COLOR_nitc__phase__Phase___toolcontext
].val
; /* _toolcontext on <self:ErasureCompilerPhase> */
336 if (unlikely(var2
== NULL
)) {
337 if(catchStack
.cursor
>= 0){
338 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
340 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
341 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase
, 210);
349 { /* Inline separate_erasure_compiler$ToolContext$opt_erasure (var) on <var:ToolContext> */
350 var5
= var
->attrs
[COLOR_nitc__separate_erasure_compiler__ToolContext___opt_erasure
].val
; /* _opt_erasure on <var:ToolContext> */
351 if (unlikely(var5
== NULL
)) {
352 if(catchStack
.cursor
>= 0){
353 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
355 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_erasure");
356 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 22);
364 { /* Inline opts$Option$value (var3) on <var3:OptionBool> */
365 var8
= var3
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var3:OptionBool> */
370 var9
= (short int)((long)(var6
)>>2);
377 { /* Inline phase$Phase$toolcontext (self) on <self:ErasureCompilerPhase> */
378 var13
= self
->attrs
[COLOR_nitc__phase__Phase___toolcontext
].val
; /* _toolcontext on <self:ErasureCompilerPhase> */
379 if (unlikely(var13
== NULL
)) {
380 if(catchStack
.cursor
>= 0){
381 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
383 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
384 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase
, 210);
392 var14
= nitc__modelbuilder_base___ToolContext___modelbuilder(var11
);
394 var_modelbuilder
= var14
;
395 var_analysis
= ((val
*)NULL
);
397 { /* Inline phase$Phase$toolcontext (self) on <self:ErasureCompilerPhase> */
398 var17
= self
->attrs
[COLOR_nitc__phase__Phase___toolcontext
].val
; /* _toolcontext on <self:ErasureCompilerPhase> */
399 if (unlikely(var17
== NULL
)) {
400 if(catchStack
.cursor
>= 0){
401 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
403 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
404 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase
, 210);
412 { /* Inline separate_erasure_compiler$ToolContext$opt_rta (var15) on <var15:ToolContext> */
413 var20
= var15
->attrs
[COLOR_nitc__separate_erasure_compiler__ToolContext___opt_rta
].val
; /* _opt_rta on <var15:ToolContext> */
414 if (unlikely(var20
== NULL
)) {
415 if(catchStack
.cursor
>= 0){
416 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
418 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_rta");
419 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 24);
427 { /* Inline opts$Option$value (var18) on <var18:OptionBool> */
428 var23
= var18
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var18:OptionBool> */
433 var24
= (short int)((long)(var21
)>>2);
436 var25
= nitc__rapid_type_analysis___ModelBuilder___do_rapid_type_analysis(var_modelbuilder
, var_mainmodule
);
438 var_analysis
= var25
;
442 nitc__separate_erasure_compiler___ModelBuilder___run_separate_erasure_compiler(var_modelbuilder
, var_mainmodule
, var_analysis
); /* Direct call separate_erasure_compiler$ModelBuilder$run_separate_erasure_compiler on <var_modelbuilder:ModelBuilder>*/
446 /* method separate_erasure_compiler$ModelBuilder$run_separate_erasure_compiler for (self: ModelBuilder, MModule, nullable RapidTypeAnalysis) */
447 void nitc__separate_erasure_compiler___ModelBuilder___run_separate_erasure_compiler(val
* self
, val
* p0
, val
* p1
) {
448 val
* var_mainmodule
/* var mainmodule: MModule */;
449 val
* var_runtime_type_analysis
/* var runtime_type_analysis: nullable RapidTypeAnalysis */;
450 val
* var
/* : Sys */;
451 long var1
/* : Int */;
452 long var3
/* : Int */;
453 long var_time0
/* var time0: Int */;
454 val
* var4
/* : ToolContext */;
455 val
* var6
/* : ToolContext */;
457 val
* var7
/* : String */;
458 char* var8
/* : CString */;
459 val
* var9
/* : String */;
460 val
* var10
/* : nullable Int */;
461 val
* var11
/* : nullable Int */;
462 val
* var12
/* : nullable Bool */;
463 val
* var13
/* : nullable Bool */;
464 val
* var14
/* : SeparateErasureCompiler */;
465 val
* var_compiler
/* var compiler: SeparateErasureCompiler */;
466 val
* var15
/* : Sys */;
467 long var16
/* : Int */;
468 long var18
/* : Int */;
469 long var_time1
/* var time1: Int */;
470 val
* var19
/* : ToolContext */;
471 val
* var21
/* : ToolContext */;
472 val
* var23
/* : NativeArray[String] */;
473 static val
* varonce22
;
474 static val
* varonce24
;
475 val
* var25
/* : String */;
476 char* var26
/* : CString */;
477 val
* var27
/* : String */;
478 val
* var28
/* : nullable Int */;
479 val
* var29
/* : nullable Int */;
480 val
* var30
/* : nullable Bool */;
481 val
* var31
/* : nullable Bool */;
482 static val
* varonce32
;
483 val
* var33
/* : String */;
484 char* var34
/* : CString */;
485 val
* var35
/* : String */;
486 val
* var36
/* : nullable Int */;
487 val
* var37
/* : nullable Int */;
488 val
* var38
/* : nullable Bool */;
489 val
* var39
/* : nullable Bool */;
490 long var40
/* : Int */;
491 short int var42
/* : Bool */;
494 const char* var_class_name
;
495 long var43
/* : Int */;
496 val
* var44
/* : String */;
497 val
* var45
/* : String */;
499 var_runtime_type_analysis
= p1
;
502 { /* Inline time$Sys$get_time (var) on <var:Sys> */
503 struct nitni_instance
* var_for_c_0
;
504 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
505 var_for_c_0
->value
= var
;
506 var3
= core__time___Sys_get_time___impl(var_for_c_0
);
514 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
515 var6
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
516 if (unlikely(var6
== NULL
)) {
517 if(catchStack
.cursor
>= 0){
518 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
520 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
521 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
528 if (likely(varonce
!=NULL
)) {
531 var8
= "*** GENERATING C ***";
532 var10
= (val
*)(20l<<2|1);
533 var11
= (val
*)(20l<<2|1);
534 var12
= (val
*)((long)(0)<<2|3);
535 var13
= (val
*)((long)(0)<<2|3);
536 var9
= core__flat___CString___to_s_unsafe(var8
, var10
, var11
, var12
, var13
);
541 nitc___nitc__ToolContext___info(var4
, var7
, 1l); /* Direct call toolcontext$ToolContext$info on <var4:ToolContext>*/
543 var14
= NEW_nitc__SeparateErasureCompiler(&type_nitc__SeparateErasureCompiler
);
545 ((void(*)(val
* self
, val
* p0
))(var14
->class->vft
[COLOR_nitc__abstract_compiler__AbstractCompiler__mainmodule_61d
]))(var14
, var_mainmodule
); /* mainmodule= on <var14:SeparateErasureCompiler>*/
548 ((void(*)(val
* self
, val
* p0
))(var14
->class->vft
[COLOR_nitc__abstract_compiler__AbstractCompiler__modelbuilder_61d
]))(var14
, self
); /* modelbuilder= on <var14:SeparateErasureCompiler>*/
551 ((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:SeparateErasureCompiler>*/
554 ((void(*)(val
* self
))(var14
->class->vft
[COLOR_core__kernel__Object__init
]))(var14
); /* init on <var14:SeparateErasureCompiler>*/
556 var_compiler
= var14
;
558 nitc___nitc__SeparateCompiler___nitc__abstract_compiler__AbstractCompiler__do_compilation(var_compiler
); /* Direct call separate_compiler$SeparateCompiler$do_compilation on <var_compiler:SeparateErasureCompiler>*/
561 nitc___nitc__SeparateCompiler___nitc__abstract_compiler__AbstractCompiler__display_stats(var_compiler
); /* Direct call separate_compiler$SeparateCompiler$display_stats on <var_compiler:SeparateErasureCompiler>*/
565 { /* Inline time$Sys$get_time (var15) on <var15:Sys> */
566 struct nitni_instance
* var_for_c_0
;
567 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
568 var_for_c_0
->value
= var15
;
569 var18
= core__time___Sys_get_time___impl(var_for_c_0
);
577 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
578 var21
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
579 if (unlikely(var21
== NULL
)) {
580 if(catchStack
.cursor
>= 0){
581 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
583 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
584 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
591 if (unlikely(varonce22
==NULL
)) {
592 var23
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
593 if (likely(varonce24
!=NULL
)) {
596 var26
= "*** END GENERATING C: ";
597 var28
= (val
*)(22l<<2|1);
598 var29
= (val
*)(22l<<2|1);
599 var30
= (val
*)((long)(0)<<2|3);
600 var31
= (val
*)((long)(0)<<2|3);
601 var27
= core__flat___CString___to_s_unsafe(var26
, var28
, var29
, var30
, var31
);
605 ((struct instance_core__NativeArray
*)var23
)->values
[0]=var25
;
606 if (likely(varonce32
!=NULL
)) {
610 var36
= (val
*)(4l<<2|1);
611 var37
= (val
*)(4l<<2|1);
612 var38
= (val
*)((long)(0)<<2|3);
613 var39
= (val
*)((long)(0)<<2|3);
614 var35
= core__flat___CString___to_s_unsafe(var34
, var36
, var37
, var38
, var39
);
618 ((struct instance_core__NativeArray
*)var23
)->values
[2]=var33
;
624 { /* Inline kernel$Int$- (var_time1,var_time0) on <var_time1:Int> */
625 /* Covariant cast for argument 0 (i) <var_time0:Int> isa OTHER */
626 /* <var_time0:Int> isa OTHER */
627 var42
= 1; /* easy <var_time0:Int> isa OTHER*/
628 if (unlikely(!var42
)) {
629 var_class_name
= type_core__Int
.name
;
630 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
631 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
634 var43
= var_time1
- var_time0
;
640 var44
= core__flat___Int___core__abstract_text__Object__to_s(var40
);
641 ((struct instance_core__NativeArray
*)var23
)->values
[1]=var44
;
643 var45
= ((val
*(*)(val
* self
))(var23
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var23
); /* native_to_s on <var23:NativeArray[String]>*/
647 nitc___nitc__ToolContext___info(var19
, var45
, 2l); /* Direct call toolcontext$ToolContext$info on <var19:ToolContext>*/
650 nitc__abstract_compiler___ModelBuilder___write_and_make(self
, var_compiler
); /* Direct call abstract_compiler$ModelBuilder$write_and_make on <self:ModelBuilder>*/
654 /* method separate_erasure_compiler$SeparateErasureCompiler$class_ids for (self: SeparateErasureCompiler): Map[MClass, Int] */
655 val
* nitc___nitc__SeparateErasureCompiler___class_ids(val
* self
) {
656 val
* var
/* : Map[MClass, Int] */;
657 val
* var1
/* : Map[MClass, Int] */;
658 var1
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___class_ids
].val
; /* _class_ids on <self:SeparateErasureCompiler> */
659 if (unlikely(var1
== NULL
)) {
660 if(catchStack
.cursor
>= 0){
661 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
663 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _class_ids");
664 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 84);
671 /* method separate_erasure_compiler$SeparateErasureCompiler$class_ids= for (self: SeparateErasureCompiler, Map[MClass, Int]) */
672 void nitc___nitc__SeparateErasureCompiler___class_ids_61d(val
* self
, val
* p0
) {
673 self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___class_ids
].val
= p0
; /* _class_ids on <self:SeparateErasureCompiler> */
676 /* method separate_erasure_compiler$SeparateErasureCompiler$class_colors for (self: SeparateErasureCompiler): Map[MClass, Int] */
677 val
* nitc___nitc__SeparateErasureCompiler___class_colors(val
* self
) {
678 val
* var
/* : Map[MClass, Int] */;
679 val
* var1
/* : Map[MClass, Int] */;
680 var1
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___class_colors
].val
; /* _class_colors on <self:SeparateErasureCompiler> */
681 if (unlikely(var1
== NULL
)) {
682 if(catchStack
.cursor
>= 0){
683 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
685 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _class_colors");
686 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 85);
693 /* method separate_erasure_compiler$SeparateErasureCompiler$class_colors= for (self: SeparateErasureCompiler, Map[MClass, Int]) */
694 void nitc___nitc__SeparateErasureCompiler___class_colors_61d(val
* self
, val
* p0
) {
695 self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___class_colors
].val
= p0
; /* _class_colors on <self:SeparateErasureCompiler> */
698 /* method separate_erasure_compiler$SeparateErasureCompiler$vt_colors for (self: SeparateErasureCompiler): Map[MVirtualTypeProp, Int] */
699 val
* nitc___nitc__SeparateErasureCompiler___vt_colors(val
* self
) {
700 val
* var
/* : Map[MVirtualTypeProp, Int] */;
701 val
* var1
/* : Map[MVirtualTypeProp, Int] */;
702 var1
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___vt_colors
].val
; /* _vt_colors on <self:SeparateErasureCompiler> */
703 if (unlikely(var1
== NULL
)) {
704 if(catchStack
.cursor
>= 0){
705 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
707 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _vt_colors");
708 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 86);
715 /* method separate_erasure_compiler$SeparateErasureCompiler$vt_colors= for (self: SeparateErasureCompiler, Map[MVirtualTypeProp, Int]) */
716 void nitc___nitc__SeparateErasureCompiler___vt_colors_61d(val
* self
, val
* p0
) {
717 self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___vt_colors
].val
= p0
; /* _vt_colors on <self:SeparateErasureCompiler> */
720 /* method separate_erasure_compiler$SeparateErasureCompiler$init for (self: SeparateErasureCompiler) */
721 void nitc___nitc__SeparateErasureCompiler___core__kernel__Object__init(val
* self
) {
722 val
* var
/* : MModule */;
723 val
* var2
/* : MModule */;
724 val
* var3
/* : POSet[MClass] */;
725 val
* var_poset
/* var poset: POSet[MClass] */;
726 val
* var4
/* : HashSet[MClass] */;
727 val
* var_mclasses
/* var mclasses: HashSet[MClass] */;
728 val
* var5
/* : POSetColorer[MClass] */;
729 val
* var_colorer
/* var colorer: POSetColorer[MClass] */;
730 val
* var7
/* : Map[Object, Int] */;
731 val
* var9
/* : Map[Object, Int] */;
732 val
* var11
/* : Map[MClass, Array[nullable MClass]] */;
733 val
* var13
/* : HashMap[MClass, Set[MVirtualTypeProp]] */;
734 val
* var_vts
/* var vts: HashMap[MClass, Set[MVirtualTypeProp]] */;
735 val
* var_
/* var : HashSet[MClass] */;
736 val
* var14
/* : Iterator[nullable Object] */;
737 val
* var_15
/* var : Iterator[MClass] */;
738 short int var16
/* : Bool */;
739 val
* var17
/* : nullable Object */;
740 val
* var_mclass
/* var mclass: MClass */;
741 val
* var18
/* : HashSet[MVirtualTypeProp] */;
742 val
* var19
/* : MModule */;
743 val
* var21
/* : MModule */;
744 val
* var22
/* : Set[MProperty] */;
745 val
* var_23
/* var : Set[MProperty] */;
746 val
* var24
/* : Iterator[nullable Object] */;
747 val
* var_25
/* var : Iterator[MProperty] */;
748 short int var26
/* : Bool */;
749 val
* var28
/* : nullable Object */;
750 val
* var_mprop
/* var mprop: MProperty */;
751 short int var29
/* : Bool */;
754 val
* var30
/* : nullable Object */;
755 val
* var31
/* : POSetBucketsColorer[MClass, MVirtualTypeProp] */;
756 val
* var32
/* : Map[Object, Set[Object]] */;
757 val
* var_vt_colorer
/* var vt_colorer: POSetBucketsColorer[MClass, MVirtualTypeProp] */;
758 val
* var33
/* : Map[Object, Int] */;
759 val
* var35
/* : Map[MClass, Array[nullable MPropDef]] */;
761 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc___nitc__SeparateErasureCompiler___core__kernel__Object__init
]))(self
); /* init on <self:SeparateErasureCompiler>*/
764 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateErasureCompiler> */
765 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateErasureCompiler> */
766 if (unlikely(var2
== NULL
)) {
767 if(catchStack
.cursor
>= 0){
768 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
770 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
771 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
779 var3
= nitc__model___MModule___flatten_mclass_hierarchy(var
);
782 var4
= NEW_core__HashSet(&type_core__HashSet__nitc__MClass
);
784 core___core__HashSet___from(var4
, var_poset
); /* Direct call hash_collection$HashSet$from on <var4:HashSet[MClass]>*/
787 var5
= NEW_nitc__POSetColorer(&type_nitc__POSetColorer__nitc__MClass
);
789 { /* Inline kernel$Object$init (var5) on <var5:POSetColorer[MClass]> */
795 nitc___nitc__POSetColorer___colorize(var_colorer
, var_poset
); /* Direct call coloring$POSetColorer$colorize on <var_colorer:POSetColorer[MClass]>*/
798 var7
= nitc___nitc__POSetColorer___ids(var_colorer
);
801 { /* Inline separate_erasure_compiler$SeparateErasureCompiler$class_ids= (self,var7) on <self:SeparateErasureCompiler> */
802 self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___class_ids
].val
= var7
; /* _class_ids on <self:SeparateErasureCompiler> */
807 var9
= nitc___nitc__POSetColorer___colors(var_colorer
);
810 { /* Inline separate_erasure_compiler$SeparateErasureCompiler$class_colors= (self,var9) on <self:SeparateErasureCompiler> */
811 self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___class_colors
].val
= var9
; /* _class_colors on <self:SeparateErasureCompiler> */
816 var11
= nitc___nitc__SeparateErasureCompiler___build_class_typing_tables(self
, var_mclasses
);
819 { /* Inline separate_erasure_compiler$SeparateErasureCompiler$class_tables= (self,var11) on <self:SeparateErasureCompiler> */
820 self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___class_tables
].val
= var11
; /* _class_tables on <self:SeparateErasureCompiler> */
824 var13
= NEW_core__HashMap(&type_core__HashMap__nitc__MClass__core__Set__nitc__MVirtualTypeProp
);
826 core___core__HashMap___core__kernel__Object__init(var13
); /* Direct call hash_collection$HashMap$init on <var13:HashMap[MClass, Set[MVirtualTypeProp]]>*/
831 var14
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_
);
836 var16
= ((short int(*)(val
* self
))((((long)var_15
&3)?class_info
[((long)var_15
&3)]:var_15
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_15
); /* is_ok on <var_15:Iterator[MClass]>*/
843 var17
= ((val
*(*)(val
* self
))((((long)var_15
&3)?class_info
[((long)var_15
&3)]:var_15
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_15
); /* item on <var_15:Iterator[MClass]>*/
846 var18
= NEW_core__HashSet(&type_core__HashSet__nitc__MVirtualTypeProp
);
848 core___core__HashSet___core__kernel__Object__init(var18
); /* Direct call hash_collection$HashSet$init on <var18:HashSet[MVirtualTypeProp]>*/
851 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_vts
, var_mclass
, var18
); /* Direct call hash_collection$HashMap$[]= on <var_vts:HashMap[MClass, Set[MVirtualTypeProp]]>*/
854 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateErasureCompiler> */
855 var21
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateErasureCompiler> */
856 if (unlikely(var21
== NULL
)) {
857 if(catchStack
.cursor
>= 0){
858 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
860 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
861 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
869 var22
= nitc__abstract_compiler___MModule___properties(var19
, var_mclass
);
873 var24
= ((val
*(*)(val
* self
))((((long)var_23
&3)?class_info
[((long)var_23
&3)]:var_23
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_23
); /* iterator on <var_23:Set[MProperty]>*/
878 var26
= ((short int(*)(val
* self
))((((long)var_25
&3)?class_info
[((long)var_25
&3)]:var_25
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_25
); /* is_ok on <var_25:Iterator[MProperty]>*/
885 var28
= ((val
*(*)(val
* self
))((((long)var_25
&3)?class_info
[((long)var_25
&3)]:var_25
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_25
); /* item on <var_25:Iterator[MProperty]>*/
888 /* <var_mprop:MProperty> isa MVirtualTypeProp */
889 cltype
= type_nitc__MVirtualTypeProp
.color
;
890 idtype
= type_nitc__MVirtualTypeProp
.id
;
891 if(cltype
>= var_mprop
->type
->table_size
) {
894 var29
= var_mprop
->type
->type_table
[cltype
] == idtype
;
898 var30
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_vts
, var_mclass
);
901 ((void(*)(val
* self
, val
* p0
))((((long)var30
&3)?class_info
[((long)var30
&3)]:var30
->class)->vft
[COLOR_core__abstract_collection__SimpleCollection__add
]))(var30
, var_mprop
); /* add on <var30:nullable Object(Set[MVirtualTypeProp])>*/
906 ((void(*)(val
* self
))((((long)var_25
&3)?class_info
[((long)var_25
&3)]:var_25
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_25
); /* next on <var_25:Iterator[MProperty]>*/
909 BREAK_label27
: (void)0;
911 ((void(*)(val
* self
))((((long)var_25
&3)?class_info
[((long)var_25
&3)]:var_25
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_25
); /* finish on <var_25:Iterator[MProperty]>*/
914 ((void(*)(val
* self
))((((long)var_15
&3)?class_info
[((long)var_15
&3)]:var_15
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_15
); /* next on <var_15:Iterator[MClass]>*/
917 BREAK_label
: (void)0;
919 ((void(*)(val
* self
))((((long)var_15
&3)?class_info
[((long)var_15
&3)]:var_15
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_15
); /* finish on <var_15:Iterator[MClass]>*/
921 var31
= NEW_nitc__POSetBucketsColorer(&type_nitc__POSetBucketsColorer__nitc__MClass__nitc__MVirtualTypeProp
);
923 var32
= nitc___nitc__POSetColorer___conflicts(var_colorer
);
926 ((void(*)(val
* self
, val
* p0
))(var31
->class->vft
[COLOR_nitc__coloring__POSetBucketsColorer__poset_61d
]))(var31
, var_poset
); /* poset= on <var31:POSetBucketsColorer[MClass, MVirtualTypeProp]>*/
929 ((void(*)(val
* self
, val
* p0
))(var31
->class->vft
[COLOR_nitc__coloring__POSetBucketsColorer__conflicts_61d
]))(var31
, var32
); /* conflicts= on <var31:POSetBucketsColorer[MClass, MVirtualTypeProp]>*/
932 ((void(*)(val
* self
))(var31
->class->vft
[COLOR_core__kernel__Object__init
]))(var31
); /* init on <var31:POSetBucketsColorer[MClass, MVirtualTypeProp]>*/
934 var_vt_colorer
= var31
;
936 var33
= nitc___nitc__POSetBucketsColorer___colorize(var_vt_colorer
, var_vts
);
939 { /* Inline separate_erasure_compiler$SeparateErasureCompiler$vt_colors= (self,var33) on <self:SeparateErasureCompiler> */
940 self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___vt_colors
].val
= var33
; /* _vt_colors on <self:SeparateErasureCompiler> */
945 var35
= nitc___nitc__SeparateErasureCompiler___build_vt_tables(self
, var_mclasses
);
948 { /* Inline separate_erasure_compiler$SeparateErasureCompiler$vt_tables= (self,var35) on <self:SeparateErasureCompiler> */
949 self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___vt_tables
].val
= var35
; /* _vt_tables on <self:SeparateErasureCompiler> */
955 /* method separate_erasure_compiler$SeparateErasureCompiler$build_vt_tables for (self: SeparateErasureCompiler, Set[MClass]): Map[MClass, Array[nullable MPropDef]] */
956 val
* nitc___nitc__SeparateErasureCompiler___build_vt_tables(val
* self
, val
* p0
) {
957 val
* var
/* : Map[MClass, Array[nullable MPropDef]] */;
958 val
* var_mclasses
/* var mclasses: Set[MClass] */;
959 val
* var1
/* : HashMap[MClass, Array[nullable MPropDef]] */;
960 val
* var_tables
/* var tables: HashMap[MClass, Array[nullable MPropDef]] */;
961 val
* var_
/* var : Set[MClass] */;
962 val
* var2
/* : Iterator[nullable Object] */;
963 val
* var_3
/* var : Iterator[MClass] */;
964 short int var4
/* : Bool */;
965 val
* var5
/* : nullable Object */;
966 val
* var_mclass
/* var mclass: MClass */;
967 val
* var6
/* : Array[nullable MPropDef] */;
968 val
* var_table
/* var table: Array[nullable MPropDef] */;
969 val
* var7
/* : Array[MClass] */;
970 val
* var_parents
/* var parents: Array[MClass] */;
971 val
* var8
/* : MModule */;
972 val
* var10
/* : MModule */;
973 val
* var11
/* : POSet[MClass] */;
974 short int var12
/* : Bool */;
975 val
* var13
/* : MModule */;
976 val
* var15
/* : MModule */;
977 val
* var16
/* : POSetElement[MClass] */;
978 val
* var17
/* : Collection[nullable Object] */;
979 val
* var18
/* : Array[nullable Object] */;
980 val
* var19
/* : MModule */;
981 val
* var21
/* : MModule */;
982 val
* var_22
/* var : Array[MClass] */;
983 val
* var23
/* : IndexedIterator[nullable Object] */;
984 val
* var_24
/* var : IndexedIterator[MClass] */;
985 short int var25
/* : Bool */;
986 val
* var27
/* : nullable Object */;
987 val
* var_parent
/* var parent: MClass */;
988 short int var28
/* : Bool */;
989 val
* var_other
/* var other: nullable Object */;
990 short int var30
/* : Bool */;
991 short int var32
/* : Bool */;
992 val
* var34
/* : MModule */;
993 val
* var36
/* : MModule */;
994 val
* var37
/* : Set[MProperty] */;
995 val
* var_38
/* var : Set[MProperty] */;
996 val
* var39
/* : Iterator[nullable Object] */;
997 val
* var_40
/* var : Iterator[MProperty] */;
998 short int var41
/* : Bool */;
999 val
* var43
/* : nullable Object */;
1000 val
* var_mproperty
/* var mproperty: MProperty */;
1001 short int var44
/* : Bool */;
1004 short int var45
/* : Bool */;
1005 val
* var47
/* : Map[MVirtualTypeProp, Int] */;
1006 val
* var49
/* : Map[MVirtualTypeProp, Int] */;
1007 val
* var50
/* : nullable Object */;
1008 long var51
/* : Int */;
1009 long var_color
/* var color: Int */;
1010 long var52
/* : Int */;
1011 long var54
/* : Int */;
1012 short int var55
/* : Bool */;
1013 short int var57
/* : Bool */;
1016 const char* var_class_name
;
1017 short int var60
/* : Bool */;
1018 long var61
/* : Int */;
1019 long var63
/* : Int */;
1020 long var_i
/* var i: Int */;
1021 long var_64
/* var : Int */;
1022 short int var65
/* : Bool */;
1023 short int var67
/* : Bool */;
1026 const char* var_class_name70
;
1027 short int var71
/* : Bool */;
1028 long var73
/* : Int */;
1029 val
* var74
/* : Array[MPropDef] */;
1030 val
* var76
/* : Array[MPropDef] */;
1031 val
* var_77
/* var : Array[MVirtualTypeDef] */;
1032 val
* var78
/* : IndexedIterator[nullable Object] */;
1033 val
* var_79
/* var : IndexedIterator[MVirtualTypeDef] */;
1034 short int var80
/* : Bool */;
1035 val
* var82
/* : nullable Object */;
1036 val
* var_mpropdef
/* var mpropdef: MVirtualTypeDef */;
1037 val
* var83
/* : MClassDef */;
1038 val
* var85
/* : MClassDef */;
1039 val
* var86
/* : MClass */;
1040 val
* var88
/* : MClass */;
1041 short int var89
/* : Bool */;
1042 short int var91
/* : Bool */;
1043 short int var93
/* : Bool */;
1044 val
* var94
/* : MModule */;
1045 val
* var96
/* : MModule */;
1046 val
* var97
/* : Set[MProperty] */;
1047 val
* var_98
/* var : Set[MProperty] */;
1048 val
* var99
/* : Iterator[nullable Object] */;
1049 val
* var_100
/* var : Iterator[MProperty] */;
1050 short int var101
/* : Bool */;
1051 val
* var103
/* : nullable Object */;
1052 val
* var_mproperty104
/* var mproperty: MProperty */;
1053 short int var105
/* : Bool */;
1056 short int var108
/* : Bool */;
1057 val
* var110
/* : Map[MVirtualTypeProp, Int] */;
1058 val
* var112
/* : Map[MVirtualTypeProp, Int] */;
1059 val
* var113
/* : nullable Object */;
1060 long var114
/* : Int */;
1061 long var_color115
/* var color: Int */;
1062 long var116
/* : Int */;
1063 long var118
/* : Int */;
1064 short int var119
/* : Bool */;
1065 short int var121
/* : Bool */;
1068 const char* var_class_name124
;
1069 short int var125
/* : Bool */;
1070 long var126
/* : Int */;
1071 long var128
/* : Int */;
1072 long var_i129
/* var i: Int */;
1073 long var_130
/* var : Int */;
1074 short int var131
/* : Bool */;
1075 short int var133
/* : Bool */;
1078 const char* var_class_name136
;
1079 short int var137
/* : Bool */;
1080 long var139
/* : Int */;
1081 val
* var140
/* : Array[MPropDef] */;
1082 val
* var142
/* : Array[MPropDef] */;
1083 val
* var_143
/* var : Array[MVirtualTypeDef] */;
1084 val
* var144
/* : IndexedIterator[nullable Object] */;
1085 val
* var_145
/* var : IndexedIterator[MVirtualTypeDef] */;
1086 short int var146
/* : Bool */;
1087 val
* var148
/* : nullable Object */;
1088 val
* var_mpropdef149
/* var mpropdef: MVirtualTypeDef */;
1089 val
* var150
/* : MClassDef */;
1090 val
* var152
/* : MClassDef */;
1091 val
* var153
/* : MClass */;
1092 val
* var155
/* : MClass */;
1093 short int var156
/* : Bool */;
1094 short int var158
/* : Bool */;
1095 short int var160
/* : Bool */;
1097 var1
= NEW_core__HashMap(&type_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MPropDef
);
1099 core___core__HashMap___core__kernel__Object__init(var1
); /* Direct call hash_collection$HashMap$init on <var1:HashMap[MClass, Array[nullable MPropDef]]>*/
1102 var_
= var_mclasses
;
1104 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[MClass]>*/
1109 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[MClass]>*/
1116 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[MClass]>*/
1119 var6
= NEW_core__Array(&type_core__Array__nullable__nitc__MPropDef
);
1121 core___core__Array___core__kernel__Object__init(var6
); /* Direct call array$Array$init on <var6:Array[nullable MPropDef]>*/
1124 var7
= NEW_core__Array(&type_core__Array__nitc__MClass
);
1126 core___core__Array___core__kernel__Object__init(var7
); /* Direct call array$Array$init on <var7:Array[MClass]>*/
1130 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateErasureCompiler> */
1131 var10
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateErasureCompiler> */
1132 if (unlikely(var10
== NULL
)) {
1133 if(catchStack
.cursor
>= 0){
1134 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1136 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
1137 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
1145 var11
= nitc__model___MModule___flatten_mclass_hierarchy(var8
);
1148 var12
= poset___poset__POSet___core__abstract_collection__Collection__has(var11
, var_mclass
);
1152 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateErasureCompiler> */
1153 var15
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateErasureCompiler> */
1154 if (unlikely(var15
== NULL
)) {
1155 if(catchStack
.cursor
>= 0){
1156 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1158 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
1159 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
1163 RET_LABEL14
:(void)0;
1167 var16
= nitc___nitc__MClass___in_hierarchy(var_mclass
, var13
);
1170 var17
= poset___poset__POSetElement___greaters(var16
);
1173 var18
= ((val
*(*)(val
* self
))((((long)var17
&3)?class_info
[((long)var17
&3)]:var17
->class)->vft
[COLOR_core__array__Collection__to_a
]))(var17
); /* to_a on <var17:Collection[nullable Object](Collection[MClass])>*/
1175 var_parents
= var18
;
1177 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateErasureCompiler> */
1178 var21
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateErasureCompiler> */
1179 if (unlikely(var21
== NULL
)) {
1180 if(catchStack
.cursor
>= 0){
1181 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1183 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
1184 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
1188 RET_LABEL20
:(void)0;
1192 nitc__model___MModule___linearize_mclasses(var19
, var_parents
); /* Direct call model$MModule$linearize_mclasses on <var19:MModule>*/
1196 var_22
= var_parents
;
1198 var23
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_22
);
1203 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:IndexedIterator[MClass]>*/
1210 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:IndexedIterator[MClass]>*/
1214 { /* Inline kernel$Object$== (var_parent,var_mclass) on <var_parent:MClass> */
1215 var_other
= var_mclass
;
1217 { /* Inline kernel$Object$is_same_instance (var_parent,var_other) on <var_parent:MClass> */
1218 var32
= var_parent
== var_other
;
1221 RET_LABEL31
:(void)0;
1226 RET_LABEL29
:(void)0;
1234 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateErasureCompiler> */
1235 var36
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateErasureCompiler> */
1236 if (unlikely(var36
== NULL
)) {
1237 if(catchStack
.cursor
>= 0){
1238 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1240 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
1241 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
1245 RET_LABEL35
:(void)0;
1249 var37
= nitc__abstract_compiler___MModule___properties(var34
, var_parent
);
1253 var39
= ((val
*(*)(val
* self
))((((long)var_38
&3)?class_info
[((long)var_38
&3)]:var_38
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_38
); /* iterator on <var_38:Set[MProperty]>*/
1258 var41
= ((short int(*)(val
* self
))((((long)var_40
&3)?class_info
[((long)var_40
&3)]:var_40
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_40
); /* is_ok on <var_40:Iterator[MProperty]>*/
1265 var43
= ((val
*(*)(val
* self
))((((long)var_40
&3)?class_info
[((long)var_40
&3)]:var_40
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_40
); /* item on <var_40:Iterator[MProperty]>*/
1267 var_mproperty
= var43
;
1268 /* <var_mproperty:MProperty> isa MVirtualTypeProp */
1269 cltype
= type_nitc__MVirtualTypeProp
.color
;
1270 idtype
= type_nitc__MVirtualTypeProp
.id
;
1271 if(cltype
>= var_mproperty
->type
->table_size
) {
1274 var44
= var_mproperty
->type
->type_table
[cltype
] == idtype
;
1282 { /* Inline separate_erasure_compiler$SeparateErasureCompiler$vt_colors (self) on <self:SeparateErasureCompiler> */
1283 var49
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___vt_colors
].val
; /* _vt_colors on <self:SeparateErasureCompiler> */
1284 if (unlikely(var49
== NULL
)) {
1285 if(catchStack
.cursor
>= 0){
1286 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1288 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _vt_colors");
1289 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 86);
1293 RET_LABEL48
:(void)0;
1297 var50
= ((val
*(*)(val
* self
, val
* p0
))((((long)var47
&3)?class_info
[((long)var47
&3)]:var47
->class)->vft
[COLOR_core__abstract_collection__MapRead___91d_93d
]))(var47
, var_mproperty
); /* [] on <var47:Map[MVirtualTypeProp, Int]>*/
1299 var51
= (long)(var50
)>>2;
1302 { /* Inline array$AbstractArrayRead$length (var_table) on <var_table:Array[nullable MPropDef]> */
1303 var54
= var_table
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_table:Array[nullable MPropDef]> */
1305 RET_LABEL53
:(void)0;
1309 { /* Inline kernel$Int$<= (var52,var_color) on <var52:Int> */
1310 /* Covariant cast for argument 0 (i) <var_color:Int> isa OTHER */
1311 /* <var_color:Int> isa OTHER */
1312 var57
= 1; /* easy <var_color:Int> isa OTHER*/
1313 if (unlikely(!var57
)) {
1314 var_class_name
= type_core__Int
.name
;
1315 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1316 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 724);
1319 var60
= var52
<= var_color
;
1322 RET_LABEL56
:(void)0;
1327 { /* Inline array$AbstractArrayRead$length (var_table) on <var_table:Array[nullable MPropDef]> */
1328 var63
= var_table
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_table:Array[nullable MPropDef]> */
1330 RET_LABEL62
:(void)0;
1337 { /* Inline kernel$Int$< (var_i,var_64) on <var_i:Int> */
1338 /* Covariant cast for argument 0 (i) <var_64:Int> isa OTHER */
1339 /* <var_64:Int> isa OTHER */
1340 var67
= 1; /* easy <var_64:Int> isa OTHER*/
1341 if (unlikely(!var67
)) {
1342 var_class_name70
= type_core__Int
.name
;
1343 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name70
);
1344 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
1347 var71
= var_i
< var_64
;
1350 RET_LABEL66
:(void)0;
1358 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 MPropDef]>*/
1361 var73
= core___core__Int___Discrete__successor(var_i
, 1l);
1365 BREAK_label72
: (void)0;
1369 { /* Inline model$MProperty$mpropdefs (var_mproperty) on <var_mproperty:MProperty(MVirtualTypeProp)> */
1370 var76
= var_mproperty
->attrs
[COLOR_nitc__model__MProperty___mpropdefs
].val
; /* _mpropdefs on <var_mproperty:MProperty(MVirtualTypeProp)> */
1371 if (unlikely(var76
== NULL
)) {
1372 if(catchStack
.cursor
>= 0){
1373 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1375 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
1376 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2092);
1380 RET_LABEL75
:(void)0;
1385 var78
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_77
);
1390 var80
= ((short int(*)(val
* self
))((((long)var_79
&3)?class_info
[((long)var_79
&3)]:var_79
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_79
); /* is_ok on <var_79:IndexedIterator[MVirtualTypeDef]>*/
1397 var82
= ((val
*(*)(val
* self
))((((long)var_79
&3)?class_info
[((long)var_79
&3)]:var_79
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_79
); /* item on <var_79:IndexedIterator[MVirtualTypeDef]>*/
1399 var_mpropdef
= var82
;
1401 { /* Inline model$MPropDef$mclassdef (var_mpropdef) on <var_mpropdef:MVirtualTypeDef> */
1402 var85
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MVirtualTypeDef> */
1403 if (unlikely(var85
== NULL
)) {
1404 if(catchStack
.cursor
>= 0){
1405 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1407 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1408 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2354);
1412 RET_LABEL84
:(void)0;
1416 { /* Inline model$MClassDef$mclass (var83) on <var83:MClassDef> */
1417 var88
= var83
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <var83:MClassDef> */
1418 if (unlikely(var88
== NULL
)) {
1419 if(catchStack
.cursor
>= 0){
1420 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1422 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1423 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 591);
1427 RET_LABEL87
:(void)0;
1431 { /* Inline kernel$Object$== (var86,var_parent) on <var86:MClass> */
1432 var_other
= var_parent
;
1434 { /* Inline kernel$Object$is_same_instance (var86,var_other) on <var86:MClass> */
1435 var93
= var86
== var_other
;
1438 RET_LABEL92
:(void)0;
1443 RET_LABEL90
:(void)0;
1448 core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_table
, var_color
, var_mpropdef
); /* Direct call array$Array$[]= on <var_table:Array[nullable MPropDef]>*/
1453 ((void(*)(val
* self
))((((long)var_79
&3)?class_info
[((long)var_79
&3)]:var_79
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_79
); /* next on <var_79:IndexedIterator[MVirtualTypeDef]>*/
1456 BREAK_label81
: (void)0;
1458 ((void(*)(val
* self
))((((long)var_79
&3)?class_info
[((long)var_79
&3)]:var_79
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_79
); /* finish on <var_79:IndexedIterator[MVirtualTypeDef]>*/
1460 BREAK_label46
: (void)0;
1462 ((void(*)(val
* self
))((((long)var_40
&3)?class_info
[((long)var_40
&3)]:var_40
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_40
); /* next on <var_40:Iterator[MProperty]>*/
1465 BREAK_label42
: (void)0;
1467 ((void(*)(val
* self
))((((long)var_40
&3)?class_info
[((long)var_40
&3)]:var_40
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_40
); /* finish on <var_40:Iterator[MProperty]>*/
1469 BREAK_label33
: (void)0;
1471 ((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:IndexedIterator[MClass]>*/
1474 BREAK_label26
: (void)0;
1476 ((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:IndexedIterator[MClass]>*/
1479 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateErasureCompiler> */
1480 var96
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateErasureCompiler> */
1481 if (unlikely(var96
== NULL
)) {
1482 if(catchStack
.cursor
>= 0){
1483 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1485 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
1486 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
1490 RET_LABEL95
:(void)0;
1494 var97
= nitc__abstract_compiler___MModule___properties(var94
, var_mclass
);
1498 var99
= ((val
*(*)(val
* self
))((((long)var_98
&3)?class_info
[((long)var_98
&3)]:var_98
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_98
); /* iterator on <var_98:Set[MProperty]>*/
1503 var101
= ((short int(*)(val
* self
))((((long)var_100
&3)?class_info
[((long)var_100
&3)]:var_100
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_100
); /* is_ok on <var_100:Iterator[MProperty]>*/
1507 goto BREAK_label102
;
1510 var103
= ((val
*(*)(val
* self
))((((long)var_100
&3)?class_info
[((long)var_100
&3)]:var_100
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_100
); /* item on <var_100:Iterator[MProperty]>*/
1512 var_mproperty104
= var103
;
1513 /* <var_mproperty104:MProperty> isa MVirtualTypeProp */
1514 cltype106
= type_nitc__MVirtualTypeProp
.color
;
1515 idtype107
= type_nitc__MVirtualTypeProp
.id
;
1516 if(cltype106
>= var_mproperty104
->type
->table_size
) {
1519 var105
= var_mproperty104
->type
->type_table
[cltype106
] == idtype107
;
1523 goto BREAK_label109
;
1527 { /* Inline separate_erasure_compiler$SeparateErasureCompiler$vt_colors (self) on <self:SeparateErasureCompiler> */
1528 var112
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___vt_colors
].val
; /* _vt_colors on <self:SeparateErasureCompiler> */
1529 if (unlikely(var112
== NULL
)) {
1530 if(catchStack
.cursor
>= 0){
1531 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1533 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _vt_colors");
1534 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 86);
1538 RET_LABEL111
:(void)0;
1542 var113
= ((val
*(*)(val
* self
, val
* p0
))((((long)var110
&3)?class_info
[((long)var110
&3)]:var110
->class)->vft
[COLOR_core__abstract_collection__MapRead___91d_93d
]))(var110
, var_mproperty104
); /* [] on <var110:Map[MVirtualTypeProp, Int]>*/
1544 var114
= (long)(var113
)>>2;
1545 var_color115
= var114
;
1547 { /* Inline array$AbstractArrayRead$length (var_table) on <var_table:Array[nullable MPropDef]> */
1548 var118
= var_table
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_table:Array[nullable MPropDef]> */
1550 RET_LABEL117
:(void)0;
1554 { /* Inline kernel$Int$<= (var116,var_color115) on <var116:Int> */
1555 /* Covariant cast for argument 0 (i) <var_color115:Int> isa OTHER */
1556 /* <var_color115:Int> isa OTHER */
1557 var121
= 1; /* easy <var_color115:Int> isa OTHER*/
1558 if (unlikely(!var121
)) {
1559 var_class_name124
= type_core__Int
.name
;
1560 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name124
);
1561 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 724);
1564 var125
= var116
<= var_color115
;
1567 RET_LABEL120
:(void)0;
1572 { /* Inline array$AbstractArrayRead$length (var_table) on <var_table:Array[nullable MPropDef]> */
1573 var128
= var_table
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_table:Array[nullable MPropDef]> */
1575 RET_LABEL127
:(void)0;
1579 var_130
= var_color115
;
1582 { /* Inline kernel$Int$< (var_i129,var_130) on <var_i129:Int> */
1583 /* Covariant cast for argument 0 (i) <var_130:Int> isa OTHER */
1584 /* <var_130:Int> isa OTHER */
1585 var133
= 1; /* easy <var_130:Int> isa OTHER*/
1586 if (unlikely(!var133
)) {
1587 var_class_name136
= type_core__Int
.name
;
1588 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name136
);
1589 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
1592 var137
= var_i129
< var_130
;
1595 RET_LABEL132
:(void)0;
1600 goto BREAK_label138
;
1603 core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_table
, var_i129
, ((val
*)NULL
)); /* Direct call array$Array$[]= on <var_table:Array[nullable MPropDef]>*/
1606 var139
= core___core__Int___Discrete__successor(var_i129
, 1l);
1610 BREAK_label138
: (void)0;
1614 { /* Inline model$MProperty$mpropdefs (var_mproperty104) on <var_mproperty104:MProperty(MVirtualTypeProp)> */
1615 var142
= var_mproperty104
->attrs
[COLOR_nitc__model__MProperty___mpropdefs
].val
; /* _mpropdefs on <var_mproperty104:MProperty(MVirtualTypeProp)> */
1616 if (unlikely(var142
== NULL
)) {
1617 if(catchStack
.cursor
>= 0){
1618 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1620 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
1621 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2092);
1625 RET_LABEL141
:(void)0;
1630 var144
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_143
);
1635 var146
= ((short int(*)(val
* self
))((((long)var_145
&3)?class_info
[((long)var_145
&3)]:var_145
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_145
); /* is_ok on <var_145:IndexedIterator[MVirtualTypeDef]>*/
1639 goto BREAK_label147
;
1642 var148
= ((val
*(*)(val
* self
))((((long)var_145
&3)?class_info
[((long)var_145
&3)]:var_145
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_145
); /* item on <var_145:IndexedIterator[MVirtualTypeDef]>*/
1644 var_mpropdef149
= var148
;
1646 { /* Inline model$MPropDef$mclassdef (var_mpropdef149) on <var_mpropdef149:MVirtualTypeDef> */
1647 var152
= var_mpropdef149
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef149:MVirtualTypeDef> */
1648 if (unlikely(var152
== NULL
)) {
1649 if(catchStack
.cursor
>= 0){
1650 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1652 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1653 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2354);
1657 RET_LABEL151
:(void)0;
1661 { /* Inline model$MClassDef$mclass (var150) on <var150:MClassDef> */
1662 var155
= var150
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <var150:MClassDef> */
1663 if (unlikely(var155
== NULL
)) {
1664 if(catchStack
.cursor
>= 0){
1665 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1667 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1668 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 591);
1672 RET_LABEL154
:(void)0;
1676 { /* Inline kernel$Object$== (var153,var_mclass) on <var153:MClass> */
1677 var_other
= var_mclass
;
1679 { /* Inline kernel$Object$is_same_instance (var153,var_other) on <var153:MClass> */
1680 var160
= var153
== var_other
;
1683 RET_LABEL159
:(void)0;
1688 RET_LABEL157
:(void)0;
1693 core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_table
, var_color115
, var_mpropdef149
); /* Direct call array$Array$[]= on <var_table:Array[nullable MPropDef]>*/
1698 ((void(*)(val
* self
))((((long)var_145
&3)?class_info
[((long)var_145
&3)]:var_145
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_145
); /* next on <var_145:IndexedIterator[MVirtualTypeDef]>*/
1701 BREAK_label147
: (void)0;
1703 ((void(*)(val
* self
))((((long)var_145
&3)?class_info
[((long)var_145
&3)]:var_145
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_145
); /* finish on <var_145:IndexedIterator[MVirtualTypeDef]>*/
1705 BREAK_label109
: (void)0;
1707 ((void(*)(val
* self
))((((long)var_100
&3)?class_info
[((long)var_100
&3)]:var_100
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_100
); /* next on <var_100:Iterator[MProperty]>*/
1710 BREAK_label102
: (void)0;
1712 ((void(*)(val
* self
))((((long)var_100
&3)?class_info
[((long)var_100
&3)]:var_100
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_100
); /* finish on <var_100:Iterator[MProperty]>*/
1715 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_tables
, var_mclass
, var_table
); /* Direct call hash_collection$HashMap$[]= on <var_tables:HashMap[MClass, Array[nullable MPropDef]]>*/
1718 ((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[MClass]>*/
1721 BREAK_label
: (void)0;
1723 ((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[MClass]>*/
1730 /* method separate_erasure_compiler$SeparateErasureCompiler$build_class_typing_tables for (self: SeparateErasureCompiler, Set[MClass]): Map[MClass, Array[nullable MClass]] */
1731 val
* nitc___nitc__SeparateErasureCompiler___build_class_typing_tables(val
* self
, val
* p0
) {
1732 val
* var
/* : Map[MClass, Array[nullable MClass]] */;
1733 val
* var_mclasses
/* var mclasses: Set[MClass] */;
1734 val
* var1
/* : HashMap[MClass, Array[nullable MClass]] */;
1735 val
* var_tables
/* var tables: HashMap[MClass, Array[nullable MClass]] */;
1736 val
* var_
/* var : Set[MClass] */;
1737 val
* var2
/* : Iterator[nullable Object] */;
1738 val
* var_3
/* var : Iterator[MClass] */;
1739 short int var4
/* : Bool */;
1740 val
* var5
/* : nullable Object */;
1741 val
* var_mclass
/* var mclass: MClass */;
1742 val
* var6
/* : Array[nullable MClass] */;
1743 val
* var_table
/* var table: Array[nullable MClass] */;
1744 val
* var7
/* : Array[MClass] */;
1745 val
* var_supers
/* var supers: Array[MClass] */;
1746 val
* var8
/* : MModule */;
1747 val
* var10
/* : MModule */;
1748 val
* var11
/* : POSet[MClass] */;
1749 short int var12
/* : Bool */;
1750 val
* var13
/* : MModule */;
1751 val
* var15
/* : MModule */;
1752 val
* var16
/* : POSetElement[MClass] */;
1753 val
* var17
/* : Collection[nullable Object] */;
1754 val
* var18
/* : Array[nullable Object] */;
1755 val
* var_19
/* var : Array[MClass] */;
1756 val
* var20
/* : IndexedIterator[nullable Object] */;
1757 val
* var_21
/* var : IndexedIterator[MClass] */;
1758 short int var22
/* : Bool */;
1759 val
* var24
/* : nullable Object */;
1760 val
* var_sup
/* var sup: MClass */;
1761 val
* var25
/* : Map[MClass, Int] */;
1762 val
* var27
/* : Map[MClass, Int] */;
1763 val
* var28
/* : nullable Object */;
1764 long var29
/* : Int */;
1765 long var_color
/* var color: Int */;
1766 long var30
/* : Int */;
1767 long var32
/* : Int */;
1768 short int var33
/* : Bool */;
1769 short int var35
/* : Bool */;
1772 const char* var_class_name
;
1773 short int var36
/* : Bool */;
1774 long var37
/* : Int */;
1775 long var39
/* : Int */;
1776 long var_i
/* var i: Int */;
1777 long var_40
/* var : Int */;
1778 short int var41
/* : Bool */;
1779 short int var43
/* : Bool */;
1782 const char* var_class_name46
;
1783 short int var47
/* : Bool */;
1784 long var49
/* : Int */;
1786 var1
= NEW_core__HashMap(&type_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MClass
);
1788 core___core__HashMap___core__kernel__Object__init(var1
); /* Direct call hash_collection$HashMap$init on <var1:HashMap[MClass, Array[nullable MClass]]>*/
1791 var_
= var_mclasses
;
1793 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[MClass]>*/
1798 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[MClass]>*/
1805 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[MClass]>*/
1808 var6
= NEW_core__Array(&type_core__Array__nullable__nitc__MClass
);
1810 core___core__Array___core__kernel__Object__init(var6
); /* Direct call array$Array$init on <var6:Array[nullable MClass]>*/
1813 var7
= NEW_core__Array(&type_core__Array__nitc__MClass
);
1815 core___core__Array___core__kernel__Object__init(var7
); /* Direct call array$Array$init on <var7:Array[MClass]>*/
1819 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateErasureCompiler> */
1820 var10
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateErasureCompiler> */
1821 if (unlikely(var10
== NULL
)) {
1822 if(catchStack
.cursor
>= 0){
1823 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1825 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
1826 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
1834 var11
= nitc__model___MModule___flatten_mclass_hierarchy(var8
);
1837 var12
= poset___poset__POSet___core__abstract_collection__Collection__has(var11
, var_mclass
);
1841 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateErasureCompiler> */
1842 var15
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateErasureCompiler> */
1843 if (unlikely(var15
== NULL
)) {
1844 if(catchStack
.cursor
>= 0){
1845 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1847 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
1848 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
1852 RET_LABEL14
:(void)0;
1856 var16
= nitc___nitc__MClass___in_hierarchy(var_mclass
, var13
);
1859 var17
= poset___poset__POSetElement___greaters(var16
);
1862 var18
= ((val
*(*)(val
* self
))((((long)var17
&3)?class_info
[((long)var17
&3)]:var17
->class)->vft
[COLOR_core__array__Collection__to_a
]))(var17
); /* to_a on <var17:Collection[nullable Object](Collection[MClass])>*/
1867 var_19
= var_supers
;
1869 var20
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_19
);
1874 var22
= ((short int(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_21
); /* is_ok on <var_21:IndexedIterator[MClass]>*/
1881 var24
= ((val
*(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_21
); /* item on <var_21:IndexedIterator[MClass]>*/
1885 { /* Inline separate_erasure_compiler$SeparateErasureCompiler$class_colors (self) on <self:SeparateErasureCompiler> */
1886 var27
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___class_colors
].val
; /* _class_colors on <self:SeparateErasureCompiler> */
1887 if (unlikely(var27
== NULL
)) {
1888 if(catchStack
.cursor
>= 0){
1889 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1891 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _class_colors");
1892 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 85);
1896 RET_LABEL26
:(void)0;
1900 var28
= ((val
*(*)(val
* self
, val
* p0
))((((long)var25
&3)?class_info
[((long)var25
&3)]:var25
->class)->vft
[COLOR_core__abstract_collection__MapRead___91d_93d
]))(var25
, var_sup
); /* [] on <var25:Map[MClass, Int]>*/
1902 var29
= (long)(var28
)>>2;
1905 { /* Inline array$AbstractArrayRead$length (var_table) on <var_table:Array[nullable MClass]> */
1906 var32
= var_table
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_table:Array[nullable MClass]> */
1908 RET_LABEL31
:(void)0;
1912 { /* Inline kernel$Int$<= (var30,var_color) on <var30:Int> */
1913 /* Covariant cast for argument 0 (i) <var_color:Int> isa OTHER */
1914 /* <var_color:Int> isa OTHER */
1915 var35
= 1; /* easy <var_color:Int> isa OTHER*/
1916 if (unlikely(!var35
)) {
1917 var_class_name
= type_core__Int
.name
;
1918 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1919 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 724);
1922 var36
= var30
<= var_color
;
1925 RET_LABEL34
:(void)0;
1930 { /* Inline array$AbstractArrayRead$length (var_table) on <var_table:Array[nullable MClass]> */
1931 var39
= var_table
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_table:Array[nullable MClass]> */
1933 RET_LABEL38
:(void)0;
1940 { /* Inline kernel$Int$< (var_i,var_40) on <var_i:Int> */
1941 /* Covariant cast for argument 0 (i) <var_40:Int> isa OTHER */
1942 /* <var_40:Int> isa OTHER */
1943 var43
= 1; /* easy <var_40:Int> isa OTHER*/
1944 if (unlikely(!var43
)) {
1945 var_class_name46
= type_core__Int
.name
;
1946 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name46
);
1947 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
1950 var47
= var_i
< var_40
;
1953 RET_LABEL42
:(void)0;
1961 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 MClass]>*/
1964 var49
= core___core__Int___Discrete__successor(var_i
, 1l);
1968 BREAK_label48
: (void)0;
1972 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 MClass]>*/
1975 ((void(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_21
); /* next on <var_21:IndexedIterator[MClass]>*/
1978 BREAK_label23
: (void)0;
1980 ((void(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_21
); /* finish on <var_21:IndexedIterator[MClass]>*/
1983 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_tables
, var_mclass
, var_table
); /* Direct call hash_collection$HashMap$[]= on <var_tables:HashMap[MClass, Array[nullable MClass]]>*/
1986 ((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[MClass]>*/
1989 BREAK_label
: (void)0;
1991 ((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[MClass]>*/
1998 /* method separate_erasure_compiler$SeparateErasureCompiler$compile_header_structs for (self: SeparateErasureCompiler) */
1999 void nitc___nitc__SeparateErasureCompiler___nitc__abstract_compiler__AbstractCompiler__compile_header_structs(val
* self
) {
2000 val
* var
/* : CodeWriter */;
2001 val
* var2
/* : CodeWriter */;
2002 static val
* varonce
;
2003 val
* var3
/* : String */;
2004 char* var4
/* : CString */;
2005 val
* var5
/* : String */;
2006 val
* var6
/* : nullable Int */;
2007 val
* var7
/* : nullable Int */;
2008 val
* var8
/* : nullable Bool */;
2009 val
* var9
/* : nullable Bool */;
2010 val
* var10
/* : CodeWriter */;
2011 val
* var12
/* : CodeWriter */;
2012 static val
* varonce13
;
2013 val
* var14
/* : String */;
2014 char* var15
/* : CString */;
2015 val
* var16
/* : String */;
2016 val
* var17
/* : nullable Int */;
2017 val
* var18
/* : nullable Int */;
2018 val
* var19
/* : nullable Bool */;
2019 val
* var20
/* : nullable Bool */;
2020 val
* var21
/* : CodeWriter */;
2021 val
* var23
/* : CodeWriter */;
2022 static val
* varonce24
;
2023 val
* var25
/* : String */;
2024 char* var26
/* : CString */;
2025 val
* var27
/* : String */;
2026 val
* var28
/* : nullable Int */;
2027 val
* var29
/* : nullable Int */;
2028 val
* var30
/* : nullable Bool */;
2029 val
* var31
/* : nullable Bool */;
2030 val
* var32
/* : CodeWriter */;
2031 val
* var34
/* : CodeWriter */;
2032 static val
* varonce35
;
2033 val
* var36
/* : String */;
2034 char* var37
/* : CString */;
2035 val
* var38
/* : String */;
2036 val
* var39
/* : nullable Int */;
2037 val
* var40
/* : nullable Int */;
2038 val
* var41
/* : nullable Bool */;
2039 val
* var42
/* : nullable Bool */;
2040 val
* var43
/* : CodeWriter */;
2041 val
* var45
/* : CodeWriter */;
2042 static val
* varonce46
;
2043 val
* var47
/* : String */;
2044 char* var48
/* : CString */;
2045 val
* var49
/* : String */;
2046 val
* var50
/* : nullable Int */;
2047 val
* var51
/* : nullable Int */;
2048 val
* var52
/* : nullable Bool */;
2049 val
* var53
/* : nullable Bool */;
2050 val
* var54
/* : CodeWriter */;
2051 val
* var56
/* : CodeWriter */;
2052 static val
* varonce57
;
2053 val
* var58
/* : String */;
2054 char* var59
/* : CString */;
2055 val
* var60
/* : String */;
2056 val
* var61
/* : nullable Int */;
2057 val
* var62
/* : nullable Int */;
2058 val
* var63
/* : nullable Bool */;
2059 val
* var64
/* : nullable Bool */;
2061 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateErasureCompiler> */
2062 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateErasureCompiler> */
2063 if (unlikely(var2
== NULL
)) {
2064 if(catchStack
.cursor
>= 0){
2065 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2067 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2068 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
2075 if (likely(varonce
!=NULL
)) {
2078 var4
= "typedef void(*nitmethod_t)(void); /* general C type representing a Nit method. */";
2079 var6
= (val
*)(81l<<2|1);
2080 var7
= (val
*)(81l<<2|1);
2081 var8
= (val
*)((long)(0)<<2|3);
2082 var9
= (val
*)((long)(0)<<2|3);
2083 var5
= core__flat___CString___to_s_unsafe(var4
, var6
, var7
, var8
, var9
);
2088 nitc___nitc__CodeWriter___add_decl(var
, var3
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var:CodeWriter>*/
2091 nitc___nitc__SeparateCompiler___compile_header_attribute_structs(self
); /* Direct call separate_compiler$SeparateCompiler$compile_header_attribute_structs on <self:SeparateErasureCompiler>*/
2094 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateErasureCompiler> */
2095 var12
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateErasureCompiler> */
2096 if (unlikely(var12
== NULL
)) {
2097 if(catchStack
.cursor
>= 0){
2098 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2100 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2101 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
2105 RET_LABEL11
:(void)0;
2108 if (likely(varonce13
!=NULL
)) {
2111 var15
= "struct class { int id; const char *name; int box_kind; int color; const struct vts_table *vts_table; const struct type_table *type_table; nitmethod_t vft[]; }; /* general C type representing a Nit class. */";
2112 var17
= (val
*)(206l<<2|1);
2113 var18
= (val
*)(206l<<2|1);
2114 var19
= (val
*)((long)(0)<<2|3);
2115 var20
= (val
*)((long)(0)<<2|3);
2116 var16
= core__flat___CString___to_s_unsafe(var15
, var17
, var18
, var19
, var20
);
2121 nitc___nitc__CodeWriter___add_decl(var10
, var14
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var10:CodeWriter>*/
2124 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateErasureCompiler> */
2125 var23
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateErasureCompiler> */
2126 if (unlikely(var23
== NULL
)) {
2127 if(catchStack
.cursor
>= 0){
2128 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2130 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2131 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
2135 RET_LABEL22
:(void)0;
2138 if (likely(varonce24
!=NULL
)) {
2141 var26
= "struct type_table { int size; int table[]; }; /* colorized type table. */";
2142 var28
= (val
*)(73l<<2|1);
2143 var29
= (val
*)(73l<<2|1);
2144 var30
= (val
*)((long)(0)<<2|3);
2145 var31
= (val
*)((long)(0)<<2|3);
2146 var27
= core__flat___CString___to_s_unsafe(var26
, var28
, var29
, var30
, var31
);
2151 nitc___nitc__CodeWriter___add_decl(var21
, var25
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var21:CodeWriter>*/
2154 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateErasureCompiler> */
2155 var34
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateErasureCompiler> */
2156 if (unlikely(var34
== NULL
)) {
2157 if(catchStack
.cursor
>= 0){
2158 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2160 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2161 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
2165 RET_LABEL33
:(void)0;
2168 if (likely(varonce35
!=NULL
)) {
2171 var37
= "struct vts_entry { short int is_nullable; const struct class *class; }; /* link (nullable or not) between the vts and is bound. */";
2172 var39
= (val
*)(130l<<2|1);
2173 var40
= (val
*)(130l<<2|1);
2174 var41
= (val
*)((long)(0)<<2|3);
2175 var42
= (val
*)((long)(0)<<2|3);
2176 var38
= core__flat___CString___to_s_unsafe(var37
, var39
, var40
, var41
, var42
);
2181 nitc___nitc__CodeWriter___add_decl(var32
, var36
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var32:CodeWriter>*/
2184 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateErasureCompiler> */
2185 var45
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateErasureCompiler> */
2186 if (unlikely(var45
== NULL
)) {
2187 if(catchStack
.cursor
>= 0){
2188 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2190 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2191 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
2195 RET_LABEL44
:(void)0;
2198 if (likely(varonce46
!=NULL
)) {
2201 var48
= "struct vts_table { int dummy; const struct vts_entry vts[]; }; /* vts list of a C type representation. */";
2202 var50
= (val
*)(105l<<2|1);
2203 var51
= (val
*)(105l<<2|1);
2204 var52
= (val
*)((long)(0)<<2|3);
2205 var53
= (val
*)((long)(0)<<2|3);
2206 var49
= core__flat___CString___to_s_unsafe(var48
, var50
, var51
, var52
, var53
);
2211 nitc___nitc__CodeWriter___add_decl(var43
, var47
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var43:CodeWriter>*/
2214 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateErasureCompiler> */
2215 var56
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateErasureCompiler> */
2216 if (unlikely(var56
== NULL
)) {
2217 if(catchStack
.cursor
>= 0){
2218 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2220 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2221 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
2225 RET_LABEL55
:(void)0;
2228 if (likely(varonce57
!=NULL
)) {
2231 var59
= "typedef struct instance { const struct class *class; nitattribute_t attrs[1]; } val; /* general C type representing a Nit instance. */";
2232 var61
= (val
*)(134l<<2|1);
2233 var62
= (val
*)(134l<<2|1);
2234 var63
= (val
*)((long)(0)<<2|3);
2235 var64
= (val
*)((long)(0)<<2|3);
2236 var60
= core__flat___CString___to_s_unsafe(var59
, var61
, var62
, var63
, var64
);
2241 nitc___nitc__CodeWriter___add_decl(var54
, var58
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var54:CodeWriter>*/
2245 /* method separate_erasure_compiler$SeparateErasureCompiler$compile_class_to_c for (self: SeparateErasureCompiler, MClass) */
2246 void nitc___nitc__SeparateErasureCompiler___nitc__separate_compiler__SeparateCompiler__compile_class_to_c(val
* self
, val
* p0
) {
2247 val
* var_mclass
/* var mclass: MClass */;
2248 val
* var
/* : MClassDef */;
2249 val
* var2
/* : MClassDef */;
2250 val
* var3
/* : MClassType */;
2251 val
* var5
/* : MClassType */;
2252 val
* var_mtype
/* var mtype: MClassType */;
2253 val
* var6
/* : String */;
2254 val
* var_c_name
/* var c_name: String */;
2255 val
* var7
/* : Map[MClass, Array[nullable MClass]] */;
2256 val
* var9
/* : Map[MClass, Array[nullable MClass]] */;
2257 val
* var10
/* : nullable Object */;
2258 val
* var_class_table
/* var class_table: Array[nullable MClass] */;
2259 val
* var11
/* : SeparateCompilerVisitor */;
2260 val
* var_v
/* var v: SeparateCompilerVisitor */;
2261 val
* var12
/* : nullable RapidTypeAnalysis */;
2262 val
* var14
/* : nullable RapidTypeAnalysis */;
2263 val
* var_rta
/* var rta: nullable RapidTypeAnalysis */;
2264 short int var_is_dead
/* var is_dead: Bool */;
2265 short int var15
/* : Bool */;
2266 short int var16
/* : Bool */;
2267 short int var17
/* : Bool */;
2268 short int var18
/* : Bool */;
2269 short int var19
/* : Bool */;
2270 short int var_
/* var : Bool */;
2271 short int var20
/* : Bool */;
2272 short int var21
/* : Bool */;
2273 val
* var_other
/* var other: nullable Object */;
2274 short int var23
/* : Bool */;
2275 short int var24
/* : Bool */;
2276 short int var_25
/* var : Bool */;
2277 val
* var26
/* : HashSet[MClass] */;
2278 val
* var28
/* : HashSet[MClass] */;
2279 short int var29
/* : Bool */;
2280 short int var30
/* : Bool */;
2281 short int var_31
/* var : Bool */;
2282 short int var32
/* : Bool */;
2283 short int var33
/* : Bool */;
2284 short int var_34
/* var : Bool */;
2285 val
* var35
/* : String */;
2286 val
* var37
/* : String */;
2287 static val
* varonce
;
2288 val
* var38
/* : String */;
2289 char* var39
/* : CString */;
2290 val
* var40
/* : String */;
2291 val
* var41
/* : nullable Int */;
2292 val
* var42
/* : nullable Int */;
2293 val
* var43
/* : nullable Bool */;
2294 val
* var44
/* : nullable Bool */;
2295 short int var45
/* : Bool */;
2296 short int var47
/* : Bool */;
2297 short int var48
/* : Bool */;
2298 val
* var50
/* : NativeArray[String] */;
2299 static val
* varonce49
;
2300 static val
* varonce51
;
2301 val
* var52
/* : String */;
2302 char* var53
/* : CString */;
2303 val
* var54
/* : String */;
2304 val
* var55
/* : nullable Int */;
2305 val
* var56
/* : nullable Int */;
2306 val
* var57
/* : nullable Bool */;
2307 val
* var58
/* : nullable Bool */;
2308 static val
* varonce59
;
2309 val
* var60
/* : String */;
2310 char* var61
/* : CString */;
2311 val
* var62
/* : String */;
2312 val
* var63
/* : nullable Int */;
2313 val
* var64
/* : nullable Int */;
2314 val
* var65
/* : nullable Bool */;
2315 val
* var66
/* : nullable Bool */;
2316 val
* var67
/* : String */;
2317 val
* var69
/* : NativeArray[String] */;
2318 static val
* varonce68
;
2319 static val
* varonce70
;
2320 val
* var71
/* : String */;
2321 char* var72
/* : CString */;
2322 val
* var73
/* : String */;
2323 val
* var74
/* : nullable Int */;
2324 val
* var75
/* : nullable Int */;
2325 val
* var76
/* : nullable Bool */;
2326 val
* var77
/* : nullable Bool */;
2327 val
* var78
/* : String */;
2328 val
* var80
/* : NativeArray[String] */;
2329 static val
* varonce79
;
2330 static val
* varonce81
;
2331 val
* var82
/* : String */;
2332 char* var83
/* : CString */;
2333 val
* var84
/* : String */;
2334 val
* var85
/* : nullable Int */;
2335 val
* var86
/* : nullable Int */;
2336 val
* var87
/* : nullable Bool */;
2337 val
* var88
/* : nullable Bool */;
2338 static val
* varonce89
;
2339 val
* var90
/* : String */;
2340 char* var91
/* : CString */;
2341 val
* var92
/* : String */;
2342 val
* var93
/* : nullable Int */;
2343 val
* var94
/* : nullable Int */;
2344 val
* var95
/* : nullable Bool */;
2345 val
* var96
/* : nullable Bool */;
2346 val
* var97
/* : String */;
2347 val
* var99
/* : NativeArray[String] */;
2348 static val
* varonce98
;
2349 static val
* varonce100
;
2350 val
* var101
/* : String */;
2351 char* var102
/* : CString */;
2352 val
* var103
/* : String */;
2353 val
* var104
/* : nullable Int */;
2354 val
* var105
/* : nullable Int */;
2355 val
* var106
/* : nullable Bool */;
2356 val
* var107
/* : nullable Bool */;
2357 static val
* varonce108
;
2358 val
* var109
/* : String */;
2359 char* var110
/* : CString */;
2360 val
* var111
/* : String */;
2361 val
* var112
/* : nullable Int */;
2362 val
* var113
/* : nullable Int */;
2363 val
* var114
/* : nullable Bool */;
2364 val
* var115
/* : nullable Bool */;
2365 val
* var116
/* : String */;
2366 val
* var118
/* : NativeArray[String] */;
2367 static val
* varonce117
;
2368 static val
* varonce119
;
2369 val
* var120
/* : String */;
2370 char* var121
/* : CString */;
2371 val
* var122
/* : String */;
2372 val
* var123
/* : nullable Int */;
2373 val
* var124
/* : nullable Int */;
2374 val
* var125
/* : nullable Bool */;
2375 val
* var126
/* : nullable Bool */;
2376 static val
* varonce127
;
2377 val
* var128
/* : String */;
2378 char* var129
/* : CString */;
2379 val
* var130
/* : String */;
2380 val
* var131
/* : nullable Int */;
2381 val
* var132
/* : nullable Int */;
2382 val
* var133
/* : nullable Bool */;
2383 val
* var134
/* : nullable Bool */;
2384 val
* var135
/* : String */;
2385 val
* var137
/* : NativeArray[String] */;
2386 static val
* varonce136
;
2387 static val
* varonce138
;
2388 val
* var139
/* : String */;
2389 char* var140
/* : CString */;
2390 val
* var141
/* : String */;
2391 val
* var142
/* : nullable Int */;
2392 val
* var143
/* : nullable Int */;
2393 val
* var144
/* : nullable Bool */;
2394 val
* var145
/* : nullable Bool */;
2395 val
* var146
/* : Map[MClass, Int] */;
2396 val
* var148
/* : Map[MClass, Int] */;
2397 val
* var149
/* : nullable Object */;
2398 val
* var150
/* : String */;
2399 long var151
/* : Int */;
2400 val
* var152
/* : String */;
2401 val
* var154
/* : NativeArray[String] */;
2402 static val
* varonce153
;
2403 static val
* varonce155
;
2404 val
* var156
/* : String */;
2405 char* var157
/* : CString */;
2406 val
* var158
/* : String */;
2407 val
* var159
/* : nullable Int */;
2408 val
* var160
/* : nullable Int */;
2409 val
* var161
/* : nullable Bool */;
2410 val
* var162
/* : nullable Bool */;
2411 static val
* varonce163
;
2412 val
* var164
/* : String */;
2413 char* var165
/* : CString */;
2414 val
* var166
/* : String */;
2415 val
* var167
/* : nullable Int */;
2416 val
* var168
/* : nullable Int */;
2417 val
* var169
/* : nullable Bool */;
2418 val
* var170
/* : nullable Bool */;
2419 val
* var171
/* : String */;
2420 val
* var173
/* : String */;
2421 val
* var174
/* : String */;
2422 val
* var176
/* : NativeArray[String] */;
2423 static val
* varonce175
;
2424 static val
* varonce177
;
2425 val
* var178
/* : String */;
2426 char* var179
/* : CString */;
2427 val
* var180
/* : String */;
2428 val
* var181
/* : nullable Int */;
2429 val
* var182
/* : nullable Int */;
2430 val
* var183
/* : nullable Bool */;
2431 val
* var184
/* : nullable Bool */;
2432 long var185
/* : Int */;
2433 val
* var186
/* : String */;
2434 val
* var187
/* : String */;
2435 val
* var189
/* : NativeArray[String] */;
2436 static val
* varonce188
;
2437 static val
* varonce190
;
2438 val
* var191
/* : String */;
2439 char* var192
/* : CString */;
2440 val
* var193
/* : String */;
2441 val
* var194
/* : nullable Int */;
2442 val
* var195
/* : nullable Int */;
2443 val
* var196
/* : nullable Bool */;
2444 val
* var197
/* : nullable Bool */;
2445 val
* var198
/* : Map[MClass, Int] */;
2446 val
* var200
/* : Map[MClass, Int] */;
2447 val
* var201
/* : nullable Object */;
2448 val
* var202
/* : String */;
2449 long var203
/* : Int */;
2450 val
* var204
/* : String */;
2451 short int var205
/* : Bool */;
2452 short int var206
/* : Bool */;
2453 val
* var208
/* : NativeArray[String] */;
2454 static val
* varonce207
;
2455 static val
* varonce209
;
2456 val
* var210
/* : String */;
2457 char* var211
/* : CString */;
2458 val
* var212
/* : String */;
2459 val
* var213
/* : nullable Int */;
2460 val
* var214
/* : nullable Int */;
2461 val
* var215
/* : nullable Bool */;
2462 val
* var216
/* : nullable Bool */;
2463 val
* var217
/* : String */;
2464 val
* var219
/* : NativeArray[String] */;
2465 static val
* varonce218
;
2466 static val
* varonce220
;
2467 val
* var221
/* : String */;
2468 char* var222
/* : CString */;
2469 val
* var223
/* : String */;
2470 val
* var224
/* : nullable Int */;
2471 val
* var225
/* : nullable Int */;
2472 val
* var226
/* : nullable Bool */;
2473 val
* var227
/* : nullable Bool */;
2474 static val
* varonce228
;
2475 val
* var229
/* : String */;
2476 char* var230
/* : CString */;
2477 val
* var231
/* : String */;
2478 val
* var232
/* : nullable Int */;
2479 val
* var233
/* : nullable Int */;
2480 val
* var234
/* : nullable Bool */;
2481 val
* var235
/* : nullable Bool */;
2482 val
* var236
/* : String */;
2483 static val
* varonce237
;
2484 val
* var238
/* : String */;
2485 char* var239
/* : CString */;
2486 val
* var240
/* : String */;
2487 val
* var241
/* : nullable Int */;
2488 val
* var242
/* : nullable Int */;
2489 val
* var243
/* : nullable Bool */;
2490 val
* var244
/* : nullable Bool */;
2491 val
* var246
/* : NativeArray[String] */;
2492 static val
* varonce245
;
2493 static val
* varonce247
;
2494 val
* var248
/* : String */;
2495 char* var249
/* : CString */;
2496 val
* var250
/* : String */;
2497 val
* var251
/* : nullable Int */;
2498 val
* var252
/* : nullable Int */;
2499 val
* var253
/* : nullable Bool */;
2500 val
* var254
/* : nullable Bool */;
2501 static val
* varonce255
;
2502 val
* var256
/* : String */;
2503 char* var257
/* : CString */;
2504 val
* var258
/* : String */;
2505 val
* var259
/* : nullable Int */;
2506 val
* var260
/* : nullable Int */;
2507 val
* var261
/* : nullable Bool */;
2508 val
* var262
/* : nullable Bool */;
2509 val
* var263
/* : String */;
2510 static val
* varonce264
;
2511 val
* var265
/* : String */;
2512 char* var266
/* : CString */;
2513 val
* var267
/* : String */;
2514 val
* var268
/* : nullable Int */;
2515 val
* var269
/* : nullable Int */;
2516 val
* var270
/* : nullable Bool */;
2517 val
* var271
/* : nullable Bool */;
2518 val
* var272
/* : Map[MClass, Array[nullable MPropDef]] */;
2519 val
* var274
/* : Map[MClass, Array[nullable MPropDef]] */;
2520 val
* var275
/* : nullable Object */;
2521 val
* var_vft
/* var vft: nullable Array[nullable MPropDef] */;
2522 short int var276
/* : Bool */;
2523 short int var277
/* : Bool */;
2524 short int var279
/* : Bool */;
2525 short int var280
/* : Bool */;
2526 long var_i
/* var i: Int */;
2527 long var281
/* : Int */;
2528 long var283
/* : Int */;
2529 long var_284
/* var : Int */;
2530 short int var285
/* : Bool */;
2531 short int var287
/* : Bool */;
2534 const char* var_class_name
;
2535 short int var288
/* : Bool */;
2536 val
* var289
/* : nullable Object */;
2537 val
* var_mpropdef
/* var mpropdef: nullable MPropDef */;
2538 short int var290
/* : Bool */;
2539 short int var291
/* : Bool */;
2540 val
* var_other293
/* var other: nullable Object */;
2541 short int var294
/* : Bool */;
2542 short int var296
/* : Bool */;
2543 static val
* varonce297
;
2544 val
* var298
/* : String */;
2545 char* var299
/* : CString */;
2546 val
* var300
/* : String */;
2547 val
* var301
/* : nullable Int */;
2548 val
* var302
/* : nullable Int */;
2549 val
* var303
/* : nullable Bool */;
2550 val
* var304
/* : nullable Bool */;
2551 short int var305
/* : Bool */;
2554 short int var308
/* : Bool */;
2555 short int var309
/* : Bool */;
2556 short int var310
/* : Bool */;
2557 short int var312
/* : Bool */;
2558 short int var313
/* : Bool */;
2559 short int var_314
/* var : Bool */;
2560 val
* var315
/* : HashSet[MMethodDef] */;
2561 val
* var317
/* : HashSet[MMethodDef] */;
2562 short int var318
/* : Bool */;
2563 short int var319
/* : Bool */;
2564 val
* var321
/* : NativeArray[String] */;
2565 static val
* varonce320
;
2566 static val
* varonce322
;
2567 val
* var323
/* : String */;
2568 char* var324
/* : CString */;
2569 val
* var325
/* : String */;
2570 val
* var326
/* : nullable Int */;
2571 val
* var327
/* : nullable Int */;
2572 val
* var328
/* : nullable Bool */;
2573 val
* var329
/* : nullable Bool */;
2574 static val
* varonce330
;
2575 val
* var331
/* : String */;
2576 char* var332
/* : CString */;
2577 val
* var333
/* : String */;
2578 val
* var334
/* : nullable Int */;
2579 val
* var335
/* : nullable Int */;
2580 val
* var336
/* : nullable Bool */;
2581 val
* var337
/* : nullable Bool */;
2582 static val
* varonce338
;
2583 val
* var339
/* : String */;
2584 char* var340
/* : CString */;
2585 val
* var341
/* : String */;
2586 val
* var342
/* : nullable Int */;
2587 val
* var343
/* : nullable Int */;
2588 val
* var344
/* : nullable Bool */;
2589 val
* var345
/* : nullable Bool */;
2590 static val
* varonce346
;
2591 val
* var347
/* : String */;
2592 char* var348
/* : CString */;
2593 val
* var349
/* : String */;
2594 val
* var350
/* : nullable Int */;
2595 val
* var351
/* : nullable Int */;
2596 val
* var352
/* : nullable Bool */;
2597 val
* var353
/* : nullable Bool */;
2598 val
* var354
/* : MModule */;
2599 val
* var356
/* : MModule */;
2600 val
* var357
/* : String */;
2601 val
* var358
/* : String */;
2602 val
* var359
/* : String */;
2603 val
* var360
/* : String */;
2604 val
* var362
/* : SeparateRuntimeFunction */;
2605 val
* var_rf
/* var rf: SeparateRuntimeFunction */;
2606 val
* var363
/* : String */;
2607 val
* var365
/* : NativeArray[String] */;
2608 static val
* varonce364
;
2609 static val
* varonce366
;
2610 val
* var367
/* : String */;
2611 char* var368
/* : CString */;
2612 val
* var369
/* : String */;
2613 val
* var370
/* : nullable Int */;
2614 val
* var371
/* : nullable Int */;
2615 val
* var372
/* : nullable Bool */;
2616 val
* var373
/* : nullable Bool */;
2617 static val
* varonce374
;
2618 val
* var375
/* : String */;
2619 char* var376
/* : CString */;
2620 val
* var377
/* : String */;
2621 val
* var378
/* : nullable Int */;
2622 val
* var379
/* : nullable Int */;
2623 val
* var380
/* : nullable Bool */;
2624 val
* var381
/* : nullable Bool */;
2625 static val
* varonce382
;
2626 val
* var383
/* : String */;
2627 char* var384
/* : CString */;
2628 val
* var385
/* : String */;
2629 val
* var386
/* : nullable Int */;
2630 val
* var387
/* : nullable Int */;
2631 val
* var388
/* : nullable Bool */;
2632 val
* var389
/* : nullable Bool */;
2633 val
* var390
/* : String */;
2634 val
* var391
/* : String */;
2635 val
* var392
/* : String */;
2636 long var393
/* : Int */;
2637 static val
* varonce394
;
2638 val
* var395
/* : String */;
2639 char* var396
/* : CString */;
2640 val
* var397
/* : String */;
2641 val
* var398
/* : nullable Int */;
2642 val
* var399
/* : nullable Int */;
2643 val
* var400
/* : nullable Bool */;
2644 val
* var401
/* : nullable Bool */;
2645 static val
* varonce402
;
2646 val
* var403
/* : String */;
2647 char* var404
/* : CString */;
2648 val
* var405
/* : String */;
2649 val
* var406
/* : nullable Int */;
2650 val
* var407
/* : nullable Int */;
2651 val
* var408
/* : nullable Bool */;
2652 val
* var409
/* : nullable Bool */;
2653 val
* var411
/* : NativeArray[String] */;
2654 static val
* varonce410
;
2655 static val
* varonce412
;
2656 val
* var413
/* : String */;
2657 char* var414
/* : CString */;
2658 val
* var415
/* : String */;
2659 val
* var416
/* : nullable Int */;
2660 val
* var417
/* : nullable Int */;
2661 val
* var418
/* : nullable Bool */;
2662 val
* var419
/* : nullable Bool */;
2663 static val
* varonce420
;
2664 val
* var421
/* : String */;
2665 char* var422
/* : CString */;
2666 val
* var423
/* : String */;
2667 val
* var424
/* : nullable Int */;
2668 val
* var425
/* : nullable Int */;
2669 val
* var426
/* : nullable Bool */;
2670 val
* var427
/* : nullable Bool */;
2671 val
* var428
/* : String */;
2672 val
* var430
/* : NativeArray[String] */;
2673 static val
* varonce429
;
2674 static val
* varonce431
;
2675 val
* var432
/* : String */;
2676 char* var433
/* : CString */;
2677 val
* var434
/* : String */;
2678 val
* var435
/* : nullable Int */;
2679 val
* var436
/* : nullable Int */;
2680 val
* var437
/* : nullable Bool */;
2681 val
* var438
/* : nullable Bool */;
2682 long var439
/* : Int */;
2683 long var441
/* : Int */;
2684 val
* var442
/* : String */;
2685 val
* var443
/* : String */;
2686 static val
* varonce444
;
2687 val
* var445
/* : String */;
2688 char* var446
/* : CString */;
2689 val
* var447
/* : String */;
2690 val
* var448
/* : nullable Int */;
2691 val
* var449
/* : nullable Int */;
2692 val
* var450
/* : nullable Bool */;
2693 val
* var451
/* : nullable Bool */;
2694 val
* var_452
/* var : Array[nullable MClass] */;
2695 val
* var453
/* : IndexedIterator[nullable Object] */;
2696 val
* var_454
/* var : IndexedIterator[nullable MClass] */;
2697 short int var455
/* : Bool */;
2698 val
* var457
/* : nullable Object */;
2699 val
* var_msuper
/* var msuper: nullable MClass */;
2700 short int var458
/* : Bool */;
2701 short int var459
/* : Bool */;
2702 short int var461
/* : Bool */;
2703 short int var463
/* : Bool */;
2704 static val
* varonce464
;
2705 val
* var465
/* : String */;
2706 char* var466
/* : CString */;
2707 val
* var467
/* : String */;
2708 val
* var468
/* : nullable Int */;
2709 val
* var469
/* : nullable Int */;
2710 val
* var470
/* : nullable Bool */;
2711 val
* var471
/* : nullable Bool */;
2712 val
* var473
/* : NativeArray[String] */;
2713 static val
* varonce472
;
2714 static val
* varonce474
;
2715 val
* var475
/* : String */;
2716 char* var476
/* : CString */;
2717 val
* var477
/* : String */;
2718 val
* var478
/* : nullable Int */;
2719 val
* var479
/* : nullable Int */;
2720 val
* var480
/* : nullable Bool */;
2721 val
* var481
/* : nullable Bool */;
2722 static val
* varonce482
;
2723 val
* var483
/* : String */;
2724 char* var484
/* : CString */;
2725 val
* var485
/* : String */;
2726 val
* var486
/* : nullable Int */;
2727 val
* var487
/* : nullable Int */;
2728 val
* var488
/* : nullable Bool */;
2729 val
* var489
/* : nullable Bool */;
2730 val
* var490
/* : Map[MClass, Int] */;
2731 val
* var492
/* : Map[MClass, Int] */;
2732 val
* var493
/* : nullable Object */;
2733 val
* var494
/* : String */;
2734 long var495
/* : Int */;
2735 val
* var496
/* : String */;
2736 val
* var497
/* : String */;
2737 static val
* varonce498
;
2738 val
* var499
/* : String */;
2739 char* var500
/* : CString */;
2740 val
* var501
/* : String */;
2741 val
* var502
/* : nullable Int */;
2742 val
* var503
/* : nullable Int */;
2743 val
* var504
/* : nullable Bool */;
2744 val
* var505
/* : nullable Bool */;
2745 static val
* varonce506
;
2746 val
* var507
/* : String */;
2747 char* var508
/* : CString */;
2748 val
* var509
/* : String */;
2749 val
* var510
/* : nullable Int */;
2750 val
* var511
/* : nullable Int */;
2751 val
* var512
/* : nullable Bool */;
2752 val
* var513
/* : nullable Bool */;
2753 short int var514
/* : Bool */;
2754 short int var515
/* : Bool */;
2755 short int var_516
/* var : Bool */;
2756 val
* var517
/* : MClass */;
2757 val
* var519
/* : MClass */;
2758 val
* var520
/* : String */;
2759 val
* var522
/* : String */;
2760 static val
* varonce523
;
2761 val
* var524
/* : String */;
2762 char* var525
/* : CString */;
2763 val
* var526
/* : String */;
2764 val
* var527
/* : nullable Int */;
2765 val
* var528
/* : nullable Int */;
2766 val
* var529
/* : nullable Bool */;
2767 val
* var530
/* : nullable Bool */;
2768 short int var531
/* : Bool */;
2769 val
* var532
/* : CodeWriter */;
2770 val
* var534
/* : CodeWriter */;
2771 val
* var536
/* : NativeArray[String] */;
2772 static val
* varonce535
;
2773 static val
* varonce537
;
2774 val
* var538
/* : String */;
2775 char* var539
/* : CString */;
2776 val
* var540
/* : String */;
2777 val
* var541
/* : nullable Int */;
2778 val
* var542
/* : nullable Int */;
2779 val
* var543
/* : nullable Bool */;
2780 val
* var544
/* : nullable Bool */;
2781 static val
* varonce545
;
2782 val
* var546
/* : String */;
2783 char* var547
/* : CString */;
2784 val
* var548
/* : String */;
2785 val
* var549
/* : nullable Int */;
2786 val
* var550
/* : nullable Int */;
2787 val
* var551
/* : nullable Bool */;
2788 val
* var552
/* : nullable Bool */;
2789 val
* var553
/* : String */;
2790 val
* var554
/* : CodeWriter */;
2791 val
* var556
/* : CodeWriter */;
2792 static val
* varonce557
;
2793 val
* var558
/* : String */;
2794 char* var559
/* : CString */;
2795 val
* var560
/* : String */;
2796 val
* var561
/* : nullable Int */;
2797 val
* var562
/* : nullable Int */;
2798 val
* var563
/* : nullable Bool */;
2799 val
* var564
/* : nullable Bool */;
2800 val
* var565
/* : CodeWriter */;
2801 val
* var567
/* : CodeWriter */;
2802 val
* var569
/* : NativeArray[String] */;
2803 static val
* varonce568
;
2804 static val
* varonce570
;
2805 val
* var571
/* : String */;
2806 char* var572
/* : CString */;
2807 val
* var573
/* : String */;
2808 val
* var574
/* : nullable Int */;
2809 val
* var575
/* : nullable Int */;
2810 val
* var576
/* : nullable Bool */;
2811 val
* var577
/* : nullable Bool */;
2812 val
* var578
/* : String */;
2813 val
* var579
/* : String */;
2814 val
* var580
/* : CodeWriter */;
2815 val
* var582
/* : CodeWriter */;
2816 static val
* varonce583
;
2817 val
* var584
/* : String */;
2818 char* var585
/* : CString */;
2819 val
* var586
/* : String */;
2820 val
* var587
/* : nullable Int */;
2821 val
* var588
/* : nullable Int */;
2822 val
* var589
/* : nullable Bool */;
2823 val
* var590
/* : nullable Bool */;
2824 val
* var592
/* : NativeArray[String] */;
2825 static val
* varonce591
;
2826 static val
* varonce593
;
2827 val
* var594
/* : String */;
2828 char* var595
/* : CString */;
2829 val
* var596
/* : String */;
2830 val
* var597
/* : nullable Int */;
2831 val
* var598
/* : nullable Int */;
2832 val
* var599
/* : nullable Bool */;
2833 val
* var600
/* : nullable Bool */;
2834 val
* var601
/* : String */;
2835 val
* var603
/* : NativeArray[String] */;
2836 static val
* varonce602
;
2837 static val
* varonce604
;
2838 val
* var605
/* : String */;
2839 char* var606
/* : CString */;
2840 val
* var607
/* : String */;
2841 val
* var608
/* : nullable Int */;
2842 val
* var609
/* : nullable Int */;
2843 val
* var610
/* : nullable Bool */;
2844 val
* var611
/* : nullable Bool */;
2845 static val
* varonce612
;
2846 val
* var613
/* : String */;
2847 char* var614
/* : CString */;
2848 val
* var615
/* : String */;
2849 val
* var616
/* : nullable Int */;
2850 val
* var617
/* : nullable Int */;
2851 val
* var618
/* : nullable Bool */;
2852 val
* var619
/* : nullable Bool */;
2853 static val
* varonce620
;
2854 val
* var621
/* : String */;
2855 char* var622
/* : CString */;
2856 val
* var623
/* : String */;
2857 val
* var624
/* : nullable Int */;
2858 val
* var625
/* : nullable Int */;
2859 val
* var626
/* : nullable Bool */;
2860 val
* var627
/* : nullable Bool */;
2861 val
* var628
/* : String */;
2862 val
* var629
/* : String */;
2863 val
* var631
/* : NativeArray[String] */;
2864 static val
* varonce630
;
2865 static val
* varonce632
;
2866 val
* var633
/* : String */;
2867 char* var634
/* : CString */;
2868 val
* var635
/* : String */;
2869 val
* var636
/* : nullable Int */;
2870 val
* var637
/* : nullable Int */;
2871 val
* var638
/* : nullable Bool */;
2872 val
* var639
/* : nullable Bool */;
2873 static val
* varonce640
;
2874 val
* var641
/* : String */;
2875 char* var642
/* : CString */;
2876 val
* var643
/* : String */;
2877 val
* var644
/* : nullable Int */;
2878 val
* var645
/* : nullable Int */;
2879 val
* var646
/* : nullable Bool */;
2880 val
* var647
/* : nullable Bool */;
2881 val
* var648
/* : String */;
2882 val
* var649
/* : String */;
2883 val
* var651
/* : NativeArray[String] */;
2884 static val
* varonce650
;
2885 static val
* varonce652
;
2886 val
* var653
/* : String */;
2887 char* var654
/* : CString */;
2888 val
* var655
/* : String */;
2889 val
* var656
/* : nullable Int */;
2890 val
* var657
/* : nullable Int */;
2891 val
* var658
/* : nullable Bool */;
2892 val
* var659
/* : nullable Bool */;
2893 static val
* varonce660
;
2894 val
* var661
/* : String */;
2895 char* var662
/* : CString */;
2896 val
* var663
/* : String */;
2897 val
* var664
/* : nullable Int */;
2898 val
* var665
/* : nullable Int */;
2899 val
* var666
/* : nullable Bool */;
2900 val
* var667
/* : nullable Bool */;
2901 static val
* varonce668
;
2902 val
* var669
/* : String */;
2903 char* var670
/* : CString */;
2904 val
* var671
/* : String */;
2905 val
* var672
/* : nullable Int */;
2906 val
* var673
/* : nullable Int */;
2907 val
* var674
/* : nullable Bool */;
2908 val
* var675
/* : nullable Bool */;
2909 val
* var676
/* : String */;
2910 val
* var677
/* : String */;
2911 val
* var678
/* : String */;
2912 val
* var680
/* : NativeArray[String] */;
2913 static val
* varonce679
;
2914 static val
* varonce681
;
2915 val
* var682
/* : String */;
2916 char* var683
/* : CString */;
2917 val
* var684
/* : String */;
2918 val
* var685
/* : nullable Int */;
2919 val
* var686
/* : nullable Int */;
2920 val
* var687
/* : nullable Bool */;
2921 val
* var688
/* : nullable Bool */;
2922 static val
* varonce689
;
2923 val
* var690
/* : String */;
2924 char* var691
/* : CString */;
2925 val
* var692
/* : String */;
2926 val
* var693
/* : nullable Int */;
2927 val
* var694
/* : nullable Int */;
2928 val
* var695
/* : nullable Bool */;
2929 val
* var696
/* : nullable Bool */;
2930 static val
* varonce697
;
2931 val
* var698
/* : String */;
2932 char* var699
/* : CString */;
2933 val
* var700
/* : String */;
2934 val
* var701
/* : nullable Int */;
2935 val
* var702
/* : nullable Int */;
2936 val
* var703
/* : nullable Bool */;
2937 val
* var704
/* : nullable Bool */;
2938 val
* var705
/* : String */;
2939 val
* var707
/* : NativeArray[String] */;
2940 static val
* varonce706
;
2941 static val
* varonce708
;
2942 val
* var709
/* : String */;
2943 char* var710
/* : CString */;
2944 val
* var711
/* : String */;
2945 val
* var712
/* : nullable Int */;
2946 val
* var713
/* : nullable Int */;
2947 val
* var714
/* : nullable Bool */;
2948 val
* var715
/* : nullable Bool */;
2949 val
* var716
/* : String */;
2950 val
* var718
/* : NativeArray[String] */;
2951 static val
* varonce717
;
2952 static val
* varonce719
;
2953 val
* var720
/* : String */;
2954 char* var721
/* : CString */;
2955 val
* var722
/* : String */;
2956 val
* var723
/* : nullable Int */;
2957 val
* var724
/* : nullable Int */;
2958 val
* var725
/* : nullable Bool */;
2959 val
* var726
/* : nullable Bool */;
2960 static val
* varonce727
;
2961 val
* var728
/* : String */;
2962 char* var729
/* : CString */;
2963 val
* var730
/* : String */;
2964 val
* var731
/* : nullable Int */;
2965 val
* var732
/* : nullable Int */;
2966 val
* var733
/* : nullable Bool */;
2967 val
* var734
/* : nullable Bool */;
2968 val
* var735
/* : String */;
2969 static val
* varonce736
;
2970 val
* var737
/* : String */;
2971 char* var738
/* : CString */;
2972 val
* var739
/* : String */;
2973 val
* var740
/* : nullable Int */;
2974 val
* var741
/* : nullable Int */;
2975 val
* var742
/* : nullable Bool */;
2976 val
* var743
/* : nullable Bool */;
2977 static val
* varonce744
;
2978 val
* var745
/* : String */;
2979 char* var746
/* : CString */;
2980 val
* var747
/* : String */;
2981 val
* var748
/* : nullable Int */;
2982 val
* var749
/* : nullable Int */;
2983 val
* var750
/* : nullable Bool */;
2984 val
* var751
/* : nullable Bool */;
2985 static val
* varonce752
;
2986 val
* var753
/* : String */;
2987 char* var754
/* : CString */;
2988 val
* var755
/* : String */;
2989 val
* var756
/* : nullable Int */;
2990 val
* var757
/* : nullable Int */;
2991 val
* var758
/* : nullable Bool */;
2992 val
* var759
/* : nullable Bool */;
2993 val
* var760
/* : MClass */;
2994 val
* var762
/* : MClass */;
2995 val
* var763
/* : String */;
2996 val
* var765
/* : String */;
2997 static val
* varonce766
;
2998 val
* var767
/* : String */;
2999 char* var768
/* : CString */;
3000 val
* var769
/* : String */;
3001 val
* var770
/* : nullable Int */;
3002 val
* var771
/* : nullable Int */;
3003 val
* var772
/* : nullable Bool */;
3004 val
* var773
/* : nullable Bool */;
3005 short int var774
/* : Bool */;
3006 short int var776
/* : Bool */;
3007 short int var777
/* : Bool */;
3008 val
* var778
/* : SeparateCompilerVisitor */;
3009 val
* var780
/* : NativeArray[String] */;
3010 static val
* varonce779
;
3011 static val
* varonce781
;
3012 val
* var782
/* : String */;
3013 char* var783
/* : CString */;
3014 val
* var784
/* : String */;
3015 val
* var785
/* : nullable Int */;
3016 val
* var786
/* : nullable Int */;
3017 val
* var787
/* : nullable Bool */;
3018 val
* var788
/* : nullable Bool */;
3019 val
* var789
/* : String */;
3020 val
* var791
/* : NativeArray[String] */;
3021 static val
* varonce790
;
3022 static val
* varonce792
;
3023 val
* var793
/* : String */;
3024 char* var794
/* : CString */;
3025 val
* var795
/* : String */;
3026 val
* var796
/* : nullable Int */;
3027 val
* var797
/* : nullable Int */;
3028 val
* var798
/* : nullable Bool */;
3029 val
* var799
/* : nullable Bool */;
3030 static val
* varonce800
;
3031 val
* var801
/* : String */;
3032 char* var802
/* : CString */;
3033 val
* var803
/* : String */;
3034 val
* var804
/* : nullable Int */;
3035 val
* var805
/* : nullable Int */;
3036 val
* var806
/* : nullable Bool */;
3037 val
* var807
/* : nullable Bool */;
3038 val
* var808
/* : String */;
3039 val
* var809
/* : String */;
3040 val
* var811
/* : NativeArray[String] */;
3041 static val
* varonce810
;
3042 static val
* varonce812
;
3043 val
* var813
/* : String */;
3044 char* var814
/* : CString */;
3045 val
* var815
/* : String */;
3046 val
* var816
/* : nullable Int */;
3047 val
* var817
/* : nullable Int */;
3048 val
* var818
/* : nullable Bool */;
3049 val
* var819
/* : nullable Bool */;
3050 static val
* varonce820
;
3051 val
* var821
/* : String */;
3052 char* var822
/* : CString */;
3053 val
* var823
/* : String */;
3054 val
* var824
/* : nullable Int */;
3055 val
* var825
/* : nullable Int */;
3056 val
* var826
/* : nullable Bool */;
3057 val
* var827
/* : nullable Bool */;
3058 val
* var828
/* : String */;
3059 val
* var829
/* : String */;
3060 val
* var831
/* : NativeArray[String] */;
3061 static val
* varonce830
;
3062 static val
* varonce832
;
3063 val
* var833
/* : String */;
3064 char* var834
/* : CString */;
3065 val
* var835
/* : String */;
3066 val
* var836
/* : nullable Int */;
3067 val
* var837
/* : nullable Int */;
3068 val
* var838
/* : nullable Bool */;
3069 val
* var839
/* : nullable Bool */;
3070 static val
* varonce840
;
3071 val
* var841
/* : String */;
3072 char* var842
/* : CString */;
3073 val
* var843
/* : String */;
3074 val
* var844
/* : nullable Int */;
3075 val
* var845
/* : nullable Int */;
3076 val
* var846
/* : nullable Bool */;
3077 val
* var847
/* : nullable Bool */;
3078 val
* var848
/* : String */;
3079 val
* var849
/* : String */;
3080 val
* var851
/* : NativeArray[String] */;
3081 static val
* varonce850
;
3082 static val
* varonce852
;
3083 val
* var853
/* : String */;
3084 char* var854
/* : CString */;
3085 val
* var855
/* : String */;
3086 val
* var856
/* : nullable Int */;
3087 val
* var857
/* : nullable Int */;
3088 val
* var858
/* : nullable Bool */;
3089 val
* var859
/* : nullable Bool */;
3090 val
* var860
/* : String */;
3091 val
* var861
/* : String */;
3092 static val
* varonce862
;
3093 val
* var863
/* : String */;
3094 char* var864
/* : CString */;
3095 val
* var865
/* : String */;
3096 val
* var866
/* : nullable Int */;
3097 val
* var867
/* : nullable Int */;
3098 val
* var868
/* : nullable Bool */;
3099 val
* var869
/* : nullable Bool */;
3100 val
* var870
/* : RuntimeVariable */;
3101 val
* var_res
/* var res: RuntimeVariable */;
3102 val
* var873
/* : NativeArray[String] */;
3103 static val
* varonce872
;
3104 static val
* varonce874
;
3105 val
* var875
/* : String */;
3106 char* var876
/* : CString */;
3107 val
* var877
/* : String */;
3108 val
* var878
/* : nullable Int */;
3109 val
* var879
/* : nullable Int */;
3110 val
* var880
/* : nullable Bool */;
3111 val
* var881
/* : nullable Bool */;
3112 static val
* varonce882
;
3113 val
* var883
/* : String */;
3114 char* var884
/* : CString */;
3115 val
* var885
/* : String */;
3116 val
* var886
/* : nullable Int */;
3117 val
* var887
/* : nullable Int */;
3118 val
* var888
/* : nullable Bool */;
3119 val
* var889
/* : nullable Bool */;
3120 val
* var890
/* : String */;
3121 val
* var891
/* : String */;
3122 val
* var892
/* : String */;
3123 val
* var894
/* : NativeArray[String] */;
3124 static val
* varonce893
;
3125 static val
* varonce895
;
3126 val
* var896
/* : String */;
3127 char* var897
/* : CString */;
3128 val
* var898
/* : String */;
3129 val
* var899
/* : nullable Int */;
3130 val
* var900
/* : nullable Int */;
3131 val
* var901
/* : nullable Bool */;
3132 val
* var902
/* : nullable Bool */;
3133 val
* var903
/* : String */;
3134 val
* var905
/* : NativeArray[String] */;
3135 static val
* varonce904
;
3136 static val
* varonce906
;
3137 val
* var907
/* : String */;
3138 char* var908
/* : CString */;
3139 val
* var909
/* : String */;
3140 val
* var910
/* : nullable Int */;
3141 val
* var911
/* : nullable Int */;
3142 val
* var912
/* : nullable Bool */;
3143 val
* var913
/* : nullable Bool */;
3144 static val
* varonce914
;
3145 val
* var915
/* : String */;
3146 char* var916
/* : CString */;
3147 val
* var917
/* : String */;
3148 val
* var918
/* : nullable Int */;
3149 val
* var919
/* : nullable Int */;
3150 val
* var920
/* : nullable Bool */;
3151 val
* var921
/* : nullable Bool */;
3152 val
* var922
/* : String */;
3153 val
* var923
/* : String */;
3154 val
* var925
/* : NativeArray[String] */;
3155 static val
* varonce924
;
3156 static val
* varonce926
;
3157 val
* var927
/* : String */;
3158 char* var928
/* : CString */;
3159 val
* var929
/* : String */;
3160 val
* var930
/* : nullable Int */;
3161 val
* var931
/* : nullable Int */;
3162 val
* var932
/* : nullable Bool */;
3163 val
* var933
/* : nullable Bool */;
3164 static val
* varonce934
;
3165 val
* var935
/* : String */;
3166 char* var936
/* : CString */;
3167 val
* var937
/* : String */;
3168 val
* var938
/* : nullable Int */;
3169 val
* var939
/* : nullable Int */;
3170 val
* var940
/* : nullable Bool */;
3171 val
* var941
/* : nullable Bool */;
3172 static val
* varonce942
;
3173 val
* var943
/* : String */;
3174 char* var944
/* : CString */;
3175 val
* var945
/* : String */;
3176 val
* var946
/* : nullable Int */;
3177 val
* var947
/* : nullable Int */;
3178 val
* var948
/* : nullable Bool */;
3179 val
* var949
/* : nullable Bool */;
3180 val
* var950
/* : String */;
3181 val
* var951
/* : String */;
3182 val
* var952
/* : String */;
3183 val
* var954
/* : NativeArray[String] */;
3184 static val
* varonce953
;
3185 static val
* varonce955
;
3186 val
* var956
/* : String */;
3187 char* var957
/* : CString */;
3188 val
* var958
/* : String */;
3189 val
* var959
/* : nullable Int */;
3190 val
* var960
/* : nullable Int */;
3191 val
* var961
/* : nullable Bool */;
3192 val
* var962
/* : nullable Bool */;
3193 static val
* varonce963
;
3194 val
* var964
/* : String */;
3195 char* var965
/* : CString */;
3196 val
* var966
/* : String */;
3197 val
* var967
/* : nullable Int */;
3198 val
* var968
/* : nullable Int */;
3199 val
* var969
/* : nullable Bool */;
3200 val
* var970
/* : nullable Bool */;
3201 val
* var971
/* : String */;
3202 val
* var972
/* : String */;
3203 static val
* varonce973
;
3204 val
* var974
/* : String */;
3205 char* var975
/* : CString */;
3206 val
* var976
/* : String */;
3207 val
* var977
/* : nullable Int */;
3208 val
* var978
/* : nullable Int */;
3209 val
* var979
/* : nullable Bool */;
3210 val
* var980
/* : nullable Bool */;
3211 val
* var981
/* : String */;
3212 val
* var983
/* : String */;
3213 static val
* varonce984
;
3214 val
* var985
/* : String */;
3215 char* var986
/* : CString */;
3216 val
* var987
/* : String */;
3217 val
* var988
/* : nullable Int */;
3218 val
* var989
/* : nullable Int */;
3219 val
* var990
/* : nullable Bool */;
3220 val
* var991
/* : nullable Bool */;
3221 short int var992
/* : Bool */;
3222 val
* var993
/* : CodeWriter */;
3223 val
* var995
/* : CodeWriter */;
3224 val
* var997
/* : NativeArray[String] */;
3225 static val
* varonce996
;
3226 static val
* varonce998
;
3227 val
* var999
/* : String */;
3228 char* var1000
/* : CString */;
3229 val
* var1001
/* : String */;
3230 val
* var1002
/* : nullable Int */;
3231 val
* var1003
/* : nullable Int */;
3232 val
* var1004
/* : nullable Bool */;
3233 val
* var1005
/* : nullable Bool */;
3234 static val
* varonce1006
;
3235 val
* var1007
/* : String */;
3236 char* var1008
/* : CString */;
3237 val
* var1009
/* : String */;
3238 val
* var1010
/* : nullable Int */;
3239 val
* var1011
/* : nullable Int */;
3240 val
* var1012
/* : nullable Bool */;
3241 val
* var1013
/* : nullable Bool */;
3242 val
* var1014
/* : String */;
3243 val
* var1015
/* : CodeWriter */;
3244 val
* var1017
/* : CodeWriter */;
3245 static val
* varonce1018
;
3246 val
* var1019
/* : String */;
3247 char* var1020
/* : CString */;
3248 val
* var1021
/* : String */;
3249 val
* var1022
/* : nullable Int */;
3250 val
* var1023
/* : nullable Int */;
3251 val
* var1024
/* : nullable Bool */;
3252 val
* var1025
/* : nullable Bool */;
3253 val
* var1026
/* : CodeWriter */;
3254 val
* var1028
/* : CodeWriter */;
3255 static val
* varonce1029
;
3256 val
* var1030
/* : String */;
3257 char* var1031
/* : CString */;
3258 val
* var1032
/* : String */;
3259 val
* var1033
/* : nullable Int */;
3260 val
* var1034
/* : nullable Int */;
3261 val
* var1035
/* : nullable Bool */;
3262 val
* var1036
/* : nullable Bool */;
3263 val
* var1037
/* : CodeWriter */;
3264 val
* var1039
/* : CodeWriter */;
3265 static val
* varonce1040
;
3266 val
* var1041
/* : String */;
3267 char* var1042
/* : CString */;
3268 val
* var1043
/* : String */;
3269 val
* var1044
/* : nullable Int */;
3270 val
* var1045
/* : nullable Int */;
3271 val
* var1046
/* : nullable Bool */;
3272 val
* var1047
/* : nullable Bool */;
3273 val
* var1048
/* : CodeWriter */;
3274 val
* var1050
/* : CodeWriter */;
3275 static val
* varonce1051
;
3276 val
* var1052
/* : String */;
3277 char* var1053
/* : CString */;
3278 val
* var1054
/* : String */;
3279 val
* var1055
/* : nullable Int */;
3280 val
* var1056
/* : nullable Int */;
3281 val
* var1057
/* : nullable Bool */;
3282 val
* var1058
/* : nullable Bool */;
3283 val
* var1060
/* : NativeArray[String] */;
3284 static val
* varonce1059
;
3285 static val
* varonce1061
;
3286 val
* var1062
/* : String */;
3287 char* var1063
/* : CString */;
3288 val
* var1064
/* : String */;
3289 val
* var1065
/* : nullable Int */;
3290 val
* var1066
/* : nullable Int */;
3291 val
* var1067
/* : nullable Bool */;
3292 val
* var1068
/* : nullable Bool */;
3293 val
* var1069
/* : String */;
3294 val
* var1071
/* : NativeArray[String] */;
3295 static val
* varonce1070
;
3296 static val
* varonce1072
;
3297 val
* var1073
/* : String */;
3298 char* var1074
/* : CString */;
3299 val
* var1075
/* : String */;
3300 val
* var1076
/* : nullable Int */;
3301 val
* var1077
/* : nullable Int */;
3302 val
* var1078
/* : nullable Bool */;
3303 val
* var1079
/* : nullable Bool */;
3304 static val
* varonce1080
;
3305 val
* var1081
/* : String */;
3306 char* var1082
/* : CString */;
3307 val
* var1083
/* : String */;
3308 val
* var1084
/* : nullable Int */;
3309 val
* var1085
/* : nullable Int */;
3310 val
* var1086
/* : nullable Bool */;
3311 val
* var1087
/* : nullable Bool */;
3312 val
* var1088
/* : String */;
3313 val
* var1089
/* : String */;
3314 val
* var1091
/* : NativeArray[String] */;
3315 static val
* varonce1090
;
3316 static val
* varonce1092
;
3317 val
* var1093
/* : String */;
3318 char* var1094
/* : CString */;
3319 val
* var1095
/* : String */;
3320 val
* var1096
/* : nullable Int */;
3321 val
* var1097
/* : nullable Int */;
3322 val
* var1098
/* : nullable Bool */;
3323 val
* var1099
/* : nullable Bool */;
3324 static val
* varonce1100
;
3325 val
* var1101
/* : String */;
3326 char* var1102
/* : CString */;
3327 val
* var1103
/* : String */;
3328 val
* var1104
/* : nullable Int */;
3329 val
* var1105
/* : nullable Int */;
3330 val
* var1106
/* : nullable Bool */;
3331 val
* var1107
/* : nullable Bool */;
3332 val
* var1108
/* : String */;
3333 val
* var1109
/* : String */;
3334 val
* var1111
/* : NativeArray[String] */;
3335 static val
* varonce1110
;
3336 static val
* varonce1112
;
3337 val
* var1113
/* : String */;
3338 char* var1114
/* : CString */;
3339 val
* var1115
/* : String */;
3340 val
* var1116
/* : nullable Int */;
3341 val
* var1117
/* : nullable Int */;
3342 val
* var1118
/* : nullable Bool */;
3343 val
* var1119
/* : nullable Bool */;
3344 static val
* varonce1120
;
3345 val
* var1121
/* : String */;
3346 char* var1122
/* : CString */;
3347 val
* var1123
/* : String */;
3348 val
* var1124
/* : nullable Int */;
3349 val
* var1125
/* : nullable Int */;
3350 val
* var1126
/* : nullable Bool */;
3351 val
* var1127
/* : nullable Bool */;
3352 val
* var1128
/* : String */;
3353 val
* var1129
/* : String */;
3354 static val
* varonce1130
;
3355 val
* var1131
/* : String */;
3356 char* var1132
/* : CString */;
3357 val
* var1133
/* : String */;
3358 val
* var1134
/* : nullable Int */;
3359 val
* var1135
/* : nullable Int */;
3360 val
* var1136
/* : nullable Bool */;
3361 val
* var1137
/* : nullable Bool */;
3362 val
* var1138
/* : String */;
3363 val
* var_res1139
/* var res: String */;
3364 val
* var1141
/* : NativeArray[String] */;
3365 static val
* varonce1140
;
3366 static val
* varonce1142
;
3367 val
* var1143
/* : String */;
3368 char* var1144
/* : CString */;
3369 val
* var1145
/* : String */;
3370 val
* var1146
/* : nullable Int */;
3371 val
* var1147
/* : nullable Int */;
3372 val
* var1148
/* : nullable Bool */;
3373 val
* var1149
/* : nullable Bool */;
3374 static val
* varonce1150
;
3375 val
* var1151
/* : String */;
3376 char* var1152
/* : CString */;
3377 val
* var1153
/* : String */;
3378 val
* var1154
/* : nullable Int */;
3379 val
* var1155
/* : nullable Int */;
3380 val
* var1156
/* : nullable Bool */;
3381 val
* var1157
/* : nullable Bool */;
3382 static val
* varonce1158
;
3383 val
* var1159
/* : String */;
3384 char* var1160
/* : CString */;
3385 val
* var1161
/* : String */;
3386 val
* var1162
/* : nullable Int */;
3387 val
* var1163
/* : nullable Int */;
3388 val
* var1164
/* : nullable Bool */;
3389 val
* var1165
/* : nullable Bool */;
3390 val
* var1166
/* : String */;
3391 val
* var1167
/* : Array[MType] */;
3392 val
* var1168
/* : nullable Object */;
3393 val
* var_mtype_elt
/* var mtype_elt: MType */;
3394 val
* var1170
/* : NativeArray[String] */;
3395 static val
* varonce1169
;
3396 static val
* varonce1171
;
3397 val
* var1172
/* : String */;
3398 char* var1173
/* : CString */;
3399 val
* var1174
/* : String */;
3400 val
* var1175
/* : nullable Int */;
3401 val
* var1176
/* : nullable Int */;
3402 val
* var1177
/* : nullable Bool */;
3403 val
* var1178
/* : nullable Bool */;
3404 static val
* varonce1179
;
3405 val
* var1180
/* : String */;
3406 char* var1181
/* : CString */;
3407 val
* var1182
/* : String */;
3408 val
* var1183
/* : nullable Int */;
3409 val
* var1184
/* : nullable Int */;
3410 val
* var1185
/* : nullable Bool */;
3411 val
* var1186
/* : nullable Bool */;
3412 static val
* varonce1187
;
3413 val
* var1188
/* : String */;
3414 char* var1189
/* : CString */;
3415 val
* var1190
/* : String */;
3416 val
* var1191
/* : nullable Int */;
3417 val
* var1192
/* : nullable Int */;
3418 val
* var1193
/* : nullable Bool */;
3419 val
* var1194
/* : nullable Bool */;
3420 val
* var1195
/* : String */;
3421 val
* var1196
/* : String */;
3422 val
* var1198
/* : NativeArray[String] */;
3423 static val
* varonce1197
;
3424 static val
* varonce1199
;
3425 val
* var1200
/* : String */;
3426 char* var1201
/* : CString */;
3427 val
* var1202
/* : String */;
3428 val
* var1203
/* : nullable Int */;
3429 val
* var1204
/* : nullable Int */;
3430 val
* var1205
/* : nullable Bool */;
3431 val
* var1206
/* : nullable Bool */;
3432 val
* var1207
/* : String */;
3433 val
* var1209
/* : NativeArray[String] */;
3434 static val
* varonce1208
;
3435 static val
* varonce1210
;
3436 val
* var1211
/* : String */;
3437 char* var1212
/* : CString */;
3438 val
* var1213
/* : String */;
3439 val
* var1214
/* : nullable Int */;
3440 val
* var1215
/* : nullable Int */;
3441 val
* var1216
/* : nullable Bool */;
3442 val
* var1217
/* : nullable Bool */;
3443 static val
* varonce1218
;
3444 val
* var1219
/* : String */;
3445 char* var1220
/* : CString */;
3446 val
* var1221
/* : String */;
3447 val
* var1222
/* : nullable Int */;
3448 val
* var1223
/* : nullable Int */;
3449 val
* var1224
/* : nullable Bool */;
3450 val
* var1225
/* : nullable Bool */;
3451 val
* var1226
/* : String */;
3452 val
* var1228
/* : NativeArray[String] */;
3453 static val
* varonce1227
;
3454 static val
* varonce1229
;
3455 val
* var1230
/* : String */;
3456 char* var1231
/* : CString */;
3457 val
* var1232
/* : String */;
3458 val
* var1233
/* : nullable Int */;
3459 val
* var1234
/* : nullable Int */;
3460 val
* var1235
/* : nullable Bool */;
3461 val
* var1236
/* : nullable Bool */;
3462 val
* var1237
/* : String */;
3463 val
* var1239
/* : NativeArray[String] */;
3464 static val
* varonce1238
;
3465 static val
* varonce1240
;
3466 val
* var1241
/* : String */;
3467 char* var1242
/* : CString */;
3468 val
* var1243
/* : String */;
3469 val
* var1244
/* : nullable Int */;
3470 val
* var1245
/* : nullable Int */;
3471 val
* var1246
/* : nullable Bool */;
3472 val
* var1247
/* : nullable Bool */;
3473 static val
* varonce1248
;
3474 val
* var1249
/* : String */;
3475 char* var1250
/* : CString */;
3476 val
* var1251
/* : String */;
3477 val
* var1252
/* : nullable Int */;
3478 val
* var1253
/* : nullable Int */;
3479 val
* var1254
/* : nullable Bool */;
3480 val
* var1255
/* : nullable Bool */;
3481 val
* var1256
/* : String */;
3482 static val
* varonce1257
;
3483 val
* var1258
/* : String */;
3484 char* var1259
/* : CString */;
3485 val
* var1260
/* : String */;
3486 val
* var1261
/* : nullable Int */;
3487 val
* var1262
/* : nullable Int */;
3488 val
* var1263
/* : nullable Bool */;
3489 val
* var1264
/* : nullable Bool */;
3490 short int var1265
/* : Bool */;
3491 val
* var1266
/* : MClass */;
3492 val
* var1268
/* : MClass */;
3493 val
* var1269
/* : MClassKind */;
3494 val
* var1271
/* : MClassKind */;
3495 val
* var1272
/* : Sys */;
3496 val
* var1273
/* : MClassKind */;
3497 short int var1274
/* : Bool */;
3498 short int var1276
/* : Bool */;
3499 short int var1278
/* : Bool */;
3500 short int var_1279
/* var : Bool */;
3501 val
* var1280
/* : MClass */;
3502 val
* var1282
/* : MClass */;
3503 val
* var1283
/* : String */;
3504 val
* var1285
/* : String */;
3505 static val
* varonce1286
;
3506 val
* var1287
/* : String */;
3507 char* var1288
/* : CString */;
3508 val
* var1289
/* : String */;
3509 val
* var1290
/* : nullable Int */;
3510 val
* var1291
/* : nullable Int */;
3511 val
* var1292
/* : nullable Bool */;
3512 val
* var1293
/* : nullable Bool */;
3513 short int var1294
/* : Bool */;
3514 short int var1296
/* : Bool */;
3515 short int var1297
/* : Bool */;
3516 val
* var1298
/* : MModule */;
3517 val
* var1300
/* : MModule */;
3518 val
* var1301
/* : MClassType */;
3519 val
* var_pointer_type
/* var pointer_type: MClassType */;
3520 val
* var1303
/* : NativeArray[String] */;
3521 static val
* varonce1302
;
3522 static val
* varonce1304
;
3523 val
* var1305
/* : String */;
3524 char* var1306
/* : CString */;
3525 val
* var1307
/* : String */;
3526 val
* var1308
/* : nullable Int */;
3527 val
* var1309
/* : nullable Int */;
3528 val
* var1310
/* : nullable Bool */;
3529 val
* var1311
/* : nullable Bool */;
3530 val
* var1312
/* : String */;
3531 val
* var1314
/* : NativeArray[String] */;
3532 static val
* varonce1313
;
3533 static val
* varonce1315
;
3534 val
* var1316
/* : String */;
3535 char* var1317
/* : CString */;
3536 val
* var1318
/* : String */;
3537 val
* var1319
/* : nullable Int */;
3538 val
* var1320
/* : nullable Int */;
3539 val
* var1321
/* : nullable Bool */;
3540 val
* var1322
/* : nullable Bool */;
3541 static val
* varonce1323
;
3542 val
* var1324
/* : String */;
3543 char* var1325
/* : CString */;
3544 val
* var1326
/* : String */;
3545 val
* var1327
/* : nullable Int */;
3546 val
* var1328
/* : nullable Int */;
3547 val
* var1329
/* : nullable Bool */;
3548 val
* var1330
/* : nullable Bool */;
3549 val
* var1331
/* : String */;
3550 val
* var1332
/* : String */;
3551 val
* var1334
/* : NativeArray[String] */;
3552 static val
* varonce1333
;
3553 static val
* varonce1335
;
3554 val
* var1336
/* : String */;
3555 char* var1337
/* : CString */;
3556 val
* var1338
/* : String */;
3557 val
* var1339
/* : nullable Int */;
3558 val
* var1340
/* : nullable Int */;
3559 val
* var1341
/* : nullable Bool */;
3560 val
* var1342
/* : nullable Bool */;
3561 static val
* varonce1343
;
3562 val
* var1344
/* : String */;
3563 char* var1345
/* : CString */;
3564 val
* var1346
/* : String */;
3565 val
* var1347
/* : nullable Int */;
3566 val
* var1348
/* : nullable Int */;
3567 val
* var1349
/* : nullable Bool */;
3568 val
* var1350
/* : nullable Bool */;
3569 val
* var1351
/* : String */;
3570 val
* var1352
/* : String */;
3571 val
* var1354
/* : NativeArray[String] */;
3572 static val
* varonce1353
;
3573 static val
* varonce1355
;
3574 val
* var1356
/* : String */;
3575 char* var1357
/* : CString */;
3576 val
* var1358
/* : String */;
3577 val
* var1359
/* : nullable Int */;
3578 val
* var1360
/* : nullable Int */;
3579 val
* var1361
/* : nullable Bool */;
3580 val
* var1362
/* : nullable Bool */;
3581 static val
* varonce1363
;
3582 val
* var1364
/* : String */;
3583 char* var1365
/* : CString */;
3584 val
* var1366
/* : String */;
3585 val
* var1367
/* : nullable Int */;
3586 val
* var1368
/* : nullable Int */;
3587 val
* var1369
/* : nullable Bool */;
3588 val
* var1370
/* : nullable Bool */;
3589 val
* var1371
/* : String */;
3590 val
* var1372
/* : String */;
3591 val
* var1374
/* : NativeArray[String] */;
3592 static val
* varonce1373
;
3593 static val
* varonce1375
;
3594 val
* var1376
/* : String */;
3595 char* var1377
/* : CString */;
3596 val
* var1378
/* : String */;
3597 val
* var1379
/* : nullable Int */;
3598 val
* var1380
/* : nullable Int */;
3599 val
* var1381
/* : nullable Bool */;
3600 val
* var1382
/* : nullable Bool */;
3601 val
* var1383
/* : String */;
3602 val
* var1384
/* : String */;
3603 static val
* varonce1385
;
3604 val
* var1386
/* : String */;
3605 char* var1387
/* : CString */;
3606 val
* var1388
/* : String */;
3607 val
* var1389
/* : nullable Int */;
3608 val
* var1390
/* : nullable Int */;
3609 val
* var1391
/* : nullable Bool */;
3610 val
* var1392
/* : nullable Bool */;
3611 val
* var1393
/* : RuntimeVariable */;
3612 val
* var_res1394
/* var res: RuntimeVariable */;
3613 val
* var1397
/* : NativeArray[String] */;
3614 static val
* varonce1396
;
3615 static val
* varonce1398
;
3616 val
* var1399
/* : String */;
3617 char* var1400
/* : CString */;
3618 val
* var1401
/* : String */;
3619 val
* var1402
/* : nullable Int */;
3620 val
* var1403
/* : nullable Int */;
3621 val
* var1404
/* : nullable Bool */;
3622 val
* var1405
/* : nullable Bool */;
3623 static val
* varonce1406
;
3624 val
* var1407
/* : String */;
3625 char* var1408
/* : CString */;
3626 val
* var1409
/* : String */;
3627 val
* var1410
/* : nullable Int */;
3628 val
* var1411
/* : nullable Int */;
3629 val
* var1412
/* : nullable Bool */;
3630 val
* var1413
/* : nullable Bool */;
3631 val
* var1414
/* : String */;
3632 val
* var1415
/* : String */;
3633 val
* var1416
/* : String */;
3634 val
* var1418
/* : NativeArray[String] */;
3635 static val
* varonce1417
;
3636 static val
* varonce1419
;
3637 val
* var1420
/* : String */;
3638 char* var1421
/* : CString */;
3639 val
* var1422
/* : String */;
3640 val
* var1423
/* : nullable Int */;
3641 val
* var1424
/* : nullable Int */;
3642 val
* var1425
/* : nullable Bool */;
3643 val
* var1426
/* : nullable Bool */;
3644 val
* var1427
/* : String */;
3645 val
* var1429
/* : NativeArray[String] */;
3646 static val
* varonce1428
;
3647 static val
* varonce1430
;
3648 val
* var1431
/* : String */;
3649 char* var1432
/* : CString */;
3650 val
* var1433
/* : String */;
3651 val
* var1434
/* : nullable Int */;
3652 val
* var1435
/* : nullable Int */;
3653 val
* var1436
/* : nullable Bool */;
3654 val
* var1437
/* : nullable Bool */;
3655 static val
* varonce1438
;
3656 val
* var1439
/* : String */;
3657 char* var1440
/* : CString */;
3658 val
* var1441
/* : String */;
3659 val
* var1442
/* : nullable Int */;
3660 val
* var1443
/* : nullable Int */;
3661 val
* var1444
/* : nullable Bool */;
3662 val
* var1445
/* : nullable Bool */;
3663 val
* var1446
/* : String */;
3664 val
* var1447
/* : String */;
3665 val
* var1449
/* : NativeArray[String] */;
3666 static val
* varonce1448
;
3667 static val
* varonce1450
;
3668 val
* var1451
/* : String */;
3669 char* var1452
/* : CString */;
3670 val
* var1453
/* : String */;
3671 val
* var1454
/* : nullable Int */;
3672 val
* var1455
/* : nullable Int */;
3673 val
* var1456
/* : nullable Bool */;
3674 val
* var1457
/* : nullable Bool */;
3675 static val
* varonce1458
;
3676 val
* var1459
/* : String */;
3677 char* var1460
/* : CString */;
3678 val
* var1461
/* : String */;
3679 val
* var1462
/* : nullable Int */;
3680 val
* var1463
/* : nullable Int */;
3681 val
* var1464
/* : nullable Bool */;
3682 val
* var1465
/* : nullable Bool */;
3683 static val
* varonce1466
;
3684 val
* var1467
/* : String */;
3685 char* var1468
/* : CString */;
3686 val
* var1469
/* : String */;
3687 val
* var1470
/* : nullable Int */;
3688 val
* var1471
/* : nullable Int */;
3689 val
* var1472
/* : nullable Bool */;
3690 val
* var1473
/* : nullable Bool */;
3691 val
* var1474
/* : String */;
3692 val
* var1475
/* : String */;
3693 val
* var1476
/* : String */;
3694 val
* var1478
/* : NativeArray[String] */;
3695 static val
* varonce1477
;
3696 static val
* varonce1479
;
3697 val
* var1480
/* : String */;
3698 char* var1481
/* : CString */;
3699 val
* var1482
/* : String */;
3700 val
* var1483
/* : nullable Int */;
3701 val
* var1484
/* : nullable Int */;
3702 val
* var1485
/* : nullable Bool */;
3703 val
* var1486
/* : nullable Bool */;
3704 static val
* varonce1487
;
3705 val
* var1488
/* : String */;
3706 char* var1489
/* : CString */;
3707 val
* var1490
/* : String */;
3708 val
* var1491
/* : nullable Int */;
3709 val
* var1492
/* : nullable Int */;
3710 val
* var1493
/* : nullable Bool */;
3711 val
* var1494
/* : nullable Bool */;
3712 val
* var1495
/* : String */;
3713 val
* var1496
/* : String */;
3714 static val
* varonce1497
;
3715 val
* var1498
/* : String */;
3716 char* var1499
/* : CString */;
3717 val
* var1500
/* : String */;
3718 val
* var1501
/* : nullable Int */;
3719 val
* var1502
/* : nullable Int */;
3720 val
* var1503
/* : nullable Bool */;
3721 val
* var1504
/* : nullable Bool */;
3722 val
* var1506
/* : NativeArray[String] */;
3723 static val
* varonce1505
;
3724 static val
* varonce1507
;
3725 val
* var1508
/* : String */;
3726 char* var1509
/* : CString */;
3727 val
* var1510
/* : String */;
3728 val
* var1511
/* : nullable Int */;
3729 val
* var1512
/* : nullable Int */;
3730 val
* var1513
/* : nullable Bool */;
3731 val
* var1514
/* : nullable Bool */;
3732 val
* var1515
/* : String */;
3733 val
* var1517
/* : NativeArray[String] */;
3734 static val
* varonce1516
;
3735 static val
* varonce1518
;
3736 val
* var1519
/* : String */;
3737 char* var1520
/* : CString */;
3738 val
* var1521
/* : String */;
3739 val
* var1522
/* : nullable Int */;
3740 val
* var1523
/* : nullable Int */;
3741 val
* var1524
/* : nullable Bool */;
3742 val
* var1525
/* : nullable Bool */;
3743 static val
* varonce1526
;
3744 val
* var1527
/* : String */;
3745 char* var1528
/* : CString */;
3746 val
* var1529
/* : String */;
3747 val
* var1530
/* : nullable Int */;
3748 val
* var1531
/* : nullable Int */;
3749 val
* var1532
/* : nullable Bool */;
3750 val
* var1533
/* : nullable Bool */;
3751 val
* var1534
/* : String */;
3752 val
* var1535
/* : String */;
3753 val
* var1537
/* : NativeArray[String] */;
3754 static val
* varonce1536
;
3755 static val
* varonce1538
;
3756 val
* var1539
/* : String */;
3757 char* var1540
/* : CString */;
3758 val
* var1541
/* : String */;
3759 val
* var1542
/* : nullable Int */;
3760 val
* var1543
/* : nullable Int */;
3761 val
* var1544
/* : nullable Bool */;
3762 val
* var1545
/* : nullable Bool */;
3763 static val
* varonce1546
;
3764 val
* var1547
/* : String */;
3765 char* var1548
/* : CString */;
3766 val
* var1549
/* : String */;
3767 val
* var1550
/* : nullable Int */;
3768 val
* var1551
/* : nullable Int */;
3769 val
* var1552
/* : nullable Bool */;
3770 val
* var1553
/* : nullable Bool */;
3771 val
* var1554
/* : String */;
3772 val
* var1555
/* : String */;
3773 val
* var1557
/* : NativeArray[String] */;
3774 static val
* varonce1556
;
3775 static val
* varonce1558
;
3776 val
* var1559
/* : String */;
3777 char* var1560
/* : CString */;
3778 val
* var1561
/* : String */;
3779 val
* var1562
/* : nullable Int */;
3780 val
* var1563
/* : nullable Int */;
3781 val
* var1564
/* : nullable Bool */;
3782 val
* var1565
/* : nullable Bool */;
3783 static val
* varonce1566
;
3784 val
* var1567
/* : String */;
3785 char* var1568
/* : CString */;
3786 val
* var1569
/* : String */;
3787 val
* var1570
/* : nullable Int */;
3788 val
* var1571
/* : nullable Int */;
3789 val
* var1572
/* : nullable Bool */;
3790 val
* var1573
/* : nullable Bool */;
3791 val
* var1574
/* : String */;
3792 val
* var1575
/* : String */;
3793 val
* var1577
/* : NativeArray[String] */;
3794 static val
* varonce1576
;
3795 static val
* varonce1578
;
3796 val
* var1579
/* : String */;
3797 char* var1580
/* : CString */;
3798 val
* var1581
/* : String */;
3799 val
* var1582
/* : nullable Int */;
3800 val
* var1583
/* : nullable Int */;
3801 val
* var1584
/* : nullable Bool */;
3802 val
* var1585
/* : nullable Bool */;
3803 val
* var1586
/* : String */;
3804 val
* var1587
/* : String */;
3805 static val
* varonce1588
;
3806 val
* var1589
/* : String */;
3807 char* var1590
/* : CString */;
3808 val
* var1591
/* : String */;
3809 val
* var1592
/* : nullable Int */;
3810 val
* var1593
/* : nullable Int */;
3811 val
* var1594
/* : nullable Bool */;
3812 val
* var1595
/* : nullable Bool */;
3813 val
* var1596
/* : RuntimeVariable */;
3814 val
* var_res1597
/* var res: RuntimeVariable */;
3815 val
* var1599
/* : Map[MClass, Array[nullable MProperty]] */;
3816 val
* var1601
/* : Map[MClass, Array[nullable MProperty]] */;
3817 val
* var1602
/* : nullable Object */;
3818 val
* var_attrs
/* var attrs: nullable Array[nullable MProperty] */;
3819 short int var1603
/* : Bool */;
3820 short int var1604
/* : Bool */;
3821 val
* var1606
/* : NativeArray[String] */;
3822 static val
* varonce1605
;
3823 static val
* varonce1607
;
3824 val
* var1608
/* : String */;
3825 char* var1609
/* : CString */;
3826 val
* var1610
/* : String */;
3827 val
* var1611
/* : nullable Int */;
3828 val
* var1612
/* : nullable Int */;
3829 val
* var1613
/* : nullable Bool */;
3830 val
* var1614
/* : nullable Bool */;
3831 val
* var1615
/* : String */;
3832 val
* var1616
/* : String */;
3833 val
* var1618
/* : NativeArray[String] */;
3834 static val
* varonce1617
;
3835 static val
* varonce1619
;
3836 val
* var1620
/* : String */;
3837 char* var1621
/* : CString */;
3838 val
* var1622
/* : String */;
3839 val
* var1623
/* : nullable Int */;
3840 val
* var1624
/* : nullable Int */;
3841 val
* var1625
/* : nullable Bool */;
3842 val
* var1626
/* : nullable Bool */;
3843 static val
* varonce1627
;
3844 val
* var1628
/* : String */;
3845 char* var1629
/* : CString */;
3846 val
* var1630
/* : String */;
3847 val
* var1631
/* : nullable Int */;
3848 val
* var1632
/* : nullable Int */;
3849 val
* var1633
/* : nullable Bool */;
3850 val
* var1634
/* : nullable Bool */;
3851 val
* var1635
/* : String */;
3852 long var1636
/* : Int */;
3853 long var1638
/* : Int */;
3854 val
* var1639
/* : String */;
3855 val
* var1640
/* : String */;
3856 val
* var1642
/* : NativeArray[String] */;
3857 static val
* varonce1641
;
3858 static val
* varonce1643
;
3859 val
* var1644
/* : String */;
3860 char* var1645
/* : CString */;
3861 val
* var1646
/* : String */;
3862 val
* var1647
/* : nullable Int */;
3863 val
* var1648
/* : nullable Int */;
3864 val
* var1649
/* : nullable Bool */;
3865 val
* var1650
/* : nullable Bool */;
3866 val
* var1651
/* : String */;
3867 val
* var1653
/* : NativeArray[String] */;
3868 static val
* varonce1652
;
3869 static val
* varonce1654
;
3870 val
* var1655
/* : String */;
3871 char* var1656
/* : CString */;
3872 val
* var1657
/* : String */;
3873 val
* var1658
/* : nullable Int */;
3874 val
* var1659
/* : nullable Int */;
3875 val
* var1660
/* : nullable Bool */;
3876 val
* var1661
/* : nullable Bool */;
3877 static val
* varonce1662
;
3878 val
* var1663
/* : String */;
3879 char* var1664
/* : CString */;
3880 val
* var1665
/* : String */;
3881 val
* var1666
/* : nullable Int */;
3882 val
* var1667
/* : nullable Int */;
3883 val
* var1668
/* : nullable Bool */;
3884 val
* var1669
/* : nullable Bool */;
3885 val
* var1670
/* : String */;
3886 val
* var1671
/* : String */;
3887 short int var1672
/* : Bool */;
3888 short int var1673
/* : Bool */;
3889 short int var1675
/* : Bool */;
3890 short int var1676
/* : Bool */;
3891 val
* var1678
/* : NativeArray[String] */;
3892 static val
* varonce1677
;
3893 static val
* varonce1679
;
3894 val
* var1680
/* : String */;
3895 char* var1681
/* : CString */;
3896 val
* var1682
/* : String */;
3897 val
* var1683
/* : nullable Int */;
3898 val
* var1684
/* : nullable Int */;
3899 val
* var1685
/* : nullable Bool */;
3900 val
* var1686
/* : nullable Bool */;
3901 static val
* varonce1687
;
3902 val
* var1688
/* : String */;
3903 char* var1689
/* : CString */;
3904 val
* var1690
/* : String */;
3905 val
* var1691
/* : nullable Int */;
3906 val
* var1692
/* : nullable Int */;
3907 val
* var1693
/* : nullable Bool */;
3908 val
* var1694
/* : nullable Bool */;
3909 val
* var1695
/* : String */;
3910 val
* var1696
/* : String */;
3911 static val
* varonce1697
;
3912 val
* var1698
/* : String */;
3913 char* var1699
/* : CString */;
3914 val
* var1700
/* : String */;
3915 val
* var1701
/* : nullable Int */;
3916 val
* var1702
/* : nullable Int */;
3917 val
* var1703
/* : nullable Bool */;
3918 val
* var1704
/* : nullable Bool */;
3921 { /* Inline model$MClass$intro (var_mclass) on <var_mclass:MClass> */
3922 var2
= var_mclass
->attrs
[COLOR_nitc__model__MClass___intro
].val
; /* _intro on <var_mclass:MClass> */
3923 if (unlikely(var2
== NULL
)) {
3924 if(catchStack
.cursor
>= 0){
3925 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3927 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3928 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 496);
3936 { /* Inline model$MClassDef$bound_mtype (var) on <var:MClassDef> */
3937 var5
= var
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var:MClassDef> */
3938 if (unlikely(var5
== NULL
)) {
3939 if(catchStack
.cursor
>= 0){
3940 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3942 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3943 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 594);
3952 var6
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var_mclass
);
3956 { /* Inline separate_erasure_compiler$SeparateErasureCompiler$class_tables (self) on <self:SeparateErasureCompiler> */
3957 var9
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___class_tables
].val
; /* _class_tables on <self:SeparateErasureCompiler> */
3958 if (unlikely(var9
== NULL
)) {
3959 if(catchStack
.cursor
>= 0){
3960 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3962 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _class_tables");
3963 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 427);
3971 var10
= ((val
*(*)(val
* self
, val
* p0
))((((long)var7
&3)?class_info
[((long)var7
&3)]:var7
->class)->vft
[COLOR_core__abstract_collection__MapRead___91d_93d
]))(var7
, var_mclass
); /* [] on <var7:Map[MClass, Array[nullable MClass]]>*/
3973 var_class_table
= var10
;
3975 var11
= nitc___nitc__SeparateErasureCompiler___nitc__abstract_compiler__AbstractCompiler__new_visitor(self
);
3979 { /* Inline separate_compiler$SeparateCompiler$runtime_type_analysis (self) on <self:SeparateErasureCompiler> */
3980 var14
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <self:SeparateErasureCompiler> */
3982 RET_LABEL13
:(void)0;
3987 var19
= !var_is_dead
;
3990 if (var_rta
== NULL
) {
3991 var20
= 0; /* is null */
3993 var20
= 1; /* arg is null and recv is not */
3996 { /* Inline kernel$Object$!= (var_rta,((val*)NULL)) on <var_rta:nullable RapidTypeAnalysis> */
3997 var_other
= ((val
*)NULL
);
3999 var23
= ((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)>*/
4004 RET_LABEL22
:(void)0;
4015 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_classes (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
4016 var28
= var_rta
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_classes
].val
; /* _live_classes on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
4017 if (unlikely(var28
== NULL
)) {
4018 if(catchStack
.cursor
>= 0){
4019 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4021 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_classes");
4022 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 69);
4026 RET_LABEL27
:(void)0;
4030 var29
= core___core__HashSet___core__abstract_collection__Collection__has(var26
, var_mclass
);
4040 var32
= nitc__abstract_compiler___MClassType___MType__is_c_primitive(var_mtype
);
4050 { /* Inline model$MClass$name (var_mclass) on <var_mclass:MClass> */
4051 var37
= var_mclass
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <var_mclass:MClass> */
4052 if (unlikely(var37
== NULL
)) {
4053 if(catchStack
.cursor
>= 0){
4054 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4056 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4057 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 396);
4061 RET_LABEL36
:(void)0;
4064 if (likely(varonce
!=NULL
)) {
4067 var39
= "NativeArray";
4068 var41
= (val
*)(11l<<2|1);
4069 var42
= (val
*)(11l<<2|1);
4070 var43
= (val
*)((long)(0)<<2|3);
4071 var44
= (val
*)((long)(0)<<2|3);
4072 var40
= core__flat___CString___to_s_unsafe(var39
, var41
, var42
, var43
, var44
);
4077 { /* Inline kernel$Object$!= (var35,var38) on <var35:String> */
4080 var47
= ((short int(*)(val
* self
, val
* p0
))(var35
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var35
, var_other
); /* == on <var35:String>*/
4085 RET_LABEL46
:(void)0;
4096 if (unlikely(varonce49
==NULL
)) {
4097 var50
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4098 if (likely(varonce51
!=NULL
)) {
4101 var53
= "/* runtime class ";
4102 var55
= (val
*)(17l<<2|1);
4103 var56
= (val
*)(17l<<2|1);
4104 var57
= (val
*)((long)(0)<<2|3);
4105 var58
= (val
*)((long)(0)<<2|3);
4106 var54
= core__flat___CString___to_s_unsafe(var53
, var55
, var56
, var57
, var58
);
4110 ((struct instance_core__NativeArray
*)var50
)->values
[0]=var52
;
4111 if (likely(varonce59
!=NULL
)) {
4115 var63
= (val
*)(3l<<2|1);
4116 var64
= (val
*)(3l<<2|1);
4117 var65
= (val
*)((long)(0)<<2|3);
4118 var66
= (val
*)((long)(0)<<2|3);
4119 var62
= core__flat___CString___to_s_unsafe(var61
, var63
, var64
, var65
, var66
);
4123 ((struct instance_core__NativeArray
*)var50
)->values
[2]=var60
;
4128 ((struct instance_core__NativeArray
*)var50
)->values
[1]=var_c_name
;
4130 var67
= ((val
*(*)(val
* self
))(var50
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var50
); /* native_to_s on <var50:NativeArray[String]>*/
4134 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var67
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
4136 if (unlikely(varonce68
==NULL
)) {
4137 var69
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
4138 if (likely(varonce70
!=NULL
)) {
4142 var74
= (val
*)(6l<<2|1);
4143 var75
= (val
*)(6l<<2|1);
4144 var76
= (val
*)((long)(0)<<2|3);
4145 var77
= (val
*)((long)(0)<<2|3);
4146 var73
= core__flat___CString___to_s_unsafe(var72
, var74
, var75
, var76
, var77
);
4150 ((struct instance_core__NativeArray
*)var69
)->values
[0]=var71
;
4155 ((struct instance_core__NativeArray
*)var69
)->values
[1]=var_c_name
;
4157 var78
= ((val
*(*)(val
* self
))(var69
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var69
); /* native_to_s on <var69:NativeArray[String]>*/
4160 if (unlikely(varonce79
==NULL
)) {
4161 var80
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4162 if (likely(varonce81
!=NULL
)) {
4165 var83
= "extern const struct class class_";
4166 var85
= (val
*)(32l<<2|1);
4167 var86
= (val
*)(32l<<2|1);
4168 var87
= (val
*)((long)(0)<<2|3);
4169 var88
= (val
*)((long)(0)<<2|3);
4170 var84
= core__flat___CString___to_s_unsafe(var83
, var85
, var86
, var87
, var88
);
4174 ((struct instance_core__NativeArray
*)var80
)->values
[0]=var82
;
4175 if (likely(varonce89
!=NULL
)) {
4179 var93
= (val
*)(1l<<2|1);
4180 var94
= (val
*)(1l<<2|1);
4181 var95
= (val
*)((long)(0)<<2|3);
4182 var96
= (val
*)((long)(0)<<2|3);
4183 var92
= core__flat___CString___to_s_unsafe(var91
, var93
, var94
, var95
, var96
);
4187 ((struct instance_core__NativeArray
*)var80
)->values
[2]=var90
;
4192 ((struct instance_core__NativeArray
*)var80
)->values
[1]=var_c_name
;
4194 var97
= ((val
*(*)(val
* self
))(var80
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var80
); /* native_to_s on <var80:NativeArray[String]>*/
4198 nitc___nitc__AbstractCompiler___provide_declaration(self
, var78
, var97
); /* Direct call abstract_compiler$AbstractCompiler$provide_declaration on <self:SeparateErasureCompiler>*/
4200 if (unlikely(varonce98
==NULL
)) {
4201 var99
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4202 if (likely(varonce100
!=NULL
)) {
4203 var101
= varonce100
;
4205 var102
= "extern const struct type_table type_table_";
4206 var104
= (val
*)(42l<<2|1);
4207 var105
= (val
*)(42l<<2|1);
4208 var106
= (val
*)((long)(0)<<2|3);
4209 var107
= (val
*)((long)(0)<<2|3);
4210 var103
= core__flat___CString___to_s_unsafe(var102
, var104
, var105
, var106
, var107
);
4212 varonce100
= var101
;
4214 ((struct instance_core__NativeArray
*)var99
)->values
[0]=var101
;
4215 if (likely(varonce108
!=NULL
)) {
4216 var109
= varonce108
;
4219 var112
= (val
*)(1l<<2|1);
4220 var113
= (val
*)(1l<<2|1);
4221 var114
= (val
*)((long)(0)<<2|3);
4222 var115
= (val
*)((long)(0)<<2|3);
4223 var111
= core__flat___CString___to_s_unsafe(var110
, var112
, var113
, var114
, var115
);
4225 varonce108
= var109
;
4227 ((struct instance_core__NativeArray
*)var99
)->values
[2]=var109
;
4232 ((struct instance_core__NativeArray
*)var99
)->values
[1]=var_c_name
;
4234 var116
= ((val
*(*)(val
* self
))(var99
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var99
); /* native_to_s on <var99:NativeArray[String]>*/
4238 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var116
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
4240 if (unlikely(varonce117
==NULL
)) {
4241 var118
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4242 if (likely(varonce119
!=NULL
)) {
4243 var120
= varonce119
;
4245 var121
= "const struct class class_";
4246 var123
= (val
*)(25l<<2|1);
4247 var124
= (val
*)(25l<<2|1);
4248 var125
= (val
*)((long)(0)<<2|3);
4249 var126
= (val
*)((long)(0)<<2|3);
4250 var122
= core__flat___CString___to_s_unsafe(var121
, var123
, var124
, var125
, var126
);
4252 varonce119
= var120
;
4254 ((struct instance_core__NativeArray
*)var118
)->values
[0]=var120
;
4255 if (likely(varonce127
!=NULL
)) {
4256 var128
= varonce127
;
4259 var131
= (val
*)(4l<<2|1);
4260 var132
= (val
*)(4l<<2|1);
4261 var133
= (val
*)((long)(0)<<2|3);
4262 var134
= (val
*)((long)(0)<<2|3);
4263 var130
= core__flat___CString___to_s_unsafe(var129
, var131
, var132
, var133
, var134
);
4265 varonce127
= var128
;
4267 ((struct instance_core__NativeArray
*)var118
)->values
[2]=var128
;
4269 var118
= varonce117
;
4272 ((struct instance_core__NativeArray
*)var118
)->values
[1]=var_c_name
;
4274 var135
= ((val
*(*)(val
* self
))(var118
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var118
); /* native_to_s on <var118:NativeArray[String]>*/
4276 varonce117
= var118
;
4278 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var135
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
4280 if (unlikely(varonce136
==NULL
)) {
4281 var137
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
4282 if (likely(varonce138
!=NULL
)) {
4283 var139
= varonce138
;
4286 var142
= (val
*)(1l<<2|1);
4287 var143
= (val
*)(1l<<2|1);
4288 var144
= (val
*)((long)(0)<<2|3);
4289 var145
= (val
*)((long)(0)<<2|3);
4290 var141
= core__flat___CString___to_s_unsafe(var140
, var142
, var143
, var144
, var145
);
4292 varonce138
= var139
;
4294 ((struct instance_core__NativeArray
*)var137
)->values
[1]=var139
;
4296 var137
= varonce136
;
4300 { /* Inline separate_erasure_compiler$SeparateErasureCompiler$class_ids (self) on <self:SeparateErasureCompiler> */
4301 var148
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___class_ids
].val
; /* _class_ids on <self:SeparateErasureCompiler> */
4302 if (unlikely(var148
== NULL
)) {
4303 if(catchStack
.cursor
>= 0){
4304 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4306 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _class_ids");
4307 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 84);
4311 RET_LABEL147
:(void)0;
4315 var149
= ((val
*(*)(val
* self
, val
* p0
))((((long)var146
&3)?class_info
[((long)var146
&3)]:var146
->class)->vft
[COLOR_core__abstract_collection__MapRead___91d_93d
]))(var146
, var_mclass
); /* [] on <var146:Map[MClass, Int]>*/
4317 var151
= (long)(var149
)>>2;
4318 var150
= core__flat___Int___core__abstract_text__Object__to_s(var151
);
4319 ((struct instance_core__NativeArray
*)var137
)->values
[0]=var150
;
4321 var152
= ((val
*(*)(val
* self
))(var137
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var137
); /* native_to_s on <var137:NativeArray[String]>*/
4323 varonce136
= var137
;
4325 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var152
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
4327 if (unlikely(varonce153
==NULL
)) {
4328 var154
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4329 if (likely(varonce155
!=NULL
)) {
4330 var156
= varonce155
;
4333 var159
= (val
*)(1l<<2|1);
4334 var160
= (val
*)(1l<<2|1);
4335 var161
= (val
*)((long)(0)<<2|3);
4336 var162
= (val
*)((long)(0)<<2|3);
4337 var158
= core__flat___CString___to_s_unsafe(var157
, var159
, var160
, var161
, var162
);
4339 varonce155
= var156
;
4341 ((struct instance_core__NativeArray
*)var154
)->values
[0]=var156
;
4342 if (likely(varonce163
!=NULL
)) {
4343 var164
= varonce163
;
4345 var165
= "\", /* class_name_string */";
4346 var167
= (val
*)(26l<<2|1);
4347 var168
= (val
*)(26l<<2|1);
4348 var169
= (val
*)((long)(0)<<2|3);
4349 var170
= (val
*)((long)(0)<<2|3);
4350 var166
= core__flat___CString___to_s_unsafe(var165
, var167
, var168
, var169
, var170
);
4352 varonce163
= var164
;
4354 ((struct instance_core__NativeArray
*)var154
)->values
[2]=var164
;
4356 var154
= varonce153
;
4360 { /* Inline model$MClass$name (var_mclass) on <var_mclass:MClass> */
4361 var173
= var_mclass
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <var_mclass:MClass> */
4362 if (unlikely(var173
== NULL
)) {
4363 if(catchStack
.cursor
>= 0){
4364 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4366 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4367 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 396);
4371 RET_LABEL172
:(void)0;
4374 ((struct instance_core__NativeArray
*)var154
)->values
[1]=var171
;
4376 var174
= ((val
*(*)(val
* self
))(var154
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var154
); /* native_to_s on <var154:NativeArray[String]>*/
4378 varonce153
= var154
;
4380 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var174
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
4382 if (unlikely(varonce175
==NULL
)) {
4383 var176
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
4384 if (likely(varonce177
!=NULL
)) {
4385 var178
= varonce177
;
4387 var179
= ", /* box_kind */";
4388 var181
= (val
*)(16l<<2|1);
4389 var182
= (val
*)(16l<<2|1);
4390 var183
= (val
*)((long)(0)<<2|3);
4391 var184
= (val
*)((long)(0)<<2|3);
4392 var180
= core__flat___CString___to_s_unsafe(var179
, var181
, var182
, var183
, var184
);
4394 varonce177
= var178
;
4396 ((struct instance_core__NativeArray
*)var176
)->values
[1]=var178
;
4398 var176
= varonce175
;
4402 var185
= nitc___nitc__SeparateCompiler___box_kind_of(self
, var_mclass
);
4404 var186
= core__flat___Int___core__abstract_text__Object__to_s(var185
);
4405 ((struct instance_core__NativeArray
*)var176
)->values
[0]=var186
;
4407 var187
= ((val
*(*)(val
* self
))(var176
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var176
); /* native_to_s on <var176:NativeArray[String]>*/
4409 varonce175
= var176
;
4411 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var187
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
4413 if (unlikely(varonce188
==NULL
)) {
4414 var189
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
4415 if (likely(varonce190
!=NULL
)) {
4416 var191
= varonce190
;
4419 var194
= (val
*)(1l<<2|1);
4420 var195
= (val
*)(1l<<2|1);
4421 var196
= (val
*)((long)(0)<<2|3);
4422 var197
= (val
*)((long)(0)<<2|3);
4423 var193
= core__flat___CString___to_s_unsafe(var192
, var194
, var195
, var196
, var197
);
4425 varonce190
= var191
;
4427 ((struct instance_core__NativeArray
*)var189
)->values
[1]=var191
;
4429 var189
= varonce188
;
4433 { /* Inline separate_erasure_compiler$SeparateErasureCompiler$class_colors (self) on <self:SeparateErasureCompiler> */
4434 var200
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___class_colors
].val
; /* _class_colors on <self:SeparateErasureCompiler> */
4435 if (unlikely(var200
== NULL
)) {
4436 if(catchStack
.cursor
>= 0){
4437 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4439 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _class_colors");
4440 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 85);
4444 RET_LABEL199
:(void)0;
4448 var201
= ((val
*(*)(val
* self
, val
* p0
))((((long)var198
&3)?class_info
[((long)var198
&3)]:var198
->class)->vft
[COLOR_core__abstract_collection__MapRead___91d_93d
]))(var198
, var_mclass
); /* [] on <var198:Map[MClass, Int]>*/
4450 var203
= (long)(var201
)>>2;
4451 var202
= core__flat___Int___core__abstract_text__Object__to_s(var203
);
4452 ((struct instance_core__NativeArray
*)var189
)->values
[0]=var202
;
4454 var204
= ((val
*(*)(val
* self
))(var189
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var189
); /* native_to_s on <var189:NativeArray[String]>*/
4456 varonce188
= var189
;
4458 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var204
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
4460 var205
= !var_is_dead
;
4463 var206
= nitc___nitc__SeparateErasureCompiler___build_class_vts_table(self
, var_mclass
);
4466 if (unlikely(varonce207
==NULL
)) {
4467 var208
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
4468 if (likely(varonce209
!=NULL
)) {
4469 var210
= varonce209
;
4471 var211
= "vts_table_";
4472 var213
= (val
*)(10l<<2|1);
4473 var214
= (val
*)(10l<<2|1);
4474 var215
= (val
*)((long)(0)<<2|3);
4475 var216
= (val
*)((long)(0)<<2|3);
4476 var212
= core__flat___CString___to_s_unsafe(var211
, var213
, var214
, var215
, var216
);
4478 varonce209
= var210
;
4480 ((struct instance_core__NativeArray
*)var208
)->values
[0]=var210
;
4482 var208
= varonce207
;
4485 ((struct instance_core__NativeArray
*)var208
)->values
[1]=var_c_name
;
4487 var217
= ((val
*(*)(val
* self
))(var208
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var208
); /* native_to_s on <var208:NativeArray[String]>*/
4489 varonce207
= var208
;
4491 nitc___nitc__AbstractCompilerVisitor___require_declaration(var_v
, var217
); /* Direct call abstract_compiler$AbstractCompilerVisitor$require_declaration on <var_v:SeparateCompilerVisitor>*/
4493 if (unlikely(varonce218
==NULL
)) {
4494 var219
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4495 if (likely(varonce220
!=NULL
)) {
4496 var221
= varonce220
;
4498 var222
= "&vts_table_";
4499 var224
= (val
*)(11l<<2|1);
4500 var225
= (val
*)(11l<<2|1);
4501 var226
= (val
*)((long)(0)<<2|3);
4502 var227
= (val
*)((long)(0)<<2|3);
4503 var223
= core__flat___CString___to_s_unsafe(var222
, var224
, var225
, var226
, var227
);
4505 varonce220
= var221
;
4507 ((struct instance_core__NativeArray
*)var219
)->values
[0]=var221
;
4508 if (likely(varonce228
!=NULL
)) {
4509 var229
= varonce228
;
4512 var232
= (val
*)(1l<<2|1);
4513 var233
= (val
*)(1l<<2|1);
4514 var234
= (val
*)((long)(0)<<2|3);
4515 var235
= (val
*)((long)(0)<<2|3);
4516 var231
= core__flat___CString___to_s_unsafe(var230
, var232
, var233
, var234
, var235
);
4518 varonce228
= var229
;
4520 ((struct instance_core__NativeArray
*)var219
)->values
[2]=var229
;
4522 var219
= varonce218
;
4525 ((struct instance_core__NativeArray
*)var219
)->values
[1]=var_c_name
;
4527 var236
= ((val
*(*)(val
* self
))(var219
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var219
); /* native_to_s on <var219:NativeArray[String]>*/
4529 varonce218
= var219
;
4531 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var236
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
4534 if (likely(varonce237
!=NULL
)) {
4535 var238
= varonce237
;
4538 var241
= (val
*)(5l<<2|1);
4539 var242
= (val
*)(5l<<2|1);
4540 var243
= (val
*)((long)(0)<<2|3);
4541 var244
= (val
*)((long)(0)<<2|3);
4542 var240
= core__flat___CString___to_s_unsafe(var239
, var241
, var242
, var243
, var244
);
4544 varonce237
= var238
;
4547 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var238
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
4550 if (unlikely(varonce245
==NULL
)) {
4551 var246
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4552 if (likely(varonce247
!=NULL
)) {
4553 var248
= varonce247
;
4555 var249
= "&type_table_";
4556 var251
= (val
*)(12l<<2|1);
4557 var252
= (val
*)(12l<<2|1);
4558 var253
= (val
*)((long)(0)<<2|3);
4559 var254
= (val
*)((long)(0)<<2|3);
4560 var250
= core__flat___CString___to_s_unsafe(var249
, var251
, var252
, var253
, var254
);
4562 varonce247
= var248
;
4564 ((struct instance_core__NativeArray
*)var246
)->values
[0]=var248
;
4565 if (likely(varonce255
!=NULL
)) {
4566 var256
= varonce255
;
4569 var259
= (val
*)(1l<<2|1);
4570 var260
= (val
*)(1l<<2|1);
4571 var261
= (val
*)((long)(0)<<2|3);
4572 var262
= (val
*)((long)(0)<<2|3);
4573 var258
= core__flat___CString___to_s_unsafe(var257
, var259
, var260
, var261
, var262
);
4575 varonce255
= var256
;
4577 ((struct instance_core__NativeArray
*)var246
)->values
[2]=var256
;
4579 var246
= varonce245
;
4582 ((struct instance_core__NativeArray
*)var246
)->values
[1]=var_c_name
;
4584 var263
= ((val
*(*)(val
* self
))(var246
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var246
); /* native_to_s on <var246:NativeArray[String]>*/
4586 varonce245
= var246
;
4588 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var263
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
4590 if (likely(varonce264
!=NULL
)) {
4591 var265
= varonce264
;
4594 var268
= (val
*)(1l<<2|1);
4595 var269
= (val
*)(1l<<2|1);
4596 var270
= (val
*)((long)(0)<<2|3);
4597 var271
= (val
*)((long)(0)<<2|3);
4598 var267
= core__flat___CString___to_s_unsafe(var266
, var268
, var269
, var270
, var271
);
4600 varonce264
= var265
;
4603 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var265
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
4606 { /* Inline separate_compiler$SeparateCompiler$method_tables (self) on <self:SeparateErasureCompiler> */
4607 var274
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___method_tables
].val
; /* _method_tables on <self:SeparateErasureCompiler> */
4608 if (unlikely(var274
== NULL
)) {
4609 if(catchStack
.cursor
>= 0){
4610 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4612 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _method_tables");
4613 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 1073);
4617 RET_LABEL273
:(void)0;
4621 var275
= ((val
*(*)(val
* self
, val
* p0
))((((long)var272
&3)?class_info
[((long)var272
&3)]:var272
->class)->vft
[COLOR_core__abstract_collection__MapRead__get_or_null
]))(var272
, var_mclass
); /* get_or_null on <var272:Map[MClass, Array[nullable MPropDef]]>*/
4624 if (var_vft
== NULL
) {
4625 var276
= 0; /* is null */
4627 var276
= 1; /* arg is null and recv is not */
4630 { /* Inline kernel$Object$!= (var_vft,((val*)NULL)) on <var_vft:nullable Array[nullable MPropDef]> */
4631 var_other
= ((val
*)NULL
);
4633 var279
= ((short int(*)(val
* self
, val
* p0
))(var_vft
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_vft
, var_other
); /* == on <var_vft:nullable Array[nullable MPropDef](Array[nullable MPropDef])>*/
4638 RET_LABEL278
:(void)0;
4645 { /* Inline array$AbstractArrayRead$length (var_vft) on <var_vft:nullable Array[nullable MPropDef](Array[nullable MPropDef])> */
4646 var283
= var_vft
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_vft:nullable Array[nullable MPropDef](Array[nullable MPropDef])> */
4648 RET_LABEL282
:(void)0;
4654 { /* Inline kernel$Int$< (var_i,var_284) on <var_i:Int> */
4655 /* Covariant cast for argument 0 (i) <var_284:Int> isa OTHER */
4656 /* <var_284:Int> isa OTHER */
4657 var287
= 1; /* easy <var_284:Int> isa OTHER*/
4658 if (unlikely(!var287
)) {
4659 var_class_name
= type_core__Int
.name
;
4660 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4661 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
4664 var288
= var_i
< var_284
;
4667 RET_LABEL286
:(void)0;
4675 var289
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_vft
, var_i
);
4677 var_mpropdef
= var289
;
4678 if (var_mpropdef
== NULL
) {
4679 var290
= 1; /* is null */
4681 var290
= 0; /* arg is null but recv is not */
4684 { /* Inline kernel$Object$== (var_mpropdef,((val*)NULL)) on <var_mpropdef:nullable MPropDef> */
4685 var_other293
= ((val
*)NULL
);
4687 { /* Inline kernel$Object$is_same_instance (var_mpropdef,var_other293) on <var_mpropdef:nullable MPropDef(MPropDef)> */
4688 var296
= var_mpropdef
== var_other293
;
4691 RET_LABEL295
:(void)0;
4696 RET_LABEL292
:(void)0;
4701 if (likely(varonce297
!=NULL
)) {
4702 var298
= varonce297
;
4704 var299
= "NULL, /* empty */";
4705 var301
= (val
*)(17l<<2|1);
4706 var302
= (val
*)(17l<<2|1);
4707 var303
= (val
*)((long)(0)<<2|3);
4708 var304
= (val
*)((long)(0)<<2|3);
4709 var300
= core__flat___CString___to_s_unsafe(var299
, var301
, var302
, var303
, var304
);
4711 varonce297
= var298
;
4714 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var298
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
4717 /* <var_mpropdef:nullable MPropDef(MPropDef)> isa MMethodDef */
4718 cltype306
= type_nitc__MMethodDef
.color
;
4719 idtype307
= type_nitc__MMethodDef
.id
;
4720 if(cltype306
>= var_mpropdef
->type
->table_size
) {
4723 var305
= var_mpropdef
->type
->type_table
[cltype306
] == idtype307
;
4725 if (unlikely(!var305
)) {
4726 if(catchStack
.cursor
>= 0){
4727 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4729 PRINT_ERROR("Runtime error: %s", "Assert failed");
4730 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 237);
4733 if (var_rta
== NULL
) {
4734 var309
= 0; /* is null */
4736 var309
= 1; /* arg is null and recv is not */
4739 { /* Inline kernel$Object$!= (var_rta,((val*)NULL)) on <var_rta:nullable RapidTypeAnalysis> */
4740 var_other
= ((val
*)NULL
);
4742 var312
= ((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)>*/
4747 RET_LABEL311
:(void)0;
4754 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_methoddefs (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
4755 var317
= var_rta
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_methoddefs
].val
; /* _live_methoddefs on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
4756 if (unlikely(var317
== NULL
)) {
4757 if(catchStack
.cursor
>= 0){
4758 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4760 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_methoddefs");
4761 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 79);
4765 RET_LABEL316
:(void)0;
4769 var318
= core___core__HashSet___core__abstract_collection__Collection__has(var315
, var_mpropdef
);
4777 if (unlikely(varonce320
==NULL
)) {
4778 var321
= NEW_core__NativeArray((int)7l, &type_core__NativeArray__core__String
);
4779 if (likely(varonce322
!=NULL
)) {
4780 var323
= varonce322
;
4782 var324
= "NULL, /* DEAD ";
4783 var326
= (val
*)(14l<<2|1);
4784 var327
= (val
*)(14l<<2|1);
4785 var328
= (val
*)((long)(0)<<2|3);
4786 var329
= (val
*)((long)(0)<<2|3);
4787 var325
= core__flat___CString___to_s_unsafe(var324
, var326
, var327
, var328
, var329
);
4789 varonce322
= var323
;
4791 ((struct instance_core__NativeArray
*)var321
)->values
[0]=var323
;
4792 if (likely(varonce330
!=NULL
)) {
4793 var331
= varonce330
;
4796 var334
= (val
*)(1l<<2|1);
4797 var335
= (val
*)(1l<<2|1);
4798 var336
= (val
*)((long)(0)<<2|3);
4799 var337
= (val
*)((long)(0)<<2|3);
4800 var333
= core__flat___CString___to_s_unsafe(var332
, var334
, var335
, var336
, var337
);
4802 varonce330
= var331
;
4804 ((struct instance_core__NativeArray
*)var321
)->values
[2]=var331
;
4805 if (likely(varonce338
!=NULL
)) {
4806 var339
= varonce338
;
4809 var342
= (val
*)(1l<<2|1);
4810 var343
= (val
*)(1l<<2|1);
4811 var344
= (val
*)((long)(0)<<2|3);
4812 var345
= (val
*)((long)(0)<<2|3);
4813 var341
= core__flat___CString___to_s_unsafe(var340
, var342
, var343
, var344
, var345
);
4815 varonce338
= var339
;
4817 ((struct instance_core__NativeArray
*)var321
)->values
[4]=var339
;
4818 if (likely(varonce346
!=NULL
)) {
4819 var347
= varonce346
;
4822 var350
= (val
*)(3l<<2|1);
4823 var351
= (val
*)(3l<<2|1);
4824 var352
= (val
*)((long)(0)<<2|3);
4825 var353
= (val
*)((long)(0)<<2|3);
4826 var349
= core__flat___CString___to_s_unsafe(var348
, var350
, var351
, var352
, var353
);
4828 varonce346
= var347
;
4830 ((struct instance_core__NativeArray
*)var321
)->values
[6]=var347
;
4832 var321
= varonce320
;
4836 { /* Inline model$MClass$intro_mmodule (var_mclass) on <var_mclass:MClass> */
4837 var356
= var_mclass
->attrs
[COLOR_nitc__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var_mclass:MClass> */
4838 if (unlikely(var356
== NULL
)) {
4839 if(catchStack
.cursor
>= 0){
4840 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4842 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
4843 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 390);
4847 RET_LABEL355
:(void)0;
4851 var357
= ((val
*(*)(val
* self
))(var354
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var354
); /* to_s on <var354:MModule>*/
4853 ((struct instance_core__NativeArray
*)var321
)->values
[1]=var357
;
4855 var358
= ((val
*(*)(val
* self
))(var_mclass
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mclass
); /* to_s on <var_mclass:MClass>*/
4857 ((struct instance_core__NativeArray
*)var321
)->values
[3]=var358
;
4859 var359
= ((val
*(*)(val
* self
))(var_mpropdef
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mpropdef
); /* to_s on <var_mpropdef:nullable MPropDef(MMethodDef)>*/
4861 ((struct instance_core__NativeArray
*)var321
)->values
[5]=var359
;
4863 var360
= ((val
*(*)(val
* self
))(var321
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var321
); /* native_to_s on <var321:NativeArray[String]>*/
4865 varonce320
= var321
;
4867 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var360
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
4869 goto BREAK_label361
;
4873 var362
= nitc__separate_compiler___MMethodDef___virtual_runtime_function(var_mpropdef
);
4877 var363
= nitc___nitc__AbstractRuntimeFunction___c_name(var_rf
);
4880 nitc___nitc__AbstractCompilerVisitor___require_declaration(var_v
, var363
); /* Direct call abstract_compiler$AbstractCompilerVisitor$require_declaration on <var_v:SeparateCompilerVisitor>*/
4882 if (unlikely(varonce364
==NULL
)) {
4883 var365
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
4884 if (likely(varonce366
!=NULL
)) {
4885 var367
= varonce366
;
4887 var368
= "(nitmethod_t)";
4888 var370
= (val
*)(13l<<2|1);
4889 var371
= (val
*)(13l<<2|1);
4890 var372
= (val
*)((long)(0)<<2|3);
4891 var373
= (val
*)((long)(0)<<2|3);
4892 var369
= core__flat___CString___to_s_unsafe(var368
, var370
, var371
, var372
, var373
);
4894 varonce366
= var367
;
4896 ((struct instance_core__NativeArray
*)var365
)->values
[0]=var367
;
4897 if (likely(varonce374
!=NULL
)) {
4898 var375
= varonce374
;
4900 var376
= ", /* pointer to ";
4901 var378
= (val
*)(16l<<2|1);
4902 var379
= (val
*)(16l<<2|1);
4903 var380
= (val
*)((long)(0)<<2|3);
4904 var381
= (val
*)((long)(0)<<2|3);
4905 var377
= core__flat___CString___to_s_unsafe(var376
, var378
, var379
, var380
, var381
);
4907 varonce374
= var375
;
4909 ((struct instance_core__NativeArray
*)var365
)->values
[2]=var375
;
4910 if (likely(varonce382
!=NULL
)) {
4911 var383
= varonce382
;
4914 var386
= (val
*)(3l<<2|1);
4915 var387
= (val
*)(3l<<2|1);
4916 var388
= (val
*)((long)(0)<<2|3);
4917 var389
= (val
*)((long)(0)<<2|3);
4918 var385
= core__flat___CString___to_s_unsafe(var384
, var386
, var387
, var388
, var389
);
4920 varonce382
= var383
;
4922 ((struct instance_core__NativeArray
*)var365
)->values
[4]=var383
;
4924 var365
= varonce364
;
4928 var390
= nitc___nitc__AbstractRuntimeFunction___c_name(var_rf
);
4930 ((struct instance_core__NativeArray
*)var365
)->values
[1]=var390
;
4932 var391
= nitc___nitc__MPropDef___nitc__model_base__MEntity__full_name(var_mpropdef
);
4934 ((struct instance_core__NativeArray
*)var365
)->values
[3]=var391
;
4936 var392
= ((val
*(*)(val
* self
))(var365
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var365
); /* native_to_s on <var365:NativeArray[String]>*/
4938 varonce364
= var365
;
4940 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var392
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
4943 BREAK_label361
: (void)0;
4945 var393
= core___core__Int___Discrete__successor(var_i
, 1l);
4949 BREAK_label
: (void)0;
4952 if (likely(varonce394
!=NULL
)) {
4953 var395
= varonce394
;
4956 var398
= (val
*)(1l<<2|1);
4957 var399
= (val
*)(1l<<2|1);
4958 var400
= (val
*)((long)(0)<<2|3);
4959 var401
= (val
*)((long)(0)<<2|3);
4960 var397
= core__flat___CString___to_s_unsafe(var396
, var398
, var399
, var400
, var401
);
4962 varonce394
= var395
;
4965 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var395
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
4969 if (likely(varonce402
!=NULL
)) {
4970 var403
= varonce402
;
4973 var406
= (val
*)(2l<<2|1);
4974 var407
= (val
*)(2l<<2|1);
4975 var408
= (val
*)((long)(0)<<2|3);
4976 var409
= (val
*)((long)(0)<<2|3);
4977 var405
= core__flat___CString___to_s_unsafe(var404
, var406
, var407
, var408
, var409
);
4979 varonce402
= var403
;
4982 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var403
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
4984 if (unlikely(varonce410
==NULL
)) {
4985 var411
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4986 if (likely(varonce412
!=NULL
)) {
4987 var413
= varonce412
;
4989 var414
= "const struct type_table type_table_";
4990 var416
= (val
*)(35l<<2|1);
4991 var417
= (val
*)(35l<<2|1);
4992 var418
= (val
*)((long)(0)<<2|3);
4993 var419
= (val
*)((long)(0)<<2|3);
4994 var415
= core__flat___CString___to_s_unsafe(var414
, var416
, var417
, var418
, var419
);
4996 varonce412
= var413
;
4998 ((struct instance_core__NativeArray
*)var411
)->values
[0]=var413
;
4999 if (likely(varonce420
!=NULL
)) {
5000 var421
= varonce420
;
5003 var424
= (val
*)(4l<<2|1);
5004 var425
= (val
*)(4l<<2|1);
5005 var426
= (val
*)((long)(0)<<2|3);
5006 var427
= (val
*)((long)(0)<<2|3);
5007 var423
= core__flat___CString___to_s_unsafe(var422
, var424
, var425
, var426
, var427
);
5009 varonce420
= var421
;
5011 ((struct instance_core__NativeArray
*)var411
)->values
[2]=var421
;
5013 var411
= varonce410
;
5016 ((struct instance_core__NativeArray
*)var411
)->values
[1]=var_c_name
;
5018 var428
= ((val
*(*)(val
* self
))(var411
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var411
); /* native_to_s on <var411:NativeArray[String]>*/
5020 varonce410
= var411
;
5022 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var428
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
5024 if (unlikely(varonce429
==NULL
)) {
5025 var430
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
5026 if (likely(varonce431
!=NULL
)) {
5027 var432
= varonce431
;
5030 var435
= (val
*)(1l<<2|1);
5031 var436
= (val
*)(1l<<2|1);
5032 var437
= (val
*)((long)(0)<<2|3);
5033 var438
= (val
*)((long)(0)<<2|3);
5034 var434
= core__flat___CString___to_s_unsafe(var433
, var435
, var436
, var437
, var438
);
5036 varonce431
= var432
;
5038 ((struct instance_core__NativeArray
*)var430
)->values
[1]=var432
;
5040 var430
= varonce429
;
5044 { /* Inline array$AbstractArrayRead$length (var_class_table) on <var_class_table:Array[nullable MClass]> */
5045 var441
= var_class_table
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_class_table:Array[nullable MClass]> */
5047 RET_LABEL440
:(void)0;
5050 var442
= core__flat___Int___core__abstract_text__Object__to_s(var439
);
5051 ((struct instance_core__NativeArray
*)var430
)->values
[0]=var442
;
5053 var443
= ((val
*(*)(val
* self
))(var430
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var430
); /* native_to_s on <var430:NativeArray[String]>*/
5055 varonce429
= var430
;
5057 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var443
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
5059 if (likely(varonce444
!=NULL
)) {
5060 var445
= varonce444
;
5063 var448
= (val
*)(1l<<2|1);
5064 var449
= (val
*)(1l<<2|1);
5065 var450
= (val
*)((long)(0)<<2|3);
5066 var451
= (val
*)((long)(0)<<2|3);
5067 var447
= core__flat___CString___to_s_unsafe(var446
, var448
, var449
, var450
, var451
);
5069 varonce444
= var445
;
5072 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var445
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
5074 var_452
= var_class_table
;
5076 var453
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_452
);
5081 var455
= ((short int(*)(val
* self
))((((long)var_454
&3)?class_info
[((long)var_454
&3)]:var_454
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_454
); /* is_ok on <var_454:IndexedIterator[nullable MClass]>*/
5085 goto BREAK_label456
;
5088 var457
= ((val
*(*)(val
* self
))((((long)var_454
&3)?class_info
[((long)var_454
&3)]:var_454
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_454
); /* item on <var_454:IndexedIterator[nullable MClass]>*/
5090 var_msuper
= var457
;
5091 if (var_msuper
== NULL
) {
5092 var458
= 1; /* is null */
5094 var458
= 0; /* arg is null but recv is not */
5097 { /* Inline kernel$Object$== (var_msuper,((val*)NULL)) on <var_msuper:nullable MClass> */
5098 var_other293
= ((val
*)NULL
);
5100 { /* Inline kernel$Object$is_same_instance (var_msuper,var_other293) on <var_msuper:nullable MClass(MClass)> */
5101 var463
= var_msuper
== var_other293
;
5104 RET_LABEL462
:(void)0;
5109 RET_LABEL460
:(void)0;
5114 if (likely(varonce464
!=NULL
)) {
5115 var465
= varonce464
;
5117 var466
= "-1, /* empty */";
5118 var468
= (val
*)(15l<<2|1);
5119 var469
= (val
*)(15l<<2|1);
5120 var470
= (val
*)((long)(0)<<2|3);
5121 var471
= (val
*)((long)(0)<<2|3);
5122 var467
= core__flat___CString___to_s_unsafe(var466
, var468
, var469
, var470
, var471
);
5124 varonce464
= var465
;
5127 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var465
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
5130 if (unlikely(varonce472
==NULL
)) {
5131 var473
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
5132 if (likely(varonce474
!=NULL
)) {
5133 var475
= varonce474
;
5136 var478
= (val
*)(5l<<2|1);
5137 var479
= (val
*)(5l<<2|1);
5138 var480
= (val
*)((long)(0)<<2|3);
5139 var481
= (val
*)((long)(0)<<2|3);
5140 var477
= core__flat___CString___to_s_unsafe(var476
, var478
, var479
, var480
, var481
);
5142 varonce474
= var475
;
5144 ((struct instance_core__NativeArray
*)var473
)->values
[1]=var475
;
5145 if (likely(varonce482
!=NULL
)) {
5146 var483
= varonce482
;
5149 var486
= (val
*)(3l<<2|1);
5150 var487
= (val
*)(3l<<2|1);
5151 var488
= (val
*)((long)(0)<<2|3);
5152 var489
= (val
*)((long)(0)<<2|3);
5153 var485
= core__flat___CString___to_s_unsafe(var484
, var486
, var487
, var488
, var489
);
5155 varonce482
= var483
;
5157 ((struct instance_core__NativeArray
*)var473
)->values
[3]=var483
;
5159 var473
= varonce472
;
5163 { /* Inline separate_erasure_compiler$SeparateErasureCompiler$class_ids (self) on <self:SeparateErasureCompiler> */
5164 var492
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___class_ids
].val
; /* _class_ids on <self:SeparateErasureCompiler> */
5165 if (unlikely(var492
== NULL
)) {
5166 if(catchStack
.cursor
>= 0){
5167 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5169 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _class_ids");
5170 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 84);
5174 RET_LABEL491
:(void)0;
5178 var493
= ((val
*(*)(val
* self
, val
* p0
))((((long)var490
&3)?class_info
[((long)var490
&3)]:var490
->class)->vft
[COLOR_core__abstract_collection__MapRead___91d_93d
]))(var490
, var_msuper
); /* [] on <var490:Map[MClass, Int]>*/
5180 var495
= (long)(var493
)>>2;
5181 var494
= core__flat___Int___core__abstract_text__Object__to_s(var495
);
5182 ((struct instance_core__NativeArray
*)var473
)->values
[0]=var494
;
5184 var496
= ((val
*(*)(val
* self
))(var_msuper
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_msuper
); /* to_s on <var_msuper:nullable MClass(MClass)>*/
5186 ((struct instance_core__NativeArray
*)var473
)->values
[2]=var496
;
5188 var497
= ((val
*(*)(val
* self
))(var473
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var473
); /* native_to_s on <var473:NativeArray[String]>*/
5190 varonce472
= var473
;
5192 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var497
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
5196 ((void(*)(val
* self
))((((long)var_454
&3)?class_info
[((long)var_454
&3)]:var_454
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_454
); /* next on <var_454:IndexedIterator[nullable MClass]>*/
5199 BREAK_label456
: (void)0;
5201 ((void(*)(val
* self
))((((long)var_454
&3)?class_info
[((long)var_454
&3)]:var_454
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_454
); /* finish on <var_454:IndexedIterator[nullable MClass]>*/
5203 if (likely(varonce498
!=NULL
)) {
5204 var499
= varonce498
;
5207 var502
= (val
*)(1l<<2|1);
5208 var503
= (val
*)(1l<<2|1);
5209 var504
= (val
*)((long)(0)<<2|3);
5210 var505
= (val
*)((long)(0)<<2|3);
5211 var501
= core__flat___CString___to_s_unsafe(var500
, var502
, var503
, var504
, var505
);
5213 varonce498
= var499
;
5216 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var499
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
5218 if (likely(varonce506
!=NULL
)) {
5219 var507
= varonce506
;
5222 var510
= (val
*)(2l<<2|1);
5223 var511
= (val
*)(2l<<2|1);
5224 var512
= (val
*)((long)(0)<<2|3);
5225 var513
= (val
*)((long)(0)<<2|3);
5226 var509
= core__flat___CString___to_s_unsafe(var508
, var510
, var511
, var512
, var513
);
5228 varonce506
= var507
;
5231 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var507
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
5234 var515
= nitc__abstract_compiler___MClassType___MType__is_c_primitive(var_mtype
);
5241 { /* Inline model$MClassType$mclass (var_mtype) on <var_mtype:MClassType> */
5242 var519
= var_mtype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
5243 if (unlikely(var519
== NULL
)) {
5244 if(catchStack
.cursor
>= 0){
5245 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5247 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5248 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
5252 RET_LABEL518
:(void)0;
5256 { /* Inline model$MClass$name (var517) on <var517:MClass> */
5257 var522
= var517
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <var517:MClass> */
5258 if (unlikely(var522
== NULL
)) {
5259 if(catchStack
.cursor
>= 0){
5260 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5262 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5263 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 396);
5267 RET_LABEL521
:(void)0;
5270 if (likely(varonce523
!=NULL
)) {
5271 var524
= varonce523
;
5274 var527
= (val
*)(7l<<2|1);
5275 var528
= (val
*)(7l<<2|1);
5276 var529
= (val
*)((long)(0)<<2|3);
5277 var530
= (val
*)((long)(0)<<2|3);
5278 var526
= core__flat___CString___to_s_unsafe(var525
, var527
, var528
, var529
, var530
);
5280 varonce523
= var524
;
5283 var531
= ((short int(*)(val
* self
, val
* p0
))(var520
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var520
, var524
); /* == on <var520:String>*/
5289 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateErasureCompiler> */
5290 var534
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateErasureCompiler> */
5291 if (unlikely(var534
== NULL
)) {
5292 if(catchStack
.cursor
>= 0){
5293 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5295 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
5296 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
5300 RET_LABEL533
:(void)0;
5303 if (unlikely(varonce535
==NULL
)) {
5304 var536
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
5305 if (likely(varonce537
!=NULL
)) {
5306 var538
= varonce537
;
5308 var539
= "struct instance_";
5309 var541
= (val
*)(16l<<2|1);
5310 var542
= (val
*)(16l<<2|1);
5311 var543
= (val
*)((long)(0)<<2|3);
5312 var544
= (val
*)((long)(0)<<2|3);
5313 var540
= core__flat___CString___to_s_unsafe(var539
, var541
, var542
, var543
, var544
);
5315 varonce537
= var538
;
5317 ((struct instance_core__NativeArray
*)var536
)->values
[0]=var538
;
5318 if (likely(varonce545
!=NULL
)) {
5319 var546
= varonce545
;
5322 var549
= (val
*)(2l<<2|1);
5323 var550
= (val
*)(2l<<2|1);
5324 var551
= (val
*)((long)(0)<<2|3);
5325 var552
= (val
*)((long)(0)<<2|3);
5326 var548
= core__flat___CString___to_s_unsafe(var547
, var549
, var550
, var551
, var552
);
5328 varonce545
= var546
;
5330 ((struct instance_core__NativeArray
*)var536
)->values
[2]=var546
;
5332 var536
= varonce535
;
5335 ((struct instance_core__NativeArray
*)var536
)->values
[1]=var_c_name
;
5337 var553
= ((val
*(*)(val
* self
))(var536
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var536
); /* native_to_s on <var536:NativeArray[String]>*/
5339 varonce535
= var536
;
5341 nitc___nitc__CodeWriter___add_decl(var532
, var553
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var532:CodeWriter>*/
5344 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateErasureCompiler> */
5345 var556
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateErasureCompiler> */
5346 if (unlikely(var556
== NULL
)) {
5347 if(catchStack
.cursor
>= 0){
5348 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5350 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
5351 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
5355 RET_LABEL555
:(void)0;
5358 if (likely(varonce557
!=NULL
)) {
5359 var558
= varonce557
;
5361 var559
= "const struct class *class;";
5362 var561
= (val
*)(26l<<2|1);
5363 var562
= (val
*)(26l<<2|1);
5364 var563
= (val
*)((long)(0)<<2|3);
5365 var564
= (val
*)((long)(0)<<2|3);
5366 var560
= core__flat___CString___to_s_unsafe(var559
, var561
, var562
, var563
, var564
);
5368 varonce557
= var558
;
5371 nitc___nitc__CodeWriter___add_decl(var554
, var558
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var554:CodeWriter>*/
5374 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateErasureCompiler> */
5375 var567
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateErasureCompiler> */
5376 if (unlikely(var567
== NULL
)) {
5377 if(catchStack
.cursor
>= 0){
5378 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5380 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
5381 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
5385 RET_LABEL566
:(void)0;
5388 if (unlikely(varonce568
==NULL
)) {
5389 var569
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
5390 if (likely(varonce570
!=NULL
)) {
5391 var571
= varonce570
;
5394 var574
= (val
*)(7l<<2|1);
5395 var575
= (val
*)(7l<<2|1);
5396 var576
= (val
*)((long)(0)<<2|3);
5397 var577
= (val
*)((long)(0)<<2|3);
5398 var573
= core__flat___CString___to_s_unsafe(var572
, var574
, var575
, var576
, var577
);
5400 varonce570
= var571
;
5402 ((struct instance_core__NativeArray
*)var569
)->values
[1]=var571
;
5404 var569
= varonce568
;
5408 var578
= nitc__abstract_compiler___MClassType___MType__ctype(var_mtype
);
5410 ((struct instance_core__NativeArray
*)var569
)->values
[0]=var578
;
5412 var579
= ((val
*(*)(val
* self
))(var569
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var569
); /* native_to_s on <var569:NativeArray[String]>*/
5414 varonce568
= var569
;
5416 nitc___nitc__CodeWriter___add_decl(var565
, var579
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var565:CodeWriter>*/
5419 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateErasureCompiler> */
5420 var582
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateErasureCompiler> */
5421 if (unlikely(var582
== NULL
)) {
5422 if(catchStack
.cursor
>= 0){
5423 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5425 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
5426 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
5430 RET_LABEL581
:(void)0;
5433 if (likely(varonce583
!=NULL
)) {
5434 var584
= varonce583
;
5437 var587
= (val
*)(2l<<2|1);
5438 var588
= (val
*)(2l<<2|1);
5439 var589
= (val
*)((long)(0)<<2|3);
5440 var590
= (val
*)((long)(0)<<2|3);
5441 var586
= core__flat___CString___to_s_unsafe(var585
, var587
, var588
, var589
, var590
);
5443 varonce583
= var584
;
5446 nitc___nitc__CodeWriter___add_decl(var580
, var584
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var580:CodeWriter>*/
5448 if (unlikely(varonce591
==NULL
)) {
5449 var592
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
5450 if (likely(varonce593
!=NULL
)) {
5451 var594
= varonce593
;
5454 var597
= (val
*)(4l<<2|1);
5455 var598
= (val
*)(4l<<2|1);
5456 var599
= (val
*)((long)(0)<<2|3);
5457 var600
= (val
*)((long)(0)<<2|3);
5458 var596
= core__flat___CString___to_s_unsafe(var595
, var597
, var598
, var599
, var600
);
5460 varonce593
= var594
;
5462 ((struct instance_core__NativeArray
*)var592
)->values
[0]=var594
;
5464 var592
= varonce591
;
5467 ((struct instance_core__NativeArray
*)var592
)->values
[1]=var_c_name
;
5469 var601
= ((val
*(*)(val
* self
))(var592
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var592
); /* native_to_s on <var592:NativeArray[String]>*/
5471 varonce591
= var592
;
5472 if (unlikely(varonce602
==NULL
)) {
5473 var603
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
5474 if (likely(varonce604
!=NULL
)) {
5475 var605
= varonce604
;
5477 var606
= "val* BOX_";
5478 var608
= (val
*)(9l<<2|1);
5479 var609
= (val
*)(9l<<2|1);
5480 var610
= (val
*)((long)(0)<<2|3);
5481 var611
= (val
*)((long)(0)<<2|3);
5482 var607
= core__flat___CString___to_s_unsafe(var606
, var608
, var609
, var610
, var611
);
5484 varonce604
= var605
;
5486 ((struct instance_core__NativeArray
*)var603
)->values
[0]=var605
;
5487 if (likely(varonce612
!=NULL
)) {
5488 var613
= varonce612
;
5491 var616
= (val
*)(1l<<2|1);
5492 var617
= (val
*)(1l<<2|1);
5493 var618
= (val
*)((long)(0)<<2|3);
5494 var619
= (val
*)((long)(0)<<2|3);
5495 var615
= core__flat___CString___to_s_unsafe(var614
, var616
, var617
, var618
, var619
);
5497 varonce612
= var613
;
5499 ((struct instance_core__NativeArray
*)var603
)->values
[2]=var613
;
5500 if (likely(varonce620
!=NULL
)) {
5501 var621
= varonce620
;
5504 var624
= (val
*)(2l<<2|1);
5505 var625
= (val
*)(2l<<2|1);
5506 var626
= (val
*)((long)(0)<<2|3);
5507 var627
= (val
*)((long)(0)<<2|3);
5508 var623
= core__flat___CString___to_s_unsafe(var622
, var624
, var625
, var626
, var627
);
5510 varonce620
= var621
;
5512 ((struct instance_core__NativeArray
*)var603
)->values
[4]=var621
;
5514 var603
= varonce602
;
5517 ((struct instance_core__NativeArray
*)var603
)->values
[1]=var_c_name
;
5519 var628
= nitc__abstract_compiler___MClassType___MType__ctype_extern(var_mtype
);
5521 ((struct instance_core__NativeArray
*)var603
)->values
[3]=var628
;
5523 var629
= ((val
*(*)(val
* self
))(var603
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var603
); /* native_to_s on <var603:NativeArray[String]>*/
5525 varonce602
= var603
;
5527 nitc___nitc__AbstractCompiler___provide_declaration(self
, var601
, var629
); /* Direct call abstract_compiler$AbstractCompiler$provide_declaration on <self:SeparateErasureCompiler>*/
5529 if (unlikely(varonce630
==NULL
)) {
5530 var631
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
5531 if (likely(varonce632
!=NULL
)) {
5532 var633
= varonce632
;
5534 var634
= "/* allocate ";
5535 var636
= (val
*)(12l<<2|1);
5536 var637
= (val
*)(12l<<2|1);
5537 var638
= (val
*)((long)(0)<<2|3);
5538 var639
= (val
*)((long)(0)<<2|3);
5539 var635
= core__flat___CString___to_s_unsafe(var634
, var636
, var637
, var638
, var639
);
5541 varonce632
= var633
;
5543 ((struct instance_core__NativeArray
*)var631
)->values
[0]=var633
;
5544 if (likely(varonce640
!=NULL
)) {
5545 var641
= varonce640
;
5548 var644
= (val
*)(3l<<2|1);
5549 var645
= (val
*)(3l<<2|1);
5550 var646
= (val
*)((long)(0)<<2|3);
5551 var647
= (val
*)((long)(0)<<2|3);
5552 var643
= core__flat___CString___to_s_unsafe(var642
, var644
, var645
, var646
, var647
);
5554 varonce640
= var641
;
5556 ((struct instance_core__NativeArray
*)var631
)->values
[2]=var641
;
5558 var631
= varonce630
;
5562 var648
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MClassType>*/
5564 ((struct instance_core__NativeArray
*)var631
)->values
[1]=var648
;
5566 var649
= ((val
*(*)(val
* self
))(var631
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var631
); /* native_to_s on <var631:NativeArray[String]>*/
5568 varonce630
= var631
;
5570 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var649
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
5572 if (unlikely(varonce650
==NULL
)) {
5573 var651
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
5574 if (likely(varonce652
!=NULL
)) {
5575 var653
= varonce652
;
5577 var654
= "val* BOX_";
5578 var656
= (val
*)(9l<<2|1);
5579 var657
= (val
*)(9l<<2|1);
5580 var658
= (val
*)((long)(0)<<2|3);
5581 var659
= (val
*)((long)(0)<<2|3);
5582 var655
= core__flat___CString___to_s_unsafe(var654
, var656
, var657
, var658
, var659
);
5584 varonce652
= var653
;
5586 ((struct instance_core__NativeArray
*)var651
)->values
[0]=var653
;
5587 if (likely(varonce660
!=NULL
)) {
5588 var661
= varonce660
;
5591 var664
= (val
*)(1l<<2|1);
5592 var665
= (val
*)(1l<<2|1);
5593 var666
= (val
*)((long)(0)<<2|3);
5594 var667
= (val
*)((long)(0)<<2|3);
5595 var663
= core__flat___CString___to_s_unsafe(var662
, var664
, var665
, var666
, var667
);
5597 varonce660
= var661
;
5599 ((struct instance_core__NativeArray
*)var651
)->values
[2]=var661
;
5600 if (likely(varonce668
!=NULL
)) {
5601 var669
= varonce668
;
5603 var670
= " value) {";
5604 var672
= (val
*)(9l<<2|1);
5605 var673
= (val
*)(9l<<2|1);
5606 var674
= (val
*)((long)(0)<<2|3);
5607 var675
= (val
*)((long)(0)<<2|3);
5608 var671
= core__flat___CString___to_s_unsafe(var670
, var672
, var673
, var674
, var675
);
5610 varonce668
= var669
;
5612 ((struct instance_core__NativeArray
*)var651
)->values
[4]=var669
;
5614 var651
= varonce650
;
5618 var676
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MClassType>*/
5620 ((struct instance_core__NativeArray
*)var651
)->values
[1]=var676
;
5622 var677
= nitc__abstract_compiler___MClassType___MType__ctype_extern(var_mtype
);
5624 ((struct instance_core__NativeArray
*)var651
)->values
[3]=var677
;
5626 var678
= ((val
*(*)(val
* self
))(var651
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var651
); /* native_to_s on <var651:NativeArray[String]>*/
5628 varonce650
= var651
;
5630 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var678
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
5632 if (unlikely(varonce679
==NULL
)) {
5633 var680
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
5634 if (likely(varonce681
!=NULL
)) {
5635 var682
= varonce681
;
5637 var683
= "struct instance_";
5638 var685
= (val
*)(16l<<2|1);
5639 var686
= (val
*)(16l<<2|1);
5640 var687
= (val
*)((long)(0)<<2|3);
5641 var688
= (val
*)((long)(0)<<2|3);
5642 var684
= core__flat___CString___to_s_unsafe(var683
, var685
, var686
, var687
, var688
);
5644 varonce681
= var682
;
5646 ((struct instance_core__NativeArray
*)var680
)->values
[0]=var682
;
5647 if (likely(varonce689
!=NULL
)) {
5648 var690
= varonce689
;
5650 var691
= "*res = nit_alloc(sizeof(struct instance_";
5651 var693
= (val
*)(40l<<2|1);
5652 var694
= (val
*)(40l<<2|1);
5653 var695
= (val
*)((long)(0)<<2|3);
5654 var696
= (val
*)((long)(0)<<2|3);
5655 var692
= core__flat___CString___to_s_unsafe(var691
, var693
, var694
, var695
, var696
);
5657 varonce689
= var690
;
5659 ((struct instance_core__NativeArray
*)var680
)->values
[2]=var690
;
5660 if (likely(varonce697
!=NULL
)) {
5661 var698
= varonce697
;
5664 var701
= (val
*)(3l<<2|1);
5665 var702
= (val
*)(3l<<2|1);
5666 var703
= (val
*)((long)(0)<<2|3);
5667 var704
= (val
*)((long)(0)<<2|3);
5668 var700
= core__flat___CString___to_s_unsafe(var699
, var701
, var702
, var703
, var704
);
5670 varonce697
= var698
;
5672 ((struct instance_core__NativeArray
*)var680
)->values
[4]=var698
;
5674 var680
= varonce679
;
5677 ((struct instance_core__NativeArray
*)var680
)->values
[1]=var_c_name
;
5678 ((struct instance_core__NativeArray
*)var680
)->values
[3]=var_c_name
;
5680 var705
= ((val
*(*)(val
* self
))(var680
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var680
); /* native_to_s on <var680:NativeArray[String]>*/
5682 varonce679
= var680
;
5684 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var705
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
5686 if (unlikely(varonce706
==NULL
)) {
5687 var707
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
5688 if (likely(varonce708
!=NULL
)) {
5689 var709
= varonce708
;
5692 var712
= (val
*)(6l<<2|1);
5693 var713
= (val
*)(6l<<2|1);
5694 var714
= (val
*)((long)(0)<<2|3);
5695 var715
= (val
*)((long)(0)<<2|3);
5696 var711
= core__flat___CString___to_s_unsafe(var710
, var712
, var713
, var714
, var715
);
5698 varonce708
= var709
;
5700 ((struct instance_core__NativeArray
*)var707
)->values
[0]=var709
;
5702 var707
= varonce706
;
5705 ((struct instance_core__NativeArray
*)var707
)->values
[1]=var_c_name
;
5707 var716
= ((val
*(*)(val
* self
))(var707
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var707
); /* native_to_s on <var707:NativeArray[String]>*/
5709 varonce706
= var707
;
5711 nitc___nitc__AbstractCompilerVisitor___require_declaration(var_v
, var716
); /* Direct call abstract_compiler$AbstractCompilerVisitor$require_declaration on <var_v:SeparateCompilerVisitor>*/
5713 if (unlikely(varonce717
==NULL
)) {
5714 var718
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
5715 if (likely(varonce719
!=NULL
)) {
5716 var720
= varonce719
;
5718 var721
= "res->class = &class_";
5719 var723
= (val
*)(20l<<2|1);
5720 var724
= (val
*)(20l<<2|1);
5721 var725
= (val
*)((long)(0)<<2|3);
5722 var726
= (val
*)((long)(0)<<2|3);
5723 var722
= core__flat___CString___to_s_unsafe(var721
, var723
, var724
, var725
, var726
);
5725 varonce719
= var720
;
5727 ((struct instance_core__NativeArray
*)var718
)->values
[0]=var720
;
5728 if (likely(varonce727
!=NULL
)) {
5729 var728
= varonce727
;
5732 var731
= (val
*)(1l<<2|1);
5733 var732
= (val
*)(1l<<2|1);
5734 var733
= (val
*)((long)(0)<<2|3);
5735 var734
= (val
*)((long)(0)<<2|3);
5736 var730
= core__flat___CString___to_s_unsafe(var729
, var731
, var732
, var733
, var734
);
5738 varonce727
= var728
;
5740 ((struct instance_core__NativeArray
*)var718
)->values
[2]=var728
;
5742 var718
= varonce717
;
5745 ((struct instance_core__NativeArray
*)var718
)->values
[1]=var_c_name
;
5747 var735
= ((val
*(*)(val
* self
))(var718
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var718
); /* native_to_s on <var718:NativeArray[String]>*/
5749 varonce717
= var718
;
5751 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var735
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
5753 if (likely(varonce736
!=NULL
)) {
5754 var737
= varonce736
;
5756 var738
= "res->value = value;";
5757 var740
= (val
*)(19l<<2|1);
5758 var741
= (val
*)(19l<<2|1);
5759 var742
= (val
*)((long)(0)<<2|3);
5760 var743
= (val
*)((long)(0)<<2|3);
5761 var739
= core__flat___CString___to_s_unsafe(var738
, var740
, var741
, var742
, var743
);
5763 varonce736
= var737
;
5766 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var737
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
5768 if (likely(varonce744
!=NULL
)) {
5769 var745
= varonce744
;
5771 var746
= "return (val*)res;";
5772 var748
= (val
*)(17l<<2|1);
5773 var749
= (val
*)(17l<<2|1);
5774 var750
= (val
*)((long)(0)<<2|3);
5775 var751
= (val
*)((long)(0)<<2|3);
5776 var747
= core__flat___CString___to_s_unsafe(var746
, var748
, var749
, var750
, var751
);
5778 varonce744
= var745
;
5781 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var745
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
5783 if (likely(varonce752
!=NULL
)) {
5784 var753
= varonce752
;
5787 var756
= (val
*)(1l<<2|1);
5788 var757
= (val
*)(1l<<2|1);
5789 var758
= (val
*)((long)(0)<<2|3);
5790 var759
= (val
*)((long)(0)<<2|3);
5791 var755
= core__flat___CString___to_s_unsafe(var754
, var756
, var757
, var758
, var759
);
5793 varonce752
= var753
;
5796 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var753
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
5799 { /* Inline model$MClassType$mclass (var_mtype) on <var_mtype:MClassType> */
5800 var762
= var_mtype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
5801 if (unlikely(var762
== NULL
)) {
5802 if(catchStack
.cursor
>= 0){
5803 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5805 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5806 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
5810 RET_LABEL761
:(void)0;
5814 { /* Inline model$MClass$name (var760) on <var760:MClass> */
5815 var765
= var760
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <var760:MClass> */
5816 if (unlikely(var765
== NULL
)) {
5817 if(catchStack
.cursor
>= 0){
5818 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5820 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5821 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 396);
5825 RET_LABEL764
:(void)0;
5828 if (likely(varonce766
!=NULL
)) {
5829 var767
= varonce766
;
5832 var770
= (val
*)(7l<<2|1);
5833 var771
= (val
*)(7l<<2|1);
5834 var772
= (val
*)((long)(0)<<2|3);
5835 var773
= (val
*)((long)(0)<<2|3);
5836 var769
= core__flat___CString___to_s_unsafe(var768
, var770
, var771
, var772
, var773
);
5838 varonce766
= var767
;
5841 { /* Inline kernel$Object$!= (var763,var767) on <var763:String> */
5844 var776
= ((short int(*)(val
* self
, val
* p0
))(var763
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var763
, var_other
); /* == on <var763:String>*/
5849 RET_LABEL775
:(void)0;
5857 var778
= nitc___nitc__SeparateErasureCompiler___nitc__abstract_compiler__AbstractCompiler__new_visitor(self
);
5860 if (unlikely(varonce779
==NULL
)) {
5861 var780
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
5862 if (likely(varonce781
!=NULL
)) {
5863 var782
= varonce781
;
5866 var785
= (val
*)(4l<<2|1);
5867 var786
= (val
*)(4l<<2|1);
5868 var787
= (val
*)((long)(0)<<2|3);
5869 var788
= (val
*)((long)(0)<<2|3);
5870 var784
= core__flat___CString___to_s_unsafe(var783
, var785
, var786
, var787
, var788
);
5872 varonce781
= var782
;
5874 ((struct instance_core__NativeArray
*)var780
)->values
[0]=var782
;
5876 var780
= varonce779
;
5879 ((struct instance_core__NativeArray
*)var780
)->values
[1]=var_c_name
;
5881 var789
= ((val
*(*)(val
* self
))(var780
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var780
); /* native_to_s on <var780:NativeArray[String]>*/
5883 varonce779
= var780
;
5884 if (unlikely(varonce790
==NULL
)) {
5885 var791
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
5886 if (likely(varonce792
!=NULL
)) {
5887 var793
= varonce792
;
5890 var796
= (val
*)(5l<<2|1);
5891 var797
= (val
*)(5l<<2|1);
5892 var798
= (val
*)((long)(0)<<2|3);
5893 var799
= (val
*)((long)(0)<<2|3);
5894 var795
= core__flat___CString___to_s_unsafe(var794
, var796
, var797
, var798
, var799
);
5896 varonce792
= var793
;
5898 ((struct instance_core__NativeArray
*)var791
)->values
[1]=var793
;
5899 if (likely(varonce800
!=NULL
)) {
5900 var801
= varonce800
;
5903 var804
= (val
*)(3l<<2|1);
5904 var805
= (val
*)(3l<<2|1);
5905 var806
= (val
*)((long)(0)<<2|3);
5906 var807
= (val
*)((long)(0)<<2|3);
5907 var803
= core__flat___CString___to_s_unsafe(var802
, var804
, var805
, var806
, var807
);
5909 varonce800
= var801
;
5911 ((struct instance_core__NativeArray
*)var791
)->values
[3]=var801
;
5913 var791
= varonce790
;
5917 var808
= nitc__abstract_compiler___MClassType___MType__ctype(var_mtype
);
5919 ((struct instance_core__NativeArray
*)var791
)->values
[0]=var808
;
5920 ((struct instance_core__NativeArray
*)var791
)->values
[2]=var_c_name
;
5922 var809
= ((val
*(*)(val
* self
))(var791
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var791
); /* native_to_s on <var791:NativeArray[String]>*/
5924 varonce790
= var791
;
5926 nitc___nitc__AbstractCompiler___provide_declaration(self
, var789
, var809
); /* Direct call abstract_compiler$AbstractCompiler$provide_declaration on <self:SeparateErasureCompiler>*/
5928 if (unlikely(varonce810
==NULL
)) {
5929 var811
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
5930 if (likely(varonce812
!=NULL
)) {
5931 var813
= varonce812
;
5933 var814
= "/* allocate ";
5934 var816
= (val
*)(12l<<2|1);
5935 var817
= (val
*)(12l<<2|1);
5936 var818
= (val
*)((long)(0)<<2|3);
5937 var819
= (val
*)((long)(0)<<2|3);
5938 var815
= core__flat___CString___to_s_unsafe(var814
, var816
, var817
, var818
, var819
);
5940 varonce812
= var813
;
5942 ((struct instance_core__NativeArray
*)var811
)->values
[0]=var813
;
5943 if (likely(varonce820
!=NULL
)) {
5944 var821
= varonce820
;
5947 var824
= (val
*)(3l<<2|1);
5948 var825
= (val
*)(3l<<2|1);
5949 var826
= (val
*)((long)(0)<<2|3);
5950 var827
= (val
*)((long)(0)<<2|3);
5951 var823
= core__flat___CString___to_s_unsafe(var822
, var824
, var825
, var826
, var827
);
5953 varonce820
= var821
;
5955 ((struct instance_core__NativeArray
*)var811
)->values
[2]=var821
;
5957 var811
= varonce810
;
5961 var828
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MClassType>*/
5963 ((struct instance_core__NativeArray
*)var811
)->values
[1]=var828
;
5965 var829
= ((val
*(*)(val
* self
))(var811
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var811
); /* native_to_s on <var811:NativeArray[String]>*/
5967 varonce810
= var811
;
5969 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var829
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
5971 if (unlikely(varonce830
==NULL
)) {
5972 var831
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
5973 if (likely(varonce832
!=NULL
)) {
5974 var833
= varonce832
;
5977 var836
= (val
*)(5l<<2|1);
5978 var837
= (val
*)(5l<<2|1);
5979 var838
= (val
*)((long)(0)<<2|3);
5980 var839
= (val
*)((long)(0)<<2|3);
5981 var835
= core__flat___CString___to_s_unsafe(var834
, var836
, var837
, var838
, var839
);
5983 varonce832
= var833
;
5985 ((struct instance_core__NativeArray
*)var831
)->values
[1]=var833
;
5986 if (likely(varonce840
!=NULL
)) {
5987 var841
= varonce840
;
5990 var844
= (val
*)(4l<<2|1);
5991 var845
= (val
*)(4l<<2|1);
5992 var846
= (val
*)((long)(0)<<2|3);
5993 var847
= (val
*)((long)(0)<<2|3);
5994 var843
= core__flat___CString___to_s_unsafe(var842
, var844
, var845
, var846
, var847
);
5996 varonce840
= var841
;
5998 ((struct instance_core__NativeArray
*)var831
)->values
[3]=var841
;
6000 var831
= varonce830
;
6004 var848
= nitc__abstract_compiler___MClassType___MType__ctype(var_mtype
);
6006 ((struct instance_core__NativeArray
*)var831
)->values
[0]=var848
;
6007 ((struct instance_core__NativeArray
*)var831
)->values
[2]=var_c_name
;
6009 var849
= ((val
*(*)(val
* self
))(var831
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var831
); /* native_to_s on <var831:NativeArray[String]>*/
6011 varonce830
= var831
;
6013 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var849
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
6016 if (unlikely(varonce850
==NULL
)) {
6017 var851
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
6018 if (likely(varonce852
!=NULL
)) {
6019 var853
= varonce852
;
6021 var854
= " is DEAD";
6022 var856
= (val
*)(8l<<2|1);
6023 var857
= (val
*)(8l<<2|1);
6024 var858
= (val
*)((long)(0)<<2|3);
6025 var859
= (val
*)((long)(0)<<2|3);
6026 var855
= core__flat___CString___to_s_unsafe(var854
, var856
, var857
, var858
, var859
);
6028 varonce852
= var853
;
6030 ((struct instance_core__NativeArray
*)var851
)->values
[1]=var853
;
6032 var851
= varonce850
;
6036 var860
= ((val
*(*)(val
* self
))(var_mclass
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mclass
); /* to_s on <var_mclass:MClass>*/
6038 ((struct instance_core__NativeArray
*)var851
)->values
[0]=var860
;
6040 var861
= ((val
*(*)(val
* self
))(var851
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var851
); /* native_to_s on <var851:NativeArray[String]>*/
6042 varonce850
= var851
;
6044 nitc___nitc__AbstractCompilerVisitor___add_abort(var_v
, var861
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_abort on <var_v:SeparateCompilerVisitor>*/
6047 if (likely(varonce862
!=NULL
)) {
6048 var863
= varonce862
;
6051 var866
= (val
*)(4l<<2|1);
6052 var867
= (val
*)(4l<<2|1);
6053 var868
= (val
*)((long)(0)<<2|3);
6054 var869
= (val
*)((long)(0)<<2|3);
6055 var865
= core__flat___CString___to_s_unsafe(var864
, var866
, var867
, var868
, var869
);
6057 varonce862
= var863
;
6060 var870
= nitc___nitc__AbstractCompilerVisitor___new_named_var(var_v
, var_mtype
, var863
);
6064 { /* Inline abstract_compiler$RuntimeVariable$is_exact= (var_res,1) on <var_res:RuntimeVariable> */
6065 var_res
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___is_exact
].s
= 1; /* _is_exact on <var_res:RuntimeVariable> */
6066 RET_LABEL871
:(void)0;
6069 if (unlikely(varonce872
==NULL
)) {
6070 var873
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
6071 if (likely(varonce874
!=NULL
)) {
6072 var875
= varonce874
;
6074 var876
= " = nit_alloc(sizeof(struct instance_";
6075 var878
= (val
*)(36l<<2|1);
6076 var879
= (val
*)(36l<<2|1);
6077 var880
= (val
*)((long)(0)<<2|3);
6078 var881
= (val
*)((long)(0)<<2|3);
6079 var877
= core__flat___CString___to_s_unsafe(var876
, var878
, var879
, var880
, var881
);
6081 varonce874
= var875
;
6083 ((struct instance_core__NativeArray
*)var873
)->values
[1]=var875
;
6084 if (likely(varonce882
!=NULL
)) {
6085 var883
= varonce882
;
6088 var886
= (val
*)(3l<<2|1);
6089 var887
= (val
*)(3l<<2|1);
6090 var888
= (val
*)((long)(0)<<2|3);
6091 var889
= (val
*)((long)(0)<<2|3);
6092 var885
= core__flat___CString___to_s_unsafe(var884
, var886
, var887
, var888
, var889
);
6094 varonce882
= var883
;
6096 ((struct instance_core__NativeArray
*)var873
)->values
[3]=var883
;
6098 var873
= varonce872
;
6102 var890
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
6104 ((struct instance_core__NativeArray
*)var873
)->values
[0]=var890
;
6106 var891
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MClassType>*/
6108 ((struct instance_core__NativeArray
*)var873
)->values
[2]=var891
;
6110 var892
= ((val
*(*)(val
* self
))(var873
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var873
); /* native_to_s on <var873:NativeArray[String]>*/
6112 varonce872
= var873
;
6114 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var892
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
6116 if (unlikely(varonce893
==NULL
)) {
6117 var894
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
6118 if (likely(varonce895
!=NULL
)) {
6119 var896
= varonce895
;
6122 var899
= (val
*)(6l<<2|1);
6123 var900
= (val
*)(6l<<2|1);
6124 var901
= (val
*)((long)(0)<<2|3);
6125 var902
= (val
*)((long)(0)<<2|3);
6126 var898
= core__flat___CString___to_s_unsafe(var897
, var899
, var900
, var901
, var902
);
6128 varonce895
= var896
;
6130 ((struct instance_core__NativeArray
*)var894
)->values
[0]=var896
;
6132 var894
= varonce893
;
6135 ((struct instance_core__NativeArray
*)var894
)->values
[1]=var_c_name
;
6137 var903
= ((val
*(*)(val
* self
))(var894
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var894
); /* native_to_s on <var894:NativeArray[String]>*/
6139 varonce893
= var894
;
6141 nitc___nitc__AbstractCompilerVisitor___require_declaration(var_v
, var903
); /* Direct call abstract_compiler$AbstractCompilerVisitor$require_declaration on <var_v:SeparateCompilerVisitor>*/
6143 if (unlikely(varonce904
==NULL
)) {
6144 var905
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
6145 if (likely(varonce906
!=NULL
)) {
6146 var907
= varonce906
;
6148 var908
= "->class = &class_";
6149 var910
= (val
*)(17l<<2|1);
6150 var911
= (val
*)(17l<<2|1);
6151 var912
= (val
*)((long)(0)<<2|3);
6152 var913
= (val
*)((long)(0)<<2|3);
6153 var909
= core__flat___CString___to_s_unsafe(var908
, var910
, var911
, var912
, var913
);
6155 varonce906
= var907
;
6157 ((struct instance_core__NativeArray
*)var905
)->values
[1]=var907
;
6158 if (likely(varonce914
!=NULL
)) {
6159 var915
= varonce914
;
6162 var918
= (val
*)(1l<<2|1);
6163 var919
= (val
*)(1l<<2|1);
6164 var920
= (val
*)((long)(0)<<2|3);
6165 var921
= (val
*)((long)(0)<<2|3);
6166 var917
= core__flat___CString___to_s_unsafe(var916
, var918
, var919
, var920
, var921
);
6168 varonce914
= var915
;
6170 ((struct instance_core__NativeArray
*)var905
)->values
[3]=var915
;
6172 var905
= varonce904
;
6176 var922
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
6178 ((struct instance_core__NativeArray
*)var905
)->values
[0]=var922
;
6179 ((struct instance_core__NativeArray
*)var905
)->values
[2]=var_c_name
;
6181 var923
= ((val
*(*)(val
* self
))(var905
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var905
); /* native_to_s on <var905:NativeArray[String]>*/
6183 varonce904
= var905
;
6185 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var923
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
6187 if (unlikely(varonce924
==NULL
)) {
6188 var925
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
6189 if (likely(varonce926
!=NULL
)) {
6190 var927
= varonce926
;
6192 var928
= "((struct instance_";
6193 var930
= (val
*)(18l<<2|1);
6194 var931
= (val
*)(18l<<2|1);
6195 var932
= (val
*)((long)(0)<<2|3);
6196 var933
= (val
*)((long)(0)<<2|3);
6197 var929
= core__flat___CString___to_s_unsafe(var928
, var930
, var931
, var932
, var933
);
6199 varonce926
= var927
;
6201 ((struct instance_core__NativeArray
*)var925
)->values
[0]=var927
;
6202 if (likely(varonce934
!=NULL
)) {
6203 var935
= varonce934
;
6206 var938
= (val
*)(2l<<2|1);
6207 var939
= (val
*)(2l<<2|1);
6208 var940
= (val
*)((long)(0)<<2|3);
6209 var941
= (val
*)((long)(0)<<2|3);
6210 var937
= core__flat___CString___to_s_unsafe(var936
, var938
, var939
, var940
, var941
);
6212 varonce934
= var935
;
6214 ((struct instance_core__NativeArray
*)var925
)->values
[2]=var935
;
6215 if (likely(varonce942
!=NULL
)) {
6216 var943
= varonce942
;
6218 var944
= ")->value = NULL;";
6219 var946
= (val
*)(16l<<2|1);
6220 var947
= (val
*)(16l<<2|1);
6221 var948
= (val
*)((long)(0)<<2|3);
6222 var949
= (val
*)((long)(0)<<2|3);
6223 var945
= core__flat___CString___to_s_unsafe(var944
, var946
, var947
, var948
, var949
);
6225 varonce942
= var943
;
6227 ((struct instance_core__NativeArray
*)var925
)->values
[4]=var943
;
6229 var925
= varonce924
;
6233 var950
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MClassType>*/
6235 ((struct instance_core__NativeArray
*)var925
)->values
[1]=var950
;
6237 var951
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
6239 ((struct instance_core__NativeArray
*)var925
)->values
[3]=var951
;
6241 var952
= ((val
*(*)(val
* self
))(var925
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var925
); /* native_to_s on <var925:NativeArray[String]>*/
6243 varonce924
= var925
;
6245 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var952
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
6247 if (unlikely(varonce953
==NULL
)) {
6248 var954
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
6249 if (likely(varonce955
!=NULL
)) {
6250 var956
= varonce955
;
6253 var959
= (val
*)(7l<<2|1);
6254 var960
= (val
*)(7l<<2|1);
6255 var961
= (val
*)((long)(0)<<2|3);
6256 var962
= (val
*)((long)(0)<<2|3);
6257 var958
= core__flat___CString___to_s_unsafe(var957
, var959
, var960
, var961
, var962
);
6259 varonce955
= var956
;
6261 ((struct instance_core__NativeArray
*)var954
)->values
[0]=var956
;
6262 if (likely(varonce963
!=NULL
)) {
6263 var964
= varonce963
;
6266 var967
= (val
*)(1l<<2|1);
6267 var968
= (val
*)(1l<<2|1);
6268 var969
= (val
*)((long)(0)<<2|3);
6269 var970
= (val
*)((long)(0)<<2|3);
6270 var966
= core__flat___CString___to_s_unsafe(var965
, var967
, var968
, var969
, var970
);
6272 varonce963
= var964
;
6274 ((struct instance_core__NativeArray
*)var954
)->values
[2]=var964
;
6276 var954
= varonce953
;
6280 var971
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
6282 ((struct instance_core__NativeArray
*)var954
)->values
[1]=var971
;
6284 var972
= ((val
*(*)(val
* self
))(var954
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var954
); /* native_to_s on <var954:NativeArray[String]>*/
6286 varonce953
= var954
;
6288 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var972
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
6291 if (likely(varonce973
!=NULL
)) {
6292 var974
= varonce973
;
6295 var977
= (val
*)(1l<<2|1);
6296 var978
= (val
*)(1l<<2|1);
6297 var979
= (val
*)((long)(0)<<2|3);
6298 var980
= (val
*)((long)(0)<<2|3);
6299 var976
= core__flat___CString___to_s_unsafe(var975
, var977
, var978
, var979
, var980
);
6301 varonce973
= var974
;
6304 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var974
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
6309 { /* Inline model$MClass$name (var_mclass) on <var_mclass:MClass> */
6310 var983
= var_mclass
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <var_mclass:MClass> */
6311 if (unlikely(var983
== NULL
)) {
6312 if(catchStack
.cursor
>= 0){
6313 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6315 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
6316 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 396);
6320 RET_LABEL982
:(void)0;
6323 if (likely(varonce984
!=NULL
)) {
6324 var985
= varonce984
;
6326 var986
= "NativeArray";
6327 var988
= (val
*)(11l<<2|1);
6328 var989
= (val
*)(11l<<2|1);
6329 var990
= (val
*)((long)(0)<<2|3);
6330 var991
= (val
*)((long)(0)<<2|3);
6331 var987
= core__flat___CString___to_s_unsafe(var986
, var988
, var989
, var990
, var991
);
6333 varonce984
= var985
;
6336 var992
= ((short int(*)(val
* self
, val
* p0
))(var981
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var981
, var985
); /* == on <var981:String>*/
6340 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateErasureCompiler> */
6341 var995
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateErasureCompiler> */
6342 if (unlikely(var995
== NULL
)) {
6343 if(catchStack
.cursor
>= 0){
6344 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6346 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
6347 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
6351 RET_LABEL994
:(void)0;
6354 if (unlikely(varonce996
==NULL
)) {
6355 var997
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
6356 if (likely(varonce998
!=NULL
)) {
6357 var999
= varonce998
;
6359 var1000
= "struct instance_";
6360 var1002
= (val
*)(16l<<2|1);
6361 var1003
= (val
*)(16l<<2|1);
6362 var1004
= (val
*)((long)(0)<<2|3);
6363 var1005
= (val
*)((long)(0)<<2|3);
6364 var1001
= core__flat___CString___to_s_unsafe(var1000
, var1002
, var1003
, var1004
, var1005
);
6366 varonce998
= var999
;
6368 ((struct instance_core__NativeArray
*)var997
)->values
[0]=var999
;
6369 if (likely(varonce1006
!=NULL
)) {
6370 var1007
= varonce1006
;
6373 var1010
= (val
*)(2l<<2|1);
6374 var1011
= (val
*)(2l<<2|1);
6375 var1012
= (val
*)((long)(0)<<2|3);
6376 var1013
= (val
*)((long)(0)<<2|3);
6377 var1009
= core__flat___CString___to_s_unsafe(var1008
, var1010
, var1011
, var1012
, var1013
);
6379 varonce1006
= var1007
;
6381 ((struct instance_core__NativeArray
*)var997
)->values
[2]=var1007
;
6383 var997
= varonce996
;
6386 ((struct instance_core__NativeArray
*)var997
)->values
[1]=var_c_name
;
6388 var1014
= ((val
*(*)(val
* self
))(var997
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var997
); /* native_to_s on <var997:NativeArray[String]>*/
6390 varonce996
= var997
;
6392 nitc___nitc__CodeWriter___add_decl(var993
, var1014
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var993:CodeWriter>*/
6395 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateErasureCompiler> */
6396 var1017
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateErasureCompiler> */
6397 if (unlikely(var1017
== NULL
)) {
6398 if(catchStack
.cursor
>= 0){
6399 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6401 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
6402 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
6406 RET_LABEL1016
:(void)0;
6409 if (likely(varonce1018
!=NULL
)) {
6410 var1019
= varonce1018
;
6412 var1020
= "const struct class *class;";
6413 var1022
= (val
*)(26l<<2|1);
6414 var1023
= (val
*)(26l<<2|1);
6415 var1024
= (val
*)((long)(0)<<2|3);
6416 var1025
= (val
*)((long)(0)<<2|3);
6417 var1021
= core__flat___CString___to_s_unsafe(var1020
, var1022
, var1023
, var1024
, var1025
);
6419 varonce1018
= var1019
;
6422 nitc___nitc__CodeWriter___add_decl(var1015
, var1019
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var1015:CodeWriter>*/
6425 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateErasureCompiler> */
6426 var1028
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateErasureCompiler> */
6427 if (unlikely(var1028
== NULL
)) {
6428 if(catchStack
.cursor
>= 0){
6429 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6431 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
6432 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
6436 RET_LABEL1027
:(void)0;
6439 if (likely(varonce1029
!=NULL
)) {
6440 var1030
= varonce1029
;
6442 var1031
= "int length;";
6443 var1033
= (val
*)(11l<<2|1);
6444 var1034
= (val
*)(11l<<2|1);
6445 var1035
= (val
*)((long)(0)<<2|3);
6446 var1036
= (val
*)((long)(0)<<2|3);
6447 var1032
= core__flat___CString___to_s_unsafe(var1031
, var1033
, var1034
, var1035
, var1036
);
6449 varonce1029
= var1030
;
6452 nitc___nitc__CodeWriter___add_decl(var1026
, var1030
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var1026:CodeWriter>*/
6455 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateErasureCompiler> */
6456 var1039
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateErasureCompiler> */
6457 if (unlikely(var1039
== NULL
)) {
6458 if(catchStack
.cursor
>= 0){
6459 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6461 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
6462 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
6466 RET_LABEL1038
:(void)0;
6469 if (likely(varonce1040
!=NULL
)) {
6470 var1041
= varonce1040
;
6472 var1042
= "val* values[];";
6473 var1044
= (val
*)(14l<<2|1);
6474 var1045
= (val
*)(14l<<2|1);
6475 var1046
= (val
*)((long)(0)<<2|3);
6476 var1047
= (val
*)((long)(0)<<2|3);
6477 var1043
= core__flat___CString___to_s_unsafe(var1042
, var1044
, var1045
, var1046
, var1047
);
6479 varonce1040
= var1041
;
6482 nitc___nitc__CodeWriter___add_decl(var1037
, var1041
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var1037:CodeWriter>*/
6485 { /* Inline abstract_compiler$AbstractCompiler$header (self) on <self:SeparateErasureCompiler> */
6486 var1050
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateErasureCompiler> */
6487 if (unlikely(var1050
== NULL
)) {
6488 if(catchStack
.cursor
>= 0){
6489 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6491 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
6492 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
6496 RET_LABEL1049
:(void)0;
6499 if (likely(varonce1051
!=NULL
)) {
6500 var1052
= varonce1051
;
6503 var1055
= (val
*)(2l<<2|1);
6504 var1056
= (val
*)(2l<<2|1);
6505 var1057
= (val
*)((long)(0)<<2|3);
6506 var1058
= (val
*)((long)(0)<<2|3);
6507 var1054
= core__flat___CString___to_s_unsafe(var1053
, var1055
, var1056
, var1057
, var1058
);
6509 varonce1051
= var1052
;
6512 nitc___nitc__CodeWriter___add_decl(var1048
, var1052
); /* Direct call abstract_compiler$CodeWriter$add_decl on <var1048:CodeWriter>*/
6514 if (unlikely(varonce1059
==NULL
)) {
6515 var1060
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
6516 if (likely(varonce1061
!=NULL
)) {
6517 var1062
= varonce1061
;
6520 var1065
= (val
*)(4l<<2|1);
6521 var1066
= (val
*)(4l<<2|1);
6522 var1067
= (val
*)((long)(0)<<2|3);
6523 var1068
= (val
*)((long)(0)<<2|3);
6524 var1064
= core__flat___CString___to_s_unsafe(var1063
, var1065
, var1066
, var1067
, var1068
);
6526 varonce1061
= var1062
;
6528 ((struct instance_core__NativeArray
*)var1060
)->values
[0]=var1062
;
6530 var1060
= varonce1059
;
6533 ((struct instance_core__NativeArray
*)var1060
)->values
[1]=var_c_name
;
6535 var1069
= ((val
*(*)(val
* self
))(var1060
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1060
); /* native_to_s on <var1060:NativeArray[String]>*/
6537 varonce1059
= var1060
;
6538 if (unlikely(varonce1070
==NULL
)) {
6539 var1071
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
6540 if (likely(varonce1072
!=NULL
)) {
6541 var1073
= varonce1072
;
6544 var1076
= (val
*)(5l<<2|1);
6545 var1077
= (val
*)(5l<<2|1);
6546 var1078
= (val
*)((long)(0)<<2|3);
6547 var1079
= (val
*)((long)(0)<<2|3);
6548 var1075
= core__flat___CString___to_s_unsafe(var1074
, var1076
, var1077
, var1078
, var1079
);
6550 varonce1072
= var1073
;
6552 ((struct instance_core__NativeArray
*)var1071
)->values
[1]=var1073
;
6553 if (likely(varonce1080
!=NULL
)) {
6554 var1081
= varonce1080
;
6556 var1082
= "(int length);";
6557 var1084
= (val
*)(13l<<2|1);
6558 var1085
= (val
*)(13l<<2|1);
6559 var1086
= (val
*)((long)(0)<<2|3);
6560 var1087
= (val
*)((long)(0)<<2|3);
6561 var1083
= core__flat___CString___to_s_unsafe(var1082
, var1084
, var1085
, var1086
, var1087
);
6563 varonce1080
= var1081
;
6565 ((struct instance_core__NativeArray
*)var1071
)->values
[3]=var1081
;
6567 var1071
= varonce1070
;
6571 var1088
= nitc__abstract_compiler___MClassType___MType__ctype(var_mtype
);
6573 ((struct instance_core__NativeArray
*)var1071
)->values
[0]=var1088
;
6574 ((struct instance_core__NativeArray
*)var1071
)->values
[2]=var_c_name
;
6576 var1089
= ((val
*(*)(val
* self
))(var1071
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1071
); /* native_to_s on <var1071:NativeArray[String]>*/
6578 varonce1070
= var1071
;
6580 nitc___nitc__AbstractCompiler___provide_declaration(self
, var1069
, var1089
); /* Direct call abstract_compiler$AbstractCompiler$provide_declaration on <self:SeparateErasureCompiler>*/
6582 if (unlikely(varonce1090
==NULL
)) {
6583 var1091
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
6584 if (likely(varonce1092
!=NULL
)) {
6585 var1093
= varonce1092
;
6587 var1094
= "/* allocate ";
6588 var1096
= (val
*)(12l<<2|1);
6589 var1097
= (val
*)(12l<<2|1);
6590 var1098
= (val
*)((long)(0)<<2|3);
6591 var1099
= (val
*)((long)(0)<<2|3);
6592 var1095
= core__flat___CString___to_s_unsafe(var1094
, var1096
, var1097
, var1098
, var1099
);
6594 varonce1092
= var1093
;
6596 ((struct instance_core__NativeArray
*)var1091
)->values
[0]=var1093
;
6597 if (likely(varonce1100
!=NULL
)) {
6598 var1101
= varonce1100
;
6601 var1104
= (val
*)(3l<<2|1);
6602 var1105
= (val
*)(3l<<2|1);
6603 var1106
= (val
*)((long)(0)<<2|3);
6604 var1107
= (val
*)((long)(0)<<2|3);
6605 var1103
= core__flat___CString___to_s_unsafe(var1102
, var1104
, var1105
, var1106
, var1107
);
6607 varonce1100
= var1101
;
6609 ((struct instance_core__NativeArray
*)var1091
)->values
[2]=var1101
;
6611 var1091
= varonce1090
;
6615 var1108
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MClassType>*/
6617 ((struct instance_core__NativeArray
*)var1091
)->values
[1]=var1108
;
6619 var1109
= ((val
*(*)(val
* self
))(var1091
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1091
); /* native_to_s on <var1091:NativeArray[String]>*/
6621 varonce1090
= var1091
;
6623 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var1109
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
6625 if (unlikely(varonce1110
==NULL
)) {
6626 var1111
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
6627 if (likely(varonce1112
!=NULL
)) {
6628 var1113
= varonce1112
;
6631 var1116
= (val
*)(5l<<2|1);
6632 var1117
= (val
*)(5l<<2|1);
6633 var1118
= (val
*)((long)(0)<<2|3);
6634 var1119
= (val
*)((long)(0)<<2|3);
6635 var1115
= core__flat___CString___to_s_unsafe(var1114
, var1116
, var1117
, var1118
, var1119
);
6637 varonce1112
= var1113
;
6639 ((struct instance_core__NativeArray
*)var1111
)->values
[1]=var1113
;
6640 if (likely(varonce1120
!=NULL
)) {
6641 var1121
= varonce1120
;
6643 var1122
= "(int length) {";
6644 var1124
= (val
*)(14l<<2|1);
6645 var1125
= (val
*)(14l<<2|1);
6646 var1126
= (val
*)((long)(0)<<2|3);
6647 var1127
= (val
*)((long)(0)<<2|3);
6648 var1123
= core__flat___CString___to_s_unsafe(var1122
, var1124
, var1125
, var1126
, var1127
);
6650 varonce1120
= var1121
;
6652 ((struct instance_core__NativeArray
*)var1111
)->values
[3]=var1121
;
6654 var1111
= varonce1110
;
6658 var1128
= nitc__abstract_compiler___MClassType___MType__ctype(var_mtype
);
6660 ((struct instance_core__NativeArray
*)var1111
)->values
[0]=var1128
;
6661 ((struct instance_core__NativeArray
*)var1111
)->values
[2]=var_c_name
;
6663 var1129
= ((val
*(*)(val
* self
))(var1111
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1111
); /* native_to_s on <var1111:NativeArray[String]>*/
6665 varonce1110
= var1111
;
6667 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var1129
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
6669 if (likely(varonce1130
!=NULL
)) {
6670 var1131
= varonce1130
;
6673 var1134
= (val
*)(4l<<2|1);
6674 var1135
= (val
*)(4l<<2|1);
6675 var1136
= (val
*)((long)(0)<<2|3);
6676 var1137
= (val
*)((long)(0)<<2|3);
6677 var1133
= core__flat___CString___to_s_unsafe(var1132
, var1134
, var1135
, var1136
, var1137
);
6679 varonce1130
= var1131
;
6682 var1138
= nitc___nitc__AbstractCompilerVisitor___get_name(var_v
, var1131
);
6684 var_res1139
= var1138
;
6685 if (unlikely(varonce1140
==NULL
)) {
6686 var1141
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
6687 if (likely(varonce1142
!=NULL
)) {
6688 var1143
= varonce1142
;
6690 var1144
= "struct instance_";
6691 var1146
= (val
*)(16l<<2|1);
6692 var1147
= (val
*)(16l<<2|1);
6693 var1148
= (val
*)((long)(0)<<2|3);
6694 var1149
= (val
*)((long)(0)<<2|3);
6695 var1145
= core__flat___CString___to_s_unsafe(var1144
, var1146
, var1147
, var1148
, var1149
);
6697 varonce1142
= var1143
;
6699 ((struct instance_core__NativeArray
*)var1141
)->values
[0]=var1143
;
6700 if (likely(varonce1150
!=NULL
)) {
6701 var1151
= varonce1150
;
6704 var1154
= (val
*)(2l<<2|1);
6705 var1155
= (val
*)(2l<<2|1);
6706 var1156
= (val
*)((long)(0)<<2|3);
6707 var1157
= (val
*)((long)(0)<<2|3);
6708 var1153
= core__flat___CString___to_s_unsafe(var1152
, var1154
, var1155
, var1156
, var1157
);
6710 varonce1150
= var1151
;
6712 ((struct instance_core__NativeArray
*)var1141
)->values
[2]=var1151
;
6713 if (likely(varonce1158
!=NULL
)) {
6714 var1159
= varonce1158
;
6717 var1162
= (val
*)(1l<<2|1);
6718 var1163
= (val
*)(1l<<2|1);
6719 var1164
= (val
*)((long)(0)<<2|3);
6720 var1165
= (val
*)((long)(0)<<2|3);
6721 var1161
= core__flat___CString___to_s_unsafe(var1160
, var1162
, var1163
, var1164
, var1165
);
6723 varonce1158
= var1159
;
6725 ((struct instance_core__NativeArray
*)var1141
)->values
[4]=var1159
;
6727 var1141
= varonce1140
;
6730 ((struct instance_core__NativeArray
*)var1141
)->values
[1]=var_c_name
;
6731 ((struct instance_core__NativeArray
*)var1141
)->values
[3]=var_res1139
;
6733 var1166
= ((val
*(*)(val
* self
))(var1141
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1141
); /* native_to_s on <var1141:NativeArray[String]>*/
6735 varonce1140
= var1141
;
6737 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var1166
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
6740 var1167
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model__MClassType__arguments
]))(var_mtype
); /* arguments on <var_mtype:MClassType>*/
6743 var1168
= core___core__SequenceRead___Collection__first(var1167
);
6745 var_mtype_elt
= var1168
;
6746 if (unlikely(varonce1169
==NULL
)) {
6747 var1170
= NEW_core__NativeArray((int)6l, &type_core__NativeArray__core__String
);
6748 if (likely(varonce1171
!=NULL
)) {
6749 var1172
= varonce1171
;
6751 var1173
= " = nit_alloc(sizeof(struct instance_";
6752 var1175
= (val
*)(36l<<2|1);
6753 var1176
= (val
*)(36l<<2|1);
6754 var1177
= (val
*)((long)(0)<<2|3);
6755 var1178
= (val
*)((long)(0)<<2|3);
6756 var1174
= core__flat___CString___to_s_unsafe(var1173
, var1175
, var1176
, var1177
, var1178
);
6758 varonce1171
= var1172
;
6760 ((struct instance_core__NativeArray
*)var1170
)->values
[1]=var1172
;
6761 if (likely(varonce1179
!=NULL
)) {
6762 var1180
= varonce1179
;
6764 var1181
= ") + length*sizeof(";
6765 var1183
= (val
*)(18l<<2|1);
6766 var1184
= (val
*)(18l<<2|1);
6767 var1185
= (val
*)((long)(0)<<2|3);
6768 var1186
= (val
*)((long)(0)<<2|3);
6769 var1182
= core__flat___CString___to_s_unsafe(var1181
, var1183
, var1184
, var1185
, var1186
);
6771 varonce1179
= var1180
;
6773 ((struct instance_core__NativeArray
*)var1170
)->values
[3]=var1180
;
6774 if (likely(varonce1187
!=NULL
)) {
6775 var1188
= varonce1187
;
6778 var1191
= (val
*)(3l<<2|1);
6779 var1192
= (val
*)(3l<<2|1);
6780 var1193
= (val
*)((long)(0)<<2|3);
6781 var1194
= (val
*)((long)(0)<<2|3);
6782 var1190
= core__flat___CString___to_s_unsafe(var1189
, var1191
, var1192
, var1193
, var1194
);
6784 varonce1187
= var1188
;
6786 ((struct instance_core__NativeArray
*)var1170
)->values
[5]=var1188
;
6788 var1170
= varonce1169
;
6791 ((struct instance_core__NativeArray
*)var1170
)->values
[0]=var_res1139
;
6792 ((struct instance_core__NativeArray
*)var1170
)->values
[2]=var_c_name
;
6794 var1195
= ((val
*(*)(val
* self
))(var_mtype_elt
->class->vft
[COLOR_nitc__abstract_compiler__MType__ctype
]))(var_mtype_elt
); /* ctype on <var_mtype_elt:MType>*/
6796 ((struct instance_core__NativeArray
*)var1170
)->values
[4]=var1195
;
6798 var1196
= ((val
*(*)(val
* self
))(var1170
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1170
); /* native_to_s on <var1170:NativeArray[String]>*/
6800 varonce1169
= var1170
;
6802 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var1196
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
6804 if (unlikely(varonce1197
==NULL
)) {
6805 var1198
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
6806 if (likely(varonce1199
!=NULL
)) {
6807 var1200
= varonce1199
;
6810 var1203
= (val
*)(6l<<2|1);
6811 var1204
= (val
*)(6l<<2|1);
6812 var1205
= (val
*)((long)(0)<<2|3);
6813 var1206
= (val
*)((long)(0)<<2|3);
6814 var1202
= core__flat___CString___to_s_unsafe(var1201
, var1203
, var1204
, var1205
, var1206
);
6816 varonce1199
= var1200
;
6818 ((struct instance_core__NativeArray
*)var1198
)->values
[0]=var1200
;
6820 var1198
= varonce1197
;
6823 ((struct instance_core__NativeArray
*)var1198
)->values
[1]=var_c_name
;
6825 var1207
= ((val
*(*)(val
* self
))(var1198
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1198
); /* native_to_s on <var1198:NativeArray[String]>*/
6827 varonce1197
= var1198
;
6829 nitc___nitc__AbstractCompilerVisitor___require_declaration(var_v
, var1207
); /* Direct call abstract_compiler$AbstractCompilerVisitor$require_declaration on <var_v:SeparateCompilerVisitor>*/
6831 if (unlikely(varonce1208
==NULL
)) {
6832 var1209
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
6833 if (likely(varonce1210
!=NULL
)) {
6834 var1211
= varonce1210
;
6836 var1212
= "->class = &class_";
6837 var1214
= (val
*)(17l<<2|1);
6838 var1215
= (val
*)(17l<<2|1);
6839 var1216
= (val
*)((long)(0)<<2|3);
6840 var1217
= (val
*)((long)(0)<<2|3);
6841 var1213
= core__flat___CString___to_s_unsafe(var1212
, var1214
, var1215
, var1216
, var1217
);
6843 varonce1210
= var1211
;
6845 ((struct instance_core__NativeArray
*)var1209
)->values
[1]=var1211
;
6846 if (likely(varonce1218
!=NULL
)) {
6847 var1219
= varonce1218
;
6850 var1222
= (val
*)(1l<<2|1);
6851 var1223
= (val
*)(1l<<2|1);
6852 var1224
= (val
*)((long)(0)<<2|3);
6853 var1225
= (val
*)((long)(0)<<2|3);
6854 var1221
= core__flat___CString___to_s_unsafe(var1220
, var1222
, var1223
, var1224
, var1225
);
6856 varonce1218
= var1219
;
6858 ((struct instance_core__NativeArray
*)var1209
)->values
[3]=var1219
;
6860 var1209
= varonce1208
;
6863 ((struct instance_core__NativeArray
*)var1209
)->values
[0]=var_res1139
;
6864 ((struct instance_core__NativeArray
*)var1209
)->values
[2]=var_c_name
;
6866 var1226
= ((val
*(*)(val
* self
))(var1209
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1209
); /* native_to_s on <var1209:NativeArray[String]>*/
6868 varonce1208
= var1209
;
6870 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var1226
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
6872 if (unlikely(varonce1227
==NULL
)) {
6873 var1228
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
6874 if (likely(varonce1229
!=NULL
)) {
6875 var1230
= varonce1229
;
6877 var1231
= "->length = length;";
6878 var1233
= (val
*)(18l<<2|1);
6879 var1234
= (val
*)(18l<<2|1);
6880 var1235
= (val
*)((long)(0)<<2|3);
6881 var1236
= (val
*)((long)(0)<<2|3);
6882 var1232
= core__flat___CString___to_s_unsafe(var1231
, var1233
, var1234
, var1235
, var1236
);
6884 varonce1229
= var1230
;
6886 ((struct instance_core__NativeArray
*)var1228
)->values
[1]=var1230
;
6888 var1228
= varonce1227
;
6891 ((struct instance_core__NativeArray
*)var1228
)->values
[0]=var_res1139
;
6893 var1237
= ((val
*(*)(val
* self
))(var1228
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1228
); /* native_to_s on <var1228:NativeArray[String]>*/
6895 varonce1227
= var1228
;
6897 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var1237
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
6899 if (unlikely(varonce1238
==NULL
)) {
6900 var1239
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
6901 if (likely(varonce1240
!=NULL
)) {
6902 var1241
= varonce1240
;
6904 var1242
= "return (val*)";
6905 var1244
= (val
*)(13l<<2|1);
6906 var1245
= (val
*)(13l<<2|1);
6907 var1246
= (val
*)((long)(0)<<2|3);
6908 var1247
= (val
*)((long)(0)<<2|3);
6909 var1243
= core__flat___CString___to_s_unsafe(var1242
, var1244
, var1245
, var1246
, var1247
);
6911 varonce1240
= var1241
;
6913 ((struct instance_core__NativeArray
*)var1239
)->values
[0]=var1241
;
6914 if (likely(varonce1248
!=NULL
)) {
6915 var1249
= varonce1248
;
6918 var1252
= (val
*)(1l<<2|1);
6919 var1253
= (val
*)(1l<<2|1);
6920 var1254
= (val
*)((long)(0)<<2|3);
6921 var1255
= (val
*)((long)(0)<<2|3);
6922 var1251
= core__flat___CString___to_s_unsafe(var1250
, var1252
, var1253
, var1254
, var1255
);
6924 varonce1248
= var1249
;
6926 ((struct instance_core__NativeArray
*)var1239
)->values
[2]=var1249
;
6928 var1239
= varonce1238
;
6931 ((struct instance_core__NativeArray
*)var1239
)->values
[1]=var_res1139
;
6933 var1256
= ((val
*(*)(val
* self
))(var1239
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1239
); /* native_to_s on <var1239:NativeArray[String]>*/
6935 varonce1238
= var1239
;
6937 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var1256
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
6939 if (likely(varonce1257
!=NULL
)) {
6940 var1258
= varonce1257
;
6943 var1261
= (val
*)(1l<<2|1);
6944 var1262
= (val
*)(1l<<2|1);
6945 var1263
= (val
*)((long)(0)<<2|3);
6946 var1264
= (val
*)((long)(0)<<2|3);
6947 var1260
= core__flat___CString___to_s_unsafe(var1259
, var1261
, var1262
, var1263
, var1264
);
6949 varonce1257
= var1258
;
6952 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var1258
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
6957 { /* Inline model$MClassType$mclass (var_mtype) on <var_mtype:MClassType> */
6958 var1268
= var_mtype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
6959 if (unlikely(var1268
== NULL
)) {
6960 if(catchStack
.cursor
>= 0){
6961 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6963 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6964 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
6968 RET_LABEL1267
:(void)0;
6972 { /* Inline model$MClass$kind (var1266) on <var1266:MClass> */
6973 var1271
= var1266
->attrs
[COLOR_nitc__model__MClass___kind
].val
; /* _kind on <var1266:MClass> */
6974 if (unlikely(var1271
== NULL
)) {
6975 if(catchStack
.cursor
>= 0){
6976 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6978 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
6979 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 472);
6983 RET_LABEL1270
:(void)0;
6988 var1273
= nitc__model___core__Sys___extern_kind(var1272
);
6991 { /* Inline kernel$Object$== (var1269,var1273) on <var1269:MClassKind> */
6992 var_other293
= var1273
;
6994 { /* Inline kernel$Object$is_same_instance (var1269,var_other293) on <var1269:MClassKind> */
6995 var1278
= var1269
== var_other293
;
6998 RET_LABEL1277
:(void)0;
7003 RET_LABEL1275
:(void)0;
7009 { /* Inline model$MClassType$mclass (var_mtype) on <var_mtype:MClassType> */
7010 var1282
= var_mtype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
7011 if (unlikely(var1282
== NULL
)) {
7012 if(catchStack
.cursor
>= 0){
7013 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7015 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7016 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
7020 RET_LABEL1281
:(void)0;
7024 { /* Inline model$MClass$name (var1280) on <var1280:MClass> */
7025 var1285
= var1280
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <var1280:MClass> */
7026 if (unlikely(var1285
== NULL
)) {
7027 if(catchStack
.cursor
>= 0){
7028 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7030 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
7031 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 396);
7035 RET_LABEL1284
:(void)0;
7038 if (likely(varonce1286
!=NULL
)) {
7039 var1287
= varonce1286
;
7041 var1288
= "CString";
7042 var1290
= (val
*)(7l<<2|1);
7043 var1291
= (val
*)(7l<<2|1);
7044 var1292
= (val
*)((long)(0)<<2|3);
7045 var1293
= (val
*)((long)(0)<<2|3);
7046 var1289
= core__flat___CString___to_s_unsafe(var1288
, var1290
, var1291
, var1292
, var1293
);
7048 varonce1286
= var1287
;
7051 { /* Inline kernel$Object$!= (var1283,var1287) on <var1283:String> */
7052 var_other
= var1287
;
7054 var1296
= ((short int(*)(val
* self
, val
* p0
))(var1283
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var1283
, var_other
); /* == on <var1283:String>*/
7059 RET_LABEL1295
:(void)0;
7068 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateErasureCompiler> */
7069 var1300
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateErasureCompiler> */
7070 if (unlikely(var1300
== NULL
)) {
7071 if(catchStack
.cursor
>= 0){
7072 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7074 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7075 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
7079 RET_LABEL1299
:(void)0;
7083 var1301
= nitc__model___MModule___pointer_type(var1298
);
7085 var_pointer_type
= var1301
;
7086 if (unlikely(varonce1302
==NULL
)) {
7087 var1303
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
7088 if (likely(varonce1304
!=NULL
)) {
7089 var1305
= varonce1304
;
7092 var1308
= (val
*)(4l<<2|1);
7093 var1309
= (val
*)(4l<<2|1);
7094 var1310
= (val
*)((long)(0)<<2|3);
7095 var1311
= (val
*)((long)(0)<<2|3);
7096 var1307
= core__flat___CString___to_s_unsafe(var1306
, var1308
, var1309
, var1310
, var1311
);
7098 varonce1304
= var1305
;
7100 ((struct instance_core__NativeArray
*)var1303
)->values
[0]=var1305
;
7102 var1303
= varonce1302
;
7105 ((struct instance_core__NativeArray
*)var1303
)->values
[1]=var_c_name
;
7107 var1312
= ((val
*(*)(val
* self
))(var1303
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1303
); /* native_to_s on <var1303:NativeArray[String]>*/
7109 varonce1302
= var1303
;
7110 if (unlikely(varonce1313
==NULL
)) {
7111 var1314
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
7112 if (likely(varonce1315
!=NULL
)) {
7113 var1316
= varonce1315
;
7116 var1319
= (val
*)(5l<<2|1);
7117 var1320
= (val
*)(5l<<2|1);
7118 var1321
= (val
*)((long)(0)<<2|3);
7119 var1322
= (val
*)((long)(0)<<2|3);
7120 var1318
= core__flat___CString___to_s_unsafe(var1317
, var1319
, var1320
, var1321
, var1322
);
7122 varonce1315
= var1316
;
7124 ((struct instance_core__NativeArray
*)var1314
)->values
[1]=var1316
;
7125 if (likely(varonce1323
!=NULL
)) {
7126 var1324
= varonce1323
;
7129 var1327
= (val
*)(3l<<2|1);
7130 var1328
= (val
*)(3l<<2|1);
7131 var1329
= (val
*)((long)(0)<<2|3);
7132 var1330
= (val
*)((long)(0)<<2|3);
7133 var1326
= core__flat___CString___to_s_unsafe(var1325
, var1327
, var1328
, var1329
, var1330
);
7135 varonce1323
= var1324
;
7137 ((struct instance_core__NativeArray
*)var1314
)->values
[3]=var1324
;
7139 var1314
= varonce1313
;
7143 var1331
= nitc__abstract_compiler___MClassType___MType__ctype(var_mtype
);
7145 ((struct instance_core__NativeArray
*)var1314
)->values
[0]=var1331
;
7146 ((struct instance_core__NativeArray
*)var1314
)->values
[2]=var_c_name
;
7148 var1332
= ((val
*(*)(val
* self
))(var1314
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1314
); /* native_to_s on <var1314:NativeArray[String]>*/
7150 varonce1313
= var1314
;
7152 nitc___nitc__AbstractCompiler___provide_declaration(self
, var1312
, var1332
); /* Direct call abstract_compiler$AbstractCompiler$provide_declaration on <self:SeparateErasureCompiler>*/
7154 if (unlikely(varonce1333
==NULL
)) {
7155 var1334
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
7156 if (likely(varonce1335
!=NULL
)) {
7157 var1336
= varonce1335
;
7159 var1337
= "/* allocate ";
7160 var1339
= (val
*)(12l<<2|1);
7161 var1340
= (val
*)(12l<<2|1);
7162 var1341
= (val
*)((long)(0)<<2|3);
7163 var1342
= (val
*)((long)(0)<<2|3);
7164 var1338
= core__flat___CString___to_s_unsafe(var1337
, var1339
, var1340
, var1341
, var1342
);
7166 varonce1335
= var1336
;
7168 ((struct instance_core__NativeArray
*)var1334
)->values
[0]=var1336
;
7169 if (likely(varonce1343
!=NULL
)) {
7170 var1344
= varonce1343
;
7173 var1347
= (val
*)(3l<<2|1);
7174 var1348
= (val
*)(3l<<2|1);
7175 var1349
= (val
*)((long)(0)<<2|3);
7176 var1350
= (val
*)((long)(0)<<2|3);
7177 var1346
= core__flat___CString___to_s_unsafe(var1345
, var1347
, var1348
, var1349
, var1350
);
7179 varonce1343
= var1344
;
7181 ((struct instance_core__NativeArray
*)var1334
)->values
[2]=var1344
;
7183 var1334
= varonce1333
;
7187 var1351
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MClassType>*/
7189 ((struct instance_core__NativeArray
*)var1334
)->values
[1]=var1351
;
7191 var1352
= ((val
*(*)(val
* self
))(var1334
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1334
); /* native_to_s on <var1334:NativeArray[String]>*/
7193 varonce1333
= var1334
;
7195 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var1352
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
7197 if (unlikely(varonce1353
==NULL
)) {
7198 var1354
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
7199 if (likely(varonce1355
!=NULL
)) {
7200 var1356
= varonce1355
;
7203 var1359
= (val
*)(5l<<2|1);
7204 var1360
= (val
*)(5l<<2|1);
7205 var1361
= (val
*)((long)(0)<<2|3);
7206 var1362
= (val
*)((long)(0)<<2|3);
7207 var1358
= core__flat___CString___to_s_unsafe(var1357
, var1359
, var1360
, var1361
, var1362
);
7209 varonce1355
= var1356
;
7211 ((struct instance_core__NativeArray
*)var1354
)->values
[1]=var1356
;
7212 if (likely(varonce1363
!=NULL
)) {
7213 var1364
= varonce1363
;
7216 var1367
= (val
*)(4l<<2|1);
7217 var1368
= (val
*)(4l<<2|1);
7218 var1369
= (val
*)((long)(0)<<2|3);
7219 var1370
= (val
*)((long)(0)<<2|3);
7220 var1366
= core__flat___CString___to_s_unsafe(var1365
, var1367
, var1368
, var1369
, var1370
);
7222 varonce1363
= var1364
;
7224 ((struct instance_core__NativeArray
*)var1354
)->values
[3]=var1364
;
7226 var1354
= varonce1353
;
7230 var1371
= nitc__abstract_compiler___MClassType___MType__ctype(var_mtype
);
7232 ((struct instance_core__NativeArray
*)var1354
)->values
[0]=var1371
;
7233 ((struct instance_core__NativeArray
*)var1354
)->values
[2]=var_c_name
;
7235 var1372
= ((val
*(*)(val
* self
))(var1354
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1354
); /* native_to_s on <var1354:NativeArray[String]>*/
7237 varonce1353
= var1354
;
7239 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var1372
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
7242 if (unlikely(varonce1373
==NULL
)) {
7243 var1374
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
7244 if (likely(varonce1375
!=NULL
)) {
7245 var1376
= varonce1375
;
7247 var1377
= " is DEAD";
7248 var1379
= (val
*)(8l<<2|1);
7249 var1380
= (val
*)(8l<<2|1);
7250 var1381
= (val
*)((long)(0)<<2|3);
7251 var1382
= (val
*)((long)(0)<<2|3);
7252 var1378
= core__flat___CString___to_s_unsafe(var1377
, var1379
, var1380
, var1381
, var1382
);
7254 varonce1375
= var1376
;
7256 ((struct instance_core__NativeArray
*)var1374
)->values
[1]=var1376
;
7258 var1374
= varonce1373
;
7262 var1383
= ((val
*(*)(val
* self
))(var_mclass
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mclass
); /* to_s on <var_mclass:MClass>*/
7264 ((struct instance_core__NativeArray
*)var1374
)->values
[0]=var1383
;
7266 var1384
= ((val
*(*)(val
* self
))(var1374
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1374
); /* native_to_s on <var1374:NativeArray[String]>*/
7268 varonce1373
= var1374
;
7270 nitc___nitc__AbstractCompilerVisitor___add_abort(var_v
, var1384
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_abort on <var_v:SeparateCompilerVisitor>*/
7273 if (likely(varonce1385
!=NULL
)) {
7274 var1386
= varonce1385
;
7277 var1389
= (val
*)(4l<<2|1);
7278 var1390
= (val
*)(4l<<2|1);
7279 var1391
= (val
*)((long)(0)<<2|3);
7280 var1392
= (val
*)((long)(0)<<2|3);
7281 var1388
= core__flat___CString___to_s_unsafe(var1387
, var1389
, var1390
, var1391
, var1392
);
7283 varonce1385
= var1386
;
7286 var1393
= nitc___nitc__AbstractCompilerVisitor___new_named_var(var_v
, var_mtype
, var1386
);
7288 var_res1394
= var1393
;
7290 { /* Inline abstract_compiler$RuntimeVariable$is_exact= (var_res1394,1) on <var_res1394:RuntimeVariable> */
7291 var_res1394
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___is_exact
].s
= 1; /* _is_exact on <var_res1394:RuntimeVariable> */
7292 RET_LABEL1395
:(void)0;
7295 if (unlikely(varonce1396
==NULL
)) {
7296 var1397
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
7297 if (likely(varonce1398
!=NULL
)) {
7298 var1399
= varonce1398
;
7300 var1400
= " = nit_alloc(sizeof(struct instance_";
7301 var1402
= (val
*)(36l<<2|1);
7302 var1403
= (val
*)(36l<<2|1);
7303 var1404
= (val
*)((long)(0)<<2|3);
7304 var1405
= (val
*)((long)(0)<<2|3);
7305 var1401
= core__flat___CString___to_s_unsafe(var1400
, var1402
, var1403
, var1404
, var1405
);
7307 varonce1398
= var1399
;
7309 ((struct instance_core__NativeArray
*)var1397
)->values
[1]=var1399
;
7310 if (likely(varonce1406
!=NULL
)) {
7311 var1407
= varonce1406
;
7314 var1410
= (val
*)(3l<<2|1);
7315 var1411
= (val
*)(3l<<2|1);
7316 var1412
= (val
*)((long)(0)<<2|3);
7317 var1413
= (val
*)((long)(0)<<2|3);
7318 var1409
= core__flat___CString___to_s_unsafe(var1408
, var1410
, var1411
, var1412
, var1413
);
7320 varonce1406
= var1407
;
7322 ((struct instance_core__NativeArray
*)var1397
)->values
[3]=var1407
;
7324 var1397
= varonce1396
;
7328 var1414
= ((val
*(*)(val
* self
))(var_res1394
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res1394
); /* to_s on <var_res1394:RuntimeVariable>*/
7330 ((struct instance_core__NativeArray
*)var1397
)->values
[0]=var1414
;
7332 var1415
= ((val
*(*)(val
* self
))(var_pointer_type
->class->vft
[COLOR_nitc__model_base__MEntity__c_name
]))(var_pointer_type
); /* c_name on <var_pointer_type:MClassType>*/
7334 ((struct instance_core__NativeArray
*)var1397
)->values
[2]=var1415
;
7336 var1416
= ((val
*(*)(val
* self
))(var1397
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1397
); /* native_to_s on <var1397:NativeArray[String]>*/
7338 varonce1396
= var1397
;
7340 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var1416
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
7342 if (unlikely(varonce1417
==NULL
)) {
7343 var1418
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
7344 if (likely(varonce1419
!=NULL
)) {
7345 var1420
= varonce1419
;
7348 var1423
= (val
*)(6l<<2|1);
7349 var1424
= (val
*)(6l<<2|1);
7350 var1425
= (val
*)((long)(0)<<2|3);
7351 var1426
= (val
*)((long)(0)<<2|3);
7352 var1422
= core__flat___CString___to_s_unsafe(var1421
, var1423
, var1424
, var1425
, var1426
);
7354 varonce1419
= var1420
;
7356 ((struct instance_core__NativeArray
*)var1418
)->values
[0]=var1420
;
7358 var1418
= varonce1417
;
7361 ((struct instance_core__NativeArray
*)var1418
)->values
[1]=var_c_name
;
7363 var1427
= ((val
*(*)(val
* self
))(var1418
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1418
); /* native_to_s on <var1418:NativeArray[String]>*/
7365 varonce1417
= var1418
;
7367 nitc___nitc__AbstractCompilerVisitor___require_declaration(var_v
, var1427
); /* Direct call abstract_compiler$AbstractCompilerVisitor$require_declaration on <var_v:SeparateCompilerVisitor>*/
7369 if (unlikely(varonce1428
==NULL
)) {
7370 var1429
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
7371 if (likely(varonce1430
!=NULL
)) {
7372 var1431
= varonce1430
;
7374 var1432
= "->class = &class_";
7375 var1434
= (val
*)(17l<<2|1);
7376 var1435
= (val
*)(17l<<2|1);
7377 var1436
= (val
*)((long)(0)<<2|3);
7378 var1437
= (val
*)((long)(0)<<2|3);
7379 var1433
= core__flat___CString___to_s_unsafe(var1432
, var1434
, var1435
, var1436
, var1437
);
7381 varonce1430
= var1431
;
7383 ((struct instance_core__NativeArray
*)var1429
)->values
[1]=var1431
;
7384 if (likely(varonce1438
!=NULL
)) {
7385 var1439
= varonce1438
;
7388 var1442
= (val
*)(1l<<2|1);
7389 var1443
= (val
*)(1l<<2|1);
7390 var1444
= (val
*)((long)(0)<<2|3);
7391 var1445
= (val
*)((long)(0)<<2|3);
7392 var1441
= core__flat___CString___to_s_unsafe(var1440
, var1442
, var1443
, var1444
, var1445
);
7394 varonce1438
= var1439
;
7396 ((struct instance_core__NativeArray
*)var1429
)->values
[3]=var1439
;
7398 var1429
= varonce1428
;
7402 var1446
= ((val
*(*)(val
* self
))(var_res1394
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res1394
); /* to_s on <var_res1394:RuntimeVariable>*/
7404 ((struct instance_core__NativeArray
*)var1429
)->values
[0]=var1446
;
7405 ((struct instance_core__NativeArray
*)var1429
)->values
[2]=var_c_name
;
7407 var1447
= ((val
*(*)(val
* self
))(var1429
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1429
); /* native_to_s on <var1429:NativeArray[String]>*/
7409 varonce1428
= var1429
;
7411 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var1447
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
7413 if (unlikely(varonce1448
==NULL
)) {
7414 var1449
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
7415 if (likely(varonce1450
!=NULL
)) {
7416 var1451
= varonce1450
;
7418 var1452
= "((struct instance_";
7419 var1454
= (val
*)(18l<<2|1);
7420 var1455
= (val
*)(18l<<2|1);
7421 var1456
= (val
*)((long)(0)<<2|3);
7422 var1457
= (val
*)((long)(0)<<2|3);
7423 var1453
= core__flat___CString___to_s_unsafe(var1452
, var1454
, var1455
, var1456
, var1457
);
7425 varonce1450
= var1451
;
7427 ((struct instance_core__NativeArray
*)var1449
)->values
[0]=var1451
;
7428 if (likely(varonce1458
!=NULL
)) {
7429 var1459
= varonce1458
;
7432 var1462
= (val
*)(2l<<2|1);
7433 var1463
= (val
*)(2l<<2|1);
7434 var1464
= (val
*)((long)(0)<<2|3);
7435 var1465
= (val
*)((long)(0)<<2|3);
7436 var1461
= core__flat___CString___to_s_unsafe(var1460
, var1462
, var1463
, var1464
, var1465
);
7438 varonce1458
= var1459
;
7440 ((struct instance_core__NativeArray
*)var1449
)->values
[2]=var1459
;
7441 if (likely(varonce1466
!=NULL
)) {
7442 var1467
= varonce1466
;
7444 var1468
= ")->value = NULL;";
7445 var1470
= (val
*)(16l<<2|1);
7446 var1471
= (val
*)(16l<<2|1);
7447 var1472
= (val
*)((long)(0)<<2|3);
7448 var1473
= (val
*)((long)(0)<<2|3);
7449 var1469
= core__flat___CString___to_s_unsafe(var1468
, var1470
, var1471
, var1472
, var1473
);
7451 varonce1466
= var1467
;
7453 ((struct instance_core__NativeArray
*)var1449
)->values
[4]=var1467
;
7455 var1449
= varonce1448
;
7459 var1474
= ((val
*(*)(val
* self
))(var_pointer_type
->class->vft
[COLOR_nitc__model_base__MEntity__c_name
]))(var_pointer_type
); /* c_name on <var_pointer_type:MClassType>*/
7461 ((struct instance_core__NativeArray
*)var1449
)->values
[1]=var1474
;
7463 var1475
= ((val
*(*)(val
* self
))(var_res1394
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res1394
); /* to_s on <var_res1394:RuntimeVariable>*/
7465 ((struct instance_core__NativeArray
*)var1449
)->values
[3]=var1475
;
7467 var1476
= ((val
*(*)(val
* self
))(var1449
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1449
); /* native_to_s on <var1449:NativeArray[String]>*/
7469 varonce1448
= var1449
;
7471 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var1476
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
7473 if (unlikely(varonce1477
==NULL
)) {
7474 var1478
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
7475 if (likely(varonce1479
!=NULL
)) {
7476 var1480
= varonce1479
;
7478 var1481
= "return ";
7479 var1483
= (val
*)(7l<<2|1);
7480 var1484
= (val
*)(7l<<2|1);
7481 var1485
= (val
*)((long)(0)<<2|3);
7482 var1486
= (val
*)((long)(0)<<2|3);
7483 var1482
= core__flat___CString___to_s_unsafe(var1481
, var1483
, var1484
, var1485
, var1486
);
7485 varonce1479
= var1480
;
7487 ((struct instance_core__NativeArray
*)var1478
)->values
[0]=var1480
;
7488 if (likely(varonce1487
!=NULL
)) {
7489 var1488
= varonce1487
;
7492 var1491
= (val
*)(1l<<2|1);
7493 var1492
= (val
*)(1l<<2|1);
7494 var1493
= (val
*)((long)(0)<<2|3);
7495 var1494
= (val
*)((long)(0)<<2|3);
7496 var1490
= core__flat___CString___to_s_unsafe(var1489
, var1491
, var1492
, var1493
, var1494
);
7498 varonce1487
= var1488
;
7500 ((struct instance_core__NativeArray
*)var1478
)->values
[2]=var1488
;
7502 var1478
= varonce1477
;
7506 var1495
= ((val
*(*)(val
* self
))(var_res1394
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res1394
); /* to_s on <var_res1394:RuntimeVariable>*/
7508 ((struct instance_core__NativeArray
*)var1478
)->values
[1]=var1495
;
7510 var1496
= ((val
*(*)(val
* self
))(var1478
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1478
); /* native_to_s on <var1478:NativeArray[String]>*/
7512 varonce1477
= var1478
;
7514 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var1496
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
7517 if (likely(varonce1497
!=NULL
)) {
7518 var1498
= varonce1497
;
7521 var1501
= (val
*)(1l<<2|1);
7522 var1502
= (val
*)(1l<<2|1);
7523 var1503
= (val
*)((long)(0)<<2|3);
7524 var1504
= (val
*)((long)(0)<<2|3);
7525 var1500
= core__flat___CString___to_s_unsafe(var1499
, var1501
, var1502
, var1503
, var1504
);
7527 varonce1497
= var1498
;
7530 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var1498
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
7537 if (unlikely(varonce1505
==NULL
)) {
7538 var1506
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
7539 if (likely(varonce1507
!=NULL
)) {
7540 var1508
= varonce1507
;
7543 var1511
= (val
*)(4l<<2|1);
7544 var1512
= (val
*)(4l<<2|1);
7545 var1513
= (val
*)((long)(0)<<2|3);
7546 var1514
= (val
*)((long)(0)<<2|3);
7547 var1510
= core__flat___CString___to_s_unsafe(var1509
, var1511
, var1512
, var1513
, var1514
);
7549 varonce1507
= var1508
;
7551 ((struct instance_core__NativeArray
*)var1506
)->values
[0]=var1508
;
7553 var1506
= varonce1505
;
7556 ((struct instance_core__NativeArray
*)var1506
)->values
[1]=var_c_name
;
7558 var1515
= ((val
*(*)(val
* self
))(var1506
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1506
); /* native_to_s on <var1506:NativeArray[String]>*/
7560 varonce1505
= var1506
;
7561 if (unlikely(varonce1516
==NULL
)) {
7562 var1517
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
7563 if (likely(varonce1518
!=NULL
)) {
7564 var1519
= varonce1518
;
7567 var1522
= (val
*)(5l<<2|1);
7568 var1523
= (val
*)(5l<<2|1);
7569 var1524
= (val
*)((long)(0)<<2|3);
7570 var1525
= (val
*)((long)(0)<<2|3);
7571 var1521
= core__flat___CString___to_s_unsafe(var1520
, var1522
, var1523
, var1524
, var1525
);
7573 varonce1518
= var1519
;
7575 ((struct instance_core__NativeArray
*)var1517
)->values
[1]=var1519
;
7576 if (likely(varonce1526
!=NULL
)) {
7577 var1527
= varonce1526
;
7579 var1528
= "(void);";
7580 var1530
= (val
*)(7l<<2|1);
7581 var1531
= (val
*)(7l<<2|1);
7582 var1532
= (val
*)((long)(0)<<2|3);
7583 var1533
= (val
*)((long)(0)<<2|3);
7584 var1529
= core__flat___CString___to_s_unsafe(var1528
, var1530
, var1531
, var1532
, var1533
);
7586 varonce1526
= var1527
;
7588 ((struct instance_core__NativeArray
*)var1517
)->values
[3]=var1527
;
7590 var1517
= varonce1516
;
7594 var1534
= nitc__abstract_compiler___MClassType___MType__ctype(var_mtype
);
7596 ((struct instance_core__NativeArray
*)var1517
)->values
[0]=var1534
;
7597 ((struct instance_core__NativeArray
*)var1517
)->values
[2]=var_c_name
;
7599 var1535
= ((val
*(*)(val
* self
))(var1517
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1517
); /* native_to_s on <var1517:NativeArray[String]>*/
7601 varonce1516
= var1517
;
7603 nitc___nitc__AbstractCompiler___provide_declaration(self
, var1515
, var1535
); /* Direct call abstract_compiler$AbstractCompiler$provide_declaration on <self:SeparateErasureCompiler>*/
7605 if (unlikely(varonce1536
==NULL
)) {
7606 var1537
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
7607 if (likely(varonce1538
!=NULL
)) {
7608 var1539
= varonce1538
;
7610 var1540
= "/* allocate ";
7611 var1542
= (val
*)(12l<<2|1);
7612 var1543
= (val
*)(12l<<2|1);
7613 var1544
= (val
*)((long)(0)<<2|3);
7614 var1545
= (val
*)((long)(0)<<2|3);
7615 var1541
= core__flat___CString___to_s_unsafe(var1540
, var1542
, var1543
, var1544
, var1545
);
7617 varonce1538
= var1539
;
7619 ((struct instance_core__NativeArray
*)var1537
)->values
[0]=var1539
;
7620 if (likely(varonce1546
!=NULL
)) {
7621 var1547
= varonce1546
;
7624 var1550
= (val
*)(3l<<2|1);
7625 var1551
= (val
*)(3l<<2|1);
7626 var1552
= (val
*)((long)(0)<<2|3);
7627 var1553
= (val
*)((long)(0)<<2|3);
7628 var1549
= core__flat___CString___to_s_unsafe(var1548
, var1550
, var1551
, var1552
, var1553
);
7630 varonce1546
= var1547
;
7632 ((struct instance_core__NativeArray
*)var1537
)->values
[2]=var1547
;
7634 var1537
= varonce1536
;
7638 var1554
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MClassType>*/
7640 ((struct instance_core__NativeArray
*)var1537
)->values
[1]=var1554
;
7642 var1555
= ((val
*(*)(val
* self
))(var1537
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1537
); /* native_to_s on <var1537:NativeArray[String]>*/
7644 varonce1536
= var1537
;
7646 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var1555
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
7648 if (unlikely(varonce1556
==NULL
)) {
7649 var1557
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
7650 if (likely(varonce1558
!=NULL
)) {
7651 var1559
= varonce1558
;
7654 var1562
= (val
*)(5l<<2|1);
7655 var1563
= (val
*)(5l<<2|1);
7656 var1564
= (val
*)((long)(0)<<2|3);
7657 var1565
= (val
*)((long)(0)<<2|3);
7658 var1561
= core__flat___CString___to_s_unsafe(var1560
, var1562
, var1563
, var1564
, var1565
);
7660 varonce1558
= var1559
;
7662 ((struct instance_core__NativeArray
*)var1557
)->values
[1]=var1559
;
7663 if (likely(varonce1566
!=NULL
)) {
7664 var1567
= varonce1566
;
7666 var1568
= "(void) {";
7667 var1570
= (val
*)(8l<<2|1);
7668 var1571
= (val
*)(8l<<2|1);
7669 var1572
= (val
*)((long)(0)<<2|3);
7670 var1573
= (val
*)((long)(0)<<2|3);
7671 var1569
= core__flat___CString___to_s_unsafe(var1568
, var1570
, var1571
, var1572
, var1573
);
7673 varonce1566
= var1567
;
7675 ((struct instance_core__NativeArray
*)var1557
)->values
[3]=var1567
;
7677 var1557
= varonce1556
;
7681 var1574
= nitc__abstract_compiler___MClassType___MType__ctype(var_mtype
);
7683 ((struct instance_core__NativeArray
*)var1557
)->values
[0]=var1574
;
7684 ((struct instance_core__NativeArray
*)var1557
)->values
[2]=var_c_name
;
7686 var1575
= ((val
*(*)(val
* self
))(var1557
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1557
); /* native_to_s on <var1557:NativeArray[String]>*/
7688 varonce1556
= var1557
;
7690 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var1575
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
7693 if (unlikely(varonce1576
==NULL
)) {
7694 var1577
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
7695 if (likely(varonce1578
!=NULL
)) {
7696 var1579
= varonce1578
;
7698 var1580
= " is DEAD";
7699 var1582
= (val
*)(8l<<2|1);
7700 var1583
= (val
*)(8l<<2|1);
7701 var1584
= (val
*)((long)(0)<<2|3);
7702 var1585
= (val
*)((long)(0)<<2|3);
7703 var1581
= core__flat___CString___to_s_unsafe(var1580
, var1582
, var1583
, var1584
, var1585
);
7705 varonce1578
= var1579
;
7707 ((struct instance_core__NativeArray
*)var1577
)->values
[1]=var1579
;
7709 var1577
= varonce1576
;
7713 var1586
= ((val
*(*)(val
* self
))(var_mclass
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mclass
); /* to_s on <var_mclass:MClass>*/
7715 ((struct instance_core__NativeArray
*)var1577
)->values
[0]=var1586
;
7717 var1587
= ((val
*(*)(val
* self
))(var1577
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1577
); /* native_to_s on <var1577:NativeArray[String]>*/
7719 varonce1576
= var1577
;
7721 nitc___nitc__AbstractCompilerVisitor___add_abort(var_v
, var1587
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_abort on <var_v:SeparateCompilerVisitor>*/
7724 if (likely(varonce1588
!=NULL
)) {
7725 var1589
= varonce1588
;
7728 var1592
= (val
*)(4l<<2|1);
7729 var1593
= (val
*)(4l<<2|1);
7730 var1594
= (val
*)((long)(0)<<2|3);
7731 var1595
= (val
*)((long)(0)<<2|3);
7732 var1591
= core__flat___CString___to_s_unsafe(var1590
, var1592
, var1593
, var1594
, var1595
);
7734 varonce1588
= var1589
;
7737 var1596
= nitc___nitc__AbstractCompilerVisitor___new_named_var(var_v
, var_mtype
, var1589
);
7739 var_res1597
= var1596
;
7741 { /* Inline abstract_compiler$RuntimeVariable$is_exact= (var_res1597,1) on <var_res1597:RuntimeVariable> */
7742 var_res1597
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___is_exact
].s
= 1; /* _is_exact on <var_res1597:RuntimeVariable> */
7743 RET_LABEL1598
:(void)0;
7747 { /* Inline separate_compiler$SeparateCompiler$attr_tables (self) on <self:SeparateErasureCompiler> */
7748 var1601
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___attr_tables
].val
; /* _attr_tables on <self:SeparateErasureCompiler> */
7749 if (unlikely(var1601
== NULL
)) {
7750 if(catchStack
.cursor
>= 0){
7751 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7753 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _attr_tables");
7754 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 1074);
7758 RET_LABEL1600
:(void)0;
7762 var1602
= ((val
*(*)(val
* self
, val
* p0
))((((long)var1599
&3)?class_info
[((long)var1599
&3)]:var1599
->class)->vft
[COLOR_core__abstract_collection__MapRead__get_or_null
]))(var1599
, var_mclass
); /* get_or_null on <var1599:Map[MClass, Array[nullable MProperty]]>*/
7764 var_attrs
= var1602
;
7765 if (var_attrs
== NULL
) {
7766 var1603
= 1; /* is null */
7768 var1603
= 0; /* arg is null but recv is not */
7771 var1604
= core___core__Array___core__kernel__Object___61d_61d(var_attrs
, ((val
*)NULL
));
7775 if (unlikely(varonce1605
==NULL
)) {
7776 var1606
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
7777 if (likely(varonce1607
!=NULL
)) {
7778 var1608
= varonce1607
;
7780 var1609
= " = nit_alloc(sizeof(struct instance));";
7781 var1611
= (val
*)(38l<<2|1);
7782 var1612
= (val
*)(38l<<2|1);
7783 var1613
= (val
*)((long)(0)<<2|3);
7784 var1614
= (val
*)((long)(0)<<2|3);
7785 var1610
= core__flat___CString___to_s_unsafe(var1609
, var1611
, var1612
, var1613
, var1614
);
7787 varonce1607
= var1608
;
7789 ((struct instance_core__NativeArray
*)var1606
)->values
[1]=var1608
;
7791 var1606
= varonce1605
;
7795 var1615
= ((val
*(*)(val
* self
))(var_res1597
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res1597
); /* to_s on <var_res1597:RuntimeVariable>*/
7797 ((struct instance_core__NativeArray
*)var1606
)->values
[0]=var1615
;
7799 var1616
= ((val
*(*)(val
* self
))(var1606
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1606
); /* native_to_s on <var1606:NativeArray[String]>*/
7801 varonce1605
= var1606
;
7803 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var1616
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
7806 if (unlikely(varonce1617
==NULL
)) {
7807 var1618
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
7808 if (likely(varonce1619
!=NULL
)) {
7809 var1620
= varonce1619
;
7811 var1621
= " = nit_alloc(sizeof(struct instance) + ";
7812 var1623
= (val
*)(39l<<2|1);
7813 var1624
= (val
*)(39l<<2|1);
7814 var1625
= (val
*)((long)(0)<<2|3);
7815 var1626
= (val
*)((long)(0)<<2|3);
7816 var1622
= core__flat___CString___to_s_unsafe(var1621
, var1623
, var1624
, var1625
, var1626
);
7818 varonce1619
= var1620
;
7820 ((struct instance_core__NativeArray
*)var1618
)->values
[1]=var1620
;
7821 if (likely(varonce1627
!=NULL
)) {
7822 var1628
= varonce1627
;
7824 var1629
= "*sizeof(nitattribute_t));";
7825 var1631
= (val
*)(25l<<2|1);
7826 var1632
= (val
*)(25l<<2|1);
7827 var1633
= (val
*)((long)(0)<<2|3);
7828 var1634
= (val
*)((long)(0)<<2|3);
7829 var1630
= core__flat___CString___to_s_unsafe(var1629
, var1631
, var1632
, var1633
, var1634
);
7831 varonce1627
= var1628
;
7833 ((struct instance_core__NativeArray
*)var1618
)->values
[3]=var1628
;
7835 var1618
= varonce1617
;
7839 var1635
= ((val
*(*)(val
* self
))(var_res1597
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res1597
); /* to_s on <var_res1597:RuntimeVariable>*/
7841 ((struct instance_core__NativeArray
*)var1618
)->values
[0]=var1635
;
7843 { /* Inline array$AbstractArrayRead$length (var_attrs) on <var_attrs:nullable Array[nullable MProperty](Array[nullable MProperty])> */
7844 var1638
= var_attrs
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_attrs:nullable Array[nullable MProperty](Array[nullable MProperty])> */
7846 RET_LABEL1637
:(void)0;
7849 var1639
= core__flat___Int___core__abstract_text__Object__to_s(var1636
);
7850 ((struct instance_core__NativeArray
*)var1618
)->values
[2]=var1639
;
7852 var1640
= ((val
*(*)(val
* self
))(var1618
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1618
); /* native_to_s on <var1618:NativeArray[String]>*/
7854 varonce1617
= var1618
;
7856 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var1640
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
7859 if (unlikely(varonce1641
==NULL
)) {
7860 var1642
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
7861 if (likely(varonce1643
!=NULL
)) {
7862 var1644
= varonce1643
;
7865 var1647
= (val
*)(6l<<2|1);
7866 var1648
= (val
*)(6l<<2|1);
7867 var1649
= (val
*)((long)(0)<<2|3);
7868 var1650
= (val
*)((long)(0)<<2|3);
7869 var1646
= core__flat___CString___to_s_unsafe(var1645
, var1647
, var1648
, var1649
, var1650
);
7871 varonce1643
= var1644
;
7873 ((struct instance_core__NativeArray
*)var1642
)->values
[0]=var1644
;
7875 var1642
= varonce1641
;
7878 ((struct instance_core__NativeArray
*)var1642
)->values
[1]=var_c_name
;
7880 var1651
= ((val
*(*)(val
* self
))(var1642
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1642
); /* native_to_s on <var1642:NativeArray[String]>*/
7882 varonce1641
= var1642
;
7884 nitc___nitc__AbstractCompilerVisitor___require_declaration(var_v
, var1651
); /* Direct call abstract_compiler$AbstractCompilerVisitor$require_declaration on <var_v:SeparateCompilerVisitor>*/
7886 if (unlikely(varonce1652
==NULL
)) {
7887 var1653
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
7888 if (likely(varonce1654
!=NULL
)) {
7889 var1655
= varonce1654
;
7891 var1656
= "->class = &class_";
7892 var1658
= (val
*)(17l<<2|1);
7893 var1659
= (val
*)(17l<<2|1);
7894 var1660
= (val
*)((long)(0)<<2|3);
7895 var1661
= (val
*)((long)(0)<<2|3);
7896 var1657
= core__flat___CString___to_s_unsafe(var1656
, var1658
, var1659
, var1660
, var1661
);
7898 varonce1654
= var1655
;
7900 ((struct instance_core__NativeArray
*)var1653
)->values
[1]=var1655
;
7901 if (likely(varonce1662
!=NULL
)) {
7902 var1663
= varonce1662
;
7905 var1666
= (val
*)(1l<<2|1);
7906 var1667
= (val
*)(1l<<2|1);
7907 var1668
= (val
*)((long)(0)<<2|3);
7908 var1669
= (val
*)((long)(0)<<2|3);
7909 var1665
= core__flat___CString___to_s_unsafe(var1664
, var1666
, var1667
, var1668
, var1669
);
7911 varonce1662
= var1663
;
7913 ((struct instance_core__NativeArray
*)var1653
)->values
[3]=var1663
;
7915 var1653
= varonce1652
;
7919 var1670
= ((val
*(*)(val
* self
))(var_res1597
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res1597
); /* to_s on <var_res1597:RuntimeVariable>*/
7921 ((struct instance_core__NativeArray
*)var1653
)->values
[0]=var1670
;
7922 ((struct instance_core__NativeArray
*)var1653
)->values
[2]=var_c_name
;
7924 var1671
= ((val
*(*)(val
* self
))(var1653
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1653
); /* native_to_s on <var1653:NativeArray[String]>*/
7926 varonce1652
= var1653
;
7928 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var1671
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
7930 if (var_attrs
== NULL
) {
7931 var1672
= 0; /* is null */
7933 var1672
= 1; /* arg is null and recv is not */
7936 { /* Inline kernel$Object$!= (var_attrs,((val*)NULL)) on <var_attrs:nullable Array[nullable MProperty]> */
7937 var_other
= ((val
*)NULL
);
7939 var1675
= ((short int(*)(val
* self
, val
* p0
))(var_attrs
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_attrs
, var_other
); /* == on <var_attrs:nullable Array[nullable MProperty](Array[nullable MProperty])>*/
7944 RET_LABEL1674
:(void)0;
7950 nitc___nitc__AbstractCompiler___generate_init_attr(self
, var_v
, var_res1597
, var_mtype
); /* Direct call abstract_compiler$AbstractCompiler$generate_init_attr on <self:SeparateErasureCompiler>*/
7953 nitc___nitc__AbstractCompilerVisitor___set_finalizer(var_v
, var_res1597
); /* Direct call abstract_compiler$AbstractCompilerVisitor$set_finalizer on <var_v:SeparateCompilerVisitor>*/
7957 if (unlikely(varonce1677
==NULL
)) {
7958 var1678
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
7959 if (likely(varonce1679
!=NULL
)) {
7960 var1680
= varonce1679
;
7962 var1681
= "return ";
7963 var1683
= (val
*)(7l<<2|1);
7964 var1684
= (val
*)(7l<<2|1);
7965 var1685
= (val
*)((long)(0)<<2|3);
7966 var1686
= (val
*)((long)(0)<<2|3);
7967 var1682
= core__flat___CString___to_s_unsafe(var1681
, var1683
, var1684
, var1685
, var1686
);
7969 varonce1679
= var1680
;
7971 ((struct instance_core__NativeArray
*)var1678
)->values
[0]=var1680
;
7972 if (likely(varonce1687
!=NULL
)) {
7973 var1688
= varonce1687
;
7976 var1691
= (val
*)(1l<<2|1);
7977 var1692
= (val
*)(1l<<2|1);
7978 var1693
= (val
*)((long)(0)<<2|3);
7979 var1694
= (val
*)((long)(0)<<2|3);
7980 var1690
= core__flat___CString___to_s_unsafe(var1689
, var1691
, var1692
, var1693
, var1694
);
7982 varonce1687
= var1688
;
7984 ((struct instance_core__NativeArray
*)var1678
)->values
[2]=var1688
;
7986 var1678
= varonce1677
;
7990 var1695
= ((val
*(*)(val
* self
))(var_res1597
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res1597
); /* to_s on <var_res1597:RuntimeVariable>*/
7992 ((struct instance_core__NativeArray
*)var1678
)->values
[1]=var1695
;
7994 var1696
= ((val
*(*)(val
* self
))(var1678
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1678
); /* native_to_s on <var1678:NativeArray[String]>*/
7996 varonce1677
= var1678
;
7998 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var1696
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
8001 if (likely(varonce1697
!=NULL
)) {
8002 var1698
= varonce1697
;
8005 var1701
= (val
*)(1l<<2|1);
8006 var1702
= (val
*)(1l<<2|1);
8007 var1703
= (val
*)((long)(0)<<2|3);
8008 var1704
= (val
*)((long)(0)<<2|3);
8009 var1700
= core__flat___CString___to_s_unsafe(var1699
, var1701
, var1702
, var1703
, var1704
);
8011 varonce1697
= var1698
;
8014 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var1698
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:SeparateCompilerVisitor>*/
8018 /* method separate_erasure_compiler$SeparateErasureCompiler$build_class_vts_table for (self: SeparateErasureCompiler, MClass): Bool */
8019 short int nitc___nitc__SeparateErasureCompiler___build_class_vts_table(val
* self
, val
* p0
) {
8020 short int var
/* : Bool */;
8021 val
* var_mclass
/* var mclass: MClass */;
8022 val
* var1
/* : Map[MClass, Array[nullable MPropDef]] */;
8023 val
* var3
/* : Map[MClass, Array[nullable MPropDef]] */;
8024 val
* var4
/* : nullable Object */;
8025 short int var5
/* : Bool */;
8026 val
* var6
/* : NativeArray[String] */;
8027 static val
* varonce
;
8028 static val
* varonce7
;
8029 val
* var8
/* : String */;
8030 char* var9
/* : CString */;
8031 val
* var10
/* : String */;
8032 val
* var11
/* : nullable Int */;
8033 val
* var12
/* : nullable Int */;
8034 val
* var13
/* : nullable Bool */;
8035 val
* var14
/* : nullable Bool */;
8036 val
* var15
/* : String */;
8037 val
* var16
/* : String */;
8038 val
* var18
/* : NativeArray[String] */;
8039 static val
* varonce17
;
8040 static val
* varonce19
;
8041 val
* var20
/* : String */;
8042 char* var21
/* : CString */;
8043 val
* var22
/* : String */;
8044 val
* var23
/* : nullable Int */;
8045 val
* var24
/* : nullable Int */;
8046 val
* var25
/* : nullable Bool */;
8047 val
* var26
/* : nullable Bool */;
8048 static val
* varonce27
;
8049 val
* var28
/* : String */;
8050 char* var29
/* : CString */;
8051 val
* var30
/* : String */;
8052 val
* var31
/* : nullable Int */;
8053 val
* var32
/* : nullable Int */;
8054 val
* var33
/* : nullable Bool */;
8055 val
* var34
/* : nullable Bool */;
8056 val
* var35
/* : String */;
8057 val
* var36
/* : String */;
8058 val
* var37
/* : SeparateCompilerVisitor */;
8059 val
* var_v
/* var v: SeparateCompilerVisitor */;
8060 val
* var39
/* : NativeArray[String] */;
8061 static val
* varonce38
;
8062 static val
* varonce40
;
8063 val
* var41
/* : String */;
8064 char* var42
/* : CString */;
8065 val
* var43
/* : String */;
8066 val
* var44
/* : nullable Int */;
8067 val
* var45
/* : nullable Int */;
8068 val
* var46
/* : nullable Bool */;
8069 val
* var47
/* : nullable Bool */;
8070 static val
* varonce48
;
8071 val
* var49
/* : String */;
8072 char* var50
/* : CString */;
8073 val
* var51
/* : String */;
8074 val
* var52
/* : nullable Int */;
8075 val
* var53
/* : nullable Int */;
8076 val
* var54
/* : nullable Bool */;
8077 val
* var55
/* : nullable Bool */;
8078 val
* var56
/* : String */;
8079 val
* var57
/* : String */;
8080 static val
* varonce58
;
8081 val
* var59
/* : String */;
8082 char* var60
/* : CString */;
8083 val
* var61
/* : String */;
8084 val
* var62
/* : nullable Int */;
8085 val
* var63
/* : nullable Int */;
8086 val
* var64
/* : nullable Bool */;
8087 val
* var65
/* : nullable Bool */;
8088 static val
* varonce66
;
8089 val
* var67
/* : String */;
8090 char* var68
/* : CString */;
8091 val
* var69
/* : String */;
8092 val
* var70
/* : nullable Int */;
8093 val
* var71
/* : nullable Int */;
8094 val
* var72
/* : nullable Bool */;
8095 val
* var73
/* : nullable Bool */;
8096 val
* var74
/* : Map[MClass, Array[nullable MPropDef]] */;
8097 val
* var76
/* : Map[MClass, Array[nullable MPropDef]] */;
8098 val
* var77
/* : nullable Object */;
8099 val
* var_
/* var : Array[nullable MPropDef] */;
8100 val
* var78
/* : IndexedIterator[nullable Object] */;
8101 val
* var_79
/* var : IndexedIterator[nullable MPropDef] */;
8102 short int var80
/* : Bool */;
8103 val
* var81
/* : nullable Object */;
8104 val
* var_vt
/* var vt: nullable MPropDef */;
8105 short int var82
/* : Bool */;
8106 short int var83
/* : Bool */;
8107 val
* var_other
/* var other: nullable Object */;
8108 short int var85
/* : Bool */;
8109 short int var87
/* : Bool */;
8110 static val
* varonce88
;
8111 val
* var89
/* : String */;
8112 char* var90
/* : CString */;
8113 val
* var91
/* : String */;
8114 val
* var92
/* : nullable Int */;
8115 val
* var93
/* : nullable Int */;
8116 val
* var94
/* : nullable Bool */;
8117 val
* var95
/* : nullable Bool */;
8118 long var_is_null
/* var is_null: Int */;
8119 val
* var96
/* : MClassDef */;
8120 val
* var98
/* : MClassDef */;
8121 val
* var99
/* : MClassType */;
8122 val
* var101
/* : MClassType */;
8123 short int var102
/* : Bool */;
8126 const char* var_class_name
;
8127 val
* var103
/* : nullable MType */;
8128 val
* var105
/* : nullable MType */;
8129 val
* var106
/* : MType */;
8130 val
* var_bound
/* var bound: MType */;
8131 short int var107
/* : Bool */;
8134 val
* var110
/* : MClassDef */;
8135 val
* var112
/* : MClassDef */;
8136 val
* var113
/* : MClassType */;
8137 val
* var115
/* : MClassType */;
8138 val
* var116
/* : MType */;
8139 val
* var118
/* : MType */;
8140 val
* var119
/* : MType */;
8141 short int var121
/* : Bool */;
8144 const char* var_class_name124
;
8145 val
* var125
/* : MClass */;
8146 val
* var127
/* : MClass */;
8147 val
* var_vtclass
/* var vtclass: MClass */;
8148 val
* var129
/* : NativeArray[String] */;
8149 static val
* varonce128
;
8150 static val
* varonce130
;
8151 val
* var131
/* : String */;
8152 char* var132
/* : CString */;
8153 val
* var133
/* : String */;
8154 val
* var134
/* : nullable Int */;
8155 val
* var135
/* : nullable Int */;
8156 val
* var136
/* : nullable Bool */;
8157 val
* var137
/* : nullable Bool */;
8158 val
* var138
/* : String */;
8159 val
* var139
/* : String */;
8160 val
* var141
/* : NativeArray[String] */;
8161 static val
* varonce140
;
8162 static val
* varonce142
;
8163 val
* var143
/* : String */;
8164 char* var144
/* : CString */;
8165 val
* var145
/* : String */;
8166 val
* var146
/* : nullable Int */;
8167 val
* var147
/* : nullable Int */;
8168 val
* var148
/* : nullable Bool */;
8169 val
* var149
/* : nullable Bool */;
8170 static val
* varonce150
;
8171 val
* var151
/* : String */;
8172 char* var152
/* : CString */;
8173 val
* var153
/* : String */;
8174 val
* var154
/* : nullable Int */;
8175 val
* var155
/* : nullable Int */;
8176 val
* var156
/* : nullable Bool */;
8177 val
* var157
/* : nullable Bool */;
8178 static val
* varonce158
;
8179 val
* var159
/* : String */;
8180 char* var160
/* : CString */;
8181 val
* var161
/* : String */;
8182 val
* var162
/* : nullable Int */;
8183 val
* var163
/* : nullable Int */;
8184 val
* var164
/* : nullable Bool */;
8185 val
* var165
/* : nullable Bool */;
8186 static val
* varonce166
;
8187 val
* var167
/* : String */;
8188 char* var168
/* : CString */;
8189 val
* var169
/* : String */;
8190 val
* var170
/* : nullable Int */;
8191 val
* var171
/* : nullable Int */;
8192 val
* var172
/* : nullable Bool */;
8193 val
* var173
/* : nullable Bool */;
8194 val
* var174
/* : String */;
8195 val
* var175
/* : String */;
8196 val
* var176
/* : String */;
8197 val
* var177
/* : String */;
8198 static val
* varonce178
;
8199 val
* var179
/* : String */;
8200 char* var180
/* : CString */;
8201 val
* var181
/* : String */;
8202 val
* var182
/* : nullable Int */;
8203 val
* var183
/* : nullable Int */;
8204 val
* var184
/* : nullable Bool */;
8205 val
* var185
/* : nullable Bool */;
8206 static val
* varonce186
;
8207 val
* var187
/* : String */;
8208 char* var188
/* : CString */;
8209 val
* var189
/* : String */;
8210 val
* var190
/* : nullable Int */;
8211 val
* var191
/* : nullable Int */;
8212 val
* var192
/* : nullable Bool */;
8213 val
* var193
/* : nullable Bool */;
8216 { /* Inline separate_erasure_compiler$SeparateErasureCompiler$vt_tables (self) on <self:SeparateErasureCompiler> */
8217 var3
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___vt_tables
].val
; /* _vt_tables on <self:SeparateErasureCompiler> */
8218 if (unlikely(var3
== NULL
)) {
8219 if(catchStack
.cursor
>= 0){
8220 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8222 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _vt_tables");
8223 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 428);
8231 var4
= ((val
*(*)(val
* self
, val
* p0
))((((long)var1
&3)?class_info
[((long)var1
&3)]:var1
->class)->vft
[COLOR_core__abstract_collection__MapRead___91d_93d
]))(var1
, var_mclass
); /* [] on <var1:Map[MClass, Array[nullable MPropDef]]>*/
8234 var5
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var4
);
8241 if (unlikely(varonce
==NULL
)) {
8242 var6
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
8243 if (likely(varonce7
!=NULL
)) {
8246 var9
= "vts_table_";
8247 var11
= (val
*)(10l<<2|1);
8248 var12
= (val
*)(10l<<2|1);
8249 var13
= (val
*)((long)(0)<<2|3);
8250 var14
= (val
*)((long)(0)<<2|3);
8251 var10
= core__flat___CString___to_s_unsafe(var9
, var11
, var12
, var13
, var14
);
8255 ((struct instance_core__NativeArray
*)var6
)->values
[0]=var8
;
8261 var15
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var_mclass
);
8263 ((struct instance_core__NativeArray
*)var6
)->values
[1]=var15
;
8265 var16
= ((val
*(*)(val
* self
))(var6
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var6
); /* native_to_s on <var6:NativeArray[String]>*/
8268 if (unlikely(varonce17
==NULL
)) {
8269 var18
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
8270 if (likely(varonce19
!=NULL
)) {
8273 var21
= "extern const struct vts_table vts_table_";
8274 var23
= (val
*)(40l<<2|1);
8275 var24
= (val
*)(40l<<2|1);
8276 var25
= (val
*)((long)(0)<<2|3);
8277 var26
= (val
*)((long)(0)<<2|3);
8278 var22
= core__flat___CString___to_s_unsafe(var21
, var23
, var24
, var25
, var26
);
8282 ((struct instance_core__NativeArray
*)var18
)->values
[0]=var20
;
8283 if (likely(varonce27
!=NULL
)) {
8287 var31
= (val
*)(1l<<2|1);
8288 var32
= (val
*)(1l<<2|1);
8289 var33
= (val
*)((long)(0)<<2|3);
8290 var34
= (val
*)((long)(0)<<2|3);
8291 var30
= core__flat___CString___to_s_unsafe(var29
, var31
, var32
, var33
, var34
);
8295 ((struct instance_core__NativeArray
*)var18
)->values
[2]=var28
;
8301 var35
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var_mclass
);
8303 ((struct instance_core__NativeArray
*)var18
)->values
[1]=var35
;
8305 var36
= ((val
*(*)(val
* self
))(var18
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var18
); /* native_to_s on <var18:NativeArray[String]>*/
8309 nitc___nitc__AbstractCompiler___provide_declaration(self
, var16
, var36
); /* Direct call abstract_compiler$AbstractCompiler$provide_declaration on <self:SeparateErasureCompiler>*/
8312 var37
= nitc___nitc__SeparateErasureCompiler___nitc__abstract_compiler__AbstractCompiler__new_visitor(self
);
8315 if (unlikely(varonce38
==NULL
)) {
8316 var39
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
8317 if (likely(varonce40
!=NULL
)) {
8320 var42
= "const struct vts_table vts_table_";
8321 var44
= (val
*)(33l<<2|1);
8322 var45
= (val
*)(33l<<2|1);
8323 var46
= (val
*)((long)(0)<<2|3);
8324 var47
= (val
*)((long)(0)<<2|3);
8325 var43
= core__flat___CString___to_s_unsafe(var42
, var44
, var45
, var46
, var47
);
8329 ((struct instance_core__NativeArray
*)var39
)->values
[0]=var41
;
8330 if (likely(varonce48
!=NULL
)) {
8334 var52
= (val
*)(4l<<2|1);
8335 var53
= (val
*)(4l<<2|1);
8336 var54
= (val
*)((long)(0)<<2|3);
8337 var55
= (val
*)((long)(0)<<2|3);
8338 var51
= core__flat___CString___to_s_unsafe(var50
, var52
, var53
, var54
, var55
);
8342 ((struct instance_core__NativeArray
*)var39
)->values
[2]=var49
;
8348 var56
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var_mclass
);
8350 ((struct instance_core__NativeArray
*)var39
)->values
[1]=var56
;
8352 var57
= ((val
*(*)(val
* self
))(var39
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var39
); /* native_to_s on <var39:NativeArray[String]>*/
8356 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var57
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
8358 if (likely(varonce58
!=NULL
)) {
8361 var60
= "0, /* dummy */";
8362 var62
= (val
*)(14l<<2|1);
8363 var63
= (val
*)(14l<<2|1);
8364 var64
= (val
*)((long)(0)<<2|3);
8365 var65
= (val
*)((long)(0)<<2|3);
8366 var61
= core__flat___CString___to_s_unsafe(var60
, var62
, var63
, var64
, var65
);
8371 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var59
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
8373 if (likely(varonce66
!=NULL
)) {
8377 var70
= (val
*)(1l<<2|1);
8378 var71
= (val
*)(1l<<2|1);
8379 var72
= (val
*)((long)(0)<<2|3);
8380 var73
= (val
*)((long)(0)<<2|3);
8381 var69
= core__flat___CString___to_s_unsafe(var68
, var70
, var71
, var72
, var73
);
8386 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var67
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
8389 { /* Inline separate_erasure_compiler$SeparateErasureCompiler$vt_tables (self) on <self:SeparateErasureCompiler> */
8390 var76
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___vt_tables
].val
; /* _vt_tables on <self:SeparateErasureCompiler> */
8391 if (unlikely(var76
== NULL
)) {
8392 if(catchStack
.cursor
>= 0){
8393 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8395 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _vt_tables");
8396 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 428);
8400 RET_LABEL75
:(void)0;
8404 var77
= ((val
*(*)(val
* self
, val
* p0
))((((long)var74
&3)?class_info
[((long)var74
&3)]:var74
->class)->vft
[COLOR_core__abstract_collection__MapRead___91d_93d
]))(var74
, var_mclass
); /* [] on <var74:Map[MClass, Array[nullable MPropDef]]>*/
8408 var78
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
8413 var80
= ((short int(*)(val
* self
))((((long)var_79
&3)?class_info
[((long)var_79
&3)]:var_79
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_79
); /* is_ok on <var_79:IndexedIterator[nullable MPropDef]>*/
8420 var81
= ((val
*(*)(val
* self
))((((long)var_79
&3)?class_info
[((long)var_79
&3)]:var_79
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_79
); /* item on <var_79:IndexedIterator[nullable MPropDef]>*/
8423 if (var_vt
== NULL
) {
8424 var82
= 1; /* is null */
8426 var82
= 0; /* arg is null but recv is not */
8429 { /* Inline kernel$Object$== (var_vt,((val*)NULL)) on <var_vt:nullable MPropDef> */
8430 var_other
= ((val
*)NULL
);
8432 { /* Inline kernel$Object$is_same_instance (var_vt,var_other) on <var_vt:nullable MPropDef(MPropDef)> */
8433 var87
= var_vt
== var_other
;
8436 RET_LABEL86
:(void)0;
8441 RET_LABEL84
:(void)0;
8446 if (likely(varonce88
!=NULL
)) {
8449 var90
= "{-1, NULL}, /* empty */";
8450 var92
= (val
*)(23l<<2|1);
8451 var93
= (val
*)(23l<<2|1);
8452 var94
= (val
*)((long)(0)<<2|3);
8453 var95
= (val
*)((long)(0)<<2|3);
8454 var91
= core__flat___CString___to_s_unsafe(var90
, var92
, var93
, var94
, var95
);
8459 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var89
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
8464 { /* Inline model$MClass$intro (var_mclass) on <var_mclass:MClass> */
8465 var98
= var_mclass
->attrs
[COLOR_nitc__model__MClass___intro
].val
; /* _intro on <var_mclass:MClass> */
8466 if (unlikely(var98
== NULL
)) {
8467 if(catchStack
.cursor
>= 0){
8468 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8470 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
8471 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 496);
8475 RET_LABEL97
:(void)0;
8479 { /* Inline model$MClassDef$bound_mtype (var96) on <var96:MClassDef> */
8480 var101
= var96
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var96:MClassDef> */
8481 if (unlikely(var101
== NULL
)) {
8482 if(catchStack
.cursor
>= 0){
8483 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8485 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
8486 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 594);
8490 RET_LABEL100
:(void)0;
8493 /* <var_vt:nullable MPropDef(MPropDef)> isa MVirtualTypeDef */
8494 cltype
= type_nitc__MVirtualTypeDef
.color
;
8495 idtype
= type_nitc__MVirtualTypeDef
.id
;
8496 if(cltype
>= var_vt
->type
->table_size
) {
8499 var102
= var_vt
->type
->type_table
[cltype
] == idtype
;
8501 if (unlikely(!var102
)) {
8502 var_class_name
= var_vt
== NULL ?
"null" : var_vt
->type
->name
;
8503 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MVirtualTypeDef", var_class_name
);
8504 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 389);
8508 { /* Inline model$MVirtualTypeDef$bound (var_vt) on <var_vt:nullable MPropDef(MVirtualTypeDef)> */
8509 var105
= var_vt
->attrs
[COLOR_nitc__model__MVirtualTypeDef___bound
].val
; /* _bound on <var_vt:nullable MPropDef(MVirtualTypeDef)> */
8511 RET_LABEL104
:(void)0;
8515 var106
= nitc___nitc__SeparateErasureCompiler___retrieve_vt_bound(self
, var99
, var103
);
8519 /* <var_bound:MType> isa MNullableType */
8520 cltype108
= type_nitc__MNullableType
.color
;
8521 idtype109
= type_nitc__MNullableType
.id
;
8522 if(cltype108
>= var_bound
->type
->table_size
) {
8525 var107
= var_bound
->type
->type_table
[cltype108
] == idtype109
;
8529 { /* Inline model$MClass$intro (var_mclass) on <var_mclass:MClass> */
8530 var112
= var_mclass
->attrs
[COLOR_nitc__model__MClass___intro
].val
; /* _intro on <var_mclass:MClass> */
8531 if (unlikely(var112
== NULL
)) {
8532 if(catchStack
.cursor
>= 0){
8533 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8535 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
8536 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 496);
8540 RET_LABEL111
:(void)0;
8544 { /* Inline model$MClassDef$bound_mtype (var110) on <var110:MClassDef> */
8545 var115
= var110
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var110:MClassDef> */
8546 if (unlikely(var115
== NULL
)) {
8547 if(catchStack
.cursor
>= 0){
8548 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8550 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
8551 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 594);
8555 RET_LABEL114
:(void)0;
8559 { /* Inline model$MProxyType$mtype (var_bound) on <var_bound:MType(MNullableType)> */
8560 var118
= var_bound
->attrs
[COLOR_nitc__model__MProxyType___mtype
].val
; /* _mtype on <var_bound:MType(MNullableType)> */
8561 if (unlikely(var118
== NULL
)) {
8562 if(catchStack
.cursor
>= 0){
8563 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8565 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8566 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1689);
8570 RET_LABEL117
:(void)0;
8574 var119
= nitc___nitc__SeparateErasureCompiler___retrieve_vt_bound(self
, var113
, var116
);
8579 goto BREAK_label120
;
8582 BREAK_label120
: (void)0;
8583 /* <var_bound:MType> isa MClassType */
8584 cltype122
= type_nitc__MClassType
.color
;
8585 idtype123
= type_nitc__MClassType
.id
;
8586 if(cltype122
>= var_bound
->type
->table_size
) {
8589 var121
= var_bound
->type
->type_table
[cltype122
] == idtype123
;
8591 if (unlikely(!var121
)) {
8592 var_class_name124
= var_bound
== NULL ?
"null" : var_bound
->type
->name
;
8593 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name124
);
8594 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 394);
8598 { /* Inline model$MClassType$mclass (var_bound) on <var_bound:MType(MClassType)> */
8599 var127
= var_bound
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_bound:MType(MClassType)> */
8600 if (unlikely(var127
== NULL
)) {
8601 if(catchStack
.cursor
>= 0){
8602 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8604 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8605 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
8609 RET_LABEL126
:(void)0;
8612 var_vtclass
= var125
;
8613 if (unlikely(varonce128
==NULL
)) {
8614 var129
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
8615 if (likely(varonce130
!=NULL
)) {
8616 var131
= varonce130
;
8619 var134
= (val
*)(6l<<2|1);
8620 var135
= (val
*)(6l<<2|1);
8621 var136
= (val
*)((long)(0)<<2|3);
8622 var137
= (val
*)((long)(0)<<2|3);
8623 var133
= core__flat___CString___to_s_unsafe(var132
, var134
, var135
, var136
, var137
);
8625 varonce130
= var131
;
8627 ((struct instance_core__NativeArray
*)var129
)->values
[0]=var131
;
8629 var129
= varonce128
;
8633 var138
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var_vtclass
);
8635 ((struct instance_core__NativeArray
*)var129
)->values
[1]=var138
;
8637 var139
= ((val
*(*)(val
* self
))(var129
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var129
); /* native_to_s on <var129:NativeArray[String]>*/
8639 varonce128
= var129
;
8641 nitc___nitc__AbstractCompilerVisitor___require_declaration(var_v
, var139
); /* Direct call abstract_compiler$AbstractCompilerVisitor$require_declaration on <var_v:SeparateCompilerVisitor>*/
8643 if (unlikely(varonce140
==NULL
)) {
8644 var141
= NEW_core__NativeArray((int)7l, &type_core__NativeArray__core__String
);
8645 if (likely(varonce142
!=NULL
)) {
8646 var143
= varonce142
;
8649 var146
= (val
*)(1l<<2|1);
8650 var147
= (val
*)(1l<<2|1);
8651 var148
= (val
*)((long)(0)<<2|3);
8652 var149
= (val
*)((long)(0)<<2|3);
8653 var145
= core__flat___CString___to_s_unsafe(var144
, var146
, var147
, var148
, var149
);
8655 varonce142
= var143
;
8657 ((struct instance_core__NativeArray
*)var141
)->values
[0]=var143
;
8658 if (likely(varonce150
!=NULL
)) {
8659 var151
= varonce150
;
8661 var152
= ", &class_";
8662 var154
= (val
*)(9l<<2|1);
8663 var155
= (val
*)(9l<<2|1);
8664 var156
= (val
*)((long)(0)<<2|3);
8665 var157
= (val
*)((long)(0)<<2|3);
8666 var153
= core__flat___CString___to_s_unsafe(var152
, var154
, var155
, var156
, var157
);
8668 varonce150
= var151
;
8670 ((struct instance_core__NativeArray
*)var141
)->values
[2]=var151
;
8671 if (likely(varonce158
!=NULL
)) {
8672 var159
= varonce158
;
8675 var162
= (val
*)(6l<<2|1);
8676 var163
= (val
*)(6l<<2|1);
8677 var164
= (val
*)((long)(0)<<2|3);
8678 var165
= (val
*)((long)(0)<<2|3);
8679 var161
= core__flat___CString___to_s_unsafe(var160
, var162
, var163
, var164
, var165
);
8681 varonce158
= var159
;
8683 ((struct instance_core__NativeArray
*)var141
)->values
[4]=var159
;
8684 if (likely(varonce166
!=NULL
)) {
8685 var167
= varonce166
;
8688 var170
= (val
*)(3l<<2|1);
8689 var171
= (val
*)(3l<<2|1);
8690 var172
= (val
*)((long)(0)<<2|3);
8691 var173
= (val
*)((long)(0)<<2|3);
8692 var169
= core__flat___CString___to_s_unsafe(var168
, var170
, var171
, var172
, var173
);
8694 varonce166
= var167
;
8696 ((struct instance_core__NativeArray
*)var141
)->values
[6]=var167
;
8698 var141
= varonce140
;
8701 var174
= core__flat___Int___core__abstract_text__Object__to_s(var_is_null
);
8702 ((struct instance_core__NativeArray
*)var141
)->values
[1]=var174
;
8704 var175
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var_vtclass
);
8706 ((struct instance_core__NativeArray
*)var141
)->values
[3]=var175
;
8708 var176
= ((val
*(*)(val
* self
))(var_vt
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_vt
); /* to_s on <var_vt:nullable MPropDef(MPropDef)>*/
8710 ((struct instance_core__NativeArray
*)var141
)->values
[5]=var176
;
8712 var177
= ((val
*(*)(val
* self
))(var141
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var141
); /* native_to_s on <var141:NativeArray[String]>*/
8714 varonce140
= var141
;
8716 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var177
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
8720 ((void(*)(val
* self
))((((long)var_79
&3)?class_info
[((long)var_79
&3)]:var_79
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_79
); /* next on <var_79:IndexedIterator[nullable MPropDef]>*/
8723 BREAK_label
: (void)0;
8725 ((void(*)(val
* self
))((((long)var_79
&3)?class_info
[((long)var_79
&3)]:var_79
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_79
); /* finish on <var_79:IndexedIterator[nullable MPropDef]>*/
8727 if (likely(varonce178
!=NULL
)) {
8728 var179
= varonce178
;
8731 var182
= (val
*)(2l<<2|1);
8732 var183
= (val
*)(2l<<2|1);
8733 var184
= (val
*)((long)(0)<<2|3);
8734 var185
= (val
*)((long)(0)<<2|3);
8735 var181
= core__flat___CString___to_s_unsafe(var180
, var182
, var183
, var184
, var185
);
8737 varonce178
= var179
;
8740 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var179
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
8742 if (likely(varonce186
!=NULL
)) {
8743 var187
= varonce186
;
8746 var190
= (val
*)(2l<<2|1);
8747 var191
= (val
*)(2l<<2|1);
8748 var192
= (val
*)((long)(0)<<2|3);
8749 var193
= (val
*)((long)(0)<<2|3);
8750 var189
= core__flat___CString___to_s_unsafe(var188
, var190
, var191
, var192
, var193
);
8752 varonce186
= var187
;
8755 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var187
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add_decl on <var_v:SeparateCompilerVisitor>*/
8762 /* method separate_erasure_compiler$SeparateErasureCompiler$retrieve_vt_bound for (self: SeparateErasureCompiler, MClassType, nullable MType): MType */
8763 val
* nitc___nitc__SeparateErasureCompiler___retrieve_vt_bound(val
* self
, val
* p0
, val
* p1
) {
8764 val
* var
/* : MType */;
8765 val
* var_anchor
/* var anchor: MClassType */;
8766 val
* var_mtype
/* var mtype: nullable MType */;
8767 short int var1
/* : Bool */;
8768 short int var2
/* : Bool */;
8769 val
* var_other
/* var other: nullable Object */;
8770 short int var4
/* : Bool */;
8771 short int var6
/* : Bool */;
8772 val
* var7
/* : Sys */;
8773 static val
* varonce
;
8774 val
* var8
/* : String */;
8775 char* var9
/* : CString */;
8776 val
* var10
/* : String */;
8777 val
* var11
/* : nullable Int */;
8778 val
* var12
/* : nullable Int */;
8779 val
* var13
/* : nullable Bool */;
8780 val
* var14
/* : nullable Bool */;
8781 short int var15
/* : Bool */;
8784 val
* var16
/* : MModule */;
8785 val
* var18
/* : MModule */;
8786 val
* var19
/* : MType */;
8787 short int var20
/* : Bool */;
8790 val
* var23
/* : MModule */;
8791 val
* var25
/* : MModule */;
8792 val
* var26
/* : MType */;
8795 if (var_mtype
== NULL
) {
8796 var1
= 1; /* is null */
8798 var1
= 0; /* arg is null but recv is not */
8801 { /* Inline kernel$Object$== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
8802 var_other
= ((val
*)NULL
);
8804 { /* Inline kernel$Object$is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
8805 var6
= var_mtype
== var_other
;
8819 if (likely(varonce
!=NULL
)) {
8822 var9
= "NOT YET IMPLEMENTED: retrieve_vt_bound on null";
8823 var11
= (val
*)(46l<<2|1);
8824 var12
= (val
*)(46l<<2|1);
8825 var13
= (val
*)((long)(0)<<2|3);
8826 var14
= (val
*)((long)(0)<<2|3);
8827 var10
= core__flat___CString___to_s_unsafe(var9
, var11
, var12
, var13
, var14
);
8832 core__file___Sys___print(var7
, var8
); /* Direct call file$Sys$print on <var7:Sys>*/
8834 if(catchStack
.cursor
>= 0){
8835 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8837 PRINT_ERROR("Runtime error: %s", "Aborted");
8838 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 407);
8842 /* <var_mtype:nullable MType(MType)> isa MVirtualType */
8843 cltype
= type_nitc__MVirtualType
.color
;
8844 idtype
= type_nitc__MVirtualType
.id
;
8845 if(cltype
>= var_mtype
->type
->table_size
) {
8848 var15
= var_mtype
->type
->type_table
[cltype
] == idtype
;
8852 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateErasureCompiler> */
8853 var18
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateErasureCompiler> */
8854 if (unlikely(var18
== NULL
)) {
8855 if(catchStack
.cursor
>= 0){
8856 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8858 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
8859 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
8863 RET_LABEL17
:(void)0;
8867 var19
= nitc___nitc__MType___anchor_to(var_mtype
, var16
, var_anchor
);
8872 /* <var_mtype:nullable MType(MType)> isa MParameterType */
8873 cltype21
= type_nitc__MParameterType
.color
;
8874 idtype22
= type_nitc__MParameterType
.id
;
8875 if(cltype21
>= var_mtype
->type
->table_size
) {
8878 var20
= var_mtype
->type
->type_table
[cltype21
] == idtype22
;
8882 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:SeparateErasureCompiler> */
8883 var25
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateErasureCompiler> */
8884 if (unlikely(var25
== NULL
)) {
8885 if(catchStack
.cursor
>= 0){
8886 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8888 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
8889 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
8893 RET_LABEL24
:(void)0;
8897 var26
= nitc___nitc__MType___anchor_to(var_mtype
, var23
, var_anchor
);
8909 /* method separate_erasure_compiler$SeparateErasureCompiler$compile_types for (self: SeparateErasureCompiler) */
8910 void nitc___nitc__SeparateErasureCompiler___nitc__separate_compiler__SeparateCompiler__compile_types(val
* self
) {
8911 val
* var
/* : Map[MVirtualTypeProp, Int] */;
8912 val
* var2
/* : Map[MVirtualTypeProp, Int] */;
8914 { /* Inline separate_erasure_compiler$SeparateErasureCompiler$vt_colors (self) on <self:SeparateErasureCompiler> */
8915 var2
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___vt_colors
].val
; /* _vt_colors on <self:SeparateErasureCompiler> */
8916 if (unlikely(var2
== NULL
)) {
8917 if(catchStack
.cursor
>= 0){
8918 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8920 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _vt_colors");
8921 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 86);
8929 nitc___nitc__SeparateCompiler___compile_color_consts(self
, var
); /* Direct call separate_compiler$SeparateCompiler$compile_color_consts on <self:SeparateErasureCompiler>*/
8933 /* method separate_erasure_compiler$SeparateErasureCompiler$new_visitor for (self: SeparateErasureCompiler): SeparateCompilerVisitor */
8934 val
* nitc___nitc__SeparateErasureCompiler___nitc__abstract_compiler__AbstractCompiler__new_visitor(val
* self
) {
8935 val
* var
/* : SeparateCompilerVisitor */;
8936 val
* var1
/* : SeparateErasureCompilerVisitor */;
8937 short int var2
/* : Bool */;
8940 const struct type
* type_struct
;
8941 const char* var_class_name
;
8942 var1
= NEW_nitc__SeparateErasureCompilerVisitor(&type_nitc__SeparateErasureCompilerVisitor
);
8944 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor__compiler_61d
]))(var1
, self
); /* compiler= on <var1:SeparateErasureCompilerVisitor>*/
8947 ((void(*)(val
* self
))(var1
->class->vft
[COLOR_core__kernel__Object__init
]))(var1
); /* init on <var1:SeparateErasureCompilerVisitor>*/
8949 /* <var1:SeparateErasureCompilerVisitor> isa VISITOR */
8950 type_struct
= self
->type
->resolution_table
->types
[COLOR_nitc__abstract_compiler__AbstractCompiler__VISITOR
];
8951 cltype
= type_struct
->color
;
8952 idtype
= type_struct
->id
;
8953 if(cltype
>= var1
->type
->table_size
) {
8956 var2
= var1
->type
->type_table
[cltype
] == idtype
;
8958 if (unlikely(!var2
)) {
8959 var_class_name
= var1
== NULL ?
"null" : var1
->type
->name
;
8960 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
8961 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 423);
8969 /* method separate_erasure_compiler$SeparateErasureCompiler$class_tables for (self: SeparateErasureCompiler): Map[MClass, Array[nullable MClass]] */
8970 val
* nitc___nitc__SeparateErasureCompiler___class_tables(val
* self
) {
8971 val
* var
/* : Map[MClass, Array[nullable MClass]] */;
8972 val
* var1
/* : Map[MClass, Array[nullable MClass]] */;
8973 var1
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___class_tables
].val
; /* _class_tables on <self:SeparateErasureCompiler> */
8974 if (unlikely(var1
== NULL
)) {
8975 if(catchStack
.cursor
>= 0){
8976 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8978 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _class_tables");
8979 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 427);
8986 /* method separate_erasure_compiler$SeparateErasureCompiler$class_tables= for (self: SeparateErasureCompiler, Map[MClass, Array[nullable MClass]]) */
8987 void nitc___nitc__SeparateErasureCompiler___class_tables_61d(val
* self
, val
* p0
) {
8988 self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___class_tables
].val
= p0
; /* _class_tables on <self:SeparateErasureCompiler> */
8991 /* method separate_erasure_compiler$SeparateErasureCompiler$vt_tables for (self: SeparateErasureCompiler): Map[MClass, Array[nullable MPropDef]] */
8992 val
* nitc___nitc__SeparateErasureCompiler___vt_tables(val
* self
) {
8993 val
* var
/* : Map[MClass, Array[nullable MPropDef]] */;
8994 val
* var1
/* : Map[MClass, Array[nullable MPropDef]] */;
8995 var1
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___vt_tables
].val
; /* _vt_tables on <self:SeparateErasureCompiler> */
8996 if (unlikely(var1
== NULL
)) {
8997 if(catchStack
.cursor
>= 0){
8998 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9000 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _vt_tables");
9001 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 428);
9008 /* method separate_erasure_compiler$SeparateErasureCompiler$vt_tables= for (self: SeparateErasureCompiler, Map[MClass, Array[nullable MPropDef]]) */
9009 void nitc___nitc__SeparateErasureCompiler___vt_tables_61d(val
* self
, val
* p0
) {
9010 self
->attrs
[COLOR_nitc__separate_erasure_compiler__SeparateErasureCompiler___vt_tables
].val
= p0
; /* _vt_tables on <self:SeparateErasureCompiler> */