1 #include "nitc__separate_compiler.sep.0.h"
2 /* method separate_compiler#SeparateCompiler#compile_type_resolution_table for (self: SeparateCompiler, MType) */
3 void nitc___nitc__SeparateCompiler___compile_type_resolution_table(val
* self
, val
* p0
) {
4 val
* var_mtype
/* var mtype: MType */;
5 val
* var
/* : MType */;
6 short int var1
/* : Bool */;
9 const char* var_class_name
;
10 val
* var_mclass_type
/* var mclass_type: MClassType */;
11 val
* var2
/* : NativeArray[String] */;
14 val
* var4
/* : String */;
15 char* var5
/* : NativeString */;
16 val
* var6
/* : String */;
17 val
* var7
/* : String */;
18 val
* var8
/* : String */;
19 val
* var10
/* : NativeArray[String] */;
21 static val
* varonce11
;
22 val
* var12
/* : String */;
23 char* var13
/* : NativeString */;
24 val
* var14
/* : String */;
25 static val
* varonce15
;
26 val
* var16
/* : String */;
27 char* var17
/* : NativeString */;
28 val
* var18
/* : String */;
29 val
* var19
/* : String */;
30 val
* var20
/* : String */;
31 val
* var21
/* : AbstractCompilerVisitor */;
32 val
* var_v
/* var v: SeparateCompilerVisitor */;
33 val
* var23
/* : NativeArray[String] */;
34 static val
* varonce22
;
35 static val
* varonce24
;
36 val
* var25
/* : String */;
37 char* var26
/* : NativeString */;
38 val
* var27
/* : String */;
39 static val
* varonce28
;
40 val
* var29
/* : String */;
41 char* var30
/* : NativeString */;
42 val
* var31
/* : String */;
43 val
* var32
/* : String */;
44 val
* var33
/* : String */;
45 static val
* varonce34
;
46 val
* var35
/* : String */;
47 char* var36
/* : NativeString */;
48 val
* var37
/* : String */;
49 static val
* varonce38
;
50 val
* var39
/* : String */;
51 char* var40
/* : NativeString */;
52 val
* var41
/* : String */;
53 val
* var42
/* : Map[MClassType, Array[nullable MType]] */;
54 val
* var44
/* : Map[MClassType, Array[nullable MType]] */;
55 val
* var45
/* : nullable Object */;
56 val
* var_
/* var : Array[nullable MType] */;
57 val
* var46
/* : IndexedIterator[nullable Object] */;
58 val
* var_47
/* var : IndexedIterator[nullable MType] */;
59 short int var48
/* : Bool */;
60 val
* var49
/* : nullable Object */;
61 val
* var_t
/* var t: nullable MType */;
62 short int var50
/* : Bool */;
63 short int var51
/* : Bool */;
64 val
* var_other
/* var other: nullable Object */;
65 short int var53
/* : Bool */;
66 short int var55
/* : Bool */;
67 static val
* varonce56
;
68 val
* var57
/* : String */;
69 char* var58
/* : NativeString */;
70 val
* var59
/* : String */;
71 val
* var60
/* : MModule */;
72 val
* var62
/* : MModule */;
73 val
* var63
/* : MType */;
74 val
* var_tv
/* var tv: MType */;
75 val
* var64
/* : Map[MType, Int] */;
76 val
* var66
/* : Map[MType, Int] */;
77 short int var67
/* : Bool */;
78 val
* var69
/* : NativeArray[String] */;
79 static val
* varonce68
;
80 static val
* varonce70
;
81 val
* var71
/* : String */;
82 char* var72
/* : NativeString */;
83 val
* var73
/* : String */;
84 val
* var74
/* : String */;
85 val
* var75
/* : String */;
86 val
* var77
/* : NativeArray[String] */;
87 static val
* varonce76
;
88 static val
* varonce78
;
89 val
* var79
/* : String */;
90 char* var80
/* : NativeString */;
91 val
* var81
/* : String */;
92 static val
* varonce82
;
93 val
* var83
/* : String */;
94 char* var84
/* : NativeString */;
95 val
* var85
/* : String */;
96 static val
* varonce86
;
97 val
* var87
/* : String */;
98 char* var88
/* : NativeString */;
99 val
* var89
/* : String */;
100 static val
* varonce90
;
101 val
* var91
/* : String */;
102 char* var92
/* : NativeString */;
103 val
* var93
/* : String */;
104 val
* var94
/* : String */;
105 val
* var95
/* : String */;
106 val
* var96
/* : String */;
107 val
* var97
/* : String */;
108 val
* var99
/* : NativeArray[String] */;
109 static val
* varonce98
;
110 static val
* varonce100
;
111 val
* var101
/* : String */;
112 char* var102
/* : NativeString */;
113 val
* var103
/* : String */;
114 static val
* varonce104
;
115 val
* var105
/* : String */;
116 char* var106
/* : NativeString */;
117 val
* var107
/* : String */;
118 static val
* varonce108
;
119 val
* var109
/* : String */;
120 char* var110
/* : NativeString */;
121 val
* var111
/* : String */;
122 val
* var112
/* : String */;
123 val
* var113
/* : String */;
124 val
* var114
/* : String */;
125 static val
* varonce115
;
126 val
* var116
/* : String */;
127 char* var117
/* : NativeString */;
128 val
* var118
/* : String */;
129 static val
* varonce119
;
130 val
* var120
/* : String */;
131 char* var121
/* : NativeString */;
132 val
* var122
/* : String */;
135 var
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model__MType__undecorate
]))(var_mtype
); /* undecorate on <var_mtype:MType>*/
137 /* <var:MType> isa MClassType */
138 cltype
= type_nitc__MClassType
.color
;
139 idtype
= type_nitc__MClassType
.id
;
140 if(cltype
>= var
->type
->table_size
) {
143 var1
= var
->type
->type_table
[cltype
] == idtype
;
145 if (unlikely(!var1
)) {
146 var_class_name
= var
== NULL ?
"null" : var
->type
->name
;
147 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
148 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 781);
151 var_mclass_type
= var
;
152 if (unlikely(varonce
==NULL
)) {
153 var2
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
154 if (likely(varonce3
!=NULL
)) {
157 var5
= "resolution_table_";
158 var6
= core__flat___NativeString___to_s_full(var5
, 17l, 17l);
162 ((struct instance_core__NativeArray
*)var2
)->values
[0]=var4
;
168 var7
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MType>*/
170 ((struct instance_core__NativeArray
*)var2
)->values
[1]=var7
;
172 var8
= ((val
*(*)(val
* self
))(var2
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var2
); /* native_to_s on <var2:NativeArray[String]>*/
175 if (unlikely(varonce9
==NULL
)) {
176 var10
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
177 if (likely(varonce11
!=NULL
)) {
180 var13
= "extern const struct types resolution_table_";
181 var14
= core__flat___NativeString___to_s_full(var13
, 43l, 43l);
185 ((struct instance_core__NativeArray
*)var10
)->values
[0]=var12
;
186 if (likely(varonce15
!=NULL
)) {
190 var18
= core__flat___NativeString___to_s_full(var17
, 1l, 1l);
194 ((struct instance_core__NativeArray
*)var10
)->values
[2]=var16
;
200 var19
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MType>*/
202 ((struct instance_core__NativeArray
*)var10
)->values
[1]=var19
;
204 var20
= ((val
*(*)(val
* self
))(var10
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var10
); /* native_to_s on <var10:NativeArray[String]>*/
208 nitc___nitc__AbstractCompiler___provide_declaration(self
, var8
, var20
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
211 var21
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__abstract_compiler__AbstractCompiler__new_visitor
]))(self
); /* new_visitor on <self:SeparateCompiler>*/
214 if (unlikely(varonce22
==NULL
)) {
215 var23
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
216 if (likely(varonce24
!=NULL
)) {
219 var26
= "const struct types resolution_table_";
220 var27
= core__flat___NativeString___to_s_full(var26
, 36l, 36l);
224 ((struct instance_core__NativeArray
*)var23
)->values
[0]=var25
;
225 if (likely(varonce28
!=NULL
)) {
229 var31
= core__flat___NativeString___to_s_full(var30
, 4l, 4l);
233 ((struct instance_core__NativeArray
*)var23
)->values
[2]=var29
;
239 var32
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MType>*/
241 ((struct instance_core__NativeArray
*)var23
)->values
[1]=var32
;
243 var33
= ((val
*(*)(val
* self
))(var23
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var23
); /* native_to_s on <var23:NativeArray[String]>*/
247 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var33
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
249 if (likely(varonce34
!=NULL
)) {
252 var36
= "0, /* dummy */";
253 var37
= core__flat___NativeString___to_s_full(var36
, 14l, 14l);
258 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var35
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
260 if (likely(varonce38
!=NULL
)) {
264 var41
= core__flat___NativeString___to_s_full(var40
, 1l, 1l);
269 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var39
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
272 { /* Inline separate_compiler#SeparateCompiler#resolution_tables (self) on <self:SeparateCompiler> */
273 var44
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___resolution_tables
].val
; /* _resolution_tables on <self:SeparateCompiler> */
274 if (unlikely(var44
== NULL
)) {
275 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _resolution_tables");
276 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 1066);
284 var45
= ((val
*(*)(val
* self
, val
* p0
))((((long)var42
&3)?class_info
[((long)var42
&3)]:var42
->class)->vft
[COLOR_core__abstract_collection__MapRead___91d_93d
]))(var42
, var_mclass_type
); /* [] on <var42:Map[MClassType, Array[nullable MType]]>*/
288 var46
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
293 var48
= ((short int(*)(val
* self
))((((long)var_47
&3)?class_info
[((long)var_47
&3)]:var_47
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_47
); /* is_ok on <var_47:IndexedIterator[nullable MType]>*/
300 var49
= ((val
*(*)(val
* self
))((((long)var_47
&3)?class_info
[((long)var_47
&3)]:var_47
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_47
); /* item on <var_47:IndexedIterator[nullable MType]>*/
304 var50
= 1; /* is null */
306 var50
= 0; /* arg is null but recv is not */
309 { /* Inline kernel#Object#== (var_t,((val*)NULL)) on <var_t:nullable MType> */
310 var_other
= ((val
*)NULL
);
312 { /* Inline kernel#Object#is_same_instance (var_t,var_other) on <var_t:nullable MType(MType)> */
313 var55
= var_t
== var_other
;
326 if (likely(varonce56
!=NULL
)) {
329 var58
= "NULL, /* empty */";
330 var59
= core__flat___NativeString___to_s_full(var58
, 17l, 17l);
335 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var57
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
339 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
340 var62
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
341 if (unlikely(var62
== NULL
)) {
342 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
343 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 531);
351 var63
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(var_t
->class->vft
[COLOR_nitc__model__MType__resolve_for
]))(var_t
, var_mclass_type
, var_mclass_type
, var60
, 1); /* resolve_for on <var_t:nullable MType(MType)>*/
355 { /* Inline separate_compiler#SeparateCompiler#type_ids (self) on <self:SeparateCompiler> */
356 var66
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___type_ids
].val
; /* _type_ids on <self:SeparateCompiler> */
357 if (unlikely(var66
== NULL
)) {
358 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_ids");
359 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 149);
367 var67
= ((short int(*)(val
* self
, val
* p0
))((((long)var64
&3)?class_info
[((long)var64
&3)]:var64
->class)->vft
[COLOR_core__abstract_collection__MapRead__has_key
]))(var64
, var_tv
); /* has_key on <var64:Map[MType, Int]>*/
370 if (unlikely(varonce68
==NULL
)) {
371 var69
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
372 if (likely(varonce70
!=NULL
)) {
376 var73
= core__flat___NativeString___to_s_full(var72
, 5l, 5l);
380 ((struct instance_core__NativeArray
*)var69
)->values
[0]=var71
;
386 var74
= ((val
*(*)(val
* self
))(var_tv
->class->vft
[COLOR_nitc__model_base__MEntity__c_name
]))(var_tv
); /* c_name on <var_tv:MType>*/
388 ((struct instance_core__NativeArray
*)var69
)->values
[1]=var74
;
390 var75
= ((val
*(*)(val
* self
))(var69
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var69
); /* native_to_s on <var69:NativeArray[String]>*/
394 nitc___nitc__AbstractCompilerVisitor___require_declaration(var_v
, var75
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
396 if (unlikely(varonce76
==NULL
)) {
397 var77
= NEW_core__NativeArray(7l, &type_core__NativeArray__core__String
);
398 if (likely(varonce78
!=NULL
)) {
402 var81
= core__flat___NativeString___to_s_full(var80
, 6l, 6l);
406 ((struct instance_core__NativeArray
*)var77
)->values
[0]=var79
;
407 if (likely(varonce82
!=NULL
)) {
411 var85
= core__flat___NativeString___to_s_full(var84
, 5l, 5l);
415 ((struct instance_core__NativeArray
*)var77
)->values
[2]=var83
;
416 if (likely(varonce86
!=NULL
)) {
420 var89
= core__flat___NativeString___to_s_full(var88
, 2l, 2l);
424 ((struct instance_core__NativeArray
*)var77
)->values
[4]=var87
;
425 if (likely(varonce90
!=NULL
)) {
429 var93
= core__flat___NativeString___to_s_full(var92
, 3l, 3l);
433 ((struct instance_core__NativeArray
*)var77
)->values
[6]=var91
;
439 var94
= ((val
*(*)(val
* self
))(var_tv
->class->vft
[COLOR_nitc__model_base__MEntity__c_name
]))(var_tv
); /* c_name on <var_tv:MType>*/
441 ((struct instance_core__NativeArray
*)var77
)->values
[1]=var94
;
443 var95
= ((val
*(*)(val
* self
))(var_t
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_t
); /* to_s on <var_t:nullable MType(MType)>*/
445 ((struct instance_core__NativeArray
*)var77
)->values
[3]=var95
;
447 var96
= ((val
*(*)(val
* self
))(var_tv
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_tv
); /* to_s on <var_tv:MType>*/
449 ((struct instance_core__NativeArray
*)var77
)->values
[5]=var96
;
451 var97
= ((val
*(*)(val
* self
))(var77
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var77
); /* native_to_s on <var77:NativeArray[String]>*/
455 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var97
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
458 if (unlikely(varonce98
==NULL
)) {
459 var99
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
460 if (likely(varonce100
!=NULL
)) {
463 var102
= "NULL, /* empty (";
464 var103
= core__flat___NativeString___to_s_full(var102
, 16l, 16l);
468 ((struct instance_core__NativeArray
*)var99
)->values
[0]=var101
;
469 if (likely(varonce104
!=NULL
)) {
473 var107
= core__flat___NativeString___to_s_full(var106
, 2l, 2l);
477 ((struct instance_core__NativeArray
*)var99
)->values
[2]=var105
;
478 if (likely(varonce108
!=NULL
)) {
481 var110
= " not a live type) */";
482 var111
= core__flat___NativeString___to_s_full(var110
, 20l, 20l);
486 ((struct instance_core__NativeArray
*)var99
)->values
[4]=var109
;
492 var112
= ((val
*(*)(val
* self
))(var_t
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_t
); /* to_s on <var_t:nullable MType(MType)>*/
494 ((struct instance_core__NativeArray
*)var99
)->values
[1]=var112
;
496 var113
= ((val
*(*)(val
* self
))(var_tv
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_tv
); /* to_s on <var_tv:MType>*/
498 ((struct instance_core__NativeArray
*)var99
)->values
[3]=var113
;
500 var114
= ((val
*(*)(val
* self
))(var99
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var99
); /* native_to_s on <var99:NativeArray[String]>*/
504 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var114
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
509 ((void(*)(val
* self
))((((long)var_47
&3)?class_info
[((long)var_47
&3)]:var_47
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_47
); /* next on <var_47:IndexedIterator[nullable MType]>*/
512 BREAK_label
: (void)0;
514 ((void(*)(val
* self
))((((long)var_47
&3)?class_info
[((long)var_47
&3)]:var_47
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_47
); /* finish on <var_47:IndexedIterator[nullable MType]>*/
516 if (likely(varonce115
!=NULL
)) {
520 var118
= core__flat___NativeString___to_s_full(var117
, 1l, 1l);
525 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var116
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
527 if (likely(varonce119
!=NULL
)) {
531 var122
= core__flat___NativeString___to_s_full(var121
, 2l, 2l);
536 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var120
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
540 /* method separate_compiler#SeparateCompiler#compile_class_to_c for (self: SeparateCompiler, MClass) */
541 void nitc___nitc__SeparateCompiler___compile_class_to_c(val
* self
, val
* p0
) {
542 val
* var_mclass
/* var mclass: MClass */;
543 short int var
/* : Bool */;
544 short int var2
/* : Bool */;
545 val
* var3
/* : MClassDef */;
546 val
* var5
/* : MClassDef */;
547 val
* var6
/* : MClassType */;
548 val
* var8
/* : MClassType */;
549 val
* var_mtype
/* var mtype: MClassType */;
550 val
* var9
/* : String */;
551 val
* var_c_name
/* var c_name: String */;
552 val
* var10
/* : AbstractCompilerVisitor */;
553 val
* var_v
/* var v: SeparateCompilerVisitor */;
554 val
* var11
/* : nullable RapidTypeAnalysis */;
555 val
* var13
/* : nullable RapidTypeAnalysis */;
556 val
* var_rta
/* var rta: nullable RapidTypeAnalysis */;
557 short int var14
/* : Bool */;
558 short int var15
/* : Bool */;
559 short int var16
/* : Bool */;
560 val
* var_other
/* var other: nullable Object */;
561 short int var18
/* : Bool */;
562 short int var19
/* : Bool */;
563 short int var_
/* var : Bool */;
564 val
* var20
/* : HashSet[MClass] */;
565 val
* var22
/* : HashSet[MClass] */;
566 short int var23
/* : Bool */;
567 short int var24
/* : Bool */;
568 short int var_is_dead
/* var is_dead: Bool */;
569 short int var25
/* : Bool */;
570 short int var26
/* : Bool */;
571 short int var27
/* : Bool */;
572 short int var_28
/* var : Bool */;
573 short int var29
/* : Bool */;
574 short int var_30
/* var : Bool */;
575 val
* var31
/* : MClassKind */;
576 val
* var33
/* : MClassKind */;
577 val
* var34
/* : Sys */;
578 val
* var35
/* : MClassKind */;
579 short int var36
/* : Bool */;
580 val
* var_other38
/* var other: nullable Object */;
581 short int var39
/* : Bool */;
582 short int var41
/* : Bool */;
583 short int var_42
/* var : Bool */;
584 val
* var43
/* : MClassKind */;
585 val
* var45
/* : MClassKind */;
586 val
* var46
/* : Sys */;
587 val
* var47
/* : MClassKind */;
588 short int var48
/* : Bool */;
589 short int var50
/* : Bool */;
590 short int var52
/* : Bool */;
591 short int var_need_corpse
/* var need_corpse: Bool */;
592 val
* var53
/* : NativeArray[String] */;
594 static val
* varonce54
;
595 val
* var55
/* : String */;
596 char* var56
/* : NativeString */;
597 val
* var57
/* : String */;
598 static val
* varonce58
;
599 val
* var59
/* : String */;
600 char* var60
/* : NativeString */;
601 val
* var61
/* : String */;
602 static val
* varonce62
;
603 val
* var63
/* : String */;
604 char* var64
/* : NativeString */;
605 val
* var65
/* : String */;
606 static val
* varonce66
;
607 val
* var67
/* : String */;
608 char* var68
/* : NativeString */;
609 val
* var69
/* : String */;
610 static val
* varonce70
;
611 val
* var71
/* : String */;
612 char* var72
/* : NativeString */;
613 val
* var73
/* : String */;
614 val
* var74
/* : String */;
615 val
* var75
/* : String */;
616 val
* var76
/* : String */;
617 val
* var77
/* : String */;
618 short int var78
/* : Bool */;
619 short int var79
/* : Bool */;
620 short int var_80
/* var : Bool */;
621 val
* var82
/* : NativeArray[String] */;
622 static val
* varonce81
;
623 static val
* varonce83
;
624 val
* var84
/* : String */;
625 char* var85
/* : NativeString */;
626 val
* var86
/* : String */;
627 val
* var87
/* : String */;
628 val
* var89
/* : NativeArray[String] */;
629 static val
* varonce88
;
630 static val
* varonce90
;
631 val
* var91
/* : String */;
632 char* var92
/* : NativeString */;
633 val
* var93
/* : String */;
634 static val
* varonce94
;
635 val
* var95
/* : String */;
636 char* var96
/* : NativeString */;
637 val
* var97
/* : String */;
638 val
* var98
/* : String */;
639 val
* var100
/* : NativeArray[String] */;
640 static val
* varonce99
;
641 static val
* varonce101
;
642 val
* var102
/* : String */;
643 char* var103
/* : NativeString */;
644 val
* var104
/* : String */;
645 static val
* varonce105
;
646 val
* var106
/* : String */;
647 char* var107
/* : NativeString */;
648 val
* var108
/* : String */;
649 val
* var109
/* : String */;
650 val
* var111
/* : NativeArray[String] */;
651 static val
* varonce110
;
652 static val
* varonce112
;
653 val
* var113
/* : String */;
654 char* var114
/* : NativeString */;
655 val
* var115
/* : String */;
656 long var116
/* : Int */;
657 val
* var117
/* : String */;
658 val
* var118
/* : String */;
659 static val
* varonce119
;
660 val
* var120
/* : String */;
661 char* var121
/* : NativeString */;
662 val
* var122
/* : String */;
663 val
* var123
/* : Map[MClass, Array[nullable MPropDef]] */;
664 val
* var125
/* : Map[MClass, Array[nullable MPropDef]] */;
665 val
* var126
/* : nullable Object */;
666 val
* var_vft
/* var vft: nullable Array[nullable MPropDef] */;
667 short int var127
/* : Bool */;
668 short int var128
/* : Bool */;
669 short int var130
/* : Bool */;
670 short int var131
/* : Bool */;
671 long var_i
/* var i: Int */;
672 long var132
/* : Int */;
673 long var134
/* : Int */;
674 long var_135
/* var : Int */;
675 short int var136
/* : Bool */;
676 short int var138
/* : Bool */;
679 const char* var_class_name
;
680 short int var139
/* : Bool */;
681 val
* var140
/* : nullable Object */;
682 val
* var_mpropdef
/* var mpropdef: nullable MPropDef */;
683 short int var141
/* : Bool */;
684 short int var142
/* : Bool */;
685 short int var144
/* : Bool */;
686 short int var146
/* : Bool */;
687 static val
* varonce147
;
688 val
* var148
/* : String */;
689 char* var149
/* : NativeString */;
690 val
* var150
/* : String */;
691 short int var151
/* : Bool */;
694 short int var154
/* : Bool */;
695 short int var155
/* : Bool */;
696 short int var156
/* : Bool */;
697 short int var158
/* : Bool */;
698 short int var159
/* : Bool */;
699 short int var_160
/* var : Bool */;
700 val
* var161
/* : HashSet[MMethodDef] */;
701 val
* var163
/* : HashSet[MMethodDef] */;
702 short int var164
/* : Bool */;
703 short int var165
/* : Bool */;
704 val
* var167
/* : NativeArray[String] */;
705 static val
* varonce166
;
706 static val
* varonce168
;
707 val
* var169
/* : String */;
708 char* var170
/* : NativeString */;
709 val
* var171
/* : String */;
710 static val
* varonce172
;
711 val
* var173
/* : String */;
712 char* var174
/* : NativeString */;
713 val
* var175
/* : String */;
714 static val
* varonce176
;
715 val
* var177
/* : String */;
716 char* var178
/* : NativeString */;
717 val
* var179
/* : String */;
718 static val
* varonce180
;
719 val
* var181
/* : String */;
720 char* var182
/* : NativeString */;
721 val
* var183
/* : String */;
722 val
* var184
/* : MModule */;
723 val
* var186
/* : MModule */;
724 val
* var187
/* : String */;
725 val
* var188
/* : String */;
726 val
* var189
/* : String */;
727 val
* var190
/* : String */;
728 short int var192
/* : Bool */;
729 short int var193
/* : Bool */;
730 short int var194
/* : Bool */;
731 short int var196
/* : Bool */;
732 short int var_197
/* var : Bool */;
733 val
* var198
/* : nullable MSignature */;
734 val
* var200
/* : nullable MSignature */;
735 short int var201
/* : Bool */;
736 short int var202
/* : Bool */;
737 short int var204
/* : Bool */;
738 short int var206
/* : Bool */;
739 short int var_207
/* var : Bool */;
740 val
* var208
/* : MProperty */;
741 val
* var210
/* : MProperty */;
742 short int var211
/* : Bool */;
743 short int var213
/* : Bool */;
744 val
* var215
/* : NativeArray[String] */;
745 static val
* varonce214
;
746 static val
* varonce216
;
747 val
* var217
/* : String */;
748 char* var218
/* : NativeString */;
749 val
* var219
/* : String */;
750 static val
* varonce220
;
751 val
* var221
/* : String */;
752 char* var222
/* : NativeString */;
753 val
* var223
/* : String */;
754 static val
* varonce224
;
755 val
* var225
/* : String */;
756 char* var226
/* : NativeString */;
757 val
* var227
/* : String */;
758 static val
* varonce228
;
759 val
* var229
/* : String */;
760 char* var230
/* : NativeString */;
761 val
* var231
/* : String */;
762 val
* var232
/* : MModule */;
763 val
* var234
/* : MModule */;
764 val
* var235
/* : String */;
765 val
* var236
/* : String */;
766 val
* var237
/* : String */;
767 val
* var238
/* : String */;
768 val
* var239
/* : SeparateRuntimeFunction */;
769 val
* var_rf
/* var rf: SeparateRuntimeFunction */;
770 val
* var240
/* : String */;
771 val
* var242
/* : NativeArray[String] */;
772 static val
* varonce241
;
773 static val
* varonce243
;
774 val
* var244
/* : String */;
775 char* var245
/* : NativeString */;
776 val
* var246
/* : String */;
777 static val
* varonce247
;
778 val
* var248
/* : String */;
779 char* var249
/* : NativeString */;
780 val
* var250
/* : String */;
781 static val
* varonce251
;
782 val
* var252
/* : String */;
783 char* var253
/* : NativeString */;
784 val
* var254
/* : String */;
785 static val
* varonce255
;
786 val
* var256
/* : String */;
787 char* var257
/* : NativeString */;
788 val
* var258
/* : String */;
789 static val
* varonce259
;
790 val
* var260
/* : String */;
791 char* var261
/* : NativeString */;
792 val
* var262
/* : String */;
793 val
* var263
/* : String */;
794 val
* var264
/* : MModule */;
795 val
* var266
/* : MModule */;
796 val
* var267
/* : String */;
797 val
* var268
/* : String */;
798 val
* var269
/* : String */;
799 val
* var270
/* : String */;
800 long var271
/* : Int */;
801 static val
* varonce272
;
802 val
* var273
/* : String */;
803 char* var274
/* : NativeString */;
804 val
* var275
/* : String */;
805 static val
* varonce276
;
806 val
* var277
/* : String */;
807 char* var278
/* : NativeString */;
808 val
* var279
/* : String */;
809 short int var280
/* : Bool */;
810 short int var281
/* : Bool */;
811 short int var_282
/* var : Bool */;
812 val
* var283
/* : MClass */;
813 val
* var285
/* : MClass */;
814 val
* var286
/* : String */;
815 val
* var288
/* : String */;
816 static val
* varonce289
;
817 val
* var290
/* : String */;
818 char* var291
/* : NativeString */;
819 val
* var292
/* : String */;
820 short int var293
/* : Bool */;
821 short int var294
/* : Bool */;
822 short int var296
/* : Bool */;
823 val
* var297
/* : CodeWriter */;
824 val
* var299
/* : CodeWriter */;
825 val
* var301
/* : NativeArray[String] */;
826 static val
* varonce300
;
827 static val
* varonce302
;
828 val
* var303
/* : String */;
829 char* var304
/* : NativeString */;
830 val
* var305
/* : String */;
831 static val
* varonce306
;
832 val
* var307
/* : String */;
833 char* var308
/* : NativeString */;
834 val
* var309
/* : String */;
835 val
* var310
/* : String */;
836 val
* var311
/* : CodeWriter */;
837 val
* var313
/* : CodeWriter */;
838 static val
* varonce314
;
839 val
* var315
/* : String */;
840 char* var316
/* : NativeString */;
841 val
* var317
/* : String */;
842 val
* var318
/* : CodeWriter */;
843 val
* var320
/* : CodeWriter */;
844 static val
* varonce321
;
845 val
* var322
/* : String */;
846 char* var323
/* : NativeString */;
847 val
* var324
/* : String */;
848 val
* var325
/* : CodeWriter */;
849 val
* var327
/* : CodeWriter */;
850 val
* var329
/* : NativeArray[String] */;
851 static val
* varonce328
;
852 static val
* varonce330
;
853 val
* var331
/* : String */;
854 char* var332
/* : NativeString */;
855 val
* var333
/* : String */;
856 val
* var334
/* : String */;
857 val
* var335
/* : String */;
858 val
* var336
/* : CodeWriter */;
859 val
* var338
/* : CodeWriter */;
860 static val
* varonce339
;
861 val
* var340
/* : String */;
862 char* var341
/* : NativeString */;
863 val
* var342
/* : String */;
864 short int var343
/* : Bool */;
865 short int var_344
/* var : Bool */;
866 val
* var345
/* : MClass */;
867 val
* var347
/* : MClass */;
868 val
* var348
/* : String */;
869 val
* var350
/* : String */;
870 static val
* varonce351
;
871 val
* var352
/* : String */;
872 char* var353
/* : NativeString */;
873 val
* var354
/* : String */;
874 short int var355
/* : Bool */;
875 short int var357
/* : Bool */;
876 short int var358
/* : Bool */;
877 val
* var360
/* : NativeArray[String] */;
878 static val
* varonce359
;
879 static val
* varonce361
;
880 val
* var362
/* : String */;
881 char* var363
/* : NativeString */;
882 val
* var364
/* : String */;
883 val
* var365
/* : String */;
884 val
* var367
/* : NativeArray[String] */;
885 static val
* varonce366
;
886 static val
* varonce368
;
887 val
* var369
/* : String */;
888 char* var370
/* : NativeString */;
889 val
* var371
/* : String */;
890 static val
* varonce372
;
891 val
* var373
/* : String */;
892 char* var374
/* : NativeString */;
893 val
* var375
/* : String */;
894 static val
* varonce376
;
895 val
* var377
/* : String */;
896 char* var378
/* : NativeString */;
897 val
* var379
/* : String */;
898 val
* var380
/* : String */;
899 val
* var381
/* : String */;
900 val
* var383
/* : NativeArray[String] */;
901 static val
* varonce382
;
902 static val
* varonce384
;
903 val
* var385
/* : String */;
904 char* var386
/* : NativeString */;
905 val
* var387
/* : String */;
906 static val
* varonce388
;
907 val
* var389
/* : String */;
908 char* var390
/* : NativeString */;
909 val
* var391
/* : String */;
910 val
* var392
/* : String */;
911 val
* var393
/* : String */;
912 val
* var395
/* : NativeArray[String] */;
913 static val
* varonce394
;
914 static val
* varonce396
;
915 val
* var397
/* : String */;
916 char* var398
/* : NativeString */;
917 val
* var399
/* : String */;
918 static val
* varonce400
;
919 val
* var401
/* : String */;
920 char* var402
/* : NativeString */;
921 val
* var403
/* : String */;
922 static val
* varonce404
;
923 val
* var405
/* : String */;
924 char* var406
/* : NativeString */;
925 val
* var407
/* : String */;
926 val
* var408
/* : String */;
927 val
* var409
/* : String */;
928 val
* var410
/* : String */;
929 val
* var412
/* : NativeArray[String] */;
930 static val
* varonce411
;
931 static val
* varonce413
;
932 val
* var414
/* : String */;
933 char* var415
/* : NativeString */;
934 val
* var416
/* : String */;
935 static val
* varonce417
;
936 val
* var418
/* : String */;
937 char* var419
/* : NativeString */;
938 val
* var420
/* : String */;
939 static val
* varonce421
;
940 val
* var422
/* : String */;
941 char* var423
/* : NativeString */;
942 val
* var424
/* : String */;
943 val
* var425
/* : String */;
944 val
* var426
/* : AbstractCompiler */;
945 val
* var428
/* : AbstractCompiler */;
946 val
* var429
/* : Set[MType] */;
947 val
* var431
/* : Set[MType] */;
948 val
* var433
/* : NativeArray[String] */;
949 static val
* varonce432
;
950 static val
* varonce434
;
951 val
* var435
/* : String */;
952 char* var436
/* : NativeString */;
953 val
* var437
/* : String */;
954 val
* var438
/* : String */;
955 val
* var440
/* : NativeArray[String] */;
956 static val
* varonce439
;
957 static val
* varonce441
;
958 val
* var442
/* : String */;
959 char* var443
/* : NativeString */;
960 val
* var444
/* : String */;
961 static val
* varonce445
;
962 val
* var446
/* : String */;
963 char* var447
/* : NativeString */;
964 val
* var448
/* : String */;
965 val
* var449
/* : String */;
966 val
* var451
/* : NativeArray[String] */;
967 static val
* varonce450
;
968 static val
* varonce452
;
969 val
* var453
/* : String */;
970 char* var454
/* : NativeString */;
971 val
* var455
/* : String */;
972 val
* var456
/* : String */;
973 val
* var458
/* : NativeArray[String] */;
974 static val
* varonce457
;
975 static val
* varonce459
;
976 val
* var460
/* : String */;
977 char* var461
/* : NativeString */;
978 val
* var462
/* : String */;
979 static val
* varonce463
;
980 val
* var464
/* : String */;
981 char* var465
/* : NativeString */;
982 val
* var466
/* : String */;
983 val
* var467
/* : String */;
984 static val
* varonce468
;
985 val
* var469
/* : String */;
986 char* var470
/* : NativeString */;
987 val
* var471
/* : String */;
988 static val
* varonce472
;
989 val
* var473
/* : String */;
990 char* var474
/* : NativeString */;
991 val
* var475
/* : String */;
992 static val
* varonce476
;
993 val
* var477
/* : String */;
994 char* var478
/* : NativeString */;
995 val
* var479
/* : String */;
996 val
* var480
/* : MClass */;
997 val
* var482
/* : MClass */;
998 val
* var483
/* : String */;
999 val
* var485
/* : String */;
1000 static val
* varonce486
;
1001 val
* var487
/* : String */;
1002 char* var488
/* : NativeString */;
1003 val
* var489
/* : String */;
1004 short int var490
/* : Bool */;
1005 short int var492
/* : Bool */;
1006 short int var493
/* : Bool */;
1007 val
* var494
/* : AbstractCompilerVisitor */;
1008 val
* var496
/* : NativeArray[String] */;
1009 static val
* varonce495
;
1010 static val
* varonce497
;
1011 val
* var498
/* : String */;
1012 char* var499
/* : NativeString */;
1013 val
* var500
/* : String */;
1014 val
* var501
/* : String */;
1015 val
* var503
/* : NativeArray[String] */;
1016 static val
* varonce502
;
1017 static val
* varonce504
;
1018 val
* var505
/* : String */;
1019 char* var506
/* : NativeString */;
1020 val
* var507
/* : String */;
1021 static val
* varonce508
;
1022 val
* var509
/* : String */;
1023 char* var510
/* : NativeString */;
1024 val
* var511
/* : String */;
1025 val
* var512
/* : String */;
1026 val
* var513
/* : String */;
1027 val
* var515
/* : NativeArray[String] */;
1028 static val
* varonce514
;
1029 static val
* varonce516
;
1030 val
* var517
/* : String */;
1031 char* var518
/* : NativeString */;
1032 val
* var519
/* : String */;
1033 static val
* varonce520
;
1034 val
* var521
/* : String */;
1035 char* var522
/* : NativeString */;
1036 val
* var523
/* : String */;
1037 val
* var524
/* : String */;
1038 val
* var525
/* : String */;
1039 val
* var527
/* : NativeArray[String] */;
1040 static val
* varonce526
;
1041 static val
* varonce528
;
1042 val
* var529
/* : String */;
1043 char* var530
/* : NativeString */;
1044 val
* var531
/* : String */;
1045 static val
* varonce532
;
1046 val
* var533
/* : String */;
1047 char* var534
/* : NativeString */;
1048 val
* var535
/* : String */;
1049 val
* var536
/* : String */;
1050 val
* var537
/* : String */;
1051 val
* var539
/* : NativeArray[String] */;
1052 static val
* varonce538
;
1053 static val
* varonce540
;
1054 val
* var541
/* : String */;
1055 char* var542
/* : NativeString */;
1056 val
* var543
/* : String */;
1057 val
* var544
/* : String */;
1058 val
* var545
/* : String */;
1059 static val
* varonce546
;
1060 val
* var547
/* : String */;
1061 char* var548
/* : NativeString */;
1062 val
* var549
/* : String */;
1063 val
* var550
/* : RuntimeVariable */;
1064 val
* var_res
/* var res: RuntimeVariable */;
1065 val
* var553
/* : NativeArray[String] */;
1066 static val
* varonce552
;
1067 static val
* varonce554
;
1068 val
* var555
/* : String */;
1069 char* var556
/* : NativeString */;
1070 val
* var557
/* : String */;
1071 static val
* varonce558
;
1072 val
* var559
/* : String */;
1073 char* var560
/* : NativeString */;
1074 val
* var561
/* : String */;
1075 val
* var562
/* : String */;
1076 val
* var563
/* : String */;
1077 val
* var564
/* : String */;
1078 val
* var566
/* : NativeArray[String] */;
1079 static val
* varonce565
;
1080 static val
* varonce567
;
1081 val
* var568
/* : String */;
1082 char* var569
/* : NativeString */;
1083 val
* var570
/* : String */;
1084 val
* var571
/* : String */;
1085 val
* var572
/* : String */;
1086 static val
* varonce573
;
1087 val
* var574
/* : String */;
1088 char* var575
/* : NativeString */;
1089 val
* var576
/* : String */;
1090 val
* var578
/* : NativeArray[String] */;
1091 static val
* varonce577
;
1092 static val
* varonce579
;
1093 val
* var580
/* : String */;
1094 char* var581
/* : NativeString */;
1095 val
* var582
/* : String */;
1096 val
* var583
/* : String */;
1097 val
* var585
/* : NativeArray[String] */;
1098 static val
* varonce584
;
1099 static val
* varonce586
;
1100 val
* var587
/* : String */;
1101 char* var588
/* : NativeString */;
1102 val
* var589
/* : String */;
1103 static val
* varonce590
;
1104 val
* var591
/* : String */;
1105 char* var592
/* : NativeString */;
1106 val
* var593
/* : String */;
1107 val
* var594
/* : String */;
1108 val
* var595
/* : String */;
1109 val
* var597
/* : NativeArray[String] */;
1110 static val
* varonce596
;
1111 static val
* varonce598
;
1112 val
* var599
/* : String */;
1113 char* var600
/* : NativeString */;
1114 val
* var601
/* : String */;
1115 static val
* varonce602
;
1116 val
* var603
/* : String */;
1117 char* var604
/* : NativeString */;
1118 val
* var605
/* : String */;
1119 static val
* varonce606
;
1120 val
* var607
/* : String */;
1121 char* var608
/* : NativeString */;
1122 val
* var609
/* : String */;
1123 val
* var610
/* : String */;
1124 val
* var611
/* : String */;
1125 val
* var612
/* : String */;
1126 val
* var614
/* : NativeArray[String] */;
1127 static val
* varonce613
;
1128 static val
* varonce615
;
1129 val
* var616
/* : String */;
1130 char* var617
/* : NativeString */;
1131 val
* var618
/* : String */;
1132 static val
* varonce619
;
1133 val
* var620
/* : String */;
1134 char* var621
/* : NativeString */;
1135 val
* var622
/* : String */;
1136 val
* var623
/* : String */;
1137 val
* var624
/* : String */;
1138 static val
* varonce625
;
1139 val
* var626
/* : String */;
1140 char* var627
/* : NativeString */;
1141 val
* var628
/* : String */;
1142 val
* var629
/* : String */;
1143 val
* var631
/* : String */;
1144 static val
* varonce632
;
1145 val
* var633
/* : String */;
1146 char* var634
/* : NativeString */;
1147 val
* var635
/* : String */;
1148 short int var636
/* : Bool */;
1149 val
* var637
/* : CodeWriter */;
1150 val
* var639
/* : CodeWriter */;
1151 val
* var641
/* : NativeArray[String] */;
1152 static val
* varonce640
;
1153 static val
* varonce642
;
1154 val
* var643
/* : String */;
1155 char* var644
/* : NativeString */;
1156 val
* var645
/* : String */;
1157 static val
* varonce646
;
1158 val
* var647
/* : String */;
1159 char* var648
/* : NativeString */;
1160 val
* var649
/* : String */;
1161 val
* var650
/* : String */;
1162 val
* var651
/* : CodeWriter */;
1163 val
* var653
/* : CodeWriter */;
1164 static val
* varonce654
;
1165 val
* var655
/* : String */;
1166 char* var656
/* : NativeString */;
1167 val
* var657
/* : String */;
1168 val
* var658
/* : CodeWriter */;
1169 val
* var660
/* : CodeWriter */;
1170 static val
* varonce661
;
1171 val
* var662
/* : String */;
1172 char* var663
/* : NativeString */;
1173 val
* var664
/* : String */;
1174 val
* var665
/* : CodeWriter */;
1175 val
* var667
/* : CodeWriter */;
1176 static val
* varonce668
;
1177 val
* var669
/* : String */;
1178 char* var670
/* : NativeString */;
1179 val
* var671
/* : String */;
1180 val
* var672
/* : CodeWriter */;
1181 val
* var674
/* : CodeWriter */;
1182 static val
* varonce675
;
1183 val
* var676
/* : String */;
1184 char* var677
/* : NativeString */;
1185 val
* var678
/* : String */;
1186 val
* var679
/* : CodeWriter */;
1187 val
* var681
/* : CodeWriter */;
1188 static val
* varonce682
;
1189 val
* var683
/* : String */;
1190 char* var684
/* : NativeString */;
1191 val
* var685
/* : String */;
1192 val
* var687
/* : NativeArray[String] */;
1193 static val
* varonce686
;
1194 static val
* varonce688
;
1195 val
* var689
/* : String */;
1196 char* var690
/* : NativeString */;
1197 val
* var691
/* : String */;
1198 val
* var692
/* : String */;
1199 val
* var694
/* : NativeArray[String] */;
1200 static val
* varonce693
;
1201 static val
* varonce695
;
1202 val
* var696
/* : String */;
1203 char* var697
/* : NativeString */;
1204 val
* var698
/* : String */;
1205 static val
* varonce699
;
1206 val
* var700
/* : String */;
1207 char* var701
/* : NativeString */;
1208 val
* var702
/* : String */;
1209 val
* var703
/* : String */;
1210 val
* var704
/* : String */;
1211 val
* var706
/* : NativeArray[String] */;
1212 static val
* varonce705
;
1213 static val
* varonce707
;
1214 val
* var708
/* : String */;
1215 char* var709
/* : NativeString */;
1216 val
* var710
/* : String */;
1217 static val
* varonce711
;
1218 val
* var712
/* : String */;
1219 char* var713
/* : NativeString */;
1220 val
* var714
/* : String */;
1221 val
* var715
/* : String */;
1222 val
* var716
/* : String */;
1223 val
* var718
/* : NativeArray[String] */;
1224 static val
* varonce717
;
1225 static val
* varonce719
;
1226 val
* var720
/* : String */;
1227 char* var721
/* : NativeString */;
1228 val
* var722
/* : String */;
1229 static val
* varonce723
;
1230 val
* var724
/* : String */;
1231 char* var725
/* : NativeString */;
1232 val
* var726
/* : String */;
1233 val
* var727
/* : String */;
1234 val
* var728
/* : String */;
1235 static val
* varonce729
;
1236 val
* var730
/* : String */;
1237 char* var731
/* : NativeString */;
1238 val
* var732
/* : String */;
1239 val
* var733
/* : String */;
1240 val
* var_res734
/* var res: String */;
1241 val
* var736
/* : NativeArray[String] */;
1242 static val
* varonce735
;
1243 static val
* varonce737
;
1244 val
* var738
/* : String */;
1245 char* var739
/* : NativeString */;
1246 val
* var740
/* : String */;
1247 static val
* varonce741
;
1248 val
* var742
/* : String */;
1249 char* var743
/* : NativeString */;
1250 val
* var744
/* : String */;
1251 static val
* varonce745
;
1252 val
* var746
/* : String */;
1253 char* var747
/* : NativeString */;
1254 val
* var748
/* : String */;
1255 val
* var749
/* : String */;
1256 val
* var750
/* : Array[MType] */;
1257 val
* var751
/* : nullable Object */;
1258 val
* var_mtype_elt
/* var mtype_elt: MType */;
1259 val
* var753
/* : NativeArray[String] */;
1260 static val
* varonce752
;
1261 static val
* varonce754
;
1262 val
* var755
/* : String */;
1263 char* var756
/* : NativeString */;
1264 val
* var757
/* : String */;
1265 static val
* varonce758
;
1266 val
* var759
/* : String */;
1267 char* var760
/* : NativeString */;
1268 val
* var761
/* : String */;
1269 static val
* varonce762
;
1270 val
* var763
/* : String */;
1271 char* var764
/* : NativeString */;
1272 val
* var765
/* : String */;
1273 val
* var766
/* : String */;
1274 val
* var767
/* : String */;
1275 val
* var769
/* : NativeArray[String] */;
1276 static val
* varonce768
;
1277 static val
* varonce770
;
1278 val
* var771
/* : String */;
1279 char* var772
/* : NativeString */;
1280 val
* var773
/* : String */;
1281 val
* var774
/* : String */;
1282 static val
* varonce775
;
1283 val
* var776
/* : String */;
1284 char* var777
/* : NativeString */;
1285 val
* var778
/* : String */;
1286 val
* var780
/* : NativeArray[String] */;
1287 static val
* varonce779
;
1288 static val
* varonce781
;
1289 val
* var782
/* : String */;
1290 char* var783
/* : NativeString */;
1291 val
* var784
/* : String */;
1292 val
* var785
/* : String */;
1293 val
* var787
/* : NativeArray[String] */;
1294 static val
* varonce786
;
1295 static val
* varonce788
;
1296 val
* var789
/* : String */;
1297 char* var790
/* : NativeString */;
1298 val
* var791
/* : String */;
1299 static val
* varonce792
;
1300 val
* var793
/* : String */;
1301 char* var794
/* : NativeString */;
1302 val
* var795
/* : String */;
1303 val
* var796
/* : String */;
1304 val
* var798
/* : NativeArray[String] */;
1305 static val
* varonce797
;
1306 static val
* varonce799
;
1307 val
* var800
/* : String */;
1308 char* var801
/* : NativeString */;
1309 val
* var802
/* : String */;
1310 val
* var803
/* : String */;
1311 val
* var805
/* : NativeArray[String] */;
1312 static val
* varonce804
;
1313 static val
* varonce806
;
1314 val
* var807
/* : String */;
1315 char* var808
/* : NativeString */;
1316 val
* var809
/* : String */;
1317 static val
* varonce810
;
1318 val
* var811
/* : String */;
1319 char* var812
/* : NativeString */;
1320 val
* var813
/* : String */;
1321 val
* var814
/* : String */;
1322 static val
* varonce815
;
1323 val
* var816
/* : String */;
1324 char* var817
/* : NativeString */;
1325 val
* var818
/* : String */;
1326 short int var819
/* : Bool */;
1327 val
* var820
/* : MClass */;
1328 val
* var822
/* : MClass */;
1329 val
* var823
/* : MClassKind */;
1330 val
* var825
/* : MClassKind */;
1331 val
* var826
/* : Sys */;
1332 val
* var827
/* : MClassKind */;
1333 short int var828
/* : Bool */;
1334 short int var830
/* : Bool */;
1335 short int var832
/* : Bool */;
1336 short int var_833
/* var : Bool */;
1337 val
* var834
/* : MClass */;
1338 val
* var836
/* : MClass */;
1339 val
* var837
/* : String */;
1340 val
* var839
/* : String */;
1341 static val
* varonce840
;
1342 val
* var841
/* : String */;
1343 char* var842
/* : NativeString */;
1344 val
* var843
/* : String */;
1345 short int var844
/* : Bool */;
1346 short int var846
/* : Bool */;
1347 short int var847
/* : Bool */;
1348 val
* var848
/* : MModule */;
1349 val
* var850
/* : MModule */;
1350 val
* var851
/* : MClassType */;
1351 val
* var_pointer_type
/* var pointer_type: MClassType */;
1352 val
* var853
/* : NativeArray[String] */;
1353 static val
* varonce852
;
1354 static val
* varonce854
;
1355 val
* var855
/* : String */;
1356 char* var856
/* : NativeString */;
1357 val
* var857
/* : String */;
1358 val
* var858
/* : String */;
1359 val
* var860
/* : NativeArray[String] */;
1360 static val
* varonce859
;
1361 static val
* varonce861
;
1362 val
* var862
/* : String */;
1363 char* var863
/* : NativeString */;
1364 val
* var864
/* : String */;
1365 static val
* varonce865
;
1366 val
* var866
/* : String */;
1367 char* var867
/* : NativeString */;
1368 val
* var868
/* : String */;
1369 val
* var869
/* : String */;
1370 val
* var870
/* : String */;
1371 val
* var872
/* : NativeArray[String] */;
1372 static val
* varonce871
;
1373 static val
* varonce873
;
1374 val
* var874
/* : String */;
1375 char* var875
/* : NativeString */;
1376 val
* var876
/* : String */;
1377 static val
* varonce877
;
1378 val
* var878
/* : String */;
1379 char* var879
/* : NativeString */;
1380 val
* var880
/* : String */;
1381 val
* var881
/* : String */;
1382 val
* var882
/* : String */;
1383 val
* var884
/* : NativeArray[String] */;
1384 static val
* varonce883
;
1385 static val
* varonce885
;
1386 val
* var886
/* : String */;
1387 char* var887
/* : NativeString */;
1388 val
* var888
/* : String */;
1389 static val
* varonce889
;
1390 val
* var890
/* : String */;
1391 char* var891
/* : NativeString */;
1392 val
* var892
/* : String */;
1393 val
* var893
/* : String */;
1394 val
* var894
/* : String */;
1395 val
* var896
/* : NativeArray[String] */;
1396 static val
* varonce895
;
1397 static val
* varonce897
;
1398 val
* var898
/* : String */;
1399 char* var899
/* : NativeString */;
1400 val
* var900
/* : String */;
1401 val
* var901
/* : String */;
1402 val
* var902
/* : String */;
1403 static val
* varonce903
;
1404 val
* var904
/* : String */;
1405 char* var905
/* : NativeString */;
1406 val
* var906
/* : String */;
1407 val
* var907
/* : RuntimeVariable */;
1408 val
* var_res908
/* var res: RuntimeVariable */;
1409 val
* var911
/* : NativeArray[String] */;
1410 static val
* varonce910
;
1411 static val
* varonce912
;
1412 val
* var913
/* : String */;
1413 char* var914
/* : NativeString */;
1414 val
* var915
/* : String */;
1415 static val
* varonce916
;
1416 val
* var917
/* : String */;
1417 char* var918
/* : NativeString */;
1418 val
* var919
/* : String */;
1419 val
* var920
/* : String */;
1420 val
* var921
/* : String */;
1421 val
* var922
/* : String */;
1422 val
* var924
/* : NativeArray[String] */;
1423 static val
* varonce923
;
1424 static val
* varonce925
;
1425 val
* var926
/* : String */;
1426 char* var927
/* : NativeString */;
1427 val
* var928
/* : String */;
1428 val
* var929
/* : String */;
1429 val
* var930
/* : String */;
1430 static val
* varonce931
;
1431 val
* var932
/* : String */;
1432 char* var933
/* : NativeString */;
1433 val
* var934
/* : String */;
1434 val
* var936
/* : NativeArray[String] */;
1435 static val
* varonce935
;
1436 static val
* varonce937
;
1437 val
* var938
/* : String */;
1438 char* var939
/* : NativeString */;
1439 val
* var940
/* : String */;
1440 val
* var941
/* : String */;
1441 val
* var943
/* : NativeArray[String] */;
1442 static val
* varonce942
;
1443 static val
* varonce944
;
1444 val
* var945
/* : String */;
1445 char* var946
/* : NativeString */;
1446 val
* var947
/* : String */;
1447 static val
* varonce948
;
1448 val
* var949
/* : String */;
1449 char* var950
/* : NativeString */;
1450 val
* var951
/* : String */;
1451 val
* var952
/* : String */;
1452 val
* var953
/* : String */;
1453 val
* var955
/* : NativeArray[String] */;
1454 static val
* varonce954
;
1455 static val
* varonce956
;
1456 val
* var957
/* : String */;
1457 char* var958
/* : NativeString */;
1458 val
* var959
/* : String */;
1459 static val
* varonce960
;
1460 val
* var961
/* : String */;
1461 char* var962
/* : NativeString */;
1462 val
* var963
/* : String */;
1463 static val
* varonce964
;
1464 val
* var965
/* : String */;
1465 char* var966
/* : NativeString */;
1466 val
* var967
/* : String */;
1467 val
* var968
/* : String */;
1468 val
* var969
/* : String */;
1469 val
* var970
/* : String */;
1470 val
* var972
/* : NativeArray[String] */;
1471 static val
* varonce971
;
1472 static val
* varonce973
;
1473 val
* var974
/* : String */;
1474 char* var975
/* : NativeString */;
1475 val
* var976
/* : String */;
1476 static val
* varonce977
;
1477 val
* var978
/* : String */;
1478 char* var979
/* : NativeString */;
1479 val
* var980
/* : String */;
1480 val
* var981
/* : String */;
1481 val
* var982
/* : String */;
1482 static val
* varonce983
;
1483 val
* var984
/* : String */;
1484 char* var985
/* : NativeString */;
1485 val
* var986
/* : String */;
1486 val
* var988
/* : NativeArray[String] */;
1487 static val
* varonce987
;
1488 static val
* varonce989
;
1489 val
* var990
/* : String */;
1490 char* var991
/* : NativeString */;
1491 val
* var992
/* : String */;
1492 val
* var993
/* : String */;
1493 val
* var995
/* : NativeArray[String] */;
1494 static val
* varonce994
;
1495 static val
* varonce996
;
1496 val
* var997
/* : String */;
1497 char* var998
/* : NativeString */;
1498 val
* var999
/* : String */;
1499 static val
* varonce1000
;
1500 val
* var1001
/* : String */;
1501 char* var1002
/* : NativeString */;
1502 val
* var1003
/* : String */;
1503 val
* var1004
/* : String */;
1504 val
* var1005
/* : String */;
1505 val
* var1007
/* : NativeArray[String] */;
1506 static val
* varonce1006
;
1507 static val
* varonce1008
;
1508 val
* var1009
/* : String */;
1509 char* var1010
/* : NativeString */;
1510 val
* var1011
/* : String */;
1511 static val
* varonce1012
;
1512 val
* var1013
/* : String */;
1513 char* var1014
/* : NativeString */;
1514 val
* var1015
/* : String */;
1515 val
* var1016
/* : String */;
1516 val
* var1017
/* : String */;
1517 val
* var1019
/* : NativeArray[String] */;
1518 static val
* varonce1018
;
1519 static val
* varonce1020
;
1520 val
* var1021
/* : String */;
1521 char* var1022
/* : NativeString */;
1522 val
* var1023
/* : String */;
1523 static val
* varonce1024
;
1524 val
* var1025
/* : String */;
1525 char* var1026
/* : NativeString */;
1526 val
* var1027
/* : String */;
1527 val
* var1028
/* : String */;
1528 val
* var1029
/* : String */;
1529 val
* var1031
/* : NativeArray[String] */;
1530 static val
* varonce1030
;
1531 static val
* varonce1032
;
1532 val
* var1033
/* : String */;
1533 char* var1034
/* : NativeString */;
1534 val
* var1035
/* : String */;
1535 val
* var1036
/* : String */;
1536 val
* var1037
/* : String */;
1537 static val
* varonce1038
;
1538 val
* var1039
/* : String */;
1539 char* var1040
/* : NativeString */;
1540 val
* var1041
/* : String */;
1541 val
* var1042
/* : RuntimeVariable */;
1542 val
* var_res1043
/* var res: RuntimeVariable */;
1543 val
* var1045
/* : Map[MClass, Array[nullable MProperty]] */;
1544 val
* var1047
/* : Map[MClass, Array[nullable MProperty]] */;
1545 val
* var1048
/* : nullable Object */;
1546 val
* var_attrs
/* var attrs: nullable Array[nullable MProperty] */;
1547 short int var1049
/* : Bool */;
1548 short int var1050
/* : Bool */;
1549 val
* var1052
/* : NativeArray[String] */;
1550 static val
* varonce1051
;
1551 static val
* varonce1053
;
1552 val
* var1054
/* : String */;
1553 char* var1055
/* : NativeString */;
1554 val
* var1056
/* : String */;
1555 val
* var1057
/* : String */;
1556 val
* var1058
/* : String */;
1557 val
* var1060
/* : NativeArray[String] */;
1558 static val
* varonce1059
;
1559 static val
* varonce1061
;
1560 val
* var1062
/* : String */;
1561 char* var1063
/* : NativeString */;
1562 val
* var1064
/* : String */;
1563 static val
* varonce1065
;
1564 val
* var1066
/* : String */;
1565 char* var1067
/* : NativeString */;
1566 val
* var1068
/* : String */;
1567 val
* var1069
/* : String */;
1568 long var1070
/* : Int */;
1569 long var1072
/* : Int */;
1570 val
* var1073
/* : String */;
1571 val
* var1074
/* : String */;
1572 val
* var1076
/* : NativeArray[String] */;
1573 static val
* varonce1075
;
1574 static val
* varonce1077
;
1575 val
* var1078
/* : String */;
1576 char* var1079
/* : NativeString */;
1577 val
* var1080
/* : String */;
1578 val
* var1081
/* : String */;
1579 val
* var1082
/* : String */;
1580 static val
* varonce1083
;
1581 val
* var1084
/* : String */;
1582 char* var1085
/* : NativeString */;
1583 val
* var1086
/* : String */;
1584 val
* var1088
/* : NativeArray[String] */;
1585 static val
* varonce1087
;
1586 static val
* varonce1089
;
1587 val
* var1090
/* : String */;
1588 char* var1091
/* : NativeString */;
1589 val
* var1092
/* : String */;
1590 val
* var1093
/* : String */;
1591 val
* var1095
/* : NativeArray[String] */;
1592 static val
* varonce1094
;
1593 static val
* varonce1096
;
1594 val
* var1097
/* : String */;
1595 char* var1098
/* : NativeString */;
1596 val
* var1099
/* : String */;
1597 static val
* varonce1100
;
1598 val
* var1101
/* : String */;
1599 char* var1102
/* : NativeString */;
1600 val
* var1103
/* : String */;
1601 val
* var1104
/* : String */;
1602 val
* var1105
/* : String */;
1603 short int var1106
/* : Bool */;
1604 short int var1107
/* : Bool */;
1605 short int var1109
/* : Bool */;
1606 short int var1110
/* : Bool */;
1607 val
* var1112
/* : NativeArray[String] */;
1608 static val
* varonce1111
;
1609 static val
* varonce1113
;
1610 val
* var1114
/* : String */;
1611 char* var1115
/* : NativeString */;
1612 val
* var1116
/* : String */;
1613 static val
* varonce1117
;
1614 val
* var1118
/* : String */;
1615 char* var1119
/* : NativeString */;
1616 val
* var1120
/* : String */;
1617 val
* var1121
/* : String */;
1618 val
* var1122
/* : String */;
1619 static val
* varonce1123
;
1620 val
* var1124
/* : String */;
1621 char* var1125
/* : NativeString */;
1622 val
* var1126
/* : String */;
1625 { /* Inline model_base#MEntity#is_broken (var_mclass) on <var_mclass:MClass> */
1626 var2
= var_mclass
->attrs
[COLOR_nitc__model_base__MEntity___is_broken
].s
; /* _is_broken on <var_mclass:MClass> */
1636 { /* Inline model#MClass#intro (var_mclass) on <var_mclass:MClass> */
1637 var5
= var_mclass
->attrs
[COLOR_nitc__model__MClass___intro
].val
; /* _intro on <var_mclass:MClass> */
1638 if (unlikely(var5
== NULL
)) {
1639 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
1640 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 483);
1648 { /* Inline model#MClassDef#bound_mtype (var3) on <var3:MClassDef> */
1649 var8
= var3
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var3:MClassDef> */
1650 if (unlikely(var8
== NULL
)) {
1651 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1652 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 579);
1661 var9
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var_mclass
);
1665 var10
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__abstract_compiler__AbstractCompiler__new_visitor
]))(self
); /* new_visitor on <self:SeparateCompiler>*/
1669 { /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (self) on <self:SeparateCompiler> */
1670 var13
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <self:SeparateCompiler> */
1672 RET_LABEL12
:(void)0;
1676 if (var_rta
== NULL
) {
1677 var15
= 0; /* is null */
1679 var15
= 1; /* arg is null and recv is not */
1682 { /* Inline kernel#Object#!= (var_rta,((val*)NULL)) on <var_rta:nullable RapidTypeAnalysis> */
1683 var_other
= ((val
*)NULL
);
1685 var18
= ((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)>*/
1690 RET_LABEL17
:(void)0;
1697 { /* Inline rapid_type_analysis#RapidTypeAnalysis#live_classes (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
1698 var22
= var_rta
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_classes
].val
; /* _live_classes on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
1699 if (unlikely(var22
== NULL
)) {
1700 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_classes");
1701 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 69);
1705 RET_LABEL21
:(void)0;
1709 var23
= core___core__HashSet___core__abstract_collection__Collection__has(var20
, var_mclass
);
1716 var_is_dead
= var14
;
1717 var_28
= var_is_dead
;
1720 var29
= nitc__abstract_compiler___MClassType___MType__is_c_primitive(var_mtype
);
1731 { /* Inline model#MClass#kind (var_mclass) on <var_mclass:MClass> */
1732 var33
= var_mclass
->attrs
[COLOR_nitc__model__MClass___kind
].val
; /* _kind on <var_mclass:MClass> */
1733 if (unlikely(var33
== NULL
)) {
1734 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
1735 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 459);
1739 RET_LABEL32
:(void)0;
1744 var35
= nitc__model___core__Sys___extern_kind(var34
);
1747 { /* Inline kernel#Object#== (var31,var35) on <var31:MClassKind> */
1748 var_other38
= var35
;
1750 { /* Inline kernel#Object#is_same_instance (var31,var_other38) on <var31:MClassKind> */
1751 var41
= var31
== var_other38
;
1754 RET_LABEL40
:(void)0;
1759 RET_LABEL37
:(void)0;
1769 { /* Inline model#MClass#kind (var_mclass) on <var_mclass:MClass> */
1770 var45
= var_mclass
->attrs
[COLOR_nitc__model__MClass___kind
].val
; /* _kind on <var_mclass:MClass> */
1771 if (unlikely(var45
== NULL
)) {
1772 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
1773 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 459);
1777 RET_LABEL44
:(void)0;
1782 var47
= nitc__model___core__Sys___enum_kind(var46
);
1785 { /* Inline kernel#Object#== (var43,var47) on <var43:MClassKind> */
1786 var_other38
= var47
;
1788 { /* Inline kernel#Object#is_same_instance (var43,var_other38) on <var43:MClassKind> */
1789 var52
= var43
== var_other38
;
1792 RET_LABEL51
:(void)0;
1797 RET_LABEL49
:(void)0;
1802 var_need_corpse
= var25
;
1803 if (unlikely(varonce
==NULL
)) {
1804 var53
= NEW_core__NativeArray(9l, &type_core__NativeArray__core__String
);
1805 if (likely(varonce54
!=NULL
)) {
1808 var56
= "/* runtime class ";
1809 var57
= core__flat___NativeString___to_s_full(var56
, 17l, 17l);
1813 ((struct instance_core__NativeArray
*)var53
)->values
[0]=var55
;
1814 if (likely(varonce58
!=NULL
)) {
1818 var61
= core__flat___NativeString___to_s_full(var60
, 2l, 2l);
1822 ((struct instance_core__NativeArray
*)var53
)->values
[2]=var59
;
1823 if (likely(varonce62
!=NULL
)) {
1827 var65
= core__flat___NativeString___to_s_full(var64
, 7l, 7l);
1831 ((struct instance_core__NativeArray
*)var53
)->values
[4]=var63
;
1832 if (likely(varonce66
!=NULL
)) {
1835 var68
= "; need_corpse=";
1836 var69
= core__flat___NativeString___to_s_full(var68
, 14l, 14l);
1840 ((struct instance_core__NativeArray
*)var53
)->values
[6]=var67
;
1841 if (likely(varonce70
!=NULL
)) {
1845 var73
= core__flat___NativeString___to_s_full(var72
, 3l, 3l);
1849 ((struct instance_core__NativeArray
*)var53
)->values
[8]=var71
;
1854 ((struct instance_core__NativeArray
*)var53
)->values
[1]=var_c_name
;
1856 var74
= nitc___nitc__MClass___nitc__model_base__MEntity__full_name(var_mclass
);
1858 ((struct instance_core__NativeArray
*)var53
)->values
[3]=var74
;
1859 var75
= core__abstract_text___Bool___Object__to_s(var_is_dead
);
1860 ((struct instance_core__NativeArray
*)var53
)->values
[5]=var75
;
1861 var76
= core__abstract_text___Bool___Object__to_s(var_need_corpse
);
1862 ((struct instance_core__NativeArray
*)var53
)->values
[7]=var76
;
1864 var77
= ((val
*(*)(val
* self
))(var53
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var53
); /* native_to_s on <var53:NativeArray[String]>*/
1868 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var77
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1870 var79
= !var_is_dead
;
1875 var78
= var_need_corpse
;
1878 if (unlikely(varonce81
==NULL
)) {
1879 var82
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
1880 if (likely(varonce83
!=NULL
)) {
1884 var86
= core__flat___NativeString___to_s_full(var85
, 6l, 6l);
1888 ((struct instance_core__NativeArray
*)var82
)->values
[0]=var84
;
1893 ((struct instance_core__NativeArray
*)var82
)->values
[1]=var_c_name
;
1895 var87
= ((val
*(*)(val
* self
))(var82
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var82
); /* native_to_s on <var82:NativeArray[String]>*/
1898 if (unlikely(varonce88
==NULL
)) {
1899 var89
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
1900 if (likely(varonce90
!=NULL
)) {
1903 var92
= "extern const struct class class_";
1904 var93
= core__flat___NativeString___to_s_full(var92
, 32l, 32l);
1908 ((struct instance_core__NativeArray
*)var89
)->values
[0]=var91
;
1909 if (likely(varonce94
!=NULL
)) {
1913 var97
= core__flat___NativeString___to_s_full(var96
, 1l, 1l);
1917 ((struct instance_core__NativeArray
*)var89
)->values
[2]=var95
;
1922 ((struct instance_core__NativeArray
*)var89
)->values
[1]=var_c_name
;
1924 var98
= ((val
*(*)(val
* self
))(var89
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var89
); /* native_to_s on <var89:NativeArray[String]>*/
1928 nitc___nitc__AbstractCompiler___provide_declaration(self
, var87
, var98
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
1930 if (unlikely(varonce99
==NULL
)) {
1931 var100
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
1932 if (likely(varonce101
!=NULL
)) {
1933 var102
= varonce101
;
1935 var103
= "const struct class class_";
1936 var104
= core__flat___NativeString___to_s_full(var103
, 25l, 25l);
1938 varonce101
= var102
;
1940 ((struct instance_core__NativeArray
*)var100
)->values
[0]=var102
;
1941 if (likely(varonce105
!=NULL
)) {
1942 var106
= varonce105
;
1945 var108
= core__flat___NativeString___to_s_full(var107
, 4l, 4l);
1947 varonce105
= var106
;
1949 ((struct instance_core__NativeArray
*)var100
)->values
[2]=var106
;
1954 ((struct instance_core__NativeArray
*)var100
)->values
[1]=var_c_name
;
1956 var109
= ((val
*(*)(val
* self
))(var100
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var100
); /* native_to_s on <var100:NativeArray[String]>*/
1960 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var109
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1962 if (unlikely(varonce110
==NULL
)) {
1963 var111
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
1964 if (likely(varonce112
!=NULL
)) {
1965 var113
= varonce112
;
1967 var114
= ", /* box_kind */";
1968 var115
= core__flat___NativeString___to_s_full(var114
, 16l, 16l);
1970 varonce112
= var113
;
1972 ((struct instance_core__NativeArray
*)var111
)->values
[1]=var113
;
1974 var111
= varonce110
;
1978 var116
= nitc___nitc__SeparateCompiler___box_kind_of(self
, var_mclass
);
1980 var117
= core__flat___Int___core__abstract_text__Object__to_s(var116
);
1981 ((struct instance_core__NativeArray
*)var111
)->values
[0]=var117
;
1983 var118
= ((val
*(*)(val
* self
))(var111
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var111
); /* native_to_s on <var111:NativeArray[String]>*/
1985 varonce110
= var111
;
1987 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var118
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1989 if (likely(varonce119
!=NULL
)) {
1990 var120
= varonce119
;
1993 var122
= core__flat___NativeString___to_s_full(var121
, 1l, 1l);
1995 varonce119
= var120
;
1998 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var120
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
2001 { /* Inline separate_compiler#SeparateCompiler#method_tables (self) on <self:SeparateCompiler> */
2002 var125
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___method_tables
].val
; /* _method_tables on <self:SeparateCompiler> */
2003 if (unlikely(var125
== NULL
)) {
2004 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _method_tables");
2005 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 1067);
2009 RET_LABEL124
:(void)0;
2013 var126
= ((val
*(*)(val
* self
, val
* p0
))((((long)var123
&3)?class_info
[((long)var123
&3)]:var123
->class)->vft
[COLOR_core__abstract_collection__MapRead__get_or_null
]))(var123
, var_mclass
); /* get_or_null on <var123:Map[MClass, Array[nullable MPropDef]]>*/
2016 if (var_vft
== NULL
) {
2017 var127
= 0; /* is null */
2019 var127
= 1; /* arg is null and recv is not */
2022 { /* Inline kernel#Object#!= (var_vft,((val*)NULL)) on <var_vft:nullable Array[nullable MPropDef]> */
2023 var_other
= ((val
*)NULL
);
2025 var130
= ((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])>*/
2030 RET_LABEL129
:(void)0;
2037 { /* Inline array#AbstractArrayRead#length (var_vft) on <var_vft:nullable Array[nullable MPropDef](Array[nullable MPropDef])> */
2038 var134
= var_vft
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_vft:nullable Array[nullable MPropDef](Array[nullable MPropDef])> */
2040 RET_LABEL133
:(void)0;
2046 { /* Inline kernel#Int#< (var_i,var_135) on <var_i:Int> */
2047 /* Covariant cast for argument 0 (i) <var_135:Int> isa OTHER */
2048 /* <var_135:Int> isa OTHER */
2049 var138
= 1; /* easy <var_135:Int> isa OTHER*/
2050 if (unlikely(!var138
)) {
2051 var_class_name
= type_core__Int
.name
;
2052 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2053 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
2056 var139
= var_i
< var_135
;
2059 RET_LABEL137
:(void)0;
2067 var140
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_vft
, var_i
);
2069 var_mpropdef
= var140
;
2070 if (var_mpropdef
== NULL
) {
2071 var141
= 1; /* is null */
2073 var141
= 0; /* arg is null but recv is not */
2076 { /* Inline kernel#Object#== (var_mpropdef,((val*)NULL)) on <var_mpropdef:nullable MPropDef> */
2077 var_other38
= ((val
*)NULL
);
2079 { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other38) on <var_mpropdef:nullable MPropDef(MPropDef)> */
2080 var146
= var_mpropdef
== var_other38
;
2083 RET_LABEL145
:(void)0;
2088 RET_LABEL143
:(void)0;
2093 if (likely(varonce147
!=NULL
)) {
2094 var148
= varonce147
;
2096 var149
= "NULL, /* empty */";
2097 var150
= core__flat___NativeString___to_s_full(var149
, 17l, 17l);
2099 varonce147
= var148
;
2102 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var148
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
2105 /* <var_mpropdef:nullable MPropDef(MPropDef)> isa MMethodDef */
2106 cltype152
= type_nitc__MMethodDef
.color
;
2107 idtype153
= type_nitc__MMethodDef
.id
;
2108 if(cltype152
>= var_mpropdef
->type
->table_size
) {
2111 var151
= var_mpropdef
->type
->type_table
[cltype152
] == idtype153
;
2113 if (unlikely(!var151
)) {
2114 PRINT_ERROR("Runtime error: %s", "Assert failed");
2115 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 844);
2118 if (var_rta
== NULL
) {
2119 var155
= 0; /* is null */
2121 var155
= 1; /* arg is null and recv is not */
2124 { /* Inline kernel#Object#!= (var_rta,((val*)NULL)) on <var_rta:nullable RapidTypeAnalysis> */
2125 var_other
= ((val
*)NULL
);
2127 var158
= ((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)>*/
2132 RET_LABEL157
:(void)0;
2139 { /* Inline rapid_type_analysis#RapidTypeAnalysis#live_methoddefs (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
2140 var163
= var_rta
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_methoddefs
].val
; /* _live_methoddefs on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
2141 if (unlikely(var163
== NULL
)) {
2142 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_methoddefs");
2143 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 79);
2147 RET_LABEL162
:(void)0;
2151 var164
= core___core__HashSet___core__abstract_collection__Collection__has(var161
, var_mpropdef
);
2159 if (unlikely(varonce166
==NULL
)) {
2160 var167
= NEW_core__NativeArray(7l, &type_core__NativeArray__core__String
);
2161 if (likely(varonce168
!=NULL
)) {
2162 var169
= varonce168
;
2164 var170
= "NULL, /* DEAD ";
2165 var171
= core__flat___NativeString___to_s_full(var170
, 14l, 14l);
2167 varonce168
= var169
;
2169 ((struct instance_core__NativeArray
*)var167
)->values
[0]=var169
;
2170 if (likely(varonce172
!=NULL
)) {
2171 var173
= varonce172
;
2174 var175
= core__flat___NativeString___to_s_full(var174
, 1l, 1l);
2176 varonce172
= var173
;
2178 ((struct instance_core__NativeArray
*)var167
)->values
[2]=var173
;
2179 if (likely(varonce176
!=NULL
)) {
2180 var177
= varonce176
;
2183 var179
= core__flat___NativeString___to_s_full(var178
, 1l, 1l);
2185 varonce176
= var177
;
2187 ((struct instance_core__NativeArray
*)var167
)->values
[4]=var177
;
2188 if (likely(varonce180
!=NULL
)) {
2189 var181
= varonce180
;
2192 var183
= core__flat___NativeString___to_s_full(var182
, 3l, 3l);
2194 varonce180
= var181
;
2196 ((struct instance_core__NativeArray
*)var167
)->values
[6]=var181
;
2198 var167
= varonce166
;
2202 { /* Inline model#MClass#intro_mmodule (var_mclass) on <var_mclass:MClass> */
2203 var186
= var_mclass
->attrs
[COLOR_nitc__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var_mclass:MClass> */
2204 if (unlikely(var186
== NULL
)) {
2205 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
2206 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 380);
2210 RET_LABEL185
:(void)0;
2214 var187
= ((val
*(*)(val
* self
))(var184
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var184
); /* to_s on <var184:MModule>*/
2216 ((struct instance_core__NativeArray
*)var167
)->values
[1]=var187
;
2218 var188
= ((val
*(*)(val
* self
))(var_mclass
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mclass
); /* to_s on <var_mclass:MClass>*/
2220 ((struct instance_core__NativeArray
*)var167
)->values
[3]=var188
;
2222 var189
= ((val
*(*)(val
* self
))(var_mpropdef
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mpropdef
); /* to_s on <var_mpropdef:nullable MPropDef(MMethodDef)>*/
2224 ((struct instance_core__NativeArray
*)var167
)->values
[5]=var189
;
2226 var190
= ((val
*(*)(val
* self
))(var167
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var167
); /* native_to_s on <var167:NativeArray[String]>*/
2228 varonce166
= var167
;
2230 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var190
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
2232 goto BREAK_label191
;
2235 { /* Inline model_base#MEntity#is_broken (var_mpropdef) on <var_mpropdef:nullable MPropDef(MMethodDef)> */
2236 var196
= var_mpropdef
->attrs
[COLOR_nitc__model_base__MEntity___is_broken
].s
; /* _is_broken on <var_mpropdef:nullable MPropDef(MMethodDef)> */
2238 RET_LABEL195
:(void)0;
2246 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:nullable MPropDef(MMethodDef)> */
2247 var200
= var_mpropdef
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:nullable MPropDef(MMethodDef)> */
2249 RET_LABEL199
:(void)0;
2252 if (var198
== NULL
) {
2253 var201
= 1; /* is null */
2255 var201
= 0; /* arg is null but recv is not */
2258 { /* Inline kernel#Object#== (var198,((val*)NULL)) on <var198:nullable MSignature> */
2259 var_other38
= ((val
*)NULL
);
2261 { /* Inline kernel#Object#is_same_instance (var198,var_other38) on <var198:nullable MSignature(MSignature)> */
2262 var206
= var198
== var_other38
;
2265 RET_LABEL205
:(void)0;
2270 RET_LABEL203
:(void)0;
2281 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MPropDef(MMethodDef)> */
2282 var210
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MPropDef(MMethodDef)> */
2283 if (unlikely(var210
== NULL
)) {
2284 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2285 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2230);
2289 RET_LABEL209
:(void)0;
2293 { /* Inline model_base#MEntity#is_broken (var208) on <var208:MProperty(MMethod)> */
2294 var213
= var208
->attrs
[COLOR_nitc__model_base__MEntity___is_broken
].s
; /* _is_broken on <var208:MProperty(MMethod)> */
2296 RET_LABEL212
:(void)0;
2302 if (unlikely(varonce214
==NULL
)) {
2303 var215
= NEW_core__NativeArray(7l, &type_core__NativeArray__core__String
);
2304 if (likely(varonce216
!=NULL
)) {
2305 var217
= varonce216
;
2307 var218
= "NULL, /* DEAD (BROKEN) ";
2308 var219
= core__flat___NativeString___to_s_full(var218
, 23l, 23l);
2310 varonce216
= var217
;
2312 ((struct instance_core__NativeArray
*)var215
)->values
[0]=var217
;
2313 if (likely(varonce220
!=NULL
)) {
2314 var221
= varonce220
;
2317 var223
= core__flat___NativeString___to_s_full(var222
, 1l, 1l);
2319 varonce220
= var221
;
2321 ((struct instance_core__NativeArray
*)var215
)->values
[2]=var221
;
2322 if (likely(varonce224
!=NULL
)) {
2323 var225
= varonce224
;
2326 var227
= core__flat___NativeString___to_s_full(var226
, 1l, 1l);
2328 varonce224
= var225
;
2330 ((struct instance_core__NativeArray
*)var215
)->values
[4]=var225
;
2331 if (likely(varonce228
!=NULL
)) {
2332 var229
= varonce228
;
2335 var231
= core__flat___NativeString___to_s_full(var230
, 3l, 3l);
2337 varonce228
= var229
;
2339 ((struct instance_core__NativeArray
*)var215
)->values
[6]=var229
;
2341 var215
= varonce214
;
2345 { /* Inline model#MClass#intro_mmodule (var_mclass) on <var_mclass:MClass> */
2346 var234
= var_mclass
->attrs
[COLOR_nitc__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var_mclass:MClass> */
2347 if (unlikely(var234
== NULL
)) {
2348 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
2349 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 380);
2353 RET_LABEL233
:(void)0;
2357 var235
= ((val
*(*)(val
* self
))(var232
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var232
); /* to_s on <var232:MModule>*/
2359 ((struct instance_core__NativeArray
*)var215
)->values
[1]=var235
;
2361 var236
= ((val
*(*)(val
* self
))(var_mclass
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mclass
); /* to_s on <var_mclass:MClass>*/
2363 ((struct instance_core__NativeArray
*)var215
)->values
[3]=var236
;
2365 var237
= ((val
*(*)(val
* self
))(var_mpropdef
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mpropdef
); /* to_s on <var_mpropdef:nullable MPropDef(MMethodDef)>*/
2367 ((struct instance_core__NativeArray
*)var215
)->values
[5]=var237
;
2369 var238
= ((val
*(*)(val
* self
))(var215
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var215
); /* native_to_s on <var215:NativeArray[String]>*/
2371 varonce214
= var215
;
2373 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var238
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
2375 goto BREAK_label191
;
2380 var239
= nitc__separate_compiler___MMethodDef___virtual_runtime_function(var_mpropdef
);
2384 var240
= nitc___nitc__AbstractRuntimeFunction___c_name(var_rf
);
2387 nitc___nitc__AbstractCompilerVisitor___require_declaration(var_v
, var240
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
2389 if (unlikely(varonce241
==NULL
)) {
2390 var242
= NEW_core__NativeArray(9l, &type_core__NativeArray__core__String
);
2391 if (likely(varonce243
!=NULL
)) {
2392 var244
= varonce243
;
2394 var245
= "(nitmethod_t)";
2395 var246
= core__flat___NativeString___to_s_full(var245
, 13l, 13l);
2397 varonce243
= var244
;
2399 ((struct instance_core__NativeArray
*)var242
)->values
[0]=var244
;
2400 if (likely(varonce247
!=NULL
)) {
2401 var248
= varonce247
;
2403 var249
= ", /* pointer to ";
2404 var250
= core__flat___NativeString___to_s_full(var249
, 16l, 16l);
2406 varonce247
= var248
;
2408 ((struct instance_core__NativeArray
*)var242
)->values
[2]=var248
;
2409 if (likely(varonce251
!=NULL
)) {
2410 var252
= varonce251
;
2413 var254
= core__flat___NativeString___to_s_full(var253
, 1l, 1l);
2415 varonce251
= var252
;
2417 ((struct instance_core__NativeArray
*)var242
)->values
[4]=var252
;
2418 if (likely(varonce255
!=NULL
)) {
2419 var256
= varonce255
;
2422 var258
= core__flat___NativeString___to_s_full(var257
, 1l, 1l);
2424 varonce255
= var256
;
2426 ((struct instance_core__NativeArray
*)var242
)->values
[6]=var256
;
2427 if (likely(varonce259
!=NULL
)) {
2428 var260
= varonce259
;
2431 var262
= core__flat___NativeString___to_s_full(var261
, 3l, 3l);
2433 varonce259
= var260
;
2435 ((struct instance_core__NativeArray
*)var242
)->values
[8]=var260
;
2437 var242
= varonce241
;
2441 var263
= nitc___nitc__AbstractRuntimeFunction___c_name(var_rf
);
2443 ((struct instance_core__NativeArray
*)var242
)->values
[1]=var263
;
2445 { /* Inline model#MClass#intro_mmodule (var_mclass) on <var_mclass:MClass> */
2446 var266
= var_mclass
->attrs
[COLOR_nitc__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var_mclass:MClass> */
2447 if (unlikely(var266
== NULL
)) {
2448 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
2449 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 380);
2453 RET_LABEL265
:(void)0;
2457 var267
= ((val
*(*)(val
* self
))(var264
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var264
); /* to_s on <var264:MModule>*/
2459 ((struct instance_core__NativeArray
*)var242
)->values
[3]=var267
;
2461 var268
= ((val
*(*)(val
* self
))(var_mclass
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mclass
); /* to_s on <var_mclass:MClass>*/
2463 ((struct instance_core__NativeArray
*)var242
)->values
[5]=var268
;
2465 var269
= ((val
*(*)(val
* self
))(var_mpropdef
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mpropdef
); /* to_s on <var_mpropdef:nullable MPropDef(MMethodDef)>*/
2467 ((struct instance_core__NativeArray
*)var242
)->values
[7]=var269
;
2469 var270
= ((val
*(*)(val
* self
))(var242
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var242
); /* native_to_s on <var242:NativeArray[String]>*/
2471 varonce241
= var242
;
2473 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var270
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
2476 BREAK_label191
: (void)0;
2478 var271
= core___core__Int___Discrete__successor(var_i
, 1l);
2482 BREAK_label
: (void)0;
2485 if (likely(varonce272
!=NULL
)) {
2486 var273
= varonce272
;
2489 var275
= core__flat___NativeString___to_s_full(var274
, 1l, 1l);
2491 varonce272
= var273
;
2494 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var273
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
2496 if (likely(varonce276
!=NULL
)) {
2497 var277
= varonce276
;
2500 var279
= core__flat___NativeString___to_s_full(var278
, 2l, 2l);
2502 varonce276
= var277
;
2505 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var277
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
2510 var281
= nitc__abstract_compiler___MClassType___MType__is_c_primitive(var_mtype
);
2517 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
2518 var285
= var_mtype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
2519 if (unlikely(var285
== NULL
)) {
2520 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2521 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
2525 RET_LABEL284
:(void)0;
2529 { /* Inline model#MClass#name (var283) on <var283:MClass> */
2530 var288
= var283
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <var283:MClass> */
2531 if (unlikely(var288
== NULL
)) {
2532 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2533 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 385);
2537 RET_LABEL287
:(void)0;
2540 if (likely(varonce289
!=NULL
)) {
2541 var290
= varonce289
;
2544 var292
= core__flat___NativeString___to_s_full(var291
, 7l, 7l);
2546 varonce289
= var290
;
2549 var293
= ((short int(*)(val
* self
, val
* p0
))(var286
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var286
, var290
); /* == on <var286:String>*/
2555 { /* Inline separate_compiler#MType#is_tagged (var_mtype) on <var_mtype:MClassType> */
2556 var296
= var_mtype
->attrs
[COLOR_nitc__separate_compiler__MType___is_tagged
].s
; /* _is_tagged on <var_mtype:MClassType> */
2558 RET_LABEL295
:(void)0;
2566 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
2567 var299
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2568 if (unlikely(var299
== NULL
)) {
2569 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2570 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
2574 RET_LABEL298
:(void)0;
2577 if (unlikely(varonce300
==NULL
)) {
2578 var301
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
2579 if (likely(varonce302
!=NULL
)) {
2580 var303
= varonce302
;
2582 var304
= "struct instance_";
2583 var305
= core__flat___NativeString___to_s_full(var304
, 16l, 16l);
2585 varonce302
= var303
;
2587 ((struct instance_core__NativeArray
*)var301
)->values
[0]=var303
;
2588 if (likely(varonce306
!=NULL
)) {
2589 var307
= varonce306
;
2592 var309
= core__flat___NativeString___to_s_full(var308
, 2l, 2l);
2594 varonce306
= var307
;
2596 ((struct instance_core__NativeArray
*)var301
)->values
[2]=var307
;
2598 var301
= varonce300
;
2601 ((struct instance_core__NativeArray
*)var301
)->values
[1]=var_c_name
;
2603 var310
= ((val
*(*)(val
* self
))(var301
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var301
); /* native_to_s on <var301:NativeArray[String]>*/
2605 varonce300
= var301
;
2607 nitc___nitc__CodeWriter___add_decl(var297
, var310
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var297:CodeWriter>*/
2610 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
2611 var313
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2612 if (unlikely(var313
== NULL
)) {
2613 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2614 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
2618 RET_LABEL312
:(void)0;
2621 if (likely(varonce314
!=NULL
)) {
2622 var315
= varonce314
;
2624 var316
= "const struct type *type;";
2625 var317
= core__flat___NativeString___to_s_full(var316
, 24l, 24l);
2627 varonce314
= var315
;
2630 nitc___nitc__CodeWriter___add_decl(var311
, var315
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var311:CodeWriter>*/
2633 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
2634 var320
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2635 if (unlikely(var320
== NULL
)) {
2636 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2637 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
2641 RET_LABEL319
:(void)0;
2644 if (likely(varonce321
!=NULL
)) {
2645 var322
= varonce321
;
2647 var323
= "const struct class *class;";
2648 var324
= core__flat___NativeString___to_s_full(var323
, 26l, 26l);
2650 varonce321
= var322
;
2653 nitc___nitc__CodeWriter___add_decl(var318
, var322
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var318:CodeWriter>*/
2656 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
2657 var327
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2658 if (unlikely(var327
== NULL
)) {
2659 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2660 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
2664 RET_LABEL326
:(void)0;
2667 if (unlikely(varonce328
==NULL
)) {
2668 var329
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
2669 if (likely(varonce330
!=NULL
)) {
2670 var331
= varonce330
;
2673 var333
= core__flat___NativeString___to_s_full(var332
, 7l, 7l);
2675 varonce330
= var331
;
2677 ((struct instance_core__NativeArray
*)var329
)->values
[1]=var331
;
2679 var329
= varonce328
;
2683 var334
= nitc__abstract_compiler___MClassType___MType__ctype_extern(var_mtype
);
2685 ((struct instance_core__NativeArray
*)var329
)->values
[0]=var334
;
2687 var335
= ((val
*(*)(val
* self
))(var329
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var329
); /* native_to_s on <var329:NativeArray[String]>*/
2689 varonce328
= var329
;
2691 nitc___nitc__CodeWriter___add_decl(var325
, var335
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var325:CodeWriter>*/
2694 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
2695 var338
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2696 if (unlikely(var338
== NULL
)) {
2697 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2698 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
2702 RET_LABEL337
:(void)0;
2705 if (likely(varonce339
!=NULL
)) {
2706 var340
= varonce339
;
2709 var342
= core__flat___NativeString___to_s_full(var341
, 2l, 2l);
2711 varonce339
= var340
;
2714 nitc___nitc__CodeWriter___add_decl(var336
, var340
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var336:CodeWriter>*/
2716 var_344
= var_is_dead
;
2719 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
2720 var347
= var_mtype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
2721 if (unlikely(var347
== NULL
)) {
2722 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2723 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
2727 RET_LABEL346
:(void)0;
2731 { /* Inline model#MClass#name (var345) on <var345:MClass> */
2732 var350
= var345
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <var345:MClass> */
2733 if (unlikely(var350
== NULL
)) {
2734 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2735 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 385);
2739 RET_LABEL349
:(void)0;
2742 if (likely(varonce351
!=NULL
)) {
2743 var352
= varonce351
;
2746 var354
= core__flat___NativeString___to_s_full(var353
, 7l, 7l);
2748 varonce351
= var352
;
2751 { /* Inline kernel#Object#!= (var348,var352) on <var348:String> */
2754 var357
= ((short int(*)(val
* self
, val
* p0
))(var348
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var348
, var_other
); /* == on <var348:String>*/
2759 RET_LABEL356
:(void)0;
2770 if (unlikely(varonce359
==NULL
)) {
2771 var360
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
2772 if (likely(varonce361
!=NULL
)) {
2773 var362
= varonce361
;
2776 var364
= core__flat___NativeString___to_s_full(var363
, 4l, 4l);
2778 varonce361
= var362
;
2780 ((struct instance_core__NativeArray
*)var360
)->values
[0]=var362
;
2782 var360
= varonce359
;
2785 ((struct instance_core__NativeArray
*)var360
)->values
[1]=var_c_name
;
2787 var365
= ((val
*(*)(val
* self
))(var360
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var360
); /* native_to_s on <var360:NativeArray[String]>*/
2789 varonce359
= var360
;
2790 if (unlikely(varonce366
==NULL
)) {
2791 var367
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
2792 if (likely(varonce368
!=NULL
)) {
2793 var369
= varonce368
;
2795 var370
= "val* BOX_";
2796 var371
= core__flat___NativeString___to_s_full(var370
, 9l, 9l);
2798 varonce368
= var369
;
2800 ((struct instance_core__NativeArray
*)var367
)->values
[0]=var369
;
2801 if (likely(varonce372
!=NULL
)) {
2802 var373
= varonce372
;
2805 var375
= core__flat___NativeString___to_s_full(var374
, 1l, 1l);
2807 varonce372
= var373
;
2809 ((struct instance_core__NativeArray
*)var367
)->values
[2]=var373
;
2810 if (likely(varonce376
!=NULL
)) {
2811 var377
= varonce376
;
2814 var379
= core__flat___NativeString___to_s_full(var378
, 2l, 2l);
2816 varonce376
= var377
;
2818 ((struct instance_core__NativeArray
*)var367
)->values
[4]=var377
;
2820 var367
= varonce366
;
2823 ((struct instance_core__NativeArray
*)var367
)->values
[1]=var_c_name
;
2825 var380
= nitc__abstract_compiler___MClassType___MType__ctype_extern(var_mtype
);
2827 ((struct instance_core__NativeArray
*)var367
)->values
[3]=var380
;
2829 var381
= ((val
*(*)(val
* self
))(var367
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var367
); /* native_to_s on <var367:NativeArray[String]>*/
2831 varonce366
= var367
;
2833 nitc___nitc__AbstractCompiler___provide_declaration(self
, var365
, var381
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
2835 if (unlikely(varonce382
==NULL
)) {
2836 var383
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
2837 if (likely(varonce384
!=NULL
)) {
2838 var385
= varonce384
;
2840 var386
= "/* allocate ";
2841 var387
= core__flat___NativeString___to_s_full(var386
, 12l, 12l);
2843 varonce384
= var385
;
2845 ((struct instance_core__NativeArray
*)var383
)->values
[0]=var385
;
2846 if (likely(varonce388
!=NULL
)) {
2847 var389
= varonce388
;
2850 var391
= core__flat___NativeString___to_s_full(var390
, 3l, 3l);
2852 varonce388
= var389
;
2854 ((struct instance_core__NativeArray
*)var383
)->values
[2]=var389
;
2856 var383
= varonce382
;
2860 var392
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MClassType>*/
2862 ((struct instance_core__NativeArray
*)var383
)->values
[1]=var392
;
2864 var393
= ((val
*(*)(val
* self
))(var383
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var383
); /* native_to_s on <var383:NativeArray[String]>*/
2866 varonce382
= var383
;
2868 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var393
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
2870 if (unlikely(varonce394
==NULL
)) {
2871 var395
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
2872 if (likely(varonce396
!=NULL
)) {
2873 var397
= varonce396
;
2875 var398
= "val* BOX_";
2876 var399
= core__flat___NativeString___to_s_full(var398
, 9l, 9l);
2878 varonce396
= var397
;
2880 ((struct instance_core__NativeArray
*)var395
)->values
[0]=var397
;
2881 if (likely(varonce400
!=NULL
)) {
2882 var401
= varonce400
;
2885 var403
= core__flat___NativeString___to_s_full(var402
, 1l, 1l);
2887 varonce400
= var401
;
2889 ((struct instance_core__NativeArray
*)var395
)->values
[2]=var401
;
2890 if (likely(varonce404
!=NULL
)) {
2891 var405
= varonce404
;
2893 var406
= " value) {";
2894 var407
= core__flat___NativeString___to_s_full(var406
, 9l, 9l);
2896 varonce404
= var405
;
2898 ((struct instance_core__NativeArray
*)var395
)->values
[4]=var405
;
2900 var395
= varonce394
;
2904 var408
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MClassType>*/
2906 ((struct instance_core__NativeArray
*)var395
)->values
[1]=var408
;
2908 var409
= nitc__abstract_compiler___MClassType___MType__ctype_extern(var_mtype
);
2910 ((struct instance_core__NativeArray
*)var395
)->values
[3]=var409
;
2912 var410
= ((val
*(*)(val
* self
))(var395
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var395
); /* native_to_s on <var395:NativeArray[String]>*/
2914 varonce394
= var395
;
2916 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var410
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
2918 if (unlikely(varonce411
==NULL
)) {
2919 var412
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
2920 if (likely(varonce413
!=NULL
)) {
2921 var414
= varonce413
;
2923 var415
= "struct instance_";
2924 var416
= core__flat___NativeString___to_s_full(var415
, 16l, 16l);
2926 varonce413
= var414
;
2928 ((struct instance_core__NativeArray
*)var412
)->values
[0]=var414
;
2929 if (likely(varonce417
!=NULL
)) {
2930 var418
= varonce417
;
2932 var419
= "*res = nit_alloc(sizeof(struct instance_";
2933 var420
= core__flat___NativeString___to_s_full(var419
, 40l, 40l);
2935 varonce417
= var418
;
2937 ((struct instance_core__NativeArray
*)var412
)->values
[2]=var418
;
2938 if (likely(varonce421
!=NULL
)) {
2939 var422
= varonce421
;
2942 var424
= core__flat___NativeString___to_s_full(var423
, 3l, 3l);
2944 varonce421
= var422
;
2946 ((struct instance_core__NativeArray
*)var412
)->values
[4]=var422
;
2948 var412
= varonce411
;
2951 ((struct instance_core__NativeArray
*)var412
)->values
[1]=var_c_name
;
2952 ((struct instance_core__NativeArray
*)var412
)->values
[3]=var_c_name
;
2954 var425
= ((val
*(*)(val
* self
))(var412
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var412
); /* native_to_s on <var412:NativeArray[String]>*/
2956 varonce411
= var412
;
2958 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var425
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2961 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:SeparateCompilerVisitor> */
2962 var428
= var_v
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:SeparateCompilerVisitor> */
2963 if (unlikely(var428
== NULL
)) {
2964 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2965 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1133);
2969 RET_LABEL427
:(void)0;
2973 { /* Inline separate_compiler#SeparateCompiler#undead_types (var426) on <var426:AbstractCompiler(SeparateCompiler)> */
2974 var431
= var426
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___undead_types
].val
; /* _undead_types on <var426:AbstractCompiler(SeparateCompiler)> */
2975 if (unlikely(var431
== NULL
)) {
2976 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _undead_types");
2977 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 146);
2981 RET_LABEL430
:(void)0;
2985 ((void(*)(val
* self
, val
* p0
))((((long)var429
&3)?class_info
[((long)var429
&3)]:var429
->class)->vft
[COLOR_core__abstract_collection__SimpleCollection__add
]))(var429
, var_mtype
); /* add on <var429:Set[MType]>*/
2987 if (unlikely(varonce432
==NULL
)) {
2988 var433
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
2989 if (likely(varonce434
!=NULL
)) {
2990 var435
= varonce434
;
2993 var437
= core__flat___NativeString___to_s_full(var436
, 5l, 5l);
2995 varonce434
= var435
;
2997 ((struct instance_core__NativeArray
*)var433
)->values
[0]=var435
;
2999 var433
= varonce432
;
3002 ((struct instance_core__NativeArray
*)var433
)->values
[1]=var_c_name
;
3004 var438
= ((val
*(*)(val
* self
))(var433
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var433
); /* native_to_s on <var433:NativeArray[String]>*/
3006 varonce432
= var433
;
3008 nitc___nitc__AbstractCompilerVisitor___require_declaration(var_v
, var438
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
3010 if (unlikely(varonce439
==NULL
)) {
3011 var440
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
3012 if (likely(varonce441
!=NULL
)) {
3013 var442
= varonce441
;
3015 var443
= "res->type = &type_";
3016 var444
= core__flat___NativeString___to_s_full(var443
, 18l, 18l);
3018 varonce441
= var442
;
3020 ((struct instance_core__NativeArray
*)var440
)->values
[0]=var442
;
3021 if (likely(varonce445
!=NULL
)) {
3022 var446
= varonce445
;
3025 var448
= core__flat___NativeString___to_s_full(var447
, 1l, 1l);
3027 varonce445
= var446
;
3029 ((struct instance_core__NativeArray
*)var440
)->values
[2]=var446
;
3031 var440
= varonce439
;
3034 ((struct instance_core__NativeArray
*)var440
)->values
[1]=var_c_name
;
3036 var449
= ((val
*(*)(val
* self
))(var440
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var440
); /* native_to_s on <var440:NativeArray[String]>*/
3038 varonce439
= var440
;
3040 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var449
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3042 if (unlikely(varonce450
==NULL
)) {
3043 var451
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
3044 if (likely(varonce452
!=NULL
)) {
3045 var453
= varonce452
;
3048 var455
= core__flat___NativeString___to_s_full(var454
, 6l, 6l);
3050 varonce452
= var453
;
3052 ((struct instance_core__NativeArray
*)var451
)->values
[0]=var453
;
3054 var451
= varonce450
;
3057 ((struct instance_core__NativeArray
*)var451
)->values
[1]=var_c_name
;
3059 var456
= ((val
*(*)(val
* self
))(var451
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var451
); /* native_to_s on <var451:NativeArray[String]>*/
3061 varonce450
= var451
;
3063 nitc___nitc__AbstractCompilerVisitor___require_declaration(var_v
, var456
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
3065 if (unlikely(varonce457
==NULL
)) {
3066 var458
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
3067 if (likely(varonce459
!=NULL
)) {
3068 var460
= varonce459
;
3070 var461
= "res->class = &class_";
3071 var462
= core__flat___NativeString___to_s_full(var461
, 20l, 20l);
3073 varonce459
= var460
;
3075 ((struct instance_core__NativeArray
*)var458
)->values
[0]=var460
;
3076 if (likely(varonce463
!=NULL
)) {
3077 var464
= varonce463
;
3080 var466
= core__flat___NativeString___to_s_full(var465
, 1l, 1l);
3082 varonce463
= var464
;
3084 ((struct instance_core__NativeArray
*)var458
)->values
[2]=var464
;
3086 var458
= varonce457
;
3089 ((struct instance_core__NativeArray
*)var458
)->values
[1]=var_c_name
;
3091 var467
= ((val
*(*)(val
* self
))(var458
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var458
); /* native_to_s on <var458:NativeArray[String]>*/
3093 varonce457
= var458
;
3095 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var467
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3097 if (likely(varonce468
!=NULL
)) {
3098 var469
= varonce468
;
3100 var470
= "res->value = value;";
3101 var471
= core__flat___NativeString___to_s_full(var470
, 19l, 19l);
3103 varonce468
= var469
;
3106 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var469
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3108 if (likely(varonce472
!=NULL
)) {
3109 var473
= varonce472
;
3111 var474
= "return (val*)res;";
3112 var475
= core__flat___NativeString___to_s_full(var474
, 17l, 17l);
3114 varonce472
= var473
;
3117 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var473
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3119 if (likely(varonce476
!=NULL
)) {
3120 var477
= varonce476
;
3123 var479
= core__flat___NativeString___to_s_full(var478
, 1l, 1l);
3125 varonce476
= var477
;
3128 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var477
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3131 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
3132 var482
= var_mtype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
3133 if (unlikely(var482
== NULL
)) {
3134 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3135 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
3139 RET_LABEL481
:(void)0;
3143 { /* Inline model#MClass#name (var480) on <var480:MClass> */
3144 var485
= var480
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <var480:MClass> */
3145 if (unlikely(var485
== NULL
)) {
3146 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3147 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 385);
3151 RET_LABEL484
:(void)0;
3154 if (likely(varonce486
!=NULL
)) {
3155 var487
= varonce486
;
3158 var489
= core__flat___NativeString___to_s_full(var488
, 7l, 7l);
3160 varonce486
= var487
;
3163 { /* Inline kernel#Object#!= (var483,var487) on <var483:String> */
3166 var492
= ((short int(*)(val
* self
, val
* p0
))(var483
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var483
, var_other
); /* == on <var483:String>*/
3171 RET_LABEL491
:(void)0;
3179 var494
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__abstract_compiler__AbstractCompiler__new_visitor
]))(self
); /* new_visitor on <self:SeparateCompiler>*/
3182 if (unlikely(varonce495
==NULL
)) {
3183 var496
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
3184 if (likely(varonce497
!=NULL
)) {
3185 var498
= varonce497
;
3188 var500
= core__flat___NativeString___to_s_full(var499
, 4l, 4l);
3190 varonce497
= var498
;
3192 ((struct instance_core__NativeArray
*)var496
)->values
[0]=var498
;
3194 var496
= varonce495
;
3197 ((struct instance_core__NativeArray
*)var496
)->values
[1]=var_c_name
;
3199 var501
= ((val
*(*)(val
* self
))(var496
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var496
); /* native_to_s on <var496:NativeArray[String]>*/
3201 varonce495
= var496
;
3202 if (unlikely(varonce502
==NULL
)) {
3203 var503
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
3204 if (likely(varonce504
!=NULL
)) {
3205 var505
= varonce504
;
3208 var507
= core__flat___NativeString___to_s_full(var506
, 5l, 5l);
3210 varonce504
= var505
;
3212 ((struct instance_core__NativeArray
*)var503
)->values
[1]=var505
;
3213 if (likely(varonce508
!=NULL
)) {
3214 var509
= varonce508
;
3216 var510
= "(const struct type* type);";
3217 var511
= core__flat___NativeString___to_s_full(var510
, 26l, 26l);
3219 varonce508
= var509
;
3221 ((struct instance_core__NativeArray
*)var503
)->values
[3]=var509
;
3223 var503
= varonce502
;
3227 var512
= nitc__abstract_compiler___MClassType___MType__ctype(var_mtype
);
3229 ((struct instance_core__NativeArray
*)var503
)->values
[0]=var512
;
3230 ((struct instance_core__NativeArray
*)var503
)->values
[2]=var_c_name
;
3232 var513
= ((val
*(*)(val
* self
))(var503
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var503
); /* native_to_s on <var503:NativeArray[String]>*/
3234 varonce502
= var503
;
3236 nitc___nitc__AbstractCompiler___provide_declaration(self
, var501
, var513
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
3238 if (unlikely(varonce514
==NULL
)) {
3239 var515
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
3240 if (likely(varonce516
!=NULL
)) {
3241 var517
= varonce516
;
3243 var518
= "/* allocate ";
3244 var519
= core__flat___NativeString___to_s_full(var518
, 12l, 12l);
3246 varonce516
= var517
;
3248 ((struct instance_core__NativeArray
*)var515
)->values
[0]=var517
;
3249 if (likely(varonce520
!=NULL
)) {
3250 var521
= varonce520
;
3253 var523
= core__flat___NativeString___to_s_full(var522
, 3l, 3l);
3255 varonce520
= var521
;
3257 ((struct instance_core__NativeArray
*)var515
)->values
[2]=var521
;
3259 var515
= varonce514
;
3263 var524
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MClassType>*/
3265 ((struct instance_core__NativeArray
*)var515
)->values
[1]=var524
;
3267 var525
= ((val
*(*)(val
* self
))(var515
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var515
); /* native_to_s on <var515:NativeArray[String]>*/
3269 varonce514
= var515
;
3271 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var525
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
3273 if (unlikely(varonce526
==NULL
)) {
3274 var527
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
3275 if (likely(varonce528
!=NULL
)) {
3276 var529
= varonce528
;
3279 var531
= core__flat___NativeString___to_s_full(var530
, 5l, 5l);
3281 varonce528
= var529
;
3283 ((struct instance_core__NativeArray
*)var527
)->values
[1]=var529
;
3284 if (likely(varonce532
!=NULL
)) {
3285 var533
= varonce532
;
3287 var534
= "(const struct type* type) {";
3288 var535
= core__flat___NativeString___to_s_full(var534
, 27l, 27l);
3290 varonce532
= var533
;
3292 ((struct instance_core__NativeArray
*)var527
)->values
[3]=var533
;
3294 var527
= varonce526
;
3298 var536
= nitc__abstract_compiler___MClassType___MType__ctype(var_mtype
);
3300 ((struct instance_core__NativeArray
*)var527
)->values
[0]=var536
;
3301 ((struct instance_core__NativeArray
*)var527
)->values
[2]=var_c_name
;
3303 var537
= ((val
*(*)(val
* self
))(var527
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var527
); /* native_to_s on <var527:NativeArray[String]>*/
3305 varonce526
= var527
;
3307 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var537
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
3310 if (unlikely(varonce538
==NULL
)) {
3311 var539
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
3312 if (likely(varonce540
!=NULL
)) {
3313 var541
= varonce540
;
3315 var542
= " is DEAD";
3316 var543
= core__flat___NativeString___to_s_full(var542
, 8l, 8l);
3318 varonce540
= var541
;
3320 ((struct instance_core__NativeArray
*)var539
)->values
[1]=var541
;
3322 var539
= varonce538
;
3326 var544
= ((val
*(*)(val
* self
))(var_mclass
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mclass
); /* to_s on <var_mclass:MClass>*/
3328 ((struct instance_core__NativeArray
*)var539
)->values
[0]=var544
;
3330 var545
= ((val
*(*)(val
* self
))(var539
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var539
); /* native_to_s on <var539:NativeArray[String]>*/
3332 varonce538
= var539
;
3334 nitc___nitc__AbstractCompilerVisitor___add_abort(var_v
, var545
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:SeparateCompilerVisitor>*/
3337 if (likely(varonce546
!=NULL
)) {
3338 var547
= varonce546
;
3341 var549
= core__flat___NativeString___to_s_full(var548
, 4l, 4l);
3343 varonce546
= var547
;
3346 var550
= nitc___nitc__AbstractCompilerVisitor___new_named_var(var_v
, var_mtype
, var547
);
3350 { /* Inline abstract_compiler#RuntimeVariable#is_exact= (var_res,1) on <var_res:RuntimeVariable> */
3351 var_res
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___is_exact
].s
= 1; /* _is_exact on <var_res:RuntimeVariable> */
3352 RET_LABEL551
:(void)0;
3355 if (unlikely(varonce552
==NULL
)) {
3356 var553
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
3357 if (likely(varonce554
!=NULL
)) {
3358 var555
= varonce554
;
3360 var556
= " = nit_alloc(sizeof(struct instance_";
3361 var557
= core__flat___NativeString___to_s_full(var556
, 36l, 36l);
3363 varonce554
= var555
;
3365 ((struct instance_core__NativeArray
*)var553
)->values
[1]=var555
;
3366 if (likely(varonce558
!=NULL
)) {
3367 var559
= varonce558
;
3370 var561
= core__flat___NativeString___to_s_full(var560
, 3l, 3l);
3372 varonce558
= var559
;
3374 ((struct instance_core__NativeArray
*)var553
)->values
[3]=var559
;
3376 var553
= varonce552
;
3380 var562
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
3382 ((struct instance_core__NativeArray
*)var553
)->values
[0]=var562
;
3384 var563
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MClassType>*/
3386 ((struct instance_core__NativeArray
*)var553
)->values
[2]=var563
;
3388 var564
= ((val
*(*)(val
* self
))(var553
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var553
); /* native_to_s on <var553:NativeArray[String]>*/
3390 varonce552
= var553
;
3392 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var564
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3394 if (unlikely(varonce565
==NULL
)) {
3395 var566
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
3396 if (likely(varonce567
!=NULL
)) {
3397 var568
= varonce567
;
3399 var569
= "->type = type;";
3400 var570
= core__flat___NativeString___to_s_full(var569
, 14l, 14l);
3402 varonce567
= var568
;
3404 ((struct instance_core__NativeArray
*)var566
)->values
[1]=var568
;
3406 var566
= varonce565
;
3410 var571
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
3412 ((struct instance_core__NativeArray
*)var566
)->values
[0]=var571
;
3414 var572
= ((val
*(*)(val
* self
))(var566
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var566
); /* native_to_s on <var566:NativeArray[String]>*/
3416 varonce565
= var566
;
3418 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var572
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3420 if (likely(varonce573
!=NULL
)) {
3421 var574
= varonce573
;
3424 var576
= core__flat___NativeString___to_s_full(var575
, 4l, 4l);
3426 varonce573
= var574
;
3429 nitc___nitc__SeparateCompiler___hardening_live_type(self
, var_v
, var574
); /* Direct call separate_compiler#SeparateCompiler#hardening_live_type on <self:SeparateCompiler>*/
3431 if (unlikely(varonce577
==NULL
)) {
3432 var578
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
3433 if (likely(varonce579
!=NULL
)) {
3434 var580
= varonce579
;
3437 var582
= core__flat___NativeString___to_s_full(var581
, 6l, 6l);
3439 varonce579
= var580
;
3441 ((struct instance_core__NativeArray
*)var578
)->values
[0]=var580
;
3443 var578
= varonce577
;
3446 ((struct instance_core__NativeArray
*)var578
)->values
[1]=var_c_name
;
3448 var583
= ((val
*(*)(val
* self
))(var578
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var578
); /* native_to_s on <var578:NativeArray[String]>*/
3450 varonce577
= var578
;
3452 nitc___nitc__AbstractCompilerVisitor___require_declaration(var_v
, var583
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
3454 if (unlikely(varonce584
==NULL
)) {
3455 var585
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
3456 if (likely(varonce586
!=NULL
)) {
3457 var587
= varonce586
;
3459 var588
= "->class = &class_";
3460 var589
= core__flat___NativeString___to_s_full(var588
, 17l, 17l);
3462 varonce586
= var587
;
3464 ((struct instance_core__NativeArray
*)var585
)->values
[1]=var587
;
3465 if (likely(varonce590
!=NULL
)) {
3466 var591
= varonce590
;
3469 var593
= core__flat___NativeString___to_s_full(var592
, 1l, 1l);
3471 varonce590
= var591
;
3473 ((struct instance_core__NativeArray
*)var585
)->values
[3]=var591
;
3475 var585
= varonce584
;
3479 var594
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
3481 ((struct instance_core__NativeArray
*)var585
)->values
[0]=var594
;
3482 ((struct instance_core__NativeArray
*)var585
)->values
[2]=var_c_name
;
3484 var595
= ((val
*(*)(val
* self
))(var585
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var585
); /* native_to_s on <var585:NativeArray[String]>*/
3486 varonce584
= var585
;
3488 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var595
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3490 if (unlikely(varonce596
==NULL
)) {
3491 var597
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
3492 if (likely(varonce598
!=NULL
)) {
3493 var599
= varonce598
;
3495 var600
= "((struct instance_";
3496 var601
= core__flat___NativeString___to_s_full(var600
, 18l, 18l);
3498 varonce598
= var599
;
3500 ((struct instance_core__NativeArray
*)var597
)->values
[0]=var599
;
3501 if (likely(varonce602
!=NULL
)) {
3502 var603
= varonce602
;
3505 var605
= core__flat___NativeString___to_s_full(var604
, 2l, 2l);
3507 varonce602
= var603
;
3509 ((struct instance_core__NativeArray
*)var597
)->values
[2]=var603
;
3510 if (likely(varonce606
!=NULL
)) {
3511 var607
= varonce606
;
3513 var608
= ")->value = NULL;";
3514 var609
= core__flat___NativeString___to_s_full(var608
, 16l, 16l);
3516 varonce606
= var607
;
3518 ((struct instance_core__NativeArray
*)var597
)->values
[4]=var607
;
3520 var597
= varonce596
;
3524 var610
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MClassType>*/
3526 ((struct instance_core__NativeArray
*)var597
)->values
[1]=var610
;
3528 var611
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
3530 ((struct instance_core__NativeArray
*)var597
)->values
[3]=var611
;
3532 var612
= ((val
*(*)(val
* self
))(var597
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var597
); /* native_to_s on <var597:NativeArray[String]>*/
3534 varonce596
= var597
;
3536 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var612
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3538 if (unlikely(varonce613
==NULL
)) {
3539 var614
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
3540 if (likely(varonce615
!=NULL
)) {
3541 var616
= varonce615
;
3544 var618
= core__flat___NativeString___to_s_full(var617
, 7l, 7l);
3546 varonce615
= var616
;
3548 ((struct instance_core__NativeArray
*)var614
)->values
[0]=var616
;
3549 if (likely(varonce619
!=NULL
)) {
3550 var620
= varonce619
;
3553 var622
= core__flat___NativeString___to_s_full(var621
, 1l, 1l);
3555 varonce619
= var620
;
3557 ((struct instance_core__NativeArray
*)var614
)->values
[2]=var620
;
3559 var614
= varonce613
;
3563 var623
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
3565 ((struct instance_core__NativeArray
*)var614
)->values
[1]=var623
;
3567 var624
= ((val
*(*)(val
* self
))(var614
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var614
); /* native_to_s on <var614:NativeArray[String]>*/
3569 varonce613
= var614
;
3571 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var624
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3574 if (likely(varonce625
!=NULL
)) {
3575 var626
= varonce625
;
3578 var628
= core__flat___NativeString___to_s_full(var627
, 1l, 1l);
3580 varonce625
= var626
;
3583 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var626
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3588 { /* Inline model#MClass#name (var_mclass) on <var_mclass:MClass> */
3589 var631
= var_mclass
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <var_mclass:MClass> */
3590 if (unlikely(var631
== NULL
)) {
3591 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3592 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 385);
3596 RET_LABEL630
:(void)0;
3599 if (likely(varonce632
!=NULL
)) {
3600 var633
= varonce632
;
3602 var634
= "NativeArray";
3603 var635
= core__flat___NativeString___to_s_full(var634
, 11l, 11l);
3605 varonce632
= var633
;
3608 var636
= ((short int(*)(val
* self
, val
* p0
))(var629
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var629
, var633
); /* == on <var629:String>*/
3612 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3613 var639
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3614 if (unlikely(var639
== NULL
)) {
3615 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3616 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
3620 RET_LABEL638
:(void)0;
3623 if (unlikely(varonce640
==NULL
)) {
3624 var641
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
3625 if (likely(varonce642
!=NULL
)) {
3626 var643
= varonce642
;
3628 var644
= "struct instance_";
3629 var645
= core__flat___NativeString___to_s_full(var644
, 16l, 16l);
3631 varonce642
= var643
;
3633 ((struct instance_core__NativeArray
*)var641
)->values
[0]=var643
;
3634 if (likely(varonce646
!=NULL
)) {
3635 var647
= varonce646
;
3638 var649
= core__flat___NativeString___to_s_full(var648
, 2l, 2l);
3640 varonce646
= var647
;
3642 ((struct instance_core__NativeArray
*)var641
)->values
[2]=var647
;
3644 var641
= varonce640
;
3647 ((struct instance_core__NativeArray
*)var641
)->values
[1]=var_c_name
;
3649 var650
= ((val
*(*)(val
* self
))(var641
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var641
); /* native_to_s on <var641:NativeArray[String]>*/
3651 varonce640
= var641
;
3653 nitc___nitc__CodeWriter___add_decl(var637
, var650
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var637:CodeWriter>*/
3656 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3657 var653
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3658 if (unlikely(var653
== NULL
)) {
3659 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3660 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
3664 RET_LABEL652
:(void)0;
3667 if (likely(varonce654
!=NULL
)) {
3668 var655
= varonce654
;
3670 var656
= "const struct type *type;";
3671 var657
= core__flat___NativeString___to_s_full(var656
, 24l, 24l);
3673 varonce654
= var655
;
3676 nitc___nitc__CodeWriter___add_decl(var651
, var655
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var651:CodeWriter>*/
3679 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3680 var660
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3681 if (unlikely(var660
== NULL
)) {
3682 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3683 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
3687 RET_LABEL659
:(void)0;
3690 if (likely(varonce661
!=NULL
)) {
3691 var662
= varonce661
;
3693 var663
= "const struct class *class;";
3694 var664
= core__flat___NativeString___to_s_full(var663
, 26l, 26l);
3696 varonce661
= var662
;
3699 nitc___nitc__CodeWriter___add_decl(var658
, var662
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var658:CodeWriter>*/
3702 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3703 var667
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3704 if (unlikely(var667
== NULL
)) {
3705 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3706 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
3710 RET_LABEL666
:(void)0;
3713 if (likely(varonce668
!=NULL
)) {
3714 var669
= varonce668
;
3716 var670
= "int length;";
3717 var671
= core__flat___NativeString___to_s_full(var670
, 11l, 11l);
3719 varonce668
= var669
;
3722 nitc___nitc__CodeWriter___add_decl(var665
, var669
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var665:CodeWriter>*/
3725 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3726 var674
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3727 if (unlikely(var674
== NULL
)) {
3728 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3729 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
3733 RET_LABEL673
:(void)0;
3736 if (likely(varonce675
!=NULL
)) {
3737 var676
= varonce675
;
3739 var677
= "val* values[0];";
3740 var678
= core__flat___NativeString___to_s_full(var677
, 15l, 15l);
3742 varonce675
= var676
;
3745 nitc___nitc__CodeWriter___add_decl(var672
, var676
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var672:CodeWriter>*/
3748 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3749 var681
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3750 if (unlikely(var681
== NULL
)) {
3751 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3752 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
3756 RET_LABEL680
:(void)0;
3759 if (likely(varonce682
!=NULL
)) {
3760 var683
= varonce682
;
3763 var685
= core__flat___NativeString___to_s_full(var684
, 2l, 2l);
3765 varonce682
= var683
;
3768 nitc___nitc__CodeWriter___add_decl(var679
, var683
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var679:CodeWriter>*/
3770 if (unlikely(varonce686
==NULL
)) {
3771 var687
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
3772 if (likely(varonce688
!=NULL
)) {
3773 var689
= varonce688
;
3776 var691
= core__flat___NativeString___to_s_full(var690
, 4l, 4l);
3778 varonce688
= var689
;
3780 ((struct instance_core__NativeArray
*)var687
)->values
[0]=var689
;
3782 var687
= varonce686
;
3785 ((struct instance_core__NativeArray
*)var687
)->values
[1]=var_c_name
;
3787 var692
= ((val
*(*)(val
* self
))(var687
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var687
); /* native_to_s on <var687:NativeArray[String]>*/
3789 varonce686
= var687
;
3790 if (unlikely(varonce693
==NULL
)) {
3791 var694
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
3792 if (likely(varonce695
!=NULL
)) {
3793 var696
= varonce695
;
3796 var698
= core__flat___NativeString___to_s_full(var697
, 5l, 5l);
3798 varonce695
= var696
;
3800 ((struct instance_core__NativeArray
*)var694
)->values
[1]=var696
;
3801 if (likely(varonce699
!=NULL
)) {
3802 var700
= varonce699
;
3804 var701
= "(int length, const struct type* type);";
3805 var702
= core__flat___NativeString___to_s_full(var701
, 38l, 38l);
3807 varonce699
= var700
;
3809 ((struct instance_core__NativeArray
*)var694
)->values
[3]=var700
;
3811 var694
= varonce693
;
3815 var703
= nitc__abstract_compiler___MClassType___MType__ctype(var_mtype
);
3817 ((struct instance_core__NativeArray
*)var694
)->values
[0]=var703
;
3818 ((struct instance_core__NativeArray
*)var694
)->values
[2]=var_c_name
;
3820 var704
= ((val
*(*)(val
* self
))(var694
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var694
); /* native_to_s on <var694:NativeArray[String]>*/
3822 varonce693
= var694
;
3824 nitc___nitc__AbstractCompiler___provide_declaration(self
, var692
, var704
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
3826 if (unlikely(varonce705
==NULL
)) {
3827 var706
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
3828 if (likely(varonce707
!=NULL
)) {
3829 var708
= varonce707
;
3831 var709
= "/* allocate ";
3832 var710
= core__flat___NativeString___to_s_full(var709
, 12l, 12l);
3834 varonce707
= var708
;
3836 ((struct instance_core__NativeArray
*)var706
)->values
[0]=var708
;
3837 if (likely(varonce711
!=NULL
)) {
3838 var712
= varonce711
;
3841 var714
= core__flat___NativeString___to_s_full(var713
, 3l, 3l);
3843 varonce711
= var712
;
3845 ((struct instance_core__NativeArray
*)var706
)->values
[2]=var712
;
3847 var706
= varonce705
;
3851 var715
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MClassType>*/
3853 ((struct instance_core__NativeArray
*)var706
)->values
[1]=var715
;
3855 var716
= ((val
*(*)(val
* self
))(var706
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var706
); /* native_to_s on <var706:NativeArray[String]>*/
3857 varonce705
= var706
;
3859 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var716
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
3861 if (unlikely(varonce717
==NULL
)) {
3862 var718
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
3863 if (likely(varonce719
!=NULL
)) {
3864 var720
= varonce719
;
3867 var722
= core__flat___NativeString___to_s_full(var721
, 5l, 5l);
3869 varonce719
= var720
;
3871 ((struct instance_core__NativeArray
*)var718
)->values
[1]=var720
;
3872 if (likely(varonce723
!=NULL
)) {
3873 var724
= varonce723
;
3875 var725
= "(int length, const struct type* type) {";
3876 var726
= core__flat___NativeString___to_s_full(var725
, 39l, 39l);
3878 varonce723
= var724
;
3880 ((struct instance_core__NativeArray
*)var718
)->values
[3]=var724
;
3882 var718
= varonce717
;
3886 var727
= nitc__abstract_compiler___MClassType___MType__ctype(var_mtype
);
3888 ((struct instance_core__NativeArray
*)var718
)->values
[0]=var727
;
3889 ((struct instance_core__NativeArray
*)var718
)->values
[2]=var_c_name
;
3891 var728
= ((val
*(*)(val
* self
))(var718
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var718
); /* native_to_s on <var718:NativeArray[String]>*/
3893 varonce717
= var718
;
3895 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var728
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
3897 if (likely(varonce729
!=NULL
)) {
3898 var730
= varonce729
;
3901 var732
= core__flat___NativeString___to_s_full(var731
, 4l, 4l);
3903 varonce729
= var730
;
3906 var733
= nitc___nitc__AbstractCompilerVisitor___get_name(var_v
, var730
);
3908 var_res734
= var733
;
3909 if (unlikely(varonce735
==NULL
)) {
3910 var736
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
3911 if (likely(varonce737
!=NULL
)) {
3912 var738
= varonce737
;
3914 var739
= "struct instance_";
3915 var740
= core__flat___NativeString___to_s_full(var739
, 16l, 16l);
3917 varonce737
= var738
;
3919 ((struct instance_core__NativeArray
*)var736
)->values
[0]=var738
;
3920 if (likely(varonce741
!=NULL
)) {
3921 var742
= varonce741
;
3924 var744
= core__flat___NativeString___to_s_full(var743
, 2l, 2l);
3926 varonce741
= var742
;
3928 ((struct instance_core__NativeArray
*)var736
)->values
[2]=var742
;
3929 if (likely(varonce745
!=NULL
)) {
3930 var746
= varonce745
;
3933 var748
= core__flat___NativeString___to_s_full(var747
, 1l, 1l);
3935 varonce745
= var746
;
3937 ((struct instance_core__NativeArray
*)var736
)->values
[4]=var746
;
3939 var736
= varonce735
;
3942 ((struct instance_core__NativeArray
*)var736
)->values
[1]=var_c_name
;
3943 ((struct instance_core__NativeArray
*)var736
)->values
[3]=var_res734
;
3945 var749
= ((val
*(*)(val
* self
))(var736
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var736
); /* native_to_s on <var736:NativeArray[String]>*/
3947 varonce735
= var736
;
3949 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var749
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
3952 var750
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model__MClassType__arguments
]))(var_mtype
); /* arguments on <var_mtype:MClassType>*/
3955 var751
= core___core__SequenceRead___Collection__first(var750
);
3957 var_mtype_elt
= var751
;
3958 if (unlikely(varonce752
==NULL
)) {
3959 var753
= NEW_core__NativeArray(6l, &type_core__NativeArray__core__String
);
3960 if (likely(varonce754
!=NULL
)) {
3961 var755
= varonce754
;
3963 var756
= " = nit_alloc(sizeof(struct instance_";
3964 var757
= core__flat___NativeString___to_s_full(var756
, 36l, 36l);
3966 varonce754
= var755
;
3968 ((struct instance_core__NativeArray
*)var753
)->values
[1]=var755
;
3969 if (likely(varonce758
!=NULL
)) {
3970 var759
= varonce758
;
3972 var760
= ") + length*sizeof(";
3973 var761
= core__flat___NativeString___to_s_full(var760
, 18l, 18l);
3975 varonce758
= var759
;
3977 ((struct instance_core__NativeArray
*)var753
)->values
[3]=var759
;
3978 if (likely(varonce762
!=NULL
)) {
3979 var763
= varonce762
;
3982 var765
= core__flat___NativeString___to_s_full(var764
, 3l, 3l);
3984 varonce762
= var763
;
3986 ((struct instance_core__NativeArray
*)var753
)->values
[5]=var763
;
3988 var753
= varonce752
;
3991 ((struct instance_core__NativeArray
*)var753
)->values
[0]=var_res734
;
3992 ((struct instance_core__NativeArray
*)var753
)->values
[2]=var_c_name
;
3994 var766
= ((val
*(*)(val
* self
))(var_mtype_elt
->class->vft
[COLOR_nitc__abstract_compiler__MType__ctype
]))(var_mtype_elt
); /* ctype on <var_mtype_elt:MType>*/
3996 ((struct instance_core__NativeArray
*)var753
)->values
[4]=var766
;
3998 var767
= ((val
*(*)(val
* self
))(var753
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var753
); /* native_to_s on <var753:NativeArray[String]>*/
4000 varonce752
= var753
;
4002 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var767
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4004 if (unlikely(varonce768
==NULL
)) {
4005 var769
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
4006 if (likely(varonce770
!=NULL
)) {
4007 var771
= varonce770
;
4009 var772
= "->type = type;";
4010 var773
= core__flat___NativeString___to_s_full(var772
, 14l, 14l);
4012 varonce770
= var771
;
4014 ((struct instance_core__NativeArray
*)var769
)->values
[1]=var771
;
4016 var769
= varonce768
;
4019 ((struct instance_core__NativeArray
*)var769
)->values
[0]=var_res734
;
4021 var774
= ((val
*(*)(val
* self
))(var769
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var769
); /* native_to_s on <var769:NativeArray[String]>*/
4023 varonce768
= var769
;
4025 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var774
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4027 if (likely(varonce775
!=NULL
)) {
4028 var776
= varonce775
;
4031 var778
= core__flat___NativeString___to_s_full(var777
, 4l, 4l);
4033 varonce775
= var776
;
4036 nitc___nitc__SeparateCompiler___hardening_live_type(self
, var_v
, var776
); /* Direct call separate_compiler#SeparateCompiler#hardening_live_type on <self:SeparateCompiler>*/
4038 if (unlikely(varonce779
==NULL
)) {
4039 var780
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
4040 if (likely(varonce781
!=NULL
)) {
4041 var782
= varonce781
;
4044 var784
= core__flat___NativeString___to_s_full(var783
, 6l, 6l);
4046 varonce781
= var782
;
4048 ((struct instance_core__NativeArray
*)var780
)->values
[0]=var782
;
4050 var780
= varonce779
;
4053 ((struct instance_core__NativeArray
*)var780
)->values
[1]=var_c_name
;
4055 var785
= ((val
*(*)(val
* self
))(var780
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var780
); /* native_to_s on <var780:NativeArray[String]>*/
4057 varonce779
= var780
;
4059 nitc___nitc__AbstractCompilerVisitor___require_declaration(var_v
, var785
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
4061 if (unlikely(varonce786
==NULL
)) {
4062 var787
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
4063 if (likely(varonce788
!=NULL
)) {
4064 var789
= varonce788
;
4066 var790
= "->class = &class_";
4067 var791
= core__flat___NativeString___to_s_full(var790
, 17l, 17l);
4069 varonce788
= var789
;
4071 ((struct instance_core__NativeArray
*)var787
)->values
[1]=var789
;
4072 if (likely(varonce792
!=NULL
)) {
4073 var793
= varonce792
;
4076 var795
= core__flat___NativeString___to_s_full(var794
, 1l, 1l);
4078 varonce792
= var793
;
4080 ((struct instance_core__NativeArray
*)var787
)->values
[3]=var793
;
4082 var787
= varonce786
;
4085 ((struct instance_core__NativeArray
*)var787
)->values
[0]=var_res734
;
4086 ((struct instance_core__NativeArray
*)var787
)->values
[2]=var_c_name
;
4088 var796
= ((val
*(*)(val
* self
))(var787
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var787
); /* native_to_s on <var787:NativeArray[String]>*/
4090 varonce786
= var787
;
4092 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var796
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4094 if (unlikely(varonce797
==NULL
)) {
4095 var798
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
4096 if (likely(varonce799
!=NULL
)) {
4097 var800
= varonce799
;
4099 var801
= "->length = length;";
4100 var802
= core__flat___NativeString___to_s_full(var801
, 18l, 18l);
4102 varonce799
= var800
;
4104 ((struct instance_core__NativeArray
*)var798
)->values
[1]=var800
;
4106 var798
= varonce797
;
4109 ((struct instance_core__NativeArray
*)var798
)->values
[0]=var_res734
;
4111 var803
= ((val
*(*)(val
* self
))(var798
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var798
); /* native_to_s on <var798:NativeArray[String]>*/
4113 varonce797
= var798
;
4115 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var803
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4117 if (unlikely(varonce804
==NULL
)) {
4118 var805
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
4119 if (likely(varonce806
!=NULL
)) {
4120 var807
= varonce806
;
4122 var808
= "return (val*)";
4123 var809
= core__flat___NativeString___to_s_full(var808
, 13l, 13l);
4125 varonce806
= var807
;
4127 ((struct instance_core__NativeArray
*)var805
)->values
[0]=var807
;
4128 if (likely(varonce810
!=NULL
)) {
4129 var811
= varonce810
;
4132 var813
= core__flat___NativeString___to_s_full(var812
, 1l, 1l);
4134 varonce810
= var811
;
4136 ((struct instance_core__NativeArray
*)var805
)->values
[2]=var811
;
4138 var805
= varonce804
;
4141 ((struct instance_core__NativeArray
*)var805
)->values
[1]=var_res734
;
4143 var814
= ((val
*(*)(val
* self
))(var805
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var805
); /* native_to_s on <var805:NativeArray[String]>*/
4145 varonce804
= var805
;
4147 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var814
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4149 if (likely(varonce815
!=NULL
)) {
4150 var816
= varonce815
;
4153 var818
= core__flat___NativeString___to_s_full(var817
, 1l, 1l);
4155 varonce815
= var816
;
4158 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var816
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4163 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
4164 var822
= var_mtype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
4165 if (unlikely(var822
== NULL
)) {
4166 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4167 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
4171 RET_LABEL821
:(void)0;
4175 { /* Inline model#MClass#kind (var820) on <var820:MClass> */
4176 var825
= var820
->attrs
[COLOR_nitc__model__MClass___kind
].val
; /* _kind on <var820:MClass> */
4177 if (unlikely(var825
== NULL
)) {
4178 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
4179 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 459);
4183 RET_LABEL824
:(void)0;
4188 var827
= nitc__model___core__Sys___extern_kind(var826
);
4191 { /* Inline kernel#Object#== (var823,var827) on <var823:MClassKind> */
4192 var_other38
= var827
;
4194 { /* Inline kernel#Object#is_same_instance (var823,var_other38) on <var823:MClassKind> */
4195 var832
= var823
== var_other38
;
4198 RET_LABEL831
:(void)0;
4203 RET_LABEL829
:(void)0;
4209 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
4210 var836
= var_mtype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
4211 if (unlikely(var836
== NULL
)) {
4212 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4213 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
4217 RET_LABEL835
:(void)0;
4221 { /* Inline model#MClass#name (var834) on <var834:MClass> */
4222 var839
= var834
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <var834:MClass> */
4223 if (unlikely(var839
== NULL
)) {
4224 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4225 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 385);
4229 RET_LABEL838
:(void)0;
4232 if (likely(varonce840
!=NULL
)) {
4233 var841
= varonce840
;
4236 var843
= core__flat___NativeString___to_s_full(var842
, 7l, 7l);
4238 varonce840
= var841
;
4241 { /* Inline kernel#Object#!= (var837,var841) on <var837:String> */
4244 var846
= ((short int(*)(val
* self
, val
* p0
))(var837
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var837
, var_other
); /* == on <var837:String>*/
4249 RET_LABEL845
:(void)0;
4258 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
4259 var850
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
4260 if (unlikely(var850
== NULL
)) {
4261 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
4262 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 531);
4266 RET_LABEL849
:(void)0;
4270 var851
= nitc__model___MModule___pointer_type(var848
);
4272 var_pointer_type
= var851
;
4273 if (unlikely(varonce852
==NULL
)) {
4274 var853
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
4275 if (likely(varonce854
!=NULL
)) {
4276 var855
= varonce854
;
4279 var857
= core__flat___NativeString___to_s_full(var856
, 4l, 4l);
4281 varonce854
= var855
;
4283 ((struct instance_core__NativeArray
*)var853
)->values
[0]=var855
;
4285 var853
= varonce852
;
4288 ((struct instance_core__NativeArray
*)var853
)->values
[1]=var_c_name
;
4290 var858
= ((val
*(*)(val
* self
))(var853
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var853
); /* native_to_s on <var853:NativeArray[String]>*/
4292 varonce852
= var853
;
4293 if (unlikely(varonce859
==NULL
)) {
4294 var860
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
4295 if (likely(varonce861
!=NULL
)) {
4296 var862
= varonce861
;
4299 var864
= core__flat___NativeString___to_s_full(var863
, 5l, 5l);
4301 varonce861
= var862
;
4303 ((struct instance_core__NativeArray
*)var860
)->values
[1]=var862
;
4304 if (likely(varonce865
!=NULL
)) {
4305 var866
= varonce865
;
4307 var867
= "(const struct type* type);";
4308 var868
= core__flat___NativeString___to_s_full(var867
, 26l, 26l);
4310 varonce865
= var866
;
4312 ((struct instance_core__NativeArray
*)var860
)->values
[3]=var866
;
4314 var860
= varonce859
;
4318 var869
= nitc__abstract_compiler___MClassType___MType__ctype(var_mtype
);
4320 ((struct instance_core__NativeArray
*)var860
)->values
[0]=var869
;
4321 ((struct instance_core__NativeArray
*)var860
)->values
[2]=var_c_name
;
4323 var870
= ((val
*(*)(val
* self
))(var860
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var860
); /* native_to_s on <var860:NativeArray[String]>*/
4325 varonce859
= var860
;
4327 nitc___nitc__AbstractCompiler___provide_declaration(self
, var858
, var870
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
4329 if (unlikely(varonce871
==NULL
)) {
4330 var872
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
4331 if (likely(varonce873
!=NULL
)) {
4332 var874
= varonce873
;
4334 var875
= "/* allocate extern ";
4335 var876
= core__flat___NativeString___to_s_full(var875
, 19l, 19l);
4337 varonce873
= var874
;
4339 ((struct instance_core__NativeArray
*)var872
)->values
[0]=var874
;
4340 if (likely(varonce877
!=NULL
)) {
4341 var878
= varonce877
;
4344 var880
= core__flat___NativeString___to_s_full(var879
, 3l, 3l);
4346 varonce877
= var878
;
4348 ((struct instance_core__NativeArray
*)var872
)->values
[2]=var878
;
4350 var872
= varonce871
;
4354 var881
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MClassType>*/
4356 ((struct instance_core__NativeArray
*)var872
)->values
[1]=var881
;
4358 var882
= ((val
*(*)(val
* self
))(var872
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var872
); /* native_to_s on <var872:NativeArray[String]>*/
4360 varonce871
= var872
;
4362 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var882
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
4364 if (unlikely(varonce883
==NULL
)) {
4365 var884
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
4366 if (likely(varonce885
!=NULL
)) {
4367 var886
= varonce885
;
4370 var888
= core__flat___NativeString___to_s_full(var887
, 5l, 5l);
4372 varonce885
= var886
;
4374 ((struct instance_core__NativeArray
*)var884
)->values
[1]=var886
;
4375 if (likely(varonce889
!=NULL
)) {
4376 var890
= varonce889
;
4378 var891
= "(const struct type* type) {";
4379 var892
= core__flat___NativeString___to_s_full(var891
, 27l, 27l);
4381 varonce889
= var890
;
4383 ((struct instance_core__NativeArray
*)var884
)->values
[3]=var890
;
4385 var884
= varonce883
;
4389 var893
= nitc__abstract_compiler___MClassType___MType__ctype(var_mtype
);
4391 ((struct instance_core__NativeArray
*)var884
)->values
[0]=var893
;
4392 ((struct instance_core__NativeArray
*)var884
)->values
[2]=var_c_name
;
4394 var894
= ((val
*(*)(val
* self
))(var884
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var884
); /* native_to_s on <var884:NativeArray[String]>*/
4396 varonce883
= var884
;
4398 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var894
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
4401 if (unlikely(varonce895
==NULL
)) {
4402 var896
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
4403 if (likely(varonce897
!=NULL
)) {
4404 var898
= varonce897
;
4406 var899
= " is DEAD";
4407 var900
= core__flat___NativeString___to_s_full(var899
, 8l, 8l);
4409 varonce897
= var898
;
4411 ((struct instance_core__NativeArray
*)var896
)->values
[1]=var898
;
4413 var896
= varonce895
;
4417 var901
= ((val
*(*)(val
* self
))(var_mclass
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mclass
); /* to_s on <var_mclass:MClass>*/
4419 ((struct instance_core__NativeArray
*)var896
)->values
[0]=var901
;
4421 var902
= ((val
*(*)(val
* self
))(var896
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var896
); /* native_to_s on <var896:NativeArray[String]>*/
4423 varonce895
= var896
;
4425 nitc___nitc__AbstractCompilerVisitor___add_abort(var_v
, var902
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:SeparateCompilerVisitor>*/
4428 if (likely(varonce903
!=NULL
)) {
4429 var904
= varonce903
;
4432 var906
= core__flat___NativeString___to_s_full(var905
, 4l, 4l);
4434 varonce903
= var904
;
4437 var907
= nitc___nitc__AbstractCompilerVisitor___new_named_var(var_v
, var_mtype
, var904
);
4439 var_res908
= var907
;
4441 { /* Inline abstract_compiler#RuntimeVariable#is_exact= (var_res908,1) on <var_res908:RuntimeVariable> */
4442 var_res908
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___is_exact
].s
= 1; /* _is_exact on <var_res908:RuntimeVariable> */
4443 RET_LABEL909
:(void)0;
4446 if (unlikely(varonce910
==NULL
)) {
4447 var911
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
4448 if (likely(varonce912
!=NULL
)) {
4449 var913
= varonce912
;
4451 var914
= " = nit_alloc(sizeof(struct instance_";
4452 var915
= core__flat___NativeString___to_s_full(var914
, 36l, 36l);
4454 varonce912
= var913
;
4456 ((struct instance_core__NativeArray
*)var911
)->values
[1]=var913
;
4457 if (likely(varonce916
!=NULL
)) {
4458 var917
= varonce916
;
4461 var919
= core__flat___NativeString___to_s_full(var918
, 3l, 3l);
4463 varonce916
= var917
;
4465 ((struct instance_core__NativeArray
*)var911
)->values
[3]=var917
;
4467 var911
= varonce910
;
4471 var920
= ((val
*(*)(val
* self
))(var_res908
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res908
); /* to_s on <var_res908:RuntimeVariable>*/
4473 ((struct instance_core__NativeArray
*)var911
)->values
[0]=var920
;
4475 var921
= ((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>*/
4477 ((struct instance_core__NativeArray
*)var911
)->values
[2]=var921
;
4479 var922
= ((val
*(*)(val
* self
))(var911
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var911
); /* native_to_s on <var911:NativeArray[String]>*/
4481 varonce910
= var911
;
4483 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var922
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4485 if (unlikely(varonce923
==NULL
)) {
4486 var924
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
4487 if (likely(varonce925
!=NULL
)) {
4488 var926
= varonce925
;
4490 var927
= "->type = type;";
4491 var928
= core__flat___NativeString___to_s_full(var927
, 14l, 14l);
4493 varonce925
= var926
;
4495 ((struct instance_core__NativeArray
*)var924
)->values
[1]=var926
;
4497 var924
= varonce923
;
4501 var929
= ((val
*(*)(val
* self
))(var_res908
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res908
); /* to_s on <var_res908:RuntimeVariable>*/
4503 ((struct instance_core__NativeArray
*)var924
)->values
[0]=var929
;
4505 var930
= ((val
*(*)(val
* self
))(var924
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var924
); /* native_to_s on <var924:NativeArray[String]>*/
4507 varonce923
= var924
;
4509 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var930
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4511 if (likely(varonce931
!=NULL
)) {
4512 var932
= varonce931
;
4515 var934
= core__flat___NativeString___to_s_full(var933
, 4l, 4l);
4517 varonce931
= var932
;
4520 nitc___nitc__SeparateCompiler___hardening_live_type(self
, var_v
, var932
); /* Direct call separate_compiler#SeparateCompiler#hardening_live_type on <self:SeparateCompiler>*/
4522 if (unlikely(varonce935
==NULL
)) {
4523 var936
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
4524 if (likely(varonce937
!=NULL
)) {
4525 var938
= varonce937
;
4528 var940
= core__flat___NativeString___to_s_full(var939
, 6l, 6l);
4530 varonce937
= var938
;
4532 ((struct instance_core__NativeArray
*)var936
)->values
[0]=var938
;
4534 var936
= varonce935
;
4537 ((struct instance_core__NativeArray
*)var936
)->values
[1]=var_c_name
;
4539 var941
= ((val
*(*)(val
* self
))(var936
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var936
); /* native_to_s on <var936:NativeArray[String]>*/
4541 varonce935
= var936
;
4543 nitc___nitc__AbstractCompilerVisitor___require_declaration(var_v
, var941
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
4545 if (unlikely(varonce942
==NULL
)) {
4546 var943
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
4547 if (likely(varonce944
!=NULL
)) {
4548 var945
= varonce944
;
4550 var946
= "->class = &class_";
4551 var947
= core__flat___NativeString___to_s_full(var946
, 17l, 17l);
4553 varonce944
= var945
;
4555 ((struct instance_core__NativeArray
*)var943
)->values
[1]=var945
;
4556 if (likely(varonce948
!=NULL
)) {
4557 var949
= varonce948
;
4560 var951
= core__flat___NativeString___to_s_full(var950
, 1l, 1l);
4562 varonce948
= var949
;
4564 ((struct instance_core__NativeArray
*)var943
)->values
[3]=var949
;
4566 var943
= varonce942
;
4570 var952
= ((val
*(*)(val
* self
))(var_res908
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res908
); /* to_s on <var_res908:RuntimeVariable>*/
4572 ((struct instance_core__NativeArray
*)var943
)->values
[0]=var952
;
4573 ((struct instance_core__NativeArray
*)var943
)->values
[2]=var_c_name
;
4575 var953
= ((val
*(*)(val
* self
))(var943
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var943
); /* native_to_s on <var943:NativeArray[String]>*/
4577 varonce942
= var943
;
4579 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var953
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4581 if (unlikely(varonce954
==NULL
)) {
4582 var955
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
4583 if (likely(varonce956
!=NULL
)) {
4584 var957
= varonce956
;
4586 var958
= "((struct instance_";
4587 var959
= core__flat___NativeString___to_s_full(var958
, 18l, 18l);
4589 varonce956
= var957
;
4591 ((struct instance_core__NativeArray
*)var955
)->values
[0]=var957
;
4592 if (likely(varonce960
!=NULL
)) {
4593 var961
= varonce960
;
4596 var963
= core__flat___NativeString___to_s_full(var962
, 2l, 2l);
4598 varonce960
= var961
;
4600 ((struct instance_core__NativeArray
*)var955
)->values
[2]=var961
;
4601 if (likely(varonce964
!=NULL
)) {
4602 var965
= varonce964
;
4604 var966
= ")->value = NULL;";
4605 var967
= core__flat___NativeString___to_s_full(var966
, 16l, 16l);
4607 varonce964
= var965
;
4609 ((struct instance_core__NativeArray
*)var955
)->values
[4]=var965
;
4611 var955
= varonce954
;
4615 var968
= ((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>*/
4617 ((struct instance_core__NativeArray
*)var955
)->values
[1]=var968
;
4619 var969
= ((val
*(*)(val
* self
))(var_res908
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res908
); /* to_s on <var_res908:RuntimeVariable>*/
4621 ((struct instance_core__NativeArray
*)var955
)->values
[3]=var969
;
4623 var970
= ((val
*(*)(val
* self
))(var955
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var955
); /* native_to_s on <var955:NativeArray[String]>*/
4625 varonce954
= var955
;
4627 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var970
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4629 if (unlikely(varonce971
==NULL
)) {
4630 var972
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
4631 if (likely(varonce973
!=NULL
)) {
4632 var974
= varonce973
;
4635 var976
= core__flat___NativeString___to_s_full(var975
, 7l, 7l);
4637 varonce973
= var974
;
4639 ((struct instance_core__NativeArray
*)var972
)->values
[0]=var974
;
4640 if (likely(varonce977
!=NULL
)) {
4641 var978
= varonce977
;
4644 var980
= core__flat___NativeString___to_s_full(var979
, 1l, 1l);
4646 varonce977
= var978
;
4648 ((struct instance_core__NativeArray
*)var972
)->values
[2]=var978
;
4650 var972
= varonce971
;
4654 var981
= ((val
*(*)(val
* self
))(var_res908
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res908
); /* to_s on <var_res908:RuntimeVariable>*/
4656 ((struct instance_core__NativeArray
*)var972
)->values
[1]=var981
;
4658 var982
= ((val
*(*)(val
* self
))(var972
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var972
); /* native_to_s on <var972:NativeArray[String]>*/
4660 varonce971
= var972
;
4662 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var982
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4665 if (likely(varonce983
!=NULL
)) {
4666 var984
= varonce983
;
4669 var986
= core__flat___NativeString___to_s_full(var985
, 1l, 1l);
4671 varonce983
= var984
;
4674 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var984
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4681 if (unlikely(varonce987
==NULL
)) {
4682 var988
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
4683 if (likely(varonce989
!=NULL
)) {
4684 var990
= varonce989
;
4687 var992
= core__flat___NativeString___to_s_full(var991
, 4l, 4l);
4689 varonce989
= var990
;
4691 ((struct instance_core__NativeArray
*)var988
)->values
[0]=var990
;
4693 var988
= varonce987
;
4696 ((struct instance_core__NativeArray
*)var988
)->values
[1]=var_c_name
;
4698 var993
= ((val
*(*)(val
* self
))(var988
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var988
); /* native_to_s on <var988:NativeArray[String]>*/
4700 varonce987
= var988
;
4701 if (unlikely(varonce994
==NULL
)) {
4702 var995
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
4703 if (likely(varonce996
!=NULL
)) {
4704 var997
= varonce996
;
4707 var999
= core__flat___NativeString___to_s_full(var998
, 5l, 5l);
4709 varonce996
= var997
;
4711 ((struct instance_core__NativeArray
*)var995
)->values
[1]=var997
;
4712 if (likely(varonce1000
!=NULL
)) {
4713 var1001
= varonce1000
;
4715 var1002
= "(const struct type* type);";
4716 var1003
= core__flat___NativeString___to_s_full(var1002
, 26l, 26l);
4718 varonce1000
= var1001
;
4720 ((struct instance_core__NativeArray
*)var995
)->values
[3]=var1001
;
4722 var995
= varonce994
;
4726 var1004
= nitc__abstract_compiler___MClassType___MType__ctype(var_mtype
);
4728 ((struct instance_core__NativeArray
*)var995
)->values
[0]=var1004
;
4729 ((struct instance_core__NativeArray
*)var995
)->values
[2]=var_c_name
;
4731 var1005
= ((val
*(*)(val
* self
))(var995
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var995
); /* native_to_s on <var995:NativeArray[String]>*/
4733 varonce994
= var995
;
4735 nitc___nitc__AbstractCompiler___provide_declaration(self
, var993
, var1005
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
4737 if (unlikely(varonce1006
==NULL
)) {
4738 var1007
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
4739 if (likely(varonce1008
!=NULL
)) {
4740 var1009
= varonce1008
;
4742 var1010
= "/* allocate ";
4743 var1011
= core__flat___NativeString___to_s_full(var1010
, 12l, 12l);
4745 varonce1008
= var1009
;
4747 ((struct instance_core__NativeArray
*)var1007
)->values
[0]=var1009
;
4748 if (likely(varonce1012
!=NULL
)) {
4749 var1013
= varonce1012
;
4752 var1015
= core__flat___NativeString___to_s_full(var1014
, 3l, 3l);
4754 varonce1012
= var1013
;
4756 ((struct instance_core__NativeArray
*)var1007
)->values
[2]=var1013
;
4758 var1007
= varonce1006
;
4762 var1016
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MClassType>*/
4764 ((struct instance_core__NativeArray
*)var1007
)->values
[1]=var1016
;
4766 var1017
= ((val
*(*)(val
* self
))(var1007
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1007
); /* native_to_s on <var1007:NativeArray[String]>*/
4768 varonce1006
= var1007
;
4770 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var1017
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
4772 if (unlikely(varonce1018
==NULL
)) {
4773 var1019
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
4774 if (likely(varonce1020
!=NULL
)) {
4775 var1021
= varonce1020
;
4778 var1023
= core__flat___NativeString___to_s_full(var1022
, 5l, 5l);
4780 varonce1020
= var1021
;
4782 ((struct instance_core__NativeArray
*)var1019
)->values
[1]=var1021
;
4783 if (likely(varonce1024
!=NULL
)) {
4784 var1025
= varonce1024
;
4786 var1026
= "(const struct type* type) {";
4787 var1027
= core__flat___NativeString___to_s_full(var1026
, 27l, 27l);
4789 varonce1024
= var1025
;
4791 ((struct instance_core__NativeArray
*)var1019
)->values
[3]=var1025
;
4793 var1019
= varonce1018
;
4797 var1028
= nitc__abstract_compiler___MClassType___MType__ctype(var_mtype
);
4799 ((struct instance_core__NativeArray
*)var1019
)->values
[0]=var1028
;
4800 ((struct instance_core__NativeArray
*)var1019
)->values
[2]=var_c_name
;
4802 var1029
= ((val
*(*)(val
* self
))(var1019
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1019
); /* native_to_s on <var1019:NativeArray[String]>*/
4804 varonce1018
= var1019
;
4806 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var1029
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
4809 if (unlikely(varonce1030
==NULL
)) {
4810 var1031
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
4811 if (likely(varonce1032
!=NULL
)) {
4812 var1033
= varonce1032
;
4814 var1034
= " is DEAD";
4815 var1035
= core__flat___NativeString___to_s_full(var1034
, 8l, 8l);
4817 varonce1032
= var1033
;
4819 ((struct instance_core__NativeArray
*)var1031
)->values
[1]=var1033
;
4821 var1031
= varonce1030
;
4825 var1036
= ((val
*(*)(val
* self
))(var_mclass
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mclass
); /* to_s on <var_mclass:MClass>*/
4827 ((struct instance_core__NativeArray
*)var1031
)->values
[0]=var1036
;
4829 var1037
= ((val
*(*)(val
* self
))(var1031
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1031
); /* native_to_s on <var1031:NativeArray[String]>*/
4831 varonce1030
= var1031
;
4833 nitc___nitc__AbstractCompilerVisitor___add_abort(var_v
, var1037
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:SeparateCompilerVisitor>*/
4836 if (likely(varonce1038
!=NULL
)) {
4837 var1039
= varonce1038
;
4840 var1041
= core__flat___NativeString___to_s_full(var1040
, 4l, 4l);
4842 varonce1038
= var1039
;
4845 var1042
= nitc___nitc__AbstractCompilerVisitor___new_named_var(var_v
, var_mtype
, var1039
);
4847 var_res1043
= var1042
;
4849 { /* Inline abstract_compiler#RuntimeVariable#is_exact= (var_res1043,1) on <var_res1043:RuntimeVariable> */
4850 var_res1043
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___is_exact
].s
= 1; /* _is_exact on <var_res1043:RuntimeVariable> */
4851 RET_LABEL1044
:(void)0;
4855 { /* Inline separate_compiler#SeparateCompiler#attr_tables (self) on <self:SeparateCompiler> */
4856 var1047
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___attr_tables
].val
; /* _attr_tables on <self:SeparateCompiler> */
4857 if (unlikely(var1047
== NULL
)) {
4858 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _attr_tables");
4859 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 1068);
4863 RET_LABEL1046
:(void)0;
4867 var1048
= ((val
*(*)(val
* self
, val
* p0
))((((long)var1045
&3)?class_info
[((long)var1045
&3)]:var1045
->class)->vft
[COLOR_core__abstract_collection__MapRead__get_or_null
]))(var1045
, var_mclass
); /* get_or_null on <var1045:Map[MClass, Array[nullable MProperty]]>*/
4869 var_attrs
= var1048
;
4870 if (var_attrs
== NULL
) {
4871 var1049
= 1; /* is null */
4873 var1049
= 0; /* arg is null but recv is not */
4876 var1050
= core___core__Array___core__kernel__Object___61d_61d(var_attrs
, ((val
*)NULL
));
4880 if (unlikely(varonce1051
==NULL
)) {
4881 var1052
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
4882 if (likely(varonce1053
!=NULL
)) {
4883 var1054
= varonce1053
;
4885 var1055
= " = nit_alloc(sizeof(struct instance));";
4886 var1056
= core__flat___NativeString___to_s_full(var1055
, 38l, 38l);
4888 varonce1053
= var1054
;
4890 ((struct instance_core__NativeArray
*)var1052
)->values
[1]=var1054
;
4892 var1052
= varonce1051
;
4896 var1057
= ((val
*(*)(val
* self
))(var_res1043
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res1043
); /* to_s on <var_res1043:RuntimeVariable>*/
4898 ((struct instance_core__NativeArray
*)var1052
)->values
[0]=var1057
;
4900 var1058
= ((val
*(*)(val
* self
))(var1052
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1052
); /* native_to_s on <var1052:NativeArray[String]>*/
4902 varonce1051
= var1052
;
4904 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var1058
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4907 if (unlikely(varonce1059
==NULL
)) {
4908 var1060
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
4909 if (likely(varonce1061
!=NULL
)) {
4910 var1062
= varonce1061
;
4912 var1063
= " = nit_alloc(sizeof(struct instance) + ";
4913 var1064
= core__flat___NativeString___to_s_full(var1063
, 39l, 39l);
4915 varonce1061
= var1062
;
4917 ((struct instance_core__NativeArray
*)var1060
)->values
[1]=var1062
;
4918 if (likely(varonce1065
!=NULL
)) {
4919 var1066
= varonce1065
;
4921 var1067
= "*sizeof(nitattribute_t));";
4922 var1068
= core__flat___NativeString___to_s_full(var1067
, 25l, 25l);
4924 varonce1065
= var1066
;
4926 ((struct instance_core__NativeArray
*)var1060
)->values
[3]=var1066
;
4928 var1060
= varonce1059
;
4932 var1069
= ((val
*(*)(val
* self
))(var_res1043
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res1043
); /* to_s on <var_res1043:RuntimeVariable>*/
4934 ((struct instance_core__NativeArray
*)var1060
)->values
[0]=var1069
;
4936 { /* Inline array#AbstractArrayRead#length (var_attrs) on <var_attrs:nullable Array[nullable MProperty](Array[nullable MProperty])> */
4937 var1072
= var_attrs
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_attrs:nullable Array[nullable MProperty](Array[nullable MProperty])> */
4939 RET_LABEL1071
:(void)0;
4942 var1073
= core__flat___Int___core__abstract_text__Object__to_s(var1070
);
4943 ((struct instance_core__NativeArray
*)var1060
)->values
[2]=var1073
;
4945 var1074
= ((val
*(*)(val
* self
))(var1060
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1060
); /* native_to_s on <var1060:NativeArray[String]>*/
4947 varonce1059
= var1060
;
4949 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var1074
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4952 if (unlikely(varonce1075
==NULL
)) {
4953 var1076
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
4954 if (likely(varonce1077
!=NULL
)) {
4955 var1078
= varonce1077
;
4957 var1079
= "->type = type;";
4958 var1080
= core__flat___NativeString___to_s_full(var1079
, 14l, 14l);
4960 varonce1077
= var1078
;
4962 ((struct instance_core__NativeArray
*)var1076
)->values
[1]=var1078
;
4964 var1076
= varonce1075
;
4968 var1081
= ((val
*(*)(val
* self
))(var_res1043
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res1043
); /* to_s on <var_res1043:RuntimeVariable>*/
4970 ((struct instance_core__NativeArray
*)var1076
)->values
[0]=var1081
;
4972 var1082
= ((val
*(*)(val
* self
))(var1076
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1076
); /* native_to_s on <var1076:NativeArray[String]>*/
4974 varonce1075
= var1076
;
4976 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var1082
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4978 if (likely(varonce1083
!=NULL
)) {
4979 var1084
= varonce1083
;
4982 var1086
= core__flat___NativeString___to_s_full(var1085
, 4l, 4l);
4984 varonce1083
= var1084
;
4987 nitc___nitc__SeparateCompiler___hardening_live_type(self
, var_v
, var1084
); /* Direct call separate_compiler#SeparateCompiler#hardening_live_type on <self:SeparateCompiler>*/
4989 if (unlikely(varonce1087
==NULL
)) {
4990 var1088
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
4991 if (likely(varonce1089
!=NULL
)) {
4992 var1090
= varonce1089
;
4995 var1092
= core__flat___NativeString___to_s_full(var1091
, 6l, 6l);
4997 varonce1089
= var1090
;
4999 ((struct instance_core__NativeArray
*)var1088
)->values
[0]=var1090
;
5001 var1088
= varonce1087
;
5004 ((struct instance_core__NativeArray
*)var1088
)->values
[1]=var_c_name
;
5006 var1093
= ((val
*(*)(val
* self
))(var1088
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1088
); /* native_to_s on <var1088:NativeArray[String]>*/
5008 varonce1087
= var1088
;
5010 nitc___nitc__AbstractCompilerVisitor___require_declaration(var_v
, var1093
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
5012 if (unlikely(varonce1094
==NULL
)) {
5013 var1095
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
5014 if (likely(varonce1096
!=NULL
)) {
5015 var1097
= varonce1096
;
5017 var1098
= "->class = &class_";
5018 var1099
= core__flat___NativeString___to_s_full(var1098
, 17l, 17l);
5020 varonce1096
= var1097
;
5022 ((struct instance_core__NativeArray
*)var1095
)->values
[1]=var1097
;
5023 if (likely(varonce1100
!=NULL
)) {
5024 var1101
= varonce1100
;
5027 var1103
= core__flat___NativeString___to_s_full(var1102
, 1l, 1l);
5029 varonce1100
= var1101
;
5031 ((struct instance_core__NativeArray
*)var1095
)->values
[3]=var1101
;
5033 var1095
= varonce1094
;
5037 var1104
= ((val
*(*)(val
* self
))(var_res1043
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res1043
); /* to_s on <var_res1043:RuntimeVariable>*/
5039 ((struct instance_core__NativeArray
*)var1095
)->values
[0]=var1104
;
5040 ((struct instance_core__NativeArray
*)var1095
)->values
[2]=var_c_name
;
5042 var1105
= ((val
*(*)(val
* self
))(var1095
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1095
); /* native_to_s on <var1095:NativeArray[String]>*/
5044 varonce1094
= var1095
;
5046 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var1105
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
5048 if (var_attrs
== NULL
) {
5049 var1106
= 0; /* is null */
5051 var1106
= 1; /* arg is null and recv is not */
5054 { /* Inline kernel#Object#!= (var_attrs,((val*)NULL)) on <var_attrs:nullable Array[nullable MProperty]> */
5055 var_other
= ((val
*)NULL
);
5057 var1109
= ((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])>*/
5062 RET_LABEL1108
:(void)0;
5068 nitc___nitc__AbstractCompiler___generate_init_attr(self
, var_v
, var_res1043
, var_mtype
); /* Direct call abstract_compiler#AbstractCompiler#generate_init_attr on <self:SeparateCompiler>*/
5071 nitc___nitc__AbstractCompilerVisitor___set_finalizer(var_v
, var_res1043
); /* Direct call abstract_compiler#AbstractCompilerVisitor#set_finalizer on <var_v:SeparateCompilerVisitor>*/
5075 if (unlikely(varonce1111
==NULL
)) {
5076 var1112
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
5077 if (likely(varonce1113
!=NULL
)) {
5078 var1114
= varonce1113
;
5080 var1115
= "return ";
5081 var1116
= core__flat___NativeString___to_s_full(var1115
, 7l, 7l);
5083 varonce1113
= var1114
;
5085 ((struct instance_core__NativeArray
*)var1112
)->values
[0]=var1114
;
5086 if (likely(varonce1117
!=NULL
)) {
5087 var1118
= varonce1117
;
5090 var1120
= core__flat___NativeString___to_s_full(var1119
, 1l, 1l);
5092 varonce1117
= var1118
;
5094 ((struct instance_core__NativeArray
*)var1112
)->values
[2]=var1118
;
5096 var1112
= varonce1111
;
5100 var1121
= ((val
*(*)(val
* self
))(var_res1043
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res1043
); /* to_s on <var_res1043:RuntimeVariable>*/
5102 ((struct instance_core__NativeArray
*)var1112
)->values
[1]=var1121
;
5104 var1122
= ((val
*(*)(val
* self
))(var1112
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1112
); /* native_to_s on <var1112:NativeArray[String]>*/
5106 varonce1111
= var1112
;
5108 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var1122
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
5111 if (likely(varonce1123
!=NULL
)) {
5112 var1124
= varonce1123
;
5115 var1126
= core__flat___NativeString___to_s_full(var1125
, 1l, 1l);
5117 varonce1123
= var1124
;
5120 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var1124
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
5124 /* method separate_compiler#SeparateCompiler#compile_class_infos for (self: SeparateCompiler) */
5125 void nitc___nitc__SeparateCompiler___compile_class_infos(val
* self
) {
5126 val
* var
/* : ModelBuilder */;
5127 val
* var2
/* : ModelBuilder */;
5128 val
* var3
/* : ToolContext */;
5129 val
* var5
/* : ToolContext */;
5130 val
* var6
/* : OptionBool */;
5131 val
* var8
/* : OptionBool */;
5132 val
* var9
/* : nullable Object */;
5133 val
* var11
/* : nullable Object */;
5134 short int var12
/* : Bool */;
5135 val
* var13
/* : Array[nullable MClass] */;
5136 val
* var_class_info
/* var class_info: Array[nullable MClass] */;
5137 val
* var14
/* : HashMap[MClass, Int] */;
5138 val
* var16
/* : HashMap[MClass, Int] */;
5139 val
* var17
/* : RemovableCollection[nullable Object] */;
5140 val
* var_
/* var : RemovableCollection[MClass] */;
5141 val
* var18
/* : Iterator[nullable Object] */;
5142 val
* var_19
/* var : Iterator[MClass] */;
5143 short int var20
/* : Bool */;
5144 val
* var21
/* : nullable Object */;
5145 val
* var_t
/* var t: MClass */;
5146 val
* var22
/* : String */;
5147 val
* var24
/* : String */;
5148 static val
* varonce
;
5149 val
* var25
/* : String */;
5150 char* var26
/* : NativeString */;
5151 val
* var27
/* : String */;
5152 short int var28
/* : Bool */;
5153 val
* var29
/* : MClassType */;
5154 val
* var31
/* : MClassType */;
5155 val
* var33
/* : String */;
5156 val
* var35
/* : String */;
5157 static val
* varonce36
;
5158 val
* var37
/* : String */;
5159 char* var38
/* : NativeString */;
5160 val
* var39
/* : String */;
5161 short int var40
/* : Bool */;
5162 val
* var41
/* : MClassType */;
5163 val
* var43
/* : MClassType */;
5164 val
* var45
/* : String */;
5165 val
* var47
/* : String */;
5166 static val
* varonce48
;
5167 val
* var49
/* : String */;
5168 char* var50
/* : NativeString */;
5169 val
* var51
/* : String */;
5170 short int var52
/* : Bool */;
5171 val
* var53
/* : MClassType */;
5172 val
* var55
/* : MClassType */;
5173 val
* var58
/* : MClassType */;
5174 val
* var60
/* : MClassType */;
5175 val
* var62
/* : AbstractCompilerVisitor */;
5176 val
* var_v
/* var v: SeparateCompilerVisitor */;
5177 static val
* varonce63
;
5178 val
* var64
/* : String */;
5179 char* var65
/* : NativeString */;
5180 val
* var66
/* : String */;
5181 val
* var_67
/* var : Array[nullable MClass] */;
5182 val
* var68
/* : IndexedIterator[nullable Object] */;
5183 val
* var_69
/* var : IndexedIterator[nullable MClass] */;
5184 short int var70
/* : Bool */;
5185 val
* var72
/* : nullable Object */;
5186 val
* var_t73
/* var t: nullable MClass */;
5187 short int var74
/* : Bool */;
5188 short int var75
/* : Bool */;
5189 val
* var_other
/* var other: nullable Object */;
5190 short int var77
/* : Bool */;
5191 short int var79
/* : Bool */;
5192 static val
* varonce80
;
5193 val
* var81
/* : String */;
5194 char* var82
/* : NativeString */;
5195 val
* var83
/* : String */;
5196 val
* var85
/* : NativeArray[String] */;
5197 static val
* varonce84
;
5198 static val
* varonce86
;
5199 val
* var87
/* : String */;
5200 char* var88
/* : NativeString */;
5201 val
* var89
/* : String */;
5202 val
* var90
/* : String */;
5203 val
* var91
/* : String */;
5204 val
* var_s
/* var s: String */;
5205 val
* var93
/* : NativeArray[String] */;
5206 static val
* varonce92
;
5207 static val
* varonce94
;
5208 val
* var95
/* : String */;
5209 char* var96
/* : NativeString */;
5210 val
* var97
/* : String */;
5211 static val
* varonce98
;
5212 val
* var99
/* : String */;
5213 char* var100
/* : NativeString */;
5214 val
* var101
/* : String */;
5215 val
* var102
/* : String */;
5216 static val
* varonce103
;
5217 val
* var104
/* : String */;
5218 char* var105
/* : NativeString */;
5219 val
* var106
/* : String */;
5220 static val
* varonce107
;
5221 val
* var108
/* : String */;
5222 char* var109
/* : NativeString */;
5223 val
* var110
/* : String */;
5224 val
* var_111
/* var : Array[nullable MClass] */;
5225 val
* var112
/* : IndexedIterator[nullable Object] */;
5226 val
* var_113
/* var : IndexedIterator[nullable MClass] */;
5227 short int var114
/* : Bool */;
5228 val
* var116
/* : nullable Object */;
5229 val
* var_t117
/* var t: nullable MClass */;
5230 short int var118
/* : Bool */;
5231 short int var119
/* : Bool */;
5232 short int var121
/* : Bool */;
5233 short int var123
/* : Bool */;
5234 static val
* varonce124
;
5235 val
* var125
/* : String */;
5236 char* var126
/* : NativeString */;
5237 val
* var127
/* : String */;
5238 val
* var129
/* : NativeArray[String] */;
5239 static val
* varonce128
;
5240 static val
* varonce130
;
5241 val
* var131
/* : String */;
5242 char* var132
/* : NativeString */;
5243 val
* var133
/* : String */;
5244 val
* var134
/* : String */;
5245 val
* var135
/* : String */;
5246 val
* var_s136
/* var s: String */;
5247 val
* var137
/* : Set[MType] */;
5248 val
* var139
/* : Set[MType] */;
5249 val
* var140
/* : MClassType */;
5250 val
* var142
/* : MClassType */;
5251 val
* var144
/* : NativeArray[String] */;
5252 static val
* varonce143
;
5253 static val
* varonce145
;
5254 val
* var146
/* : String */;
5255 char* var147
/* : NativeString */;
5256 val
* var148
/* : String */;
5257 static val
* varonce149
;
5258 val
* var150
/* : String */;
5259 char* var151
/* : NativeString */;
5260 val
* var152
/* : String */;
5261 val
* var153
/* : String */;
5262 static val
* varonce154
;
5263 val
* var155
/* : String */;
5264 char* var156
/* : NativeString */;
5265 val
* var157
/* : String */;
5267 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5268 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5269 if (unlikely(var2
== NULL
)) {
5270 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5271 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 538);
5279 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var) on <var:ModelBuilder> */
5280 var5
= var
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var:ModelBuilder> */
5281 if (unlikely(var5
== NULL
)) {
5282 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5283 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
5291 { /* Inline separate_compiler#ToolContext#opt_no_tag_primitives (var3) on <var3:ToolContext> */
5292 var8
= var3
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_no_tag_primitives
].val
; /* _opt_no_tag_primitives on <var3:ToolContext> */
5293 if (unlikely(var8
== NULL
)) {
5294 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_tag_primitives");
5295 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 32);
5303 { /* Inline opts#Option#value (var6) on <var6:OptionBool> */
5304 var11
= var6
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var6:OptionBool> */
5306 RET_LABEL10
:(void)0;
5309 var12
= (short int)((long)(var9
)>>2);
5314 var13
= NEW_core__Array(&type_core__Array__nullable__nitc__MClass
);
5316 core___core__Array___filled_with(var13
, ((val
*)NULL
), 4l); /* Direct call array#Array#filled_with on <var13:Array[nullable MClass]>*/
5318 var_class_info
= var13
;
5320 { /* Inline separate_compiler#SeparateCompiler#box_kinds (self) on <self:SeparateCompiler> */
5321 var16
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___box_kinds
].val
; /* _box_kinds on <self:SeparateCompiler> */
5322 if (unlikely(var16
== NULL
)) {
5323 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _box_kinds");
5324 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 264);
5328 RET_LABEL15
:(void)0;
5332 var17
= core___core__HashMap___core__abstract_collection__MapRead__keys(var14
);
5336 var18
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:RemovableCollection[MClass]>*/
5341 var20
= ((short int(*)(val
* self
))((((long)var_19
&3)?class_info
[((long)var_19
&3)]:var_19
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_19
); /* is_ok on <var_19:Iterator[MClass]>*/
5348 var21
= ((val
*(*)(val
* self
))((((long)var_19
&3)?class_info
[((long)var_19
&3)]:var_19
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_19
); /* item on <var_19:Iterator[MClass]>*/
5352 { /* Inline model#MClass#name (var_t) on <var_t:MClass> */
5353 var24
= var_t
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <var_t:MClass> */
5354 if (unlikely(var24
== NULL
)) {
5355 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5356 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 385);
5360 RET_LABEL23
:(void)0;
5363 if (likely(varonce
!=NULL
)) {
5367 var27
= core__flat___NativeString___to_s_full(var26
, 3l, 3l);
5372 var28
= ((short int(*)(val
* self
, val
* p0
))(var22
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var22
, var25
); /* == on <var22:String>*/
5376 core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_class_info
, 1l, var_t
); /* Direct call array#Array#[]= on <var_class_info:Array[nullable MClass]>*/
5379 { /* Inline model#MClass#mclass_type (var_t) on <var_t:MClass> */
5380 var31
= var_t
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_t:MClass> */
5381 if (unlikely(var31
== NULL
)) {
5382 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
5383 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 507);
5387 RET_LABEL30
:(void)0;
5391 { /* Inline separate_compiler#MType#tag_value= (var29,1l) on <var29:MClassType> */
5392 var29
->attrs
[COLOR_nitc__separate_compiler__MType___tag_value
].l
= 1l; /* _tag_value on <var29:MClassType> */
5393 RET_LABEL32
:(void)0;
5398 { /* Inline model#MClass#name (var_t) on <var_t:MClass> */
5399 var35
= var_t
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <var_t:MClass> */
5400 if (unlikely(var35
== NULL
)) {
5401 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5402 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 385);
5406 RET_LABEL34
:(void)0;
5409 if (likely(varonce36
!=NULL
)) {
5413 var39
= core__flat___NativeString___to_s_full(var38
, 4l, 4l);
5418 var40
= ((short int(*)(val
* self
, val
* p0
))(var33
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var33
, var37
); /* == on <var33:String>*/
5422 core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_class_info
, 2l, var_t
); /* Direct call array#Array#[]= on <var_class_info:Array[nullable MClass]>*/
5425 { /* Inline model#MClass#mclass_type (var_t) on <var_t:MClass> */
5426 var43
= var_t
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_t:MClass> */
5427 if (unlikely(var43
== NULL
)) {
5428 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
5429 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 507);
5433 RET_LABEL42
:(void)0;
5437 { /* Inline separate_compiler#MType#tag_value= (var41,2l) on <var41:MClassType> */
5438 var41
->attrs
[COLOR_nitc__separate_compiler__MType___tag_value
].l
= 2l; /* _tag_value on <var41:MClassType> */
5439 RET_LABEL44
:(void)0;
5444 { /* Inline model#MClass#name (var_t) on <var_t:MClass> */
5445 var47
= var_t
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <var_t:MClass> */
5446 if (unlikely(var47
== NULL
)) {
5447 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5448 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 385);
5452 RET_LABEL46
:(void)0;
5455 if (likely(varonce48
!=NULL
)) {
5459 var51
= core__flat___NativeString___to_s_full(var50
, 4l, 4l);
5464 var52
= ((short int(*)(val
* self
, val
* p0
))(var45
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var45
, var49
); /* == on <var45:String>*/
5468 core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_class_info
, 3l, var_t
); /* Direct call array#Array#[]= on <var_class_info:Array[nullable MClass]>*/
5471 { /* Inline model#MClass#mclass_type (var_t) on <var_t:MClass> */
5472 var55
= var_t
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_t:MClass> */
5473 if (unlikely(var55
== NULL
)) {
5474 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
5475 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 507);
5479 RET_LABEL54
:(void)0;
5483 { /* Inline separate_compiler#MType#tag_value= (var53,3l) on <var53:MClassType> */
5484 var53
->attrs
[COLOR_nitc__separate_compiler__MType___tag_value
].l
= 3l; /* _tag_value on <var53:MClassType> */
5485 RET_LABEL56
:(void)0;
5494 { /* Inline model#MClass#mclass_type (var_t) on <var_t:MClass> */
5495 var60
= var_t
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_t:MClass> */
5496 if (unlikely(var60
== NULL
)) {
5497 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
5498 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 507);
5502 RET_LABEL59
:(void)0;
5506 { /* Inline separate_compiler#MType#is_tagged= (var58,1) on <var58:MClassType> */
5507 var58
->attrs
[COLOR_nitc__separate_compiler__MType___is_tagged
].s
= 1; /* _is_tagged on <var58:MClassType> */
5508 RET_LABEL61
:(void)0;
5511 BREAK_label57
: (void)0;
5513 ((void(*)(val
* self
))((((long)var_19
&3)?class_info
[((long)var_19
&3)]:var_19
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_19
); /* next on <var_19:Iterator[MClass]>*/
5516 BREAK_label
: (void)0;
5518 ((void(*)(val
* self
))((((long)var_19
&3)?class_info
[((long)var_19
&3)]:var_19
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_19
); /* finish on <var_19:Iterator[MClass]>*/
5521 var62
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__abstract_compiler__AbstractCompiler__new_visitor
]))(self
); /* new_visitor on <self:SeparateCompiler>*/
5524 if (likely(varonce63
!=NULL
)) {
5527 var65
= "const struct class *class_info[4] = {";
5528 var66
= core__flat___NativeString___to_s_full(var65
, 37l, 37l);
5533 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var64
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
5535 var_67
= var_class_info
;
5537 var68
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_67
);
5542 var70
= ((short int(*)(val
* self
))((((long)var_69
&3)?class_info
[((long)var_69
&3)]:var_69
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_69
); /* is_ok on <var_69:IndexedIterator[nullable MClass]>*/
5549 var72
= ((val
*(*)(val
* self
))((((long)var_69
&3)?class_info
[((long)var_69
&3)]:var_69
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_69
); /* item on <var_69:IndexedIterator[nullable MClass]>*/
5552 if (var_t73
== NULL
) {
5553 var74
= 1; /* is null */
5555 var74
= 0; /* arg is null but recv is not */
5558 { /* Inline kernel#Object#== (var_t73,((val*)NULL)) on <var_t73:nullable MClass> */
5559 var_other
= ((val
*)NULL
);
5561 { /* Inline kernel#Object#is_same_instance (var_t73,var_other) on <var_t73:nullable MClass(MClass)> */
5562 var79
= var_t73
== var_other
;
5565 RET_LABEL78
:(void)0;
5570 RET_LABEL76
:(void)0;
5575 if (likely(varonce80
!=NULL
)) {
5579 var83
= core__flat___NativeString___to_s_full(var82
, 5l, 5l);
5584 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var81
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
5587 if (unlikely(varonce84
==NULL
)) {
5588 var85
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
5589 if (likely(varonce86
!=NULL
)) {
5593 var89
= core__flat___NativeString___to_s_full(var88
, 6l, 6l);
5597 ((struct instance_core__NativeArray
*)var85
)->values
[0]=var87
;
5603 var90
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var_t73
);
5605 ((struct instance_core__NativeArray
*)var85
)->values
[1]=var90
;
5607 var91
= ((val
*(*)(val
* self
))(var85
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var85
); /* native_to_s on <var85:NativeArray[String]>*/
5612 nitc___nitc__AbstractCompilerVisitor___require_declaration(var_v
, var_s
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
5614 if (unlikely(varonce92
==NULL
)) {
5615 var93
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
5616 if (likely(varonce94
!=NULL
)) {
5620 var97
= core__flat___NativeString___to_s_full(var96
, 1l, 1l);
5624 ((struct instance_core__NativeArray
*)var93
)->values
[0]=var95
;
5625 if (likely(varonce98
!=NULL
)) {
5629 var101
= core__flat___NativeString___to_s_full(var100
, 1l, 1l);
5633 ((struct instance_core__NativeArray
*)var93
)->values
[2]=var99
;
5638 ((struct instance_core__NativeArray
*)var93
)->values
[1]=var_s
;
5640 var102
= ((val
*(*)(val
* self
))(var93
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var93
); /* native_to_s on <var93:NativeArray[String]>*/
5644 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var102
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
5648 ((void(*)(val
* self
))((((long)var_69
&3)?class_info
[((long)var_69
&3)]:var_69
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_69
); /* next on <var_69:IndexedIterator[nullable MClass]>*/
5651 BREAK_label71
: (void)0;
5653 ((void(*)(val
* self
))((((long)var_69
&3)?class_info
[((long)var_69
&3)]:var_69
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_69
); /* finish on <var_69:IndexedIterator[nullable MClass]>*/
5655 if (likely(varonce103
!=NULL
)) {
5656 var104
= varonce103
;
5659 var106
= core__flat___NativeString___to_s_full(var105
, 2l, 2l);
5661 varonce103
= var104
;
5664 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var104
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
5666 if (likely(varonce107
!=NULL
)) {
5667 var108
= varonce107
;
5669 var109
= "const struct type *type_info[4] = {";
5670 var110
= core__flat___NativeString___to_s_full(var109
, 35l, 35l);
5672 varonce107
= var108
;
5675 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var108
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
5677 var_111
= var_class_info
;
5679 var112
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_111
);
5684 var114
= ((short int(*)(val
* self
))((((long)var_113
&3)?class_info
[((long)var_113
&3)]:var_113
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_113
); /* is_ok on <var_113:IndexedIterator[nullable MClass]>*/
5688 goto BREAK_label115
;
5691 var116
= ((val
*(*)(val
* self
))((((long)var_113
&3)?class_info
[((long)var_113
&3)]:var_113
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_113
); /* item on <var_113:IndexedIterator[nullable MClass]>*/
5694 if (var_t117
== NULL
) {
5695 var118
= 1; /* is null */
5697 var118
= 0; /* arg is null but recv is not */
5700 { /* Inline kernel#Object#== (var_t117,((val*)NULL)) on <var_t117:nullable MClass> */
5701 var_other
= ((val
*)NULL
);
5703 { /* Inline kernel#Object#is_same_instance (var_t117,var_other) on <var_t117:nullable MClass(MClass)> */
5704 var123
= var_t117
== var_other
;
5707 RET_LABEL122
:(void)0;
5712 RET_LABEL120
:(void)0;
5717 if (likely(varonce124
!=NULL
)) {
5718 var125
= varonce124
;
5721 var127
= core__flat___NativeString___to_s_full(var126
, 5l, 5l);
5723 varonce124
= var125
;
5726 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var125
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
5729 if (unlikely(varonce128
==NULL
)) {
5730 var129
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
5731 if (likely(varonce130
!=NULL
)) {
5732 var131
= varonce130
;
5735 var133
= core__flat___NativeString___to_s_full(var132
, 5l, 5l);
5737 varonce130
= var131
;
5739 ((struct instance_core__NativeArray
*)var129
)->values
[0]=var131
;
5741 var129
= varonce128
;
5745 var134
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var_t117
);
5747 ((struct instance_core__NativeArray
*)var129
)->values
[1]=var134
;
5749 var135
= ((val
*(*)(val
* self
))(var129
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var129
); /* native_to_s on <var129:NativeArray[String]>*/
5751 varonce128
= var129
;
5754 { /* Inline separate_compiler#SeparateCompiler#undead_types (self) on <self:SeparateCompiler> */
5755 var139
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___undead_types
].val
; /* _undead_types on <self:SeparateCompiler> */
5756 if (unlikely(var139
== NULL
)) {
5757 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _undead_types");
5758 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 146);
5762 RET_LABEL138
:(void)0;
5766 { /* Inline model#MClass#mclass_type (var_t117) on <var_t117:nullable MClass(MClass)> */
5767 var142
= var_t117
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_t117:nullable MClass(MClass)> */
5768 if (unlikely(var142
== NULL
)) {
5769 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
5770 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 507);
5774 RET_LABEL141
:(void)0;
5778 ((void(*)(val
* self
, val
* p0
))((((long)var137
&3)?class_info
[((long)var137
&3)]:var137
->class)->vft
[COLOR_core__abstract_collection__SimpleCollection__add
]))(var137
, var140
); /* add on <var137:Set[MType]>*/
5781 nitc___nitc__AbstractCompilerVisitor___require_declaration(var_v
, var_s136
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
5783 if (unlikely(varonce143
==NULL
)) {
5784 var144
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
5785 if (likely(varonce145
!=NULL
)) {
5786 var146
= varonce145
;
5789 var148
= core__flat___NativeString___to_s_full(var147
, 1l, 1l);
5791 varonce145
= var146
;
5793 ((struct instance_core__NativeArray
*)var144
)->values
[0]=var146
;
5794 if (likely(varonce149
!=NULL
)) {
5795 var150
= varonce149
;
5798 var152
= core__flat___NativeString___to_s_full(var151
, 1l, 1l);
5800 varonce149
= var150
;
5802 ((struct instance_core__NativeArray
*)var144
)->values
[2]=var150
;
5804 var144
= varonce143
;
5807 ((struct instance_core__NativeArray
*)var144
)->values
[1]=var_s136
;
5809 var153
= ((val
*(*)(val
* self
))(var144
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var144
); /* native_to_s on <var144:NativeArray[String]>*/
5811 varonce143
= var144
;
5813 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var153
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
5817 ((void(*)(val
* self
))((((long)var_113
&3)?class_info
[((long)var_113
&3)]:var_113
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_113
); /* next on <var_113:IndexedIterator[nullable MClass]>*/
5820 BREAK_label115
: (void)0;
5822 ((void(*)(val
* self
))((((long)var_113
&3)?class_info
[((long)var_113
&3)]:var_113
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_113
); /* finish on <var_113:IndexedIterator[nullable MClass]>*/
5824 if (likely(varonce154
!=NULL
)) {
5825 var155
= varonce154
;
5828 var157
= core__flat___NativeString___to_s_full(var156
, 2l, 2l);
5830 varonce154
= var155
;
5833 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var155
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
5837 /* method separate_compiler#SeparateCompiler#hardening_live_type for (self: SeparateCompiler, SeparateCompilerVisitor, String) */
5838 void nitc___nitc__SeparateCompiler___hardening_live_type(val
* self
, val
* p0
, val
* p1
) {
5839 short int var
/* : Bool */;
5842 const struct type
* type_struct
;
5843 const char* var_class_name
;
5844 val
* var_v
/* var v: SeparateCompilerVisitor */;
5845 val
* var_t
/* var t: String */;
5846 val
* var1
/* : AbstractCompiler */;
5847 val
* var3
/* : AbstractCompiler */;
5848 val
* var4
/* : ModelBuilder */;
5849 val
* var6
/* : ModelBuilder */;
5850 val
* var7
/* : ToolContext */;
5851 val
* var9
/* : ToolContext */;
5852 val
* var10
/* : OptionBool */;
5853 val
* var12
/* : OptionBool */;
5854 val
* var13
/* : nullable Object */;
5855 val
* var15
/* : nullable Object */;
5856 short int var16
/* : Bool */;
5857 short int var17
/* : Bool */;
5858 val
* var18
/* : NativeArray[String] */;
5859 static val
* varonce
;
5860 static val
* varonce19
;
5861 val
* var20
/* : String */;
5862 char* var21
/* : NativeString */;
5863 val
* var22
/* : String */;
5864 static val
* varonce23
;
5865 val
* var24
/* : String */;
5866 char* var25
/* : NativeString */;
5867 val
* var26
/* : String */;
5868 val
* var27
/* : String */;
5869 static val
* varonce28
;
5870 val
* var29
/* : String */;
5871 char* var30
/* : NativeString */;
5872 val
* var31
/* : String */;
5873 static val
* varonce32
;
5874 val
* var33
/* : String */;
5875 char* var34
/* : NativeString */;
5876 val
* var35
/* : String */;
5877 val
* var37
/* : NativeArray[String] */;
5878 static val
* varonce36
;
5879 static val
* varonce38
;
5880 val
* var39
/* : String */;
5881 char* var40
/* : NativeString */;
5882 val
* var41
/* : String */;
5883 static val
* varonce42
;
5884 val
* var43
/* : String */;
5885 char* var44
/* : NativeString */;
5886 val
* var45
/* : String */;
5887 val
* var46
/* : String */;
5888 val
* var48
/* : NativeArray[String] */;
5889 static val
* varonce47
;
5890 static val
* varonce49
;
5891 val
* var50
/* : String */;
5892 char* var51
/* : NativeString */;
5893 val
* var52
/* : String */;
5894 static val
* varonce53
;
5895 val
* var54
/* : String */;
5896 char* var55
/* : NativeString */;
5897 val
* var56
/* : String */;
5898 val
* var57
/* : String */;
5899 static val
* varonce58
;
5900 val
* var59
/* : String */;
5901 char* var60
/* : NativeString */;
5902 val
* var61
/* : String */;
5903 static val
* varonce62
;
5904 val
* var63
/* : String */;
5905 char* var64
/* : NativeString */;
5906 val
* var65
/* : String */;
5907 /* Covariant cast for argument 0 (v) <p0:SeparateCompilerVisitor> isa VISITOR */
5908 /* <p0:SeparateCompilerVisitor> isa VISITOR */
5909 type_struct
= self
->type
->resolution_table
->types
[COLOR_nitc__abstract_compiler__AbstractCompiler__VISITOR
];
5910 cltype
= type_struct
->color
;
5911 idtype
= type_struct
->id
;
5912 if(cltype
>= p0
->type
->table_size
) {
5915 var
= p0
->type
->type_table
[cltype
] == idtype
;
5917 if (unlikely(!var
)) {
5918 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5919 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
5920 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 1048);
5926 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:SeparateCompilerVisitor> */
5927 var3
= var_v
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:SeparateCompilerVisitor> */
5928 if (unlikely(var3
== NULL
)) {
5929 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5930 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1133);
5938 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var1) on <var1:AbstractCompiler(SeparateCompiler)> */
5939 var6
= var1
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var1:AbstractCompiler(SeparateCompiler)> */
5940 if (unlikely(var6
== NULL
)) {
5941 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5942 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 538);
5950 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var4) on <var4:ModelBuilder> */
5951 var9
= var4
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var4:ModelBuilder> */
5952 if (unlikely(var9
== NULL
)) {
5953 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5954 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
5962 { /* Inline abstract_compiler#ToolContext#opt_hardening (var7) on <var7:ToolContext> */
5963 var12
= var7
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_hardening
].val
; /* _opt_hardening on <var7:ToolContext> */
5964 if (unlikely(var12
== NULL
)) {
5965 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_hardening");
5966 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 46);
5970 RET_LABEL11
:(void)0;
5974 { /* Inline opts#Option#value (var10) on <var10:OptionBool> */
5975 var15
= var10
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var10:OptionBool> */
5977 RET_LABEL14
:(void)0;
5980 var16
= (short int)((long)(var13
)>>2);
5986 if (unlikely(varonce
==NULL
)) {
5987 var18
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
5988 if (likely(varonce19
!=NULL
)) {
5992 var22
= core__flat___NativeString___to_s_full(var21
, 3l, 3l);
5996 ((struct instance_core__NativeArray
*)var18
)->values
[0]=var20
;
5997 if (likely(varonce23
!=NULL
)) {
6000 var25
= " == NULL) {";
6001 var26
= core__flat___NativeString___to_s_full(var25
, 11l, 11l);
6005 ((struct instance_core__NativeArray
*)var18
)->values
[2]=var24
;
6010 ((struct instance_core__NativeArray
*)var18
)->values
[1]=var_t
;
6012 var27
= ((val
*(*)(val
* self
))(var18
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var18
); /* native_to_s on <var18:NativeArray[String]>*/
6016 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var27
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
6018 if (likely(varonce28
!=NULL
)) {
6021 var30
= "type null";
6022 var31
= core__flat___NativeString___to_s_full(var30
, 9l, 9l);
6027 nitc___nitc__AbstractCompilerVisitor___add_abort(var_v
, var29
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:SeparateCompilerVisitor>*/
6029 if (likely(varonce32
!=NULL
)) {
6033 var35
= core__flat___NativeString___to_s_full(var34
, 1l, 1l);
6038 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var33
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
6040 if (unlikely(varonce36
==NULL
)) {
6041 var37
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
6042 if (likely(varonce38
!=NULL
)) {
6046 var41
= core__flat___NativeString___to_s_full(var40
, 3l, 3l);
6050 ((struct instance_core__NativeArray
*)var37
)->values
[0]=var39
;
6051 if (likely(varonce42
!=NULL
)) {
6054 var44
= "->table_size < 0) {";
6055 var45
= core__flat___NativeString___to_s_full(var44
, 19l, 19l);
6059 ((struct instance_core__NativeArray
*)var37
)->values
[2]=var43
;
6064 ((struct instance_core__NativeArray
*)var37
)->values
[1]=var_t
;
6066 var46
= ((val
*(*)(val
* self
))(var37
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var37
); /* native_to_s on <var37:NativeArray[String]>*/
6070 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var46
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
6072 if (unlikely(varonce47
==NULL
)) {
6073 var48
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
6074 if (likely(varonce49
!=NULL
)) {
6077 var51
= "PRINT_ERROR(\"Instantiation of a dead type: %s\\n\", ";
6078 var52
= core__flat___NativeString___to_s_full(var51
, 50l, 50l);
6082 ((struct instance_core__NativeArray
*)var48
)->values
[0]=var50
;
6083 if (likely(varonce53
!=NULL
)) {
6087 var56
= core__flat___NativeString___to_s_full(var55
, 8l, 8l);
6091 ((struct instance_core__NativeArray
*)var48
)->values
[2]=var54
;
6096 ((struct instance_core__NativeArray
*)var48
)->values
[1]=var_t
;
6098 var57
= ((val
*(*)(val
* self
))(var48
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var48
); /* native_to_s on <var48:NativeArray[String]>*/
6102 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var57
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
6104 if (likely(varonce58
!=NULL
)) {
6107 var60
= "type dead";
6108 var61
= core__flat___NativeString___to_s_full(var60
, 9l, 9l);
6113 nitc___nitc__AbstractCompilerVisitor___add_abort(var_v
, var59
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:SeparateCompilerVisitor>*/
6115 if (likely(varonce62
!=NULL
)) {
6119 var65
= core__flat___NativeString___to_s_full(var64
, 1l, 1l);
6124 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var63
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
6128 /* method separate_compiler#SeparateCompiler#new_visitor for (self: SeparateCompiler): SeparateCompilerVisitor */
6129 val
* nitc___nitc__SeparateCompiler___nitc__abstract_compiler__AbstractCompiler__new_visitor(val
* self
) {
6130 val
* var
/* : SeparateCompilerVisitor */;
6131 val
* var1
/* : SeparateCompilerVisitor */;
6132 short int var2
/* : Bool */;
6135 const struct type
* type_struct
;
6136 const char* var_class_name
;
6137 var1
= NEW_nitc__SeparateCompilerVisitor(&type_nitc__SeparateCompilerVisitor
);
6139 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor__compiler_61d
]))(var1
, self
); /* compiler= on <var1:SeparateCompilerVisitor>*/
6142 ((void(*)(val
* self
))(var1
->class->vft
[COLOR_core__kernel__Object__init
]))(var1
); /* init on <var1:SeparateCompilerVisitor>*/
6144 /* <var1:SeparateCompilerVisitor> isa VISITOR */
6145 type_struct
= self
->type
->resolution_table
->types
[COLOR_nitc__abstract_compiler__AbstractCompiler__VISITOR
];
6146 cltype
= type_struct
->color
;
6147 idtype
= type_struct
->id
;
6148 if(cltype
>= var1
->type
->table_size
) {
6151 var2
= var1
->type
->type_table
[cltype
] == idtype
;
6153 if (unlikely(!var2
)) {
6154 var_class_name
= var1
== NULL ?
"null" : var1
->type
->name
;
6155 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
6156 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 1061);
6164 /* method separate_compiler#SeparateCompiler#type_tables for (self: SeparateCompiler): Map[MType, Array[nullable MType]] */
6165 val
* nitc___nitc__SeparateCompiler___type_tables(val
* self
) {
6166 val
* var
/* : Map[MType, Array[nullable MType]] */;
6167 val
* var1
/* : Map[MType, Array[nullable MType]] */;
6168 var1
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___type_tables
].val
; /* _type_tables on <self:SeparateCompiler> */
6169 if (unlikely(var1
== NULL
)) {
6170 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_tables");
6171 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 1065);
6178 /* method separate_compiler#SeparateCompiler#type_tables= for (self: SeparateCompiler, Map[MType, Array[nullable MType]]) */
6179 void nitc___nitc__SeparateCompiler___type_tables_61d(val
* self
, val
* p0
) {
6180 self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___type_tables
].val
= p0
; /* _type_tables on <self:SeparateCompiler> */
6183 /* method separate_compiler#SeparateCompiler#resolution_tables for (self: SeparateCompiler): Map[MClassType, Array[nullable MType]] */
6184 val
* nitc___nitc__SeparateCompiler___resolution_tables(val
* self
) {
6185 val
* var
/* : Map[MClassType, Array[nullable MType]] */;
6186 val
* var1
/* : Map[MClassType, Array[nullable MType]] */;
6187 var1
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___resolution_tables
].val
; /* _resolution_tables on <self:SeparateCompiler> */
6188 if (unlikely(var1
== NULL
)) {
6189 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _resolution_tables");
6190 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 1066);
6197 /* method separate_compiler#SeparateCompiler#resolution_tables= for (self: SeparateCompiler, Map[MClassType, Array[nullable MType]]) */
6198 void nitc___nitc__SeparateCompiler___resolution_tables_61d(val
* self
, val
* p0
) {
6199 self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___resolution_tables
].val
= p0
; /* _resolution_tables on <self:SeparateCompiler> */
6202 /* method separate_compiler#SeparateCompiler#method_tables for (self: SeparateCompiler): Map[MClass, Array[nullable MPropDef]] */
6203 val
* nitc___nitc__SeparateCompiler___method_tables(val
* self
) {
6204 val
* var
/* : Map[MClass, Array[nullable MPropDef]] */;
6205 val
* var1
/* : Map[MClass, Array[nullable MPropDef]] */;
6206 var1
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___method_tables
].val
; /* _method_tables on <self:SeparateCompiler> */
6207 if (unlikely(var1
== NULL
)) {
6208 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _method_tables");
6209 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 1067);
6216 /* method separate_compiler#SeparateCompiler#method_tables= for (self: SeparateCompiler, Map[MClass, Array[nullable MPropDef]]) */
6217 void nitc___nitc__SeparateCompiler___method_tables_61d(val
* self
, val
* p0
) {
6218 self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___method_tables
].val
= p0
; /* _method_tables on <self:SeparateCompiler> */
6221 /* method separate_compiler#SeparateCompiler#attr_tables for (self: SeparateCompiler): Map[MClass, Array[nullable MProperty]] */
6222 val
* nitc___nitc__SeparateCompiler___attr_tables(val
* self
) {
6223 val
* var
/* : Map[MClass, Array[nullable MProperty]] */;
6224 val
* var1
/* : Map[MClass, Array[nullable MProperty]] */;
6225 var1
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___attr_tables
].val
; /* _attr_tables on <self:SeparateCompiler> */
6226 if (unlikely(var1
== NULL
)) {
6227 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _attr_tables");
6228 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 1068);
6235 /* method separate_compiler#SeparateCompiler#attr_tables= for (self: SeparateCompiler, Map[MClass, Array[nullable MProperty]]) */
6236 void nitc___nitc__SeparateCompiler___attr_tables_61d(val
* self
, val
* p0
) {
6237 self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___attr_tables
].val
= p0
; /* _attr_tables on <self:SeparateCompiler> */
6240 /* method separate_compiler#SeparateCompiler#display_stats for (self: SeparateCompiler) */
6241 void nitc___nitc__SeparateCompiler___nitc__abstract_compiler__AbstractCompiler__display_stats(val
* self
) {
6242 val
* var
/* : ModelBuilder */;
6243 val
* var2
/* : ModelBuilder */;
6244 val
* var3
/* : ToolContext */;
6245 val
* var5
/* : ToolContext */;
6246 val
* var6
/* : OptionBool */;
6247 val
* var8
/* : OptionBool */;
6248 val
* var9
/* : nullable Object */;
6249 val
* var11
/* : nullable Object */;
6250 short int var12
/* : Bool */;
6251 val
* var13
/* : ModelBuilder */;
6252 val
* var15
/* : ModelBuilder */;
6253 val
* var16
/* : ToolContext */;
6254 val
* var18
/* : ToolContext */;
6255 val
* var19
/* : OptionBool */;
6256 val
* var21
/* : OptionBool */;
6257 val
* var22
/* : nullable Object */;
6258 val
* var24
/* : nullable Object */;
6259 short int var25
/* : Bool */;
6260 val
* var26
/* : ModelBuilder */;
6261 val
* var28
/* : ModelBuilder */;
6262 val
* var29
/* : ToolContext */;
6263 val
* var31
/* : ToolContext */;
6264 val
* var_tc
/* var tc: ToolContext */;
6265 static val
* varonce
;
6266 val
* var32
/* : String */;
6267 char* var33
/* : NativeString */;
6268 val
* var34
/* : String */;
6269 val
* var35
/* : ModelBuilder */;
6270 val
* var37
/* : ModelBuilder */;
6271 long var38
/* : Int */;
6272 long var40
/* : Int */;
6273 val
* var41
/* : ModelBuilder */;
6274 val
* var43
/* : ModelBuilder */;
6275 long var44
/* : Int */;
6276 long var46
/* : Int */;
6277 long var47
/* : Int */;
6278 short int var49
/* : Bool */;
6281 const char* var_class_name
;
6282 long var50
/* : Int */;
6283 val
* var51
/* : ModelBuilder */;
6284 val
* var53
/* : ModelBuilder */;
6285 long var54
/* : Int */;
6286 long var56
/* : Int */;
6287 long var57
/* : Int */;
6288 short int var59
/* : Bool */;
6291 const char* var_class_name62
;
6292 long var63
/* : Int */;
6293 long var_nb_invok_total
/* var nb_invok_total: Int */;
6294 val
* var65
/* : NativeArray[String] */;
6295 static val
* varonce64
;
6296 static val
* varonce66
;
6297 val
* var67
/* : String */;
6298 char* var68
/* : NativeString */;
6299 val
* var69
/* : String */;
6300 val
* var70
/* : String */;
6301 val
* var71
/* : String */;
6302 val
* var73
/* : NativeArray[String] */;
6303 static val
* varonce72
;
6304 static val
* varonce74
;
6305 val
* var75
/* : String */;
6306 char* var76
/* : NativeString */;
6307 val
* var77
/* : String */;
6308 static val
* varonce78
;
6309 val
* var79
/* : String */;
6310 char* var80
/* : NativeString */;
6311 val
* var81
/* : String */;
6312 static val
* varonce82
;
6313 val
* var83
/* : String */;
6314 char* var84
/* : NativeString */;
6315 val
* var85
/* : String */;
6316 val
* var86
/* : ModelBuilder */;
6317 val
* var88
/* : ModelBuilder */;
6318 long var89
/* : Int */;
6319 long var91
/* : Int */;
6320 val
* var92
/* : String */;
6321 val
* var93
/* : Sys */;
6322 val
* var94
/* : ModelBuilder */;
6323 val
* var96
/* : ModelBuilder */;
6324 long var97
/* : Int */;
6325 long var99
/* : Int */;
6326 val
* var100
/* : String */;
6327 val
* var101
/* : String */;
6328 val
* var103
/* : NativeArray[String] */;
6329 static val
* varonce102
;
6330 static val
* varonce104
;
6331 val
* var105
/* : String */;
6332 char* var106
/* : NativeString */;
6333 val
* var107
/* : String */;
6334 static val
* varonce108
;
6335 val
* var109
/* : String */;
6336 char* var110
/* : NativeString */;
6337 val
* var111
/* : String */;
6338 static val
* varonce112
;
6339 val
* var113
/* : String */;
6340 char* var114
/* : NativeString */;
6341 val
* var115
/* : String */;
6342 val
* var116
/* : ModelBuilder */;
6343 val
* var118
/* : ModelBuilder */;
6344 long var119
/* : Int */;
6345 long var121
/* : Int */;
6346 val
* var122
/* : String */;
6347 val
* var123
/* : Sys */;
6348 val
* var124
/* : ModelBuilder */;
6349 val
* var126
/* : ModelBuilder */;
6350 long var127
/* : Int */;
6351 long var129
/* : Int */;
6352 val
* var130
/* : String */;
6353 val
* var131
/* : String */;
6354 val
* var133
/* : NativeArray[String] */;
6355 static val
* varonce132
;
6356 static val
* varonce134
;
6357 val
* var135
/* : String */;
6358 char* var136
/* : NativeString */;
6359 val
* var137
/* : String */;
6360 static val
* varonce138
;
6361 val
* var139
/* : String */;
6362 char* var140
/* : NativeString */;
6363 val
* var141
/* : String */;
6364 static val
* varonce142
;
6365 val
* var143
/* : String */;
6366 char* var144
/* : NativeString */;
6367 val
* var145
/* : String */;
6368 val
* var146
/* : ModelBuilder */;
6369 val
* var148
/* : ModelBuilder */;
6370 long var149
/* : Int */;
6371 long var151
/* : Int */;
6372 val
* var152
/* : String */;
6373 val
* var153
/* : Sys */;
6374 val
* var154
/* : ModelBuilder */;
6375 val
* var156
/* : ModelBuilder */;
6376 long var157
/* : Int */;
6377 long var159
/* : Int */;
6378 val
* var160
/* : String */;
6379 val
* var161
/* : String */;
6381 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc___nitc__SeparateCompiler___nitc__abstract_compiler__AbstractCompiler__display_stats
]))(self
); /* display_stats on <self:SeparateCompiler>*/
6384 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6385 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6386 if (unlikely(var2
== NULL
)) {
6387 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6388 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 538);
6396 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var) on <var:ModelBuilder> */
6397 var5
= var
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var:ModelBuilder> */
6398 if (unlikely(var5
== NULL
)) {
6399 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6400 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
6408 { /* Inline separate_compiler#ToolContext#opt_tables_metrics (var3) on <var3:ToolContext> */
6409 var8
= var3
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_tables_metrics
].val
; /* _opt_tables_metrics on <var3:ToolContext> */
6410 if (unlikely(var8
== NULL
)) {
6411 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_tables_metrics");
6412 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 60);
6420 { /* Inline opts#Option#value (var6) on <var6:OptionBool> */
6421 var11
= var6
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var6:OptionBool> */
6423 RET_LABEL10
:(void)0;
6426 var12
= (short int)((long)(var9
)>>2);
6429 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc__separate_compiler__SeparateCompiler__display_sizes
]))(self
); /* display_sizes on <self:SeparateCompiler>*/
6434 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6435 var15
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6436 if (unlikely(var15
== NULL
)) {
6437 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6438 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 538);
6442 RET_LABEL14
:(void)0;
6446 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var13) on <var13:ModelBuilder> */
6447 var18
= var13
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var13:ModelBuilder> */
6448 if (unlikely(var18
== NULL
)) {
6449 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6450 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
6454 RET_LABEL17
:(void)0;
6458 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var16) on <var16:ToolContext> */
6459 var21
= var16
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var16:ToolContext> */
6460 if (unlikely(var21
== NULL
)) {
6461 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
6462 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 64);
6466 RET_LABEL20
:(void)0;
6470 { /* Inline opts#Option#value (var19) on <var19:OptionBool> */
6471 var24
= var19
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var19:OptionBool> */
6473 RET_LABEL23
:(void)0;
6476 var25
= (short int)((long)(var22
)>>2);
6479 nitc___nitc__SeparateCompiler___display_isset_checks(self
); /* Direct call separate_compiler#SeparateCompiler#display_isset_checks on <self:SeparateCompiler>*/
6484 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6485 var28
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6486 if (unlikely(var28
== NULL
)) {
6487 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6488 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 538);
6492 RET_LABEL27
:(void)0;
6496 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var26) on <var26:ModelBuilder> */
6497 var31
= var26
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var26:ModelBuilder> */
6498 if (unlikely(var31
== NULL
)) {
6499 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6500 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
6504 RET_LABEL30
:(void)0;
6508 if (likely(varonce
!=NULL
)) {
6511 var33
= "# implementation of method invocation";
6512 var34
= core__flat___NativeString___to_s_full(var33
, 37l, 37l);
6517 nitc___nitc__ToolContext___info(var_tc
, var32
, 2l); /* Direct call toolcontext#ToolContext#info on <var_tc:ToolContext>*/
6520 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6521 var37
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6522 if (unlikely(var37
== NULL
)) {
6523 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6524 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 538);
6528 RET_LABEL36
:(void)0;
6532 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_tables (var35) on <var35:ModelBuilder> */
6533 var40
= var35
->attrs
[COLOR_nitc__separate_compiler__ModelBuilder___nb_invok_by_tables
].l
; /* _nb_invok_by_tables on <var35:ModelBuilder> */
6535 RET_LABEL39
:(void)0;
6539 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6540 var43
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6541 if (unlikely(var43
== NULL
)) {
6542 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6543 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 538);
6547 RET_LABEL42
:(void)0;
6551 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_direct (var41) on <var41:ModelBuilder> */
6552 var46
= var41
->attrs
[COLOR_nitc__separate_compiler__ModelBuilder___nb_invok_by_direct
].l
; /* _nb_invok_by_direct on <var41:ModelBuilder> */
6554 RET_LABEL45
:(void)0;
6558 { /* Inline kernel#Int#+ (var38,var44) on <var38:Int> */
6559 /* Covariant cast for argument 0 (i) <var44:Int> isa OTHER */
6560 /* <var44:Int> isa OTHER */
6561 var49
= 1; /* easy <var44:Int> isa OTHER*/
6562 if (unlikely(!var49
)) {
6563 var_class_name
= type_core__Int
.name
;
6564 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6565 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
6568 var50
= var38
+ var44
;
6571 RET_LABEL48
:(void)0;
6575 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6576 var53
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6577 if (unlikely(var53
== NULL
)) {
6578 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6579 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 538);
6583 RET_LABEL52
:(void)0;
6587 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_inline (var51) on <var51:ModelBuilder> */
6588 var56
= var51
->attrs
[COLOR_nitc__separate_compiler__ModelBuilder___nb_invok_by_inline
].l
; /* _nb_invok_by_inline on <var51:ModelBuilder> */
6590 RET_LABEL55
:(void)0;
6594 { /* Inline kernel#Int#+ (var47,var54) on <var47:Int> */
6595 /* Covariant cast for argument 0 (i) <var54:Int> isa OTHER */
6596 /* <var54:Int> isa OTHER */
6597 var59
= 1; /* easy <var54:Int> isa OTHER*/
6598 if (unlikely(!var59
)) {
6599 var_class_name62
= type_core__Int
.name
;
6600 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name62
);
6601 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
6604 var63
= var47
+ var54
;
6607 RET_LABEL58
:(void)0;
6610 var_nb_invok_total
= var57
;
6611 if (unlikely(varonce64
==NULL
)) {
6612 var65
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
6613 if (likely(varonce66
!=NULL
)) {
6616 var68
= "total number of invocations: ";
6617 var69
= core__flat___NativeString___to_s_full(var68
, 29l, 29l);
6621 ((struct instance_core__NativeArray
*)var65
)->values
[0]=var67
;
6626 var70
= core__flat___Int___core__abstract_text__Object__to_s(var_nb_invok_total
);
6627 ((struct instance_core__NativeArray
*)var65
)->values
[1]=var70
;
6629 var71
= ((val
*(*)(val
* self
))(var65
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var65
); /* native_to_s on <var65:NativeArray[String]>*/
6633 nitc___nitc__ToolContext___info(var_tc
, var71
, 2l); /* Direct call toolcontext#ToolContext#info on <var_tc:ToolContext>*/
6635 if (unlikely(varonce72
==NULL
)) {
6636 var73
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
6637 if (likely(varonce74
!=NULL
)) {
6640 var76
= "invocations by VFT send: ";
6641 var77
= core__flat___NativeString___to_s_full(var76
, 29l, 29l);
6645 ((struct instance_core__NativeArray
*)var73
)->values
[0]=var75
;
6646 if (likely(varonce78
!=NULL
)) {
6650 var81
= core__flat___NativeString___to_s_full(var80
, 2l, 2l);
6654 ((struct instance_core__NativeArray
*)var73
)->values
[2]=var79
;
6655 if (likely(varonce82
!=NULL
)) {
6659 var85
= core__flat___NativeString___to_s_full(var84
, 2l, 2l);
6663 ((struct instance_core__NativeArray
*)var73
)->values
[4]=var83
;
6669 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6670 var88
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6671 if (unlikely(var88
== NULL
)) {
6672 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6673 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 538);
6677 RET_LABEL87
:(void)0;
6681 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_tables (var86) on <var86:ModelBuilder> */
6682 var91
= var86
->attrs
[COLOR_nitc__separate_compiler__ModelBuilder___nb_invok_by_tables
].l
; /* _nb_invok_by_tables on <var86:ModelBuilder> */
6684 RET_LABEL90
:(void)0;
6687 var92
= core__flat___Int___core__abstract_text__Object__to_s(var89
);
6688 ((struct instance_core__NativeArray
*)var73
)->values
[1]=var92
;
6691 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6692 var96
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6693 if (unlikely(var96
== NULL
)) {
6694 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6695 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 538);
6699 RET_LABEL95
:(void)0;
6703 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_tables (var94) on <var94:ModelBuilder> */
6704 var99
= var94
->attrs
[COLOR_nitc__separate_compiler__ModelBuilder___nb_invok_by_tables
].l
; /* _nb_invok_by_tables on <var94:ModelBuilder> */
6706 RET_LABEL98
:(void)0;
6710 var100
= counter___core__Sys___div(var93
, var97
, var_nb_invok_total
);
6712 ((struct instance_core__NativeArray
*)var73
)->values
[3]=var100
;
6714 var101
= ((val
*(*)(val
* self
))(var73
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var73
); /* native_to_s on <var73:NativeArray[String]>*/
6718 nitc___nitc__ToolContext___info(var_tc
, var101
, 2l); /* Direct call toolcontext#ToolContext#info on <var_tc:ToolContext>*/
6720 if (unlikely(varonce102
==NULL
)) {
6721 var103
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
6722 if (likely(varonce104
!=NULL
)) {
6723 var105
= varonce104
;
6725 var106
= "invocations by direct call: ";
6726 var107
= core__flat___NativeString___to_s_full(var106
, 29l, 29l);
6728 varonce104
= var105
;
6730 ((struct instance_core__NativeArray
*)var103
)->values
[0]=var105
;
6731 if (likely(varonce108
!=NULL
)) {
6732 var109
= varonce108
;
6735 var111
= core__flat___NativeString___to_s_full(var110
, 2l, 2l);
6737 varonce108
= var109
;
6739 ((struct instance_core__NativeArray
*)var103
)->values
[2]=var109
;
6740 if (likely(varonce112
!=NULL
)) {
6741 var113
= varonce112
;
6744 var115
= core__flat___NativeString___to_s_full(var114
, 2l, 2l);
6746 varonce112
= var113
;
6748 ((struct instance_core__NativeArray
*)var103
)->values
[4]=var113
;
6750 var103
= varonce102
;
6754 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6755 var118
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6756 if (unlikely(var118
== NULL
)) {
6757 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6758 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 538);
6762 RET_LABEL117
:(void)0;
6766 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_direct (var116) on <var116:ModelBuilder> */
6767 var121
= var116
->attrs
[COLOR_nitc__separate_compiler__ModelBuilder___nb_invok_by_direct
].l
; /* _nb_invok_by_direct on <var116:ModelBuilder> */
6769 RET_LABEL120
:(void)0;
6772 var122
= core__flat___Int___core__abstract_text__Object__to_s(var119
);
6773 ((struct instance_core__NativeArray
*)var103
)->values
[1]=var122
;
6776 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6777 var126
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6778 if (unlikely(var126
== NULL
)) {
6779 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6780 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 538);
6784 RET_LABEL125
:(void)0;
6788 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_direct (var124) on <var124:ModelBuilder> */
6789 var129
= var124
->attrs
[COLOR_nitc__separate_compiler__ModelBuilder___nb_invok_by_direct
].l
; /* _nb_invok_by_direct on <var124:ModelBuilder> */
6791 RET_LABEL128
:(void)0;
6795 var130
= counter___core__Sys___div(var123
, var127
, var_nb_invok_total
);
6797 ((struct instance_core__NativeArray
*)var103
)->values
[3]=var130
;
6799 var131
= ((val
*(*)(val
* self
))(var103
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var103
); /* native_to_s on <var103:NativeArray[String]>*/
6801 varonce102
= var103
;
6803 nitc___nitc__ToolContext___info(var_tc
, var131
, 2l); /* Direct call toolcontext#ToolContext#info on <var_tc:ToolContext>*/
6805 if (unlikely(varonce132
==NULL
)) {
6806 var133
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
6807 if (likely(varonce134
!=NULL
)) {
6808 var135
= varonce134
;
6810 var136
= "invocations by inlining: ";
6811 var137
= core__flat___NativeString___to_s_full(var136
, 29l, 29l);
6813 varonce134
= var135
;
6815 ((struct instance_core__NativeArray
*)var133
)->values
[0]=var135
;
6816 if (likely(varonce138
!=NULL
)) {
6817 var139
= varonce138
;
6820 var141
= core__flat___NativeString___to_s_full(var140
, 2l, 2l);
6822 varonce138
= var139
;
6824 ((struct instance_core__NativeArray
*)var133
)->values
[2]=var139
;
6825 if (likely(varonce142
!=NULL
)) {
6826 var143
= varonce142
;
6829 var145
= core__flat___NativeString___to_s_full(var144
, 2l, 2l);
6831 varonce142
= var143
;
6833 ((struct instance_core__NativeArray
*)var133
)->values
[4]=var143
;
6835 var133
= varonce132
;
6839 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6840 var148
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6841 if (unlikely(var148
== NULL
)) {
6842 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6843 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 538);
6847 RET_LABEL147
:(void)0;
6851 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_inline (var146) on <var146:ModelBuilder> */
6852 var151
= var146
->attrs
[COLOR_nitc__separate_compiler__ModelBuilder___nb_invok_by_inline
].l
; /* _nb_invok_by_inline on <var146:ModelBuilder> */
6854 RET_LABEL150
:(void)0;
6857 var152
= core__flat___Int___core__abstract_text__Object__to_s(var149
);
6858 ((struct instance_core__NativeArray
*)var133
)->values
[1]=var152
;
6861 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6862 var156
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6863 if (unlikely(var156
== NULL
)) {
6864 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6865 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 538);
6869 RET_LABEL155
:(void)0;
6873 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_inline (var154) on <var154:ModelBuilder> */
6874 var159
= var154
->attrs
[COLOR_nitc__separate_compiler__ModelBuilder___nb_invok_by_inline
].l
; /* _nb_invok_by_inline on <var154:ModelBuilder> */
6876 RET_LABEL158
:(void)0;
6880 var160
= counter___core__Sys___div(var153
, var157
, var_nb_invok_total
);
6882 ((struct instance_core__NativeArray
*)var133
)->values
[3]=var160
;
6884 var161
= ((val
*(*)(val
* self
))(var133
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var133
); /* native_to_s on <var133:NativeArray[String]>*/
6886 varonce132
= var133
;
6888 nitc___nitc__ToolContext___info(var_tc
, var161
, 2l); /* Direct call toolcontext#ToolContext#info on <var_tc:ToolContext>*/
6892 /* method separate_compiler#SeparateCompiler#display_sizes for (self: SeparateCompiler) */
6893 void nitc___nitc__SeparateCompiler___display_sizes(val
* self
) {
6894 val
* var
/* : Sys */;
6895 static val
* varonce
;
6896 val
* var1
/* : String */;
6897 char* var2
/* : NativeString */;
6898 val
* var3
/* : String */;
6899 val
* var4
/* : Sys */;
6900 static val
* varonce5
;
6901 val
* var6
/* : String */;
6902 char* var7
/* : NativeString */;
6903 val
* var8
/* : String */;
6904 long var_total
/* var total: Int */;
6905 long var_holes
/* var holes: Int */;
6906 val
* var9
/* : Map[MType, Array[nullable MType]] */;
6907 val
* var11
/* : Map[MType, Array[nullable MType]] */;
6908 val
* var_
/* var : Map[MType, Array[nullable MType]] */;
6909 val
* var12
/* : MapIterator[nullable Object, nullable Object] */;
6910 val
* var_13
/* var : MapIterator[MType, Array[nullable MType]] */;
6911 short int var14
/* : Bool */;
6912 val
* var15
/* : nullable Object */;
6913 val
* var_t
/* var t: MType */;
6914 val
* var16
/* : nullable Object */;
6915 val
* var_table
/* var table: Array[nullable MType] */;
6916 long var17
/* : Int */;
6917 long var19
/* : Int */;
6918 long var20
/* : Int */;
6919 short int var22
/* : Bool */;
6922 const char* var_class_name
;
6923 long var23
/* : Int */;
6924 val
* var_24
/* var : Array[nullable MType] */;
6925 val
* var25
/* : IndexedIterator[nullable Object] */;
6926 val
* var_26
/* var : IndexedIterator[nullable MType] */;
6927 short int var27
/* : Bool */;
6928 val
* var29
/* : nullable Object */;
6929 val
* var_e
/* var e: nullable MType */;
6930 short int var30
/* : Bool */;
6931 short int var31
/* : Bool */;
6932 val
* var_other
/* var other: nullable Object */;
6933 short int var33
/* : Bool */;
6934 short int var35
/* : Bool */;
6935 long var36
/* : Int */;
6936 short int var38
/* : Bool */;
6939 const char* var_class_name41
;
6940 long var42
/* : Int */;
6941 val
* var44
/* : Sys */;
6942 val
* var46
/* : NativeArray[String] */;
6943 static val
* varonce45
;
6944 static val
* varonce47
;
6945 val
* var48
/* : String */;
6946 char* var49
/* : NativeString */;
6947 val
* var50
/* : String */;
6948 static val
* varonce51
;
6949 val
* var52
/* : String */;
6950 char* var53
/* : NativeString */;
6951 val
* var54
/* : String */;
6952 val
* var55
/* : String */;
6953 val
* var56
/* : String */;
6954 val
* var57
/* : String */;
6955 val
* var58
/* : Sys */;
6956 static val
* varonce59
;
6957 val
* var60
/* : String */;
6958 char* var61
/* : NativeString */;
6959 val
* var62
/* : String */;
6960 val
* var63
/* : Sys */;
6961 static val
* varonce64
;
6962 val
* var65
/* : String */;
6963 char* var66
/* : NativeString */;
6964 val
* var67
/* : String */;
6965 val
* var68
/* : Map[MClassType, Array[nullable MType]] */;
6966 val
* var70
/* : Map[MClassType, Array[nullable MType]] */;
6967 val
* var_71
/* var : Map[MClassType, Array[nullable MType]] */;
6968 val
* var72
/* : MapIterator[nullable Object, nullable Object] */;
6969 val
* var_73
/* var : MapIterator[MClassType, Array[nullable MType]] */;
6970 short int var74
/* : Bool */;
6971 val
* var76
/* : nullable Object */;
6972 val
* var_t77
/* var t: MClassType */;
6973 val
* var78
/* : nullable Object */;
6974 val
* var_table79
/* var table: Array[nullable MType] */;
6975 long var80
/* : Int */;
6976 long var82
/* : Int */;
6977 long var83
/* : Int */;
6978 short int var85
/* : Bool */;
6981 const char* var_class_name88
;
6982 long var89
/* : Int */;
6983 val
* var_90
/* var : Array[nullable MType] */;
6984 val
* var91
/* : IndexedIterator[nullable Object] */;
6985 val
* var_92
/* var : IndexedIterator[nullable MType] */;
6986 short int var93
/* : Bool */;
6987 val
* var95
/* : nullable Object */;
6988 val
* var_e96
/* var e: nullable MType */;
6989 short int var97
/* : Bool */;
6990 short int var98
/* : Bool */;
6991 short int var100
/* : Bool */;
6992 short int var102
/* : Bool */;
6993 long var103
/* : Int */;
6994 short int var105
/* : Bool */;
6997 const char* var_class_name108
;
6998 long var109
/* : Int */;
6999 val
* var111
/* : Sys */;
7000 val
* var113
/* : NativeArray[String] */;
7001 static val
* varonce112
;
7002 static val
* varonce114
;
7003 val
* var115
/* : String */;
7004 char* var116
/* : NativeString */;
7005 val
* var117
/* : String */;
7006 static val
* varonce118
;
7007 val
* var119
/* : String */;
7008 char* var120
/* : NativeString */;
7009 val
* var121
/* : String */;
7010 val
* var122
/* : String */;
7011 val
* var123
/* : String */;
7012 val
* var124
/* : String */;
7013 val
* var125
/* : Sys */;
7014 static val
* varonce126
;
7015 val
* var127
/* : String */;
7016 char* var128
/* : NativeString */;
7017 val
* var129
/* : String */;
7018 val
* var130
/* : Sys */;
7019 static val
* varonce131
;
7020 val
* var132
/* : String */;
7021 char* var133
/* : NativeString */;
7022 val
* var134
/* : String */;
7023 val
* var135
/* : Map[MClass, Array[nullable MPropDef]] */;
7024 val
* var137
/* : Map[MClass, Array[nullable MPropDef]] */;
7025 val
* var_138
/* var : Map[MClass, Array[nullable MPropDef]] */;
7026 val
* var139
/* : MapIterator[nullable Object, nullable Object] */;
7027 val
* var_140
/* var : MapIterator[MClass, Array[nullable MPropDef]] */;
7028 short int var141
/* : Bool */;
7029 val
* var143
/* : nullable Object */;
7030 val
* var_t144
/* var t: MClass */;
7031 val
* var145
/* : nullable Object */;
7032 val
* var_table146
/* var table: Array[nullable MPropDef] */;
7033 long var147
/* : Int */;
7034 long var149
/* : Int */;
7035 long var150
/* : Int */;
7036 short int var152
/* : Bool */;
7039 const char* var_class_name155
;
7040 long var156
/* : Int */;
7041 val
* var_157
/* var : Array[nullable MPropDef] */;
7042 val
* var158
/* : IndexedIterator[nullable Object] */;
7043 val
* var_159
/* var : IndexedIterator[nullable MPropDef] */;
7044 short int var160
/* : Bool */;
7045 val
* var162
/* : nullable Object */;
7046 val
* var_e163
/* var e: nullable MPropDef */;
7047 short int var164
/* : Bool */;
7048 short int var165
/* : Bool */;
7049 short int var167
/* : Bool */;
7050 short int var169
/* : Bool */;
7051 long var170
/* : Int */;
7052 short int var172
/* : Bool */;
7055 const char* var_class_name175
;
7056 long var176
/* : Int */;
7057 val
* var178
/* : Sys */;
7058 val
* var180
/* : NativeArray[String] */;
7059 static val
* varonce179
;
7060 static val
* varonce181
;
7061 val
* var182
/* : String */;
7062 char* var183
/* : NativeString */;
7063 val
* var184
/* : String */;
7064 static val
* varonce185
;
7065 val
* var186
/* : String */;
7066 char* var187
/* : NativeString */;
7067 val
* var188
/* : String */;
7068 val
* var189
/* : String */;
7069 val
* var190
/* : String */;
7070 val
* var191
/* : String */;
7071 val
* var192
/* : Sys */;
7072 static val
* varonce193
;
7073 val
* var194
/* : String */;
7074 char* var195
/* : NativeString */;
7075 val
* var196
/* : String */;
7076 val
* var197
/* : Sys */;
7077 static val
* varonce198
;
7078 val
* var199
/* : String */;
7079 char* var200
/* : NativeString */;
7080 val
* var201
/* : String */;
7081 val
* var202
/* : Map[MClass, Array[nullable MProperty]] */;
7082 val
* var204
/* : Map[MClass, Array[nullable MProperty]] */;
7083 val
* var_205
/* var : Map[MClass, Array[nullable MProperty]] */;
7084 val
* var206
/* : MapIterator[nullable Object, nullable Object] */;
7085 val
* var_207
/* var : MapIterator[MClass, Array[nullable MProperty]] */;
7086 short int var208
/* : Bool */;
7087 val
* var210
/* : nullable Object */;
7088 val
* var_t211
/* var t: MClass */;
7089 val
* var212
/* : nullable Object */;
7090 val
* var_table213
/* var table: Array[nullable MProperty] */;
7091 long var214
/* : Int */;
7092 long var216
/* : Int */;
7093 long var217
/* : Int */;
7094 short int var219
/* : Bool */;
7097 const char* var_class_name222
;
7098 long var223
/* : Int */;
7099 val
* var_224
/* var : Array[nullable MProperty] */;
7100 val
* var225
/* : IndexedIterator[nullable Object] */;
7101 val
* var_226
/* var : IndexedIterator[nullable MProperty] */;
7102 short int var227
/* : Bool */;
7103 val
* var229
/* : nullable Object */;
7104 val
* var_e230
/* var e: nullable MProperty */;
7105 short int var231
/* : Bool */;
7106 short int var232
/* : Bool */;
7107 short int var234
/* : Bool */;
7108 short int var236
/* : Bool */;
7109 long var237
/* : Int */;
7110 short int var239
/* : Bool */;
7113 const char* var_class_name242
;
7114 long var243
/* : Int */;
7115 val
* var245
/* : Sys */;
7116 val
* var247
/* : NativeArray[String] */;
7117 static val
* varonce246
;
7118 static val
* varonce248
;
7119 val
* var249
/* : String */;
7120 char* var250
/* : NativeString */;
7121 val
* var251
/* : String */;
7122 static val
* varonce252
;
7123 val
* var253
/* : String */;
7124 char* var254
/* : NativeString */;
7125 val
* var255
/* : String */;
7126 val
* var256
/* : String */;
7127 val
* var257
/* : String */;
7128 val
* var258
/* : String */;
7130 if (likely(varonce
!=NULL
)) {
7133 var2
= "# size of subtyping tables";
7134 var3
= core__flat___NativeString___to_s_full(var2
, 26l, 26l);
7139 core__file___Sys___print(var
, var1
); /* Direct call file#Sys#print on <var:Sys>*/
7142 if (likely(varonce5
!=NULL
)) {
7145 var7
= "\ttotal \tholes";
7146 var8
= core__flat___NativeString___to_s_full(var7
, 13l, 13l);
7151 core__file___Sys___print(var4
, var6
); /* Direct call file#Sys#print on <var4:Sys>*/
7156 { /* Inline separate_compiler#SeparateCompiler#type_tables (self) on <self:SeparateCompiler> */
7157 var11
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___type_tables
].val
; /* _type_tables on <self:SeparateCompiler> */
7158 if (unlikely(var11
== NULL
)) {
7159 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_tables");
7160 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 1065);
7164 RET_LABEL10
:(void)0;
7169 var12
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__MapRead__iterator
]))(var_
); /* iterator on <var_:Map[MType, Array[nullable MType]]>*/
7174 var14
= ((short int(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__MapIterator__is_ok
]))(var_13
); /* is_ok on <var_13:MapIterator[MType, Array[nullable MType]]>*/
7181 var15
= ((val
*(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__MapIterator__key
]))(var_13
); /* key on <var_13:MapIterator[MType, Array[nullable MType]]>*/
7185 var16
= ((val
*(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__MapIterator__item
]))(var_13
); /* item on <var_13:MapIterator[MType, Array[nullable MType]]>*/
7189 { /* Inline array#AbstractArrayRead#length (var_table) on <var_table:Array[nullable MType]> */
7190 var19
= var_table
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_table:Array[nullable MType]> */
7192 RET_LABEL18
:(void)0;
7196 { /* Inline kernel#Int#+ (var_total,var17) on <var_total:Int> */
7197 /* Covariant cast for argument 0 (i) <var17:Int> isa OTHER */
7198 /* <var17:Int> isa OTHER */
7199 var22
= 1; /* easy <var17:Int> isa OTHER*/
7200 if (unlikely(!var22
)) {
7201 var_class_name
= type_core__Int
.name
;
7202 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7203 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
7206 var23
= var_total
+ var17
;
7209 RET_LABEL21
:(void)0;
7215 var25
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_24
);
7220 var27
= ((short int(*)(val
* self
))((((long)var_26
&3)?class_info
[((long)var_26
&3)]:var_26
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_26
); /* is_ok on <var_26:IndexedIterator[nullable MType]>*/
7227 var29
= ((val
*(*)(val
* self
))((((long)var_26
&3)?class_info
[((long)var_26
&3)]:var_26
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_26
); /* item on <var_26:IndexedIterator[nullable MType]>*/
7230 if (var_e
== NULL
) {
7231 var30
= 1; /* is null */
7233 var30
= 0; /* arg is null but recv is not */
7236 { /* Inline kernel#Object#== (var_e,((val*)NULL)) on <var_e:nullable MType> */
7237 var_other
= ((val
*)NULL
);
7239 { /* Inline kernel#Object#is_same_instance (var_e,var_other) on <var_e:nullable MType(MType)> */
7240 var35
= var_e
== var_other
;
7243 RET_LABEL34
:(void)0;
7248 RET_LABEL32
:(void)0;
7254 { /* Inline kernel#Int#+ (var_holes,1l) on <var_holes:Int> */
7255 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
7256 /* <1l:Int> isa OTHER */
7257 var38
= 1; /* easy <1l:Int> isa OTHER*/
7258 if (unlikely(!var38
)) {
7259 var_class_name41
= type_core__Int
.name
;
7260 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41
);
7261 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
7264 var42
= var_holes
+ 1l;
7267 RET_LABEL37
:(void)0;
7274 ((void(*)(val
* self
))((((long)var_26
&3)?class_info
[((long)var_26
&3)]:var_26
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_26
); /* next on <var_26:IndexedIterator[nullable MType]>*/
7277 BREAK_label28
: (void)0;
7279 ((void(*)(val
* self
))((((long)var_26
&3)?class_info
[((long)var_26
&3)]:var_26
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_26
); /* finish on <var_26:IndexedIterator[nullable MType]>*/
7282 ((void(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__MapIterator__next
]))(var_13
); /* next on <var_13:MapIterator[MType, Array[nullable MType]]>*/
7285 BREAK_label
: (void)0;
7287 { /* Inline abstract_collection#MapIterator#finish (var_13) on <var_13:MapIterator[MType, Array[nullable MType]]> */
7288 RET_LABEL43
:(void)0;
7292 if (unlikely(varonce45
==NULL
)) {
7293 var46
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
7294 if (likely(varonce47
!=NULL
)) {
7298 var50
= core__flat___NativeString___to_s_full(var49
, 1l, 1l);
7302 ((struct instance_core__NativeArray
*)var46
)->values
[0]=var48
;
7303 if (likely(varonce51
!=NULL
)) {
7307 var54
= core__flat___NativeString___to_s_full(var53
, 1l, 1l);
7311 ((struct instance_core__NativeArray
*)var46
)->values
[2]=var52
;
7316 var55
= core__flat___Int___core__abstract_text__Object__to_s(var_total
);
7317 ((struct instance_core__NativeArray
*)var46
)->values
[1]=var55
;
7318 var56
= core__flat___Int___core__abstract_text__Object__to_s(var_holes
);
7319 ((struct instance_core__NativeArray
*)var46
)->values
[3]=var56
;
7321 var57
= ((val
*(*)(val
* self
))(var46
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var46
); /* native_to_s on <var46:NativeArray[String]>*/
7325 core__file___Sys___print(var44
, var57
); /* Direct call file#Sys#print on <var44:Sys>*/
7328 if (likely(varonce59
!=NULL
)) {
7331 var61
= "# size of resolution tables";
7332 var62
= core__flat___NativeString___to_s_full(var61
, 27l, 27l);
7337 core__file___Sys___print(var58
, var60
); /* Direct call file#Sys#print on <var58:Sys>*/
7340 if (likely(varonce64
!=NULL
)) {
7343 var66
= "\ttotal \tholes";
7344 var67
= core__flat___NativeString___to_s_full(var66
, 13l, 13l);
7349 core__file___Sys___print(var63
, var65
); /* Direct call file#Sys#print on <var63:Sys>*/
7354 { /* Inline separate_compiler#SeparateCompiler#resolution_tables (self) on <self:SeparateCompiler> */
7355 var70
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___resolution_tables
].val
; /* _resolution_tables on <self:SeparateCompiler> */
7356 if (unlikely(var70
== NULL
)) {
7357 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _resolution_tables");
7358 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 1066);
7362 RET_LABEL69
:(void)0;
7367 var72
= ((val
*(*)(val
* self
))((((long)var_71
&3)?class_info
[((long)var_71
&3)]:var_71
->class)->vft
[COLOR_core__abstract_collection__MapRead__iterator
]))(var_71
); /* iterator on <var_71:Map[MClassType, Array[nullable MType]]>*/
7372 var74
= ((short int(*)(val
* self
))((((long)var_73
&3)?class_info
[((long)var_73
&3)]:var_73
->class)->vft
[COLOR_core__abstract_collection__MapIterator__is_ok
]))(var_73
); /* is_ok on <var_73:MapIterator[MClassType, Array[nullable MType]]>*/
7379 var76
= ((val
*(*)(val
* self
))((((long)var_73
&3)?class_info
[((long)var_73
&3)]:var_73
->class)->vft
[COLOR_core__abstract_collection__MapIterator__key
]))(var_73
); /* key on <var_73:MapIterator[MClassType, Array[nullable MType]]>*/
7383 var78
= ((val
*(*)(val
* self
))((((long)var_73
&3)?class_info
[((long)var_73
&3)]:var_73
->class)->vft
[COLOR_core__abstract_collection__MapIterator__item
]))(var_73
); /* item on <var_73:MapIterator[MClassType, Array[nullable MType]]>*/
7385 var_table79
= var78
;
7387 { /* Inline array#AbstractArrayRead#length (var_table79) on <var_table79:Array[nullable MType]> */
7388 var82
= var_table79
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_table79:Array[nullable MType]> */
7390 RET_LABEL81
:(void)0;
7394 { /* Inline kernel#Int#+ (var_total,var80) on <var_total:Int> */
7395 /* Covariant cast for argument 0 (i) <var80:Int> isa OTHER */
7396 /* <var80:Int> isa OTHER */
7397 var85
= 1; /* easy <var80:Int> isa OTHER*/
7398 if (unlikely(!var85
)) {
7399 var_class_name88
= type_core__Int
.name
;
7400 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name88
);
7401 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
7404 var89
= var_total
+ var80
;
7407 RET_LABEL84
:(void)0;
7411 var_90
= var_table79
;
7413 var91
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_90
);
7418 var93
= ((short int(*)(val
* self
))((((long)var_92
&3)?class_info
[((long)var_92
&3)]:var_92
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_92
); /* is_ok on <var_92:IndexedIterator[nullable MType]>*/
7425 var95
= ((val
*(*)(val
* self
))((((long)var_92
&3)?class_info
[((long)var_92
&3)]:var_92
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_92
); /* item on <var_92:IndexedIterator[nullable MType]>*/
7428 if (var_e96
== NULL
) {
7429 var97
= 1; /* is null */
7431 var97
= 0; /* arg is null but recv is not */
7434 { /* Inline kernel#Object#== (var_e96,((val*)NULL)) on <var_e96:nullable MType> */
7435 var_other
= ((val
*)NULL
);
7437 { /* Inline kernel#Object#is_same_instance (var_e96,var_other) on <var_e96:nullable MType(MType)> */
7438 var102
= var_e96
== var_other
;
7441 RET_LABEL101
:(void)0;
7446 RET_LABEL99
:(void)0;
7452 { /* Inline kernel#Int#+ (var_holes,1l) on <var_holes:Int> */
7453 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
7454 /* <1l:Int> isa OTHER */
7455 var105
= 1; /* easy <1l:Int> isa OTHER*/
7456 if (unlikely(!var105
)) {
7457 var_class_name108
= type_core__Int
.name
;
7458 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name108
);
7459 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
7462 var109
= var_holes
+ 1l;
7465 RET_LABEL104
:(void)0;
7472 ((void(*)(val
* self
))((((long)var_92
&3)?class_info
[((long)var_92
&3)]:var_92
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_92
); /* next on <var_92:IndexedIterator[nullable MType]>*/
7475 BREAK_label94
: (void)0;
7477 ((void(*)(val
* self
))((((long)var_92
&3)?class_info
[((long)var_92
&3)]:var_92
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_92
); /* finish on <var_92:IndexedIterator[nullable MType]>*/
7480 ((void(*)(val
* self
))((((long)var_73
&3)?class_info
[((long)var_73
&3)]:var_73
->class)->vft
[COLOR_core__abstract_collection__MapIterator__next
]))(var_73
); /* next on <var_73:MapIterator[MClassType, Array[nullable MType]]>*/
7483 BREAK_label75
: (void)0;
7485 { /* Inline abstract_collection#MapIterator#finish (var_73) on <var_73:MapIterator[MClassType, Array[nullable MType]]> */
7486 RET_LABEL110
:(void)0;
7490 if (unlikely(varonce112
==NULL
)) {
7491 var113
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
7492 if (likely(varonce114
!=NULL
)) {
7493 var115
= varonce114
;
7496 var117
= core__flat___NativeString___to_s_full(var116
, 1l, 1l);
7498 varonce114
= var115
;
7500 ((struct instance_core__NativeArray
*)var113
)->values
[0]=var115
;
7501 if (likely(varonce118
!=NULL
)) {
7502 var119
= varonce118
;
7505 var121
= core__flat___NativeString___to_s_full(var120
, 1l, 1l);
7507 varonce118
= var119
;
7509 ((struct instance_core__NativeArray
*)var113
)->values
[2]=var119
;
7511 var113
= varonce112
;
7514 var122
= core__flat___Int___core__abstract_text__Object__to_s(var_total
);
7515 ((struct instance_core__NativeArray
*)var113
)->values
[1]=var122
;
7516 var123
= core__flat___Int___core__abstract_text__Object__to_s(var_holes
);
7517 ((struct instance_core__NativeArray
*)var113
)->values
[3]=var123
;
7519 var124
= ((val
*(*)(val
* self
))(var113
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var113
); /* native_to_s on <var113:NativeArray[String]>*/
7521 varonce112
= var113
;
7523 core__file___Sys___print(var111
, var124
); /* Direct call file#Sys#print on <var111:Sys>*/
7526 if (likely(varonce126
!=NULL
)) {
7527 var127
= varonce126
;
7529 var128
= "# size of methods tables";
7530 var129
= core__flat___NativeString___to_s_full(var128
, 24l, 24l);
7532 varonce126
= var127
;
7535 core__file___Sys___print(var125
, var127
); /* Direct call file#Sys#print on <var125:Sys>*/
7538 if (likely(varonce131
!=NULL
)) {
7539 var132
= varonce131
;
7541 var133
= "\ttotal \tholes";
7542 var134
= core__flat___NativeString___to_s_full(var133
, 13l, 13l);
7544 varonce131
= var132
;
7547 core__file___Sys___print(var130
, var132
); /* Direct call file#Sys#print on <var130:Sys>*/
7552 { /* Inline separate_compiler#SeparateCompiler#method_tables (self) on <self:SeparateCompiler> */
7553 var137
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___method_tables
].val
; /* _method_tables on <self:SeparateCompiler> */
7554 if (unlikely(var137
== NULL
)) {
7555 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _method_tables");
7556 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 1067);
7560 RET_LABEL136
:(void)0;
7565 var139
= ((val
*(*)(val
* self
))((((long)var_138
&3)?class_info
[((long)var_138
&3)]:var_138
->class)->vft
[COLOR_core__abstract_collection__MapRead__iterator
]))(var_138
); /* iterator on <var_138:Map[MClass, Array[nullable MPropDef]]>*/
7570 var141
= ((short int(*)(val
* self
))((((long)var_140
&3)?class_info
[((long)var_140
&3)]:var_140
->class)->vft
[COLOR_core__abstract_collection__MapIterator__is_ok
]))(var_140
); /* is_ok on <var_140:MapIterator[MClass, Array[nullable MPropDef]]>*/
7574 goto BREAK_label142
;
7577 var143
= ((val
*(*)(val
* self
))((((long)var_140
&3)?class_info
[((long)var_140
&3)]:var_140
->class)->vft
[COLOR_core__abstract_collection__MapIterator__key
]))(var_140
); /* key on <var_140:MapIterator[MClass, Array[nullable MPropDef]]>*/
7581 var145
= ((val
*(*)(val
* self
))((((long)var_140
&3)?class_info
[((long)var_140
&3)]:var_140
->class)->vft
[COLOR_core__abstract_collection__MapIterator__item
]))(var_140
); /* item on <var_140:MapIterator[MClass, Array[nullable MPropDef]]>*/
7583 var_table146
= var145
;
7585 { /* Inline array#AbstractArrayRead#length (var_table146) on <var_table146:Array[nullable MPropDef]> */
7586 var149
= var_table146
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_table146:Array[nullable MPropDef]> */
7588 RET_LABEL148
:(void)0;
7592 { /* Inline kernel#Int#+ (var_total,var147) on <var_total:Int> */
7593 /* Covariant cast for argument 0 (i) <var147:Int> isa OTHER */
7594 /* <var147:Int> isa OTHER */
7595 var152
= 1; /* easy <var147:Int> isa OTHER*/
7596 if (unlikely(!var152
)) {
7597 var_class_name155
= type_core__Int
.name
;
7598 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name155
);
7599 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
7602 var156
= var_total
+ var147
;
7605 RET_LABEL151
:(void)0;
7609 var_157
= var_table146
;
7611 var158
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_157
);
7616 var160
= ((short int(*)(val
* self
))((((long)var_159
&3)?class_info
[((long)var_159
&3)]:var_159
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_159
); /* is_ok on <var_159:IndexedIterator[nullable MPropDef]>*/
7620 goto BREAK_label161
;
7623 var162
= ((val
*(*)(val
* self
))((((long)var_159
&3)?class_info
[((long)var_159
&3)]:var_159
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_159
); /* item on <var_159:IndexedIterator[nullable MPropDef]>*/
7626 if (var_e163
== NULL
) {
7627 var164
= 1; /* is null */
7629 var164
= 0; /* arg is null but recv is not */
7632 { /* Inline kernel#Object#== (var_e163,((val*)NULL)) on <var_e163:nullable MPropDef> */
7633 var_other
= ((val
*)NULL
);
7635 { /* Inline kernel#Object#is_same_instance (var_e163,var_other) on <var_e163:nullable MPropDef(MPropDef)> */
7636 var169
= var_e163
== var_other
;
7639 RET_LABEL168
:(void)0;
7644 RET_LABEL166
:(void)0;
7650 { /* Inline kernel#Int#+ (var_holes,1l) on <var_holes:Int> */
7651 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
7652 /* <1l:Int> isa OTHER */
7653 var172
= 1; /* easy <1l:Int> isa OTHER*/
7654 if (unlikely(!var172
)) {
7655 var_class_name175
= type_core__Int
.name
;
7656 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name175
);
7657 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
7660 var176
= var_holes
+ 1l;
7663 RET_LABEL171
:(void)0;
7670 ((void(*)(val
* self
))((((long)var_159
&3)?class_info
[((long)var_159
&3)]:var_159
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_159
); /* next on <var_159:IndexedIterator[nullable MPropDef]>*/
7673 BREAK_label161
: (void)0;
7675 ((void(*)(val
* self
))((((long)var_159
&3)?class_info
[((long)var_159
&3)]:var_159
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_159
); /* finish on <var_159:IndexedIterator[nullable MPropDef]>*/
7678 ((void(*)(val
* self
))((((long)var_140
&3)?class_info
[((long)var_140
&3)]:var_140
->class)->vft
[COLOR_core__abstract_collection__MapIterator__next
]))(var_140
); /* next on <var_140:MapIterator[MClass, Array[nullable MPropDef]]>*/
7681 BREAK_label142
: (void)0;
7683 { /* Inline abstract_collection#MapIterator#finish (var_140) on <var_140:MapIterator[MClass, Array[nullable MPropDef]]> */
7684 RET_LABEL177
:(void)0;
7688 if (unlikely(varonce179
==NULL
)) {
7689 var180
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
7690 if (likely(varonce181
!=NULL
)) {
7691 var182
= varonce181
;
7694 var184
= core__flat___NativeString___to_s_full(var183
, 1l, 1l);
7696 varonce181
= var182
;
7698 ((struct instance_core__NativeArray
*)var180
)->values
[0]=var182
;
7699 if (likely(varonce185
!=NULL
)) {
7700 var186
= varonce185
;
7703 var188
= core__flat___NativeString___to_s_full(var187
, 1l, 1l);
7705 varonce185
= var186
;
7707 ((struct instance_core__NativeArray
*)var180
)->values
[2]=var186
;
7709 var180
= varonce179
;
7712 var189
= core__flat___Int___core__abstract_text__Object__to_s(var_total
);
7713 ((struct instance_core__NativeArray
*)var180
)->values
[1]=var189
;
7714 var190
= core__flat___Int___core__abstract_text__Object__to_s(var_holes
);
7715 ((struct instance_core__NativeArray
*)var180
)->values
[3]=var190
;
7717 var191
= ((val
*(*)(val
* self
))(var180
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var180
); /* native_to_s on <var180:NativeArray[String]>*/
7719 varonce179
= var180
;
7721 core__file___Sys___print(var178
, var191
); /* Direct call file#Sys#print on <var178:Sys>*/
7724 if (likely(varonce193
!=NULL
)) {
7725 var194
= varonce193
;
7727 var195
= "# size of attributes tables";
7728 var196
= core__flat___NativeString___to_s_full(var195
, 27l, 27l);
7730 varonce193
= var194
;
7733 core__file___Sys___print(var192
, var194
); /* Direct call file#Sys#print on <var192:Sys>*/
7736 if (likely(varonce198
!=NULL
)) {
7737 var199
= varonce198
;
7739 var200
= "\ttotal \tholes";
7740 var201
= core__flat___NativeString___to_s_full(var200
, 13l, 13l);
7742 varonce198
= var199
;
7745 core__file___Sys___print(var197
, var199
); /* Direct call file#Sys#print on <var197:Sys>*/
7750 { /* Inline separate_compiler#SeparateCompiler#attr_tables (self) on <self:SeparateCompiler> */
7751 var204
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___attr_tables
].val
; /* _attr_tables on <self:SeparateCompiler> */
7752 if (unlikely(var204
== NULL
)) {
7753 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _attr_tables");
7754 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 1068);
7758 RET_LABEL203
:(void)0;
7763 var206
= ((val
*(*)(val
* self
))((((long)var_205
&3)?class_info
[((long)var_205
&3)]:var_205
->class)->vft
[COLOR_core__abstract_collection__MapRead__iterator
]))(var_205
); /* iterator on <var_205:Map[MClass, Array[nullable MProperty]]>*/
7768 var208
= ((short int(*)(val
* self
))((((long)var_207
&3)?class_info
[((long)var_207
&3)]:var_207
->class)->vft
[COLOR_core__abstract_collection__MapIterator__is_ok
]))(var_207
); /* is_ok on <var_207:MapIterator[MClass, Array[nullable MProperty]]>*/
7772 goto BREAK_label209
;
7775 var210
= ((val
*(*)(val
* self
))((((long)var_207
&3)?class_info
[((long)var_207
&3)]:var_207
->class)->vft
[COLOR_core__abstract_collection__MapIterator__key
]))(var_207
); /* key on <var_207:MapIterator[MClass, Array[nullable MProperty]]>*/
7779 var212
= ((val
*(*)(val
* self
))((((long)var_207
&3)?class_info
[((long)var_207
&3)]:var_207
->class)->vft
[COLOR_core__abstract_collection__MapIterator__item
]))(var_207
); /* item on <var_207:MapIterator[MClass, Array[nullable MProperty]]>*/
7781 var_table213
= var212
;
7783 { /* Inline array#AbstractArrayRead#length (var_table213) on <var_table213:Array[nullable MProperty]> */
7784 var216
= var_table213
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_table213:Array[nullable MProperty]> */
7786 RET_LABEL215
:(void)0;
7790 { /* Inline kernel#Int#+ (var_total,var214) on <var_total:Int> */
7791 /* Covariant cast for argument 0 (i) <var214:Int> isa OTHER */
7792 /* <var214:Int> isa OTHER */
7793 var219
= 1; /* easy <var214:Int> isa OTHER*/
7794 if (unlikely(!var219
)) {
7795 var_class_name222
= type_core__Int
.name
;
7796 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name222
);
7797 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
7800 var223
= var_total
+ var214
;
7803 RET_LABEL218
:(void)0;
7807 var_224
= var_table213
;
7809 var225
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_224
);
7814 var227
= ((short int(*)(val
* self
))((((long)var_226
&3)?class_info
[((long)var_226
&3)]:var_226
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_226
); /* is_ok on <var_226:IndexedIterator[nullable MProperty]>*/
7818 goto BREAK_label228
;
7821 var229
= ((val
*(*)(val
* self
))((((long)var_226
&3)?class_info
[((long)var_226
&3)]:var_226
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_226
); /* item on <var_226:IndexedIterator[nullable MProperty]>*/
7824 if (var_e230
== NULL
) {
7825 var231
= 1; /* is null */
7827 var231
= 0; /* arg is null but recv is not */
7830 { /* Inline kernel#Object#== (var_e230,((val*)NULL)) on <var_e230:nullable MProperty> */
7831 var_other
= ((val
*)NULL
);
7833 { /* Inline kernel#Object#is_same_instance (var_e230,var_other) on <var_e230:nullable MProperty(MProperty)> */
7834 var236
= var_e230
== var_other
;
7837 RET_LABEL235
:(void)0;
7842 RET_LABEL233
:(void)0;
7848 { /* Inline kernel#Int#+ (var_holes,1l) on <var_holes:Int> */
7849 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
7850 /* <1l:Int> isa OTHER */
7851 var239
= 1; /* easy <1l:Int> isa OTHER*/
7852 if (unlikely(!var239
)) {
7853 var_class_name242
= type_core__Int
.name
;
7854 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name242
);
7855 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
7858 var243
= var_holes
+ 1l;
7861 RET_LABEL238
:(void)0;
7868 ((void(*)(val
* self
))((((long)var_226
&3)?class_info
[((long)var_226
&3)]:var_226
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_226
); /* next on <var_226:IndexedIterator[nullable MProperty]>*/
7871 BREAK_label228
: (void)0;
7873 ((void(*)(val
* self
))((((long)var_226
&3)?class_info
[((long)var_226
&3)]:var_226
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_226
); /* finish on <var_226:IndexedIterator[nullable MProperty]>*/
7876 ((void(*)(val
* self
))((((long)var_207
&3)?class_info
[((long)var_207
&3)]:var_207
->class)->vft
[COLOR_core__abstract_collection__MapIterator__next
]))(var_207
); /* next on <var_207:MapIterator[MClass, Array[nullable MProperty]]>*/
7879 BREAK_label209
: (void)0;
7881 { /* Inline abstract_collection#MapIterator#finish (var_207) on <var_207:MapIterator[MClass, Array[nullable MProperty]]> */
7882 RET_LABEL244
:(void)0;
7886 if (unlikely(varonce246
==NULL
)) {
7887 var247
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
7888 if (likely(varonce248
!=NULL
)) {
7889 var249
= varonce248
;
7892 var251
= core__flat___NativeString___to_s_full(var250
, 1l, 1l);
7894 varonce248
= var249
;
7896 ((struct instance_core__NativeArray
*)var247
)->values
[0]=var249
;
7897 if (likely(varonce252
!=NULL
)) {
7898 var253
= varonce252
;
7901 var255
= core__flat___NativeString___to_s_full(var254
, 1l, 1l);
7903 varonce252
= var253
;
7905 ((struct instance_core__NativeArray
*)var247
)->values
[2]=var253
;
7907 var247
= varonce246
;
7910 var256
= core__flat___Int___core__abstract_text__Object__to_s(var_total
);
7911 ((struct instance_core__NativeArray
*)var247
)->values
[1]=var256
;
7912 var257
= core__flat___Int___core__abstract_text__Object__to_s(var_holes
);
7913 ((struct instance_core__NativeArray
*)var247
)->values
[3]=var257
;
7915 var258
= ((val
*(*)(val
* self
))(var247
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var247
); /* native_to_s on <var247:NativeArray[String]>*/
7917 varonce246
= var247
;
7919 core__file___Sys___print(var245
, var258
); /* Direct call file#Sys#print on <var245:Sys>*/
7923 /* method separate_compiler#SeparateCompiler#isset_checks_count for (self: SeparateCompiler): Int */
7924 long nitc___nitc__SeparateCompiler___isset_checks_count(val
* self
) {
7925 long var
/* : Int */;
7926 long var1
/* : Int */;
7927 var1
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___isset_checks_count
].l
; /* _isset_checks_count on <self:SeparateCompiler> */
7932 /* method separate_compiler#SeparateCompiler#isset_checks_count= for (self: SeparateCompiler, Int) */
7933 void nitc___nitc__SeparateCompiler___isset_checks_count_61d(val
* self
, long p0
) {
7934 self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___isset_checks_count
].l
= p0
; /* _isset_checks_count on <self:SeparateCompiler> */
7937 /* method separate_compiler#SeparateCompiler#attr_read_count for (self: SeparateCompiler): Int */
7938 long nitc___nitc__SeparateCompiler___attr_read_count(val
* self
) {
7939 long var
/* : Int */;
7940 long var1
/* : Int */;
7941 var1
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___attr_read_count
].l
; /* _attr_read_count on <self:SeparateCompiler> */
7946 /* method separate_compiler#SeparateCompiler#attr_read_count= for (self: SeparateCompiler, Int) */
7947 void nitc___nitc__SeparateCompiler___attr_read_count_61d(val
* self
, long p0
) {
7948 self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___attr_read_count
].l
= p0
; /* _attr_read_count on <self:SeparateCompiler> */
7951 /* method separate_compiler#SeparateCompiler#display_isset_checks for (self: SeparateCompiler) */
7952 void nitc___nitc__SeparateCompiler___display_isset_checks(val
* self
) {
7953 val
* var
/* : Sys */;
7954 static val
* varonce
;
7955 val
* var1
/* : String */;
7956 char* var2
/* : NativeString */;
7957 val
* var3
/* : String */;
7958 val
* var4
/* : Sys */;
7959 val
* var6
/* : NativeArray[String] */;
7960 static val
* varonce5
;
7961 static val
* varonce7
;
7962 val
* var8
/* : String */;
7963 char* var9
/* : NativeString */;
7964 val
* var10
/* : String */;
7965 long var11
/* : Int */;
7966 long var13
/* : Int */;
7967 val
* var14
/* : String */;
7968 val
* var15
/* : String */;
7969 val
* var16
/* : Sys */;
7970 static val
* varonce17
;
7971 val
* var18
/* : String */;
7972 char* var19
/* : NativeString */;
7973 val
* var20
/* : String */;
7974 val
* var21
/* : Sys */;
7975 val
* var23
/* : NativeArray[String] */;
7976 static val
* varonce22
;
7977 static val
* varonce24
;
7978 val
* var25
/* : String */;
7979 char* var26
/* : NativeString */;
7980 val
* var27
/* : String */;
7981 long var28
/* : Int */;
7982 long var30
/* : Int */;
7983 val
* var31
/* : String */;
7984 val
* var32
/* : String */;
7986 if (likely(varonce
!=NULL
)) {
7989 var2
= "# total number of compiled attribute reads";
7990 var3
= core__flat___NativeString___to_s_full(var2
, 42l, 42l);
7995 core__file___Sys___print(var
, var1
); /* Direct call file#Sys#print on <var:Sys>*/
7998 if (unlikely(varonce5
==NULL
)) {
7999 var6
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
8000 if (likely(varonce7
!=NULL
)) {
8004 var10
= core__flat___NativeString___to_s_full(var9
, 1l, 1l);
8008 ((struct instance_core__NativeArray
*)var6
)->values
[0]=var8
;
8014 { /* Inline separate_compiler#SeparateCompiler#attr_read_count (self) on <self:SeparateCompiler> */
8015 var13
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___attr_read_count
].l
; /* _attr_read_count on <self:SeparateCompiler> */
8017 RET_LABEL12
:(void)0;
8020 var14
= core__flat___Int___core__abstract_text__Object__to_s(var11
);
8021 ((struct instance_core__NativeArray
*)var6
)->values
[1]=var14
;
8023 var15
= ((val
*(*)(val
* self
))(var6
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var6
); /* native_to_s on <var6:NativeArray[String]>*/
8027 core__file___Sys___print(var4
, var15
); /* Direct call file#Sys#print on <var4:Sys>*/
8030 if (likely(varonce17
!=NULL
)) {
8033 var19
= "# total number of compiled isset-checks";
8034 var20
= core__flat___NativeString___to_s_full(var19
, 39l, 39l);
8039 core__file___Sys___print(var16
, var18
); /* Direct call file#Sys#print on <var16:Sys>*/
8042 if (unlikely(varonce22
==NULL
)) {
8043 var23
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
8044 if (likely(varonce24
!=NULL
)) {
8048 var27
= core__flat___NativeString___to_s_full(var26
, 1l, 1l);
8052 ((struct instance_core__NativeArray
*)var23
)->values
[0]=var25
;
8058 { /* Inline separate_compiler#SeparateCompiler#isset_checks_count (self) on <self:SeparateCompiler> */
8059 var30
= self
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___isset_checks_count
].l
; /* _isset_checks_count on <self:SeparateCompiler> */
8061 RET_LABEL29
:(void)0;
8064 var31
= core__flat___Int___core__abstract_text__Object__to_s(var28
);
8065 ((struct instance_core__NativeArray
*)var23
)->values
[1]=var31
;
8067 var32
= ((val
*(*)(val
* self
))(var23
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var23
); /* native_to_s on <var23:NativeArray[String]>*/
8071 core__file___Sys___print(var21
, var32
); /* Direct call file#Sys#print on <var21:Sys>*/
8075 /* method separate_compiler#SeparateCompiler#compile_nitni_structs for (self: SeparateCompiler) */
8076 void nitc___nitc__SeparateCompiler___nitc__abstract_compiler__AbstractCompiler__compile_nitni_structs(val
* self
) {
8077 val
* var
/* : CodeWriter */;
8078 val
* var2
/* : CodeWriter */;
8079 static val
* varonce
;
8080 val
* var3
/* : String */;
8081 char* var4
/* : NativeString */;
8082 val
* var5
/* : String */;
8084 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
8085 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
8086 if (unlikely(var2
== NULL
)) {
8087 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8088 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8095 if (likely(varonce
!=NULL
)) {
8098 var4
= "struct nitni_instance {\n\tstruct nitni_instance *next,\n\t\t*prev; /* adjacent global references in global list */\n\tint count; /* number of time this global reference has been marked */\n\tstruct instance *value;\n};\n";
8099 var5
= core__flat___NativeString___to_s_full(var4
, 210l, 210l);
8104 nitc___nitc__CodeWriter___add_decl(var
, var3
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var:CodeWriter>*/
8107 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc___nitc__SeparateCompiler___nitc__abstract_compiler__AbstractCompiler__compile_nitni_structs
]))(self
); /* compile_nitni_structs on <self:SeparateCompiler>*/
8111 /* method separate_compiler#SeparateCompiler#finalize_ffi_for_module for (self: SeparateCompiler, MModule) */
8112 void nitc___nitc__SeparateCompiler___nitc__abstract_compiler__AbstractCompiler__finalize_ffi_for_module(val
* self
, val
* p0
) {
8113 val
* var_mmodule
/* var mmodule: MModule */;
8114 val
* var
/* : MModule */;
8115 val
* var2
/* : MModule */;
8116 val
* var_old_module
/* var old_module: MModule */;
8119 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
8120 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
8121 if (unlikely(var2
== NULL
)) {
8122 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
8123 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 531);
8130 var_old_module
= var
;
8132 { /* Inline abstract_compiler#AbstractCompiler#mainmodule= (self,var_mmodule) on <self:SeparateCompiler> */
8133 self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
= var_mmodule
; /* _mainmodule on <self:SeparateCompiler> */
8138 ((void(*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nitc___nitc__SeparateCompiler___nitc__abstract_compiler__AbstractCompiler__finalize_ffi_for_module
]))(self
, p0
); /* finalize_ffi_for_module on <self:SeparateCompiler>*/
8141 { /* Inline abstract_compiler#AbstractCompiler#mainmodule= (self,var_old_module) on <self:SeparateCompiler> */
8142 self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
= var_old_module
; /* _mainmodule on <self:SeparateCompiler> */
8148 /* method separate_compiler#SeparateCompilerVisitor#adapt_signature for (self: SeparateCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
8149 void nitc___nitc__SeparateCompilerVisitor___nitc__abstract_compiler__AbstractCompilerVisitor__adapt_signature(val
* self
, val
* p0
, val
* p1
) {
8150 val
* var_m
/* var m: MMethodDef */;
8151 val
* var_args
/* var args: Array[RuntimeVariable] */;
8152 val
* var
/* : nullable MSignature */;
8153 val
* var2
/* : nullable MSignature */;
8154 val
* var3
/* : MClassDef */;
8155 val
* var5
/* : MClassDef */;
8156 val
* var6
/* : MClassType */;
8157 val
* var8
/* : MClassType */;
8158 val
* var9
/* : MClassDef */;
8159 val
* var11
/* : MClassDef */;
8160 val
* var12
/* : MClassType */;
8161 val
* var14
/* : MClassType */;
8162 val
* var15
/* : MClassDef */;
8163 val
* var17
/* : MClassDef */;
8164 val
* var18
/* : MModule */;
8165 val
* var20
/* : MModule */;
8166 val
* var21
/* : MSignature */;
8167 val
* var_msignature
/* var msignature: MSignature */;
8168 val
* var22
/* : nullable Object */;
8169 val
* var_recv
/* var recv: RuntimeVariable */;
8170 val
* var23
/* : MType */;
8171 val
* var25
/* : MType */;
8172 val
* var26
/* : String */;
8173 val
* var27
/* : MClassDef */;
8174 val
* var29
/* : MClassDef */;
8175 val
* var30
/* : MClass */;
8176 val
* var32
/* : MClass */;
8177 val
* var33
/* : MClassType */;
8178 val
* var35
/* : MClassType */;
8179 val
* var36
/* : String */;
8180 short int var37
/* : Bool */;
8181 val
* var_other
/* var other: nullable Object */;
8182 short int var39
/* : Bool */;
8183 short int var40
/* : Bool */;
8184 val
* var41
/* : nullable Object */;
8185 val
* var42
/* : MClassDef */;
8186 val
* var44
/* : MClassDef */;
8187 val
* var45
/* : MClass */;
8188 val
* var47
/* : MClass */;
8189 val
* var48
/* : MClassType */;
8190 val
* var50
/* : MClassType */;
8191 val
* var51
/* : RuntimeVariable */;
8192 long var_i
/* var i: Int */;
8193 long var52
/* : Int */;
8194 long var_
/* var : Int */;
8195 short int var53
/* : Bool */;
8196 short int var55
/* : Bool */;
8199 const char* var_class_name
;
8200 short int var56
/* : Bool */;
8201 val
* var57
/* : Array[MParameter] */;
8202 val
* var59
/* : Array[MParameter] */;
8203 val
* var60
/* : nullable Object */;
8204 val
* var_mp
/* var mp: MParameter */;
8205 val
* var61
/* : MType */;
8206 val
* var63
/* : MType */;
8207 val
* var_t
/* var t: MType */;
8208 short int var64
/* : Bool */;
8209 short int var66
/* : Bool */;
8210 long var67
/* : Int */;
8211 short int var69
/* : Bool */;
8214 const char* var_class_name72
;
8215 long var73
/* : Int */;
8216 val
* var74
/* : nullable Object */;
8217 val
* var75
/* : MType */;
8218 val
* var77
/* : MType */;
8219 long var78
/* : Int */;
8220 short int var80
/* : Bool */;
8223 const char* var_class_name83
;
8224 long var84
/* : Int */;
8225 long var85
/* : Int */;
8226 short int var87
/* : Bool */;
8229 const char* var_class_name90
;
8230 long var91
/* : Int */;
8231 val
* var92
/* : nullable Object */;
8232 val
* var93
/* : RuntimeVariable */;
8233 long var94
/* : Int */;
8237 { /* Inline model#MMethodDef#msignature (var_m) on <var_m:MMethodDef> */
8238 var2
= var_m
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var_m:MMethodDef> */
8244 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
8245 var5
= var_m
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
8246 if (unlikely(var5
== NULL
)) {
8247 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
8248 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
8256 { /* Inline model#MClassDef#bound_mtype (var3) on <var3:MClassDef> */
8257 var8
= var3
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var3:MClassDef> */
8258 if (unlikely(var8
== NULL
)) {
8259 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
8260 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 579);
8268 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
8269 var11
= var_m
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
8270 if (unlikely(var11
== NULL
)) {
8271 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
8272 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
8276 RET_LABEL10
:(void)0;
8280 { /* Inline model#MClassDef#bound_mtype (var9) on <var9:MClassDef> */
8281 var14
= var9
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var9:MClassDef> */
8282 if (unlikely(var14
== NULL
)) {
8283 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
8284 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 579);
8288 RET_LABEL13
:(void)0;
8292 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
8293 var17
= var_m
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
8294 if (unlikely(var17
== NULL
)) {
8295 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
8296 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
8300 RET_LABEL16
:(void)0;
8304 { /* Inline model#MClassDef#mmodule (var15) on <var15:MClassDef> */
8305 var20
= var15
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <var15:MClassDef> */
8306 if (unlikely(var20
== NULL
)) {
8307 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
8308 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
8312 RET_LABEL19
:(void)0;
8316 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8317 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 1171);
8320 var21
= nitc___nitc__MSignature___MType__resolve_for(var
, var6
, var12
, var18
, 1);
8322 var_msignature
= var21
;
8324 var22
= core___core__SequenceRead___Collection__first(var_args
);
8328 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_recv) on <var_recv:RuntimeVariable> */
8329 var25
= var_recv
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_recv:RuntimeVariable> */
8330 if (unlikely(var25
== NULL
)) {
8331 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8332 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1870);
8336 RET_LABEL24
:(void)0;
8340 var26
= ((val
*(*)(val
* self
))(var23
->class->vft
[COLOR_nitc__abstract_compiler__MType__ctype
]))(var23
); /* ctype on <var23:MType>*/
8343 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
8344 var29
= var_m
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
8345 if (unlikely(var29
== NULL
)) {
8346 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
8347 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
8351 RET_LABEL28
:(void)0;
8355 { /* Inline model#MClassDef#mclass (var27) on <var27:MClassDef> */
8356 var32
= var27
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <var27:MClassDef> */
8357 if (unlikely(var32
== NULL
)) {
8358 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8359 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
8363 RET_LABEL31
:(void)0;
8367 { /* Inline model#MClass#mclass_type (var30) on <var30:MClass> */
8368 var35
= var30
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var30:MClass> */
8369 if (unlikely(var35
== NULL
)) {
8370 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
8371 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 507);
8375 RET_LABEL34
:(void)0;
8379 var36
= nitc__abstract_compiler___MClassType___MType__ctype(var33
);
8382 { /* Inline kernel#Object#!= (var26,var36) on <var26:String> */
8385 var39
= ((short int(*)(val
* self
, val
* p0
))(var26
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var26
, var_other
); /* == on <var26:String>*/
8390 RET_LABEL38
:(void)0;
8395 var41
= core___core__SequenceRead___Collection__first(var_args
);
8398 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
8399 var44
= var_m
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
8400 if (unlikely(var44
== NULL
)) {
8401 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
8402 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
8406 RET_LABEL43
:(void)0;
8410 { /* Inline model#MClassDef#mclass (var42) on <var42:MClassDef> */
8411 var47
= var42
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <var42:MClassDef> */
8412 if (unlikely(var47
== NULL
)) {
8413 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8414 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
8418 RET_LABEL46
:(void)0;
8422 { /* Inline model#MClass#mclass_type (var45) on <var45:MClass> */
8423 var50
= var45
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var45:MClass> */
8424 if (unlikely(var50
== NULL
)) {
8425 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
8426 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 507);
8430 RET_LABEL49
:(void)0;
8434 var51
= nitc___nitc__SeparateCompilerVisitor___nitc__abstract_compiler__AbstractCompilerVisitor__autobox(self
, var41
, var48
);
8437 core___core__Sequence___first_61d(var_args
, var51
); /* Direct call abstract_collection#Sequence#first= on <var_args:Array[RuntimeVariable]>*/
8443 var52
= nitc___nitc__MSignature___arity(var_msignature
);
8448 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
8449 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
8450 /* <var_:Int> isa OTHER */
8451 var55
= 1; /* easy <var_:Int> isa OTHER*/
8452 if (unlikely(!var55
)) {
8453 var_class_name
= type_core__Int
.name
;
8454 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
8455 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
8458 var56
= var_i
< var_
;
8461 RET_LABEL54
:(void)0;
8469 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:MSignature> */
8470 var59
= var_msignature
->attrs
[COLOR_nitc__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
8471 if (unlikely(var59
== NULL
)) {
8472 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
8473 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1783);
8477 RET_LABEL58
:(void)0;
8481 var60
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var57
, var_i
);
8485 { /* Inline model#MParameter#mtype (var_mp) on <var_mp:MParameter> */
8486 var63
= var_mp
->attrs
[COLOR_nitc__model__MParameter___mtype
].val
; /* _mtype on <var_mp:MParameter> */
8487 if (unlikely(var63
== NULL
)) {
8488 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8489 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1900);
8493 RET_LABEL62
:(void)0;
8498 { /* Inline model#MParameter#is_vararg (var_mp) on <var_mp:MParameter> */
8499 var66
= var_mp
->attrs
[COLOR_nitc__model__MParameter___is_vararg
].s
; /* _is_vararg on <var_mp:MParameter> */
8501 RET_LABEL65
:(void)0;
8506 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
8507 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
8508 /* <1l:Int> isa OTHER */
8509 var69
= 1; /* easy <1l:Int> isa OTHER*/
8510 if (unlikely(!var69
)) {
8511 var_class_name72
= type_core__Int
.name
;
8512 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name72
);
8513 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
8519 RET_LABEL68
:(void)0;
8523 var74
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_args
, var67
);
8526 { /* Inline abstract_compiler#RuntimeVariable#mtype (var74) on <var74:nullable Object(RuntimeVariable)> */
8527 var77
= var74
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var74:nullable Object(RuntimeVariable)> */
8528 if (unlikely(var77
== NULL
)) {
8529 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8530 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1870);
8534 RET_LABEL76
:(void)0;
8541 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
8542 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
8543 /* <1l:Int> isa OTHER */
8544 var80
= 1; /* easy <1l:Int> isa OTHER*/
8545 if (unlikely(!var80
)) {
8546 var_class_name83
= type_core__Int
.name
;
8547 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name83
);
8548 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
8554 RET_LABEL79
:(void)0;
8558 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
8559 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
8560 /* <1l:Int> isa OTHER */
8561 var87
= 1; /* easy <1l:Int> isa OTHER*/
8562 if (unlikely(!var87
)) {
8563 var_class_name90
= type_core__Int
.name
;
8564 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name90
);
8565 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
8571 RET_LABEL86
:(void)0;
8575 var92
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_args
, var85
);
8578 var93
= nitc___nitc__SeparateCompilerVisitor___nitc__abstract_compiler__AbstractCompilerVisitor__autobox(self
, var92
, var_t
);
8581 core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_args
, var78
, var93
); /* Direct call array#Array#[]= on <var_args:Array[RuntimeVariable]>*/
8584 var94
= core___core__Int___Discrete__successor(var_i
, 1l);
8588 BREAK_label
: (void)0;
8591 /* method separate_compiler#SeparateCompilerVisitor#unbox_signature_extern for (self: SeparateCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
8592 void nitc___nitc__SeparateCompilerVisitor___nitc__abstract_compiler__AbstractCompilerVisitor__unbox_signature_extern(val
* self
, val
* p0
, val
* p1
) {
8593 val
* var_m
/* var m: MMethodDef */;
8594 val
* var_args
/* var args: Array[RuntimeVariable] */;
8595 val
* var
/* : nullable MSignature */;
8596 val
* var2
/* : nullable MSignature */;
8597 val
* var3
/* : MClassDef */;
8598 val
* var5
/* : MClassDef */;
8599 val
* var6
/* : MClassType */;
8600 val
* var8
/* : MClassType */;
8601 val
* var9
/* : MClassDef */;
8602 val
* var11
/* : MClassDef */;
8603 val
* var12
/* : MClassType */;
8604 val
* var14
/* : MClassType */;
8605 val
* var15
/* : MClassDef */;
8606 val
* var17
/* : MClassDef */;
8607 val
* var18
/* : MModule */;
8608 val
* var20
/* : MModule */;
8609 val
* var21
/* : MSignature */;
8610 val
* var_msignature
/* var msignature: MSignature */;
8611 short int var22
/* : Bool */;
8612 val
* var23
/* : MProperty */;
8613 val
* var25
/* : MProperty */;
8614 short int var26
/* : Bool */;
8615 short int var28
/* : Bool */;
8616 short int var29
/* : Bool */;
8617 short int var_
/* var : Bool */;
8618 short int var30
/* : Bool */;
8619 short int var32
/* : Bool */;
8620 val
* var33
/* : nullable Object */;
8621 val
* var34
/* : MClassDef */;
8622 val
* var36
/* : MClassDef */;
8623 val
* var37
/* : MClass */;
8624 val
* var39
/* : MClass */;
8625 val
* var40
/* : MClassType */;
8626 val
* var42
/* : MClassType */;
8627 val
* var43
/* : RuntimeVariable */;
8628 long var_i
/* var i: Int */;
8629 long var44
/* : Int */;
8630 long var_45
/* var : Int */;
8631 short int var46
/* : Bool */;
8632 short int var48
/* : Bool */;
8635 const char* var_class_name
;
8636 short int var49
/* : Bool */;
8637 val
* var50
/* : Array[MParameter] */;
8638 val
* var52
/* : Array[MParameter] */;
8639 val
* var53
/* : nullable Object */;
8640 val
* var_mp
/* var mp: MParameter */;
8641 val
* var54
/* : MType */;
8642 val
* var56
/* : MType */;
8643 val
* var_t
/* var t: MType */;
8644 short int var57
/* : Bool */;
8645 short int var59
/* : Bool */;
8646 long var60
/* : Int */;
8647 short int var62
/* : Bool */;
8650 const char* var_class_name65
;
8651 long var66
/* : Int */;
8652 val
* var67
/* : nullable Object */;
8653 val
* var68
/* : MType */;
8654 val
* var70
/* : MType */;
8655 short int var71
/* : Bool */;
8656 short int var73
/* : Bool */;
8657 long var74
/* : Int */;
8658 short int var76
/* : Bool */;
8661 const char* var_class_name79
;
8662 long var80
/* : Int */;
8663 long var81
/* : Int */;
8664 short int var83
/* : Bool */;
8667 const char* var_class_name86
;
8668 long var87
/* : Int */;
8669 val
* var88
/* : nullable Object */;
8670 val
* var89
/* : RuntimeVariable */;
8671 long var90
/* : Int */;
8675 { /* Inline model#MMethodDef#msignature (var_m) on <var_m:MMethodDef> */
8676 var2
= var_m
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var_m:MMethodDef> */
8682 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
8683 var5
= var_m
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
8684 if (unlikely(var5
== NULL
)) {
8685 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
8686 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
8694 { /* Inline model#MClassDef#bound_mtype (var3) on <var3:MClassDef> */
8695 var8
= var3
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var3:MClassDef> */
8696 if (unlikely(var8
== NULL
)) {
8697 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
8698 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 579);
8706 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
8707 var11
= var_m
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
8708 if (unlikely(var11
== NULL
)) {
8709 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
8710 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
8714 RET_LABEL10
:(void)0;
8718 { /* Inline model#MClassDef#bound_mtype (var9) on <var9:MClassDef> */
8719 var14
= var9
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var9:MClassDef> */
8720 if (unlikely(var14
== NULL
)) {
8721 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
8722 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 579);
8726 RET_LABEL13
:(void)0;
8730 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
8731 var17
= var_m
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
8732 if (unlikely(var17
== NULL
)) {
8733 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
8734 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
8738 RET_LABEL16
:(void)0;
8742 { /* Inline model#MClassDef#mmodule (var15) on <var15:MClassDef> */
8743 var20
= var15
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <var15:MClassDef> */
8744 if (unlikely(var20
== NULL
)) {
8745 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
8746 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
8750 RET_LABEL19
:(void)0;
8754 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8755 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 1188);
8758 var21
= nitc___nitc__MSignature___MType__resolve_for(var
, var6
, var12
, var18
, 1);
8760 var_msignature
= var21
;
8762 { /* Inline model#MPropDef#mproperty (var_m) on <var_m:MMethodDef> */
8763 var25
= var_m
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var_m:MMethodDef> */
8764 if (unlikely(var25
== NULL
)) {
8765 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8766 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2230);
8770 RET_LABEL24
:(void)0;
8774 { /* Inline model#MMethod#is_init (var23) on <var23:MProperty(MMethod)> */
8775 var28
= var23
->attrs
[COLOR_nitc__model__MMethod___is_init
].s
; /* _is_init on <var23:MProperty(MMethod)> */
8777 RET_LABEL27
:(void)0;
8784 { /* Inline model#MMethodDef#is_extern (var_m) on <var_m:MMethodDef> */
8785 var32
= var_m
->attrs
[COLOR_nitc__model__MMethodDef___is_extern
].s
; /* _is_extern on <var_m:MMethodDef> */
8787 RET_LABEL31
:(void)0;
8796 var33
= core___core__SequenceRead___Collection__first(var_args
);
8799 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
8800 var36
= var_m
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
8801 if (unlikely(var36
== NULL
)) {
8802 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
8803 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
8807 RET_LABEL35
:(void)0;
8811 { /* Inline model#MClassDef#mclass (var34) on <var34:MClassDef> */
8812 var39
= var34
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <var34:MClassDef> */
8813 if (unlikely(var39
== NULL
)) {
8814 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8815 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
8819 RET_LABEL38
:(void)0;
8823 { /* Inline model#MClass#mclass_type (var37) on <var37:MClass> */
8824 var42
= var37
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var37:MClass> */
8825 if (unlikely(var42
== NULL
)) {
8826 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
8827 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 507);
8831 RET_LABEL41
:(void)0;
8835 var43
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(self
->class->vft
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor__unbox_extern
]))(self
, var33
, var40
); /* unbox_extern on <self:SeparateCompilerVisitor>*/
8838 core___core__Sequence___first_61d(var_args
, var43
); /* Direct call abstract_collection#Sequence#first= on <var_args:Array[RuntimeVariable]>*/
8844 var44
= nitc___nitc__MSignature___arity(var_msignature
);
8849 { /* Inline kernel#Int#< (var_i,var_45) on <var_i:Int> */
8850 /* Covariant cast for argument 0 (i) <var_45:Int> isa OTHER */
8851 /* <var_45:Int> isa OTHER */
8852 var48
= 1; /* easy <var_45:Int> isa OTHER*/
8853 if (unlikely(!var48
)) {
8854 var_class_name
= type_core__Int
.name
;
8855 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
8856 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
8859 var49
= var_i
< var_45
;
8862 RET_LABEL47
:(void)0;
8870 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:MSignature> */
8871 var52
= var_msignature
->attrs
[COLOR_nitc__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
8872 if (unlikely(var52
== NULL
)) {
8873 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
8874 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1783);
8878 RET_LABEL51
:(void)0;
8882 var53
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var50
, var_i
);
8886 { /* Inline model#MParameter#mtype (var_mp) on <var_mp:MParameter> */
8887 var56
= var_mp
->attrs
[COLOR_nitc__model__MParameter___mtype
].val
; /* _mtype on <var_mp:MParameter> */
8888 if (unlikely(var56
== NULL
)) {
8889 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8890 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1900);
8894 RET_LABEL55
:(void)0;
8899 { /* Inline model#MParameter#is_vararg (var_mp) on <var_mp:MParameter> */
8900 var59
= var_mp
->attrs
[COLOR_nitc__model__MParameter___is_vararg
].s
; /* _is_vararg on <var_mp:MParameter> */
8902 RET_LABEL58
:(void)0;
8907 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
8908 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
8909 /* <1l:Int> isa OTHER */
8910 var62
= 1; /* easy <1l:Int> isa OTHER*/
8911 if (unlikely(!var62
)) {
8912 var_class_name65
= type_core__Int
.name
;
8913 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name65
);
8914 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
8920 RET_LABEL61
:(void)0;
8924 var67
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_args
, var60
);
8927 { /* Inline abstract_compiler#RuntimeVariable#mtype (var67) on <var67:nullable Object(RuntimeVariable)> */
8928 var70
= var67
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var67:nullable Object(RuntimeVariable)> */
8929 if (unlikely(var70
== NULL
)) {
8930 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8931 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1870);
8935 RET_LABEL69
:(void)0;
8942 { /* Inline model#MMethodDef#is_extern (var_m) on <var_m:MMethodDef> */
8943 var73
= var_m
->attrs
[COLOR_nitc__model__MMethodDef___is_extern
].s
; /* _is_extern on <var_m:MMethodDef> */
8945 RET_LABEL72
:(void)0;
8950 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
8951 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
8952 /* <1l:Int> isa OTHER */
8953 var76
= 1; /* easy <1l:Int> isa OTHER*/
8954 if (unlikely(!var76
)) {
8955 var_class_name79
= type_core__Int
.name
;
8956 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name79
);
8957 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
8963 RET_LABEL75
:(void)0;
8967 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
8968 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
8969 /* <1l:Int> isa OTHER */
8970 var83
= 1; /* easy <1l:Int> isa OTHER*/
8971 if (unlikely(!var83
)) {
8972 var_class_name86
= type_core__Int
.name
;
8973 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name86
);
8974 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
8980 RET_LABEL82
:(void)0;
8984 var88
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_args
, var81
);
8987 var89
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(self
->class->vft
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor__unbox_extern
]))(self
, var88
, var_t
); /* unbox_extern on <self:SeparateCompilerVisitor>*/
8990 core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_args
, var74
, var89
); /* Direct call array#Array#[]= on <var_args:Array[RuntimeVariable]>*/
8995 var90
= core___core__Int___Discrete__successor(var_i
, 1l);
8999 BREAK_label
: (void)0;