1 #include "nit__separate_compiler.sep.0.h"
2 /* method separate_compiler#SeparateCompilerVisitor#box_extern for (self: SeparateCompilerVisitor, RuntimeVariable, MType): RuntimeVariable */
3 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__box_extern(val
* self
, val
* p0
, val
* p1
) {
4 val
* var
/* : RuntimeVariable */;
5 val
* var_value
/* var value: RuntimeVariable */;
6 val
* var_mtype
/* var mtype: MType */;
7 short int var1
/* : Bool */;
8 short int var2
/* : Bool */;
9 short int var3
/* : Bool */;
12 short int var_
/* var : Bool */;
13 val
* var4
/* : MClass */;
14 val
* var6
/* : MClass */;
15 val
* var7
/* : MClassKind */;
16 val
* var9
/* : MClassKind */;
17 val
* var10
/* : MClassKind */;
18 short int var11
/* : Bool */;
19 val
* var_other
/* var other: nullable Object */;
20 short int var13
/* : Bool */;
21 short int var15
/* : Bool */;
22 short int var_16
/* var : Bool */;
23 val
* var17
/* : MClass */;
24 val
* var19
/* : MClass */;
25 val
* var20
/* : String */;
26 val
* var22
/* : String */;
28 val
* var23
/* : String */;
29 char* var24
/* : NativeString */;
30 long var25
/* : Int */;
31 val
* var26
/* : FlatString */;
32 short int var27
/* : Bool */;
33 val
* var_other29
/* var other: nullable Object */;
34 short int var30
/* : Bool */;
35 short int var31
/* : Bool */;
36 val
* var32
/* : AbstractCompiler */;
37 val
* var34
/* : AbstractCompiler */;
38 val
* var35
/* : MModule */;
39 val
* var37
/* : MModule */;
40 val
* var38
/* : MClassType */;
41 val
* var_valtype
/* var valtype: MClassType */;
42 val
* var39
/* : RuntimeVariable */;
43 val
* var_res
/* var res: RuntimeVariable */;
44 short int var40
/* : Bool */;
45 val
* var41
/* : AbstractCompiler */;
46 val
* var43
/* : AbstractCompiler */;
47 val
* var44
/* : nullable RapidTypeAnalysis */;
48 val
* var46
/* : nullable RapidTypeAnalysis */;
49 val
* var47
/* : null */;
50 short int var48
/* : Bool */;
51 short int var49
/* : Bool */;
52 short int var51
/* : Bool */;
53 short int var52
/* : Bool */;
54 short int var_53
/* var : Bool */;
55 val
* var54
/* : AbstractCompiler */;
56 val
* var56
/* : AbstractCompiler */;
57 val
* var57
/* : nullable RapidTypeAnalysis */;
58 val
* var59
/* : nullable RapidTypeAnalysis */;
59 val
* var60
/* : HashSet[MClassType] */;
60 val
* var62
/* : HashSet[MClassType] */;
61 val
* var63
/* : MType */;
62 val
* var65
/* : MType */;
63 short int var66
/* : Bool */;
66 const char* var_class_name
;
67 short int var69
/* : Bool */;
68 short int var70
/* : Bool */;
69 static val
* varonce71
;
70 val
* var72
/* : String */;
71 char* var73
/* : NativeString */;
72 long var74
/* : Int */;
73 val
* var75
/* : FlatString */;
74 val
* var76
/* : MType */;
75 val
* var78
/* : MType */;
76 static val
* varonce79
;
77 val
* var80
/* : String */;
78 char* var81
/* : NativeString */;
79 long var82
/* : Int */;
80 val
* var83
/* : FlatString */;
81 val
* var84
/* : MType */;
82 val
* var86
/* : MType */;
83 static val
* varonce87
;
84 val
* var88
/* : String */;
85 char* var89
/* : NativeString */;
86 long var90
/* : Int */;
87 val
* var91
/* : FlatString */;
88 val
* var92
/* : Array[Object] */;
89 long var93
/* : Int */;
90 val
* var94
/* : NativeArray[Object] */;
91 val
* var95
/* : String */;
92 static val
* varonce96
;
93 val
* var97
/* : String */;
94 char* var98
/* : NativeString */;
95 long var99
/* : Int */;
96 val
* var100
/* : FlatString */;
97 static val
* varonce101
;
98 val
* var102
/* : String */;
99 char* var103
/* : NativeString */;
100 long var104
/* : Int */;
101 val
* var105
/* : FlatString */;
102 val
* var106
/* : String */;
103 val
* var107
/* : Array[Object] */;
104 long var108
/* : Int */;
105 val
* var109
/* : NativeArray[Object] */;
106 val
* var110
/* : String */;
107 static val
* varonce111
;
108 val
* var112
/* : String */;
109 char* var113
/* : NativeString */;
110 long var114
/* : Int */;
111 val
* var115
/* : FlatString */;
112 val
* var116
/* : String */;
113 static val
* varonce117
;
114 val
* var118
/* : String */;
115 char* var119
/* : NativeString */;
116 long var120
/* : Int */;
117 val
* var121
/* : FlatString */;
118 static val
* varonce122
;
119 val
* var123
/* : String */;
120 char* var124
/* : NativeString */;
121 long var125
/* : Int */;
122 val
* var126
/* : FlatString */;
123 val
* var127
/* : MType */;
124 val
* var129
/* : MType */;
125 static val
* varonce130
;
126 val
* var131
/* : String */;
127 char* var132
/* : NativeString */;
128 long var133
/* : Int */;
129 val
* var134
/* : FlatString */;
130 val
* var135
/* : Array[Object] */;
131 long var136
/* : Int */;
132 val
* var137
/* : NativeArray[Object] */;
133 val
* var138
/* : String */;
134 static val
* varonce139
;
135 val
* var140
/* : String */;
136 char* var141
/* : NativeString */;
137 long var142
/* : Int */;
138 val
* var143
/* : FlatString */;
139 val
* var144
/* : String */;
140 val
* var145
/* : Array[Object] */;
141 long var146
/* : Int */;
142 val
* var147
/* : NativeArray[Object] */;
143 val
* var148
/* : String */;
144 static val
* varonce149
;
145 val
* var150
/* : String */;
146 char* var151
/* : NativeString */;
147 long var152
/* : Int */;
148 val
* var153
/* : FlatString */;
149 val
* var154
/* : String */;
150 static val
* varonce155
;
151 val
* var156
/* : String */;
152 char* var157
/* : NativeString */;
153 long var158
/* : Int */;
154 val
* var159
/* : FlatString */;
155 val
* var160
/* : Array[Object] */;
156 long var161
/* : Int */;
157 val
* var162
/* : NativeArray[Object] */;
158 val
* var163
/* : String */;
159 static val
* varonce164
;
160 val
* var165
/* : String */;
161 char* var166
/* : NativeString */;
162 long var167
/* : Int */;
163 val
* var168
/* : FlatString */;
164 val
* var169
/* : String */;
165 val
* var170
/* : Array[Object] */;
166 long var171
/* : Int */;
167 val
* var172
/* : NativeArray[Object] */;
168 val
* var173
/* : String */;
169 static val
* varonce174
;
170 val
* var175
/* : String */;
171 char* var176
/* : NativeString */;
172 long var177
/* : Int */;
173 val
* var178
/* : FlatString */;
174 val
* var179
/* : String */;
175 static val
* varonce180
;
176 val
* var181
/* : String */;
177 char* var182
/* : NativeString */;
178 long var183
/* : Int */;
179 val
* var184
/* : FlatString */;
180 val
* var185
/* : Array[Object] */;
181 long var186
/* : Int */;
182 val
* var187
/* : NativeArray[Object] */;
183 val
* var188
/* : String */;
186 /* <var_mtype:MType> isa MClassType */
187 cltype
= type_nit__MClassType
.color
;
188 idtype
= type_nit__MClassType
.id
;
189 if(cltype
>= var_mtype
->type
->table_size
) {
192 var3
= var_mtype
->type
->type_table
[cltype
] == idtype
;
197 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
198 var6
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
199 if (unlikely(var6
== NULL
)) {
200 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
201 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
209 { /* Inline model#MClass#kind (var4) on <var4:MClass> */
210 var9
= var4
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var4:MClass> */
211 if (unlikely(var9
== NULL
)) {
212 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
213 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
221 var10
= nit__model___standard__Object___extern_kind(self
);
224 { /* Inline kernel#Object#== (var7,var10) on <var7:MClassKind> */
227 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:MClassKind> */
228 var15
= var7
== var_other
;
246 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
247 var19
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
248 if (unlikely(var19
== NULL
)) {
249 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
250 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
258 { /* Inline model#MClass#name (var17) on <var17:MClass> */
259 var22
= var17
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var17:MClass> */
260 if (unlikely(var22
== NULL
)) {
261 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
262 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
272 var24
= "NativeString";
274 var26
= standard___standard__NativeString___to_s_with_length(var24
, var25
);
279 { /* Inline kernel#Object#!= (var20,var23) on <var20:String> */
282 var30
= ((short int (*)(val
* self
, val
* p0
))(var20
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var20
, var_other29
) /* == on <var20:String>*/;
296 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
297 var34
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
298 if (unlikely(var34
== NULL
)) {
299 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
300 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
308 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var32) on <var32:AbstractCompiler(SeparateCompiler)> */
309 var37
= var32
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var32:AbstractCompiler(SeparateCompiler)> */
310 if (unlikely(var37
== NULL
)) {
311 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
312 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
320 var38
= nit__model___MModule___pointer_type(var35
);
324 var39
= nit___nit__AbstractCompilerVisitor___new_var(self
, var_mtype
);
328 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
329 var43
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
330 if (unlikely(var43
== NULL
)) {
331 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
332 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
340 { /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (var41) on <var41:AbstractCompiler(SeparateCompiler)> */
341 var46
= var41
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <var41:AbstractCompiler(SeparateCompiler)> */
348 var48
= 0; /* is null */
350 var48
= 1; /* arg is null and recv is not */
353 { /* Inline kernel#Object#!= (var44,var47) on <var44:nullable RapidTypeAnalysis> */
356 var51
= ((short int (*)(val
* self
, val
* p0
))(var44
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var44
, var_other29
) /* == on <var44:nullable RapidTypeAnalysis(RapidTypeAnalysis)>*/;
368 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
369 var56
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
370 if (unlikely(var56
== NULL
)) {
371 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
372 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
380 { /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (var54) on <var54:AbstractCompiler(SeparateCompiler)> */
381 var59
= var54
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <var54:AbstractCompiler(SeparateCompiler)> */
387 PRINT_ERROR("Runtime error: %s", "Receiver is null");
388 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1043);
391 { /* Inline rapid_type_analysis#RapidTypeAnalysis#live_types (var57) on <var57:nullable RapidTypeAnalysis> */
392 if (unlikely(var57
== NULL
)) {
393 PRINT_ERROR("Runtime error: %s", "Receiver is null");
394 PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis
, 53);
397 var62
= var57
->attrs
[COLOR_nit__rapid_type_analysis__RapidTypeAnalysis___live_types
].val
; /* _live_types on <var57:nullable RapidTypeAnalysis> */
398 if (unlikely(var62
== NULL
)) {
399 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
400 PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis
, 53);
408 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
409 var65
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
410 if (unlikely(var65
== NULL
)) {
411 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
412 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
419 /* <var63:MType> isa MClassType */
420 cltype67
= type_nit__MClassType
.color
;
421 idtype68
= type_nit__MClassType
.id
;
422 if(cltype67
>= var63
->type
->table_size
) {
425 var66
= var63
->type
->type_table
[cltype67
] == idtype68
;
427 if (unlikely(!var66
)) {
428 var_class_name
= var63
== NULL ?
"null" : var63
->type
->name
;
429 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
430 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1043);
434 var69
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var60
, var63
);
445 var73
= "/*no boxing of ";
447 var75
= standard___standard__NativeString___to_s_with_length(var73
, var74
);
452 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
453 var78
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
454 if (unlikely(var78
== NULL
)) {
455 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
456 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
468 var83
= standard___standard__NativeString___to_s_with_length(var81
, var82
);
473 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
474 var86
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
475 if (unlikely(var86
== NULL
)) {
476 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
477 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
487 var89
= " is not live! */";
489 var91
= standard___standard__NativeString___to_s_with_length(var89
, var90
);
493 var92
= NEW_standard__Array(&type_standard__Array__standard__Object
);
494 { /* var92 = array_instance Array[Object] */
496 var94
= NEW_standard__NativeArray(var93
, &type_standard__NativeArray__standard__Object
);
497 ((struct instance_standard__NativeArray
*)var94
)->values
[0] = (val
*) var72
;
498 ((struct instance_standard__NativeArray
*)var94
)->values
[1] = (val
*) var76
;
499 ((struct instance_standard__NativeArray
*)var94
)->values
[2] = (val
*) var80
;
500 ((struct instance_standard__NativeArray
*)var94
)->values
[3] = (val
*) var84
;
501 ((struct instance_standard__NativeArray
*)var94
)->values
[4] = (val
*) var88
;
503 ((void (*)(val
* self
, val
* p0
, long p1
))(var92
->class->vft
[COLOR_standard__array__Array__with_native
]))(var92
, var94
, var93
) /* with_native on <var92:Array[Object]>*/;
507 var95
= ((val
* (*)(val
* self
))(var92
->class->vft
[COLOR_standard__string__Object__to_s
]))(var92
) /* to_s on <var92:Array[Object]>*/;
510 nit___nit__AbstractCompilerVisitor___add(self
, var95
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
515 var98
= "PRINT_ERROR(\"Dead code executed!\\n\"); show_backtrace(1);";
517 var100
= standard___standard__NativeString___to_s_with_length(var98
, var99
);
522 nit___nit__AbstractCompilerVisitor___add(self
, var97
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
533 var105
= standard___standard__NativeString___to_s_with_length(var103
, var104
);
538 var106
= ((val
* (*)(val
* self
))(var_valtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_valtype
) /* c_name on <var_valtype:MClassType>*/;
540 var107
= NEW_standard__Array(&type_standard__Array__standard__Object
);
541 { /* var107 = array_instance Array[Object] */
543 var109
= NEW_standard__NativeArray(var108
, &type_standard__NativeArray__standard__Object
);
544 ((struct instance_standard__NativeArray
*)var109
)->values
[0] = (val
*) var102
;
545 ((struct instance_standard__NativeArray
*)var109
)->values
[1] = (val
*) var106
;
547 ((void (*)(val
* self
, val
* p0
, long p1
))(var107
->class->vft
[COLOR_standard__array__Array__with_native
]))(var107
, var109
, var108
) /* with_native on <var107:Array[Object]>*/;
551 var110
= ((val
* (*)(val
* self
))(var107
->class->vft
[COLOR_standard__string__Object__to_s
]))(var107
) /* to_s on <var107:Array[Object]>*/;
554 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var110
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
561 var115
= standard___standard__NativeString___to_s_with_length(var113
, var114
);
566 var116
= ((val
* (*)(val
* self
))(var_valtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_valtype
) /* c_name on <var_valtype:MClassType>*/;
573 var121
= standard___standard__NativeString___to_s_with_length(var119
, var120
);
580 var124
= "); /* boxing ";
582 var126
= standard___standard__NativeString___to_s_with_length(var124
, var125
);
587 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
588 var129
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
589 if (unlikely(var129
== NULL
)) {
590 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
591 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
595 RET_LABEL128
:(void)0;
603 var134
= standard___standard__NativeString___to_s_with_length(var132
, var133
);
607 var135
= NEW_standard__Array(&type_standard__Array__standard__Object
);
608 { /* var135 = array_instance Array[Object] */
610 var137
= NEW_standard__NativeArray(var136
, &type_standard__NativeArray__standard__Object
);
611 ((struct instance_standard__NativeArray
*)var137
)->values
[0] = (val
*) var_res
;
612 ((struct instance_standard__NativeArray
*)var137
)->values
[1] = (val
*) var112
;
613 ((struct instance_standard__NativeArray
*)var137
)->values
[2] = (val
*) var116
;
614 ((struct instance_standard__NativeArray
*)var137
)->values
[3] = (val
*) var118
;
615 ((struct instance_standard__NativeArray
*)var137
)->values
[4] = (val
*) var_value
;
616 ((struct instance_standard__NativeArray
*)var137
)->values
[5] = (val
*) var123
;
617 ((struct instance_standard__NativeArray
*)var137
)->values
[6] = (val
*) var127
;
618 ((struct instance_standard__NativeArray
*)var137
)->values
[7] = (val
*) var131
;
620 ((void (*)(val
* self
, val
* p0
, long p1
))(var135
->class->vft
[COLOR_standard__array__Array__with_native
]))(var135
, var137
, var136
) /* with_native on <var135:Array[Object]>*/;
624 var138
= ((val
* (*)(val
* self
))(var135
->class->vft
[COLOR_standard__string__Object__to_s
]))(var135
) /* to_s on <var135:Array[Object]>*/;
627 nit___nit__AbstractCompilerVisitor___add(self
, var138
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
634 var143
= standard___standard__NativeString___to_s_with_length(var141
, var142
);
639 var144
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType(MClassType)>*/;
641 var145
= NEW_standard__Array(&type_standard__Array__standard__Object
);
642 { /* var145 = array_instance Array[Object] */
644 var147
= NEW_standard__NativeArray(var146
, &type_standard__NativeArray__standard__Object
);
645 ((struct instance_standard__NativeArray
*)var147
)->values
[0] = (val
*) var140
;
646 ((struct instance_standard__NativeArray
*)var147
)->values
[1] = (val
*) var144
;
648 ((void (*)(val
* self
, val
* p0
, long p1
))(var145
->class->vft
[COLOR_standard__array__Array__with_native
]))(var145
, var147
, var146
) /* with_native on <var145:Array[Object]>*/;
652 var148
= ((val
* (*)(val
* self
))(var145
->class->vft
[COLOR_standard__string__Object__to_s
]))(var145
) /* to_s on <var145:Array[Object]>*/;
655 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var148
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
660 var151
= "->type = &type_";
662 var153
= standard___standard__NativeString___to_s_with_length(var151
, var152
);
667 var154
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType(MClassType)>*/;
674 var159
= standard___standard__NativeString___to_s_with_length(var157
, var158
);
678 var160
= NEW_standard__Array(&type_standard__Array__standard__Object
);
679 { /* var160 = array_instance Array[Object] */
681 var162
= NEW_standard__NativeArray(var161
, &type_standard__NativeArray__standard__Object
);
682 ((struct instance_standard__NativeArray
*)var162
)->values
[0] = (val
*) var_res
;
683 ((struct instance_standard__NativeArray
*)var162
)->values
[1] = (val
*) var150
;
684 ((struct instance_standard__NativeArray
*)var162
)->values
[2] = (val
*) var154
;
685 ((struct instance_standard__NativeArray
*)var162
)->values
[3] = (val
*) var156
;
687 ((void (*)(val
* self
, val
* p0
, long p1
))(var160
->class->vft
[COLOR_standard__array__Array__with_native
]))(var160
, var162
, var161
) /* with_native on <var160:Array[Object]>*/;
691 var163
= ((val
* (*)(val
* self
))(var160
->class->vft
[COLOR_standard__string__Object__to_s
]))(var160
) /* to_s on <var160:Array[Object]>*/;
694 nit___nit__AbstractCompilerVisitor___add(self
, var163
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
701 var168
= standard___standard__NativeString___to_s_with_length(var166
, var167
);
706 var169
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType(MClassType)>*/;
708 var170
= NEW_standard__Array(&type_standard__Array__standard__Object
);
709 { /* var170 = array_instance Array[Object] */
711 var172
= NEW_standard__NativeArray(var171
, &type_standard__NativeArray__standard__Object
);
712 ((struct instance_standard__NativeArray
*)var172
)->values
[0] = (val
*) var165
;
713 ((struct instance_standard__NativeArray
*)var172
)->values
[1] = (val
*) var169
;
715 ((void (*)(val
* self
, val
* p0
, long p1
))(var170
->class->vft
[COLOR_standard__array__Array__with_native
]))(var170
, var172
, var171
) /* with_native on <var170:Array[Object]>*/;
719 var173
= ((val
* (*)(val
* self
))(var170
->class->vft
[COLOR_standard__string__Object__to_s
]))(var170
) /* to_s on <var170:Array[Object]>*/;
722 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var173
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
727 var176
= "->class = &class_";
729 var178
= standard___standard__NativeString___to_s_with_length(var176
, var177
);
734 var179
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType(MClassType)>*/;
741 var184
= standard___standard__NativeString___to_s_with_length(var182
, var183
);
745 var185
= NEW_standard__Array(&type_standard__Array__standard__Object
);
746 { /* var185 = array_instance Array[Object] */
748 var187
= NEW_standard__NativeArray(var186
, &type_standard__NativeArray__standard__Object
);
749 ((struct instance_standard__NativeArray
*)var187
)->values
[0] = (val
*) var_res
;
750 ((struct instance_standard__NativeArray
*)var187
)->values
[1] = (val
*) var175
;
751 ((struct instance_standard__NativeArray
*)var187
)->values
[2] = (val
*) var179
;
752 ((struct instance_standard__NativeArray
*)var187
)->values
[3] = (val
*) var181
;
754 ((void (*)(val
* self
, val
* p0
, long p1
))(var185
->class->vft
[COLOR_standard__array__Array__with_native
]))(var185
, var187
, var186
) /* with_native on <var185:Array[Object]>*/;
758 var188
= ((val
* (*)(val
* self
))(var185
->class->vft
[COLOR_standard__string__Object__to_s
]))(var185
) /* to_s on <var185:Array[Object]>*/;
761 nit___nit__AbstractCompilerVisitor___add(self
, var188
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
772 /* method separate_compiler#SeparateCompilerVisitor#type_info for (self: SeparateCompilerVisitor, RuntimeVariable): String */
773 val
* nit___nit__SeparateCompilerVisitor___type_info(val
* self
, val
* p0
) {
774 val
* var
/* : String */;
775 val
* var_value
/* var value: RuntimeVariable */;
776 val
* var1
/* : MType */;
777 val
* var3
/* : MType */;
778 val
* var4
/* : String */;
780 val
* var5
/* : String */;
781 char* var6
/* : NativeString */;
782 long var7
/* : Int */;
783 val
* var8
/* : FlatString */;
784 short int var9
/* : Bool */;
785 static val
* varonce10
;
786 val
* var11
/* : String */;
787 char* var12
/* : NativeString */;
788 long var13
/* : Int */;
789 val
* var14
/* : FlatString */;
790 val
* var15
/* : Array[Object] */;
791 long var16
/* : Int */;
792 val
* var17
/* : NativeArray[Object] */;
793 val
* var18
/* : String */;
794 val
* var19
/* : AbstractCompiler */;
795 val
* var21
/* : AbstractCompiler */;
796 val
* var22
/* : Set[MType] */;
797 val
* var24
/* : Set[MType] */;
798 val
* var25
/* : MType */;
799 val
* var27
/* : MType */;
800 static val
* varonce28
;
801 val
* var29
/* : String */;
802 char* var30
/* : NativeString */;
803 long var31
/* : Int */;
804 val
* var32
/* : FlatString */;
805 val
* var33
/* : MType */;
806 val
* var35
/* : MType */;
807 val
* var36
/* : String */;
808 val
* var37
/* : Array[Object] */;
809 long var38
/* : Int */;
810 val
* var39
/* : NativeArray[Object] */;
811 val
* var40
/* : String */;
812 static val
* varonce41
;
813 val
* var42
/* : String */;
814 char* var43
/* : NativeString */;
815 long var44
/* : Int */;
816 val
* var45
/* : FlatString */;
817 val
* var46
/* : MType */;
818 val
* var48
/* : MType */;
819 val
* var49
/* : String */;
820 static val
* varonce50
;
821 val
* var51
/* : String */;
822 char* var52
/* : NativeString */;
823 long var53
/* : Int */;
824 val
* var54
/* : FlatString */;
825 val
* var55
/* : Array[Object] */;
826 long var56
/* : Int */;
827 val
* var57
/* : NativeArray[Object] */;
828 val
* var58
/* : String */;
831 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
832 var3
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
833 if (unlikely(var3
== NULL
)) {
834 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
835 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
843 var4
= ((val
* (*)(val
* self
))(var1
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var1
) /* ctype on <var1:MType>*/;
850 var8
= standard___standard__NativeString___to_s_with_length(var6
, var7
);
855 var9
= ((short int (*)(val
* self
, val
* p0
))(var4
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var4
, var5
) /* == on <var4:String>*/;
863 var14
= standard___standard__NativeString___to_s_with_length(var12
, var13
);
867 var15
= NEW_standard__Array(&type_standard__Array__standard__Object
);
868 { /* var15 = array_instance Array[Object] */
870 var17
= NEW_standard__NativeArray(var16
, &type_standard__NativeArray__standard__Object
);
871 ((struct instance_standard__NativeArray
*)var17
)->values
[0] = (val
*) var_value
;
872 ((struct instance_standard__NativeArray
*)var17
)->values
[1] = (val
*) var11
;
874 ((void (*)(val
* self
, val
* p0
, long p1
))(var15
->class->vft
[COLOR_standard__array__Array__with_native
]))(var15
, var17
, var16
) /* with_native on <var15:Array[Object]>*/;
878 var18
= ((val
* (*)(val
* self
))(var15
->class->vft
[COLOR_standard__string__Object__to_s
]))(var15
) /* to_s on <var15:Array[Object]>*/;
884 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
885 var21
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
886 if (unlikely(var21
== NULL
)) {
887 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
888 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
896 { /* Inline separate_compiler#SeparateCompiler#undead_types (var19) on <var19:AbstractCompiler(SeparateCompiler)> */
897 var24
= var19
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___undead_types
].val
; /* _undead_types on <var19:AbstractCompiler(SeparateCompiler)> */
898 if (unlikely(var24
== NULL
)) {
899 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _undead_types");
900 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 121);
908 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
909 var27
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
910 if (unlikely(var27
== NULL
)) {
911 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
912 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
920 ((void (*)(val
* self
, val
* p0
))(var22
->class->vft
[COLOR_standard__abstract_collection__SimpleCollection__add
]))(var22
, var25
) /* add on <var22:Set[MType]>*/;
927 var32
= standard___standard__NativeString___to_s_with_length(var30
, var31
);
932 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
933 var35
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
934 if (unlikely(var35
== NULL
)) {
935 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
936 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
944 var36
= ((val
* (*)(val
* self
))(var33
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var33
) /* c_name on <var33:MType>*/;
946 var37
= NEW_standard__Array(&type_standard__Array__standard__Object
);
947 { /* var37 = array_instance Array[Object] */
949 var39
= NEW_standard__NativeArray(var38
, &type_standard__NativeArray__standard__Object
);
950 ((struct instance_standard__NativeArray
*)var39
)->values
[0] = (val
*) var29
;
951 ((struct instance_standard__NativeArray
*)var39
)->values
[1] = (val
*) var36
;
953 ((void (*)(val
* self
, val
* p0
, long p1
))(var37
->class->vft
[COLOR_standard__array__Array__with_native
]))(var37
, var39
, var38
) /* with_native on <var37:Array[Object]>*/;
957 var40
= ((val
* (*)(val
* self
))(var37
->class->vft
[COLOR_standard__string__Object__to_s
]))(var37
) /* to_s on <var37:Array[Object]>*/;
960 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var40
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
967 var45
= standard___standard__NativeString___to_s_with_length(var43
, var44
);
972 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
973 var48
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
974 if (unlikely(var48
== NULL
)) {
975 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
976 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
984 var49
= ((val
* (*)(val
* self
))(var46
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var46
) /* c_name on <var46:MType>*/;
991 var54
= standard___standard__NativeString___to_s_with_length(var52
, var53
);
995 var55
= NEW_standard__Array(&type_standard__Array__standard__Object
);
996 { /* var55 = array_instance Array[Object] */
998 var57
= NEW_standard__NativeArray(var56
, &type_standard__NativeArray__standard__Object
);
999 ((struct instance_standard__NativeArray
*)var57
)->values
[0] = (val
*) var42
;
1000 ((struct instance_standard__NativeArray
*)var57
)->values
[1] = (val
*) var49
;
1001 ((struct instance_standard__NativeArray
*)var57
)->values
[2] = (val
*) var51
;
1003 ((void (*)(val
* self
, val
* p0
, long p1
))(var55
->class->vft
[COLOR_standard__array__Array__with_native
]))(var55
, var57
, var56
) /* with_native on <var55:Array[Object]>*/;
1007 var58
= ((val
* (*)(val
* self
))(var55
->class->vft
[COLOR_standard__string__Object__to_s
]))(var55
) /* to_s on <var55:Array[Object]>*/;
1015 /* method separate_compiler#SeparateCompilerVisitor#compile_callsite for (self: SeparateCompilerVisitor, CallSite, Array[RuntimeVariable]): nullable RuntimeVariable */
1016 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite(val
* self
, val
* p0
, val
* p1
) {
1017 val
* var
/* : nullable RuntimeVariable */;
1018 val
* var_callsite
/* var callsite: CallSite */;
1019 val
* var_args
/* var args: Array[RuntimeVariable] */;
1020 val
* var1
/* : AbstractCompiler */;
1021 val
* var3
/* : AbstractCompiler */;
1022 val
* var4
/* : nullable RapidTypeAnalysis */;
1023 val
* var6
/* : nullable RapidTypeAnalysis */;
1024 val
* var_rta
/* var rta: nullable RapidTypeAnalysis */;
1025 val
* var7
/* : MMethod */;
1026 val
* var9
/* : MMethod */;
1027 val
* var_mmethod
/* var mmethod: MMethod */;
1028 short int var10
/* : Bool */;
1029 short int var11
/* : Bool */;
1030 val
* var12
/* : AbstractCompiler */;
1031 val
* var14
/* : AbstractCompiler */;
1032 val
* var15
/* : ModelBuilder */;
1033 val
* var17
/* : ModelBuilder */;
1034 val
* var18
/* : ToolContext */;
1035 val
* var20
/* : ToolContext */;
1036 val
* var21
/* : OptionBool */;
1037 val
* var23
/* : OptionBool */;
1038 val
* var24
/* : nullable Object */;
1039 val
* var26
/* : nullable Object */;
1040 short int var27
/* : Bool */;
1041 short int var_
/* var : Bool */;
1042 val
* var28
/* : null */;
1043 short int var29
/* : Bool */;
1044 short int var30
/* : Bool */;
1045 val
* var_other
/* var other: nullable Object */;
1046 short int var32
/* : Bool */;
1047 short int var33
/* : Bool */;
1048 short int var_34
/* var : Bool */;
1049 val
* var35
/* : MMethodDef */;
1050 val
* var37
/* : MMethodDef */;
1051 val
* var38
/* : Array[MProperty] */;
1052 val
* var40
/* : Array[MProperty] */;
1053 short int var41
/* : Bool */;
1054 val
* var42
/* : Set[MMethodDef] */;
1055 val
* var_tgs
/* var tgs: Set[MMethodDef] */;
1056 long var43
/* : Int */;
1057 long var44
/* : Int */;
1058 short int var45
/* : Bool */;
1059 short int var47
/* : Bool */;
1060 val
* var48
/* : nullable RuntimeVariable */;
1061 val
* var_res0
/* var res0: nullable RuntimeVariable */;
1062 val
* var49
/* : nullable Object */;
1063 val
* var50
/* : nullable Object */;
1064 val
* var51
/* : MClassDef */;
1065 val
* var53
/* : MClassDef */;
1066 val
* var54
/* : MClassType */;
1067 val
* var56
/* : MClassType */;
1068 val
* var57
/* : nullable RuntimeVariable */;
1069 val
* var_res
/* var res: nullable RuntimeVariable */;
1070 val
* var58
/* : null */;
1071 short int var59
/* : Bool */;
1072 short int var60
/* : Bool */;
1073 short int var62
/* : Bool */;
1074 short int var63
/* : Bool */;
1075 val
* var64
/* : null */;
1076 short int var65
/* : Bool */;
1077 short int var66
/* : Bool */;
1078 short int var68
/* : Bool */;
1079 short int var69
/* : Bool */;
1080 static val
* varonce
;
1081 val
* var70
/* : String */;
1082 char* var71
/* : NativeString */;
1083 long var72
/* : Int */;
1084 val
* var73
/* : FlatString */;
1085 val
* var74
/* : nullable RuntimeVariable */;
1089 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1090 var3
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1091 if (unlikely(var3
== NULL
)) {
1092 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1093 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
1101 { /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (var1) on <var1:AbstractCompiler(SeparateCompiler)> */
1102 var6
= var1
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <var1:AbstractCompiler(SeparateCompiler)> */
1109 { /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:CallSite> */
1110 var9
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:CallSite> */
1111 if (unlikely(var9
== NULL
)) {
1112 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1113 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 487);
1122 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1123 var14
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1124 if (unlikely(var14
== NULL
)) {
1125 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1126 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
1130 RET_LABEL13
:(void)0;
1134 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var12) on <var12:AbstractCompiler(SeparateCompiler)> */
1135 var17
= var12
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var12:AbstractCompiler(SeparateCompiler)> */
1136 if (unlikely(var17
== NULL
)) {
1137 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1138 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
1142 RET_LABEL16
:(void)0;
1146 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var15) on <var15:ModelBuilder> */
1147 var20
= var15
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var15:ModelBuilder> */
1148 if (unlikely(var20
== NULL
)) {
1149 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1150 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1154 RET_LABEL19
:(void)0;
1158 { /* Inline separate_compiler#ToolContext#opt_direct_call_monomorph (var18) on <var18:ToolContext> */
1159 var23
= var18
->attrs
[COLOR_nit__separate_compiler__ToolContext___opt_direct_call_monomorph
].val
; /* _opt_direct_call_monomorph on <var18:ToolContext> */
1160 if (unlikely(var23
== NULL
)) {
1161 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_direct_call_monomorph");
1162 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 39);
1166 RET_LABEL22
:(void)0;
1170 { /* Inline opts#Option#value (var21) on <var21:OptionBool> */
1171 var26
= var21
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var21:OptionBool> */
1173 RET_LABEL25
:(void)0;
1176 var27
= ((struct instance_standard__Bool
*)var24
)->value
; /* autounbox from nullable Object to Bool */;
1180 if (var_rta
== NULL
) {
1181 var29
= 0; /* is null */
1183 var29
= 1; /* arg is null and recv is not */
1186 { /* Inline kernel#Object#!= (var_rta,var28) on <var_rta:nullable RapidTypeAnalysis> */
1189 var32
= ((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)>*/;
1194 RET_LABEL31
:(void)0;
1205 { /* Inline typing#CallSite#mpropdef (var_callsite) on <var_callsite:CallSite> */
1206 var37
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___mpropdef
].val
; /* _mpropdef on <var_callsite:CallSite> */
1207 if (unlikely(var37
== NULL
)) {
1208 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
1209 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 490);
1213 RET_LABEL36
:(void)0;
1217 { /* Inline model#MMethodDef#initializers (var35) on <var35:MMethodDef> */
1218 var40
= var35
->attrs
[COLOR_nit__model__MMethodDef___initializers
].val
; /* _initializers on <var35:MMethodDef> */
1219 if (unlikely(var40
== NULL
)) {
1220 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
1221 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2146);
1225 RET_LABEL39
:(void)0;
1229 var41
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var38
);
1237 var42
= nit___nit__RapidTypeAnalysis___live_targets(var_rta
, var_callsite
);
1241 var43
= ((long (*)(val
* self
))(var_tgs
->class->vft
[COLOR_standard__abstract_collection__Collection__length
]))(var_tgs
) /* length on <var_tgs:Set[MMethodDef]>*/;
1245 { /* Inline kernel#Int#== (var43,var44) on <var43:Int> */
1246 var47
= var43
== var44
;
1249 RET_LABEL46
:(void)0;
1254 var48
= nit___nit__SeparateCompilerVisitor___before_send(self
, var_mmethod
, var_args
);
1258 var49
= ((val
* (*)(val
* self
))(var_tgs
->class->vft
[COLOR_standard__abstract_collection__Collection__first
]))(var_tgs
) /* first on <var_tgs:Set[MMethodDef]>*/;
1261 var50
= ((val
* (*)(val
* self
))(var_tgs
->class->vft
[COLOR_standard__abstract_collection__Collection__first
]))(var_tgs
) /* first on <var_tgs:Set[MMethodDef]>*/;
1264 { /* Inline model#MPropDef#mclassdef (var50) on <var50:nullable Object(MMethodDef)> */
1265 var53
= var50
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var50:nullable Object(MMethodDef)> */
1266 if (unlikely(var53
== NULL
)) {
1267 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1268 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
1272 RET_LABEL52
:(void)0;
1276 { /* Inline model#MClassDef#bound_mtype (var51) on <var51:MClassDef> */
1277 var56
= var51
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var51:MClassDef> */
1278 if (unlikely(var56
== NULL
)) {
1279 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1280 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
1284 RET_LABEL55
:(void)0;
1288 var57
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__call(self
, var49
, var54
, var_args
);
1292 if (var_res0
== NULL
) {
1293 var59
= 0; /* is null */
1295 var59
= 1; /* arg is null and recv is not */
1298 { /* Inline kernel#Object#!= (var_res0,var58) on <var_res0:nullable RuntimeVariable> */
1301 var62
= ((short int (*)(val
* self
, val
* p0
))(var_res0
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res0
, var_other
) /* == on <var_res0:nullable RuntimeVariable(RuntimeVariable)>*/;
1306 RET_LABEL61
:(void)0;
1312 if (var_res
== NULL
) {
1313 var65
= 0; /* is null */
1315 var65
= 1; /* arg is null and recv is not */
1318 { /* Inline kernel#Object#!= (var_res,var64) on <var_res:nullable RuntimeVariable> */
1321 var68
= ((short int (*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable RuntimeVariable(RuntimeVariable)>*/;
1326 RET_LABEL67
:(void)0;
1330 if (unlikely(!var65
)) {
1331 PRINT_ERROR("Runtime error: %s", "Assert failed");
1332 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1085);
1336 nit___nit__AbstractCompilerVisitor___assign(self
, var_res0
, var_res
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <self:SeparateCompilerVisitor>*/
1346 var73
= standard___standard__NativeString___to_s_with_length(var71
, var72
);
1351 nit___nit__AbstractCompilerVisitor___add(self
, var70
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1360 var74
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
))(self
->class->vft
[COLOR_nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(self
, p0
, p1
) /* compile_callsite on <self:SeparateCompilerVisitor>*/;
1367 /* method separate_compiler#SeparateCompilerVisitor#send for (self: SeparateCompilerVisitor, MMethod, Array[RuntimeVariable]): nullable RuntimeVariable */
1368 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(val
* self
, val
* p0
, val
* p1
) {
1369 val
* var
/* : nullable RuntimeVariable */;
1370 val
* var_mmethod
/* var mmethod: MMethod */;
1371 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
1372 val
* var1
/* : nullable Object */;
1373 val
* var2
/* : MType */;
1374 val
* var4
/* : MType */;
1375 val
* var5
/* : String */;
1376 static val
* varonce
;
1377 val
* var6
/* : String */;
1378 char* var7
/* : NativeString */;
1379 long var8
/* : Int */;
1380 val
* var9
/* : FlatString */;
1381 short int var10
/* : Bool */;
1382 val
* var_other
/* var other: nullable Object */;
1383 short int var12
/* : Bool */;
1384 short int var13
/* : Bool */;
1385 val
* var14
/* : AbstractCompiler */;
1386 val
* var16
/* : AbstractCompiler */;
1387 val
* var17
/* : MModule */;
1388 val
* var19
/* : MModule */;
1389 val
* var_m
/* var m: MModule */;
1390 val
* var20
/* : AbstractCompiler */;
1391 val
* var22
/* : AbstractCompiler */;
1392 val
* var23
/* : AbstractCompiler */;
1393 val
* var25
/* : AbstractCompiler */;
1394 val
* var26
/* : MModule */;
1395 val
* var28
/* : MModule */;
1396 val
* var30
/* : nullable Object */;
1397 val
* var31
/* : MType */;
1398 val
* var33
/* : MType */;
1399 val
* var34
/* : nullable RuntimeVariable */;
1400 val
* var_res
/* var res: nullable RuntimeVariable */;
1401 val
* var35
/* : AbstractCompiler */;
1402 val
* var37
/* : AbstractCompiler */;
1403 val
* var39
/* : String */;
1404 val
* var40
/* : nullable RuntimeVariable */;
1408 var1
= standard___standard__SequenceRead___Collection__first(var_arguments
);
1411 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var1) on <var1:nullable Object(RuntimeVariable)> */
1412 var4
= var1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var1:nullable Object(RuntimeVariable)> */
1413 if (unlikely(var4
== NULL
)) {
1414 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
1415 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1683);
1423 var5
= ((val
* (*)(val
* self
))(var2
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var2
) /* ctype on <var2:MType>*/;
1430 var9
= standard___standard__NativeString___to_s_with_length(var7
, var8
);
1435 { /* Inline kernel#Object#!= (var5,var6) on <var5:String> */
1438 var12
= ((short int (*)(val
* self
, val
* p0
))(var5
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var5
, var_other
) /* == on <var5:String>*/;
1443 RET_LABEL11
:(void)0;
1448 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1449 var16
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1450 if (unlikely(var16
== NULL
)) {
1451 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1452 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
1456 RET_LABEL15
:(void)0;
1460 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var14) on <var14:AbstractCompiler(SeparateCompiler)> */
1461 var19
= var14
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var14:AbstractCompiler(SeparateCompiler)> */
1462 if (unlikely(var19
== NULL
)) {
1463 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
1464 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
1468 RET_LABEL18
:(void)0;
1473 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1474 var22
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1475 if (unlikely(var22
== NULL
)) {
1476 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1477 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
1481 RET_LABEL21
:(void)0;
1485 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1486 var25
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1487 if (unlikely(var25
== NULL
)) {
1488 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1489 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
1493 RET_LABEL24
:(void)0;
1497 { /* Inline abstract_compiler#AbstractCompiler#realmainmodule (var23) on <var23:AbstractCompiler(SeparateCompiler)> */
1498 var28
= var23
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___realmainmodule
].val
; /* _realmainmodule on <var23:AbstractCompiler(SeparateCompiler)> */
1499 if (unlikely(var28
== NULL
)) {
1500 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _realmainmodule");
1501 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 478);
1505 RET_LABEL27
:(void)0;
1509 { /* Inline abstract_compiler#AbstractCompiler#mainmodule= (var20,var26) on <var20:AbstractCompiler(SeparateCompiler)> */
1510 var20
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
= var26
; /* _mainmodule on <var20:AbstractCompiler(SeparateCompiler)> */
1511 RET_LABEL29
:(void)0;
1515 var30
= standard___standard__SequenceRead___Collection__first(var_arguments
);
1518 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var30) on <var30:nullable Object(RuntimeVariable)> */
1519 var33
= var30
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var30:nullable Object(RuntimeVariable)> */
1520 if (unlikely(var33
== NULL
)) {
1521 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
1522 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1683);
1526 RET_LABEL32
:(void)0;
1530 var34
= nit___nit__AbstractCompilerVisitor___monomorphic_send(self
, var_mmethod
, var31
, var_arguments
);
1534 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1535 var37
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1536 if (unlikely(var37
== NULL
)) {
1537 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1538 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
1542 RET_LABEL36
:(void)0;
1546 { /* Inline abstract_compiler#AbstractCompiler#mainmodule= (var35,var_m) on <var35:AbstractCompiler(SeparateCompiler)> */
1547 var35
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
= var_m
; /* _mainmodule on <var35:AbstractCompiler(SeparateCompiler)> */
1548 RET_LABEL38
:(void)0;
1556 var39
= nit__separate_compiler___MEntity___const_color(var_mmethod
);
1559 var40
= nit___nit__SeparateCompilerVisitor___table_send(self
, var_mmethod
, var_arguments
, var39
);
1566 /* method separate_compiler#SeparateCompilerVisitor#before_send for (self: SeparateCompilerVisitor, MMethod, Array[RuntimeVariable]): nullable RuntimeVariable */
1567 val
* nit___nit__SeparateCompilerVisitor___before_send(val
* self
, val
* p0
, val
* p1
) {
1568 val
* var
/* : nullable RuntimeVariable */;
1569 val
* var_mmethod
/* var mmethod: MMethod */;
1570 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
1571 val
* var1
/* : null */;
1572 val
* var_res
/* var res: nullable RuntimeVariable */;
1573 val
* var2
/* : nullable Object */;
1574 val
* var_recv
/* var recv: RuntimeVariable */;
1575 short int var3
/* : Bool */;
1576 short int var4
/* : Bool */;
1577 val
* var5
/* : AbstractCompiler */;
1578 val
* var7
/* : AbstractCompiler */;
1579 val
* var8
/* : ModelBuilder */;
1580 val
* var10
/* : ModelBuilder */;
1581 val
* var11
/* : ToolContext */;
1582 val
* var13
/* : ToolContext */;
1583 val
* var14
/* : OptionBool */;
1584 val
* var16
/* : OptionBool */;
1585 val
* var17
/* : nullable Object */;
1586 val
* var19
/* : nullable Object */;
1587 short int var20
/* : Bool */;
1588 short int var21
/* : Bool */;
1589 short int var_
/* var : Bool */;
1590 val
* var22
/* : String */;
1591 val
* var24
/* : String */;
1592 static val
* varonce
;
1593 val
* var25
/* : String */;
1594 char* var26
/* : NativeString */;
1595 long var27
/* : Int */;
1596 val
* var28
/* : FlatString */;
1597 short int var29
/* : Bool */;
1598 short int var_30
/* var : Bool */;
1599 val
* var31
/* : String */;
1600 val
* var33
/* : String */;
1601 static val
* varonce34
;
1602 val
* var35
/* : String */;
1603 char* var36
/* : NativeString */;
1604 long var37
/* : Int */;
1605 val
* var38
/* : FlatString */;
1606 short int var39
/* : Bool */;
1607 short int var_consider_null
/* var consider_null: Bool */;
1608 short int var40
/* : Bool */;
1609 short int var41
/* : Bool */;
1610 val
* var42
/* : MType */;
1611 val
* var44
/* : MType */;
1612 short int var45
/* : Bool */;
1615 short int var_46
/* var : Bool */;
1616 val
* var47
/* : MType */;
1617 val
* var49
/* : MType */;
1618 short int var50
/* : Bool */;
1621 short int var_53
/* var : Bool */;
1622 short int var_maybenull
/* var maybenull: Bool */;
1623 static val
* varonce54
;
1624 val
* var55
/* : String */;
1625 char* var56
/* : NativeString */;
1626 long var57
/* : Int */;
1627 val
* var58
/* : FlatString */;
1628 static val
* varonce59
;
1629 val
* var60
/* : String */;
1630 char* var61
/* : NativeString */;
1631 long var62
/* : Int */;
1632 val
* var63
/* : FlatString */;
1633 val
* var64
/* : Array[Object] */;
1634 long var65
/* : Int */;
1635 val
* var66
/* : NativeArray[Object] */;
1636 val
* var67
/* : String */;
1637 short int var68
/* : Bool */;
1638 val
* var69
/* : String */;
1639 val
* var71
/* : String */;
1640 static val
* varonce72
;
1641 val
* var73
/* : String */;
1642 char* var74
/* : NativeString */;
1643 long var75
/* : Int */;
1644 val
* var76
/* : FlatString */;
1645 short int var77
/* : Bool */;
1646 short int var_78
/* var : Bool */;
1647 val
* var79
/* : String */;
1648 val
* var81
/* : String */;
1649 static val
* varonce82
;
1650 val
* var83
/* : String */;
1651 char* var84
/* : NativeString */;
1652 long var85
/* : Int */;
1653 val
* var86
/* : FlatString */;
1654 short int var87
/* : Bool */;
1655 val
* var88
/* : MClassType */;
1656 val
* var89
/* : RuntimeVariable */;
1657 long var90
/* : Int */;
1658 val
* var91
/* : nullable Object */;
1659 val
* var_arg
/* var arg: RuntimeVariable */;
1660 val
* var92
/* : MType */;
1661 val
* var94
/* : MType */;
1662 short int var95
/* : Bool */;
1665 static val
* varonce98
;
1666 val
* var99
/* : String */;
1667 char* var100
/* : NativeString */;
1668 long var101
/* : Int */;
1669 val
* var102
/* : FlatString */;
1670 static val
* varonce103
;
1671 val
* var104
/* : String */;
1672 char* var105
/* : NativeString */;
1673 long var106
/* : Int */;
1674 val
* var107
/* : FlatString */;
1675 val
* var108
/* : Array[Object] */;
1676 long var109
/* : Int */;
1677 val
* var110
/* : NativeArray[Object] */;
1678 val
* var111
/* : String */;
1679 val
* var112
/* : MType */;
1680 val
* var114
/* : MType */;
1681 short int var115
/* : Bool */;
1684 static val
* varonce118
;
1685 val
* var119
/* : String */;
1686 char* var120
/* : NativeString */;
1687 long var121
/* : Int */;
1688 val
* var122
/* : FlatString */;
1689 val
* var123
/* : Array[Object] */;
1690 long var124
/* : Int */;
1691 val
* var125
/* : NativeArray[Object] */;
1692 val
* var126
/* : String */;
1693 static val
* varonce127
;
1694 val
* var128
/* : String */;
1695 char* var129
/* : NativeString */;
1696 long var130
/* : Int */;
1697 val
* var131
/* : FlatString */;
1698 val
* var132
/* : String */;
1699 static val
* varonce133
;
1700 val
* var134
/* : String */;
1701 char* var135
/* : NativeString */;
1702 long var136
/* : Int */;
1703 val
* var137
/* : FlatString */;
1704 val
* var138
/* : Array[Object] */;
1705 long var139
/* : Int */;
1706 val
* var140
/* : NativeArray[Object] */;
1707 val
* var141
/* : String */;
1708 val
* var142
/* : String */;
1709 val
* var144
/* : String */;
1710 static val
* varonce145
;
1711 val
* var146
/* : String */;
1712 char* var147
/* : NativeString */;
1713 long var148
/* : Int */;
1714 val
* var149
/* : FlatString */;
1715 short int var150
/* : Bool */;
1716 val
* var151
/* : MClassType */;
1717 val
* var152
/* : RuntimeVariable */;
1718 long var153
/* : Int */;
1719 val
* var154
/* : nullable Object */;
1720 val
* var_arg155
/* var arg: RuntimeVariable */;
1721 val
* var156
/* : MType */;
1722 val
* var158
/* : MType */;
1723 short int var159
/* : Bool */;
1726 static val
* varonce162
;
1727 val
* var163
/* : String */;
1728 char* var164
/* : NativeString */;
1729 long var165
/* : Int */;
1730 val
* var166
/* : FlatString */;
1731 static val
* varonce167
;
1732 val
* var168
/* : String */;
1733 char* var169
/* : NativeString */;
1734 long var170
/* : Int */;
1735 val
* var171
/* : FlatString */;
1736 val
* var172
/* : Array[Object] */;
1737 long var173
/* : Int */;
1738 val
* var174
/* : NativeArray[Object] */;
1739 val
* var175
/* : String */;
1740 val
* var176
/* : MType */;
1741 val
* var178
/* : MType */;
1742 short int var179
/* : Bool */;
1745 static val
* varonce182
;
1746 val
* var183
/* : String */;
1747 char* var184
/* : NativeString */;
1748 long var185
/* : Int */;
1749 val
* var186
/* : FlatString */;
1750 val
* var187
/* : Array[Object] */;
1751 long var188
/* : Int */;
1752 val
* var189
/* : NativeArray[Object] */;
1753 val
* var190
/* : String */;
1754 static val
* varonce191
;
1755 val
* var192
/* : String */;
1756 char* var193
/* : NativeString */;
1757 long var194
/* : Int */;
1758 val
* var195
/* : FlatString */;
1759 val
* var196
/* : String */;
1760 static val
* varonce197
;
1761 val
* var198
/* : String */;
1762 char* var199
/* : NativeString */;
1763 long var200
/* : Int */;
1764 val
* var201
/* : FlatString */;
1765 val
* var202
/* : Array[Object] */;
1766 long var203
/* : Int */;
1767 val
* var204
/* : NativeArray[Object] */;
1768 val
* var205
/* : String */;
1769 static val
* varonce206
;
1770 val
* var207
/* : String */;
1771 char* var208
/* : NativeString */;
1772 long var209
/* : Int */;
1773 val
* var210
/* : FlatString */;
1774 static val
* varonce211
;
1775 val
* var212
/* : String */;
1776 char* var213
/* : NativeString */;
1777 long var214
/* : Int */;
1778 val
* var215
/* : FlatString */;
1779 static val
* varonce216
;
1780 val
* var217
/* : String */;
1781 char* var218
/* : NativeString */;
1782 long var219
/* : Int */;
1783 val
* var220
/* : FlatString */;
1784 short int var221
/* : Bool */;
1785 val
* var222
/* : AbstractCompiler */;
1786 val
* var224
/* : AbstractCompiler */;
1787 val
* var225
/* : ModelBuilder */;
1788 val
* var227
/* : ModelBuilder */;
1789 val
* var228
/* : ToolContext */;
1790 val
* var230
/* : ToolContext */;
1791 val
* var231
/* : OptionBool */;
1792 val
* var233
/* : OptionBool */;
1793 val
* var234
/* : nullable Object */;
1794 val
* var236
/* : nullable Object */;
1795 short int var237
/* : Bool */;
1796 short int var238
/* : Bool */;
1797 short int var_239
/* var : Bool */;
1798 short int var240
/* : Bool */;
1799 short int var241
/* : Bool */;
1800 val
* var242
/* : String */;
1801 val
* var244
/* : String */;
1802 static val
* varonce245
;
1803 val
* var246
/* : String */;
1804 char* var247
/* : NativeString */;
1805 long var248
/* : Int */;
1806 val
* var249
/* : FlatString */;
1807 short int var250
/* : Bool */;
1808 short int var_251
/* var : Bool */;
1809 val
* var252
/* : String */;
1810 val
* var254
/* : String */;
1811 static val
* varonce255
;
1812 val
* var256
/* : String */;
1813 char* var257
/* : NativeString */;
1814 long var258
/* : Int */;
1815 val
* var259
/* : FlatString */;
1816 short int var260
/* : Bool */;
1817 short int var_261
/* var : Bool */;
1818 val
* var262
/* : String */;
1819 val
* var264
/* : String */;
1820 static val
* varonce265
;
1821 val
* var266
/* : String */;
1822 char* var267
/* : NativeString */;
1823 long var268
/* : Int */;
1824 val
* var269
/* : FlatString */;
1825 short int var270
/* : Bool */;
1826 long var271
/* : Int */;
1827 val
* var272
/* : nullable Object */;
1828 val
* var_arg273
/* var arg: RuntimeVariable */;
1829 val
* var274
/* : MType */;
1830 val
* var276
/* : MType */;
1831 short int var277
/* : Bool */;
1834 val
* var280
/* : null */;
1835 short int var281
/* : Bool */;
1836 short int var282
/* : Bool */;
1837 val
* var_other
/* var other: nullable Object */;
1838 short int var284
/* : Bool */;
1839 short int var286
/* : Bool */;
1840 val
* var287
/* : MClassType */;
1841 val
* var288
/* : RuntimeVariable */;
1842 val
* var289
/* : String */;
1843 val
* var291
/* : String */;
1844 static val
* varonce292
;
1845 val
* var293
/* : String */;
1846 char* var294
/* : NativeString */;
1847 long var295
/* : Int */;
1848 val
* var296
/* : FlatString */;
1849 short int var297
/* : Bool */;
1850 static val
* varonce298
;
1851 val
* var299
/* : String */;
1852 char* var300
/* : NativeString */;
1853 long var301
/* : Int */;
1854 val
* var302
/* : FlatString */;
1855 val
* var303
/* : Array[Object] */;
1856 long var304
/* : Int */;
1857 val
* var305
/* : NativeArray[Object] */;
1858 val
* var306
/* : String */;
1859 static val
* varonce307
;
1860 val
* var308
/* : String */;
1861 char* var309
/* : NativeString */;
1862 long var310
/* : Int */;
1863 val
* var311
/* : FlatString */;
1864 val
* var312
/* : Array[Object] */;
1865 long var313
/* : Int */;
1866 val
* var314
/* : NativeArray[Object] */;
1867 val
* var315
/* : String */;
1868 static val
* varonce316
;
1869 val
* var317
/* : String */;
1870 char* var318
/* : NativeString */;
1871 long var319
/* : Int */;
1872 val
* var320
/* : FlatString */;
1873 static val
* varonce321
;
1874 val
* var322
/* : String */;
1875 char* var323
/* : NativeString */;
1876 long var324
/* : Int */;
1877 val
* var325
/* : FlatString */;
1883 var2
= standard___standard__SequenceRead___Collection__first(var_arguments
);
1887 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1888 var7
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1889 if (unlikely(var7
== NULL
)) {
1890 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1891 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
1899 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var5) on <var5:AbstractCompiler(SeparateCompiler)> */
1900 var10
= var5
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var5:AbstractCompiler(SeparateCompiler)> */
1901 if (unlikely(var10
== NULL
)) {
1902 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1903 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
1911 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var8) on <var8:ModelBuilder> */
1912 var13
= var8
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var8:ModelBuilder> */
1913 if (unlikely(var13
== NULL
)) {
1914 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1915 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1919 RET_LABEL12
:(void)0;
1923 { /* Inline abstract_compiler#ToolContext#opt_no_check_null (var11) on <var11:ToolContext> */
1924 var16
= var11
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_null
].val
; /* _opt_no_check_null on <var11:ToolContext> */
1925 if (unlikely(var16
== NULL
)) {
1926 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_null");
1927 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 55);
1931 RET_LABEL15
:(void)0;
1935 { /* Inline opts#Option#value (var14) on <var14:OptionBool> */
1936 var19
= var14
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var14:OptionBool> */
1938 RET_LABEL18
:(void)0;
1941 var20
= ((struct instance_standard__Bool
*)var17
)->value
; /* autounbox from nullable Object to Bool */;
1948 { /* Inline model#MProperty#name (var_mmethod) on <var_mmethod:MMethod> */
1949 var24
= var_mmethod
->attrs
[COLOR_nit__model__MProperty___name
].val
; /* _name on <var_mmethod:MMethod> */
1950 if (unlikely(var24
== NULL
)) {
1951 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1952 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1741);
1956 RET_LABEL23
:(void)0;
1964 var28
= standard___standard__NativeString___to_s_with_length(var26
, var27
);
1969 var29
= ((short int (*)(val
* self
, val
* p0
))(var22
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var22
, var25
) /* == on <var22:String>*/;
1978 { /* Inline model#MProperty#name (var_mmethod) on <var_mmethod:MMethod> */
1979 var33
= var_mmethod
->attrs
[COLOR_nit__model__MProperty___name
].val
; /* _name on <var_mmethod:MMethod> */
1980 if (unlikely(var33
== NULL
)) {
1981 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1982 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1741);
1986 RET_LABEL32
:(void)0;
1994 var38
= standard___standard__NativeString___to_s_with_length(var36
, var37
);
1999 var39
= ((short int (*)(val
* self
, val
* p0
))(var31
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var31
, var35
) /* == on <var31:String>*/;
2003 var_consider_null
= var3
;
2005 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_recv) on <var_recv:RuntimeVariable> */
2006 var44
= var_recv
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_recv:RuntimeVariable> */
2007 if (unlikely(var44
== NULL
)) {
2008 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
2009 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1683);
2013 RET_LABEL43
:(void)0;
2016 /* <var42:MType> isa MNullableType */
2017 cltype
= type_nit__MNullableType
.color
;
2018 idtype
= type_nit__MNullableType
.id
;
2019 if(cltype
>= var42
->type
->table_size
) {
2022 var45
= var42
->type
->type_table
[cltype
] == idtype
;
2029 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_recv) on <var_recv:RuntimeVariable> */
2030 var49
= var_recv
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_recv:RuntimeVariable> */
2031 if (unlikely(var49
== NULL
)) {
2032 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
2033 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1683);
2037 RET_LABEL48
:(void)0;
2040 /* <var47:MType> isa MNullType */
2041 cltype51
= type_nit__MNullType
.color
;
2042 idtype52
= type_nit__MNullType
.id
;
2043 if(cltype51
>= var47
->type
->table_size
) {
2046 var50
= var47
->type
->type_table
[cltype51
] == idtype52
;
2052 var40
= var_consider_null
;
2056 var_maybenull
= var40
;
2063 var58
= standard___standard__NativeString___to_s_with_length(var56
, var57
);
2070 var61
= " == NULL) {";
2072 var63
= standard___standard__NativeString___to_s_with_length(var61
, var62
);
2076 var64
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2077 { /* var64 = array_instance Array[Object] */
2079 var66
= NEW_standard__NativeArray(var65
, &type_standard__NativeArray__standard__Object
);
2080 ((struct instance_standard__NativeArray
*)var66
)->values
[0] = (val
*) var55
;
2081 ((struct instance_standard__NativeArray
*)var66
)->values
[1] = (val
*) var_recv
;
2082 ((struct instance_standard__NativeArray
*)var66
)->values
[2] = (val
*) var60
;
2084 ((void (*)(val
* self
, val
* p0
, long p1
))(var64
->class->vft
[COLOR_standard__array__Array__with_native
]))(var64
, var66
, var65
) /* with_native on <var64:Array[Object]>*/;
2088 var67
= ((val
* (*)(val
* self
))(var64
->class->vft
[COLOR_standard__string__Object__to_s
]))(var64
) /* to_s on <var64:Array[Object]>*/;
2091 nit___nit__AbstractCompilerVisitor___add(self
, var67
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2094 { /* Inline model#MProperty#name (var_mmethod) on <var_mmethod:MMethod> */
2095 var71
= var_mmethod
->attrs
[COLOR_nit__model__MProperty___name
].val
; /* _name on <var_mmethod:MMethod> */
2096 if (unlikely(var71
== NULL
)) {
2097 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2098 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1741);
2102 RET_LABEL70
:(void)0;
2110 var76
= standard___standard__NativeString___to_s_with_length(var74
, var75
);
2115 var77
= ((short int (*)(val
* self
, val
* p0
))(var69
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var69
, var73
) /* == on <var69:String>*/;
2122 { /* Inline model#MProperty#name (var_mmethod) on <var_mmethod:MMethod> */
2123 var81
= var_mmethod
->attrs
[COLOR_nit__model__MProperty___name
].val
; /* _name on <var_mmethod:MMethod> */
2124 if (unlikely(var81
== NULL
)) {
2125 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2126 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1741);
2130 RET_LABEL80
:(void)0;
2136 var84
= "is_same_instance";
2138 var86
= standard___standard__NativeString___to_s_with_length(var84
, var85
);
2143 var87
= ((short int (*)(val
* self
, val
* p0
))(var79
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var79
, var83
) /* == on <var79:String>*/;
2149 var88
= nit___nit__AbstractCompilerVisitor___bool_type(self
);
2152 var89
= nit___nit__AbstractCompilerVisitor___new_var(self
, var88
);
2157 var91
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments
, var90
);
2161 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_arg) on <var_arg:RuntimeVariable> */
2162 var94
= var_arg
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_arg:RuntimeVariable> */
2163 if (unlikely(var94
== NULL
)) {
2164 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
2165 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1683);
2169 RET_LABEL93
:(void)0;
2172 /* <var92:MType> isa MNullableType */
2173 cltype96
= type_nit__MNullableType
.color
;
2174 idtype97
= type_nit__MNullableType
.id
;
2175 if(cltype96
>= var92
->type
->table_size
) {
2178 var95
= var92
->type
->type_table
[cltype96
] == idtype97
;
2186 var102
= standard___standard__NativeString___to_s_with_length(var100
, var101
);
2191 var104
= varonce103
;
2193 var105
= " == NULL);";
2195 var107
= standard___standard__NativeString___to_s_with_length(var105
, var106
);
2197 varonce103
= var104
;
2199 var108
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2200 { /* var108 = array_instance Array[Object] */
2202 var110
= NEW_standard__NativeArray(var109
, &type_standard__NativeArray__standard__Object
);
2203 ((struct instance_standard__NativeArray
*)var110
)->values
[0] = (val
*) var_res
;
2204 ((struct instance_standard__NativeArray
*)var110
)->values
[1] = (val
*) var99
;
2205 ((struct instance_standard__NativeArray
*)var110
)->values
[2] = (val
*) var_arg
;
2206 ((struct instance_standard__NativeArray
*)var110
)->values
[3] = (val
*) var104
;
2208 ((void (*)(val
* self
, val
* p0
, long p1
))(var108
->class->vft
[COLOR_standard__array__Array__with_native
]))(var108
, var110
, var109
) /* with_native on <var108:Array[Object]>*/;
2212 var111
= ((val
* (*)(val
* self
))(var108
->class->vft
[COLOR_standard__string__Object__to_s
]))(var108
) /* to_s on <var108:Array[Object]>*/;
2215 nit___nit__AbstractCompilerVisitor___add(self
, var111
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2219 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_arg) on <var_arg:RuntimeVariable> */
2220 var114
= var_arg
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_arg:RuntimeVariable> */
2221 if (unlikely(var114
== NULL
)) {
2222 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
2223 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1683);
2227 RET_LABEL113
:(void)0;
2230 /* <var112:MType> isa MNullType */
2231 cltype116
= type_nit__MNullType
.color
;
2232 idtype117
= type_nit__MNullType
.id
;
2233 if(cltype116
>= var112
->type
->table_size
) {
2236 var115
= var112
->type
->type_table
[cltype116
] == idtype117
;
2240 var119
= varonce118
;
2242 var120
= " = 1; /* is null */";
2244 var122
= standard___standard__NativeString___to_s_with_length(var120
, var121
);
2246 varonce118
= var119
;
2248 var123
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2249 { /* var123 = array_instance Array[Object] */
2251 var125
= NEW_standard__NativeArray(var124
, &type_standard__NativeArray__standard__Object
);
2252 ((struct instance_standard__NativeArray
*)var125
)->values
[0] = (val
*) var_res
;
2253 ((struct instance_standard__NativeArray
*)var125
)->values
[1] = (val
*) var119
;
2255 ((void (*)(val
* self
, val
* p0
, long p1
))(var123
->class->vft
[COLOR_standard__array__Array__with_native
]))(var123
, var125
, var124
) /* with_native on <var123:Array[Object]>*/;
2259 var126
= ((val
* (*)(val
* self
))(var123
->class->vft
[COLOR_standard__string__Object__to_s
]))(var123
) /* to_s on <var123:Array[Object]>*/;
2262 nit___nit__AbstractCompilerVisitor___add(self
, var126
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2266 var128
= varonce127
;
2268 var129
= " = 0; /* ";
2270 var131
= standard___standard__NativeString___to_s_with_length(var129
, var130
);
2272 varonce127
= var128
;
2275 var132
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_arg
);
2278 var134
= varonce133
;
2280 var135
= " cannot be null */";
2282 var137
= standard___standard__NativeString___to_s_with_length(var135
, var136
);
2284 varonce133
= var134
;
2286 var138
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2287 { /* var138 = array_instance Array[Object] */
2289 var140
= NEW_standard__NativeArray(var139
, &type_standard__NativeArray__standard__Object
);
2290 ((struct instance_standard__NativeArray
*)var140
)->values
[0] = (val
*) var_res
;
2291 ((struct instance_standard__NativeArray
*)var140
)->values
[1] = (val
*) var128
;
2292 ((struct instance_standard__NativeArray
*)var140
)->values
[2] = (val
*) var132
;
2293 ((struct instance_standard__NativeArray
*)var140
)->values
[3] = (val
*) var134
;
2295 ((void (*)(val
* self
, val
* p0
, long p1
))(var138
->class->vft
[COLOR_standard__array__Array__with_native
]))(var138
, var140
, var139
) /* with_native on <var138:Array[Object]>*/;
2299 var141
= ((val
* (*)(val
* self
))(var138
->class->vft
[COLOR_standard__string__Object__to_s
]))(var138
) /* to_s on <var138:Array[Object]>*/;
2302 nit___nit__AbstractCompilerVisitor___add(self
, var141
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2308 { /* Inline model#MProperty#name (var_mmethod) on <var_mmethod:MMethod> */
2309 var144
= var_mmethod
->attrs
[COLOR_nit__model__MProperty___name
].val
; /* _name on <var_mmethod:MMethod> */
2310 if (unlikely(var144
== NULL
)) {
2311 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2312 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1741);
2316 RET_LABEL143
:(void)0;
2320 var146
= varonce145
;
2324 var149
= standard___standard__NativeString___to_s_with_length(var147
, var148
);
2326 varonce145
= var146
;
2329 var150
= ((short int (*)(val
* self
, val
* p0
))(var142
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var142
, var146
) /* == on <var142:String>*/;
2333 var151
= nit___nit__AbstractCompilerVisitor___bool_type(self
);
2336 var152
= nit___nit__AbstractCompilerVisitor___new_var(self
, var151
);
2341 var154
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments
, var153
);
2343 var_arg155
= var154
;
2345 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_arg155) on <var_arg155:RuntimeVariable> */
2346 var158
= var_arg155
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_arg155:RuntimeVariable> */
2347 if (unlikely(var158
== NULL
)) {
2348 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
2349 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1683);
2353 RET_LABEL157
:(void)0;
2356 /* <var156:MType> isa MNullableType */
2357 cltype160
= type_nit__MNullableType
.color
;
2358 idtype161
= type_nit__MNullableType
.id
;
2359 if(cltype160
>= var156
->type
->table_size
) {
2362 var159
= var156
->type
->type_table
[cltype160
] == idtype161
;
2366 var163
= varonce162
;
2370 var166
= standard___standard__NativeString___to_s_with_length(var164
, var165
);
2372 varonce162
= var163
;
2375 var168
= varonce167
;
2377 var169
= " != NULL);";
2379 var171
= standard___standard__NativeString___to_s_with_length(var169
, var170
);
2381 varonce167
= var168
;
2383 var172
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2384 { /* var172 = array_instance Array[Object] */
2386 var174
= NEW_standard__NativeArray(var173
, &type_standard__NativeArray__standard__Object
);
2387 ((struct instance_standard__NativeArray
*)var174
)->values
[0] = (val
*) var_res
;
2388 ((struct instance_standard__NativeArray
*)var174
)->values
[1] = (val
*) var163
;
2389 ((struct instance_standard__NativeArray
*)var174
)->values
[2] = (val
*) var_arg155
;
2390 ((struct instance_standard__NativeArray
*)var174
)->values
[3] = (val
*) var168
;
2392 ((void (*)(val
* self
, val
* p0
, long p1
))(var172
->class->vft
[COLOR_standard__array__Array__with_native
]))(var172
, var174
, var173
) /* with_native on <var172:Array[Object]>*/;
2396 var175
= ((val
* (*)(val
* self
))(var172
->class->vft
[COLOR_standard__string__Object__to_s
]))(var172
) /* to_s on <var172:Array[Object]>*/;
2399 nit___nit__AbstractCompilerVisitor___add(self
, var175
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2403 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_arg155) on <var_arg155:RuntimeVariable> */
2404 var178
= var_arg155
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_arg155:RuntimeVariable> */
2405 if (unlikely(var178
== NULL
)) {
2406 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
2407 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1683);
2411 RET_LABEL177
:(void)0;
2414 /* <var176:MType> isa MNullType */
2415 cltype180
= type_nit__MNullType
.color
;
2416 idtype181
= type_nit__MNullType
.id
;
2417 if(cltype180
>= var176
->type
->table_size
) {
2420 var179
= var176
->type
->type_table
[cltype180
] == idtype181
;
2424 var183
= varonce182
;
2426 var184
= " = 0; /* is null */";
2428 var186
= standard___standard__NativeString___to_s_with_length(var184
, var185
);
2430 varonce182
= var183
;
2432 var187
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2433 { /* var187 = array_instance Array[Object] */
2435 var189
= NEW_standard__NativeArray(var188
, &type_standard__NativeArray__standard__Object
);
2436 ((struct instance_standard__NativeArray
*)var189
)->values
[0] = (val
*) var_res
;
2437 ((struct instance_standard__NativeArray
*)var189
)->values
[1] = (val
*) var183
;
2439 ((void (*)(val
* self
, val
* p0
, long p1
))(var187
->class->vft
[COLOR_standard__array__Array__with_native
]))(var187
, var189
, var188
) /* with_native on <var187:Array[Object]>*/;
2443 var190
= ((val
* (*)(val
* self
))(var187
->class->vft
[COLOR_standard__string__Object__to_s
]))(var187
) /* to_s on <var187:Array[Object]>*/;
2446 nit___nit__AbstractCompilerVisitor___add(self
, var190
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2450 var192
= varonce191
;
2452 var193
= " = 1; /* ";
2454 var195
= standard___standard__NativeString___to_s_with_length(var193
, var194
);
2456 varonce191
= var192
;
2459 var196
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_arg155
);
2462 var198
= varonce197
;
2464 var199
= " cannot be null */";
2466 var201
= standard___standard__NativeString___to_s_with_length(var199
, var200
);
2468 varonce197
= var198
;
2470 var202
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2471 { /* var202 = array_instance Array[Object] */
2473 var204
= NEW_standard__NativeArray(var203
, &type_standard__NativeArray__standard__Object
);
2474 ((struct instance_standard__NativeArray
*)var204
)->values
[0] = (val
*) var_res
;
2475 ((struct instance_standard__NativeArray
*)var204
)->values
[1] = (val
*) var192
;
2476 ((struct instance_standard__NativeArray
*)var204
)->values
[2] = (val
*) var196
;
2477 ((struct instance_standard__NativeArray
*)var204
)->values
[3] = (val
*) var198
;
2479 ((void (*)(val
* self
, val
* p0
, long p1
))(var202
->class->vft
[COLOR_standard__array__Array__with_native
]))(var202
, var204
, var203
) /* with_native on <var202:Array[Object]>*/;
2483 var205
= ((val
* (*)(val
* self
))(var202
->class->vft
[COLOR_standard__string__Object__to_s
]))(var202
) /* to_s on <var202:Array[Object]>*/;
2486 nit___nit__AbstractCompilerVisitor___add(self
, var205
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2492 var207
= varonce206
;
2494 var208
= "Receiver is null";
2496 var210
= standard___standard__NativeString___to_s_with_length(var208
, var209
);
2498 varonce206
= var207
;
2501 nit___nit__AbstractCompilerVisitor___add_abort(self
, var207
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:SeparateCompilerVisitor>*/
2506 var212
= varonce211
;
2508 var213
= "} else {";
2510 var215
= standard___standard__NativeString___to_s_with_length(var213
, var214
);
2512 varonce211
= var212
;
2515 nit___nit__AbstractCompilerVisitor___add(self
, var212
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2519 var217
= varonce216
;
2523 var220
= standard___standard__NativeString___to_s_with_length(var218
, var219
);
2525 varonce216
= var217
;
2528 nit___nit__AbstractCompilerVisitor___add(self
, var217
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2532 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
2533 var224
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
2534 if (unlikely(var224
== NULL
)) {
2535 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2536 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
2540 RET_LABEL223
:(void)0;
2544 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var222) on <var222:AbstractCompiler(SeparateCompiler)> */
2545 var227
= var222
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var222:AbstractCompiler(SeparateCompiler)> */
2546 if (unlikely(var227
== NULL
)) {
2547 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2548 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
2552 RET_LABEL226
:(void)0;
2556 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var225) on <var225:ModelBuilder> */
2557 var230
= var225
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var225:ModelBuilder> */
2558 if (unlikely(var230
== NULL
)) {
2559 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2560 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
2564 RET_LABEL229
:(void)0;
2568 { /* Inline separate_compiler#ToolContext#opt_no_shortcut_equate (var228) on <var228:ToolContext> */
2569 var233
= var228
->attrs
[COLOR_nit__separate_compiler__ToolContext___opt_no_shortcut_equate
].val
; /* _opt_no_shortcut_equate on <var228:ToolContext> */
2570 if (unlikely(var233
== NULL
)) {
2571 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_shortcut_equate");
2572 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 30);
2576 RET_LABEL232
:(void)0;
2580 { /* Inline opts#Option#value (var231) on <var231:OptionBool> */
2581 var236
= var231
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var231:OptionBool> */
2583 RET_LABEL235
:(void)0;
2586 var237
= ((struct instance_standard__Bool
*)var234
)->value
; /* autounbox from nullable Object to Bool */;
2591 { /* Inline model#MProperty#name (var_mmethod) on <var_mmethod:MMethod> */
2592 var244
= var_mmethod
->attrs
[COLOR_nit__model__MProperty___name
].val
; /* _name on <var_mmethod:MMethod> */
2593 if (unlikely(var244
== NULL
)) {
2594 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2595 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1741);
2599 RET_LABEL243
:(void)0;
2603 var246
= varonce245
;
2607 var249
= standard___standard__NativeString___to_s_with_length(var247
, var248
);
2609 varonce245
= var246
;
2612 var250
= ((short int (*)(val
* self
, val
* p0
))(var242
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var242
, var246
) /* == on <var242:String>*/;
2619 { /* Inline model#MProperty#name (var_mmethod) on <var_mmethod:MMethod> */
2620 var254
= var_mmethod
->attrs
[COLOR_nit__model__MProperty___name
].val
; /* _name on <var_mmethod:MMethod> */
2621 if (unlikely(var254
== NULL
)) {
2622 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2623 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1741);
2627 RET_LABEL253
:(void)0;
2631 var256
= varonce255
;
2635 var259
= standard___standard__NativeString___to_s_with_length(var257
, var258
);
2637 varonce255
= var256
;
2640 var260
= ((short int (*)(val
* self
, val
* p0
))(var252
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var252
, var256
) /* == on <var252:String>*/;
2649 { /* Inline model#MProperty#name (var_mmethod) on <var_mmethod:MMethod> */
2650 var264
= var_mmethod
->attrs
[COLOR_nit__model__MProperty___name
].val
; /* _name on <var_mmethod:MMethod> */
2651 if (unlikely(var264
== NULL
)) {
2652 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2653 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1741);
2657 RET_LABEL263
:(void)0;
2661 var266
= varonce265
;
2663 var267
= "is_same_instance";
2665 var269
= standard___standard__NativeString___to_s_with_length(var267
, var268
);
2667 varonce265
= var266
;
2670 var270
= ((short int (*)(val
* self
, val
* p0
))(var262
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var262
, var266
) /* == on <var262:String>*/;
2681 var272
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments
, var271
);
2683 var_arg273
= var272
;
2685 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_arg273) on <var_arg273:RuntimeVariable> */
2686 var276
= var_arg273
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_arg273:RuntimeVariable> */
2687 if (unlikely(var276
== NULL
)) {
2688 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
2689 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1683);
2693 RET_LABEL275
:(void)0;
2696 /* <var274:MType> isa MNullType */
2697 cltype278
= type_nit__MNullType
.color
;
2698 idtype279
= type_nit__MNullType
.id
;
2699 if(cltype278
>= var274
->type
->table_size
) {
2702 var277
= var274
->type
->type_table
[cltype278
] == idtype279
;
2706 if (var_res
== NULL
) {
2707 var281
= 1; /* is null */
2709 var281
= 0; /* arg is null but recv is not */
2712 { /* Inline kernel#Object#== (var_res,var280) on <var_res:nullable RuntimeVariable> */
2715 { /* Inline kernel#Object#is_same_instance (var_res,var_other) on <var_res:nullable RuntimeVariable(RuntimeVariable)> */
2716 var286
= var_res
== var_other
;
2719 RET_LABEL285
:(void)0;
2724 RET_LABEL283
:(void)0;
2730 var287
= nit___nit__AbstractCompilerVisitor___bool_type(self
);
2733 var288
= nit___nit__AbstractCompilerVisitor___new_var(self
, var287
);
2739 { /* Inline model#MProperty#name (var_mmethod) on <var_mmethod:MMethod> */
2740 var291
= var_mmethod
->attrs
[COLOR_nit__model__MProperty___name
].val
; /* _name on <var_mmethod:MMethod> */
2741 if (unlikely(var291
== NULL
)) {
2742 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2743 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1741);
2747 RET_LABEL290
:(void)0;
2751 var293
= varonce292
;
2755 var296
= standard___standard__NativeString___to_s_with_length(var294
, var295
);
2757 varonce292
= var293
;
2760 var297
= ((short int (*)(val
* self
, val
* p0
))(var289
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var289
, var293
) /* == on <var289:String>*/;
2764 var299
= varonce298
;
2766 var300
= " = 1; /* arg is null and recv is not */";
2768 var302
= standard___standard__NativeString___to_s_with_length(var300
, var301
);
2770 varonce298
= var299
;
2772 var303
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2773 { /* var303 = array_instance Array[Object] */
2775 var305
= NEW_standard__NativeArray(var304
, &type_standard__NativeArray__standard__Object
);
2776 ((struct instance_standard__NativeArray
*)var305
)->values
[0] = (val
*) var_res
;
2777 ((struct instance_standard__NativeArray
*)var305
)->values
[1] = (val
*) var299
;
2779 ((void (*)(val
* self
, val
* p0
, long p1
))(var303
->class->vft
[COLOR_standard__array__Array__with_native
]))(var303
, var305
, var304
) /* with_native on <var303:Array[Object]>*/;
2783 var306
= ((val
* (*)(val
* self
))(var303
->class->vft
[COLOR_standard__string__Object__to_s
]))(var303
) /* to_s on <var303:Array[Object]>*/;
2786 nit___nit__AbstractCompilerVisitor___add(self
, var306
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2790 var308
= varonce307
;
2792 var309
= " = 0; /* arg is null but recv is not */";
2794 var311
= standard___standard__NativeString___to_s_with_length(var309
, var310
);
2796 varonce307
= var308
;
2798 var312
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2799 { /* var312 = array_instance Array[Object] */
2801 var314
= NEW_standard__NativeArray(var313
, &type_standard__NativeArray__standard__Object
);
2802 ((struct instance_standard__NativeArray
*)var314
)->values
[0] = (val
*) var_res
;
2803 ((struct instance_standard__NativeArray
*)var314
)->values
[1] = (val
*) var308
;
2805 ((void (*)(val
* self
, val
* p0
, long p1
))(var312
->class->vft
[COLOR_standard__array__Array__with_native
]))(var312
, var314
, var313
) /* with_native on <var312:Array[Object]>*/;
2809 var315
= ((val
* (*)(val
* self
))(var312
->class->vft
[COLOR_standard__string__Object__to_s
]))(var312
) /* to_s on <var312:Array[Object]>*/;
2812 nit___nit__AbstractCompilerVisitor___add(self
, var315
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2816 var317
= varonce316
;
2820 var320
= standard___standard__NativeString___to_s_with_length(var318
, var319
);
2822 varonce316
= var317
;
2825 nit___nit__AbstractCompilerVisitor___add(self
, var317
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2828 var322
= varonce321
;
2830 var323
= "if (0) {";
2832 var325
= standard___standard__NativeString___to_s_with_length(var323
, var324
);
2834 varonce321
= var322
;
2837 nit___nit__AbstractCompilerVisitor___add(self
, var322
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2848 /* method separate_compiler#SeparateCompilerVisitor#table_send for (self: SeparateCompilerVisitor, MMethod, Array[RuntimeVariable], String): nullable RuntimeVariable */
2849 val
* nit___nit__SeparateCompilerVisitor___table_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2850 val
* var
/* : nullable RuntimeVariable */;
2851 val
* var_mmethod
/* var mmethod: MMethod */;
2852 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
2853 val
* var_const_color
/* var const_color: String */;
2854 val
* var1
/* : AbstractCompiler */;
2855 val
* var3
/* : AbstractCompiler */;
2856 val
* var4
/* : ModelBuilder */;
2857 val
* var6
/* : ModelBuilder */;
2858 val
* var_
/* var : ModelBuilder */;
2859 long var7
/* : Int */;
2860 long var9
/* : Int */;
2861 long var10
/* : Int */;
2862 long var11
/* : Int */;
2863 short int var13
/* : Bool */;
2866 const char* var_class_name
;
2867 long var14
/* : Int */;
2868 val
* var16
/* : AbstractCompiler */;
2869 val
* var18
/* : AbstractCompiler */;
2870 val
* var19
/* : ModelBuilder */;
2871 val
* var21
/* : ModelBuilder */;
2872 val
* var22
/* : ToolContext */;
2873 val
* var24
/* : ToolContext */;
2874 val
* var25
/* : OptionBool */;
2875 val
* var27
/* : OptionBool */;
2876 val
* var28
/* : nullable Object */;
2877 val
* var30
/* : nullable Object */;
2878 short int var31
/* : Bool */;
2879 static val
* varonce
;
2880 val
* var32
/* : String */;
2881 char* var33
/* : NativeString */;
2882 long var34
/* : Int */;
2883 val
* var35
/* : FlatString */;
2884 long var36
/* : Int */;
2885 long var38
/* : Int */;
2886 val
* var39
/* : MPropDef */;
2887 val
* var41
/* : MPropDef */;
2888 val
* var42
/* : nullable MSignature */;
2889 val
* var44
/* : nullable MSignature */;
2890 long var45
/* : Int */;
2891 long var46
/* : Int */;
2892 long var47
/* : Int */;
2893 short int var49
/* : Bool */;
2896 const char* var_class_name52
;
2897 long var53
/* : Int */;
2898 short int var54
/* : Bool */;
2899 short int var56
/* : Bool */;
2900 static val
* varonce57
;
2901 val
* var58
/* : String */;
2902 char* var59
/* : NativeString */;
2903 long var60
/* : Int */;
2904 val
* var61
/* : FlatString */;
2905 static val
* varonce62
;
2906 val
* var63
/* : String */;
2907 char* var64
/* : NativeString */;
2908 long var65
/* : Int */;
2909 val
* var66
/* : FlatString */;
2910 long var67
/* : Int */;
2911 long var69
/* : Int */;
2912 static val
* varonce70
;
2913 val
* var71
/* : String */;
2914 char* var72
/* : NativeString */;
2915 long var73
/* : Int */;
2916 val
* var74
/* : FlatString */;
2917 val
* var75
/* : Array[Object] */;
2918 long var76
/* : Int */;
2919 val
* var77
/* : NativeArray[Object] */;
2920 val
* var78
/* : Object */;
2921 val
* var79
/* : String */;
2922 val
* var80
/* : nullable Object */;
2923 val
* var_recv
/* var recv: RuntimeVariable */;
2924 val
* var81
/* : nullable RuntimeVariable */;
2925 val
* var_res0
/* var res0: nullable RuntimeVariable */;
2926 val
* var82
/* : MPropDef */;
2927 val
* var84
/* : MPropDef */;
2928 val
* var85
/* : SeparateRuntimeFunction */;
2929 val
* var_runtime_function
/* var runtime_function: SeparateRuntimeFunction */;
2930 val
* var86
/* : MSignature */;
2931 val
* var88
/* : MSignature */;
2932 val
* var_msignature
/* var msignature: MSignature */;
2933 val
* var89
/* : nullable MType */;
2934 val
* var91
/* : nullable MType */;
2935 val
* var_ret
/* var ret: nullable MType */;
2936 val
* var92
/* : null */;
2937 short int var93
/* : Bool */;
2938 short int var94
/* : Bool */;
2939 val
* var_other
/* var other: nullable Object */;
2940 short int var96
/* : Bool */;
2941 short int var98
/* : Bool */;
2942 val
* var99
/* : null */;
2943 val
* var_res
/* var res: nullable RuntimeVariable */;
2944 val
* var100
/* : RuntimeVariable */;
2945 val
* var101
/* : FlatBuffer */;
2946 val
* var_ss
/* var ss: FlatBuffer */;
2947 val
* var103
/* : Array[Object] */;
2948 long var104
/* : Int */;
2949 val
* var105
/* : NativeArray[Object] */;
2950 val
* var106
/* : String */;
2951 long var107
/* : Int */;
2952 long var_i
/* var i: Int */;
2953 long var108
/* : Int */;
2954 long var_109
/* var : Int */;
2955 short int var110
/* : Bool */;
2956 short int var112
/* : Bool */;
2959 const char* var_class_name115
;
2960 short int var116
/* : Bool */;
2961 long var117
/* : Int */;
2962 long var118
/* : Int */;
2963 short int var120
/* : Bool */;
2966 const char* var_class_name123
;
2967 long var124
/* : Int */;
2968 val
* var125
/* : nullable Object */;
2969 val
* var_a
/* var a: RuntimeVariable */;
2970 val
* var126
/* : Array[MParameter] */;
2971 val
* var128
/* : Array[MParameter] */;
2972 val
* var129
/* : nullable Object */;
2973 val
* var130
/* : MType */;
2974 val
* var132
/* : MType */;
2975 val
* var_t
/* var t: MType */;
2976 long var133
/* : Int */;
2977 long var135
/* : Int */;
2978 short int var136
/* : Bool */;
2979 short int var138
/* : Bool */;
2980 long var139
/* : Int */;
2981 long var140
/* : Int */;
2982 short int var142
/* : Bool */;
2985 const char* var_class_name145
;
2986 long var146
/* : Int */;
2987 val
* var147
/* : nullable Object */;
2988 val
* var148
/* : MType */;
2989 val
* var150
/* : MType */;
2990 val
* var151
/* : RuntimeVariable */;
2991 static val
* varonce152
;
2992 val
* var153
/* : String */;
2993 char* var154
/* : NativeString */;
2994 long var155
/* : Int */;
2995 val
* var156
/* : FlatString */;
2996 val
* var157
/* : Array[Object] */;
2997 long var158
/* : Int */;
2998 val
* var159
/* : NativeArray[Object] */;
2999 val
* var160
/* : String */;
3000 long var161
/* : Int */;
3001 long var162
/* : Int */;
3002 static val
* varonce163
;
3003 val
* var164
/* : String */;
3004 char* var165
/* : NativeString */;
3005 long var166
/* : Int */;
3006 val
* var167
/* : FlatString */;
3007 val
* var168
/* : String */;
3008 static val
* varonce169
;
3009 val
* var170
/* : String */;
3010 char* var171
/* : NativeString */;
3011 long var172
/* : Int */;
3012 val
* var173
/* : FlatString */;
3013 val
* var174
/* : String */;
3014 static val
* varonce175
;
3015 val
* var176
/* : String */;
3016 char* var177
/* : NativeString */;
3017 long var178
/* : Int */;
3018 val
* var179
/* : FlatString */;
3019 val
* var180
/* : nullable Object */;
3020 static val
* varonce181
;
3021 val
* var182
/* : String */;
3022 char* var183
/* : NativeString */;
3023 long var184
/* : Int */;
3024 val
* var185
/* : FlatString */;
3025 static val
* varonce186
;
3026 val
* var187
/* : String */;
3027 char* var188
/* : NativeString */;
3028 long var189
/* : Int */;
3029 val
* var190
/* : FlatString */;
3030 static val
* varonce191
;
3031 val
* var192
/* : String */;
3032 char* var193
/* : NativeString */;
3033 long var194
/* : Int */;
3034 val
* var195
/* : FlatString */;
3035 static val
* varonce196
;
3036 val
* var197
/* : String */;
3037 char* var198
/* : NativeString */;
3038 long var199
/* : Int */;
3039 val
* var200
/* : FlatString */;
3040 val
* var201
/* : nullable Object */;
3041 val
* var202
/* : String */;
3042 static val
* varonce203
;
3043 val
* var204
/* : String */;
3044 char* var205
/* : NativeString */;
3045 long var206
/* : Int */;
3046 val
* var207
/* : FlatString */;
3047 val
* var208
/* : Array[Object] */;
3048 long var209
/* : Int */;
3049 val
* var210
/* : NativeArray[Object] */;
3050 val
* var211
/* : String */;
3051 val
* var_call
/* var call: String */;
3052 val
* var212
/* : null */;
3053 short int var213
/* : Bool */;
3054 short int var214
/* : Bool */;
3055 val
* var_other216
/* var other: nullable Object */;
3056 short int var217
/* : Bool */;
3057 short int var218
/* : Bool */;
3058 static val
* varonce219
;
3059 val
* var220
/* : String */;
3060 char* var221
/* : NativeString */;
3061 long var222
/* : Int */;
3062 val
* var223
/* : FlatString */;
3063 static val
* varonce224
;
3064 val
* var225
/* : String */;
3065 char* var226
/* : NativeString */;
3066 long var227
/* : Int */;
3067 val
* var228
/* : FlatString */;
3068 val
* var229
/* : Array[Object] */;
3069 long var230
/* : Int */;
3070 val
* var231
/* : NativeArray[Object] */;
3071 val
* var232
/* : String */;
3072 static val
* varonce233
;
3073 val
* var234
/* : String */;
3074 char* var235
/* : NativeString */;
3075 long var236
/* : Int */;
3076 val
* var237
/* : FlatString */;
3077 val
* var238
/* : Array[Object] */;
3078 long var239
/* : Int */;
3079 val
* var240
/* : NativeArray[Object] */;
3080 val
* var241
/* : String */;
3081 val
* var242
/* : null */;
3082 short int var243
/* : Bool */;
3083 short int var244
/* : Bool */;
3084 short int var246
/* : Bool */;
3085 short int var247
/* : Bool */;
3086 val
* var248
/* : null */;
3087 short int var249
/* : Bool */;
3088 short int var250
/* : Bool */;
3089 short int var252
/* : Bool */;
3090 short int var253
/* : Bool */;
3091 static val
* varonce254
;
3092 val
* var255
/* : String */;
3093 char* var256
/* : NativeString */;
3094 long var257
/* : Int */;
3095 val
* var258
/* : FlatString */;
3098 var_const_color
= p2
;
3100 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
3101 var3
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
3102 if (unlikely(var3
== NULL
)) {
3103 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3104 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
3112 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var1) on <var1:AbstractCompiler(SeparateCompiler)> */
3113 var6
= var1
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var1:AbstractCompiler(SeparateCompiler)> */
3114 if (unlikely(var6
== NULL
)) {
3115 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3116 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
3125 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_tables (var_) on <var_:ModelBuilder> */
3126 var9
= var_
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_tables
].l
; /* _nb_invok_by_tables on <var_:ModelBuilder> */
3133 { /* Inline kernel#Int#+ (var7,var10) on <var7:Int> */
3134 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
3135 /* <var10:Int> isa OTHER */
3136 var13
= 1; /* easy <var10:Int> isa OTHER*/
3137 if (unlikely(!var13
)) {
3138 var_class_name
= type_standard__Int
.name
;
3139 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3140 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
3143 var14
= var7
+ var10
;
3146 RET_LABEL12
:(void)0;
3150 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_tables= (var_,var11) on <var_:ModelBuilder> */
3151 var_
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_tables
].l
= var11
; /* _nb_invok_by_tables on <var_:ModelBuilder> */
3152 RET_LABEL15
:(void)0;
3156 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
3157 var18
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
3158 if (unlikely(var18
== NULL
)) {
3159 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3160 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
3164 RET_LABEL17
:(void)0;
3168 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var16) on <var16:AbstractCompiler(SeparateCompiler)> */
3169 var21
= var16
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var16:AbstractCompiler(SeparateCompiler)> */
3170 if (unlikely(var21
== NULL
)) {
3171 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3172 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
3176 RET_LABEL20
:(void)0;
3180 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var19) on <var19:ModelBuilder> */
3181 var24
= var19
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var19:ModelBuilder> */
3182 if (unlikely(var24
== NULL
)) {
3183 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3184 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
3188 RET_LABEL23
:(void)0;
3192 { /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (var22) on <var22:ToolContext> */
3193 var27
= var22
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_invocation_metrics
].val
; /* _opt_invocation_metrics on <var22:ToolContext> */
3194 if (unlikely(var27
== NULL
)) {
3195 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
3196 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 61);
3200 RET_LABEL26
:(void)0;
3204 { /* Inline opts#Option#value (var25) on <var25:OptionBool> */
3205 var30
= var25
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var25:OptionBool> */
3207 RET_LABEL29
:(void)0;
3210 var31
= ((struct instance_standard__Bool
*)var28
)->value
; /* autounbox from nullable Object to Bool */;
3215 var33
= "count_invoke_by_tables++;";
3217 var35
= standard___standard__NativeString___to_s_with_length(var33
, var34
);
3222 nit___nit__AbstractCompilerVisitor___add(self
, var32
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
3227 { /* Inline array#AbstractArrayRead#length (var_arguments) on <var_arguments:Array[RuntimeVariable]> */
3228 var38
= var_arguments
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_arguments:Array[RuntimeVariable]> */
3230 RET_LABEL37
:(void)0;
3234 { /* Inline model#MProperty#intro (var_mmethod) on <var_mmethod:MMethod> */
3235 var41
= var_mmethod
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var_mmethod:MMethod> */
3236 if (unlikely(var41
== NULL
)) {
3237 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3238 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1773);
3242 RET_LABEL40
:(void)0;
3246 { /* Inline model#MMethodDef#msignature (var39) on <var39:MPropDef(MMethodDef)> */
3247 var44
= var39
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var39:MPropDef(MMethodDef)> */
3249 RET_LABEL43
:(void)0;
3252 if (var42
== NULL
) {
3253 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3254 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1178);
3257 var45
= nit___nit__MSignature___arity(var42
);
3261 { /* Inline kernel#Int#+ (var45,var46) on <var45:Int> */
3262 /* Covariant cast for argument 0 (i) <var46:Int> isa OTHER */
3263 /* <var46:Int> isa OTHER */
3264 var49
= 1; /* easy <var46:Int> isa OTHER*/
3265 if (unlikely(!var49
)) {
3266 var_class_name52
= type_standard__Int
.name
;
3267 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name52
);
3268 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
3271 var53
= var45
+ var46
;
3274 RET_LABEL48
:(void)0;
3278 { /* Inline kernel#Int#== (var36,var47) on <var36:Int> */
3279 var56
= var36
== var47
;
3282 RET_LABEL55
:(void)0;
3285 if (unlikely(!var54
)) {
3289 var59
= "Invalid arity for ";
3291 var61
= standard___standard__NativeString___to_s_with_length(var59
, var60
);
3300 var66
= standard___standard__NativeString___to_s_with_length(var64
, var65
);
3305 { /* Inline array#AbstractArrayRead#length (var_arguments) on <var_arguments:Array[RuntimeVariable]> */
3306 var69
= var_arguments
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_arguments:Array[RuntimeVariable]> */
3308 RET_LABEL68
:(void)0;
3314 var72
= " arguments given.";
3316 var74
= standard___standard__NativeString___to_s_with_length(var72
, var73
);
3320 var75
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3321 { /* var75 = array_instance Array[Object] */
3323 var77
= NEW_standard__NativeArray(var76
, &type_standard__NativeArray__standard__Object
);
3324 ((struct instance_standard__NativeArray
*)var77
)->values
[0] = (val
*) var58
;
3325 ((struct instance_standard__NativeArray
*)var77
)->values
[1] = (val
*) var_mmethod
;
3326 ((struct instance_standard__NativeArray
*)var77
)->values
[2] = (val
*) var63
;
3327 var78
= BOX_standard__Int(var67
); /* autobox from Int to Object */
3328 ((struct instance_standard__NativeArray
*)var77
)->values
[3] = (val
*) var78
;
3329 ((struct instance_standard__NativeArray
*)var77
)->values
[4] = (val
*) var71
;
3331 ((void (*)(val
* self
, val
* p0
, long p1
))(var75
->class->vft
[COLOR_standard__array__Array__with_native
]))(var75
, var77
, var76
) /* with_native on <var75:Array[Object]>*/;
3335 var79
= ((val
* (*)(val
* self
))(var75
->class->vft
[COLOR_standard__string__Object__to_s
]))(var75
) /* to_s on <var75:Array[Object]>*/;
3338 nit___nit__AbstractCompilerVisitor___debug(self
, var79
); /* Direct call abstract_compiler#AbstractCompilerVisitor#debug on <self:SeparateCompilerVisitor>*/
3340 PRINT_ERROR("Runtime error: %s", "Assert failed");
3341 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1178);
3345 var80
= standard___standard__SequenceRead___Collection__first(var_arguments
);
3349 var81
= nit___nit__SeparateCompilerVisitor___before_send(self
, var_mmethod
, var_arguments
);
3353 { /* Inline model#MProperty#intro (var_mmethod) on <var_mmethod:MMethod> */
3354 var84
= var_mmethod
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var_mmethod:MMethod> */
3355 if (unlikely(var84
== NULL
)) {
3356 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3357 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1773);
3361 RET_LABEL83
:(void)0;
3365 var85
= nit__separate_compiler___MMethodDef___virtual_runtime_function(var82
);
3367 var_runtime_function
= var85
;
3369 { /* Inline separate_compiler#SeparateRuntimeFunction#called_signature (var_runtime_function) on <var_runtime_function:SeparateRuntimeFunction> */
3370 var88
= var_runtime_function
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___called_signature
].val
; /* _called_signature on <var_runtime_function:SeparateRuntimeFunction> */
3371 if (unlikely(var88
== NULL
)) {
3372 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _called_signature");
3373 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1848);
3377 RET_LABEL87
:(void)0;
3380 var_msignature
= var86
;
3382 { /* Inline model#MSignature#return_mtype (var_msignature) on <var_msignature:MSignature> */
3383 var91
= var_msignature
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var_msignature:MSignature> */
3385 RET_LABEL90
:(void)0;
3390 if (var_ret
== NULL
) {
3391 var93
= 1; /* is null */
3393 var93
= 0; /* arg is null but recv is not */
3396 { /* Inline kernel#Object#== (var_ret,var92) on <var_ret:nullable MType> */
3399 { /* Inline kernel#Object#is_same_instance (var_ret,var_other) on <var_ret:nullable MType(MType)> */
3400 var98
= var_ret
== var_other
;
3403 RET_LABEL97
:(void)0;
3408 RET_LABEL95
:(void)0;
3417 var100
= nit___nit__AbstractCompilerVisitor___new_var(self
, var_ret
);
3421 var101
= NEW_standard__FlatBuffer(&type_standard__FlatBuffer
);
3423 { /* Inline string#FlatBuffer#init (var101) on <var101:FlatBuffer> */
3425 ((void (*)(val
* self
))(var101
->class->vft
[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init
]))(var101
) /* init on <var101:FlatBuffer>*/;
3427 RET_LABEL102
:(void)0;
3431 var103
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3432 { /* var103 = array_instance Array[Object] */
3434 var105
= NEW_standard__NativeArray(var104
, &type_standard__NativeArray__standard__Object
);
3435 ((struct instance_standard__NativeArray
*)var105
)->values
[0] = (val
*) var_recv
;
3437 ((void (*)(val
* self
, val
* p0
, long p1
))(var103
->class->vft
[COLOR_standard__array__Array__with_native
]))(var103
, var105
, var104
) /* with_native on <var103:Array[Object]>*/;
3441 var106
= ((val
* (*)(val
* self
))(var103
->class->vft
[COLOR_standard__string__Object__to_s
]))(var103
) /* to_s on <var103:Array[Object]>*/;
3444 standard___standard__FlatBuffer___Buffer__append(var_ss
, var106
); /* Direct call string#FlatBuffer#append on <var_ss:FlatBuffer>*/
3449 var108
= nit___nit__MSignature___arity(var_msignature
);
3454 { /* Inline kernel#Int#< (var_i,var_109) on <var_i:Int> */
3455 /* Covariant cast for argument 0 (i) <var_109:Int> isa OTHER */
3456 /* <var_109:Int> isa OTHER */
3457 var112
= 1; /* easy <var_109:Int> isa OTHER*/
3458 if (unlikely(!var112
)) {
3459 var_class_name115
= type_standard__Int
.name
;
3460 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name115
);
3461 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
3464 var116
= var_i
< var_109
;
3467 RET_LABEL111
:(void)0;
3473 { /* Inline kernel#Int#+ (var_i,var117) on <var_i:Int> */
3474 /* Covariant cast for argument 0 (i) <var117:Int> isa OTHER */
3475 /* <var117:Int> isa OTHER */
3476 var120
= 1; /* easy <var117:Int> isa OTHER*/
3477 if (unlikely(!var120
)) {
3478 var_class_name123
= type_standard__Int
.name
;
3479 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name123
);
3480 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
3483 var124
= var_i
+ var117
;
3486 RET_LABEL119
:(void)0;
3490 var125
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments
, var118
);
3494 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:MSignature> */
3495 var128
= var_msignature
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
3496 if (unlikely(var128
== NULL
)) {
3497 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
3498 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1592);
3502 RET_LABEL127
:(void)0;
3506 var129
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var126
, var_i
);
3509 { /* Inline model#MParameter#mtype (var129) on <var129:nullable Object(MParameter)> */
3510 var132
= var129
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var129:nullable Object(MParameter)> */
3511 if (unlikely(var132
== NULL
)) {
3512 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3513 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1690);
3517 RET_LABEL131
:(void)0;
3522 { /* Inline model#MSignature#vararg_rank (var_msignature) on <var_msignature:MSignature> */
3523 var135
= var_msignature
->attrs
[COLOR_nit__model__MSignature___vararg_rank
].l
; /* _vararg_rank on <var_msignature:MSignature> */
3525 RET_LABEL134
:(void)0;
3529 { /* Inline kernel#Int#== (var_i,var133) on <var_i:Int> */
3530 var138
= var_i
== var133
;
3533 RET_LABEL137
:(void)0;
3539 { /* Inline kernel#Int#+ (var_i,var139) on <var_i:Int> */
3540 /* Covariant cast for argument 0 (i) <var139:Int> isa OTHER */
3541 /* <var139:Int> isa OTHER */
3542 var142
= 1; /* easy <var139:Int> isa OTHER*/
3543 if (unlikely(!var142
)) {
3544 var_class_name145
= type_standard__Int
.name
;
3545 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name145
);
3546 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
3549 var146
= var_i
+ var139
;
3552 RET_LABEL141
:(void)0;
3556 var147
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments
, var140
);
3559 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var147) on <var147:nullable Object(RuntimeVariable)> */
3560 var150
= var147
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var147:nullable Object(RuntimeVariable)> */
3561 if (unlikely(var150
== NULL
)) {
3562 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
3563 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1683);
3567 RET_LABEL149
:(void)0;
3574 var151
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__autobox(self
, var_a
, var_t
);
3578 var153
= varonce152
;
3582 var156
= standard___standard__NativeString___to_s_with_length(var154
, var155
);
3584 varonce152
= var153
;
3586 var157
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3587 { /* var157 = array_instance Array[Object] */
3589 var159
= NEW_standard__NativeArray(var158
, &type_standard__NativeArray__standard__Object
);
3590 ((struct instance_standard__NativeArray
*)var159
)->values
[0] = (val
*) var153
;
3591 ((struct instance_standard__NativeArray
*)var159
)->values
[1] = (val
*) var_a
;
3593 ((void (*)(val
* self
, val
* p0
, long p1
))(var157
->class->vft
[COLOR_standard__array__Array__with_native
]))(var157
, var159
, var158
) /* with_native on <var157:Array[Object]>*/;
3597 var160
= ((val
* (*)(val
* self
))(var157
->class->vft
[COLOR_standard__string__Object__to_s
]))(var157
) /* to_s on <var157:Array[Object]>*/;
3600 standard___standard__FlatBuffer___Buffer__append(var_ss
, var160
); /* Direct call string#FlatBuffer#append on <var_ss:FlatBuffer>*/
3604 var162
= standard___standard__Int___Discrete__successor(var_i
, var161
);
3611 BREAK_label
: (void)0;
3613 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var_const_color
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
3616 var164
= varonce163
;
3620 var167
= standard___standard__NativeString___to_s_with_length(var165
, var166
);
3622 varonce163
= var164
;
3625 var168
= nit___nit__SeparateRuntimeFunction___c_ret(var_runtime_function
);
3628 var170
= varonce169
;
3632 var173
= standard___standard__NativeString___to_s_with_length(var171
, var172
);
3634 varonce169
= var170
;
3637 var174
= nit___nit__SeparateRuntimeFunction___c_sig(var_runtime_function
);
3640 var176
= varonce175
;
3644 var179
= standard___standard__NativeString___to_s_with_length(var177
, var178
);
3646 varonce175
= var176
;
3649 var180
= standard___standard__SequenceRead___Collection__first(var_arguments
);
3652 var182
= varonce181
;
3654 var183
= "->class->vft[";
3656 var185
= standard___standard__NativeString___to_s_with_length(var183
, var184
);
3658 varonce181
= var182
;
3661 var187
= varonce186
;
3665 var190
= standard___standard__NativeString___to_s_with_length(var188
, var189
);
3667 varonce186
= var187
;
3670 var192
= varonce191
;
3674 var195
= standard___standard__NativeString___to_s_with_length(var193
, var194
);
3676 varonce191
= var192
;
3679 var197
= varonce196
;
3683 var200
= standard___standard__NativeString___to_s_with_length(var198
, var199
);
3685 varonce196
= var197
;
3688 var201
= standard___standard__SequenceRead___Collection__first(var_arguments
);
3691 var202
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var201
);
3694 var204
= varonce203
;
3698 var207
= standard___standard__NativeString___to_s_with_length(var205
, var206
);
3700 varonce203
= var204
;
3702 var208
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3703 { /* var208 = array_instance Array[Object] */
3705 var210
= NEW_standard__NativeArray(var209
, &type_standard__NativeArray__standard__Object
);
3706 ((struct instance_standard__NativeArray
*)var210
)->values
[0] = (val
*) var164
;
3707 ((struct instance_standard__NativeArray
*)var210
)->values
[1] = (val
*) var168
;
3708 ((struct instance_standard__NativeArray
*)var210
)->values
[2] = (val
*) var170
;
3709 ((struct instance_standard__NativeArray
*)var210
)->values
[3] = (val
*) var174
;
3710 ((struct instance_standard__NativeArray
*)var210
)->values
[4] = (val
*) var176
;
3711 ((struct instance_standard__NativeArray
*)var210
)->values
[5] = (val
*) var180
;
3712 ((struct instance_standard__NativeArray
*)var210
)->values
[6] = (val
*) var182
;
3713 ((struct instance_standard__NativeArray
*)var210
)->values
[7] = (val
*) var_const_color
;
3714 ((struct instance_standard__NativeArray
*)var210
)->values
[8] = (val
*) var187
;
3715 ((struct instance_standard__NativeArray
*)var210
)->values
[9] = (val
*) var_ss
;
3716 ((struct instance_standard__NativeArray
*)var210
)->values
[10] = (val
*) var192
;
3717 ((struct instance_standard__NativeArray
*)var210
)->values
[11] = (val
*) var_mmethod
;
3718 ((struct instance_standard__NativeArray
*)var210
)->values
[12] = (val
*) var197
;
3719 ((struct instance_standard__NativeArray
*)var210
)->values
[13] = (val
*) var202
;
3720 ((struct instance_standard__NativeArray
*)var210
)->values
[14] = (val
*) var204
;
3722 ((void (*)(val
* self
, val
* p0
, long p1
))(var208
->class->vft
[COLOR_standard__array__Array__with_native
]))(var208
, var210
, var209
) /* with_native on <var208:Array[Object]>*/;
3726 var211
= ((val
* (*)(val
* self
))(var208
->class->vft
[COLOR_standard__string__Object__to_s
]))(var208
) /* to_s on <var208:Array[Object]>*/;
3730 if (var_res
== NULL
) {
3731 var213
= 0; /* is null */
3733 var213
= 1; /* arg is null and recv is not */
3736 { /* Inline kernel#Object#!= (var_res,var212) on <var_res:nullable RuntimeVariable> */
3737 var_other216
= var212
;
3739 var217
= ((short int (*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res
, var_other216
) /* == on <var_res:nullable RuntimeVariable(RuntimeVariable)>*/;
3744 RET_LABEL215
:(void)0;
3750 var220
= varonce219
;
3754 var223
= standard___standard__NativeString___to_s_with_length(var221
, var222
);
3756 varonce219
= var220
;
3759 var225
= varonce224
;
3763 var228
= standard___standard__NativeString___to_s_with_length(var226
, var227
);
3765 varonce224
= var225
;
3767 var229
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3768 { /* var229 = array_instance Array[Object] */
3770 var231
= NEW_standard__NativeArray(var230
, &type_standard__NativeArray__standard__Object
);
3771 ((struct instance_standard__NativeArray
*)var231
)->values
[0] = (val
*) var_res
;
3772 ((struct instance_standard__NativeArray
*)var231
)->values
[1] = (val
*) var220
;
3773 ((struct instance_standard__NativeArray
*)var231
)->values
[2] = (val
*) var_call
;
3774 ((struct instance_standard__NativeArray
*)var231
)->values
[3] = (val
*) var225
;
3776 ((void (*)(val
* self
, val
* p0
, long p1
))(var229
->class->vft
[COLOR_standard__array__Array__with_native
]))(var229
, var231
, var230
) /* with_native on <var229:Array[Object]>*/;
3780 var232
= ((val
* (*)(val
* self
))(var229
->class->vft
[COLOR_standard__string__Object__to_s
]))(var229
) /* to_s on <var229:Array[Object]>*/;
3783 nit___nit__AbstractCompilerVisitor___add(self
, var232
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
3787 var234
= varonce233
;
3791 var237
= standard___standard__NativeString___to_s_with_length(var235
, var236
);
3793 varonce233
= var234
;
3795 var238
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3796 { /* var238 = array_instance Array[Object] */
3798 var240
= NEW_standard__NativeArray(var239
, &type_standard__NativeArray__standard__Object
);
3799 ((struct instance_standard__NativeArray
*)var240
)->values
[0] = (val
*) var_call
;
3800 ((struct instance_standard__NativeArray
*)var240
)->values
[1] = (val
*) var234
;
3802 ((void (*)(val
* self
, val
* p0
, long p1
))(var238
->class->vft
[COLOR_standard__array__Array__with_native
]))(var238
, var240
, var239
) /* with_native on <var238:Array[Object]>*/;
3806 var241
= ((val
* (*)(val
* self
))(var238
->class->vft
[COLOR_standard__string__Object__to_s
]))(var238
) /* to_s on <var238:Array[Object]>*/;
3809 nit___nit__AbstractCompilerVisitor___add(self
, var241
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
3813 if (var_res0
== NULL
) {
3814 var243
= 0; /* is null */
3816 var243
= 1; /* arg is null and recv is not */
3819 { /* Inline kernel#Object#!= (var_res0,var242) on <var_res0:nullable RuntimeVariable> */
3820 var_other216
= var242
;
3822 var246
= ((short int (*)(val
* self
, val
* p0
))(var_res0
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res0
, var_other216
) /* == on <var_res0:nullable RuntimeVariable(RuntimeVariable)>*/;
3827 RET_LABEL245
:(void)0;
3833 if (var_res
== NULL
) {
3834 var249
= 0; /* is null */
3836 var249
= 1; /* arg is null and recv is not */
3839 { /* Inline kernel#Object#!= (var_res,var248) on <var_res:nullable RuntimeVariable> */
3840 var_other216
= var248
;
3842 var252
= ((short int (*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res
, var_other216
) /* == on <var_res:nullable RuntimeVariable(RuntimeVariable)>*/;
3847 RET_LABEL251
:(void)0;
3851 if (unlikely(!var249
)) {
3852 PRINT_ERROR("Runtime error: %s", "Assert failed");
3853 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1217);
3857 nit___nit__AbstractCompilerVisitor___assign(self
, var_res0
, var_res
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <self:SeparateCompilerVisitor>*/
3863 var255
= varonce254
;
3867 var258
= standard___standard__NativeString___to_s_with_length(var256
, var257
);
3869 varonce254
= var255
;
3872 nit___nit__AbstractCompilerVisitor___add(self
, var255
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
3879 /* method separate_compiler#SeparateCompilerVisitor#call for (self: SeparateCompilerVisitor, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
3880 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3881 val
* var
/* : nullable RuntimeVariable */;
3882 val
* var_mmethoddef
/* var mmethoddef: MMethodDef */;
3883 val
* var_recvtype
/* var recvtype: MClassType */;
3884 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
3885 long var1
/* : Int */;
3886 long var3
/* : Int */;
3887 val
* var4
/* : nullable MSignature */;
3888 val
* var6
/* : nullable MSignature */;
3889 long var7
/* : Int */;
3890 long var8
/* : Int */;
3891 long var9
/* : Int */;
3892 short int var11
/* : Bool */;
3895 const char* var_class_name
;
3896 long var12
/* : Int */;
3897 short int var13
/* : Bool */;
3898 short int var15
/* : Bool */;
3899 static val
* varonce
;
3900 val
* var16
/* : String */;
3901 char* var17
/* : NativeString */;
3902 long var18
/* : Int */;
3903 val
* var19
/* : FlatString */;
3904 static val
* varonce20
;
3905 val
* var21
/* : String */;
3906 char* var22
/* : NativeString */;
3907 long var23
/* : Int */;
3908 val
* var24
/* : FlatString */;
3909 long var25
/* : Int */;
3910 long var27
/* : Int */;
3911 static val
* varonce28
;
3912 val
* var29
/* : String */;
3913 char* var30
/* : NativeString */;
3914 long var31
/* : Int */;
3915 val
* var32
/* : FlatString */;
3916 val
* var33
/* : Array[Object] */;
3917 long var34
/* : Int */;
3918 val
* var35
/* : NativeArray[Object] */;
3919 val
* var36
/* : Object */;
3920 val
* var37
/* : String */;
3921 val
* var38
/* : nullable MSignature */;
3922 val
* var40
/* : nullable MSignature */;
3923 val
* var41
/* : nullable MType */;
3924 val
* var43
/* : nullable MType */;
3925 val
* var_ret
/* var ret: nullable MType */;
3926 val
* var44
/* : null */;
3927 short int var45
/* : Bool */;
3928 short int var46
/* : Bool */;
3929 val
* var_other
/* var other: nullable Object */;
3930 short int var48
/* : Bool */;
3931 short int var50
/* : Bool */;
3932 val
* var51
/* : null */;
3933 val
* var_res
/* var res: nullable RuntimeVariable */;
3934 val
* var52
/* : MClassDef */;
3935 val
* var54
/* : MClassDef */;
3936 val
* var55
/* : MClassType */;
3937 val
* var57
/* : MClassType */;
3938 val
* var58
/* : MClassDef */;
3939 val
* var60
/* : MClassDef */;
3940 val
* var61
/* : MClassType */;
3941 val
* var63
/* : MClassType */;
3942 val
* var64
/* : MClassDef */;
3943 val
* var66
/* : MClassDef */;
3944 val
* var67
/* : MModule */;
3945 val
* var69
/* : MModule */;
3946 short int var70
/* : Bool */;
3947 val
* var71
/* : MType */;
3948 val
* var72
/* : RuntimeVariable */;
3949 short int var73
/* : Bool */;
3950 short int var74
/* : Bool */;
3951 short int var75
/* : Bool */;
3952 short int var77
/* : Bool */;
3953 short int var_
/* var : Bool */;
3954 val
* var78
/* : AbstractCompiler */;
3955 val
* var80
/* : AbstractCompiler */;
3956 val
* var81
/* : ModelBuilder */;
3957 val
* var83
/* : ModelBuilder */;
3958 val
* var84
/* : ToolContext */;
3959 val
* var86
/* : ToolContext */;
3960 val
* var87
/* : OptionBool */;
3961 val
* var89
/* : OptionBool */;
3962 val
* var90
/* : nullable Object */;
3963 val
* var92
/* : nullable Object */;
3964 short int var93
/* : Bool */;
3965 short int var94
/* : Bool */;
3966 short int var_95
/* var : Bool */;
3967 short int var96
/* : Bool */;
3968 val
* var97
/* : AbstractCompiler */;
3969 val
* var99
/* : AbstractCompiler */;
3970 val
* var100
/* : ModelBuilder */;
3971 val
* var102
/* : ModelBuilder */;
3972 val
* var103
/* : ToolContext */;
3973 val
* var105
/* : ToolContext */;
3974 val
* var106
/* : OptionBool */;
3975 val
* var108
/* : OptionBool */;
3976 val
* var109
/* : nullable Object */;
3977 val
* var111
/* : nullable Object */;
3978 short int var112
/* : Bool */;
3979 short int var_113
/* var : Bool */;
3980 short int var114
/* : Bool */;
3981 val
* var115
/* : AbstractCompiler */;
3982 val
* var117
/* : AbstractCompiler */;
3983 val
* var118
/* : ModelBuilder */;
3984 val
* var120
/* : ModelBuilder */;
3985 val
* var_121
/* var : ModelBuilder */;
3986 long var122
/* : Int */;
3987 long var124
/* : Int */;
3988 long var125
/* : Int */;
3989 long var126
/* : Int */;
3990 short int var128
/* : Bool */;
3993 const char* var_class_name131
;
3994 long var132
/* : Int */;
3995 val
* var134
/* : AbstractCompiler */;
3996 val
* var136
/* : AbstractCompiler */;
3997 val
* var137
/* : ModelBuilder */;
3998 val
* var139
/* : ModelBuilder */;
3999 val
* var140
/* : ToolContext */;
4000 val
* var142
/* : ToolContext */;
4001 val
* var143
/* : OptionBool */;
4002 val
* var145
/* : OptionBool */;
4003 val
* var146
/* : nullable Object */;
4004 val
* var148
/* : nullable Object */;
4005 short int var149
/* : Bool */;
4006 static val
* varonce150
;
4007 val
* var151
/* : String */;
4008 char* var152
/* : NativeString */;
4009 long var153
/* : Int */;
4010 val
* var154
/* : FlatString */;
4011 val
* var155
/* : StaticFrame */;
4012 val
* var_frame
/* var frame: StaticFrame */;
4013 static val
* varonce156
;
4014 val
* var157
/* : String */;
4015 char* var158
/* : NativeString */;
4016 long var159
/* : Int */;
4017 val
* var160
/* : FlatString */;
4018 val
* var161
/* : String */;
4019 val
* var164
/* : nullable StaticFrame */;
4020 val
* var166
/* : nullable StaticFrame */;
4021 val
* var_old_frame
/* var old_frame: nullable StaticFrame */;
4022 static val
* varonce168
;
4023 val
* var169
/* : String */;
4024 char* var170
/* : NativeString */;
4025 long var171
/* : Int */;
4026 val
* var172
/* : FlatString */;
4027 static val
* varonce173
;
4028 val
* var174
/* : String */;
4029 char* var175
/* : NativeString */;
4030 long var176
/* : Int */;
4031 val
* var177
/* : FlatString */;
4032 static val
* varonce178
;
4033 val
* var179
/* : String */;
4034 char* var180
/* : NativeString */;
4035 long var181
/* : Int */;
4036 val
* var182
/* : FlatString */;
4037 val
* var183
/* : String */;
4038 static val
* varonce184
;
4039 val
* var185
/* : String */;
4040 char* var186
/* : NativeString */;
4041 long var187
/* : Int */;
4042 val
* var188
/* : FlatString */;
4043 val
* var189
/* : nullable Object */;
4044 val
* var190
/* : String */;
4045 static val
* varonce191
;
4046 val
* var192
/* : String */;
4047 char* var193
/* : NativeString */;
4048 long var194
/* : Int */;
4049 val
* var195
/* : FlatString */;
4050 val
* var196
/* : Array[Object] */;
4051 long var197
/* : Int */;
4052 val
* var198
/* : NativeArray[Object] */;
4053 val
* var199
/* : String */;
4054 val
* var200
/* : nullable RuntimeVariable */;
4055 val
* var201
/* : nullable String */;
4056 val
* var203
/* : nullable String */;
4057 static val
* varonce204
;
4058 val
* var205
/* : String */;
4059 char* var206
/* : NativeString */;
4060 long var207
/* : Int */;
4061 val
* var208
/* : FlatString */;
4062 val
* var209
/* : Array[Object] */;
4063 long var210
/* : Int */;
4064 val
* var211
/* : NativeArray[Object] */;
4065 val
* var212
/* : String */;
4066 static val
* varonce213
;
4067 val
* var214
/* : String */;
4068 char* var215
/* : NativeString */;
4069 long var216
/* : Int */;
4070 val
* var217
/* : FlatString */;
4071 val
* var219
/* : AbstractCompiler */;
4072 val
* var221
/* : AbstractCompiler */;
4073 val
* var222
/* : ModelBuilder */;
4074 val
* var224
/* : ModelBuilder */;
4075 val
* var_225
/* var : ModelBuilder */;
4076 long var226
/* : Int */;
4077 long var228
/* : Int */;
4078 long var229
/* : Int */;
4079 long var230
/* : Int */;
4080 short int var232
/* : Bool */;
4083 const char* var_class_name235
;
4084 long var236
/* : Int */;
4085 val
* var238
/* : AbstractCompiler */;
4086 val
* var240
/* : AbstractCompiler */;
4087 val
* var241
/* : ModelBuilder */;
4088 val
* var243
/* : ModelBuilder */;
4089 val
* var244
/* : ToolContext */;
4090 val
* var246
/* : ToolContext */;
4091 val
* var247
/* : OptionBool */;
4092 val
* var249
/* : OptionBool */;
4093 val
* var250
/* : nullable Object */;
4094 val
* var252
/* : nullable Object */;
4095 short int var253
/* : Bool */;
4096 static val
* varonce254
;
4097 val
* var255
/* : String */;
4098 char* var256
/* : NativeString */;
4099 long var257
/* : Int */;
4100 val
* var258
/* : FlatString */;
4101 val
* var259
/* : String */;
4102 val
* var260
/* : null */;
4103 short int var261
/* : Bool */;
4104 short int var262
/* : Bool */;
4105 short int var264
/* : Bool */;
4106 short int var266
/* : Bool */;
4107 val
* var267
/* : String */;
4108 static val
* varonce268
;
4109 val
* var269
/* : String */;
4110 char* var270
/* : NativeString */;
4111 long var271
/* : Int */;
4112 val
* var272
/* : FlatString */;
4113 static val
* varonce273
;
4114 val
* var274
/* : String */;
4115 char* var275
/* : NativeString */;
4116 long var276
/* : Int */;
4117 val
* var277
/* : FlatString */;
4118 val
* var278
/* : String */;
4119 static val
* varonce279
;
4120 val
* var280
/* : String */;
4121 char* var281
/* : NativeString */;
4122 long var282
/* : Int */;
4123 val
* var283
/* : FlatString */;
4124 static val
* varonce284
;
4125 val
* var285
/* : String */;
4126 char* var286
/* : NativeString */;
4127 long var287
/* : Int */;
4128 val
* var288
/* : FlatString */;
4129 val
* var289
/* : nullable Object */;
4130 val
* var290
/* : String */;
4131 static val
* varonce291
;
4132 val
* var292
/* : String */;
4133 char* var293
/* : NativeString */;
4134 long var294
/* : Int */;
4135 val
* var295
/* : FlatString */;
4136 val
* var296
/* : Array[Object] */;
4137 long var297
/* : Int */;
4138 val
* var298
/* : NativeArray[Object] */;
4139 val
* var299
/* : String */;
4140 val
* var300
/* : null */;
4141 static val
* varonce301
;
4142 val
* var302
/* : String */;
4143 char* var303
/* : NativeString */;
4144 long var304
/* : Int */;
4145 val
* var305
/* : FlatString */;
4146 val
* var306
/* : String */;
4147 static val
* varonce307
;
4148 val
* var308
/* : String */;
4149 char* var309
/* : NativeString */;
4150 long var310
/* : Int */;
4151 val
* var311
/* : FlatString */;
4152 static val
* varonce312
;
4153 val
* var313
/* : String */;
4154 char* var314
/* : NativeString */;
4155 long var315
/* : Int */;
4156 val
* var316
/* : FlatString */;
4157 val
* var317
/* : String */;
4158 static val
* varonce318
;
4159 val
* var319
/* : String */;
4160 char* var320
/* : NativeString */;
4161 long var321
/* : Int */;
4162 val
* var322
/* : FlatString */;
4163 val
* var323
/* : Array[Object] */;
4164 long var324
/* : Int */;
4165 val
* var325
/* : NativeArray[Object] */;
4166 val
* var326
/* : String */;
4167 var_mmethoddef
= p0
;
4171 { /* Inline array#AbstractArrayRead#length (var_arguments) on <var_arguments:Array[RuntimeVariable]> */
4172 var3
= var_arguments
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_arguments:Array[RuntimeVariable]> */
4178 { /* Inline model#MMethodDef#msignature (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
4179 var6
= var_mmethoddef
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var_mmethoddef:MMethodDef> */
4185 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4186 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1229);
4189 var7
= nit___nit__MSignature___arity(var4
);
4193 { /* Inline kernel#Int#+ (var7,var8) on <var7:Int> */
4194 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
4195 /* <var8:Int> isa OTHER */
4196 var11
= 1; /* easy <var8:Int> isa OTHER*/
4197 if (unlikely(!var11
)) {
4198 var_class_name
= type_standard__Int
.name
;
4199 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4200 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
4203 var12
= var7
+ var8
;
4206 RET_LABEL10
:(void)0;
4210 { /* Inline kernel#Int#== (var1,var9) on <var1:Int> */
4211 var15
= var1
== var9
;
4214 RET_LABEL14
:(void)0;
4217 if (unlikely(!var13
)) {
4221 var17
= "Invalid arity for ";
4223 var19
= standard___standard__NativeString___to_s_with_length(var17
, var18
);
4232 var24
= standard___standard__NativeString___to_s_with_length(var22
, var23
);
4237 { /* Inline array#AbstractArrayRead#length (var_arguments) on <var_arguments:Array[RuntimeVariable]> */
4238 var27
= var_arguments
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_arguments:Array[RuntimeVariable]> */
4240 RET_LABEL26
:(void)0;
4246 var30
= " arguments given.";
4248 var32
= standard___standard__NativeString___to_s_with_length(var30
, var31
);
4252 var33
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4253 { /* var33 = array_instance Array[Object] */
4255 var35
= NEW_standard__NativeArray(var34
, &type_standard__NativeArray__standard__Object
);
4256 ((struct instance_standard__NativeArray
*)var35
)->values
[0] = (val
*) var16
;
4257 ((struct instance_standard__NativeArray
*)var35
)->values
[1] = (val
*) var_mmethoddef
;
4258 ((struct instance_standard__NativeArray
*)var35
)->values
[2] = (val
*) var21
;
4259 var36
= BOX_standard__Int(var25
); /* autobox from Int to Object */
4260 ((struct instance_standard__NativeArray
*)var35
)->values
[3] = (val
*) var36
;
4261 ((struct instance_standard__NativeArray
*)var35
)->values
[4] = (val
*) var29
;
4263 ((void (*)(val
* self
, val
* p0
, long p1
))(var33
->class->vft
[COLOR_standard__array__Array__with_native
]))(var33
, var35
, var34
) /* with_native on <var33:Array[Object]>*/;
4267 var37
= ((val
* (*)(val
* self
))(var33
->class->vft
[COLOR_standard__string__Object__to_s
]))(var33
) /* to_s on <var33:Array[Object]>*/;
4270 nit___nit__AbstractCompilerVisitor___debug(self
, var37
); /* Direct call abstract_compiler#AbstractCompilerVisitor#debug on <self:SeparateCompilerVisitor>*/
4272 PRINT_ERROR("Runtime error: %s", "Assert failed");
4273 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1229);
4277 { /* Inline model#MMethodDef#msignature (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
4278 var40
= var_mmethoddef
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var_mmethoddef:MMethodDef> */
4280 RET_LABEL39
:(void)0;
4283 if (var38
== NULL
) {
4284 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4285 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1232);
4288 { /* Inline model#MSignature#return_mtype (var38) on <var38:nullable MSignature> */
4289 if (unlikely(var38
== NULL
)) {
4290 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4291 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1595);
4294 var43
= var38
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var38:nullable MSignature> */
4296 RET_LABEL42
:(void)0;
4301 if (var_ret
== NULL
) {
4302 var45
= 1; /* is null */
4304 var45
= 0; /* arg is null but recv is not */
4307 { /* Inline kernel#Object#== (var_ret,var44) on <var_ret:nullable MType> */
4310 { /* Inline kernel#Object#is_same_instance (var_ret,var_other) on <var_ret:nullable MType(MType)> */
4311 var50
= var_ret
== var_other
;
4314 RET_LABEL49
:(void)0;
4319 RET_LABEL47
:(void)0;
4328 { /* Inline model#MPropDef#mclassdef (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
4329 var54
= var_mmethoddef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mmethoddef:MMethodDef> */
4330 if (unlikely(var54
== NULL
)) {
4331 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
4332 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
4336 RET_LABEL53
:(void)0;
4340 { /* Inline model#MClassDef#bound_mtype (var52) on <var52:MClassDef> */
4341 var57
= var52
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var52:MClassDef> */
4342 if (unlikely(var57
== NULL
)) {
4343 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
4344 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
4348 RET_LABEL56
:(void)0;
4352 { /* Inline model#MPropDef#mclassdef (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
4353 var60
= var_mmethoddef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mmethoddef:MMethodDef> */
4354 if (unlikely(var60
== NULL
)) {
4355 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
4356 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
4360 RET_LABEL59
:(void)0;
4364 { /* Inline model#MClassDef#bound_mtype (var58) on <var58:MClassDef> */
4365 var63
= var58
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var58:MClassDef> */
4366 if (unlikely(var63
== NULL
)) {
4367 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
4368 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
4372 RET_LABEL62
:(void)0;
4376 { /* Inline model#MPropDef#mclassdef (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
4377 var66
= var_mmethoddef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mmethoddef:MMethodDef> */
4378 if (unlikely(var66
== NULL
)) {
4379 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
4380 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
4384 RET_LABEL65
:(void)0;
4388 { /* Inline model#MClassDef#mmodule (var64) on <var64:MClassDef> */
4389 var69
= var64
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var64:MClassDef> */
4390 if (unlikely(var69
== NULL
)) {
4391 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4392 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
4396 RET_LABEL68
:(void)0;
4401 var71
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(var_ret
->class->vft
[COLOR_nit__model__MType__resolve_for
]))(var_ret
, var55
, var61
, var67
, var70
) /* resolve_for on <var_ret:nullable MType(MType)>*/;
4405 var72
= nit___nit__AbstractCompilerVisitor___new_var(self
, var_ret
);
4410 { /* Inline model#MMethodDef#is_intern (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
4411 var77
= var_mmethoddef
->attrs
[COLOR_nit__model__MMethodDef___is_intern
].s
; /* _is_intern on <var_mmethoddef:MMethodDef> */
4413 RET_LABEL76
:(void)0;
4419 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
4420 var80
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
4421 if (unlikely(var80
== NULL
)) {
4422 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4423 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
4427 RET_LABEL79
:(void)0;
4431 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var78) on <var78:AbstractCompiler(SeparateCompiler)> */
4432 var83
= var78
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var78:AbstractCompiler(SeparateCompiler)> */
4433 if (unlikely(var83
== NULL
)) {
4434 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4435 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
4439 RET_LABEL82
:(void)0;
4443 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var81) on <var81:ModelBuilder> */
4444 var86
= var81
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var81:ModelBuilder> */
4445 if (unlikely(var86
== NULL
)) {
4446 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4447 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
4451 RET_LABEL85
:(void)0;
4455 { /* Inline separate_compiler#ToolContext#opt_no_inline_intern (var84) on <var84:ToolContext> */
4456 var89
= var84
->attrs
[COLOR_nit__separate_compiler__ToolContext___opt_no_inline_intern
].val
; /* _opt_no_inline_intern on <var84:ToolContext> */
4457 if (unlikely(var89
== NULL
)) {
4458 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_inline_intern");
4459 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 26);
4463 RET_LABEL88
:(void)0;
4467 { /* Inline opts#Option#value (var87) on <var87:OptionBool> */
4468 var92
= var87
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var87:OptionBool> */
4470 RET_LABEL91
:(void)0;
4473 var93
= ((struct instance_standard__Bool
*)var90
)->value
; /* autounbox from nullable Object to Bool */;
4484 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
4485 var99
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
4486 if (unlikely(var99
== NULL
)) {
4487 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4488 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
4492 RET_LABEL98
:(void)0;
4496 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var97) on <var97:AbstractCompiler(SeparateCompiler)> */
4497 var102
= var97
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var97:AbstractCompiler(SeparateCompiler)> */
4498 if (unlikely(var102
== NULL
)) {
4499 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4500 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
4504 RET_LABEL101
:(void)0;
4508 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var100) on <var100:ModelBuilder> */
4509 var105
= var100
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var100:ModelBuilder> */
4510 if (unlikely(var105
== NULL
)) {
4511 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4512 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
4516 RET_LABEL104
:(void)0;
4520 { /* Inline separate_compiler#ToolContext#opt_inline_some_methods (var103) on <var103:ToolContext> */
4521 var108
= var103
->attrs
[COLOR_nit__separate_compiler__ToolContext___opt_inline_some_methods
].val
; /* _opt_inline_some_methods on <var103:ToolContext> */
4522 if (unlikely(var108
== NULL
)) {
4523 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_inline_some_methods");
4524 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 37);
4528 RET_LABEL107
:(void)0;
4532 { /* Inline opts#Option#value (var106) on <var106:OptionBool> */
4533 var111
= var106
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var106:OptionBool> */
4535 RET_LABEL110
:(void)0;
4538 var112
= ((struct instance_standard__Bool
*)var109
)->value
; /* autounbox from nullable Object to Bool */;
4542 var114
= nit__abstract_compiler___MMethodDef___can_inline(var_mmethoddef
, self
);
4552 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
4553 var117
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
4554 if (unlikely(var117
== NULL
)) {
4555 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4556 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
4560 RET_LABEL116
:(void)0;
4564 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var115) on <var115:AbstractCompiler(SeparateCompiler)> */
4565 var120
= var115
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var115:AbstractCompiler(SeparateCompiler)> */
4566 if (unlikely(var120
== NULL
)) {
4567 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4568 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
4572 RET_LABEL119
:(void)0;
4577 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_inline (var_121) on <var_121:ModelBuilder> */
4578 var124
= var_121
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_inline
].l
; /* _nb_invok_by_inline on <var_121:ModelBuilder> */
4580 RET_LABEL123
:(void)0;
4585 { /* Inline kernel#Int#+ (var122,var125) on <var122:Int> */
4586 /* Covariant cast for argument 0 (i) <var125:Int> isa OTHER */
4587 /* <var125:Int> isa OTHER */
4588 var128
= 1; /* easy <var125:Int> isa OTHER*/
4589 if (unlikely(!var128
)) {
4590 var_class_name131
= type_standard__Int
.name
;
4591 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name131
);
4592 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
4595 var132
= var122
+ var125
;
4598 RET_LABEL127
:(void)0;
4602 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_inline= (var_121,var126) on <var_121:ModelBuilder> */
4603 var_121
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_inline
].l
= var126
; /* _nb_invok_by_inline on <var_121:ModelBuilder> */
4604 RET_LABEL133
:(void)0;
4608 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
4609 var136
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
4610 if (unlikely(var136
== NULL
)) {
4611 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4612 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
4616 RET_LABEL135
:(void)0;
4620 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var134) on <var134:AbstractCompiler(SeparateCompiler)> */
4621 var139
= var134
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var134:AbstractCompiler(SeparateCompiler)> */
4622 if (unlikely(var139
== NULL
)) {
4623 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4624 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
4628 RET_LABEL138
:(void)0;
4632 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var137) on <var137:ModelBuilder> */
4633 var142
= var137
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var137:ModelBuilder> */
4634 if (unlikely(var142
== NULL
)) {
4635 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4636 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
4640 RET_LABEL141
:(void)0;
4644 { /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (var140) on <var140:ToolContext> */
4645 var145
= var140
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_invocation_metrics
].val
; /* _opt_invocation_metrics on <var140:ToolContext> */
4646 if (unlikely(var145
== NULL
)) {
4647 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
4648 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 61);
4652 RET_LABEL144
:(void)0;
4656 { /* Inline opts#Option#value (var143) on <var143:OptionBool> */
4657 var148
= var143
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var143:OptionBool> */
4659 RET_LABEL147
:(void)0;
4662 var149
= ((struct instance_standard__Bool
*)var146
)->value
; /* autounbox from nullable Object to Bool */;
4665 var151
= varonce150
;
4667 var152
= "count_invoke_by_inline++;";
4669 var154
= standard___standard__NativeString___to_s_with_length(var152
, var153
);
4671 varonce150
= var151
;
4674 nit___nit__AbstractCompilerVisitor___add(self
, var151
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4678 var155
= NEW_nit__StaticFrame(&type_nit__StaticFrame
);
4680 ((void (*)(val
* self
, val
* p0
))(var155
->class->vft
[COLOR_nit__abstract_compiler__StaticFrame__visitor_61d
]))(var155
, self
) /* visitor= on <var155:StaticFrame>*/;
4683 ((void (*)(val
* self
, val
* p0
))(var155
->class->vft
[COLOR_nit__abstract_compiler__StaticFrame__mpropdef_61d
]))(var155
, var_mmethoddef
) /* mpropdef= on <var155:StaticFrame>*/;
4686 ((void (*)(val
* self
, val
* p0
))(var155
->class->vft
[COLOR_nit__abstract_compiler__StaticFrame__receiver_61d
]))(var155
, var_recvtype
) /* receiver= on <var155:StaticFrame>*/;
4689 ((void (*)(val
* self
, val
* p0
))(var155
->class->vft
[COLOR_nit__abstract_compiler__StaticFrame__arguments_61d
]))(var155
, var_arguments
) /* arguments= on <var155:StaticFrame>*/;
4692 ((void (*)(val
* self
))(var155
->class->vft
[COLOR_standard__kernel__Object__init
]))(var155
) /* init on <var155:StaticFrame>*/;
4696 var157
= varonce156
;
4698 var158
= "RET_LABEL";
4700 var160
= standard___standard__NativeString___to_s_with_length(var158
, var159
);
4702 varonce156
= var157
;
4705 var161
= nit___nit__AbstractCompilerVisitor___get_name(self
, var157
);
4708 { /* Inline abstract_compiler#StaticFrame#returnlabel= (var_frame,var161) on <var_frame:StaticFrame> */
4709 var_frame
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___returnlabel
].val
= var161
; /* _returnlabel on <var_frame:StaticFrame> */
4710 RET_LABEL162
:(void)0;
4714 { /* Inline abstract_compiler#StaticFrame#returnvar= (var_frame,var_res) on <var_frame:StaticFrame> */
4715 var_frame
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___returnvar
].val
= var_res
; /* _returnvar on <var_frame:StaticFrame> */
4716 RET_LABEL163
:(void)0;
4720 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
4721 var166
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
4723 RET_LABEL165
:(void)0;
4726 var_old_frame
= var164
;
4728 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame= (self,var_frame) on <self:SeparateCompilerVisitor> */
4729 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
= var_frame
; /* _frame on <self:SeparateCompilerVisitor> */
4730 RET_LABEL167
:(void)0;
4734 var169
= varonce168
;
4736 var170
= "{ /* Inline ";
4738 var172
= standard___standard__NativeString___to_s_with_length(var170
, var171
);
4740 varonce168
= var169
;
4743 var174
= varonce173
;
4747 var177
= standard___standard__NativeString___to_s_with_length(var175
, var176
);
4749 varonce173
= var174
;
4752 var179
= varonce178
;
4756 var182
= standard___standard__NativeString___to_s_with_length(var180
, var181
);
4758 varonce178
= var179
;
4761 var183
= standard__string___Collection___join(var_arguments
, var179
);
4764 var185
= varonce184
;
4768 var188
= standard___standard__NativeString___to_s_with_length(var186
, var187
);
4770 varonce184
= var185
;
4773 var189
= standard___standard__SequenceRead___Collection__first(var_arguments
);
4776 var190
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var189
);
4779 var192
= varonce191
;
4783 var195
= standard___standard__NativeString___to_s_with_length(var193
, var194
);
4785 varonce191
= var192
;
4787 var196
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4788 { /* var196 = array_instance Array[Object] */
4790 var198
= NEW_standard__NativeArray(var197
, &type_standard__NativeArray__standard__Object
);
4791 ((struct instance_standard__NativeArray
*)var198
)->values
[0] = (val
*) var169
;
4792 ((struct instance_standard__NativeArray
*)var198
)->values
[1] = (val
*) var_mmethoddef
;
4793 ((struct instance_standard__NativeArray
*)var198
)->values
[2] = (val
*) var174
;
4794 ((struct instance_standard__NativeArray
*)var198
)->values
[3] = (val
*) var183
;
4795 ((struct instance_standard__NativeArray
*)var198
)->values
[4] = (val
*) var185
;
4796 ((struct instance_standard__NativeArray
*)var198
)->values
[5] = (val
*) var190
;
4797 ((struct instance_standard__NativeArray
*)var198
)->values
[6] = (val
*) var192
;
4799 ((void (*)(val
* self
, val
* p0
, long p1
))(var196
->class->vft
[COLOR_standard__array__Array__with_native
]))(var196
, var198
, var197
) /* with_native on <var196:Array[Object]>*/;
4803 var199
= ((val
* (*)(val
* self
))(var196
->class->vft
[COLOR_standard__string__Object__to_s
]))(var196
) /* to_s on <var196:Array[Object]>*/;
4806 nit___nit__AbstractCompilerVisitor___add(self
, var199
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4809 var200
= nit__abstract_compiler___MMethodDef___compile_inside_to_c(var_mmethoddef
, self
, var_arguments
);
4812 { /* Inline abstract_compiler#StaticFrame#returnlabel (var_frame) on <var_frame:StaticFrame> */
4813 var203
= var_frame
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___returnlabel
].val
; /* _returnlabel on <var_frame:StaticFrame> */
4815 RET_LABEL202
:(void)0;
4818 if (unlikely(var201
== NULL
)) {
4819 PRINT_ERROR("Runtime error: %s", "Cast failed");
4820 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1251);
4824 var205
= varonce204
;
4826 var206
= ":(void)0;";
4828 var208
= standard___standard__NativeString___to_s_with_length(var206
, var207
);
4830 varonce204
= var205
;
4832 var209
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4833 { /* var209 = array_instance Array[Object] */
4835 var211
= NEW_standard__NativeArray(var210
, &type_standard__NativeArray__standard__Object
);
4836 ((struct instance_standard__NativeArray
*)var211
)->values
[0] = (val
*) var201
;
4837 ((struct instance_standard__NativeArray
*)var211
)->values
[1] = (val
*) var205
;
4839 ((void (*)(val
* self
, val
* p0
, long p1
))(var209
->class->vft
[COLOR_standard__array__Array__with_native
]))(var209
, var211
, var210
) /* with_native on <var209:Array[Object]>*/;
4843 var212
= ((val
* (*)(val
* self
))(var209
->class->vft
[COLOR_standard__string__Object__to_s
]))(var209
) /* to_s on <var209:Array[Object]>*/;
4846 nit___nit__AbstractCompilerVisitor___add(self
, var212
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4849 var214
= varonce213
;
4853 var217
= standard___standard__NativeString___to_s_with_length(var215
, var216
);
4855 varonce213
= var214
;
4858 nit___nit__AbstractCompilerVisitor___add(self
, var214
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4861 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame= (self,var_old_frame) on <self:SeparateCompilerVisitor> */
4862 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
= var_old_frame
; /* _frame on <self:SeparateCompilerVisitor> */
4863 RET_LABEL218
:(void)0;
4871 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
4872 var221
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
4873 if (unlikely(var221
== NULL
)) {
4874 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4875 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
4879 RET_LABEL220
:(void)0;
4883 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var219) on <var219:AbstractCompiler(SeparateCompiler)> */
4884 var224
= var219
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var219:AbstractCompiler(SeparateCompiler)> */
4885 if (unlikely(var224
== NULL
)) {
4886 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4887 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
4891 RET_LABEL223
:(void)0;
4896 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_direct (var_225) on <var_225:ModelBuilder> */
4897 var228
= var_225
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_direct
].l
; /* _nb_invok_by_direct on <var_225:ModelBuilder> */
4899 RET_LABEL227
:(void)0;
4904 { /* Inline kernel#Int#+ (var226,var229) on <var226:Int> */
4905 /* Covariant cast for argument 0 (i) <var229:Int> isa OTHER */
4906 /* <var229:Int> isa OTHER */
4907 var232
= 1; /* easy <var229:Int> isa OTHER*/
4908 if (unlikely(!var232
)) {
4909 var_class_name235
= type_standard__Int
.name
;
4910 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name235
);
4911 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
4914 var236
= var226
+ var229
;
4917 RET_LABEL231
:(void)0;
4921 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_direct= (var_225,var230) on <var_225:ModelBuilder> */
4922 var_225
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_direct
].l
= var230
; /* _nb_invok_by_direct on <var_225:ModelBuilder> */
4923 RET_LABEL237
:(void)0;
4927 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
4928 var240
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
4929 if (unlikely(var240
== NULL
)) {
4930 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4931 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
4935 RET_LABEL239
:(void)0;
4939 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var238) on <var238:AbstractCompiler(SeparateCompiler)> */
4940 var243
= var238
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var238:AbstractCompiler(SeparateCompiler)> */
4941 if (unlikely(var243
== NULL
)) {
4942 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4943 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
4947 RET_LABEL242
:(void)0;
4951 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var241) on <var241:ModelBuilder> */
4952 var246
= var241
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var241:ModelBuilder> */
4953 if (unlikely(var246
== NULL
)) {
4954 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4955 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
4959 RET_LABEL245
:(void)0;
4963 { /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (var244) on <var244:ToolContext> */
4964 var249
= var244
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_invocation_metrics
].val
; /* _opt_invocation_metrics on <var244:ToolContext> */
4965 if (unlikely(var249
== NULL
)) {
4966 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
4967 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 61);
4971 RET_LABEL248
:(void)0;
4975 { /* Inline opts#Option#value (var247) on <var247:OptionBool> */
4976 var252
= var247
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var247:OptionBool> */
4978 RET_LABEL251
:(void)0;
4981 var253
= ((struct instance_standard__Bool
*)var250
)->value
; /* autounbox from nullable Object to Bool */;
4984 var255
= varonce254
;
4986 var256
= "count_invoke_by_direct++;";
4988 var258
= standard___standard__NativeString___to_s_with_length(var256
, var257
);
4990 varonce254
= var255
;
4993 nit___nit__AbstractCompilerVisitor___add(self
, var255
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4998 nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__adapt_signature(self
, var_mmethoddef
, var_arguments
); /* Direct call separate_compiler#SeparateCompilerVisitor#adapt_signature on <self:SeparateCompilerVisitor>*/
5001 var259
= nit___nit__MPropDef___nit__model_base__MEntity__c_name(var_mmethoddef
);
5004 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var259
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
5007 if (var_res
== NULL
) {
5008 var261
= 1; /* is null */
5010 var261
= 0; /* arg is null but recv is not */
5013 { /* Inline kernel#Object#== (var_res,var260) on <var_res:nullable RuntimeVariable> */
5016 { /* Inline kernel#Object#is_same_instance (var_res,var_other) on <var_res:nullable RuntimeVariable(RuntimeVariable)> */
5017 var266
= var_res
== var_other
;
5020 RET_LABEL265
:(void)0;
5025 RET_LABEL263
:(void)0;
5031 var267
= nit___nit__MPropDef___nit__model_base__MEntity__c_name(var_mmethoddef
);
5034 var269
= varonce268
;
5038 var272
= standard___standard__NativeString___to_s_with_length(var270
, var271
);
5040 varonce268
= var269
;
5043 var274
= varonce273
;
5047 var277
= standard___standard__NativeString___to_s_with_length(var275
, var276
);
5049 varonce273
= var274
;
5052 var278
= standard__string___Collection___join(var_arguments
, var274
);
5055 var280
= varonce279
;
5057 var281
= "); /* Direct call ";
5059 var283
= standard___standard__NativeString___to_s_with_length(var281
, var282
);
5061 varonce279
= var280
;
5064 var285
= varonce284
;
5068 var288
= standard___standard__NativeString___to_s_with_length(var286
, var287
);
5070 varonce284
= var285
;
5073 var289
= standard___standard__SequenceRead___Collection__first(var_arguments
);
5076 var290
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var289
);
5079 var292
= varonce291
;
5083 var295
= standard___standard__NativeString___to_s_with_length(var293
, var294
);
5085 varonce291
= var292
;
5087 var296
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5088 { /* var296 = array_instance Array[Object] */
5090 var298
= NEW_standard__NativeArray(var297
, &type_standard__NativeArray__standard__Object
);
5091 ((struct instance_standard__NativeArray
*)var298
)->values
[0] = (val
*) var267
;
5092 ((struct instance_standard__NativeArray
*)var298
)->values
[1] = (val
*) var269
;
5093 ((struct instance_standard__NativeArray
*)var298
)->values
[2] = (val
*) var278
;
5094 ((struct instance_standard__NativeArray
*)var298
)->values
[3] = (val
*) var280
;
5095 ((struct instance_standard__NativeArray
*)var298
)->values
[4] = (val
*) var_mmethoddef
;
5096 ((struct instance_standard__NativeArray
*)var298
)->values
[5] = (val
*) var285
;
5097 ((struct instance_standard__NativeArray
*)var298
)->values
[6] = (val
*) var290
;
5098 ((struct instance_standard__NativeArray
*)var298
)->values
[7] = (val
*) var292
;
5100 ((void (*)(val
* self
, val
* p0
, long p1
))(var296
->class->vft
[COLOR_standard__array__Array__with_native
]))(var296
, var298
, var297
) /* with_native on <var296:Array[Object]>*/;
5104 var299
= ((val
* (*)(val
* self
))(var296
->class->vft
[COLOR_standard__string__Object__to_s
]))(var296
) /* to_s on <var296:Array[Object]>*/;
5107 nit___nit__AbstractCompilerVisitor___add(self
, var299
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5114 var302
= varonce301
;
5118 var305
= standard___standard__NativeString___to_s_with_length(var303
, var304
);
5120 varonce301
= var302
;
5123 var306
= nit___nit__MPropDef___nit__model_base__MEntity__c_name(var_mmethoddef
);
5126 var308
= varonce307
;
5130 var311
= standard___standard__NativeString___to_s_with_length(var309
, var310
);
5132 varonce307
= var308
;
5135 var313
= varonce312
;
5139 var316
= standard___standard__NativeString___to_s_with_length(var314
, var315
);
5141 varonce312
= var313
;
5144 var317
= standard__string___Collection___join(var_arguments
, var313
);
5147 var319
= varonce318
;
5151 var322
= standard___standard__NativeString___to_s_with_length(var320
, var321
);
5153 varonce318
= var319
;
5155 var323
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5156 { /* var323 = array_instance Array[Object] */
5158 var325
= NEW_standard__NativeArray(var324
, &type_standard__NativeArray__standard__Object
);
5159 ((struct instance_standard__NativeArray
*)var325
)->values
[0] = (val
*) var_res
;
5160 ((struct instance_standard__NativeArray
*)var325
)->values
[1] = (val
*) var302
;
5161 ((struct instance_standard__NativeArray
*)var325
)->values
[2] = (val
*) var306
;
5162 ((struct instance_standard__NativeArray
*)var325
)->values
[3] = (val
*) var308
;
5163 ((struct instance_standard__NativeArray
*)var325
)->values
[4] = (val
*) var317
;
5164 ((struct instance_standard__NativeArray
*)var325
)->values
[5] = (val
*) var319
;
5166 ((void (*)(val
* self
, val
* p0
, long p1
))(var323
->class->vft
[COLOR_standard__array__Array__with_native
]))(var323
, var325
, var324
) /* with_native on <var323:Array[Object]>*/;
5170 var326
= ((val
* (*)(val
* self
))(var323
->class->vft
[COLOR_standard__string__Object__to_s
]))(var323
) /* to_s on <var323:Array[Object]>*/;
5173 nit___nit__AbstractCompilerVisitor___add(self
, var326
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5181 /* method separate_compiler#SeparateCompilerVisitor#supercall for (self: SeparateCompilerVisitor, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
5182 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__supercall(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5183 val
* var
/* : nullable RuntimeVariable */;
5184 val
* var_m
/* var m: MMethodDef */;
5185 val
* var_recvtype
/* var recvtype: MClassType */;
5186 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
5187 val
* var1
/* : nullable Object */;
5188 val
* var2
/* : MType */;
5189 val
* var4
/* : MType */;
5190 val
* var5
/* : String */;
5191 static val
* varonce
;
5192 val
* var6
/* : String */;
5193 char* var7
/* : NativeString */;
5194 long var8
/* : Int */;
5195 val
* var9
/* : FlatString */;
5196 short int var10
/* : Bool */;
5197 val
* var_other
/* var other: nullable Object */;
5198 short int var12
/* : Bool */;
5199 short int var13
/* : Bool */;
5200 val
* var14
/* : AbstractCompiler */;
5201 val
* var16
/* : AbstractCompiler */;
5202 val
* var17
/* : MModule */;
5203 val
* var19
/* : MModule */;
5204 val
* var_main
/* var main: MModule */;
5205 val
* var20
/* : AbstractCompiler */;
5206 val
* var22
/* : AbstractCompiler */;
5207 val
* var23
/* : AbstractCompiler */;
5208 val
* var25
/* : AbstractCompiler */;
5209 val
* var26
/* : MModule */;
5210 val
* var28
/* : MModule */;
5211 val
* var30
/* : nullable RuntimeVariable */;
5212 val
* var_res
/* var res: nullable RuntimeVariable */;
5213 val
* var31
/* : AbstractCompiler */;
5214 val
* var33
/* : AbstractCompiler */;
5215 val
* var35
/* : MProperty */;
5216 val
* var37
/* : MProperty */;
5217 val
* var38
/* : String */;
5218 val
* var39
/* : nullable RuntimeVariable */;
5223 var1
= standard___standard__SequenceRead___Collection__first(var_arguments
);
5226 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var1) on <var1:nullable Object(RuntimeVariable)> */
5227 var4
= var1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var1:nullable Object(RuntimeVariable)> */
5228 if (unlikely(var4
== NULL
)) {
5229 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
5230 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1683);
5238 var5
= ((val
* (*)(val
* self
))(var2
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var2
) /* ctype on <var2:MType>*/;
5245 var9
= standard___standard__NativeString___to_s_with_length(var7
, var8
);
5250 { /* Inline kernel#Object#!= (var5,var6) on <var5:String> */
5253 var12
= ((short int (*)(val
* self
, val
* p0
))(var5
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var5
, var_other
) /* == on <var5:String>*/;
5258 RET_LABEL11
:(void)0;
5263 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
5264 var16
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
5265 if (unlikely(var16
== NULL
)) {
5266 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5267 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
5271 RET_LABEL15
:(void)0;
5275 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var14) on <var14:AbstractCompiler(SeparateCompiler)> */
5276 var19
= var14
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var14:AbstractCompiler(SeparateCompiler)> */
5277 if (unlikely(var19
== NULL
)) {
5278 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
5279 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
5283 RET_LABEL18
:(void)0;
5288 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
5289 var22
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
5290 if (unlikely(var22
== NULL
)) {
5291 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5292 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
5296 RET_LABEL21
:(void)0;
5300 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
5301 var25
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
5302 if (unlikely(var25
== NULL
)) {
5303 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5304 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
5308 RET_LABEL24
:(void)0;
5312 { /* Inline abstract_compiler#AbstractCompiler#realmainmodule (var23) on <var23:AbstractCompiler(SeparateCompiler)> */
5313 var28
= var23
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___realmainmodule
].val
; /* _realmainmodule on <var23:AbstractCompiler(SeparateCompiler)> */
5314 if (unlikely(var28
== NULL
)) {
5315 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _realmainmodule");
5316 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 478);
5320 RET_LABEL27
:(void)0;
5324 { /* Inline abstract_compiler#AbstractCompiler#mainmodule= (var20,var26) on <var20:AbstractCompiler(SeparateCompiler)> */
5325 var20
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
= var26
; /* _mainmodule on <var20:AbstractCompiler(SeparateCompiler)> */
5326 RET_LABEL29
:(void)0;
5330 var30
= nit___nit__AbstractCompilerVisitor___monomorphic_super_send(self
, var_m
, var_recvtype
, var_arguments
);
5334 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
5335 var33
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
5336 if (unlikely(var33
== NULL
)) {
5337 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5338 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
5342 RET_LABEL32
:(void)0;
5346 { /* Inline abstract_compiler#AbstractCompiler#mainmodule= (var31,var_main) on <var31:AbstractCompiler(SeparateCompiler)> */
5347 var31
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
= var_main
; /* _mainmodule on <var31:AbstractCompiler(SeparateCompiler)> */
5348 RET_LABEL34
:(void)0;
5356 { /* Inline model#MPropDef#mproperty (var_m) on <var_m:MMethodDef> */
5357 var37
= var_m
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_m:MMethodDef> */
5358 if (unlikely(var37
== NULL
)) {
5359 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5360 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
5364 RET_LABEL36
:(void)0;
5368 var38
= nit__separate_compiler___MEntity___const_color(var_m
);
5371 var39
= nit___nit__SeparateCompilerVisitor___table_send(self
, var35
, var_arguments
, var38
);
5378 /* method separate_compiler#SeparateCompilerVisitor#vararg_instance for (self: SeparateCompilerVisitor, MPropDef, RuntimeVariable, Array[RuntimeVariable], MType): RuntimeVariable */
5379 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__vararg_instance(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
5380 val
* var
/* : RuntimeVariable */;
5381 val
* var_mpropdef
/* var mpropdef: MPropDef */;
5382 val
* var_recv
/* var recv: RuntimeVariable */;
5383 val
* var_varargs
/* var varargs: Array[RuntimeVariable] */;
5384 val
* var_elttype
/* var elttype: MType */;
5385 val
* var1
/* : nullable StaticFrame */;
5386 val
* var3
/* : nullable StaticFrame */;
5387 val
* var_old_frame
/* var old_frame: nullable StaticFrame */;
5388 val
* var4
/* : StaticFrame */;
5389 val
* var5
/* : MClassDef */;
5390 val
* var7
/* : MClassDef */;
5391 val
* var8
/* : MClassType */;
5392 val
* var10
/* : MClassType */;
5393 val
* var11
/* : Array[RuntimeVariable] */;
5394 long var12
/* : Int */;
5395 val
* var_
/* var : Array[RuntimeVariable] */;
5396 val
* var_frame
/* var frame: StaticFrame */;
5397 val
* var14
/* : RuntimeVariable */;
5398 val
* var_res
/* var res: RuntimeVariable */;
5404 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
5405 var3
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
5410 var_old_frame
= var1
;
5411 var4
= NEW_nit__StaticFrame(&type_nit__StaticFrame
);
5413 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MPropDef> */
5414 var7
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MPropDef> */
5415 if (unlikely(var7
== NULL
)) {
5416 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
5417 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
5425 { /* Inline model#MClassDef#bound_mtype (var5) on <var5:MClassDef> */
5426 var10
= var5
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var5:MClassDef> */
5427 if (unlikely(var10
== NULL
)) {
5428 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
5429 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
5436 var11
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
5439 standard___standard__Array___with_capacity(var11
, var12
); /* Direct call array#Array#with_capacity on <var11:Array[RuntimeVariable]>*/
5443 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_recv
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
5446 ((void (*)(val
* self
, val
* p0
))(var4
->class->vft
[COLOR_nit__abstract_compiler__StaticFrame__visitor_61d
]))(var4
, self
) /* visitor= on <var4:StaticFrame>*/;
5449 ((void (*)(val
* self
, val
* p0
))(var4
->class->vft
[COLOR_nit__abstract_compiler__StaticFrame__mpropdef_61d
]))(var4
, var_mpropdef
) /* mpropdef= on <var4:StaticFrame>*/;
5452 ((void (*)(val
* self
, val
* p0
))(var4
->class->vft
[COLOR_nit__abstract_compiler__StaticFrame__receiver_61d
]))(var4
, var8
) /* receiver= on <var4:StaticFrame>*/;
5455 ((void (*)(val
* self
, val
* p0
))(var4
->class->vft
[COLOR_nit__abstract_compiler__StaticFrame__arguments_61d
]))(var4
, var_
) /* arguments= on <var4:StaticFrame>*/;
5458 ((void (*)(val
* self
))(var4
->class->vft
[COLOR_standard__kernel__Object__init
]))(var4
) /* init on <var4:StaticFrame>*/;
5462 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame= (self,var_frame) on <self:SeparateCompilerVisitor> */
5463 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
= var_frame
; /* _frame on <self:SeparateCompilerVisitor> */
5464 RET_LABEL13
:(void)0;
5468 var14
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__array_instance(self
, var_varargs
, var_elttype
);
5472 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame= (self,var_old_frame) on <self:SeparateCompilerVisitor> */
5473 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
= var_old_frame
; /* _frame on <self:SeparateCompilerVisitor> */
5474 RET_LABEL15
:(void)0;
5482 /* method separate_compiler#SeparateCompilerVisitor#isset_attribute for (self: SeparateCompilerVisitor, MAttribute, RuntimeVariable): RuntimeVariable */
5483 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__isset_attribute(val
* self
, val
* p0
, val
* p1
) {
5484 val
* var
/* : RuntimeVariable */;
5485 val
* var_a
/* var a: MAttribute */;
5486 val
* var_recv
/* var recv: RuntimeVariable */;
5487 val
* var1
/* : MClassType */;
5488 val
* var2
/* : RuntimeVariable */;
5489 val
* var_res
/* var res: RuntimeVariable */;
5490 val
* var3
/* : MPropDef */;
5491 val
* var5
/* : MPropDef */;
5492 val
* var6
/* : nullable MType */;
5493 val
* var8
/* : nullable MType */;
5494 val
* var_mtype
/* var mtype: MType */;
5495 val
* var9
/* : MPropDef */;
5496 val
* var11
/* : MPropDef */;
5497 val
* var12
/* : MClassDef */;
5498 val
* var14
/* : MClassDef */;
5499 val
* var_intromclassdef
/* var intromclassdef: MClassDef */;
5500 val
* var15
/* : MClassType */;
5501 val
* var17
/* : MClassType */;
5502 val
* var18
/* : MClassType */;
5503 val
* var20
/* : MClassType */;
5504 val
* var21
/* : MModule */;
5505 val
* var23
/* : MModule */;
5506 short int var24
/* : Bool */;
5507 val
* var25
/* : MType */;
5508 short int var26
/* : Bool */;
5511 static val
* varonce
;
5512 val
* var27
/* : String */;
5513 char* var28
/* : NativeString */;
5514 long var29
/* : Int */;
5515 val
* var30
/* : FlatString */;
5516 static val
* varonce31
;
5517 val
* var32
/* : String */;
5518 char* var33
/* : NativeString */;
5519 long var34
/* : Int */;
5520 val
* var35
/* : FlatString */;
5521 val
* var36
/* : String */;
5522 static val
* varonce37
;
5523 val
* var38
/* : String */;
5524 char* var39
/* : NativeString */;
5525 long var40
/* : Int */;
5526 val
* var41
/* : FlatString */;
5527 val
* var42
/* : Array[Object] */;
5528 long var43
/* : Int */;
5529 val
* var44
/* : NativeArray[Object] */;
5530 val
* var45
/* : String */;
5531 val
* var46
/* : String */;
5532 val
* var47
/* : AbstractCompiler */;
5533 val
* var49
/* : AbstractCompiler */;
5534 val
* var50
/* : ModelBuilder */;
5535 val
* var52
/* : ModelBuilder */;
5536 val
* var53
/* : ToolContext */;
5537 val
* var55
/* : ToolContext */;
5538 val
* var56
/* : OptionBool */;
5539 val
* var58
/* : OptionBool */;
5540 val
* var59
/* : nullable Object */;
5541 val
* var61
/* : nullable Object */;
5542 short int var62
/* : Bool */;
5543 static val
* varonce63
;
5544 val
* var64
/* : String */;
5545 char* var65
/* : NativeString */;
5546 long var66
/* : Int */;
5547 val
* var67
/* : FlatString */;
5548 static val
* varonce68
;
5549 val
* var69
/* : String */;
5550 char* var70
/* : NativeString */;
5551 long var71
/* : Int */;
5552 val
* var72
/* : FlatString */;
5553 val
* var73
/* : String */;
5554 static val
* varonce74
;
5555 val
* var75
/* : String */;
5556 char* var76
/* : NativeString */;
5557 long var77
/* : Int */;
5558 val
* var78
/* : FlatString */;
5559 static val
* varonce79
;
5560 val
* var80
/* : String */;
5561 char* var81
/* : NativeString */;
5562 long var82
/* : Int */;
5563 val
* var83
/* : FlatString */;
5564 val
* var84
/* : String */;
5565 static val
* varonce85
;
5566 val
* var86
/* : String */;
5567 char* var87
/* : NativeString */;
5568 long var88
/* : Int */;
5569 val
* var89
/* : FlatString */;
5570 val
* var90
/* : Array[Object] */;
5571 long var91
/* : Int */;
5572 val
* var92
/* : NativeArray[Object] */;
5573 val
* var93
/* : String */;
5574 val
* var94
/* : String */;
5575 static val
* varonce95
;
5576 val
* var96
/* : String */;
5577 char* var97
/* : NativeString */;
5578 long var98
/* : Int */;
5579 val
* var99
/* : FlatString */;
5580 short int var100
/* : Bool */;
5581 static val
* varonce101
;
5582 val
* var102
/* : String */;
5583 char* var103
/* : NativeString */;
5584 long var104
/* : Int */;
5585 val
* var105
/* : FlatString */;
5586 static val
* varonce106
;
5587 val
* var107
/* : String */;
5588 char* var108
/* : NativeString */;
5589 long var109
/* : Int */;
5590 val
* var110
/* : FlatString */;
5591 val
* var111
/* : String */;
5592 static val
* varonce112
;
5593 val
* var113
/* : String */;
5594 char* var114
/* : NativeString */;
5595 long var115
/* : Int */;
5596 val
* var116
/* : FlatString */;
5597 static val
* varonce117
;
5598 val
* var118
/* : String */;
5599 char* var119
/* : NativeString */;
5600 long var120
/* : Int */;
5601 val
* var121
/* : FlatString */;
5602 val
* var122
/* : String */;
5603 static val
* varonce123
;
5604 val
* var124
/* : String */;
5605 char* var125
/* : NativeString */;
5606 long var126
/* : Int */;
5607 val
* var127
/* : FlatString */;
5608 val
* var128
/* : Array[Object] */;
5609 long var129
/* : Int */;
5610 val
* var130
/* : NativeArray[Object] */;
5611 val
* var131
/* : String */;
5612 static val
* varonce132
;
5613 val
* var133
/* : String */;
5614 char* var134
/* : NativeString */;
5615 long var135
/* : Int */;
5616 val
* var136
/* : FlatString */;
5617 static val
* varonce137
;
5618 val
* var138
/* : String */;
5619 char* var139
/* : NativeString */;
5620 long var140
/* : Int */;
5621 val
* var141
/* : FlatString */;
5622 val
* var142
/* : String */;
5623 static val
* varonce143
;
5624 val
* var144
/* : String */;
5625 char* var145
/* : NativeString */;
5626 long var146
/* : Int */;
5627 val
* var147
/* : FlatString */;
5628 val
* var148
/* : Array[Object] */;
5629 long var149
/* : Int */;
5630 val
* var150
/* : NativeArray[Object] */;
5631 val
* var151
/* : String */;
5635 nit___nit__AbstractCompilerVisitor___check_recv_notnull(self
, var_recv
); /* Direct call abstract_compiler#AbstractCompilerVisitor#check_recv_notnull on <self:SeparateCompilerVisitor>*/
5638 var1
= nit___nit__AbstractCompilerVisitor___bool_type(self
);
5641 var2
= nit___nit__AbstractCompilerVisitor___new_var(self
, var1
);
5645 { /* Inline model#MProperty#intro (var_a) on <var_a:MAttribute> */
5646 var5
= var_a
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var_a:MAttribute> */
5647 if (unlikely(var5
== NULL
)) {
5648 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
5649 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1773);
5657 { /* Inline model#MAttributeDef#static_mtype (var3) on <var3:MPropDef(MAttributeDef)> */
5658 var8
= var3
->attrs
[COLOR_nit__model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var3:MPropDef(MAttributeDef)> */
5663 if (unlikely(var6
== NULL
)) {
5664 PRINT_ERROR("Runtime error: %s", "Cast failed");
5665 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1312);
5670 { /* Inline model#MProperty#intro (var_a) on <var_a:MAttribute> */
5671 var11
= var_a
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var_a:MAttribute> */
5672 if (unlikely(var11
== NULL
)) {
5673 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
5674 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1773);
5678 RET_LABEL10
:(void)0;
5682 { /* Inline model#MPropDef#mclassdef (var9) on <var9:MPropDef(MAttributeDef)> */
5683 var14
= var9
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var9:MPropDef(MAttributeDef)> */
5684 if (unlikely(var14
== NULL
)) {
5685 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
5686 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
5690 RET_LABEL13
:(void)0;
5693 var_intromclassdef
= var12
;
5695 { /* Inline model#MClassDef#bound_mtype (var_intromclassdef) on <var_intromclassdef:MClassDef> */
5696 var17
= var_intromclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intromclassdef:MClassDef> */
5697 if (unlikely(var17
== NULL
)) {
5698 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
5699 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
5703 RET_LABEL16
:(void)0;
5707 { /* Inline model#MClassDef#bound_mtype (var_intromclassdef) on <var_intromclassdef:MClassDef> */
5708 var20
= var_intromclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intromclassdef:MClassDef> */
5709 if (unlikely(var20
== NULL
)) {
5710 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
5711 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
5715 RET_LABEL19
:(void)0;
5719 { /* Inline model#MClassDef#mmodule (var_intromclassdef) on <var_intromclassdef:MClassDef> */
5720 var23
= var_intromclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_intromclassdef:MClassDef> */
5721 if (unlikely(var23
== NULL
)) {
5722 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5723 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
5727 RET_LABEL22
:(void)0;
5732 var25
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(var_mtype
->class->vft
[COLOR_nit__model__MType__resolve_for
]))(var_mtype
, var15
, var18
, var21
, var24
) /* resolve_for on <var_mtype:MType>*/;
5735 /* <var_mtype:MType> isa MNullableType */
5736 cltype
= type_nit__MNullableType
.color
;
5737 idtype
= type_nit__MNullableType
.id
;
5738 if(cltype
>= var_mtype
->type
->table_size
) {
5741 var26
= var_mtype
->type
->type_table
[cltype
] == idtype
;
5747 var28
= " = 1; /* easy isset: ";
5749 var30
= standard___standard__NativeString___to_s_with_length(var28
, var29
);
5758 var35
= standard___standard__NativeString___to_s_with_length(var33
, var34
);
5763 var36
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_recv
);
5770 var41
= standard___standard__NativeString___to_s_with_length(var39
, var40
);
5774 var42
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5775 { /* var42 = array_instance Array[Object] */
5777 var44
= NEW_standard__NativeArray(var43
, &type_standard__NativeArray__standard__Object
);
5778 ((struct instance_standard__NativeArray
*)var44
)->values
[0] = (val
*) var_res
;
5779 ((struct instance_standard__NativeArray
*)var44
)->values
[1] = (val
*) var27
;
5780 ((struct instance_standard__NativeArray
*)var44
)->values
[2] = (val
*) var_a
;
5781 ((struct instance_standard__NativeArray
*)var44
)->values
[3] = (val
*) var32
;
5782 ((struct instance_standard__NativeArray
*)var44
)->values
[4] = (val
*) var36
;
5783 ((struct instance_standard__NativeArray
*)var44
)->values
[5] = (val
*) var38
;
5785 ((void (*)(val
* self
, val
* p0
, long p1
))(var42
->class->vft
[COLOR_standard__array__Array__with_native
]))(var42
, var44
, var43
) /* with_native on <var42:Array[Object]>*/;
5789 var45
= ((val
* (*)(val
* self
))(var42
->class->vft
[COLOR_standard__string__Object__to_s
]))(var42
) /* to_s on <var42:Array[Object]>*/;
5792 nit___nit__AbstractCompilerVisitor___add(self
, var45
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5799 var46
= nit__separate_compiler___MEntity___const_color(var_a
);
5802 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var46
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
5805 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
5806 var49
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
5807 if (unlikely(var49
== NULL
)) {
5808 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5809 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
5813 RET_LABEL48
:(void)0;
5817 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var47) on <var47:AbstractCompiler(SeparateCompiler)> */
5818 var52
= var47
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var47:AbstractCompiler(SeparateCompiler)> */
5819 if (unlikely(var52
== NULL
)) {
5820 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5821 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
5825 RET_LABEL51
:(void)0;
5829 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var50) on <var50:ModelBuilder> */
5830 var55
= var50
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var50:ModelBuilder> */
5831 if (unlikely(var55
== NULL
)) {
5832 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5833 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
5837 RET_LABEL54
:(void)0;
5841 { /* Inline separate_compiler#ToolContext#opt_no_union_attribute (var53) on <var53:ToolContext> */
5842 var58
= var53
->attrs
[COLOR_nit__separate_compiler__ToolContext___opt_no_union_attribute
].val
; /* _opt_no_union_attribute on <var53:ToolContext> */
5843 if (unlikely(var58
== NULL
)) {
5844 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_union_attribute");
5845 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 28);
5849 RET_LABEL57
:(void)0;
5853 { /* Inline opts#Option#value (var56) on <var56:OptionBool> */
5854 var61
= var56
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var56:OptionBool> */
5856 RET_LABEL60
:(void)0;
5859 var62
= ((struct instance_standard__Bool
*)var59
)->value
; /* autounbox from nullable Object to Bool */;
5866 var67
= standard___standard__NativeString___to_s_with_length(var65
, var66
);
5875 var72
= standard___standard__NativeString___to_s_with_length(var70
, var71
);
5880 var73
= nit__separate_compiler___MEntity___const_color(var_a
);
5885 var76
= "] != NULL; /* ";
5887 var78
= standard___standard__NativeString___to_s_with_length(var76
, var77
);
5896 var83
= standard___standard__NativeString___to_s_with_length(var81
, var82
);
5901 var84
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_recv
);
5908 var89
= standard___standard__NativeString___to_s_with_length(var87
, var88
);
5912 var90
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5913 { /* var90 = array_instance Array[Object] */
5915 var92
= NEW_standard__NativeArray(var91
, &type_standard__NativeArray__standard__Object
);
5916 ((struct instance_standard__NativeArray
*)var92
)->values
[0] = (val
*) var_res
;
5917 ((struct instance_standard__NativeArray
*)var92
)->values
[1] = (val
*) var64
;
5918 ((struct instance_standard__NativeArray
*)var92
)->values
[2] = (val
*) var_recv
;
5919 ((struct instance_standard__NativeArray
*)var92
)->values
[3] = (val
*) var69
;
5920 ((struct instance_standard__NativeArray
*)var92
)->values
[4] = (val
*) var73
;
5921 ((struct instance_standard__NativeArray
*)var92
)->values
[5] = (val
*) var75
;
5922 ((struct instance_standard__NativeArray
*)var92
)->values
[6] = (val
*) var_a
;
5923 ((struct instance_standard__NativeArray
*)var92
)->values
[7] = (val
*) var80
;
5924 ((struct instance_standard__NativeArray
*)var92
)->values
[8] = (val
*) var84
;
5925 ((struct instance_standard__NativeArray
*)var92
)->values
[9] = (val
*) var86
;
5927 ((void (*)(val
* self
, val
* p0
, long p1
))(var90
->class->vft
[COLOR_standard__array__Array__with_native
]))(var90
, var92
, var91
) /* with_native on <var90:Array[Object]>*/;
5931 var93
= ((val
* (*)(val
* self
))(var90
->class->vft
[COLOR_standard__string__Object__to_s
]))(var90
) /* to_s on <var90:Array[Object]>*/;
5934 nit___nit__AbstractCompilerVisitor___add(self
, var93
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5938 var94
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
5945 var99
= standard___standard__NativeString___to_s_with_length(var97
, var98
);
5950 var100
= ((short int (*)(val
* self
, val
* p0
))(var94
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var94
, var96
) /* == on <var94:String>*/;
5954 var102
= varonce101
;
5958 var105
= standard___standard__NativeString___to_s_with_length(var103
, var104
);
5960 varonce101
= var102
;
5963 var107
= varonce106
;
5965 var108
= "->attrs[";
5967 var110
= standard___standard__NativeString___to_s_with_length(var108
, var109
);
5969 varonce106
= var107
;
5972 var111
= nit__separate_compiler___MEntity___const_color(var_a
);
5975 var113
= varonce112
;
5977 var114
= "].val != NULL; /* ";
5979 var116
= standard___standard__NativeString___to_s_with_length(var114
, var115
);
5981 varonce112
= var113
;
5984 var118
= varonce117
;
5988 var121
= standard___standard__NativeString___to_s_with_length(var119
, var120
);
5990 varonce117
= var118
;
5993 var122
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_recv
);
5996 var124
= varonce123
;
6000 var127
= standard___standard__NativeString___to_s_with_length(var125
, var126
);
6002 varonce123
= var124
;
6004 var128
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6005 { /* var128 = array_instance Array[Object] */
6007 var130
= NEW_standard__NativeArray(var129
, &type_standard__NativeArray__standard__Object
);
6008 ((struct instance_standard__NativeArray
*)var130
)->values
[0] = (val
*) var_res
;
6009 ((struct instance_standard__NativeArray
*)var130
)->values
[1] = (val
*) var102
;
6010 ((struct instance_standard__NativeArray
*)var130
)->values
[2] = (val
*) var_recv
;
6011 ((struct instance_standard__NativeArray
*)var130
)->values
[3] = (val
*) var107
;
6012 ((struct instance_standard__NativeArray
*)var130
)->values
[4] = (val
*) var111
;
6013 ((struct instance_standard__NativeArray
*)var130
)->values
[5] = (val
*) var113
;
6014 ((struct instance_standard__NativeArray
*)var130
)->values
[6] = (val
*) var_a
;
6015 ((struct instance_standard__NativeArray
*)var130
)->values
[7] = (val
*) var118
;
6016 ((struct instance_standard__NativeArray
*)var130
)->values
[8] = (val
*) var122
;
6017 ((struct instance_standard__NativeArray
*)var130
)->values
[9] = (val
*) var124
;
6019 ((void (*)(val
* self
, val
* p0
, long p1
))(var128
->class->vft
[COLOR_standard__array__Array__with_native
]))(var128
, var130
, var129
) /* with_native on <var128:Array[Object]>*/;
6023 var131
= ((val
* (*)(val
* self
))(var128
->class->vft
[COLOR_standard__string__Object__to_s
]))(var128
) /* to_s on <var128:Array[Object]>*/;
6026 nit___nit__AbstractCompilerVisitor___add(self
, var131
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
6030 var133
= varonce132
;
6032 var134
= " = 1; /* NOT YET IMPLEMENTED: isset of primitives: ";
6034 var136
= standard___standard__NativeString___to_s_with_length(var134
, var135
);
6036 varonce132
= var133
;
6039 var138
= varonce137
;
6043 var141
= standard___standard__NativeString___to_s_with_length(var139
, var140
);
6045 varonce137
= var138
;
6048 var142
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_recv
);
6051 var144
= varonce143
;
6055 var147
= standard___standard__NativeString___to_s_with_length(var145
, var146
);
6057 varonce143
= var144
;
6059 var148
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6060 { /* var148 = array_instance Array[Object] */
6062 var150
= NEW_standard__NativeArray(var149
, &type_standard__NativeArray__standard__Object
);
6063 ((struct instance_standard__NativeArray
*)var150
)->values
[0] = (val
*) var_res
;
6064 ((struct instance_standard__NativeArray
*)var150
)->values
[1] = (val
*) var133
;
6065 ((struct instance_standard__NativeArray
*)var150
)->values
[2] = (val
*) var_a
;
6066 ((struct instance_standard__NativeArray
*)var150
)->values
[3] = (val
*) var138
;
6067 ((struct instance_standard__NativeArray
*)var150
)->values
[4] = (val
*) var142
;
6068 ((struct instance_standard__NativeArray
*)var150
)->values
[5] = (val
*) var144
;
6070 ((void (*)(val
* self
, val
* p0
, long p1
))(var148
->class->vft
[COLOR_standard__array__Array__with_native
]))(var148
, var150
, var149
) /* with_native on <var148:Array[Object]>*/;
6074 var151
= ((val
* (*)(val
* self
))(var148
->class->vft
[COLOR_standard__string__Object__to_s
]))(var148
) /* to_s on <var148:Array[Object]>*/;
6077 nit___nit__AbstractCompilerVisitor___add(self
, var151
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
6086 /* method separate_compiler#SeparateCompilerVisitor#read_attribute for (self: SeparateCompilerVisitor, MAttribute, RuntimeVariable): RuntimeVariable */
6087 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__read_attribute(val
* self
, val
* p0
, val
* p1
) {
6088 val
* var
/* : RuntimeVariable */;
6089 val
* var_a
/* var a: MAttribute */;
6090 val
* var_recv
/* var recv: RuntimeVariable */;
6091 val
* var1
/* : MPropDef */;
6092 val
* var3
/* : MPropDef */;
6093 val
* var4
/* : nullable MType */;
6094 val
* var6
/* : nullable MType */;
6095 val
* var_ret
/* var ret: MType */;
6096 val
* var7
/* : MPropDef */;
6097 val
* var9
/* : MPropDef */;
6098 val
* var10
/* : MClassDef */;
6099 val
* var12
/* : MClassDef */;
6100 val
* var_intromclassdef
/* var intromclassdef: MClassDef */;
6101 val
* var13
/* : MClassType */;
6102 val
* var15
/* : MClassType */;
6103 val
* var16
/* : MClassType */;
6104 val
* var18
/* : MClassType */;
6105 val
* var19
/* : MModule */;
6106 val
* var21
/* : MModule */;
6107 short int var22
/* : Bool */;
6108 val
* var23
/* : MType */;
6109 val
* var24
/* : AbstractCompiler */;
6110 val
* var26
/* : AbstractCompiler */;
6111 val
* var27
/* : ModelBuilder */;
6112 val
* var29
/* : ModelBuilder */;
6113 val
* var30
/* : ToolContext */;
6114 val
* var32
/* : ToolContext */;
6115 val
* var33
/* : OptionBool */;
6116 val
* var35
/* : OptionBool */;
6117 val
* var36
/* : nullable Object */;
6118 val
* var38
/* : nullable Object */;
6119 short int var39
/* : Bool */;
6120 val
* var40
/* : AbstractCompiler */;
6121 val
* var42
/* : AbstractCompiler */;
6122 val
* var_
/* var : SeparateCompiler */;
6123 long var43
/* : Int */;
6124 long var45
/* : Int */;
6125 long var46
/* : Int */;
6126 long var47
/* : Int */;
6127 short int var49
/* : Bool */;
6130 const char* var_class_name
;
6131 long var50
/* : Int */;
6132 static val
* varonce
;
6133 val
* var52
/* : String */;
6134 char* var53
/* : NativeString */;
6135 long var54
/* : Int */;
6136 val
* var55
/* : FlatString */;
6137 val
* var56
/* : String */;
6138 val
* var57
/* : AbstractCompiler */;
6139 val
* var59
/* : AbstractCompiler */;
6140 val
* var60
/* : ModelBuilder */;
6141 val
* var62
/* : ModelBuilder */;
6142 val
* var63
/* : ToolContext */;
6143 val
* var65
/* : ToolContext */;
6144 val
* var66
/* : OptionBool */;
6145 val
* var68
/* : OptionBool */;
6146 val
* var69
/* : nullable Object */;
6147 val
* var71
/* : nullable Object */;
6148 short int var72
/* : Bool */;
6149 val
* var73
/* : MClassType */;
6150 val
* var74
/* : MType */;
6151 val
* var_cret
/* var cret: MType */;
6152 val
* var75
/* : RuntimeVariable */;
6153 val
* var_res
/* var res: RuntimeVariable */;
6154 static val
* varonce77
;
6155 val
* var78
/* : String */;
6156 char* var79
/* : NativeString */;
6157 long var80
/* : Int */;
6158 val
* var81
/* : FlatString */;
6159 static val
* varonce82
;
6160 val
* var83
/* : String */;
6161 char* var84
/* : NativeString */;
6162 long var85
/* : Int */;
6163 val
* var86
/* : FlatString */;
6164 val
* var87
/* : String */;
6165 static val
* varonce88
;
6166 val
* var89
/* : String */;
6167 char* var90
/* : NativeString */;
6168 long var91
/* : Int */;
6169 val
* var92
/* : FlatString */;
6170 static val
* varonce93
;
6171 val
* var94
/* : String */;
6172 char* var95
/* : NativeString */;
6173 long var96
/* : Int */;
6174 val
* var97
/* : FlatString */;
6175 val
* var98
/* : String */;
6176 static val
* varonce99
;
6177 val
* var100
/* : String */;
6178 char* var101
/* : NativeString */;
6179 long var102
/* : Int */;
6180 val
* var103
/* : FlatString */;
6181 val
* var104
/* : Array[Object] */;
6182 long var105
/* : Int */;
6183 val
* var106
/* : NativeArray[Object] */;
6184 val
* var107
/* : String */;
6185 short int var108
/* : Bool */;
6186 short int var109
/* : Bool */;
6189 short int var112
/* : Bool */;
6190 short int var_113
/* var : Bool */;
6191 val
* var114
/* : AbstractCompiler */;
6192 val
* var116
/* : AbstractCompiler */;
6193 val
* var117
/* : ModelBuilder */;
6194 val
* var119
/* : ModelBuilder */;
6195 val
* var120
/* : ToolContext */;
6196 val
* var122
/* : ToolContext */;
6197 val
* var123
/* : OptionBool */;
6198 val
* var125
/* : OptionBool */;
6199 val
* var126
/* : nullable Object */;
6200 val
* var128
/* : nullable Object */;
6201 short int var129
/* : Bool */;
6202 short int var130
/* : Bool */;
6203 static val
* varonce131
;
6204 val
* var132
/* : String */;
6205 char* var133
/* : NativeString */;
6206 long var134
/* : Int */;
6207 val
* var135
/* : FlatString */;
6208 static val
* varonce136
;
6209 val
* var137
/* : String */;
6210 char* var138
/* : NativeString */;
6211 long var139
/* : Int */;
6212 val
* var140
/* : FlatString */;
6213 val
* var141
/* : Array[Object] */;
6214 long var142
/* : Int */;
6215 val
* var143
/* : NativeArray[Object] */;
6216 val
* var144
/* : String */;
6217 static val
* varonce145
;
6218 val
* var146
/* : String */;
6219 char* var147
/* : NativeString */;
6220 long var148
/* : Int */;
6221 val
* var149
/* : FlatString */;
6222 val
* var150
/* : String */;
6223 val
* var152
/* : String */;
6224 val
* var153
/* : Array[Object] */;
6225 long var154
/* : Int */;
6226 val
* var155
/* : NativeArray[Object] */;
6227 val
* var156
/* : String */;
6228 static val
* varonce157
;
6229 val
* var158
/* : String */;
6230 char* var159
/* : NativeString */;
6231 long var160
/* : Int */;
6232 val
* var161
/* : FlatString */;
6233 val
* var162
/* : AbstractCompiler */;
6234 val
* var164
/* : AbstractCompiler */;
6235 val
* var165
/* : ModelBuilder */;
6236 val
* var167
/* : ModelBuilder */;
6237 val
* var168
/* : ToolContext */;
6238 val
* var170
/* : ToolContext */;
6239 val
* var171
/* : OptionBool */;
6240 val
* var173
/* : OptionBool */;
6241 val
* var174
/* : nullable Object */;
6242 val
* var176
/* : nullable Object */;
6243 short int var177
/* : Bool */;
6244 val
* var178
/* : AbstractCompiler */;
6245 val
* var180
/* : AbstractCompiler */;
6246 val
* var_181
/* var : SeparateCompiler */;
6247 long var182
/* : Int */;
6248 long var184
/* : Int */;
6249 long var185
/* : Int */;
6250 long var186
/* : Int */;
6251 short int var188
/* : Bool */;
6254 const char* var_class_name191
;
6255 long var192
/* : Int */;
6256 static val
* varonce194
;
6257 val
* var195
/* : String */;
6258 char* var196
/* : NativeString */;
6259 long var197
/* : Int */;
6260 val
* var198
/* : FlatString */;
6261 val
* var199
/* : RuntimeVariable */;
6262 val
* var200
/* : RuntimeVariable */;
6263 val
* var_res201
/* var res: RuntimeVariable */;
6264 static val
* varonce202
;
6265 val
* var203
/* : String */;
6266 char* var204
/* : NativeString */;
6267 long var205
/* : Int */;
6268 val
* var206
/* : FlatString */;
6269 static val
* varonce207
;
6270 val
* var208
/* : String */;
6271 char* var209
/* : NativeString */;
6272 long var210
/* : Int */;
6273 val
* var211
/* : FlatString */;
6274 val
* var212
/* : String */;
6275 static val
* varonce213
;
6276 val
* var214
/* : String */;
6277 char* var215
/* : NativeString */;
6278 long var216
/* : Int */;
6279 val
* var217
/* : FlatString */;
6280 val
* var218
/* : String */;
6281 static val
* varonce219
;
6282 val
* var220
/* : String */;
6283 char* var221
/* : NativeString */;
6284 long var222
/* : Int */;
6285 val
* var223
/* : FlatString */;
6286 static val
* varonce224
;
6287 val
* var225
/* : String */;
6288 char* var226
/* : NativeString */;
6289 long var227
/* : Int */;
6290 val
* var228
/* : FlatString */;
6291 val
* var229
/* : String */;
6292 static val
* varonce230
;
6293 val
* var231
/* : String */;
6294 char* var232
/* : NativeString */;
6295 long var233
/* : Int */;
6296 val
* var234
/* : FlatString */;
6297 val
* var235
/* : Array[Object] */;
6298 long var236
/* : Int */;
6299 val
* var237
/* : NativeArray[Object] */;
6300 val
* var238
/* : String */;
6301 short int var239
/* : Bool */;
6302 short int var240
/* : Bool */;
6303 val
* var241
/* : String */;
6304 static val
* varonce242
;
6305 val
* var243
/* : String */;
6306 char* var244
/* : NativeString */;
6307 long var245
/* : Int */;
6308 val
* var246
/* : FlatString */;
6309 short int var247
/* : Bool */;
6310 short int var_248
/* var : Bool */;
6311 short int var249
/* : Bool */;
6314 short int var252
/* : Bool */;
6315 short int var_253
/* var : Bool */;
6316 val
* var254
/* : AbstractCompiler */;
6317 val
* var256
/* : AbstractCompiler */;
6318 val
* var257
/* : ModelBuilder */;
6319 val
* var259
/* : ModelBuilder */;
6320 val
* var260
/* : ToolContext */;
6321 val
* var262
/* : ToolContext */;
6322 val
* var263
/* : OptionBool */;
6323 val
* var265
/* : OptionBool */;
6324 val
* var266
/* : nullable Object */;
6325 val
* var268
/* : nullable Object */;
6326 short int var269
/* : Bool */;
6327 short int var270
/* : Bool */;
6328 static val
* varonce271
;
6329 val
* var272
/* : String */;
6330 char* var273
/* : NativeString */;
6331 long var274
/* : Int */;
6332 val
* var275
/* : FlatString */;
6333 static val
* varonce276
;
6334 val
* var277
/* : String */;
6335 char* var278
/* : NativeString */;
6336 long var279
/* : Int */;
6337 val
* var280
/* : FlatString */;
6338 val
* var281
/* : Array[Object] */;
6339 long var282
/* : Int */;
6340 val
* var283
/* : NativeArray[Object] */;
6341 val
* var284
/* : String */;
6342 static val
* varonce285
;
6343 val
* var286
/* : String */;
6344 char* var287
/* : NativeString */;
6345 long var288
/* : Int */;
6346 val
* var289
/* : FlatString */;
6347 val
* var290
/* : String */;
6348 val
* var292
/* : String */;
6349 val
* var293
/* : Array[Object] */;
6350 long var294
/* : Int */;
6351 val
* var295
/* : NativeArray[Object] */;
6352 val
* var296
/* : String */;
6353 static val
* varonce297
;
6354 val
* var298
/* : String */;
6355 char* var299
/* : NativeString */;
6356 long var300
/* : Int */;
6357 val
* var301
/* : FlatString */;
6358 val
* var302
/* : AbstractCompiler */;
6359 val
* var304
/* : AbstractCompiler */;
6360 val
* var305
/* : ModelBuilder */;
6361 val
* var307
/* : ModelBuilder */;
6362 val
* var308
/* : ToolContext */;
6363 val
* var310
/* : ToolContext */;
6364 val
* var311
/* : OptionBool */;
6365 val
* var313
/* : OptionBool */;
6366 val
* var314
/* : nullable Object */;
6367 val
* var316
/* : nullable Object */;
6368 short int var317
/* : Bool */;
6369 val
* var318
/* : AbstractCompiler */;
6370 val
* var320
/* : AbstractCompiler */;
6371 val
* var_321
/* var : SeparateCompiler */;
6372 long var322
/* : Int */;
6373 long var324
/* : Int */;
6374 long var325
/* : Int */;
6375 long var326
/* : Int */;
6376 short int var328
/* : Bool */;
6379 const char* var_class_name331
;
6380 long var332
/* : Int */;
6381 static val
* varonce334
;
6382 val
* var335
/* : String */;
6383 char* var336
/* : NativeString */;
6384 long var337
/* : Int */;
6385 val
* var338
/* : FlatString */;
6389 nit___nit__AbstractCompilerVisitor___check_recv_notnull(self
, var_recv
); /* Direct call abstract_compiler#AbstractCompilerVisitor#check_recv_notnull on <self:SeparateCompilerVisitor>*/
6392 { /* Inline model#MProperty#intro (var_a) on <var_a:MAttribute> */
6393 var3
= var_a
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var_a:MAttribute> */
6394 if (unlikely(var3
== NULL
)) {
6395 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
6396 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1773);
6404 { /* Inline model#MAttributeDef#static_mtype (var1) on <var1:MPropDef(MAttributeDef)> */
6405 var6
= var1
->attrs
[COLOR_nit__model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var1:MPropDef(MAttributeDef)> */
6410 if (unlikely(var4
== NULL
)) {
6411 PRINT_ERROR("Runtime error: %s", "Cast failed");
6412 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1340);
6417 { /* Inline model#MProperty#intro (var_a) on <var_a:MAttribute> */
6418 var9
= var_a
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var_a:MAttribute> */
6419 if (unlikely(var9
== NULL
)) {
6420 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
6421 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1773);
6429 { /* Inline model#MPropDef#mclassdef (var7) on <var7:MPropDef(MAttributeDef)> */
6430 var12
= var7
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var7:MPropDef(MAttributeDef)> */
6431 if (unlikely(var12
== NULL
)) {
6432 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
6433 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
6437 RET_LABEL11
:(void)0;
6440 var_intromclassdef
= var10
;
6442 { /* Inline model#MClassDef#bound_mtype (var_intromclassdef) on <var_intromclassdef:MClassDef> */
6443 var15
= var_intromclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intromclassdef:MClassDef> */
6444 if (unlikely(var15
== NULL
)) {
6445 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
6446 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
6450 RET_LABEL14
:(void)0;
6454 { /* Inline model#MClassDef#bound_mtype (var_intromclassdef) on <var_intromclassdef:MClassDef> */
6455 var18
= var_intromclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intromclassdef:MClassDef> */
6456 if (unlikely(var18
== NULL
)) {
6457 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
6458 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
6462 RET_LABEL17
:(void)0;
6466 { /* Inline model#MClassDef#mmodule (var_intromclassdef) on <var_intromclassdef:MClassDef> */
6467 var21
= var_intromclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_intromclassdef:MClassDef> */
6468 if (unlikely(var21
== NULL
)) {
6469 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
6470 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
6474 RET_LABEL20
:(void)0;
6479 var23
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(var_ret
->class->vft
[COLOR_nit__model__MType__resolve_for
]))(var_ret
, var13
, var16
, var19
, var22
) /* resolve_for on <var_ret:MType>*/;
6483 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
6484 var26
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
6485 if (unlikely(var26
== NULL
)) {
6486 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6487 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
6491 RET_LABEL25
:(void)0;
6495 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var24) on <var24:AbstractCompiler(SeparateCompiler)> */
6496 var29
= var24
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var24:AbstractCompiler(SeparateCompiler)> */
6497 if (unlikely(var29
== NULL
)) {
6498 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6499 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
6503 RET_LABEL28
:(void)0;
6507 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var27) on <var27:ModelBuilder> */
6508 var32
= var27
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var27:ModelBuilder> */
6509 if (unlikely(var32
== NULL
)) {
6510 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6511 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
6515 RET_LABEL31
:(void)0;
6519 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var30) on <var30:ToolContext> */
6520 var35
= var30
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var30:ToolContext> */
6521 if (unlikely(var35
== NULL
)) {
6522 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
6523 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 63);
6527 RET_LABEL34
:(void)0;
6531 { /* Inline opts#Option#value (var33) on <var33:OptionBool> */
6532 var38
= var33
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var33:OptionBool> */
6534 RET_LABEL37
:(void)0;
6537 var39
= ((struct instance_standard__Bool
*)var36
)->value
; /* autounbox from nullable Object to Bool */;
6540 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
6541 var42
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
6542 if (unlikely(var42
== NULL
)) {
6543 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6544 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
6548 RET_LABEL41
:(void)0;
6553 { /* Inline separate_compiler#SeparateCompiler#attr_read_count (var_) on <var_:SeparateCompiler> */
6554 var45
= var_
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___attr_read_count
].l
; /* _attr_read_count on <var_:SeparateCompiler> */
6556 RET_LABEL44
:(void)0;
6561 { /* Inline kernel#Int#+ (var43,var46) on <var43:Int> */
6562 /* Covariant cast for argument 0 (i) <var46:Int> isa OTHER */
6563 /* <var46:Int> isa OTHER */
6564 var49
= 1; /* easy <var46:Int> isa OTHER*/
6565 if (unlikely(!var49
)) {
6566 var_class_name
= type_standard__Int
.name
;
6567 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6568 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
6571 var50
= var43
+ var46
;
6574 RET_LABEL48
:(void)0;
6578 { /* Inline separate_compiler#SeparateCompiler#attr_read_count= (var_,var47) on <var_:SeparateCompiler> */
6579 var_
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___attr_read_count
].l
= var47
; /* _attr_read_count on <var_:SeparateCompiler> */
6580 RET_LABEL51
:(void)0;
6586 var53
= "count_attr_reads++;";
6588 var55
= standard___standard__NativeString___to_s_with_length(var53
, var54
);
6593 nit___nit__AbstractCompilerVisitor___add(self
, var52
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
6598 var56
= nit__separate_compiler___MEntity___const_color(var_a
);
6601 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var56
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
6604 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
6605 var59
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
6606 if (unlikely(var59
== NULL
)) {
6607 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6608 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
6612 RET_LABEL58
:(void)0;
6616 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var57) on <var57:AbstractCompiler(SeparateCompiler)> */
6617 var62
= var57
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var57:AbstractCompiler(SeparateCompiler)> */
6618 if (unlikely(var62
== NULL
)) {
6619 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6620 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
6624 RET_LABEL61
:(void)0;
6628 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var60) on <var60:ModelBuilder> */
6629 var65
= var60
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var60:ModelBuilder> */
6630 if (unlikely(var65
== NULL
)) {
6631 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6632 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
6636 RET_LABEL64
:(void)0;
6640 { /* Inline separate_compiler#ToolContext#opt_no_union_attribute (var63) on <var63:ToolContext> */
6641 var68
= var63
->attrs
[COLOR_nit__separate_compiler__ToolContext___opt_no_union_attribute
].val
; /* _opt_no_union_attribute on <var63:ToolContext> */
6642 if (unlikely(var68
== NULL
)) {
6643 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_union_attribute");
6644 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 28);
6648 RET_LABEL67
:(void)0;
6652 { /* Inline opts#Option#value (var66) on <var66:OptionBool> */
6653 var71
= var66
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var66:OptionBool> */
6655 RET_LABEL70
:(void)0;
6658 var72
= ((struct instance_standard__Bool
*)var69
)->value
; /* autounbox from nullable Object to Bool */;
6661 var73
= nit___nit__AbstractCompilerVisitor___object_type(self
);
6664 var74
= nit___nit__MType___as_nullable(var73
);
6668 var75
= nit___nit__AbstractCompilerVisitor___new_var(self
, var_cret
);
6672 { /* Inline abstract_compiler#RuntimeVariable#mcasttype= (var_res,var_ret) on <var_res:RuntimeVariable> */
6673 var_res
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
= var_ret
; /* _mcasttype on <var_res:RuntimeVariable> */
6674 RET_LABEL76
:(void)0;
6682 var81
= standard___standard__NativeString___to_s_with_length(var79
, var80
);
6691 var86
= standard___standard__NativeString___to_s_with_length(var84
, var85
);
6696 var87
= nit__separate_compiler___MEntity___const_color(var_a
);
6703 var92
= standard___standard__NativeString___to_s_with_length(var90
, var91
);
6712 var97
= standard___standard__NativeString___to_s_with_length(var95
, var96
);
6717 var98
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_recv
);
6724 var103
= standard___standard__NativeString___to_s_with_length(var101
, var102
);
6728 var104
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6729 { /* var104 = array_instance Array[Object] */
6731 var106
= NEW_standard__NativeArray(var105
, &type_standard__NativeArray__standard__Object
);
6732 ((struct instance_standard__NativeArray
*)var106
)->values
[0] = (val
*) var_res
;
6733 ((struct instance_standard__NativeArray
*)var106
)->values
[1] = (val
*) var78
;
6734 ((struct instance_standard__NativeArray
*)var106
)->values
[2] = (val
*) var_recv
;
6735 ((struct instance_standard__NativeArray
*)var106
)->values
[3] = (val
*) var83
;
6736 ((struct instance_standard__NativeArray
*)var106
)->values
[4] = (val
*) var87
;
6737 ((struct instance_standard__NativeArray
*)var106
)->values
[5] = (val
*) var89
;
6738 ((struct instance_standard__NativeArray
*)var106
)->values
[6] = (val
*) var_a
;
6739 ((struct instance_standard__NativeArray
*)var106
)->values
[7] = (val
*) var94
;
6740 ((struct instance_standard__NativeArray
*)var106
)->values
[8] = (val
*) var98
;
6741 ((struct instance_standard__NativeArray
*)var106
)->values
[9] = (val
*) var100
;
6743 ((void (*)(val
* self
, val
* p0
, long p1
))(var104
->class->vft
[COLOR_standard__array__Array__with_native
]))(var104
, var106
, var105
) /* with_native on <var104:Array[Object]>*/;
6747 var107
= ((val
* (*)(val
* self
))(var104
->class->vft
[COLOR_standard__string__Object__to_s
]))(var104
) /* to_s on <var104:Array[Object]>*/;
6750 nit___nit__AbstractCompilerVisitor___add(self
, var107
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
6752 /* <var_ret:MType> isa MNullableType */
6753 cltype110
= type_nit__MNullableType
.color
;
6754 idtype111
= type_nit__MNullableType
.id
;
6755 if(cltype110
>= var_ret
->type
->table_size
) {
6758 var109
= var_ret
->type
->type_table
[cltype110
] == idtype111
;
6764 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
6765 var116
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
6766 if (unlikely(var116
== NULL
)) {
6767 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6768 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
6772 RET_LABEL115
:(void)0;
6776 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var114) on <var114:AbstractCompiler(SeparateCompiler)> */
6777 var119
= var114
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var114:AbstractCompiler(SeparateCompiler)> */
6778 if (unlikely(var119
== NULL
)) {
6779 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6780 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
6784 RET_LABEL118
:(void)0;
6788 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var117) on <var117:ModelBuilder> */
6789 var122
= var117
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var117:ModelBuilder> */
6790 if (unlikely(var122
== NULL
)) {
6791 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6792 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
6796 RET_LABEL121
:(void)0;
6800 { /* Inline abstract_compiler#ToolContext#opt_no_check_attr_isset (var120) on <var120:ToolContext> */
6801 var125
= var120
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_attr_isset
].val
; /* _opt_no_check_attr_isset on <var120:ToolContext> */
6802 if (unlikely(var125
== NULL
)) {
6803 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_attr_isset");
6804 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 49);
6808 RET_LABEL124
:(void)0;
6812 { /* Inline opts#Option#value (var123) on <var123:OptionBool> */
6813 var128
= var123
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var123:OptionBool> */
6815 RET_LABEL127
:(void)0;
6818 var129
= ((struct instance_standard__Bool
*)var126
)->value
; /* autounbox from nullable Object to Bool */;
6826 var132
= varonce131
;
6828 var133
= "if (unlikely(";
6830 var135
= standard___standard__NativeString___to_s_with_length(var133
, var134
);
6832 varonce131
= var132
;
6835 var137
= varonce136
;
6837 var138
= " == NULL)) {";
6839 var140
= standard___standard__NativeString___to_s_with_length(var138
, var139
);
6841 varonce136
= var137
;
6843 var141
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6844 { /* var141 = array_instance Array[Object] */
6846 var143
= NEW_standard__NativeArray(var142
, &type_standard__NativeArray__standard__Object
);
6847 ((struct instance_standard__NativeArray
*)var143
)->values
[0] = (val
*) var132
;
6848 ((struct instance_standard__NativeArray
*)var143
)->values
[1] = (val
*) var_res
;
6849 ((struct instance_standard__NativeArray
*)var143
)->values
[2] = (val
*) var137
;
6851 ((void (*)(val
* self
, val
* p0
, long p1
))(var141
->class->vft
[COLOR_standard__array__Array__with_native
]))(var141
, var143
, var142
) /* with_native on <var141:Array[Object]>*/;
6855 var144
= ((val
* (*)(val
* self
))(var141
->class->vft
[COLOR_standard__string__Object__to_s
]))(var141
) /* to_s on <var141:Array[Object]>*/;
6858 nit___nit__AbstractCompilerVisitor___add(self
, var144
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
6861 var146
= varonce145
;
6863 var147
= "Uninitialized attribute ";
6865 var149
= standard___standard__NativeString___to_s_with_length(var147
, var148
);
6867 varonce145
= var146
;
6870 { /* Inline model#MProperty#name (var_a) on <var_a:MAttribute> */
6871 var152
= var_a
->attrs
[COLOR_nit__model__MProperty___name
].val
; /* _name on <var_a:MAttribute> */
6872 if (unlikely(var152
== NULL
)) {
6873 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
6874 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1741);
6878 RET_LABEL151
:(void)0;
6881 var153
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6882 { /* var153 = array_instance Array[Object] */
6884 var155
= NEW_standard__NativeArray(var154
, &type_standard__NativeArray__standard__Object
);
6885 ((struct instance_standard__NativeArray
*)var155
)->values
[0] = (val
*) var146
;
6886 ((struct instance_standard__NativeArray
*)var155
)->values
[1] = (val
*) var150
;
6888 ((void (*)(val
* self
, val
* p0
, long p1
))(var153
->class->vft
[COLOR_standard__array__Array__with_native
]))(var153
, var155
, var154
) /* with_native on <var153:Array[Object]>*/;
6892 var156
= ((val
* (*)(val
* self
))(var153
->class->vft
[COLOR_standard__string__Object__to_s
]))(var153
) /* to_s on <var153:Array[Object]>*/;
6895 nit___nit__AbstractCompilerVisitor___add_abort(self
, var156
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:SeparateCompilerVisitor>*/
6898 var158
= varonce157
;
6902 var161
= standard___standard__NativeString___to_s_with_length(var159
, var160
);
6904 varonce157
= var158
;
6907 nit___nit__AbstractCompilerVisitor___add(self
, var158
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
6910 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
6911 var164
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
6912 if (unlikely(var164
== NULL
)) {
6913 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6914 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
6918 RET_LABEL163
:(void)0;
6922 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var162) on <var162:AbstractCompiler(SeparateCompiler)> */
6923 var167
= var162
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var162:AbstractCompiler(SeparateCompiler)> */
6924 if (unlikely(var167
== NULL
)) {
6925 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6926 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
6930 RET_LABEL166
:(void)0;
6934 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var165) on <var165:ModelBuilder> */
6935 var170
= var165
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var165:ModelBuilder> */
6936 if (unlikely(var170
== NULL
)) {
6937 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6938 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
6942 RET_LABEL169
:(void)0;
6946 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var168) on <var168:ToolContext> */
6947 var173
= var168
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var168:ToolContext> */
6948 if (unlikely(var173
== NULL
)) {
6949 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
6950 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 63);
6954 RET_LABEL172
:(void)0;
6958 { /* Inline opts#Option#value (var171) on <var171:OptionBool> */
6959 var176
= var171
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var171:OptionBool> */
6961 RET_LABEL175
:(void)0;
6964 var177
= ((struct instance_standard__Bool
*)var174
)->value
; /* autounbox from nullable Object to Bool */;
6967 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
6968 var180
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
6969 if (unlikely(var180
== NULL
)) {
6970 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6971 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
6975 RET_LABEL179
:(void)0;
6980 { /* Inline separate_compiler#SeparateCompiler#isset_checks_count (var_181) on <var_181:SeparateCompiler> */
6981 var184
= var_181
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___isset_checks_count
].l
; /* _isset_checks_count on <var_181:SeparateCompiler> */
6983 RET_LABEL183
:(void)0;
6988 { /* Inline kernel#Int#+ (var182,var185) on <var182:Int> */
6989 /* Covariant cast for argument 0 (i) <var185:Int> isa OTHER */
6990 /* <var185:Int> isa OTHER */
6991 var188
= 1; /* easy <var185:Int> isa OTHER*/
6992 if (unlikely(!var188
)) {
6993 var_class_name191
= type_standard__Int
.name
;
6994 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name191
);
6995 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
6998 var192
= var182
+ var185
;
7001 RET_LABEL187
:(void)0;
7005 { /* Inline separate_compiler#SeparateCompiler#isset_checks_count= (var_181,var186) on <var_181:SeparateCompiler> */
7006 var_181
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___isset_checks_count
].l
= var186
; /* _isset_checks_count on <var_181:SeparateCompiler> */
7007 RET_LABEL193
:(void)0;
7011 var195
= varonce194
;
7013 var196
= "count_isset_checks++;";
7015 var198
= standard___standard__NativeString___to_s_with_length(var196
, var197
);
7017 varonce194
= var195
;
7020 nit___nit__AbstractCompilerVisitor___add(self
, var195
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7027 var199
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__autobox(self
, var_res
, var_ret
);
7033 var200
= nit___nit__AbstractCompilerVisitor___new_var(self
, var_ret
);
7035 var_res201
= var200
;
7037 var203
= varonce202
;
7041 var206
= standard___standard__NativeString___to_s_with_length(var204
, var205
);
7043 varonce202
= var203
;
7046 var208
= varonce207
;
7048 var209
= "->attrs[";
7050 var211
= standard___standard__NativeString___to_s_with_length(var209
, var210
);
7052 varonce207
= var208
;
7055 var212
= nit__separate_compiler___MEntity___const_color(var_a
);
7058 var214
= varonce213
;
7062 var217
= standard___standard__NativeString___to_s_with_length(var215
, var216
);
7064 varonce213
= var214
;
7067 var218
= ((val
* (*)(val
* self
))(var_ret
->class->vft
[COLOR_nit__abstract_compiler__MType__ctypename
]))(var_ret
) /* ctypename on <var_ret:MType>*/;
7070 var220
= varonce219
;
7074 var223
= standard___standard__NativeString___to_s_with_length(var221
, var222
);
7076 varonce219
= var220
;
7079 var225
= varonce224
;
7083 var228
= standard___standard__NativeString___to_s_with_length(var226
, var227
);
7085 varonce224
= var225
;
7088 var229
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_recv
);
7091 var231
= varonce230
;
7095 var234
= standard___standard__NativeString___to_s_with_length(var232
, var233
);
7097 varonce230
= var231
;
7099 var235
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7100 { /* var235 = array_instance Array[Object] */
7102 var237
= NEW_standard__NativeArray(var236
, &type_standard__NativeArray__standard__Object
);
7103 ((struct instance_standard__NativeArray
*)var237
)->values
[0] = (val
*) var_res201
;
7104 ((struct instance_standard__NativeArray
*)var237
)->values
[1] = (val
*) var203
;
7105 ((struct instance_standard__NativeArray
*)var237
)->values
[2] = (val
*) var_recv
;
7106 ((struct instance_standard__NativeArray
*)var237
)->values
[3] = (val
*) var208
;
7107 ((struct instance_standard__NativeArray
*)var237
)->values
[4] = (val
*) var212
;
7108 ((struct instance_standard__NativeArray
*)var237
)->values
[5] = (val
*) var214
;
7109 ((struct instance_standard__NativeArray
*)var237
)->values
[6] = (val
*) var218
;
7110 ((struct instance_standard__NativeArray
*)var237
)->values
[7] = (val
*) var220
;
7111 ((struct instance_standard__NativeArray
*)var237
)->values
[8] = (val
*) var_a
;
7112 ((struct instance_standard__NativeArray
*)var237
)->values
[9] = (val
*) var225
;
7113 ((struct instance_standard__NativeArray
*)var237
)->values
[10] = (val
*) var229
;
7114 ((struct instance_standard__NativeArray
*)var237
)->values
[11] = (val
*) var231
;
7116 ((void (*)(val
* self
, val
* p0
, long p1
))(var235
->class->vft
[COLOR_standard__array__Array__with_native
]))(var235
, var237
, var236
) /* with_native on <var235:Array[Object]>*/;
7120 var238
= ((val
* (*)(val
* self
))(var235
->class->vft
[COLOR_standard__string__Object__to_s
]))(var235
) /* to_s on <var235:Array[Object]>*/;
7123 nit___nit__AbstractCompilerVisitor___add(self
, var238
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7126 var241
= ((val
* (*)(val
* self
))(var_ret
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:MType>*/;
7129 var243
= varonce242
;
7133 var246
= standard___standard__NativeString___to_s_with_length(var244
, var245
);
7135 varonce242
= var243
;
7138 var247
= ((short int (*)(val
* self
, val
* p0
))(var241
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var241
, var243
) /* == on <var241:String>*/;
7142 /* <var_ret:MType> isa MNullableType */
7143 cltype250
= type_nit__MNullableType
.color
;
7144 idtype251
= type_nit__MNullableType
.id
;
7145 if(cltype250
>= var_ret
->type
->table_size
) {
7148 var249
= var_ret
->type
->type_table
[cltype250
] == idtype251
;
7158 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
7159 var256
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
7160 if (unlikely(var256
== NULL
)) {
7161 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7162 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
7166 RET_LABEL255
:(void)0;
7170 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var254) on <var254:AbstractCompiler(SeparateCompiler)> */
7171 var259
= var254
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var254:AbstractCompiler(SeparateCompiler)> */
7172 if (unlikely(var259
== NULL
)) {
7173 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
7174 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
7178 RET_LABEL258
:(void)0;
7182 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var257) on <var257:ModelBuilder> */
7183 var262
= var257
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var257:ModelBuilder> */
7184 if (unlikely(var262
== NULL
)) {
7185 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7186 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
7190 RET_LABEL261
:(void)0;
7194 { /* Inline abstract_compiler#ToolContext#opt_no_check_attr_isset (var260) on <var260:ToolContext> */
7195 var265
= var260
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_attr_isset
].val
; /* _opt_no_check_attr_isset on <var260:ToolContext> */
7196 if (unlikely(var265
== NULL
)) {
7197 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_attr_isset");
7198 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 49);
7202 RET_LABEL264
:(void)0;
7206 { /* Inline opts#Option#value (var263) on <var263:OptionBool> */
7207 var268
= var263
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var263:OptionBool> */
7209 RET_LABEL267
:(void)0;
7212 var269
= ((struct instance_standard__Bool
*)var266
)->value
; /* autounbox from nullable Object to Bool */;
7220 var272
= varonce271
;
7222 var273
= "if (unlikely(";
7224 var275
= standard___standard__NativeString___to_s_with_length(var273
, var274
);
7226 varonce271
= var272
;
7229 var277
= varonce276
;
7231 var278
= " == NULL)) {";
7233 var280
= standard___standard__NativeString___to_s_with_length(var278
, var279
);
7235 varonce276
= var277
;
7237 var281
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7238 { /* var281 = array_instance Array[Object] */
7240 var283
= NEW_standard__NativeArray(var282
, &type_standard__NativeArray__standard__Object
);
7241 ((struct instance_standard__NativeArray
*)var283
)->values
[0] = (val
*) var272
;
7242 ((struct instance_standard__NativeArray
*)var283
)->values
[1] = (val
*) var_res201
;
7243 ((struct instance_standard__NativeArray
*)var283
)->values
[2] = (val
*) var277
;
7245 ((void (*)(val
* self
, val
* p0
, long p1
))(var281
->class->vft
[COLOR_standard__array__Array__with_native
]))(var281
, var283
, var282
) /* with_native on <var281:Array[Object]>*/;
7249 var284
= ((val
* (*)(val
* self
))(var281
->class->vft
[COLOR_standard__string__Object__to_s
]))(var281
) /* to_s on <var281:Array[Object]>*/;
7252 nit___nit__AbstractCompilerVisitor___add(self
, var284
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7255 var286
= varonce285
;
7257 var287
= "Uninitialized attribute ";
7259 var289
= standard___standard__NativeString___to_s_with_length(var287
, var288
);
7261 varonce285
= var286
;
7264 { /* Inline model#MProperty#name (var_a) on <var_a:MAttribute> */
7265 var292
= var_a
->attrs
[COLOR_nit__model__MProperty___name
].val
; /* _name on <var_a:MAttribute> */
7266 if (unlikely(var292
== NULL
)) {
7267 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
7268 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1741);
7272 RET_LABEL291
:(void)0;
7275 var293
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7276 { /* var293 = array_instance Array[Object] */
7278 var295
= NEW_standard__NativeArray(var294
, &type_standard__NativeArray__standard__Object
);
7279 ((struct instance_standard__NativeArray
*)var295
)->values
[0] = (val
*) var286
;
7280 ((struct instance_standard__NativeArray
*)var295
)->values
[1] = (val
*) var290
;
7282 ((void (*)(val
* self
, val
* p0
, long p1
))(var293
->class->vft
[COLOR_standard__array__Array__with_native
]))(var293
, var295
, var294
) /* with_native on <var293:Array[Object]>*/;
7286 var296
= ((val
* (*)(val
* self
))(var293
->class->vft
[COLOR_standard__string__Object__to_s
]))(var293
) /* to_s on <var293:Array[Object]>*/;
7289 nit___nit__AbstractCompilerVisitor___add_abort(self
, var296
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:SeparateCompilerVisitor>*/
7292 var298
= varonce297
;
7296 var301
= standard___standard__NativeString___to_s_with_length(var299
, var300
);
7298 varonce297
= var298
;
7301 nit___nit__AbstractCompilerVisitor___add(self
, var298
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7304 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
7305 var304
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
7306 if (unlikely(var304
== NULL
)) {
7307 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7308 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
7312 RET_LABEL303
:(void)0;
7316 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var302) on <var302:AbstractCompiler(SeparateCompiler)> */
7317 var307
= var302
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var302:AbstractCompiler(SeparateCompiler)> */
7318 if (unlikely(var307
== NULL
)) {
7319 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
7320 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
7324 RET_LABEL306
:(void)0;
7328 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var305) on <var305:ModelBuilder> */
7329 var310
= var305
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var305:ModelBuilder> */
7330 if (unlikely(var310
== NULL
)) {
7331 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7332 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
7336 RET_LABEL309
:(void)0;
7340 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var308) on <var308:ToolContext> */
7341 var313
= var308
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var308:ToolContext> */
7342 if (unlikely(var313
== NULL
)) {
7343 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
7344 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 63);
7348 RET_LABEL312
:(void)0;
7352 { /* Inline opts#Option#value (var311) on <var311:OptionBool> */
7353 var316
= var311
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var311:OptionBool> */
7355 RET_LABEL315
:(void)0;
7358 var317
= ((struct instance_standard__Bool
*)var314
)->value
; /* autounbox from nullable Object to Bool */;
7361 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
7362 var320
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
7363 if (unlikely(var320
== NULL
)) {
7364 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7365 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
7369 RET_LABEL319
:(void)0;
7374 { /* Inline separate_compiler#SeparateCompiler#isset_checks_count (var_321) on <var_321:SeparateCompiler> */
7375 var324
= var_321
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___isset_checks_count
].l
; /* _isset_checks_count on <var_321:SeparateCompiler> */
7377 RET_LABEL323
:(void)0;
7382 { /* Inline kernel#Int#+ (var322,var325) on <var322:Int> */
7383 /* Covariant cast for argument 0 (i) <var325:Int> isa OTHER */
7384 /* <var325:Int> isa OTHER */
7385 var328
= 1; /* easy <var325:Int> isa OTHER*/
7386 if (unlikely(!var328
)) {
7387 var_class_name331
= type_standard__Int
.name
;
7388 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name331
);
7389 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
7392 var332
= var322
+ var325
;
7395 RET_LABEL327
:(void)0;
7399 { /* Inline separate_compiler#SeparateCompiler#isset_checks_count= (var_321,var326) on <var_321:SeparateCompiler> */
7400 var_321
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___isset_checks_count
].l
= var326
; /* _isset_checks_count on <var_321:SeparateCompiler> */
7401 RET_LABEL333
:(void)0;
7405 var335
= varonce334
;
7407 var336
= "count_isset_checks++;";
7409 var338
= standard___standard__NativeString___to_s_with_length(var336
, var337
);
7411 varonce334
= var335
;
7414 nit___nit__AbstractCompilerVisitor___add(self
, var335
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7426 /* method separate_compiler#SeparateCompilerVisitor#write_attribute for (self: SeparateCompilerVisitor, MAttribute, RuntimeVariable, RuntimeVariable) */
7427 void nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__write_attribute(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7428 val
* var_a
/* var a: MAttribute */;
7429 val
* var_recv
/* var recv: RuntimeVariable */;
7430 val
* var_value
/* var value: RuntimeVariable */;
7431 val
* var
/* : MPropDef */;
7432 val
* var2
/* : MPropDef */;
7433 val
* var3
/* : nullable MType */;
7434 val
* var5
/* : nullable MType */;
7435 val
* var_mtype
/* var mtype: MType */;
7436 val
* var6
/* : MPropDef */;
7437 val
* var8
/* : MPropDef */;
7438 val
* var9
/* : MClassDef */;
7439 val
* var11
/* : MClassDef */;
7440 val
* var_intromclassdef
/* var intromclassdef: MClassDef */;
7441 val
* var12
/* : MClassType */;
7442 val
* var14
/* : MClassType */;
7443 val
* var15
/* : MClassType */;
7444 val
* var17
/* : MClassType */;
7445 val
* var18
/* : MModule */;
7446 val
* var20
/* : MModule */;
7447 short int var21
/* : Bool */;
7448 val
* var22
/* : MType */;
7449 val
* var23
/* : RuntimeVariable */;
7450 val
* var24
/* : String */;
7451 val
* var25
/* : AbstractCompiler */;
7452 val
* var27
/* : AbstractCompiler */;
7453 val
* var28
/* : ModelBuilder */;
7454 val
* var30
/* : ModelBuilder */;
7455 val
* var31
/* : ToolContext */;
7456 val
* var33
/* : ToolContext */;
7457 val
* var34
/* : OptionBool */;
7458 val
* var36
/* : OptionBool */;
7459 val
* var37
/* : nullable Object */;
7460 val
* var39
/* : nullable Object */;
7461 short int var40
/* : Bool */;
7462 static val
* varonce
;
7463 val
* var41
/* : String */;
7464 char* var42
/* : NativeString */;
7465 long var43
/* : Int */;
7466 val
* var44
/* : FlatString */;
7467 val
* var45
/* : String */;
7468 static val
* varonce46
;
7469 val
* var47
/* : String */;
7470 char* var48
/* : NativeString */;
7471 long var49
/* : Int */;
7472 val
* var50
/* : FlatString */;
7473 val
* var51
/* : Array[Object] */;
7474 long var52
/* : Int */;
7475 val
* var53
/* : NativeArray[Object] */;
7476 val
* var54
/* : String */;
7477 val
* var_attr
/* var attr: String */;
7478 val
* var55
/* : String */;
7479 static val
* varonce56
;
7480 val
* var57
/* : String */;
7481 char* var58
/* : NativeString */;
7482 long var59
/* : Int */;
7483 val
* var60
/* : FlatString */;
7484 short int var61
/* : Bool */;
7485 val
* var_other
/* var other: nullable Object */;
7486 short int var63
/* : Bool */;
7487 short int var64
/* : Bool */;
7488 short int var65
/* : Bool */;
7491 static val
* varonce66
;
7492 val
* var67
/* : String */;
7493 char* var68
/* : NativeString */;
7494 long var69
/* : Int */;
7495 val
* var70
/* : FlatString */;
7496 static val
* varonce71
;
7497 val
* var72
/* : String */;
7498 char* var73
/* : NativeString */;
7499 long var74
/* : Int */;
7500 val
* var75
/* : FlatString */;
7501 val
* var76
/* : Array[Object] */;
7502 long var77
/* : Int */;
7503 val
* var78
/* : NativeArray[Object] */;
7504 val
* var79
/* : String */;
7505 static val
* varonce80
;
7506 val
* var81
/* : String */;
7507 char* var82
/* : NativeString */;
7508 long var83
/* : Int */;
7509 val
* var84
/* : FlatString */;
7510 val
* var85
/* : String */;
7511 static val
* varonce86
;
7512 val
* var87
/* : String */;
7513 char* var88
/* : NativeString */;
7514 long var89
/* : Int */;
7515 val
* var90
/* : FlatString */;
7516 static val
* varonce91
;
7517 val
* var92
/* : String */;
7518 char* var93
/* : NativeString */;
7519 long var94
/* : Int */;
7520 val
* var95
/* : FlatString */;
7521 static val
* varonce96
;
7522 val
* var97
/* : String */;
7523 char* var98
/* : NativeString */;
7524 long var99
/* : Int */;
7525 val
* var100
/* : FlatString */;
7526 static val
* varonce101
;
7527 val
* var102
/* : String */;
7528 char* var103
/* : NativeString */;
7529 long var104
/* : Int */;
7530 val
* var105
/* : FlatString */;
7531 val
* var106
/* : String */;
7532 static val
* varonce107
;
7533 val
* var108
/* : String */;
7534 char* var109
/* : NativeString */;
7535 long var110
/* : Int */;
7536 val
* var111
/* : FlatString */;
7537 val
* var112
/* : Array[Object] */;
7538 long var113
/* : Int */;
7539 val
* var114
/* : NativeArray[Object] */;
7540 val
* var115
/* : String */;
7541 static val
* varonce116
;
7542 val
* var117
/* : String */;
7543 char* var118
/* : NativeString */;
7544 long var119
/* : Int */;
7545 val
* var120
/* : FlatString */;
7546 val
* var121
/* : MClassType */;
7547 val
* var122
/* : MType */;
7548 val
* var123
/* : RuntimeVariable */;
7549 static val
* varonce124
;
7550 val
* var125
/* : String */;
7551 char* var126
/* : NativeString */;
7552 long var127
/* : Int */;
7553 val
* var128
/* : FlatString */;
7554 static val
* varonce129
;
7555 val
* var130
/* : String */;
7556 char* var131
/* : NativeString */;
7557 long var132
/* : Int */;
7558 val
* var133
/* : FlatString */;
7559 static val
* varonce134
;
7560 val
* var135
/* : String */;
7561 char* var136
/* : NativeString */;
7562 long var137
/* : Int */;
7563 val
* var138
/* : FlatString */;
7564 val
* var139
/* : String */;
7565 static val
* varonce140
;
7566 val
* var141
/* : String */;
7567 char* var142
/* : NativeString */;
7568 long var143
/* : Int */;
7569 val
* var144
/* : FlatString */;
7570 val
* var145
/* : Array[Object] */;
7571 long var146
/* : Int */;
7572 val
* var147
/* : NativeArray[Object] */;
7573 val
* var148
/* : String */;
7574 static val
* varonce149
;
7575 val
* var150
/* : String */;
7576 char* var151
/* : NativeString */;
7577 long var152
/* : Int */;
7578 val
* var153
/* : FlatString */;
7579 static val
* varonce154
;
7580 val
* var155
/* : String */;
7581 char* var156
/* : NativeString */;
7582 long var157
/* : Int */;
7583 val
* var158
/* : FlatString */;
7584 static val
* varonce159
;
7585 val
* var160
/* : String */;
7586 char* var161
/* : NativeString */;
7587 long var162
/* : Int */;
7588 val
* var163
/* : FlatString */;
7589 static val
* varonce164
;
7590 val
* var165
/* : String */;
7591 char* var166
/* : NativeString */;
7592 long var167
/* : Int */;
7593 val
* var168
/* : FlatString */;
7594 val
* var169
/* : String */;
7595 static val
* varonce170
;
7596 val
* var171
/* : String */;
7597 char* var172
/* : NativeString */;
7598 long var173
/* : Int */;
7599 val
* var174
/* : FlatString */;
7600 val
* var175
/* : Array[Object] */;
7601 long var176
/* : Int */;
7602 val
* var177
/* : NativeArray[Object] */;
7603 val
* var178
/* : String */;
7604 static val
* varonce179
;
7605 val
* var180
/* : String */;
7606 char* var181
/* : NativeString */;
7607 long var182
/* : Int */;
7608 val
* var183
/* : FlatString */;
7609 val
* var184
/* : String */;
7610 static val
* varonce185
;
7611 val
* var186
/* : String */;
7612 char* var187
/* : NativeString */;
7613 long var188
/* : Int */;
7614 val
* var189
/* : FlatString */;
7615 val
* var190
/* : String */;
7616 static val
* varonce191
;
7617 val
* var192
/* : String */;
7618 char* var193
/* : NativeString */;
7619 long var194
/* : Int */;
7620 val
* var195
/* : FlatString */;
7621 static val
* varonce196
;
7622 val
* var197
/* : String */;
7623 char* var198
/* : NativeString */;
7624 long var199
/* : Int */;
7625 val
* var200
/* : FlatString */;
7626 static val
* varonce201
;
7627 val
* var202
/* : String */;
7628 char* var203
/* : NativeString */;
7629 long var204
/* : Int */;
7630 val
* var205
/* : FlatString */;
7631 val
* var206
/* : String */;
7632 static val
* varonce207
;
7633 val
* var208
/* : String */;
7634 char* var209
/* : NativeString */;
7635 long var210
/* : Int */;
7636 val
* var211
/* : FlatString */;
7637 val
* var212
/* : Array[Object] */;
7638 long var213
/* : Int */;
7639 val
* var214
/* : NativeArray[Object] */;
7640 val
* var215
/* : String */;
7645 nit___nit__AbstractCompilerVisitor___check_recv_notnull(self
, var_recv
); /* Direct call abstract_compiler#AbstractCompilerVisitor#check_recv_notnull on <self:SeparateCompilerVisitor>*/
7648 { /* Inline model#MProperty#intro (var_a) on <var_a:MAttribute> */
7649 var2
= var_a
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var_a:MAttribute> */
7650 if (unlikely(var2
== NULL
)) {
7651 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
7652 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1773);
7660 { /* Inline model#MAttributeDef#static_mtype (var) on <var:MPropDef(MAttributeDef)> */
7661 var5
= var
->attrs
[COLOR_nit__model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var:MPropDef(MAttributeDef)> */
7666 if (unlikely(var3
== NULL
)) {
7667 PRINT_ERROR("Runtime error: %s", "Cast failed");
7668 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1397);
7673 { /* Inline model#MProperty#intro (var_a) on <var_a:MAttribute> */
7674 var8
= var_a
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var_a:MAttribute> */
7675 if (unlikely(var8
== NULL
)) {
7676 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
7677 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1773);
7685 { /* Inline model#MPropDef#mclassdef (var6) on <var6:MPropDef(MAttributeDef)> */
7686 var11
= var6
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var6:MPropDef(MAttributeDef)> */
7687 if (unlikely(var11
== NULL
)) {
7688 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7689 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
7693 RET_LABEL10
:(void)0;
7696 var_intromclassdef
= var9
;
7698 { /* Inline model#MClassDef#bound_mtype (var_intromclassdef) on <var_intromclassdef:MClassDef> */
7699 var14
= var_intromclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intromclassdef:MClassDef> */
7700 if (unlikely(var14
== NULL
)) {
7701 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
7702 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
7706 RET_LABEL13
:(void)0;
7710 { /* Inline model#MClassDef#bound_mtype (var_intromclassdef) on <var_intromclassdef:MClassDef> */
7711 var17
= var_intromclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intromclassdef:MClassDef> */
7712 if (unlikely(var17
== NULL
)) {
7713 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
7714 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
7718 RET_LABEL16
:(void)0;
7722 { /* Inline model#MClassDef#mmodule (var_intromclassdef) on <var_intromclassdef:MClassDef> */
7723 var20
= var_intromclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_intromclassdef:MClassDef> */
7724 if (unlikely(var20
== NULL
)) {
7725 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
7726 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
7730 RET_LABEL19
:(void)0;
7735 var22
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(var_mtype
->class->vft
[COLOR_nit__model__MType__resolve_for
]))(var_mtype
, var12
, var15
, var18
, var21
) /* resolve_for on <var_mtype:MType>*/;
7739 var23
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__autobox(self
, var_value
, var_mtype
);
7743 var24
= nit__separate_compiler___MEntity___const_color(var_a
);
7746 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var24
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
7749 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
7750 var27
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
7751 if (unlikely(var27
== NULL
)) {
7752 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7753 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
7757 RET_LABEL26
:(void)0;
7761 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var25) on <var25:AbstractCompiler(SeparateCompiler)> */
7762 var30
= var25
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var25:AbstractCompiler(SeparateCompiler)> */
7763 if (unlikely(var30
== NULL
)) {
7764 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
7765 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
7769 RET_LABEL29
:(void)0;
7773 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var28) on <var28:ModelBuilder> */
7774 var33
= var28
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var28:ModelBuilder> */
7775 if (unlikely(var33
== NULL
)) {
7776 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7777 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
7781 RET_LABEL32
:(void)0;
7785 { /* Inline separate_compiler#ToolContext#opt_no_union_attribute (var31) on <var31:ToolContext> */
7786 var36
= var31
->attrs
[COLOR_nit__separate_compiler__ToolContext___opt_no_union_attribute
].val
; /* _opt_no_union_attribute on <var31:ToolContext> */
7787 if (unlikely(var36
== NULL
)) {
7788 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_union_attribute");
7789 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 28);
7793 RET_LABEL35
:(void)0;
7797 { /* Inline opts#Option#value (var34) on <var34:OptionBool> */
7798 var39
= var34
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var34:OptionBool> */
7800 RET_LABEL38
:(void)0;
7803 var40
= ((struct instance_standard__Bool
*)var37
)->value
; /* autounbox from nullable Object to Bool */;
7810 var44
= standard___standard__NativeString___to_s_with_length(var42
, var43
);
7815 var45
= nit__separate_compiler___MEntity___const_color(var_a
);
7822 var50
= standard___standard__NativeString___to_s_with_length(var48
, var49
);
7826 var51
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7827 { /* var51 = array_instance Array[Object] */
7829 var53
= NEW_standard__NativeArray(var52
, &type_standard__NativeArray__standard__Object
);
7830 ((struct instance_standard__NativeArray
*)var53
)->values
[0] = (val
*) var_recv
;
7831 ((struct instance_standard__NativeArray
*)var53
)->values
[1] = (val
*) var41
;
7832 ((struct instance_standard__NativeArray
*)var53
)->values
[2] = (val
*) var45
;
7833 ((struct instance_standard__NativeArray
*)var53
)->values
[3] = (val
*) var47
;
7835 ((void (*)(val
* self
, val
* p0
, long p1
))(var51
->class->vft
[COLOR_standard__array__Array__with_native
]))(var51
, var53
, var52
) /* with_native on <var51:Array[Object]>*/;
7839 var54
= ((val
* (*)(val
* self
))(var51
->class->vft
[COLOR_standard__string__Object__to_s
]))(var51
) /* to_s on <var51:Array[Object]>*/;
7843 var55
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
7850 var60
= standard___standard__NativeString___to_s_with_length(var58
, var59
);
7855 { /* Inline kernel#Object#!= (var55,var57) on <var55:String> */
7858 var63
= ((short int (*)(val
* self
, val
* p0
))(var55
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var55
, var_other
) /* == on <var55:String>*/;
7863 RET_LABEL62
:(void)0;
7867 /* <var_mtype:MType> isa MClassType */
7868 cltype
= type_nit__MClassType
.color
;
7869 idtype
= type_nit__MClassType
.id
;
7870 if(cltype
>= var_mtype
->type
->table_size
) {
7873 var65
= var_mtype
->type
->type_table
[cltype
] == idtype
;
7875 if (unlikely(!var65
)) {
7876 PRINT_ERROR("Runtime error: %s", "Assert failed");
7877 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1408);
7885 var70
= standard___standard__NativeString___to_s_with_length(var68
, var69
);
7892 var73
= " != NULL) {";
7894 var75
= standard___standard__NativeString___to_s_with_length(var73
, var74
);
7898 var76
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7899 { /* var76 = array_instance Array[Object] */
7901 var78
= NEW_standard__NativeArray(var77
, &type_standard__NativeArray__standard__Object
);
7902 ((struct instance_standard__NativeArray
*)var78
)->values
[0] = (val
*) var67
;
7903 ((struct instance_standard__NativeArray
*)var78
)->values
[1] = (val
*) var_attr
;
7904 ((struct instance_standard__NativeArray
*)var78
)->values
[2] = (val
*) var72
;
7906 ((void (*)(val
* self
, val
* p0
, long p1
))(var76
->class->vft
[COLOR_standard__array__Array__with_native
]))(var76
, var78
, var77
) /* with_native on <var76:Array[Object]>*/;
7910 var79
= ((val
* (*)(val
* self
))(var76
->class->vft
[COLOR_standard__string__Object__to_s
]))(var76
) /* to_s on <var76:Array[Object]>*/;
7913 nit___nit__AbstractCompilerVisitor___add(self
, var79
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7918 var82
= "((struct instance_";
7920 var84
= standard___standard__NativeString___to_s_with_length(var82
, var83
);
7925 var85
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType(MClassType)>*/;
7932 var90
= standard___standard__NativeString___to_s_with_length(var88
, var89
);
7939 var93
= ")->value = ";
7941 var95
= standard___standard__NativeString___to_s_with_length(var93
, var94
);
7950 var100
= standard___standard__NativeString___to_s_with_length(var98
, var99
);
7955 var102
= varonce101
;
7959 var105
= standard___standard__NativeString___to_s_with_length(var103
, var104
);
7961 varonce101
= var102
;
7964 var106
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_recv
);
7967 var108
= varonce107
;
7971 var111
= standard___standard__NativeString___to_s_with_length(var109
, var110
);
7973 varonce107
= var108
;
7975 var112
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7976 { /* var112 = array_instance Array[Object] */
7978 var114
= NEW_standard__NativeArray(var113
, &type_standard__NativeArray__standard__Object
);
7979 ((struct instance_standard__NativeArray
*)var114
)->values
[0] = (val
*) var81
;
7980 ((struct instance_standard__NativeArray
*)var114
)->values
[1] = (val
*) var85
;
7981 ((struct instance_standard__NativeArray
*)var114
)->values
[2] = (val
*) var87
;
7982 ((struct instance_standard__NativeArray
*)var114
)->values
[3] = (val
*) var_attr
;
7983 ((struct instance_standard__NativeArray
*)var114
)->values
[4] = (val
*) var92
;
7984 ((struct instance_standard__NativeArray
*)var114
)->values
[5] = (val
*) var_value
;
7985 ((struct instance_standard__NativeArray
*)var114
)->values
[6] = (val
*) var97
;
7986 ((struct instance_standard__NativeArray
*)var114
)->values
[7] = (val
*) var_a
;
7987 ((struct instance_standard__NativeArray
*)var114
)->values
[8] = (val
*) var102
;
7988 ((struct instance_standard__NativeArray
*)var114
)->values
[9] = (val
*) var106
;
7989 ((struct instance_standard__NativeArray
*)var114
)->values
[10] = (val
*) var108
;
7991 ((void (*)(val
* self
, val
* p0
, long p1
))(var112
->class->vft
[COLOR_standard__array__Array__with_native
]))(var112
, var114
, var113
) /* with_native on <var112:Array[Object]>*/;
7995 var115
= ((val
* (*)(val
* self
))(var112
->class->vft
[COLOR_standard__string__Object__to_s
]))(var112
) /* to_s on <var112:Array[Object]>*/;
7998 nit___nit__AbstractCompilerVisitor___add(self
, var115
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8001 var117
= varonce116
;
8003 var118
= "} else {";
8005 var120
= standard___standard__NativeString___to_s_with_length(var118
, var119
);
8007 varonce116
= var117
;
8010 nit___nit__AbstractCompilerVisitor___add(self
, var117
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8013 var121
= nit___nit__AbstractCompilerVisitor___object_type(self
);
8016 var122
= nit___nit__MType___as_nullable(var121
);
8019 var123
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__autobox(self
, var_value
, var122
);
8023 var125
= varonce124
;
8027 var128
= standard___standard__NativeString___to_s_with_length(var126
, var127
);
8029 varonce124
= var125
;
8032 var130
= varonce129
;
8036 var133
= standard___standard__NativeString___to_s_with_length(var131
, var132
);
8038 varonce129
= var130
;
8041 var135
= varonce134
;
8045 var138
= standard___standard__NativeString___to_s_with_length(var136
, var137
);
8047 varonce134
= var135
;
8050 var139
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_recv
);
8053 var141
= varonce140
;
8057 var144
= standard___standard__NativeString___to_s_with_length(var142
, var143
);
8059 varonce140
= var141
;
8061 var145
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8062 { /* var145 = array_instance Array[Object] */
8064 var147
= NEW_standard__NativeArray(var146
, &type_standard__NativeArray__standard__Object
);
8065 ((struct instance_standard__NativeArray
*)var147
)->values
[0] = (val
*) var_attr
;
8066 ((struct instance_standard__NativeArray
*)var147
)->values
[1] = (val
*) var125
;
8067 ((struct instance_standard__NativeArray
*)var147
)->values
[2] = (val
*) var_value
;
8068 ((struct instance_standard__NativeArray
*)var147
)->values
[3] = (val
*) var130
;
8069 ((struct instance_standard__NativeArray
*)var147
)->values
[4] = (val
*) var_a
;
8070 ((struct instance_standard__NativeArray
*)var147
)->values
[5] = (val
*) var135
;
8071 ((struct instance_standard__NativeArray
*)var147
)->values
[6] = (val
*) var139
;
8072 ((struct instance_standard__NativeArray
*)var147
)->values
[7] = (val
*) var141
;
8074 ((void (*)(val
* self
, val
* p0
, long p1
))(var145
->class->vft
[COLOR_standard__array__Array__with_native
]))(var145
, var147
, var146
) /* with_native on <var145:Array[Object]>*/;
8078 var148
= ((val
* (*)(val
* self
))(var145
->class->vft
[COLOR_standard__string__Object__to_s
]))(var145
) /* to_s on <var145:Array[Object]>*/;
8081 nit___nit__AbstractCompilerVisitor___add(self
, var148
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8084 var150
= varonce149
;
8088 var153
= standard___standard__NativeString___to_s_with_length(var151
, var152
);
8090 varonce149
= var150
;
8093 nit___nit__AbstractCompilerVisitor___add(self
, var150
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8097 var155
= varonce154
;
8101 var158
= standard___standard__NativeString___to_s_with_length(var156
, var157
);
8103 varonce154
= var155
;
8106 var160
= varonce159
;
8110 var163
= standard___standard__NativeString___to_s_with_length(var161
, var162
);
8112 varonce159
= var160
;
8115 var165
= varonce164
;
8119 var168
= standard___standard__NativeString___to_s_with_length(var166
, var167
);
8121 varonce164
= var165
;
8124 var169
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_recv
);
8127 var171
= varonce170
;
8131 var174
= standard___standard__NativeString___to_s_with_length(var172
, var173
);
8133 varonce170
= var171
;
8135 var175
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8136 { /* var175 = array_instance Array[Object] */
8138 var177
= NEW_standard__NativeArray(var176
, &type_standard__NativeArray__standard__Object
);
8139 ((struct instance_standard__NativeArray
*)var177
)->values
[0] = (val
*) var_attr
;
8140 ((struct instance_standard__NativeArray
*)var177
)->values
[1] = (val
*) var155
;
8141 ((struct instance_standard__NativeArray
*)var177
)->values
[2] = (val
*) var_value
;
8142 ((struct instance_standard__NativeArray
*)var177
)->values
[3] = (val
*) var160
;
8143 ((struct instance_standard__NativeArray
*)var177
)->values
[4] = (val
*) var_a
;
8144 ((struct instance_standard__NativeArray
*)var177
)->values
[5] = (val
*) var165
;
8145 ((struct instance_standard__NativeArray
*)var177
)->values
[6] = (val
*) var169
;
8146 ((struct instance_standard__NativeArray
*)var177
)->values
[7] = (val
*) var171
;
8148 ((void (*)(val
* self
, val
* p0
, long p1
))(var175
->class->vft
[COLOR_standard__array__Array__with_native
]))(var175
, var177
, var176
) /* with_native on <var175:Array[Object]>*/;
8152 var178
= ((val
* (*)(val
* self
))(var175
->class->vft
[COLOR_standard__string__Object__to_s
]))(var175
) /* to_s on <var175:Array[Object]>*/;
8155 nit___nit__AbstractCompilerVisitor___add(self
, var178
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8160 var180
= varonce179
;
8162 var181
= "->attrs[";
8164 var183
= standard___standard__NativeString___to_s_with_length(var181
, var182
);
8166 varonce179
= var180
;
8169 var184
= nit__separate_compiler___MEntity___const_color(var_a
);
8172 var186
= varonce185
;
8176 var189
= standard___standard__NativeString___to_s_with_length(var187
, var188
);
8178 varonce185
= var186
;
8181 var190
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__abstract_compiler__MType__ctypename
]))(var_mtype
) /* ctypename on <var_mtype:MType>*/;
8184 var192
= varonce191
;
8188 var195
= standard___standard__NativeString___to_s_with_length(var193
, var194
);
8190 varonce191
= var192
;
8193 var197
= varonce196
;
8197 var200
= standard___standard__NativeString___to_s_with_length(var198
, var199
);
8199 varonce196
= var197
;
8202 var202
= varonce201
;
8206 var205
= standard___standard__NativeString___to_s_with_length(var203
, var204
);
8208 varonce201
= var202
;
8211 var206
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_recv
);
8214 var208
= varonce207
;
8218 var211
= standard___standard__NativeString___to_s_with_length(var209
, var210
);
8220 varonce207
= var208
;
8222 var212
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8223 { /* var212 = array_instance Array[Object] */
8225 var214
= NEW_standard__NativeArray(var213
, &type_standard__NativeArray__standard__Object
);
8226 ((struct instance_standard__NativeArray
*)var214
)->values
[0] = (val
*) var_recv
;
8227 ((struct instance_standard__NativeArray
*)var214
)->values
[1] = (val
*) var180
;
8228 ((struct instance_standard__NativeArray
*)var214
)->values
[2] = (val
*) var184
;
8229 ((struct instance_standard__NativeArray
*)var214
)->values
[3] = (val
*) var186
;
8230 ((struct instance_standard__NativeArray
*)var214
)->values
[4] = (val
*) var190
;
8231 ((struct instance_standard__NativeArray
*)var214
)->values
[5] = (val
*) var192
;
8232 ((struct instance_standard__NativeArray
*)var214
)->values
[6] = (val
*) var_value
;
8233 ((struct instance_standard__NativeArray
*)var214
)->values
[7] = (val
*) var197
;
8234 ((struct instance_standard__NativeArray
*)var214
)->values
[8] = (val
*) var_a
;
8235 ((struct instance_standard__NativeArray
*)var214
)->values
[9] = (val
*) var202
;
8236 ((struct instance_standard__NativeArray
*)var214
)->values
[10] = (val
*) var206
;
8237 ((struct instance_standard__NativeArray
*)var214
)->values
[11] = (val
*) var208
;
8239 ((void (*)(val
* self
, val
* p0
, long p1
))(var212
->class->vft
[COLOR_standard__array__Array__with_native
]))(var212
, var214
, var213
) /* with_native on <var212:Array[Object]>*/;
8243 var215
= ((val
* (*)(val
* self
))(var212
->class->vft
[COLOR_standard__string__Object__to_s
]))(var212
) /* to_s on <var212:Array[Object]>*/;
8246 nit___nit__AbstractCompilerVisitor___add(self
, var215
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8251 /* method separate_compiler#SeparateCompilerVisitor#hardening_live_open_type for (self: SeparateCompilerVisitor, MType) */
8252 void nit___nit__SeparateCompilerVisitor___hardening_live_open_type(val
* self
, val
* p0
) {
8253 val
* var_mtype
/* var mtype: MType */;
8254 val
* var
/* : AbstractCompiler */;
8255 val
* var2
/* : AbstractCompiler */;
8256 val
* var3
/* : ModelBuilder */;
8257 val
* var5
/* : ModelBuilder */;
8258 val
* var6
/* : ToolContext */;
8259 val
* var8
/* : ToolContext */;
8260 val
* var9
/* : OptionBool */;
8261 val
* var11
/* : OptionBool */;
8262 val
* var12
/* : nullable Object */;
8263 val
* var14
/* : nullable Object */;
8264 short int var15
/* : Bool */;
8265 short int var16
/* : Bool */;
8266 val
* var17
/* : String */;
8267 val
* var18
/* : String */;
8268 val
* var_col
/* var col: String */;
8269 static val
* varonce
;
8270 val
* var19
/* : String */;
8271 char* var20
/* : NativeString */;
8272 long var21
/* : Int */;
8273 val
* var22
/* : FlatString */;
8274 static val
* varonce23
;
8275 val
* var24
/* : String */;
8276 char* var25
/* : NativeString */;
8277 long var26
/* : Int */;
8278 val
* var27
/* : FlatString */;
8279 val
* var28
/* : Array[Object] */;
8280 long var29
/* : Int */;
8281 val
* var30
/* : NativeArray[Object] */;
8282 val
* var31
/* : String */;
8283 static val
* varonce32
;
8284 val
* var33
/* : String */;
8285 char* var34
/* : NativeString */;
8286 long var35
/* : Int */;
8287 val
* var36
/* : FlatString */;
8288 val
* var37
/* : String */;
8289 val
* var38
/* : String */;
8290 static val
* varonce39
;
8291 val
* var40
/* : String */;
8292 char* var41
/* : NativeString */;
8293 long var42
/* : Int */;
8294 val
* var43
/* : FlatString */;
8295 val
* var44
/* : Array[Object] */;
8296 long var45
/* : Int */;
8297 val
* var46
/* : NativeArray[Object] */;
8298 val
* var47
/* : String */;
8299 static val
* varonce48
;
8300 val
* var49
/* : String */;
8301 char* var50
/* : NativeString */;
8302 long var51
/* : Int */;
8303 val
* var52
/* : FlatString */;
8304 static val
* varonce53
;
8305 val
* var54
/* : String */;
8306 char* var55
/* : NativeString */;
8307 long var56
/* : Int */;
8308 val
* var57
/* : FlatString */;
8311 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
8312 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
8313 if (unlikely(var2
== NULL
)) {
8314 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
8315 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
8323 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var) on <var:AbstractCompiler(SeparateCompiler)> */
8324 var5
= var
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var:AbstractCompiler(SeparateCompiler)> */
8325 if (unlikely(var5
== NULL
)) {
8326 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8327 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
8335 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var3) on <var3:ModelBuilder> */
8336 var8
= var3
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var3:ModelBuilder> */
8337 if (unlikely(var8
== NULL
)) {
8338 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8339 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
8347 { /* Inline abstract_compiler#ToolContext#opt_hardening (var6) on <var6:ToolContext> */
8348 var11
= var6
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_hardening
].val
; /* _opt_hardening on <var6:ToolContext> */
8349 if (unlikely(var11
== NULL
)) {
8350 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_hardening");
8351 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 45);
8355 RET_LABEL10
:(void)0;
8359 { /* Inline opts#Option#value (var9) on <var9:OptionBool> */
8360 var14
= var9
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var9:OptionBool> */
8362 RET_LABEL13
:(void)0;
8365 var15
= ((struct instance_standard__Bool
*)var12
)->value
; /* autounbox from nullable Object to Bool */;
8372 var17
= nit__separate_compiler___MEntity___const_color(var_mtype
);
8375 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var17
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
8378 var18
= nit__separate_compiler___MEntity___const_color(var_mtype
);
8386 var22
= standard___standard__NativeString___to_s_with_length(var20
, var21
);
8393 var25
= " == -1) {";
8395 var27
= standard___standard__NativeString___to_s_with_length(var25
, var26
);
8399 var28
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8400 { /* var28 = array_instance Array[Object] */
8402 var30
= NEW_standard__NativeArray(var29
, &type_standard__NativeArray__standard__Object
);
8403 ((struct instance_standard__NativeArray
*)var30
)->values
[0] = (val
*) var19
;
8404 ((struct instance_standard__NativeArray
*)var30
)->values
[1] = (val
*) var_col
;
8405 ((struct instance_standard__NativeArray
*)var30
)->values
[2] = (val
*) var24
;
8407 ((void (*)(val
* self
, val
* p0
, long p1
))(var28
->class->vft
[COLOR_standard__array__Array__with_native
]))(var28
, var30
, var29
) /* with_native on <var28:Array[Object]>*/;
8411 var31
= ((val
* (*)(val
* self
))(var28
->class->vft
[COLOR_standard__string__Object__to_s
]))(var28
) /* to_s on <var28:Array[Object]>*/;
8414 nit___nit__AbstractCompilerVisitor___add(self
, var31
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8419 var34
= "PRINT_ERROR(\"Resolution of a dead open type: %s\\n\", \"";
8421 var36
= standard___standard__NativeString___to_s_with_length(var34
, var35
);
8426 var37
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mtype
) /* to_s on <var_mtype:MType>*/;
8429 var38
= standard___standard__Text___escape_to_c(var37
);
8436 var43
= standard___standard__NativeString___to_s_with_length(var41
, var42
);
8440 var44
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8441 { /* var44 = array_instance Array[Object] */
8443 var46
= NEW_standard__NativeArray(var45
, &type_standard__NativeArray__standard__Object
);
8444 ((struct instance_standard__NativeArray
*)var46
)->values
[0] = (val
*) var33
;
8445 ((struct instance_standard__NativeArray
*)var46
)->values
[1] = (val
*) var38
;
8446 ((struct instance_standard__NativeArray
*)var46
)->values
[2] = (val
*) var40
;
8448 ((void (*)(val
* self
, val
* p0
, long p1
))(var44
->class->vft
[COLOR_standard__array__Array__with_native
]))(var44
, var46
, var45
) /* with_native on <var44:Array[Object]>*/;
8452 var47
= ((val
* (*)(val
* self
))(var44
->class->vft
[COLOR_standard__string__Object__to_s
]))(var44
) /* to_s on <var44:Array[Object]>*/;
8455 nit___nit__AbstractCompilerVisitor___add(self
, var47
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8460 var50
= "open type dead";
8462 var52
= standard___standard__NativeString___to_s_with_length(var50
, var51
);
8467 nit___nit__AbstractCompilerVisitor___add_abort(self
, var49
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:SeparateCompilerVisitor>*/
8474 var57
= standard___standard__NativeString___to_s_with_length(var55
, var56
);
8479 nit___nit__AbstractCompilerVisitor___add(self
, var54
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8483 /* method separate_compiler#SeparateCompilerVisitor#hardening_cast_type for (self: SeparateCompilerVisitor, String) */
8484 void nit___nit__SeparateCompilerVisitor___hardening_cast_type(val
* self
, val
* p0
) {
8485 val
* var_t
/* var t: String */;
8486 val
* var
/* : AbstractCompiler */;
8487 val
* var2
/* : AbstractCompiler */;
8488 val
* var3
/* : ModelBuilder */;
8489 val
* var5
/* : ModelBuilder */;
8490 val
* var6
/* : ToolContext */;
8491 val
* var8
/* : ToolContext */;
8492 val
* var9
/* : OptionBool */;
8493 val
* var11
/* : OptionBool */;
8494 val
* var12
/* : nullable Object */;
8495 val
* var14
/* : nullable Object */;
8496 short int var15
/* : Bool */;
8497 short int var16
/* : Bool */;
8498 static val
* varonce
;
8499 val
* var17
/* : String */;
8500 char* var18
/* : NativeString */;
8501 long var19
/* : Int */;
8502 val
* var20
/* : FlatString */;
8503 static val
* varonce21
;
8504 val
* var22
/* : String */;
8505 char* var23
/* : NativeString */;
8506 long var24
/* : Int */;
8507 val
* var25
/* : FlatString */;
8508 val
* var26
/* : Array[Object] */;
8509 long var27
/* : Int */;
8510 val
* var28
/* : NativeArray[Object] */;
8511 val
* var29
/* : String */;
8512 static val
* varonce30
;
8513 val
* var31
/* : String */;
8514 char* var32
/* : NativeString */;
8515 long var33
/* : Int */;
8516 val
* var34
/* : FlatString */;
8517 static val
* varonce35
;
8518 val
* var36
/* : String */;
8519 char* var37
/* : NativeString */;
8520 long var38
/* : Int */;
8521 val
* var39
/* : FlatString */;
8522 static val
* varonce40
;
8523 val
* var41
/* : String */;
8524 char* var42
/* : NativeString */;
8525 long var43
/* : Int */;
8526 val
* var44
/* : FlatString */;
8527 static val
* varonce45
;
8528 val
* var46
/* : String */;
8529 char* var47
/* : NativeString */;
8530 long var48
/* : Int */;
8531 val
* var49
/* : FlatString */;
8532 static val
* varonce50
;
8533 val
* var51
/* : String */;
8534 char* var52
/* : NativeString */;
8535 long var53
/* : Int */;
8536 val
* var54
/* : FlatString */;
8537 val
* var55
/* : Array[Object] */;
8538 long var56
/* : Int */;
8539 val
* var57
/* : NativeArray[Object] */;
8540 val
* var58
/* : String */;
8541 static val
* varonce59
;
8542 val
* var60
/* : String */;
8543 char* var61
/* : NativeString */;
8544 long var62
/* : Int */;
8545 val
* var63
/* : FlatString */;
8546 static val
* varonce64
;
8547 val
* var65
/* : String */;
8548 char* var66
/* : NativeString */;
8549 long var67
/* : Int */;
8550 val
* var68
/* : FlatString */;
8551 val
* var69
/* : Array[Object] */;
8552 long var70
/* : Int */;
8553 val
* var71
/* : NativeArray[Object] */;
8554 val
* var72
/* : String */;
8555 static val
* varonce73
;
8556 val
* var74
/* : String */;
8557 char* var75
/* : NativeString */;
8558 long var76
/* : Int */;
8559 val
* var77
/* : FlatString */;
8560 static val
* varonce78
;
8561 val
* var79
/* : String */;
8562 char* var80
/* : NativeString */;
8563 long var81
/* : Int */;
8564 val
* var82
/* : FlatString */;
8567 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
8568 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
8569 if (unlikely(var2
== NULL
)) {
8570 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
8571 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
8579 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var) on <var:AbstractCompiler(SeparateCompiler)> */
8580 var5
= var
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var:AbstractCompiler(SeparateCompiler)> */
8581 if (unlikely(var5
== NULL
)) {
8582 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8583 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
8591 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var3) on <var3:ModelBuilder> */
8592 var8
= var3
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var3:ModelBuilder> */
8593 if (unlikely(var8
== NULL
)) {
8594 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8595 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
8603 { /* Inline abstract_compiler#ToolContext#opt_hardening (var6) on <var6:ToolContext> */
8604 var11
= var6
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_hardening
].val
; /* _opt_hardening on <var6:ToolContext> */
8605 if (unlikely(var11
== NULL
)) {
8606 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_hardening");
8607 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 45);
8611 RET_LABEL10
:(void)0;
8615 { /* Inline opts#Option#value (var9) on <var9:OptionBool> */
8616 var14
= var9
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var9:OptionBool> */
8618 RET_LABEL13
:(void)0;
8621 var15
= ((struct instance_standard__Bool
*)var12
)->value
; /* autounbox from nullable Object to Bool */;
8632 var20
= standard___standard__NativeString___to_s_with_length(var18
, var19
);
8639 var23
= " == NULL) {";
8641 var25
= standard___standard__NativeString___to_s_with_length(var23
, var24
);
8645 var26
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8646 { /* var26 = array_instance Array[Object] */
8648 var28
= NEW_standard__NativeArray(var27
, &type_standard__NativeArray__standard__Object
);
8649 ((struct instance_standard__NativeArray
*)var28
)->values
[0] = (val
*) var17
;
8650 ((struct instance_standard__NativeArray
*)var28
)->values
[1] = (val
*) var_t
;
8651 ((struct instance_standard__NativeArray
*)var28
)->values
[2] = (val
*) var22
;
8653 ((void (*)(val
* self
, val
* p0
, long p1
))(var26
->class->vft
[COLOR_standard__array__Array__with_native
]))(var26
, var28
, var27
) /* with_native on <var26:Array[Object]>*/;
8657 var29
= ((val
* (*)(val
* self
))(var26
->class->vft
[COLOR_standard__string__Object__to_s
]))(var26
) /* to_s on <var26:Array[Object]>*/;
8660 nit___nit__AbstractCompilerVisitor___add(self
, var29
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8665 var32
= "cast type null";
8667 var34
= standard___standard__NativeString___to_s_with_length(var32
, var33
);
8672 nit___nit__AbstractCompilerVisitor___add_abort(self
, var31
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:SeparateCompilerVisitor>*/
8679 var39
= standard___standard__NativeString___to_s_with_length(var37
, var38
);
8684 nit___nit__AbstractCompilerVisitor___add(self
, var36
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8691 var44
= standard___standard__NativeString___to_s_with_length(var42
, var43
);
8698 var47
= "->id == -1 || ";
8700 var49
= standard___standard__NativeString___to_s_with_length(var47
, var48
);
8707 var52
= "->color == -1) {";
8709 var54
= standard___standard__NativeString___to_s_with_length(var52
, var53
);
8713 var55
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8714 { /* var55 = array_instance Array[Object] */
8716 var57
= NEW_standard__NativeArray(var56
, &type_standard__NativeArray__standard__Object
);
8717 ((struct instance_standard__NativeArray
*)var57
)->values
[0] = (val
*) var41
;
8718 ((struct instance_standard__NativeArray
*)var57
)->values
[1] = (val
*) var_t
;
8719 ((struct instance_standard__NativeArray
*)var57
)->values
[2] = (val
*) var46
;
8720 ((struct instance_standard__NativeArray
*)var57
)->values
[3] = (val
*) var_t
;
8721 ((struct instance_standard__NativeArray
*)var57
)->values
[4] = (val
*) var51
;
8723 ((void (*)(val
* self
, val
* p0
, long p1
))(var55
->class->vft
[COLOR_standard__array__Array__with_native
]))(var55
, var57
, var56
) /* with_native on <var55:Array[Object]>*/;
8727 var58
= ((val
* (*)(val
* self
))(var55
->class->vft
[COLOR_standard__string__Object__to_s
]))(var55
) /* to_s on <var55:Array[Object]>*/;
8730 nit___nit__AbstractCompilerVisitor___add(self
, var58
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8735 var61
= "PRINT_ERROR(\"Try to cast on a dead cast type: %s\\n\", ";
8737 var63
= standard___standard__NativeString___to_s_with_length(var61
, var62
);
8746 var68
= standard___standard__NativeString___to_s_with_length(var66
, var67
);
8750 var69
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8751 { /* var69 = array_instance Array[Object] */
8753 var71
= NEW_standard__NativeArray(var70
, &type_standard__NativeArray__standard__Object
);
8754 ((struct instance_standard__NativeArray
*)var71
)->values
[0] = (val
*) var60
;
8755 ((struct instance_standard__NativeArray
*)var71
)->values
[1] = (val
*) var_t
;
8756 ((struct instance_standard__NativeArray
*)var71
)->values
[2] = (val
*) var65
;
8758 ((void (*)(val
* self
, val
* p0
, long p1
))(var69
->class->vft
[COLOR_standard__array__Array__with_native
]))(var69
, var71
, var70
) /* with_native on <var69:Array[Object]>*/;
8762 var72
= ((val
* (*)(val
* self
))(var69
->class->vft
[COLOR_standard__string__Object__to_s
]))(var69
) /* to_s on <var69:Array[Object]>*/;
8765 nit___nit__AbstractCompilerVisitor___add(self
, var72
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8770 var75
= "cast type dead";
8772 var77
= standard___standard__NativeString___to_s_with_length(var75
, var76
);
8777 nit___nit__AbstractCompilerVisitor___add_abort(self
, var74
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:SeparateCompilerVisitor>*/
8784 var82
= standard___standard__NativeString___to_s_with_length(var80
, var81
);
8789 nit___nit__AbstractCompilerVisitor___add(self
, var79
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8793 /* method separate_compiler#SeparateCompilerVisitor#init_instance for (self: SeparateCompilerVisitor, MClassType): RuntimeVariable */
8794 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__init_instance(val
* self
, val
* p0
) {
8795 val
* var
/* : RuntimeVariable */;
8796 val
* var_mtype
/* var mtype: MClassType */;
8797 static val
* varonce
;
8798 val
* var1
/* : String */;
8799 char* var2
/* : NativeString */;
8800 long var3
/* : Int */;
8801 val
* var4
/* : FlatString */;
8802 val
* var5
/* : MClass */;
8803 val
* var7
/* : MClass */;
8804 val
* var8
/* : String */;
8805 val
* var9
/* : Array[Object] */;
8806 long var10
/* : Int */;
8807 val
* var11
/* : NativeArray[Object] */;
8808 val
* var12
/* : String */;
8809 val
* var13
/* : AbstractCompiler */;
8810 val
* var15
/* : AbstractCompiler */;
8811 val
* var_compiler
/* var compiler: SeparateCompiler */;
8812 short int var16
/* : Bool */;
8813 short int var17
/* : Bool */;
8816 short int var_
/* var : Bool */;
8817 short int var18
/* : Bool */;
8818 short int var20
/* : Bool */;
8819 val
* var21
/* : nullable StaticFrame */;
8820 val
* var23
/* : nullable StaticFrame */;
8821 val
* var24
/* : MPropDef */;
8822 val
* var26
/* : MPropDef */;
8823 val
* var27
/* : MClassDef */;
8824 val
* var29
/* : MClassDef */;
8825 val
* var30
/* : nullable StaticFrame */;
8826 val
* var32
/* : nullable StaticFrame */;
8827 val
* var33
/* : Array[RuntimeVariable] */;
8828 val
* var35
/* : Array[RuntimeVariable] */;
8829 val
* var36
/* : nullable Object */;
8830 val
* var_recv
/* var recv: RuntimeVariable */;
8831 val
* var37
/* : String */;
8832 val
* var_recv_type_info
/* var recv_type_info: String */;
8833 val
* var38
/* : String */;
8834 static val
* varonce39
;
8835 val
* var40
/* : String */;
8836 char* var41
/* : NativeString */;
8837 long var42
/* : Int */;
8838 val
* var43
/* : FlatString */;
8839 val
* var44
/* : MClass */;
8840 val
* var46
/* : MClass */;
8841 val
* var47
/* : String */;
8842 static val
* varonce48
;
8843 val
* var49
/* : String */;
8844 char* var50
/* : NativeString */;
8845 long var51
/* : Int */;
8846 val
* var52
/* : FlatString */;
8847 static val
* varonce53
;
8848 val
* var54
/* : String */;
8849 char* var55
/* : NativeString */;
8850 long var56
/* : Int */;
8851 val
* var57
/* : FlatString */;
8852 val
* var58
/* : String */;
8853 static val
* varonce59
;
8854 val
* var60
/* : String */;
8855 char* var61
/* : NativeString */;
8856 long var62
/* : Int */;
8857 val
* var63
/* : FlatString */;
8858 val
* var64
/* : Array[Object] */;
8859 long var65
/* : Int */;
8860 val
* var66
/* : NativeArray[Object] */;
8861 val
* var67
/* : String */;
8862 val
* var68
/* : RuntimeVariable */;
8863 val
* var69
/* : Set[MType] */;
8864 val
* var71
/* : Set[MType] */;
8865 static val
* varonce72
;
8866 val
* var73
/* : String */;
8867 char* var74
/* : NativeString */;
8868 long var75
/* : Int */;
8869 val
* var76
/* : FlatString */;
8870 val
* var77
/* : String */;
8871 val
* var78
/* : Array[Object] */;
8872 long var79
/* : Int */;
8873 val
* var80
/* : NativeArray[Object] */;
8874 val
* var81
/* : String */;
8875 static val
* varonce82
;
8876 val
* var83
/* : String */;
8877 char* var84
/* : NativeString */;
8878 long var85
/* : Int */;
8879 val
* var86
/* : FlatString */;
8880 val
* var87
/* : MClass */;
8881 val
* var89
/* : MClass */;
8882 val
* var90
/* : String */;
8883 static val
* varonce91
;
8884 val
* var92
/* : String */;
8885 char* var93
/* : NativeString */;
8886 long var94
/* : Int */;
8887 val
* var95
/* : FlatString */;
8888 val
* var96
/* : String */;
8889 static val
* varonce97
;
8890 val
* var98
/* : String */;
8891 char* var99
/* : NativeString */;
8892 long var100
/* : Int */;
8893 val
* var101
/* : FlatString */;
8894 val
* var102
/* : Array[Object] */;
8895 long var103
/* : Int */;
8896 val
* var104
/* : NativeArray[Object] */;
8897 val
* var105
/* : String */;
8898 val
* var106
/* : RuntimeVariable */;
8905 var4
= standard___standard__NativeString___to_s_with_length(var2
, var3
);
8910 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
8911 var7
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
8912 if (unlikely(var7
== NULL
)) {
8913 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8914 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
8922 var8
= nit___nit__MClass___nit__model_base__MEntity__c_name(var5
);
8924 var9
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8925 { /* var9 = array_instance Array[Object] */
8927 var11
= NEW_standard__NativeArray(var10
, &type_standard__NativeArray__standard__Object
);
8928 ((struct instance_standard__NativeArray
*)var11
)->values
[0] = (val
*) var1
;
8929 ((struct instance_standard__NativeArray
*)var11
)->values
[1] = (val
*) var8
;
8931 ((void (*)(val
* self
, val
* p0
, long p1
))(var9
->class->vft
[COLOR_standard__array__Array__with_native
]))(var9
, var11
, var10
) /* with_native on <var9:Array[Object]>*/;
8935 var12
= ((val
* (*)(val
* self
))(var9
->class->vft
[COLOR_standard__string__Object__to_s
]))(var9
) /* to_s on <var9:Array[Object]>*/;
8938 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var12
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
8941 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
8942 var15
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
8943 if (unlikely(var15
== NULL
)) {
8944 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
8945 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
8949 RET_LABEL14
:(void)0;
8952 var_compiler
= var13
;
8953 /* <var_mtype:MClassType> isa MGenericType */
8954 cltype
= type_nit__MGenericType
.color
;
8955 idtype
= type_nit__MGenericType
.id
;
8956 if(cltype
>= var_mtype
->type
->table_size
) {
8959 var17
= var_mtype
->type
->type_table
[cltype
] == idtype
;
8964 { /* Inline model#MGenericType#need_anchor (var_mtype) on <var_mtype:MClassType(MGenericType)> */
8965 var20
= var_mtype
->attrs
[COLOR_nit__model__MGenericType___need_anchor
].s
; /* _need_anchor on <var_mtype:MClassType(MGenericType)> */
8967 RET_LABEL19
:(void)0;
8976 nit___nit__SeparateCompilerVisitor___hardening_live_open_type(self
, var_mtype
); /* Direct call separate_compiler#SeparateCompilerVisitor#hardening_live_open_type on <self:SeparateCompilerVisitor>*/
8979 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
8980 var23
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
8982 RET_LABEL22
:(void)0;
8985 if (var21
== NULL
) {
8986 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8987 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1457);
8990 { /* Inline abstract_compiler#StaticFrame#mpropdef (var21) on <var21:nullable StaticFrame> */
8991 if (unlikely(var21
== NULL
)) {
8992 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8993 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1724);
8996 var26
= var21
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___mpropdef
].val
; /* _mpropdef on <var21:nullable StaticFrame> */
8997 if (unlikely(var26
== NULL
)) {
8998 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
8999 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1724);
9003 RET_LABEL25
:(void)0;
9007 { /* Inline model#MPropDef#mclassdef (var24) on <var24:MPropDef> */
9008 var29
= var24
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var24:MPropDef> */
9009 if (unlikely(var29
== NULL
)) {
9010 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
9011 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
9015 RET_LABEL28
:(void)0;
9019 nit___nit__SeparateCompilerVisitor___link_unresolved_type(self
, var27
, var_mtype
); /* Direct call separate_compiler#SeparateCompilerVisitor#link_unresolved_type on <self:SeparateCompilerVisitor>*/
9022 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
9023 var32
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
9025 RET_LABEL31
:(void)0;
9028 if (var30
== NULL
) {
9029 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9030 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1458);
9033 { /* Inline abstract_compiler#StaticFrame#arguments (var30) on <var30:nullable StaticFrame> */
9034 if (unlikely(var30
== NULL
)) {
9035 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9036 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1731);
9039 var35
= var30
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___arguments
].val
; /* _arguments on <var30:nullable StaticFrame> */
9040 if (unlikely(var35
== NULL
)) {
9041 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
9042 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1731);
9046 RET_LABEL34
:(void)0;
9050 var36
= standard___standard__SequenceRead___Collection__first(var33
);
9054 var37
= nit___nit__SeparateCompilerVisitor___type_info(self
, var_recv
);
9056 var_recv_type_info
= var37
;
9058 var38
= nit__separate_compiler___MEntity___const_color(var_mtype
);
9061 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var38
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
9068 var43
= standard___standard__NativeString___to_s_with_length(var41
, var42
);
9073 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType(MGenericType)> */
9074 var46
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType(MGenericType)> */
9075 if (unlikely(var46
== NULL
)) {
9076 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9077 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
9081 RET_LABEL45
:(void)0;
9085 var47
= nit___nit__MClass___nit__model_base__MEntity__c_name(var44
);
9092 var52
= standard___standard__NativeString___to_s_with_length(var50
, var51
);
9099 var55
= "->resolution_table->types[";
9101 var57
= standard___standard__NativeString___to_s_with_length(var55
, var56
);
9106 var58
= nit__separate_compiler___MEntity___const_color(var_mtype
);
9113 var63
= standard___standard__NativeString___to_s_with_length(var61
, var62
);
9117 var64
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9118 { /* var64 = array_instance Array[Object] */
9120 var66
= NEW_standard__NativeArray(var65
, &type_standard__NativeArray__standard__Object
);
9121 ((struct instance_standard__NativeArray
*)var66
)->values
[0] = (val
*) var40
;
9122 ((struct instance_standard__NativeArray
*)var66
)->values
[1] = (val
*) var47
;
9123 ((struct instance_standard__NativeArray
*)var66
)->values
[2] = (val
*) var49
;
9124 ((struct instance_standard__NativeArray
*)var66
)->values
[3] = (val
*) var_recv_type_info
;
9125 ((struct instance_standard__NativeArray
*)var66
)->values
[4] = (val
*) var54
;
9126 ((struct instance_standard__NativeArray
*)var66
)->values
[5] = (val
*) var58
;
9127 ((struct instance_standard__NativeArray
*)var66
)->values
[6] = (val
*) var60
;
9129 ((void (*)(val
* self
, val
* p0
, long p1
))(var64
->class->vft
[COLOR_standard__array__Array__with_native
]))(var64
, var66
, var65
) /* with_native on <var64:Array[Object]>*/;
9133 var67
= ((val
* (*)(val
* self
))(var64
->class->vft
[COLOR_standard__string__Object__to_s
]))(var64
) /* to_s on <var64:Array[Object]>*/;
9136 var68
= nit___nit__AbstractCompilerVisitor___new_expr(self
, var67
, var_mtype
);
9143 { /* Inline separate_compiler#SeparateCompiler#undead_types (var_compiler) on <var_compiler:SeparateCompiler> */
9144 var71
= var_compiler
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___undead_types
].val
; /* _undead_types on <var_compiler:SeparateCompiler> */
9145 if (unlikely(var71
== NULL
)) {
9146 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _undead_types");
9147 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 121);
9151 RET_LABEL70
:(void)0;
9155 ((void (*)(val
* self
, val
* p0
))(var69
->class->vft
[COLOR_standard__abstract_collection__SimpleCollection__add
]))(var69
, var_mtype
) /* add on <var69:Set[MType]>*/;
9162 var76
= standard___standard__NativeString___to_s_with_length(var74
, var75
);
9167 var77
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType>*/;
9169 var78
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9170 { /* var78 = array_instance Array[Object] */
9172 var80
= NEW_standard__NativeArray(var79
, &type_standard__NativeArray__standard__Object
);
9173 ((struct instance_standard__NativeArray
*)var80
)->values
[0] = (val
*) var73
;
9174 ((struct instance_standard__NativeArray
*)var80
)->values
[1] = (val
*) var77
;
9176 ((void (*)(val
* self
, val
* p0
, long p1
))(var78
->class->vft
[COLOR_standard__array__Array__with_native
]))(var78
, var80
, var79
) /* with_native on <var78:Array[Object]>*/;
9180 var81
= ((val
* (*)(val
* self
))(var78
->class->vft
[COLOR_standard__string__Object__to_s
]))(var78
) /* to_s on <var78:Array[Object]>*/;
9183 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var81
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
9190 var86
= standard___standard__NativeString___to_s_with_length(var84
, var85
);
9195 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
9196 var89
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
9197 if (unlikely(var89
== NULL
)) {
9198 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9199 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
9203 RET_LABEL88
:(void)0;
9207 var90
= nit___nit__MClass___nit__model_base__MEntity__c_name(var87
);
9214 var95
= standard___standard__NativeString___to_s_with_length(var93
, var94
);
9219 var96
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType>*/;
9226 var101
= standard___standard__NativeString___to_s_with_length(var99
, var100
);
9230 var102
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9231 { /* var102 = array_instance Array[Object] */
9233 var104
= NEW_standard__NativeArray(var103
, &type_standard__NativeArray__standard__Object
);
9234 ((struct instance_standard__NativeArray
*)var104
)->values
[0] = (val
*) var83
;
9235 ((struct instance_standard__NativeArray
*)var104
)->values
[1] = (val
*) var90
;
9236 ((struct instance_standard__NativeArray
*)var104
)->values
[2] = (val
*) var92
;
9237 ((struct instance_standard__NativeArray
*)var104
)->values
[3] = (val
*) var96
;
9238 ((struct instance_standard__NativeArray
*)var104
)->values
[4] = (val
*) var98
;
9240 ((void (*)(val
* self
, val
* p0
, long p1
))(var102
->class->vft
[COLOR_standard__array__Array__with_native
]))(var102
, var104
, var103
) /* with_native on <var102:Array[Object]>*/;
9244 var105
= ((val
* (*)(val
* self
))(var102
->class->vft
[COLOR_standard__string__Object__to_s
]))(var102
) /* to_s on <var102:Array[Object]>*/;
9247 var106
= nit___nit__AbstractCompilerVisitor___new_expr(self
, var105
, var_mtype
);