1 #include "nit__separate_compiler.sep.0.h"
2 /* method separate_compiler#SeparateCompiler#compile_type_resolution_table for (self: SeparateCompiler, MType) */
3 void nit___nit__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
/* : FlatString */;
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
/* : FlatString */;
25 static val
* varonce15
;
26 val
* var16
/* : String */;
27 char* var17
/* : NativeString */;
28 val
* var18
/* : FlatString */;
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
/* : FlatString */;
39 static val
* varonce28
;
40 val
* var29
/* : String */;
41 char* var30
/* : NativeString */;
42 val
* var31
/* : FlatString */;
43 val
* var32
/* : String */;
44 val
* var33
/* : String */;
45 static val
* varonce34
;
46 val
* var35
/* : String */;
47 char* var36
/* : NativeString */;
48 val
* var37
/* : FlatString */;
49 static val
* varonce38
;
50 val
* var39
/* : String */;
51 char* var40
/* : NativeString */;
52 val
* var41
/* : FlatString */;
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
/* : ArrayIterator[nullable Object] */;
58 val
* var_47
/* var : ArrayIterator[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
/* : FlatString */;
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
/* : FlatString */;
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
/* : FlatString */;
92 static val
* varonce82
;
93 val
* var83
/* : String */;
94 char* var84
/* : NativeString */;
95 val
* var85
/* : FlatString */;
96 static val
* varonce86
;
97 val
* var87
/* : String */;
98 char* var88
/* : NativeString */;
99 val
* var89
/* : FlatString */;
100 static val
* varonce90
;
101 val
* var91
/* : String */;
102 char* var92
/* : NativeString */;
103 val
* var93
/* : FlatString */;
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
/* : FlatString */;
114 static val
* varonce104
;
115 val
* var105
/* : String */;
116 char* var106
/* : NativeString */;
117 val
* var107
/* : FlatString */;
118 static val
* varonce108
;
119 val
* var109
/* : String */;
120 char* var110
/* : NativeString */;
121 val
* var111
/* : FlatString */;
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
/* : FlatString */;
129 static val
* varonce119
;
130 val
* var120
/* : String */;
131 char* var121
/* : NativeString */;
132 val
* var122
/* : FlatString */;
135 var
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model__MType__undecorate
]))(var_mtype
); /* undecorate on <var_mtype:MType>*/
137 /* <var:MType> isa MClassType */
138 cltype
= type_nit__MClassType
.color
;
139 idtype
= type_nit__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_nit__separate_compiler
, 780);
151 var_mclass_type
= var
;
152 if (unlikely(varonce
==NULL
)) {
153 var2
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
154 if (likely(varonce3
!=NULL
)) {
157 var5
= "resolution_table_";
158 var6
= standard___standard__NativeString___to_s_with_length(var5
, 17l);
162 ((struct instance_standard__NativeArray
*)var2
)->values
[0]=var4
;
168 var7
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MType>*/
170 ((struct instance_standard__NativeArray
*)var2
)->values
[1]=var7
;
172 var8
= ((val
*(*)(val
* self
))(var2
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var2
); /* native_to_s on <var2:NativeArray[String]>*/
175 if (unlikely(varonce9
==NULL
)) {
176 var10
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
177 if (likely(varonce11
!=NULL
)) {
180 var13
= "extern const struct types resolution_table_";
181 var14
= standard___standard__NativeString___to_s_with_length(var13
, 43l);
185 ((struct instance_standard__NativeArray
*)var10
)->values
[0]=var12
;
186 if (likely(varonce15
!=NULL
)) {
190 var18
= standard___standard__NativeString___to_s_with_length(var17
, 1l);
194 ((struct instance_standard__NativeArray
*)var10
)->values
[2]=var16
;
200 var19
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MType>*/
202 ((struct instance_standard__NativeArray
*)var10
)->values
[1]=var19
;
204 var20
= ((val
*(*)(val
* self
))(var10
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var10
); /* native_to_s on <var10:NativeArray[String]>*/
208 nit___nit__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_nit__abstract_compiler__AbstractCompiler__new_visitor
]))(self
); /* new_visitor on <self:SeparateCompiler>*/
214 if (unlikely(varonce22
==NULL
)) {
215 var23
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
216 if (likely(varonce24
!=NULL
)) {
219 var26
= "const struct types resolution_table_";
220 var27
= standard___standard__NativeString___to_s_with_length(var26
, 36l);
224 ((struct instance_standard__NativeArray
*)var23
)->values
[0]=var25
;
225 if (likely(varonce28
!=NULL
)) {
229 var31
= standard___standard__NativeString___to_s_with_length(var30
, 4l);
233 ((struct instance_standard__NativeArray
*)var23
)->values
[2]=var29
;
239 var32
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MType>*/
241 ((struct instance_standard__NativeArray
*)var23
)->values
[1]=var32
;
243 var33
= ((val
*(*)(val
* self
))(var23
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var23
); /* native_to_s on <var23:NativeArray[String]>*/
247 nit___nit__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
= standard___standard__NativeString___to_s_with_length(var36
, 14l);
258 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var35
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
260 if (likely(varonce38
!=NULL
)) {
264 var41
= standard___standard__NativeString___to_s_with_length(var40
, 1l);
269 nit___nit__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_nit__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_nit__separate_compiler
, 1052);
284 var45
= ((val
*(*)(val
* self
, val
* p0
))((((long)var42
&3)?class_info
[((long)var42
&3)]:var42
->class)->vft
[COLOR_standard__abstract_collection__MapRead___91d_93d
]))(var42
, var_mclass_type
); /* [] on <var42:Map[MClassType, Array[nullable MType]]>*/
288 var46
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
293 var48
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_47
);
297 var49
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_47
);
301 var50
= 1; /* is null */
303 var50
= 0; /* arg is null but recv is not */
306 { /* Inline kernel#Object#== (var_t,((val*)NULL)) on <var_t:nullable MType> */
307 var_other
= ((val
*)NULL
);
309 { /* Inline kernel#Object#is_same_instance (var_t,var_other) on <var_t:nullable MType(MType)> */
310 var55
= var_t
== var_other
;
323 if (likely(varonce56
!=NULL
)) {
326 var58
= "NULL, /* empty */";
327 var59
= standard___standard__NativeString___to_s_with_length(var58
, 17l);
332 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var57
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
336 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
337 var62
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
338 if (unlikely(var62
== NULL
)) {
339 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
340 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
348 var63
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(var_t
->class->vft
[COLOR_nit__model__MType__resolve_for
]))(var_t
, var_mclass_type
, var_mclass_type
, var60
, 1); /* resolve_for on <var_t:nullable MType(MType)>*/
352 { /* Inline separate_compiler#SeparateCompiler#type_ids (self) on <self:SeparateCompiler> */
353 var66
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___type_ids
].val
; /* _type_ids on <self:SeparateCompiler> */
354 if (unlikely(var66
== NULL
)) {
355 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_ids");
356 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 149);
364 var67
= ((short int(*)(val
* self
, val
* p0
))((((long)var64
&3)?class_info
[((long)var64
&3)]:var64
->class)->vft
[COLOR_standard__abstract_collection__MapRead__has_key
]))(var64
, var_tv
); /* has_key on <var64:Map[MType, Int]>*/
367 if (unlikely(varonce68
==NULL
)) {
368 var69
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
369 if (likely(varonce70
!=NULL
)) {
373 var73
= standard___standard__NativeString___to_s_with_length(var72
, 5l);
377 ((struct instance_standard__NativeArray
*)var69
)->values
[0]=var71
;
383 var74
= ((val
*(*)(val
* self
))(var_tv
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_tv
); /* c_name on <var_tv:MType>*/
385 ((struct instance_standard__NativeArray
*)var69
)->values
[1]=var74
;
387 var75
= ((val
*(*)(val
* self
))(var69
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var69
); /* native_to_s on <var69:NativeArray[String]>*/
391 nit___nit__AbstractCompilerVisitor___require_declaration(var_v
, var75
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
393 if (unlikely(varonce76
==NULL
)) {
394 var77
= NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String
);
395 if (likely(varonce78
!=NULL
)) {
399 var81
= standard___standard__NativeString___to_s_with_length(var80
, 6l);
403 ((struct instance_standard__NativeArray
*)var77
)->values
[0]=var79
;
404 if (likely(varonce82
!=NULL
)) {
408 var85
= standard___standard__NativeString___to_s_with_length(var84
, 5l);
412 ((struct instance_standard__NativeArray
*)var77
)->values
[2]=var83
;
413 if (likely(varonce86
!=NULL
)) {
417 var89
= standard___standard__NativeString___to_s_with_length(var88
, 2l);
421 ((struct instance_standard__NativeArray
*)var77
)->values
[4]=var87
;
422 if (likely(varonce90
!=NULL
)) {
426 var93
= standard___standard__NativeString___to_s_with_length(var92
, 3l);
430 ((struct instance_standard__NativeArray
*)var77
)->values
[6]=var91
;
436 var94
= ((val
*(*)(val
* self
))(var_tv
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_tv
); /* c_name on <var_tv:MType>*/
438 ((struct instance_standard__NativeArray
*)var77
)->values
[1]=var94
;
440 var95
= ((val
*(*)(val
* self
))(var_t
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_t
); /* to_s on <var_t:nullable MType(MType)>*/
442 ((struct instance_standard__NativeArray
*)var77
)->values
[3]=var95
;
444 var96
= ((val
*(*)(val
* self
))(var_tv
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_tv
); /* to_s on <var_tv:MType>*/
446 ((struct instance_standard__NativeArray
*)var77
)->values
[5]=var96
;
448 var97
= ((val
*(*)(val
* self
))(var77
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var77
); /* native_to_s on <var77:NativeArray[String]>*/
452 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var97
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
455 if (unlikely(varonce98
==NULL
)) {
456 var99
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
457 if (likely(varonce100
!=NULL
)) {
460 var102
= "NULL, /* empty (";
461 var103
= standard___standard__NativeString___to_s_with_length(var102
, 16l);
465 ((struct instance_standard__NativeArray
*)var99
)->values
[0]=var101
;
466 if (likely(varonce104
!=NULL
)) {
470 var107
= standard___standard__NativeString___to_s_with_length(var106
, 2l);
474 ((struct instance_standard__NativeArray
*)var99
)->values
[2]=var105
;
475 if (likely(varonce108
!=NULL
)) {
478 var110
= " not a live type) */";
479 var111
= standard___standard__NativeString___to_s_with_length(var110
, 20l);
483 ((struct instance_standard__NativeArray
*)var99
)->values
[4]=var109
;
489 var112
= ((val
*(*)(val
* self
))(var_t
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_t
); /* to_s on <var_t:nullable MType(MType)>*/
491 ((struct instance_standard__NativeArray
*)var99
)->values
[1]=var112
;
493 var113
= ((val
*(*)(val
* self
))(var_tv
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_tv
); /* to_s on <var_tv:MType>*/
495 ((struct instance_standard__NativeArray
*)var99
)->values
[3]=var113
;
497 var114
= ((val
*(*)(val
* self
))(var99
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var99
); /* native_to_s on <var99:NativeArray[String]>*/
501 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var114
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
506 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_47
); /* Direct call array#ArrayIterator#next on <var_47:ArrayIterator[nullable MType]>*/
512 BREAK_label
: (void)0;
514 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_47
); /* Direct call array#ArrayIterator#finish on <var_47:ArrayIterator[nullable MType]>*/
516 if (likely(varonce115
!=NULL
)) {
520 var118
= standard___standard__NativeString___to_s_with_length(var117
, 1l);
525 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var116
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
527 if (likely(varonce119
!=NULL
)) {
531 var122
= standard___standard__NativeString___to_s_with_length(var121
, 2l);
536 nit___nit__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 nit___nit__SeparateCompiler___compile_class_to_c(val
* self
, val
* p0
) {
542 val
* var_mclass
/* var mclass: MClass */;
543 val
* var
/* : MClassDef */;
544 val
* var2
/* : MClassDef */;
545 val
* var3
/* : MClassType */;
546 val
* var5
/* : MClassType */;
547 val
* var_mtype
/* var mtype: MClassType */;
548 val
* var6
/* : String */;
549 val
* var_c_name
/* var c_name: String */;
550 val
* var7
/* : AbstractCompilerVisitor */;
551 val
* var_v
/* var v: SeparateCompilerVisitor */;
552 val
* var8
/* : nullable RapidTypeAnalysis */;
553 val
* var10
/* : nullable RapidTypeAnalysis */;
554 val
* var_rta
/* var rta: nullable RapidTypeAnalysis */;
555 short int var11
/* : Bool */;
556 short int var12
/* : Bool */;
557 short int var13
/* : Bool */;
558 short int var14
/* : Bool */;
559 short int var15
/* : Bool */;
560 short int var16
/* : Bool */;
561 val
* var_other
/* var other: nullable Object */;
562 short int var18
/* : Bool */;
563 short int var19
/* : Bool */;
564 short int var_
/* var : Bool */;
565 val
* var20
/* : HashSet[MClass] */;
566 val
* var22
/* : HashSet[MClass] */;
567 short int var23
/* : Bool */;
568 short int var24
/* : Bool */;
569 short int var_25
/* var : Bool */;
570 short int var26
/* : Bool */;
571 short int var27
/* : Bool */;
572 short int var_28
/* var : Bool */;
573 val
* var29
/* : String */;
574 val
* var31
/* : String */;
576 val
* var32
/* : String */;
577 char* var33
/* : NativeString */;
578 val
* var34
/* : FlatString */;
579 short int var35
/* : Bool */;
580 short int var37
/* : Bool */;
581 short int var38
/* : Bool */;
582 short int var_39
/* var : Bool */;
583 val
* var40
/* : String */;
584 val
* var42
/* : String */;
585 static val
* varonce43
;
586 val
* var44
/* : String */;
587 char* var45
/* : NativeString */;
588 val
* var46
/* : FlatString */;
589 short int var47
/* : Bool */;
590 short int var49
/* : Bool */;
591 short int var50
/* : Bool */;
592 short int var_is_dead
/* var is_dead: Bool */;
593 val
* var52
/* : NativeArray[String] */;
594 static val
* varonce51
;
595 static val
* varonce53
;
596 val
* var54
/* : String */;
597 char* var55
/* : NativeString */;
598 val
* var56
/* : FlatString */;
599 static val
* varonce57
;
600 val
* var58
/* : String */;
601 char* var59
/* : NativeString */;
602 val
* var60
/* : FlatString */;
603 val
* var61
/* : String */;
604 short int var62
/* : Bool */;
605 val
* var64
/* : NativeArray[String] */;
606 static val
* varonce63
;
607 static val
* varonce65
;
608 val
* var66
/* : String */;
609 char* var67
/* : NativeString */;
610 val
* var68
/* : FlatString */;
611 val
* var69
/* : String */;
612 val
* var71
/* : NativeArray[String] */;
613 static val
* varonce70
;
614 static val
* varonce72
;
615 val
* var73
/* : String */;
616 char* var74
/* : NativeString */;
617 val
* var75
/* : FlatString */;
618 static val
* varonce76
;
619 val
* var77
/* : String */;
620 char* var78
/* : NativeString */;
621 val
* var79
/* : FlatString */;
622 val
* var80
/* : String */;
623 val
* var82
/* : NativeArray[String] */;
624 static val
* varonce81
;
625 static val
* varonce83
;
626 val
* var84
/* : String */;
627 char* var85
/* : NativeString */;
628 val
* var86
/* : FlatString */;
629 static val
* varonce87
;
630 val
* var88
/* : String */;
631 char* var89
/* : NativeString */;
632 val
* var90
/* : FlatString */;
633 val
* var91
/* : String */;
634 val
* var93
/* : NativeArray[String] */;
635 static val
* varonce92
;
636 static val
* varonce94
;
637 val
* var95
/* : String */;
638 char* var96
/* : NativeString */;
639 val
* var97
/* : FlatString */;
640 long var98
/* : Int */;
641 val
* var99
/* : String */;
642 val
* var100
/* : String */;
643 static val
* varonce101
;
644 val
* var102
/* : String */;
645 char* var103
/* : NativeString */;
646 val
* var104
/* : FlatString */;
647 val
* var105
/* : Map[MClass, Array[nullable MPropDef]] */;
648 val
* var107
/* : Map[MClass, Array[nullable MPropDef]] */;
649 val
* var108
/* : nullable Object */;
650 val
* var_vft
/* var vft: nullable Array[nullable MPropDef] */;
651 short int var109
/* : Bool */;
652 short int var110
/* : Bool */;
653 short int var112
/* : Bool */;
654 short int var113
/* : Bool */;
655 long var_i
/* var i: Int */;
656 long var114
/* : Int */;
657 long var116
/* : Int */;
658 long var_117
/* var : Int */;
659 short int var118
/* : Bool */;
660 short int var120
/* : Bool */;
663 const char* var_class_name
;
664 short int var121
/* : Bool */;
665 val
* var122
/* : nullable Object */;
666 val
* var_mpropdef
/* var mpropdef: nullable MPropDef */;
667 short int var123
/* : Bool */;
668 short int var124
/* : Bool */;
669 val
* var_other126
/* var other: nullable Object */;
670 short int var127
/* : Bool */;
671 short int var129
/* : Bool */;
672 static val
* varonce130
;
673 val
* var131
/* : String */;
674 char* var132
/* : NativeString */;
675 val
* var133
/* : FlatString */;
676 short int var134
/* : Bool */;
679 short int var137
/* : Bool */;
680 short int var138
/* : Bool */;
681 short int var139
/* : Bool */;
682 short int var141
/* : Bool */;
683 short int var142
/* : Bool */;
684 short int var_143
/* var : Bool */;
685 val
* var144
/* : HashSet[MMethodDef] */;
686 val
* var146
/* : HashSet[MMethodDef] */;
687 short int var147
/* : Bool */;
688 short int var148
/* : Bool */;
689 val
* var150
/* : NativeArray[String] */;
690 static val
* varonce149
;
691 static val
* varonce151
;
692 val
* var152
/* : String */;
693 char* var153
/* : NativeString */;
694 val
* var154
/* : FlatString */;
695 static val
* varonce155
;
696 val
* var156
/* : String */;
697 char* var157
/* : NativeString */;
698 val
* var158
/* : FlatString */;
699 static val
* varonce159
;
700 val
* var160
/* : String */;
701 char* var161
/* : NativeString */;
702 val
* var162
/* : FlatString */;
703 static val
* varonce163
;
704 val
* var164
/* : String */;
705 char* var165
/* : NativeString */;
706 val
* var166
/* : FlatString */;
707 val
* var167
/* : MModule */;
708 val
* var169
/* : MModule */;
709 val
* var170
/* : String */;
710 val
* var171
/* : String */;
711 val
* var172
/* : String */;
712 val
* var173
/* : String */;
713 val
* var174
/* : SeparateRuntimeFunction */;
714 val
* var_rf
/* var rf: SeparateRuntimeFunction */;
715 val
* var175
/* : String */;
716 val
* var177
/* : NativeArray[String] */;
717 static val
* varonce176
;
718 static val
* varonce178
;
719 val
* var179
/* : String */;
720 char* var180
/* : NativeString */;
721 val
* var181
/* : FlatString */;
722 static val
* varonce182
;
723 val
* var183
/* : String */;
724 char* var184
/* : NativeString */;
725 val
* var185
/* : FlatString */;
726 static val
* varonce186
;
727 val
* var187
/* : String */;
728 char* var188
/* : NativeString */;
729 val
* var189
/* : FlatString */;
730 static val
* varonce190
;
731 val
* var191
/* : String */;
732 char* var192
/* : NativeString */;
733 val
* var193
/* : FlatString */;
734 static val
* varonce194
;
735 val
* var195
/* : String */;
736 char* var196
/* : NativeString */;
737 val
* var197
/* : FlatString */;
738 val
* var198
/* : String */;
739 val
* var199
/* : MModule */;
740 val
* var201
/* : MModule */;
741 val
* var202
/* : String */;
742 val
* var203
/* : String */;
743 val
* var204
/* : String */;
744 val
* var205
/* : String */;
745 long var206
/* : Int */;
746 static val
* varonce208
;
747 val
* var209
/* : String */;
748 char* var210
/* : NativeString */;
749 val
* var211
/* : FlatString */;
750 static val
* varonce212
;
751 val
* var213
/* : String */;
752 char* var214
/* : NativeString */;
753 val
* var215
/* : FlatString */;
754 short int var216
/* : Bool */;
755 short int var217
/* : Bool */;
756 short int var_218
/* var : Bool */;
757 val
* var219
/* : MClass */;
758 val
* var221
/* : MClass */;
759 val
* var222
/* : String */;
760 val
* var224
/* : String */;
761 static val
* varonce225
;
762 val
* var226
/* : String */;
763 char* var227
/* : NativeString */;
764 val
* var228
/* : FlatString */;
765 short int var229
/* : Bool */;
766 short int var230
/* : Bool */;
767 short int var232
/* : Bool */;
768 val
* var233
/* : CodeWriter */;
769 val
* var235
/* : CodeWriter */;
770 val
* var237
/* : NativeArray[String] */;
771 static val
* varonce236
;
772 static val
* varonce238
;
773 val
* var239
/* : String */;
774 char* var240
/* : NativeString */;
775 val
* var241
/* : FlatString */;
776 static val
* varonce242
;
777 val
* var243
/* : String */;
778 char* var244
/* : NativeString */;
779 val
* var245
/* : FlatString */;
780 val
* var246
/* : String */;
781 val
* var247
/* : CodeWriter */;
782 val
* var249
/* : CodeWriter */;
783 static val
* varonce250
;
784 val
* var251
/* : String */;
785 char* var252
/* : NativeString */;
786 val
* var253
/* : FlatString */;
787 val
* var254
/* : CodeWriter */;
788 val
* var256
/* : CodeWriter */;
789 static val
* varonce257
;
790 val
* var258
/* : String */;
791 char* var259
/* : NativeString */;
792 val
* var260
/* : FlatString */;
793 val
* var261
/* : CodeWriter */;
794 val
* var263
/* : CodeWriter */;
795 val
* var265
/* : NativeArray[String] */;
796 static val
* varonce264
;
797 static val
* varonce266
;
798 val
* var267
/* : String */;
799 char* var268
/* : NativeString */;
800 val
* var269
/* : FlatString */;
801 val
* var270
/* : String */;
802 val
* var271
/* : String */;
803 val
* var272
/* : CodeWriter */;
804 val
* var274
/* : CodeWriter */;
805 static val
* varonce275
;
806 val
* var276
/* : String */;
807 char* var277
/* : NativeString */;
808 val
* var278
/* : FlatString */;
809 short int var279
/* : Bool */;
810 val
* var280
/* : HashSet[MClassType] */;
811 val
* var282
/* : HashSet[MClassType] */;
812 short int var283
/* : Bool */;
813 short int var284
/* : Bool */;
814 short int var_285
/* var : Bool */;
815 val
* var286
/* : MClass */;
816 val
* var288
/* : MClass */;
817 val
* var289
/* : String */;
818 val
* var291
/* : String */;
819 static val
* varonce292
;
820 val
* var293
/* : String */;
821 char* var294
/* : NativeString */;
822 val
* var295
/* : FlatString */;
823 short int var296
/* : Bool */;
824 short int var298
/* : Bool */;
825 short int var299
/* : Bool */;
826 val
* var301
/* : NativeArray[String] */;
827 static val
* varonce300
;
828 static val
* varonce302
;
829 val
* var303
/* : String */;
830 char* var304
/* : NativeString */;
831 val
* var305
/* : FlatString */;
832 val
* var306
/* : String */;
833 val
* var308
/* : NativeArray[String] */;
834 static val
* varonce307
;
835 static val
* varonce309
;
836 val
* var310
/* : String */;
837 char* var311
/* : NativeString */;
838 val
* var312
/* : FlatString */;
839 static val
* varonce313
;
840 val
* var314
/* : String */;
841 char* var315
/* : NativeString */;
842 val
* var316
/* : FlatString */;
843 static val
* varonce317
;
844 val
* var318
/* : String */;
845 char* var319
/* : NativeString */;
846 val
* var320
/* : FlatString */;
847 val
* var321
/* : String */;
848 val
* var322
/* : String */;
849 val
* var324
/* : NativeArray[String] */;
850 static val
* varonce323
;
851 static val
* varonce325
;
852 val
* var326
/* : String */;
853 char* var327
/* : NativeString */;
854 val
* var328
/* : FlatString */;
855 static val
* varonce329
;
856 val
* var330
/* : String */;
857 char* var331
/* : NativeString */;
858 val
* var332
/* : FlatString */;
859 val
* var333
/* : String */;
860 val
* var334
/* : String */;
861 val
* var336
/* : NativeArray[String] */;
862 static val
* varonce335
;
863 static val
* varonce337
;
864 val
* var338
/* : String */;
865 char* var339
/* : NativeString */;
866 val
* var340
/* : FlatString */;
867 static val
* varonce341
;
868 val
* var342
/* : String */;
869 char* var343
/* : NativeString */;
870 val
* var344
/* : FlatString */;
871 static val
* varonce345
;
872 val
* var346
/* : String */;
873 char* var347
/* : NativeString */;
874 val
* var348
/* : FlatString */;
875 val
* var349
/* : String */;
876 val
* var350
/* : String */;
877 val
* var351
/* : String */;
878 val
* var353
/* : NativeArray[String] */;
879 static val
* varonce352
;
880 static val
* varonce354
;
881 val
* var355
/* : String */;
882 char* var356
/* : NativeString */;
883 val
* var357
/* : FlatString */;
884 static val
* varonce358
;
885 val
* var359
/* : String */;
886 char* var360
/* : NativeString */;
887 val
* var361
/* : FlatString */;
888 static val
* varonce362
;
889 val
* var363
/* : String */;
890 char* var364
/* : NativeString */;
891 val
* var365
/* : FlatString */;
892 val
* var366
/* : String */;
893 val
* var367
/* : AbstractCompiler */;
894 val
* var369
/* : AbstractCompiler */;
895 val
* var370
/* : Set[MType] */;
896 val
* var372
/* : Set[MType] */;
897 val
* var374
/* : NativeArray[String] */;
898 static val
* varonce373
;
899 static val
* varonce375
;
900 val
* var376
/* : String */;
901 char* var377
/* : NativeString */;
902 val
* var378
/* : FlatString */;
903 val
* var379
/* : String */;
904 val
* var381
/* : NativeArray[String] */;
905 static val
* varonce380
;
906 static val
* varonce382
;
907 val
* var383
/* : String */;
908 char* var384
/* : NativeString */;
909 val
* var385
/* : FlatString */;
910 static val
* varonce386
;
911 val
* var387
/* : String */;
912 char* var388
/* : NativeString */;
913 val
* var389
/* : FlatString */;
914 val
* var390
/* : String */;
915 val
* var392
/* : NativeArray[String] */;
916 static val
* varonce391
;
917 static val
* varonce393
;
918 val
* var394
/* : String */;
919 char* var395
/* : NativeString */;
920 val
* var396
/* : FlatString */;
921 val
* var397
/* : String */;
922 val
* var399
/* : NativeArray[String] */;
923 static val
* varonce398
;
924 static val
* varonce400
;
925 val
* var401
/* : String */;
926 char* var402
/* : NativeString */;
927 val
* var403
/* : FlatString */;
928 static val
* varonce404
;
929 val
* var405
/* : String */;
930 char* var406
/* : NativeString */;
931 val
* var407
/* : FlatString */;
932 val
* var408
/* : String */;
933 static val
* varonce409
;
934 val
* var410
/* : String */;
935 char* var411
/* : NativeString */;
936 val
* var412
/* : FlatString */;
937 static val
* varonce413
;
938 val
* var414
/* : String */;
939 char* var415
/* : NativeString */;
940 val
* var416
/* : FlatString */;
941 static val
* varonce417
;
942 val
* var418
/* : String */;
943 char* var419
/* : NativeString */;
944 val
* var420
/* : FlatString */;
945 val
* var421
/* : MClass */;
946 val
* var423
/* : MClass */;
947 val
* var424
/* : String */;
948 val
* var426
/* : String */;
949 static val
* varonce427
;
950 val
* var428
/* : String */;
951 char* var429
/* : NativeString */;
952 val
* var430
/* : FlatString */;
953 short int var431
/* : Bool */;
954 short int var433
/* : Bool */;
955 short int var434
/* : Bool */;
956 val
* var435
/* : AbstractCompilerVisitor */;
957 val
* var437
/* : NativeArray[String] */;
958 static val
* varonce436
;
959 static val
* varonce438
;
960 val
* var439
/* : String */;
961 char* var440
/* : NativeString */;
962 val
* var441
/* : FlatString */;
963 val
* var442
/* : String */;
964 val
* var444
/* : NativeArray[String] */;
965 static val
* varonce443
;
966 static val
* varonce445
;
967 val
* var446
/* : String */;
968 char* var447
/* : NativeString */;
969 val
* var448
/* : FlatString */;
970 static val
* varonce449
;
971 val
* var450
/* : String */;
972 char* var451
/* : NativeString */;
973 val
* var452
/* : FlatString */;
974 val
* var453
/* : String */;
975 val
* var454
/* : String */;
976 val
* var456
/* : NativeArray[String] */;
977 static val
* varonce455
;
978 static val
* varonce457
;
979 val
* var458
/* : String */;
980 char* var459
/* : NativeString */;
981 val
* var460
/* : FlatString */;
982 static val
* varonce461
;
983 val
* var462
/* : String */;
984 char* var463
/* : NativeString */;
985 val
* var464
/* : FlatString */;
986 val
* var465
/* : String */;
987 val
* var466
/* : String */;
988 val
* var468
/* : NativeArray[String] */;
989 static val
* varonce467
;
990 static val
* varonce469
;
991 val
* var470
/* : String */;
992 char* var471
/* : NativeString */;
993 val
* var472
/* : FlatString */;
994 static val
* varonce473
;
995 val
* var474
/* : String */;
996 char* var475
/* : NativeString */;
997 val
* var476
/* : FlatString */;
998 val
* var477
/* : String */;
999 val
* var478
/* : String */;
1000 val
* var480
/* : NativeArray[String] */;
1001 static val
* varonce479
;
1002 static val
* varonce481
;
1003 val
* var482
/* : String */;
1004 char* var483
/* : NativeString */;
1005 val
* var484
/* : FlatString */;
1006 val
* var485
/* : String */;
1007 val
* var486
/* : String */;
1008 static val
* varonce487
;
1009 val
* var488
/* : String */;
1010 char* var489
/* : NativeString */;
1011 val
* var490
/* : FlatString */;
1012 val
* var491
/* : RuntimeVariable */;
1013 val
* var_res
/* var res: RuntimeVariable */;
1014 val
* var494
/* : NativeArray[String] */;
1015 static val
* varonce493
;
1016 static val
* varonce495
;
1017 val
* var496
/* : String */;
1018 char* var497
/* : NativeString */;
1019 val
* var498
/* : FlatString */;
1020 static val
* varonce499
;
1021 val
* var500
/* : String */;
1022 char* var501
/* : NativeString */;
1023 val
* var502
/* : FlatString */;
1024 val
* var503
/* : String */;
1025 val
* var504
/* : String */;
1026 val
* var505
/* : String */;
1027 val
* var507
/* : NativeArray[String] */;
1028 static val
* varonce506
;
1029 static val
* varonce508
;
1030 val
* var509
/* : String */;
1031 char* var510
/* : NativeString */;
1032 val
* var511
/* : FlatString */;
1033 val
* var512
/* : String */;
1034 val
* var513
/* : String */;
1035 static val
* varonce514
;
1036 val
* var515
/* : String */;
1037 char* var516
/* : NativeString */;
1038 val
* var517
/* : FlatString */;
1039 val
* var519
/* : NativeArray[String] */;
1040 static val
* varonce518
;
1041 static val
* varonce520
;
1042 val
* var521
/* : String */;
1043 char* var522
/* : NativeString */;
1044 val
* var523
/* : FlatString */;
1045 val
* var524
/* : String */;
1046 val
* var526
/* : NativeArray[String] */;
1047 static val
* varonce525
;
1048 static val
* varonce527
;
1049 val
* var528
/* : String */;
1050 char* var529
/* : NativeString */;
1051 val
* var530
/* : FlatString */;
1052 static val
* varonce531
;
1053 val
* var532
/* : String */;
1054 char* var533
/* : NativeString */;
1055 val
* var534
/* : FlatString */;
1056 val
* var535
/* : String */;
1057 val
* var536
/* : String */;
1058 val
* var538
/* : NativeArray[String] */;
1059 static val
* varonce537
;
1060 static val
* varonce539
;
1061 val
* var540
/* : String */;
1062 char* var541
/* : NativeString */;
1063 val
* var542
/* : FlatString */;
1064 static val
* varonce543
;
1065 val
* var544
/* : String */;
1066 char* var545
/* : NativeString */;
1067 val
* var546
/* : FlatString */;
1068 static val
* varonce547
;
1069 val
* var548
/* : String */;
1070 char* var549
/* : NativeString */;
1071 val
* var550
/* : FlatString */;
1072 val
* var551
/* : String */;
1073 val
* var552
/* : String */;
1074 val
* var553
/* : String */;
1075 val
* var555
/* : NativeArray[String] */;
1076 static val
* varonce554
;
1077 static val
* varonce556
;
1078 val
* var557
/* : String */;
1079 char* var558
/* : NativeString */;
1080 val
* var559
/* : FlatString */;
1081 static val
* varonce560
;
1082 val
* var561
/* : String */;
1083 char* var562
/* : NativeString */;
1084 val
* var563
/* : FlatString */;
1085 val
* var564
/* : String */;
1086 val
* var565
/* : String */;
1087 static val
* varonce566
;
1088 val
* var567
/* : String */;
1089 char* var568
/* : NativeString */;
1090 val
* var569
/* : FlatString */;
1091 val
* var570
/* : String */;
1092 val
* var572
/* : String */;
1093 static val
* varonce573
;
1094 val
* var574
/* : String */;
1095 char* var575
/* : NativeString */;
1096 val
* var576
/* : FlatString */;
1097 short int var577
/* : Bool */;
1098 val
* var578
/* : CodeWriter */;
1099 val
* var580
/* : CodeWriter */;
1100 val
* var582
/* : NativeArray[String] */;
1101 static val
* varonce581
;
1102 static val
* varonce583
;
1103 val
* var584
/* : String */;
1104 char* var585
/* : NativeString */;
1105 val
* var586
/* : FlatString */;
1106 static val
* varonce587
;
1107 val
* var588
/* : String */;
1108 char* var589
/* : NativeString */;
1109 val
* var590
/* : FlatString */;
1110 val
* var591
/* : String */;
1111 val
* var592
/* : CodeWriter */;
1112 val
* var594
/* : CodeWriter */;
1113 static val
* varonce595
;
1114 val
* var596
/* : String */;
1115 char* var597
/* : NativeString */;
1116 val
* var598
/* : FlatString */;
1117 val
* var599
/* : CodeWriter */;
1118 val
* var601
/* : CodeWriter */;
1119 static val
* varonce602
;
1120 val
* var603
/* : String */;
1121 char* var604
/* : NativeString */;
1122 val
* var605
/* : FlatString */;
1123 val
* var606
/* : CodeWriter */;
1124 val
* var608
/* : CodeWriter */;
1125 static val
* varonce609
;
1126 val
* var610
/* : String */;
1127 char* var611
/* : NativeString */;
1128 val
* var612
/* : FlatString */;
1129 val
* var613
/* : CodeWriter */;
1130 val
* var615
/* : CodeWriter */;
1131 static val
* varonce616
;
1132 val
* var617
/* : String */;
1133 char* var618
/* : NativeString */;
1134 val
* var619
/* : FlatString */;
1135 val
* var620
/* : CodeWriter */;
1136 val
* var622
/* : CodeWriter */;
1137 static val
* varonce623
;
1138 val
* var624
/* : String */;
1139 char* var625
/* : NativeString */;
1140 val
* var626
/* : FlatString */;
1141 val
* var628
/* : NativeArray[String] */;
1142 static val
* varonce627
;
1143 static val
* varonce629
;
1144 val
* var630
/* : String */;
1145 char* var631
/* : NativeString */;
1146 val
* var632
/* : FlatString */;
1147 val
* var633
/* : String */;
1148 val
* var635
/* : NativeArray[String] */;
1149 static val
* varonce634
;
1150 static val
* varonce636
;
1151 val
* var637
/* : String */;
1152 char* var638
/* : NativeString */;
1153 val
* var639
/* : FlatString */;
1154 static val
* varonce640
;
1155 val
* var641
/* : String */;
1156 char* var642
/* : NativeString */;
1157 val
* var643
/* : FlatString */;
1158 val
* var644
/* : String */;
1159 val
* var645
/* : String */;
1160 val
* var647
/* : NativeArray[String] */;
1161 static val
* varonce646
;
1162 static val
* varonce648
;
1163 val
* var649
/* : String */;
1164 char* var650
/* : NativeString */;
1165 val
* var651
/* : FlatString */;
1166 static val
* varonce652
;
1167 val
* var653
/* : String */;
1168 char* var654
/* : NativeString */;
1169 val
* var655
/* : FlatString */;
1170 val
* var656
/* : String */;
1171 val
* var657
/* : String */;
1172 val
* var659
/* : NativeArray[String] */;
1173 static val
* varonce658
;
1174 static val
* varonce660
;
1175 val
* var661
/* : String */;
1176 char* var662
/* : NativeString */;
1177 val
* var663
/* : FlatString */;
1178 static val
* varonce664
;
1179 val
* var665
/* : String */;
1180 char* var666
/* : NativeString */;
1181 val
* var667
/* : FlatString */;
1182 val
* var668
/* : String */;
1183 val
* var669
/* : String */;
1184 static val
* varonce670
;
1185 val
* var671
/* : String */;
1186 char* var672
/* : NativeString */;
1187 val
* var673
/* : FlatString */;
1188 val
* var674
/* : String */;
1189 val
* var_res675
/* var res: String */;
1190 val
* var677
/* : NativeArray[String] */;
1191 static val
* varonce676
;
1192 static val
* varonce678
;
1193 val
* var679
/* : String */;
1194 char* var680
/* : NativeString */;
1195 val
* var681
/* : FlatString */;
1196 static val
* varonce682
;
1197 val
* var683
/* : String */;
1198 char* var684
/* : NativeString */;
1199 val
* var685
/* : FlatString */;
1200 static val
* varonce686
;
1201 val
* var687
/* : String */;
1202 char* var688
/* : NativeString */;
1203 val
* var689
/* : FlatString */;
1204 val
* var690
/* : String */;
1205 val
* var691
/* : Array[MType] */;
1206 val
* var692
/* : nullable Object */;
1207 val
* var_mtype_elt
/* var mtype_elt: MType */;
1208 val
* var694
/* : NativeArray[String] */;
1209 static val
* varonce693
;
1210 static val
* varonce695
;
1211 val
* var696
/* : String */;
1212 char* var697
/* : NativeString */;
1213 val
* var698
/* : FlatString */;
1214 static val
* varonce699
;
1215 val
* var700
/* : String */;
1216 char* var701
/* : NativeString */;
1217 val
* var702
/* : FlatString */;
1218 static val
* varonce703
;
1219 val
* var704
/* : String */;
1220 char* var705
/* : NativeString */;
1221 val
* var706
/* : FlatString */;
1222 val
* var707
/* : String */;
1223 val
* var708
/* : String */;
1224 val
* var710
/* : NativeArray[String] */;
1225 static val
* varonce709
;
1226 static val
* varonce711
;
1227 val
* var712
/* : String */;
1228 char* var713
/* : NativeString */;
1229 val
* var714
/* : FlatString */;
1230 val
* var715
/* : String */;
1231 static val
* varonce716
;
1232 val
* var717
/* : String */;
1233 char* var718
/* : NativeString */;
1234 val
* var719
/* : FlatString */;
1235 val
* var721
/* : NativeArray[String] */;
1236 static val
* varonce720
;
1237 static val
* varonce722
;
1238 val
* var723
/* : String */;
1239 char* var724
/* : NativeString */;
1240 val
* var725
/* : FlatString */;
1241 val
* var726
/* : String */;
1242 val
* var728
/* : NativeArray[String] */;
1243 static val
* varonce727
;
1244 static val
* varonce729
;
1245 val
* var730
/* : String */;
1246 char* var731
/* : NativeString */;
1247 val
* var732
/* : FlatString */;
1248 static val
* varonce733
;
1249 val
* var734
/* : String */;
1250 char* var735
/* : NativeString */;
1251 val
* var736
/* : FlatString */;
1252 val
* var737
/* : String */;
1253 val
* var739
/* : NativeArray[String] */;
1254 static val
* varonce738
;
1255 static val
* varonce740
;
1256 val
* var741
/* : String */;
1257 char* var742
/* : NativeString */;
1258 val
* var743
/* : FlatString */;
1259 val
* var744
/* : String */;
1260 val
* var746
/* : NativeArray[String] */;
1261 static val
* varonce745
;
1262 static val
* varonce747
;
1263 val
* var748
/* : String */;
1264 char* var749
/* : NativeString */;
1265 val
* var750
/* : FlatString */;
1266 static val
* varonce751
;
1267 val
* var752
/* : String */;
1268 char* var753
/* : NativeString */;
1269 val
* var754
/* : FlatString */;
1270 val
* var755
/* : String */;
1271 static val
* varonce756
;
1272 val
* var757
/* : String */;
1273 char* var758
/* : NativeString */;
1274 val
* var759
/* : FlatString */;
1275 short int var760
/* : Bool */;
1276 val
* var761
/* : MClass */;
1277 val
* var763
/* : MClass */;
1278 val
* var764
/* : MClassKind */;
1279 val
* var766
/* : MClassKind */;
1280 val
* var767
/* : Sys */;
1281 val
* var768
/* : MClassKind */;
1282 short int var769
/* : Bool */;
1283 short int var771
/* : Bool */;
1284 short int var773
/* : Bool */;
1285 short int var_774
/* var : Bool */;
1286 val
* var775
/* : MClass */;
1287 val
* var777
/* : MClass */;
1288 val
* var778
/* : String */;
1289 val
* var780
/* : String */;
1290 static val
* varonce781
;
1291 val
* var782
/* : String */;
1292 char* var783
/* : NativeString */;
1293 val
* var784
/* : FlatString */;
1294 short int var785
/* : Bool */;
1295 short int var787
/* : Bool */;
1296 short int var788
/* : Bool */;
1297 val
* var789
/* : MModule */;
1298 val
* var791
/* : MModule */;
1299 val
* var792
/* : MClassType */;
1300 val
* var_pointer_type
/* var pointer_type: MClassType */;
1301 val
* var794
/* : NativeArray[String] */;
1302 static val
* varonce793
;
1303 static val
* varonce795
;
1304 val
* var796
/* : String */;
1305 char* var797
/* : NativeString */;
1306 val
* var798
/* : FlatString */;
1307 val
* var799
/* : String */;
1308 val
* var801
/* : NativeArray[String] */;
1309 static val
* varonce800
;
1310 static val
* varonce802
;
1311 val
* var803
/* : String */;
1312 char* var804
/* : NativeString */;
1313 val
* var805
/* : FlatString */;
1314 static val
* varonce806
;
1315 val
* var807
/* : String */;
1316 char* var808
/* : NativeString */;
1317 val
* var809
/* : FlatString */;
1318 val
* var810
/* : String */;
1319 val
* var811
/* : String */;
1320 val
* var813
/* : NativeArray[String] */;
1321 static val
* varonce812
;
1322 static val
* varonce814
;
1323 val
* var815
/* : String */;
1324 char* var816
/* : NativeString */;
1325 val
* var817
/* : FlatString */;
1326 static val
* varonce818
;
1327 val
* var819
/* : String */;
1328 char* var820
/* : NativeString */;
1329 val
* var821
/* : FlatString */;
1330 val
* var822
/* : String */;
1331 val
* var823
/* : String */;
1332 val
* var825
/* : NativeArray[String] */;
1333 static val
* varonce824
;
1334 static val
* varonce826
;
1335 val
* var827
/* : String */;
1336 char* var828
/* : NativeString */;
1337 val
* var829
/* : FlatString */;
1338 static val
* varonce830
;
1339 val
* var831
/* : String */;
1340 char* var832
/* : NativeString */;
1341 val
* var833
/* : FlatString */;
1342 val
* var834
/* : String */;
1343 val
* var835
/* : String */;
1344 val
* var837
/* : NativeArray[String] */;
1345 static val
* varonce836
;
1346 static val
* varonce838
;
1347 val
* var839
/* : String */;
1348 char* var840
/* : NativeString */;
1349 val
* var841
/* : FlatString */;
1350 val
* var842
/* : String */;
1351 val
* var843
/* : String */;
1352 static val
* varonce844
;
1353 val
* var845
/* : String */;
1354 char* var846
/* : NativeString */;
1355 val
* var847
/* : FlatString */;
1356 val
* var848
/* : RuntimeVariable */;
1357 val
* var_res849
/* var res: RuntimeVariable */;
1358 val
* var852
/* : NativeArray[String] */;
1359 static val
* varonce851
;
1360 static val
* varonce853
;
1361 val
* var854
/* : String */;
1362 char* var855
/* : NativeString */;
1363 val
* var856
/* : FlatString */;
1364 static val
* varonce857
;
1365 val
* var858
/* : String */;
1366 char* var859
/* : NativeString */;
1367 val
* var860
/* : FlatString */;
1368 val
* var861
/* : String */;
1369 val
* var862
/* : String */;
1370 val
* var863
/* : String */;
1371 val
* var865
/* : NativeArray[String] */;
1372 static val
* varonce864
;
1373 static val
* varonce866
;
1374 val
* var867
/* : String */;
1375 char* var868
/* : NativeString */;
1376 val
* var869
/* : FlatString */;
1377 val
* var870
/* : String */;
1378 val
* var871
/* : String */;
1379 static val
* varonce872
;
1380 val
* var873
/* : String */;
1381 char* var874
/* : NativeString */;
1382 val
* var875
/* : FlatString */;
1383 val
* var877
/* : NativeArray[String] */;
1384 static val
* varonce876
;
1385 static val
* varonce878
;
1386 val
* var879
/* : String */;
1387 char* var880
/* : NativeString */;
1388 val
* var881
/* : FlatString */;
1389 val
* var882
/* : String */;
1390 val
* var884
/* : NativeArray[String] */;
1391 static val
* varonce883
;
1392 static val
* varonce885
;
1393 val
* var886
/* : String */;
1394 char* var887
/* : NativeString */;
1395 val
* var888
/* : FlatString */;
1396 static val
* varonce889
;
1397 val
* var890
/* : String */;
1398 char* var891
/* : NativeString */;
1399 val
* var892
/* : FlatString */;
1400 val
* var893
/* : String */;
1401 val
* var894
/* : String */;
1402 val
* var896
/* : NativeArray[String] */;
1403 static val
* varonce895
;
1404 static val
* varonce897
;
1405 val
* var898
/* : String */;
1406 char* var899
/* : NativeString */;
1407 val
* var900
/* : FlatString */;
1408 static val
* varonce901
;
1409 val
* var902
/* : String */;
1410 char* var903
/* : NativeString */;
1411 val
* var904
/* : FlatString */;
1412 static val
* varonce905
;
1413 val
* var906
/* : String */;
1414 char* var907
/* : NativeString */;
1415 val
* var908
/* : FlatString */;
1416 val
* var909
/* : String */;
1417 val
* var910
/* : String */;
1418 val
* var911
/* : String */;
1419 val
* var913
/* : NativeArray[String] */;
1420 static val
* varonce912
;
1421 static val
* varonce914
;
1422 val
* var915
/* : String */;
1423 char* var916
/* : NativeString */;
1424 val
* var917
/* : FlatString */;
1425 static val
* varonce918
;
1426 val
* var919
/* : String */;
1427 char* var920
/* : NativeString */;
1428 val
* var921
/* : FlatString */;
1429 val
* var922
/* : String */;
1430 val
* var923
/* : String */;
1431 static val
* varonce924
;
1432 val
* var925
/* : String */;
1433 char* var926
/* : NativeString */;
1434 val
* var927
/* : FlatString */;
1435 val
* var929
/* : NativeArray[String] */;
1436 static val
* varonce928
;
1437 static val
* varonce930
;
1438 val
* var931
/* : String */;
1439 char* var932
/* : NativeString */;
1440 val
* var933
/* : FlatString */;
1441 val
* var934
/* : String */;
1442 val
* var936
/* : NativeArray[String] */;
1443 static val
* varonce935
;
1444 static val
* varonce937
;
1445 val
* var938
/* : String */;
1446 char* var939
/* : NativeString */;
1447 val
* var940
/* : FlatString */;
1448 static val
* varonce941
;
1449 val
* var942
/* : String */;
1450 char* var943
/* : NativeString */;
1451 val
* var944
/* : FlatString */;
1452 val
* var945
/* : String */;
1453 val
* var946
/* : String */;
1454 val
* var948
/* : NativeArray[String] */;
1455 static val
* varonce947
;
1456 static val
* varonce949
;
1457 val
* var950
/* : String */;
1458 char* var951
/* : NativeString */;
1459 val
* var952
/* : FlatString */;
1460 static val
* varonce953
;
1461 val
* var954
/* : String */;
1462 char* var955
/* : NativeString */;
1463 val
* var956
/* : FlatString */;
1464 val
* var957
/* : String */;
1465 val
* var958
/* : String */;
1466 val
* var960
/* : NativeArray[String] */;
1467 static val
* varonce959
;
1468 static val
* varonce961
;
1469 val
* var962
/* : String */;
1470 char* var963
/* : NativeString */;
1471 val
* var964
/* : FlatString */;
1472 static val
* varonce965
;
1473 val
* var966
/* : String */;
1474 char* var967
/* : NativeString */;
1475 val
* var968
/* : FlatString */;
1476 val
* var969
/* : String */;
1477 val
* var970
/* : String */;
1478 val
* var972
/* : NativeArray[String] */;
1479 static val
* varonce971
;
1480 static val
* varonce973
;
1481 val
* var974
/* : String */;
1482 char* var975
/* : NativeString */;
1483 val
* var976
/* : FlatString */;
1484 val
* var977
/* : String */;
1485 val
* var978
/* : String */;
1486 static val
* varonce979
;
1487 val
* var980
/* : String */;
1488 char* var981
/* : NativeString */;
1489 val
* var982
/* : FlatString */;
1490 val
* var983
/* : RuntimeVariable */;
1491 val
* var_res984
/* var res: RuntimeVariable */;
1492 val
* var986
/* : Map[MClass, Array[nullable MProperty]] */;
1493 val
* var988
/* : Map[MClass, Array[nullable MProperty]] */;
1494 val
* var989
/* : nullable Object */;
1495 val
* var_attrs
/* var attrs: nullable Array[nullable MProperty] */;
1496 short int var990
/* : Bool */;
1497 short int var991
/* : Bool */;
1498 val
* var993
/* : NativeArray[String] */;
1499 static val
* varonce992
;
1500 static val
* varonce994
;
1501 val
* var995
/* : String */;
1502 char* var996
/* : NativeString */;
1503 val
* var997
/* : FlatString */;
1504 val
* var998
/* : String */;
1505 val
* var999
/* : String */;
1506 val
* var1001
/* : NativeArray[String] */;
1507 static val
* varonce1000
;
1508 static val
* varonce1002
;
1509 val
* var1003
/* : String */;
1510 char* var1004
/* : NativeString */;
1511 val
* var1005
/* : FlatString */;
1512 static val
* varonce1006
;
1513 val
* var1007
/* : String */;
1514 char* var1008
/* : NativeString */;
1515 val
* var1009
/* : FlatString */;
1516 val
* var1010
/* : String */;
1517 long var1011
/* : Int */;
1518 long var1013
/* : Int */;
1519 val
* var1014
/* : String */;
1520 val
* var1015
/* : String */;
1521 val
* var1017
/* : NativeArray[String] */;
1522 static val
* varonce1016
;
1523 static val
* varonce1018
;
1524 val
* var1019
/* : String */;
1525 char* var1020
/* : NativeString */;
1526 val
* var1021
/* : FlatString */;
1527 val
* var1022
/* : String */;
1528 val
* var1023
/* : String */;
1529 static val
* varonce1024
;
1530 val
* var1025
/* : String */;
1531 char* var1026
/* : NativeString */;
1532 val
* var1027
/* : FlatString */;
1533 val
* var1029
/* : NativeArray[String] */;
1534 static val
* varonce1028
;
1535 static val
* varonce1030
;
1536 val
* var1031
/* : String */;
1537 char* var1032
/* : NativeString */;
1538 val
* var1033
/* : FlatString */;
1539 val
* var1034
/* : String */;
1540 val
* var1036
/* : NativeArray[String] */;
1541 static val
* varonce1035
;
1542 static val
* varonce1037
;
1543 val
* var1038
/* : String */;
1544 char* var1039
/* : NativeString */;
1545 val
* var1040
/* : FlatString */;
1546 static val
* varonce1041
;
1547 val
* var1042
/* : String */;
1548 char* var1043
/* : NativeString */;
1549 val
* var1044
/* : FlatString */;
1550 val
* var1045
/* : String */;
1551 val
* var1046
/* : String */;
1552 short int var1047
/* : Bool */;
1553 short int var1048
/* : Bool */;
1554 short int var1050
/* : Bool */;
1555 short int var1051
/* : Bool */;
1556 val
* var1053
/* : NativeArray[String] */;
1557 static val
* varonce1052
;
1558 static val
* varonce1054
;
1559 val
* var1055
/* : String */;
1560 char* var1056
/* : NativeString */;
1561 val
* var1057
/* : FlatString */;
1562 static val
* varonce1058
;
1563 val
* var1059
/* : String */;
1564 char* var1060
/* : NativeString */;
1565 val
* var1061
/* : FlatString */;
1566 val
* var1062
/* : String */;
1567 val
* var1063
/* : String */;
1568 static val
* varonce1064
;
1569 val
* var1065
/* : String */;
1570 char* var1066
/* : NativeString */;
1571 val
* var1067
/* : FlatString */;
1574 { /* Inline model#MClass#intro (var_mclass) on <var_mclass:MClass> */
1575 var2
= var_mclass
->attrs
[COLOR_nit__model__MClass___intro
].val
; /* _intro on <var_mclass:MClass> */
1576 if (unlikely(var2
== NULL
)) {
1577 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
1578 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 460);
1586 { /* Inline model#MClassDef#bound_mtype (var) on <var:MClassDef> */
1587 var5
= var
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var:MClassDef> */
1588 if (unlikely(var5
== NULL
)) {
1589 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1590 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
1599 var6
= nit___nit__MClass___nit__model_base__MEntity__c_name(var_mclass
);
1603 var7
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompiler__new_visitor
]))(self
); /* new_visitor on <self:SeparateCompiler>*/
1607 { /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (self) on <self:SeparateCompiler> */
1608 var10
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <self:SeparateCompiler> */
1614 if (var_rta
== NULL
) {
1615 var15
= 0; /* is null */
1617 var15
= 1; /* arg is null and recv is not */
1620 { /* Inline kernel#Object#!= (var_rta,((val*)NULL)) on <var_rta:nullable RapidTypeAnalysis> */
1621 var_other
= ((val
*)NULL
);
1623 var18
= ((short int(*)(val
* self
, val
* p0
))(var_rta
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_rta
, var_other
); /* == on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)>*/
1628 RET_LABEL17
:(void)0;
1635 { /* Inline rapid_type_analysis#RapidTypeAnalysis#live_classes (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
1636 var22
= var_rta
->attrs
[COLOR_nit__rapid_type_analysis__RapidTypeAnalysis___live_classes
].val
; /* _live_classes on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
1637 if (unlikely(var22
== NULL
)) {
1638 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_classes");
1639 PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis
, 69);
1643 RET_LABEL21
:(void)0;
1647 var23
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var20
, var_mclass
);
1657 var26
= nit__abstract_compiler___MClassType___MType__is_c_primitive(var_mtype
);
1667 { /* Inline model#MClass#name (var_mclass) on <var_mclass:MClass> */
1668 var31
= var_mclass
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var_mclass:MClass> */
1669 if (unlikely(var31
== NULL
)) {
1670 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1671 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
1675 RET_LABEL30
:(void)0;
1678 if (likely(varonce
!=NULL
)) {
1681 var33
= "NativeArray";
1682 var34
= standard___standard__NativeString___to_s_with_length(var33
, 11l);
1687 { /* Inline kernel#Object#!= (var29,var32) on <var29:String> */
1690 var37
= ((short int(*)(val
* self
, val
* p0
))(var29
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var29
, var_other
); /* == on <var29:String>*/
1695 RET_LABEL36
:(void)0;
1705 { /* Inline model#MClass#name (var_mclass) on <var_mclass:MClass> */
1706 var42
= var_mclass
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var_mclass:MClass> */
1707 if (unlikely(var42
== NULL
)) {
1708 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1709 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
1713 RET_LABEL41
:(void)0;
1716 if (likely(varonce43
!=NULL
)) {
1720 var46
= standard___standard__NativeString___to_s_with_length(var45
, 7l);
1725 { /* Inline kernel#Object#!= (var40,var44) on <var40:String> */
1728 var49
= ((short int(*)(val
* self
, val
* p0
))(var40
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var40
, var_other
); /* == on <var40:String>*/
1733 RET_LABEL48
:(void)0;
1740 var_is_dead
= var11
;
1741 if (unlikely(varonce51
==NULL
)) {
1742 var52
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1743 if (likely(varonce53
!=NULL
)) {
1746 var55
= "/* runtime class ";
1747 var56
= standard___standard__NativeString___to_s_with_length(var55
, 17l);
1751 ((struct instance_standard__NativeArray
*)var52
)->values
[0]=var54
;
1752 if (likely(varonce57
!=NULL
)) {
1756 var60
= standard___standard__NativeString___to_s_with_length(var59
, 3l);
1760 ((struct instance_standard__NativeArray
*)var52
)->values
[2]=var58
;
1765 ((struct instance_standard__NativeArray
*)var52
)->values
[1]=var_c_name
;
1767 var61
= ((val
*(*)(val
* self
))(var52
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var52
); /* native_to_s on <var52:NativeArray[String]>*/
1771 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var61
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1773 var62
= !var_is_dead
;
1775 if (unlikely(varonce63
==NULL
)) {
1776 var64
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
1777 if (likely(varonce65
!=NULL
)) {
1781 var68
= standard___standard__NativeString___to_s_with_length(var67
, 6l);
1785 ((struct instance_standard__NativeArray
*)var64
)->values
[0]=var66
;
1790 ((struct instance_standard__NativeArray
*)var64
)->values
[1]=var_c_name
;
1792 var69
= ((val
*(*)(val
* self
))(var64
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var64
); /* native_to_s on <var64:NativeArray[String]>*/
1795 if (unlikely(varonce70
==NULL
)) {
1796 var71
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1797 if (likely(varonce72
!=NULL
)) {
1800 var74
= "extern const struct class class_";
1801 var75
= standard___standard__NativeString___to_s_with_length(var74
, 32l);
1805 ((struct instance_standard__NativeArray
*)var71
)->values
[0]=var73
;
1806 if (likely(varonce76
!=NULL
)) {
1810 var79
= standard___standard__NativeString___to_s_with_length(var78
, 1l);
1814 ((struct instance_standard__NativeArray
*)var71
)->values
[2]=var77
;
1819 ((struct instance_standard__NativeArray
*)var71
)->values
[1]=var_c_name
;
1821 var80
= ((val
*(*)(val
* self
))(var71
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var71
); /* native_to_s on <var71:NativeArray[String]>*/
1825 nit___nit__AbstractCompiler___provide_declaration(self
, var69
, var80
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
1827 if (unlikely(varonce81
==NULL
)) {
1828 var82
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1829 if (likely(varonce83
!=NULL
)) {
1832 var85
= "const struct class class_";
1833 var86
= standard___standard__NativeString___to_s_with_length(var85
, 25l);
1837 ((struct instance_standard__NativeArray
*)var82
)->values
[0]=var84
;
1838 if (likely(varonce87
!=NULL
)) {
1842 var90
= standard___standard__NativeString___to_s_with_length(var89
, 4l);
1846 ((struct instance_standard__NativeArray
*)var82
)->values
[2]=var88
;
1851 ((struct instance_standard__NativeArray
*)var82
)->values
[1]=var_c_name
;
1853 var91
= ((val
*(*)(val
* self
))(var82
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var82
); /* native_to_s on <var82:NativeArray[String]>*/
1857 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var91
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1859 if (unlikely(varonce92
==NULL
)) {
1860 var93
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
1861 if (likely(varonce94
!=NULL
)) {
1864 var96
= ", /* box_kind */";
1865 var97
= standard___standard__NativeString___to_s_with_length(var96
, 16l);
1869 ((struct instance_standard__NativeArray
*)var93
)->values
[1]=var95
;
1875 var98
= nit___nit__SeparateCompiler___box_kind_of(self
, var_mclass
);
1877 var99
= standard__string___Int___Object__to_s(var98
);
1878 ((struct instance_standard__NativeArray
*)var93
)->values
[0]=var99
;
1880 var100
= ((val
*(*)(val
* self
))(var93
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var93
); /* native_to_s on <var93:NativeArray[String]>*/
1884 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var100
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1886 if (likely(varonce101
!=NULL
)) {
1887 var102
= varonce101
;
1890 var104
= standard___standard__NativeString___to_s_with_length(var103
, 1l);
1892 varonce101
= var102
;
1895 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var102
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1898 { /* Inline separate_compiler#SeparateCompiler#method_tables (self) on <self:SeparateCompiler> */
1899 var107
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___method_tables
].val
; /* _method_tables on <self:SeparateCompiler> */
1900 if (unlikely(var107
== NULL
)) {
1901 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _method_tables");
1902 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1053);
1906 RET_LABEL106
:(void)0;
1910 var108
= ((val
*(*)(val
* self
, val
* p0
))((((long)var105
&3)?class_info
[((long)var105
&3)]:var105
->class)->vft
[COLOR_standard__abstract_collection__MapRead__get_or_null
]))(var105
, var_mclass
); /* get_or_null on <var105:Map[MClass, Array[nullable MPropDef]]>*/
1913 if (var_vft
== NULL
) {
1914 var109
= 0; /* is null */
1916 var109
= 1; /* arg is null and recv is not */
1919 { /* Inline kernel#Object#!= (var_vft,((val*)NULL)) on <var_vft:nullable Array[nullable MPropDef]> */
1920 var_other
= ((val
*)NULL
);
1922 var112
= ((short int(*)(val
* self
, val
* p0
))(var_vft
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_vft
, var_other
); /* == on <var_vft:nullable Array[nullable MPropDef](Array[nullable MPropDef])>*/
1927 RET_LABEL111
:(void)0;
1934 { /* Inline array#AbstractArrayRead#length (var_vft) on <var_vft:nullable Array[nullable MPropDef](Array[nullable MPropDef])> */
1935 var116
= var_vft
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_vft:nullable Array[nullable MPropDef](Array[nullable MPropDef])> */
1937 RET_LABEL115
:(void)0;
1943 { /* Inline kernel#Int#< (var_i,var_117) on <var_i:Int> */
1944 /* Covariant cast for argument 0 (i) <var_117:Int> isa OTHER */
1945 /* <var_117:Int> isa OTHER */
1946 var120
= 1; /* easy <var_117:Int> isa OTHER*/
1947 if (unlikely(!var120
)) {
1948 var_class_name
= type_standard__Int
.name
;
1949 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1950 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
1953 var121
= var_i
< var_117
;
1956 RET_LABEL119
:(void)0;
1961 var122
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_vft
, var_i
);
1963 var_mpropdef
= var122
;
1964 if (var_mpropdef
== NULL
) {
1965 var123
= 1; /* is null */
1967 var123
= 0; /* arg is null but recv is not */
1970 { /* Inline kernel#Object#== (var_mpropdef,((val*)NULL)) on <var_mpropdef:nullable MPropDef> */
1971 var_other126
= ((val
*)NULL
);
1973 { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other126) on <var_mpropdef:nullable MPropDef(MPropDef)> */
1974 var129
= var_mpropdef
== var_other126
;
1977 RET_LABEL128
:(void)0;
1982 RET_LABEL125
:(void)0;
1987 if (likely(varonce130
!=NULL
)) {
1988 var131
= varonce130
;
1990 var132
= "NULL, /* empty */";
1991 var133
= standard___standard__NativeString___to_s_with_length(var132
, 17l);
1993 varonce130
= var131
;
1996 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var131
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1999 /* <var_mpropdef:nullable MPropDef(MPropDef)> isa MMethodDef */
2000 cltype135
= type_nit__MMethodDef
.color
;
2001 idtype136
= type_nit__MMethodDef
.id
;
2002 if(cltype135
>= var_mpropdef
->type
->table_size
) {
2005 var134
= var_mpropdef
->type
->type_table
[cltype135
] == idtype136
;
2007 if (unlikely(!var134
)) {
2008 PRINT_ERROR("Runtime error: %s", "Assert failed");
2009 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 838);
2012 if (var_rta
== NULL
) {
2013 var138
= 0; /* is null */
2015 var138
= 1; /* arg is null and recv is not */
2018 { /* Inline kernel#Object#!= (var_rta,((val*)NULL)) on <var_rta:nullable RapidTypeAnalysis> */
2019 var_other
= ((val
*)NULL
);
2021 var141
= ((short int(*)(val
* self
, val
* p0
))(var_rta
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_rta
, var_other
); /* == on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)>*/
2026 RET_LABEL140
:(void)0;
2033 { /* Inline rapid_type_analysis#RapidTypeAnalysis#live_methoddefs (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
2034 var146
= var_rta
->attrs
[COLOR_nit__rapid_type_analysis__RapidTypeAnalysis___live_methoddefs
].val
; /* _live_methoddefs on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
2035 if (unlikely(var146
== NULL
)) {
2036 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_methoddefs");
2037 PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis
, 79);
2041 RET_LABEL145
:(void)0;
2045 var147
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var144
, var_mpropdef
);
2053 if (unlikely(varonce149
==NULL
)) {
2054 var150
= NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String
);
2055 if (likely(varonce151
!=NULL
)) {
2056 var152
= varonce151
;
2058 var153
= "NULL, /* DEAD ";
2059 var154
= standard___standard__NativeString___to_s_with_length(var153
, 14l);
2061 varonce151
= var152
;
2063 ((struct instance_standard__NativeArray
*)var150
)->values
[0]=var152
;
2064 if (likely(varonce155
!=NULL
)) {
2065 var156
= varonce155
;
2068 var158
= standard___standard__NativeString___to_s_with_length(var157
, 1l);
2070 varonce155
= var156
;
2072 ((struct instance_standard__NativeArray
*)var150
)->values
[2]=var156
;
2073 if (likely(varonce159
!=NULL
)) {
2074 var160
= varonce159
;
2077 var162
= standard___standard__NativeString___to_s_with_length(var161
, 1l);
2079 varonce159
= var160
;
2081 ((struct instance_standard__NativeArray
*)var150
)->values
[4]=var160
;
2082 if (likely(varonce163
!=NULL
)) {
2083 var164
= varonce163
;
2086 var166
= standard___standard__NativeString___to_s_with_length(var165
, 3l);
2088 varonce163
= var164
;
2090 ((struct instance_standard__NativeArray
*)var150
)->values
[6]=var164
;
2092 var150
= varonce149
;
2096 { /* Inline model#MClass#intro_mmodule (var_mclass) on <var_mclass:MClass> */
2097 var169
= var_mclass
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var_mclass:MClass> */
2098 if (unlikely(var169
== NULL
)) {
2099 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
2100 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 357);
2104 RET_LABEL168
:(void)0;
2108 var170
= ((val
*(*)(val
* self
))(var167
->class->vft
[COLOR_standard__string__Object__to_s
]))(var167
); /* to_s on <var167:MModule>*/
2110 ((struct instance_standard__NativeArray
*)var150
)->values
[1]=var170
;
2112 var171
= ((val
*(*)(val
* self
))(var_mclass
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mclass
); /* to_s on <var_mclass:MClass>*/
2114 ((struct instance_standard__NativeArray
*)var150
)->values
[3]=var171
;
2116 var172
= ((val
*(*)(val
* self
))(var_mpropdef
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mpropdef
); /* to_s on <var_mpropdef:nullable MPropDef(MMethodDef)>*/
2118 ((struct instance_standard__NativeArray
*)var150
)->values
[5]=var172
;
2120 var173
= ((val
*(*)(val
* self
))(var150
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var150
); /* native_to_s on <var150:NativeArray[String]>*/
2122 varonce149
= var150
;
2124 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var173
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
2130 var174
= nit__separate_compiler___MMethodDef___virtual_runtime_function(var_mpropdef
);
2134 var175
= nit___nit__AbstractRuntimeFunction___c_name(var_rf
);
2137 nit___nit__AbstractCompilerVisitor___require_declaration(var_v
, var175
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
2139 if (unlikely(varonce176
==NULL
)) {
2140 var177
= NEW_standard__NativeArray(9l, &type_standard__NativeArray__standard__String
);
2141 if (likely(varonce178
!=NULL
)) {
2142 var179
= varonce178
;
2144 var180
= "(nitmethod_t)";
2145 var181
= standard___standard__NativeString___to_s_with_length(var180
, 13l);
2147 varonce178
= var179
;
2149 ((struct instance_standard__NativeArray
*)var177
)->values
[0]=var179
;
2150 if (likely(varonce182
!=NULL
)) {
2151 var183
= varonce182
;
2153 var184
= ", /* pointer to ";
2154 var185
= standard___standard__NativeString___to_s_with_length(var184
, 16l);
2156 varonce182
= var183
;
2158 ((struct instance_standard__NativeArray
*)var177
)->values
[2]=var183
;
2159 if (likely(varonce186
!=NULL
)) {
2160 var187
= varonce186
;
2163 var189
= standard___standard__NativeString___to_s_with_length(var188
, 1l);
2165 varonce186
= var187
;
2167 ((struct instance_standard__NativeArray
*)var177
)->values
[4]=var187
;
2168 if (likely(varonce190
!=NULL
)) {
2169 var191
= varonce190
;
2172 var193
= standard___standard__NativeString___to_s_with_length(var192
, 1l);
2174 varonce190
= var191
;
2176 ((struct instance_standard__NativeArray
*)var177
)->values
[6]=var191
;
2177 if (likely(varonce194
!=NULL
)) {
2178 var195
= varonce194
;
2181 var197
= standard___standard__NativeString___to_s_with_length(var196
, 3l);
2183 varonce194
= var195
;
2185 ((struct instance_standard__NativeArray
*)var177
)->values
[8]=var195
;
2187 var177
= varonce176
;
2191 var198
= nit___nit__AbstractRuntimeFunction___c_name(var_rf
);
2193 ((struct instance_standard__NativeArray
*)var177
)->values
[1]=var198
;
2195 { /* Inline model#MClass#intro_mmodule (var_mclass) on <var_mclass:MClass> */
2196 var201
= var_mclass
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var_mclass:MClass> */
2197 if (unlikely(var201
== NULL
)) {
2198 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
2199 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 357);
2203 RET_LABEL200
:(void)0;
2207 var202
= ((val
*(*)(val
* self
))(var199
->class->vft
[COLOR_standard__string__Object__to_s
]))(var199
); /* to_s on <var199:MModule>*/
2209 ((struct instance_standard__NativeArray
*)var177
)->values
[3]=var202
;
2211 var203
= ((val
*(*)(val
* self
))(var_mclass
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mclass
); /* to_s on <var_mclass:MClass>*/
2213 ((struct instance_standard__NativeArray
*)var177
)->values
[5]=var203
;
2215 var204
= ((val
*(*)(val
* self
))(var_mpropdef
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mpropdef
); /* to_s on <var_mpropdef:nullable MPropDef(MMethodDef)>*/
2217 ((struct instance_standard__NativeArray
*)var177
)->values
[7]=var204
;
2219 var205
= ((val
*(*)(val
* self
))(var177
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var177
); /* native_to_s on <var177:NativeArray[String]>*/
2221 varonce176
= var177
;
2223 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var205
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
2226 BREAK_label
: (void)0;
2228 var206
= standard___standard__Int___Discrete__successor(var_i
, 1l);
2232 goto BREAK_label207
;
2235 BREAK_label207
: (void)0;
2238 if (likely(varonce208
!=NULL
)) {
2239 var209
= varonce208
;
2242 var211
= standard___standard__NativeString___to_s_with_length(var210
, 1l);
2244 varonce208
= var209
;
2247 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var209
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
2249 if (likely(varonce212
!=NULL
)) {
2250 var213
= varonce212
;
2253 var215
= standard___standard__NativeString___to_s_with_length(var214
, 2l);
2255 varonce212
= var213
;
2258 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var213
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
2263 var217
= nit__abstract_compiler___MClassType___MType__is_c_primitive(var_mtype
);
2270 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
2271 var221
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
2272 if (unlikely(var221
== NULL
)) {
2273 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2274 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
2278 RET_LABEL220
:(void)0;
2282 { /* Inline model#MClass#name (var219) on <var219:MClass> */
2283 var224
= var219
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var219:MClass> */
2284 if (unlikely(var224
== NULL
)) {
2285 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2286 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
2290 RET_LABEL223
:(void)0;
2293 if (likely(varonce225
!=NULL
)) {
2294 var226
= varonce225
;
2297 var228
= standard___standard__NativeString___to_s_with_length(var227
, 7l);
2299 varonce225
= var226
;
2302 var229
= ((short int(*)(val
* self
, val
* p0
))(var222
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var222
, var226
); /* == on <var222:String>*/
2308 { /* Inline separate_compiler#MType#is_tagged (var_mtype) on <var_mtype:MClassType> */
2309 var232
= var_mtype
->attrs
[COLOR_nit__separate_compiler__MType___is_tagged
].s
; /* _is_tagged on <var_mtype:MClassType> */
2311 RET_LABEL231
:(void)0;
2319 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
2320 var235
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2321 if (unlikely(var235
== NULL
)) {
2322 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2323 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
2327 RET_LABEL234
:(void)0;
2330 if (unlikely(varonce236
==NULL
)) {
2331 var237
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2332 if (likely(varonce238
!=NULL
)) {
2333 var239
= varonce238
;
2335 var240
= "struct instance_";
2336 var241
= standard___standard__NativeString___to_s_with_length(var240
, 16l);
2338 varonce238
= var239
;
2340 ((struct instance_standard__NativeArray
*)var237
)->values
[0]=var239
;
2341 if (likely(varonce242
!=NULL
)) {
2342 var243
= varonce242
;
2345 var245
= standard___standard__NativeString___to_s_with_length(var244
, 2l);
2347 varonce242
= var243
;
2349 ((struct instance_standard__NativeArray
*)var237
)->values
[2]=var243
;
2351 var237
= varonce236
;
2354 ((struct instance_standard__NativeArray
*)var237
)->values
[1]=var_c_name
;
2356 var246
= ((val
*(*)(val
* self
))(var237
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var237
); /* native_to_s on <var237:NativeArray[String]>*/
2358 varonce236
= var237
;
2360 nit___nit__CodeWriter___add_decl(var233
, var246
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var233:CodeWriter>*/
2363 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
2364 var249
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2365 if (unlikely(var249
== NULL
)) {
2366 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2367 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
2371 RET_LABEL248
:(void)0;
2374 if (likely(varonce250
!=NULL
)) {
2375 var251
= varonce250
;
2377 var252
= "const struct type *type;";
2378 var253
= standard___standard__NativeString___to_s_with_length(var252
, 24l);
2380 varonce250
= var251
;
2383 nit___nit__CodeWriter___add_decl(var247
, var251
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var247:CodeWriter>*/
2386 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
2387 var256
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2388 if (unlikely(var256
== NULL
)) {
2389 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2390 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
2394 RET_LABEL255
:(void)0;
2397 if (likely(varonce257
!=NULL
)) {
2398 var258
= varonce257
;
2400 var259
= "const struct class *class;";
2401 var260
= standard___standard__NativeString___to_s_with_length(var259
, 26l);
2403 varonce257
= var258
;
2406 nit___nit__CodeWriter___add_decl(var254
, var258
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var254:CodeWriter>*/
2409 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
2410 var263
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2411 if (unlikely(var263
== NULL
)) {
2412 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2413 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
2417 RET_LABEL262
:(void)0;
2420 if (unlikely(varonce264
==NULL
)) {
2421 var265
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
2422 if (likely(varonce266
!=NULL
)) {
2423 var267
= varonce266
;
2426 var269
= standard___standard__NativeString___to_s_with_length(var268
, 7l);
2428 varonce266
= var267
;
2430 ((struct instance_standard__NativeArray
*)var265
)->values
[1]=var267
;
2432 var265
= varonce264
;
2436 var270
= nit__abstract_compiler___MClassType___MType__ctype_extern(var_mtype
);
2438 ((struct instance_standard__NativeArray
*)var265
)->values
[0]=var270
;
2440 var271
= ((val
*(*)(val
* self
))(var265
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var265
); /* native_to_s on <var265:NativeArray[String]>*/
2442 varonce264
= var265
;
2444 nit___nit__CodeWriter___add_decl(var261
, var271
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var261:CodeWriter>*/
2447 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
2448 var274
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2449 if (unlikely(var274
== NULL
)) {
2450 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2451 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
2455 RET_LABEL273
:(void)0;
2458 if (likely(varonce275
!=NULL
)) {
2459 var276
= varonce275
;
2462 var278
= standard___standard__NativeString___to_s_with_length(var277
, 2l);
2464 varonce275
= var276
;
2467 nit___nit__CodeWriter___add_decl(var272
, var276
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var272:CodeWriter>*/
2469 if (var_rta
== NULL
) {
2470 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2471 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 864);
2474 { /* Inline rapid_type_analysis#RapidTypeAnalysis#live_types (var_rta) on <var_rta:nullable RapidTypeAnalysis> */
2475 if (unlikely(var_rta
== NULL
)) {
2476 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2477 PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis
, 60);
2480 var282
= var_rta
->attrs
[COLOR_nit__rapid_type_analysis__RapidTypeAnalysis___live_types
].val
; /* _live_types on <var_rta:nullable RapidTypeAnalysis> */
2481 if (unlikely(var282
== NULL
)) {
2482 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
2483 PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis
, 60);
2487 RET_LABEL281
:(void)0;
2491 var283
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var280
, var_mtype
);
2497 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
2498 var288
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
2499 if (unlikely(var288
== NULL
)) {
2500 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2501 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
2505 RET_LABEL287
:(void)0;
2509 { /* Inline model#MClass#name (var286) on <var286:MClass> */
2510 var291
= var286
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var286:MClass> */
2511 if (unlikely(var291
== NULL
)) {
2512 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2513 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
2517 RET_LABEL290
:(void)0;
2520 if (likely(varonce292
!=NULL
)) {
2521 var293
= varonce292
;
2524 var295
= standard___standard__NativeString___to_s_with_length(var294
, 7l);
2526 varonce292
= var293
;
2529 { /* Inline kernel#Object#!= (var289,var293) on <var289:String> */
2532 var298
= ((short int(*)(val
* self
, val
* p0
))(var289
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var289
, var_other
); /* == on <var289:String>*/
2537 RET_LABEL297
:(void)0;
2548 if (unlikely(varonce300
==NULL
)) {
2549 var301
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
2550 if (likely(varonce302
!=NULL
)) {
2551 var303
= varonce302
;
2554 var305
= standard___standard__NativeString___to_s_with_length(var304
, 4l);
2556 varonce302
= var303
;
2558 ((struct instance_standard__NativeArray
*)var301
)->values
[0]=var303
;
2560 var301
= varonce300
;
2563 ((struct instance_standard__NativeArray
*)var301
)->values
[1]=var_c_name
;
2565 var306
= ((val
*(*)(val
* self
))(var301
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var301
); /* native_to_s on <var301:NativeArray[String]>*/
2567 varonce300
= var301
;
2568 if (unlikely(varonce307
==NULL
)) {
2569 var308
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
2570 if (likely(varonce309
!=NULL
)) {
2571 var310
= varonce309
;
2573 var311
= "val* BOX_";
2574 var312
= standard___standard__NativeString___to_s_with_length(var311
, 9l);
2576 varonce309
= var310
;
2578 ((struct instance_standard__NativeArray
*)var308
)->values
[0]=var310
;
2579 if (likely(varonce313
!=NULL
)) {
2580 var314
= varonce313
;
2583 var316
= standard___standard__NativeString___to_s_with_length(var315
, 1l);
2585 varonce313
= var314
;
2587 ((struct instance_standard__NativeArray
*)var308
)->values
[2]=var314
;
2588 if (likely(varonce317
!=NULL
)) {
2589 var318
= varonce317
;
2592 var320
= standard___standard__NativeString___to_s_with_length(var319
, 2l);
2594 varonce317
= var318
;
2596 ((struct instance_standard__NativeArray
*)var308
)->values
[4]=var318
;
2598 var308
= varonce307
;
2601 ((struct instance_standard__NativeArray
*)var308
)->values
[1]=var_c_name
;
2603 var321
= nit__abstract_compiler___MClassType___MType__ctype_extern(var_mtype
);
2605 ((struct instance_standard__NativeArray
*)var308
)->values
[3]=var321
;
2607 var322
= ((val
*(*)(val
* self
))(var308
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var308
); /* native_to_s on <var308:NativeArray[String]>*/
2609 varonce307
= var308
;
2611 nit___nit__AbstractCompiler___provide_declaration(self
, var306
, var322
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
2613 if (unlikely(varonce323
==NULL
)) {
2614 var324
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2615 if (likely(varonce325
!=NULL
)) {
2616 var326
= varonce325
;
2618 var327
= "/* allocate ";
2619 var328
= standard___standard__NativeString___to_s_with_length(var327
, 12l);
2621 varonce325
= var326
;
2623 ((struct instance_standard__NativeArray
*)var324
)->values
[0]=var326
;
2624 if (likely(varonce329
!=NULL
)) {
2625 var330
= varonce329
;
2628 var332
= standard___standard__NativeString___to_s_with_length(var331
, 3l);
2630 varonce329
= var330
;
2632 ((struct instance_standard__NativeArray
*)var324
)->values
[2]=var330
;
2634 var324
= varonce323
;
2638 var333
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MClassType>*/
2640 ((struct instance_standard__NativeArray
*)var324
)->values
[1]=var333
;
2642 var334
= ((val
*(*)(val
* self
))(var324
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var324
); /* native_to_s on <var324:NativeArray[String]>*/
2644 varonce323
= var324
;
2646 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var334
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
2648 if (unlikely(varonce335
==NULL
)) {
2649 var336
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
2650 if (likely(varonce337
!=NULL
)) {
2651 var338
= varonce337
;
2653 var339
= "val* BOX_";
2654 var340
= standard___standard__NativeString___to_s_with_length(var339
, 9l);
2656 varonce337
= var338
;
2658 ((struct instance_standard__NativeArray
*)var336
)->values
[0]=var338
;
2659 if (likely(varonce341
!=NULL
)) {
2660 var342
= varonce341
;
2663 var344
= standard___standard__NativeString___to_s_with_length(var343
, 1l);
2665 varonce341
= var342
;
2667 ((struct instance_standard__NativeArray
*)var336
)->values
[2]=var342
;
2668 if (likely(varonce345
!=NULL
)) {
2669 var346
= varonce345
;
2671 var347
= " value) {";
2672 var348
= standard___standard__NativeString___to_s_with_length(var347
, 9l);
2674 varonce345
= var346
;
2676 ((struct instance_standard__NativeArray
*)var336
)->values
[4]=var346
;
2678 var336
= varonce335
;
2682 var349
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MClassType>*/
2684 ((struct instance_standard__NativeArray
*)var336
)->values
[1]=var349
;
2686 var350
= nit__abstract_compiler___MClassType___MType__ctype_extern(var_mtype
);
2688 ((struct instance_standard__NativeArray
*)var336
)->values
[3]=var350
;
2690 var351
= ((val
*(*)(val
* self
))(var336
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var336
); /* native_to_s on <var336:NativeArray[String]>*/
2692 varonce335
= var336
;
2694 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var351
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
2696 if (unlikely(varonce352
==NULL
)) {
2697 var353
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
2698 if (likely(varonce354
!=NULL
)) {
2699 var355
= varonce354
;
2701 var356
= "struct instance_";
2702 var357
= standard___standard__NativeString___to_s_with_length(var356
, 16l);
2704 varonce354
= var355
;
2706 ((struct instance_standard__NativeArray
*)var353
)->values
[0]=var355
;
2707 if (likely(varonce358
!=NULL
)) {
2708 var359
= varonce358
;
2710 var360
= "*res = nit_alloc(sizeof(struct instance_";
2711 var361
= standard___standard__NativeString___to_s_with_length(var360
, 40l);
2713 varonce358
= var359
;
2715 ((struct instance_standard__NativeArray
*)var353
)->values
[2]=var359
;
2716 if (likely(varonce362
!=NULL
)) {
2717 var363
= varonce362
;
2720 var365
= standard___standard__NativeString___to_s_with_length(var364
, 3l);
2722 varonce362
= var363
;
2724 ((struct instance_standard__NativeArray
*)var353
)->values
[4]=var363
;
2726 var353
= varonce352
;
2729 ((struct instance_standard__NativeArray
*)var353
)->values
[1]=var_c_name
;
2730 ((struct instance_standard__NativeArray
*)var353
)->values
[3]=var_c_name
;
2732 var366
= ((val
*(*)(val
* self
))(var353
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var353
); /* native_to_s on <var353:NativeArray[String]>*/
2734 varonce352
= var353
;
2736 nit___nit__AbstractCompilerVisitor___add(var_v
, var366
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2739 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:SeparateCompilerVisitor> */
2740 var369
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:SeparateCompilerVisitor> */
2741 if (unlikely(var369
== NULL
)) {
2742 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2743 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
2747 RET_LABEL368
:(void)0;
2751 { /* Inline separate_compiler#SeparateCompiler#undead_types (var367) on <var367:AbstractCompiler(SeparateCompiler)> */
2752 var372
= var367
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___undead_types
].val
; /* _undead_types on <var367:AbstractCompiler(SeparateCompiler)> */
2753 if (unlikely(var372
== NULL
)) {
2754 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _undead_types");
2755 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 146);
2759 RET_LABEL371
:(void)0;
2763 ((void(*)(val
* self
, val
* p0
))((((long)var370
&3)?class_info
[((long)var370
&3)]:var370
->class)->vft
[COLOR_standard__abstract_collection__SimpleCollection__add
]))(var370
, var_mtype
); /* add on <var370:Set[MType]>*/
2765 if (unlikely(varonce373
==NULL
)) {
2766 var374
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
2767 if (likely(varonce375
!=NULL
)) {
2768 var376
= varonce375
;
2771 var378
= standard___standard__NativeString___to_s_with_length(var377
, 5l);
2773 varonce375
= var376
;
2775 ((struct instance_standard__NativeArray
*)var374
)->values
[0]=var376
;
2777 var374
= varonce373
;
2780 ((struct instance_standard__NativeArray
*)var374
)->values
[1]=var_c_name
;
2782 var379
= ((val
*(*)(val
* self
))(var374
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var374
); /* native_to_s on <var374:NativeArray[String]>*/
2784 varonce373
= var374
;
2786 nit___nit__AbstractCompilerVisitor___require_declaration(var_v
, var379
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
2788 if (unlikely(varonce380
==NULL
)) {
2789 var381
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2790 if (likely(varonce382
!=NULL
)) {
2791 var383
= varonce382
;
2793 var384
= "res->type = &type_";
2794 var385
= standard___standard__NativeString___to_s_with_length(var384
, 18l);
2796 varonce382
= var383
;
2798 ((struct instance_standard__NativeArray
*)var381
)->values
[0]=var383
;
2799 if (likely(varonce386
!=NULL
)) {
2800 var387
= varonce386
;
2803 var389
= standard___standard__NativeString___to_s_with_length(var388
, 1l);
2805 varonce386
= var387
;
2807 ((struct instance_standard__NativeArray
*)var381
)->values
[2]=var387
;
2809 var381
= varonce380
;
2812 ((struct instance_standard__NativeArray
*)var381
)->values
[1]=var_c_name
;
2814 var390
= ((val
*(*)(val
* self
))(var381
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var381
); /* native_to_s on <var381:NativeArray[String]>*/
2816 varonce380
= var381
;
2818 nit___nit__AbstractCompilerVisitor___add(var_v
, var390
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2820 if (unlikely(varonce391
==NULL
)) {
2821 var392
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
2822 if (likely(varonce393
!=NULL
)) {
2823 var394
= varonce393
;
2826 var396
= standard___standard__NativeString___to_s_with_length(var395
, 6l);
2828 varonce393
= var394
;
2830 ((struct instance_standard__NativeArray
*)var392
)->values
[0]=var394
;
2832 var392
= varonce391
;
2835 ((struct instance_standard__NativeArray
*)var392
)->values
[1]=var_c_name
;
2837 var397
= ((val
*(*)(val
* self
))(var392
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var392
); /* native_to_s on <var392:NativeArray[String]>*/
2839 varonce391
= var392
;
2841 nit___nit__AbstractCompilerVisitor___require_declaration(var_v
, var397
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
2843 if (unlikely(varonce398
==NULL
)) {
2844 var399
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2845 if (likely(varonce400
!=NULL
)) {
2846 var401
= varonce400
;
2848 var402
= "res->class = &class_";
2849 var403
= standard___standard__NativeString___to_s_with_length(var402
, 20l);
2851 varonce400
= var401
;
2853 ((struct instance_standard__NativeArray
*)var399
)->values
[0]=var401
;
2854 if (likely(varonce404
!=NULL
)) {
2855 var405
= varonce404
;
2858 var407
= standard___standard__NativeString___to_s_with_length(var406
, 1l);
2860 varonce404
= var405
;
2862 ((struct instance_standard__NativeArray
*)var399
)->values
[2]=var405
;
2864 var399
= varonce398
;
2867 ((struct instance_standard__NativeArray
*)var399
)->values
[1]=var_c_name
;
2869 var408
= ((val
*(*)(val
* self
))(var399
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var399
); /* native_to_s on <var399:NativeArray[String]>*/
2871 varonce398
= var399
;
2873 nit___nit__AbstractCompilerVisitor___add(var_v
, var408
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2875 if (likely(varonce409
!=NULL
)) {
2876 var410
= varonce409
;
2878 var411
= "res->value = value;";
2879 var412
= standard___standard__NativeString___to_s_with_length(var411
, 19l);
2881 varonce409
= var410
;
2884 nit___nit__AbstractCompilerVisitor___add(var_v
, var410
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2886 if (likely(varonce413
!=NULL
)) {
2887 var414
= varonce413
;
2889 var415
= "return (val*)res;";
2890 var416
= standard___standard__NativeString___to_s_with_length(var415
, 17l);
2892 varonce413
= var414
;
2895 nit___nit__AbstractCompilerVisitor___add(var_v
, var414
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2897 if (likely(varonce417
!=NULL
)) {
2898 var418
= varonce417
;
2901 var420
= standard___standard__NativeString___to_s_with_length(var419
, 1l);
2903 varonce417
= var418
;
2906 nit___nit__AbstractCompilerVisitor___add(var_v
, var418
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2909 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
2910 var423
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
2911 if (unlikely(var423
== NULL
)) {
2912 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2913 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
2917 RET_LABEL422
:(void)0;
2921 { /* Inline model#MClass#name (var421) on <var421:MClass> */
2922 var426
= var421
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var421:MClass> */
2923 if (unlikely(var426
== NULL
)) {
2924 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2925 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
2929 RET_LABEL425
:(void)0;
2932 if (likely(varonce427
!=NULL
)) {
2933 var428
= varonce427
;
2936 var430
= standard___standard__NativeString___to_s_with_length(var429
, 7l);
2938 varonce427
= var428
;
2941 { /* Inline kernel#Object#!= (var424,var428) on <var424:String> */
2944 var433
= ((short int(*)(val
* self
, val
* p0
))(var424
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var424
, var_other
); /* == on <var424:String>*/
2949 RET_LABEL432
:(void)0;
2957 var435
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompiler__new_visitor
]))(self
); /* new_visitor on <self:SeparateCompiler>*/
2960 if (unlikely(varonce436
==NULL
)) {
2961 var437
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
2962 if (likely(varonce438
!=NULL
)) {
2963 var439
= varonce438
;
2966 var441
= standard___standard__NativeString___to_s_with_length(var440
, 4l);
2968 varonce438
= var439
;
2970 ((struct instance_standard__NativeArray
*)var437
)->values
[0]=var439
;
2972 var437
= varonce436
;
2975 ((struct instance_standard__NativeArray
*)var437
)->values
[1]=var_c_name
;
2977 var442
= ((val
*(*)(val
* self
))(var437
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var437
); /* native_to_s on <var437:NativeArray[String]>*/
2979 varonce436
= var437
;
2980 if (unlikely(varonce443
==NULL
)) {
2981 var444
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
2982 if (likely(varonce445
!=NULL
)) {
2983 var446
= varonce445
;
2986 var448
= standard___standard__NativeString___to_s_with_length(var447
, 5l);
2988 varonce445
= var446
;
2990 ((struct instance_standard__NativeArray
*)var444
)->values
[1]=var446
;
2991 if (likely(varonce449
!=NULL
)) {
2992 var450
= varonce449
;
2994 var451
= "(const struct type* type);";
2995 var452
= standard___standard__NativeString___to_s_with_length(var451
, 26l);
2997 varonce449
= var450
;
2999 ((struct instance_standard__NativeArray
*)var444
)->values
[3]=var450
;
3001 var444
= varonce443
;
3005 var453
= nit__abstract_compiler___MClassType___MType__ctype(var_mtype
);
3007 ((struct instance_standard__NativeArray
*)var444
)->values
[0]=var453
;
3008 ((struct instance_standard__NativeArray
*)var444
)->values
[2]=var_c_name
;
3010 var454
= ((val
*(*)(val
* self
))(var444
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var444
); /* native_to_s on <var444:NativeArray[String]>*/
3012 varonce443
= var444
;
3014 nit___nit__AbstractCompiler___provide_declaration(self
, var442
, var454
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
3016 if (unlikely(varonce455
==NULL
)) {
3017 var456
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
3018 if (likely(varonce457
!=NULL
)) {
3019 var458
= varonce457
;
3021 var459
= "/* allocate ";
3022 var460
= standard___standard__NativeString___to_s_with_length(var459
, 12l);
3024 varonce457
= var458
;
3026 ((struct instance_standard__NativeArray
*)var456
)->values
[0]=var458
;
3027 if (likely(varonce461
!=NULL
)) {
3028 var462
= varonce461
;
3031 var464
= standard___standard__NativeString___to_s_with_length(var463
, 3l);
3033 varonce461
= var462
;
3035 ((struct instance_standard__NativeArray
*)var456
)->values
[2]=var462
;
3037 var456
= varonce455
;
3041 var465
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MClassType>*/
3043 ((struct instance_standard__NativeArray
*)var456
)->values
[1]=var465
;
3045 var466
= ((val
*(*)(val
* self
))(var456
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var456
); /* native_to_s on <var456:NativeArray[String]>*/
3047 varonce455
= var456
;
3049 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var466
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
3051 if (unlikely(varonce467
==NULL
)) {
3052 var468
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
3053 if (likely(varonce469
!=NULL
)) {
3054 var470
= varonce469
;
3057 var472
= standard___standard__NativeString___to_s_with_length(var471
, 5l);
3059 varonce469
= var470
;
3061 ((struct instance_standard__NativeArray
*)var468
)->values
[1]=var470
;
3062 if (likely(varonce473
!=NULL
)) {
3063 var474
= varonce473
;
3065 var475
= "(const struct type* type) {";
3066 var476
= standard___standard__NativeString___to_s_with_length(var475
, 27l);
3068 varonce473
= var474
;
3070 ((struct instance_standard__NativeArray
*)var468
)->values
[3]=var474
;
3072 var468
= varonce467
;
3076 var477
= nit__abstract_compiler___MClassType___MType__ctype(var_mtype
);
3078 ((struct instance_standard__NativeArray
*)var468
)->values
[0]=var477
;
3079 ((struct instance_standard__NativeArray
*)var468
)->values
[2]=var_c_name
;
3081 var478
= ((val
*(*)(val
* self
))(var468
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var468
); /* native_to_s on <var468:NativeArray[String]>*/
3083 varonce467
= var468
;
3085 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var478
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
3088 if (unlikely(varonce479
==NULL
)) {
3089 var480
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
3090 if (likely(varonce481
!=NULL
)) {
3091 var482
= varonce481
;
3093 var483
= " is DEAD";
3094 var484
= standard___standard__NativeString___to_s_with_length(var483
, 8l);
3096 varonce481
= var482
;
3098 ((struct instance_standard__NativeArray
*)var480
)->values
[1]=var482
;
3100 var480
= varonce479
;
3104 var485
= ((val
*(*)(val
* self
))(var_mclass
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mclass
); /* to_s on <var_mclass:MClass>*/
3106 ((struct instance_standard__NativeArray
*)var480
)->values
[0]=var485
;
3108 var486
= ((val
*(*)(val
* self
))(var480
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var480
); /* native_to_s on <var480:NativeArray[String]>*/
3110 varonce479
= var480
;
3112 nit___nit__AbstractCompilerVisitor___add_abort(var_v
, var486
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:SeparateCompilerVisitor>*/
3115 if (likely(varonce487
!=NULL
)) {
3116 var488
= varonce487
;
3119 var490
= standard___standard__NativeString___to_s_with_length(var489
, 4l);
3121 varonce487
= var488
;
3124 var491
= nit___nit__AbstractCompilerVisitor___new_named_var(var_v
, var_mtype
, var488
);
3128 { /* Inline abstract_compiler#RuntimeVariable#is_exact= (var_res,1) on <var_res:RuntimeVariable> */
3129 var_res
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___is_exact
].s
= 1; /* _is_exact on <var_res:RuntimeVariable> */
3130 RET_LABEL492
:(void)0;
3133 if (unlikely(varonce493
==NULL
)) {
3134 var494
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
3135 if (likely(varonce495
!=NULL
)) {
3136 var496
= varonce495
;
3138 var497
= " = nit_alloc(sizeof(struct instance_";
3139 var498
= standard___standard__NativeString___to_s_with_length(var497
, 36l);
3141 varonce495
= var496
;
3143 ((struct instance_standard__NativeArray
*)var494
)->values
[1]=var496
;
3144 if (likely(varonce499
!=NULL
)) {
3145 var500
= varonce499
;
3148 var502
= standard___standard__NativeString___to_s_with_length(var501
, 3l);
3150 varonce499
= var500
;
3152 ((struct instance_standard__NativeArray
*)var494
)->values
[3]=var500
;
3154 var494
= varonce493
;
3158 var503
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
3160 ((struct instance_standard__NativeArray
*)var494
)->values
[0]=var503
;
3162 var504
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MClassType>*/
3164 ((struct instance_standard__NativeArray
*)var494
)->values
[2]=var504
;
3166 var505
= ((val
*(*)(val
* self
))(var494
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var494
); /* native_to_s on <var494:NativeArray[String]>*/
3168 varonce493
= var494
;
3170 nit___nit__AbstractCompilerVisitor___add(var_v
, var505
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3172 if (unlikely(varonce506
==NULL
)) {
3173 var507
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
3174 if (likely(varonce508
!=NULL
)) {
3175 var509
= varonce508
;
3177 var510
= "->type = type;";
3178 var511
= standard___standard__NativeString___to_s_with_length(var510
, 14l);
3180 varonce508
= var509
;
3182 ((struct instance_standard__NativeArray
*)var507
)->values
[1]=var509
;
3184 var507
= varonce506
;
3188 var512
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
3190 ((struct instance_standard__NativeArray
*)var507
)->values
[0]=var512
;
3192 var513
= ((val
*(*)(val
* self
))(var507
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var507
); /* native_to_s on <var507:NativeArray[String]>*/
3194 varonce506
= var507
;
3196 nit___nit__AbstractCompilerVisitor___add(var_v
, var513
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3198 if (likely(varonce514
!=NULL
)) {
3199 var515
= varonce514
;
3202 var517
= standard___standard__NativeString___to_s_with_length(var516
, 4l);
3204 varonce514
= var515
;
3207 nit___nit__SeparateCompiler___hardening_live_type(self
, var_v
, var515
); /* Direct call separate_compiler#SeparateCompiler#hardening_live_type on <self:SeparateCompiler>*/
3209 if (unlikely(varonce518
==NULL
)) {
3210 var519
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
3211 if (likely(varonce520
!=NULL
)) {
3212 var521
= varonce520
;
3215 var523
= standard___standard__NativeString___to_s_with_length(var522
, 6l);
3217 varonce520
= var521
;
3219 ((struct instance_standard__NativeArray
*)var519
)->values
[0]=var521
;
3221 var519
= varonce518
;
3224 ((struct instance_standard__NativeArray
*)var519
)->values
[1]=var_c_name
;
3226 var524
= ((val
*(*)(val
* self
))(var519
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var519
); /* native_to_s on <var519:NativeArray[String]>*/
3228 varonce518
= var519
;
3230 nit___nit__AbstractCompilerVisitor___require_declaration(var_v
, var524
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
3232 if (unlikely(varonce525
==NULL
)) {
3233 var526
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
3234 if (likely(varonce527
!=NULL
)) {
3235 var528
= varonce527
;
3237 var529
= "->class = &class_";
3238 var530
= standard___standard__NativeString___to_s_with_length(var529
, 17l);
3240 varonce527
= var528
;
3242 ((struct instance_standard__NativeArray
*)var526
)->values
[1]=var528
;
3243 if (likely(varonce531
!=NULL
)) {
3244 var532
= varonce531
;
3247 var534
= standard___standard__NativeString___to_s_with_length(var533
, 1l);
3249 varonce531
= var532
;
3251 ((struct instance_standard__NativeArray
*)var526
)->values
[3]=var532
;
3253 var526
= varonce525
;
3257 var535
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
3259 ((struct instance_standard__NativeArray
*)var526
)->values
[0]=var535
;
3260 ((struct instance_standard__NativeArray
*)var526
)->values
[2]=var_c_name
;
3262 var536
= ((val
*(*)(val
* self
))(var526
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var526
); /* native_to_s on <var526:NativeArray[String]>*/
3264 varonce525
= var526
;
3266 nit___nit__AbstractCompilerVisitor___add(var_v
, var536
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3268 if (unlikely(varonce537
==NULL
)) {
3269 var538
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
3270 if (likely(varonce539
!=NULL
)) {
3271 var540
= varonce539
;
3273 var541
= "((struct instance_";
3274 var542
= standard___standard__NativeString___to_s_with_length(var541
, 18l);
3276 varonce539
= var540
;
3278 ((struct instance_standard__NativeArray
*)var538
)->values
[0]=var540
;
3279 if (likely(varonce543
!=NULL
)) {
3280 var544
= varonce543
;
3283 var546
= standard___standard__NativeString___to_s_with_length(var545
, 2l);
3285 varonce543
= var544
;
3287 ((struct instance_standard__NativeArray
*)var538
)->values
[2]=var544
;
3288 if (likely(varonce547
!=NULL
)) {
3289 var548
= varonce547
;
3291 var549
= ")->value = NULL;";
3292 var550
= standard___standard__NativeString___to_s_with_length(var549
, 16l);
3294 varonce547
= var548
;
3296 ((struct instance_standard__NativeArray
*)var538
)->values
[4]=var548
;
3298 var538
= varonce537
;
3302 var551
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MClassType>*/
3304 ((struct instance_standard__NativeArray
*)var538
)->values
[1]=var551
;
3306 var552
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
3308 ((struct instance_standard__NativeArray
*)var538
)->values
[3]=var552
;
3310 var553
= ((val
*(*)(val
* self
))(var538
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var538
); /* native_to_s on <var538:NativeArray[String]>*/
3312 varonce537
= var538
;
3314 nit___nit__AbstractCompilerVisitor___add(var_v
, var553
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3316 if (unlikely(varonce554
==NULL
)) {
3317 var555
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
3318 if (likely(varonce556
!=NULL
)) {
3319 var557
= varonce556
;
3322 var559
= standard___standard__NativeString___to_s_with_length(var558
, 7l);
3324 varonce556
= var557
;
3326 ((struct instance_standard__NativeArray
*)var555
)->values
[0]=var557
;
3327 if (likely(varonce560
!=NULL
)) {
3328 var561
= varonce560
;
3331 var563
= standard___standard__NativeString___to_s_with_length(var562
, 1l);
3333 varonce560
= var561
;
3335 ((struct instance_standard__NativeArray
*)var555
)->values
[2]=var561
;
3337 var555
= varonce554
;
3341 var564
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
3343 ((struct instance_standard__NativeArray
*)var555
)->values
[1]=var564
;
3345 var565
= ((val
*(*)(val
* self
))(var555
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var555
); /* native_to_s on <var555:NativeArray[String]>*/
3347 varonce554
= var555
;
3349 nit___nit__AbstractCompilerVisitor___add(var_v
, var565
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3352 if (likely(varonce566
!=NULL
)) {
3353 var567
= varonce566
;
3356 var569
= standard___standard__NativeString___to_s_with_length(var568
, 1l);
3358 varonce566
= var567
;
3361 nit___nit__AbstractCompilerVisitor___add(var_v
, var567
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3366 { /* Inline model#MClass#name (var_mclass) on <var_mclass:MClass> */
3367 var572
= var_mclass
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var_mclass:MClass> */
3368 if (unlikely(var572
== NULL
)) {
3369 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3370 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
3374 RET_LABEL571
:(void)0;
3377 if (likely(varonce573
!=NULL
)) {
3378 var574
= varonce573
;
3380 var575
= "NativeArray";
3381 var576
= standard___standard__NativeString___to_s_with_length(var575
, 11l);
3383 varonce573
= var574
;
3386 var577
= ((short int(*)(val
* self
, val
* p0
))(var570
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var570
, var574
); /* == on <var570:String>*/
3390 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3391 var580
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3392 if (unlikely(var580
== NULL
)) {
3393 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3394 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
3398 RET_LABEL579
:(void)0;
3401 if (unlikely(varonce581
==NULL
)) {
3402 var582
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
3403 if (likely(varonce583
!=NULL
)) {
3404 var584
= varonce583
;
3406 var585
= "struct instance_";
3407 var586
= standard___standard__NativeString___to_s_with_length(var585
, 16l);
3409 varonce583
= var584
;
3411 ((struct instance_standard__NativeArray
*)var582
)->values
[0]=var584
;
3412 if (likely(varonce587
!=NULL
)) {
3413 var588
= varonce587
;
3416 var590
= standard___standard__NativeString___to_s_with_length(var589
, 2l);
3418 varonce587
= var588
;
3420 ((struct instance_standard__NativeArray
*)var582
)->values
[2]=var588
;
3422 var582
= varonce581
;
3425 ((struct instance_standard__NativeArray
*)var582
)->values
[1]=var_c_name
;
3427 var591
= ((val
*(*)(val
* self
))(var582
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var582
); /* native_to_s on <var582:NativeArray[String]>*/
3429 varonce581
= var582
;
3431 nit___nit__CodeWriter___add_decl(var578
, var591
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var578:CodeWriter>*/
3434 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3435 var594
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3436 if (unlikely(var594
== NULL
)) {
3437 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3438 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
3442 RET_LABEL593
:(void)0;
3445 if (likely(varonce595
!=NULL
)) {
3446 var596
= varonce595
;
3448 var597
= "const struct type *type;";
3449 var598
= standard___standard__NativeString___to_s_with_length(var597
, 24l);
3451 varonce595
= var596
;
3454 nit___nit__CodeWriter___add_decl(var592
, var596
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var592:CodeWriter>*/
3457 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3458 var601
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3459 if (unlikely(var601
== NULL
)) {
3460 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3461 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
3465 RET_LABEL600
:(void)0;
3468 if (likely(varonce602
!=NULL
)) {
3469 var603
= varonce602
;
3471 var604
= "const struct class *class;";
3472 var605
= standard___standard__NativeString___to_s_with_length(var604
, 26l);
3474 varonce602
= var603
;
3477 nit___nit__CodeWriter___add_decl(var599
, var603
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var599:CodeWriter>*/
3480 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3481 var608
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3482 if (unlikely(var608
== NULL
)) {
3483 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3484 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
3488 RET_LABEL607
:(void)0;
3491 if (likely(varonce609
!=NULL
)) {
3492 var610
= varonce609
;
3494 var611
= "int length;";
3495 var612
= standard___standard__NativeString___to_s_with_length(var611
, 11l);
3497 varonce609
= var610
;
3500 nit___nit__CodeWriter___add_decl(var606
, var610
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var606:CodeWriter>*/
3503 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3504 var615
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3505 if (unlikely(var615
== NULL
)) {
3506 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3507 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
3511 RET_LABEL614
:(void)0;
3514 if (likely(varonce616
!=NULL
)) {
3515 var617
= varonce616
;
3517 var618
= "val* values[0];";
3518 var619
= standard___standard__NativeString___to_s_with_length(var618
, 15l);
3520 varonce616
= var617
;
3523 nit___nit__CodeWriter___add_decl(var613
, var617
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var613:CodeWriter>*/
3526 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3527 var622
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3528 if (unlikely(var622
== NULL
)) {
3529 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3530 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
3534 RET_LABEL621
:(void)0;
3537 if (likely(varonce623
!=NULL
)) {
3538 var624
= varonce623
;
3541 var626
= standard___standard__NativeString___to_s_with_length(var625
, 2l);
3543 varonce623
= var624
;
3546 nit___nit__CodeWriter___add_decl(var620
, var624
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var620:CodeWriter>*/
3548 if (unlikely(varonce627
==NULL
)) {
3549 var628
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
3550 if (likely(varonce629
!=NULL
)) {
3551 var630
= varonce629
;
3554 var632
= standard___standard__NativeString___to_s_with_length(var631
, 4l);
3556 varonce629
= var630
;
3558 ((struct instance_standard__NativeArray
*)var628
)->values
[0]=var630
;
3560 var628
= varonce627
;
3563 ((struct instance_standard__NativeArray
*)var628
)->values
[1]=var_c_name
;
3565 var633
= ((val
*(*)(val
* self
))(var628
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var628
); /* native_to_s on <var628:NativeArray[String]>*/
3567 varonce627
= var628
;
3568 if (unlikely(varonce634
==NULL
)) {
3569 var635
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
3570 if (likely(varonce636
!=NULL
)) {
3571 var637
= varonce636
;
3574 var639
= standard___standard__NativeString___to_s_with_length(var638
, 5l);
3576 varonce636
= var637
;
3578 ((struct instance_standard__NativeArray
*)var635
)->values
[1]=var637
;
3579 if (likely(varonce640
!=NULL
)) {
3580 var641
= varonce640
;
3582 var642
= "(int length, const struct type* type);";
3583 var643
= standard___standard__NativeString___to_s_with_length(var642
, 38l);
3585 varonce640
= var641
;
3587 ((struct instance_standard__NativeArray
*)var635
)->values
[3]=var641
;
3589 var635
= varonce634
;
3593 var644
= nit__abstract_compiler___MClassType___MType__ctype(var_mtype
);
3595 ((struct instance_standard__NativeArray
*)var635
)->values
[0]=var644
;
3596 ((struct instance_standard__NativeArray
*)var635
)->values
[2]=var_c_name
;
3598 var645
= ((val
*(*)(val
* self
))(var635
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var635
); /* native_to_s on <var635:NativeArray[String]>*/
3600 varonce634
= var635
;
3602 nit___nit__AbstractCompiler___provide_declaration(self
, var633
, var645
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
3604 if (unlikely(varonce646
==NULL
)) {
3605 var647
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
3606 if (likely(varonce648
!=NULL
)) {
3607 var649
= varonce648
;
3609 var650
= "/* allocate ";
3610 var651
= standard___standard__NativeString___to_s_with_length(var650
, 12l);
3612 varonce648
= var649
;
3614 ((struct instance_standard__NativeArray
*)var647
)->values
[0]=var649
;
3615 if (likely(varonce652
!=NULL
)) {
3616 var653
= varonce652
;
3619 var655
= standard___standard__NativeString___to_s_with_length(var654
, 3l);
3621 varonce652
= var653
;
3623 ((struct instance_standard__NativeArray
*)var647
)->values
[2]=var653
;
3625 var647
= varonce646
;
3629 var656
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MClassType>*/
3631 ((struct instance_standard__NativeArray
*)var647
)->values
[1]=var656
;
3633 var657
= ((val
*(*)(val
* self
))(var647
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var647
); /* native_to_s on <var647:NativeArray[String]>*/
3635 varonce646
= var647
;
3637 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var657
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
3639 if (unlikely(varonce658
==NULL
)) {
3640 var659
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
3641 if (likely(varonce660
!=NULL
)) {
3642 var661
= varonce660
;
3645 var663
= standard___standard__NativeString___to_s_with_length(var662
, 5l);
3647 varonce660
= var661
;
3649 ((struct instance_standard__NativeArray
*)var659
)->values
[1]=var661
;
3650 if (likely(varonce664
!=NULL
)) {
3651 var665
= varonce664
;
3653 var666
= "(int length, const struct type* type) {";
3654 var667
= standard___standard__NativeString___to_s_with_length(var666
, 39l);
3656 varonce664
= var665
;
3658 ((struct instance_standard__NativeArray
*)var659
)->values
[3]=var665
;
3660 var659
= varonce658
;
3664 var668
= nit__abstract_compiler___MClassType___MType__ctype(var_mtype
);
3666 ((struct instance_standard__NativeArray
*)var659
)->values
[0]=var668
;
3667 ((struct instance_standard__NativeArray
*)var659
)->values
[2]=var_c_name
;
3669 var669
= ((val
*(*)(val
* self
))(var659
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var659
); /* native_to_s on <var659:NativeArray[String]>*/
3671 varonce658
= var659
;
3673 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var669
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
3675 if (likely(varonce670
!=NULL
)) {
3676 var671
= varonce670
;
3679 var673
= standard___standard__NativeString___to_s_with_length(var672
, 4l);
3681 varonce670
= var671
;
3684 var674
= nit___nit__AbstractCompilerVisitor___get_name(var_v
, var671
);
3686 var_res675
= var674
;
3687 if (unlikely(varonce676
==NULL
)) {
3688 var677
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
3689 if (likely(varonce678
!=NULL
)) {
3690 var679
= varonce678
;
3692 var680
= "struct instance_";
3693 var681
= standard___standard__NativeString___to_s_with_length(var680
, 16l);
3695 varonce678
= var679
;
3697 ((struct instance_standard__NativeArray
*)var677
)->values
[0]=var679
;
3698 if (likely(varonce682
!=NULL
)) {
3699 var683
= varonce682
;
3702 var685
= standard___standard__NativeString___to_s_with_length(var684
, 2l);
3704 varonce682
= var683
;
3706 ((struct instance_standard__NativeArray
*)var677
)->values
[2]=var683
;
3707 if (likely(varonce686
!=NULL
)) {
3708 var687
= varonce686
;
3711 var689
= standard___standard__NativeString___to_s_with_length(var688
, 1l);
3713 varonce686
= var687
;
3715 ((struct instance_standard__NativeArray
*)var677
)->values
[4]=var687
;
3717 var677
= varonce676
;
3720 ((struct instance_standard__NativeArray
*)var677
)->values
[1]=var_c_name
;
3721 ((struct instance_standard__NativeArray
*)var677
)->values
[3]=var_res675
;
3723 var690
= ((val
*(*)(val
* self
))(var677
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var677
); /* native_to_s on <var677:NativeArray[String]>*/
3725 varonce676
= var677
;
3727 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var690
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
3730 var691
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model__MClassType__arguments
]))(var_mtype
); /* arguments on <var_mtype:MClassType>*/
3733 var692
= standard___standard__SequenceRead___Collection__first(var691
);
3735 var_mtype_elt
= var692
;
3736 if (unlikely(varonce693
==NULL
)) {
3737 var694
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String
);
3738 if (likely(varonce695
!=NULL
)) {
3739 var696
= varonce695
;
3741 var697
= " = nit_alloc(sizeof(struct instance_";
3742 var698
= standard___standard__NativeString___to_s_with_length(var697
, 36l);
3744 varonce695
= var696
;
3746 ((struct instance_standard__NativeArray
*)var694
)->values
[1]=var696
;
3747 if (likely(varonce699
!=NULL
)) {
3748 var700
= varonce699
;
3750 var701
= ") + length*sizeof(";
3751 var702
= standard___standard__NativeString___to_s_with_length(var701
, 18l);
3753 varonce699
= var700
;
3755 ((struct instance_standard__NativeArray
*)var694
)->values
[3]=var700
;
3756 if (likely(varonce703
!=NULL
)) {
3757 var704
= varonce703
;
3760 var706
= standard___standard__NativeString___to_s_with_length(var705
, 3l);
3762 varonce703
= var704
;
3764 ((struct instance_standard__NativeArray
*)var694
)->values
[5]=var704
;
3766 var694
= varonce693
;
3769 ((struct instance_standard__NativeArray
*)var694
)->values
[0]=var_res675
;
3770 ((struct instance_standard__NativeArray
*)var694
)->values
[2]=var_c_name
;
3772 var707
= ((val
*(*)(val
* self
))(var_mtype_elt
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_mtype_elt
); /* ctype on <var_mtype_elt:MType>*/
3774 ((struct instance_standard__NativeArray
*)var694
)->values
[4]=var707
;
3776 var708
= ((val
*(*)(val
* self
))(var694
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var694
); /* native_to_s on <var694:NativeArray[String]>*/
3778 varonce693
= var694
;
3780 nit___nit__AbstractCompilerVisitor___add(var_v
, var708
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3782 if (unlikely(varonce709
==NULL
)) {
3783 var710
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
3784 if (likely(varonce711
!=NULL
)) {
3785 var712
= varonce711
;
3787 var713
= "->type = type;";
3788 var714
= standard___standard__NativeString___to_s_with_length(var713
, 14l);
3790 varonce711
= var712
;
3792 ((struct instance_standard__NativeArray
*)var710
)->values
[1]=var712
;
3794 var710
= varonce709
;
3797 ((struct instance_standard__NativeArray
*)var710
)->values
[0]=var_res675
;
3799 var715
= ((val
*(*)(val
* self
))(var710
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var710
); /* native_to_s on <var710:NativeArray[String]>*/
3801 varonce709
= var710
;
3803 nit___nit__AbstractCompilerVisitor___add(var_v
, var715
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3805 if (likely(varonce716
!=NULL
)) {
3806 var717
= varonce716
;
3809 var719
= standard___standard__NativeString___to_s_with_length(var718
, 4l);
3811 varonce716
= var717
;
3814 nit___nit__SeparateCompiler___hardening_live_type(self
, var_v
, var717
); /* Direct call separate_compiler#SeparateCompiler#hardening_live_type on <self:SeparateCompiler>*/
3816 if (unlikely(varonce720
==NULL
)) {
3817 var721
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
3818 if (likely(varonce722
!=NULL
)) {
3819 var723
= varonce722
;
3822 var725
= standard___standard__NativeString___to_s_with_length(var724
, 6l);
3824 varonce722
= var723
;
3826 ((struct instance_standard__NativeArray
*)var721
)->values
[0]=var723
;
3828 var721
= varonce720
;
3831 ((struct instance_standard__NativeArray
*)var721
)->values
[1]=var_c_name
;
3833 var726
= ((val
*(*)(val
* self
))(var721
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var721
); /* native_to_s on <var721:NativeArray[String]>*/
3835 varonce720
= var721
;
3837 nit___nit__AbstractCompilerVisitor___require_declaration(var_v
, var726
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
3839 if (unlikely(varonce727
==NULL
)) {
3840 var728
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
3841 if (likely(varonce729
!=NULL
)) {
3842 var730
= varonce729
;
3844 var731
= "->class = &class_";
3845 var732
= standard___standard__NativeString___to_s_with_length(var731
, 17l);
3847 varonce729
= var730
;
3849 ((struct instance_standard__NativeArray
*)var728
)->values
[1]=var730
;
3850 if (likely(varonce733
!=NULL
)) {
3851 var734
= varonce733
;
3854 var736
= standard___standard__NativeString___to_s_with_length(var735
, 1l);
3856 varonce733
= var734
;
3858 ((struct instance_standard__NativeArray
*)var728
)->values
[3]=var734
;
3860 var728
= varonce727
;
3863 ((struct instance_standard__NativeArray
*)var728
)->values
[0]=var_res675
;
3864 ((struct instance_standard__NativeArray
*)var728
)->values
[2]=var_c_name
;
3866 var737
= ((val
*(*)(val
* self
))(var728
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var728
); /* native_to_s on <var728:NativeArray[String]>*/
3868 varonce727
= var728
;
3870 nit___nit__AbstractCompilerVisitor___add(var_v
, var737
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3872 if (unlikely(varonce738
==NULL
)) {
3873 var739
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
3874 if (likely(varonce740
!=NULL
)) {
3875 var741
= varonce740
;
3877 var742
= "->length = length;";
3878 var743
= standard___standard__NativeString___to_s_with_length(var742
, 18l);
3880 varonce740
= var741
;
3882 ((struct instance_standard__NativeArray
*)var739
)->values
[1]=var741
;
3884 var739
= varonce738
;
3887 ((struct instance_standard__NativeArray
*)var739
)->values
[0]=var_res675
;
3889 var744
= ((val
*(*)(val
* self
))(var739
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var739
); /* native_to_s on <var739:NativeArray[String]>*/
3891 varonce738
= var739
;
3893 nit___nit__AbstractCompilerVisitor___add(var_v
, var744
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3895 if (unlikely(varonce745
==NULL
)) {
3896 var746
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
3897 if (likely(varonce747
!=NULL
)) {
3898 var748
= varonce747
;
3900 var749
= "return (val*)";
3901 var750
= standard___standard__NativeString___to_s_with_length(var749
, 13l);
3903 varonce747
= var748
;
3905 ((struct instance_standard__NativeArray
*)var746
)->values
[0]=var748
;
3906 if (likely(varonce751
!=NULL
)) {
3907 var752
= varonce751
;
3910 var754
= standard___standard__NativeString___to_s_with_length(var753
, 1l);
3912 varonce751
= var752
;
3914 ((struct instance_standard__NativeArray
*)var746
)->values
[2]=var752
;
3916 var746
= varonce745
;
3919 ((struct instance_standard__NativeArray
*)var746
)->values
[1]=var_res675
;
3921 var755
= ((val
*(*)(val
* self
))(var746
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var746
); /* native_to_s on <var746:NativeArray[String]>*/
3923 varonce745
= var746
;
3925 nit___nit__AbstractCompilerVisitor___add(var_v
, var755
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3927 if (likely(varonce756
!=NULL
)) {
3928 var757
= varonce756
;
3931 var759
= standard___standard__NativeString___to_s_with_length(var758
, 1l);
3933 varonce756
= var757
;
3936 nit___nit__AbstractCompilerVisitor___add(var_v
, var757
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3941 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
3942 var763
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
3943 if (unlikely(var763
== NULL
)) {
3944 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3945 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
3949 RET_LABEL762
:(void)0;
3953 { /* Inline model#MClass#kind (var761) on <var761:MClass> */
3954 var766
= var761
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var761:MClass> */
3955 if (unlikely(var766
== NULL
)) {
3956 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3957 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 436);
3961 RET_LABEL765
:(void)0;
3966 var768
= nit__model___standard__Sys___extern_kind(var767
);
3969 { /* Inline kernel#Object#== (var764,var768) on <var764:MClassKind> */
3970 var_other126
= var768
;
3972 { /* Inline kernel#Object#is_same_instance (var764,var_other126) on <var764:MClassKind> */
3973 var773
= var764
== var_other126
;
3976 RET_LABEL772
:(void)0;
3981 RET_LABEL770
:(void)0;
3987 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
3988 var777
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
3989 if (unlikely(var777
== NULL
)) {
3990 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3991 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
3995 RET_LABEL776
:(void)0;
3999 { /* Inline model#MClass#name (var775) on <var775:MClass> */
4000 var780
= var775
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var775:MClass> */
4001 if (unlikely(var780
== NULL
)) {
4002 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4003 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
4007 RET_LABEL779
:(void)0;
4010 if (likely(varonce781
!=NULL
)) {
4011 var782
= varonce781
;
4013 var783
= "NativeString";
4014 var784
= standard___standard__NativeString___to_s_with_length(var783
, 12l);
4016 varonce781
= var782
;
4019 { /* Inline kernel#Object#!= (var778,var782) on <var778:String> */
4022 var787
= ((short int(*)(val
* self
, val
* p0
))(var778
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var778
, var_other
); /* == on <var778:String>*/
4027 RET_LABEL786
:(void)0;
4036 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
4037 var791
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
4038 if (unlikely(var791
== NULL
)) {
4039 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
4040 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
4044 RET_LABEL790
:(void)0;
4048 var792
= nit__model___MModule___pointer_type(var789
);
4050 var_pointer_type
= var792
;
4051 if (unlikely(varonce793
==NULL
)) {
4052 var794
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
4053 if (likely(varonce795
!=NULL
)) {
4054 var796
= varonce795
;
4057 var798
= standard___standard__NativeString___to_s_with_length(var797
, 4l);
4059 varonce795
= var796
;
4061 ((struct instance_standard__NativeArray
*)var794
)->values
[0]=var796
;
4063 var794
= varonce793
;
4066 ((struct instance_standard__NativeArray
*)var794
)->values
[1]=var_c_name
;
4068 var799
= ((val
*(*)(val
* self
))(var794
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var794
); /* native_to_s on <var794:NativeArray[String]>*/
4070 varonce793
= var794
;
4071 if (unlikely(varonce800
==NULL
)) {
4072 var801
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
4073 if (likely(varonce802
!=NULL
)) {
4074 var803
= varonce802
;
4077 var805
= standard___standard__NativeString___to_s_with_length(var804
, 5l);
4079 varonce802
= var803
;
4081 ((struct instance_standard__NativeArray
*)var801
)->values
[1]=var803
;
4082 if (likely(varonce806
!=NULL
)) {
4083 var807
= varonce806
;
4085 var808
= "(const struct type* type);";
4086 var809
= standard___standard__NativeString___to_s_with_length(var808
, 26l);
4088 varonce806
= var807
;
4090 ((struct instance_standard__NativeArray
*)var801
)->values
[3]=var807
;
4092 var801
= varonce800
;
4096 var810
= nit__abstract_compiler___MClassType___MType__ctype(var_mtype
);
4098 ((struct instance_standard__NativeArray
*)var801
)->values
[0]=var810
;
4099 ((struct instance_standard__NativeArray
*)var801
)->values
[2]=var_c_name
;
4101 var811
= ((val
*(*)(val
* self
))(var801
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var801
); /* native_to_s on <var801:NativeArray[String]>*/
4103 varonce800
= var801
;
4105 nit___nit__AbstractCompiler___provide_declaration(self
, var799
, var811
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
4107 if (unlikely(varonce812
==NULL
)) {
4108 var813
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
4109 if (likely(varonce814
!=NULL
)) {
4110 var815
= varonce814
;
4112 var816
= "/* allocate ";
4113 var817
= standard___standard__NativeString___to_s_with_length(var816
, 12l);
4115 varonce814
= var815
;
4117 ((struct instance_standard__NativeArray
*)var813
)->values
[0]=var815
;
4118 if (likely(varonce818
!=NULL
)) {
4119 var819
= varonce818
;
4122 var821
= standard___standard__NativeString___to_s_with_length(var820
, 3l);
4124 varonce818
= var819
;
4126 ((struct instance_standard__NativeArray
*)var813
)->values
[2]=var819
;
4128 var813
= varonce812
;
4132 var822
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MClassType>*/
4134 ((struct instance_standard__NativeArray
*)var813
)->values
[1]=var822
;
4136 var823
= ((val
*(*)(val
* self
))(var813
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var813
); /* native_to_s on <var813:NativeArray[String]>*/
4138 varonce812
= var813
;
4140 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var823
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
4142 if (unlikely(varonce824
==NULL
)) {
4143 var825
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
4144 if (likely(varonce826
!=NULL
)) {
4145 var827
= varonce826
;
4148 var829
= standard___standard__NativeString___to_s_with_length(var828
, 5l);
4150 varonce826
= var827
;
4152 ((struct instance_standard__NativeArray
*)var825
)->values
[1]=var827
;
4153 if (likely(varonce830
!=NULL
)) {
4154 var831
= varonce830
;
4156 var832
= "(const struct type* type) {";
4157 var833
= standard___standard__NativeString___to_s_with_length(var832
, 27l);
4159 varonce830
= var831
;
4161 ((struct instance_standard__NativeArray
*)var825
)->values
[3]=var831
;
4163 var825
= varonce824
;
4167 var834
= nit__abstract_compiler___MClassType___MType__ctype(var_mtype
);
4169 ((struct instance_standard__NativeArray
*)var825
)->values
[0]=var834
;
4170 ((struct instance_standard__NativeArray
*)var825
)->values
[2]=var_c_name
;
4172 var835
= ((val
*(*)(val
* self
))(var825
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var825
); /* native_to_s on <var825:NativeArray[String]>*/
4174 varonce824
= var825
;
4176 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var835
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
4179 if (unlikely(varonce836
==NULL
)) {
4180 var837
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
4181 if (likely(varonce838
!=NULL
)) {
4182 var839
= varonce838
;
4184 var840
= " is DEAD";
4185 var841
= standard___standard__NativeString___to_s_with_length(var840
, 8l);
4187 varonce838
= var839
;
4189 ((struct instance_standard__NativeArray
*)var837
)->values
[1]=var839
;
4191 var837
= varonce836
;
4195 var842
= ((val
*(*)(val
* self
))(var_mclass
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mclass
); /* to_s on <var_mclass:MClass>*/
4197 ((struct instance_standard__NativeArray
*)var837
)->values
[0]=var842
;
4199 var843
= ((val
*(*)(val
* self
))(var837
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var837
); /* native_to_s on <var837:NativeArray[String]>*/
4201 varonce836
= var837
;
4203 nit___nit__AbstractCompilerVisitor___add_abort(var_v
, var843
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:SeparateCompilerVisitor>*/
4206 if (likely(varonce844
!=NULL
)) {
4207 var845
= varonce844
;
4210 var847
= standard___standard__NativeString___to_s_with_length(var846
, 4l);
4212 varonce844
= var845
;
4215 var848
= nit___nit__AbstractCompilerVisitor___new_named_var(var_v
, var_mtype
, var845
);
4217 var_res849
= var848
;
4219 { /* Inline abstract_compiler#RuntimeVariable#is_exact= (var_res849,1) on <var_res849:RuntimeVariable> */
4220 var_res849
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___is_exact
].s
= 1; /* _is_exact on <var_res849:RuntimeVariable> */
4221 RET_LABEL850
:(void)0;
4224 if (unlikely(varonce851
==NULL
)) {
4225 var852
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
4226 if (likely(varonce853
!=NULL
)) {
4227 var854
= varonce853
;
4229 var855
= " = nit_alloc(sizeof(struct instance_";
4230 var856
= standard___standard__NativeString___to_s_with_length(var855
, 36l);
4232 varonce853
= var854
;
4234 ((struct instance_standard__NativeArray
*)var852
)->values
[1]=var854
;
4235 if (likely(varonce857
!=NULL
)) {
4236 var858
= varonce857
;
4239 var860
= standard___standard__NativeString___to_s_with_length(var859
, 3l);
4241 varonce857
= var858
;
4243 ((struct instance_standard__NativeArray
*)var852
)->values
[3]=var858
;
4245 var852
= varonce851
;
4249 var861
= ((val
*(*)(val
* self
))(var_res849
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res849
); /* to_s on <var_res849:RuntimeVariable>*/
4251 ((struct instance_standard__NativeArray
*)var852
)->values
[0]=var861
;
4253 var862
= ((val
*(*)(val
* self
))(var_pointer_type
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_pointer_type
); /* c_name on <var_pointer_type:MClassType>*/
4255 ((struct instance_standard__NativeArray
*)var852
)->values
[2]=var862
;
4257 var863
= ((val
*(*)(val
* self
))(var852
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var852
); /* native_to_s on <var852:NativeArray[String]>*/
4259 varonce851
= var852
;
4261 nit___nit__AbstractCompilerVisitor___add(var_v
, var863
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4263 if (unlikely(varonce864
==NULL
)) {
4264 var865
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
4265 if (likely(varonce866
!=NULL
)) {
4266 var867
= varonce866
;
4268 var868
= "->type = type;";
4269 var869
= standard___standard__NativeString___to_s_with_length(var868
, 14l);
4271 varonce866
= var867
;
4273 ((struct instance_standard__NativeArray
*)var865
)->values
[1]=var867
;
4275 var865
= varonce864
;
4279 var870
= ((val
*(*)(val
* self
))(var_res849
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res849
); /* to_s on <var_res849:RuntimeVariable>*/
4281 ((struct instance_standard__NativeArray
*)var865
)->values
[0]=var870
;
4283 var871
= ((val
*(*)(val
* self
))(var865
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var865
); /* native_to_s on <var865:NativeArray[String]>*/
4285 varonce864
= var865
;
4287 nit___nit__AbstractCompilerVisitor___add(var_v
, var871
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4289 if (likely(varonce872
!=NULL
)) {
4290 var873
= varonce872
;
4293 var875
= standard___standard__NativeString___to_s_with_length(var874
, 4l);
4295 varonce872
= var873
;
4298 nit___nit__SeparateCompiler___hardening_live_type(self
, var_v
, var873
); /* Direct call separate_compiler#SeparateCompiler#hardening_live_type on <self:SeparateCompiler>*/
4300 if (unlikely(varonce876
==NULL
)) {
4301 var877
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
4302 if (likely(varonce878
!=NULL
)) {
4303 var879
= varonce878
;
4306 var881
= standard___standard__NativeString___to_s_with_length(var880
, 6l);
4308 varonce878
= var879
;
4310 ((struct instance_standard__NativeArray
*)var877
)->values
[0]=var879
;
4312 var877
= varonce876
;
4315 ((struct instance_standard__NativeArray
*)var877
)->values
[1]=var_c_name
;
4317 var882
= ((val
*(*)(val
* self
))(var877
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var877
); /* native_to_s on <var877:NativeArray[String]>*/
4319 varonce876
= var877
;
4321 nit___nit__AbstractCompilerVisitor___require_declaration(var_v
, var882
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
4323 if (unlikely(varonce883
==NULL
)) {
4324 var884
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
4325 if (likely(varonce885
!=NULL
)) {
4326 var886
= varonce885
;
4328 var887
= "->class = &class_";
4329 var888
= standard___standard__NativeString___to_s_with_length(var887
, 17l);
4331 varonce885
= var886
;
4333 ((struct instance_standard__NativeArray
*)var884
)->values
[1]=var886
;
4334 if (likely(varonce889
!=NULL
)) {
4335 var890
= varonce889
;
4338 var892
= standard___standard__NativeString___to_s_with_length(var891
, 1l);
4340 varonce889
= var890
;
4342 ((struct instance_standard__NativeArray
*)var884
)->values
[3]=var890
;
4344 var884
= varonce883
;
4348 var893
= ((val
*(*)(val
* self
))(var_res849
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res849
); /* to_s on <var_res849:RuntimeVariable>*/
4350 ((struct instance_standard__NativeArray
*)var884
)->values
[0]=var893
;
4351 ((struct instance_standard__NativeArray
*)var884
)->values
[2]=var_c_name
;
4353 var894
= ((val
*(*)(val
* self
))(var884
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var884
); /* native_to_s on <var884:NativeArray[String]>*/
4355 varonce883
= var884
;
4357 nit___nit__AbstractCompilerVisitor___add(var_v
, var894
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4359 if (unlikely(varonce895
==NULL
)) {
4360 var896
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
4361 if (likely(varonce897
!=NULL
)) {
4362 var898
= varonce897
;
4364 var899
= "((struct instance_";
4365 var900
= standard___standard__NativeString___to_s_with_length(var899
, 18l);
4367 varonce897
= var898
;
4369 ((struct instance_standard__NativeArray
*)var896
)->values
[0]=var898
;
4370 if (likely(varonce901
!=NULL
)) {
4371 var902
= varonce901
;
4374 var904
= standard___standard__NativeString___to_s_with_length(var903
, 2l);
4376 varonce901
= var902
;
4378 ((struct instance_standard__NativeArray
*)var896
)->values
[2]=var902
;
4379 if (likely(varonce905
!=NULL
)) {
4380 var906
= varonce905
;
4382 var907
= ")->value = NULL;";
4383 var908
= standard___standard__NativeString___to_s_with_length(var907
, 16l);
4385 varonce905
= var906
;
4387 ((struct instance_standard__NativeArray
*)var896
)->values
[4]=var906
;
4389 var896
= varonce895
;
4393 var909
= ((val
*(*)(val
* self
))(var_pointer_type
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_pointer_type
); /* c_name on <var_pointer_type:MClassType>*/
4395 ((struct instance_standard__NativeArray
*)var896
)->values
[1]=var909
;
4397 var910
= ((val
*(*)(val
* self
))(var_res849
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res849
); /* to_s on <var_res849:RuntimeVariable>*/
4399 ((struct instance_standard__NativeArray
*)var896
)->values
[3]=var910
;
4401 var911
= ((val
*(*)(val
* self
))(var896
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var896
); /* native_to_s on <var896:NativeArray[String]>*/
4403 varonce895
= var896
;
4405 nit___nit__AbstractCompilerVisitor___add(var_v
, var911
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4407 if (unlikely(varonce912
==NULL
)) {
4408 var913
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
4409 if (likely(varonce914
!=NULL
)) {
4410 var915
= varonce914
;
4413 var917
= standard___standard__NativeString___to_s_with_length(var916
, 7l);
4415 varonce914
= var915
;
4417 ((struct instance_standard__NativeArray
*)var913
)->values
[0]=var915
;
4418 if (likely(varonce918
!=NULL
)) {
4419 var919
= varonce918
;
4422 var921
= standard___standard__NativeString___to_s_with_length(var920
, 1l);
4424 varonce918
= var919
;
4426 ((struct instance_standard__NativeArray
*)var913
)->values
[2]=var919
;
4428 var913
= varonce912
;
4432 var922
= ((val
*(*)(val
* self
))(var_res849
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res849
); /* to_s on <var_res849:RuntimeVariable>*/
4434 ((struct instance_standard__NativeArray
*)var913
)->values
[1]=var922
;
4436 var923
= ((val
*(*)(val
* self
))(var913
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var913
); /* native_to_s on <var913:NativeArray[String]>*/
4438 varonce912
= var913
;
4440 nit___nit__AbstractCompilerVisitor___add(var_v
, var923
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4443 if (likely(varonce924
!=NULL
)) {
4444 var925
= varonce924
;
4447 var927
= standard___standard__NativeString___to_s_with_length(var926
, 1l);
4449 varonce924
= var925
;
4452 nit___nit__AbstractCompilerVisitor___add(var_v
, var925
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4459 if (unlikely(varonce928
==NULL
)) {
4460 var929
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
4461 if (likely(varonce930
!=NULL
)) {
4462 var931
= varonce930
;
4465 var933
= standard___standard__NativeString___to_s_with_length(var932
, 4l);
4467 varonce930
= var931
;
4469 ((struct instance_standard__NativeArray
*)var929
)->values
[0]=var931
;
4471 var929
= varonce928
;
4474 ((struct instance_standard__NativeArray
*)var929
)->values
[1]=var_c_name
;
4476 var934
= ((val
*(*)(val
* self
))(var929
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var929
); /* native_to_s on <var929:NativeArray[String]>*/
4478 varonce928
= var929
;
4479 if (unlikely(varonce935
==NULL
)) {
4480 var936
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
4481 if (likely(varonce937
!=NULL
)) {
4482 var938
= varonce937
;
4485 var940
= standard___standard__NativeString___to_s_with_length(var939
, 5l);
4487 varonce937
= var938
;
4489 ((struct instance_standard__NativeArray
*)var936
)->values
[1]=var938
;
4490 if (likely(varonce941
!=NULL
)) {
4491 var942
= varonce941
;
4493 var943
= "(const struct type* type);";
4494 var944
= standard___standard__NativeString___to_s_with_length(var943
, 26l);
4496 varonce941
= var942
;
4498 ((struct instance_standard__NativeArray
*)var936
)->values
[3]=var942
;
4500 var936
= varonce935
;
4504 var945
= nit__abstract_compiler___MClassType___MType__ctype(var_mtype
);
4506 ((struct instance_standard__NativeArray
*)var936
)->values
[0]=var945
;
4507 ((struct instance_standard__NativeArray
*)var936
)->values
[2]=var_c_name
;
4509 var946
= ((val
*(*)(val
* self
))(var936
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var936
); /* native_to_s on <var936:NativeArray[String]>*/
4511 varonce935
= var936
;
4513 nit___nit__AbstractCompiler___provide_declaration(self
, var934
, var946
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
4515 if (unlikely(varonce947
==NULL
)) {
4516 var948
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
4517 if (likely(varonce949
!=NULL
)) {
4518 var950
= varonce949
;
4520 var951
= "/* allocate ";
4521 var952
= standard___standard__NativeString___to_s_with_length(var951
, 12l);
4523 varonce949
= var950
;
4525 ((struct instance_standard__NativeArray
*)var948
)->values
[0]=var950
;
4526 if (likely(varonce953
!=NULL
)) {
4527 var954
= varonce953
;
4530 var956
= standard___standard__NativeString___to_s_with_length(var955
, 3l);
4532 varonce953
= var954
;
4534 ((struct instance_standard__NativeArray
*)var948
)->values
[2]=var954
;
4536 var948
= varonce947
;
4540 var957
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MClassType>*/
4542 ((struct instance_standard__NativeArray
*)var948
)->values
[1]=var957
;
4544 var958
= ((val
*(*)(val
* self
))(var948
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var948
); /* native_to_s on <var948:NativeArray[String]>*/
4546 varonce947
= var948
;
4548 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var958
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
4550 if (unlikely(varonce959
==NULL
)) {
4551 var960
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
4552 if (likely(varonce961
!=NULL
)) {
4553 var962
= varonce961
;
4556 var964
= standard___standard__NativeString___to_s_with_length(var963
, 5l);
4558 varonce961
= var962
;
4560 ((struct instance_standard__NativeArray
*)var960
)->values
[1]=var962
;
4561 if (likely(varonce965
!=NULL
)) {
4562 var966
= varonce965
;
4564 var967
= "(const struct type* type) {";
4565 var968
= standard___standard__NativeString___to_s_with_length(var967
, 27l);
4567 varonce965
= var966
;
4569 ((struct instance_standard__NativeArray
*)var960
)->values
[3]=var966
;
4571 var960
= varonce959
;
4575 var969
= nit__abstract_compiler___MClassType___MType__ctype(var_mtype
);
4577 ((struct instance_standard__NativeArray
*)var960
)->values
[0]=var969
;
4578 ((struct instance_standard__NativeArray
*)var960
)->values
[2]=var_c_name
;
4580 var970
= ((val
*(*)(val
* self
))(var960
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var960
); /* native_to_s on <var960:NativeArray[String]>*/
4582 varonce959
= var960
;
4584 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var970
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
4587 if (unlikely(varonce971
==NULL
)) {
4588 var972
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
4589 if (likely(varonce973
!=NULL
)) {
4590 var974
= varonce973
;
4592 var975
= " is DEAD";
4593 var976
= standard___standard__NativeString___to_s_with_length(var975
, 8l);
4595 varonce973
= var974
;
4597 ((struct instance_standard__NativeArray
*)var972
)->values
[1]=var974
;
4599 var972
= varonce971
;
4603 var977
= ((val
*(*)(val
* self
))(var_mclass
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mclass
); /* to_s on <var_mclass:MClass>*/
4605 ((struct instance_standard__NativeArray
*)var972
)->values
[0]=var977
;
4607 var978
= ((val
*(*)(val
* self
))(var972
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var972
); /* native_to_s on <var972:NativeArray[String]>*/
4609 varonce971
= var972
;
4611 nit___nit__AbstractCompilerVisitor___add_abort(var_v
, var978
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:SeparateCompilerVisitor>*/
4614 if (likely(varonce979
!=NULL
)) {
4615 var980
= varonce979
;
4618 var982
= standard___standard__NativeString___to_s_with_length(var981
, 4l);
4620 varonce979
= var980
;
4623 var983
= nit___nit__AbstractCompilerVisitor___new_named_var(var_v
, var_mtype
, var980
);
4625 var_res984
= var983
;
4627 { /* Inline abstract_compiler#RuntimeVariable#is_exact= (var_res984,1) on <var_res984:RuntimeVariable> */
4628 var_res984
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___is_exact
].s
= 1; /* _is_exact on <var_res984:RuntimeVariable> */
4629 RET_LABEL985
:(void)0;
4633 { /* Inline separate_compiler#SeparateCompiler#attr_tables (self) on <self:SeparateCompiler> */
4634 var988
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___attr_tables
].val
; /* _attr_tables on <self:SeparateCompiler> */
4635 if (unlikely(var988
== NULL
)) {
4636 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _attr_tables");
4637 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1054);
4641 RET_LABEL987
:(void)0;
4645 var989
= ((val
*(*)(val
* self
, val
* p0
))((((long)var986
&3)?class_info
[((long)var986
&3)]:var986
->class)->vft
[COLOR_standard__abstract_collection__MapRead__get_or_null
]))(var986
, var_mclass
); /* get_or_null on <var986:Map[MClass, Array[nullable MProperty]]>*/
4648 if (var_attrs
== NULL
) {
4649 var990
= 1; /* is null */
4651 var990
= 0; /* arg is null but recv is not */
4654 var991
= standard___standard__Array___standard__kernel__Object___61d_61d(var_attrs
, ((val
*)NULL
));
4658 if (unlikely(varonce992
==NULL
)) {
4659 var993
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
4660 if (likely(varonce994
!=NULL
)) {
4661 var995
= varonce994
;
4663 var996
= " = nit_alloc(sizeof(struct instance));";
4664 var997
= standard___standard__NativeString___to_s_with_length(var996
, 38l);
4666 varonce994
= var995
;
4668 ((struct instance_standard__NativeArray
*)var993
)->values
[1]=var995
;
4670 var993
= varonce992
;
4674 var998
= ((val
*(*)(val
* self
))(var_res984
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res984
); /* to_s on <var_res984:RuntimeVariable>*/
4676 ((struct instance_standard__NativeArray
*)var993
)->values
[0]=var998
;
4678 var999
= ((val
*(*)(val
* self
))(var993
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var993
); /* native_to_s on <var993:NativeArray[String]>*/
4680 varonce992
= var993
;
4682 nit___nit__AbstractCompilerVisitor___add(var_v
, var999
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4685 if (unlikely(varonce1000
==NULL
)) {
4686 var1001
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
4687 if (likely(varonce1002
!=NULL
)) {
4688 var1003
= varonce1002
;
4690 var1004
= " = nit_alloc(sizeof(struct instance) + ";
4691 var1005
= standard___standard__NativeString___to_s_with_length(var1004
, 39l);
4693 varonce1002
= var1003
;
4695 ((struct instance_standard__NativeArray
*)var1001
)->values
[1]=var1003
;
4696 if (likely(varonce1006
!=NULL
)) {
4697 var1007
= varonce1006
;
4699 var1008
= "*sizeof(nitattribute_t));";
4700 var1009
= standard___standard__NativeString___to_s_with_length(var1008
, 25l);
4702 varonce1006
= var1007
;
4704 ((struct instance_standard__NativeArray
*)var1001
)->values
[3]=var1007
;
4706 var1001
= varonce1000
;
4710 var1010
= ((val
*(*)(val
* self
))(var_res984
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res984
); /* to_s on <var_res984:RuntimeVariable>*/
4712 ((struct instance_standard__NativeArray
*)var1001
)->values
[0]=var1010
;
4714 { /* Inline array#AbstractArrayRead#length (var_attrs) on <var_attrs:nullable Array[nullable MProperty](Array[nullable MProperty])> */
4715 var1013
= var_attrs
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_attrs:nullable Array[nullable MProperty](Array[nullable MProperty])> */
4717 RET_LABEL1012
:(void)0;
4720 var1014
= standard__string___Int___Object__to_s(var1011
);
4721 ((struct instance_standard__NativeArray
*)var1001
)->values
[2]=var1014
;
4723 var1015
= ((val
*(*)(val
* self
))(var1001
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var1001
); /* native_to_s on <var1001:NativeArray[String]>*/
4725 varonce1000
= var1001
;
4727 nit___nit__AbstractCompilerVisitor___add(var_v
, var1015
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4730 if (unlikely(varonce1016
==NULL
)) {
4731 var1017
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
4732 if (likely(varonce1018
!=NULL
)) {
4733 var1019
= varonce1018
;
4735 var1020
= "->type = type;";
4736 var1021
= standard___standard__NativeString___to_s_with_length(var1020
, 14l);
4738 varonce1018
= var1019
;
4740 ((struct instance_standard__NativeArray
*)var1017
)->values
[1]=var1019
;
4742 var1017
= varonce1016
;
4746 var1022
= ((val
*(*)(val
* self
))(var_res984
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res984
); /* to_s on <var_res984:RuntimeVariable>*/
4748 ((struct instance_standard__NativeArray
*)var1017
)->values
[0]=var1022
;
4750 var1023
= ((val
*(*)(val
* self
))(var1017
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var1017
); /* native_to_s on <var1017:NativeArray[String]>*/
4752 varonce1016
= var1017
;
4754 nit___nit__AbstractCompilerVisitor___add(var_v
, var1023
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4756 if (likely(varonce1024
!=NULL
)) {
4757 var1025
= varonce1024
;
4760 var1027
= standard___standard__NativeString___to_s_with_length(var1026
, 4l);
4762 varonce1024
= var1025
;
4765 nit___nit__SeparateCompiler___hardening_live_type(self
, var_v
, var1025
); /* Direct call separate_compiler#SeparateCompiler#hardening_live_type on <self:SeparateCompiler>*/
4767 if (unlikely(varonce1028
==NULL
)) {
4768 var1029
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
4769 if (likely(varonce1030
!=NULL
)) {
4770 var1031
= varonce1030
;
4773 var1033
= standard___standard__NativeString___to_s_with_length(var1032
, 6l);
4775 varonce1030
= var1031
;
4777 ((struct instance_standard__NativeArray
*)var1029
)->values
[0]=var1031
;
4779 var1029
= varonce1028
;
4782 ((struct instance_standard__NativeArray
*)var1029
)->values
[1]=var_c_name
;
4784 var1034
= ((val
*(*)(val
* self
))(var1029
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var1029
); /* native_to_s on <var1029:NativeArray[String]>*/
4786 varonce1028
= var1029
;
4788 nit___nit__AbstractCompilerVisitor___require_declaration(var_v
, var1034
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
4790 if (unlikely(varonce1035
==NULL
)) {
4791 var1036
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
4792 if (likely(varonce1037
!=NULL
)) {
4793 var1038
= varonce1037
;
4795 var1039
= "->class = &class_";
4796 var1040
= standard___standard__NativeString___to_s_with_length(var1039
, 17l);
4798 varonce1037
= var1038
;
4800 ((struct instance_standard__NativeArray
*)var1036
)->values
[1]=var1038
;
4801 if (likely(varonce1041
!=NULL
)) {
4802 var1042
= varonce1041
;
4805 var1044
= standard___standard__NativeString___to_s_with_length(var1043
, 1l);
4807 varonce1041
= var1042
;
4809 ((struct instance_standard__NativeArray
*)var1036
)->values
[3]=var1042
;
4811 var1036
= varonce1035
;
4815 var1045
= ((val
*(*)(val
* self
))(var_res984
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res984
); /* to_s on <var_res984:RuntimeVariable>*/
4817 ((struct instance_standard__NativeArray
*)var1036
)->values
[0]=var1045
;
4818 ((struct instance_standard__NativeArray
*)var1036
)->values
[2]=var_c_name
;
4820 var1046
= ((val
*(*)(val
* self
))(var1036
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var1036
); /* native_to_s on <var1036:NativeArray[String]>*/
4822 varonce1035
= var1036
;
4824 nit___nit__AbstractCompilerVisitor___add(var_v
, var1046
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4826 if (var_attrs
== NULL
) {
4827 var1047
= 0; /* is null */
4829 var1047
= 1; /* arg is null and recv is not */
4832 { /* Inline kernel#Object#!= (var_attrs,((val*)NULL)) on <var_attrs:nullable Array[nullable MProperty]> */
4833 var_other
= ((val
*)NULL
);
4835 var1050
= ((short int(*)(val
* self
, val
* p0
))(var_attrs
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_attrs
, var_other
); /* == on <var_attrs:nullable Array[nullable MProperty](Array[nullable MProperty])>*/
4840 RET_LABEL1049
:(void)0;
4846 nit___nit__AbstractCompiler___generate_init_attr(self
, var_v
, var_res984
, var_mtype
); /* Direct call abstract_compiler#AbstractCompiler#generate_init_attr on <self:SeparateCompiler>*/
4849 nit___nit__AbstractCompilerVisitor___set_finalizer(var_v
, var_res984
); /* Direct call abstract_compiler#AbstractCompilerVisitor#set_finalizer on <var_v:SeparateCompilerVisitor>*/
4853 if (unlikely(varonce1052
==NULL
)) {
4854 var1053
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
4855 if (likely(varonce1054
!=NULL
)) {
4856 var1055
= varonce1054
;
4858 var1056
= "return ";
4859 var1057
= standard___standard__NativeString___to_s_with_length(var1056
, 7l);
4861 varonce1054
= var1055
;
4863 ((struct instance_standard__NativeArray
*)var1053
)->values
[0]=var1055
;
4864 if (likely(varonce1058
!=NULL
)) {
4865 var1059
= varonce1058
;
4868 var1061
= standard___standard__NativeString___to_s_with_length(var1060
, 1l);
4870 varonce1058
= var1059
;
4872 ((struct instance_standard__NativeArray
*)var1053
)->values
[2]=var1059
;
4874 var1053
= varonce1052
;
4878 var1062
= ((val
*(*)(val
* self
))(var_res984
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res984
); /* to_s on <var_res984:RuntimeVariable>*/
4880 ((struct instance_standard__NativeArray
*)var1053
)->values
[1]=var1062
;
4882 var1063
= ((val
*(*)(val
* self
))(var1053
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var1053
); /* native_to_s on <var1053:NativeArray[String]>*/
4884 varonce1052
= var1053
;
4886 nit___nit__AbstractCompilerVisitor___add(var_v
, var1063
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4889 if (likely(varonce1064
!=NULL
)) {
4890 var1065
= varonce1064
;
4893 var1067
= standard___standard__NativeString___to_s_with_length(var1066
, 1l);
4895 varonce1064
= var1065
;
4898 nit___nit__AbstractCompilerVisitor___add(var_v
, var1065
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4902 /* method separate_compiler#SeparateCompiler#compile_class_infos for (self: SeparateCompiler) */
4903 void nit___nit__SeparateCompiler___compile_class_infos(val
* self
) {
4904 val
* var
/* : ModelBuilder */;
4905 val
* var2
/* : ModelBuilder */;
4906 val
* var3
/* : ToolContext */;
4907 val
* var5
/* : ToolContext */;
4908 val
* var6
/* : OptionBool */;
4909 val
* var8
/* : OptionBool */;
4910 val
* var9
/* : nullable Object */;
4911 val
* var11
/* : nullable Object */;
4912 short int var12
/* : Bool */;
4913 val
* var13
/* : Array[nullable MClass] */;
4914 val
* var_class_info
/* var class_info: Array[nullable MClass] */;
4915 val
* var14
/* : HashMap[MClass, Int] */;
4916 val
* var16
/* : HashMap[MClass, Int] */;
4917 val
* var17
/* : RemovableCollection[nullable Object] */;
4918 val
* var_
/* var : RemovableCollection[MClass] */;
4919 val
* var18
/* : Iterator[nullable Object] */;
4920 val
* var_19
/* var : Iterator[MClass] */;
4921 short int var20
/* : Bool */;
4922 val
* var21
/* : nullable Object */;
4923 val
* var_t
/* var t: MClass */;
4924 val
* var22
/* : String */;
4925 val
* var24
/* : String */;
4926 static val
* varonce
;
4927 val
* var25
/* : String */;
4928 char* var26
/* : NativeString */;
4929 val
* var27
/* : FlatString */;
4930 short int var28
/* : Bool */;
4931 val
* var29
/* : String */;
4932 val
* var31
/* : String */;
4933 static val
* varonce32
;
4934 val
* var33
/* : String */;
4935 char* var34
/* : NativeString */;
4936 val
* var35
/* : FlatString */;
4937 short int var36
/* : Bool */;
4938 val
* var37
/* : String */;
4939 val
* var39
/* : String */;
4940 static val
* varonce40
;
4941 val
* var41
/* : String */;
4942 char* var42
/* : NativeString */;
4943 val
* var43
/* : FlatString */;
4944 short int var44
/* : Bool */;
4945 val
* var45
/* : MClassType */;
4946 val
* var47
/* : MClassType */;
4947 val
* var50
/* : AbstractCompilerVisitor */;
4948 val
* var_v
/* var v: SeparateCompilerVisitor */;
4949 static val
* varonce51
;
4950 val
* var52
/* : String */;
4951 char* var53
/* : NativeString */;
4952 val
* var54
/* : FlatString */;
4953 val
* var_55
/* var : Array[nullable MClass] */;
4954 val
* var56
/* : ArrayIterator[nullable Object] */;
4955 val
* var_57
/* var : ArrayIterator[nullable MClass] */;
4956 short int var58
/* : Bool */;
4957 val
* var59
/* : nullable Object */;
4958 val
* var_t60
/* var t: nullable MClass */;
4959 short int var61
/* : Bool */;
4960 short int var62
/* : Bool */;
4961 val
* var_other
/* var other: nullable Object */;
4962 short int var64
/* : Bool */;
4963 short int var66
/* : Bool */;
4964 static val
* varonce67
;
4965 val
* var68
/* : String */;
4966 char* var69
/* : NativeString */;
4967 val
* var70
/* : FlatString */;
4968 val
* var72
/* : NativeArray[String] */;
4969 static val
* varonce71
;
4970 static val
* varonce73
;
4971 val
* var74
/* : String */;
4972 char* var75
/* : NativeString */;
4973 val
* var76
/* : FlatString */;
4974 val
* var77
/* : String */;
4975 val
* var78
/* : String */;
4976 val
* var_s
/* var s: String */;
4977 val
* var80
/* : NativeArray[String] */;
4978 static val
* varonce79
;
4979 static val
* varonce81
;
4980 val
* var82
/* : String */;
4981 char* var83
/* : NativeString */;
4982 val
* var84
/* : FlatString */;
4983 static val
* varonce85
;
4984 val
* var86
/* : String */;
4985 char* var87
/* : NativeString */;
4986 val
* var88
/* : FlatString */;
4987 val
* var89
/* : String */;
4988 static val
* varonce91
;
4989 val
* var92
/* : String */;
4990 char* var93
/* : NativeString */;
4991 val
* var94
/* : FlatString */;
4992 static val
* varonce95
;
4993 val
* var96
/* : String */;
4994 char* var97
/* : NativeString */;
4995 val
* var98
/* : FlatString */;
4996 val
* var_99
/* var : Array[nullable MClass] */;
4997 val
* var100
/* : ArrayIterator[nullable Object] */;
4998 val
* var_101
/* var : ArrayIterator[nullable MClass] */;
4999 short int var102
/* : Bool */;
5000 val
* var103
/* : nullable Object */;
5001 val
* var_t104
/* var t: nullable MClass */;
5002 short int var105
/* : Bool */;
5003 short int var106
/* : Bool */;
5004 short int var108
/* : Bool */;
5005 short int var110
/* : Bool */;
5006 static val
* varonce111
;
5007 val
* var112
/* : String */;
5008 char* var113
/* : NativeString */;
5009 val
* var114
/* : FlatString */;
5010 val
* var116
/* : NativeArray[String] */;
5011 static val
* varonce115
;
5012 static val
* varonce117
;
5013 val
* var118
/* : String */;
5014 char* var119
/* : NativeString */;
5015 val
* var120
/* : FlatString */;
5016 val
* var121
/* : String */;
5017 val
* var122
/* : String */;
5018 val
* var_s123
/* var s: String */;
5019 val
* var124
/* : Set[MType] */;
5020 val
* var126
/* : Set[MType] */;
5021 val
* var127
/* : MClassType */;
5022 val
* var129
/* : MClassType */;
5023 val
* var131
/* : NativeArray[String] */;
5024 static val
* varonce130
;
5025 static val
* varonce132
;
5026 val
* var133
/* : String */;
5027 char* var134
/* : NativeString */;
5028 val
* var135
/* : FlatString */;
5029 static val
* varonce136
;
5030 val
* var137
/* : String */;
5031 char* var138
/* : NativeString */;
5032 val
* var139
/* : FlatString */;
5033 val
* var140
/* : String */;
5034 static val
* varonce142
;
5035 val
* var143
/* : String */;
5036 char* var144
/* : NativeString */;
5037 val
* var145
/* : FlatString */;
5039 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5040 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5041 if (unlikely(var2
== NULL
)) {
5042 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5043 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
5051 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var) on <var:ModelBuilder> */
5052 var5
= var
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var:ModelBuilder> */
5053 if (unlikely(var5
== NULL
)) {
5054 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5055 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
5063 { /* Inline separate_compiler#ToolContext#opt_no_tag_primitives (var3) on <var3:ToolContext> */
5064 var8
= var3
->attrs
[COLOR_nit__separate_compiler__ToolContext___opt_no_tag_primitives
].val
; /* _opt_no_tag_primitives on <var3:ToolContext> */
5065 if (unlikely(var8
== NULL
)) {
5066 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_tag_primitives");
5067 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 32);
5075 { /* Inline opts#Option#value (var6) on <var6:OptionBool> */
5076 var11
= var6
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var6:OptionBool> */
5078 RET_LABEL10
:(void)0;
5081 var12
= (short int)((long)(var9
)>>2);
5086 var13
= NEW_standard__Array(&type_standard__Array__nullable__nit__MClass
);
5088 standard___standard__Array___filled_with(var13
, ((val
*)NULL
), 4l); /* Direct call array#Array#filled_with on <var13:Array[nullable MClass]>*/
5090 var_class_info
= var13
;
5092 { /* Inline separate_compiler#SeparateCompiler#box_kinds (self) on <self:SeparateCompiler> */
5093 var16
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___box_kinds
].val
; /* _box_kinds on <self:SeparateCompiler> */
5094 if (unlikely(var16
== NULL
)) {
5095 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _box_kinds");
5096 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 263);
5100 RET_LABEL15
:(void)0;
5104 var17
= standard___standard__HashMap___standard__abstract_collection__MapRead__keys(var14
);
5108 var18
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:RemovableCollection[MClass]>*/
5113 var20
= ((short int(*)(val
* self
))((((long)var_19
&3)?class_info
[((long)var_19
&3)]:var_19
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_19
); /* is_ok on <var_19:Iterator[MClass]>*/
5117 var21
= ((val
*(*)(val
* self
))((((long)var_19
&3)?class_info
[((long)var_19
&3)]:var_19
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_19
); /* item on <var_19:Iterator[MClass]>*/
5121 { /* Inline model#MClass#name (var_t) on <var_t:MClass> */
5122 var24
= var_t
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var_t:MClass> */
5123 if (unlikely(var24
== NULL
)) {
5124 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5125 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
5129 RET_LABEL23
:(void)0;
5132 if (likely(varonce
!=NULL
)) {
5136 var27
= standard___standard__NativeString___to_s_with_length(var26
, 3l);
5141 var28
= ((short int(*)(val
* self
, val
* p0
))(var22
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var22
, var25
); /* == on <var22:String>*/
5145 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_class_info
, 1l, var_t
); /* Direct call array#Array#[]= on <var_class_info:Array[nullable MClass]>*/
5149 { /* Inline model#MClass#name (var_t) on <var_t:MClass> */
5150 var31
= var_t
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var_t:MClass> */
5151 if (unlikely(var31
== NULL
)) {
5152 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5153 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
5157 RET_LABEL30
:(void)0;
5160 if (likely(varonce32
!=NULL
)) {
5164 var35
= standard___standard__NativeString___to_s_with_length(var34
, 4l);
5169 var36
= ((short int(*)(val
* self
, val
* p0
))(var29
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var29
, var33
); /* == on <var29:String>*/
5173 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_class_info
, 2l, var_t
); /* Direct call array#Array#[]= on <var_class_info:Array[nullable MClass]>*/
5177 { /* Inline model#MClass#name (var_t) on <var_t:MClass> */
5178 var39
= var_t
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var_t:MClass> */
5179 if (unlikely(var39
== NULL
)) {
5180 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5181 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
5185 RET_LABEL38
:(void)0;
5188 if (likely(varonce40
!=NULL
)) {
5192 var43
= standard___standard__NativeString___to_s_with_length(var42
, 4l);
5197 var44
= ((short int(*)(val
* self
, val
* p0
))(var37
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var37
, var41
); /* == on <var37:String>*/
5201 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_class_info
, 3l, var_t
); /* Direct call array#Array#[]= on <var_class_info:Array[nullable MClass]>*/
5209 { /* Inline model#MClass#mclass_type (var_t) on <var_t:MClass> */
5210 var47
= var_t
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_t:MClass> */
5211 if (unlikely(var47
== NULL
)) {
5212 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
5213 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
5217 RET_LABEL46
:(void)0;
5221 { /* Inline separate_compiler#MType#is_tagged= (var45,1) on <var45:MClassType> */
5222 var45
->attrs
[COLOR_nit__separate_compiler__MType___is_tagged
].s
= 1; /* _is_tagged on <var45:MClassType> */
5223 RET_LABEL48
:(void)0;
5226 BREAK_label
: (void)0;
5228 ((void(*)(val
* self
))((((long)var_19
&3)?class_info
[((long)var_19
&3)]:var_19
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_19
); /* next on <var_19:Iterator[MClass]>*/
5234 BREAK_label49
: (void)0;
5236 ((void(*)(val
* self
))((((long)var_19
&3)?class_info
[((long)var_19
&3)]:var_19
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_19
); /* finish on <var_19:Iterator[MClass]>*/
5239 var50
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompiler__new_visitor
]))(self
); /* new_visitor on <self:SeparateCompiler>*/
5242 if (likely(varonce51
!=NULL
)) {
5245 var53
= "const struct class *class_info[4] = {";
5246 var54
= standard___standard__NativeString___to_s_with_length(var53
, 37l);
5251 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var52
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
5253 var_55
= var_class_info
;
5255 var56
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_55
);
5260 var58
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_57
);
5264 var59
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_57
);
5267 if (var_t60
== NULL
) {
5268 var61
= 1; /* is null */
5270 var61
= 0; /* arg is null but recv is not */
5273 { /* Inline kernel#Object#== (var_t60,((val*)NULL)) on <var_t60:nullable MClass> */
5274 var_other
= ((val
*)NULL
);
5276 { /* Inline kernel#Object#is_same_instance (var_t60,var_other) on <var_t60:nullable MClass(MClass)> */
5277 var66
= var_t60
== var_other
;
5280 RET_LABEL65
:(void)0;
5285 RET_LABEL63
:(void)0;
5290 if (likely(varonce67
!=NULL
)) {
5294 var70
= standard___standard__NativeString___to_s_with_length(var69
, 5l);
5299 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var68
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
5302 if (unlikely(varonce71
==NULL
)) {
5303 var72
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
5304 if (likely(varonce73
!=NULL
)) {
5308 var76
= standard___standard__NativeString___to_s_with_length(var75
, 6l);
5312 ((struct instance_standard__NativeArray
*)var72
)->values
[0]=var74
;
5318 var77
= nit___nit__MClass___nit__model_base__MEntity__c_name(var_t60
);
5320 ((struct instance_standard__NativeArray
*)var72
)->values
[1]=var77
;
5322 var78
= ((val
*(*)(val
* self
))(var72
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var72
); /* native_to_s on <var72:NativeArray[String]>*/
5327 nit___nit__AbstractCompilerVisitor___require_declaration(var_v
, var_s
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
5329 if (unlikely(varonce79
==NULL
)) {
5330 var80
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
5331 if (likely(varonce81
!=NULL
)) {
5335 var84
= standard___standard__NativeString___to_s_with_length(var83
, 1l);
5339 ((struct instance_standard__NativeArray
*)var80
)->values
[0]=var82
;
5340 if (likely(varonce85
!=NULL
)) {
5344 var88
= standard___standard__NativeString___to_s_with_length(var87
, 1l);
5348 ((struct instance_standard__NativeArray
*)var80
)->values
[2]=var86
;
5353 ((struct instance_standard__NativeArray
*)var80
)->values
[1]=var_s
;
5355 var89
= ((val
*(*)(val
* self
))(var80
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var80
); /* native_to_s on <var80:NativeArray[String]>*/
5359 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var89
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
5363 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_57
); /* Direct call array#ArrayIterator#next on <var_57:ArrayIterator[nullable MClass]>*/
5369 BREAK_label90
: (void)0;
5371 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_57
); /* Direct call array#ArrayIterator#finish on <var_57:ArrayIterator[nullable MClass]>*/
5373 if (likely(varonce91
!=NULL
)) {
5377 var94
= standard___standard__NativeString___to_s_with_length(var93
, 2l);
5382 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var92
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
5384 if (likely(varonce95
!=NULL
)) {
5387 var97
= "const struct type *type_info[4] = {";
5388 var98
= standard___standard__NativeString___to_s_with_length(var97
, 35l);
5393 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var96
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
5395 var_99
= var_class_info
;
5397 var100
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_99
);
5402 var102
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_101
);
5406 var103
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_101
);
5409 if (var_t104
== NULL
) {
5410 var105
= 1; /* is null */
5412 var105
= 0; /* arg is null but recv is not */
5415 { /* Inline kernel#Object#== (var_t104,((val*)NULL)) on <var_t104:nullable MClass> */
5416 var_other
= ((val
*)NULL
);
5418 { /* Inline kernel#Object#is_same_instance (var_t104,var_other) on <var_t104:nullable MClass(MClass)> */
5419 var110
= var_t104
== var_other
;
5422 RET_LABEL109
:(void)0;
5427 RET_LABEL107
:(void)0;
5432 if (likely(varonce111
!=NULL
)) {
5433 var112
= varonce111
;
5436 var114
= standard___standard__NativeString___to_s_with_length(var113
, 5l);
5438 varonce111
= var112
;
5441 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var112
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
5444 if (unlikely(varonce115
==NULL
)) {
5445 var116
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
5446 if (likely(varonce117
!=NULL
)) {
5447 var118
= varonce117
;
5450 var120
= standard___standard__NativeString___to_s_with_length(var119
, 5l);
5452 varonce117
= var118
;
5454 ((struct instance_standard__NativeArray
*)var116
)->values
[0]=var118
;
5456 var116
= varonce115
;
5460 var121
= nit___nit__MClass___nit__model_base__MEntity__c_name(var_t104
);
5462 ((struct instance_standard__NativeArray
*)var116
)->values
[1]=var121
;
5464 var122
= ((val
*(*)(val
* self
))(var116
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var116
); /* native_to_s on <var116:NativeArray[String]>*/
5466 varonce115
= var116
;
5469 { /* Inline separate_compiler#SeparateCompiler#undead_types (self) on <self:SeparateCompiler> */
5470 var126
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___undead_types
].val
; /* _undead_types on <self:SeparateCompiler> */
5471 if (unlikely(var126
== NULL
)) {
5472 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _undead_types");
5473 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 146);
5477 RET_LABEL125
:(void)0;
5481 { /* Inline model#MClass#mclass_type (var_t104) on <var_t104:nullable MClass(MClass)> */
5482 var129
= var_t104
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_t104:nullable MClass(MClass)> */
5483 if (unlikely(var129
== NULL
)) {
5484 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
5485 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
5489 RET_LABEL128
:(void)0;
5493 ((void(*)(val
* self
, val
* p0
))((((long)var124
&3)?class_info
[((long)var124
&3)]:var124
->class)->vft
[COLOR_standard__abstract_collection__SimpleCollection__add
]))(var124
, var127
); /* add on <var124:Set[MType]>*/
5496 nit___nit__AbstractCompilerVisitor___require_declaration(var_v
, var_s123
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
5498 if (unlikely(varonce130
==NULL
)) {
5499 var131
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
5500 if (likely(varonce132
!=NULL
)) {
5501 var133
= varonce132
;
5504 var135
= standard___standard__NativeString___to_s_with_length(var134
, 1l);
5506 varonce132
= var133
;
5508 ((struct instance_standard__NativeArray
*)var131
)->values
[0]=var133
;
5509 if (likely(varonce136
!=NULL
)) {
5510 var137
= varonce136
;
5513 var139
= standard___standard__NativeString___to_s_with_length(var138
, 1l);
5515 varonce136
= var137
;
5517 ((struct instance_standard__NativeArray
*)var131
)->values
[2]=var137
;
5519 var131
= varonce130
;
5522 ((struct instance_standard__NativeArray
*)var131
)->values
[1]=var_s123
;
5524 var140
= ((val
*(*)(val
* self
))(var131
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var131
); /* native_to_s on <var131:NativeArray[String]>*/
5526 varonce130
= var131
;
5528 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var140
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
5532 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_101
); /* Direct call array#ArrayIterator#next on <var_101:ArrayIterator[nullable MClass]>*/
5535 goto BREAK_label141
;
5538 BREAK_label141
: (void)0;
5540 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_101
); /* Direct call array#ArrayIterator#finish on <var_101:ArrayIterator[nullable MClass]>*/
5542 if (likely(varonce142
!=NULL
)) {
5543 var143
= varonce142
;
5546 var145
= standard___standard__NativeString___to_s_with_length(var144
, 2l);
5548 varonce142
= var143
;
5551 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var143
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
5555 /* method separate_compiler#SeparateCompiler#hardening_live_type for (self: SeparateCompiler, SeparateCompilerVisitor, String) */
5556 void nit___nit__SeparateCompiler___hardening_live_type(val
* self
, val
* p0
, val
* p1
) {
5557 short int var
/* : Bool */;
5560 const struct type
* type_struct
;
5561 const char* var_class_name
;
5562 val
* var_v
/* var v: SeparateCompilerVisitor */;
5563 val
* var_t
/* var t: String */;
5564 val
* var1
/* : AbstractCompiler */;
5565 val
* var3
/* : AbstractCompiler */;
5566 val
* var4
/* : ModelBuilder */;
5567 val
* var6
/* : ModelBuilder */;
5568 val
* var7
/* : ToolContext */;
5569 val
* var9
/* : ToolContext */;
5570 val
* var10
/* : OptionBool */;
5571 val
* var12
/* : OptionBool */;
5572 val
* var13
/* : nullable Object */;
5573 val
* var15
/* : nullable Object */;
5574 short int var16
/* : Bool */;
5575 short int var17
/* : Bool */;
5576 val
* var18
/* : NativeArray[String] */;
5577 static val
* varonce
;
5578 static val
* varonce19
;
5579 val
* var20
/* : String */;
5580 char* var21
/* : NativeString */;
5581 val
* var22
/* : FlatString */;
5582 static val
* varonce23
;
5583 val
* var24
/* : String */;
5584 char* var25
/* : NativeString */;
5585 val
* var26
/* : FlatString */;
5586 val
* var27
/* : String */;
5587 static val
* varonce28
;
5588 val
* var29
/* : String */;
5589 char* var30
/* : NativeString */;
5590 val
* var31
/* : FlatString */;
5591 static val
* varonce32
;
5592 val
* var33
/* : String */;
5593 char* var34
/* : NativeString */;
5594 val
* var35
/* : FlatString */;
5595 val
* var37
/* : NativeArray[String] */;
5596 static val
* varonce36
;
5597 static val
* varonce38
;
5598 val
* var39
/* : String */;
5599 char* var40
/* : NativeString */;
5600 val
* var41
/* : FlatString */;
5601 static val
* varonce42
;
5602 val
* var43
/* : String */;
5603 char* var44
/* : NativeString */;
5604 val
* var45
/* : FlatString */;
5605 val
* var46
/* : String */;
5606 val
* var48
/* : NativeArray[String] */;
5607 static val
* varonce47
;
5608 static val
* varonce49
;
5609 val
* var50
/* : String */;
5610 char* var51
/* : NativeString */;
5611 val
* var52
/* : FlatString */;
5612 static val
* varonce53
;
5613 val
* var54
/* : String */;
5614 char* var55
/* : NativeString */;
5615 val
* var56
/* : FlatString */;
5616 val
* var57
/* : String */;
5617 static val
* varonce58
;
5618 val
* var59
/* : String */;
5619 char* var60
/* : NativeString */;
5620 val
* var61
/* : FlatString */;
5621 static val
* varonce62
;
5622 val
* var63
/* : String */;
5623 char* var64
/* : NativeString */;
5624 val
* var65
/* : FlatString */;
5625 /* Covariant cast for argument 0 (v) <p0:SeparateCompilerVisitor> isa VISITOR */
5626 /* <p0:SeparateCompilerVisitor> isa VISITOR */
5627 type_struct
= self
->type
->resolution_table
->types
[COLOR_nit__abstract_compiler__AbstractCompiler__VISITOR
];
5628 cltype
= type_struct
->color
;
5629 idtype
= type_struct
->id
;
5630 if(cltype
>= p0
->type
->table_size
) {
5633 var
= p0
->type
->type_table
[cltype
] == idtype
;
5635 if (unlikely(!var
)) {
5636 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5637 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
5638 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1034);
5644 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:SeparateCompilerVisitor> */
5645 var3
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:SeparateCompilerVisitor> */
5646 if (unlikely(var3
== NULL
)) {
5647 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5648 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
5656 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var1) on <var1:AbstractCompiler(SeparateCompiler)> */
5657 var6
= var1
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var1:AbstractCompiler(SeparateCompiler)> */
5658 if (unlikely(var6
== NULL
)) {
5659 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5660 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
5668 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var4) on <var4:ModelBuilder> */
5669 var9
= var4
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var4:ModelBuilder> */
5670 if (unlikely(var9
== NULL
)) {
5671 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5672 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
5680 { /* Inline abstract_compiler#ToolContext#opt_hardening (var7) on <var7:ToolContext> */
5681 var12
= var7
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_hardening
].val
; /* _opt_hardening on <var7:ToolContext> */
5682 if (unlikely(var12
== NULL
)) {
5683 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_hardening");
5684 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 46);
5688 RET_LABEL11
:(void)0;
5692 { /* Inline opts#Option#value (var10) on <var10:OptionBool> */
5693 var15
= var10
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var10:OptionBool> */
5695 RET_LABEL14
:(void)0;
5698 var16
= (short int)((long)(var13
)>>2);
5704 if (unlikely(varonce
==NULL
)) {
5705 var18
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
5706 if (likely(varonce19
!=NULL
)) {
5710 var22
= standard___standard__NativeString___to_s_with_length(var21
, 3l);
5714 ((struct instance_standard__NativeArray
*)var18
)->values
[0]=var20
;
5715 if (likely(varonce23
!=NULL
)) {
5718 var25
= " == NULL) {";
5719 var26
= standard___standard__NativeString___to_s_with_length(var25
, 11l);
5723 ((struct instance_standard__NativeArray
*)var18
)->values
[2]=var24
;
5728 ((struct instance_standard__NativeArray
*)var18
)->values
[1]=var_t
;
5730 var27
= ((val
*(*)(val
* self
))(var18
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var18
); /* native_to_s on <var18:NativeArray[String]>*/
5734 nit___nit__AbstractCompilerVisitor___add(var_v
, var27
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
5736 if (likely(varonce28
!=NULL
)) {
5739 var30
= "type null";
5740 var31
= standard___standard__NativeString___to_s_with_length(var30
, 9l);
5745 nit___nit__AbstractCompilerVisitor___add_abort(var_v
, var29
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:SeparateCompilerVisitor>*/
5747 if (likely(varonce32
!=NULL
)) {
5751 var35
= standard___standard__NativeString___to_s_with_length(var34
, 1l);
5756 nit___nit__AbstractCompilerVisitor___add(var_v
, var33
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
5758 if (unlikely(varonce36
==NULL
)) {
5759 var37
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
5760 if (likely(varonce38
!=NULL
)) {
5764 var41
= standard___standard__NativeString___to_s_with_length(var40
, 3l);
5768 ((struct instance_standard__NativeArray
*)var37
)->values
[0]=var39
;
5769 if (likely(varonce42
!=NULL
)) {
5772 var44
= "->table_size < 0) {";
5773 var45
= standard___standard__NativeString___to_s_with_length(var44
, 19l);
5777 ((struct instance_standard__NativeArray
*)var37
)->values
[2]=var43
;
5782 ((struct instance_standard__NativeArray
*)var37
)->values
[1]=var_t
;
5784 var46
= ((val
*(*)(val
* self
))(var37
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var37
); /* native_to_s on <var37:NativeArray[String]>*/
5788 nit___nit__AbstractCompilerVisitor___add(var_v
, var46
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
5790 if (unlikely(varonce47
==NULL
)) {
5791 var48
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
5792 if (likely(varonce49
!=NULL
)) {
5795 var51
= "PRINT_ERROR(\"Insantiation of a dead type: %s\\n\", ";
5796 var52
= standard___standard__NativeString___to_s_with_length(var51
, 49l);
5800 ((struct instance_standard__NativeArray
*)var48
)->values
[0]=var50
;
5801 if (likely(varonce53
!=NULL
)) {
5805 var56
= standard___standard__NativeString___to_s_with_length(var55
, 8l);
5809 ((struct instance_standard__NativeArray
*)var48
)->values
[2]=var54
;
5814 ((struct instance_standard__NativeArray
*)var48
)->values
[1]=var_t
;
5816 var57
= ((val
*(*)(val
* self
))(var48
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var48
); /* native_to_s on <var48:NativeArray[String]>*/
5820 nit___nit__AbstractCompilerVisitor___add(var_v
, var57
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
5822 if (likely(varonce58
!=NULL
)) {
5825 var60
= "type dead";
5826 var61
= standard___standard__NativeString___to_s_with_length(var60
, 9l);
5831 nit___nit__AbstractCompilerVisitor___add_abort(var_v
, var59
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:SeparateCompilerVisitor>*/
5833 if (likely(varonce62
!=NULL
)) {
5837 var65
= standard___standard__NativeString___to_s_with_length(var64
, 1l);
5842 nit___nit__AbstractCompilerVisitor___add(var_v
, var63
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
5846 /* method separate_compiler#SeparateCompiler#new_visitor for (self: SeparateCompiler): SeparateCompilerVisitor */
5847 val
* nit___nit__SeparateCompiler___nit__abstract_compiler__AbstractCompiler__new_visitor(val
* self
) {
5848 val
* var
/* : SeparateCompilerVisitor */;
5849 val
* var1
/* : SeparateCompilerVisitor */;
5850 short int var2
/* : Bool */;
5853 const struct type
* type_struct
;
5854 const char* var_class_name
;
5855 var1
= NEW_nit__SeparateCompilerVisitor(&type_nit__SeparateCompilerVisitor
);
5857 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compiler_61d
]))(var1
, self
); /* compiler= on <var1:SeparateCompilerVisitor>*/
5860 ((void(*)(val
* self
))(var1
->class->vft
[COLOR_standard__kernel__Object__init
]))(var1
); /* init on <var1:SeparateCompilerVisitor>*/
5862 /* <var1:SeparateCompilerVisitor> isa VISITOR */
5863 type_struct
= self
->type
->resolution_table
->types
[COLOR_nit__abstract_compiler__AbstractCompiler__VISITOR
];
5864 cltype
= type_struct
->color
;
5865 idtype
= type_struct
->id
;
5866 if(cltype
>= var1
->type
->table_size
) {
5869 var2
= var1
->type
->type_table
[cltype
] == idtype
;
5871 if (unlikely(!var2
)) {
5872 var_class_name
= var1
== NULL ?
"null" : var1
->type
->name
;
5873 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
5874 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1047);
5882 /* method separate_compiler#SeparateCompiler#type_tables for (self: SeparateCompiler): Map[MType, Array[nullable MType]] */
5883 val
* nit___nit__SeparateCompiler___type_tables(val
* self
) {
5884 val
* var
/* : Map[MType, Array[nullable MType]] */;
5885 val
* var1
/* : Map[MType, Array[nullable MType]] */;
5886 var1
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___type_tables
].val
; /* _type_tables on <self:SeparateCompiler> */
5887 if (unlikely(var1
== NULL
)) {
5888 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_tables");
5889 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1051);
5896 /* method separate_compiler#SeparateCompiler#type_tables= for (self: SeparateCompiler, Map[MType, Array[nullable MType]]) */
5897 void nit___nit__SeparateCompiler___type_tables_61d(val
* self
, val
* p0
) {
5898 self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___type_tables
].val
= p0
; /* _type_tables on <self:SeparateCompiler> */
5901 /* method separate_compiler#SeparateCompiler#resolution_tables for (self: SeparateCompiler): Map[MClassType, Array[nullable MType]] */
5902 val
* nit___nit__SeparateCompiler___resolution_tables(val
* self
) {
5903 val
* var
/* : Map[MClassType, Array[nullable MType]] */;
5904 val
* var1
/* : Map[MClassType, Array[nullable MType]] */;
5905 var1
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___resolution_tables
].val
; /* _resolution_tables on <self:SeparateCompiler> */
5906 if (unlikely(var1
== NULL
)) {
5907 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _resolution_tables");
5908 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1052);
5915 /* method separate_compiler#SeparateCompiler#resolution_tables= for (self: SeparateCompiler, Map[MClassType, Array[nullable MType]]) */
5916 void nit___nit__SeparateCompiler___resolution_tables_61d(val
* self
, val
* p0
) {
5917 self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___resolution_tables
].val
= p0
; /* _resolution_tables on <self:SeparateCompiler> */
5920 /* method separate_compiler#SeparateCompiler#method_tables for (self: SeparateCompiler): Map[MClass, Array[nullable MPropDef]] */
5921 val
* nit___nit__SeparateCompiler___method_tables(val
* self
) {
5922 val
* var
/* : Map[MClass, Array[nullable MPropDef]] */;
5923 val
* var1
/* : Map[MClass, Array[nullable MPropDef]] */;
5924 var1
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___method_tables
].val
; /* _method_tables on <self:SeparateCompiler> */
5925 if (unlikely(var1
== NULL
)) {
5926 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _method_tables");
5927 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1053);
5934 /* method separate_compiler#SeparateCompiler#method_tables= for (self: SeparateCompiler, Map[MClass, Array[nullable MPropDef]]) */
5935 void nit___nit__SeparateCompiler___method_tables_61d(val
* self
, val
* p0
) {
5936 self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___method_tables
].val
= p0
; /* _method_tables on <self:SeparateCompiler> */
5939 /* method separate_compiler#SeparateCompiler#attr_tables for (self: SeparateCompiler): Map[MClass, Array[nullable MProperty]] */
5940 val
* nit___nit__SeparateCompiler___attr_tables(val
* self
) {
5941 val
* var
/* : Map[MClass, Array[nullable MProperty]] */;
5942 val
* var1
/* : Map[MClass, Array[nullable MProperty]] */;
5943 var1
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___attr_tables
].val
; /* _attr_tables on <self:SeparateCompiler> */
5944 if (unlikely(var1
== NULL
)) {
5945 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _attr_tables");
5946 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1054);
5953 /* method separate_compiler#SeparateCompiler#attr_tables= for (self: SeparateCompiler, Map[MClass, Array[nullable MProperty]]) */
5954 void nit___nit__SeparateCompiler___attr_tables_61d(val
* self
, val
* p0
) {
5955 self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___attr_tables
].val
= p0
; /* _attr_tables on <self:SeparateCompiler> */
5958 /* method separate_compiler#SeparateCompiler#display_stats for (self: SeparateCompiler) */
5959 void nit___nit__SeparateCompiler___nit__abstract_compiler__AbstractCompiler__display_stats(val
* self
) {
5960 val
* var
/* : ModelBuilder */;
5961 val
* var2
/* : ModelBuilder */;
5962 val
* var3
/* : ToolContext */;
5963 val
* var5
/* : ToolContext */;
5964 val
* var6
/* : OptionBool */;
5965 val
* var8
/* : OptionBool */;
5966 val
* var9
/* : nullable Object */;
5967 val
* var11
/* : nullable Object */;
5968 short int var12
/* : Bool */;
5969 val
* var13
/* : ModelBuilder */;
5970 val
* var15
/* : ModelBuilder */;
5971 val
* var16
/* : ToolContext */;
5972 val
* var18
/* : ToolContext */;
5973 val
* var19
/* : OptionBool */;
5974 val
* var21
/* : OptionBool */;
5975 val
* var22
/* : nullable Object */;
5976 val
* var24
/* : nullable Object */;
5977 short int var25
/* : Bool */;
5978 val
* var26
/* : ModelBuilder */;
5979 val
* var28
/* : ModelBuilder */;
5980 val
* var29
/* : ToolContext */;
5981 val
* var31
/* : ToolContext */;
5982 val
* var_tc
/* var tc: ToolContext */;
5983 static val
* varonce
;
5984 val
* var32
/* : String */;
5985 char* var33
/* : NativeString */;
5986 val
* var34
/* : FlatString */;
5987 val
* var35
/* : ModelBuilder */;
5988 val
* var37
/* : ModelBuilder */;
5989 long var38
/* : Int */;
5990 long var40
/* : Int */;
5991 val
* var41
/* : ModelBuilder */;
5992 val
* var43
/* : ModelBuilder */;
5993 long var44
/* : Int */;
5994 long var46
/* : Int */;
5995 long var47
/* : Int */;
5996 short int var49
/* : Bool */;
5999 const char* var_class_name
;
6000 long var50
/* : Int */;
6001 val
* var51
/* : ModelBuilder */;
6002 val
* var53
/* : ModelBuilder */;
6003 long var54
/* : Int */;
6004 long var56
/* : Int */;
6005 long var57
/* : Int */;
6006 short int var59
/* : Bool */;
6009 const char* var_class_name62
;
6010 long var63
/* : Int */;
6011 long var_nb_invok_total
/* var nb_invok_total: Int */;
6012 val
* var65
/* : NativeArray[String] */;
6013 static val
* varonce64
;
6014 static val
* varonce66
;
6015 val
* var67
/* : String */;
6016 char* var68
/* : NativeString */;
6017 val
* var69
/* : FlatString */;
6018 val
* var70
/* : String */;
6019 val
* var71
/* : String */;
6020 val
* var73
/* : NativeArray[String] */;
6021 static val
* varonce72
;
6022 static val
* varonce74
;
6023 val
* var75
/* : String */;
6024 char* var76
/* : NativeString */;
6025 val
* var77
/* : FlatString */;
6026 static val
* varonce78
;
6027 val
* var79
/* : String */;
6028 char* var80
/* : NativeString */;
6029 val
* var81
/* : FlatString */;
6030 static val
* varonce82
;
6031 val
* var83
/* : String */;
6032 char* var84
/* : NativeString */;
6033 val
* var85
/* : FlatString */;
6034 val
* var86
/* : ModelBuilder */;
6035 val
* var88
/* : ModelBuilder */;
6036 long var89
/* : Int */;
6037 long var91
/* : Int */;
6038 val
* var92
/* : String */;
6039 val
* var93
/* : Sys */;
6040 val
* var94
/* : ModelBuilder */;
6041 val
* var96
/* : ModelBuilder */;
6042 long var97
/* : Int */;
6043 long var99
/* : Int */;
6044 val
* var100
/* : String */;
6045 val
* var101
/* : String */;
6046 val
* var103
/* : NativeArray[String] */;
6047 static val
* varonce102
;
6048 static val
* varonce104
;
6049 val
* var105
/* : String */;
6050 char* var106
/* : NativeString */;
6051 val
* var107
/* : FlatString */;
6052 static val
* varonce108
;
6053 val
* var109
/* : String */;
6054 char* var110
/* : NativeString */;
6055 val
* var111
/* : FlatString */;
6056 static val
* varonce112
;
6057 val
* var113
/* : String */;
6058 char* var114
/* : NativeString */;
6059 val
* var115
/* : FlatString */;
6060 val
* var116
/* : ModelBuilder */;
6061 val
* var118
/* : ModelBuilder */;
6062 long var119
/* : Int */;
6063 long var121
/* : Int */;
6064 val
* var122
/* : String */;
6065 val
* var123
/* : Sys */;
6066 val
* var124
/* : ModelBuilder */;
6067 val
* var126
/* : ModelBuilder */;
6068 long var127
/* : Int */;
6069 long var129
/* : Int */;
6070 val
* var130
/* : String */;
6071 val
* var131
/* : String */;
6072 val
* var133
/* : NativeArray[String] */;
6073 static val
* varonce132
;
6074 static val
* varonce134
;
6075 val
* var135
/* : String */;
6076 char* var136
/* : NativeString */;
6077 val
* var137
/* : FlatString */;
6078 static val
* varonce138
;
6079 val
* var139
/* : String */;
6080 char* var140
/* : NativeString */;
6081 val
* var141
/* : FlatString */;
6082 static val
* varonce142
;
6083 val
* var143
/* : String */;
6084 char* var144
/* : NativeString */;
6085 val
* var145
/* : FlatString */;
6086 val
* var146
/* : ModelBuilder */;
6087 val
* var148
/* : ModelBuilder */;
6088 long var149
/* : Int */;
6089 long var151
/* : Int */;
6090 val
* var152
/* : String */;
6091 val
* var153
/* : Sys */;
6092 val
* var154
/* : ModelBuilder */;
6093 val
* var156
/* : ModelBuilder */;
6094 long var157
/* : Int */;
6095 long var159
/* : Int */;
6096 val
* var160
/* : String */;
6097 val
* var161
/* : String */;
6099 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nit___nit__SeparateCompiler___nit__abstract_compiler__AbstractCompiler__display_stats
]))(self
); /* display_stats on <self:SeparateCompiler>*/
6102 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6103 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6104 if (unlikely(var2
== NULL
)) {
6105 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6106 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
6114 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var) on <var:ModelBuilder> */
6115 var5
= var
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var:ModelBuilder> */
6116 if (unlikely(var5
== NULL
)) {
6117 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6118 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
6126 { /* Inline separate_compiler#ToolContext#opt_tables_metrics (var3) on <var3:ToolContext> */
6127 var8
= var3
->attrs
[COLOR_nit__separate_compiler__ToolContext___opt_tables_metrics
].val
; /* _opt_tables_metrics on <var3:ToolContext> */
6128 if (unlikely(var8
== NULL
)) {
6129 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_tables_metrics");
6130 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 60);
6138 { /* Inline opts#Option#value (var6) on <var6:OptionBool> */
6139 var11
= var6
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var6:OptionBool> */
6141 RET_LABEL10
:(void)0;
6144 var12
= (short int)((long)(var9
)>>2);
6147 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nit__separate_compiler__SeparateCompiler__display_sizes
]))(self
); /* display_sizes on <self:SeparateCompiler>*/
6152 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6153 var15
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6154 if (unlikely(var15
== NULL
)) {
6155 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6156 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
6160 RET_LABEL14
:(void)0;
6164 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var13) on <var13:ModelBuilder> */
6165 var18
= var13
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var13:ModelBuilder> */
6166 if (unlikely(var18
== NULL
)) {
6167 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6168 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
6172 RET_LABEL17
:(void)0;
6176 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var16) on <var16:ToolContext> */
6177 var21
= var16
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var16:ToolContext> */
6178 if (unlikely(var21
== NULL
)) {
6179 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
6180 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 64);
6184 RET_LABEL20
:(void)0;
6188 { /* Inline opts#Option#value (var19) on <var19:OptionBool> */
6189 var24
= var19
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var19:OptionBool> */
6191 RET_LABEL23
:(void)0;
6194 var25
= (short int)((long)(var22
)>>2);
6197 nit___nit__SeparateCompiler___display_isset_checks(self
); /* Direct call separate_compiler#SeparateCompiler#display_isset_checks on <self:SeparateCompiler>*/
6202 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6203 var28
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6204 if (unlikely(var28
== NULL
)) {
6205 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6206 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
6210 RET_LABEL27
:(void)0;
6214 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var26) on <var26:ModelBuilder> */
6215 var31
= var26
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var26:ModelBuilder> */
6216 if (unlikely(var31
== NULL
)) {
6217 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6218 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
6222 RET_LABEL30
:(void)0;
6226 if (likely(varonce
!=NULL
)) {
6229 var33
= "# implementation of method invocation";
6230 var34
= standard___standard__NativeString___to_s_with_length(var33
, 37l);
6235 nit___nit__ToolContext___info(var_tc
, var32
, 2l); /* Direct call toolcontext#ToolContext#info on <var_tc:ToolContext>*/
6238 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6239 var37
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6240 if (unlikely(var37
== NULL
)) {
6241 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6242 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
6246 RET_LABEL36
:(void)0;
6250 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_tables (var35) on <var35:ModelBuilder> */
6251 var40
= var35
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_tables
].l
; /* _nb_invok_by_tables on <var35:ModelBuilder> */
6253 RET_LABEL39
:(void)0;
6257 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6258 var43
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6259 if (unlikely(var43
== NULL
)) {
6260 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6261 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
6265 RET_LABEL42
:(void)0;
6269 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_direct (var41) on <var41:ModelBuilder> */
6270 var46
= var41
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_direct
].l
; /* _nb_invok_by_direct on <var41:ModelBuilder> */
6272 RET_LABEL45
:(void)0;
6276 { /* Inline kernel#Int#+ (var38,var44) on <var38:Int> */
6277 /* Covariant cast for argument 0 (i) <var44:Int> isa OTHER */
6278 /* <var44:Int> isa OTHER */
6279 var49
= 1; /* easy <var44:Int> isa OTHER*/
6280 if (unlikely(!var49
)) {
6281 var_class_name
= type_standard__Int
.name
;
6282 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6283 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
6286 var50
= var38
+ var44
;
6289 RET_LABEL48
:(void)0;
6293 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6294 var53
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6295 if (unlikely(var53
== NULL
)) {
6296 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6297 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
6301 RET_LABEL52
:(void)0;
6305 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_inline (var51) on <var51:ModelBuilder> */
6306 var56
= var51
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_inline
].l
; /* _nb_invok_by_inline on <var51:ModelBuilder> */
6308 RET_LABEL55
:(void)0;
6312 { /* Inline kernel#Int#+ (var47,var54) on <var47:Int> */
6313 /* Covariant cast for argument 0 (i) <var54:Int> isa OTHER */
6314 /* <var54:Int> isa OTHER */
6315 var59
= 1; /* easy <var54:Int> isa OTHER*/
6316 if (unlikely(!var59
)) {
6317 var_class_name62
= type_standard__Int
.name
;
6318 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name62
);
6319 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
6322 var63
= var47
+ var54
;
6325 RET_LABEL58
:(void)0;
6328 var_nb_invok_total
= var57
;
6329 if (unlikely(varonce64
==NULL
)) {
6330 var65
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
6331 if (likely(varonce66
!=NULL
)) {
6334 var68
= "total number of invocations: ";
6335 var69
= standard___standard__NativeString___to_s_with_length(var68
, 29l);
6339 ((struct instance_standard__NativeArray
*)var65
)->values
[0]=var67
;
6344 var70
= standard__string___Int___Object__to_s(var_nb_invok_total
);
6345 ((struct instance_standard__NativeArray
*)var65
)->values
[1]=var70
;
6347 var71
= ((val
*(*)(val
* self
))(var65
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var65
); /* native_to_s on <var65:NativeArray[String]>*/
6351 nit___nit__ToolContext___info(var_tc
, var71
, 2l); /* Direct call toolcontext#ToolContext#info on <var_tc:ToolContext>*/
6353 if (unlikely(varonce72
==NULL
)) {
6354 var73
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
6355 if (likely(varonce74
!=NULL
)) {
6358 var76
= "invocations by VFT send: ";
6359 var77
= standard___standard__NativeString___to_s_with_length(var76
, 29l);
6363 ((struct instance_standard__NativeArray
*)var73
)->values
[0]=var75
;
6364 if (likely(varonce78
!=NULL
)) {
6368 var81
= standard___standard__NativeString___to_s_with_length(var80
, 2l);
6372 ((struct instance_standard__NativeArray
*)var73
)->values
[2]=var79
;
6373 if (likely(varonce82
!=NULL
)) {
6377 var85
= standard___standard__NativeString___to_s_with_length(var84
, 2l);
6381 ((struct instance_standard__NativeArray
*)var73
)->values
[4]=var83
;
6387 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6388 var88
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6389 if (unlikely(var88
== NULL
)) {
6390 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6391 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
6395 RET_LABEL87
:(void)0;
6399 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_tables (var86) on <var86:ModelBuilder> */
6400 var91
= var86
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_tables
].l
; /* _nb_invok_by_tables on <var86:ModelBuilder> */
6402 RET_LABEL90
:(void)0;
6405 var92
= standard__string___Int___Object__to_s(var89
);
6406 ((struct instance_standard__NativeArray
*)var73
)->values
[1]=var92
;
6409 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6410 var96
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6411 if (unlikely(var96
== NULL
)) {
6412 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6413 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
6417 RET_LABEL95
:(void)0;
6421 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_tables (var94) on <var94:ModelBuilder> */
6422 var99
= var94
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_tables
].l
; /* _nb_invok_by_tables on <var94:ModelBuilder> */
6424 RET_LABEL98
:(void)0;
6428 var100
= counter___standard__Sys___div(var93
, var97
, var_nb_invok_total
);
6430 ((struct instance_standard__NativeArray
*)var73
)->values
[3]=var100
;
6432 var101
= ((val
*(*)(val
* self
))(var73
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var73
); /* native_to_s on <var73:NativeArray[String]>*/
6436 nit___nit__ToolContext___info(var_tc
, var101
, 2l); /* Direct call toolcontext#ToolContext#info on <var_tc:ToolContext>*/
6438 if (unlikely(varonce102
==NULL
)) {
6439 var103
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
6440 if (likely(varonce104
!=NULL
)) {
6441 var105
= varonce104
;
6443 var106
= "invocations by direct call: ";
6444 var107
= standard___standard__NativeString___to_s_with_length(var106
, 29l);
6446 varonce104
= var105
;
6448 ((struct instance_standard__NativeArray
*)var103
)->values
[0]=var105
;
6449 if (likely(varonce108
!=NULL
)) {
6450 var109
= varonce108
;
6453 var111
= standard___standard__NativeString___to_s_with_length(var110
, 2l);
6455 varonce108
= var109
;
6457 ((struct instance_standard__NativeArray
*)var103
)->values
[2]=var109
;
6458 if (likely(varonce112
!=NULL
)) {
6459 var113
= varonce112
;
6462 var115
= standard___standard__NativeString___to_s_with_length(var114
, 2l);
6464 varonce112
= var113
;
6466 ((struct instance_standard__NativeArray
*)var103
)->values
[4]=var113
;
6468 var103
= varonce102
;
6472 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6473 var118
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6474 if (unlikely(var118
== NULL
)) {
6475 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6476 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
6480 RET_LABEL117
:(void)0;
6484 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_direct (var116) on <var116:ModelBuilder> */
6485 var121
= var116
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_direct
].l
; /* _nb_invok_by_direct on <var116:ModelBuilder> */
6487 RET_LABEL120
:(void)0;
6490 var122
= standard__string___Int___Object__to_s(var119
);
6491 ((struct instance_standard__NativeArray
*)var103
)->values
[1]=var122
;
6494 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6495 var126
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6496 if (unlikely(var126
== NULL
)) {
6497 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6498 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
6502 RET_LABEL125
:(void)0;
6506 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_direct (var124) on <var124:ModelBuilder> */
6507 var129
= var124
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_direct
].l
; /* _nb_invok_by_direct on <var124:ModelBuilder> */
6509 RET_LABEL128
:(void)0;
6513 var130
= counter___standard__Sys___div(var123
, var127
, var_nb_invok_total
);
6515 ((struct instance_standard__NativeArray
*)var103
)->values
[3]=var130
;
6517 var131
= ((val
*(*)(val
* self
))(var103
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var103
); /* native_to_s on <var103:NativeArray[String]>*/
6519 varonce102
= var103
;
6521 nit___nit__ToolContext___info(var_tc
, var131
, 2l); /* Direct call toolcontext#ToolContext#info on <var_tc:ToolContext>*/
6523 if (unlikely(varonce132
==NULL
)) {
6524 var133
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
6525 if (likely(varonce134
!=NULL
)) {
6526 var135
= varonce134
;
6528 var136
= "invocations by inlining: ";
6529 var137
= standard___standard__NativeString___to_s_with_length(var136
, 29l);
6531 varonce134
= var135
;
6533 ((struct instance_standard__NativeArray
*)var133
)->values
[0]=var135
;
6534 if (likely(varonce138
!=NULL
)) {
6535 var139
= varonce138
;
6538 var141
= standard___standard__NativeString___to_s_with_length(var140
, 2l);
6540 varonce138
= var139
;
6542 ((struct instance_standard__NativeArray
*)var133
)->values
[2]=var139
;
6543 if (likely(varonce142
!=NULL
)) {
6544 var143
= varonce142
;
6547 var145
= standard___standard__NativeString___to_s_with_length(var144
, 2l);
6549 varonce142
= var143
;
6551 ((struct instance_standard__NativeArray
*)var133
)->values
[4]=var143
;
6553 var133
= varonce132
;
6557 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6558 var148
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6559 if (unlikely(var148
== NULL
)) {
6560 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6561 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
6565 RET_LABEL147
:(void)0;
6569 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_inline (var146) on <var146:ModelBuilder> */
6570 var151
= var146
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_inline
].l
; /* _nb_invok_by_inline on <var146:ModelBuilder> */
6572 RET_LABEL150
:(void)0;
6575 var152
= standard__string___Int___Object__to_s(var149
);
6576 ((struct instance_standard__NativeArray
*)var133
)->values
[1]=var152
;
6579 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
6580 var156
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
6581 if (unlikely(var156
== NULL
)) {
6582 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6583 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
6587 RET_LABEL155
:(void)0;
6591 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_inline (var154) on <var154:ModelBuilder> */
6592 var159
= var154
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_inline
].l
; /* _nb_invok_by_inline on <var154:ModelBuilder> */
6594 RET_LABEL158
:(void)0;
6598 var160
= counter___standard__Sys___div(var153
, var157
, var_nb_invok_total
);
6600 ((struct instance_standard__NativeArray
*)var133
)->values
[3]=var160
;
6602 var161
= ((val
*(*)(val
* self
))(var133
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var133
); /* native_to_s on <var133:NativeArray[String]>*/
6604 varonce132
= var133
;
6606 nit___nit__ToolContext___info(var_tc
, var161
, 2l); /* Direct call toolcontext#ToolContext#info on <var_tc:ToolContext>*/
6610 /* method separate_compiler#SeparateCompiler#display_sizes for (self: SeparateCompiler) */
6611 void nit___nit__SeparateCompiler___display_sizes(val
* self
) {
6612 val
* var
/* : Sys */;
6613 static val
* varonce
;
6614 val
* var1
/* : String */;
6615 char* var2
/* : NativeString */;
6616 val
* var3
/* : FlatString */;
6617 val
* var4
/* : Sys */;
6618 static val
* varonce5
;
6619 val
* var6
/* : String */;
6620 char* var7
/* : NativeString */;
6621 val
* var8
/* : FlatString */;
6622 long var_total
/* var total: Int */;
6623 long var_holes
/* var holes: Int */;
6624 val
* var9
/* : Map[MType, Array[nullable MType]] */;
6625 val
* var11
/* : Map[MType, Array[nullable MType]] */;
6626 val
* var_
/* var : Map[MType, Array[nullable MType]] */;
6627 val
* var12
/* : MapIterator[nullable Object, nullable Object] */;
6628 val
* var_13
/* var : MapIterator[MType, Array[nullable MType]] */;
6629 short int var14
/* : Bool */;
6630 val
* var15
/* : nullable Object */;
6631 val
* var_t
/* var t: MType */;
6632 val
* var16
/* : nullable Object */;
6633 val
* var_table
/* var table: Array[nullable MType] */;
6634 long var17
/* : Int */;
6635 long var19
/* : Int */;
6636 long var20
/* : Int */;
6637 short int var22
/* : Bool */;
6640 const char* var_class_name
;
6641 long var23
/* : Int */;
6642 val
* var_24
/* var : Array[nullable MType] */;
6643 val
* var25
/* : ArrayIterator[nullable Object] */;
6644 val
* var_26
/* var : ArrayIterator[nullable MType] */;
6645 short int var27
/* : Bool */;
6646 val
* var28
/* : nullable Object */;
6647 val
* var_e
/* var e: nullable MType */;
6648 short int var29
/* : Bool */;
6649 short int var30
/* : Bool */;
6650 val
* var_other
/* var other: nullable Object */;
6651 short int var32
/* : Bool */;
6652 short int var34
/* : Bool */;
6653 long var35
/* : Int */;
6654 short int var37
/* : Bool */;
6657 const char* var_class_name40
;
6658 long var41
/* : Int */;
6659 val
* var44
/* : Sys */;
6660 val
* var46
/* : NativeArray[String] */;
6661 static val
* varonce45
;
6662 static val
* varonce47
;
6663 val
* var48
/* : String */;
6664 char* var49
/* : NativeString */;
6665 val
* var50
/* : FlatString */;
6666 static val
* varonce51
;
6667 val
* var52
/* : String */;
6668 char* var53
/* : NativeString */;
6669 val
* var54
/* : FlatString */;
6670 val
* var55
/* : String */;
6671 val
* var56
/* : String */;
6672 val
* var57
/* : String */;
6673 val
* var58
/* : Sys */;
6674 static val
* varonce59
;
6675 val
* var60
/* : String */;
6676 char* var61
/* : NativeString */;
6677 val
* var62
/* : FlatString */;
6678 val
* var63
/* : Sys */;
6679 static val
* varonce64
;
6680 val
* var65
/* : String */;
6681 char* var66
/* : NativeString */;
6682 val
* var67
/* : FlatString */;
6683 val
* var68
/* : Map[MClassType, Array[nullable MType]] */;
6684 val
* var70
/* : Map[MClassType, Array[nullable MType]] */;
6685 val
* var_71
/* var : Map[MClassType, Array[nullable MType]] */;
6686 val
* var72
/* : MapIterator[nullable Object, nullable Object] */;
6687 val
* var_73
/* var : MapIterator[MClassType, Array[nullable MType]] */;
6688 short int var74
/* : Bool */;
6689 val
* var75
/* : nullable Object */;
6690 val
* var_t76
/* var t: MClassType */;
6691 val
* var77
/* : nullable Object */;
6692 val
* var_table78
/* var table: Array[nullable MType] */;
6693 long var79
/* : Int */;
6694 long var81
/* : Int */;
6695 long var82
/* : Int */;
6696 short int var84
/* : Bool */;
6699 const char* var_class_name87
;
6700 long var88
/* : Int */;
6701 val
* var_89
/* var : Array[nullable MType] */;
6702 val
* var90
/* : ArrayIterator[nullable Object] */;
6703 val
* var_91
/* var : ArrayIterator[nullable MType] */;
6704 short int var92
/* : Bool */;
6705 val
* var93
/* : nullable Object */;
6706 val
* var_e94
/* var e: nullable MType */;
6707 short int var95
/* : Bool */;
6708 short int var96
/* : Bool */;
6709 short int var98
/* : Bool */;
6710 short int var100
/* : Bool */;
6711 long var101
/* : Int */;
6712 short int var103
/* : Bool */;
6715 const char* var_class_name106
;
6716 long var107
/* : Int */;
6717 val
* var111
/* : Sys */;
6718 val
* var113
/* : NativeArray[String] */;
6719 static val
* varonce112
;
6720 static val
* varonce114
;
6721 val
* var115
/* : String */;
6722 char* var116
/* : NativeString */;
6723 val
* var117
/* : FlatString */;
6724 static val
* varonce118
;
6725 val
* var119
/* : String */;
6726 char* var120
/* : NativeString */;
6727 val
* var121
/* : FlatString */;
6728 val
* var122
/* : String */;
6729 val
* var123
/* : String */;
6730 val
* var124
/* : String */;
6731 val
* var125
/* : Sys */;
6732 static val
* varonce126
;
6733 val
* var127
/* : String */;
6734 char* var128
/* : NativeString */;
6735 val
* var129
/* : FlatString */;
6736 val
* var130
/* : Sys */;
6737 static val
* varonce131
;
6738 val
* var132
/* : String */;
6739 char* var133
/* : NativeString */;
6740 val
* var134
/* : FlatString */;
6741 val
* var135
/* : Map[MClass, Array[nullable MPropDef]] */;
6742 val
* var137
/* : Map[MClass, Array[nullable MPropDef]] */;
6743 val
* var_138
/* var : Map[MClass, Array[nullable MPropDef]] */;
6744 val
* var139
/* : MapIterator[nullable Object, nullable Object] */;
6745 val
* var_140
/* var : MapIterator[MClass, Array[nullable MPropDef]] */;
6746 short int var141
/* : Bool */;
6747 val
* var142
/* : nullable Object */;
6748 val
* var_t143
/* var t: MClass */;
6749 val
* var144
/* : nullable Object */;
6750 val
* var_table145
/* var table: Array[nullable MPropDef] */;
6751 long var146
/* : Int */;
6752 long var148
/* : Int */;
6753 long var149
/* : Int */;
6754 short int var151
/* : Bool */;
6757 const char* var_class_name154
;
6758 long var155
/* : Int */;
6759 val
* var_156
/* var : Array[nullable MPropDef] */;
6760 val
* var157
/* : ArrayIterator[nullable Object] */;
6761 val
* var_158
/* var : ArrayIterator[nullable MPropDef] */;
6762 short int var159
/* : Bool */;
6763 val
* var160
/* : nullable Object */;
6764 val
* var_e161
/* var e: nullable MPropDef */;
6765 short int var162
/* : Bool */;
6766 short int var163
/* : Bool */;
6767 short int var165
/* : Bool */;
6768 short int var167
/* : Bool */;
6769 long var168
/* : Int */;
6770 short int var170
/* : Bool */;
6773 const char* var_class_name173
;
6774 long var174
/* : Int */;
6775 val
* var178
/* : Sys */;
6776 val
* var180
/* : NativeArray[String] */;
6777 static val
* varonce179
;
6778 static val
* varonce181
;
6779 val
* var182
/* : String */;
6780 char* var183
/* : NativeString */;
6781 val
* var184
/* : FlatString */;
6782 static val
* varonce185
;
6783 val
* var186
/* : String */;
6784 char* var187
/* : NativeString */;
6785 val
* var188
/* : FlatString */;
6786 val
* var189
/* : String */;
6787 val
* var190
/* : String */;
6788 val
* var191
/* : String */;
6789 val
* var192
/* : Sys */;
6790 static val
* varonce193
;
6791 val
* var194
/* : String */;
6792 char* var195
/* : NativeString */;
6793 val
* var196
/* : FlatString */;
6794 val
* var197
/* : Sys */;
6795 static val
* varonce198
;
6796 val
* var199
/* : String */;
6797 char* var200
/* : NativeString */;
6798 val
* var201
/* : FlatString */;
6799 val
* var202
/* : Map[MClass, Array[nullable MProperty]] */;
6800 val
* var204
/* : Map[MClass, Array[nullable MProperty]] */;
6801 val
* var_205
/* var : Map[MClass, Array[nullable MProperty]] */;
6802 val
* var206
/* : MapIterator[nullable Object, nullable Object] */;
6803 val
* var_207
/* var : MapIterator[MClass, Array[nullable MProperty]] */;
6804 short int var208
/* : Bool */;
6805 val
* var209
/* : nullable Object */;
6806 val
* var_t210
/* var t: MClass */;
6807 val
* var211
/* : nullable Object */;
6808 val
* var_table212
/* var table: Array[nullable MProperty] */;
6809 long var213
/* : Int */;
6810 long var215
/* : Int */;
6811 long var216
/* : Int */;
6812 short int var218
/* : Bool */;
6815 const char* var_class_name221
;
6816 long var222
/* : Int */;
6817 val
* var_223
/* var : Array[nullable MProperty] */;
6818 val
* var224
/* : ArrayIterator[nullable Object] */;
6819 val
* var_225
/* var : ArrayIterator[nullable MProperty] */;
6820 short int var226
/* : Bool */;
6821 val
* var227
/* : nullable Object */;
6822 val
* var_e228
/* var e: nullable MProperty */;
6823 short int var229
/* : Bool */;
6824 short int var230
/* : Bool */;
6825 short int var232
/* : Bool */;
6826 short int var234
/* : Bool */;
6827 long var235
/* : Int */;
6828 short int var237
/* : Bool */;
6831 const char* var_class_name240
;
6832 long var241
/* : Int */;
6833 val
* var245
/* : Sys */;
6834 val
* var247
/* : NativeArray[String] */;
6835 static val
* varonce246
;
6836 static val
* varonce248
;
6837 val
* var249
/* : String */;
6838 char* var250
/* : NativeString */;
6839 val
* var251
/* : FlatString */;
6840 static val
* varonce252
;
6841 val
* var253
/* : String */;
6842 char* var254
/* : NativeString */;
6843 val
* var255
/* : FlatString */;
6844 val
* var256
/* : String */;
6845 val
* var257
/* : String */;
6846 val
* var258
/* : String */;
6848 if (likely(varonce
!=NULL
)) {
6851 var2
= "# size of subtyping tables";
6852 var3
= standard___standard__NativeString___to_s_with_length(var2
, 26l);
6857 standard__file___Sys___print(var
, var1
); /* Direct call file#Sys#print on <var:Sys>*/
6860 if (likely(varonce5
!=NULL
)) {
6863 var7
= "\ttotal \tholes";
6864 var8
= standard___standard__NativeString___to_s_with_length(var7
, 13l);
6869 standard__file___Sys___print(var4
, var6
); /* Direct call file#Sys#print on <var4:Sys>*/
6874 { /* Inline separate_compiler#SeparateCompiler#type_tables (self) on <self:SeparateCompiler> */
6875 var11
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___type_tables
].val
; /* _type_tables on <self:SeparateCompiler> */
6876 if (unlikely(var11
== NULL
)) {
6877 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_tables");
6878 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1051);
6882 RET_LABEL10
:(void)0;
6887 var12
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_standard__abstract_collection__MapRead__iterator
]))(var_
); /* iterator on <var_:Map[MType, Array[nullable MType]]>*/
6892 var14
= ((short int(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_standard__abstract_collection__MapIterator__is_ok
]))(var_13
); /* is_ok on <var_13:MapIterator[MType, Array[nullable MType]]>*/
6896 var15
= ((val
*(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_standard__abstract_collection__MapIterator__key
]))(var_13
); /* key on <var_13:MapIterator[MType, Array[nullable MType]]>*/
6900 var16
= ((val
*(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_standard__abstract_collection__MapIterator__item
]))(var_13
); /* item on <var_13:MapIterator[MType, Array[nullable MType]]>*/
6904 { /* Inline array#AbstractArrayRead#length (var_table) on <var_table:Array[nullable MType]> */
6905 var19
= var_table
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_table:Array[nullable MType]> */
6907 RET_LABEL18
:(void)0;
6911 { /* Inline kernel#Int#+ (var_total,var17) on <var_total:Int> */
6912 /* Covariant cast for argument 0 (i) <var17:Int> isa OTHER */
6913 /* <var17:Int> isa OTHER */
6914 var22
= 1; /* easy <var17:Int> isa OTHER*/
6915 if (unlikely(!var22
)) {
6916 var_class_name
= type_standard__Int
.name
;
6917 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6918 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
6921 var23
= var_total
+ var17
;
6924 RET_LABEL21
:(void)0;
6930 var25
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_24
);
6935 var27
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_26
);
6939 var28
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_26
);
6942 if (var_e
== NULL
) {
6943 var29
= 1; /* is null */
6945 var29
= 0; /* arg is null but recv is not */
6948 { /* Inline kernel#Object#== (var_e,((val*)NULL)) on <var_e:nullable MType> */
6949 var_other
= ((val
*)NULL
);
6951 { /* Inline kernel#Object#is_same_instance (var_e,var_other) on <var_e:nullable MType(MType)> */
6952 var34
= var_e
== var_other
;
6955 RET_LABEL33
:(void)0;
6960 RET_LABEL31
:(void)0;
6966 { /* Inline kernel#Int#+ (var_holes,1l) on <var_holes:Int> */
6967 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
6968 /* <1l:Int> isa OTHER */
6969 var37
= 1; /* easy <1l:Int> isa OTHER*/
6970 if (unlikely(!var37
)) {
6971 var_class_name40
= type_standard__Int
.name
;
6972 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40
);
6973 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
6976 var41
= var_holes
+ 1l;
6979 RET_LABEL36
:(void)0;
6986 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_26
); /* Direct call array#ArrayIterator#next on <var_26:ArrayIterator[nullable MType]>*/
6992 BREAK_label
: (void)0;
6994 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_26
); /* Direct call array#ArrayIterator#finish on <var_26:ArrayIterator[nullable MType]>*/
6997 ((void(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_standard__abstract_collection__MapIterator__next
]))(var_13
); /* next on <var_13:MapIterator[MType, Array[nullable MType]]>*/
7003 BREAK_label42
: (void)0;
7005 { /* Inline abstract_collection#MapIterator#finish (var_13) on <var_13:MapIterator[MType, Array[nullable MType]]> */
7006 RET_LABEL43
:(void)0;
7010 if (unlikely(varonce45
==NULL
)) {
7011 var46
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
7012 if (likely(varonce47
!=NULL
)) {
7016 var50
= standard___standard__NativeString___to_s_with_length(var49
, 1l);
7020 ((struct instance_standard__NativeArray
*)var46
)->values
[0]=var48
;
7021 if (likely(varonce51
!=NULL
)) {
7025 var54
= standard___standard__NativeString___to_s_with_length(var53
, 1l);
7029 ((struct instance_standard__NativeArray
*)var46
)->values
[2]=var52
;
7034 var55
= standard__string___Int___Object__to_s(var_total
);
7035 ((struct instance_standard__NativeArray
*)var46
)->values
[1]=var55
;
7036 var56
= standard__string___Int___Object__to_s(var_holes
);
7037 ((struct instance_standard__NativeArray
*)var46
)->values
[3]=var56
;
7039 var57
= ((val
*(*)(val
* self
))(var46
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var46
); /* native_to_s on <var46:NativeArray[String]>*/
7043 standard__file___Sys___print(var44
, var57
); /* Direct call file#Sys#print on <var44:Sys>*/
7046 if (likely(varonce59
!=NULL
)) {
7049 var61
= "# size of resolution tables";
7050 var62
= standard___standard__NativeString___to_s_with_length(var61
, 27l);
7055 standard__file___Sys___print(var58
, var60
); /* Direct call file#Sys#print on <var58:Sys>*/
7058 if (likely(varonce64
!=NULL
)) {
7061 var66
= "\ttotal \tholes";
7062 var67
= standard___standard__NativeString___to_s_with_length(var66
, 13l);
7067 standard__file___Sys___print(var63
, var65
); /* Direct call file#Sys#print on <var63:Sys>*/
7072 { /* Inline separate_compiler#SeparateCompiler#resolution_tables (self) on <self:SeparateCompiler> */
7073 var70
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___resolution_tables
].val
; /* _resolution_tables on <self:SeparateCompiler> */
7074 if (unlikely(var70
== NULL
)) {
7075 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _resolution_tables");
7076 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1052);
7080 RET_LABEL69
:(void)0;
7085 var72
= ((val
*(*)(val
* self
))((((long)var_71
&3)?class_info
[((long)var_71
&3)]:var_71
->class)->vft
[COLOR_standard__abstract_collection__MapRead__iterator
]))(var_71
); /* iterator on <var_71:Map[MClassType, Array[nullable MType]]>*/
7090 var74
= ((short int(*)(val
* self
))((((long)var_73
&3)?class_info
[((long)var_73
&3)]:var_73
->class)->vft
[COLOR_standard__abstract_collection__MapIterator__is_ok
]))(var_73
); /* is_ok on <var_73:MapIterator[MClassType, Array[nullable MType]]>*/
7094 var75
= ((val
*(*)(val
* self
))((((long)var_73
&3)?class_info
[((long)var_73
&3)]:var_73
->class)->vft
[COLOR_standard__abstract_collection__MapIterator__key
]))(var_73
); /* key on <var_73:MapIterator[MClassType, Array[nullable MType]]>*/
7098 var77
= ((val
*(*)(val
* self
))((((long)var_73
&3)?class_info
[((long)var_73
&3)]:var_73
->class)->vft
[COLOR_standard__abstract_collection__MapIterator__item
]))(var_73
); /* item on <var_73:MapIterator[MClassType, Array[nullable MType]]>*/
7100 var_table78
= var77
;
7102 { /* Inline array#AbstractArrayRead#length (var_table78) on <var_table78:Array[nullable MType]> */
7103 var81
= var_table78
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_table78:Array[nullable MType]> */
7105 RET_LABEL80
:(void)0;
7109 { /* Inline kernel#Int#+ (var_total,var79) on <var_total:Int> */
7110 /* Covariant cast for argument 0 (i) <var79:Int> isa OTHER */
7111 /* <var79:Int> isa OTHER */
7112 var84
= 1; /* easy <var79:Int> isa OTHER*/
7113 if (unlikely(!var84
)) {
7114 var_class_name87
= type_standard__Int
.name
;
7115 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name87
);
7116 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
7119 var88
= var_total
+ var79
;
7122 RET_LABEL83
:(void)0;
7126 var_89
= var_table78
;
7128 var90
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_89
);
7133 var92
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_91
);
7137 var93
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_91
);
7140 if (var_e94
== NULL
) {
7141 var95
= 1; /* is null */
7143 var95
= 0; /* arg is null but recv is not */
7146 { /* Inline kernel#Object#== (var_e94,((val*)NULL)) on <var_e94:nullable MType> */
7147 var_other
= ((val
*)NULL
);
7149 { /* Inline kernel#Object#is_same_instance (var_e94,var_other) on <var_e94:nullable MType(MType)> */
7150 var100
= var_e94
== var_other
;
7153 RET_LABEL99
:(void)0;
7158 RET_LABEL97
:(void)0;
7164 { /* Inline kernel#Int#+ (var_holes,1l) on <var_holes:Int> */
7165 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
7166 /* <1l:Int> isa OTHER */
7167 var103
= 1; /* easy <1l:Int> isa OTHER*/
7168 if (unlikely(!var103
)) {
7169 var_class_name106
= type_standard__Int
.name
;
7170 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name106
);
7171 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
7174 var107
= var_holes
+ 1l;
7177 RET_LABEL102
:(void)0;
7184 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_91
); /* Direct call array#ArrayIterator#next on <var_91:ArrayIterator[nullable MType]>*/
7187 goto BREAK_label108
;
7190 BREAK_label108
: (void)0;
7192 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_91
); /* Direct call array#ArrayIterator#finish on <var_91:ArrayIterator[nullable MType]>*/
7195 ((void(*)(val
* self
))((((long)var_73
&3)?class_info
[((long)var_73
&3)]:var_73
->class)->vft
[COLOR_standard__abstract_collection__MapIterator__next
]))(var_73
); /* next on <var_73:MapIterator[MClassType, Array[nullable MType]]>*/
7198 goto BREAK_label109
;
7201 BREAK_label109
: (void)0;
7203 { /* Inline abstract_collection#MapIterator#finish (var_73) on <var_73:MapIterator[MClassType, Array[nullable MType]]> */
7204 RET_LABEL110
:(void)0;
7208 if (unlikely(varonce112
==NULL
)) {
7209 var113
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
7210 if (likely(varonce114
!=NULL
)) {
7211 var115
= varonce114
;
7214 var117
= standard___standard__NativeString___to_s_with_length(var116
, 1l);
7216 varonce114
= var115
;
7218 ((struct instance_standard__NativeArray
*)var113
)->values
[0]=var115
;
7219 if (likely(varonce118
!=NULL
)) {
7220 var119
= varonce118
;
7223 var121
= standard___standard__NativeString___to_s_with_length(var120
, 1l);
7225 varonce118
= var119
;
7227 ((struct instance_standard__NativeArray
*)var113
)->values
[2]=var119
;
7229 var113
= varonce112
;
7232 var122
= standard__string___Int___Object__to_s(var_total
);
7233 ((struct instance_standard__NativeArray
*)var113
)->values
[1]=var122
;
7234 var123
= standard__string___Int___Object__to_s(var_holes
);
7235 ((struct instance_standard__NativeArray
*)var113
)->values
[3]=var123
;
7237 var124
= ((val
*(*)(val
* self
))(var113
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var113
); /* native_to_s on <var113:NativeArray[String]>*/
7239 varonce112
= var113
;
7241 standard__file___Sys___print(var111
, var124
); /* Direct call file#Sys#print on <var111:Sys>*/
7244 if (likely(varonce126
!=NULL
)) {
7245 var127
= varonce126
;
7247 var128
= "# size of methods tables";
7248 var129
= standard___standard__NativeString___to_s_with_length(var128
, 24l);
7250 varonce126
= var127
;
7253 standard__file___Sys___print(var125
, var127
); /* Direct call file#Sys#print on <var125:Sys>*/
7256 if (likely(varonce131
!=NULL
)) {
7257 var132
= varonce131
;
7259 var133
= "\ttotal \tholes";
7260 var134
= standard___standard__NativeString___to_s_with_length(var133
, 13l);
7262 varonce131
= var132
;
7265 standard__file___Sys___print(var130
, var132
); /* Direct call file#Sys#print on <var130:Sys>*/
7270 { /* Inline separate_compiler#SeparateCompiler#method_tables (self) on <self:SeparateCompiler> */
7271 var137
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___method_tables
].val
; /* _method_tables on <self:SeparateCompiler> */
7272 if (unlikely(var137
== NULL
)) {
7273 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _method_tables");
7274 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1053);
7278 RET_LABEL136
:(void)0;
7283 var139
= ((val
*(*)(val
* self
))((((long)var_138
&3)?class_info
[((long)var_138
&3)]:var_138
->class)->vft
[COLOR_standard__abstract_collection__MapRead__iterator
]))(var_138
); /* iterator on <var_138:Map[MClass, Array[nullable MPropDef]]>*/
7288 var141
= ((short int(*)(val
* self
))((((long)var_140
&3)?class_info
[((long)var_140
&3)]:var_140
->class)->vft
[COLOR_standard__abstract_collection__MapIterator__is_ok
]))(var_140
); /* is_ok on <var_140:MapIterator[MClass, Array[nullable MPropDef]]>*/
7292 var142
= ((val
*(*)(val
* self
))((((long)var_140
&3)?class_info
[((long)var_140
&3)]:var_140
->class)->vft
[COLOR_standard__abstract_collection__MapIterator__key
]))(var_140
); /* key on <var_140:MapIterator[MClass, Array[nullable MPropDef]]>*/
7296 var144
= ((val
*(*)(val
* self
))((((long)var_140
&3)?class_info
[((long)var_140
&3)]:var_140
->class)->vft
[COLOR_standard__abstract_collection__MapIterator__item
]))(var_140
); /* item on <var_140:MapIterator[MClass, Array[nullable MPropDef]]>*/
7298 var_table145
= var144
;
7300 { /* Inline array#AbstractArrayRead#length (var_table145) on <var_table145:Array[nullable MPropDef]> */
7301 var148
= var_table145
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_table145:Array[nullable MPropDef]> */
7303 RET_LABEL147
:(void)0;
7307 { /* Inline kernel#Int#+ (var_total,var146) on <var_total:Int> */
7308 /* Covariant cast for argument 0 (i) <var146:Int> isa OTHER */
7309 /* <var146:Int> isa OTHER */
7310 var151
= 1; /* easy <var146:Int> isa OTHER*/
7311 if (unlikely(!var151
)) {
7312 var_class_name154
= type_standard__Int
.name
;
7313 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name154
);
7314 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
7317 var155
= var_total
+ var146
;
7320 RET_LABEL150
:(void)0;
7324 var_156
= var_table145
;
7326 var157
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_156
);
7331 var159
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_158
);
7335 var160
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_158
);
7338 if (var_e161
== NULL
) {
7339 var162
= 1; /* is null */
7341 var162
= 0; /* arg is null but recv is not */
7344 { /* Inline kernel#Object#== (var_e161,((val*)NULL)) on <var_e161:nullable MPropDef> */
7345 var_other
= ((val
*)NULL
);
7347 { /* Inline kernel#Object#is_same_instance (var_e161,var_other) on <var_e161:nullable MPropDef(MPropDef)> */
7348 var167
= var_e161
== var_other
;
7351 RET_LABEL166
:(void)0;
7356 RET_LABEL164
:(void)0;
7362 { /* Inline kernel#Int#+ (var_holes,1l) on <var_holes:Int> */
7363 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
7364 /* <1l:Int> isa OTHER */
7365 var170
= 1; /* easy <1l:Int> isa OTHER*/
7366 if (unlikely(!var170
)) {
7367 var_class_name173
= type_standard__Int
.name
;
7368 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name173
);
7369 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
7372 var174
= var_holes
+ 1l;
7375 RET_LABEL169
:(void)0;
7382 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_158
); /* Direct call array#ArrayIterator#next on <var_158:ArrayIterator[nullable MPropDef]>*/
7385 goto BREAK_label175
;
7388 BREAK_label175
: (void)0;
7390 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_158
); /* Direct call array#ArrayIterator#finish on <var_158:ArrayIterator[nullable MPropDef]>*/
7393 ((void(*)(val
* self
))((((long)var_140
&3)?class_info
[((long)var_140
&3)]:var_140
->class)->vft
[COLOR_standard__abstract_collection__MapIterator__next
]))(var_140
); /* next on <var_140:MapIterator[MClass, Array[nullable MPropDef]]>*/
7396 goto BREAK_label176
;
7399 BREAK_label176
: (void)0;
7401 { /* Inline abstract_collection#MapIterator#finish (var_140) on <var_140:MapIterator[MClass, Array[nullable MPropDef]]> */
7402 RET_LABEL177
:(void)0;
7406 if (unlikely(varonce179
==NULL
)) {
7407 var180
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
7408 if (likely(varonce181
!=NULL
)) {
7409 var182
= varonce181
;
7412 var184
= standard___standard__NativeString___to_s_with_length(var183
, 1l);
7414 varonce181
= var182
;
7416 ((struct instance_standard__NativeArray
*)var180
)->values
[0]=var182
;
7417 if (likely(varonce185
!=NULL
)) {
7418 var186
= varonce185
;
7421 var188
= standard___standard__NativeString___to_s_with_length(var187
, 1l);
7423 varonce185
= var186
;
7425 ((struct instance_standard__NativeArray
*)var180
)->values
[2]=var186
;
7427 var180
= varonce179
;
7430 var189
= standard__string___Int___Object__to_s(var_total
);
7431 ((struct instance_standard__NativeArray
*)var180
)->values
[1]=var189
;
7432 var190
= standard__string___Int___Object__to_s(var_holes
);
7433 ((struct instance_standard__NativeArray
*)var180
)->values
[3]=var190
;
7435 var191
= ((val
*(*)(val
* self
))(var180
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var180
); /* native_to_s on <var180:NativeArray[String]>*/
7437 varonce179
= var180
;
7439 standard__file___Sys___print(var178
, var191
); /* Direct call file#Sys#print on <var178:Sys>*/
7442 if (likely(varonce193
!=NULL
)) {
7443 var194
= varonce193
;
7445 var195
= "# size of attributes tables";
7446 var196
= standard___standard__NativeString___to_s_with_length(var195
, 27l);
7448 varonce193
= var194
;
7451 standard__file___Sys___print(var192
, var194
); /* Direct call file#Sys#print on <var192:Sys>*/
7454 if (likely(varonce198
!=NULL
)) {
7455 var199
= varonce198
;
7457 var200
= "\ttotal \tholes";
7458 var201
= standard___standard__NativeString___to_s_with_length(var200
, 13l);
7460 varonce198
= var199
;
7463 standard__file___Sys___print(var197
, var199
); /* Direct call file#Sys#print on <var197:Sys>*/
7468 { /* Inline separate_compiler#SeparateCompiler#attr_tables (self) on <self:SeparateCompiler> */
7469 var204
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___attr_tables
].val
; /* _attr_tables on <self:SeparateCompiler> */
7470 if (unlikely(var204
== NULL
)) {
7471 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _attr_tables");
7472 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1054);
7476 RET_LABEL203
:(void)0;
7481 var206
= ((val
*(*)(val
* self
))((((long)var_205
&3)?class_info
[((long)var_205
&3)]:var_205
->class)->vft
[COLOR_standard__abstract_collection__MapRead__iterator
]))(var_205
); /* iterator on <var_205:Map[MClass, Array[nullable MProperty]]>*/
7486 var208
= ((short int(*)(val
* self
))((((long)var_207
&3)?class_info
[((long)var_207
&3)]:var_207
->class)->vft
[COLOR_standard__abstract_collection__MapIterator__is_ok
]))(var_207
); /* is_ok on <var_207:MapIterator[MClass, Array[nullable MProperty]]>*/
7490 var209
= ((val
*(*)(val
* self
))((((long)var_207
&3)?class_info
[((long)var_207
&3)]:var_207
->class)->vft
[COLOR_standard__abstract_collection__MapIterator__key
]))(var_207
); /* key on <var_207:MapIterator[MClass, Array[nullable MProperty]]>*/
7494 var211
= ((val
*(*)(val
* self
))((((long)var_207
&3)?class_info
[((long)var_207
&3)]:var_207
->class)->vft
[COLOR_standard__abstract_collection__MapIterator__item
]))(var_207
); /* item on <var_207:MapIterator[MClass, Array[nullable MProperty]]>*/
7496 var_table212
= var211
;
7498 { /* Inline array#AbstractArrayRead#length (var_table212) on <var_table212:Array[nullable MProperty]> */
7499 var215
= var_table212
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_table212:Array[nullable MProperty]> */
7501 RET_LABEL214
:(void)0;
7505 { /* Inline kernel#Int#+ (var_total,var213) on <var_total:Int> */
7506 /* Covariant cast for argument 0 (i) <var213:Int> isa OTHER */
7507 /* <var213:Int> isa OTHER */
7508 var218
= 1; /* easy <var213:Int> isa OTHER*/
7509 if (unlikely(!var218
)) {
7510 var_class_name221
= type_standard__Int
.name
;
7511 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name221
);
7512 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
7515 var222
= var_total
+ var213
;
7518 RET_LABEL217
:(void)0;
7522 var_223
= var_table212
;
7524 var224
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_223
);
7529 var226
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_225
);
7533 var227
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_225
);
7536 if (var_e228
== NULL
) {
7537 var229
= 1; /* is null */
7539 var229
= 0; /* arg is null but recv is not */
7542 { /* Inline kernel#Object#== (var_e228,((val*)NULL)) on <var_e228:nullable MProperty> */
7543 var_other
= ((val
*)NULL
);
7545 { /* Inline kernel#Object#is_same_instance (var_e228,var_other) on <var_e228:nullable MProperty(MProperty)> */
7546 var234
= var_e228
== var_other
;
7549 RET_LABEL233
:(void)0;
7554 RET_LABEL231
:(void)0;
7560 { /* Inline kernel#Int#+ (var_holes,1l) on <var_holes:Int> */
7561 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
7562 /* <1l:Int> isa OTHER */
7563 var237
= 1; /* easy <1l:Int> isa OTHER*/
7564 if (unlikely(!var237
)) {
7565 var_class_name240
= type_standard__Int
.name
;
7566 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name240
);
7567 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
7570 var241
= var_holes
+ 1l;
7573 RET_LABEL236
:(void)0;
7580 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_225
); /* Direct call array#ArrayIterator#next on <var_225:ArrayIterator[nullable MProperty]>*/
7583 goto BREAK_label242
;
7586 BREAK_label242
: (void)0;
7588 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_225
); /* Direct call array#ArrayIterator#finish on <var_225:ArrayIterator[nullable MProperty]>*/
7591 ((void(*)(val
* self
))((((long)var_207
&3)?class_info
[((long)var_207
&3)]:var_207
->class)->vft
[COLOR_standard__abstract_collection__MapIterator__next
]))(var_207
); /* next on <var_207:MapIterator[MClass, Array[nullable MProperty]]>*/
7594 goto BREAK_label243
;
7597 BREAK_label243
: (void)0;
7599 { /* Inline abstract_collection#MapIterator#finish (var_207) on <var_207:MapIterator[MClass, Array[nullable MProperty]]> */
7600 RET_LABEL244
:(void)0;
7604 if (unlikely(varonce246
==NULL
)) {
7605 var247
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
7606 if (likely(varonce248
!=NULL
)) {
7607 var249
= varonce248
;
7610 var251
= standard___standard__NativeString___to_s_with_length(var250
, 1l);
7612 varonce248
= var249
;
7614 ((struct instance_standard__NativeArray
*)var247
)->values
[0]=var249
;
7615 if (likely(varonce252
!=NULL
)) {
7616 var253
= varonce252
;
7619 var255
= standard___standard__NativeString___to_s_with_length(var254
, 1l);
7621 varonce252
= var253
;
7623 ((struct instance_standard__NativeArray
*)var247
)->values
[2]=var253
;
7625 var247
= varonce246
;
7628 var256
= standard__string___Int___Object__to_s(var_total
);
7629 ((struct instance_standard__NativeArray
*)var247
)->values
[1]=var256
;
7630 var257
= standard__string___Int___Object__to_s(var_holes
);
7631 ((struct instance_standard__NativeArray
*)var247
)->values
[3]=var257
;
7633 var258
= ((val
*(*)(val
* self
))(var247
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var247
); /* native_to_s on <var247:NativeArray[String]>*/
7635 varonce246
= var247
;
7637 standard__file___Sys___print(var245
, var258
); /* Direct call file#Sys#print on <var245:Sys>*/
7641 /* method separate_compiler#SeparateCompiler#isset_checks_count for (self: SeparateCompiler): Int */
7642 long nit___nit__SeparateCompiler___isset_checks_count(val
* self
) {
7643 long var
/* : Int */;
7644 long var1
/* : Int */;
7645 var1
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___isset_checks_count
].l
; /* _isset_checks_count on <self:SeparateCompiler> */
7650 /* method separate_compiler#SeparateCompiler#isset_checks_count= for (self: SeparateCompiler, Int) */
7651 void nit___nit__SeparateCompiler___isset_checks_count_61d(val
* self
, long p0
) {
7652 self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___isset_checks_count
].l
= p0
; /* _isset_checks_count on <self:SeparateCompiler> */
7655 /* method separate_compiler#SeparateCompiler#attr_read_count for (self: SeparateCompiler): Int */
7656 long nit___nit__SeparateCompiler___attr_read_count(val
* self
) {
7657 long var
/* : Int */;
7658 long var1
/* : Int */;
7659 var1
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___attr_read_count
].l
; /* _attr_read_count on <self:SeparateCompiler> */
7664 /* method separate_compiler#SeparateCompiler#attr_read_count= for (self: SeparateCompiler, Int) */
7665 void nit___nit__SeparateCompiler___attr_read_count_61d(val
* self
, long p0
) {
7666 self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___attr_read_count
].l
= p0
; /* _attr_read_count on <self:SeparateCompiler> */
7669 /* method separate_compiler#SeparateCompiler#display_isset_checks for (self: SeparateCompiler) */
7670 void nit___nit__SeparateCompiler___display_isset_checks(val
* self
) {
7671 val
* var
/* : Sys */;
7672 static val
* varonce
;
7673 val
* var1
/* : String */;
7674 char* var2
/* : NativeString */;
7675 val
* var3
/* : FlatString */;
7676 val
* var4
/* : Sys */;
7677 val
* var6
/* : NativeArray[String] */;
7678 static val
* varonce5
;
7679 static val
* varonce7
;
7680 val
* var8
/* : String */;
7681 char* var9
/* : NativeString */;
7682 val
* var10
/* : FlatString */;
7683 long var11
/* : Int */;
7684 long var13
/* : Int */;
7685 val
* var14
/* : String */;
7686 val
* var15
/* : String */;
7687 val
* var16
/* : Sys */;
7688 static val
* varonce17
;
7689 val
* var18
/* : String */;
7690 char* var19
/* : NativeString */;
7691 val
* var20
/* : FlatString */;
7692 val
* var21
/* : Sys */;
7693 val
* var23
/* : NativeArray[String] */;
7694 static val
* varonce22
;
7695 static val
* varonce24
;
7696 val
* var25
/* : String */;
7697 char* var26
/* : NativeString */;
7698 val
* var27
/* : FlatString */;
7699 long var28
/* : Int */;
7700 long var30
/* : Int */;
7701 val
* var31
/* : String */;
7702 val
* var32
/* : String */;
7704 if (likely(varonce
!=NULL
)) {
7707 var2
= "# total number of compiled attribute reads";
7708 var3
= standard___standard__NativeString___to_s_with_length(var2
, 42l);
7713 standard__file___Sys___print(var
, var1
); /* Direct call file#Sys#print on <var:Sys>*/
7716 if (unlikely(varonce5
==NULL
)) {
7717 var6
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
7718 if (likely(varonce7
!=NULL
)) {
7722 var10
= standard___standard__NativeString___to_s_with_length(var9
, 1l);
7726 ((struct instance_standard__NativeArray
*)var6
)->values
[0]=var8
;
7732 { /* Inline separate_compiler#SeparateCompiler#attr_read_count (self) on <self:SeparateCompiler> */
7733 var13
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___attr_read_count
].l
; /* _attr_read_count on <self:SeparateCompiler> */
7735 RET_LABEL12
:(void)0;
7738 var14
= standard__string___Int___Object__to_s(var11
);
7739 ((struct instance_standard__NativeArray
*)var6
)->values
[1]=var14
;
7741 var15
= ((val
*(*)(val
* self
))(var6
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var6
); /* native_to_s on <var6:NativeArray[String]>*/
7745 standard__file___Sys___print(var4
, var15
); /* Direct call file#Sys#print on <var4:Sys>*/
7748 if (likely(varonce17
!=NULL
)) {
7751 var19
= "# total number of compiled isset-checks";
7752 var20
= standard___standard__NativeString___to_s_with_length(var19
, 39l);
7757 standard__file___Sys___print(var16
, var18
); /* Direct call file#Sys#print on <var16:Sys>*/
7760 if (unlikely(varonce22
==NULL
)) {
7761 var23
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
7762 if (likely(varonce24
!=NULL
)) {
7766 var27
= standard___standard__NativeString___to_s_with_length(var26
, 1l);
7770 ((struct instance_standard__NativeArray
*)var23
)->values
[0]=var25
;
7776 { /* Inline separate_compiler#SeparateCompiler#isset_checks_count (self) on <self:SeparateCompiler> */
7777 var30
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___isset_checks_count
].l
; /* _isset_checks_count on <self:SeparateCompiler> */
7779 RET_LABEL29
:(void)0;
7782 var31
= standard__string___Int___Object__to_s(var28
);
7783 ((struct instance_standard__NativeArray
*)var23
)->values
[1]=var31
;
7785 var32
= ((val
*(*)(val
* self
))(var23
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var23
); /* native_to_s on <var23:NativeArray[String]>*/
7789 standard__file___Sys___print(var21
, var32
); /* Direct call file#Sys#print on <var21:Sys>*/
7793 /* method separate_compiler#SeparateCompiler#compile_nitni_structs for (self: SeparateCompiler) */
7794 void nit___nit__SeparateCompiler___nit__abstract_compiler__AbstractCompiler__compile_nitni_structs(val
* self
) {
7795 val
* var
/* : CodeWriter */;
7796 val
* var2
/* : CodeWriter */;
7797 static val
* varonce
;
7798 val
* var3
/* : String */;
7799 char* var4
/* : NativeString */;
7800 val
* var5
/* : FlatString */;
7802 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
7803 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
7804 if (unlikely(var2
== NULL
)) {
7805 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
7806 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
7813 if (likely(varonce
!=NULL
)) {
7816 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";
7817 var5
= standard___standard__NativeString___to_s_with_length(var4
, 210l);
7822 nit___nit__CodeWriter___add_decl(var
, var3
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var:CodeWriter>*/
7825 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nit___nit__SeparateCompiler___nit__abstract_compiler__AbstractCompiler__compile_nitni_structs
]))(self
); /* compile_nitni_structs on <self:SeparateCompiler>*/
7829 /* method separate_compiler#SeparateCompiler#finalize_ffi_for_module for (self: SeparateCompiler, MModule) */
7830 void nit___nit__SeparateCompiler___nit__abstract_compiler__AbstractCompiler__finalize_ffi_for_module(val
* self
, val
* p0
) {
7831 val
* var_mmodule
/* var mmodule: MModule */;
7832 val
* var
/* : MModule */;
7833 val
* var2
/* : MModule */;
7834 val
* var_old_module
/* var old_module: MModule */;
7837 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
7838 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
7839 if (unlikely(var2
== NULL
)) {
7840 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7841 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
7848 var_old_module
= var
;
7850 { /* Inline abstract_compiler#AbstractCompiler#mainmodule= (self,var_mmodule) on <self:SeparateCompiler> */
7851 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
= var_mmodule
; /* _mainmodule on <self:SeparateCompiler> */
7856 ((void(*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nit___nit__SeparateCompiler___nit__abstract_compiler__AbstractCompiler__finalize_ffi_for_module
]))(self
, p0
); /* finalize_ffi_for_module on <self:SeparateCompiler>*/
7859 { /* Inline abstract_compiler#AbstractCompiler#mainmodule= (self,var_old_module) on <self:SeparateCompiler> */
7860 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
= var_old_module
; /* _mainmodule on <self:SeparateCompiler> */
7866 /* method separate_compiler#SeparateCompilerVisitor#adapt_signature for (self: SeparateCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
7867 void nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__adapt_signature(val
* self
, val
* p0
, val
* p1
) {
7868 val
* var_m
/* var m: MMethodDef */;
7869 val
* var_args
/* var args: Array[RuntimeVariable] */;
7870 val
* var
/* : nullable MSignature */;
7871 val
* var2
/* : nullable MSignature */;
7872 val
* var3
/* : MClassDef */;
7873 val
* var5
/* : MClassDef */;
7874 val
* var6
/* : MClassType */;
7875 val
* var8
/* : MClassType */;
7876 val
* var9
/* : MClassDef */;
7877 val
* var11
/* : MClassDef */;
7878 val
* var12
/* : MClassType */;
7879 val
* var14
/* : MClassType */;
7880 val
* var15
/* : MClassDef */;
7881 val
* var17
/* : MClassDef */;
7882 val
* var18
/* : MModule */;
7883 val
* var20
/* : MModule */;
7884 val
* var21
/* : MSignature */;
7885 val
* var_msignature
/* var msignature: MSignature */;
7886 val
* var22
/* : nullable Object */;
7887 val
* var_recv
/* var recv: RuntimeVariable */;
7888 val
* var23
/* : MType */;
7889 val
* var25
/* : MType */;
7890 val
* var26
/* : String */;
7891 val
* var27
/* : MClassDef */;
7892 val
* var29
/* : MClassDef */;
7893 val
* var30
/* : MClass */;
7894 val
* var32
/* : MClass */;
7895 val
* var33
/* : MClassType */;
7896 val
* var35
/* : MClassType */;
7897 val
* var36
/* : String */;
7898 short int var37
/* : Bool */;
7899 val
* var_other
/* var other: nullable Object */;
7900 short int var39
/* : Bool */;
7901 short int var40
/* : Bool */;
7902 val
* var41
/* : nullable Object */;
7903 val
* var42
/* : MClassDef */;
7904 val
* var44
/* : MClassDef */;
7905 val
* var45
/* : MClass */;
7906 val
* var47
/* : MClass */;
7907 val
* var48
/* : MClassType */;
7908 val
* var50
/* : MClassType */;
7909 val
* var51
/* : RuntimeVariable */;
7910 long var_i
/* var i: Int */;
7911 long var52
/* : Int */;
7912 long var_
/* var : Int */;
7913 short int var53
/* : Bool */;
7914 short int var55
/* : Bool */;
7917 const char* var_class_name
;
7918 short int var56
/* : Bool */;
7919 val
* var57
/* : Array[MParameter] */;
7920 val
* var59
/* : Array[MParameter] */;
7921 val
* var60
/* : nullable Object */;
7922 val
* var61
/* : MType */;
7923 val
* var63
/* : MType */;
7924 val
* var_t
/* var t: MType */;
7925 long var64
/* : Int */;
7926 long var66
/* : Int */;
7927 short int var67
/* : Bool */;
7928 short int var69
/* : Bool */;
7929 long var70
/* : Int */;
7930 short int var72
/* : Bool */;
7933 const char* var_class_name75
;
7934 long var76
/* : Int */;
7935 val
* var77
/* : nullable Object */;
7936 val
* var78
/* : MType */;
7937 val
* var80
/* : MType */;
7938 long var81
/* : Int */;
7939 short int var83
/* : Bool */;
7942 const char* var_class_name86
;
7943 long var87
/* : Int */;
7944 long var88
/* : Int */;
7945 short int var90
/* : Bool */;
7948 const char* var_class_name93
;
7949 long var94
/* : Int */;
7950 val
* var95
/* : nullable Object */;
7951 val
* var96
/* : RuntimeVariable */;
7952 long var97
/* : Int */;
7956 { /* Inline model#MMethodDef#msignature (var_m) on <var_m:MMethodDef> */
7957 var2
= var_m
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var_m:MMethodDef> */
7963 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
7964 var5
= var_m
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
7965 if (unlikely(var5
== NULL
)) {
7966 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7967 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
7975 { /* Inline model#MClassDef#bound_mtype (var3) on <var3:MClassDef> */
7976 var8
= var3
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var3:MClassDef> */
7977 if (unlikely(var8
== NULL
)) {
7978 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
7979 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
7987 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
7988 var11
= var_m
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
7989 if (unlikely(var11
== NULL
)) {
7990 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7991 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
7995 RET_LABEL10
:(void)0;
7999 { /* Inline model#MClassDef#bound_mtype (var9) on <var9:MClassDef> */
8000 var14
= var9
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var9:MClassDef> */
8001 if (unlikely(var14
== NULL
)) {
8002 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
8003 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
8007 RET_LABEL13
:(void)0;
8011 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
8012 var17
= var_m
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
8013 if (unlikely(var17
== NULL
)) {
8014 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
8015 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
8019 RET_LABEL16
:(void)0;
8023 { /* Inline model#MClassDef#mmodule (var15) on <var15:MClassDef> */
8024 var20
= var15
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var15:MClassDef> */
8025 if (unlikely(var20
== NULL
)) {
8026 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
8027 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
8031 RET_LABEL19
:(void)0;
8035 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8036 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1157);
8039 var21
= nit___nit__MSignature___MType__resolve_for(var
, var6
, var12
, var18
, 1);
8041 var_msignature
= var21
;
8043 var22
= standard___standard__SequenceRead___Collection__first(var_args
);
8047 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_recv) on <var_recv:RuntimeVariable> */
8048 var25
= var_recv
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_recv:RuntimeVariable> */
8049 if (unlikely(var25
== NULL
)) {
8050 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8051 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
8055 RET_LABEL24
:(void)0;
8059 var26
= ((val
*(*)(val
* self
))(var23
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var23
); /* ctype on <var23:MType>*/
8062 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
8063 var29
= var_m
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
8064 if (unlikely(var29
== NULL
)) {
8065 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
8066 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
8070 RET_LABEL28
:(void)0;
8074 { /* Inline model#MClassDef#mclass (var27) on <var27:MClassDef> */
8075 var32
= var27
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var27:MClassDef> */
8076 if (unlikely(var32
== NULL
)) {
8077 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8078 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
8082 RET_LABEL31
:(void)0;
8086 { /* Inline model#MClass#mclass_type (var30) on <var30:MClass> */
8087 var35
= var30
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var30:MClass> */
8088 if (unlikely(var35
== NULL
)) {
8089 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
8090 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
8094 RET_LABEL34
:(void)0;
8098 var36
= nit__abstract_compiler___MClassType___MType__ctype(var33
);
8101 { /* Inline kernel#Object#!= (var26,var36) on <var26:String> */
8104 var39
= ((short int(*)(val
* self
, val
* p0
))(var26
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var26
, var_other
); /* == on <var26:String>*/
8109 RET_LABEL38
:(void)0;
8114 var41
= standard___standard__SequenceRead___Collection__first(var_args
);
8117 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
8118 var44
= var_m
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
8119 if (unlikely(var44
== NULL
)) {
8120 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
8121 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
8125 RET_LABEL43
:(void)0;
8129 { /* Inline model#MClassDef#mclass (var42) on <var42:MClassDef> */
8130 var47
= var42
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var42:MClassDef> */
8131 if (unlikely(var47
== NULL
)) {
8132 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8133 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
8137 RET_LABEL46
:(void)0;
8141 { /* Inline model#MClass#mclass_type (var45) on <var45:MClass> */
8142 var50
= var45
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var45:MClass> */
8143 if (unlikely(var50
== NULL
)) {
8144 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
8145 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
8149 RET_LABEL49
:(void)0;
8153 var51
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__autobox(self
, var41
, var48
);
8156 standard___standard__Sequence___first_61d(var_args
, var51
); /* Direct call abstract_collection#Sequence#first= on <var_args:Array[RuntimeVariable]>*/
8162 var52
= nit___nit__MSignature___arity(var_msignature
);
8167 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
8168 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
8169 /* <var_:Int> isa OTHER */
8170 var55
= 1; /* easy <var_:Int> isa OTHER*/
8171 if (unlikely(!var55
)) {
8172 var_class_name
= type_standard__Int
.name
;
8173 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
8174 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
8177 var56
= var_i
< var_
;
8180 RET_LABEL54
:(void)0;
8185 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:MSignature> */
8186 var59
= var_msignature
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
8187 if (unlikely(var59
== NULL
)) {
8188 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
8189 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1756);
8193 RET_LABEL58
:(void)0;
8197 var60
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var57
, var_i
);
8200 { /* Inline model#MParameter#mtype (var60) on <var60:nullable Object(MParameter)> */
8201 var63
= var60
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var60:nullable Object(MParameter)> */
8202 if (unlikely(var63
== NULL
)) {
8203 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8204 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1879);
8208 RET_LABEL62
:(void)0;
8213 { /* Inline model#MSignature#vararg_rank (var_msignature) on <var_msignature:MSignature> */
8214 var66
= var_msignature
->attrs
[COLOR_nit__model__MSignature___vararg_rank
].l
; /* _vararg_rank on <var_msignature:MSignature> */
8216 RET_LABEL65
:(void)0;
8220 { /* Inline kernel#Int#== (var_i,var64) on <var_i:Int> */
8221 var69
= var_i
== var64
;
8224 RET_LABEL68
:(void)0;
8229 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
8230 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
8231 /* <1l:Int> isa OTHER */
8232 var72
= 1; /* easy <1l:Int> isa OTHER*/
8233 if (unlikely(!var72
)) {
8234 var_class_name75
= type_standard__Int
.name
;
8235 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name75
);
8236 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
8242 RET_LABEL71
:(void)0;
8246 var77
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_args
, var70
);
8249 { /* Inline abstract_compiler#RuntimeVariable#mtype (var77) on <var77:nullable Object(RuntimeVariable)> */
8250 var80
= var77
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var77:nullable Object(RuntimeVariable)> */
8251 if (unlikely(var80
== NULL
)) {
8252 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8253 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
8257 RET_LABEL79
:(void)0;
8264 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
8265 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
8266 /* <1l:Int> isa OTHER */
8267 var83
= 1; /* easy <1l:Int> isa OTHER*/
8268 if (unlikely(!var83
)) {
8269 var_class_name86
= type_standard__Int
.name
;
8270 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name86
);
8271 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
8277 RET_LABEL82
:(void)0;
8281 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
8282 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
8283 /* <1l:Int> isa OTHER */
8284 var90
= 1; /* easy <1l:Int> isa OTHER*/
8285 if (unlikely(!var90
)) {
8286 var_class_name93
= type_standard__Int
.name
;
8287 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name93
);
8288 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
8294 RET_LABEL89
:(void)0;
8298 var95
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_args
, var88
);
8301 var96
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__autobox(self
, var95
, var_t
);
8304 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_args
, var81
, var96
); /* Direct call array#Array#[]= on <var_args:Array[RuntimeVariable]>*/
8307 var97
= standard___standard__Int___Discrete__successor(var_i
, 1l);
8314 BREAK_label
: (void)0;
8317 /* method separate_compiler#SeparateCompilerVisitor#unbox_signature_extern for (self: SeparateCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
8318 void nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__unbox_signature_extern(val
* self
, val
* p0
, val
* p1
) {
8319 val
* var_m
/* var m: MMethodDef */;
8320 val
* var_args
/* var args: Array[RuntimeVariable] */;
8321 val
* var
/* : nullable MSignature */;
8322 val
* var2
/* : nullable MSignature */;
8323 val
* var3
/* : MClassDef */;
8324 val
* var5
/* : MClassDef */;
8325 val
* var6
/* : MClassType */;
8326 val
* var8
/* : MClassType */;
8327 val
* var9
/* : MClassDef */;
8328 val
* var11
/* : MClassDef */;
8329 val
* var12
/* : MClassType */;
8330 val
* var14
/* : MClassType */;
8331 val
* var15
/* : MClassDef */;
8332 val
* var17
/* : MClassDef */;
8333 val
* var18
/* : MModule */;
8334 val
* var20
/* : MModule */;
8335 val
* var21
/* : MSignature */;
8336 val
* var_msignature
/* var msignature: MSignature */;
8337 short int var22
/* : Bool */;
8338 val
* var23
/* : MProperty */;
8339 val
* var25
/* : MProperty */;
8340 short int var26
/* : Bool */;
8341 short int var28
/* : Bool */;
8342 short int var29
/* : Bool */;
8343 short int var_
/* var : Bool */;
8344 short int var30
/* : Bool */;
8345 short int var32
/* : Bool */;
8346 val
* var33
/* : nullable Object */;
8347 val
* var34
/* : MClassDef */;
8348 val
* var36
/* : MClassDef */;
8349 val
* var37
/* : MClass */;
8350 val
* var39
/* : MClass */;
8351 val
* var40
/* : MClassType */;
8352 val
* var42
/* : MClassType */;
8353 val
* var43
/* : RuntimeVariable */;
8354 long var_i
/* var i: Int */;
8355 long var44
/* : Int */;
8356 long var_45
/* var : Int */;
8357 short int var46
/* : Bool */;
8358 short int var48
/* : Bool */;
8361 const char* var_class_name
;
8362 short int var49
/* : Bool */;
8363 val
* var50
/* : Array[MParameter] */;
8364 val
* var52
/* : Array[MParameter] */;
8365 val
* var53
/* : nullable Object */;
8366 val
* var54
/* : MType */;
8367 val
* var56
/* : MType */;
8368 val
* var_t
/* var t: MType */;
8369 long var57
/* : Int */;
8370 long var59
/* : Int */;
8371 short int var60
/* : Bool */;
8372 short int var62
/* : Bool */;
8373 long var63
/* : Int */;
8374 short int var65
/* : Bool */;
8377 const char* var_class_name68
;
8378 long var69
/* : Int */;
8379 val
* var70
/* : nullable Object */;
8380 val
* var71
/* : MType */;
8381 val
* var73
/* : MType */;
8382 short int var74
/* : Bool */;
8383 short int var76
/* : Bool */;
8384 long var77
/* : Int */;
8385 short int var79
/* : Bool */;
8388 const char* var_class_name82
;
8389 long var83
/* : Int */;
8390 long var84
/* : Int */;
8391 short int var86
/* : Bool */;
8394 const char* var_class_name89
;
8395 long var90
/* : Int */;
8396 val
* var91
/* : nullable Object */;
8397 val
* var92
/* : RuntimeVariable */;
8398 long var93
/* : Int */;
8402 { /* Inline model#MMethodDef#msignature (var_m) on <var_m:MMethodDef> */
8403 var2
= var_m
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var_m:MMethodDef> */
8409 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
8410 var5
= var_m
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
8411 if (unlikely(var5
== NULL
)) {
8412 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
8413 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
8421 { /* Inline model#MClassDef#bound_mtype (var3) on <var3:MClassDef> */
8422 var8
= var3
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var3:MClassDef> */
8423 if (unlikely(var8
== NULL
)) {
8424 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
8425 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
8433 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
8434 var11
= var_m
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
8435 if (unlikely(var11
== NULL
)) {
8436 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
8437 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
8441 RET_LABEL10
:(void)0;
8445 { /* Inline model#MClassDef#bound_mtype (var9) on <var9:MClassDef> */
8446 var14
= var9
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var9:MClassDef> */
8447 if (unlikely(var14
== NULL
)) {
8448 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
8449 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
8453 RET_LABEL13
:(void)0;
8457 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
8458 var17
= var_m
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
8459 if (unlikely(var17
== NULL
)) {
8460 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
8461 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
8465 RET_LABEL16
:(void)0;
8469 { /* Inline model#MClassDef#mmodule (var15) on <var15:MClassDef> */
8470 var20
= var15
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var15:MClassDef> */
8471 if (unlikely(var20
== NULL
)) {
8472 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
8473 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
8477 RET_LABEL19
:(void)0;
8481 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8482 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1173);
8485 var21
= nit___nit__MSignature___MType__resolve_for(var
, var6
, var12
, var18
, 1);
8487 var_msignature
= var21
;
8489 { /* Inline model#MPropDef#mproperty (var_m) on <var_m:MMethodDef> */
8490 var25
= var_m
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_m:MMethodDef> */
8491 if (unlikely(var25
== NULL
)) {
8492 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8493 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
8497 RET_LABEL24
:(void)0;
8501 { /* Inline model#MMethod#is_init (var23) on <var23:MProperty(MMethod)> */
8502 var28
= var23
->attrs
[COLOR_nit__model__MMethod___is_init
].s
; /* _is_init on <var23:MProperty(MMethod)> */
8504 RET_LABEL27
:(void)0;
8511 { /* Inline model#MMethodDef#is_extern (var_m) on <var_m:MMethodDef> */
8512 var32
= var_m
->attrs
[COLOR_nit__model__MMethodDef___is_extern
].s
; /* _is_extern on <var_m:MMethodDef> */
8514 RET_LABEL31
:(void)0;
8523 var33
= standard___standard__SequenceRead___Collection__first(var_args
);
8526 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
8527 var36
= var_m
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
8528 if (unlikely(var36
== NULL
)) {
8529 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
8530 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
8534 RET_LABEL35
:(void)0;
8538 { /* Inline model#MClassDef#mclass (var34) on <var34:MClassDef> */
8539 var39
= var34
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var34:MClassDef> */
8540 if (unlikely(var39
== NULL
)) {
8541 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8542 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
8546 RET_LABEL38
:(void)0;
8550 { /* Inline model#MClass#mclass_type (var37) on <var37:MClass> */
8551 var42
= var37
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var37:MClass> */
8552 if (unlikely(var42
== NULL
)) {
8553 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
8554 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
8558 RET_LABEL41
:(void)0;
8562 var43
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__unbox_extern
]))(self
, var33
, var40
); /* unbox_extern on <self:SeparateCompilerVisitor>*/
8565 standard___standard__Sequence___first_61d(var_args
, var43
); /* Direct call abstract_collection#Sequence#first= on <var_args:Array[RuntimeVariable]>*/
8571 var44
= nit___nit__MSignature___arity(var_msignature
);
8576 { /* Inline kernel#Int#< (var_i,var_45) on <var_i:Int> */
8577 /* Covariant cast for argument 0 (i) <var_45:Int> isa OTHER */
8578 /* <var_45:Int> isa OTHER */
8579 var48
= 1; /* easy <var_45:Int> isa OTHER*/
8580 if (unlikely(!var48
)) {
8581 var_class_name
= type_standard__Int
.name
;
8582 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
8583 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
8586 var49
= var_i
< var_45
;
8589 RET_LABEL47
:(void)0;
8594 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:MSignature> */
8595 var52
= var_msignature
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
8596 if (unlikely(var52
== NULL
)) {
8597 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
8598 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1756);
8602 RET_LABEL51
:(void)0;
8606 var53
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var50
, var_i
);
8609 { /* Inline model#MParameter#mtype (var53) on <var53:nullable Object(MParameter)> */
8610 var56
= var53
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var53:nullable Object(MParameter)> */
8611 if (unlikely(var56
== NULL
)) {
8612 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8613 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1879);
8617 RET_LABEL55
:(void)0;
8622 { /* Inline model#MSignature#vararg_rank (var_msignature) on <var_msignature:MSignature> */
8623 var59
= var_msignature
->attrs
[COLOR_nit__model__MSignature___vararg_rank
].l
; /* _vararg_rank on <var_msignature:MSignature> */
8625 RET_LABEL58
:(void)0;
8629 { /* Inline kernel#Int#== (var_i,var57) on <var_i:Int> */
8630 var62
= var_i
== var57
;
8633 RET_LABEL61
:(void)0;
8638 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
8639 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
8640 /* <1l:Int> isa OTHER */
8641 var65
= 1; /* easy <1l:Int> isa OTHER*/
8642 if (unlikely(!var65
)) {
8643 var_class_name68
= type_standard__Int
.name
;
8644 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name68
);
8645 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
8651 RET_LABEL64
:(void)0;
8655 var70
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_args
, var63
);
8658 { /* Inline abstract_compiler#RuntimeVariable#mtype (var70) on <var70:nullable Object(RuntimeVariable)> */
8659 var73
= var70
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var70:nullable Object(RuntimeVariable)> */
8660 if (unlikely(var73
== NULL
)) {
8661 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8662 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
8666 RET_LABEL72
:(void)0;
8673 { /* Inline model#MMethodDef#is_extern (var_m) on <var_m:MMethodDef> */
8674 var76
= var_m
->attrs
[COLOR_nit__model__MMethodDef___is_extern
].s
; /* _is_extern on <var_m:MMethodDef> */
8676 RET_LABEL75
:(void)0;
8681 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
8682 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
8683 /* <1l:Int> isa OTHER */
8684 var79
= 1; /* easy <1l:Int> isa OTHER*/
8685 if (unlikely(!var79
)) {
8686 var_class_name82
= type_standard__Int
.name
;
8687 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name82
);
8688 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
8694 RET_LABEL78
:(void)0;
8698 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
8699 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
8700 /* <1l:Int> isa OTHER */
8701 var86
= 1; /* easy <1l:Int> isa OTHER*/
8702 if (unlikely(!var86
)) {
8703 var_class_name89
= type_standard__Int
.name
;
8704 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name89
);
8705 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
8711 RET_LABEL85
:(void)0;
8715 var91
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_args
, var84
);
8718 var92
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__unbox_extern
]))(self
, var91
, var_t
); /* unbox_extern on <self:SeparateCompilerVisitor>*/
8721 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_args
, var77
, var92
); /* Direct call array#Array#[]= on <var_args:Array[RuntimeVariable]>*/
8726 var93
= standard___standard__Int___Discrete__successor(var_i
, 1l);
8733 BREAK_label
: (void)0;