1 #include "nit__separate_compiler.sep.0.h"
2 /* method separate_compiler#SeparateCompilerVisitor#read_attribute for (self: SeparateCompilerVisitor, MAttribute, RuntimeVariable): RuntimeVariable */
3 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__read_attribute(val
* self
, val
* p0
, val
* p1
) {
4 val
* var
/* : RuntimeVariable */;
5 val
* var_a
/* var a: MAttribute */;
6 val
* var_recv
/* var recv: RuntimeVariable */;
7 val
* var1
/* : MPropDef */;
8 val
* var3
/* : MPropDef */;
9 val
* var4
/* : nullable MType */;
10 val
* var6
/* : nullable MType */;
11 val
* var_ret
/* var ret: MType */;
12 val
* var7
/* : MPropDef */;
13 val
* var9
/* : MPropDef */;
14 val
* var10
/* : MClassDef */;
15 val
* var12
/* : MClassDef */;
16 val
* var_intromclassdef
/* var intromclassdef: MClassDef */;
17 val
* var13
/* : MClassType */;
18 val
* var15
/* : MClassType */;
19 val
* var16
/* : MClassType */;
20 val
* var18
/* : MClassType */;
21 val
* var19
/* : MModule */;
22 val
* var21
/* : MModule */;
23 val
* var22
/* : MType */;
24 val
* var23
/* : AbstractCompiler */;
25 val
* var25
/* : AbstractCompiler */;
26 val
* var26
/* : ModelBuilder */;
27 val
* var28
/* : ModelBuilder */;
28 val
* var29
/* : ToolContext */;
29 val
* var31
/* : ToolContext */;
30 val
* var32
/* : OptionBool */;
31 val
* var34
/* : OptionBool */;
32 val
* var35
/* : nullable Object */;
33 val
* var37
/* : nullable Object */;
34 short int var38
/* : Bool */;
35 val
* var39
/* : AbstractCompiler */;
36 val
* var41
/* : AbstractCompiler */;
37 val
* var_
/* var : SeparateCompiler */;
38 long var42
/* : Int */;
39 long var44
/* : Int */;
40 long var45
/* : Int */;
41 short int var47
/* : Bool */;
44 const char* var_class_name
;
45 long var48
/* : Int */;
47 val
* var50
/* : String */;
48 char* var51
/* : NativeString */;
49 val
* var52
/* : FlatString */;
50 val
* var53
/* : String */;
51 val
* var54
/* : AbstractCompiler */;
52 val
* var56
/* : AbstractCompiler */;
53 val
* var57
/* : ModelBuilder */;
54 val
* var59
/* : ModelBuilder */;
55 val
* var60
/* : ToolContext */;
56 val
* var62
/* : ToolContext */;
57 val
* var63
/* : OptionBool */;
58 val
* var65
/* : OptionBool */;
59 val
* var66
/* : nullable Object */;
60 val
* var68
/* : nullable Object */;
61 short int var69
/* : Bool */;
62 val
* var70
/* : MClassType */;
63 val
* var71
/* : MType */;
64 val
* var_cret
/* var cret: MType */;
65 val
* var72
/* : RuntimeVariable */;
66 val
* var_res
/* var res: RuntimeVariable */;
67 val
* var75
/* : NativeArray[String] */;
68 static val
* varonce74
;
69 static val
* varonce76
;
70 val
* var77
/* : String */;
71 char* var78
/* : NativeString */;
72 val
* var79
/* : FlatString */;
73 static val
* varonce80
;
74 val
* var81
/* : String */;
75 char* var82
/* : NativeString */;
76 val
* var83
/* : FlatString */;
77 static val
* varonce84
;
78 val
* var85
/* : String */;
79 char* var86
/* : NativeString */;
80 val
* var87
/* : FlatString */;
81 static val
* varonce88
;
82 val
* var89
/* : String */;
83 char* var90
/* : NativeString */;
84 val
* var91
/* : FlatString */;
85 static val
* varonce92
;
86 val
* var93
/* : String */;
87 char* var94
/* : NativeString */;
88 val
* var95
/* : FlatString */;
89 val
* var96
/* : String */;
90 val
* var97
/* : String */;
91 val
* var98
/* : String */;
92 val
* var99
/* : String */;
93 val
* var100
/* : String */;
94 val
* var101
/* : String */;
95 short int var102
/* : Bool */;
96 short int var103
/* : Bool */;
99 short int var106
/* : Bool */;
100 short int var_107
/* var : Bool */;
101 val
* var108
/* : AbstractCompiler */;
102 val
* var110
/* : AbstractCompiler */;
103 val
* var111
/* : ModelBuilder */;
104 val
* var113
/* : ModelBuilder */;
105 val
* var114
/* : ToolContext */;
106 val
* var116
/* : ToolContext */;
107 val
* var117
/* : OptionBool */;
108 val
* var119
/* : OptionBool */;
109 val
* var120
/* : nullable Object */;
110 val
* var122
/* : nullable Object */;
111 short int var123
/* : Bool */;
112 short int var124
/* : Bool */;
113 val
* var126
/* : NativeArray[String] */;
114 static val
* varonce125
;
115 static val
* varonce127
;
116 val
* var128
/* : String */;
117 char* var129
/* : NativeString */;
118 val
* var130
/* : FlatString */;
119 static val
* varonce131
;
120 val
* var132
/* : String */;
121 char* var133
/* : NativeString */;
122 val
* var134
/* : FlatString */;
123 val
* var135
/* : String */;
124 val
* var136
/* : String */;
125 val
* var138
/* : NativeArray[String] */;
126 static val
* varonce137
;
127 static val
* varonce139
;
128 val
* var140
/* : String */;
129 char* var141
/* : NativeString */;
130 val
* var142
/* : FlatString */;
131 val
* var143
/* : String */;
132 val
* var145
/* : String */;
133 val
* var146
/* : String */;
134 static val
* varonce147
;
135 val
* var148
/* : String */;
136 char* var149
/* : NativeString */;
137 val
* var150
/* : FlatString */;
138 val
* var151
/* : AbstractCompiler */;
139 val
* var153
/* : AbstractCompiler */;
140 val
* var154
/* : ModelBuilder */;
141 val
* var156
/* : ModelBuilder */;
142 val
* var157
/* : ToolContext */;
143 val
* var159
/* : ToolContext */;
144 val
* var160
/* : OptionBool */;
145 val
* var162
/* : OptionBool */;
146 val
* var163
/* : nullable Object */;
147 val
* var165
/* : nullable Object */;
148 short int var166
/* : Bool */;
149 val
* var167
/* : AbstractCompiler */;
150 val
* var169
/* : AbstractCompiler */;
151 val
* var_170
/* var : SeparateCompiler */;
152 long var171
/* : Int */;
153 long var173
/* : Int */;
154 long var174
/* : Int */;
155 short int var176
/* : Bool */;
158 const char* var_class_name179
;
159 long var180
/* : Int */;
160 static val
* varonce182
;
161 val
* var183
/* : String */;
162 char* var184
/* : NativeString */;
163 val
* var185
/* : FlatString */;
164 val
* var186
/* : RuntimeVariable */;
165 val
* var187
/* : RuntimeVariable */;
166 val
* var_res188
/* var res: RuntimeVariable */;
167 val
* var190
/* : NativeArray[String] */;
168 static val
* varonce189
;
169 static val
* varonce191
;
170 val
* var192
/* : String */;
171 char* var193
/* : NativeString */;
172 val
* var194
/* : FlatString */;
173 static val
* varonce195
;
174 val
* var196
/* : String */;
175 char* var197
/* : NativeString */;
176 val
* var198
/* : FlatString */;
177 static val
* varonce199
;
178 val
* var200
/* : String */;
179 char* var201
/* : NativeString */;
180 val
* var202
/* : FlatString */;
181 static val
* varonce203
;
182 val
* var204
/* : String */;
183 char* var205
/* : NativeString */;
184 val
* var206
/* : FlatString */;
185 static val
* varonce207
;
186 val
* var208
/* : String */;
187 char* var209
/* : NativeString */;
188 val
* var210
/* : FlatString */;
189 static val
* varonce211
;
190 val
* var212
/* : String */;
191 char* var213
/* : NativeString */;
192 val
* var214
/* : FlatString */;
193 val
* var215
/* : String */;
194 val
* var216
/* : String */;
195 val
* var217
/* : String */;
196 val
* var218
/* : String */;
197 val
* var219
/* : String */;
198 val
* var220
/* : String */;
199 val
* var221
/* : String */;
200 short int var222
/* : Bool */;
201 short int var223
/* : Bool */;
202 short int var224
/* : Bool */;
203 short int var225
/* : Bool */;
204 short int var_226
/* var : Bool */;
205 short int var227
/* : Bool */;
208 short int var230
/* : Bool */;
209 short int var_231
/* var : Bool */;
210 val
* var232
/* : AbstractCompiler */;
211 val
* var234
/* : AbstractCompiler */;
212 val
* var235
/* : ModelBuilder */;
213 val
* var237
/* : ModelBuilder */;
214 val
* var238
/* : ToolContext */;
215 val
* var240
/* : ToolContext */;
216 val
* var241
/* : OptionBool */;
217 val
* var243
/* : OptionBool */;
218 val
* var244
/* : nullable Object */;
219 val
* var246
/* : nullable Object */;
220 short int var247
/* : Bool */;
221 short int var248
/* : Bool */;
222 val
* var250
/* : NativeArray[String] */;
223 static val
* varonce249
;
224 static val
* varonce251
;
225 val
* var252
/* : String */;
226 char* var253
/* : NativeString */;
227 val
* var254
/* : FlatString */;
228 static val
* varonce255
;
229 val
* var256
/* : String */;
230 char* var257
/* : NativeString */;
231 val
* var258
/* : FlatString */;
232 val
* var259
/* : String */;
233 val
* var260
/* : String */;
234 val
* var262
/* : NativeArray[String] */;
235 static val
* varonce261
;
236 static val
* varonce263
;
237 val
* var264
/* : String */;
238 char* var265
/* : NativeString */;
239 val
* var266
/* : FlatString */;
240 val
* var267
/* : String */;
241 val
* var269
/* : String */;
242 val
* var270
/* : String */;
243 static val
* varonce271
;
244 val
* var272
/* : String */;
245 char* var273
/* : NativeString */;
246 val
* var274
/* : FlatString */;
247 val
* var275
/* : AbstractCompiler */;
248 val
* var277
/* : AbstractCompiler */;
249 val
* var278
/* : ModelBuilder */;
250 val
* var280
/* : ModelBuilder */;
251 val
* var281
/* : ToolContext */;
252 val
* var283
/* : ToolContext */;
253 val
* var284
/* : OptionBool */;
254 val
* var286
/* : OptionBool */;
255 val
* var287
/* : nullable Object */;
256 val
* var289
/* : nullable Object */;
257 short int var290
/* : Bool */;
258 val
* var291
/* : AbstractCompiler */;
259 val
* var293
/* : AbstractCompiler */;
260 val
* var_294
/* var : SeparateCompiler */;
261 long var295
/* : Int */;
262 long var297
/* : Int */;
263 long var298
/* : Int */;
264 short int var300
/* : Bool */;
267 const char* var_class_name303
;
268 long var304
/* : Int */;
269 static val
* varonce306
;
270 val
* var307
/* : String */;
271 char* var308
/* : NativeString */;
272 val
* var309
/* : FlatString */;
276 nit___nit__AbstractCompilerVisitor___check_recv_notnull(self
, var_recv
); /* Direct call abstract_compiler#AbstractCompilerVisitor#check_recv_notnull on <self:SeparateCompilerVisitor>*/
279 { /* Inline model#MProperty#intro (var_a) on <var_a:MAttribute> */
280 var3
= var_a
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var_a:MAttribute> */
281 if (unlikely(var3
== NULL
)) {
282 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
283 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1968);
291 { /* Inline model#MAttributeDef#static_mtype (var1) on <var1:MPropDef(MAttributeDef)> */
292 var6
= var1
->attrs
[COLOR_nit__model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var1:MPropDef(MAttributeDef)> */
297 if (unlikely(var4
== NULL
)) {
298 PRINT_ERROR("Runtime error: %s", "Cast failed");
299 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1621);
304 { /* Inline model#MProperty#intro (var_a) on <var_a:MAttribute> */
305 var9
= var_a
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var_a:MAttribute> */
306 if (unlikely(var9
== NULL
)) {
307 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
308 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1968);
316 { /* Inline model#MPropDef#mclassdef (var7) on <var7:MPropDef(MAttributeDef)> */
317 var12
= var7
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var7:MPropDef(MAttributeDef)> */
318 if (unlikely(var12
== NULL
)) {
319 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
320 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
327 var_intromclassdef
= var10
;
329 { /* Inline model#MClassDef#bound_mtype (var_intromclassdef) on <var_intromclassdef:MClassDef> */
330 var15
= var_intromclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intromclassdef:MClassDef> */
331 if (unlikely(var15
== NULL
)) {
332 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
333 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
341 { /* Inline model#MClassDef#bound_mtype (var_intromclassdef) on <var_intromclassdef:MClassDef> */
342 var18
= var_intromclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intromclassdef:MClassDef> */
343 if (unlikely(var18
== NULL
)) {
344 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
345 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
353 { /* Inline model#MClassDef#mmodule (var_intromclassdef) on <var_intromclassdef:MClassDef> */
354 var21
= var_intromclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_intromclassdef:MClassDef> */
355 if (unlikely(var21
== NULL
)) {
356 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
357 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
365 var22
= ((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
, 1); /* resolve_for on <var_ret:MType>*/
369 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
370 var25
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
371 if (unlikely(var25
== NULL
)) {
372 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
373 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
381 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var23) on <var23:AbstractCompiler(SeparateCompiler)> */
382 var28
= var23
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var23:AbstractCompiler(SeparateCompiler)> */
383 if (unlikely(var28
== NULL
)) {
384 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
385 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
393 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var26) on <var26:ModelBuilder> */
394 var31
= var26
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var26:ModelBuilder> */
395 if (unlikely(var31
== NULL
)) {
396 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
397 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
405 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var29) on <var29:ToolContext> */
406 var34
= var29
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var29:ToolContext> */
407 if (unlikely(var34
== NULL
)) {
408 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
409 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 64);
417 { /* Inline opts#Option#value (var32) on <var32:OptionBool> */
418 var37
= var32
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var32:OptionBool> */
423 var38
= (short int)((long)(var35
)>>2);
426 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
427 var41
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
428 if (unlikely(var41
== NULL
)) {
429 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
430 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
439 { /* Inline separate_compiler#SeparateCompiler#attr_read_count (var_) on <var_:SeparateCompiler> */
440 var44
= var_
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___attr_read_count
].l
; /* _attr_read_count on <var_:SeparateCompiler> */
446 { /* Inline kernel#Int#+ (var42,1l) on <var42:Int> */
447 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
448 /* <1l:Int> isa OTHER */
449 var47
= 1; /* easy <1l:Int> isa OTHER*/
450 if (unlikely(!var47
)) {
451 var_class_name
= type_standard__Int
.name
;
452 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
453 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
463 { /* Inline separate_compiler#SeparateCompiler#attr_read_count= (var_,var45) on <var_:SeparateCompiler> */
464 var_
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___attr_read_count
].l
= var45
; /* _attr_read_count on <var_:SeparateCompiler> */
468 if (likely(varonce
!=NULL
)) {
471 var51
= "count_attr_reads++;";
472 var52
= standard___standard__NativeString___to_s_with_length(var51
, 19l);
477 nit___nit__AbstractCompilerVisitor___add(self
, var50
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
482 var53
= nit__separate_compiler___MEntity___const_color(var_a
);
485 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var53
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
488 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
489 var56
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
490 if (unlikely(var56
== NULL
)) {
491 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
492 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
500 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var54) on <var54:AbstractCompiler(SeparateCompiler)> */
501 var59
= var54
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var54:AbstractCompiler(SeparateCompiler)> */
502 if (unlikely(var59
== NULL
)) {
503 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
504 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
512 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var57) on <var57:ModelBuilder> */
513 var62
= var57
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var57:ModelBuilder> */
514 if (unlikely(var62
== NULL
)) {
515 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
516 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
524 { /* Inline separate_compiler#ToolContext#opt_no_union_attribute (var60) on <var60:ToolContext> */
525 var65
= var60
->attrs
[COLOR_nit__separate_compiler__ToolContext___opt_no_union_attribute
].val
; /* _opt_no_union_attribute on <var60:ToolContext> */
526 if (unlikely(var65
== NULL
)) {
527 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_union_attribute");
528 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 28);
536 { /* Inline opts#Option#value (var63) on <var63:OptionBool> */
537 var68
= var63
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var63:OptionBool> */
542 var69
= (short int)((long)(var66
)>>2);
545 var70
= nit___nit__AbstractCompilerVisitor___object_type(self
);
548 var71
= nit___nit__MType___as_nullable(var70
);
552 var72
= nit___nit__AbstractCompilerVisitor___new_var(self
, var_cret
);
556 { /* Inline abstract_compiler#RuntimeVariable#mcasttype= (var_res,var_ret) on <var_res:RuntimeVariable> */
557 var_res
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
= var_ret
; /* _mcasttype on <var_res:RuntimeVariable> */
561 if (unlikely(varonce74
==NULL
)) {
562 var75
= NEW_standard__NativeArray(10l, &type_standard__NativeArray__standard__String
);
563 if (likely(varonce76
!=NULL
)) {
567 var79
= standard___standard__NativeString___to_s_with_length(var78
, 3l);
571 ((struct instance_standard__NativeArray
*)var75
)->values
[1]=var77
;
572 if (likely(varonce80
!=NULL
)) {
576 var83
= standard___standard__NativeString___to_s_with_length(var82
, 8l);
580 ((struct instance_standard__NativeArray
*)var75
)->values
[3]=var81
;
581 if (likely(varonce84
!=NULL
)) {
585 var87
= standard___standard__NativeString___to_s_with_length(var86
, 6l);
589 ((struct instance_standard__NativeArray
*)var75
)->values
[5]=var85
;
590 if (likely(varonce88
!=NULL
)) {
594 var91
= standard___standard__NativeString___to_s_with_length(var90
, 4l);
598 ((struct instance_standard__NativeArray
*)var75
)->values
[7]=var89
;
599 if (likely(varonce92
!=NULL
)) {
603 var95
= standard___standard__NativeString___to_s_with_length(var94
, 3l);
607 ((struct instance_standard__NativeArray
*)var75
)->values
[9]=var93
;
613 var96
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
615 ((struct instance_standard__NativeArray
*)var75
)->values
[0]=var96
;
617 var97
= ((val
*(*)(val
* self
))(var_recv
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_recv
); /* to_s on <var_recv:RuntimeVariable>*/
619 ((struct instance_standard__NativeArray
*)var75
)->values
[2]=var97
;
621 var98
= nit__separate_compiler___MEntity___const_color(var_a
);
623 ((struct instance_standard__NativeArray
*)var75
)->values
[4]=var98
;
625 var99
= ((val
*(*)(val
* self
))(var_a
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_a
); /* to_s on <var_a:MAttribute>*/
627 ((struct instance_standard__NativeArray
*)var75
)->values
[6]=var99
;
629 var100
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_recv
);
631 ((struct instance_standard__NativeArray
*)var75
)->values
[8]=var100
;
633 var101
= ((val
*(*)(val
* self
))(var75
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var75
); /* native_to_s on <var75:NativeArray[String]>*/
637 nit___nit__AbstractCompilerVisitor___add(self
, var101
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
639 /* <var_ret:MType> isa MNullableType */
640 cltype104
= type_nit__MNullableType
.color
;
641 idtype105
= type_nit__MNullableType
.id
;
642 if(cltype104
>= var_ret
->type
->table_size
) {
645 var103
= var_ret
->type
->type_table
[cltype104
] == idtype105
;
651 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
652 var110
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
653 if (unlikely(var110
== NULL
)) {
654 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
655 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
659 RET_LABEL109
:(void)0;
663 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var108) on <var108:AbstractCompiler(SeparateCompiler)> */
664 var113
= var108
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var108:AbstractCompiler(SeparateCompiler)> */
665 if (unlikely(var113
== NULL
)) {
666 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
667 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
671 RET_LABEL112
:(void)0;
675 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var111) on <var111:ModelBuilder> */
676 var116
= var111
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var111:ModelBuilder> */
677 if (unlikely(var116
== NULL
)) {
678 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
679 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
683 RET_LABEL115
:(void)0;
687 { /* Inline abstract_compiler#ToolContext#opt_no_check_attr_isset (var114) on <var114:ToolContext> */
688 var119
= var114
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_attr_isset
].val
; /* _opt_no_check_attr_isset on <var114:ToolContext> */
689 if (unlikely(var119
== NULL
)) {
690 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_attr_isset");
691 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 50);
695 RET_LABEL118
:(void)0;
699 { /* Inline opts#Option#value (var117) on <var117:OptionBool> */
700 var122
= var117
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var117:OptionBool> */
702 RET_LABEL121
:(void)0;
705 var123
= (short int)((long)(var120
)>>2);
712 if (unlikely(varonce125
==NULL
)) {
713 var126
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
714 if (likely(varonce127
!=NULL
)) {
717 var129
= "if (unlikely(";
718 var130
= standard___standard__NativeString___to_s_with_length(var129
, 13l);
722 ((struct instance_standard__NativeArray
*)var126
)->values
[0]=var128
;
723 if (likely(varonce131
!=NULL
)) {
726 var133
= " == NULL)) {";
727 var134
= standard___standard__NativeString___to_s_with_length(var133
, 12l);
731 ((struct instance_standard__NativeArray
*)var126
)->values
[2]=var132
;
737 var135
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
739 ((struct instance_standard__NativeArray
*)var126
)->values
[1]=var135
;
741 var136
= ((val
*(*)(val
* self
))(var126
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var126
); /* native_to_s on <var126:NativeArray[String]>*/
745 nit___nit__AbstractCompilerVisitor___add(self
, var136
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
747 if (unlikely(varonce137
==NULL
)) {
748 var138
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
749 if (likely(varonce139
!=NULL
)) {
752 var141
= "Uninitialized attribute ";
753 var142
= standard___standard__NativeString___to_s_with_length(var141
, 24l);
757 ((struct instance_standard__NativeArray
*)var138
)->values
[0]=var140
;
763 { /* Inline model#MProperty#name (var_a) on <var_a:MAttribute> */
764 var145
= var_a
->attrs
[COLOR_nit__model__MProperty___name
].val
; /* _name on <var_a:MAttribute> */
765 if (unlikely(var145
== NULL
)) {
766 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
767 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1933);
771 RET_LABEL144
:(void)0;
774 ((struct instance_standard__NativeArray
*)var138
)->values
[1]=var143
;
776 var146
= ((val
*(*)(val
* self
))(var138
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var138
); /* native_to_s on <var138:NativeArray[String]>*/
780 nit___nit__AbstractCompilerVisitor___add_abort(self
, var146
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:SeparateCompilerVisitor>*/
782 if (likely(varonce147
!=NULL
)) {
786 var150
= standard___standard__NativeString___to_s_with_length(var149
, 1l);
791 nit___nit__AbstractCompilerVisitor___add(self
, var148
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
794 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
795 var153
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
796 if (unlikely(var153
== NULL
)) {
797 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
798 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
802 RET_LABEL152
:(void)0;
806 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var151) on <var151:AbstractCompiler(SeparateCompiler)> */
807 var156
= var151
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var151:AbstractCompiler(SeparateCompiler)> */
808 if (unlikely(var156
== NULL
)) {
809 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
810 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
814 RET_LABEL155
:(void)0;
818 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var154) on <var154:ModelBuilder> */
819 var159
= var154
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var154:ModelBuilder> */
820 if (unlikely(var159
== NULL
)) {
821 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
822 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
826 RET_LABEL158
:(void)0;
830 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var157) on <var157:ToolContext> */
831 var162
= var157
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var157:ToolContext> */
832 if (unlikely(var162
== NULL
)) {
833 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
834 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 64);
838 RET_LABEL161
:(void)0;
842 { /* Inline opts#Option#value (var160) on <var160:OptionBool> */
843 var165
= var160
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var160:OptionBool> */
845 RET_LABEL164
:(void)0;
848 var166
= (short int)((long)(var163
)>>2);
851 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
852 var169
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
853 if (unlikely(var169
== NULL
)) {
854 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
855 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
859 RET_LABEL168
:(void)0;
864 { /* Inline separate_compiler#SeparateCompiler#isset_checks_count (var_170) on <var_170:SeparateCompiler> */
865 var173
= var_170
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___isset_checks_count
].l
; /* _isset_checks_count on <var_170:SeparateCompiler> */
867 RET_LABEL172
:(void)0;
871 { /* Inline kernel#Int#+ (var171,1l) on <var171:Int> */
872 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
873 /* <1l:Int> isa OTHER */
874 var176
= 1; /* easy <1l:Int> isa OTHER*/
875 if (unlikely(!var176
)) {
876 var_class_name179
= type_standard__Int
.name
;
877 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name179
);
878 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
881 var180
= var171
+ 1l;
884 RET_LABEL175
:(void)0;
888 { /* Inline separate_compiler#SeparateCompiler#isset_checks_count= (var_170,var174) on <var_170:SeparateCompiler> */
889 var_170
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___isset_checks_count
].l
= var174
; /* _isset_checks_count on <var_170:SeparateCompiler> */
890 RET_LABEL181
:(void)0;
893 if (likely(varonce182
!=NULL
)) {
896 var184
= "count_isset_checks++;";
897 var185
= standard___standard__NativeString___to_s_with_length(var184
, 21l);
902 nit___nit__AbstractCompilerVisitor___add(self
, var183
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
909 var186
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__autobox(self
, var_res
, var_ret
);
915 var187
= nit___nit__AbstractCompilerVisitor___new_var(self
, var_ret
);
918 if (unlikely(varonce189
==NULL
)) {
919 var190
= NEW_standard__NativeArray(12l, &type_standard__NativeArray__standard__String
);
920 if (likely(varonce191
!=NULL
)) {
924 var194
= standard___standard__NativeString___to_s_with_length(var193
, 3l);
928 ((struct instance_standard__NativeArray
*)var190
)->values
[1]=var192
;
929 if (likely(varonce195
!=NULL
)) {
933 var198
= standard___standard__NativeString___to_s_with_length(var197
, 8l);
937 ((struct instance_standard__NativeArray
*)var190
)->values
[3]=var196
;
938 if (likely(varonce199
!=NULL
)) {
942 var202
= standard___standard__NativeString___to_s_with_length(var201
, 2l);
946 ((struct instance_standard__NativeArray
*)var190
)->values
[5]=var200
;
947 if (likely(varonce203
!=NULL
)) {
951 var206
= standard___standard__NativeString___to_s_with_length(var205
, 5l);
955 ((struct instance_standard__NativeArray
*)var190
)->values
[7]=var204
;
956 if (likely(varonce207
!=NULL
)) {
960 var210
= standard___standard__NativeString___to_s_with_length(var209
, 4l);
964 ((struct instance_standard__NativeArray
*)var190
)->values
[9]=var208
;
965 if (likely(varonce211
!=NULL
)) {
969 var214
= standard___standard__NativeString___to_s_with_length(var213
, 3l);
973 ((struct instance_standard__NativeArray
*)var190
)->values
[11]=var212
;
979 var215
= ((val
*(*)(val
* self
))(var_res188
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res188
); /* to_s on <var_res188:RuntimeVariable>*/
981 ((struct instance_standard__NativeArray
*)var190
)->values
[0]=var215
;
983 var216
= ((val
*(*)(val
* self
))(var_recv
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_recv
); /* to_s on <var_recv:RuntimeVariable>*/
985 ((struct instance_standard__NativeArray
*)var190
)->values
[2]=var216
;
987 var217
= nit__separate_compiler___MEntity___const_color(var_a
);
989 ((struct instance_standard__NativeArray
*)var190
)->values
[4]=var217
;
991 var218
= ((val
*(*)(val
* self
))(var_ret
->class->vft
[COLOR_nit__abstract_compiler__MType__ctypename
]))(var_ret
); /* ctypename on <var_ret:MType>*/
993 ((struct instance_standard__NativeArray
*)var190
)->values
[6]=var218
;
995 var219
= ((val
*(*)(val
* self
))(var_a
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_a
); /* to_s on <var_a:MAttribute>*/
997 ((struct instance_standard__NativeArray
*)var190
)->values
[8]=var219
;
999 var220
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_recv
);
1001 ((struct instance_standard__NativeArray
*)var190
)->values
[10]=var220
;
1003 var221
= ((val
*(*)(val
* self
))(var190
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var190
); /* native_to_s on <var190:NativeArray[String]>*/
1005 varonce189
= var190
;
1007 nit___nit__AbstractCompilerVisitor___add(self
, var221
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1010 var224
= ((short int(*)(val
* self
))(var_ret
->class->vft
[COLOR_nit__abstract_compiler__MType__is_c_primitive
]))(var_ret
); /* is_c_primitive on <var_ret:MType>*/
1015 /* <var_ret:MType> isa MNullableType */
1016 cltype228
= type_nit__MNullableType
.color
;
1017 idtype229
= type_nit__MNullableType
.id
;
1018 if(cltype228
>= var_ret
->type
->table_size
) {
1021 var227
= var_ret
->type
->type_table
[cltype228
] == idtype229
;
1031 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1032 var234
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1033 if (unlikely(var234
== NULL
)) {
1034 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1035 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
1039 RET_LABEL233
:(void)0;
1043 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var232) on <var232:AbstractCompiler(SeparateCompiler)> */
1044 var237
= var232
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var232:AbstractCompiler(SeparateCompiler)> */
1045 if (unlikely(var237
== NULL
)) {
1046 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1047 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
1051 RET_LABEL236
:(void)0;
1055 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var235) on <var235:ModelBuilder> */
1056 var240
= var235
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var235:ModelBuilder> */
1057 if (unlikely(var240
== NULL
)) {
1058 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1059 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1063 RET_LABEL239
:(void)0;
1067 { /* Inline abstract_compiler#ToolContext#opt_no_check_attr_isset (var238) on <var238:ToolContext> */
1068 var243
= var238
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_attr_isset
].val
; /* _opt_no_check_attr_isset on <var238:ToolContext> */
1069 if (unlikely(var243
== NULL
)) {
1070 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_attr_isset");
1071 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 50);
1075 RET_LABEL242
:(void)0;
1079 { /* Inline opts#Option#value (var241) on <var241:OptionBool> */
1080 var246
= var241
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var241:OptionBool> */
1082 RET_LABEL245
:(void)0;
1085 var247
= (short int)((long)(var244
)>>2);
1092 if (unlikely(varonce249
==NULL
)) {
1093 var250
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1094 if (likely(varonce251
!=NULL
)) {
1095 var252
= varonce251
;
1097 var253
= "if (unlikely(";
1098 var254
= standard___standard__NativeString___to_s_with_length(var253
, 13l);
1100 varonce251
= var252
;
1102 ((struct instance_standard__NativeArray
*)var250
)->values
[0]=var252
;
1103 if (likely(varonce255
!=NULL
)) {
1104 var256
= varonce255
;
1106 var257
= " == NULL)) {";
1107 var258
= standard___standard__NativeString___to_s_with_length(var257
, 12l);
1109 varonce255
= var256
;
1111 ((struct instance_standard__NativeArray
*)var250
)->values
[2]=var256
;
1113 var250
= varonce249
;
1117 var259
= ((val
*(*)(val
* self
))(var_res188
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res188
); /* to_s on <var_res188:RuntimeVariable>*/
1119 ((struct instance_standard__NativeArray
*)var250
)->values
[1]=var259
;
1121 var260
= ((val
*(*)(val
* self
))(var250
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var250
); /* native_to_s on <var250:NativeArray[String]>*/
1123 varonce249
= var250
;
1125 nit___nit__AbstractCompilerVisitor___add(self
, var260
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1127 if (unlikely(varonce261
==NULL
)) {
1128 var262
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
1129 if (likely(varonce263
!=NULL
)) {
1130 var264
= varonce263
;
1132 var265
= "Uninitialized attribute ";
1133 var266
= standard___standard__NativeString___to_s_with_length(var265
, 24l);
1135 varonce263
= var264
;
1137 ((struct instance_standard__NativeArray
*)var262
)->values
[0]=var264
;
1139 var262
= varonce261
;
1143 { /* Inline model#MProperty#name (var_a) on <var_a:MAttribute> */
1144 var269
= var_a
->attrs
[COLOR_nit__model__MProperty___name
].val
; /* _name on <var_a:MAttribute> */
1145 if (unlikely(var269
== NULL
)) {
1146 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1147 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1933);
1151 RET_LABEL268
:(void)0;
1154 ((struct instance_standard__NativeArray
*)var262
)->values
[1]=var267
;
1156 var270
= ((val
*(*)(val
* self
))(var262
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var262
); /* native_to_s on <var262:NativeArray[String]>*/
1158 varonce261
= var262
;
1160 nit___nit__AbstractCompilerVisitor___add_abort(self
, var270
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:SeparateCompilerVisitor>*/
1162 if (likely(varonce271
!=NULL
)) {
1163 var272
= varonce271
;
1166 var274
= standard___standard__NativeString___to_s_with_length(var273
, 1l);
1168 varonce271
= var272
;
1171 nit___nit__AbstractCompilerVisitor___add(self
, var272
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1174 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1175 var277
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1176 if (unlikely(var277
== NULL
)) {
1177 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1178 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
1182 RET_LABEL276
:(void)0;
1186 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var275) on <var275:AbstractCompiler(SeparateCompiler)> */
1187 var280
= var275
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var275:AbstractCompiler(SeparateCompiler)> */
1188 if (unlikely(var280
== NULL
)) {
1189 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1190 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
1194 RET_LABEL279
:(void)0;
1198 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var278) on <var278:ModelBuilder> */
1199 var283
= var278
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var278:ModelBuilder> */
1200 if (unlikely(var283
== NULL
)) {
1201 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1202 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1206 RET_LABEL282
:(void)0;
1210 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var281) on <var281:ToolContext> */
1211 var286
= var281
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var281:ToolContext> */
1212 if (unlikely(var286
== NULL
)) {
1213 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
1214 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 64);
1218 RET_LABEL285
:(void)0;
1222 { /* Inline opts#Option#value (var284) on <var284:OptionBool> */
1223 var289
= var284
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var284:OptionBool> */
1225 RET_LABEL288
:(void)0;
1228 var290
= (short int)((long)(var287
)>>2);
1231 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1232 var293
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1233 if (unlikely(var293
== NULL
)) {
1234 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1235 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
1239 RET_LABEL292
:(void)0;
1244 { /* Inline separate_compiler#SeparateCompiler#isset_checks_count (var_294) on <var_294:SeparateCompiler> */
1245 var297
= var_294
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___isset_checks_count
].l
; /* _isset_checks_count on <var_294:SeparateCompiler> */
1247 RET_LABEL296
:(void)0;
1251 { /* Inline kernel#Int#+ (var295,1l) on <var295:Int> */
1252 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1253 /* <1l:Int> isa OTHER */
1254 var300
= 1; /* easy <1l:Int> isa OTHER*/
1255 if (unlikely(!var300
)) {
1256 var_class_name303
= type_standard__Int
.name
;
1257 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name303
);
1258 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
1261 var304
= var295
+ 1l;
1264 RET_LABEL299
:(void)0;
1268 { /* Inline separate_compiler#SeparateCompiler#isset_checks_count= (var_294,var298) on <var_294:SeparateCompiler> */
1269 var_294
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___isset_checks_count
].l
= var298
; /* _isset_checks_count on <var_294:SeparateCompiler> */
1270 RET_LABEL305
:(void)0;
1273 if (likely(varonce306
!=NULL
)) {
1274 var307
= varonce306
;
1276 var308
= "count_isset_checks++;";
1277 var309
= standard___standard__NativeString___to_s_with_length(var308
, 21l);
1279 varonce306
= var307
;
1282 nit___nit__AbstractCompilerVisitor___add(self
, var307
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1294 /* method separate_compiler#SeparateCompilerVisitor#write_attribute for (self: SeparateCompilerVisitor, MAttribute, RuntimeVariable, RuntimeVariable) */
1295 void nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__write_attribute(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1296 val
* var_a
/* var a: MAttribute */;
1297 val
* var_recv
/* var recv: RuntimeVariable */;
1298 val
* var_value
/* var value: RuntimeVariable */;
1299 val
* var
/* : MPropDef */;
1300 val
* var2
/* : MPropDef */;
1301 val
* var3
/* : nullable MType */;
1302 val
* var5
/* : nullable MType */;
1303 val
* var_mtype
/* var mtype: MType */;
1304 val
* var6
/* : MPropDef */;
1305 val
* var8
/* : MPropDef */;
1306 val
* var9
/* : MClassDef */;
1307 val
* var11
/* : MClassDef */;
1308 val
* var_intromclassdef
/* var intromclassdef: MClassDef */;
1309 val
* var12
/* : MClassType */;
1310 val
* var14
/* : MClassType */;
1311 val
* var15
/* : MClassType */;
1312 val
* var17
/* : MClassType */;
1313 val
* var18
/* : MModule */;
1314 val
* var20
/* : MModule */;
1315 val
* var21
/* : MType */;
1316 val
* var22
/* : RuntimeVariable */;
1317 val
* var23
/* : String */;
1318 val
* var24
/* : AbstractCompiler */;
1319 val
* var26
/* : AbstractCompiler */;
1320 val
* var27
/* : ModelBuilder */;
1321 val
* var29
/* : ModelBuilder */;
1322 val
* var30
/* : ToolContext */;
1323 val
* var32
/* : ToolContext */;
1324 val
* var33
/* : OptionBool */;
1325 val
* var35
/* : OptionBool */;
1326 val
* var36
/* : nullable Object */;
1327 val
* var38
/* : nullable Object */;
1328 short int var39
/* : Bool */;
1329 val
* var40
/* : NativeArray[String] */;
1330 static val
* varonce
;
1331 static val
* varonce41
;
1332 val
* var42
/* : String */;
1333 char* var43
/* : NativeString */;
1334 val
* var44
/* : FlatString */;
1335 static val
* varonce45
;
1336 val
* var46
/* : String */;
1337 char* var47
/* : NativeString */;
1338 val
* var48
/* : FlatString */;
1339 val
* var49
/* : String */;
1340 val
* var50
/* : String */;
1341 val
* var51
/* : String */;
1342 val
* var_attr
/* var attr: String */;
1343 short int var52
/* : Bool */;
1344 short int var54
/* : Bool */;
1345 val
* var55
/* : AbstractCompiler */;
1346 val
* var57
/* : AbstractCompiler */;
1347 val
* var58
/* : MModule */;
1348 val
* var60
/* : MModule */;
1349 val
* var61
/* : MClassType */;
1350 val
* var62
/* : RuntimeVariable */;
1351 val
* var_tv
/* var tv: RuntimeVariable */;
1352 val
* var64
/* : NativeArray[String] */;
1353 static val
* varonce63
;
1354 static val
* varonce65
;
1355 val
* var66
/* : String */;
1356 char* var67
/* : NativeString */;
1357 val
* var68
/* : FlatString */;
1358 static val
* varonce69
;
1359 val
* var70
/* : String */;
1360 char* var71
/* : NativeString */;
1361 val
* var72
/* : FlatString */;
1362 static val
* varonce73
;
1363 val
* var74
/* : String */;
1364 char* var75
/* : NativeString */;
1365 val
* var76
/* : FlatString */;
1366 static val
* varonce77
;
1367 val
* var78
/* : String */;
1368 char* var79
/* : NativeString */;
1369 val
* var80
/* : FlatString */;
1370 val
* var81
/* : String */;
1371 val
* var82
/* : String */;
1372 val
* var83
/* : String */;
1373 val
* var84
/* : String */;
1374 short int var85
/* : Bool */;
1375 short int var86
/* : Bool */;
1378 val
* var88
/* : NativeArray[String] */;
1379 static val
* varonce87
;
1380 static val
* varonce89
;
1381 val
* var90
/* : String */;
1382 char* var91
/* : NativeString */;
1383 val
* var92
/* : FlatString */;
1384 static val
* varonce93
;
1385 val
* var94
/* : String */;
1386 char* var95
/* : NativeString */;
1387 val
* var96
/* : FlatString */;
1388 val
* var97
/* : String */;
1389 val
* var99
/* : NativeArray[String] */;
1390 static val
* varonce98
;
1391 static val
* varonce100
;
1392 val
* var101
/* : String */;
1393 char* var102
/* : NativeString */;
1394 val
* var103
/* : FlatString */;
1395 static val
* varonce104
;
1396 val
* var105
/* : String */;
1397 char* var106
/* : NativeString */;
1398 val
* var107
/* : FlatString */;
1399 static val
* varonce108
;
1400 val
* var109
/* : String */;
1401 char* var110
/* : NativeString */;
1402 val
* var111
/* : FlatString */;
1403 static val
* varonce112
;
1404 val
* var113
/* : String */;
1405 char* var114
/* : NativeString */;
1406 val
* var115
/* : FlatString */;
1407 static val
* varonce116
;
1408 val
* var117
/* : String */;
1409 char* var118
/* : NativeString */;
1410 val
* var119
/* : FlatString */;
1411 static val
* varonce120
;
1412 val
* var121
/* : String */;
1413 char* var122
/* : NativeString */;
1414 val
* var123
/* : FlatString */;
1415 val
* var124
/* : String */;
1416 val
* var125
/* : String */;
1417 val
* var126
/* : String */;
1418 val
* var127
/* : String */;
1419 val
* var128
/* : String */;
1420 static val
* varonce129
;
1421 val
* var130
/* : String */;
1422 char* var131
/* : NativeString */;
1423 val
* var132
/* : FlatString */;
1424 val
* var133
/* : MClassType */;
1425 val
* var134
/* : MType */;
1426 val
* var135
/* : RuntimeVariable */;
1427 val
* var137
/* : NativeArray[String] */;
1428 static val
* varonce136
;
1429 static val
* varonce138
;
1430 val
* var139
/* : String */;
1431 char* var140
/* : NativeString */;
1432 val
* var141
/* : FlatString */;
1433 static val
* varonce142
;
1434 val
* var143
/* : String */;
1435 char* var144
/* : NativeString */;
1436 val
* var145
/* : FlatString */;
1437 static val
* varonce146
;
1438 val
* var147
/* : String */;
1439 char* var148
/* : NativeString */;
1440 val
* var149
/* : FlatString */;
1441 static val
* varonce150
;
1442 val
* var151
/* : String */;
1443 char* var152
/* : NativeString */;
1444 val
* var153
/* : FlatString */;
1445 val
* var154
/* : String */;
1446 val
* var155
/* : String */;
1447 val
* var156
/* : String */;
1448 val
* var157
/* : String */;
1449 static val
* varonce158
;
1450 val
* var159
/* : String */;
1451 char* var160
/* : NativeString */;
1452 val
* var161
/* : FlatString */;
1453 val
* var163
/* : NativeArray[String] */;
1454 static val
* varonce162
;
1455 static val
* varonce164
;
1456 val
* var165
/* : String */;
1457 char* var166
/* : NativeString */;
1458 val
* var167
/* : FlatString */;
1459 static val
* varonce168
;
1460 val
* var169
/* : String */;
1461 char* var170
/* : NativeString */;
1462 val
* var171
/* : FlatString */;
1463 static val
* varonce172
;
1464 val
* var173
/* : String */;
1465 char* var174
/* : NativeString */;
1466 val
* var175
/* : FlatString */;
1467 static val
* varonce176
;
1468 val
* var177
/* : String */;
1469 char* var178
/* : NativeString */;
1470 val
* var179
/* : FlatString */;
1471 val
* var180
/* : String */;
1472 val
* var181
/* : String */;
1473 val
* var182
/* : String */;
1474 val
* var183
/* : String */;
1475 val
* var185
/* : NativeArray[String] */;
1476 static val
* varonce184
;
1477 static val
* varonce186
;
1478 val
* var187
/* : String */;
1479 char* var188
/* : NativeString */;
1480 val
* var189
/* : FlatString */;
1481 static val
* varonce190
;
1482 val
* var191
/* : String */;
1483 char* var192
/* : NativeString */;
1484 val
* var193
/* : FlatString */;
1485 static val
* varonce194
;
1486 val
* var195
/* : String */;
1487 char* var196
/* : NativeString */;
1488 val
* var197
/* : FlatString */;
1489 static val
* varonce198
;
1490 val
* var199
/* : String */;
1491 char* var200
/* : NativeString */;
1492 val
* var201
/* : FlatString */;
1493 static val
* varonce202
;
1494 val
* var203
/* : String */;
1495 char* var204
/* : NativeString */;
1496 val
* var205
/* : FlatString */;
1497 static val
* varonce206
;
1498 val
* var207
/* : String */;
1499 char* var208
/* : NativeString */;
1500 val
* var209
/* : FlatString */;
1501 val
* var210
/* : String */;
1502 val
* var211
/* : String */;
1503 val
* var212
/* : String */;
1504 val
* var213
/* : String */;
1505 val
* var214
/* : String */;
1506 val
* var215
/* : String */;
1507 val
* var216
/* : String */;
1512 nit___nit__AbstractCompilerVisitor___check_recv_notnull(self
, var_recv
); /* Direct call abstract_compiler#AbstractCompilerVisitor#check_recv_notnull on <self:SeparateCompilerVisitor>*/
1515 { /* Inline model#MProperty#intro (var_a) on <var_a:MAttribute> */
1516 var2
= var_a
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var_a:MAttribute> */
1517 if (unlikely(var2
== NULL
)) {
1518 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
1519 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1968);
1527 { /* Inline model#MAttributeDef#static_mtype (var) on <var:MPropDef(MAttributeDef)> */
1528 var5
= var
->attrs
[COLOR_nit__model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var:MPropDef(MAttributeDef)> */
1533 if (unlikely(var3
== NULL
)) {
1534 PRINT_ERROR("Runtime error: %s", "Cast failed");
1535 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1678);
1540 { /* Inline model#MProperty#intro (var_a) on <var_a:MAttribute> */
1541 var8
= var_a
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var_a:MAttribute> */
1542 if (unlikely(var8
== NULL
)) {
1543 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
1544 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1968);
1552 { /* Inline model#MPropDef#mclassdef (var6) on <var6:MPropDef(MAttributeDef)> */
1553 var11
= var6
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var6:MPropDef(MAttributeDef)> */
1554 if (unlikely(var11
== NULL
)) {
1555 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1556 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
1560 RET_LABEL10
:(void)0;
1563 var_intromclassdef
= var9
;
1565 { /* Inline model#MClassDef#bound_mtype (var_intromclassdef) on <var_intromclassdef:MClassDef> */
1566 var14
= var_intromclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intromclassdef:MClassDef> */
1567 if (unlikely(var14
== NULL
)) {
1568 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1569 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
1573 RET_LABEL13
:(void)0;
1577 { /* Inline model#MClassDef#bound_mtype (var_intromclassdef) on <var_intromclassdef:MClassDef> */
1578 var17
= var_intromclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intromclassdef:MClassDef> */
1579 if (unlikely(var17
== NULL
)) {
1580 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1581 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
1585 RET_LABEL16
:(void)0;
1589 { /* Inline model#MClassDef#mmodule (var_intromclassdef) on <var_intromclassdef:MClassDef> */
1590 var20
= var_intromclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_intromclassdef:MClassDef> */
1591 if (unlikely(var20
== NULL
)) {
1592 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
1593 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
1597 RET_LABEL19
:(void)0;
1601 var21
= ((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
, 1); /* resolve_for on <var_mtype:MType>*/
1605 var22
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__autobox(self
, var_value
, var_mtype
);
1609 var23
= nit__separate_compiler___MEntity___const_color(var_a
);
1612 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var23
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
1615 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1616 var26
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1617 if (unlikely(var26
== NULL
)) {
1618 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1619 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
1623 RET_LABEL25
:(void)0;
1627 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var24) on <var24:AbstractCompiler(SeparateCompiler)> */
1628 var29
= var24
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var24:AbstractCompiler(SeparateCompiler)> */
1629 if (unlikely(var29
== NULL
)) {
1630 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1631 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
1635 RET_LABEL28
:(void)0;
1639 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var27) on <var27:ModelBuilder> */
1640 var32
= var27
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var27:ModelBuilder> */
1641 if (unlikely(var32
== NULL
)) {
1642 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1643 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1647 RET_LABEL31
:(void)0;
1651 { /* Inline separate_compiler#ToolContext#opt_no_union_attribute (var30) on <var30:ToolContext> */
1652 var35
= var30
->attrs
[COLOR_nit__separate_compiler__ToolContext___opt_no_union_attribute
].val
; /* _opt_no_union_attribute on <var30:ToolContext> */
1653 if (unlikely(var35
== NULL
)) {
1654 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_union_attribute");
1655 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 28);
1659 RET_LABEL34
:(void)0;
1663 { /* Inline opts#Option#value (var33) on <var33:OptionBool> */
1664 var38
= var33
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var33:OptionBool> */
1666 RET_LABEL37
:(void)0;
1669 var39
= (short int)((long)(var36
)>>2);
1671 if (unlikely(varonce
==NULL
)) {
1672 var40
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
1673 if (likely(varonce41
!=NULL
)) {
1677 var44
= standard___standard__NativeString___to_s_with_length(var43
, 8l);
1681 ((struct instance_standard__NativeArray
*)var40
)->values
[1]=var42
;
1682 if (likely(varonce45
!=NULL
)) {
1686 var48
= standard___standard__NativeString___to_s_with_length(var47
, 1l);
1690 ((struct instance_standard__NativeArray
*)var40
)->values
[3]=var46
;
1696 var49
= ((val
*(*)(val
* self
))(var_recv
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_recv
); /* to_s on <var_recv:RuntimeVariable>*/
1698 ((struct instance_standard__NativeArray
*)var40
)->values
[0]=var49
;
1700 var50
= nit__separate_compiler___MEntity___const_color(var_a
);
1702 ((struct instance_standard__NativeArray
*)var40
)->values
[2]=var50
;
1704 var51
= ((val
*(*)(val
* self
))(var40
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var40
); /* native_to_s on <var40:NativeArray[String]>*/
1709 { /* Inline separate_compiler#MType#is_tagged (var_mtype) on <var_mtype:MType> */
1710 var54
= var_mtype
->attrs
[COLOR_nit__separate_compiler__MType___is_tagged
].s
; /* _is_tagged on <var_mtype:MType> */
1712 RET_LABEL53
:(void)0;
1717 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1718 var57
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1719 if (unlikely(var57
== NULL
)) {
1720 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1721 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
1725 RET_LABEL56
:(void)0;
1729 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var55) on <var55:AbstractCompiler(SeparateCompiler)> */
1730 var60
= var55
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var55:AbstractCompiler(SeparateCompiler)> */
1731 if (unlikely(var60
== NULL
)) {
1732 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
1733 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
1737 RET_LABEL59
:(void)0;
1741 var61
= nit__model___MModule___object_type(var58
);
1744 var62
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__autobox(self
, var_value
, var61
);
1747 if (unlikely(varonce63
==NULL
)) {
1748 var64
= NEW_standard__NativeArray(8l, &type_standard__NativeArray__standard__String
);
1749 if (likely(varonce65
!=NULL
)) {
1753 var68
= standard___standard__NativeString___to_s_with_length(var67
, 3l);
1757 ((struct instance_standard__NativeArray
*)var64
)->values
[1]=var66
;
1758 if (likely(varonce69
!=NULL
)) {
1762 var72
= standard___standard__NativeString___to_s_with_length(var71
, 5l);
1766 ((struct instance_standard__NativeArray
*)var64
)->values
[3]=var70
;
1767 if (likely(varonce73
!=NULL
)) {
1771 var76
= standard___standard__NativeString___to_s_with_length(var75
, 4l);
1775 ((struct instance_standard__NativeArray
*)var64
)->values
[5]=var74
;
1776 if (likely(varonce77
!=NULL
)) {
1780 var80
= standard___standard__NativeString___to_s_with_length(var79
, 3l);
1784 ((struct instance_standard__NativeArray
*)var64
)->values
[7]=var78
;
1789 ((struct instance_standard__NativeArray
*)var64
)->values
[0]=var_attr
;
1791 var81
= ((val
*(*)(val
* self
))(var_tv
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_tv
); /* to_s on <var_tv:RuntimeVariable>*/
1793 ((struct instance_standard__NativeArray
*)var64
)->values
[2]=var81
;
1795 var82
= ((val
*(*)(val
* self
))(var_a
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_a
); /* to_s on <var_a:MAttribute>*/
1797 ((struct instance_standard__NativeArray
*)var64
)->values
[4]=var82
;
1799 var83
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_recv
);
1801 ((struct instance_standard__NativeArray
*)var64
)->values
[6]=var83
;
1803 var84
= ((val
*(*)(val
* self
))(var64
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var64
); /* native_to_s on <var64:NativeArray[String]>*/
1807 nit___nit__AbstractCompilerVisitor___add(self
, var84
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1811 var85
= ((short int(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__abstract_compiler__MType__is_c_primitive
]))(var_mtype
); /* is_c_primitive on <var_mtype:MType>*/
1814 /* <var_mtype:MType> isa MClassType */
1815 cltype
= type_nit__MClassType
.color
;
1816 idtype
= type_nit__MClassType
.id
;
1817 if(cltype
>= var_mtype
->type
->table_size
) {
1820 var86
= var_mtype
->type
->type_table
[cltype
] == idtype
;
1822 if (unlikely(!var86
)) {
1823 PRINT_ERROR("Runtime error: %s", "Assert failed");
1824 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1693);
1827 if (unlikely(varonce87
==NULL
)) {
1828 var88
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1829 if (likely(varonce89
!=NULL
)) {
1833 var92
= standard___standard__NativeString___to_s_with_length(var91
, 4l);
1837 ((struct instance_standard__NativeArray
*)var88
)->values
[0]=var90
;
1838 if (likely(varonce93
!=NULL
)) {
1841 var95
= " != NULL) {";
1842 var96
= standard___standard__NativeString___to_s_with_length(var95
, 11l);
1846 ((struct instance_standard__NativeArray
*)var88
)->values
[2]=var94
;
1851 ((struct instance_standard__NativeArray
*)var88
)->values
[1]=var_attr
;
1853 var97
= ((val
*(*)(val
* self
))(var88
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var88
); /* native_to_s on <var88:NativeArray[String]>*/
1857 nit___nit__AbstractCompilerVisitor___add(self
, var97
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1859 if (unlikely(varonce98
==NULL
)) {
1860 var99
= NEW_standard__NativeArray(11l, &type_standard__NativeArray__standard__String
);
1861 if (likely(varonce100
!=NULL
)) {
1862 var101
= varonce100
;
1864 var102
= "((struct instance_";
1865 var103
= standard___standard__NativeString___to_s_with_length(var102
, 18l);
1867 varonce100
= var101
;
1869 ((struct instance_standard__NativeArray
*)var99
)->values
[0]=var101
;
1870 if (likely(varonce104
!=NULL
)) {
1871 var105
= varonce104
;
1874 var107
= standard___standard__NativeString___to_s_with_length(var106
, 2l);
1876 varonce104
= var105
;
1878 ((struct instance_standard__NativeArray
*)var99
)->values
[2]=var105
;
1879 if (likely(varonce108
!=NULL
)) {
1880 var109
= varonce108
;
1882 var110
= ")->value = ";
1883 var111
= standard___standard__NativeString___to_s_with_length(var110
, 11l);
1885 varonce108
= var109
;
1887 ((struct instance_standard__NativeArray
*)var99
)->values
[4]=var109
;
1888 if (likely(varonce112
!=NULL
)) {
1889 var113
= varonce112
;
1892 var115
= standard___standard__NativeString___to_s_with_length(var114
, 5l);
1894 varonce112
= var113
;
1896 ((struct instance_standard__NativeArray
*)var99
)->values
[6]=var113
;
1897 if (likely(varonce116
!=NULL
)) {
1898 var117
= varonce116
;
1901 var119
= standard___standard__NativeString___to_s_with_length(var118
, 4l);
1903 varonce116
= var117
;
1905 ((struct instance_standard__NativeArray
*)var99
)->values
[8]=var117
;
1906 if (likely(varonce120
!=NULL
)) {
1907 var121
= varonce120
;
1910 var123
= standard___standard__NativeString___to_s_with_length(var122
, 3l);
1912 varonce120
= var121
;
1914 ((struct instance_standard__NativeArray
*)var99
)->values
[10]=var121
;
1920 var124
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MType(MClassType)>*/
1922 ((struct instance_standard__NativeArray
*)var99
)->values
[1]=var124
;
1923 ((struct instance_standard__NativeArray
*)var99
)->values
[3]=var_attr
;
1925 var125
= ((val
*(*)(val
* self
))(var_value
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value
); /* to_s on <var_value:RuntimeVariable>*/
1927 ((struct instance_standard__NativeArray
*)var99
)->values
[5]=var125
;
1929 var126
= ((val
*(*)(val
* self
))(var_a
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_a
); /* to_s on <var_a:MAttribute>*/
1931 ((struct instance_standard__NativeArray
*)var99
)->values
[7]=var126
;
1933 var127
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_recv
);
1935 ((struct instance_standard__NativeArray
*)var99
)->values
[9]=var127
;
1937 var128
= ((val
*(*)(val
* self
))(var99
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var99
); /* native_to_s on <var99:NativeArray[String]>*/
1941 nit___nit__AbstractCompilerVisitor___add(self
, var128
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1943 if (likely(varonce129
!=NULL
)) {
1944 var130
= varonce129
;
1946 var131
= "} else {";
1947 var132
= standard___standard__NativeString___to_s_with_length(var131
, 8l);
1949 varonce129
= var130
;
1952 nit___nit__AbstractCompilerVisitor___add(self
, var130
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1955 var133
= nit___nit__AbstractCompilerVisitor___object_type(self
);
1958 var134
= nit___nit__MType___as_nullable(var133
);
1961 var135
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__autobox(self
, var_value
, var134
);
1964 if (unlikely(varonce136
==NULL
)) {
1965 var137
= NEW_standard__NativeArray(8l, &type_standard__NativeArray__standard__String
);
1966 if (likely(varonce138
!=NULL
)) {
1967 var139
= varonce138
;
1970 var141
= standard___standard__NativeString___to_s_with_length(var140
, 3l);
1972 varonce138
= var139
;
1974 ((struct instance_standard__NativeArray
*)var137
)->values
[1]=var139
;
1975 if (likely(varonce142
!=NULL
)) {
1976 var143
= varonce142
;
1979 var145
= standard___standard__NativeString___to_s_with_length(var144
, 5l);
1981 varonce142
= var143
;
1983 ((struct instance_standard__NativeArray
*)var137
)->values
[3]=var143
;
1984 if (likely(varonce146
!=NULL
)) {
1985 var147
= varonce146
;
1988 var149
= standard___standard__NativeString___to_s_with_length(var148
, 4l);
1990 varonce146
= var147
;
1992 ((struct instance_standard__NativeArray
*)var137
)->values
[5]=var147
;
1993 if (likely(varonce150
!=NULL
)) {
1994 var151
= varonce150
;
1997 var153
= standard___standard__NativeString___to_s_with_length(var152
, 3l);
1999 varonce150
= var151
;
2001 ((struct instance_standard__NativeArray
*)var137
)->values
[7]=var151
;
2003 var137
= varonce136
;
2006 ((struct instance_standard__NativeArray
*)var137
)->values
[0]=var_attr
;
2008 var154
= ((val
*(*)(val
* self
))(var_value
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value
); /* to_s on <var_value:RuntimeVariable>*/
2010 ((struct instance_standard__NativeArray
*)var137
)->values
[2]=var154
;
2012 var155
= ((val
*(*)(val
* self
))(var_a
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_a
); /* to_s on <var_a:MAttribute>*/
2014 ((struct instance_standard__NativeArray
*)var137
)->values
[4]=var155
;
2016 var156
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_recv
);
2018 ((struct instance_standard__NativeArray
*)var137
)->values
[6]=var156
;
2020 var157
= ((val
*(*)(val
* self
))(var137
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var137
); /* native_to_s on <var137:NativeArray[String]>*/
2022 varonce136
= var137
;
2024 nit___nit__AbstractCompilerVisitor___add(self
, var157
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2026 if (likely(varonce158
!=NULL
)) {
2027 var159
= varonce158
;
2030 var161
= standard___standard__NativeString___to_s_with_length(var160
, 1l);
2032 varonce158
= var159
;
2035 nit___nit__AbstractCompilerVisitor___add(self
, var159
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2038 if (unlikely(varonce162
==NULL
)) {
2039 var163
= NEW_standard__NativeArray(8l, &type_standard__NativeArray__standard__String
);
2040 if (likely(varonce164
!=NULL
)) {
2041 var165
= varonce164
;
2044 var167
= standard___standard__NativeString___to_s_with_length(var166
, 3l);
2046 varonce164
= var165
;
2048 ((struct instance_standard__NativeArray
*)var163
)->values
[1]=var165
;
2049 if (likely(varonce168
!=NULL
)) {
2050 var169
= varonce168
;
2053 var171
= standard___standard__NativeString___to_s_with_length(var170
, 5l);
2055 varonce168
= var169
;
2057 ((struct instance_standard__NativeArray
*)var163
)->values
[3]=var169
;
2058 if (likely(varonce172
!=NULL
)) {
2059 var173
= varonce172
;
2062 var175
= standard___standard__NativeString___to_s_with_length(var174
, 4l);
2064 varonce172
= var173
;
2066 ((struct instance_standard__NativeArray
*)var163
)->values
[5]=var173
;
2067 if (likely(varonce176
!=NULL
)) {
2068 var177
= varonce176
;
2071 var179
= standard___standard__NativeString___to_s_with_length(var178
, 3l);
2073 varonce176
= var177
;
2075 ((struct instance_standard__NativeArray
*)var163
)->values
[7]=var177
;
2077 var163
= varonce162
;
2080 ((struct instance_standard__NativeArray
*)var163
)->values
[0]=var_attr
;
2082 var180
= ((val
*(*)(val
* self
))(var_value
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value
); /* to_s on <var_value:RuntimeVariable>*/
2084 ((struct instance_standard__NativeArray
*)var163
)->values
[2]=var180
;
2086 var181
= ((val
*(*)(val
* self
))(var_a
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_a
); /* to_s on <var_a:MAttribute>*/
2088 ((struct instance_standard__NativeArray
*)var163
)->values
[4]=var181
;
2090 var182
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_recv
);
2092 ((struct instance_standard__NativeArray
*)var163
)->values
[6]=var182
;
2094 var183
= ((val
*(*)(val
* self
))(var163
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var163
); /* native_to_s on <var163:NativeArray[String]>*/
2096 varonce162
= var163
;
2098 nit___nit__AbstractCompilerVisitor___add(self
, var183
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2103 if (unlikely(varonce184
==NULL
)) {
2104 var185
= NEW_standard__NativeArray(12l, &type_standard__NativeArray__standard__String
);
2105 if (likely(varonce186
!=NULL
)) {
2106 var187
= varonce186
;
2108 var188
= "->attrs[";
2109 var189
= standard___standard__NativeString___to_s_with_length(var188
, 8l);
2111 varonce186
= var187
;
2113 ((struct instance_standard__NativeArray
*)var185
)->values
[1]=var187
;
2114 if (likely(varonce190
!=NULL
)) {
2115 var191
= varonce190
;
2118 var193
= standard___standard__NativeString___to_s_with_length(var192
, 2l);
2120 varonce190
= var191
;
2122 ((struct instance_standard__NativeArray
*)var185
)->values
[3]=var191
;
2123 if (likely(varonce194
!=NULL
)) {
2124 var195
= varonce194
;
2127 var197
= standard___standard__NativeString___to_s_with_length(var196
, 3l);
2129 varonce194
= var195
;
2131 ((struct instance_standard__NativeArray
*)var185
)->values
[5]=var195
;
2132 if (likely(varonce198
!=NULL
)) {
2133 var199
= varonce198
;
2136 var201
= standard___standard__NativeString___to_s_with_length(var200
, 5l);
2138 varonce198
= var199
;
2140 ((struct instance_standard__NativeArray
*)var185
)->values
[7]=var199
;
2141 if (likely(varonce202
!=NULL
)) {
2142 var203
= varonce202
;
2145 var205
= standard___standard__NativeString___to_s_with_length(var204
, 4l);
2147 varonce202
= var203
;
2149 ((struct instance_standard__NativeArray
*)var185
)->values
[9]=var203
;
2150 if (likely(varonce206
!=NULL
)) {
2151 var207
= varonce206
;
2154 var209
= standard___standard__NativeString___to_s_with_length(var208
, 3l);
2156 varonce206
= var207
;
2158 ((struct instance_standard__NativeArray
*)var185
)->values
[11]=var207
;
2160 var185
= varonce184
;
2164 var210
= ((val
*(*)(val
* self
))(var_recv
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_recv
); /* to_s on <var_recv:RuntimeVariable>*/
2166 ((struct instance_standard__NativeArray
*)var185
)->values
[0]=var210
;
2168 var211
= nit__separate_compiler___MEntity___const_color(var_a
);
2170 ((struct instance_standard__NativeArray
*)var185
)->values
[2]=var211
;
2172 var212
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__abstract_compiler__MType__ctypename
]))(var_mtype
); /* ctypename on <var_mtype:MType>*/
2174 ((struct instance_standard__NativeArray
*)var185
)->values
[4]=var212
;
2176 var213
= ((val
*(*)(val
* self
))(var_value
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value
); /* to_s on <var_value:RuntimeVariable>*/
2178 ((struct instance_standard__NativeArray
*)var185
)->values
[6]=var213
;
2180 var214
= ((val
*(*)(val
* self
))(var_a
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_a
); /* to_s on <var_a:MAttribute>*/
2182 ((struct instance_standard__NativeArray
*)var185
)->values
[8]=var214
;
2184 var215
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_recv
);
2186 ((struct instance_standard__NativeArray
*)var185
)->values
[10]=var215
;
2188 var216
= ((val
*(*)(val
* self
))(var185
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var185
); /* native_to_s on <var185:NativeArray[String]>*/
2190 varonce184
= var185
;
2192 nit___nit__AbstractCompilerVisitor___add(self
, var216
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2197 /* method separate_compiler#SeparateCompilerVisitor#hardening_live_open_type for (self: SeparateCompilerVisitor, MType) */
2198 void nit___nit__SeparateCompilerVisitor___hardening_live_open_type(val
* self
, val
* p0
) {
2199 val
* var_mtype
/* var mtype: MType */;
2200 val
* var
/* : AbstractCompiler */;
2201 val
* var2
/* : AbstractCompiler */;
2202 val
* var3
/* : ModelBuilder */;
2203 val
* var5
/* : ModelBuilder */;
2204 val
* var6
/* : ToolContext */;
2205 val
* var8
/* : ToolContext */;
2206 val
* var9
/* : OptionBool */;
2207 val
* var11
/* : OptionBool */;
2208 val
* var12
/* : nullable Object */;
2209 val
* var14
/* : nullable Object */;
2210 short int var15
/* : Bool */;
2211 short int var16
/* : Bool */;
2212 val
* var17
/* : String */;
2213 val
* var18
/* : String */;
2214 val
* var_col
/* var col: String */;
2215 val
* var19
/* : NativeArray[String] */;
2216 static val
* varonce
;
2217 static val
* varonce20
;
2218 val
* var21
/* : String */;
2219 char* var22
/* : NativeString */;
2220 val
* var23
/* : FlatString */;
2221 static val
* varonce24
;
2222 val
* var25
/* : String */;
2223 char* var26
/* : NativeString */;
2224 val
* var27
/* : FlatString */;
2225 val
* var28
/* : String */;
2226 val
* var30
/* : NativeArray[String] */;
2227 static val
* varonce29
;
2228 static val
* varonce31
;
2229 val
* var32
/* : String */;
2230 char* var33
/* : NativeString */;
2231 val
* var34
/* : FlatString */;
2232 static val
* varonce35
;
2233 val
* var36
/* : String */;
2234 char* var37
/* : NativeString */;
2235 val
* var38
/* : FlatString */;
2236 val
* var39
/* : String */;
2237 val
* var40
/* : String */;
2238 val
* var41
/* : String */;
2239 static val
* varonce42
;
2240 val
* var43
/* : String */;
2241 char* var44
/* : NativeString */;
2242 val
* var45
/* : FlatString */;
2243 static val
* varonce46
;
2244 val
* var47
/* : String */;
2245 char* var48
/* : NativeString */;
2246 val
* var49
/* : FlatString */;
2249 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
2250 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
2251 if (unlikely(var2
== NULL
)) {
2252 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2253 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
2261 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var) on <var:AbstractCompiler(SeparateCompiler)> */
2262 var5
= var
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var:AbstractCompiler(SeparateCompiler)> */
2263 if (unlikely(var5
== NULL
)) {
2264 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2265 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
2273 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var3) on <var3:ModelBuilder> */
2274 var8
= var3
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var3:ModelBuilder> */
2275 if (unlikely(var8
== NULL
)) {
2276 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2277 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
2285 { /* Inline abstract_compiler#ToolContext#opt_hardening (var6) on <var6:ToolContext> */
2286 var11
= var6
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_hardening
].val
; /* _opt_hardening on <var6:ToolContext> */
2287 if (unlikely(var11
== NULL
)) {
2288 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_hardening");
2289 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 46);
2293 RET_LABEL10
:(void)0;
2297 { /* Inline opts#Option#value (var9) on <var9:OptionBool> */
2298 var14
= var9
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var9:OptionBool> */
2300 RET_LABEL13
:(void)0;
2303 var15
= (short int)((long)(var12
)>>2);
2310 var17
= nit__separate_compiler___MEntity___const_color(var_mtype
);
2313 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var17
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
2316 var18
= nit__separate_compiler___MEntity___const_color(var_mtype
);
2319 if (unlikely(varonce
==NULL
)) {
2320 var19
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2321 if (likely(varonce20
!=NULL
)) {
2325 var23
= standard___standard__NativeString___to_s_with_length(var22
, 3l);
2329 ((struct instance_standard__NativeArray
*)var19
)->values
[0]=var21
;
2330 if (likely(varonce24
!=NULL
)) {
2333 var26
= " == -1) {";
2334 var27
= standard___standard__NativeString___to_s_with_length(var26
, 9l);
2338 ((struct instance_standard__NativeArray
*)var19
)->values
[2]=var25
;
2343 ((struct instance_standard__NativeArray
*)var19
)->values
[1]=var_col
;
2345 var28
= ((val
*(*)(val
* self
))(var19
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var19
); /* native_to_s on <var19:NativeArray[String]>*/
2349 nit___nit__AbstractCompilerVisitor___add(self
, var28
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2351 if (unlikely(varonce29
==NULL
)) {
2352 var30
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2353 if (likely(varonce31
!=NULL
)) {
2356 var33
= "PRINT_ERROR(\"Resolution of a dead open type: %s\\n\", \"";
2357 var34
= standard___standard__NativeString___to_s_with_length(var33
, 53l);
2361 ((struct instance_standard__NativeArray
*)var30
)->values
[0]=var32
;
2362 if (likely(varonce35
!=NULL
)) {
2366 var38
= standard___standard__NativeString___to_s_with_length(var37
, 3l);
2370 ((struct instance_standard__NativeArray
*)var30
)->values
[2]=var36
;
2376 var39
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MType>*/
2379 var40
= standard___standard__Text___escape_to_c(var39
);
2381 ((struct instance_standard__NativeArray
*)var30
)->values
[1]=var40
;
2383 var41
= ((val
*(*)(val
* self
))(var30
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var30
); /* native_to_s on <var30:NativeArray[String]>*/
2387 nit___nit__AbstractCompilerVisitor___add(self
, var41
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2389 if (likely(varonce42
!=NULL
)) {
2392 var44
= "open type dead";
2393 var45
= standard___standard__NativeString___to_s_with_length(var44
, 14l);
2398 nit___nit__AbstractCompilerVisitor___add_abort(self
, var43
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:SeparateCompilerVisitor>*/
2400 if (likely(varonce46
!=NULL
)) {
2404 var49
= standard___standard__NativeString___to_s_with_length(var48
, 1l);
2409 nit___nit__AbstractCompilerVisitor___add(self
, var47
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2413 /* method separate_compiler#SeparateCompilerVisitor#hardening_cast_type for (self: SeparateCompilerVisitor, String) */
2414 void nit___nit__SeparateCompilerVisitor___hardening_cast_type(val
* self
, val
* p0
) {
2415 val
* var_t
/* var t: String */;
2416 val
* var
/* : AbstractCompiler */;
2417 val
* var2
/* : AbstractCompiler */;
2418 val
* var3
/* : ModelBuilder */;
2419 val
* var5
/* : ModelBuilder */;
2420 val
* var6
/* : ToolContext */;
2421 val
* var8
/* : ToolContext */;
2422 val
* var9
/* : OptionBool */;
2423 val
* var11
/* : OptionBool */;
2424 val
* var12
/* : nullable Object */;
2425 val
* var14
/* : nullable Object */;
2426 short int var15
/* : Bool */;
2427 short int var16
/* : Bool */;
2428 val
* var17
/* : NativeArray[String] */;
2429 static val
* varonce
;
2430 static val
* varonce18
;
2431 val
* var19
/* : String */;
2432 char* var20
/* : NativeString */;
2433 val
* var21
/* : FlatString */;
2434 static val
* varonce22
;
2435 val
* var23
/* : String */;
2436 char* var24
/* : NativeString */;
2437 val
* var25
/* : FlatString */;
2438 val
* var26
/* : String */;
2439 static val
* varonce27
;
2440 val
* var28
/* : String */;
2441 char* var29
/* : NativeString */;
2442 val
* var30
/* : FlatString */;
2443 static val
* varonce31
;
2444 val
* var32
/* : String */;
2445 char* var33
/* : NativeString */;
2446 val
* var34
/* : FlatString */;
2447 val
* var36
/* : NativeArray[String] */;
2448 static val
* varonce35
;
2449 static val
* varonce37
;
2450 val
* var38
/* : String */;
2451 char* var39
/* : NativeString */;
2452 val
* var40
/* : FlatString */;
2453 static val
* varonce41
;
2454 val
* var42
/* : String */;
2455 char* var43
/* : NativeString */;
2456 val
* var44
/* : FlatString */;
2457 static val
* varonce45
;
2458 val
* var46
/* : String */;
2459 char* var47
/* : NativeString */;
2460 val
* var48
/* : FlatString */;
2461 val
* var49
/* : String */;
2462 val
* var51
/* : NativeArray[String] */;
2463 static val
* varonce50
;
2464 static val
* varonce52
;
2465 val
* var53
/* : String */;
2466 char* var54
/* : NativeString */;
2467 val
* var55
/* : FlatString */;
2468 static val
* varonce56
;
2469 val
* var57
/* : String */;
2470 char* var58
/* : NativeString */;
2471 val
* var59
/* : FlatString */;
2472 val
* var60
/* : String */;
2473 static val
* varonce61
;
2474 val
* var62
/* : String */;
2475 char* var63
/* : NativeString */;
2476 val
* var64
/* : FlatString */;
2477 static val
* varonce65
;
2478 val
* var66
/* : String */;
2479 char* var67
/* : NativeString */;
2480 val
* var68
/* : FlatString */;
2483 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
2484 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
2485 if (unlikely(var2
== NULL
)) {
2486 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2487 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
2495 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var) on <var:AbstractCompiler(SeparateCompiler)> */
2496 var5
= var
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var:AbstractCompiler(SeparateCompiler)> */
2497 if (unlikely(var5
== NULL
)) {
2498 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2499 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
2507 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var3) on <var3:ModelBuilder> */
2508 var8
= var3
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var3:ModelBuilder> */
2509 if (unlikely(var8
== NULL
)) {
2510 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2511 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
2519 { /* Inline abstract_compiler#ToolContext#opt_hardening (var6) on <var6:ToolContext> */
2520 var11
= var6
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_hardening
].val
; /* _opt_hardening on <var6:ToolContext> */
2521 if (unlikely(var11
== NULL
)) {
2522 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_hardening");
2523 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 46);
2527 RET_LABEL10
:(void)0;
2531 { /* Inline opts#Option#value (var9) on <var9:OptionBool> */
2532 var14
= var9
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var9:OptionBool> */
2534 RET_LABEL13
:(void)0;
2537 var15
= (short int)((long)(var12
)>>2);
2543 if (unlikely(varonce
==NULL
)) {
2544 var17
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2545 if (likely(varonce18
!=NULL
)) {
2549 var21
= standard___standard__NativeString___to_s_with_length(var20
, 3l);
2553 ((struct instance_standard__NativeArray
*)var17
)->values
[0]=var19
;
2554 if (likely(varonce22
!=NULL
)) {
2557 var24
= " == NULL) {";
2558 var25
= standard___standard__NativeString___to_s_with_length(var24
, 11l);
2562 ((struct instance_standard__NativeArray
*)var17
)->values
[2]=var23
;
2567 ((struct instance_standard__NativeArray
*)var17
)->values
[1]=var_t
;
2569 var26
= ((val
*(*)(val
* self
))(var17
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var17
); /* native_to_s on <var17:NativeArray[String]>*/
2573 nit___nit__AbstractCompilerVisitor___add(self
, var26
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2575 if (likely(varonce27
!=NULL
)) {
2578 var29
= "cast type null";
2579 var30
= standard___standard__NativeString___to_s_with_length(var29
, 14l);
2584 nit___nit__AbstractCompilerVisitor___add_abort(self
, var28
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:SeparateCompilerVisitor>*/
2586 if (likely(varonce31
!=NULL
)) {
2590 var34
= standard___standard__NativeString___to_s_with_length(var33
, 1l);
2595 nit___nit__AbstractCompilerVisitor___add(self
, var32
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2597 if (unlikely(varonce35
==NULL
)) {
2598 var36
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
2599 if (likely(varonce37
!=NULL
)) {
2603 var40
= standard___standard__NativeString___to_s_with_length(var39
, 3l);
2607 ((struct instance_standard__NativeArray
*)var36
)->values
[0]=var38
;
2608 if (likely(varonce41
!=NULL
)) {
2611 var43
= "->id == -1 || ";
2612 var44
= standard___standard__NativeString___to_s_with_length(var43
, 14l);
2616 ((struct instance_standard__NativeArray
*)var36
)->values
[2]=var42
;
2617 if (likely(varonce45
!=NULL
)) {
2620 var47
= "->color == -1) {";
2621 var48
= standard___standard__NativeString___to_s_with_length(var47
, 16l);
2625 ((struct instance_standard__NativeArray
*)var36
)->values
[4]=var46
;
2630 ((struct instance_standard__NativeArray
*)var36
)->values
[1]=var_t
;
2631 ((struct instance_standard__NativeArray
*)var36
)->values
[3]=var_t
;
2633 var49
= ((val
*(*)(val
* self
))(var36
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var36
); /* native_to_s on <var36:NativeArray[String]>*/
2637 nit___nit__AbstractCompilerVisitor___add(self
, var49
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2639 if (unlikely(varonce50
==NULL
)) {
2640 var51
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2641 if (likely(varonce52
!=NULL
)) {
2644 var54
= "PRINT_ERROR(\"Try to cast on a dead cast type: %s\\n\", ";
2645 var55
= standard___standard__NativeString___to_s_with_length(var54
, 53l);
2649 ((struct instance_standard__NativeArray
*)var51
)->values
[0]=var53
;
2650 if (likely(varonce56
!=NULL
)) {
2654 var59
= standard___standard__NativeString___to_s_with_length(var58
, 8l);
2658 ((struct instance_standard__NativeArray
*)var51
)->values
[2]=var57
;
2663 ((struct instance_standard__NativeArray
*)var51
)->values
[1]=var_t
;
2665 var60
= ((val
*(*)(val
* self
))(var51
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var51
); /* native_to_s on <var51:NativeArray[String]>*/
2669 nit___nit__AbstractCompilerVisitor___add(self
, var60
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2671 if (likely(varonce61
!=NULL
)) {
2674 var63
= "cast type dead";
2675 var64
= standard___standard__NativeString___to_s_with_length(var63
, 14l);
2680 nit___nit__AbstractCompilerVisitor___add_abort(self
, var62
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:SeparateCompilerVisitor>*/
2682 if (likely(varonce65
!=NULL
)) {
2686 var68
= standard___standard__NativeString___to_s_with_length(var67
, 1l);
2691 nit___nit__AbstractCompilerVisitor___add(self
, var66
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2695 /* method separate_compiler#SeparateCompilerVisitor#init_instance for (self: SeparateCompilerVisitor, MClassType): RuntimeVariable */
2696 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__init_instance(val
* self
, val
* p0
) {
2697 val
* var
/* : RuntimeVariable */;
2698 val
* var_mtype
/* var mtype: MClassType */;
2699 val
* var1
/* : NativeArray[String] */;
2700 static val
* varonce
;
2701 static val
* varonce2
;
2702 val
* var3
/* : String */;
2703 char* var4
/* : NativeString */;
2704 val
* var5
/* : FlatString */;
2705 val
* var6
/* : MClass */;
2706 val
* var8
/* : MClass */;
2707 val
* var9
/* : String */;
2708 val
* var10
/* : String */;
2709 val
* var11
/* : AbstractCompiler */;
2710 val
* var13
/* : AbstractCompiler */;
2711 val
* var_compiler
/* var compiler: SeparateCompiler */;
2712 short int var14
/* : Bool */;
2713 short int var15
/* : Bool */;
2716 short int var_
/* var : Bool */;
2717 short int var16
/* : Bool */;
2718 short int var18
/* : Bool */;
2719 val
* var19
/* : nullable StaticFrame */;
2720 val
* var21
/* : nullable StaticFrame */;
2721 val
* var22
/* : MPropDef */;
2722 val
* var24
/* : MPropDef */;
2723 val
* var25
/* : MClassDef */;
2724 val
* var27
/* : MClassDef */;
2725 val
* var28
/* : nullable StaticFrame */;
2726 val
* var30
/* : nullable StaticFrame */;
2727 val
* var31
/* : Array[RuntimeVariable] */;
2728 val
* var33
/* : Array[RuntimeVariable] */;
2729 val
* var34
/* : nullable Object */;
2730 val
* var_recv
/* var recv: RuntimeVariable */;
2731 val
* var35
/* : String */;
2732 val
* var_recv_type_info
/* var recv_type_info: String */;
2733 val
* var36
/* : String */;
2734 val
* var38
/* : NativeArray[String] */;
2735 static val
* varonce37
;
2736 static val
* varonce39
;
2737 val
* var40
/* : String */;
2738 char* var41
/* : NativeString */;
2739 val
* var42
/* : FlatString */;
2740 static val
* varonce43
;
2741 val
* var44
/* : String */;
2742 char* var45
/* : NativeString */;
2743 val
* var46
/* : FlatString */;
2744 static val
* varonce47
;
2745 val
* var48
/* : String */;
2746 char* var49
/* : NativeString */;
2747 val
* var50
/* : FlatString */;
2748 static val
* varonce51
;
2749 val
* var52
/* : String */;
2750 char* var53
/* : NativeString */;
2751 val
* var54
/* : FlatString */;
2752 val
* var55
/* : MClass */;
2753 val
* var57
/* : MClass */;
2754 val
* var58
/* : String */;
2755 val
* var59
/* : String */;
2756 val
* var60
/* : String */;
2757 val
* var61
/* : RuntimeVariable */;
2758 val
* var62
/* : Set[MType] */;
2759 val
* var64
/* : Set[MType] */;
2760 val
* var66
/* : NativeArray[String] */;
2761 static val
* varonce65
;
2762 static val
* varonce67
;
2763 val
* var68
/* : String */;
2764 char* var69
/* : NativeString */;
2765 val
* var70
/* : FlatString */;
2766 val
* var71
/* : String */;
2767 val
* var72
/* : String */;
2768 val
* var74
/* : NativeArray[String] */;
2769 static val
* varonce73
;
2770 static val
* varonce75
;
2771 val
* var76
/* : String */;
2772 char* var77
/* : NativeString */;
2773 val
* var78
/* : FlatString */;
2774 static val
* varonce79
;
2775 val
* var80
/* : String */;
2776 char* var81
/* : NativeString */;
2777 val
* var82
/* : FlatString */;
2778 static val
* varonce83
;
2779 val
* var84
/* : String */;
2780 char* var85
/* : NativeString */;
2781 val
* var86
/* : FlatString */;
2782 val
* var87
/* : MClass */;
2783 val
* var89
/* : MClass */;
2784 val
* var90
/* : String */;
2785 val
* var91
/* : String */;
2786 val
* var92
/* : String */;
2787 val
* var93
/* : RuntimeVariable */;
2789 if (unlikely(varonce
==NULL
)) {
2790 var1
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
2791 if (likely(varonce2
!=NULL
)) {
2795 var5
= standard___standard__NativeString___to_s_with_length(var4
, 4l);
2799 ((struct instance_standard__NativeArray
*)var1
)->values
[0]=var3
;
2805 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
2806 var8
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
2807 if (unlikely(var8
== NULL
)) {
2808 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2809 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
2817 var9
= nit___nit__MClass___nit__model_base__MEntity__c_name(var6
);
2819 ((struct instance_standard__NativeArray
*)var1
)->values
[1]=var9
;
2821 var10
= ((val
*(*)(val
* self
))(var1
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var1
); /* native_to_s on <var1:NativeArray[String]>*/
2825 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var10
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
2828 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
2829 var13
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
2830 if (unlikely(var13
== NULL
)) {
2831 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2832 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
2836 RET_LABEL12
:(void)0;
2839 var_compiler
= var11
;
2840 /* <var_mtype:MClassType> isa MGenericType */
2841 cltype
= type_nit__MGenericType
.color
;
2842 idtype
= type_nit__MGenericType
.id
;
2843 if(cltype
>= var_mtype
->type
->table_size
) {
2846 var15
= var_mtype
->type
->type_table
[cltype
] == idtype
;
2851 { /* Inline model#MGenericType#need_anchor (var_mtype) on <var_mtype:MClassType(MGenericType)> */
2852 var18
= var_mtype
->attrs
[COLOR_nit__model__MGenericType___need_anchor
].s
; /* _need_anchor on <var_mtype:MClassType(MGenericType)> */
2854 RET_LABEL17
:(void)0;
2863 nit___nit__SeparateCompilerVisitor___hardening_live_open_type(self
, var_mtype
); /* Direct call separate_compiler#SeparateCompilerVisitor#hardening_live_open_type on <self:SeparateCompilerVisitor>*/
2866 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
2867 var21
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
2869 RET_LABEL20
:(void)0;
2872 if (var19
== NULL
) {
2873 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2874 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1742);
2877 { /* Inline abstract_compiler#StaticFrame#mpropdef (var19) on <var19:nullable StaticFrame> */
2878 if (unlikely(var19
== NULL
)) {
2879 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2880 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1828);
2883 var24
= var19
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___mpropdef
].val
; /* _mpropdef on <var19:nullable StaticFrame> */
2884 if (unlikely(var24
== NULL
)) {
2885 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
2886 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1828);
2890 RET_LABEL23
:(void)0;
2894 { /* Inline model#MPropDef#mclassdef (var22) on <var22:MPropDef> */
2895 var27
= var22
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var22:MPropDef> */
2896 if (unlikely(var27
== NULL
)) {
2897 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2898 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
2902 RET_LABEL26
:(void)0;
2906 nit___nit__SeparateCompilerVisitor___link_unresolved_type(self
, var25
, var_mtype
); /* Direct call separate_compiler#SeparateCompilerVisitor#link_unresolved_type on <self:SeparateCompilerVisitor>*/
2909 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
2910 var30
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
2912 RET_LABEL29
:(void)0;
2915 if (var28
== NULL
) {
2916 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2917 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1743);
2920 { /* Inline abstract_compiler#StaticFrame#arguments (var28) on <var28:nullable StaticFrame> */
2921 if (unlikely(var28
== NULL
)) {
2922 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2923 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1835);
2926 var33
= var28
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___arguments
].val
; /* _arguments on <var28:nullable StaticFrame> */
2927 if (unlikely(var33
== NULL
)) {
2928 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
2929 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1835);
2933 RET_LABEL32
:(void)0;
2937 var34
= standard___standard__SequenceRead___Collection__first(var31
);
2941 var35
= nit___nit__SeparateCompilerVisitor___type_info(self
, var_recv
);
2943 var_recv_type_info
= var35
;
2945 var36
= nit__separate_compiler___MEntity___const_color(var_mtype
);
2948 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var36
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
2950 if (unlikely(varonce37
==NULL
)) {
2951 var38
= NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String
);
2952 if (likely(varonce39
!=NULL
)) {
2956 var42
= standard___standard__NativeString___to_s_with_length(var41
, 4l);
2960 ((struct instance_standard__NativeArray
*)var38
)->values
[0]=var40
;
2961 if (likely(varonce43
!=NULL
)) {
2965 var46
= standard___standard__NativeString___to_s_with_length(var45
, 1l);
2969 ((struct instance_standard__NativeArray
*)var38
)->values
[2]=var44
;
2970 if (likely(varonce47
!=NULL
)) {
2973 var49
= "->resolution_table->types[";
2974 var50
= standard___standard__NativeString___to_s_with_length(var49
, 26l);
2978 ((struct instance_standard__NativeArray
*)var38
)->values
[4]=var48
;
2979 if (likely(varonce51
!=NULL
)) {
2983 var54
= standard___standard__NativeString___to_s_with_length(var53
, 2l);
2987 ((struct instance_standard__NativeArray
*)var38
)->values
[6]=var52
;
2993 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType(MGenericType)> */
2994 var57
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType(MGenericType)> */
2995 if (unlikely(var57
== NULL
)) {
2996 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2997 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
3001 RET_LABEL56
:(void)0;
3005 var58
= nit___nit__MClass___nit__model_base__MEntity__c_name(var55
);
3007 ((struct instance_standard__NativeArray
*)var38
)->values
[1]=var58
;
3008 ((struct instance_standard__NativeArray
*)var38
)->values
[3]=var_recv_type_info
;
3010 var59
= nit__separate_compiler___MEntity___const_color(var_mtype
);
3012 ((struct instance_standard__NativeArray
*)var38
)->values
[5]=var59
;
3014 var60
= ((val
*(*)(val
* self
))(var38
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var38
); /* native_to_s on <var38:NativeArray[String]>*/
3018 var61
= nit___nit__AbstractCompilerVisitor___new_expr(self
, var60
, var_mtype
);
3025 { /* Inline separate_compiler#SeparateCompiler#undead_types (var_compiler) on <var_compiler:SeparateCompiler> */
3026 var64
= var_compiler
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___undead_types
].val
; /* _undead_types on <var_compiler:SeparateCompiler> */
3027 if (unlikely(var64
== NULL
)) {
3028 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _undead_types");
3029 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 146);
3033 RET_LABEL63
:(void)0;
3037 ((void(*)(val
* self
, val
* p0
))((((long)var62
&3)?class_info
[((long)var62
&3)]:var62
->class)->vft
[COLOR_standard__abstract_collection__SimpleCollection__add
]))(var62
, var_mtype
); /* add on <var62:Set[MType]>*/
3039 if (unlikely(varonce65
==NULL
)) {
3040 var66
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
3041 if (likely(varonce67
!=NULL
)) {
3045 var70
= standard___standard__NativeString___to_s_with_length(var69
, 5l);
3049 ((struct instance_standard__NativeArray
*)var66
)->values
[0]=var68
;
3055 var71
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MClassType>*/
3057 ((struct instance_standard__NativeArray
*)var66
)->values
[1]=var71
;
3059 var72
= ((val
*(*)(val
* self
))(var66
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var66
); /* native_to_s on <var66:NativeArray[String]>*/
3063 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var72
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
3065 if (unlikely(varonce73
==NULL
)) {
3066 var74
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
3067 if (likely(varonce75
!=NULL
)) {
3071 var78
= standard___standard__NativeString___to_s_with_length(var77
, 4l);
3075 ((struct instance_standard__NativeArray
*)var74
)->values
[0]=var76
;
3076 if (likely(varonce79
!=NULL
)) {
3080 var82
= standard___standard__NativeString___to_s_with_length(var81
, 7l);
3084 ((struct instance_standard__NativeArray
*)var74
)->values
[2]=var80
;
3085 if (likely(varonce83
!=NULL
)) {
3089 var86
= standard___standard__NativeString___to_s_with_length(var85
, 1l);
3093 ((struct instance_standard__NativeArray
*)var74
)->values
[4]=var84
;
3099 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
3100 var89
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
3101 if (unlikely(var89
== NULL
)) {
3102 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3103 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
3107 RET_LABEL88
:(void)0;
3111 var90
= nit___nit__MClass___nit__model_base__MEntity__c_name(var87
);
3113 ((struct instance_standard__NativeArray
*)var74
)->values
[1]=var90
;
3115 var91
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MClassType>*/
3117 ((struct instance_standard__NativeArray
*)var74
)->values
[3]=var91
;
3119 var92
= ((val
*(*)(val
* self
))(var74
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var74
); /* native_to_s on <var74:NativeArray[String]>*/
3123 var93
= nit___nit__AbstractCompilerVisitor___new_expr(self
, var92
, var_mtype
);
3130 /* method separate_compiler#SeparateCompilerVisitor#type_test for (self: SeparateCompilerVisitor, RuntimeVariable, MType, String): RuntimeVariable */
3131 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__type_test(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3132 val
* var
/* : RuntimeVariable */;
3133 val
* var_value
/* var value: RuntimeVariable */;
3134 val
* var_mtype
/* var mtype: MType */;
3135 val
* var_tag
/* var tag: String */;
3136 val
* var1
/* : NativeArray[String] */;
3137 static val
* varonce
;
3138 static val
* varonce2
;
3139 val
* var3
/* : String */;
3140 char* var4
/* : NativeString */;
3141 val
* var5
/* : FlatString */;
3142 static val
* varonce6
;
3143 val
* var7
/* : String */;
3144 char* var8
/* : NativeString */;
3145 val
* var9
/* : FlatString */;
3146 static val
* varonce10
;
3147 val
* var11
/* : String */;
3148 char* var12
/* : NativeString */;
3149 val
* var13
/* : FlatString */;
3150 val
* var14
/* : String */;
3151 val
* var15
/* : String */;
3152 val
* var16
/* : String */;
3153 val
* var17
/* : AbstractCompiler */;
3154 val
* var19
/* : AbstractCompiler */;
3155 val
* var_compiler
/* var compiler: SeparateCompiler */;
3156 val
* var20
/* : nullable StaticFrame */;
3157 val
* var22
/* : nullable StaticFrame */;
3158 val
* var23
/* : Array[RuntimeVariable] */;
3159 val
* var25
/* : Array[RuntimeVariable] */;
3160 val
* var26
/* : nullable Object */;
3161 val
* var_recv
/* var recv: RuntimeVariable */;
3162 val
* var27
/* : String */;
3163 val
* var_recv_type_info
/* var recv_type_info: String */;
3164 val
* var28
/* : MClassType */;
3165 val
* var29
/* : RuntimeVariable */;
3166 val
* var_res
/* var res: RuntimeVariable */;
3167 static val
* varonce30
;
3168 val
* var31
/* : String */;
3169 char* var32
/* : NativeString */;
3170 val
* var33
/* : FlatString */;
3171 val
* var34
/* : String */;
3172 val
* var_cltype
/* var cltype: String */;
3173 val
* var36
/* : NativeArray[String] */;
3174 static val
* varonce35
;
3175 static val
* varonce37
;
3176 val
* var38
/* : String */;
3177 char* var39
/* : NativeString */;
3178 val
* var40
/* : FlatString */;
3179 static val
* varonce41
;
3180 val
* var42
/* : String */;
3181 char* var43
/* : NativeString */;
3182 val
* var44
/* : FlatString */;
3183 val
* var45
/* : String */;
3184 static val
* varonce46
;
3185 val
* var47
/* : String */;
3186 char* var48
/* : NativeString */;
3187 val
* var49
/* : FlatString */;
3188 val
* var50
/* : String */;
3189 val
* var_idtype
/* var idtype: String */;
3190 val
* var52
/* : NativeArray[String] */;
3191 static val
* varonce51
;
3192 static val
* varonce53
;
3193 val
* var54
/* : String */;
3194 char* var55
/* : NativeString */;
3195 val
* var56
/* : FlatString */;
3196 static val
* varonce57
;
3197 val
* var58
/* : String */;
3198 char* var59
/* : NativeString */;
3199 val
* var60
/* : FlatString */;
3200 val
* var61
/* : String */;
3201 short int var62
/* : Bool */;
3202 short int var_maybe_null
/* var maybe_null: Bool */;
3203 static val
* varonce63
;
3204 val
* var64
/* : String */;
3205 char* var65
/* : NativeString */;
3206 val
* var66
/* : FlatString */;
3207 val
* var_accept_null
/* var accept_null: String */;
3208 val
* var_ntype
/* var ntype: MType */;
3209 short int var67
/* : Bool */;
3212 val
* var68
/* : MType */;
3213 val
* var70
/* : MType */;
3214 static val
* varonce71
;
3215 val
* var72
/* : String */;
3216 char* var73
/* : NativeString */;
3217 val
* var74
/* : FlatString */;
3218 val
* var75
/* : MType */;
3219 val
* var77
/* : MType */;
3220 val
* var78
/* : nullable StaticFrame */;
3221 val
* var80
/* : nullable StaticFrame */;
3222 val
* var81
/* : MPropDef */;
3223 val
* var83
/* : MPropDef */;
3224 val
* var84
/* : MClassDef */;
3225 val
* var86
/* : MClassDef */;
3226 val
* var87
/* : MModule */;
3227 val
* var89
/* : MModule */;
3228 val
* var90
/* : nullable StaticFrame */;
3229 val
* var92
/* : nullable StaticFrame */;
3230 val
* var93
/* : MPropDef */;
3231 val
* var95
/* : MPropDef */;
3232 val
* var96
/* : MClassDef */;
3233 val
* var98
/* : MClassDef */;
3234 val
* var99
/* : MClassType */;
3235 val
* var101
/* : MClassType */;
3236 short int var102
/* : Bool */;
3237 val
* var104
/* : NativeArray[String] */;
3238 static val
* varonce103
;
3239 static val
* varonce105
;
3240 val
* var106
/* : String */;
3241 char* var107
/* : NativeString */;
3242 val
* var108
/* : FlatString */;
3243 static val
* varonce109
;
3244 val
* var110
/* : String */;
3245 char* var111
/* : NativeString */;
3246 val
* var112
/* : FlatString */;
3247 static val
* varonce113
;
3248 val
* var114
/* : String */;
3249 char* var115
/* : NativeString */;
3250 val
* var116
/* : FlatString */;
3251 val
* var117
/* : String */;
3252 val
* var118
/* : String */;
3253 val
* var119
/* : String */;
3254 val
* var120
/* : String */;
3255 val
* var121
/* : ModelBuilder */;
3256 val
* var123
/* : ModelBuilder */;
3257 val
* var124
/* : ToolContext */;
3258 val
* var126
/* : ToolContext */;
3259 val
* var127
/* : OptionBool */;
3260 val
* var129
/* : OptionBool */;
3261 val
* var130
/* : nullable Object */;
3262 val
* var132
/* : nullable Object */;
3263 short int var133
/* : Bool */;
3264 val
* var134
/* : AbstractCompiler */;
3265 val
* var136
/* : AbstractCompiler */;
3266 val
* var137
/* : HashMap[String, Int] */;
3267 val
* var139
/* : HashMap[String, Int] */;
3268 val
* var_
/* var : HashMap[String, Int] */;
3269 val
* var_140
/* var : String */;
3270 val
* var141
/* : nullable Object */;
3271 long var142
/* : Int */;
3272 short int var144
/* : Bool */;
3275 const char* var_class_name
;
3276 long var147
/* : Int */;
3277 long var148
/* : Int */;
3278 val
* var149
/* : nullable Object */;
3279 val
* var151
/* : NativeArray[String] */;
3280 static val
* varonce150
;
3281 static val
* varonce152
;
3282 val
* var153
/* : String */;
3283 char* var154
/* : NativeString */;
3284 val
* var155
/* : FlatString */;
3285 static val
* varonce156
;
3286 val
* var157
/* : String */;
3287 char* var158
/* : NativeString */;
3288 val
* var159
/* : FlatString */;
3289 val
* var160
/* : String */;
3290 short int var161
/* : Bool */;
3291 static val
* varonce162
;
3292 val
* var163
/* : String */;
3293 char* var164
/* : NativeString */;
3294 val
* var165
/* : FlatString */;
3295 val
* var166
/* : String */;
3296 val
* var_type_struct
/* var type_struct: String */;
3297 val
* var168
/* : NativeArray[String] */;
3298 static val
* varonce167
;
3299 static val
* varonce169
;
3300 val
* var170
/* : String */;
3301 char* var171
/* : NativeString */;
3302 val
* var172
/* : FlatString */;
3303 static val
* varonce173
;
3304 val
* var174
/* : String */;
3305 char* var175
/* : NativeString */;
3306 val
* var176
/* : FlatString */;
3307 val
* var177
/* : String */;
3308 val
* var178
/* : nullable StaticFrame */;
3309 val
* var180
/* : nullable StaticFrame */;
3310 val
* var181
/* : MPropDef */;
3311 val
* var183
/* : MPropDef */;
3312 val
* var184
/* : MClassDef */;
3313 val
* var186
/* : MClassDef */;
3314 val
* var187
/* : String */;
3315 val
* var189
/* : NativeArray[String] */;
3316 static val
* varonce188
;
3317 static val
* varonce190
;
3318 val
* var191
/* : String */;
3319 char* var192
/* : NativeString */;
3320 val
* var193
/* : FlatString */;
3321 static val
* varonce194
;
3322 val
* var195
/* : String */;
3323 char* var196
/* : NativeString */;
3324 val
* var197
/* : FlatString */;
3325 static val
* varonce198
;
3326 val
* var199
/* : String */;
3327 char* var200
/* : NativeString */;
3328 val
* var201
/* : FlatString */;
3329 val
* var202
/* : String */;
3330 val
* var203
/* : String */;
3331 val
* var204
/* : ModelBuilder */;
3332 val
* var206
/* : ModelBuilder */;
3333 val
* var207
/* : ToolContext */;
3334 val
* var209
/* : ToolContext */;
3335 val
* var210
/* : OptionBool */;
3336 val
* var212
/* : OptionBool */;
3337 val
* var213
/* : nullable Object */;
3338 val
* var215
/* : nullable Object */;
3339 short int var216
/* : Bool */;
3340 val
* var217
/* : AbstractCompiler */;
3341 val
* var219
/* : AbstractCompiler */;
3342 val
* var220
/* : HashMap[String, Int] */;
3343 val
* var222
/* : HashMap[String, Int] */;
3344 val
* var_223
/* var : HashMap[String, Int] */;
3345 val
* var_224
/* var : String */;
3346 val
* var225
/* : nullable Object */;
3347 long var226
/* : Int */;
3348 short int var228
/* : Bool */;
3351 const char* var_class_name231
;
3352 long var232
/* : Int */;
3353 long var233
/* : Int */;
3354 val
* var234
/* : nullable Object */;
3355 val
* var236
/* : NativeArray[String] */;
3356 static val
* varonce235
;
3357 static val
* varonce237
;
3358 val
* var238
/* : String */;
3359 char* var239
/* : NativeString */;
3360 val
* var240
/* : FlatString */;
3361 static val
* varonce241
;
3362 val
* var242
/* : String */;
3363 char* var243
/* : NativeString */;
3364 val
* var244
/* : FlatString */;
3365 val
* var245
/* : String */;
3366 val
* var247
/* : NativeArray[String] */;
3367 static val
* varonce246
;
3368 static val
* varonce248
;
3369 val
* var249
/* : String */;
3370 char* var250
/* : NativeString */;
3371 val
* var251
/* : FlatString */;
3372 static val
* varonce252
;
3373 val
* var253
/* : String */;
3374 char* var254
/* : NativeString */;
3375 val
* var255
/* : FlatString */;
3376 val
* var256
/* : String */;
3377 val
* var258
/* : NativeArray[String] */;
3378 static val
* varonce257
;
3379 static val
* varonce259
;
3380 val
* var260
/* : String */;
3381 char* var261
/* : NativeString */;
3382 val
* var262
/* : FlatString */;
3383 static val
* varonce263
;
3384 val
* var264
/* : String */;
3385 char* var265
/* : NativeString */;
3386 val
* var266
/* : FlatString */;
3387 val
* var267
/* : String */;
3388 short int var268
/* : Bool */;
3389 short int var_269
/* var : Bool */;
3390 static val
* varonce270
;
3391 val
* var271
/* : String */;
3392 char* var272
/* : NativeString */;
3393 val
* var273
/* : FlatString */;
3394 short int var274
/* : Bool */;
3395 static val
* varonce275
;
3396 val
* var276
/* : String */;
3397 char* var277
/* : NativeString */;
3398 val
* var278
/* : FlatString */;
3399 val
* var279
/* : String */;
3400 val
* var_is_nullable
/* var is_nullable: String */;
3401 val
* var281
/* : NativeArray[String] */;
3402 static val
* varonce280
;
3403 static val
* varonce282
;
3404 val
* var283
/* : String */;
3405 char* var284
/* : NativeString */;
3406 val
* var285
/* : FlatString */;
3407 static val
* varonce286
;
3408 val
* var287
/* : String */;
3409 char* var288
/* : NativeString */;
3410 val
* var289
/* : FlatString */;
3411 val
* var290
/* : String */;
3412 val
* var292
/* : NativeArray[String] */;
3413 static val
* varonce291
;
3414 static val
* varonce293
;
3415 val
* var294
/* : String */;
3416 char* var295
/* : NativeString */;
3417 val
* var296
/* : FlatString */;
3418 static val
* varonce297
;
3419 val
* var298
/* : String */;
3420 char* var299
/* : NativeString */;
3421 val
* var300
/* : FlatString */;
3422 val
* var301
/* : String */;
3423 val
* var302
/* : String */;
3424 short int var303
/* : Bool */;
3427 val
* var306
/* : Set[MType] */;
3428 val
* var308
/* : Set[MType] */;
3429 val
* var310
/* : NativeArray[String] */;
3430 static val
* varonce309
;
3431 static val
* varonce311
;
3432 val
* var312
/* : String */;
3433 char* var313
/* : NativeString */;
3434 val
* var314
/* : FlatString */;
3435 val
* var315
/* : String */;
3436 val
* var316
/* : String */;
3437 val
* var318
/* : NativeArray[String] */;
3438 static val
* varonce317
;
3439 static val
* varonce319
;
3440 val
* var320
/* : String */;
3441 char* var321
/* : NativeString */;
3442 val
* var322
/* : FlatString */;
3443 static val
* varonce323
;
3444 val
* var324
/* : String */;
3445 char* var325
/* : NativeString */;
3446 val
* var326
/* : FlatString */;
3447 val
* var327
/* : String */;
3448 val
* var328
/* : String */;
3449 val
* var330
/* : NativeArray[String] */;
3450 static val
* varonce329
;
3451 static val
* varonce331
;
3452 val
* var332
/* : String */;
3453 char* var333
/* : NativeString */;
3454 val
* var334
/* : FlatString */;
3455 static val
* varonce335
;
3456 val
* var336
/* : String */;
3457 char* var337
/* : NativeString */;
3458 val
* var338
/* : FlatString */;
3459 val
* var339
/* : String */;
3460 val
* var340
/* : String */;
3461 val
* var342
/* : NativeArray[String] */;
3462 static val
* varonce341
;
3463 static val
* varonce343
;
3464 val
* var344
/* : String */;
3465 char* var345
/* : NativeString */;
3466 val
* var346
/* : FlatString */;
3467 static val
* varonce347
;
3468 val
* var348
/* : String */;
3469 char* var349
/* : NativeString */;
3470 val
* var350
/* : FlatString */;
3471 val
* var351
/* : String */;
3472 val
* var352
/* : String */;
3473 val
* var353
/* : ModelBuilder */;
3474 val
* var355
/* : ModelBuilder */;
3475 val
* var356
/* : ToolContext */;
3476 val
* var358
/* : ToolContext */;
3477 val
* var359
/* : OptionBool */;
3478 val
* var361
/* : OptionBool */;
3479 val
* var362
/* : nullable Object */;
3480 val
* var364
/* : nullable Object */;
3481 short int var365
/* : Bool */;
3482 val
* var366
/* : AbstractCompiler */;
3483 val
* var368
/* : AbstractCompiler */;
3484 val
* var369
/* : HashMap[String, Int] */;
3485 val
* var371
/* : HashMap[String, Int] */;
3486 val
* var_372
/* var : HashMap[String, Int] */;
3487 val
* var_373
/* var : String */;
3488 val
* var374
/* : nullable Object */;
3489 long var375
/* : Int */;
3490 short int var377
/* : Bool */;
3493 const char* var_class_name380
;
3494 long var381
/* : Int */;
3495 long var382
/* : Int */;
3496 val
* var383
/* : nullable Object */;
3497 val
* var385
/* : NativeArray[String] */;
3498 static val
* varonce384
;
3499 static val
* varonce386
;
3500 val
* var387
/* : String */;
3501 char* var388
/* : NativeString */;
3502 val
* var389
/* : FlatString */;
3503 static val
* varonce390
;
3504 val
* var391
/* : String */;
3505 char* var392
/* : NativeString */;
3506 val
* var393
/* : FlatString */;
3507 val
* var394
/* : String */;
3508 val
* var396
/* : NativeArray[String] */;
3509 static val
* varonce395
;
3510 static val
* varonce397
;
3511 val
* var398
/* : String */;
3512 char* var399
/* : NativeString */;
3513 val
* var400
/* : FlatString */;
3514 static val
* varonce401
;
3515 val
* var402
/* : String */;
3516 char* var403
/* : NativeString */;
3517 val
* var404
/* : FlatString */;
3518 static val
* varonce405
;
3519 val
* var406
/* : String */;
3520 char* var407
/* : NativeString */;
3521 val
* var408
/* : FlatString */;
3522 val
* var409
/* : String */;
3523 val
* var410
/* : String */;
3524 val
* var411
/* : String */;
3525 val
* var413
/* : NativeArray[String] */;
3526 static val
* varonce412
;
3527 static val
* varonce414
;
3528 val
* var415
/* : String */;
3529 char* var416
/* : NativeString */;
3530 val
* var417
/* : FlatString */;
3531 static val
* varonce418
;
3532 val
* var419
/* : String */;
3533 char* var420
/* : NativeString */;
3534 val
* var421
/* : FlatString */;
3535 val
* var422
/* : String */;
3536 val
* var423
/* : String */;
3537 val
* var425
/* : NativeArray[String] */;
3538 static val
* varonce424
;
3539 static val
* varonce426
;
3540 val
* var427
/* : String */;
3541 char* var428
/* : NativeString */;
3542 val
* var429
/* : FlatString */;
3543 static val
* varonce430
;
3544 val
* var431
/* : String */;
3545 char* var432
/* : NativeString */;
3546 val
* var433
/* : FlatString */;
3547 val
* var434
/* : String */;
3548 val
* var435
/* : String */;
3549 static val
* varonce436
;
3550 val
* var437
/* : String */;
3551 char* var438
/* : NativeString */;
3552 val
* var439
/* : FlatString */;
3553 val
* var440
/* : String */;
3554 val
* var_value_type_info
/* var value_type_info: String */;
3555 val
* var442
/* : NativeArray[String] */;
3556 static val
* varonce441
;
3557 static val
* varonce443
;
3558 val
* var444
/* : String */;
3559 char* var445
/* : NativeString */;
3560 val
* var446
/* : FlatString */;
3561 static val
* varonce447
;
3562 val
* var448
/* : String */;
3563 char* var449
/* : NativeString */;
3564 val
* var450
/* : FlatString */;
3565 static val
* varonce451
;
3566 val
* var452
/* : String */;
3567 char* var453
/* : NativeString */;
3568 val
* var454
/* : FlatString */;
3569 val
* var455
/* : String */;
3570 val
* var457
/* : NativeArray[String] */;
3571 static val
* varonce456
;
3572 static val
* varonce458
;
3573 val
* var459
/* : String */;
3574 char* var460
/* : NativeString */;
3575 val
* var461
/* : FlatString */;
3576 val
* var462
/* : String */;
3577 val
* var463
/* : String */;
3578 static val
* varonce464
;
3579 val
* var465
/* : String */;
3580 char* var466
/* : NativeString */;
3581 val
* var467
/* : FlatString */;
3582 val
* var469
/* : NativeArray[String] */;
3583 static val
* varonce468
;
3584 static val
* varonce470
;
3585 val
* var471
/* : String */;
3586 char* var472
/* : NativeString */;
3587 val
* var473
/* : FlatString */;
3588 static val
* varonce474
;
3589 val
* var475
/* : String */;
3590 char* var476
/* : NativeString */;
3591 val
* var477
/* : FlatString */;
3592 static val
* varonce478
;
3593 val
* var479
/* : String */;
3594 char* var480
/* : NativeString */;
3595 val
* var481
/* : FlatString */;
3596 static val
* varonce482
;
3597 val
* var483
/* : String */;
3598 char* var484
/* : NativeString */;
3599 val
* var485
/* : FlatString */;
3600 val
* var486
/* : String */;
3601 val
* var487
/* : String */;
3602 static val
* varonce488
;
3603 val
* var489
/* : String */;
3604 char* var490
/* : NativeString */;
3605 val
* var491
/* : FlatString */;
3606 static val
* varonce492
;
3607 val
* var493
/* : String */;
3608 char* var494
/* : NativeString */;
3609 val
* var495
/* : FlatString */;
3613 if (unlikely(varonce
==NULL
)) {
3614 var1
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
3615 if (likely(varonce2
!=NULL
)) {
3619 var5
= standard___standard__NativeString___to_s_with_length(var4
, 3l);
3623 ((struct instance_standard__NativeArray
*)var1
)->values
[0]=var3
;
3624 if (likely(varonce6
!=NULL
)) {
3628 var9
= standard___standard__NativeString___to_s_with_length(var8
, 5l);
3632 ((struct instance_standard__NativeArray
*)var1
)->values
[2]=var7
;
3633 if (likely(varonce10
!=NULL
)) {
3637 var13
= standard___standard__NativeString___to_s_with_length(var12
, 3l);
3641 ((struct instance_standard__NativeArray
*)var1
)->values
[4]=var11
;
3647 var14
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_value
);
3649 ((struct instance_standard__NativeArray
*)var1
)->values
[1]=var14
;
3651 var15
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MType>*/
3653 ((struct instance_standard__NativeArray
*)var1
)->values
[3]=var15
;
3655 var16
= ((val
*(*)(val
* self
))(var1
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var1
); /* native_to_s on <var1:NativeArray[String]>*/
3659 nit___nit__AbstractCompilerVisitor___add(self
, var16
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
3662 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
3663 var19
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
3664 if (unlikely(var19
== NULL
)) {
3665 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3666 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
3670 RET_LABEL18
:(void)0;
3673 var_compiler
= var17
;
3675 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
3676 var22
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
3678 RET_LABEL21
:(void)0;
3681 if (var20
== NULL
) {
3682 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3683 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1758);
3686 { /* Inline abstract_compiler#StaticFrame#arguments (var20) on <var20:nullable StaticFrame> */
3687 if (unlikely(var20
== NULL
)) {
3688 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3689 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1835);
3692 var25
= var20
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___arguments
].val
; /* _arguments on <var20:nullable StaticFrame> */
3693 if (unlikely(var25
== NULL
)) {
3694 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
3695 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1835);
3699 RET_LABEL24
:(void)0;
3703 var26
= standard___standard__SequenceRead___Collection__first(var23
);
3707 var27
= nit___nit__SeparateCompilerVisitor___type_info(self
, var_recv
);
3709 var_recv_type_info
= var27
;
3711 var28
= nit___nit__AbstractCompilerVisitor___bool_type(self
);
3714 var29
= nit___nit__AbstractCompilerVisitor___new_var(self
, var28
);
3717 if (likely(varonce30
!=NULL
)) {
3721 var33
= standard___standard__NativeString___to_s_with_length(var32
, 6l);
3726 var34
= nit___nit__AbstractCompilerVisitor___get_name(self
, var31
);
3729 if (unlikely(varonce35
==NULL
)) {
3730 var36
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
3731 if (likely(varonce37
!=NULL
)) {
3735 var40
= standard___standard__NativeString___to_s_with_length(var39
, 4l);
3739 ((struct instance_standard__NativeArray
*)var36
)->values
[0]=var38
;
3740 if (likely(varonce41
!=NULL
)) {
3744 var44
= standard___standard__NativeString___to_s_with_length(var43
, 1l);
3748 ((struct instance_standard__NativeArray
*)var36
)->values
[2]=var42
;
3753 ((struct instance_standard__NativeArray
*)var36
)->values
[1]=var_cltype
;
3755 var45
= ((val
*(*)(val
* self
))(var36
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var36
); /* native_to_s on <var36:NativeArray[String]>*/
3759 nit___nit__AbstractCompilerVisitor___add_decl(self
, var45
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:SeparateCompilerVisitor>*/
3761 if (likely(varonce46
!=NULL
)) {
3765 var49
= standard___standard__NativeString___to_s_with_length(var48
, 6l);
3770 var50
= nit___nit__AbstractCompilerVisitor___get_name(self
, var47
);
3773 if (unlikely(varonce51
==NULL
)) {
3774 var52
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
3775 if (likely(varonce53
!=NULL
)) {
3779 var56
= standard___standard__NativeString___to_s_with_length(var55
, 4l);
3783 ((struct instance_standard__NativeArray
*)var52
)->values
[0]=var54
;
3784 if (likely(varonce57
!=NULL
)) {
3788 var60
= standard___standard__NativeString___to_s_with_length(var59
, 1l);
3792 ((struct instance_standard__NativeArray
*)var52
)->values
[2]=var58
;
3797 ((struct instance_standard__NativeArray
*)var52
)->values
[1]=var_idtype
;
3799 var61
= ((val
*(*)(val
* self
))(var52
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var52
); /* native_to_s on <var52:NativeArray[String]>*/
3803 nit___nit__AbstractCompilerVisitor___add_decl(self
, var61
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:SeparateCompilerVisitor>*/
3806 var62
= nit___nit__SeparateCompilerVisitor___maybe_null(self
, var_value
);
3808 var_maybe_null
= var62
;
3809 if (likely(varonce63
!=NULL
)) {
3813 var66
= standard___standard__NativeString___to_s_with_length(var65
, 1l);
3817 var_accept_null
= var64
;
3818 var_ntype
= var_mtype
;
3819 /* <var_ntype:MType> isa MNullableType */
3820 cltype
= type_nit__MNullableType
.color
;
3821 idtype
= type_nit__MNullableType
.id
;
3822 if(cltype
>= var_ntype
->type
->table_size
) {
3825 var67
= var_ntype
->type
->type_table
[cltype
] == idtype
;
3829 { /* Inline model#MProxyType#mtype (var_ntype) on <var_ntype:MType(MNullableType)> */
3830 var70
= var_ntype
->attrs
[COLOR_nit__model__MProxyType___mtype
].val
; /* _mtype on <var_ntype:MType(MNullableType)> */
3831 if (unlikely(var70
== NULL
)) {
3832 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3833 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1598);
3837 RET_LABEL69
:(void)0;
3841 if (likely(varonce71
!=NULL
)) {
3845 var74
= standard___standard__NativeString___to_s_with_length(var73
, 1l);
3849 var_accept_null
= var72
;
3853 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_value) on <var_value:RuntimeVariable> */
3854 var77
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_value:RuntimeVariable> */
3855 if (unlikely(var77
== NULL
)) {
3856 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
3857 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1787);
3861 RET_LABEL76
:(void)0;
3865 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
3866 var80
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
3868 RET_LABEL79
:(void)0;
3871 if (var78
== NULL
) {
3872 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3873 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1776);
3876 { /* Inline abstract_compiler#StaticFrame#mpropdef (var78) on <var78:nullable StaticFrame> */
3877 if (unlikely(var78
== NULL
)) {
3878 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3879 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1828);
3882 var83
= var78
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___mpropdef
].val
; /* _mpropdef on <var78:nullable StaticFrame> */
3883 if (unlikely(var83
== NULL
)) {
3884 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
3885 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1828);
3889 RET_LABEL82
:(void)0;
3893 { /* Inline model#MPropDef#mclassdef (var81) on <var81:MPropDef> */
3894 var86
= var81
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var81:MPropDef> */
3895 if (unlikely(var86
== NULL
)) {
3896 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
3897 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
3901 RET_LABEL85
:(void)0;
3905 { /* Inline model#MClassDef#mmodule (var84) on <var84:MClassDef> */
3906 var89
= var84
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var84:MClassDef> */
3907 if (unlikely(var89
== NULL
)) {
3908 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3909 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
3913 RET_LABEL88
:(void)0;
3917 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
3918 var92
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
3920 RET_LABEL91
:(void)0;
3923 if (var90
== NULL
) {
3924 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3925 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1776);
3928 { /* Inline abstract_compiler#StaticFrame#mpropdef (var90) on <var90:nullable StaticFrame> */
3929 if (unlikely(var90
== NULL
)) {
3930 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3931 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1828);
3934 var95
= var90
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___mpropdef
].val
; /* _mpropdef on <var90:nullable StaticFrame> */
3935 if (unlikely(var95
== NULL
)) {
3936 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
3937 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1828);
3941 RET_LABEL94
:(void)0;
3945 { /* Inline model#MPropDef#mclassdef (var93) on <var93:MPropDef> */
3946 var98
= var93
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var93:MPropDef> */
3947 if (unlikely(var98
== NULL
)) {
3948 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
3949 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
3953 RET_LABEL97
:(void)0;
3957 { /* Inline model#MClassDef#bound_mtype (var96) on <var96:MClassDef> */
3958 var101
= var96
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var96:MClassDef> */
3959 if (unlikely(var101
== NULL
)) {
3960 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3961 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
3965 RET_LABEL100
:(void)0;
3969 var102
= nit___nit__MType___is_subtype(var75
, var87
, var99
, var_mtype
);
3972 if (unlikely(varonce103
==NULL
)) {
3973 var104
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String
);
3974 if (likely(varonce105
!=NULL
)) {
3975 var106
= varonce105
;
3977 var107
= " = 1; /* easy ";
3978 var108
= standard___standard__NativeString___to_s_with_length(var107
, 14l);
3980 varonce105
= var106
;
3982 ((struct instance_standard__NativeArray
*)var104
)->values
[1]=var106
;
3983 if (likely(varonce109
!=NULL
)) {
3984 var110
= varonce109
;
3987 var112
= standard___standard__NativeString___to_s_with_length(var111
, 5l);
3989 varonce109
= var110
;
3991 ((struct instance_standard__NativeArray
*)var104
)->values
[3]=var110
;
3992 if (likely(varonce113
!=NULL
)) {
3993 var114
= varonce113
;
3996 var116
= standard___standard__NativeString___to_s_with_length(var115
, 2l);
3998 varonce113
= var114
;
4000 ((struct instance_standard__NativeArray
*)var104
)->values
[5]=var114
;
4002 var104
= varonce103
;
4006 var117
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
4008 ((struct instance_standard__NativeArray
*)var104
)->values
[0]=var117
;
4010 var118
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_value
);
4012 ((struct instance_standard__NativeArray
*)var104
)->values
[2]=var118
;
4014 var119
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MType>*/
4016 ((struct instance_standard__NativeArray
*)var104
)->values
[4]=var119
;
4018 var120
= ((val
*(*)(val
* self
))(var104
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var104
); /* native_to_s on <var104:NativeArray[String]>*/
4020 varonce103
= var104
;
4022 nit___nit__AbstractCompilerVisitor___add(self
, var120
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4025 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var_compiler) on <var_compiler:SeparateCompiler> */
4026 var123
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var_compiler:SeparateCompiler> */
4027 if (unlikely(var123
== NULL
)) {
4028 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4029 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
4033 RET_LABEL122
:(void)0;
4037 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var121) on <var121:ModelBuilder> */
4038 var126
= var121
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var121:ModelBuilder> */
4039 if (unlikely(var126
== NULL
)) {
4040 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4041 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
4045 RET_LABEL125
:(void)0;
4049 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var124) on <var124:ToolContext> */
4050 var129
= var124
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var124:ToolContext> */
4051 if (unlikely(var129
== NULL
)) {
4052 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
4053 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 60);
4057 RET_LABEL128
:(void)0;
4061 { /* Inline opts#Option#value (var127) on <var127:OptionBool> */
4062 var132
= var127
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var127:OptionBool> */
4064 RET_LABEL131
:(void)0;
4067 var133
= (short int)((long)(var130
)>>2);
4070 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
4071 var136
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
4072 if (unlikely(var136
== NULL
)) {
4073 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4074 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
4078 RET_LABEL135
:(void)0;
4082 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (var134) on <var134:AbstractCompiler(SeparateCompiler)> */
4083 var139
= var134
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <var134:AbstractCompiler(SeparateCompiler)> */
4084 if (unlikely(var139
== NULL
)) {
4085 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
4086 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1017);
4090 RET_LABEL138
:(void)0;
4096 var141
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_
, var_140
);
4099 { /* Inline kernel#Int#+ (var141,1l) on <var141:nullable Object(Int)> */
4100 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
4101 /* <1l:Int> isa OTHER */
4102 var144
= 1; /* easy <1l:Int> isa OTHER*/
4103 if (unlikely(!var144
)) {
4104 var_class_name
= type_standard__Int
.name
;
4105 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4106 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
4109 var147
= (long)(var141
)>>2;
4110 var148
= var147
+ 1l;
4113 RET_LABEL143
:(void)0;
4117 var149
= (val
*)(var142
<<2|1);
4118 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_
, var_140
, var149
); /* Direct call hash_collection#HashMap#[]= on <var_:HashMap[String, Int]>*/
4120 if (unlikely(varonce150
==NULL
)) {
4121 var151
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
4122 if (likely(varonce152
!=NULL
)) {
4123 var153
= varonce152
;
4125 var154
= "count_type_test_skipped_";
4126 var155
= standard___standard__NativeString___to_s_with_length(var154
, 24l);
4128 varonce152
= var153
;
4130 ((struct instance_standard__NativeArray
*)var151
)->values
[0]=var153
;
4131 if (likely(varonce156
!=NULL
)) {
4132 var157
= varonce156
;
4135 var159
= standard___standard__NativeString___to_s_with_length(var158
, 3l);
4137 varonce156
= var157
;
4139 ((struct instance_standard__NativeArray
*)var151
)->values
[2]=var157
;
4141 var151
= varonce150
;
4144 ((struct instance_standard__NativeArray
*)var151
)->values
[1]=var_tag
;
4146 var160
= ((val
*(*)(val
* self
))(var151
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var151
); /* native_to_s on <var151:NativeArray[String]>*/
4148 varonce150
= var151
;
4150 nit___nit__AbstractCompilerVisitor___add(self
, var160
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4159 var161
= ((short int(*)(val
* self
))(var_ntype
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_ntype
); /* need_anchor on <var_ntype:MType>*/
4162 if (likely(varonce162
!=NULL
)) {
4163 var163
= varonce162
;
4165 var164
= "type_struct";
4166 var165
= standard___standard__NativeString___to_s_with_length(var164
, 11l);
4168 varonce162
= var163
;
4171 var166
= nit___nit__AbstractCompilerVisitor___get_name(self
, var163
);
4173 var_type_struct
= var166
;
4174 if (unlikely(varonce167
==NULL
)) {
4175 var168
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
4176 if (likely(varonce169
!=NULL
)) {
4177 var170
= varonce169
;
4179 var171
= "const struct type* ";
4180 var172
= standard___standard__NativeString___to_s_with_length(var171
, 19l);
4182 varonce169
= var170
;
4184 ((struct instance_standard__NativeArray
*)var168
)->values
[0]=var170
;
4185 if (likely(varonce173
!=NULL
)) {
4186 var174
= varonce173
;
4189 var176
= standard___standard__NativeString___to_s_with_length(var175
, 1l);
4191 varonce173
= var174
;
4193 ((struct instance_standard__NativeArray
*)var168
)->values
[2]=var174
;
4195 var168
= varonce167
;
4198 ((struct instance_standard__NativeArray
*)var168
)->values
[1]=var_type_struct
;
4200 var177
= ((val
*(*)(val
* self
))(var168
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var168
); /* native_to_s on <var168:NativeArray[String]>*/
4202 varonce167
= var168
;
4204 nit___nit__AbstractCompilerVisitor___add_decl(self
, var177
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:SeparateCompilerVisitor>*/
4207 nit___nit__SeparateCompilerVisitor___hardening_live_open_type(self
, var_mtype
); /* Direct call separate_compiler#SeparateCompilerVisitor#hardening_live_open_type on <self:SeparateCompilerVisitor>*/
4210 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
4211 var180
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
4213 RET_LABEL179
:(void)0;
4216 if (var178
== NULL
) {
4217 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4218 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1791);
4221 { /* Inline abstract_compiler#StaticFrame#mpropdef (var178) on <var178:nullable StaticFrame> */
4222 if (unlikely(var178
== NULL
)) {
4223 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4224 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1828);
4227 var183
= var178
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___mpropdef
].val
; /* _mpropdef on <var178:nullable StaticFrame> */
4228 if (unlikely(var183
== NULL
)) {
4229 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
4230 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1828);
4234 RET_LABEL182
:(void)0;
4238 { /* Inline model#MPropDef#mclassdef (var181) on <var181:MPropDef> */
4239 var186
= var181
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var181:MPropDef> */
4240 if (unlikely(var186
== NULL
)) {
4241 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
4242 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
4246 RET_LABEL185
:(void)0;
4250 nit___nit__SeparateCompilerVisitor___link_unresolved_type(self
, var184
, var_mtype
); /* Direct call separate_compiler#SeparateCompilerVisitor#link_unresolved_type on <self:SeparateCompilerVisitor>*/
4253 var187
= nit__separate_compiler___MEntity___const_color(var_mtype
);
4256 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var187
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
4258 if (unlikely(varonce188
==NULL
)) {
4259 var189
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String
);
4260 if (likely(varonce190
!=NULL
)) {
4261 var191
= varonce190
;
4264 var193
= standard___standard__NativeString___to_s_with_length(var192
, 3l);
4266 varonce190
= var191
;
4268 ((struct instance_standard__NativeArray
*)var189
)->values
[1]=var191
;
4269 if (likely(varonce194
!=NULL
)) {
4270 var195
= varonce194
;
4272 var196
= "->resolution_table->types[";
4273 var197
= standard___standard__NativeString___to_s_with_length(var196
, 26l);
4275 varonce194
= var195
;
4277 ((struct instance_standard__NativeArray
*)var189
)->values
[3]=var195
;
4278 if (likely(varonce198
!=NULL
)) {
4279 var199
= varonce198
;
4282 var201
= standard___standard__NativeString___to_s_with_length(var200
, 2l);
4284 varonce198
= var199
;
4286 ((struct instance_standard__NativeArray
*)var189
)->values
[5]=var199
;
4288 var189
= varonce188
;
4291 ((struct instance_standard__NativeArray
*)var189
)->values
[0]=var_type_struct
;
4292 ((struct instance_standard__NativeArray
*)var189
)->values
[2]=var_recv_type_info
;
4294 var202
= nit__separate_compiler___MEntity___const_color(var_mtype
);
4296 ((struct instance_standard__NativeArray
*)var189
)->values
[4]=var202
;
4298 var203
= ((val
*(*)(val
* self
))(var189
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var189
); /* native_to_s on <var189:NativeArray[String]>*/
4300 varonce188
= var189
;
4302 nit___nit__AbstractCompilerVisitor___add(self
, var203
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4305 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var_compiler) on <var_compiler:SeparateCompiler> */
4306 var206
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var_compiler:SeparateCompiler> */
4307 if (unlikely(var206
== NULL
)) {
4308 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4309 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
4313 RET_LABEL205
:(void)0;
4317 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var204) on <var204:ModelBuilder> */
4318 var209
= var204
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var204:ModelBuilder> */
4319 if (unlikely(var209
== NULL
)) {
4320 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4321 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
4325 RET_LABEL208
:(void)0;
4329 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var207) on <var207:ToolContext> */
4330 var212
= var207
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var207:ToolContext> */
4331 if (unlikely(var212
== NULL
)) {
4332 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
4333 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 60);
4337 RET_LABEL211
:(void)0;
4341 { /* Inline opts#Option#value (var210) on <var210:OptionBool> */
4342 var215
= var210
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var210:OptionBool> */
4344 RET_LABEL214
:(void)0;
4347 var216
= (short int)((long)(var213
)>>2);
4350 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
4351 var219
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
4352 if (unlikely(var219
== NULL
)) {
4353 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4354 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
4358 RET_LABEL218
:(void)0;
4362 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (var217) on <var217:AbstractCompiler(SeparateCompiler)> */
4363 var222
= var217
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <var217:AbstractCompiler(SeparateCompiler)> */
4364 if (unlikely(var222
== NULL
)) {
4365 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
4366 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1016);
4370 RET_LABEL221
:(void)0;
4376 var225
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_223
, var_224
);
4379 { /* Inline kernel#Int#+ (var225,1l) on <var225:nullable Object(Int)> */
4380 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
4381 /* <1l:Int> isa OTHER */
4382 var228
= 1; /* easy <1l:Int> isa OTHER*/
4383 if (unlikely(!var228
)) {
4384 var_class_name231
= type_standard__Int
.name
;
4385 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name231
);
4386 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
4389 var232
= (long)(var225
)>>2;
4390 var233
= var232
+ 1l;
4393 RET_LABEL227
:(void)0;
4397 var234
= (val
*)(var226
<<2|1);
4398 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_223
, var_224
, var234
); /* Direct call hash_collection#HashMap#[]= on <var_223:HashMap[String, Int]>*/
4400 if (unlikely(varonce235
==NULL
)) {
4401 var236
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
4402 if (likely(varonce237
!=NULL
)) {
4403 var238
= varonce237
;
4405 var239
= "count_type_test_unresolved_";
4406 var240
= standard___standard__NativeString___to_s_with_length(var239
, 27l);
4408 varonce237
= var238
;
4410 ((struct instance_standard__NativeArray
*)var236
)->values
[0]=var238
;
4411 if (likely(varonce241
!=NULL
)) {
4412 var242
= varonce241
;
4415 var244
= standard___standard__NativeString___to_s_with_length(var243
, 3l);
4417 varonce241
= var242
;
4419 ((struct instance_standard__NativeArray
*)var236
)->values
[2]=var242
;
4421 var236
= varonce235
;
4424 ((struct instance_standard__NativeArray
*)var236
)->values
[1]=var_tag
;
4426 var245
= ((val
*(*)(val
* self
))(var236
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var236
); /* native_to_s on <var236:NativeArray[String]>*/
4428 varonce235
= var236
;
4430 nit___nit__AbstractCompilerVisitor___add(self
, var245
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4435 nit___nit__SeparateCompilerVisitor___hardening_cast_type(self
, var_type_struct
); /* Direct call separate_compiler#SeparateCompilerVisitor#hardening_cast_type on <self:SeparateCompilerVisitor>*/
4437 if (unlikely(varonce246
==NULL
)) {
4438 var247
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
4439 if (likely(varonce248
!=NULL
)) {
4440 var249
= varonce248
;
4443 var251
= standard___standard__NativeString___to_s_with_length(var250
, 3l);
4445 varonce248
= var249
;
4447 ((struct instance_standard__NativeArray
*)var247
)->values
[1]=var249
;
4448 if (likely(varonce252
!=NULL
)) {
4449 var253
= varonce252
;
4451 var254
= "->color;";
4452 var255
= standard___standard__NativeString___to_s_with_length(var254
, 8l);
4454 varonce252
= var253
;
4456 ((struct instance_standard__NativeArray
*)var247
)->values
[3]=var253
;
4458 var247
= varonce246
;
4461 ((struct instance_standard__NativeArray
*)var247
)->values
[0]=var_cltype
;
4462 ((struct instance_standard__NativeArray
*)var247
)->values
[2]=var_type_struct
;
4464 var256
= ((val
*(*)(val
* self
))(var247
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var247
); /* native_to_s on <var247:NativeArray[String]>*/
4466 varonce246
= var247
;
4468 nit___nit__AbstractCompilerVisitor___add(self
, var256
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4470 if (unlikely(varonce257
==NULL
)) {
4471 var258
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
4472 if (likely(varonce259
!=NULL
)) {
4473 var260
= varonce259
;
4476 var262
= standard___standard__NativeString___to_s_with_length(var261
, 3l);
4478 varonce259
= var260
;
4480 ((struct instance_standard__NativeArray
*)var258
)->values
[1]=var260
;
4481 if (likely(varonce263
!=NULL
)) {
4482 var264
= varonce263
;
4485 var266
= standard___standard__NativeString___to_s_with_length(var265
, 5l);
4487 varonce263
= var264
;
4489 ((struct instance_standard__NativeArray
*)var258
)->values
[3]=var264
;
4491 var258
= varonce257
;
4494 ((struct instance_standard__NativeArray
*)var258
)->values
[0]=var_idtype
;
4495 ((struct instance_standard__NativeArray
*)var258
)->values
[2]=var_type_struct
;
4497 var267
= ((val
*(*)(val
* self
))(var258
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var258
); /* native_to_s on <var258:NativeArray[String]>*/
4499 varonce257
= var258
;
4501 nit___nit__AbstractCompilerVisitor___add(self
, var267
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4503 var_269
= var_maybe_null
;
4504 if (var_maybe_null
){
4505 if (likely(varonce270
!=NULL
)) {
4506 var271
= varonce270
;
4509 var273
= standard___standard__NativeString___to_s_with_length(var272
, 1l);
4511 varonce270
= var271
;
4514 var274
= ((short int(*)(val
* self
, val
* p0
))(var_accept_null
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_accept_null
, var271
); /* == on <var_accept_null:String>*/
4521 if (likely(varonce275
!=NULL
)) {
4522 var276
= varonce275
;
4524 var277
= "is_nullable";
4525 var278
= standard___standard__NativeString___to_s_with_length(var277
, 11l);
4527 varonce275
= var276
;
4530 var279
= nit___nit__AbstractCompilerVisitor___get_name(self
, var276
);
4532 var_is_nullable
= var279
;
4533 if (unlikely(varonce280
==NULL
)) {
4534 var281
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
4535 if (likely(varonce282
!=NULL
)) {
4536 var283
= varonce282
;
4538 var284
= "short int ";
4539 var285
= standard___standard__NativeString___to_s_with_length(var284
, 10l);
4541 varonce282
= var283
;
4543 ((struct instance_standard__NativeArray
*)var281
)->values
[0]=var283
;
4544 if (likely(varonce286
!=NULL
)) {
4545 var287
= varonce286
;
4548 var289
= standard___standard__NativeString___to_s_with_length(var288
, 1l);
4550 varonce286
= var287
;
4552 ((struct instance_standard__NativeArray
*)var281
)->values
[2]=var287
;
4554 var281
= varonce280
;
4557 ((struct instance_standard__NativeArray
*)var281
)->values
[1]=var_is_nullable
;
4559 var290
= ((val
*(*)(val
* self
))(var281
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var281
); /* native_to_s on <var281:NativeArray[String]>*/
4561 varonce280
= var281
;
4563 nit___nit__AbstractCompilerVisitor___add_decl(self
, var290
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:SeparateCompilerVisitor>*/
4565 if (unlikely(varonce291
==NULL
)) {
4566 var292
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
4567 if (likely(varonce293
!=NULL
)) {
4568 var294
= varonce293
;
4571 var296
= standard___standard__NativeString___to_s_with_length(var295
, 3l);
4573 varonce293
= var294
;
4575 ((struct instance_standard__NativeArray
*)var292
)->values
[1]=var294
;
4576 if (likely(varonce297
!=NULL
)) {
4577 var298
= varonce297
;
4579 var299
= "->is_nullable;";
4580 var300
= standard___standard__NativeString___to_s_with_length(var299
, 14l);
4582 varonce297
= var298
;
4584 ((struct instance_standard__NativeArray
*)var292
)->values
[3]=var298
;
4586 var292
= varonce291
;
4589 ((struct instance_standard__NativeArray
*)var292
)->values
[0]=var_is_nullable
;
4590 ((struct instance_standard__NativeArray
*)var292
)->values
[2]=var_type_struct
;
4592 var301
= ((val
*(*)(val
* self
))(var292
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var292
); /* native_to_s on <var292:NativeArray[String]>*/
4594 varonce291
= var292
;
4596 nit___nit__AbstractCompilerVisitor___add(self
, var301
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4599 var302
= standard___standard__String___Object__to_s(var_is_nullable
);
4601 var_accept_null
= var302
;
4605 /* <var_ntype:MType> isa MClassType */
4606 cltype304
= type_nit__MClassType
.color
;
4607 idtype305
= type_nit__MClassType
.id
;
4608 if(cltype304
>= var_ntype
->type
->table_size
) {
4611 var303
= var_ntype
->type
->type_table
[cltype304
] == idtype305
;
4615 { /* Inline separate_compiler#SeparateCompiler#undead_types (var_compiler) on <var_compiler:SeparateCompiler> */
4616 var308
= var_compiler
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___undead_types
].val
; /* _undead_types on <var_compiler:SeparateCompiler> */
4617 if (unlikely(var308
== NULL
)) {
4618 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _undead_types");
4619 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 146);
4623 RET_LABEL307
:(void)0;
4627 ((void(*)(val
* self
, val
* p0
))((((long)var306
&3)?class_info
[((long)var306
&3)]:var306
->class)->vft
[COLOR_standard__abstract_collection__SimpleCollection__add
]))(var306
, var_mtype
); /* add on <var306:Set[MType]>*/
4629 if (unlikely(varonce309
==NULL
)) {
4630 var310
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
4631 if (likely(varonce311
!=NULL
)) {
4632 var312
= varonce311
;
4635 var314
= standard___standard__NativeString___to_s_with_length(var313
, 5l);
4637 varonce311
= var312
;
4639 ((struct instance_standard__NativeArray
*)var310
)->values
[0]=var312
;
4641 var310
= varonce309
;
4645 var315
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MType>*/
4647 ((struct instance_standard__NativeArray
*)var310
)->values
[1]=var315
;
4649 var316
= ((val
*(*)(val
* self
))(var310
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var310
); /* native_to_s on <var310:NativeArray[String]>*/
4651 varonce309
= var310
;
4653 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var316
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
4655 if (unlikely(varonce317
==NULL
)) {
4656 var318
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
4657 if (likely(varonce319
!=NULL
)) {
4658 var320
= varonce319
;
4661 var322
= standard___standard__NativeString___to_s_with_length(var321
, 7l);
4663 varonce319
= var320
;
4665 ((struct instance_standard__NativeArray
*)var318
)->values
[0]=var320
;
4666 if (likely(varonce323
!=NULL
)) {
4667 var324
= varonce323
;
4670 var326
= standard___standard__NativeString___to_s_with_length(var325
, 1l);
4672 varonce323
= var324
;
4674 ((struct instance_standard__NativeArray
*)var318
)->values
[2]=var324
;
4676 var318
= varonce317
;
4680 var327
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MType>*/
4682 ((struct instance_standard__NativeArray
*)var318
)->values
[1]=var327
;
4684 var328
= ((val
*(*)(val
* self
))(var318
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var318
); /* native_to_s on <var318:NativeArray[String]>*/
4686 varonce317
= var318
;
4688 nit___nit__SeparateCompilerVisitor___hardening_cast_type(self
, var328
); /* Direct call separate_compiler#SeparateCompilerVisitor#hardening_cast_type on <self:SeparateCompilerVisitor>*/
4690 if (unlikely(varonce329
==NULL
)) {
4691 var330
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
4692 if (likely(varonce331
!=NULL
)) {
4693 var332
= varonce331
;
4695 var333
= " = type_";
4696 var334
= standard___standard__NativeString___to_s_with_length(var333
, 8l);
4698 varonce331
= var332
;
4700 ((struct instance_standard__NativeArray
*)var330
)->values
[1]=var332
;
4701 if (likely(varonce335
!=NULL
)) {
4702 var336
= varonce335
;
4705 var338
= standard___standard__NativeString___to_s_with_length(var337
, 7l);
4707 varonce335
= var336
;
4709 ((struct instance_standard__NativeArray
*)var330
)->values
[3]=var336
;
4711 var330
= varonce329
;
4714 ((struct instance_standard__NativeArray
*)var330
)->values
[0]=var_cltype
;
4716 var339
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MType>*/
4718 ((struct instance_standard__NativeArray
*)var330
)->values
[2]=var339
;
4720 var340
= ((val
*(*)(val
* self
))(var330
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var330
); /* native_to_s on <var330:NativeArray[String]>*/
4722 varonce329
= var330
;
4724 nit___nit__AbstractCompilerVisitor___add(self
, var340
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4726 if (unlikely(varonce341
==NULL
)) {
4727 var342
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
4728 if (likely(varonce343
!=NULL
)) {
4729 var344
= varonce343
;
4731 var345
= " = type_";
4732 var346
= standard___standard__NativeString___to_s_with_length(var345
, 8l);
4734 varonce343
= var344
;
4736 ((struct instance_standard__NativeArray
*)var342
)->values
[1]=var344
;
4737 if (likely(varonce347
!=NULL
)) {
4738 var348
= varonce347
;
4741 var350
= standard___standard__NativeString___to_s_with_length(var349
, 4l);
4743 varonce347
= var348
;
4745 ((struct instance_standard__NativeArray
*)var342
)->values
[3]=var348
;
4747 var342
= varonce341
;
4750 ((struct instance_standard__NativeArray
*)var342
)->values
[0]=var_idtype
;
4752 var351
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MType>*/
4754 ((struct instance_standard__NativeArray
*)var342
)->values
[2]=var351
;
4756 var352
= ((val
*(*)(val
* self
))(var342
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var342
); /* native_to_s on <var342:NativeArray[String]>*/
4758 varonce341
= var342
;
4760 nit___nit__AbstractCompilerVisitor___add(self
, var352
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4763 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var_compiler) on <var_compiler:SeparateCompiler> */
4764 var355
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var_compiler:SeparateCompiler> */
4765 if (unlikely(var355
== NULL
)) {
4766 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4767 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
4771 RET_LABEL354
:(void)0;
4775 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var353) on <var353:ModelBuilder> */
4776 var358
= var353
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var353:ModelBuilder> */
4777 if (unlikely(var358
== NULL
)) {
4778 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4779 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
4783 RET_LABEL357
:(void)0;
4787 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var356) on <var356:ToolContext> */
4788 var361
= var356
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var356:ToolContext> */
4789 if (unlikely(var361
== NULL
)) {
4790 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
4791 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 60);
4795 RET_LABEL360
:(void)0;
4799 { /* Inline opts#Option#value (var359) on <var359:OptionBool> */
4800 var364
= var359
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var359:OptionBool> */
4802 RET_LABEL363
:(void)0;
4805 var365
= (short int)((long)(var362
)>>2);
4808 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
4809 var368
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
4810 if (unlikely(var368
== NULL
)) {
4811 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4812 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
4816 RET_LABEL367
:(void)0;
4820 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (var366) on <var366:AbstractCompiler(SeparateCompiler)> */
4821 var371
= var366
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <var366:AbstractCompiler(SeparateCompiler)> */
4822 if (unlikely(var371
== NULL
)) {
4823 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
4824 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1015);
4828 RET_LABEL370
:(void)0;
4834 var374
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_372
, var_373
);
4837 { /* Inline kernel#Int#+ (var374,1l) on <var374:nullable Object(Int)> */
4838 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
4839 /* <1l:Int> isa OTHER */
4840 var377
= 1; /* easy <1l:Int> isa OTHER*/
4841 if (unlikely(!var377
)) {
4842 var_class_name380
= type_standard__Int
.name
;
4843 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name380
);
4844 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
4847 var381
= (long)(var374
)>>2;
4848 var382
= var381
+ 1l;
4851 RET_LABEL376
:(void)0;
4855 var383
= (val
*)(var375
<<2|1);
4856 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_372
, var_373
, var383
); /* Direct call hash_collection#HashMap#[]= on <var_372:HashMap[String, Int]>*/
4858 if (unlikely(varonce384
==NULL
)) {
4859 var385
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
4860 if (likely(varonce386
!=NULL
)) {
4861 var387
= varonce386
;
4863 var388
= "count_type_test_resolved_";
4864 var389
= standard___standard__NativeString___to_s_with_length(var388
, 25l);
4866 varonce386
= var387
;
4868 ((struct instance_standard__NativeArray
*)var385
)->values
[0]=var387
;
4869 if (likely(varonce390
!=NULL
)) {
4870 var391
= varonce390
;
4873 var393
= standard___standard__NativeString___to_s_with_length(var392
, 3l);
4875 varonce390
= var391
;
4877 ((struct instance_standard__NativeArray
*)var385
)->values
[2]=var391
;
4879 var385
= varonce384
;
4882 ((struct instance_standard__NativeArray
*)var385
)->values
[1]=var_tag
;
4884 var394
= ((val
*(*)(val
* self
))(var385
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var385
); /* native_to_s on <var385:NativeArray[String]>*/
4886 varonce384
= var385
;
4888 nit___nit__AbstractCompilerVisitor___add(self
, var394
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4893 if (unlikely(varonce395
==NULL
)) {
4894 var396
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
4895 if (likely(varonce397
!=NULL
)) {
4896 var398
= varonce397
;
4898 var399
= "PRINT_ERROR(\"NOT YET IMPLEMENTED: type_test(%s, ";
4899 var400
= standard___standard__NativeString___to_s_with_length(var399
, 48l);
4901 varonce397
= var398
;
4903 ((struct instance_standard__NativeArray
*)var396
)->values
[0]=var398
;
4904 if (likely(varonce401
!=NULL
)) {
4905 var402
= varonce401
;
4907 var403
= ").\\n\", \"";
4908 var404
= standard___standard__NativeString___to_s_with_length(var403
, 8l);
4910 varonce401
= var402
;
4912 ((struct instance_standard__NativeArray
*)var396
)->values
[2]=var402
;
4913 if (likely(varonce405
!=NULL
)) {
4914 var406
= varonce405
;
4916 var407
= "\"); fatal_exit(1);";
4917 var408
= standard___standard__NativeString___to_s_with_length(var407
, 18l);
4919 varonce405
= var406
;
4921 ((struct instance_standard__NativeArray
*)var396
)->values
[4]=var406
;
4923 var396
= varonce395
;
4927 var409
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MType>*/
4929 ((struct instance_standard__NativeArray
*)var396
)->values
[1]=var409
;
4931 var410
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_value
);
4933 ((struct instance_standard__NativeArray
*)var396
)->values
[3]=var410
;
4935 var411
= ((val
*(*)(val
* self
))(var396
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var396
); /* native_to_s on <var396:NativeArray[String]>*/
4937 varonce395
= var396
;
4939 nit___nit__AbstractCompilerVisitor___add(self
, var411
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4943 if (var_maybe_null
){
4944 if (unlikely(varonce412
==NULL
)) {
4945 var413
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
4946 if (likely(varonce414
!=NULL
)) {
4947 var415
= varonce414
;
4950 var417
= standard___standard__NativeString___to_s_with_length(var416
, 3l);
4952 varonce414
= var415
;
4954 ((struct instance_standard__NativeArray
*)var413
)->values
[0]=var415
;
4955 if (likely(varonce418
!=NULL
)) {
4956 var419
= varonce418
;
4958 var420
= " == NULL) {";
4959 var421
= standard___standard__NativeString___to_s_with_length(var420
, 11l);
4961 varonce418
= var419
;
4963 ((struct instance_standard__NativeArray
*)var413
)->values
[2]=var419
;
4965 var413
= varonce412
;
4969 var422
= ((val
*(*)(val
* self
))(var_value
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value
); /* to_s on <var_value:RuntimeVariable>*/
4971 ((struct instance_standard__NativeArray
*)var413
)->values
[1]=var422
;
4973 var423
= ((val
*(*)(val
* self
))(var413
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var413
); /* native_to_s on <var413:NativeArray[String]>*/
4975 varonce412
= var413
;
4977 nit___nit__AbstractCompilerVisitor___add(self
, var423
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4979 if (unlikely(varonce424
==NULL
)) {
4980 var425
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
4981 if (likely(varonce426
!=NULL
)) {
4982 var427
= varonce426
;
4985 var429
= standard___standard__NativeString___to_s_with_length(var428
, 3l);
4987 varonce426
= var427
;
4989 ((struct instance_standard__NativeArray
*)var425
)->values
[1]=var427
;
4990 if (likely(varonce430
!=NULL
)) {
4991 var431
= varonce430
;
4994 var433
= standard___standard__NativeString___to_s_with_length(var432
, 1l);
4996 varonce430
= var431
;
4998 ((struct instance_standard__NativeArray
*)var425
)->values
[3]=var431
;
5000 var425
= varonce424
;
5004 var434
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
5006 ((struct instance_standard__NativeArray
*)var425
)->values
[0]=var434
;
5007 ((struct instance_standard__NativeArray
*)var425
)->values
[2]=var_accept_null
;
5009 var435
= ((val
*(*)(val
* self
))(var425
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var425
); /* native_to_s on <var425:NativeArray[String]>*/
5011 varonce424
= var425
;
5013 nit___nit__AbstractCompilerVisitor___add(self
, var435
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5015 if (likely(varonce436
!=NULL
)) {
5016 var437
= varonce436
;
5018 var438
= "} else {";
5019 var439
= standard___standard__NativeString___to_s_with_length(var438
, 8l);
5021 varonce436
= var437
;
5024 nit___nit__AbstractCompilerVisitor___add(self
, var437
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5029 var440
= nit___nit__SeparateCompilerVisitor___type_info(self
, var_value
);
5031 var_value_type_info
= var440
;
5032 if (unlikely(varonce441
==NULL
)) {
5033 var442
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
5034 if (likely(varonce443
!=NULL
)) {
5035 var444
= varonce443
;
5038 var446
= standard___standard__NativeString___to_s_with_length(var445
, 3l);
5040 varonce443
= var444
;
5042 ((struct instance_standard__NativeArray
*)var442
)->values
[0]=var444
;
5043 if (likely(varonce447
!=NULL
)) {
5044 var448
= varonce447
;
5047 var450
= standard___standard__NativeString___to_s_with_length(var449
, 4l);
5049 varonce447
= var448
;
5051 ((struct instance_standard__NativeArray
*)var442
)->values
[2]=var448
;
5052 if (likely(varonce451
!=NULL
)) {
5053 var452
= varonce451
;
5055 var453
= "->table_size) {";
5056 var454
= standard___standard__NativeString___to_s_with_length(var453
, 15l);
5058 varonce451
= var452
;
5060 ((struct instance_standard__NativeArray
*)var442
)->values
[4]=var452
;
5062 var442
= varonce441
;
5065 ((struct instance_standard__NativeArray
*)var442
)->values
[1]=var_cltype
;
5066 ((struct instance_standard__NativeArray
*)var442
)->values
[3]=var_value_type_info
;
5068 var455
= ((val
*(*)(val
* self
))(var442
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var442
); /* native_to_s on <var442:NativeArray[String]>*/
5070 varonce441
= var442
;
5072 nit___nit__AbstractCompilerVisitor___add(self
, var455
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5074 if (unlikely(varonce456
==NULL
)) {
5075 var457
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
5076 if (likely(varonce458
!=NULL
)) {
5077 var459
= varonce458
;
5080 var461
= standard___standard__NativeString___to_s_with_length(var460
, 5l);
5082 varonce458
= var459
;
5084 ((struct instance_standard__NativeArray
*)var457
)->values
[1]=var459
;
5086 var457
= varonce456
;
5090 var462
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
5092 ((struct instance_standard__NativeArray
*)var457
)->values
[0]=var462
;
5094 var463
= ((val
*(*)(val
* self
))(var457
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var457
); /* native_to_s on <var457:NativeArray[String]>*/
5096 varonce456
= var457
;
5098 nit___nit__AbstractCompilerVisitor___add(self
, var463
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5100 if (likely(varonce464
!=NULL
)) {
5101 var465
= varonce464
;
5103 var466
= "} else {";
5104 var467
= standard___standard__NativeString___to_s_with_length(var466
, 8l);
5106 varonce464
= var465
;
5109 nit___nit__AbstractCompilerVisitor___add(self
, var465
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5111 if (unlikely(varonce468
==NULL
)) {
5112 var469
= NEW_standard__NativeArray(8l, &type_standard__NativeArray__standard__String
);
5113 if (likely(varonce470
!=NULL
)) {
5114 var471
= varonce470
;
5117 var473
= standard___standard__NativeString___to_s_with_length(var472
, 3l);
5119 varonce470
= var471
;
5121 ((struct instance_standard__NativeArray
*)var469
)->values
[1]=var471
;
5122 if (likely(varonce474
!=NULL
)) {
5123 var475
= varonce474
;
5125 var476
= "->type_table[";
5126 var477
= standard___standard__NativeString___to_s_with_length(var476
, 13l);
5128 varonce474
= var475
;
5130 ((struct instance_standard__NativeArray
*)var469
)->values
[3]=var475
;
5131 if (likely(varonce478
!=NULL
)) {
5132 var479
= varonce478
;
5135 var481
= standard___standard__NativeString___to_s_with_length(var480
, 5l);
5137 varonce478
= var479
;
5139 ((struct instance_standard__NativeArray
*)var469
)->values
[5]=var479
;
5140 if (likely(varonce482
!=NULL
)) {
5141 var483
= varonce482
;
5144 var485
= standard___standard__NativeString___to_s_with_length(var484
, 1l);
5146 varonce482
= var483
;
5148 ((struct instance_standard__NativeArray
*)var469
)->values
[7]=var483
;
5150 var469
= varonce468
;
5154 var486
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
5156 ((struct instance_standard__NativeArray
*)var469
)->values
[0]=var486
;
5157 ((struct instance_standard__NativeArray
*)var469
)->values
[2]=var_value_type_info
;
5158 ((struct instance_standard__NativeArray
*)var469
)->values
[4]=var_cltype
;
5159 ((struct instance_standard__NativeArray
*)var469
)->values
[6]=var_idtype
;
5161 var487
= ((val
*(*)(val
* self
))(var469
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var469
); /* native_to_s on <var469:NativeArray[String]>*/
5163 varonce468
= var469
;
5165 nit___nit__AbstractCompilerVisitor___add(self
, var487
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5167 if (likely(varonce488
!=NULL
)) {
5168 var489
= varonce488
;
5171 var491
= standard___standard__NativeString___to_s_with_length(var490
, 1l);
5173 varonce488
= var489
;
5176 nit___nit__AbstractCompilerVisitor___add(self
, var489
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5178 if (var_maybe_null
){
5179 if (likely(varonce492
!=NULL
)) {
5180 var493
= varonce492
;
5183 var495
= standard___standard__NativeString___to_s_with_length(var494
, 1l);
5185 varonce492
= var493
;
5188 nit___nit__AbstractCompilerVisitor___add(self
, var493
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5197 /* method separate_compiler#SeparateCompilerVisitor#is_same_type_test for (self: SeparateCompilerVisitor, RuntimeVariable, RuntimeVariable): RuntimeVariable */
5198 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__is_same_type_test(val
* self
, val
* p0
, val
* p1
) {
5199 val
* var
/* : RuntimeVariable */;
5200 val
* var_value1
/* var value1: RuntimeVariable */;
5201 val
* var_value2
/* var value2: RuntimeVariable */;
5202 val
* var1
/* : MClassType */;
5203 val
* var2
/* : RuntimeVariable */;
5204 val
* var_res
/* var res: RuntimeVariable */;
5205 short int var3
/* : Bool */;
5206 val
* var4
/* : MType */;
5207 val
* var6
/* : MType */;
5208 short int var7
/* : Bool */;
5209 short int var_
/* var : Bool */;
5210 val
* var8
/* : MType */;
5211 val
* var10
/* : MType */;
5212 short int var11
/* : Bool */;
5213 short int var12
/* : Bool */;
5214 val
* var_tmp
/* var tmp: RuntimeVariable */;
5215 val
* var13
/* : MType */;
5216 val
* var15
/* : MType */;
5217 short int var16
/* : Bool */;
5218 val
* var17
/* : MType */;
5219 val
* var19
/* : MType */;
5220 val
* var20
/* : MType */;
5221 val
* var22
/* : MType */;
5222 short int var23
/* : Bool */;
5223 val
* var_other
/* var other: nullable Object */;
5224 short int var25
/* : Bool */;
5225 short int var27
/* : Bool */;
5226 val
* var28
/* : NativeArray[String] */;
5227 static val
* varonce
;
5228 static val
* varonce29
;
5229 val
* var30
/* : String */;
5230 char* var31
/* : NativeString */;
5231 val
* var32
/* : FlatString */;
5232 static val
* varonce33
;
5233 val
* var34
/* : String */;
5234 char* var35
/* : NativeString */;
5235 val
* var36
/* : FlatString */;
5236 static val
* varonce37
;
5237 val
* var38
/* : String */;
5238 char* var39
/* : NativeString */;
5239 val
* var40
/* : FlatString */;
5240 val
* var41
/* : String */;
5241 val
* var42
/* : MType */;
5242 val
* var44
/* : MType */;
5243 val
* var45
/* : String */;
5244 val
* var46
/* : MType */;
5245 val
* var48
/* : MType */;
5246 val
* var49
/* : String */;
5247 val
* var50
/* : String */;
5248 val
* var51
/* : MType */;
5249 val
* var53
/* : MType */;
5250 short int var54
/* : Bool */;
5251 val
* var56
/* : NativeArray[String] */;
5252 static val
* varonce55
;
5253 static val
* varonce57
;
5254 val
* var58
/* : String */;
5255 char* var59
/* : NativeString */;
5256 val
* var60
/* : FlatString */;
5257 static val
* varonce61
;
5258 val
* var62
/* : String */;
5259 char* var63
/* : NativeString */;
5260 val
* var64
/* : FlatString */;
5261 static val
* varonce65
;
5262 val
* var66
/* : String */;
5263 char* var67
/* : NativeString */;
5264 val
* var68
/* : FlatString */;
5265 val
* var69
/* : String */;
5266 val
* var70
/* : MType */;
5267 val
* var72
/* : MType */;
5268 val
* var73
/* : String */;
5269 val
* var74
/* : MType */;
5270 val
* var76
/* : MType */;
5271 val
* var77
/* : String */;
5272 val
* var78
/* : String */;
5273 val
* var79
/* : MType */;
5274 val
* var81
/* : MType */;
5275 short int var82
/* : Bool */;
5278 const char* var_class_name
;
5279 val
* var_mtype1
/* var mtype1: MClassType */;
5280 val
* var84
/* : NativeArray[String] */;
5281 static val
* varonce83
;
5282 static val
* varonce85
;
5283 val
* var86
/* : String */;
5284 char* var87
/* : NativeString */;
5285 val
* var88
/* : FlatString */;
5286 val
* var89
/* : String */;
5287 val
* var90
/* : String */;
5288 val
* var92
/* : NativeArray[String] */;
5289 static val
* varonce91
;
5290 static val
* varonce93
;
5291 val
* var94
/* : String */;
5292 char* var95
/* : NativeString */;
5293 val
* var96
/* : FlatString */;
5294 static val
* varonce97
;
5295 val
* var98
/* : String */;
5296 char* var99
/* : NativeString */;
5297 val
* var100
/* : FlatString */;
5298 static val
* varonce101
;
5299 val
* var102
/* : String */;
5300 char* var103
/* : NativeString */;
5301 val
* var104
/* : FlatString */;
5302 static val
* varonce105
;
5303 val
* var106
/* : String */;
5304 char* var107
/* : NativeString */;
5305 val
* var108
/* : FlatString */;
5306 val
* var109
/* : String */;
5307 val
* var110
/* : String */;
5308 val
* var111
/* : String */;
5309 val
* var112
/* : String */;
5310 val
* var113
/* : String */;
5311 val
* var115
/* : NativeArray[String] */;
5312 static val
* varonce114
;
5313 static val
* varonce116
;
5314 val
* var117
/* : String */;
5315 char* var118
/* : NativeString */;
5316 val
* var119
/* : FlatString */;
5317 static val
* varonce120
;
5318 val
* var121
/* : String */;
5319 char* var122
/* : NativeString */;
5320 val
* var123
/* : FlatString */;
5321 static val
* varonce124
;
5322 val
* var125
/* : String */;
5323 char* var126
/* : NativeString */;
5324 val
* var127
/* : FlatString */;
5325 static val
* varonce128
;
5326 val
* var129
/* : String */;
5327 char* var130
/* : NativeString */;
5328 val
* var131
/* : FlatString */;
5329 static val
* varonce132
;
5330 val
* var133
/* : String */;
5331 char* var134
/* : NativeString */;
5332 val
* var135
/* : FlatString */;
5333 static val
* varonce136
;
5334 val
* var137
/* : String */;
5335 char* var138
/* : NativeString */;
5336 val
* var139
/* : FlatString */;
5337 static val
* varonce140
;
5338 val
* var141
/* : String */;
5339 char* var142
/* : NativeString */;
5340 val
* var143
/* : FlatString */;
5341 val
* var144
/* : String */;
5342 val
* var145
/* : String */;
5343 val
* var146
/* : String */;
5344 val
* var147
/* : String */;
5345 val
* var148
/* : String */;
5346 val
* var149
/* : String */;
5347 val
* var150
/* : String */;
5348 val
* var151
/* : String */;
5352 var1
= nit___nit__AbstractCompilerVisitor___bool_type(self
);
5355 var2
= nit___nit__AbstractCompilerVisitor___new_var(self
, var1
);
5359 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
5360 var6
= var_value2
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value2:RuntimeVariable> */
5361 if (unlikely(var6
== NULL
)) {
5362 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
5363 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
5371 var7
= ((short int(*)(val
* self
))(var4
->class->vft
[COLOR_nit__abstract_compiler__MType__is_c_primitive
]))(var4
); /* is_c_primitive on <var4:MType>*/
5376 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
5377 var10
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
5378 if (unlikely(var10
== NULL
)) {
5379 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
5380 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
5388 var11
= ((short int(*)(val
* self
))(var8
->class->vft
[COLOR_nit__abstract_compiler__MType__is_c_primitive
]))(var8
); /* is_c_primitive on <var8:MType>*/
5396 var_tmp
= var_value1
;
5397 var_value1
= var_value2
;
5398 var_value2
= var_tmp
;
5402 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
5403 var15
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
5404 if (unlikely(var15
== NULL
)) {
5405 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
5406 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
5410 RET_LABEL14
:(void)0;
5414 var16
= ((short int(*)(val
* self
))(var13
->class->vft
[COLOR_nit__abstract_compiler__MType__is_c_primitive
]))(var13
); /* is_c_primitive on <var13:MType>*/
5418 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
5419 var19
= var_value2
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value2:RuntimeVariable> */
5420 if (unlikely(var19
== NULL
)) {
5421 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
5422 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
5426 RET_LABEL18
:(void)0;
5430 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
5431 var22
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
5432 if (unlikely(var22
== NULL
)) {
5433 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
5434 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
5438 RET_LABEL21
:(void)0;
5442 { /* Inline kernel#Object#== (var17,var20) on <var17:MType> */
5445 { /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:MType> */
5446 var27
= var17
== var_other
;
5449 RET_LABEL26
:(void)0;
5454 RET_LABEL24
:(void)0;
5458 if (unlikely(varonce
==NULL
)) {
5459 var28
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String
);
5460 if (likely(varonce29
!=NULL
)) {
5463 var31
= " = 1; /* is_same_type_test: compatible types ";
5464 var32
= standard___standard__NativeString___to_s_with_length(var31
, 45l);
5468 ((struct instance_standard__NativeArray
*)var28
)->values
[1]=var30
;
5469 if (likely(varonce33
!=NULL
)) {
5473 var36
= standard___standard__NativeString___to_s_with_length(var35
, 5l);
5477 ((struct instance_standard__NativeArray
*)var28
)->values
[3]=var34
;
5478 if (likely(varonce37
!=NULL
)) {
5482 var40
= standard___standard__NativeString___to_s_with_length(var39
, 3l);
5486 ((struct instance_standard__NativeArray
*)var28
)->values
[5]=var38
;
5492 var41
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
5494 ((struct instance_standard__NativeArray
*)var28
)->values
[0]=var41
;
5496 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
5497 var44
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
5498 if (unlikely(var44
== NULL
)) {
5499 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
5500 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
5504 RET_LABEL43
:(void)0;
5508 var45
= ((val
*(*)(val
* self
))(var42
->class->vft
[COLOR_standard__string__Object__to_s
]))(var42
); /* to_s on <var42:MType>*/
5510 ((struct instance_standard__NativeArray
*)var28
)->values
[2]=var45
;
5512 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
5513 var48
= var_value2
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value2:RuntimeVariable> */
5514 if (unlikely(var48
== NULL
)) {
5515 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
5516 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
5520 RET_LABEL47
:(void)0;
5524 var49
= ((val
*(*)(val
* self
))(var46
->class->vft
[COLOR_standard__string__Object__to_s
]))(var46
); /* to_s on <var46:MType>*/
5526 ((struct instance_standard__NativeArray
*)var28
)->values
[4]=var49
;
5528 var50
= ((val
*(*)(val
* self
))(var28
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var28
); /* native_to_s on <var28:NativeArray[String]>*/
5532 nit___nit__AbstractCompilerVisitor___add(self
, var50
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5536 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
5537 var53
= var_value2
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value2:RuntimeVariable> */
5538 if (unlikely(var53
== NULL
)) {
5539 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
5540 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
5544 RET_LABEL52
:(void)0;
5548 var54
= ((short int(*)(val
* self
))(var51
->class->vft
[COLOR_nit__abstract_compiler__MType__is_c_primitive
]))(var51
); /* is_c_primitive on <var51:MType>*/
5551 if (unlikely(varonce55
==NULL
)) {
5552 var56
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String
);
5553 if (likely(varonce57
!=NULL
)) {
5556 var59
= " = 0; /* is_same_type_test: incompatible types ";
5557 var60
= standard___standard__NativeString___to_s_with_length(var59
, 47l);
5561 ((struct instance_standard__NativeArray
*)var56
)->values
[1]=var58
;
5562 if (likely(varonce61
!=NULL
)) {
5566 var64
= standard___standard__NativeString___to_s_with_length(var63
, 5l);
5570 ((struct instance_standard__NativeArray
*)var56
)->values
[3]=var62
;
5571 if (likely(varonce65
!=NULL
)) {
5575 var68
= standard___standard__NativeString___to_s_with_length(var67
, 2l);
5579 ((struct instance_standard__NativeArray
*)var56
)->values
[5]=var66
;
5585 var69
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
5587 ((struct instance_standard__NativeArray
*)var56
)->values
[0]=var69
;
5589 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
5590 var72
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
5591 if (unlikely(var72
== NULL
)) {
5592 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
5593 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
5597 RET_LABEL71
:(void)0;
5601 var73
= ((val
*(*)(val
* self
))(var70
->class->vft
[COLOR_standard__string__Object__to_s
]))(var70
); /* to_s on <var70:MType>*/
5603 ((struct instance_standard__NativeArray
*)var56
)->values
[2]=var73
;
5605 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
5606 var76
= var_value2
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value2:RuntimeVariable> */
5607 if (unlikely(var76
== NULL
)) {
5608 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
5609 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
5613 RET_LABEL75
:(void)0;
5617 var77
= ((val
*(*)(val
* self
))(var74
->class->vft
[COLOR_standard__string__Object__to_s
]))(var74
); /* to_s on <var74:MType>*/
5619 ((struct instance_standard__NativeArray
*)var56
)->values
[4]=var77
;
5621 var78
= ((val
*(*)(val
* self
))(var56
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var56
); /* native_to_s on <var56:NativeArray[String]>*/
5625 nit___nit__AbstractCompilerVisitor___add(self
, var78
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5629 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
5630 var81
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
5631 if (unlikely(var81
== NULL
)) {
5632 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
5633 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
5637 RET_LABEL80
:(void)0;
5640 /* <var79:MType> isa MClassType */
5641 cltype
= type_nit__MClassType
.color
;
5642 idtype
= type_nit__MClassType
.id
;
5643 if(cltype
>= var79
->type
->table_size
) {
5646 var82
= var79
->type
->type_table
[cltype
] == idtype
;
5648 if (unlikely(!var82
)) {
5649 var_class_name
= var79
== NULL ?
"null" : var79
->type
->name
;
5650 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
5651 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1855);
5655 if (unlikely(varonce83
==NULL
)) {
5656 var84
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
5657 if (likely(varonce85
!=NULL
)) {
5661 var88
= standard___standard__NativeString___to_s_with_length(var87
, 6l);
5665 ((struct instance_standard__NativeArray
*)var84
)->values
[0]=var86
;
5671 var89
= ((val
*(*)(val
* self
))(var_mtype1
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype1
); /* c_name on <var_mtype1:MClassType>*/
5673 ((struct instance_standard__NativeArray
*)var84
)->values
[1]=var89
;
5675 var90
= ((val
*(*)(val
* self
))(var84
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var84
); /* native_to_s on <var84:NativeArray[String]>*/
5679 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var90
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
5681 if (unlikely(varonce91
==NULL
)) {
5682 var92
= NEW_standard__NativeArray(8l, &type_standard__NativeArray__standard__String
);
5683 if (likely(varonce93
!=NULL
)) {
5687 var96
= standard___standard__NativeString___to_s_with_length(var95
, 4l);
5691 ((struct instance_standard__NativeArray
*)var92
)->values
[1]=var94
;
5692 if (likely(varonce97
!=NULL
)) {
5695 var99
= " != NULL) && (";
5696 var100
= standard___standard__NativeString___to_s_with_length(var99
, 14l);
5700 ((struct instance_standard__NativeArray
*)var92
)->values
[3]=var98
;
5701 if (likely(varonce101
!=NULL
)) {
5702 var102
= varonce101
;
5704 var103
= "->class == &class_";
5705 var104
= standard___standard__NativeString___to_s_with_length(var103
, 18l);
5707 varonce101
= var102
;
5709 ((struct instance_standard__NativeArray
*)var92
)->values
[5]=var102
;
5710 if (likely(varonce105
!=NULL
)) {
5711 var106
= varonce105
;
5713 var107
= "); /* is_same_type_test */";
5714 var108
= standard___standard__NativeString___to_s_with_length(var107
, 26l);
5716 varonce105
= var106
;
5718 ((struct instance_standard__NativeArray
*)var92
)->values
[7]=var106
;
5724 var109
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
5726 ((struct instance_standard__NativeArray
*)var92
)->values
[0]=var109
;
5728 var110
= ((val
*(*)(val
* self
))(var_value2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value2
); /* to_s on <var_value2:RuntimeVariable>*/
5730 ((struct instance_standard__NativeArray
*)var92
)->values
[2]=var110
;
5732 var111
= ((val
*(*)(val
* self
))(var_value2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value2
); /* to_s on <var_value2:RuntimeVariable>*/
5734 ((struct instance_standard__NativeArray
*)var92
)->values
[4]=var111
;
5736 var112
= ((val
*(*)(val
* self
))(var_mtype1
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype1
); /* c_name on <var_mtype1:MClassType>*/
5738 ((struct instance_standard__NativeArray
*)var92
)->values
[6]=var112
;
5740 var113
= ((val
*(*)(val
* self
))(var92
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var92
); /* native_to_s on <var92:NativeArray[String]>*/
5744 nit___nit__AbstractCompilerVisitor___add(self
, var113
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5749 if (unlikely(varonce114
==NULL
)) {
5750 var115
= NEW_standard__NativeArray(14l, &type_standard__NativeArray__standard__String
);
5751 if (likely(varonce116
!=NULL
)) {
5752 var117
= varonce116
;
5755 var119
= standard___standard__NativeString___to_s_with_length(var118
, 4l);
5757 varonce116
= var117
;
5759 ((struct instance_standard__NativeArray
*)var115
)->values
[1]=var117
;
5760 if (likely(varonce120
!=NULL
)) {
5761 var121
= varonce120
;
5764 var123
= standard___standard__NativeString___to_s_with_length(var122
, 4l);
5766 varonce120
= var121
;
5768 ((struct instance_standard__NativeArray
*)var115
)->values
[3]=var121
;
5769 if (likely(varonce124
!=NULL
)) {
5770 var125
= varonce124
;
5773 var127
= standard___standard__NativeString___to_s_with_length(var126
, 6l);
5775 varonce124
= var125
;
5777 ((struct instance_standard__NativeArray
*)var115
)->values
[5]=var125
;
5778 if (likely(varonce128
!=NULL
)) {
5779 var129
= varonce128
;
5781 var130
= " != NULL && ";
5782 var131
= standard___standard__NativeString___to_s_with_length(var130
, 12l);
5784 varonce128
= var129
;
5786 ((struct instance_standard__NativeArray
*)var115
)->values
[7]=var129
;
5787 if (likely(varonce132
!=NULL
)) {
5788 var133
= varonce132
;
5790 var134
= " != NULL && ";
5791 var135
= standard___standard__NativeString___to_s_with_length(var134
, 12l);
5793 varonce132
= var133
;
5795 ((struct instance_standard__NativeArray
*)var115
)->values
[9]=var133
;
5796 if (likely(varonce136
!=NULL
)) {
5797 var137
= varonce136
;
5800 var139
= standard___standard__NativeString___to_s_with_length(var138
, 4l);
5802 varonce136
= var137
;
5804 ((struct instance_standard__NativeArray
*)var115
)->values
[11]=var137
;
5805 if (likely(varonce140
!=NULL
)) {
5806 var141
= varonce140
;
5808 var142
= "); /* is_same_type_test */";
5809 var143
= standard___standard__NativeString___to_s_with_length(var142
, 26l);
5811 varonce140
= var141
;
5813 ((struct instance_standard__NativeArray
*)var115
)->values
[13]=var141
;
5815 var115
= varonce114
;
5819 var144
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
5821 ((struct instance_standard__NativeArray
*)var115
)->values
[0]=var144
;
5823 var145
= ((val
*(*)(val
* self
))(var_value1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value1
); /* to_s on <var_value1:RuntimeVariable>*/
5825 ((struct instance_standard__NativeArray
*)var115
)->values
[2]=var145
;
5827 var146
= ((val
*(*)(val
* self
))(var_value2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value2
); /* to_s on <var_value2:RuntimeVariable>*/
5829 ((struct instance_standard__NativeArray
*)var115
)->values
[4]=var146
;
5831 var147
= ((val
*(*)(val
* self
))(var_value1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value1
); /* to_s on <var_value1:RuntimeVariable>*/
5833 ((struct instance_standard__NativeArray
*)var115
)->values
[6]=var147
;
5835 var148
= ((val
*(*)(val
* self
))(var_value2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value2
); /* to_s on <var_value2:RuntimeVariable>*/
5837 ((struct instance_standard__NativeArray
*)var115
)->values
[8]=var148
;
5839 var149
= nit___nit__SeparateCompilerVisitor___class_info(self
, var_value1
);
5841 ((struct instance_standard__NativeArray
*)var115
)->values
[10]=var149
;
5843 var150
= nit___nit__SeparateCompilerVisitor___class_info(self
, var_value2
);
5845 ((struct instance_standard__NativeArray
*)var115
)->values
[12]=var150
;
5847 var151
= ((val
*(*)(val
* self
))(var115
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var115
); /* native_to_s on <var115:NativeArray[String]>*/
5849 varonce114
= var115
;
5851 nit___nit__AbstractCompilerVisitor___add(self
, var151
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5859 /* method separate_compiler#SeparateCompilerVisitor#class_name_string for (self: SeparateCompilerVisitor, RuntimeVariable): String */
5860 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__class_name_string(val
* self
, val
* p0
) {
5861 val
* var
/* : String */;
5862 val
* var_value
/* var value: RuntimeVariable */;
5863 static val
* varonce
;
5864 val
* var1
/* : String */;
5865 char* var2
/* : NativeString */;
5866 val
* var3
/* : FlatString */;
5867 val
* var4
/* : String */;
5868 val
* var_res
/* var res: String */;
5869 val
* var6
/* : NativeArray[String] */;
5870 static val
* varonce5
;
5871 static val
* varonce7
;
5872 val
* var8
/* : String */;
5873 char* var9
/* : NativeString */;
5874 val
* var10
/* : FlatString */;
5875 static val
* varonce11
;
5876 val
* var12
/* : String */;
5877 char* var13
/* : NativeString */;
5878 val
* var14
/* : FlatString */;
5879 val
* var15
/* : String */;
5880 val
* var16
/* : MType */;
5881 val
* var18
/* : MType */;
5882 short int var19
/* : Bool */;
5883 short int var20
/* : Bool */;
5884 val
* var22
/* : NativeArray[String] */;
5885 static val
* varonce21
;
5886 static val
* varonce23
;
5887 val
* var24
/* : String */;
5888 char* var25
/* : NativeString */;
5889 val
* var26
/* : FlatString */;
5890 static val
* varonce27
;
5891 val
* var28
/* : String */;
5892 char* var29
/* : NativeString */;
5893 val
* var30
/* : FlatString */;
5894 static val
* varonce31
;
5895 val
* var32
/* : String */;
5896 char* var33
/* : NativeString */;
5897 val
* var34
/* : FlatString */;
5898 val
* var35
/* : String */;
5899 val
* var36
/* : String */;
5900 val
* var37
/* : String */;
5901 short int var38
/* : Bool */;
5902 short int var39
/* : Bool */;
5903 val
* var40
/* : MType */;
5904 val
* var42
/* : MType */;
5905 short int var43
/* : Bool */;
5908 short int var_
/* var : Bool */;
5909 val
* var44
/* : MType */;
5910 val
* var46
/* : MType */;
5911 short int var47
/* : Bool */;
5914 const char* var_class_name
;
5915 val
* var50
/* : MClass */;
5916 val
* var52
/* : MClass */;
5917 val
* var53
/* : MClassKind */;
5918 val
* var55
/* : MClassKind */;
5919 val
* var56
/* : Sys */;
5920 val
* var57
/* : MClassKind */;
5921 short int var58
/* : Bool */;
5922 val
* var_other
/* var other: nullable Object */;
5923 short int var60
/* : Bool */;
5924 short int var62
/* : Bool */;
5925 short int var_63
/* var : Bool */;
5926 val
* var64
/* : MType */;
5927 val
* var66
/* : MType */;
5928 short int var67
/* : Bool */;
5931 const char* var_class_name70
;
5932 val
* var71
/* : String */;
5933 static val
* varonce72
;
5934 val
* var73
/* : String */;
5935 char* var74
/* : NativeString */;
5936 val
* var75
/* : FlatString */;
5937 short int var76
/* : Bool */;
5938 val
* var_other78
/* var other: nullable Object */;
5939 short int var79
/* : Bool */;
5940 short int var80
/* : Bool */;
5941 val
* var82
/* : NativeArray[String] */;
5942 static val
* varonce81
;
5943 static val
* varonce83
;
5944 val
* var84
/* : String */;
5945 char* var85
/* : NativeString */;
5946 val
* var86
/* : FlatString */;
5947 static val
* varonce87
;
5948 val
* var88
/* : String */;
5949 char* var89
/* : NativeString */;
5950 val
* var90
/* : FlatString */;
5951 val
* var91
/* : MType */;
5952 val
* var93
/* : MType */;
5953 short int var94
/* : Bool */;
5956 const char* var_class_name97
;
5957 val
* var98
/* : MClass */;
5958 val
* var100
/* : MClass */;
5959 val
* var101
/* : String */;
5960 val
* var102
/* : String */;
5961 val
* var104
/* : NativeArray[String] */;
5962 static val
* varonce103
;
5963 static val
* varonce105
;
5964 val
* var106
/* : String */;
5965 char* var107
/* : NativeString */;
5966 val
* var108
/* : FlatString */;
5967 val
* var109
/* : MType */;
5968 val
* var111
/* : MType */;
5969 val
* var112
/* : String */;
5970 val
* var113
/* : String */;
5971 val
* var115
/* : NativeArray[String] */;
5972 static val
* varonce114
;
5973 static val
* varonce116
;
5974 val
* var117
/* : String */;
5975 char* var118
/* : NativeString */;
5976 val
* var119
/* : FlatString */;
5977 static val
* varonce120
;
5978 val
* var121
/* : String */;
5979 char* var122
/* : NativeString */;
5980 val
* var123
/* : FlatString */;
5981 val
* var124
/* : MType */;
5982 val
* var126
/* : MType */;
5983 val
* var127
/* : String */;
5984 val
* var128
/* : String */;
5986 if (likely(varonce
!=NULL
)) {
5989 var2
= "var_class_name";
5990 var3
= standard___standard__NativeString___to_s_with_length(var2
, 14l);
5995 var4
= nit___nit__AbstractCompilerVisitor___get_name(self
, var1
);
5998 if (unlikely(varonce5
==NULL
)) {
5999 var6
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
6000 if (likely(varonce7
!=NULL
)) {
6003 var9
= "const char* ";
6004 var10
= standard___standard__NativeString___to_s_with_length(var9
, 12l);
6008 ((struct instance_standard__NativeArray
*)var6
)->values
[0]=var8
;
6009 if (likely(varonce11
!=NULL
)) {
6013 var14
= standard___standard__NativeString___to_s_with_length(var13
, 1l);
6017 ((struct instance_standard__NativeArray
*)var6
)->values
[2]=var12
;
6022 ((struct instance_standard__NativeArray
*)var6
)->values
[1]=var_res
;
6024 var15
= ((val
*(*)(val
* self
))(var6
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var6
); /* native_to_s on <var6:NativeArray[String]>*/
6028 nit___nit__AbstractCompilerVisitor___add_decl(self
, var15
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:SeparateCompilerVisitor>*/
6031 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
6032 var18
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
6033 if (unlikely(var18
== NULL
)) {
6034 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6035 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
6039 RET_LABEL17
:(void)0;
6043 var19
= ((short int(*)(val
* self
))(var16
->class->vft
[COLOR_nit__abstract_compiler__MType__is_c_primitive
]))(var16
); /* is_c_primitive on <var16:MType>*/
6047 if (unlikely(varonce21
==NULL
)) {
6048 var22
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String
);
6049 if (likely(varonce23
!=NULL
)) {
6053 var26
= standard___standard__NativeString___to_s_with_length(var25
, 3l);
6057 ((struct instance_standard__NativeArray
*)var22
)->values
[1]=var24
;
6058 if (likely(varonce27
!=NULL
)) {
6061 var29
= " == NULL ? \"null\" : ";
6062 var30
= standard___standard__NativeString___to_s_with_length(var29
, 20l);
6066 ((struct instance_standard__NativeArray
*)var22
)->values
[3]=var28
;
6067 if (likely(varonce31
!=NULL
)) {
6071 var34
= standard___standard__NativeString___to_s_with_length(var33
, 7l);
6075 ((struct instance_standard__NativeArray
*)var22
)->values
[5]=var32
;
6080 ((struct instance_standard__NativeArray
*)var22
)->values
[0]=var_res
;
6082 var35
= ((val
*(*)(val
* self
))(var_value
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value
); /* to_s on <var_value:RuntimeVariable>*/
6084 ((struct instance_standard__NativeArray
*)var22
)->values
[2]=var35
;
6086 var36
= nit___nit__SeparateCompilerVisitor___type_info(self
, var_value
);
6088 ((struct instance_standard__NativeArray
*)var22
)->values
[4]=var36
;
6090 var37
= ((val
*(*)(val
* self
))(var22
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var22
); /* native_to_s on <var22:NativeArray[String]>*/
6094 nit___nit__AbstractCompilerVisitor___add(self
, var37
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
6098 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
6099 var42
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
6100 if (unlikely(var42
== NULL
)) {
6101 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6102 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
6106 RET_LABEL41
:(void)0;
6109 /* <var40:MType> isa MClassType */
6110 cltype
= type_nit__MClassType
.color
;
6111 idtype
= type_nit__MClassType
.id
;
6112 if(cltype
>= var40
->type
->table_size
) {
6115 var43
= var40
->type
->type_table
[cltype
] == idtype
;
6120 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
6121 var46
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
6122 if (unlikely(var46
== NULL
)) {
6123 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6124 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
6128 RET_LABEL45
:(void)0;
6131 /* <var44:MType> isa MClassType */
6132 cltype48
= type_nit__MClassType
.color
;
6133 idtype49
= type_nit__MClassType
.id
;
6134 if(cltype48
>= var44
->type
->table_size
) {
6137 var47
= var44
->type
->type_table
[cltype48
] == idtype49
;
6139 if (unlikely(!var47
)) {
6140 var_class_name
= var44
== NULL ?
"null" : var44
->type
->name
;
6141 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
6142 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1871);
6146 { /* Inline model#MClassType#mclass (var44) on <var44:MType(MClassType)> */
6147 var52
= var44
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var44:MType(MClassType)> */
6148 if (unlikely(var52
== NULL
)) {
6149 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6150 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
6154 RET_LABEL51
:(void)0;
6158 { /* Inline model#MClass#kind (var50) on <var50:MClass> */
6159 var55
= var50
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var50:MClass> */
6160 if (unlikely(var55
== NULL
)) {
6161 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
6162 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 436);
6166 RET_LABEL54
:(void)0;
6171 var57
= nit__model___standard__Sys___extern_kind(var56
);
6174 { /* Inline kernel#Object#== (var53,var57) on <var53:MClassKind> */
6177 { /* Inline kernel#Object#is_same_instance (var53,var_other) on <var53:MClassKind> */
6178 var62
= var53
== var_other
;
6181 RET_LABEL61
:(void)0;
6186 RET_LABEL59
:(void)0;
6196 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
6197 var66
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
6198 if (unlikely(var66
== NULL
)) {
6199 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6200 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
6204 RET_LABEL65
:(void)0;
6207 /* <var64:MType> isa MClassType */
6208 cltype68
= type_nit__MClassType
.color
;
6209 idtype69
= type_nit__MClassType
.id
;
6210 if(cltype68
>= var64
->type
->table_size
) {
6213 var67
= var64
->type
->type_table
[cltype68
] == idtype69
;
6215 if (unlikely(!var67
)) {
6216 var_class_name70
= var64
== NULL ?
"null" : var64
->type
->name
;
6217 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name70
);
6218 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1872);
6222 var71
= nit___nit__MType___nit__model_base__MEntity__name(var64
);
6224 if (likely(varonce72
!=NULL
)) {
6227 var74
= "NativeString";
6228 var75
= standard___standard__NativeString___to_s_with_length(var74
, 12l);
6233 { /* Inline kernel#Object#!= (var71,var73) on <var71:String> */
6234 var_other78
= var73
;
6236 var79
= ((short int(*)(val
* self
, val
* p0
))(var71
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var71
, var_other78
); /* == on <var71:String>*/
6241 RET_LABEL77
:(void)0;
6249 if (unlikely(varonce81
==NULL
)) {
6250 var82
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
6251 if (likely(varonce83
!=NULL
)) {
6255 var86
= standard___standard__NativeString___to_s_with_length(var85
, 4l);
6259 ((struct instance_standard__NativeArray
*)var82
)->values
[1]=var84
;
6260 if (likely(varonce87
!=NULL
)) {
6264 var90
= standard___standard__NativeString___to_s_with_length(var89
, 2l);
6268 ((struct instance_standard__NativeArray
*)var82
)->values
[3]=var88
;
6273 ((struct instance_standard__NativeArray
*)var82
)->values
[0]=var_res
;
6275 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
6276 var93
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
6277 if (unlikely(var93
== NULL
)) {
6278 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6279 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
6283 RET_LABEL92
:(void)0;
6286 /* <var91:MType> isa MClassType */
6287 cltype95
= type_nit__MClassType
.color
;
6288 idtype96
= type_nit__MClassType
.id
;
6289 if(cltype95
>= var91
->type
->table_size
) {
6292 var94
= var91
->type
->type_table
[cltype95
] == idtype96
;
6294 if (unlikely(!var94
)) {
6295 var_class_name97
= var91
== NULL ?
"null" : var91
->type
->name
;
6296 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name97
);
6297 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1873);
6301 { /* Inline model#MClassType#mclass (var91) on <var91:MType(MClassType)> */
6302 var100
= var91
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var91:MType(MClassType)> */
6303 if (unlikely(var100
== NULL
)) {
6304 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6305 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
6309 RET_LABEL99
:(void)0;
6313 var101
= ((val
*(*)(val
* self
))(var98
->class->vft
[COLOR_standard__string__Object__to_s
]))(var98
); /* to_s on <var98:MClass>*/
6315 ((struct instance_standard__NativeArray
*)var82
)->values
[2]=var101
;
6317 var102
= ((val
*(*)(val
* self
))(var82
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var82
); /* native_to_s on <var82:NativeArray[String]>*/
6321 nit___nit__AbstractCompilerVisitor___add(self
, var102
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
6324 if (unlikely(varonce103
==NULL
)) {
6325 var104
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
6326 if (likely(varonce105
!=NULL
)) {
6327 var106
= varonce105
;
6330 var108
= standard___standard__NativeString___to_s_with_length(var107
, 5l);
6332 varonce105
= var106
;
6334 ((struct instance_standard__NativeArray
*)var104
)->values
[0]=var106
;
6336 var104
= varonce103
;
6340 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
6341 var111
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
6342 if (unlikely(var111
== NULL
)) {
6343 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6344 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
6348 RET_LABEL110
:(void)0;
6352 var112
= ((val
*(*)(val
* self
))(var109
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var109
); /* c_name on <var109:MType>*/
6354 ((struct instance_standard__NativeArray
*)var104
)->values
[1]=var112
;
6356 var113
= ((val
*(*)(val
* self
))(var104
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var104
); /* native_to_s on <var104:NativeArray[String]>*/
6358 varonce103
= var104
;
6360 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var113
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
6362 if (unlikely(varonce114
==NULL
)) {
6363 var115
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
6364 if (likely(varonce116
!=NULL
)) {
6365 var117
= varonce116
;
6367 var118
= " = type_";
6368 var119
= standard___standard__NativeString___to_s_with_length(var118
, 8l);
6370 varonce116
= var117
;
6372 ((struct instance_standard__NativeArray
*)var115
)->values
[1]=var117
;
6373 if (likely(varonce120
!=NULL
)) {
6374 var121
= varonce120
;
6377 var123
= standard___standard__NativeString___to_s_with_length(var122
, 6l);
6379 varonce120
= var121
;
6381 ((struct instance_standard__NativeArray
*)var115
)->values
[3]=var121
;
6383 var115
= varonce114
;
6386 ((struct instance_standard__NativeArray
*)var115
)->values
[0]=var_res
;
6388 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
6389 var126
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
6390 if (unlikely(var126
== NULL
)) {
6391 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6392 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
6396 RET_LABEL125
:(void)0;
6400 var127
= ((val
*(*)(val
* self
))(var124
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var124
); /* c_name on <var124:MType>*/
6402 ((struct instance_standard__NativeArray
*)var115
)->values
[2]=var127
;
6404 var128
= ((val
*(*)(val
* self
))(var115
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var115
); /* native_to_s on <var115:NativeArray[String]>*/
6406 varonce114
= var115
;
6408 nit___nit__AbstractCompilerVisitor___add(self
, var128
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
6417 /* method separate_compiler#SeparateCompilerVisitor#equal_test for (self: SeparateCompilerVisitor, RuntimeVariable, RuntimeVariable): RuntimeVariable */
6418 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__equal_test(val
* self
, val
* p0
, val
* p1
) {
6419 val
* var
/* : RuntimeVariable */;
6420 val
* var_value1
/* var value1: RuntimeVariable */;
6421 val
* var_value2
/* var value2: RuntimeVariable */;
6422 val
* var1
/* : MClassType */;
6423 val
* var2
/* : RuntimeVariable */;
6424 val
* var_res
/* var res: RuntimeVariable */;
6425 short int var3
/* : Bool */;
6426 val
* var4
/* : MType */;
6427 val
* var6
/* : MType */;
6428 short int var7
/* : Bool */;
6429 short int var_
/* var : Bool */;
6430 val
* var8
/* : MType */;
6431 val
* var10
/* : MType */;
6432 short int var11
/* : Bool */;
6433 short int var12
/* : Bool */;
6434 val
* var_tmp
/* var tmp: RuntimeVariable */;
6435 val
* var13
/* : MType */;
6436 val
* var15
/* : MType */;
6437 short int var16
/* : Bool */;
6438 val
* var17
/* : MType */;
6439 val
* var19
/* : MType */;
6440 val
* var20
/* : MType */;
6441 val
* var22
/* : MType */;
6442 short int var23
/* : Bool */;
6443 val
* var_other
/* var other: nullable Object */;
6444 short int var25
/* : Bool */;
6445 short int var27
/* : Bool */;
6446 val
* var28
/* : NativeArray[String] */;
6447 static val
* varonce
;
6448 static val
* varonce29
;
6449 val
* var30
/* : String */;
6450 char* var31
/* : NativeString */;
6451 val
* var32
/* : FlatString */;
6452 static val
* varonce33
;
6453 val
* var34
/* : String */;
6454 char* var35
/* : NativeString */;
6455 val
* var36
/* : FlatString */;
6456 static val
* varonce37
;
6457 val
* var38
/* : String */;
6458 char* var39
/* : NativeString */;
6459 val
* var40
/* : FlatString */;
6460 val
* var41
/* : String */;
6461 val
* var42
/* : String */;
6462 val
* var43
/* : String */;
6463 val
* var44
/* : String */;
6464 val
* var45
/* : MType */;
6465 val
* var47
/* : MType */;
6466 short int var48
/* : Bool */;
6467 val
* var50
/* : NativeArray[String] */;
6468 static val
* varonce49
;
6469 static val
* varonce51
;
6470 val
* var52
/* : String */;
6471 char* var53
/* : NativeString */;
6472 val
* var54
/* : FlatString */;
6473 static val
* varonce55
;
6474 val
* var56
/* : String */;
6475 char* var57
/* : NativeString */;
6476 val
* var58
/* : FlatString */;
6477 static val
* varonce59
;
6478 val
* var60
/* : String */;
6479 char* var61
/* : NativeString */;
6480 val
* var62
/* : FlatString */;
6481 val
* var63
/* : String */;
6482 val
* var64
/* : MType */;
6483 val
* var66
/* : MType */;
6484 val
* var67
/* : String */;
6485 val
* var68
/* : MType */;
6486 val
* var70
/* : MType */;
6487 val
* var71
/* : String */;
6488 val
* var72
/* : String */;
6489 val
* var73
/* : MType */;
6490 val
* var75
/* : MType */;
6491 short int var76
/* : Bool */;
6492 short int var78
/* : Bool */;
6493 val
* var80
/* : NativeArray[String] */;
6494 static val
* varonce79
;
6495 static val
* varonce81
;
6496 val
* var82
/* : String */;
6497 char* var83
/* : NativeString */;
6498 val
* var84
/* : FlatString */;
6499 static val
* varonce85
;
6500 val
* var86
/* : String */;
6501 char* var87
/* : NativeString */;
6502 val
* var88
/* : FlatString */;
6503 static val
* varonce89
;
6504 val
* var90
/* : String */;
6505 char* var91
/* : NativeString */;
6506 val
* var92
/* : FlatString */;
6507 static val
* varonce93
;
6508 val
* var94
/* : String */;
6509 char* var95
/* : NativeString */;
6510 val
* var96
/* : FlatString */;
6511 val
* var97
/* : String */;
6512 val
* var98
/* : String */;
6513 val
* var99
/* : MType */;
6514 val
* var101
/* : MType */;
6515 val
* var102
/* : RuntimeVariable */;
6516 val
* var103
/* : String */;
6517 val
* var104
/* : String */;
6518 val
* var105
/* : String */;
6519 val
* var106
/* : MType */;
6520 val
* var108
/* : MType */;
6521 short int var109
/* : Bool */;
6524 const char* var_class_name
;
6525 val
* var_mtype1
/* var mtype1: MClassType */;
6526 val
* var111
/* : NativeArray[String] */;
6527 static val
* varonce110
;
6528 static val
* varonce112
;
6529 val
* var113
/* : String */;
6530 char* var114
/* : NativeString */;
6531 val
* var115
/* : FlatString */;
6532 val
* var116
/* : String */;
6533 val
* var117
/* : String */;
6534 val
* var119
/* : NativeArray[String] */;
6535 static val
* varonce118
;
6536 static val
* varonce120
;
6537 val
* var121
/* : String */;
6538 char* var122
/* : NativeString */;
6539 val
* var123
/* : FlatString */;
6540 static val
* varonce124
;
6541 val
* var125
/* : String */;
6542 char* var126
/* : NativeString */;
6543 val
* var127
/* : FlatString */;
6544 static val
* varonce128
;
6545 val
* var129
/* : String */;
6546 char* var130
/* : NativeString */;
6547 val
* var131
/* : FlatString */;
6548 static val
* varonce132
;
6549 val
* var133
/* : String */;
6550 char* var134
/* : NativeString */;
6551 val
* var135
/* : FlatString */;
6552 val
* var136
/* : String */;
6553 val
* var137
/* : String */;
6554 val
* var138
/* : String */;
6555 val
* var139
/* : String */;
6556 val
* var140
/* : String */;
6557 val
* var142
/* : NativeArray[String] */;
6558 static val
* varonce141
;
6559 static val
* varonce143
;
6560 val
* var144
/* : String */;
6561 char* var145
/* : NativeString */;
6562 val
* var146
/* : FlatString */;
6563 static val
* varonce147
;
6564 val
* var148
/* : String */;
6565 char* var149
/* : NativeString */;
6566 val
* var150
/* : FlatString */;
6567 val
* var151
/* : String */;
6568 val
* var152
/* : String */;
6569 val
* var154
/* : NativeArray[String] */;
6570 static val
* varonce153
;
6571 static val
* varonce155
;
6572 val
* var156
/* : String */;
6573 char* var157
/* : NativeString */;
6574 val
* var158
/* : FlatString */;
6575 static val
* varonce159
;
6576 val
* var160
/* : String */;
6577 char* var161
/* : NativeString */;
6578 val
* var162
/* : FlatString */;
6579 static val
* varonce163
;
6580 val
* var164
/* : String */;
6581 char* var165
/* : NativeString */;
6582 val
* var166
/* : FlatString */;
6583 val
* var167
/* : String */;
6584 val
* var168
/* : MType */;
6585 val
* var170
/* : MType */;
6586 val
* var171
/* : RuntimeVariable */;
6587 val
* var172
/* : String */;
6588 val
* var173
/* : String */;
6589 val
* var174
/* : String */;
6590 static val
* varonce175
;
6591 val
* var176
/* : String */;
6592 char* var177
/* : NativeString */;
6593 val
* var178
/* : FlatString */;
6594 short int var_maybe_null
/* var maybe_null: Bool */;
6595 val
* var179
/* : Array[String] */;
6596 val
* var_test
/* var test: Array[String] */;
6597 val
* var180
/* : MType */;
6598 val
* var182
/* : MType */;
6599 val
* var_t1
/* var t1: MType */;
6600 short int var183
/* : Bool */;
6603 val
* var187
/* : NativeArray[String] */;
6604 static val
* varonce186
;
6605 static val
* varonce188
;
6606 val
* var189
/* : String */;
6607 char* var190
/* : NativeString */;
6608 val
* var191
/* : FlatString */;
6609 val
* var192
/* : String */;
6610 val
* var193
/* : String */;
6611 val
* var194
/* : MType */;
6612 val
* var196
/* : MType */;
6613 val
* var197
/* : MType */;
6614 val
* var199
/* : MType */;
6615 val
* var_t2
/* var t2: MType */;
6616 short int var200
/* : Bool */;
6619 val
* var204
/* : NativeArray[String] */;
6620 static val
* varonce203
;
6621 static val
* varonce205
;
6622 val
* var206
/* : String */;
6623 char* var207
/* : NativeString */;
6624 val
* var208
/* : FlatString */;
6625 val
* var209
/* : String */;
6626 val
* var210
/* : String */;
6627 val
* var211
/* : MType */;
6628 val
* var213
/* : MType */;
6629 short int var_incompatible
/* var incompatible: Bool */;
6630 short int var214
/* : Bool */;
6631 val
* var_primitive
/* var primitive: nullable Object */;
6632 short int var215
/* : Bool */;
6633 short int var217
/* : Bool */;
6634 short int var219
/* : Bool */;
6635 short int var220
/* : Bool */;
6636 short int var221
/* : Bool */;
6637 short int var222
/* : Bool */;
6638 short int var224
/* : Bool */;
6639 val
* var226
/* : NativeArray[String] */;
6640 static val
* varonce225
;
6641 static val
* varonce227
;
6642 val
* var228
/* : String */;
6643 char* var229
/* : NativeString */;
6644 val
* var230
/* : FlatString */;
6645 static val
* varonce231
;
6646 val
* var232
/* : String */;
6647 char* var233
/* : NativeString */;
6648 val
* var234
/* : FlatString */;
6649 static val
* varonce235
;
6650 val
* var236
/* : String */;
6651 char* var237
/* : NativeString */;
6652 val
* var238
/* : FlatString */;
6653 val
* var239
/* : String */;
6654 val
* var240
/* : String */;
6655 val
* var241
/* : String */;
6656 val
* var242
/* : String */;
6657 val
* var243
/* : AbstractCompiler */;
6658 val
* var245
/* : AbstractCompiler */;
6659 val
* var246
/* : ModelBuilder */;
6660 val
* var248
/* : ModelBuilder */;
6661 val
* var249
/* : ToolContext */;
6662 val
* var251
/* : ToolContext */;
6663 val
* var252
/* : OptionBool */;
6664 val
* var254
/* : OptionBool */;
6665 val
* var255
/* : nullable Object */;
6666 val
* var257
/* : nullable Object */;
6667 short int var258
/* : Bool */;
6668 short int var259
/* : Bool */;
6669 val
* var261
/* : NativeArray[String] */;
6670 static val
* varonce260
;
6671 static val
* varonce262
;
6672 val
* var263
/* : String */;
6673 char* var264
/* : NativeString */;
6674 val
* var265
/* : FlatString */;
6675 static val
* varonce266
;
6676 val
* var267
/* : String */;
6677 char* var268
/* : NativeString */;
6678 val
* var269
/* : FlatString */;
6679 val
* var270
/* : String */;
6680 val
* var271
/* : String */;
6681 val
* var273
/* : NativeArray[String] */;
6682 static val
* varonce272
;
6683 static val
* varonce274
;
6684 val
* var275
/* : String */;
6685 char* var276
/* : NativeString */;
6686 val
* var277
/* : FlatString */;
6687 static val
* varonce278
;
6688 val
* var279
/* : String */;
6689 char* var280
/* : NativeString */;
6690 val
* var281
/* : FlatString */;
6691 val
* var282
/* : String */;
6692 val
* var283
/* : String */;
6693 val
* var284
/* : String */;
6694 short int var285
/* : Bool */;
6695 short int var286
/* : Bool */;
6696 short int var287
/* : Bool */;
6697 short int var289
/* : Bool */;
6698 val
* var291
/* : NativeArray[String] */;
6699 static val
* varonce290
;
6700 static val
* varonce292
;
6701 val
* var293
/* : String */;
6702 char* var294
/* : NativeString */;
6703 val
* var295
/* : FlatString */;
6704 static val
* varonce296
;
6705 val
* var297
/* : String */;
6706 char* var298
/* : NativeString */;
6707 val
* var299
/* : FlatString */;
6708 static val
* varonce300
;
6709 val
* var301
/* : String */;
6710 char* var302
/* : NativeString */;
6711 val
* var303
/* : FlatString */;
6712 val
* var304
/* : String */;
6713 val
* var305
/* : String */;
6714 val
* var306
/* : String */;
6715 val
* var307
/* : String */;
6716 val
* var308
/* : AbstractCompiler */;
6717 val
* var310
/* : AbstractCompiler */;
6718 val
* var311
/* : ModelBuilder */;
6719 val
* var313
/* : ModelBuilder */;
6720 val
* var314
/* : ToolContext */;
6721 val
* var316
/* : ToolContext */;
6722 val
* var317
/* : OptionBool */;
6723 val
* var319
/* : OptionBool */;
6724 val
* var320
/* : nullable Object */;
6725 val
* var322
/* : nullable Object */;
6726 short int var323
/* : Bool */;
6727 short int var324
/* : Bool */;
6728 val
* var326
/* : NativeArray[String] */;
6729 static val
* varonce325
;
6730 static val
* varonce327
;
6731 val
* var328
/* : String */;
6732 char* var329
/* : NativeString */;
6733 val
* var330
/* : FlatString */;
6734 static val
* varonce331
;
6735 val
* var332
/* : String */;
6736 char* var333
/* : NativeString */;
6737 val
* var334
/* : FlatString */;
6738 val
* var335
/* : String */;
6739 val
* var336
/* : String */;
6740 val
* var338
/* : NativeArray[String] */;
6741 static val
* varonce337
;
6742 static val
* varonce339
;
6743 val
* var340
/* : String */;
6744 char* var341
/* : NativeString */;
6745 val
* var342
/* : FlatString */;
6746 static val
* varonce343
;
6747 val
* var344
/* : String */;
6748 char* var345
/* : NativeString */;
6749 val
* var346
/* : FlatString */;
6750 val
* var347
/* : String */;
6751 val
* var348
/* : String */;
6752 val
* var349
/* : String */;
6753 val
* var351
/* : NativeArray[String] */;
6754 static val
* varonce350
;
6755 static val
* varonce352
;
6756 val
* var353
/* : String */;
6757 char* var354
/* : NativeString */;
6758 val
* var355
/* : FlatString */;
6759 static val
* varonce356
;
6760 val
* var357
/* : String */;
6761 char* var358
/* : NativeString */;
6762 val
* var359
/* : FlatString */;
6763 static val
* varonce360
;
6764 val
* var361
/* : String */;
6765 char* var362
/* : NativeString */;
6766 val
* var363
/* : FlatString */;
6767 static val
* varonce364
;
6768 val
* var365
/* : String */;
6769 char* var366
/* : NativeString */;
6770 val
* var367
/* : FlatString */;
6771 static val
* varonce368
;
6772 val
* var369
/* : String */;
6773 char* var370
/* : NativeString */;
6774 val
* var371
/* : FlatString */;
6775 val
* var372
/* : String */;
6776 val
* var373
/* : String */;
6777 val
* var374
/* : String */;
6778 val
* var375
/* : String */;
6779 val
* var376
/* : String */;
6780 val
* var377
/* : String */;
6781 val
* var379
/* : NativeArray[String] */;
6782 static val
* varonce378
;
6783 static val
* varonce380
;
6784 val
* var381
/* : String */;
6785 char* var382
/* : NativeString */;
6786 val
* var383
/* : FlatString */;
6787 static val
* varonce384
;
6788 val
* var385
/* : String */;
6789 char* var386
/* : NativeString */;
6790 val
* var387
/* : FlatString */;
6791 static val
* varonce388
;
6792 val
* var389
/* : String */;
6793 char* var390
/* : NativeString */;
6794 val
* var391
/* : FlatString */;
6795 val
* var392
/* : String */;
6796 val
* var393
/* : String */;
6797 val
* var394
/* : String */;
6798 val
* var395
/* : String */;
6799 short int var396
/* : Bool */;
6800 short int var397
/* : Bool */;
6801 val
* var_other399
/* var other: nullable Object */;
6802 short int var400
/* : Bool */;
6803 short int var401
/* : Bool */;
6804 short int var402
/* : Bool */;
6805 short int var404
/* : Bool */;
6806 val
* var406
/* : NativeArray[String] */;
6807 static val
* varonce405
;
6808 static val
* varonce407
;
6809 val
* var408
/* : String */;
6810 char* var409
/* : NativeString */;
6811 val
* var410
/* : FlatString */;
6812 static val
* varonce411
;
6813 val
* var412
/* : String */;
6814 char* var413
/* : NativeString */;
6815 val
* var414
/* : FlatString */;
6816 static val
* varonce415
;
6817 val
* var416
/* : String */;
6818 char* var417
/* : NativeString */;
6819 val
* var418
/* : FlatString */;
6820 val
* var419
/* : String */;
6821 val
* var420
/* : String */;
6822 val
* var421
/* : String */;
6823 val
* var422
/* : String */;
6824 val
* var424
/* : NativeArray[String] */;
6825 static val
* varonce423
;
6826 static val
* varonce425
;
6827 val
* var426
/* : String */;
6828 char* var427
/* : NativeString */;
6829 val
* var428
/* : FlatString */;
6830 static val
* varonce429
;
6831 val
* var430
/* : String */;
6832 char* var431
/* : NativeString */;
6833 val
* var432
/* : FlatString */;
6834 static val
* varonce433
;
6835 val
* var434
/* : String */;
6836 char* var435
/* : NativeString */;
6837 val
* var436
/* : FlatString */;
6838 static val
* varonce437
;
6839 val
* var438
/* : String */;
6840 char* var439
/* : NativeString */;
6841 val
* var440
/* : FlatString */;
6842 static val
* varonce441
;
6843 val
* var442
/* : String */;
6844 char* var443
/* : NativeString */;
6845 val
* var444
/* : FlatString */;
6846 val
* var445
/* : String */;
6847 val
* var446
/* : String */;
6848 val
* var447
/* : String */;
6849 val
* var448
/* : String */;
6850 val
* var449
/* : String */;
6851 short int var450
/* : Bool */;
6852 short int var451
/* : Bool */;
6853 short int var_452
/* var : Bool */;
6854 short int var453
/* : Bool */;
6855 val
* var454
/* : AbstractCompiler */;
6856 val
* var456
/* : AbstractCompiler */;
6857 val
* var457
/* : ModelBuilder */;
6858 val
* var459
/* : ModelBuilder */;
6859 val
* var460
/* : ToolContext */;
6860 val
* var462
/* : ToolContext */;
6861 val
* var463
/* : OptionBool */;
6862 val
* var465
/* : OptionBool */;
6863 val
* var466
/* : nullable Object */;
6864 val
* var468
/* : nullable Object */;
6865 short int var469
/* : Bool */;
6866 short int var470
/* : Bool */;
6867 val
* var472
/* : NativeArray[String] */;
6868 static val
* varonce471
;
6869 static val
* varonce473
;
6870 val
* var474
/* : String */;
6871 char* var475
/* : NativeString */;
6872 val
* var476
/* : FlatString */;
6873 static val
* varonce477
;
6874 val
* var478
/* : String */;
6875 char* var479
/* : NativeString */;
6876 val
* var480
/* : FlatString */;
6877 static val
* varonce481
;
6878 val
* var482
/* : String */;
6879 char* var483
/* : NativeString */;
6880 val
* var484
/* : FlatString */;
6881 val
* var485
/* : String */;
6882 val
* var486
/* : String */;
6883 val
* var487
/* : String */;
6884 val
* var489
/* : NativeArray[String] */;
6885 static val
* varonce488
;
6886 static val
* varonce490
;
6887 val
* var491
/* : String */;
6888 char* var492
/* : NativeString */;
6889 val
* var493
/* : FlatString */;
6890 static val
* varonce494
;
6891 val
* var495
/* : String */;
6892 char* var496
/* : NativeString */;
6893 val
* var497
/* : FlatString */;
6894 val
* var498
/* : String */;
6895 val
* var499
/* : String */;
6896 val
* var500
/* : String */;
6897 val
* var501
/* : Array[String] */;
6898 val
* var_s
/* var s: Array[String] */;
6899 val
* var502
/* : AbstractCompiler */;
6900 val
* var504
/* : AbstractCompiler */;
6901 val
* var505
/* : HashMap[MClass, Int] */;
6902 val
* var507
/* : HashMap[MClass, Int] */;
6903 val
* var_508
/* var : HashMap[MClass, Int] */;
6904 val
* var509
/* : HashMapIterator[nullable Object, nullable Object] */;
6905 val
* var_510
/* var : HashMapIterator[MClass, Int] */;
6906 short int var511
/* : Bool */;
6907 val
* var512
/* : nullable Object */;
6908 val
* var_t
/* var t: MClass */;
6909 val
* var513
/* : nullable Object */;
6910 long var514
/* : Int */;
6911 long var_v
/* var v: Int */;
6912 val
* var515
/* : MClassType */;
6913 val
* var517
/* : MClassType */;
6914 short int var518
/* : Bool */;
6915 short int var520
/* : Bool */;
6916 val
* var522
/* : NativeArray[String] */;
6917 static val
* varonce521
;
6918 static val
* varonce523
;
6919 val
* var524
/* : String */;
6920 char* var525
/* : NativeString */;
6921 val
* var526
/* : FlatString */;
6922 static val
* varonce527
;
6923 val
* var528
/* : String */;
6924 char* var529
/* : NativeString */;
6925 val
* var530
/* : FlatString */;
6926 static val
* varonce531
;
6927 val
* var532
/* : String */;
6928 char* var533
/* : NativeString */;
6929 val
* var534
/* : FlatString */;
6930 static val
* varonce535
;
6931 val
* var536
/* : String */;
6932 char* var537
/* : NativeString */;
6933 val
* var538
/* : FlatString */;
6934 static val
* varonce539
;
6935 val
* var540
/* : String */;
6936 char* var541
/* : NativeString */;
6937 val
* var542
/* : FlatString */;
6938 static val
* varonce543
;
6939 val
* var544
/* : String */;
6940 char* var545
/* : NativeString */;
6941 val
* var546
/* : FlatString */;
6942 static val
* varonce547
;
6943 val
* var548
/* : String */;
6944 char* var549
/* : NativeString */;
6945 val
* var550
/* : FlatString */;
6946 val
* var551
/* : String */;
6947 val
* var552
/* : String */;
6948 val
* var553
/* : String */;
6949 val
* var554
/* : String */;
6950 val
* var555
/* : String */;
6951 val
* var556
/* : String */;
6952 val
* var557
/* : String */;
6953 short int var560
/* : Bool */;
6954 val
* var562
/* : NativeArray[String] */;
6955 static val
* varonce561
;
6956 static val
* varonce563
;
6957 val
* var564
/* : String */;
6958 char* var565
/* : NativeString */;
6959 val
* var566
/* : FlatString */;
6960 static val
* varonce567
;
6961 val
* var568
/* : String */;
6962 char* var569
/* : NativeString */;
6963 val
* var570
/* : FlatString */;
6964 static val
* varonce571
;
6965 val
* var572
/* : String */;
6966 char* var573
/* : NativeString */;
6967 val
* var574
/* : FlatString */;
6968 val
* var575
/* : String */;
6969 val
* var576
/* : String */;
6970 val
* var577
/* : String */;
6971 val
* var578
/* : String */;
6972 val
* var580
/* : NativeArray[String] */;
6973 static val
* varonce579
;
6974 static val
* varonce581
;
6975 val
* var582
/* : String */;
6976 char* var583
/* : NativeString */;
6977 val
* var584
/* : FlatString */;
6978 static val
* varonce585
;
6979 val
* var586
/* : String */;
6980 char* var587
/* : NativeString */;
6981 val
* var588
/* : FlatString */;
6982 static val
* varonce589
;
6983 val
* var590
/* : String */;
6984 char* var591
/* : NativeString */;
6985 val
* var592
/* : FlatString */;
6986 val
* var593
/* : String */;
6987 val
* var594
/* : String */;
6988 val
* var596
/* : NativeArray[String] */;
6989 static val
* varonce595
;
6990 static val
* varonce597
;
6991 val
* var598
/* : String */;
6992 char* var599
/* : NativeString */;
6993 val
* var600
/* : FlatString */;
6994 static val
* varonce601
;
6995 val
* var602
/* : String */;
6996 char* var603
/* : NativeString */;
6997 val
* var604
/* : FlatString */;
6998 static val
* varonce605
;
6999 val
* var606
/* : String */;
7000 char* var607
/* : NativeString */;
7001 val
* var608
/* : FlatString */;
7002 val
* var609
/* : String */;
7003 val
* var610
/* : String */;
7004 val
* var611
/* : String */;
7005 val
* var612
/* : String */;
7006 val
* var614
/* : NativeArray[String] */;
7007 static val
* varonce613
;
7008 static val
* varonce615
;
7009 val
* var616
/* : String */;
7010 char* var617
/* : NativeString */;
7011 val
* var618
/* : FlatString */;
7012 static val
* varonce619
;
7013 val
* var620
/* : String */;
7014 char* var621
/* : NativeString */;
7015 val
* var622
/* : FlatString */;
7016 static val
* varonce623
;
7017 val
* var624
/* : String */;
7018 char* var625
/* : NativeString */;
7019 val
* var626
/* : FlatString */;
7020 static val
* varonce627
;
7021 val
* var628
/* : String */;
7022 char* var629
/* : NativeString */;
7023 val
* var630
/* : FlatString */;
7024 val
* var631
/* : String */;
7025 val
* var632
/* : String */;
7026 val
* var633
/* : String */;
7027 static val
* varonce634
;
7028 val
* var635
/* : String */;
7029 char* var636
/* : NativeString */;
7030 val
* var637
/* : FlatString */;
7031 val
* var638
/* : String */;
7032 val
* var639
/* : String */;
7036 var1
= nit___nit__AbstractCompilerVisitor___bool_type(self
);
7039 var2
= nit___nit__AbstractCompilerVisitor___new_var(self
, var1
);
7043 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
7044 var6
= var_value2
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value2:RuntimeVariable> */
7045 if (unlikely(var6
== NULL
)) {
7046 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7047 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
7055 var7
= ((short int(*)(val
* self
))(var4
->class->vft
[COLOR_nit__abstract_compiler__MType__is_c_primitive
]))(var4
); /* is_c_primitive on <var4:MType>*/
7060 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
7061 var10
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
7062 if (unlikely(var10
== NULL
)) {
7063 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7064 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
7072 var11
= ((short int(*)(val
* self
))(var8
->class->vft
[COLOR_nit__abstract_compiler__MType__is_c_primitive
]))(var8
); /* is_c_primitive on <var8:MType>*/
7080 var_tmp
= var_value1
;
7081 var_value1
= var_value2
;
7082 var_value2
= var_tmp
;
7086 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
7087 var15
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
7088 if (unlikely(var15
== NULL
)) {
7089 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7090 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
7094 RET_LABEL14
:(void)0;
7098 var16
= ((short int(*)(val
* self
))(var13
->class->vft
[COLOR_nit__abstract_compiler__MType__is_c_primitive
]))(var13
); /* is_c_primitive on <var13:MType>*/
7102 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
7103 var19
= var_value2
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value2:RuntimeVariable> */
7104 if (unlikely(var19
== NULL
)) {
7105 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7106 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
7110 RET_LABEL18
:(void)0;
7114 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
7115 var22
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
7116 if (unlikely(var22
== NULL
)) {
7117 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7118 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
7122 RET_LABEL21
:(void)0;
7126 { /* Inline kernel#Object#== (var17,var20) on <var17:MType> */
7129 { /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:MType> */
7130 var27
= var17
== var_other
;
7133 RET_LABEL26
:(void)0;
7138 RET_LABEL24
:(void)0;
7142 if (unlikely(varonce
==NULL
)) {
7143 var28
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String
);
7144 if (likely(varonce29
!=NULL
)) {
7148 var32
= standard___standard__NativeString___to_s_with_length(var31
, 3l);
7152 ((struct instance_standard__NativeArray
*)var28
)->values
[1]=var30
;
7153 if (likely(varonce33
!=NULL
)) {
7157 var36
= standard___standard__NativeString___to_s_with_length(var35
, 4l);
7161 ((struct instance_standard__NativeArray
*)var28
)->values
[3]=var34
;
7162 if (likely(varonce37
!=NULL
)) {
7166 var40
= standard___standard__NativeString___to_s_with_length(var39
, 1l);
7170 ((struct instance_standard__NativeArray
*)var28
)->values
[5]=var38
;
7176 var41
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
7178 ((struct instance_standard__NativeArray
*)var28
)->values
[0]=var41
;
7180 var42
= ((val
*(*)(val
* self
))(var_value1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value1
); /* to_s on <var_value1:RuntimeVariable>*/
7182 ((struct instance_standard__NativeArray
*)var28
)->values
[2]=var42
;
7184 var43
= ((val
*(*)(val
* self
))(var_value2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value2
); /* to_s on <var_value2:RuntimeVariable>*/
7186 ((struct instance_standard__NativeArray
*)var28
)->values
[4]=var43
;
7188 var44
= ((val
*(*)(val
* self
))(var28
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var28
); /* native_to_s on <var28:NativeArray[String]>*/
7192 nit___nit__AbstractCompilerVisitor___add(self
, var44
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7196 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
7197 var47
= var_value2
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value2:RuntimeVariable> */
7198 if (unlikely(var47
== NULL
)) {
7199 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7200 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
7204 RET_LABEL46
:(void)0;
7208 var48
= ((short int(*)(val
* self
))(var45
->class->vft
[COLOR_nit__abstract_compiler__MType__is_c_primitive
]))(var45
); /* is_c_primitive on <var45:MType>*/
7211 if (unlikely(varonce49
==NULL
)) {
7212 var50
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String
);
7213 if (likely(varonce51
!=NULL
)) {
7216 var53
= " = 0; /* incompatible types ";
7217 var54
= standard___standard__NativeString___to_s_with_length(var53
, 28l);
7221 ((struct instance_standard__NativeArray
*)var50
)->values
[1]=var52
;
7222 if (likely(varonce55
!=NULL
)) {
7226 var58
= standard___standard__NativeString___to_s_with_length(var57
, 5l);
7230 ((struct instance_standard__NativeArray
*)var50
)->values
[3]=var56
;
7231 if (likely(varonce59
!=NULL
)) {
7235 var62
= standard___standard__NativeString___to_s_with_length(var61
, 2l);
7239 ((struct instance_standard__NativeArray
*)var50
)->values
[5]=var60
;
7245 var63
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
7247 ((struct instance_standard__NativeArray
*)var50
)->values
[0]=var63
;
7249 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
7250 var66
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
7251 if (unlikely(var66
== NULL
)) {
7252 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7253 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
7257 RET_LABEL65
:(void)0;
7261 var67
= ((val
*(*)(val
* self
))(var64
->class->vft
[COLOR_standard__string__Object__to_s
]))(var64
); /* to_s on <var64:MType>*/
7263 ((struct instance_standard__NativeArray
*)var50
)->values
[2]=var67
;
7265 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
7266 var70
= var_value2
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value2:RuntimeVariable> */
7267 if (unlikely(var70
== NULL
)) {
7268 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7269 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
7273 RET_LABEL69
:(void)0;
7277 var71
= ((val
*(*)(val
* self
))(var68
->class->vft
[COLOR_standard__string__Object__to_s
]))(var68
); /* to_s on <var68:MType>*/
7279 ((struct instance_standard__NativeArray
*)var50
)->values
[4]=var71
;
7281 var72
= ((val
*(*)(val
* self
))(var50
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var50
); /* native_to_s on <var50:NativeArray[String]>*/
7285 nit___nit__AbstractCompilerVisitor___add(self
, var72
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7289 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
7290 var75
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
7291 if (unlikely(var75
== NULL
)) {
7292 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7293 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
7297 RET_LABEL74
:(void)0;
7301 { /* Inline separate_compiler#MType#is_tagged (var73) on <var73:MType> */
7302 var78
= var73
->attrs
[COLOR_nit__separate_compiler__MType___is_tagged
].s
; /* _is_tagged on <var73:MType> */
7304 RET_LABEL77
:(void)0;
7308 if (unlikely(varonce79
==NULL
)) {
7309 var80
= NEW_standard__NativeArray(8l, &type_standard__NativeArray__standard__String
);
7310 if (likely(varonce81
!=NULL
)) {
7314 var84
= standard___standard__NativeString___to_s_with_length(var83
, 4l);
7318 ((struct instance_standard__NativeArray
*)var80
)->values
[1]=var82
;
7319 if (likely(varonce85
!=NULL
)) {
7322 var87
= " != NULL) && (";
7323 var88
= standard___standard__NativeString___to_s_with_length(var87
, 14l);
7327 ((struct instance_standard__NativeArray
*)var80
)->values
[3]=var86
;
7328 if (likely(varonce89
!=NULL
)) {
7332 var92
= standard___standard__NativeString___to_s_with_length(var91
, 4l);
7336 ((struct instance_standard__NativeArray
*)var80
)->values
[5]=var90
;
7337 if (likely(varonce93
!=NULL
)) {
7341 var96
= standard___standard__NativeString___to_s_with_length(var95
, 2l);
7345 ((struct instance_standard__NativeArray
*)var80
)->values
[7]=var94
;
7351 var97
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
7353 ((struct instance_standard__NativeArray
*)var80
)->values
[0]=var97
;
7355 var98
= ((val
*(*)(val
* self
))(var_value2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value2
); /* to_s on <var_value2:RuntimeVariable>*/
7357 ((struct instance_standard__NativeArray
*)var80
)->values
[2]=var98
;
7359 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
7360 var101
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
7361 if (unlikely(var101
== NULL
)) {
7362 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7363 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
7367 RET_LABEL100
:(void)0;
7371 var102
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__autobox(self
, var_value2
, var99
);
7374 var103
= ((val
*(*)(val
* self
))(var102
->class->vft
[COLOR_standard__string__Object__to_s
]))(var102
); /* to_s on <var102:RuntimeVariable>*/
7376 ((struct instance_standard__NativeArray
*)var80
)->values
[4]=var103
;
7378 var104
= ((val
*(*)(val
* self
))(var_value1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value1
); /* to_s on <var_value1:RuntimeVariable>*/
7380 ((struct instance_standard__NativeArray
*)var80
)->values
[6]=var104
;
7382 var105
= ((val
*(*)(val
* self
))(var80
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var80
); /* native_to_s on <var80:NativeArray[String]>*/
7386 nit___nit__AbstractCompilerVisitor___add(self
, var105
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7390 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
7391 var108
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
7392 if (unlikely(var108
== NULL
)) {
7393 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7394 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
7398 RET_LABEL107
:(void)0;
7401 /* <var106:MType> isa MClassType */
7402 cltype
= type_nit__MClassType
.color
;
7403 idtype
= type_nit__MClassType
.id
;
7404 if(cltype
>= var106
->type
->table_size
) {
7407 var109
= var106
->type
->type_table
[cltype
] == idtype
;
7409 if (unlikely(!var109
)) {
7410 var_class_name
= var106
== NULL ?
"null" : var106
->type
->name
;
7411 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
7412 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1897);
7415 var_mtype1
= var106
;
7416 if (unlikely(varonce110
==NULL
)) {
7417 var111
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
7418 if (likely(varonce112
!=NULL
)) {
7419 var113
= varonce112
;
7422 var115
= standard___standard__NativeString___to_s_with_length(var114
, 6l);
7424 varonce112
= var113
;
7426 ((struct instance_standard__NativeArray
*)var111
)->values
[0]=var113
;
7428 var111
= varonce110
;
7432 var116
= ((val
*(*)(val
* self
))(var_mtype1
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype1
); /* c_name on <var_mtype1:MClassType>*/
7434 ((struct instance_standard__NativeArray
*)var111
)->values
[1]=var116
;
7436 var117
= ((val
*(*)(val
* self
))(var111
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var111
); /* native_to_s on <var111:NativeArray[String]>*/
7438 varonce110
= var111
;
7440 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var117
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
7442 if (unlikely(varonce118
==NULL
)) {
7443 var119
= NEW_standard__NativeArray(8l, &type_standard__NativeArray__standard__String
);
7444 if (likely(varonce120
!=NULL
)) {
7445 var121
= varonce120
;
7448 var123
= standard___standard__NativeString___to_s_with_length(var122
, 4l);
7450 varonce120
= var121
;
7452 ((struct instance_standard__NativeArray
*)var119
)->values
[1]=var121
;
7453 if (likely(varonce124
!=NULL
)) {
7454 var125
= varonce124
;
7456 var126
= " != NULL) && (";
7457 var127
= standard___standard__NativeString___to_s_with_length(var126
, 14l);
7459 varonce124
= var125
;
7461 ((struct instance_standard__NativeArray
*)var119
)->values
[3]=var125
;
7462 if (likely(varonce128
!=NULL
)) {
7463 var129
= varonce128
;
7465 var130
= "->class == &class_";
7466 var131
= standard___standard__NativeString___to_s_with_length(var130
, 18l);
7468 varonce128
= var129
;
7470 ((struct instance_standard__NativeArray
*)var119
)->values
[5]=var129
;
7471 if (likely(varonce132
!=NULL
)) {
7472 var133
= varonce132
;
7475 var135
= standard___standard__NativeString___to_s_with_length(var134
, 2l);
7477 varonce132
= var133
;
7479 ((struct instance_standard__NativeArray
*)var119
)->values
[7]=var133
;
7481 var119
= varonce118
;
7485 var136
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
7487 ((struct instance_standard__NativeArray
*)var119
)->values
[0]=var136
;
7489 var137
= ((val
*(*)(val
* self
))(var_value2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value2
); /* to_s on <var_value2:RuntimeVariable>*/
7491 ((struct instance_standard__NativeArray
*)var119
)->values
[2]=var137
;
7493 var138
= ((val
*(*)(val
* self
))(var_value2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value2
); /* to_s on <var_value2:RuntimeVariable>*/
7495 ((struct instance_standard__NativeArray
*)var119
)->values
[4]=var138
;
7497 var139
= ((val
*(*)(val
* self
))(var_mtype1
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype1
); /* c_name on <var_mtype1:MClassType>*/
7499 ((struct instance_standard__NativeArray
*)var119
)->values
[6]=var139
;
7501 var140
= ((val
*(*)(val
* self
))(var119
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var119
); /* native_to_s on <var119:NativeArray[String]>*/
7503 varonce118
= var119
;
7505 nit___nit__AbstractCompilerVisitor___add(self
, var140
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7507 if (unlikely(varonce141
==NULL
)) {
7508 var142
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
7509 if (likely(varonce143
!=NULL
)) {
7510 var144
= varonce143
;
7513 var146
= standard___standard__NativeString___to_s_with_length(var145
, 4l);
7515 varonce143
= var144
;
7517 ((struct instance_standard__NativeArray
*)var142
)->values
[0]=var144
;
7518 if (likely(varonce147
!=NULL
)) {
7519 var148
= varonce147
;
7522 var150
= standard___standard__NativeString___to_s_with_length(var149
, 3l);
7524 varonce147
= var148
;
7526 ((struct instance_standard__NativeArray
*)var142
)->values
[2]=var148
;
7528 var142
= varonce141
;
7532 var151
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
7534 ((struct instance_standard__NativeArray
*)var142
)->values
[1]=var151
;
7536 var152
= ((val
*(*)(val
* self
))(var142
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var142
); /* native_to_s on <var142:NativeArray[String]>*/
7538 varonce141
= var142
;
7540 nit___nit__AbstractCompilerVisitor___add(self
, var152
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7542 if (unlikely(varonce153
==NULL
)) {
7543 var154
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String
);
7544 if (likely(varonce155
!=NULL
)) {
7545 var156
= varonce155
;
7548 var158
= standard___standard__NativeString___to_s_with_length(var157
, 4l);
7550 varonce155
= var156
;
7552 ((struct instance_standard__NativeArray
*)var154
)->values
[1]=var156
;
7553 if (likely(varonce159
!=NULL
)) {
7554 var160
= varonce159
;
7557 var162
= standard___standard__NativeString___to_s_with_length(var161
, 4l);
7559 varonce159
= var160
;
7561 ((struct instance_standard__NativeArray
*)var154
)->values
[3]=var160
;
7562 if (likely(varonce163
!=NULL
)) {
7563 var164
= varonce163
;
7566 var166
= standard___standard__NativeString___to_s_with_length(var165
, 2l);
7568 varonce163
= var164
;
7570 ((struct instance_standard__NativeArray
*)var154
)->values
[5]=var164
;
7572 var154
= varonce153
;
7576 var167
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
7578 ((struct instance_standard__NativeArray
*)var154
)->values
[0]=var167
;
7580 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
7581 var170
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
7582 if (unlikely(var170
== NULL
)) {
7583 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7584 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
7588 RET_LABEL169
:(void)0;
7592 var171
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__autobox(self
, var_value2
, var168
);
7595 var172
= ((val
*(*)(val
* self
))(var171
->class->vft
[COLOR_standard__string__Object__to_s
]))(var171
); /* to_s on <var171:RuntimeVariable>*/
7597 ((struct instance_standard__NativeArray
*)var154
)->values
[2]=var172
;
7599 var173
= ((val
*(*)(val
* self
))(var_value1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value1
); /* to_s on <var_value1:RuntimeVariable>*/
7601 ((struct instance_standard__NativeArray
*)var154
)->values
[4]=var173
;
7603 var174
= ((val
*(*)(val
* self
))(var154
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var154
); /* native_to_s on <var154:NativeArray[String]>*/
7605 varonce153
= var154
;
7607 nit___nit__AbstractCompilerVisitor___add(self
, var174
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7609 if (likely(varonce175
!=NULL
)) {
7610 var176
= varonce175
;
7613 var178
= standard___standard__NativeString___to_s_with_length(var177
, 1l);
7615 varonce175
= var176
;
7618 nit___nit__AbstractCompilerVisitor___add(self
, var176
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7628 var179
= NEW_standard__Array(&type_standard__Array__standard__String
);
7630 standard___standard__Array___standard__kernel__Object__init(var179
); /* Direct call array#Array#init on <var179:Array[String]>*/
7634 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_value1) on <var_value1:RuntimeVariable> */
7635 var182
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_value1:RuntimeVariable> */
7636 if (unlikely(var182
== NULL
)) {
7637 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
7638 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1787);
7642 RET_LABEL181
:(void)0;
7646 /* <var_t1:MType> isa MNullableType */
7647 cltype184
= type_nit__MNullableType
.color
;
7648 idtype185
= type_nit__MNullableType
.id
;
7649 if(cltype184
>= var_t1
->type
->table_size
) {
7652 var183
= var_t1
->type
->type_table
[cltype184
] == idtype185
;
7655 if (unlikely(varonce186
==NULL
)) {
7656 var187
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
7657 if (likely(varonce188
!=NULL
)) {
7658 var189
= varonce188
;
7660 var190
= " != NULL";
7661 var191
= standard___standard__NativeString___to_s_with_length(var190
, 8l);
7663 varonce188
= var189
;
7665 ((struct instance_standard__NativeArray
*)var187
)->values
[1]=var189
;
7667 var187
= varonce186
;
7671 var192
= ((val
*(*)(val
* self
))(var_value1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value1
); /* to_s on <var_value1:RuntimeVariable>*/
7673 ((struct instance_standard__NativeArray
*)var187
)->values
[0]=var192
;
7675 var193
= ((val
*(*)(val
* self
))(var187
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var187
); /* native_to_s on <var187:NativeArray[String]>*/
7677 varonce186
= var187
;
7679 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_test
, var193
); /* Direct call array#Array#add on <var_test:Array[String]>*/
7682 { /* Inline model#MProxyType#mtype (var_t1) on <var_t1:MType(MNullableType)> */
7683 var196
= var_t1
->attrs
[COLOR_nit__model__MProxyType___mtype
].val
; /* _mtype on <var_t1:MType(MNullableType)> */
7684 if (unlikely(var196
== NULL
)) {
7685 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7686 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1598);
7690 RET_LABEL195
:(void)0;
7698 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_value2) on <var_value2:RuntimeVariable> */
7699 var199
= var_value2
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_value2:RuntimeVariable> */
7700 if (unlikely(var199
== NULL
)) {
7701 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
7702 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1787);
7706 RET_LABEL198
:(void)0;
7710 /* <var_t2:MType> isa MNullableType */
7711 cltype201
= type_nit__MNullableType
.color
;
7712 idtype202
= type_nit__MNullableType
.id
;
7713 if(cltype201
>= var_t2
->type
->table_size
) {
7716 var200
= var_t2
->type
->type_table
[cltype201
] == idtype202
;
7719 if (unlikely(varonce203
==NULL
)) {
7720 var204
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
7721 if (likely(varonce205
!=NULL
)) {
7722 var206
= varonce205
;
7724 var207
= " != NULL";
7725 var208
= standard___standard__NativeString___to_s_with_length(var207
, 8l);
7727 varonce205
= var206
;
7729 ((struct instance_standard__NativeArray
*)var204
)->values
[1]=var206
;
7731 var204
= varonce203
;
7735 var209
= ((val
*(*)(val
* self
))(var_value2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value2
); /* to_s on <var_value2:RuntimeVariable>*/
7737 ((struct instance_standard__NativeArray
*)var204
)->values
[0]=var209
;
7739 var210
= ((val
*(*)(val
* self
))(var204
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var204
); /* native_to_s on <var204:NativeArray[String]>*/
7741 varonce203
= var204
;
7743 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_test
, var210
); /* Direct call array#Array#add on <var_test:Array[String]>*/
7746 { /* Inline model#MProxyType#mtype (var_t2) on <var_t2:MType(MNullableType)> */
7747 var213
= var_t2
->attrs
[COLOR_nit__model__MProxyType___mtype
].val
; /* _mtype on <var_t2:MType(MNullableType)> */
7748 if (unlikely(var213
== NULL
)) {
7749 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7750 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1598);
7754 RET_LABEL212
:(void)0;
7761 var_incompatible
= 0;
7763 var214
= ((short int(*)(val
* self
))(var_t1
->class->vft
[COLOR_nit__abstract_compiler__MType__is_c_primitive
]))(var_t1
); /* is_c_primitive on <var_t1:MType>*/
7766 var_primitive
= var_t1
;
7768 { /* Inline kernel#Object#== (var_t1,var_t2) on <var_t1:MType> */
7771 { /* Inline kernel#Object#is_same_instance (var_t1,var_other) on <var_t1:MType> */
7772 var219
= var_t1
== var_other
;
7775 RET_LABEL218
:(void)0;
7780 RET_LABEL216
:(void)0;
7786 var220
= ((short int(*)(val
* self
))(var_t2
->class->vft
[COLOR_nit__abstract_compiler__MType__is_c_primitive
]))(var_t2
); /* is_c_primitive on <var_t2:MType>*/
7789 var_incompatible
= 1;
7792 var221
= nit___nit__SeparateCompilerVisitor___can_be_primitive(self
, var_value2
);
7796 { /* Inline separate_compiler#MType#is_tagged (var_t1) on <var_t1:MType> */
7797 var224
= var_t1
->attrs
[COLOR_nit__separate_compiler__MType___is_tagged
].s
; /* _is_tagged on <var_t1:MType> */
7799 RET_LABEL223
:(void)0;
7803 if (unlikely(varonce225
==NULL
)) {
7804 var226
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String
);
7805 if (likely(varonce227
!=NULL
)) {
7806 var228
= varonce227
;
7809 var230
= standard___standard__NativeString___to_s_with_length(var229
, 3l);
7811 varonce227
= var228
;
7813 ((struct instance_standard__NativeArray
*)var226
)->values
[1]=var228
;
7814 if (likely(varonce231
!=NULL
)) {
7815 var232
= varonce231
;
7818 var234
= standard___standard__NativeString___to_s_with_length(var233
, 4l);
7820 varonce231
= var232
;
7822 ((struct instance_standard__NativeArray
*)var226
)->values
[3]=var232
;
7823 if (likely(varonce235
!=NULL
)) {
7824 var236
= varonce235
;
7827 var238
= standard___standard__NativeString___to_s_with_length(var237
, 1l);
7829 varonce235
= var236
;
7831 ((struct instance_standard__NativeArray
*)var226
)->values
[5]=var236
;
7833 var226
= varonce225
;
7837 var239
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
7839 ((struct instance_standard__NativeArray
*)var226
)->values
[0]=var239
;
7841 var240
= ((val
*(*)(val
* self
))(var_value1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value1
); /* to_s on <var_value1:RuntimeVariable>*/
7843 ((struct instance_standard__NativeArray
*)var226
)->values
[2]=var240
;
7845 var241
= ((val
*(*)(val
* self
))(var_value2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value2
); /* to_s on <var_value2:RuntimeVariable>*/
7847 ((struct instance_standard__NativeArray
*)var226
)->values
[4]=var241
;
7849 var242
= ((val
*(*)(val
* self
))(var226
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var226
); /* native_to_s on <var226:NativeArray[String]>*/
7851 varonce225
= var226
;
7853 nit___nit__AbstractCompilerVisitor___add(self
, var242
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7860 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
7861 var245
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
7862 if (unlikely(var245
== NULL
)) {
7863 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7864 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
7868 RET_LABEL244
:(void)0;
7872 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var243) on <var243:AbstractCompiler(SeparateCompiler)> */
7873 var248
= var243
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var243:AbstractCompiler(SeparateCompiler)> */
7874 if (unlikely(var248
== NULL
)) {
7875 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
7876 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
7880 RET_LABEL247
:(void)0;
7884 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var246) on <var246:ModelBuilder> */
7885 var251
= var246
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var246:ModelBuilder> */
7886 if (unlikely(var251
== NULL
)) {
7887 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7888 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
7892 RET_LABEL250
:(void)0;
7896 { /* Inline separate_compiler#ToolContext#opt_no_tag_primitives (var249) on <var249:ToolContext> */
7897 var254
= var249
->attrs
[COLOR_nit__separate_compiler__ToolContext___opt_no_tag_primitives
].val
; /* _opt_no_tag_primitives on <var249:ToolContext> */
7898 if (unlikely(var254
== NULL
)) {
7899 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_tag_primitives");
7900 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 32);
7904 RET_LABEL253
:(void)0;
7908 { /* Inline opts#Option#value (var252) on <var252:OptionBool> */
7909 var257
= var252
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var252:OptionBool> */
7911 RET_LABEL256
:(void)0;
7914 var258
= (short int)((long)(var255
)>>2);
7917 if (unlikely(varonce260
==NULL
)) {
7918 var261
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
7919 if (likely(varonce262
!=NULL
)) {
7920 var263
= varonce262
;
7923 var265
= standard___standard__NativeString___to_s_with_length(var264
, 2l);
7925 varonce262
= var263
;
7927 ((struct instance_standard__NativeArray
*)var261
)->values
[0]=var263
;
7928 if (likely(varonce266
!=NULL
)) {
7929 var267
= varonce266
;
7932 var269
= standard___standard__NativeString___to_s_with_length(var268
, 1l);
7934 varonce266
= var267
;
7936 ((struct instance_standard__NativeArray
*)var261
)->values
[2]=var267
;
7938 var261
= varonce260
;
7942 var270
= nit___nit__SeparateCompilerVisitor___extract_tag(self
, var_value2
);
7944 ((struct instance_standard__NativeArray
*)var261
)->values
[1]=var270
;
7946 var271
= ((val
*(*)(val
* self
))(var261
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var261
); /* native_to_s on <var261:NativeArray[String]>*/
7948 varonce260
= var261
;
7950 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_test
, var271
); /* Direct call array#Array#add on <var_test:Array[String]>*/
7954 if (unlikely(varonce272
==NULL
)) {
7955 var273
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
7956 if (likely(varonce274
!=NULL
)) {
7957 var275
= varonce274
;
7959 var276
= "->class == ";
7960 var277
= standard___standard__NativeString___to_s_with_length(var276
, 11l);
7962 varonce274
= var275
;
7964 ((struct instance_standard__NativeArray
*)var273
)->values
[1]=var275
;
7965 if (likely(varonce278
!=NULL
)) {
7966 var279
= varonce278
;
7969 var281
= standard___standard__NativeString___to_s_with_length(var280
, 7l);
7971 varonce278
= var279
;
7973 ((struct instance_standard__NativeArray
*)var273
)->values
[3]=var279
;
7975 var273
= varonce272
;
7979 var282
= ((val
*(*)(val
* self
))(var_value1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value1
); /* to_s on <var_value1:RuntimeVariable>*/
7981 ((struct instance_standard__NativeArray
*)var273
)->values
[0]=var282
;
7983 var283
= ((val
*(*)(val
* self
))(var_value2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value2
); /* to_s on <var_value2:RuntimeVariable>*/
7985 ((struct instance_standard__NativeArray
*)var273
)->values
[2]=var283
;
7987 var284
= ((val
*(*)(val
* self
))(var273
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var273
); /* native_to_s on <var273:NativeArray[String]>*/
7989 varonce272
= var273
;
7991 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_test
, var284
); /* Direct call array#Array#add on <var_test:Array[String]>*/
7994 var_incompatible
= 1;
8000 var285
= ((short int(*)(val
* self
))(var_t2
->class->vft
[COLOR_nit__abstract_compiler__MType__is_c_primitive
]))(var_t2
); /* is_c_primitive on <var_t2:MType>*/
8003 var_primitive
= var_t2
;
8005 var286
= nit___nit__SeparateCompilerVisitor___can_be_primitive(self
, var_value1
);
8009 { /* Inline separate_compiler#MType#is_tagged (var_t2) on <var_t2:MType> */
8010 var289
= var_t2
->attrs
[COLOR_nit__separate_compiler__MType___is_tagged
].s
; /* _is_tagged on <var_t2:MType> */
8012 RET_LABEL288
:(void)0;
8016 if (unlikely(varonce290
==NULL
)) {
8017 var291
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String
);
8018 if (likely(varonce292
!=NULL
)) {
8019 var293
= varonce292
;
8022 var295
= standard___standard__NativeString___to_s_with_length(var294
, 3l);
8024 varonce292
= var293
;
8026 ((struct instance_standard__NativeArray
*)var291
)->values
[1]=var293
;
8027 if (likely(varonce296
!=NULL
)) {
8028 var297
= varonce296
;
8031 var299
= standard___standard__NativeString___to_s_with_length(var298
, 4l);
8033 varonce296
= var297
;
8035 ((struct instance_standard__NativeArray
*)var291
)->values
[3]=var297
;
8036 if (likely(varonce300
!=NULL
)) {
8037 var301
= varonce300
;
8040 var303
= standard___standard__NativeString___to_s_with_length(var302
, 1l);
8042 varonce300
= var301
;
8044 ((struct instance_standard__NativeArray
*)var291
)->values
[5]=var301
;
8046 var291
= varonce290
;
8050 var304
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
8052 ((struct instance_standard__NativeArray
*)var291
)->values
[0]=var304
;
8054 var305
= ((val
*(*)(val
* self
))(var_value1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value1
); /* to_s on <var_value1:RuntimeVariable>*/
8056 ((struct instance_standard__NativeArray
*)var291
)->values
[2]=var305
;
8058 var306
= ((val
*(*)(val
* self
))(var_value2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value2
); /* to_s on <var_value2:RuntimeVariable>*/
8060 ((struct instance_standard__NativeArray
*)var291
)->values
[4]=var306
;
8062 var307
= ((val
*(*)(val
* self
))(var291
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var291
); /* native_to_s on <var291:NativeArray[String]>*/
8064 varonce290
= var291
;
8066 nit___nit__AbstractCompilerVisitor___add(self
, var307
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8073 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
8074 var310
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
8075 if (unlikely(var310
== NULL
)) {
8076 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
8077 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
8081 RET_LABEL309
:(void)0;
8085 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var308) on <var308:AbstractCompiler(SeparateCompiler)> */
8086 var313
= var308
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var308:AbstractCompiler(SeparateCompiler)> */
8087 if (unlikely(var313
== NULL
)) {
8088 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8089 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
8093 RET_LABEL312
:(void)0;
8097 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var311) on <var311:ModelBuilder> */
8098 var316
= var311
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var311:ModelBuilder> */
8099 if (unlikely(var316
== NULL
)) {
8100 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8101 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
8105 RET_LABEL315
:(void)0;
8109 { /* Inline separate_compiler#ToolContext#opt_no_tag_primitives (var314) on <var314:ToolContext> */
8110 var319
= var314
->attrs
[COLOR_nit__separate_compiler__ToolContext___opt_no_tag_primitives
].val
; /* _opt_no_tag_primitives on <var314:ToolContext> */
8111 if (unlikely(var319
== NULL
)) {
8112 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_tag_primitives");
8113 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 32);
8117 RET_LABEL318
:(void)0;
8121 { /* Inline opts#Option#value (var317) on <var317:OptionBool> */
8122 var322
= var317
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var317:OptionBool> */
8124 RET_LABEL321
:(void)0;
8127 var323
= (short int)((long)(var320
)>>2);
8130 if (unlikely(varonce325
==NULL
)) {
8131 var326
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
8132 if (likely(varonce327
!=NULL
)) {
8133 var328
= varonce327
;
8136 var330
= standard___standard__NativeString___to_s_with_length(var329
, 2l);
8138 varonce327
= var328
;
8140 ((struct instance_standard__NativeArray
*)var326
)->values
[0]=var328
;
8141 if (likely(varonce331
!=NULL
)) {
8142 var332
= varonce331
;
8145 var334
= standard___standard__NativeString___to_s_with_length(var333
, 1l);
8147 varonce331
= var332
;
8149 ((struct instance_standard__NativeArray
*)var326
)->values
[2]=var332
;
8151 var326
= varonce325
;
8155 var335
= nit___nit__SeparateCompilerVisitor___extract_tag(self
, var_value1
);
8157 ((struct instance_standard__NativeArray
*)var326
)->values
[1]=var335
;
8159 var336
= ((val
*(*)(val
* self
))(var326
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var326
); /* native_to_s on <var326:NativeArray[String]>*/
8161 varonce325
= var326
;
8163 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_test
, var336
); /* Direct call array#Array#add on <var_test:Array[String]>*/
8167 if (unlikely(varonce337
==NULL
)) {
8168 var338
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
8169 if (likely(varonce339
!=NULL
)) {
8170 var340
= varonce339
;
8172 var341
= "->class == ";
8173 var342
= standard___standard__NativeString___to_s_with_length(var341
, 11l);
8175 varonce339
= var340
;
8177 ((struct instance_standard__NativeArray
*)var338
)->values
[1]=var340
;
8178 if (likely(varonce343
!=NULL
)) {
8179 var344
= varonce343
;
8182 var346
= standard___standard__NativeString___to_s_with_length(var345
, 7l);
8184 varonce343
= var344
;
8186 ((struct instance_standard__NativeArray
*)var338
)->values
[3]=var344
;
8188 var338
= varonce337
;
8192 var347
= ((val
*(*)(val
* self
))(var_value1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value1
); /* to_s on <var_value1:RuntimeVariable>*/
8194 ((struct instance_standard__NativeArray
*)var338
)->values
[0]=var347
;
8196 var348
= ((val
*(*)(val
* self
))(var_value2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value2
); /* to_s on <var_value2:RuntimeVariable>*/
8198 ((struct instance_standard__NativeArray
*)var338
)->values
[2]=var348
;
8200 var349
= ((val
*(*)(val
* self
))(var338
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var338
); /* native_to_s on <var338:NativeArray[String]>*/
8202 varonce337
= var338
;
8204 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_test
, var349
); /* Direct call array#Array#add on <var_test:Array[String]>*/
8207 var_incompatible
= 1;
8210 var_primitive
= ((val
*)NULL
);
8213 if (var_incompatible
){
8214 if (var_maybe_null
){
8215 if (unlikely(varonce350
==NULL
)) {
8216 var351
= NEW_standard__NativeArray(10l, &type_standard__NativeArray__standard__String
);
8217 if (likely(varonce352
!=NULL
)) {
8218 var353
= varonce352
;
8221 var355
= standard___standard__NativeString___to_s_with_length(var354
, 3l);
8223 varonce352
= var353
;
8225 ((struct instance_standard__NativeArray
*)var351
)->values
[1]=var353
;
8226 if (likely(varonce356
!=NULL
)) {
8227 var357
= varonce356
;
8230 var359
= standard___standard__NativeString___to_s_with_length(var358
, 4l);
8232 varonce356
= var357
;
8234 ((struct instance_standard__NativeArray
*)var351
)->values
[3]=var357
;
8235 if (likely(varonce360
!=NULL
)) {
8236 var361
= varonce360
;
8238 var362
= "; /* incompatible types ";
8239 var363
= standard___standard__NativeString___to_s_with_length(var362
, 24l);
8241 varonce360
= var361
;
8243 ((struct instance_standard__NativeArray
*)var351
)->values
[5]=var361
;
8244 if (likely(varonce364
!=NULL
)) {
8245 var365
= varonce364
;
8248 var367
= standard___standard__NativeString___to_s_with_length(var366
, 5l);
8250 varonce364
= var365
;
8252 ((struct instance_standard__NativeArray
*)var351
)->values
[7]=var365
;
8253 if (likely(varonce368
!=NULL
)) {
8254 var369
= varonce368
;
8256 var370
= "; but may be NULL*/";
8257 var371
= standard___standard__NativeString___to_s_with_length(var370
, 19l);
8259 varonce368
= var369
;
8261 ((struct instance_standard__NativeArray
*)var351
)->values
[9]=var369
;
8263 var351
= varonce350
;
8267 var372
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
8269 ((struct instance_standard__NativeArray
*)var351
)->values
[0]=var372
;
8271 var373
= ((val
*(*)(val
* self
))(var_value1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value1
); /* to_s on <var_value1:RuntimeVariable>*/
8273 ((struct instance_standard__NativeArray
*)var351
)->values
[2]=var373
;
8275 var374
= ((val
*(*)(val
* self
))(var_value2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value2
); /* to_s on <var_value2:RuntimeVariable>*/
8277 ((struct instance_standard__NativeArray
*)var351
)->values
[4]=var374
;
8279 var375
= ((val
*(*)(val
* self
))(var_t1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_t1
); /* to_s on <var_t1:MType>*/
8281 ((struct instance_standard__NativeArray
*)var351
)->values
[6]=var375
;
8283 var376
= ((val
*(*)(val
* self
))(var_t2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_t2
); /* to_s on <var_t2:MType>*/
8285 ((struct instance_standard__NativeArray
*)var351
)->values
[8]=var376
;
8287 var377
= ((val
*(*)(val
* self
))(var351
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var351
); /* native_to_s on <var351:NativeArray[String]>*/
8289 varonce350
= var351
;
8291 nit___nit__AbstractCompilerVisitor___add(self
, var377
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8296 if (unlikely(varonce378
==NULL
)) {
8297 var379
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String
);
8298 if (likely(varonce380
!=NULL
)) {
8299 var381
= varonce380
;
8301 var382
= " = 0; /* incompatible types ";
8302 var383
= standard___standard__NativeString___to_s_with_length(var382
, 28l);
8304 varonce380
= var381
;
8306 ((struct instance_standard__NativeArray
*)var379
)->values
[1]=var381
;
8307 if (likely(varonce384
!=NULL
)) {
8308 var385
= varonce384
;
8311 var387
= standard___standard__NativeString___to_s_with_length(var386
, 5l);
8313 varonce384
= var385
;
8315 ((struct instance_standard__NativeArray
*)var379
)->values
[3]=var385
;
8316 if (likely(varonce388
!=NULL
)) {
8317 var389
= varonce388
;
8319 var390
= "; cannot be NULL */";
8320 var391
= standard___standard__NativeString___to_s_with_length(var390
, 19l);
8322 varonce388
= var389
;
8324 ((struct instance_standard__NativeArray
*)var379
)->values
[5]=var389
;
8326 var379
= varonce378
;
8330 var392
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
8332 ((struct instance_standard__NativeArray
*)var379
)->values
[0]=var392
;
8334 var393
= ((val
*(*)(val
* self
))(var_t1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_t1
); /* to_s on <var_t1:MType>*/
8336 ((struct instance_standard__NativeArray
*)var379
)->values
[2]=var393
;
8338 var394
= ((val
*(*)(val
* self
))(var_t2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_t2
); /* to_s on <var_t2:MType>*/
8340 ((struct instance_standard__NativeArray
*)var379
)->values
[4]=var394
;
8342 var395
= ((val
*(*)(val
* self
))(var379
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var379
); /* native_to_s on <var379:NativeArray[String]>*/
8344 varonce378
= var379
;
8346 nit___nit__AbstractCompilerVisitor___add(self
, var395
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8353 if (var_primitive
== NULL
) {
8354 var396
= 0; /* is null */
8356 var396
= 1; /* arg is null and recv is not */
8359 { /* Inline kernel#Object#!= (var_primitive,((val*)NULL)) on <var_primitive:nullable Object(nullable MType)> */
8360 var_other399
= ((val
*)NULL
);
8362 var400
= ((short int(*)(val
* self
, val
* p0
))(var_primitive
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_primitive
, var_other399
); /* == on <var_primitive:nullable MType(MType)>*/
8367 RET_LABEL398
:(void)0;
8373 { /* Inline separate_compiler#MType#is_tagged (var_primitive) on <var_primitive:nullable Object(MType)> */
8374 var404
= var_primitive
->attrs
[COLOR_nit__separate_compiler__MType___is_tagged
].s
; /* _is_tagged on <var_primitive:nullable Object(MType)> */
8376 RET_LABEL403
:(void)0;
8380 if (unlikely(varonce405
==NULL
)) {
8381 var406
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String
);
8382 if (likely(varonce407
!=NULL
)) {
8383 var408
= varonce407
;
8386 var410
= standard___standard__NativeString___to_s_with_length(var409
, 3l);
8388 varonce407
= var408
;
8390 ((struct instance_standard__NativeArray
*)var406
)->values
[1]=var408
;
8391 if (likely(varonce411
!=NULL
)) {
8392 var412
= varonce411
;
8395 var414
= standard___standard__NativeString___to_s_with_length(var413
, 4l);
8397 varonce411
= var412
;
8399 ((struct instance_standard__NativeArray
*)var406
)->values
[3]=var412
;
8400 if (likely(varonce415
!=NULL
)) {
8401 var416
= varonce415
;
8404 var418
= standard___standard__NativeString___to_s_with_length(var417
, 1l);
8406 varonce415
= var416
;
8408 ((struct instance_standard__NativeArray
*)var406
)->values
[5]=var416
;
8410 var406
= varonce405
;
8414 var419
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
8416 ((struct instance_standard__NativeArray
*)var406
)->values
[0]=var419
;
8418 var420
= ((val
*(*)(val
* self
))(var_value1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value1
); /* to_s on <var_value1:RuntimeVariable>*/
8420 ((struct instance_standard__NativeArray
*)var406
)->values
[2]=var420
;
8422 var421
= ((val
*(*)(val
* self
))(var_value2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value2
); /* to_s on <var_value2:RuntimeVariable>*/
8424 ((struct instance_standard__NativeArray
*)var406
)->values
[4]=var421
;
8426 var422
= ((val
*(*)(val
* self
))(var406
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var406
); /* native_to_s on <var406:NativeArray[String]>*/
8428 varonce405
= var406
;
8430 nit___nit__AbstractCompilerVisitor___add(self
, var422
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8436 if (unlikely(varonce423
==NULL
)) {
8437 var424
= NEW_standard__NativeArray(9l, &type_standard__NativeArray__standard__String
);
8438 if (likely(varonce425
!=NULL
)) {
8439 var426
= varonce425
;
8441 var427
= "((struct instance_";
8442 var428
= standard___standard__NativeString___to_s_with_length(var427
, 18l);
8444 varonce425
= var426
;
8446 ((struct instance_standard__NativeArray
*)var424
)->values
[0]=var426
;
8447 if (likely(varonce429
!=NULL
)) {
8448 var430
= varonce429
;
8451 var432
= standard___standard__NativeString___to_s_with_length(var431
, 2l);
8453 varonce429
= var430
;
8455 ((struct instance_standard__NativeArray
*)var424
)->values
[2]=var430
;
8456 if (likely(varonce433
!=NULL
)) {
8457 var434
= varonce433
;
8459 var435
= ")->value == ((struct instance_";
8460 var436
= standard___standard__NativeString___to_s_with_length(var435
, 30l);
8462 varonce433
= var434
;
8464 ((struct instance_standard__NativeArray
*)var424
)->values
[4]=var434
;
8465 if (likely(varonce437
!=NULL
)) {
8466 var438
= varonce437
;
8469 var440
= standard___standard__NativeString___to_s_with_length(var439
, 2l);
8471 varonce437
= var438
;
8473 ((struct instance_standard__NativeArray
*)var424
)->values
[6]=var438
;
8474 if (likely(varonce441
!=NULL
)) {
8475 var442
= varonce441
;
8477 var443
= ")->value";
8478 var444
= standard___standard__NativeString___to_s_with_length(var443
, 8l);
8480 varonce441
= var442
;
8482 ((struct instance_standard__NativeArray
*)var424
)->values
[8]=var442
;
8484 var424
= varonce423
;
8488 var445
= ((val
*(*)(val
* self
))(var_primitive
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_primitive
); /* c_name on <var_primitive:nullable Object(MType)>*/
8490 ((struct instance_standard__NativeArray
*)var424
)->values
[1]=var445
;
8492 var446
= ((val
*(*)(val
* self
))(var_value1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value1
); /* to_s on <var_value1:RuntimeVariable>*/
8494 ((struct instance_standard__NativeArray
*)var424
)->values
[3]=var446
;
8496 var447
= ((val
*(*)(val
* self
))(var_primitive
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_primitive
); /* c_name on <var_primitive:nullable Object(MType)>*/
8498 ((struct instance_standard__NativeArray
*)var424
)->values
[5]=var447
;
8500 var448
= ((val
*(*)(val
* self
))(var_value2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value2
); /* to_s on <var_value2:RuntimeVariable>*/
8502 ((struct instance_standard__NativeArray
*)var424
)->values
[7]=var448
;
8504 var449
= ((val
*(*)(val
* self
))(var424
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var424
); /* native_to_s on <var424:NativeArray[String]>*/
8506 varonce423
= var424
;
8508 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_test
, var449
); /* Direct call array#Array#add on <var_test:Array[String]>*/
8512 var451
= nit___nit__SeparateCompilerVisitor___can_be_primitive(self
, var_value1
);
8517 var453
= nit___nit__SeparateCompilerVisitor___can_be_primitive(self
, var_value2
);
8525 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
8526 var456
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
8527 if (unlikely(var456
== NULL
)) {
8528 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
8529 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
8533 RET_LABEL455
:(void)0;
8537 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var454) on <var454:AbstractCompiler(SeparateCompiler)> */
8538 var459
= var454
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var454:AbstractCompiler(SeparateCompiler)> */
8539 if (unlikely(var459
== NULL
)) {
8540 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8541 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
8545 RET_LABEL458
:(void)0;
8549 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var457) on <var457:ModelBuilder> */
8550 var462
= var457
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var457:ModelBuilder> */
8551 if (unlikely(var462
== NULL
)) {
8552 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8553 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
8557 RET_LABEL461
:(void)0;
8561 { /* Inline separate_compiler#ToolContext#opt_no_tag_primitives (var460) on <var460:ToolContext> */
8562 var465
= var460
->attrs
[COLOR_nit__separate_compiler__ToolContext___opt_no_tag_primitives
].val
; /* _opt_no_tag_primitives on <var460:ToolContext> */
8563 if (unlikely(var465
== NULL
)) {
8564 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_tag_primitives");
8565 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 32);
8569 RET_LABEL464
:(void)0;
8573 { /* Inline opts#Option#value (var463) on <var463:OptionBool> */
8574 var468
= var463
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var463:OptionBool> */
8576 RET_LABEL467
:(void)0;
8579 var469
= (short int)((long)(var466
)>>2);
8582 if (unlikely(varonce471
==NULL
)) {
8583 var472
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
8584 if (likely(varonce473
!=NULL
)) {
8585 var474
= varonce473
;
8588 var476
= standard___standard__NativeString___to_s_with_length(var475
, 2l);
8590 varonce473
= var474
;
8592 ((struct instance_standard__NativeArray
*)var472
)->values
[0]=var474
;
8593 if (likely(varonce477
!=NULL
)) {
8594 var478
= varonce477
;
8597 var480
= standard___standard__NativeString___to_s_with_length(var479
, 7l);
8599 varonce477
= var478
;
8601 ((struct instance_standard__NativeArray
*)var472
)->values
[2]=var478
;
8602 if (likely(varonce481
!=NULL
)) {
8603 var482
= varonce481
;
8606 var484
= standard___standard__NativeString___to_s_with_length(var483
, 1l);
8608 varonce481
= var482
;
8610 ((struct instance_standard__NativeArray
*)var472
)->values
[4]=var482
;
8612 var472
= varonce471
;
8616 var485
= nit___nit__SeparateCompilerVisitor___extract_tag(self
, var_value1
);
8618 ((struct instance_standard__NativeArray
*)var472
)->values
[1]=var485
;
8620 var486
= nit___nit__SeparateCompilerVisitor___extract_tag(self
, var_value2
);
8622 ((struct instance_standard__NativeArray
*)var472
)->values
[3]=var486
;
8624 var487
= ((val
*(*)(val
* self
))(var472
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var472
); /* native_to_s on <var472:NativeArray[String]>*/
8626 varonce471
= var472
;
8628 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_test
, var487
); /* Direct call array#Array#add on <var_test:Array[String]>*/
8632 if (unlikely(varonce488
==NULL
)) {
8633 var489
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
8634 if (likely(varonce490
!=NULL
)) {
8635 var491
= varonce490
;
8637 var492
= "->class == ";
8638 var493
= standard___standard__NativeString___to_s_with_length(var492
, 11l);
8640 varonce490
= var491
;
8642 ((struct instance_standard__NativeArray
*)var489
)->values
[1]=var491
;
8643 if (likely(varonce494
!=NULL
)) {
8644 var495
= varonce494
;
8647 var497
= standard___standard__NativeString___to_s_with_length(var496
, 7l);
8649 varonce494
= var495
;
8651 ((struct instance_standard__NativeArray
*)var489
)->values
[3]=var495
;
8653 var489
= varonce488
;
8657 var498
= ((val
*(*)(val
* self
))(var_value1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value1
); /* to_s on <var_value1:RuntimeVariable>*/
8659 ((struct instance_standard__NativeArray
*)var489
)->values
[0]=var498
;
8661 var499
= ((val
*(*)(val
* self
))(var_value2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value2
); /* to_s on <var_value2:RuntimeVariable>*/
8663 ((struct instance_standard__NativeArray
*)var489
)->values
[2]=var499
;
8665 var500
= ((val
*(*)(val
* self
))(var489
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var489
); /* native_to_s on <var489:NativeArray[String]>*/
8667 varonce488
= var489
;
8669 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_test
, var500
); /* Direct call array#Array#add on <var_test:Array[String]>*/
8671 var501
= NEW_standard__Array(&type_standard__Array__standard__String
);
8673 standard___standard__Array___standard__kernel__Object__init(var501
); /* Direct call array#Array#init on <var501:Array[String]>*/
8677 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
8678 var504
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
8679 if (unlikely(var504
== NULL
)) {
8680 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
8681 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
8685 RET_LABEL503
:(void)0;
8689 { /* Inline separate_compiler#SeparateCompiler#box_kinds (var502) on <var502:AbstractCompiler(SeparateCompiler)> */
8690 var507
= var502
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___box_kinds
].val
; /* _box_kinds on <var502:AbstractCompiler(SeparateCompiler)> */
8691 if (unlikely(var507
== NULL
)) {
8692 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _box_kinds");
8693 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 263);
8697 RET_LABEL506
:(void)0;
8702 var509
= standard___standard__HashMap___standard__abstract_collection__MapRead__iterator(var_508
);
8707 var511
= standard___standard__HashMapIterator___standard__abstract_collection__MapIterator__is_ok(var_510
);
8711 var512
= standard___standard__HashMapIterator___standard__abstract_collection__MapIterator__key(var_510
);
8715 var513
= standard___standard__HashMapIterator___standard__abstract_collection__MapIterator__item(var_510
);
8717 var514
= (long)(var513
)>>2;
8720 { /* Inline model#MClass#mclass_type (var_t) on <var_t:MClass> */
8721 var517
= var_t
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_t:MClass> */
8722 if (unlikely(var517
== NULL
)) {
8723 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
8724 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
8728 RET_LABEL516
:(void)0;
8732 { /* Inline separate_compiler#MType#is_tagged (var515) on <var515:MClassType> */
8733 var520
= var515
->attrs
[COLOR_nit__separate_compiler__MType___is_tagged
].s
; /* _is_tagged on <var515:MClassType> */
8735 RET_LABEL519
:(void)0;
8742 if (unlikely(varonce521
==NULL
)) {
8743 var522
= NEW_standard__NativeArray(13l, &type_standard__NativeArray__standard__String
);
8744 if (likely(varonce523
!=NULL
)) {
8745 var524
= varonce523
;
8748 var526
= standard___standard__NativeString___to_s_with_length(var525
, 1l);
8750 varonce523
= var524
;
8752 ((struct instance_standard__NativeArray
*)var522
)->values
[0]=var524
;
8753 if (likely(varonce527
!=NULL
)) {
8754 var528
= varonce527
;
8756 var529
= "->class->box_kind == ";
8757 var530
= standard___standard__NativeString___to_s_with_length(var529
, 21l);
8759 varonce527
= var528
;
8761 ((struct instance_standard__NativeArray
*)var522
)->values
[2]=var528
;
8762 if (likely(varonce531
!=NULL
)) {
8763 var532
= varonce531
;
8765 var533
= " && ((struct instance_";
8766 var534
= standard___standard__NativeString___to_s_with_length(var533
, 22l);
8768 varonce531
= var532
;
8770 ((struct instance_standard__NativeArray
*)var522
)->values
[4]=var532
;
8771 if (likely(varonce535
!=NULL
)) {
8772 var536
= varonce535
;
8775 var538
= standard___standard__NativeString___to_s_with_length(var537
, 2l);
8777 varonce535
= var536
;
8779 ((struct instance_standard__NativeArray
*)var522
)->values
[6]=var536
;
8780 if (likely(varonce539
!=NULL
)) {
8781 var540
= varonce539
;
8783 var541
= ")->value == ((struct instance_";
8784 var542
= standard___standard__NativeString___to_s_with_length(var541
, 30l);
8786 varonce539
= var540
;
8788 ((struct instance_standard__NativeArray
*)var522
)->values
[8]=var540
;
8789 if (likely(varonce543
!=NULL
)) {
8790 var544
= varonce543
;
8793 var546
= standard___standard__NativeString___to_s_with_length(var545
, 2l);
8795 varonce543
= var544
;
8797 ((struct instance_standard__NativeArray
*)var522
)->values
[10]=var544
;
8798 if (likely(varonce547
!=NULL
)) {
8799 var548
= varonce547
;
8801 var549
= ")->value)";
8802 var550
= standard___standard__NativeString___to_s_with_length(var549
, 9l);
8804 varonce547
= var548
;
8806 ((struct instance_standard__NativeArray
*)var522
)->values
[12]=var548
;
8808 var522
= varonce521
;
8812 var551
= ((val
*(*)(val
* self
))(var_value1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value1
); /* to_s on <var_value1:RuntimeVariable>*/
8814 ((struct instance_standard__NativeArray
*)var522
)->values
[1]=var551
;
8815 var552
= standard__string___Int___Object__to_s(var_v
);
8816 ((struct instance_standard__NativeArray
*)var522
)->values
[3]=var552
;
8818 var553
= nit___nit__MClass___nit__model_base__MEntity__c_name(var_t
);
8820 ((struct instance_standard__NativeArray
*)var522
)->values
[5]=var553
;
8822 var554
= ((val
*(*)(val
* self
))(var_value1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value1
); /* to_s on <var_value1:RuntimeVariable>*/
8824 ((struct instance_standard__NativeArray
*)var522
)->values
[7]=var554
;
8826 var555
= nit___nit__MClass___nit__model_base__MEntity__c_name(var_t
);
8828 ((struct instance_standard__NativeArray
*)var522
)->values
[9]=var555
;
8830 var556
= ((val
*(*)(val
* self
))(var_value2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value2
); /* to_s on <var_value2:RuntimeVariable>*/
8832 ((struct instance_standard__NativeArray
*)var522
)->values
[11]=var556
;
8834 var557
= ((val
*(*)(val
* self
))(var522
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var522
); /* native_to_s on <var522:NativeArray[String]>*/
8836 varonce521
= var522
;
8838 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_s
, var557
); /* Direct call array#Array#add on <var_s:Array[String]>*/
8840 BREAK_label
: (void)0;
8842 standard___standard__HashMapIterator___standard__abstract_collection__MapIterator__next(var_510
); /* Direct call hash_collection#HashMapIterator#next on <var_510:HashMapIterator[MClass, Int]>*/
8845 goto BREAK_label558
;
8848 BREAK_label558
: (void)0;
8850 { /* Inline abstract_collection#MapIterator#finish (var_510) on <var_510:HashMapIterator[MClass, Int]> */
8851 RET_LABEL559
:(void)0;
8855 var560
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_s
);
8858 if (unlikely(varonce561
==NULL
)) {
8859 var562
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String
);
8860 if (likely(varonce563
!=NULL
)) {
8861 var564
= varonce563
;
8864 var566
= standard___standard__NativeString___to_s_with_length(var565
, 3l);
8866 varonce563
= var564
;
8868 ((struct instance_standard__NativeArray
*)var562
)->values
[1]=var564
;
8869 if (likely(varonce567
!=NULL
)) {
8870 var568
= varonce567
;
8873 var570
= standard___standard__NativeString___to_s_with_length(var569
, 4l);
8875 varonce567
= var568
;
8877 ((struct instance_standard__NativeArray
*)var562
)->values
[3]=var568
;
8878 if (likely(varonce571
!=NULL
)) {
8879 var572
= varonce571
;
8882 var574
= standard___standard__NativeString___to_s_with_length(var573
, 1l);
8884 varonce571
= var572
;
8886 ((struct instance_standard__NativeArray
*)var562
)->values
[5]=var572
;
8888 var562
= varonce561
;
8892 var575
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
8894 ((struct instance_standard__NativeArray
*)var562
)->values
[0]=var575
;
8896 var576
= ((val
*(*)(val
* self
))(var_value1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value1
); /* to_s on <var_value1:RuntimeVariable>*/
8898 ((struct instance_standard__NativeArray
*)var562
)->values
[2]=var576
;
8900 var577
= ((val
*(*)(val
* self
))(var_value2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value2
); /* to_s on <var_value2:RuntimeVariable>*/
8902 ((struct instance_standard__NativeArray
*)var562
)->values
[4]=var577
;
8904 var578
= ((val
*(*)(val
* self
))(var562
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var562
); /* native_to_s on <var562:NativeArray[String]>*/
8906 varonce561
= var562
;
8908 nit___nit__AbstractCompilerVisitor___add(self
, var578
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8914 if (unlikely(varonce579
==NULL
)) {
8915 var580
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
8916 if (likely(varonce581
!=NULL
)) {
8917 var582
= varonce581
;
8920 var584
= standard___standard__NativeString___to_s_with_length(var583
, 1l);
8922 varonce581
= var582
;
8924 ((struct instance_standard__NativeArray
*)var580
)->values
[0]=var582
;
8925 if (likely(varonce585
!=NULL
)) {
8926 var586
= varonce585
;
8929 var588
= standard___standard__NativeString___to_s_with_length(var587
, 1l);
8931 varonce585
= var586
;
8933 ((struct instance_standard__NativeArray
*)var580
)->values
[2]=var586
;
8935 var580
= varonce579
;
8938 if (likely(varonce589
!=NULL
)) {
8939 var590
= varonce589
;
8942 var592
= standard___standard__NativeString___to_s_with_length(var591
, 4l);
8944 varonce589
= var590
;
8947 var593
= standard__string___Collection___join(var_s
, var590
);
8949 ((struct instance_standard__NativeArray
*)var580
)->values
[1]=var593
;
8951 var594
= ((val
*(*)(val
* self
))(var580
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var580
); /* native_to_s on <var580:NativeArray[String]>*/
8953 varonce579
= var580
;
8955 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_test
, var594
); /* Direct call array#Array#add on <var_test:Array[String]>*/
8958 if (unlikely(varonce595
==NULL
)) {
8959 var596
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String
);
8960 if (likely(varonce597
!=NULL
)) {
8961 var598
= varonce597
;
8964 var600
= standard___standard__NativeString___to_s_with_length(var599
, 3l);
8966 varonce597
= var598
;
8968 ((struct instance_standard__NativeArray
*)var596
)->values
[1]=var598
;
8969 if (likely(varonce601
!=NULL
)) {
8970 var602
= varonce601
;
8973 var604
= standard___standard__NativeString___to_s_with_length(var603
, 4l);
8975 varonce601
= var602
;
8977 ((struct instance_standard__NativeArray
*)var596
)->values
[3]=var602
;
8978 if (likely(varonce605
!=NULL
)) {
8979 var606
= varonce605
;
8982 var608
= standard___standard__NativeString___to_s_with_length(var607
, 1l);
8984 varonce605
= var606
;
8986 ((struct instance_standard__NativeArray
*)var596
)->values
[5]=var606
;
8988 var596
= varonce595
;
8992 var609
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
8994 ((struct instance_standard__NativeArray
*)var596
)->values
[0]=var609
;
8996 var610
= ((val
*(*)(val
* self
))(var_value1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value1
); /* to_s on <var_value1:RuntimeVariable>*/
8998 ((struct instance_standard__NativeArray
*)var596
)->values
[2]=var610
;
9000 var611
= ((val
*(*)(val
* self
))(var_value2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value2
); /* to_s on <var_value2:RuntimeVariable>*/
9002 ((struct instance_standard__NativeArray
*)var596
)->values
[4]=var611
;
9004 var612
= ((val
*(*)(val
* self
))(var596
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var596
); /* native_to_s on <var596:NativeArray[String]>*/
9006 varonce595
= var596
;
9008 nit___nit__AbstractCompilerVisitor___add(self
, var612
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
9014 if (unlikely(varonce613
==NULL
)) {
9015 var614
= NEW_standard__NativeArray(8l, &type_standard__NativeArray__standard__String
);
9016 if (likely(varonce615
!=NULL
)) {
9017 var616
= varonce615
;
9020 var618
= standard___standard__NativeString___to_s_with_length(var617
, 3l);
9022 varonce615
= var616
;
9024 ((struct instance_standard__NativeArray
*)var614
)->values
[1]=var616
;
9025 if (likely(varonce619
!=NULL
)) {
9026 var620
= varonce619
;
9029 var622
= standard___standard__NativeString___to_s_with_length(var621
, 4l);
9031 varonce619
= var620
;
9033 ((struct instance_standard__NativeArray
*)var614
)->values
[3]=var620
;
9034 if (likely(varonce623
!=NULL
)) {
9035 var624
= varonce623
;
9038 var626
= standard___standard__NativeString___to_s_with_length(var625
, 5l);
9040 varonce623
= var624
;
9042 ((struct instance_standard__NativeArray
*)var614
)->values
[5]=var624
;
9043 if (likely(varonce627
!=NULL
)) {
9044 var628
= varonce627
;
9047 var630
= standard___standard__NativeString___to_s_with_length(var629
, 2l);
9049 varonce627
= var628
;
9051 ((struct instance_standard__NativeArray
*)var614
)->values
[7]=var628
;
9053 var614
= varonce613
;
9057 var631
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
9059 ((struct instance_standard__NativeArray
*)var614
)->values
[0]=var631
;
9061 var632
= ((val
*(*)(val
* self
))(var_value1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value1
); /* to_s on <var_value1:RuntimeVariable>*/
9063 ((struct instance_standard__NativeArray
*)var614
)->values
[2]=var632
;
9065 var633
= ((val
*(*)(val
* self
))(var_value2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_value2
); /* to_s on <var_value2:RuntimeVariable>*/
9067 ((struct instance_standard__NativeArray
*)var614
)->values
[4]=var633
;
9068 if (likely(varonce634
!=NULL
)) {
9069 var635
= varonce634
;
9072 var637
= standard___standard__NativeString___to_s_with_length(var636
, 4l);
9074 varonce634
= var635
;
9077 var638
= standard__string___Collection___join(var_test
, var635
);
9079 ((struct instance_standard__NativeArray
*)var614
)->values
[6]=var638
;
9081 var639
= ((val
*(*)(val
* self
))(var614
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var614
); /* native_to_s on <var614:NativeArray[String]>*/
9083 varonce613
= var614
;
9085 nit___nit__AbstractCompilerVisitor___add(self
, var639
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
9092 /* method separate_compiler#SeparateCompilerVisitor#can_be_primitive for (self: SeparateCompilerVisitor, RuntimeVariable): Bool */
9093 short int nit___nit__SeparateCompilerVisitor___can_be_primitive(val
* self
, val
* p0
) {
9094 short int var
/* : Bool */;
9095 val
* var_value
/* var value: RuntimeVariable */;
9096 val
* var1
/* : MType */;
9097 val
* var3
/* : MType */;
9098 val
* var4
/* : MType */;
9099 val
* var_t
/* var t: MType */;
9100 short int var5
/* : Bool */;
9103 short int var6
/* : Bool */;
9104 val
* var7
/* : MClass */;
9105 val
* var9
/* : MClass */;
9106 val
* var10
/* : MClassKind */;
9107 val
* var12
/* : MClassKind */;
9108 val
* var_k
/* var k: MClassKind */;
9109 short int var13
/* : Bool */;
9110 val
* var14
/* : Sys */;
9111 val
* var15
/* : MClassKind */;
9112 short int var16
/* : Bool */;
9113 val
* var_other
/* var other: nullable Object */;
9114 short int var18
/* : Bool */;
9115 short int var20
/* : Bool */;
9116 short int var_
/* var : Bool */;
9117 short int var21
/* : Bool */;
9120 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_value) on <var_value:RuntimeVariable> */
9121 var3
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_value:RuntimeVariable> */
9122 if (unlikely(var3
== NULL
)) {
9123 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
9124 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1787);
9132 var4
= ((val
*(*)(val
* self
))(var1
->class->vft
[COLOR_nit__model__MType__undecorate
]))(var1
); /* undecorate on <var1:MType>*/
9135 /* <var_t:MType> isa MClassType */
9136 cltype
= type_nit__MClassType
.color
;
9137 idtype
= type_nit__MClassType
.id
;
9138 if(cltype
>= var_t
->type
->table_size
) {
9141 var5
= var_t
->type
->type_table
[cltype
] == idtype
;
9150 { /* Inline model#MClassType#mclass (var_t) on <var_t:MType(MClassType)> */
9151 var9
= var_t
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_t:MType(MClassType)> */
9152 if (unlikely(var9
== NULL
)) {
9153 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9154 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
9162 { /* Inline model#MClass#kind (var7) on <var7:MClass> */
9163 var12
= var7
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var7:MClass> */
9164 if (unlikely(var12
== NULL
)) {
9165 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
9166 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 436);
9170 RET_LABEL11
:(void)0;
9176 var15
= nit__model___standard__Sys___interface_kind(var14
);
9179 { /* Inline kernel#Object#== (var_k,var15) on <var_k:MClassKind> */
9182 { /* Inline kernel#Object#is_same_instance (var_k,var_other) on <var_k:MClassKind> */
9183 var20
= var_k
== var_other
;
9186 RET_LABEL19
:(void)0;
9191 RET_LABEL17
:(void)0;
9199 var21
= nit__abstract_compiler___MClassType___MType__is_c_primitive(var_t
);
9208 /* method separate_compiler#SeparateCompilerVisitor#maybe_null for (self: SeparateCompilerVisitor, RuntimeVariable): Bool */
9209 short int nit___nit__SeparateCompilerVisitor___maybe_null(val
* self
, val
* p0
) {
9210 short int var
/* : Bool */;
9211 val
* var_value
/* var value: RuntimeVariable */;
9212 val
* var1
/* : MType */;
9213 val
* var3
/* : MType */;
9214 val
* var_t
/* var t: MType */;
9215 short int var4
/* : Bool */;
9216 short int var5
/* : Bool */;
9219 short int var_
/* var : Bool */;
9220 short int var6
/* : Bool */;
9225 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_value) on <var_value:RuntimeVariable> */
9226 var3
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_value:RuntimeVariable> */
9227 if (unlikely(var3
== NULL
)) {
9228 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
9229 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1787);
9237 /* <var_t:MType> isa MNullableType */
9238 cltype
= type_nit__MNullableType
.color
;
9239 idtype
= type_nit__MNullableType
.id
;
9240 if(cltype
>= var_t
->type
->table_size
) {
9243 var5
= var_t
->type
->type_table
[cltype
] == idtype
;
9249 /* <var_t:MType> isa MNullType */
9250 cltype7
= type_nit__MNullType
.color
;
9251 idtype8
= type_nit__MNullType
.id
;
9252 if(cltype7
>= var_t
->type
->table_size
) {
9255 var6
= var_t
->type
->type_table
[cltype7
] == idtype8
;
9264 /* method separate_compiler#SeparateCompilerVisitor#array_instance for (self: SeparateCompilerVisitor, Array[RuntimeVariable], MType): RuntimeVariable */
9265 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__array_instance(val
* self
, val
* p0
, val
* p1
) {
9266 val
* var
/* : RuntimeVariable */;
9267 val
* var_array
/* var array: Array[RuntimeVariable] */;
9268 val
* var_elttype
/* var elttype: MType */;
9269 val
* var1
/* : MModule */;
9270 val
* var2
/* : MClass */;
9271 val
* var_nclass
/* var nclass: MClass */;
9272 val
* var3
/* : MModule */;
9273 val
* var4
/* : MClass */;
9274 val
* var_arrayclass
/* var arrayclass: MClass */;
9275 val
* var5
/* : Array[MType] */;
9276 val
* var_
/* var : Array[MType] */;
9277 val
* var6
/* : MClassType */;
9278 val
* var_arraytype
/* var arraytype: MClassType */;
9279 val
* var7
/* : RuntimeVariable */;
9280 val
* var_res
/* var res: RuntimeVariable */;
9281 val
* var8
/* : NativeArray[String] */;
9282 static val
* varonce
;
9283 static val
* varonce9
;
9284 val
* var10
/* : String */;
9285 char* var11
/* : NativeString */;
9286 val
* var12
/* : FlatString */;
9287 static val
* varonce13
;
9288 val
* var14
/* : String */;
9289 char* var15
/* : NativeString */;
9290 val
* var16
/* : FlatString */;
9291 static val
* varonce17
;
9292 val
* var18
/* : String */;
9293 char* var19
/* : NativeString */;
9294 val
* var20
/* : FlatString */;
9295 val
* var21
/* : String */;
9296 val
* var22
/* : String */;
9297 val
* var23
/* : String */;
9298 long var24
/* : Int */;
9299 long var26
/* : Int */;
9300 val
* var27
/* : RuntimeVariable */;
9301 val
* var_length
/* var length: RuntimeVariable */;
9302 val
* var28
/* : RuntimeVariable */;
9303 val
* var_nat
/* var nat: RuntimeVariable */;
9304 long var_i
/* var i: Int */;
9305 long var29
/* : Int */;
9306 long var31
/* : Int */;
9307 long var_32
/* var : Int */;
9308 short int var33
/* : Bool */;
9309 short int var35
/* : Bool */;
9312 const char* var_class_name
;
9313 short int var36
/* : Bool */;
9314 val
* var37
/* : nullable Object */;
9315 val
* var38
/* : MClassType */;
9316 val
* var39
/* : RuntimeVariable */;
9317 val
* var_r
/* var r: RuntimeVariable */;
9318 val
* var41
/* : NativeArray[String] */;
9319 static val
* varonce40
;
9320 static val
* varonce42
;
9321 val
* var43
/* : String */;
9322 char* var44
/* : NativeString */;
9323 val
* var45
/* : FlatString */;
9324 static val
* varonce46
;
9325 val
* var47
/* : String */;
9326 char* var48
/* : NativeString */;
9327 val
* var49
/* : FlatString */;
9328 static val
* varonce50
;
9329 val
* var51
/* : String */;
9330 char* var52
/* : NativeString */;
9331 val
* var53
/* : FlatString */;
9332 static val
* varonce54
;
9333 val
* var55
/* : String */;
9334 char* var56
/* : NativeString */;
9335 val
* var57
/* : FlatString */;
9336 static val
* varonce58
;
9337 val
* var59
/* : String */;
9338 char* var60
/* : NativeString */;
9339 val
* var61
/* : FlatString */;
9340 val
* var62
/* : String */;
9341 val
* var63
/* : String */;
9342 val
* var64
/* : String */;
9343 val
* var65
/* : String */;
9344 val
* var66
/* : String */;
9345 long var67
/* : Int */;
9346 static val
* varonce68
;
9347 val
* var69
/* : String */;
9348 char* var70
/* : NativeString */;
9349 val
* var71
/* : FlatString */;
9350 val
* var72
/* : MClassDef */;
9351 val
* var74
/* : MClassDef */;
9352 val
* var75
/* : MClassType */;
9353 val
* var77
/* : MClassType */;
9354 val
* var78
/* : MMethod */;
9355 val
* var79
/* : Array[RuntimeVariable] */;
9356 val
* var_80
/* var : Array[RuntimeVariable] */;
9357 val
* var81
/* : nullable RuntimeVariable */;
9358 static val
* varonce82
;
9359 val
* var83
/* : String */;
9360 char* var84
/* : NativeString */;
9361 val
* var85
/* : FlatString */;
9365 var1
= nit___nit__AbstractCompilerVisitor___mmodule(self
);
9368 var2
= nit__model___MModule___native_array_class(var1
);
9372 var3
= nit___nit__AbstractCompilerVisitor___mmodule(self
);
9375 var4
= nit__model___MModule___array_class(var3
);
9377 var_arrayclass
= var4
;
9378 var5
= NEW_standard__Array(&type_standard__Array__nit__MType
);
9380 standard___standard__Array___with_capacity(var5
, 1l); /* Direct call array#Array#with_capacity on <var5:Array[MType]>*/
9384 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_elttype
); /* Direct call array#AbstractArray#push on <var_:Array[MType]>*/
9387 var6
= nit___nit__MClass___get_mtype(var_arrayclass
, var_
);
9389 var_arraytype
= var6
;
9391 var7
= ((val
*(*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__init_instance
]))(self
, var_arraytype
); /* init_instance on <self:SeparateCompilerVisitor>*/
9394 if (unlikely(varonce
==NULL
)) {
9395 var8
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
9396 if (likely(varonce9
!=NULL
)) {
9400 var12
= standard___standard__NativeString___to_s_with_length(var11
, 5l);
9404 ((struct instance_standard__NativeArray
*)var8
)->values
[0]=var10
;
9405 if (likely(varonce13
!=NULL
)) {
9408 var15
= " = array_instance Array[";
9409 var16
= standard___standard__NativeString___to_s_with_length(var15
, 24l);
9413 ((struct instance_standard__NativeArray
*)var8
)->values
[2]=var14
;
9414 if (likely(varonce17
!=NULL
)) {
9418 var20
= standard___standard__NativeString___to_s_with_length(var19
, 4l);
9422 ((struct instance_standard__NativeArray
*)var8
)->values
[4]=var18
;
9428 var21
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
9430 ((struct instance_standard__NativeArray
*)var8
)->values
[1]=var21
;
9432 var22
= ((val
*(*)(val
* self
))(var_elttype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_elttype
); /* to_s on <var_elttype:MType>*/
9434 ((struct instance_standard__NativeArray
*)var8
)->values
[3]=var22
;
9436 var23
= ((val
*(*)(val
* self
))(var8
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var8
); /* native_to_s on <var8:NativeArray[String]>*/
9440 nit___nit__AbstractCompilerVisitor___add(self
, var23
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
9443 { /* Inline array#AbstractArrayRead#length (var_array) on <var_array:Array[RuntimeVariable]> */
9444 var26
= var_array
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_array:Array[RuntimeVariable]> */
9446 RET_LABEL25
:(void)0;
9450 var27
= nit___nit__AbstractCompilerVisitor___int_instance(self
, var24
);
9454 var28
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__native_array_instance
]))(self
, var_elttype
, var_length
); /* native_array_instance on <self:SeparateCompilerVisitor>*/
9459 { /* Inline array#AbstractArrayRead#length (var_array) on <var_array:Array[RuntimeVariable]> */
9460 var31
= var_array
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_array:Array[RuntimeVariable]> */
9462 RET_LABEL30
:(void)0;
9468 { /* Inline kernel#Int#< (var_i,var_32) on <var_i:Int> */
9469 /* Covariant cast for argument 0 (i) <var_32:Int> isa OTHER */
9470 /* <var_32:Int> isa OTHER */
9471 var35
= 1; /* easy <var_32:Int> isa OTHER*/
9472 if (unlikely(!var35
)) {
9473 var_class_name
= type_standard__Int
.name
;
9474 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
9475 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
9478 var36
= var_i
< var_32
;
9481 RET_LABEL34
:(void)0;
9486 var37
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array
, var_i
);
9489 var38
= nit___nit__AbstractCompilerVisitor___object_type(self
);
9492 var39
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__autobox(self
, var37
, var38
);
9495 if (unlikely(varonce40
==NULL
)) {
9496 var41
= NEW_standard__NativeArray(9l, &type_standard__NativeArray__standard__String
);
9497 if (likely(varonce42
!=NULL
)) {
9500 var44
= "((struct instance_";
9501 var45
= standard___standard__NativeString___to_s_with_length(var44
, 18l);
9505 ((struct instance_standard__NativeArray
*)var41
)->values
[0]=var43
;
9506 if (likely(varonce46
!=NULL
)) {
9510 var49
= standard___standard__NativeString___to_s_with_length(var48
, 2l);
9514 ((struct instance_standard__NativeArray
*)var41
)->values
[2]=var47
;
9515 if (likely(varonce50
!=NULL
)) {
9518 var52
= ")->values[";
9519 var53
= standard___standard__NativeString___to_s_with_length(var52
, 10l);
9523 ((struct instance_standard__NativeArray
*)var41
)->values
[4]=var51
;
9524 if (likely(varonce54
!=NULL
)) {
9527 var56
= "] = (val*) ";
9528 var57
= standard___standard__NativeString___to_s_with_length(var56
, 11l);
9532 ((struct instance_standard__NativeArray
*)var41
)->values
[6]=var55
;
9533 if (likely(varonce58
!=NULL
)) {
9537 var61
= standard___standard__NativeString___to_s_with_length(var60
, 1l);
9541 ((struct instance_standard__NativeArray
*)var41
)->values
[8]=var59
;
9547 var62
= nit___nit__MClass___nit__model_base__MEntity__c_name(var_nclass
);
9549 ((struct instance_standard__NativeArray
*)var41
)->values
[1]=var62
;
9551 var63
= ((val
*(*)(val
* self
))(var_nat
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_nat
); /* to_s on <var_nat:RuntimeVariable>*/
9553 ((struct instance_standard__NativeArray
*)var41
)->values
[3]=var63
;
9554 var64
= standard__string___Int___Object__to_s(var_i
);
9555 ((struct instance_standard__NativeArray
*)var41
)->values
[5]=var64
;
9557 var65
= ((val
*(*)(val
* self
))(var_r
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_r
); /* to_s on <var_r:RuntimeVariable>*/
9559 ((struct instance_standard__NativeArray
*)var41
)->values
[7]=var65
;
9561 var66
= ((val
*(*)(val
* self
))(var41
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var41
); /* native_to_s on <var41:NativeArray[String]>*/
9565 nit___nit__AbstractCompilerVisitor___add(self
, var66
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
9568 var67
= standard___standard__Int___Discrete__successor(var_i
, 1l);
9575 BREAK_label
: (void)0;
9576 if (likely(varonce68
!=NULL
)) {
9579 var70
= "with_native";
9580 var71
= standard___standard__NativeString___to_s_with_length(var70
, 11l);
9585 { /* Inline model#MClass#intro (var_arrayclass) on <var_arrayclass:MClass> */
9586 var74
= var_arrayclass
->attrs
[COLOR_nit__model__MClass___intro
].val
; /* _intro on <var_arrayclass:MClass> */
9587 if (unlikely(var74
== NULL
)) {
9588 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
9589 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 460);
9593 RET_LABEL73
:(void)0;
9597 { /* Inline model#MClassDef#bound_mtype (var72) on <var72:MClassDef> */
9598 var77
= var72
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var72:MClassDef> */
9599 if (unlikely(var77
== NULL
)) {
9600 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
9601 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
9605 RET_LABEL76
:(void)0;
9609 var78
= nit___nit__AbstractCompilerVisitor___get_property(self
, var69
, var75
);
9611 var79
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
9613 standard___standard__Array___with_capacity(var79
, 3l); /* Direct call array#Array#with_capacity on <var79:Array[RuntimeVariable]>*/
9617 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_80
, var_res
); /* Direct call array#AbstractArray#push on <var_80:Array[RuntimeVariable]>*/
9620 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_80
, var_nat
); /* Direct call array#AbstractArray#push on <var_80:Array[RuntimeVariable]>*/
9623 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_80
, var_length
); /* Direct call array#AbstractArray#push on <var_80:Array[RuntimeVariable]>*/
9626 var81
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(self
, var78
, var_80
);
9628 if (likely(varonce82
!=NULL
)) {
9632 var85
= standard___standard__NativeString___to_s_with_length(var84
, 1l);
9637 nit___nit__AbstractCompilerVisitor___add(self
, var83
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/