1 #include "separate_compiler.sep.0.h"
2 /* method separate_compiler#SeparateCompilerVisitor#table_send for (self: SeparateCompilerVisitor, MMethod, Array[RuntimeVariable], String): nullable RuntimeVariable */
3 val
* separate_compiler__SeparateCompilerVisitor__table_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4 val
* var
/* : nullable RuntimeVariable */;
5 val
* var_mmethod
/* var mmethod: MMethod */;
6 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
7 val
* var_const_color
/* var const_color: String */;
8 val
* var1
/* : AbstractCompiler */;
9 val
* var3
/* : AbstractCompiler */;
10 val
* var4
/* : ModelBuilder */;
11 val
* var6
/* : ModelBuilder */;
12 val
* var_
/* var : ModelBuilder */;
13 long var7
/* : Int */;
14 long var9
/* : Int */;
15 long var10
/* : Int */;
16 long var11
/* : Int */;
17 short int var13
/* : Bool */;
20 const char* var_class_name
;
21 long var14
/* : Int */;
22 val
* var16
/* : AbstractCompiler */;
23 val
* var18
/* : AbstractCompiler */;
24 val
* var19
/* : ModelBuilder */;
25 val
* var21
/* : ModelBuilder */;
26 val
* var22
/* : ToolContext */;
27 val
* var24
/* : ToolContext */;
28 val
* var25
/* : OptionBool */;
29 val
* var27
/* : OptionBool */;
30 val
* var28
/* : nullable Object */;
31 val
* var30
/* : nullable Object */;
32 short int var31
/* : Bool */;
34 val
* var32
/* : String */;
35 char* var33
/* : NativeString */;
36 long var34
/* : Int */;
37 val
* var35
/* : FlatString */;
38 long var36
/* : Int */;
39 val
* var37
/* : MPropDef */;
40 val
* var38
/* : nullable MSignature */;
41 val
* var40
/* : nullable MSignature */;
42 long var41
/* : Int */;
43 long var42
/* : Int */;
44 long var43
/* : Int */;
45 short int var45
/* : Bool */;
48 const char* var_class_name48
;
49 long var49
/* : Int */;
50 short int var50
/* : Bool */;
51 short int var51
/* : Bool */;
52 short int var53
/* : Bool */;
53 static val
* varonce54
;
54 val
* var55
/* : String */;
55 char* var56
/* : NativeString */;
56 long var57
/* : Int */;
57 val
* var58
/* : FlatString */;
58 static val
* varonce59
;
59 val
* var60
/* : String */;
60 char* var61
/* : NativeString */;
61 long var62
/* : Int */;
62 val
* var63
/* : FlatString */;
63 long var64
/* : Int */;
64 static val
* varonce65
;
65 val
* var66
/* : String */;
66 char* var67
/* : NativeString */;
67 long var68
/* : Int */;
68 val
* var69
/* : FlatString */;
69 val
* var70
/* : Array[Object] */;
70 long var71
/* : Int */;
71 val
* var72
/* : NativeArray[Object] */;
72 val
* var73
/* : Object */;
73 val
* var74
/* : String */;
74 val
* var75
/* : nullable Object */;
75 val
* var_recv
/* var recv: RuntimeVariable */;
76 val
* var76
/* : nullable RuntimeVariable */;
77 val
* var_res0
/* var res0: nullable RuntimeVariable */;
78 val
* var77
/* : MPropDef */;
79 val
* var78
/* : nullable MSignature */;
80 val
* var80
/* : nullable MSignature */;
81 val
* var81
/* : MPropDef */;
82 val
* var82
/* : MClassDef */;
83 val
* var84
/* : MClassDef */;
84 val
* var85
/* : MClassType */;
85 val
* var87
/* : MClassType */;
86 val
* var88
/* : MPropDef */;
87 val
* var89
/* : MClassDef */;
88 val
* var91
/* : MClassDef */;
89 val
* var92
/* : MClassType */;
90 val
* var94
/* : MClassType */;
91 val
* var95
/* : MPropDef */;
92 val
* var96
/* : MClassDef */;
93 val
* var98
/* : MClassDef */;
94 val
* var99
/* : MModule */;
95 val
* var101
/* : MModule */;
96 short int var102
/* : Bool */;
97 val
* var103
/* : MSignature */;
98 val
* var_msignature
/* var msignature: MSignature */;
99 val
* var104
/* : nullable MType */;
100 val
* var106
/* : nullable MType */;
101 val
* var_ret
/* var ret: nullable MType */;
102 short int var107
/* : Bool */;
103 short int var109
/* : Bool */;
104 val
* var110
/* : nullable Object */;
105 val
* var111
/* : MType */;
106 val
* var113
/* : MType */;
107 val
* var114
/* : RuntimeVariable */;
108 val
* var_res
/* var res: nullable RuntimeVariable */;
109 val
* var115
/* : null */;
110 short int var116
/* : Bool */;
111 short int var117
/* : Bool */;
112 val
* var_other
/* var other: nullable Object */;
113 short int var119
/* : Bool */;
114 short int var121
/* : Bool */;
115 val
* var122
/* : null */;
116 val
* var123
/* : RuntimeVariable */;
117 val
* var124
/* : FlatBuffer */;
118 val
* var_s
/* var s: FlatBuffer */;
119 val
* var125
/* : FlatBuffer */;
120 val
* var_ss
/* var ss: FlatBuffer */;
121 static val
* varonce126
;
122 val
* var127
/* : String */;
123 char* var128
/* : NativeString */;
124 long var129
/* : Int */;
125 val
* var130
/* : FlatString */;
126 val
* var131
/* : Array[Object] */;
127 long var132
/* : Int */;
128 val
* var133
/* : NativeArray[Object] */;
129 val
* var134
/* : String */;
130 val
* var135
/* : Range[Int] */;
131 long var136
/* : Int */;
132 long var137
/* : Int */;
133 val
* var138
/* : Discrete */;
134 val
* var139
/* : Discrete */;
135 val
* var140
/* : Iterator[Discrete] */;
136 short int var141
/* : Bool */;
137 val
* var142
/* : nullable Object */;
138 long var_i
/* var i: Int */;
139 long var143
/* : Int */;
140 long var144
/* : Int */;
141 long var145
/* : Int */;
142 short int var147
/* : Bool */;
145 const char* var_class_name150
;
146 long var151
/* : Int */;
147 val
* var152
/* : nullable Object */;
148 val
* var_a
/* var a: RuntimeVariable */;
149 val
* var153
/* : Array[MParameter] */;
150 val
* var155
/* : Array[MParameter] */;
151 val
* var156
/* : nullable Object */;
152 val
* var157
/* : MType */;
153 val
* var159
/* : MType */;
154 val
* var_t
/* var t: MType */;
155 long var160
/* : Int */;
156 long var162
/* : Int */;
157 short int var163
/* : Bool */;
158 short int var164
/* : Bool */;
159 short int var166
/* : Bool */;
160 long var167
/* : Int */;
161 long var168
/* : Int */;
162 short int var170
/* : Bool */;
165 const char* var_class_name173
;
166 long var174
/* : Int */;
167 val
* var175
/* : nullable Object */;
168 val
* var176
/* : MType */;
169 val
* var178
/* : MType */;
170 static val
* varonce179
;
171 val
* var180
/* : String */;
172 char* var181
/* : NativeString */;
173 long var182
/* : Int */;
174 val
* var183
/* : FlatString */;
175 val
* var184
/* : String */;
176 val
* var185
/* : Array[Object] */;
177 long var186
/* : Int */;
178 val
* var187
/* : NativeArray[Object] */;
179 val
* var188
/* : String */;
180 val
* var189
/* : RuntimeVariable */;
181 static val
* varonce190
;
182 val
* var191
/* : String */;
183 char* var192
/* : NativeString */;
184 long var193
/* : Int */;
185 val
* var194
/* : FlatString */;
186 val
* var195
/* : Array[Object] */;
187 long var196
/* : Int */;
188 val
* var197
/* : NativeArray[Object] */;
189 val
* var198
/* : String */;
190 val
* var199
/* : null */;
191 short int var200
/* : Bool */;
192 short int var201
/* : Bool */;
193 short int var203
/* : Bool */;
194 short int var205
/* : Bool */;
195 static val
* varonce206
;
196 val
* var207
/* : String */;
197 char* var208
/* : NativeString */;
198 long var209
/* : Int */;
199 val
* var210
/* : FlatString */;
200 val
* var_r
/* var r: nullable Object */;
201 val
* var211
/* : String */;
202 static val
* varonce212
;
203 val
* var213
/* : String */;
204 char* var214
/* : NativeString */;
205 long var215
/* : Int */;
206 val
* var216
/* : FlatString */;
207 static val
* varonce217
;
208 val
* var218
/* : String */;
209 char* var219
/* : NativeString */;
210 long var220
/* : Int */;
211 val
* var221
/* : FlatString */;
212 static val
* varonce222
;
213 val
* var223
/* : String */;
214 char* var224
/* : NativeString */;
215 long var225
/* : Int */;
216 val
* var226
/* : FlatString */;
217 val
* var227
/* : nullable Object */;
218 static val
* varonce228
;
219 val
* var229
/* : String */;
220 char* var230
/* : NativeString */;
221 long var231
/* : Int */;
222 val
* var232
/* : FlatString */;
223 static val
* varonce233
;
224 val
* var234
/* : String */;
225 char* var235
/* : NativeString */;
226 long var236
/* : Int */;
227 val
* var237
/* : FlatString */;
228 static val
* varonce238
;
229 val
* var239
/* : String */;
230 char* var240
/* : NativeString */;
231 long var241
/* : Int */;
232 val
* var242
/* : FlatString */;
233 static val
* varonce243
;
234 val
* var244
/* : String */;
235 char* var245
/* : NativeString */;
236 long var246
/* : Int */;
237 val
* var247
/* : FlatString */;
238 val
* var248
/* : nullable Object */;
239 val
* var249
/* : String */;
240 static val
* varonce250
;
241 val
* var251
/* : String */;
242 char* var252
/* : NativeString */;
243 long var253
/* : Int */;
244 val
* var254
/* : FlatString */;
245 val
* var255
/* : Array[Object] */;
246 long var256
/* : Int */;
247 val
* var257
/* : NativeArray[Object] */;
248 val
* var258
/* : String */;
249 val
* var_call
/* var call: String */;
250 val
* var259
/* : null */;
251 short int var260
/* : Bool */;
252 short int var261
/* : Bool */;
253 val
* var_other263
/* var other: nullable Object */;
254 short int var264
/* : Bool */;
255 short int var265
/* : Bool */;
256 short int var266
/* : Bool */;
257 static val
* varonce267
;
258 val
* var268
/* : String */;
259 char* var269
/* : NativeString */;
260 long var270
/* : Int */;
261 val
* var271
/* : FlatString */;
262 static val
* varonce272
;
263 val
* var273
/* : String */;
264 char* var274
/* : NativeString */;
265 long var275
/* : Int */;
266 val
* var276
/* : FlatString */;
267 val
* var277
/* : Array[Object] */;
268 long var278
/* : Int */;
269 val
* var279
/* : NativeArray[Object] */;
270 val
* var280
/* : String */;
271 static val
* varonce281
;
272 val
* var282
/* : String */;
273 char* var283
/* : NativeString */;
274 long var284
/* : Int */;
275 val
* var285
/* : FlatString */;
276 val
* var286
/* : Array[Object] */;
277 long var287
/* : Int */;
278 val
* var288
/* : NativeArray[Object] */;
279 val
* var289
/* : String */;
280 val
* var290
/* : null */;
281 short int var291
/* : Bool */;
282 short int var292
/* : Bool */;
283 short int var294
/* : Bool */;
284 short int var295
/* : Bool */;
285 short int var296
/* : Bool */;
286 val
* var297
/* : null */;
287 short int var298
/* : Bool */;
288 short int var299
/* : Bool */;
289 short int var301
/* : Bool */;
290 short int var302
/* : Bool */;
291 short int var303
/* : Bool */;
292 static val
* varonce304
;
293 val
* var305
/* : String */;
294 char* var306
/* : NativeString */;
295 long var307
/* : Int */;
296 val
* var308
/* : FlatString */;
299 var_const_color
= p2
;
301 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
302 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
303 if (unlikely(var3
== NULL
)) {
304 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
305 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
313 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var1) on <var1:AbstractCompiler(SeparateCompiler)> */
314 var6
= var1
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var1:AbstractCompiler(SeparateCompiler)> */
315 if (unlikely(var6
== NULL
)) {
316 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
317 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
326 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_tables (var_) on <var_:ModelBuilder> */
327 var9
= var_
->attrs
[COLOR_separate_compiler__ModelBuilder___nb_invok_by_tables
].l
; /* _nb_invok_by_tables on <var_:ModelBuilder> */
334 { /* Inline kernel#Int#+ (var7,var10) on <var7:Int> */
335 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
336 /* <var10:Int> isa OTHER */
337 var13
= 1; /* easy <var10:Int> isa OTHER*/
338 if (unlikely(!var13
)) {
339 var_class_name
= type_kernel__Int
.name
;
340 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
341 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
344 var14
= var7
+ var10
;
351 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_tables= (var_,var11) on <var_:ModelBuilder> */
352 var_
->attrs
[COLOR_separate_compiler__ModelBuilder___nb_invok_by_tables
].l
= var11
; /* _nb_invok_by_tables on <var_:ModelBuilder> */
357 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
358 var18
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
359 if (unlikely(var18
== NULL
)) {
360 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
361 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
369 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var16) on <var16:AbstractCompiler(SeparateCompiler)> */
370 var21
= var16
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var16:AbstractCompiler(SeparateCompiler)> */
371 if (unlikely(var21
== NULL
)) {
372 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
373 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
381 { /* Inline modelbuilder#ModelBuilder#toolcontext (var19) on <var19:ModelBuilder> */
382 var24
= var19
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var19:ModelBuilder> */
383 if (unlikely(var24
== NULL
)) {
384 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
385 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
393 { /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (var22) on <var22:ToolContext> */
394 var27
= var22
->attrs
[COLOR_abstract_compiler__ToolContext___opt_invocation_metrics
].val
; /* _opt_invocation_metrics on <var22:ToolContext> */
395 if (unlikely(var27
== NULL
)) {
396 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
397 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 58);
405 { /* Inline opts#Option#value (var25) on <var25:OptionBool> */
406 var30
= var25
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var25:OptionBool> */
411 var31
= ((struct instance_kernel__Bool
*)var28
)->value
; /* autounbox from nullable Object to Bool */;
416 var33
= "count_invoke_by_tables++;";
418 var35
= string__NativeString__to_s_with_length(var33
, var34
);
423 abstract_compiler__AbstractCompilerVisitor__add(self
, var32
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
428 var36
= array__AbstractArrayRead__length(var_arguments
);
431 var37
= model__MProperty__intro(var_mmethod
);
434 { /* Inline model#MMethodDef#msignature (var37) on <var37:MPropDef(MMethodDef)> */
435 var40
= var37
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var37:MPropDef(MMethodDef)> */
441 PRINT_ERROR("Runtime error: %s", "Receiver is null");
442 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 1063);
445 var41
= model__MSignature__arity(var38
);
449 { /* Inline kernel#Int#+ (var41,var42) on <var41:Int> */
450 /* Covariant cast for argument 0 (i) <var42:Int> isa OTHER */
451 /* <var42:Int> isa OTHER */
452 var45
= 1; /* easy <var42:Int> isa OTHER*/
453 if (unlikely(!var45
)) {
454 var_class_name48
= type_kernel__Int
.name
;
455 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48
);
456 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
459 var49
= var41
+ var42
;
466 { /* Inline kernel#Int#== (var36,var43) on <var36:Int> */
467 var53
= var36
== var43
;
474 if (unlikely(!var50
)) {
478 var56
= "Invalid arity for ";
480 var58
= string__NativeString__to_s_with_length(var56
, var57
);
489 var63
= string__NativeString__to_s_with_length(var61
, var62
);
494 var64
= array__AbstractArrayRead__length(var_arguments
);
499 var67
= " arguments given.";
501 var69
= string__NativeString__to_s_with_length(var67
, var68
);
505 var70
= NEW_array__Array(&type_array__Arraykernel__Object
);
506 { /* var70 = array_instance Array[Object] */
508 var72
= NEW_array__NativeArray(var71
, &type_array__NativeArraykernel__Object
);
509 ((struct instance_array__NativeArray
*)var72
)->values
[0] = (val
*) var55
;
510 ((struct instance_array__NativeArray
*)var72
)->values
[1] = (val
*) var_mmethod
;
511 ((struct instance_array__NativeArray
*)var72
)->values
[2] = (val
*) var60
;
512 var73
= BOX_kernel__Int(var64
); /* autobox from Int to Object */
513 ((struct instance_array__NativeArray
*)var72
)->values
[3] = (val
*) var73
;
514 ((struct instance_array__NativeArray
*)var72
)->values
[4] = (val
*) var66
;
516 ((void (*)(val
*, val
*, long))(var70
->class->vft
[COLOR_array__Array__with_native
]))(var70
, var72
, var71
) /* with_native on <var70:Array[Object]>*/;
520 var74
= ((val
* (*)(val
*))(var70
->class->vft
[COLOR_string__Object__to_s
]))(var70
) /* to_s on <var70:Array[Object]>*/;
523 abstract_compiler__AbstractCompilerVisitor__debug(self
, var74
); /* Direct call abstract_compiler#AbstractCompilerVisitor#debug on <self:SeparateCompilerVisitor>*/
525 PRINT_ERROR("Runtime error: %s", "Assert failed");
526 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 1063);
530 var75
= abstract_collection__SequenceRead__first(var_arguments
);
534 var76
= separate_compiler__SeparateCompilerVisitor__before_send(self
, var_mmethod
, var_arguments
);
538 var77
= model__MProperty__intro(var_mmethod
);
541 { /* Inline model#MMethodDef#msignature (var77) on <var77:MPropDef(MMethodDef)> */
542 var80
= var77
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var77:MPropDef(MMethodDef)> */
548 var81
= model__MProperty__intro(var_mmethod
);
551 { /* Inline model#MPropDef#mclassdef (var81) on <var81:MPropDef(MMethodDef)> */
552 var84
= var81
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var81:MPropDef(MMethodDef)> */
553 if (unlikely(var84
== NULL
)) {
554 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
555 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
563 { /* Inline model#MClassDef#bound_mtype (var82) on <var82:MClassDef> */
564 var87
= var82
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var82:MClassDef> */
565 if (unlikely(var87
== NULL
)) {
566 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
567 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
575 var88
= model__MProperty__intro(var_mmethod
);
578 { /* Inline model#MPropDef#mclassdef (var88) on <var88:MPropDef(MMethodDef)> */
579 var91
= var88
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var88:MPropDef(MMethodDef)> */
580 if (unlikely(var91
== NULL
)) {
581 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
582 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
590 { /* Inline model#MClassDef#bound_mtype (var89) on <var89:MClassDef> */
591 var94
= var89
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var89:MClassDef> */
592 if (unlikely(var94
== NULL
)) {
593 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
594 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
602 var95
= model__MProperty__intro(var_mmethod
);
605 { /* Inline model#MPropDef#mclassdef (var95) on <var95:MPropDef(MMethodDef)> */
606 var98
= var95
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var95:MPropDef(MMethodDef)> */
607 if (unlikely(var98
== NULL
)) {
608 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
609 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
617 { /* Inline model#MClassDef#mmodule (var96) on <var96:MClassDef> */
618 var101
= var96
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var96:MClassDef> */
619 if (unlikely(var101
== NULL
)) {
620 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
621 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
625 RET_LABEL100
:(void)0;
630 PRINT_ERROR("Runtime error: %s", "Receiver is null");
631 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 1069);
634 var103
= model__MSignature__resolve_for(var78
, var85
, var92
, var99
, var102
);
636 var_msignature
= var103
;
638 { /* Inline model#MSignature#return_mtype (var_msignature) on <var_msignature:MSignature> */
639 var106
= var_msignature
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <var_msignature:MSignature> */
641 RET_LABEL105
:(void)0;
646 { /* Inline model#MMethod#is_new (var_mmethod) on <var_mmethod:MMethod> */
647 var109
= var_mmethod
->attrs
[COLOR_model__MMethod___is_new
].s
; /* _is_new on <var_mmethod:MMethod> */
649 RET_LABEL108
:(void)0;
654 var110
= abstract_collection__SequenceRead__first(var_arguments
);
657 { /* Inline abstract_compiler#RuntimeVariable#mtype (var110) on <var110:nullable Object(RuntimeVariable)> */
658 var113
= var110
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var110:nullable Object(RuntimeVariable)> */
659 if (unlikely(var113
== NULL
)) {
660 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
661 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
665 RET_LABEL112
:(void)0;
670 var114
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var_ret
);
675 if (var_ret
== NULL
) {
676 var116
= 1; /* is null */
678 var116
= 0; /* arg is null but recv is not */
681 { /* Inline kernel#Object#== (var_ret,var115) on <var_ret:nullable MType> */
684 { /* Inline kernel#Object#is_same_instance (var_ret,var_other) on <var_ret:nullable MType(MType)> */
685 var121
= var_ret
== var_other
;
688 RET_LABEL120
:(void)0;
693 RET_LABEL118
:(void)0;
702 var123
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var_ret
);
707 var124
= NEW_string__FlatBuffer(&type_string__FlatBuffer
);
709 string__FlatBuffer__init(var124
); /* Direct call string#FlatBuffer#init on <var124:FlatBuffer>*/
712 var125
= NEW_string__FlatBuffer(&type_string__FlatBuffer
);
714 string__FlatBuffer__init(var125
); /* Direct call string#FlatBuffer#init on <var125:FlatBuffer>*/
722 var130
= string__NativeString__to_s_with_length(var128
, var129
);
727 string__FlatBuffer__append(var_s
, var127
); /* Direct call string#FlatBuffer#append on <var_s:FlatBuffer>*/
729 var131
= NEW_array__Array(&type_array__Arraykernel__Object
);
730 { /* var131 = array_instance Array[Object] */
732 var133
= NEW_array__NativeArray(var132
, &type_array__NativeArraykernel__Object
);
733 ((struct instance_array__NativeArray
*)var133
)->values
[0] = (val
*) var_recv
;
735 ((void (*)(val
*, val
*, long))(var131
->class->vft
[COLOR_array__Array__with_native
]))(var131
, var133
, var132
) /* with_native on <var131:Array[Object]>*/;
739 var134
= ((val
* (*)(val
*))(var131
->class->vft
[COLOR_string__Object__to_s
]))(var131
) /* to_s on <var131:Array[Object]>*/;
742 string__FlatBuffer__append(var_ss
, var134
); /* Direct call string#FlatBuffer#append on <var_ss:FlatBuffer>*/
744 var135
= NEW_range__Range(&type_range__Rangekernel__Int
);
747 var137
= model__MSignature__arity(var_msignature
);
750 var138
= BOX_kernel__Int(var136
); /* autobox from Int to Discrete */
751 var139
= BOX_kernel__Int(var137
); /* autobox from Int to Discrete */
752 range__Range__without_last(var135
, var138
, var139
); /* Direct call range#Range#without_last on <var135:Range[Int]>*/
755 var140
= range__Range__iterator(var135
);
759 var141
= ((short int (*)(val
*))(var140
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var140
) /* is_ok on <var140:Iterator[Discrete]>*/;
763 var142
= ((val
* (*)(val
*))(var140
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var140
) /* item on <var140:Iterator[Discrete]>*/;
765 var143
= ((struct instance_kernel__Int
*)var142
)->value
; /* autounbox from nullable Object to Int */;
769 { /* Inline kernel#Int#+ (var_i,var144) on <var_i:Int> */
770 /* Covariant cast for argument 0 (i) <var144:Int> isa OTHER */
771 /* <var144:Int> isa OTHER */
772 var147
= 1; /* easy <var144:Int> isa OTHER*/
773 if (unlikely(!var147
)) {
774 var_class_name150
= type_kernel__Int
.name
;
775 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name150
);
776 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
779 var151
= var_i
+ var144
;
782 RET_LABEL146
:(void)0;
786 var152
= array__Array___91d_93d(var_arguments
, var145
);
790 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:MSignature> */
791 var155
= var_msignature
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
792 if (unlikely(var155
== NULL
)) {
793 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
794 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
798 RET_LABEL154
:(void)0;
802 var156
= array__Array___91d_93d(var153
, var_i
);
805 { /* Inline model#MParameter#mtype (var156) on <var156:nullable Object(MParameter)> */
806 var159
= var156
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var156:nullable Object(MParameter)> */
807 if (unlikely(var159
== NULL
)) {
808 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
809 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
813 RET_LABEL158
:(void)0;
818 { /* Inline model#MSignature#vararg_rank (var_msignature) on <var_msignature:MSignature> */
819 var162
= var_msignature
->attrs
[COLOR_model__MSignature___vararg_rank
].l
; /* _vararg_rank on <var_msignature:MSignature> */
821 RET_LABEL161
:(void)0;
825 { /* Inline kernel#Int#== (var_i,var160) on <var_i:Int> */
826 var166
= var_i
== var160
;
829 RET_LABEL165
:(void)0;
836 { /* Inline kernel#Int#+ (var_i,var167) on <var_i:Int> */
837 /* Covariant cast for argument 0 (i) <var167:Int> isa OTHER */
838 /* <var167:Int> isa OTHER */
839 var170
= 1; /* easy <var167:Int> isa OTHER*/
840 if (unlikely(!var170
)) {
841 var_class_name173
= type_kernel__Int
.name
;
842 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name173
);
843 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
846 var174
= var_i
+ var167
;
849 RET_LABEL169
:(void)0;
853 var175
= array__Array___91d_93d(var_arguments
, var168
);
856 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var175) on <var175:nullable Object(RuntimeVariable)> */
857 var178
= var175
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var175:nullable Object(RuntimeVariable)> */
858 if (unlikely(var178
== NULL
)) {
859 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
860 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1487);
864 RET_LABEL177
:(void)0;
875 var183
= string__NativeString__to_s_with_length(var181
, var182
);
880 var184
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_t
) /* ctype on <var_t:MType>*/;
882 var185
= NEW_array__Array(&type_array__Arraykernel__Object
);
883 { /* var185 = array_instance Array[Object] */
885 var187
= NEW_array__NativeArray(var186
, &type_array__NativeArraykernel__Object
);
886 ((struct instance_array__NativeArray
*)var187
)->values
[0] = (val
*) var180
;
887 ((struct instance_array__NativeArray
*)var187
)->values
[1] = (val
*) var184
;
889 ((void (*)(val
*, val
*, long))(var185
->class->vft
[COLOR_array__Array__with_native
]))(var185
, var187
, var186
) /* with_native on <var185:Array[Object]>*/;
893 var188
= ((val
* (*)(val
*))(var185
->class->vft
[COLOR_string__Object__to_s
]))(var185
) /* to_s on <var185:Array[Object]>*/;
896 string__FlatBuffer__append(var_s
, var188
); /* Direct call string#FlatBuffer#append on <var_s:FlatBuffer>*/
899 var189
= separate_compiler__SeparateCompilerVisitor__autobox(self
, var_a
, var_t
);
907 var194
= string__NativeString__to_s_with_length(var192
, var193
);
911 var195
= NEW_array__Array(&type_array__Arraykernel__Object
);
912 { /* var195 = array_instance Array[Object] */
914 var197
= NEW_array__NativeArray(var196
, &type_array__NativeArraykernel__Object
);
915 ((struct instance_array__NativeArray
*)var197
)->values
[0] = (val
*) var191
;
916 ((struct instance_array__NativeArray
*)var197
)->values
[1] = (val
*) var_a
;
918 ((void (*)(val
*, val
*, long))(var195
->class->vft
[COLOR_array__Array__with_native
]))(var195
, var197
, var196
) /* with_native on <var195:Array[Object]>*/;
922 var198
= ((val
* (*)(val
*))(var195
->class->vft
[COLOR_string__Object__to_s
]))(var195
) /* to_s on <var195:Array[Object]>*/;
925 string__FlatBuffer__append(var_ss
, var198
); /* Direct call string#FlatBuffer#append on <var_ss:FlatBuffer>*/
927 CONTINUE_label
: (void)0;
929 ((void (*)(val
*))(var140
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var140
) /* next on <var140:Iterator[Discrete]>*/;
932 BREAK_label
: (void)0;
934 if (var_ret
== NULL
) {
935 var200
= 1; /* is null */
937 var200
= 0; /* arg is null but recv is not */
940 { /* Inline kernel#Object#== (var_ret,var199) on <var_ret:nullable MType> */
943 { /* Inline kernel#Object#is_same_instance (var_ret,var_other) on <var_ret:nullable MType(MType)> */
944 var205
= var_ret
== var_other
;
947 RET_LABEL204
:(void)0;
952 RET_LABEL202
:(void)0;
962 var210
= string__NativeString__to_s_with_length(var208
, var209
);
969 var211
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:nullable MType(MType)>*/;
974 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var_const_color
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
981 var216
= string__NativeString__to_s_with_length(var214
, var215
);
990 var221
= string__NativeString__to_s_with_length(var219
, var220
);
999 var226
= string__NativeString__to_s_with_length(var224
, var225
);
1001 varonce222
= var223
;
1004 var227
= abstract_collection__SequenceRead__first(var_arguments
);
1007 var229
= varonce228
;
1009 var230
= "->class->vft[";
1011 var232
= string__NativeString__to_s_with_length(var230
, var231
);
1013 varonce228
= var229
;
1016 var234
= varonce233
;
1020 var237
= string__NativeString__to_s_with_length(var235
, var236
);
1022 varonce233
= var234
;
1025 var239
= varonce238
;
1029 var242
= string__NativeString__to_s_with_length(var240
, var241
);
1031 varonce238
= var239
;
1034 var244
= varonce243
;
1038 var247
= string__NativeString__to_s_with_length(var245
, var246
);
1040 varonce243
= var244
;
1043 var248
= abstract_collection__SequenceRead__first(var_arguments
);
1046 var249
= abstract_compiler__RuntimeVariable__inspect(var248
);
1049 var251
= varonce250
;
1053 var254
= string__NativeString__to_s_with_length(var252
, var253
);
1055 varonce250
= var251
;
1057 var255
= NEW_array__Array(&type_array__Arraykernel__Object
);
1058 { /* var255 = array_instance Array[Object] */
1060 var257
= NEW_array__NativeArray(var256
, &type_array__NativeArraykernel__Object
);
1061 ((struct instance_array__NativeArray
*)var257
)->values
[0] = (val
*) var213
;
1062 ((struct instance_array__NativeArray
*)var257
)->values
[1] = (val
*) var_r
;
1063 ((struct instance_array__NativeArray
*)var257
)->values
[2] = (val
*) var218
;
1064 ((struct instance_array__NativeArray
*)var257
)->values
[3] = (val
*) var_s
;
1065 ((struct instance_array__NativeArray
*)var257
)->values
[4] = (val
*) var223
;
1066 ((struct instance_array__NativeArray
*)var257
)->values
[5] = (val
*) var227
;
1067 ((struct instance_array__NativeArray
*)var257
)->values
[6] = (val
*) var229
;
1068 ((struct instance_array__NativeArray
*)var257
)->values
[7] = (val
*) var_const_color
;
1069 ((struct instance_array__NativeArray
*)var257
)->values
[8] = (val
*) var234
;
1070 ((struct instance_array__NativeArray
*)var257
)->values
[9] = (val
*) var_ss
;
1071 ((struct instance_array__NativeArray
*)var257
)->values
[10] = (val
*) var239
;
1072 ((struct instance_array__NativeArray
*)var257
)->values
[11] = (val
*) var_mmethod
;
1073 ((struct instance_array__NativeArray
*)var257
)->values
[12] = (val
*) var244
;
1074 ((struct instance_array__NativeArray
*)var257
)->values
[13] = (val
*) var249
;
1075 ((struct instance_array__NativeArray
*)var257
)->values
[14] = (val
*) var251
;
1077 ((void (*)(val
*, val
*, long))(var255
->class->vft
[COLOR_array__Array__with_native
]))(var255
, var257
, var256
) /* with_native on <var255:Array[Object]>*/;
1081 var258
= ((val
* (*)(val
*))(var255
->class->vft
[COLOR_string__Object__to_s
]))(var255
) /* to_s on <var255:Array[Object]>*/;
1085 if (var_res
== NULL
) {
1086 var260
= 0; /* is null */
1088 var260
= 1; /* arg is null and recv is not */
1091 { /* Inline kernel#Object#!= (var_res,var259) on <var_res:nullable RuntimeVariable> */
1092 var_other263
= var259
;
1094 var265
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other263
) /* == on <var_res:nullable RuntimeVariable(RuntimeVariable)>*/;
1100 RET_LABEL262
:(void)0;
1106 var268
= varonce267
;
1110 var271
= string__NativeString__to_s_with_length(var269
, var270
);
1112 varonce267
= var268
;
1115 var273
= varonce272
;
1119 var276
= string__NativeString__to_s_with_length(var274
, var275
);
1121 varonce272
= var273
;
1123 var277
= NEW_array__Array(&type_array__Arraykernel__Object
);
1124 { /* var277 = array_instance Array[Object] */
1126 var279
= NEW_array__NativeArray(var278
, &type_array__NativeArraykernel__Object
);
1127 ((struct instance_array__NativeArray
*)var279
)->values
[0] = (val
*) var_res
;
1128 ((struct instance_array__NativeArray
*)var279
)->values
[1] = (val
*) var268
;
1129 ((struct instance_array__NativeArray
*)var279
)->values
[2] = (val
*) var_call
;
1130 ((struct instance_array__NativeArray
*)var279
)->values
[3] = (val
*) var273
;
1132 ((void (*)(val
*, val
*, long))(var277
->class->vft
[COLOR_array__Array__with_native
]))(var277
, var279
, var278
) /* with_native on <var277:Array[Object]>*/;
1136 var280
= ((val
* (*)(val
*))(var277
->class->vft
[COLOR_string__Object__to_s
]))(var277
) /* to_s on <var277:Array[Object]>*/;
1139 abstract_compiler__AbstractCompilerVisitor__add(self
, var280
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1143 var282
= varonce281
;
1147 var285
= string__NativeString__to_s_with_length(var283
, var284
);
1149 varonce281
= var282
;
1151 var286
= NEW_array__Array(&type_array__Arraykernel__Object
);
1152 { /* var286 = array_instance Array[Object] */
1154 var288
= NEW_array__NativeArray(var287
, &type_array__NativeArraykernel__Object
);
1155 ((struct instance_array__NativeArray
*)var288
)->values
[0] = (val
*) var_call
;
1156 ((struct instance_array__NativeArray
*)var288
)->values
[1] = (val
*) var282
;
1158 ((void (*)(val
*, val
*, long))(var286
->class->vft
[COLOR_array__Array__with_native
]))(var286
, var288
, var287
) /* with_native on <var286:Array[Object]>*/;
1162 var289
= ((val
* (*)(val
*))(var286
->class->vft
[COLOR_string__Object__to_s
]))(var286
) /* to_s on <var286:Array[Object]>*/;
1165 abstract_compiler__AbstractCompilerVisitor__add(self
, var289
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1169 if (var_res0
== NULL
) {
1170 var291
= 0; /* is null */
1172 var291
= 1; /* arg is null and recv is not */
1175 { /* Inline kernel#Object#!= (var_res0,var290) on <var_res0:nullable RuntimeVariable> */
1176 var_other263
= var290
;
1178 var295
= ((short int (*)(val
*, val
*))(var_res0
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res0
, var_other263
) /* == on <var_res0:nullable RuntimeVariable(RuntimeVariable)>*/;
1184 RET_LABEL293
:(void)0;
1190 if (var_res
== NULL
) {
1191 var298
= 0; /* is null */
1193 var298
= 1; /* arg is null and recv is not */
1196 { /* Inline kernel#Object#!= (var_res,var297) on <var_res:nullable RuntimeVariable> */
1197 var_other263
= var297
;
1199 var302
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other263
) /* == on <var_res:nullable RuntimeVariable(RuntimeVariable)>*/;
1205 RET_LABEL300
:(void)0;
1209 if (unlikely(!var298
)) {
1210 PRINT_ERROR("Runtime error: %s", "Assert failed");
1211 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 1109);
1215 abstract_compiler__AbstractCompilerVisitor__assign(self
, var_res0
, var_res
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <self:SeparateCompilerVisitor>*/
1221 var305
= varonce304
;
1225 var308
= string__NativeString__to_s_with_length(var306
, var307
);
1227 varonce304
= var305
;
1230 abstract_compiler__AbstractCompilerVisitor__add(self
, var305
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1237 /* method separate_compiler#SeparateCompilerVisitor#table_send for (self: Object, MMethod, Array[RuntimeVariable], String): nullable RuntimeVariable */
1238 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__table_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1239 val
* var
/* : nullable RuntimeVariable */;
1240 val
* var1
/* : nullable RuntimeVariable */;
1241 var1
= separate_compiler__SeparateCompilerVisitor__table_send(self
, p0
, p1
, p2
);
1246 /* method separate_compiler#SeparateCompilerVisitor#call for (self: SeparateCompilerVisitor, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
1247 val
* separate_compiler__SeparateCompilerVisitor__call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1248 val
* var
/* : nullable RuntimeVariable */;
1249 val
* var_mmethoddef
/* var mmethoddef: MMethodDef */;
1250 val
* var_recvtype
/* var recvtype: MClassType */;
1251 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
1252 long var1
/* : Int */;
1253 val
* var2
/* : nullable MSignature */;
1254 val
* var4
/* : nullable MSignature */;
1255 long var5
/* : Int */;
1256 long var6
/* : Int */;
1257 long var7
/* : Int */;
1258 short int var9
/* : Bool */;
1261 const char* var_class_name
;
1262 long var10
/* : Int */;
1263 short int var11
/* : Bool */;
1264 short int var12
/* : Bool */;
1265 short int var14
/* : Bool */;
1266 static val
* varonce
;
1267 val
* var15
/* : String */;
1268 char* var16
/* : NativeString */;
1269 long var17
/* : Int */;
1270 val
* var18
/* : FlatString */;
1271 static val
* varonce19
;
1272 val
* var20
/* : String */;
1273 char* var21
/* : NativeString */;
1274 long var22
/* : Int */;
1275 val
* var23
/* : FlatString */;
1276 long var24
/* : Int */;
1277 static val
* varonce25
;
1278 val
* var26
/* : String */;
1279 char* var27
/* : NativeString */;
1280 long var28
/* : Int */;
1281 val
* var29
/* : FlatString */;
1282 val
* var30
/* : Array[Object] */;
1283 long var31
/* : Int */;
1284 val
* var32
/* : NativeArray[Object] */;
1285 val
* var33
/* : Object */;
1286 val
* var34
/* : String */;
1287 val
* var35
/* : nullable MSignature */;
1288 val
* var37
/* : nullable MSignature */;
1289 val
* var38
/* : nullable MType */;
1290 val
* var40
/* : nullable MType */;
1291 val
* var_ret
/* var ret: nullable MType */;
1292 val
* var41
/* : MProperty */;
1293 val
* var43
/* : MProperty */;
1294 short int var44
/* : Bool */;
1295 short int var46
/* : Bool */;
1296 val
* var47
/* : nullable Object */;
1297 val
* var48
/* : MType */;
1298 val
* var50
/* : MType */;
1299 val
* var51
/* : RuntimeVariable */;
1300 val
* var_res
/* var res: nullable RuntimeVariable */;
1301 val
* var52
/* : null */;
1302 short int var53
/* : Bool */;
1303 short int var54
/* : Bool */;
1304 val
* var_other
/* var other: nullable Object */;
1305 short int var56
/* : Bool */;
1306 short int var58
/* : Bool */;
1307 val
* var59
/* : null */;
1308 val
* var60
/* : MClassDef */;
1309 val
* var62
/* : MClassDef */;
1310 val
* var63
/* : MClassType */;
1311 val
* var65
/* : MClassType */;
1312 val
* var66
/* : MClassDef */;
1313 val
* var68
/* : MClassDef */;
1314 val
* var69
/* : MClassType */;
1315 val
* var71
/* : MClassType */;
1316 val
* var72
/* : MClassDef */;
1317 val
* var74
/* : MClassDef */;
1318 val
* var75
/* : MModule */;
1319 val
* var77
/* : MModule */;
1320 short int var78
/* : Bool */;
1321 val
* var79
/* : MType */;
1322 val
* var80
/* : RuntimeVariable */;
1323 short int var81
/* : Bool */;
1324 short int var82
/* : Bool */;
1325 short int var83
/* : Bool */;
1326 short int var85
/* : Bool */;
1327 short int var_
/* var : Bool */;
1328 val
* var86
/* : AbstractCompiler */;
1329 val
* var88
/* : AbstractCompiler */;
1330 val
* var89
/* : ModelBuilder */;
1331 val
* var91
/* : ModelBuilder */;
1332 val
* var92
/* : ToolContext */;
1333 val
* var94
/* : ToolContext */;
1334 val
* var95
/* : OptionBool */;
1335 val
* var97
/* : OptionBool */;
1336 val
* var98
/* : nullable Object */;
1337 val
* var100
/* : nullable Object */;
1338 short int var101
/* : Bool */;
1339 short int var102
/* : Bool */;
1340 short int var_103
/* var : Bool */;
1341 short int var104
/* : Bool */;
1342 val
* var105
/* : AbstractCompiler */;
1343 val
* var107
/* : AbstractCompiler */;
1344 val
* var108
/* : ModelBuilder */;
1345 val
* var110
/* : ModelBuilder */;
1346 val
* var111
/* : ToolContext */;
1347 val
* var113
/* : ToolContext */;
1348 val
* var114
/* : OptionBool */;
1349 val
* var116
/* : OptionBool */;
1350 val
* var117
/* : nullable Object */;
1351 val
* var119
/* : nullable Object */;
1352 short int var120
/* : Bool */;
1353 short int var_121
/* var : Bool */;
1354 short int var122
/* : Bool */;
1355 val
* var123
/* : AbstractCompiler */;
1356 val
* var125
/* : AbstractCompiler */;
1357 val
* var126
/* : ModelBuilder */;
1358 val
* var128
/* : ModelBuilder */;
1359 val
* var_129
/* var : ModelBuilder */;
1360 long var130
/* : Int */;
1361 long var132
/* : Int */;
1362 long var133
/* : Int */;
1363 long var134
/* : Int */;
1364 short int var136
/* : Bool */;
1367 const char* var_class_name139
;
1368 long var140
/* : Int */;
1369 val
* var142
/* : AbstractCompiler */;
1370 val
* var144
/* : AbstractCompiler */;
1371 val
* var145
/* : ModelBuilder */;
1372 val
* var147
/* : ModelBuilder */;
1373 val
* var148
/* : ToolContext */;
1374 val
* var150
/* : ToolContext */;
1375 val
* var151
/* : OptionBool */;
1376 val
* var153
/* : OptionBool */;
1377 val
* var154
/* : nullable Object */;
1378 val
* var156
/* : nullable Object */;
1379 short int var157
/* : Bool */;
1380 static val
* varonce158
;
1381 val
* var159
/* : String */;
1382 char* var160
/* : NativeString */;
1383 long var161
/* : Int */;
1384 val
* var162
/* : FlatString */;
1385 val
* var163
/* : Frame */;
1386 short int var165
/* : Bool */;
1389 const struct type
* type_struct
;
1390 const char* var_class_name168
;
1391 val
* var_frame
/* var frame: Frame */;
1392 static val
* varonce169
;
1393 val
* var170
/* : String */;
1394 char* var171
/* : NativeString */;
1395 long var172
/* : Int */;
1396 val
* var173
/* : FlatString */;
1397 val
* var174
/* : String */;
1398 val
* var177
/* : nullable Frame */;
1399 val
* var179
/* : nullable Frame */;
1400 val
* var_old_frame
/* var old_frame: nullable Frame */;
1401 static val
* varonce181
;
1402 val
* var182
/* : String */;
1403 char* var183
/* : NativeString */;
1404 long var184
/* : Int */;
1405 val
* var185
/* : FlatString */;
1406 static val
* varonce186
;
1407 val
* var187
/* : String */;
1408 char* var188
/* : NativeString */;
1409 long var189
/* : Int */;
1410 val
* var190
/* : FlatString */;
1411 static val
* varonce191
;
1412 val
* var192
/* : String */;
1413 char* var193
/* : NativeString */;
1414 long var194
/* : Int */;
1415 val
* var195
/* : FlatString */;
1416 val
* var196
/* : String */;
1417 static val
* varonce197
;
1418 val
* var198
/* : String */;
1419 char* var199
/* : NativeString */;
1420 long var200
/* : Int */;
1421 val
* var201
/* : FlatString */;
1422 val
* var202
/* : nullable Object */;
1423 val
* var203
/* : String */;
1424 static val
* varonce204
;
1425 val
* var205
/* : String */;
1426 char* var206
/* : NativeString */;
1427 long var207
/* : Int */;
1428 val
* var208
/* : FlatString */;
1429 val
* var209
/* : Array[Object] */;
1430 long var210
/* : Int */;
1431 val
* var211
/* : NativeArray[Object] */;
1432 val
* var212
/* : String */;
1433 val
* var213
/* : nullable RuntimeVariable */;
1434 val
* var214
/* : nullable String */;
1435 val
* var216
/* : nullable String */;
1436 static val
* varonce217
;
1437 val
* var218
/* : String */;
1438 char* var219
/* : NativeString */;
1439 long var220
/* : Int */;
1440 val
* var221
/* : FlatString */;
1441 val
* var222
/* : Array[Object] */;
1442 long var223
/* : Int */;
1443 val
* var224
/* : NativeArray[Object] */;
1444 val
* var225
/* : String */;
1445 static val
* varonce226
;
1446 val
* var227
/* : String */;
1447 char* var228
/* : NativeString */;
1448 long var229
/* : Int */;
1449 val
* var230
/* : FlatString */;
1450 val
* var232
/* : AbstractCompiler */;
1451 val
* var234
/* : AbstractCompiler */;
1452 val
* var235
/* : ModelBuilder */;
1453 val
* var237
/* : ModelBuilder */;
1454 val
* var_238
/* var : ModelBuilder */;
1455 long var239
/* : Int */;
1456 long var241
/* : Int */;
1457 long var242
/* : Int */;
1458 long var243
/* : Int */;
1459 short int var245
/* : Bool */;
1462 const char* var_class_name248
;
1463 long var249
/* : Int */;
1464 val
* var251
/* : AbstractCompiler */;
1465 val
* var253
/* : AbstractCompiler */;
1466 val
* var254
/* : ModelBuilder */;
1467 val
* var256
/* : ModelBuilder */;
1468 val
* var257
/* : ToolContext */;
1469 val
* var259
/* : ToolContext */;
1470 val
* var260
/* : OptionBool */;
1471 val
* var262
/* : OptionBool */;
1472 val
* var263
/* : nullable Object */;
1473 val
* var265
/* : nullable Object */;
1474 short int var266
/* : Bool */;
1475 static val
* varonce267
;
1476 val
* var268
/* : String */;
1477 char* var269
/* : NativeString */;
1478 long var270
/* : Int */;
1479 val
* var271
/* : FlatString */;
1480 val
* var272
/* : String */;
1481 val
* var273
/* : null */;
1482 short int var274
/* : Bool */;
1483 short int var275
/* : Bool */;
1484 short int var277
/* : Bool */;
1485 short int var279
/* : Bool */;
1486 val
* var280
/* : String */;
1487 static val
* varonce281
;
1488 val
* var282
/* : String */;
1489 char* var283
/* : NativeString */;
1490 long var284
/* : Int */;
1491 val
* var285
/* : FlatString */;
1492 static val
* varonce286
;
1493 val
* var287
/* : String */;
1494 char* var288
/* : NativeString */;
1495 long var289
/* : Int */;
1496 val
* var290
/* : FlatString */;
1497 val
* var291
/* : String */;
1498 static val
* varonce292
;
1499 val
* var293
/* : String */;
1500 char* var294
/* : NativeString */;
1501 long var295
/* : Int */;
1502 val
* var296
/* : FlatString */;
1503 static val
* varonce297
;
1504 val
* var298
/* : String */;
1505 char* var299
/* : NativeString */;
1506 long var300
/* : Int */;
1507 val
* var301
/* : FlatString */;
1508 val
* var302
/* : nullable Object */;
1509 val
* var303
/* : String */;
1510 static val
* varonce304
;
1511 val
* var305
/* : String */;
1512 char* var306
/* : NativeString */;
1513 long var307
/* : Int */;
1514 val
* var308
/* : FlatString */;
1515 val
* var309
/* : Array[Object] */;
1516 long var310
/* : Int */;
1517 val
* var311
/* : NativeArray[Object] */;
1518 val
* var312
/* : String */;
1519 val
* var313
/* : null */;
1520 static val
* varonce314
;
1521 val
* var315
/* : String */;
1522 char* var316
/* : NativeString */;
1523 long var317
/* : Int */;
1524 val
* var318
/* : FlatString */;
1525 val
* var319
/* : String */;
1526 static val
* varonce320
;
1527 val
* var321
/* : String */;
1528 char* var322
/* : NativeString */;
1529 long var323
/* : Int */;
1530 val
* var324
/* : FlatString */;
1531 static val
* varonce325
;
1532 val
* var326
/* : String */;
1533 char* var327
/* : NativeString */;
1534 long var328
/* : Int */;
1535 val
* var329
/* : FlatString */;
1536 val
* var330
/* : String */;
1537 static val
* varonce331
;
1538 val
* var332
/* : String */;
1539 char* var333
/* : NativeString */;
1540 long var334
/* : Int */;
1541 val
* var335
/* : FlatString */;
1542 val
* var336
/* : Array[Object] */;
1543 long var337
/* : Int */;
1544 val
* var338
/* : NativeArray[Object] */;
1545 val
* var339
/* : String */;
1546 var_mmethoddef
= p0
;
1550 var1
= array__AbstractArrayRead__length(var_arguments
);
1553 { /* Inline model#MMethodDef#msignature (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
1554 var4
= var_mmethoddef
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var_mmethoddef:MMethodDef> */
1560 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1561 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 1121);
1564 var5
= model__MSignature__arity(var2
);
1568 { /* Inline kernel#Int#+ (var5,var6) on <var5:Int> */
1569 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
1570 /* <var6:Int> isa OTHER */
1571 var9
= 1; /* easy <var6:Int> isa OTHER*/
1572 if (unlikely(!var9
)) {
1573 var_class_name
= type_kernel__Int
.name
;
1574 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1575 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
1578 var10
= var5
+ var6
;
1585 { /* Inline kernel#Int#== (var1,var7) on <var1:Int> */
1586 var14
= var1
== var7
;
1589 RET_LABEL13
:(void)0;
1593 if (unlikely(!var11
)) {
1597 var16
= "Invalid arity for ";
1599 var18
= string__NativeString__to_s_with_length(var16
, var17
);
1608 var23
= string__NativeString__to_s_with_length(var21
, var22
);
1613 var24
= array__AbstractArrayRead__length(var_arguments
);
1618 var27
= " arguments given.";
1620 var29
= string__NativeString__to_s_with_length(var27
, var28
);
1624 var30
= NEW_array__Array(&type_array__Arraykernel__Object
);
1625 { /* var30 = array_instance Array[Object] */
1627 var32
= NEW_array__NativeArray(var31
, &type_array__NativeArraykernel__Object
);
1628 ((struct instance_array__NativeArray
*)var32
)->values
[0] = (val
*) var15
;
1629 ((struct instance_array__NativeArray
*)var32
)->values
[1] = (val
*) var_mmethoddef
;
1630 ((struct instance_array__NativeArray
*)var32
)->values
[2] = (val
*) var20
;
1631 var33
= BOX_kernel__Int(var24
); /* autobox from Int to Object */
1632 ((struct instance_array__NativeArray
*)var32
)->values
[3] = (val
*) var33
;
1633 ((struct instance_array__NativeArray
*)var32
)->values
[4] = (val
*) var26
;
1635 ((void (*)(val
*, val
*, long))(var30
->class->vft
[COLOR_array__Array__with_native
]))(var30
, var32
, var31
) /* with_native on <var30:Array[Object]>*/;
1639 var34
= ((val
* (*)(val
*))(var30
->class->vft
[COLOR_string__Object__to_s
]))(var30
) /* to_s on <var30:Array[Object]>*/;
1642 abstract_compiler__AbstractCompilerVisitor__debug(self
, var34
); /* Direct call abstract_compiler#AbstractCompilerVisitor#debug on <self:SeparateCompilerVisitor>*/
1644 PRINT_ERROR("Runtime error: %s", "Assert failed");
1645 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 1121);
1649 { /* Inline model#MMethodDef#msignature (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
1650 var37
= var_mmethoddef
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var_mmethoddef:MMethodDef> */
1652 RET_LABEL36
:(void)0;
1655 if (var35
== NULL
) {
1656 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1657 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 1124);
1660 { /* Inline model#MSignature#return_mtype (var35) on <var35:nullable MSignature> */
1661 if (unlikely(var35
== NULL
)) {
1662 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1663 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1455);
1666 var40
= var35
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <var35:nullable MSignature> */
1668 RET_LABEL39
:(void)0;
1673 { /* Inline model#MPropDef#mproperty (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
1674 var43
= var_mmethoddef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mmethoddef:MMethodDef> */
1675 if (unlikely(var43
== NULL
)) {
1676 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1677 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
1681 RET_LABEL42
:(void)0;
1685 { /* Inline model#MMethod#is_new (var41) on <var41:MProperty(MMethod)> */
1686 var46
= var41
->attrs
[COLOR_model__MMethod___is_new
].s
; /* _is_new on <var41:MProperty(MMethod)> */
1688 RET_LABEL45
:(void)0;
1693 var47
= abstract_collection__SequenceRead__first(var_arguments
);
1696 { /* Inline abstract_compiler#RuntimeVariable#mtype (var47) on <var47:nullable Object(RuntimeVariable)> */
1697 var50
= var47
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var47:nullable Object(RuntimeVariable)> */
1698 if (unlikely(var50
== NULL
)) {
1699 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1700 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
1704 RET_LABEL49
:(void)0;
1709 var51
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var_ret
);
1714 if (var_ret
== NULL
) {
1715 var53
= 1; /* is null */
1717 var53
= 0; /* arg is null but recv is not */
1720 { /* Inline kernel#Object#== (var_ret,var52) on <var_ret:nullable MType> */
1723 { /* Inline kernel#Object#is_same_instance (var_ret,var_other) on <var_ret:nullable MType(MType)> */
1724 var58
= var_ret
== var_other
;
1727 RET_LABEL57
:(void)0;
1732 RET_LABEL55
:(void)0;
1741 { /* Inline model#MPropDef#mclassdef (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
1742 var62
= var_mmethoddef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mmethoddef:MMethodDef> */
1743 if (unlikely(var62
== NULL
)) {
1744 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1745 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
1749 RET_LABEL61
:(void)0;
1753 { /* Inline model#MClassDef#bound_mtype (var60) on <var60:MClassDef> */
1754 var65
= var60
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var60:MClassDef> */
1755 if (unlikely(var65
== NULL
)) {
1756 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1757 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
1761 RET_LABEL64
:(void)0;
1765 { /* Inline model#MPropDef#mclassdef (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
1766 var68
= var_mmethoddef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mmethoddef:MMethodDef> */
1767 if (unlikely(var68
== NULL
)) {
1768 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1769 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
1773 RET_LABEL67
:(void)0;
1777 { /* Inline model#MClassDef#bound_mtype (var66) on <var66:MClassDef> */
1778 var71
= var66
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var66:MClassDef> */
1779 if (unlikely(var71
== NULL
)) {
1780 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1781 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
1785 RET_LABEL70
:(void)0;
1789 { /* Inline model#MPropDef#mclassdef (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
1790 var74
= var_mmethoddef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mmethoddef:MMethodDef> */
1791 if (unlikely(var74
== NULL
)) {
1792 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1793 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
1797 RET_LABEL73
:(void)0;
1801 { /* Inline model#MClassDef#mmodule (var72) on <var72:MClassDef> */
1802 var77
= var72
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var72:MClassDef> */
1803 if (unlikely(var77
== NULL
)) {
1804 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
1805 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
1809 RET_LABEL76
:(void)0;
1814 var79
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_ret
->class->vft
[COLOR_model__MType__resolve_for
]))(var_ret
, var63
, var69
, var75
, var78
) /* resolve_for on <var_ret:nullable MType(MType)>*/;
1818 var80
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var_ret
);
1824 { /* Inline model#MMethodDef#is_intern (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
1825 var85
= var_mmethoddef
->attrs
[COLOR_model__MMethodDef___is_intern
].s
; /* _is_intern on <var_mmethoddef:MMethodDef> */
1827 RET_LABEL84
:(void)0;
1833 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1834 var88
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1835 if (unlikely(var88
== NULL
)) {
1836 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1837 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
1841 RET_LABEL87
:(void)0;
1845 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var86) on <var86:AbstractCompiler(SeparateCompiler)> */
1846 var91
= var86
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var86:AbstractCompiler(SeparateCompiler)> */
1847 if (unlikely(var91
== NULL
)) {
1848 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1849 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
1853 RET_LABEL90
:(void)0;
1857 { /* Inline modelbuilder#ModelBuilder#toolcontext (var89) on <var89:ModelBuilder> */
1858 var94
= var89
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var89:ModelBuilder> */
1859 if (unlikely(var94
== NULL
)) {
1860 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1861 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
1865 RET_LABEL93
:(void)0;
1869 { /* Inline separate_compiler#ToolContext#opt_no_inline_intern (var92) on <var92:ToolContext> */
1870 var97
= var92
->attrs
[COLOR_separate_compiler__ToolContext___opt_no_inline_intern
].val
; /* _opt_no_inline_intern on <var92:ToolContext> */
1871 if (unlikely(var97
== NULL
)) {
1872 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_inline_intern");
1873 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 26);
1877 RET_LABEL96
:(void)0;
1881 { /* Inline opts#Option#value (var95) on <var95:OptionBool> */
1882 var100
= var95
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var95:OptionBool> */
1884 RET_LABEL99
:(void)0;
1887 var101
= ((struct instance_kernel__Bool
*)var98
)->value
; /* autounbox from nullable Object to Bool */;
1898 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1899 var107
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1900 if (unlikely(var107
== NULL
)) {
1901 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1902 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
1906 RET_LABEL106
:(void)0;
1910 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var105) on <var105:AbstractCompiler(SeparateCompiler)> */
1911 var110
= var105
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var105:AbstractCompiler(SeparateCompiler)> */
1912 if (unlikely(var110
== NULL
)) {
1913 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1914 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
1918 RET_LABEL109
:(void)0;
1922 { /* Inline modelbuilder#ModelBuilder#toolcontext (var108) on <var108:ModelBuilder> */
1923 var113
= var108
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var108:ModelBuilder> */
1924 if (unlikely(var113
== NULL
)) {
1925 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1926 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
1930 RET_LABEL112
:(void)0;
1934 { /* Inline separate_compiler#ToolContext#opt_inline_some_methods (var111) on <var111:ToolContext> */
1935 var116
= var111
->attrs
[COLOR_separate_compiler__ToolContext___opt_inline_some_methods
].val
; /* _opt_inline_some_methods on <var111:ToolContext> */
1936 if (unlikely(var116
== NULL
)) {
1937 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_inline_some_methods");
1938 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 34);
1942 RET_LABEL115
:(void)0;
1946 { /* Inline opts#Option#value (var114) on <var114:OptionBool> */
1947 var119
= var114
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var114:OptionBool> */
1949 RET_LABEL118
:(void)0;
1952 var120
= ((struct instance_kernel__Bool
*)var117
)->value
; /* autounbox from nullable Object to Bool */;
1956 var122
= abstract_compiler__MMethodDef__can_inline(var_mmethoddef
, self
);
1966 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1967 var125
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1968 if (unlikely(var125
== NULL
)) {
1969 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1970 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
1974 RET_LABEL124
:(void)0;
1978 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var123) on <var123:AbstractCompiler(SeparateCompiler)> */
1979 var128
= var123
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var123:AbstractCompiler(SeparateCompiler)> */
1980 if (unlikely(var128
== NULL
)) {
1981 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1982 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
1986 RET_LABEL127
:(void)0;
1991 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_inline (var_129) on <var_129:ModelBuilder> */
1992 var132
= var_129
->attrs
[COLOR_separate_compiler__ModelBuilder___nb_invok_by_inline
].l
; /* _nb_invok_by_inline on <var_129:ModelBuilder> */
1994 RET_LABEL131
:(void)0;
1999 { /* Inline kernel#Int#+ (var130,var133) on <var130:Int> */
2000 /* Covariant cast for argument 0 (i) <var133:Int> isa OTHER */
2001 /* <var133:Int> isa OTHER */
2002 var136
= 1; /* easy <var133:Int> isa OTHER*/
2003 if (unlikely(!var136
)) {
2004 var_class_name139
= type_kernel__Int
.name
;
2005 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name139
);
2006 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
2009 var140
= var130
+ var133
;
2012 RET_LABEL135
:(void)0;
2016 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_inline= (var_129,var134) on <var_129:ModelBuilder> */
2017 var_129
->attrs
[COLOR_separate_compiler__ModelBuilder___nb_invok_by_inline
].l
= var134
; /* _nb_invok_by_inline on <var_129:ModelBuilder> */
2018 RET_LABEL141
:(void)0;
2022 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
2023 var144
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
2024 if (unlikely(var144
== NULL
)) {
2025 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2026 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
2030 RET_LABEL143
:(void)0;
2034 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var142) on <var142:AbstractCompiler(SeparateCompiler)> */
2035 var147
= var142
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var142:AbstractCompiler(SeparateCompiler)> */
2036 if (unlikely(var147
== NULL
)) {
2037 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2038 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
2042 RET_LABEL146
:(void)0;
2046 { /* Inline modelbuilder#ModelBuilder#toolcontext (var145) on <var145:ModelBuilder> */
2047 var150
= var145
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var145:ModelBuilder> */
2048 if (unlikely(var150
== NULL
)) {
2049 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2050 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
2054 RET_LABEL149
:(void)0;
2058 { /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (var148) on <var148:ToolContext> */
2059 var153
= var148
->attrs
[COLOR_abstract_compiler__ToolContext___opt_invocation_metrics
].val
; /* _opt_invocation_metrics on <var148:ToolContext> */
2060 if (unlikely(var153
== NULL
)) {
2061 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
2062 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 58);
2066 RET_LABEL152
:(void)0;
2070 { /* Inline opts#Option#value (var151) on <var151:OptionBool> */
2071 var156
= var151
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var151:OptionBool> */
2073 RET_LABEL155
:(void)0;
2076 var157
= ((struct instance_kernel__Bool
*)var154
)->value
; /* autounbox from nullable Object to Bool */;
2079 var159
= varonce158
;
2081 var160
= "count_invoke_by_inline++;";
2083 var162
= string__NativeString__to_s_with_length(var160
, var161
);
2085 varonce158
= var159
;
2088 abstract_compiler__AbstractCompilerVisitor__add(self
, var159
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2092 var163
= NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame
);
2094 { /* Inline abstract_compiler#Frame#init (var163,self,var_mmethoddef,var_recvtype,var_arguments) on <var163:Frame> */
2095 /* Covariant cast for argument 0 (visitor) <self:SeparateCompilerVisitor> isa VISITOR */
2096 /* <self:SeparateCompilerVisitor> isa VISITOR */
2097 type_struct
= var163
->type
->resolution_table
->types
[COLOR_abstract_compiler__Frame_VTVISITOR
];
2098 cltype166
= type_struct
->color
;
2099 idtype167
= type_struct
->id
;
2100 if(cltype166
>= self
->type
->table_size
) {
2103 var165
= self
->type
->type_table
[cltype166
] == idtype167
;
2105 if (unlikely(!var165
)) {
2106 var_class_name168
= self
== NULL ?
"null" : self
->type
->name
;
2107 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name168
);
2108 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1523);
2111 var163
->attrs
[COLOR_abstract_compiler__Frame___visitor
].val
= self
; /* _visitor on <var163:Frame> */
2112 var163
->attrs
[COLOR_abstract_compiler__Frame___mpropdef
].val
= var_mmethoddef
; /* _mpropdef on <var163:Frame> */
2113 var163
->attrs
[COLOR_abstract_compiler__Frame___receiver
].val
= var_recvtype
; /* _receiver on <var163:Frame> */
2114 var163
->attrs
[COLOR_abstract_compiler__Frame___arguments
].val
= var_arguments
; /* _arguments on <var163:Frame> */
2115 RET_LABEL164
:(void)0;
2120 var170
= varonce169
;
2122 var171
= "RET_LABEL";
2124 var173
= string__NativeString__to_s_with_length(var171
, var172
);
2126 varonce169
= var170
;
2129 var174
= abstract_compiler__AbstractCompilerVisitor__get_name(self
, var170
);
2132 { /* Inline abstract_compiler#Frame#returnlabel= (var_frame,var174) on <var_frame:Frame> */
2133 var_frame
->attrs
[COLOR_abstract_compiler__Frame___returnlabel
].val
= var174
; /* _returnlabel on <var_frame:Frame> */
2134 RET_LABEL175
:(void)0;
2138 { /* Inline abstract_compiler#Frame#returnvar= (var_frame,var_res) on <var_frame:Frame> */
2139 var_frame
->attrs
[COLOR_abstract_compiler__Frame___returnvar
].val
= var_res
; /* _returnvar on <var_frame:Frame> */
2140 RET_LABEL176
:(void)0;
2144 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
2145 var179
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
2147 RET_LABEL178
:(void)0;
2150 var_old_frame
= var177
;
2152 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame= (self,var_frame) on <self:SeparateCompilerVisitor> */
2153 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
= var_frame
; /* _frame on <self:SeparateCompilerVisitor> */
2154 RET_LABEL180
:(void)0;
2158 var182
= varonce181
;
2160 var183
= "{ /* Inline ";
2162 var185
= string__NativeString__to_s_with_length(var183
, var184
);
2164 varonce181
= var182
;
2167 var187
= varonce186
;
2171 var190
= string__NativeString__to_s_with_length(var188
, var189
);
2173 varonce186
= var187
;
2176 var192
= varonce191
;
2180 var195
= string__NativeString__to_s_with_length(var193
, var194
);
2182 varonce191
= var192
;
2185 var196
= string__Collection__join(var_arguments
, var192
);
2188 var198
= varonce197
;
2192 var201
= string__NativeString__to_s_with_length(var199
, var200
);
2194 varonce197
= var198
;
2197 var202
= abstract_collection__SequenceRead__first(var_arguments
);
2200 var203
= abstract_compiler__RuntimeVariable__inspect(var202
);
2203 var205
= varonce204
;
2207 var208
= string__NativeString__to_s_with_length(var206
, var207
);
2209 varonce204
= var205
;
2211 var209
= NEW_array__Array(&type_array__Arraykernel__Object
);
2212 { /* var209 = array_instance Array[Object] */
2214 var211
= NEW_array__NativeArray(var210
, &type_array__NativeArraykernel__Object
);
2215 ((struct instance_array__NativeArray
*)var211
)->values
[0] = (val
*) var182
;
2216 ((struct instance_array__NativeArray
*)var211
)->values
[1] = (val
*) var_mmethoddef
;
2217 ((struct instance_array__NativeArray
*)var211
)->values
[2] = (val
*) var187
;
2218 ((struct instance_array__NativeArray
*)var211
)->values
[3] = (val
*) var196
;
2219 ((struct instance_array__NativeArray
*)var211
)->values
[4] = (val
*) var198
;
2220 ((struct instance_array__NativeArray
*)var211
)->values
[5] = (val
*) var203
;
2221 ((struct instance_array__NativeArray
*)var211
)->values
[6] = (val
*) var205
;
2223 ((void (*)(val
*, val
*, long))(var209
->class->vft
[COLOR_array__Array__with_native
]))(var209
, var211
, var210
) /* with_native on <var209:Array[Object]>*/;
2227 var212
= ((val
* (*)(val
*))(var209
->class->vft
[COLOR_string__Object__to_s
]))(var209
) /* to_s on <var209:Array[Object]>*/;
2230 abstract_compiler__AbstractCompilerVisitor__add(self
, var212
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2233 var213
= abstract_compiler__MMethodDef__compile_inside_to_c(var_mmethoddef
, self
, var_arguments
);
2237 { /* Inline abstract_compiler#Frame#returnlabel (var_frame) on <var_frame:Frame> */
2238 var216
= var_frame
->attrs
[COLOR_abstract_compiler__Frame___returnlabel
].val
; /* _returnlabel on <var_frame:Frame> */
2240 RET_LABEL215
:(void)0;
2243 if (unlikely(var214
== NULL
)) {
2244 PRINT_ERROR("Runtime error: %s", "Cast failed");
2245 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 1146);
2249 var218
= varonce217
;
2251 var219
= ":(void)0;";
2253 var221
= string__NativeString__to_s_with_length(var219
, var220
);
2255 varonce217
= var218
;
2257 var222
= NEW_array__Array(&type_array__Arraykernel__Object
);
2258 { /* var222 = array_instance Array[Object] */
2260 var224
= NEW_array__NativeArray(var223
, &type_array__NativeArraykernel__Object
);
2261 ((struct instance_array__NativeArray
*)var224
)->values
[0] = (val
*) var214
;
2262 ((struct instance_array__NativeArray
*)var224
)->values
[1] = (val
*) var218
;
2264 ((void (*)(val
*, val
*, long))(var222
->class->vft
[COLOR_array__Array__with_native
]))(var222
, var224
, var223
) /* with_native on <var222:Array[Object]>*/;
2268 var225
= ((val
* (*)(val
*))(var222
->class->vft
[COLOR_string__Object__to_s
]))(var222
) /* to_s on <var222:Array[Object]>*/;
2271 abstract_compiler__AbstractCompilerVisitor__add(self
, var225
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2274 var227
= varonce226
;
2278 var230
= string__NativeString__to_s_with_length(var228
, var229
);
2280 varonce226
= var227
;
2283 abstract_compiler__AbstractCompilerVisitor__add(self
, var227
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2286 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame= (self,var_old_frame) on <self:SeparateCompilerVisitor> */
2287 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
= var_old_frame
; /* _frame on <self:SeparateCompilerVisitor> */
2288 RET_LABEL231
:(void)0;
2296 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
2297 var234
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
2298 if (unlikely(var234
== NULL
)) {
2299 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2300 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
2304 RET_LABEL233
:(void)0;
2308 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var232) on <var232:AbstractCompiler(SeparateCompiler)> */
2309 var237
= var232
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var232:AbstractCompiler(SeparateCompiler)> */
2310 if (unlikely(var237
== NULL
)) {
2311 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2312 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
2316 RET_LABEL236
:(void)0;
2321 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_direct (var_238) on <var_238:ModelBuilder> */
2322 var241
= var_238
->attrs
[COLOR_separate_compiler__ModelBuilder___nb_invok_by_direct
].l
; /* _nb_invok_by_direct on <var_238:ModelBuilder> */
2324 RET_LABEL240
:(void)0;
2329 { /* Inline kernel#Int#+ (var239,var242) on <var239:Int> */
2330 /* Covariant cast for argument 0 (i) <var242:Int> isa OTHER */
2331 /* <var242:Int> isa OTHER */
2332 var245
= 1; /* easy <var242:Int> isa OTHER*/
2333 if (unlikely(!var245
)) {
2334 var_class_name248
= type_kernel__Int
.name
;
2335 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name248
);
2336 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
2339 var249
= var239
+ var242
;
2342 RET_LABEL244
:(void)0;
2346 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_direct= (var_238,var243) on <var_238:ModelBuilder> */
2347 var_238
->attrs
[COLOR_separate_compiler__ModelBuilder___nb_invok_by_direct
].l
= var243
; /* _nb_invok_by_direct on <var_238:ModelBuilder> */
2348 RET_LABEL250
:(void)0;
2352 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
2353 var253
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
2354 if (unlikely(var253
== NULL
)) {
2355 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2356 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
2360 RET_LABEL252
:(void)0;
2364 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var251) on <var251:AbstractCompiler(SeparateCompiler)> */
2365 var256
= var251
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var251:AbstractCompiler(SeparateCompiler)> */
2366 if (unlikely(var256
== NULL
)) {
2367 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2368 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
2372 RET_LABEL255
:(void)0;
2376 { /* Inline modelbuilder#ModelBuilder#toolcontext (var254) on <var254:ModelBuilder> */
2377 var259
= var254
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var254:ModelBuilder> */
2378 if (unlikely(var259
== NULL
)) {
2379 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2380 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
2384 RET_LABEL258
:(void)0;
2388 { /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (var257) on <var257:ToolContext> */
2389 var262
= var257
->attrs
[COLOR_abstract_compiler__ToolContext___opt_invocation_metrics
].val
; /* _opt_invocation_metrics on <var257:ToolContext> */
2390 if (unlikely(var262
== NULL
)) {
2391 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
2392 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 58);
2396 RET_LABEL261
:(void)0;
2400 { /* Inline opts#Option#value (var260) on <var260:OptionBool> */
2401 var265
= var260
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var260:OptionBool> */
2403 RET_LABEL264
:(void)0;
2406 var266
= ((struct instance_kernel__Bool
*)var263
)->value
; /* autounbox from nullable Object to Bool */;
2409 var268
= varonce267
;
2411 var269
= "count_invoke_by_direct++;";
2413 var271
= string__NativeString__to_s_with_length(var269
, var270
);
2415 varonce267
= var268
;
2418 abstract_compiler__AbstractCompilerVisitor__add(self
, var268
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2423 separate_compiler__SeparateCompilerVisitor__adapt_signature(self
, var_mmethoddef
, var_arguments
); /* Direct call separate_compiler#SeparateCompilerVisitor#adapt_signature on <self:SeparateCompilerVisitor>*/
2426 var272
= abstract_compiler__MPropDef__c_name(var_mmethoddef
);
2429 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var272
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
2432 if (var_res
== NULL
) {
2433 var274
= 1; /* is null */
2435 var274
= 0; /* arg is null but recv is not */
2438 { /* Inline kernel#Object#== (var_res,var273) on <var_res:nullable RuntimeVariable> */
2441 { /* Inline kernel#Object#is_same_instance (var_res,var_other) on <var_res:nullable RuntimeVariable(RuntimeVariable)> */
2442 var279
= var_res
== var_other
;
2445 RET_LABEL278
:(void)0;
2450 RET_LABEL276
:(void)0;
2456 var280
= abstract_compiler__MPropDef__c_name(var_mmethoddef
);
2459 var282
= varonce281
;
2463 var285
= string__NativeString__to_s_with_length(var283
, var284
);
2465 varonce281
= var282
;
2468 var287
= varonce286
;
2472 var290
= string__NativeString__to_s_with_length(var288
, var289
);
2474 varonce286
= var287
;
2477 var291
= string__Collection__join(var_arguments
, var287
);
2480 var293
= varonce292
;
2482 var294
= "); /* Direct call ";
2484 var296
= string__NativeString__to_s_with_length(var294
, var295
);
2486 varonce292
= var293
;
2489 var298
= varonce297
;
2493 var301
= string__NativeString__to_s_with_length(var299
, var300
);
2495 varonce297
= var298
;
2498 var302
= abstract_collection__SequenceRead__first(var_arguments
);
2501 var303
= abstract_compiler__RuntimeVariable__inspect(var302
);
2504 var305
= varonce304
;
2508 var308
= string__NativeString__to_s_with_length(var306
, var307
);
2510 varonce304
= var305
;
2512 var309
= NEW_array__Array(&type_array__Arraykernel__Object
);
2513 { /* var309 = array_instance Array[Object] */
2515 var311
= NEW_array__NativeArray(var310
, &type_array__NativeArraykernel__Object
);
2516 ((struct instance_array__NativeArray
*)var311
)->values
[0] = (val
*) var280
;
2517 ((struct instance_array__NativeArray
*)var311
)->values
[1] = (val
*) var282
;
2518 ((struct instance_array__NativeArray
*)var311
)->values
[2] = (val
*) var291
;
2519 ((struct instance_array__NativeArray
*)var311
)->values
[3] = (val
*) var293
;
2520 ((struct instance_array__NativeArray
*)var311
)->values
[4] = (val
*) var_mmethoddef
;
2521 ((struct instance_array__NativeArray
*)var311
)->values
[5] = (val
*) var298
;
2522 ((struct instance_array__NativeArray
*)var311
)->values
[6] = (val
*) var303
;
2523 ((struct instance_array__NativeArray
*)var311
)->values
[7] = (val
*) var305
;
2525 ((void (*)(val
*, val
*, long))(var309
->class->vft
[COLOR_array__Array__with_native
]))(var309
, var311
, var310
) /* with_native on <var309:Array[Object]>*/;
2529 var312
= ((val
* (*)(val
*))(var309
->class->vft
[COLOR_string__Object__to_s
]))(var309
) /* to_s on <var309:Array[Object]>*/;
2532 abstract_compiler__AbstractCompilerVisitor__add(self
, var312
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2539 var315
= varonce314
;
2543 var318
= string__NativeString__to_s_with_length(var316
, var317
);
2545 varonce314
= var315
;
2548 var319
= abstract_compiler__MPropDef__c_name(var_mmethoddef
);
2551 var321
= varonce320
;
2555 var324
= string__NativeString__to_s_with_length(var322
, var323
);
2557 varonce320
= var321
;
2560 var326
= varonce325
;
2564 var329
= string__NativeString__to_s_with_length(var327
, var328
);
2566 varonce325
= var326
;
2569 var330
= string__Collection__join(var_arguments
, var326
);
2572 var332
= varonce331
;
2576 var335
= string__NativeString__to_s_with_length(var333
, var334
);
2578 varonce331
= var332
;
2580 var336
= NEW_array__Array(&type_array__Arraykernel__Object
);
2581 { /* var336 = array_instance Array[Object] */
2583 var338
= NEW_array__NativeArray(var337
, &type_array__NativeArraykernel__Object
);
2584 ((struct instance_array__NativeArray
*)var338
)->values
[0] = (val
*) var_res
;
2585 ((struct instance_array__NativeArray
*)var338
)->values
[1] = (val
*) var315
;
2586 ((struct instance_array__NativeArray
*)var338
)->values
[2] = (val
*) var319
;
2587 ((struct instance_array__NativeArray
*)var338
)->values
[3] = (val
*) var321
;
2588 ((struct instance_array__NativeArray
*)var338
)->values
[4] = (val
*) var330
;
2589 ((struct instance_array__NativeArray
*)var338
)->values
[5] = (val
*) var332
;
2591 ((void (*)(val
*, val
*, long))(var336
->class->vft
[COLOR_array__Array__with_native
]))(var336
, var338
, var337
) /* with_native on <var336:Array[Object]>*/;
2595 var339
= ((val
* (*)(val
*))(var336
->class->vft
[COLOR_string__Object__to_s
]))(var336
) /* to_s on <var336:Array[Object]>*/;
2598 abstract_compiler__AbstractCompilerVisitor__add(self
, var339
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2606 /* method separate_compiler#SeparateCompilerVisitor#call for (self: Object, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
2607 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2608 val
* var
/* : nullable RuntimeVariable */;
2609 val
* var1
/* : nullable RuntimeVariable */;
2610 var1
= separate_compiler__SeparateCompilerVisitor__call(self
, p0
, p1
, p2
);
2615 /* method separate_compiler#SeparateCompilerVisitor#supercall for (self: SeparateCompilerVisitor, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
2616 val
* separate_compiler__SeparateCompilerVisitor__supercall(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2617 val
* var
/* : nullable RuntimeVariable */;
2618 val
* var_m
/* var m: MMethodDef */;
2619 val
* var_recvtype
/* var recvtype: MClassType */;
2620 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
2621 val
* var1
/* : nullable Object */;
2622 val
* var2
/* : MType */;
2623 val
* var4
/* : MType */;
2624 val
* var5
/* : String */;
2625 static val
* varonce
;
2626 val
* var6
/* : String */;
2627 char* var7
/* : NativeString */;
2628 long var8
/* : Int */;
2629 val
* var9
/* : FlatString */;
2630 short int var10
/* : Bool */;
2631 short int var11
/* : Bool */;
2632 val
* var_other
/* var other: nullable Object */;
2633 short int var13
/* : Bool */;
2634 short int var14
/* : Bool */;
2635 short int var15
/* : Bool */;
2636 val
* var16
/* : AbstractCompiler */;
2637 val
* var18
/* : AbstractCompiler */;
2638 val
* var19
/* : MModule */;
2639 val
* var21
/* : MModule */;
2640 val
* var_main
/* var main: MModule */;
2641 val
* var22
/* : AbstractCompiler */;
2642 val
* var24
/* : AbstractCompiler */;
2643 val
* var25
/* : AbstractCompiler */;
2644 val
* var27
/* : AbstractCompiler */;
2645 val
* var28
/* : MModule */;
2646 val
* var30
/* : MModule */;
2647 val
* var32
/* : nullable RuntimeVariable */;
2648 val
* var_res
/* var res: nullable RuntimeVariable */;
2649 val
* var33
/* : AbstractCompiler */;
2650 val
* var35
/* : AbstractCompiler */;
2651 val
* var37
/* : MProperty */;
2652 val
* var39
/* : MProperty */;
2653 val
* var40
/* : String */;
2654 val
* var41
/* : nullable RuntimeVariable */;
2659 var1
= abstract_collection__SequenceRead__first(var_arguments
);
2662 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var1) on <var1:nullable Object(RuntimeVariable)> */
2663 var4
= var1
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var1:nullable Object(RuntimeVariable)> */
2664 if (unlikely(var4
== NULL
)) {
2665 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
2666 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1487);
2674 var5
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var2
) /* ctype on <var2:MType>*/;
2681 var9
= string__NativeString__to_s_with_length(var7
, var8
);
2686 { /* Inline kernel#Object#!= (var5,var6) on <var5:String> */
2689 var14
= ((short int (*)(val
*, val
*))(var5
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var5
, var_other
) /* == on <var5:String>*/;
2695 RET_LABEL12
:(void)0;
2701 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
2702 var18
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
2703 if (unlikely(var18
== NULL
)) {
2704 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2705 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
2709 RET_LABEL17
:(void)0;
2713 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var16) on <var16:AbstractCompiler(SeparateCompiler)> */
2714 var21
= var16
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var16:AbstractCompiler(SeparateCompiler)> */
2715 if (unlikely(var21
== NULL
)) {
2716 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2717 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 436);
2721 RET_LABEL20
:(void)0;
2726 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
2727 var24
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
2728 if (unlikely(var24
== NULL
)) {
2729 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2730 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
2734 RET_LABEL23
:(void)0;
2738 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
2739 var27
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
2740 if (unlikely(var27
== NULL
)) {
2741 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2742 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
2746 RET_LABEL26
:(void)0;
2750 { /* Inline abstract_compiler#AbstractCompiler#realmainmodule (var25) on <var25:AbstractCompiler(SeparateCompiler)> */
2751 var30
= var25
->attrs
[COLOR_abstract_compiler__AbstractCompiler___realmainmodule
].val
; /* _realmainmodule on <var25:AbstractCompiler(SeparateCompiler)> */
2752 if (unlikely(var30
== NULL
)) {
2753 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _realmainmodule");
2754 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 440);
2758 RET_LABEL29
:(void)0;
2762 { /* Inline abstract_compiler#AbstractCompiler#mainmodule= (var22,var28) on <var22:AbstractCompiler(SeparateCompiler)> */
2763 var22
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
= var28
; /* _mainmodule on <var22:AbstractCompiler(SeparateCompiler)> */
2764 RET_LABEL31
:(void)0;
2768 var32
= abstract_compiler__AbstractCompilerVisitor__monomorphic_super_send(self
, var_m
, var_recvtype
, var_arguments
);
2772 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
2773 var35
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
2774 if (unlikely(var35
== NULL
)) {
2775 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2776 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
2780 RET_LABEL34
:(void)0;
2784 { /* Inline abstract_compiler#AbstractCompiler#mainmodule= (var33,var_main) on <var33:AbstractCompiler(SeparateCompiler)> */
2785 var33
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
= var_main
; /* _mainmodule on <var33:AbstractCompiler(SeparateCompiler)> */
2786 RET_LABEL36
:(void)0;
2794 { /* Inline model#MPropDef#mproperty (var_m) on <var_m:MMethodDef> */
2795 var39
= var_m
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_m:MMethodDef> */
2796 if (unlikely(var39
== NULL
)) {
2797 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2798 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
2802 RET_LABEL38
:(void)0;
2806 var40
= separate_compiler__MPropDef__const_color(var_m
);
2809 var41
= separate_compiler__SeparateCompilerVisitor__table_send(self
, var37
, var_arguments
, var40
);
2816 /* method separate_compiler#SeparateCompilerVisitor#supercall for (self: Object, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
2817 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__supercall(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2818 val
* var
/* : nullable RuntimeVariable */;
2819 val
* var1
/* : nullable RuntimeVariable */;
2820 var1
= separate_compiler__SeparateCompilerVisitor__supercall(self
, p0
, p1
, p2
);
2825 /* method separate_compiler#SeparateCompilerVisitor#vararg_instance for (self: SeparateCompilerVisitor, MPropDef, RuntimeVariable, Array[RuntimeVariable], MType): RuntimeVariable */
2826 val
* separate_compiler__SeparateCompilerVisitor__vararg_instance(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
2827 val
* var
/* : RuntimeVariable */;
2828 val
* var_mpropdef
/* var mpropdef: MPropDef */;
2829 val
* var_recv
/* var recv: RuntimeVariable */;
2830 val
* var_varargs
/* var varargs: Array[RuntimeVariable] */;
2831 val
* var_elttype
/* var elttype: MType */;
2832 val
* var1
/* : nullable Frame */;
2833 val
* var3
/* : nullable Frame */;
2834 val
* var_old_frame
/* var old_frame: nullable Frame */;
2835 val
* var4
/* : Frame */;
2836 val
* var5
/* : MClassDef */;
2837 val
* var7
/* : MClassDef */;
2838 val
* var8
/* : MClassType */;
2839 val
* var10
/* : MClassType */;
2840 val
* var11
/* : Array[RuntimeVariable] */;
2841 long var12
/* : Int */;
2842 val
* var_
/* var : Array[RuntimeVariable] */;
2843 short int var14
/* : Bool */;
2846 const struct type
* type_struct
;
2847 const char* var_class_name
;
2848 val
* var_frame
/* var frame: Frame */;
2849 val
* var16
/* : RuntimeVariable */;
2850 val
* var_res
/* var res: RuntimeVariable */;
2856 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
2857 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
2862 var_old_frame
= var1
;
2863 var4
= NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame
);
2865 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MPropDef> */
2866 var7
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MPropDef> */
2867 if (unlikely(var7
== NULL
)) {
2868 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2869 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
2877 { /* Inline model#MClassDef#bound_mtype (var5) on <var5:MClassDef> */
2878 var10
= var5
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var5:MClassDef> */
2879 if (unlikely(var10
== NULL
)) {
2880 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2881 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
2888 var11
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
2891 array__Array__with_capacity(var11
, var12
); /* Direct call array#Array#with_capacity on <var11:Array[RuntimeVariable]>*/
2895 array__AbstractArray__push(var_
, var_recv
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
2898 { /* Inline abstract_compiler#Frame#init (var4,self,var_mpropdef,var8,var_) on <var4:Frame> */
2899 /* Covariant cast for argument 0 (visitor) <self:SeparateCompilerVisitor> isa VISITOR */
2900 /* <self:SeparateCompilerVisitor> isa VISITOR */
2901 type_struct
= var4
->type
->resolution_table
->types
[COLOR_abstract_compiler__Frame_VTVISITOR
];
2902 cltype
= type_struct
->color
;
2903 idtype
= type_struct
->id
;
2904 if(cltype
>= self
->type
->table_size
) {
2907 var14
= self
->type
->type_table
[cltype
] == idtype
;
2909 if (unlikely(!var14
)) {
2910 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
2911 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
2912 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1523);
2915 var4
->attrs
[COLOR_abstract_compiler__Frame___visitor
].val
= self
; /* _visitor on <var4:Frame> */
2916 var4
->attrs
[COLOR_abstract_compiler__Frame___mpropdef
].val
= var_mpropdef
; /* _mpropdef on <var4:Frame> */
2917 var4
->attrs
[COLOR_abstract_compiler__Frame___receiver
].val
= var8
; /* _receiver on <var4:Frame> */
2918 var4
->attrs
[COLOR_abstract_compiler__Frame___arguments
].val
= var_
; /* _arguments on <var4:Frame> */
2919 RET_LABEL13
:(void)0;
2924 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame= (self,var_frame) on <self:SeparateCompilerVisitor> */
2925 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
= var_frame
; /* _frame on <self:SeparateCompilerVisitor> */
2926 RET_LABEL15
:(void)0;
2930 var16
= separate_compiler__SeparateCompilerVisitor__array_instance(self
, var_varargs
, var_elttype
);
2934 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame= (self,var_old_frame) on <self:SeparateCompilerVisitor> */
2935 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
= var_old_frame
; /* _frame on <self:SeparateCompilerVisitor> */
2936 RET_LABEL17
:(void)0;
2944 /* method separate_compiler#SeparateCompilerVisitor#vararg_instance for (self: Object, MPropDef, RuntimeVariable, Array[RuntimeVariable], MType): RuntimeVariable */
2945 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__vararg_instance(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
2946 val
* var
/* : RuntimeVariable */;
2947 val
* var1
/* : RuntimeVariable */;
2948 var1
= separate_compiler__SeparateCompilerVisitor__vararg_instance(self
, p0
, p1
, p2
, p3
);
2953 /* method separate_compiler#SeparateCompilerVisitor#isset_attribute for (self: SeparateCompilerVisitor, MAttribute, RuntimeVariable): RuntimeVariable */
2954 val
* separate_compiler__SeparateCompilerVisitor__isset_attribute(val
* self
, val
* p0
, val
* p1
) {
2955 val
* var
/* : RuntimeVariable */;
2956 val
* var_a
/* var a: MAttribute */;
2957 val
* var_recv
/* var recv: RuntimeVariable */;
2958 val
* var1
/* : MClassType */;
2959 val
* var2
/* : RuntimeVariable */;
2960 val
* var_res
/* var res: RuntimeVariable */;
2961 val
* var3
/* : MPropDef */;
2962 val
* var4
/* : nullable MType */;
2963 val
* var6
/* : nullable MType */;
2964 val
* var_mtype
/* var mtype: MType */;
2965 val
* var7
/* : MPropDef */;
2966 val
* var8
/* : MClassDef */;
2967 val
* var10
/* : MClassDef */;
2968 val
* var_intromclassdef
/* var intromclassdef: MClassDef */;
2969 val
* var11
/* : MClassType */;
2970 val
* var13
/* : MClassType */;
2971 val
* var14
/* : MClassType */;
2972 val
* var16
/* : MClassType */;
2973 val
* var17
/* : MModule */;
2974 val
* var19
/* : MModule */;
2975 short int var20
/* : Bool */;
2976 val
* var21
/* : MType */;
2977 short int var22
/* : Bool */;
2980 static val
* varonce
;
2981 val
* var23
/* : String */;
2982 char* var24
/* : NativeString */;
2983 long var25
/* : Int */;
2984 val
* var26
/* : FlatString */;
2985 static val
* varonce27
;
2986 val
* var28
/* : String */;
2987 char* var29
/* : NativeString */;
2988 long var30
/* : Int */;
2989 val
* var31
/* : FlatString */;
2990 val
* var32
/* : String */;
2991 static val
* varonce33
;
2992 val
* var34
/* : String */;
2993 char* var35
/* : NativeString */;
2994 long var36
/* : Int */;
2995 val
* var37
/* : FlatString */;
2996 val
* var38
/* : Array[Object] */;
2997 long var39
/* : Int */;
2998 val
* var40
/* : NativeArray[Object] */;
2999 val
* var41
/* : String */;
3000 val
* var42
/* : String */;
3001 val
* var43
/* : AbstractCompiler */;
3002 val
* var45
/* : AbstractCompiler */;
3003 val
* var46
/* : ModelBuilder */;
3004 val
* var48
/* : ModelBuilder */;
3005 val
* var49
/* : ToolContext */;
3006 val
* var51
/* : ToolContext */;
3007 val
* var52
/* : OptionBool */;
3008 val
* var54
/* : OptionBool */;
3009 val
* var55
/* : nullable Object */;
3010 val
* var57
/* : nullable Object */;
3011 short int var58
/* : Bool */;
3012 static val
* varonce59
;
3013 val
* var60
/* : String */;
3014 char* var61
/* : NativeString */;
3015 long var62
/* : Int */;
3016 val
* var63
/* : FlatString */;
3017 static val
* varonce64
;
3018 val
* var65
/* : String */;
3019 char* var66
/* : NativeString */;
3020 long var67
/* : Int */;
3021 val
* var68
/* : FlatString */;
3022 val
* var69
/* : String */;
3023 static val
* varonce70
;
3024 val
* var71
/* : String */;
3025 char* var72
/* : NativeString */;
3026 long var73
/* : Int */;
3027 val
* var74
/* : FlatString */;
3028 static val
* varonce75
;
3029 val
* var76
/* : String */;
3030 char* var77
/* : NativeString */;
3031 long var78
/* : Int */;
3032 val
* var79
/* : FlatString */;
3033 val
* var80
/* : String */;
3034 static val
* varonce81
;
3035 val
* var82
/* : String */;
3036 char* var83
/* : NativeString */;
3037 long var84
/* : Int */;
3038 val
* var85
/* : FlatString */;
3039 val
* var86
/* : Array[Object] */;
3040 long var87
/* : Int */;
3041 val
* var88
/* : NativeArray[Object] */;
3042 val
* var89
/* : String */;
3043 val
* var90
/* : String */;
3044 static val
* varonce91
;
3045 val
* var92
/* : String */;
3046 char* var93
/* : NativeString */;
3047 long var94
/* : Int */;
3048 val
* var95
/* : FlatString */;
3049 short int var96
/* : Bool */;
3050 short int var97
/* : Bool */;
3051 static val
* varonce98
;
3052 val
* var99
/* : String */;
3053 char* var100
/* : NativeString */;
3054 long var101
/* : Int */;
3055 val
* var102
/* : FlatString */;
3056 static val
* varonce103
;
3057 val
* var104
/* : String */;
3058 char* var105
/* : NativeString */;
3059 long var106
/* : Int */;
3060 val
* var107
/* : FlatString */;
3061 val
* var108
/* : String */;
3062 static val
* varonce109
;
3063 val
* var110
/* : String */;
3064 char* var111
/* : NativeString */;
3065 long var112
/* : Int */;
3066 val
* var113
/* : FlatString */;
3067 static val
* varonce114
;
3068 val
* var115
/* : String */;
3069 char* var116
/* : NativeString */;
3070 long var117
/* : Int */;
3071 val
* var118
/* : FlatString */;
3072 val
* var119
/* : String */;
3073 static val
* varonce120
;
3074 val
* var121
/* : String */;
3075 char* var122
/* : NativeString */;
3076 long var123
/* : Int */;
3077 val
* var124
/* : FlatString */;
3078 val
* var125
/* : Array[Object] */;
3079 long var126
/* : Int */;
3080 val
* var127
/* : NativeArray[Object] */;
3081 val
* var128
/* : String */;
3082 static val
* varonce129
;
3083 val
* var130
/* : String */;
3084 char* var131
/* : NativeString */;
3085 long var132
/* : Int */;
3086 val
* var133
/* : FlatString */;
3087 static val
* varonce134
;
3088 val
* var135
/* : String */;
3089 char* var136
/* : NativeString */;
3090 long var137
/* : Int */;
3091 val
* var138
/* : FlatString */;
3092 val
* var139
/* : String */;
3093 static val
* varonce140
;
3094 val
* var141
/* : String */;
3095 char* var142
/* : NativeString */;
3096 long var143
/* : Int */;
3097 val
* var144
/* : FlatString */;
3098 val
* var145
/* : Array[Object] */;
3099 long var146
/* : Int */;
3100 val
* var147
/* : NativeArray[Object] */;
3101 val
* var148
/* : String */;
3105 abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(self
, var_recv
); /* Direct call abstract_compiler#AbstractCompilerVisitor#check_recv_notnull on <self:SeparateCompilerVisitor>*/
3108 var1
= abstract_compiler__AbstractCompilerVisitor__bool_type(self
);
3111 var2
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var1
);
3115 var3
= model__MProperty__intro(var_a
);
3118 { /* Inline model#MAttributeDef#static_mtype (var3) on <var3:MPropDef(MAttributeDef)> */
3119 var6
= var3
->attrs
[COLOR_model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var3:MPropDef(MAttributeDef)> */
3124 if (unlikely(var4
== NULL
)) {
3125 PRINT_ERROR("Runtime error: %s", "Cast failed");
3126 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 1207);
3131 var7
= model__MProperty__intro(var_a
);
3134 { /* Inline model#MPropDef#mclassdef (var7) on <var7:MPropDef(MAttributeDef)> */
3135 var10
= var7
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var7:MPropDef(MAttributeDef)> */
3136 if (unlikely(var10
== NULL
)) {
3137 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
3138 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
3145 var_intromclassdef
= var8
;
3147 { /* Inline model#MClassDef#bound_mtype (var_intromclassdef) on <var_intromclassdef:MClassDef> */
3148 var13
= var_intromclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intromclassdef:MClassDef> */
3149 if (unlikely(var13
== NULL
)) {
3150 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3151 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
3155 RET_LABEL12
:(void)0;
3159 { /* Inline model#MClassDef#bound_mtype (var_intromclassdef) on <var_intromclassdef:MClassDef> */
3160 var16
= var_intromclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intromclassdef:MClassDef> */
3161 if (unlikely(var16
== NULL
)) {
3162 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3163 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
3167 RET_LABEL15
:(void)0;
3171 { /* Inline model#MClassDef#mmodule (var_intromclassdef) on <var_intromclassdef:MClassDef> */
3172 var19
= var_intromclassdef
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_intromclassdef:MClassDef> */
3173 if (unlikely(var19
== NULL
)) {
3174 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3175 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
3179 RET_LABEL18
:(void)0;
3184 var21
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_mtype
->class->vft
[COLOR_model__MType__resolve_for
]))(var_mtype
, var11
, var14
, var17
, var20
) /* resolve_for on <var_mtype:MType>*/;
3187 /* <var_mtype:MType> isa MNullableType */
3188 cltype
= type_model__MNullableType
.color
;
3189 idtype
= type_model__MNullableType
.id
;
3190 if(cltype
>= var_mtype
->type
->table_size
) {
3193 var22
= var_mtype
->type
->type_table
[cltype
] == idtype
;
3199 var24
= " = 1; /* easy isset: ";
3201 var26
= string__NativeString__to_s_with_length(var24
, var25
);
3210 var31
= string__NativeString__to_s_with_length(var29
, var30
);
3215 var32
= abstract_compiler__RuntimeVariable__inspect(var_recv
);
3222 var37
= string__NativeString__to_s_with_length(var35
, var36
);
3226 var38
= NEW_array__Array(&type_array__Arraykernel__Object
);
3227 { /* var38 = array_instance Array[Object] */
3229 var40
= NEW_array__NativeArray(var39
, &type_array__NativeArraykernel__Object
);
3230 ((struct instance_array__NativeArray
*)var40
)->values
[0] = (val
*) var_res
;
3231 ((struct instance_array__NativeArray
*)var40
)->values
[1] = (val
*) var23
;
3232 ((struct instance_array__NativeArray
*)var40
)->values
[2] = (val
*) var_a
;
3233 ((struct instance_array__NativeArray
*)var40
)->values
[3] = (val
*) var28
;
3234 ((struct instance_array__NativeArray
*)var40
)->values
[4] = (val
*) var32
;
3235 ((struct instance_array__NativeArray
*)var40
)->values
[5] = (val
*) var34
;
3237 ((void (*)(val
*, val
*, long))(var38
->class->vft
[COLOR_array__Array__with_native
]))(var38
, var40
, var39
) /* with_native on <var38:Array[Object]>*/;
3241 var41
= ((val
* (*)(val
*))(var38
->class->vft
[COLOR_string__Object__to_s
]))(var38
) /* to_s on <var38:Array[Object]>*/;
3244 abstract_compiler__AbstractCompilerVisitor__add(self
, var41
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
3251 var42
= separate_compiler__MProperty__const_color(var_a
);
3254 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var42
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
3257 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
3258 var45
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
3259 if (unlikely(var45
== NULL
)) {
3260 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3261 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
3265 RET_LABEL44
:(void)0;
3269 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var43) on <var43:AbstractCompiler(SeparateCompiler)> */
3270 var48
= var43
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var43:AbstractCompiler(SeparateCompiler)> */
3271 if (unlikely(var48
== NULL
)) {
3272 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3273 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
3277 RET_LABEL47
:(void)0;
3281 { /* Inline modelbuilder#ModelBuilder#toolcontext (var46) on <var46:ModelBuilder> */
3282 var51
= var46
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var46:ModelBuilder> */
3283 if (unlikely(var51
== NULL
)) {
3284 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3285 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
3289 RET_LABEL50
:(void)0;
3293 { /* Inline separate_compiler#ToolContext#opt_no_union_attribute (var49) on <var49:ToolContext> */
3294 var54
= var49
->attrs
[COLOR_separate_compiler__ToolContext___opt_no_union_attribute
].val
; /* _opt_no_union_attribute on <var49:ToolContext> */
3295 if (unlikely(var54
== NULL
)) {
3296 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_union_attribute");
3297 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 28);
3301 RET_LABEL53
:(void)0;
3305 { /* Inline opts#Option#value (var52) on <var52:OptionBool> */
3306 var57
= var52
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var52:OptionBool> */
3308 RET_LABEL56
:(void)0;
3311 var58
= ((struct instance_kernel__Bool
*)var55
)->value
; /* autounbox from nullable Object to Bool */;
3318 var63
= string__NativeString__to_s_with_length(var61
, var62
);
3327 var68
= string__NativeString__to_s_with_length(var66
, var67
);
3332 var69
= separate_compiler__MProperty__const_color(var_a
);
3337 var72
= "] != NULL; /* ";
3339 var74
= string__NativeString__to_s_with_length(var72
, var73
);
3348 var79
= string__NativeString__to_s_with_length(var77
, var78
);
3353 var80
= abstract_compiler__RuntimeVariable__inspect(var_recv
);
3360 var85
= string__NativeString__to_s_with_length(var83
, var84
);
3364 var86
= NEW_array__Array(&type_array__Arraykernel__Object
);
3365 { /* var86 = array_instance Array[Object] */
3367 var88
= NEW_array__NativeArray(var87
, &type_array__NativeArraykernel__Object
);
3368 ((struct instance_array__NativeArray
*)var88
)->values
[0] = (val
*) var_res
;
3369 ((struct instance_array__NativeArray
*)var88
)->values
[1] = (val
*) var60
;
3370 ((struct instance_array__NativeArray
*)var88
)->values
[2] = (val
*) var_recv
;
3371 ((struct instance_array__NativeArray
*)var88
)->values
[3] = (val
*) var65
;
3372 ((struct instance_array__NativeArray
*)var88
)->values
[4] = (val
*) var69
;
3373 ((struct instance_array__NativeArray
*)var88
)->values
[5] = (val
*) var71
;
3374 ((struct instance_array__NativeArray
*)var88
)->values
[6] = (val
*) var_a
;
3375 ((struct instance_array__NativeArray
*)var88
)->values
[7] = (val
*) var76
;
3376 ((struct instance_array__NativeArray
*)var88
)->values
[8] = (val
*) var80
;
3377 ((struct instance_array__NativeArray
*)var88
)->values
[9] = (val
*) var82
;
3379 ((void (*)(val
*, val
*, long))(var86
->class->vft
[COLOR_array__Array__with_native
]))(var86
, var88
, var87
) /* with_native on <var86:Array[Object]>*/;
3383 var89
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_string__Object__to_s
]))(var86
) /* to_s on <var86:Array[Object]>*/;
3386 abstract_compiler__AbstractCompilerVisitor__add(self
, var89
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
3390 var90
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
3397 var95
= string__NativeString__to_s_with_length(var93
, var94
);
3402 var97
= string__FlatString___61d_61d(var90
, var92
);
3411 var102
= string__NativeString__to_s_with_length(var100
, var101
);
3416 var104
= varonce103
;
3418 var105
= "->attrs[";
3420 var107
= string__NativeString__to_s_with_length(var105
, var106
);
3422 varonce103
= var104
;
3425 var108
= separate_compiler__MProperty__const_color(var_a
);
3428 var110
= varonce109
;
3430 var111
= "].val != NULL; /* ";
3432 var113
= string__NativeString__to_s_with_length(var111
, var112
);
3434 varonce109
= var110
;
3437 var115
= varonce114
;
3441 var118
= string__NativeString__to_s_with_length(var116
, var117
);
3443 varonce114
= var115
;
3446 var119
= abstract_compiler__RuntimeVariable__inspect(var_recv
);
3449 var121
= varonce120
;
3453 var124
= string__NativeString__to_s_with_length(var122
, var123
);
3455 varonce120
= var121
;
3457 var125
= NEW_array__Array(&type_array__Arraykernel__Object
);
3458 { /* var125 = array_instance Array[Object] */
3460 var127
= NEW_array__NativeArray(var126
, &type_array__NativeArraykernel__Object
);
3461 ((struct instance_array__NativeArray
*)var127
)->values
[0] = (val
*) var_res
;
3462 ((struct instance_array__NativeArray
*)var127
)->values
[1] = (val
*) var99
;
3463 ((struct instance_array__NativeArray
*)var127
)->values
[2] = (val
*) var_recv
;
3464 ((struct instance_array__NativeArray
*)var127
)->values
[3] = (val
*) var104
;
3465 ((struct instance_array__NativeArray
*)var127
)->values
[4] = (val
*) var108
;
3466 ((struct instance_array__NativeArray
*)var127
)->values
[5] = (val
*) var110
;
3467 ((struct instance_array__NativeArray
*)var127
)->values
[6] = (val
*) var_a
;
3468 ((struct instance_array__NativeArray
*)var127
)->values
[7] = (val
*) var115
;
3469 ((struct instance_array__NativeArray
*)var127
)->values
[8] = (val
*) var119
;
3470 ((struct instance_array__NativeArray
*)var127
)->values
[9] = (val
*) var121
;
3472 ((void (*)(val
*, val
*, long))(var125
->class->vft
[COLOR_array__Array__with_native
]))(var125
, var127
, var126
) /* with_native on <var125:Array[Object]>*/;
3476 var128
= ((val
* (*)(val
*))(var125
->class->vft
[COLOR_string__Object__to_s
]))(var125
) /* to_s on <var125:Array[Object]>*/;
3479 abstract_compiler__AbstractCompilerVisitor__add(self
, var128
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
3483 var130
= varonce129
;
3485 var131
= " = 1; /* NOT YET IMPLEMENTED: isset of primitives: ";
3487 var133
= string__NativeString__to_s_with_length(var131
, var132
);
3489 varonce129
= var130
;
3492 var135
= varonce134
;
3496 var138
= string__NativeString__to_s_with_length(var136
, var137
);
3498 varonce134
= var135
;
3501 var139
= abstract_compiler__RuntimeVariable__inspect(var_recv
);
3504 var141
= varonce140
;
3508 var144
= string__NativeString__to_s_with_length(var142
, var143
);
3510 varonce140
= var141
;
3512 var145
= NEW_array__Array(&type_array__Arraykernel__Object
);
3513 { /* var145 = array_instance Array[Object] */
3515 var147
= NEW_array__NativeArray(var146
, &type_array__NativeArraykernel__Object
);
3516 ((struct instance_array__NativeArray
*)var147
)->values
[0] = (val
*) var_res
;
3517 ((struct instance_array__NativeArray
*)var147
)->values
[1] = (val
*) var130
;
3518 ((struct instance_array__NativeArray
*)var147
)->values
[2] = (val
*) var_a
;
3519 ((struct instance_array__NativeArray
*)var147
)->values
[3] = (val
*) var135
;
3520 ((struct instance_array__NativeArray
*)var147
)->values
[4] = (val
*) var139
;
3521 ((struct instance_array__NativeArray
*)var147
)->values
[5] = (val
*) var141
;
3523 ((void (*)(val
*, val
*, long))(var145
->class->vft
[COLOR_array__Array__with_native
]))(var145
, var147
, var146
) /* with_native on <var145:Array[Object]>*/;
3527 var148
= ((val
* (*)(val
*))(var145
->class->vft
[COLOR_string__Object__to_s
]))(var145
) /* to_s on <var145:Array[Object]>*/;
3530 abstract_compiler__AbstractCompilerVisitor__add(self
, var148
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
3539 /* method separate_compiler#SeparateCompilerVisitor#isset_attribute for (self: Object, MAttribute, RuntimeVariable): RuntimeVariable */
3540 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__isset_attribute(val
* self
, val
* p0
, val
* p1
) {
3541 val
* var
/* : RuntimeVariable */;
3542 val
* var1
/* : RuntimeVariable */;
3543 var1
= separate_compiler__SeparateCompilerVisitor__isset_attribute(self
, p0
, p1
);
3548 /* method separate_compiler#SeparateCompilerVisitor#read_attribute for (self: SeparateCompilerVisitor, MAttribute, RuntimeVariable): RuntimeVariable */
3549 val
* separate_compiler__SeparateCompilerVisitor__read_attribute(val
* self
, val
* p0
, val
* p1
) {
3550 val
* var
/* : RuntimeVariable */;
3551 val
* var_a
/* var a: MAttribute */;
3552 val
* var_recv
/* var recv: RuntimeVariable */;
3553 val
* var1
/* : MPropDef */;
3554 val
* var2
/* : nullable MType */;
3555 val
* var4
/* : nullable MType */;
3556 val
* var_ret
/* var ret: MType */;
3557 val
* var5
/* : MPropDef */;
3558 val
* var6
/* : MClassDef */;
3559 val
* var8
/* : MClassDef */;
3560 val
* var_intromclassdef
/* var intromclassdef: MClassDef */;
3561 val
* var9
/* : MClassType */;
3562 val
* var11
/* : MClassType */;
3563 val
* var12
/* : MClassType */;
3564 val
* var14
/* : MClassType */;
3565 val
* var15
/* : MModule */;
3566 val
* var17
/* : MModule */;
3567 short int var18
/* : Bool */;
3568 val
* var19
/* : MType */;
3569 val
* var20
/* : AbstractCompiler */;
3570 val
* var22
/* : AbstractCompiler */;
3571 val
* var23
/* : ModelBuilder */;
3572 val
* var25
/* : ModelBuilder */;
3573 val
* var26
/* : ToolContext */;
3574 val
* var28
/* : ToolContext */;
3575 val
* var29
/* : OptionBool */;
3576 val
* var31
/* : OptionBool */;
3577 val
* var32
/* : nullable Object */;
3578 val
* var34
/* : nullable Object */;
3579 short int var35
/* : Bool */;
3580 val
* var36
/* : AbstractCompiler */;
3581 val
* var38
/* : AbstractCompiler */;
3582 val
* var_
/* var : SeparateCompiler */;
3583 long var39
/* : Int */;
3584 long var41
/* : Int */;
3585 long var42
/* : Int */;
3586 long var43
/* : Int */;
3587 short int var45
/* : Bool */;
3590 const char* var_class_name
;
3591 long var46
/* : Int */;
3592 static val
* varonce
;
3593 val
* var48
/* : String */;
3594 char* var49
/* : NativeString */;
3595 long var50
/* : Int */;
3596 val
* var51
/* : FlatString */;
3597 val
* var52
/* : String */;
3598 val
* var53
/* : AbstractCompiler */;
3599 val
* var55
/* : AbstractCompiler */;
3600 val
* var56
/* : ModelBuilder */;
3601 val
* var58
/* : ModelBuilder */;
3602 val
* var59
/* : ToolContext */;
3603 val
* var61
/* : ToolContext */;
3604 val
* var62
/* : OptionBool */;
3605 val
* var64
/* : OptionBool */;
3606 val
* var65
/* : nullable Object */;
3607 val
* var67
/* : nullable Object */;
3608 short int var68
/* : Bool */;
3609 val
* var69
/* : MClassType */;
3610 val
* var70
/* : MType */;
3611 val
* var_cret
/* var cret: MType */;
3612 val
* var71
/* : RuntimeVariable */;
3613 val
* var_res
/* var res: RuntimeVariable */;
3614 static val
* varonce73
;
3615 val
* var74
/* : String */;
3616 char* var75
/* : NativeString */;
3617 long var76
/* : Int */;
3618 val
* var77
/* : FlatString */;
3619 static val
* varonce78
;
3620 val
* var79
/* : String */;
3621 char* var80
/* : NativeString */;
3622 long var81
/* : Int */;
3623 val
* var82
/* : FlatString */;
3624 val
* var83
/* : String */;
3625 static val
* varonce84
;
3626 val
* var85
/* : String */;
3627 char* var86
/* : NativeString */;
3628 long var87
/* : Int */;
3629 val
* var88
/* : FlatString */;
3630 static val
* varonce89
;
3631 val
* var90
/* : String */;
3632 char* var91
/* : NativeString */;
3633 long var92
/* : Int */;
3634 val
* var93
/* : FlatString */;
3635 val
* var94
/* : String */;
3636 static val
* varonce95
;
3637 val
* var96
/* : String */;
3638 char* var97
/* : NativeString */;
3639 long var98
/* : Int */;
3640 val
* var99
/* : FlatString */;
3641 val
* var100
/* : Array[Object] */;
3642 long var101
/* : Int */;
3643 val
* var102
/* : NativeArray[Object] */;
3644 val
* var103
/* : String */;
3645 short int var104
/* : Bool */;
3646 short int var105
/* : Bool */;
3649 short int var108
/* : Bool */;
3650 short int var_109
/* var : Bool */;
3651 val
* var110
/* : AbstractCompiler */;
3652 val
* var112
/* : AbstractCompiler */;
3653 val
* var113
/* : ModelBuilder */;
3654 val
* var115
/* : ModelBuilder */;
3655 val
* var116
/* : ToolContext */;
3656 val
* var118
/* : ToolContext */;
3657 val
* var119
/* : OptionBool */;
3658 val
* var121
/* : OptionBool */;
3659 val
* var122
/* : nullable Object */;
3660 val
* var124
/* : nullable Object */;
3661 short int var125
/* : Bool */;
3662 short int var126
/* : Bool */;
3663 static val
* varonce127
;
3664 val
* var128
/* : String */;
3665 char* var129
/* : NativeString */;
3666 long var130
/* : Int */;
3667 val
* var131
/* : FlatString */;
3668 static val
* varonce132
;
3669 val
* var133
/* : String */;
3670 char* var134
/* : NativeString */;
3671 long var135
/* : Int */;
3672 val
* var136
/* : FlatString */;
3673 val
* var137
/* : Array[Object] */;
3674 long var138
/* : Int */;
3675 val
* var139
/* : NativeArray[Object] */;
3676 val
* var140
/* : String */;
3677 static val
* varonce141
;
3678 val
* var142
/* : String */;
3679 char* var143
/* : NativeString */;
3680 long var144
/* : Int */;
3681 val
* var145
/* : FlatString */;
3682 val
* var146
/* : String */;
3683 val
* var148
/* : String */;
3684 val
* var149
/* : Array[Object] */;
3685 long var150
/* : Int */;
3686 val
* var151
/* : NativeArray[Object] */;
3687 val
* var152
/* : String */;
3688 static val
* varonce153
;
3689 val
* var154
/* : String */;
3690 char* var155
/* : NativeString */;
3691 long var156
/* : Int */;
3692 val
* var157
/* : FlatString */;
3693 val
* var158
/* : AbstractCompiler */;
3694 val
* var160
/* : AbstractCompiler */;
3695 val
* var161
/* : ModelBuilder */;
3696 val
* var163
/* : ModelBuilder */;
3697 val
* var164
/* : ToolContext */;
3698 val
* var166
/* : ToolContext */;
3699 val
* var167
/* : OptionBool */;
3700 val
* var169
/* : OptionBool */;
3701 val
* var170
/* : nullable Object */;
3702 val
* var172
/* : nullable Object */;
3703 short int var173
/* : Bool */;
3704 val
* var174
/* : AbstractCompiler */;
3705 val
* var176
/* : AbstractCompiler */;
3706 val
* var_177
/* var : SeparateCompiler */;
3707 long var178
/* : Int */;
3708 long var180
/* : Int */;
3709 long var181
/* : Int */;
3710 long var182
/* : Int */;
3711 short int var184
/* : Bool */;
3714 const char* var_class_name187
;
3715 long var188
/* : Int */;
3716 static val
* varonce190
;
3717 val
* var191
/* : String */;
3718 char* var192
/* : NativeString */;
3719 long var193
/* : Int */;
3720 val
* var194
/* : FlatString */;
3721 val
* var195
/* : RuntimeVariable */;
3722 val
* var196
/* : RuntimeVariable */;
3723 val
* var_res197
/* var res: RuntimeVariable */;
3724 static val
* varonce198
;
3725 val
* var199
/* : String */;
3726 char* var200
/* : NativeString */;
3727 long var201
/* : Int */;
3728 val
* var202
/* : FlatString */;
3729 static val
* varonce203
;
3730 val
* var204
/* : String */;
3731 char* var205
/* : NativeString */;
3732 long var206
/* : Int */;
3733 val
* var207
/* : FlatString */;
3734 val
* var208
/* : String */;
3735 static val
* varonce209
;
3736 val
* var210
/* : String */;
3737 char* var211
/* : NativeString */;
3738 long var212
/* : Int */;
3739 val
* var213
/* : FlatString */;
3740 val
* var214
/* : String */;
3741 static val
* varonce215
;
3742 val
* var216
/* : String */;
3743 char* var217
/* : NativeString */;
3744 long var218
/* : Int */;
3745 val
* var219
/* : FlatString */;
3746 static val
* varonce220
;
3747 val
* var221
/* : String */;
3748 char* var222
/* : NativeString */;
3749 long var223
/* : Int */;
3750 val
* var224
/* : FlatString */;
3751 val
* var225
/* : String */;
3752 static val
* varonce226
;
3753 val
* var227
/* : String */;
3754 char* var228
/* : NativeString */;
3755 long var229
/* : Int */;
3756 val
* var230
/* : FlatString */;
3757 val
* var231
/* : Array[Object] */;
3758 long var232
/* : Int */;
3759 val
* var233
/* : NativeArray[Object] */;
3760 val
* var234
/* : String */;
3761 short int var235
/* : Bool */;
3762 short int var236
/* : Bool */;
3763 val
* var237
/* : String */;
3764 static val
* varonce238
;
3765 val
* var239
/* : String */;
3766 char* var240
/* : NativeString */;
3767 long var241
/* : Int */;
3768 val
* var242
/* : FlatString */;
3769 short int var243
/* : Bool */;
3770 short int var244
/* : Bool */;
3771 short int var_245
/* var : Bool */;
3772 short int var246
/* : Bool */;
3775 short int var249
/* : Bool */;
3776 short int var_250
/* var : Bool */;
3777 val
* var251
/* : AbstractCompiler */;
3778 val
* var253
/* : AbstractCompiler */;
3779 val
* var254
/* : ModelBuilder */;
3780 val
* var256
/* : ModelBuilder */;
3781 val
* var257
/* : ToolContext */;
3782 val
* var259
/* : ToolContext */;
3783 val
* var260
/* : OptionBool */;
3784 val
* var262
/* : OptionBool */;
3785 val
* var263
/* : nullable Object */;
3786 val
* var265
/* : nullable Object */;
3787 short int var266
/* : Bool */;
3788 short int var267
/* : Bool */;
3789 static val
* varonce268
;
3790 val
* var269
/* : String */;
3791 char* var270
/* : NativeString */;
3792 long var271
/* : Int */;
3793 val
* var272
/* : FlatString */;
3794 static val
* varonce273
;
3795 val
* var274
/* : String */;
3796 char* var275
/* : NativeString */;
3797 long var276
/* : Int */;
3798 val
* var277
/* : FlatString */;
3799 val
* var278
/* : Array[Object] */;
3800 long var279
/* : Int */;
3801 val
* var280
/* : NativeArray[Object] */;
3802 val
* var281
/* : String */;
3803 static val
* varonce282
;
3804 val
* var283
/* : String */;
3805 char* var284
/* : NativeString */;
3806 long var285
/* : Int */;
3807 val
* var286
/* : FlatString */;
3808 val
* var287
/* : String */;
3809 val
* var289
/* : String */;
3810 val
* var290
/* : Array[Object] */;
3811 long var291
/* : Int */;
3812 val
* var292
/* : NativeArray[Object] */;
3813 val
* var293
/* : String */;
3814 static val
* varonce294
;
3815 val
* var295
/* : String */;
3816 char* var296
/* : NativeString */;
3817 long var297
/* : Int */;
3818 val
* var298
/* : FlatString */;
3819 val
* var299
/* : AbstractCompiler */;
3820 val
* var301
/* : AbstractCompiler */;
3821 val
* var302
/* : ModelBuilder */;
3822 val
* var304
/* : ModelBuilder */;
3823 val
* var305
/* : ToolContext */;
3824 val
* var307
/* : ToolContext */;
3825 val
* var308
/* : OptionBool */;
3826 val
* var310
/* : OptionBool */;
3827 val
* var311
/* : nullable Object */;
3828 val
* var313
/* : nullable Object */;
3829 short int var314
/* : Bool */;
3830 val
* var315
/* : AbstractCompiler */;
3831 val
* var317
/* : AbstractCompiler */;
3832 val
* var_318
/* var : SeparateCompiler */;
3833 long var319
/* : Int */;
3834 long var321
/* : Int */;
3835 long var322
/* : Int */;
3836 long var323
/* : Int */;
3837 short int var325
/* : Bool */;
3840 const char* var_class_name328
;
3841 long var329
/* : Int */;
3842 static val
* varonce331
;
3843 val
* var332
/* : String */;
3844 char* var333
/* : NativeString */;
3845 long var334
/* : Int */;
3846 val
* var335
/* : FlatString */;
3850 abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(self
, var_recv
); /* Direct call abstract_compiler#AbstractCompilerVisitor#check_recv_notnull on <self:SeparateCompilerVisitor>*/
3853 var1
= model__MProperty__intro(var_a
);
3856 { /* Inline model#MAttributeDef#static_mtype (var1) on <var1:MPropDef(MAttributeDef)> */
3857 var4
= var1
->attrs
[COLOR_model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var1:MPropDef(MAttributeDef)> */
3862 if (unlikely(var2
== NULL
)) {
3863 PRINT_ERROR("Runtime error: %s", "Cast failed");
3864 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 1235);
3869 var5
= model__MProperty__intro(var_a
);
3872 { /* Inline model#MPropDef#mclassdef (var5) on <var5:MPropDef(MAttributeDef)> */
3873 var8
= var5
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var5:MPropDef(MAttributeDef)> */
3874 if (unlikely(var8
== NULL
)) {
3875 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
3876 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
3883 var_intromclassdef
= var6
;
3885 { /* Inline model#MClassDef#bound_mtype (var_intromclassdef) on <var_intromclassdef:MClassDef> */
3886 var11
= var_intromclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intromclassdef:MClassDef> */
3887 if (unlikely(var11
== NULL
)) {
3888 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3889 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
3893 RET_LABEL10
:(void)0;
3897 { /* Inline model#MClassDef#bound_mtype (var_intromclassdef) on <var_intromclassdef:MClassDef> */
3898 var14
= var_intromclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intromclassdef:MClassDef> */
3899 if (unlikely(var14
== NULL
)) {
3900 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3901 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
3905 RET_LABEL13
:(void)0;
3909 { /* Inline model#MClassDef#mmodule (var_intromclassdef) on <var_intromclassdef:MClassDef> */
3910 var17
= var_intromclassdef
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_intromclassdef:MClassDef> */
3911 if (unlikely(var17
== NULL
)) {
3912 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3913 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
3917 RET_LABEL16
:(void)0;
3922 var19
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_ret
->class->vft
[COLOR_model__MType__resolve_for
]))(var_ret
, var9
, var12
, var15
, var18
) /* resolve_for on <var_ret:MType>*/;
3926 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
3927 var22
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
3928 if (unlikely(var22
== NULL
)) {
3929 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3930 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
3934 RET_LABEL21
:(void)0;
3938 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var20) on <var20:AbstractCompiler(SeparateCompiler)> */
3939 var25
= var20
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var20:AbstractCompiler(SeparateCompiler)> */
3940 if (unlikely(var25
== NULL
)) {
3941 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3942 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
3946 RET_LABEL24
:(void)0;
3950 { /* Inline modelbuilder#ModelBuilder#toolcontext (var23) on <var23:ModelBuilder> */
3951 var28
= var23
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var23:ModelBuilder> */
3952 if (unlikely(var28
== NULL
)) {
3953 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3954 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
3958 RET_LABEL27
:(void)0;
3962 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var26) on <var26:ToolContext> */
3963 var31
= var26
->attrs
[COLOR_abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var26:ToolContext> */
3964 if (unlikely(var31
== NULL
)) {
3965 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
3966 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 60);
3970 RET_LABEL30
:(void)0;
3974 { /* Inline opts#Option#value (var29) on <var29:OptionBool> */
3975 var34
= var29
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var29:OptionBool> */
3977 RET_LABEL33
:(void)0;
3980 var35
= ((struct instance_kernel__Bool
*)var32
)->value
; /* autounbox from nullable Object to Bool */;
3983 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
3984 var38
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
3985 if (unlikely(var38
== NULL
)) {
3986 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3987 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
3991 RET_LABEL37
:(void)0;
3996 { /* Inline separate_compiler#SeparateCompiler#attr_read_count (var_) on <var_:SeparateCompiler> */
3997 var41
= var_
->attrs
[COLOR_separate_compiler__SeparateCompiler___attr_read_count
].l
; /* _attr_read_count on <var_:SeparateCompiler> */
3999 RET_LABEL40
:(void)0;
4004 { /* Inline kernel#Int#+ (var39,var42) on <var39:Int> */
4005 /* Covariant cast for argument 0 (i) <var42:Int> isa OTHER */
4006 /* <var42:Int> isa OTHER */
4007 var45
= 1; /* easy <var42:Int> isa OTHER*/
4008 if (unlikely(!var45
)) {
4009 var_class_name
= type_kernel__Int
.name
;
4010 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4011 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
4014 var46
= var39
+ var42
;
4017 RET_LABEL44
:(void)0;
4021 { /* Inline separate_compiler#SeparateCompiler#attr_read_count= (var_,var43) on <var_:SeparateCompiler> */
4022 var_
->attrs
[COLOR_separate_compiler__SeparateCompiler___attr_read_count
].l
= var43
; /* _attr_read_count on <var_:SeparateCompiler> */
4023 RET_LABEL47
:(void)0;
4029 var49
= "count_attr_reads++;";
4031 var51
= string__NativeString__to_s_with_length(var49
, var50
);
4036 abstract_compiler__AbstractCompilerVisitor__add(self
, var48
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4041 var52
= separate_compiler__MProperty__const_color(var_a
);
4044 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var52
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
4047 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
4048 var55
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
4049 if (unlikely(var55
== NULL
)) {
4050 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4051 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
4055 RET_LABEL54
:(void)0;
4059 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var53) on <var53:AbstractCompiler(SeparateCompiler)> */
4060 var58
= var53
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var53:AbstractCompiler(SeparateCompiler)> */
4061 if (unlikely(var58
== NULL
)) {
4062 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4063 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
4067 RET_LABEL57
:(void)0;
4071 { /* Inline modelbuilder#ModelBuilder#toolcontext (var56) on <var56:ModelBuilder> */
4072 var61
= var56
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var56:ModelBuilder> */
4073 if (unlikely(var61
== NULL
)) {
4074 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4075 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
4079 RET_LABEL60
:(void)0;
4083 { /* Inline separate_compiler#ToolContext#opt_no_union_attribute (var59) on <var59:ToolContext> */
4084 var64
= var59
->attrs
[COLOR_separate_compiler__ToolContext___opt_no_union_attribute
].val
; /* _opt_no_union_attribute on <var59:ToolContext> */
4085 if (unlikely(var64
== NULL
)) {
4086 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_union_attribute");
4087 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 28);
4091 RET_LABEL63
:(void)0;
4095 { /* Inline opts#Option#value (var62) on <var62:OptionBool> */
4096 var67
= var62
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var62:OptionBool> */
4098 RET_LABEL66
:(void)0;
4101 var68
= ((struct instance_kernel__Bool
*)var65
)->value
; /* autounbox from nullable Object to Bool */;
4104 var69
= abstract_compiler__AbstractCompilerVisitor__object_type(self
);
4107 var70
= model__MType__as_nullable(var69
);
4111 var71
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var_cret
);
4115 { /* Inline abstract_compiler#RuntimeVariable#mcasttype= (var_res,var_ret) on <var_res:RuntimeVariable> */
4116 var_res
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
= var_ret
; /* _mcasttype on <var_res:RuntimeVariable> */
4117 RET_LABEL72
:(void)0;
4125 var77
= string__NativeString__to_s_with_length(var75
, var76
);
4134 var82
= string__NativeString__to_s_with_length(var80
, var81
);
4139 var83
= separate_compiler__MProperty__const_color(var_a
);
4146 var88
= string__NativeString__to_s_with_length(var86
, var87
);
4155 var93
= string__NativeString__to_s_with_length(var91
, var92
);
4160 var94
= abstract_compiler__RuntimeVariable__inspect(var_recv
);
4167 var99
= string__NativeString__to_s_with_length(var97
, var98
);
4171 var100
= NEW_array__Array(&type_array__Arraykernel__Object
);
4172 { /* var100 = array_instance Array[Object] */
4174 var102
= NEW_array__NativeArray(var101
, &type_array__NativeArraykernel__Object
);
4175 ((struct instance_array__NativeArray
*)var102
)->values
[0] = (val
*) var_res
;
4176 ((struct instance_array__NativeArray
*)var102
)->values
[1] = (val
*) var74
;
4177 ((struct instance_array__NativeArray
*)var102
)->values
[2] = (val
*) var_recv
;
4178 ((struct instance_array__NativeArray
*)var102
)->values
[3] = (val
*) var79
;
4179 ((struct instance_array__NativeArray
*)var102
)->values
[4] = (val
*) var83
;
4180 ((struct instance_array__NativeArray
*)var102
)->values
[5] = (val
*) var85
;
4181 ((struct instance_array__NativeArray
*)var102
)->values
[6] = (val
*) var_a
;
4182 ((struct instance_array__NativeArray
*)var102
)->values
[7] = (val
*) var90
;
4183 ((struct instance_array__NativeArray
*)var102
)->values
[8] = (val
*) var94
;
4184 ((struct instance_array__NativeArray
*)var102
)->values
[9] = (val
*) var96
;
4186 ((void (*)(val
*, val
*, long))(var100
->class->vft
[COLOR_array__Array__with_native
]))(var100
, var102
, var101
) /* with_native on <var100:Array[Object]>*/;
4190 var103
= ((val
* (*)(val
*))(var100
->class->vft
[COLOR_string__Object__to_s
]))(var100
) /* to_s on <var100:Array[Object]>*/;
4193 abstract_compiler__AbstractCompilerVisitor__add(self
, var103
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4195 /* <var_ret:MType> isa MNullableType */
4196 cltype106
= type_model__MNullableType
.color
;
4197 idtype107
= type_model__MNullableType
.id
;
4198 if(cltype106
>= var_ret
->type
->table_size
) {
4201 var105
= var_ret
->type
->type_table
[cltype106
] == idtype107
;
4207 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
4208 var112
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
4209 if (unlikely(var112
== NULL
)) {
4210 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4211 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
4215 RET_LABEL111
:(void)0;
4219 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var110) on <var110:AbstractCompiler(SeparateCompiler)> */
4220 var115
= var110
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var110:AbstractCompiler(SeparateCompiler)> */
4221 if (unlikely(var115
== NULL
)) {
4222 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4223 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
4227 RET_LABEL114
:(void)0;
4231 { /* Inline modelbuilder#ModelBuilder#toolcontext (var113) on <var113:ModelBuilder> */
4232 var118
= var113
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var113:ModelBuilder> */
4233 if (unlikely(var118
== NULL
)) {
4234 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4235 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
4239 RET_LABEL117
:(void)0;
4243 { /* Inline abstract_compiler#ToolContext#opt_no_check_attr_isset (var116) on <var116:ToolContext> */
4244 var121
= var116
->attrs
[COLOR_abstract_compiler__ToolContext___opt_no_check_attr_isset
].val
; /* _opt_no_check_attr_isset on <var116:ToolContext> */
4245 if (unlikely(var121
== NULL
)) {
4246 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_attr_isset");
4247 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 48);
4251 RET_LABEL120
:(void)0;
4255 { /* Inline opts#Option#value (var119) on <var119:OptionBool> */
4256 var124
= var119
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var119:OptionBool> */
4258 RET_LABEL123
:(void)0;
4261 var125
= ((struct instance_kernel__Bool
*)var122
)->value
; /* autounbox from nullable Object to Bool */;
4269 var128
= varonce127
;
4271 var129
= "if (unlikely(";
4273 var131
= string__NativeString__to_s_with_length(var129
, var130
);
4275 varonce127
= var128
;
4278 var133
= varonce132
;
4280 var134
= " == NULL)) {";
4282 var136
= string__NativeString__to_s_with_length(var134
, var135
);
4284 varonce132
= var133
;
4286 var137
= NEW_array__Array(&type_array__Arraykernel__Object
);
4287 { /* var137 = array_instance Array[Object] */
4289 var139
= NEW_array__NativeArray(var138
, &type_array__NativeArraykernel__Object
);
4290 ((struct instance_array__NativeArray
*)var139
)->values
[0] = (val
*) var128
;
4291 ((struct instance_array__NativeArray
*)var139
)->values
[1] = (val
*) var_res
;
4292 ((struct instance_array__NativeArray
*)var139
)->values
[2] = (val
*) var133
;
4294 ((void (*)(val
*, val
*, long))(var137
->class->vft
[COLOR_array__Array__with_native
]))(var137
, var139
, var138
) /* with_native on <var137:Array[Object]>*/;
4298 var140
= ((val
* (*)(val
*))(var137
->class->vft
[COLOR_string__Object__to_s
]))(var137
) /* to_s on <var137:Array[Object]>*/;
4301 abstract_compiler__AbstractCompilerVisitor__add(self
, var140
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4304 var142
= varonce141
;
4306 var143
= "Uninitialized attribute ";
4308 var145
= string__NativeString__to_s_with_length(var143
, var144
);
4310 varonce141
= var142
;
4313 { /* Inline model#MProperty#name (var_a) on <var_a:MAttribute> */
4314 var148
= var_a
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var_a:MAttribute> */
4315 if (unlikely(var148
== NULL
)) {
4316 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4317 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1607);
4321 RET_LABEL147
:(void)0;
4324 var149
= NEW_array__Array(&type_array__Arraykernel__Object
);
4325 { /* var149 = array_instance Array[Object] */
4327 var151
= NEW_array__NativeArray(var150
, &type_array__NativeArraykernel__Object
);
4328 ((struct instance_array__NativeArray
*)var151
)->values
[0] = (val
*) var142
;
4329 ((struct instance_array__NativeArray
*)var151
)->values
[1] = (val
*) var146
;
4331 ((void (*)(val
*, val
*, long))(var149
->class->vft
[COLOR_array__Array__with_native
]))(var149
, var151
, var150
) /* with_native on <var149:Array[Object]>*/;
4335 var152
= ((val
* (*)(val
*))(var149
->class->vft
[COLOR_string__Object__to_s
]))(var149
) /* to_s on <var149:Array[Object]>*/;
4338 abstract_compiler__AbstractCompilerVisitor__add_abort(self
, var152
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:SeparateCompilerVisitor>*/
4341 var154
= varonce153
;
4345 var157
= string__NativeString__to_s_with_length(var155
, var156
);
4347 varonce153
= var154
;
4350 abstract_compiler__AbstractCompilerVisitor__add(self
, var154
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4353 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
4354 var160
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
4355 if (unlikely(var160
== NULL
)) {
4356 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4357 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
4361 RET_LABEL159
:(void)0;
4365 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var158) on <var158:AbstractCompiler(SeparateCompiler)> */
4366 var163
= var158
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var158:AbstractCompiler(SeparateCompiler)> */
4367 if (unlikely(var163
== NULL
)) {
4368 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4369 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
4373 RET_LABEL162
:(void)0;
4377 { /* Inline modelbuilder#ModelBuilder#toolcontext (var161) on <var161:ModelBuilder> */
4378 var166
= var161
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var161:ModelBuilder> */
4379 if (unlikely(var166
== NULL
)) {
4380 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4381 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
4385 RET_LABEL165
:(void)0;
4389 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var164) on <var164:ToolContext> */
4390 var169
= var164
->attrs
[COLOR_abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var164:ToolContext> */
4391 if (unlikely(var169
== NULL
)) {
4392 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
4393 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 60);
4397 RET_LABEL168
:(void)0;
4401 { /* Inline opts#Option#value (var167) on <var167:OptionBool> */
4402 var172
= var167
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var167:OptionBool> */
4404 RET_LABEL171
:(void)0;
4407 var173
= ((struct instance_kernel__Bool
*)var170
)->value
; /* autounbox from nullable Object to Bool */;
4410 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
4411 var176
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
4412 if (unlikely(var176
== NULL
)) {
4413 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4414 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
4418 RET_LABEL175
:(void)0;
4423 { /* Inline separate_compiler#SeparateCompiler#isset_checks_count (var_177) on <var_177:SeparateCompiler> */
4424 var180
= var_177
->attrs
[COLOR_separate_compiler__SeparateCompiler___isset_checks_count
].l
; /* _isset_checks_count on <var_177:SeparateCompiler> */
4426 RET_LABEL179
:(void)0;
4431 { /* Inline kernel#Int#+ (var178,var181) on <var178:Int> */
4432 /* Covariant cast for argument 0 (i) <var181:Int> isa OTHER */
4433 /* <var181:Int> isa OTHER */
4434 var184
= 1; /* easy <var181:Int> isa OTHER*/
4435 if (unlikely(!var184
)) {
4436 var_class_name187
= type_kernel__Int
.name
;
4437 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name187
);
4438 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
4441 var188
= var178
+ var181
;
4444 RET_LABEL183
:(void)0;
4448 { /* Inline separate_compiler#SeparateCompiler#isset_checks_count= (var_177,var182) on <var_177:SeparateCompiler> */
4449 var_177
->attrs
[COLOR_separate_compiler__SeparateCompiler___isset_checks_count
].l
= var182
; /* _isset_checks_count on <var_177:SeparateCompiler> */
4450 RET_LABEL189
:(void)0;
4454 var191
= varonce190
;
4456 var192
= "count_isset_checks++;";
4458 var194
= string__NativeString__to_s_with_length(var192
, var193
);
4460 varonce190
= var191
;
4463 abstract_compiler__AbstractCompilerVisitor__add(self
, var191
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4470 var195
= separate_compiler__SeparateCompilerVisitor__autobox(self
, var_res
, var_ret
);
4476 var196
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var_ret
);
4478 var_res197
= var196
;
4480 var199
= varonce198
;
4484 var202
= string__NativeString__to_s_with_length(var200
, var201
);
4486 varonce198
= var199
;
4489 var204
= varonce203
;
4491 var205
= "->attrs[";
4493 var207
= string__NativeString__to_s_with_length(var205
, var206
);
4495 varonce203
= var204
;
4498 var208
= separate_compiler__MProperty__const_color(var_a
);
4501 var210
= varonce209
;
4505 var213
= string__NativeString__to_s_with_length(var211
, var212
);
4507 varonce209
= var210
;
4510 var214
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctypename
]))(var_ret
) /* ctypename on <var_ret:MType>*/;
4513 var216
= varonce215
;
4517 var219
= string__NativeString__to_s_with_length(var217
, var218
);
4519 varonce215
= var216
;
4522 var221
= varonce220
;
4526 var224
= string__NativeString__to_s_with_length(var222
, var223
);
4528 varonce220
= var221
;
4531 var225
= abstract_compiler__RuntimeVariable__inspect(var_recv
);
4534 var227
= varonce226
;
4538 var230
= string__NativeString__to_s_with_length(var228
, var229
);
4540 varonce226
= var227
;
4542 var231
= NEW_array__Array(&type_array__Arraykernel__Object
);
4543 { /* var231 = array_instance Array[Object] */
4545 var233
= NEW_array__NativeArray(var232
, &type_array__NativeArraykernel__Object
);
4546 ((struct instance_array__NativeArray
*)var233
)->values
[0] = (val
*) var_res197
;
4547 ((struct instance_array__NativeArray
*)var233
)->values
[1] = (val
*) var199
;
4548 ((struct instance_array__NativeArray
*)var233
)->values
[2] = (val
*) var_recv
;
4549 ((struct instance_array__NativeArray
*)var233
)->values
[3] = (val
*) var204
;
4550 ((struct instance_array__NativeArray
*)var233
)->values
[4] = (val
*) var208
;
4551 ((struct instance_array__NativeArray
*)var233
)->values
[5] = (val
*) var210
;
4552 ((struct instance_array__NativeArray
*)var233
)->values
[6] = (val
*) var214
;
4553 ((struct instance_array__NativeArray
*)var233
)->values
[7] = (val
*) var216
;
4554 ((struct instance_array__NativeArray
*)var233
)->values
[8] = (val
*) var_a
;
4555 ((struct instance_array__NativeArray
*)var233
)->values
[9] = (val
*) var221
;
4556 ((struct instance_array__NativeArray
*)var233
)->values
[10] = (val
*) var225
;
4557 ((struct instance_array__NativeArray
*)var233
)->values
[11] = (val
*) var227
;
4559 ((void (*)(val
*, val
*, long))(var231
->class->vft
[COLOR_array__Array__with_native
]))(var231
, var233
, var232
) /* with_native on <var231:Array[Object]>*/;
4563 var234
= ((val
* (*)(val
*))(var231
->class->vft
[COLOR_string__Object__to_s
]))(var231
) /* to_s on <var231:Array[Object]>*/;
4566 abstract_compiler__AbstractCompilerVisitor__add(self
, var234
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4569 var237
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:MType>*/;
4572 var239
= varonce238
;
4576 var242
= string__NativeString__to_s_with_length(var240
, var241
);
4578 varonce238
= var239
;
4581 var244
= string__FlatString___61d_61d(var237
, var239
);
4586 /* <var_ret:MType> isa MNullableType */
4587 cltype247
= type_model__MNullableType
.color
;
4588 idtype248
= type_model__MNullableType
.id
;
4589 if(cltype247
>= var_ret
->type
->table_size
) {
4592 var246
= var_ret
->type
->type_table
[cltype247
] == idtype248
;
4602 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
4603 var253
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
4604 if (unlikely(var253
== NULL
)) {
4605 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4606 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
4610 RET_LABEL252
:(void)0;
4614 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var251) on <var251:AbstractCompiler(SeparateCompiler)> */
4615 var256
= var251
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var251:AbstractCompiler(SeparateCompiler)> */
4616 if (unlikely(var256
== NULL
)) {
4617 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4618 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
4622 RET_LABEL255
:(void)0;
4626 { /* Inline modelbuilder#ModelBuilder#toolcontext (var254) on <var254:ModelBuilder> */
4627 var259
= var254
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var254:ModelBuilder> */
4628 if (unlikely(var259
== NULL
)) {
4629 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4630 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
4634 RET_LABEL258
:(void)0;
4638 { /* Inline abstract_compiler#ToolContext#opt_no_check_attr_isset (var257) on <var257:ToolContext> */
4639 var262
= var257
->attrs
[COLOR_abstract_compiler__ToolContext___opt_no_check_attr_isset
].val
; /* _opt_no_check_attr_isset on <var257:ToolContext> */
4640 if (unlikely(var262
== NULL
)) {
4641 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_attr_isset");
4642 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 48);
4646 RET_LABEL261
:(void)0;
4650 { /* Inline opts#Option#value (var260) on <var260:OptionBool> */
4651 var265
= var260
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var260:OptionBool> */
4653 RET_LABEL264
:(void)0;
4656 var266
= ((struct instance_kernel__Bool
*)var263
)->value
; /* autounbox from nullable Object to Bool */;
4664 var269
= varonce268
;
4666 var270
= "if (unlikely(";
4668 var272
= string__NativeString__to_s_with_length(var270
, var271
);
4670 varonce268
= var269
;
4673 var274
= varonce273
;
4675 var275
= " == NULL)) {";
4677 var277
= string__NativeString__to_s_with_length(var275
, var276
);
4679 varonce273
= var274
;
4681 var278
= NEW_array__Array(&type_array__Arraykernel__Object
);
4682 { /* var278 = array_instance Array[Object] */
4684 var280
= NEW_array__NativeArray(var279
, &type_array__NativeArraykernel__Object
);
4685 ((struct instance_array__NativeArray
*)var280
)->values
[0] = (val
*) var269
;
4686 ((struct instance_array__NativeArray
*)var280
)->values
[1] = (val
*) var_res197
;
4687 ((struct instance_array__NativeArray
*)var280
)->values
[2] = (val
*) var274
;
4689 ((void (*)(val
*, val
*, long))(var278
->class->vft
[COLOR_array__Array__with_native
]))(var278
, var280
, var279
) /* with_native on <var278:Array[Object]>*/;
4693 var281
= ((val
* (*)(val
*))(var278
->class->vft
[COLOR_string__Object__to_s
]))(var278
) /* to_s on <var278:Array[Object]>*/;
4696 abstract_compiler__AbstractCompilerVisitor__add(self
, var281
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4699 var283
= varonce282
;
4701 var284
= "Uninitialized attribute ";
4703 var286
= string__NativeString__to_s_with_length(var284
, var285
);
4705 varonce282
= var283
;
4708 { /* Inline model#MProperty#name (var_a) on <var_a:MAttribute> */
4709 var289
= var_a
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var_a:MAttribute> */
4710 if (unlikely(var289
== NULL
)) {
4711 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4712 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1607);
4716 RET_LABEL288
:(void)0;
4719 var290
= NEW_array__Array(&type_array__Arraykernel__Object
);
4720 { /* var290 = array_instance Array[Object] */
4722 var292
= NEW_array__NativeArray(var291
, &type_array__NativeArraykernel__Object
);
4723 ((struct instance_array__NativeArray
*)var292
)->values
[0] = (val
*) var283
;
4724 ((struct instance_array__NativeArray
*)var292
)->values
[1] = (val
*) var287
;
4726 ((void (*)(val
*, val
*, long))(var290
->class->vft
[COLOR_array__Array__with_native
]))(var290
, var292
, var291
) /* with_native on <var290:Array[Object]>*/;
4730 var293
= ((val
* (*)(val
*))(var290
->class->vft
[COLOR_string__Object__to_s
]))(var290
) /* to_s on <var290:Array[Object]>*/;
4733 abstract_compiler__AbstractCompilerVisitor__add_abort(self
, var293
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:SeparateCompilerVisitor>*/
4736 var295
= varonce294
;
4740 var298
= string__NativeString__to_s_with_length(var296
, var297
);
4742 varonce294
= var295
;
4745 abstract_compiler__AbstractCompilerVisitor__add(self
, var295
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4748 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
4749 var301
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
4750 if (unlikely(var301
== NULL
)) {
4751 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4752 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
4756 RET_LABEL300
:(void)0;
4760 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var299) on <var299:AbstractCompiler(SeparateCompiler)> */
4761 var304
= var299
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var299:AbstractCompiler(SeparateCompiler)> */
4762 if (unlikely(var304
== NULL
)) {
4763 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4764 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
4768 RET_LABEL303
:(void)0;
4772 { /* Inline modelbuilder#ModelBuilder#toolcontext (var302) on <var302:ModelBuilder> */
4773 var307
= var302
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var302:ModelBuilder> */
4774 if (unlikely(var307
== NULL
)) {
4775 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4776 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
4780 RET_LABEL306
:(void)0;
4784 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var305) on <var305:ToolContext> */
4785 var310
= var305
->attrs
[COLOR_abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var305:ToolContext> */
4786 if (unlikely(var310
== NULL
)) {
4787 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
4788 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 60);
4792 RET_LABEL309
:(void)0;
4796 { /* Inline opts#Option#value (var308) on <var308:OptionBool> */
4797 var313
= var308
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var308:OptionBool> */
4799 RET_LABEL312
:(void)0;
4802 var314
= ((struct instance_kernel__Bool
*)var311
)->value
; /* autounbox from nullable Object to Bool */;
4805 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
4806 var317
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
4807 if (unlikely(var317
== NULL
)) {
4808 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4809 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
4813 RET_LABEL316
:(void)0;
4818 { /* Inline separate_compiler#SeparateCompiler#isset_checks_count (var_318) on <var_318:SeparateCompiler> */
4819 var321
= var_318
->attrs
[COLOR_separate_compiler__SeparateCompiler___isset_checks_count
].l
; /* _isset_checks_count on <var_318:SeparateCompiler> */
4821 RET_LABEL320
:(void)0;
4826 { /* Inline kernel#Int#+ (var319,var322) on <var319:Int> */
4827 /* Covariant cast for argument 0 (i) <var322:Int> isa OTHER */
4828 /* <var322:Int> isa OTHER */
4829 var325
= 1; /* easy <var322:Int> isa OTHER*/
4830 if (unlikely(!var325
)) {
4831 var_class_name328
= type_kernel__Int
.name
;
4832 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name328
);
4833 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
4836 var329
= var319
+ var322
;
4839 RET_LABEL324
:(void)0;
4843 { /* Inline separate_compiler#SeparateCompiler#isset_checks_count= (var_318,var323) on <var_318:SeparateCompiler> */
4844 var_318
->attrs
[COLOR_separate_compiler__SeparateCompiler___isset_checks_count
].l
= var323
; /* _isset_checks_count on <var_318:SeparateCompiler> */
4845 RET_LABEL330
:(void)0;
4849 var332
= varonce331
;
4851 var333
= "count_isset_checks++;";
4853 var335
= string__NativeString__to_s_with_length(var333
, var334
);
4855 varonce331
= var332
;
4858 abstract_compiler__AbstractCompilerVisitor__add(self
, var332
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4870 /* method separate_compiler#SeparateCompilerVisitor#read_attribute for (self: Object, MAttribute, RuntimeVariable): RuntimeVariable */
4871 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__read_attribute(val
* self
, val
* p0
, val
* p1
) {
4872 val
* var
/* : RuntimeVariable */;
4873 val
* var1
/* : RuntimeVariable */;
4874 var1
= separate_compiler__SeparateCompilerVisitor__read_attribute(self
, p0
, p1
);
4879 /* method separate_compiler#SeparateCompilerVisitor#write_attribute for (self: SeparateCompilerVisitor, MAttribute, RuntimeVariable, RuntimeVariable) */
4880 void separate_compiler__SeparateCompilerVisitor__write_attribute(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4881 val
* var_a
/* var a: MAttribute */;
4882 val
* var_recv
/* var recv: RuntimeVariable */;
4883 val
* var_value
/* var value: RuntimeVariable */;
4884 val
* var
/* : MPropDef */;
4885 val
* var1
/* : nullable MType */;
4886 val
* var3
/* : nullable MType */;
4887 val
* var_mtype
/* var mtype: MType */;
4888 val
* var4
/* : MPropDef */;
4889 val
* var5
/* : MClassDef */;
4890 val
* var7
/* : MClassDef */;
4891 val
* var_intromclassdef
/* var intromclassdef: MClassDef */;
4892 val
* var8
/* : MClassType */;
4893 val
* var10
/* : MClassType */;
4894 val
* var11
/* : MClassType */;
4895 val
* var13
/* : MClassType */;
4896 val
* var14
/* : MModule */;
4897 val
* var16
/* : MModule */;
4898 short int var17
/* : Bool */;
4899 val
* var18
/* : MType */;
4900 val
* var19
/* : RuntimeVariable */;
4901 val
* var20
/* : String */;
4902 val
* var21
/* : AbstractCompiler */;
4903 val
* var23
/* : AbstractCompiler */;
4904 val
* var24
/* : ModelBuilder */;
4905 val
* var26
/* : ModelBuilder */;
4906 val
* var27
/* : ToolContext */;
4907 val
* var29
/* : ToolContext */;
4908 val
* var30
/* : OptionBool */;
4909 val
* var32
/* : OptionBool */;
4910 val
* var33
/* : nullable Object */;
4911 val
* var35
/* : nullable Object */;
4912 short int var36
/* : Bool */;
4913 static val
* varonce
;
4914 val
* var37
/* : String */;
4915 char* var38
/* : NativeString */;
4916 long var39
/* : Int */;
4917 val
* var40
/* : FlatString */;
4918 val
* var41
/* : String */;
4919 static val
* varonce42
;
4920 val
* var43
/* : String */;
4921 char* var44
/* : NativeString */;
4922 long var45
/* : Int */;
4923 val
* var46
/* : FlatString */;
4924 val
* var47
/* : Array[Object] */;
4925 long var48
/* : Int */;
4926 val
* var49
/* : NativeArray[Object] */;
4927 val
* var50
/* : String */;
4928 val
* var_attr
/* var attr: String */;
4929 val
* var51
/* : String */;
4930 static val
* varonce52
;
4931 val
* var53
/* : String */;
4932 char* var54
/* : NativeString */;
4933 long var55
/* : Int */;
4934 val
* var56
/* : FlatString */;
4935 short int var57
/* : Bool */;
4936 short int var58
/* : Bool */;
4937 val
* var_other
/* var other: nullable Object */;
4938 short int var60
/* : Bool */;
4939 short int var61
/* : Bool */;
4940 short int var62
/* : Bool */;
4941 short int var63
/* : Bool */;
4944 static val
* varonce64
;
4945 val
* var65
/* : String */;
4946 char* var66
/* : NativeString */;
4947 long var67
/* : Int */;
4948 val
* var68
/* : FlatString */;
4949 static val
* varonce69
;
4950 val
* var70
/* : String */;
4951 char* var71
/* : NativeString */;
4952 long var72
/* : Int */;
4953 val
* var73
/* : FlatString */;
4954 val
* var74
/* : Array[Object] */;
4955 long var75
/* : Int */;
4956 val
* var76
/* : NativeArray[Object] */;
4957 val
* var77
/* : String */;
4958 static val
* varonce78
;
4959 val
* var79
/* : String */;
4960 char* var80
/* : NativeString */;
4961 long var81
/* : Int */;
4962 val
* var82
/* : FlatString */;
4963 val
* var83
/* : String */;
4964 static val
* varonce84
;
4965 val
* var85
/* : String */;
4966 char* var86
/* : NativeString */;
4967 long var87
/* : Int */;
4968 val
* var88
/* : FlatString */;
4969 static val
* varonce89
;
4970 val
* var90
/* : String */;
4971 char* var91
/* : NativeString */;
4972 long var92
/* : Int */;
4973 val
* var93
/* : FlatString */;
4974 static val
* varonce94
;
4975 val
* var95
/* : String */;
4976 char* var96
/* : NativeString */;
4977 long var97
/* : Int */;
4978 val
* var98
/* : FlatString */;
4979 static val
* varonce99
;
4980 val
* var100
/* : String */;
4981 char* var101
/* : NativeString */;
4982 long var102
/* : Int */;
4983 val
* var103
/* : FlatString */;
4984 val
* var104
/* : String */;
4985 static val
* varonce105
;
4986 val
* var106
/* : String */;
4987 char* var107
/* : NativeString */;
4988 long var108
/* : Int */;
4989 val
* var109
/* : FlatString */;
4990 val
* var110
/* : Array[Object] */;
4991 long var111
/* : Int */;
4992 val
* var112
/* : NativeArray[Object] */;
4993 val
* var113
/* : String */;
4994 static val
* varonce114
;
4995 val
* var115
/* : String */;
4996 char* var116
/* : NativeString */;
4997 long var117
/* : Int */;
4998 val
* var118
/* : FlatString */;
4999 val
* var119
/* : MClassType */;
5000 val
* var120
/* : MType */;
5001 val
* var121
/* : RuntimeVariable */;
5002 static val
* varonce122
;
5003 val
* var123
/* : String */;
5004 char* var124
/* : NativeString */;
5005 long var125
/* : Int */;
5006 val
* var126
/* : FlatString */;
5007 static val
* varonce127
;
5008 val
* var128
/* : String */;
5009 char* var129
/* : NativeString */;
5010 long var130
/* : Int */;
5011 val
* var131
/* : FlatString */;
5012 static val
* varonce132
;
5013 val
* var133
/* : String */;
5014 char* var134
/* : NativeString */;
5015 long var135
/* : Int */;
5016 val
* var136
/* : FlatString */;
5017 val
* var137
/* : String */;
5018 static val
* varonce138
;
5019 val
* var139
/* : String */;
5020 char* var140
/* : NativeString */;
5021 long var141
/* : Int */;
5022 val
* var142
/* : FlatString */;
5023 val
* var143
/* : Array[Object] */;
5024 long var144
/* : Int */;
5025 val
* var145
/* : NativeArray[Object] */;
5026 val
* var146
/* : String */;
5027 static val
* varonce147
;
5028 val
* var148
/* : String */;
5029 char* var149
/* : NativeString */;
5030 long var150
/* : Int */;
5031 val
* var151
/* : FlatString */;
5032 static val
* varonce152
;
5033 val
* var153
/* : String */;
5034 char* var154
/* : NativeString */;
5035 long var155
/* : Int */;
5036 val
* var156
/* : FlatString */;
5037 static val
* varonce157
;
5038 val
* var158
/* : String */;
5039 char* var159
/* : NativeString */;
5040 long var160
/* : Int */;
5041 val
* var161
/* : FlatString */;
5042 static val
* varonce162
;
5043 val
* var163
/* : String */;
5044 char* var164
/* : NativeString */;
5045 long var165
/* : Int */;
5046 val
* var166
/* : FlatString */;
5047 val
* var167
/* : String */;
5048 static val
* varonce168
;
5049 val
* var169
/* : String */;
5050 char* var170
/* : NativeString */;
5051 long var171
/* : Int */;
5052 val
* var172
/* : FlatString */;
5053 val
* var173
/* : Array[Object] */;
5054 long var174
/* : Int */;
5055 val
* var175
/* : NativeArray[Object] */;
5056 val
* var176
/* : String */;
5057 static val
* varonce177
;
5058 val
* var178
/* : String */;
5059 char* var179
/* : NativeString */;
5060 long var180
/* : Int */;
5061 val
* var181
/* : FlatString */;
5062 val
* var182
/* : String */;
5063 static val
* varonce183
;
5064 val
* var184
/* : String */;
5065 char* var185
/* : NativeString */;
5066 long var186
/* : Int */;
5067 val
* var187
/* : FlatString */;
5068 val
* var188
/* : String */;
5069 static val
* varonce189
;
5070 val
* var190
/* : String */;
5071 char* var191
/* : NativeString */;
5072 long var192
/* : Int */;
5073 val
* var193
/* : FlatString */;
5074 static val
* varonce194
;
5075 val
* var195
/* : String */;
5076 char* var196
/* : NativeString */;
5077 long var197
/* : Int */;
5078 val
* var198
/* : FlatString */;
5079 static val
* varonce199
;
5080 val
* var200
/* : String */;
5081 char* var201
/* : NativeString */;
5082 long var202
/* : Int */;
5083 val
* var203
/* : FlatString */;
5084 val
* var204
/* : String */;
5085 static val
* varonce205
;
5086 val
* var206
/* : String */;
5087 char* var207
/* : NativeString */;
5088 long var208
/* : Int */;
5089 val
* var209
/* : FlatString */;
5090 val
* var210
/* : Array[Object] */;
5091 long var211
/* : Int */;
5092 val
* var212
/* : NativeArray[Object] */;
5093 val
* var213
/* : String */;
5098 abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(self
, var_recv
); /* Direct call abstract_compiler#AbstractCompilerVisitor#check_recv_notnull on <self:SeparateCompilerVisitor>*/
5101 var
= model__MProperty__intro(var_a
);
5104 { /* Inline model#MAttributeDef#static_mtype (var) on <var:MPropDef(MAttributeDef)> */
5105 var3
= var
->attrs
[COLOR_model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var:MPropDef(MAttributeDef)> */
5110 if (unlikely(var1
== NULL
)) {
5111 PRINT_ERROR("Runtime error: %s", "Cast failed");
5112 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 1292);
5117 var4
= model__MProperty__intro(var_a
);
5120 { /* Inline model#MPropDef#mclassdef (var4) on <var4:MPropDef(MAttributeDef)> */
5121 var7
= var4
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var4:MPropDef(MAttributeDef)> */
5122 if (unlikely(var7
== NULL
)) {
5123 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
5124 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
5131 var_intromclassdef
= var5
;
5133 { /* Inline model#MClassDef#bound_mtype (var_intromclassdef) on <var_intromclassdef:MClassDef> */
5134 var10
= var_intromclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intromclassdef:MClassDef> */
5135 if (unlikely(var10
== NULL
)) {
5136 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
5137 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
5145 { /* Inline model#MClassDef#bound_mtype (var_intromclassdef) on <var_intromclassdef:MClassDef> */
5146 var13
= var_intromclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intromclassdef:MClassDef> */
5147 if (unlikely(var13
== NULL
)) {
5148 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
5149 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
5153 RET_LABEL12
:(void)0;
5157 { /* Inline model#MClassDef#mmodule (var_intromclassdef) on <var_intromclassdef:MClassDef> */
5158 var16
= var_intromclassdef
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_intromclassdef:MClassDef> */
5159 if (unlikely(var16
== NULL
)) {
5160 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5161 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
5165 RET_LABEL15
:(void)0;
5170 var18
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_mtype
->class->vft
[COLOR_model__MType__resolve_for
]))(var_mtype
, var8
, var11
, var14
, var17
) /* resolve_for on <var_mtype:MType>*/;
5174 var19
= separate_compiler__SeparateCompilerVisitor__autobox(self
, var_value
, var_mtype
);
5178 var20
= separate_compiler__MProperty__const_color(var_a
);
5181 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var20
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
5184 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
5185 var23
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
5186 if (unlikely(var23
== NULL
)) {
5187 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5188 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
5192 RET_LABEL22
:(void)0;
5196 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var21) on <var21:AbstractCompiler(SeparateCompiler)> */
5197 var26
= var21
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var21:AbstractCompiler(SeparateCompiler)> */
5198 if (unlikely(var26
== NULL
)) {
5199 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5200 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
5204 RET_LABEL25
:(void)0;
5208 { /* Inline modelbuilder#ModelBuilder#toolcontext (var24) on <var24:ModelBuilder> */
5209 var29
= var24
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var24:ModelBuilder> */
5210 if (unlikely(var29
== NULL
)) {
5211 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5212 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
5216 RET_LABEL28
:(void)0;
5220 { /* Inline separate_compiler#ToolContext#opt_no_union_attribute (var27) on <var27:ToolContext> */
5221 var32
= var27
->attrs
[COLOR_separate_compiler__ToolContext___opt_no_union_attribute
].val
; /* _opt_no_union_attribute on <var27:ToolContext> */
5222 if (unlikely(var32
== NULL
)) {
5223 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_union_attribute");
5224 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 28);
5228 RET_LABEL31
:(void)0;
5232 { /* Inline opts#Option#value (var30) on <var30:OptionBool> */
5233 var35
= var30
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var30:OptionBool> */
5235 RET_LABEL34
:(void)0;
5238 var36
= ((struct instance_kernel__Bool
*)var33
)->value
; /* autounbox from nullable Object to Bool */;
5245 var40
= string__NativeString__to_s_with_length(var38
, var39
);
5250 var41
= separate_compiler__MProperty__const_color(var_a
);
5257 var46
= string__NativeString__to_s_with_length(var44
, var45
);
5261 var47
= NEW_array__Array(&type_array__Arraykernel__Object
);
5262 { /* var47 = array_instance Array[Object] */
5264 var49
= NEW_array__NativeArray(var48
, &type_array__NativeArraykernel__Object
);
5265 ((struct instance_array__NativeArray
*)var49
)->values
[0] = (val
*) var_recv
;
5266 ((struct instance_array__NativeArray
*)var49
)->values
[1] = (val
*) var37
;
5267 ((struct instance_array__NativeArray
*)var49
)->values
[2] = (val
*) var41
;
5268 ((struct instance_array__NativeArray
*)var49
)->values
[3] = (val
*) var43
;
5270 ((void (*)(val
*, val
*, long))(var47
->class->vft
[COLOR_array__Array__with_native
]))(var47
, var49
, var48
) /* with_native on <var47:Array[Object]>*/;
5274 var50
= ((val
* (*)(val
*))(var47
->class->vft
[COLOR_string__Object__to_s
]))(var47
) /* to_s on <var47:Array[Object]>*/;
5278 var51
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
5285 var56
= string__NativeString__to_s_with_length(var54
, var55
);
5290 { /* Inline kernel#Object#!= (var51,var53) on <var51:String> */
5293 var61
= ((short int (*)(val
*, val
*))(var51
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var51
, var_other
) /* == on <var51:String>*/;
5299 RET_LABEL59
:(void)0;
5304 /* <var_mtype:MType> isa MClassType */
5305 cltype
= type_model__MClassType
.color
;
5306 idtype
= type_model__MClassType
.id
;
5307 if(cltype
>= var_mtype
->type
->table_size
) {
5310 var63
= var_mtype
->type
->type_table
[cltype
] == idtype
;
5312 if (unlikely(!var63
)) {
5313 PRINT_ERROR("Runtime error: %s", "Assert failed");
5314 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 1303);
5322 var68
= string__NativeString__to_s_with_length(var66
, var67
);
5329 var71
= " != NULL) {";
5331 var73
= string__NativeString__to_s_with_length(var71
, var72
);
5335 var74
= NEW_array__Array(&type_array__Arraykernel__Object
);
5336 { /* var74 = array_instance Array[Object] */
5338 var76
= NEW_array__NativeArray(var75
, &type_array__NativeArraykernel__Object
);
5339 ((struct instance_array__NativeArray
*)var76
)->values
[0] = (val
*) var65
;
5340 ((struct instance_array__NativeArray
*)var76
)->values
[1] = (val
*) var_attr
;
5341 ((struct instance_array__NativeArray
*)var76
)->values
[2] = (val
*) var70
;
5343 ((void (*)(val
*, val
*, long))(var74
->class->vft
[COLOR_array__Array__with_native
]))(var74
, var76
, var75
) /* with_native on <var74:Array[Object]>*/;
5347 var77
= ((val
* (*)(val
*))(var74
->class->vft
[COLOR_string__Object__to_s
]))(var74
) /* to_s on <var74:Array[Object]>*/;
5350 abstract_compiler__AbstractCompilerVisitor__add(self
, var77
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5355 var80
= "((struct instance_";
5357 var82
= string__NativeString__to_s_with_length(var80
, var81
);
5362 var83
= separate_compiler__MClassType__c_instance_name(var_mtype
);
5369 var88
= string__NativeString__to_s_with_length(var86
, var87
);
5376 var91
= ")->value = ";
5378 var93
= string__NativeString__to_s_with_length(var91
, var92
);
5387 var98
= string__NativeString__to_s_with_length(var96
, var97
);
5396 var103
= string__NativeString__to_s_with_length(var101
, var102
);
5401 var104
= abstract_compiler__RuntimeVariable__inspect(var_recv
);
5404 var106
= varonce105
;
5408 var109
= string__NativeString__to_s_with_length(var107
, var108
);
5410 varonce105
= var106
;
5412 var110
= NEW_array__Array(&type_array__Arraykernel__Object
);
5413 { /* var110 = array_instance Array[Object] */
5415 var112
= NEW_array__NativeArray(var111
, &type_array__NativeArraykernel__Object
);
5416 ((struct instance_array__NativeArray
*)var112
)->values
[0] = (val
*) var79
;
5417 ((struct instance_array__NativeArray
*)var112
)->values
[1] = (val
*) var83
;
5418 ((struct instance_array__NativeArray
*)var112
)->values
[2] = (val
*) var85
;
5419 ((struct instance_array__NativeArray
*)var112
)->values
[3] = (val
*) var_attr
;
5420 ((struct instance_array__NativeArray
*)var112
)->values
[4] = (val
*) var90
;
5421 ((struct instance_array__NativeArray
*)var112
)->values
[5] = (val
*) var_value
;
5422 ((struct instance_array__NativeArray
*)var112
)->values
[6] = (val
*) var95
;
5423 ((struct instance_array__NativeArray
*)var112
)->values
[7] = (val
*) var_a
;
5424 ((struct instance_array__NativeArray
*)var112
)->values
[8] = (val
*) var100
;
5425 ((struct instance_array__NativeArray
*)var112
)->values
[9] = (val
*) var104
;
5426 ((struct instance_array__NativeArray
*)var112
)->values
[10] = (val
*) var106
;
5428 ((void (*)(val
*, val
*, long))(var110
->class->vft
[COLOR_array__Array__with_native
]))(var110
, var112
, var111
) /* with_native on <var110:Array[Object]>*/;
5432 var113
= ((val
* (*)(val
*))(var110
->class->vft
[COLOR_string__Object__to_s
]))(var110
) /* to_s on <var110:Array[Object]>*/;
5435 abstract_compiler__AbstractCompilerVisitor__add(self
, var113
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5438 var115
= varonce114
;
5440 var116
= "} else {";
5442 var118
= string__NativeString__to_s_with_length(var116
, var117
);
5444 varonce114
= var115
;
5447 abstract_compiler__AbstractCompilerVisitor__add(self
, var115
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5450 var119
= abstract_compiler__AbstractCompilerVisitor__object_type(self
);
5453 var120
= model__MType__as_nullable(var119
);
5456 var121
= separate_compiler__SeparateCompilerVisitor__autobox(self
, var_value
, var120
);
5460 var123
= varonce122
;
5464 var126
= string__NativeString__to_s_with_length(var124
, var125
);
5466 varonce122
= var123
;
5469 var128
= varonce127
;
5473 var131
= string__NativeString__to_s_with_length(var129
, var130
);
5475 varonce127
= var128
;
5478 var133
= varonce132
;
5482 var136
= string__NativeString__to_s_with_length(var134
, var135
);
5484 varonce132
= var133
;
5487 var137
= abstract_compiler__RuntimeVariable__inspect(var_recv
);
5490 var139
= varonce138
;
5494 var142
= string__NativeString__to_s_with_length(var140
, var141
);
5496 varonce138
= var139
;
5498 var143
= NEW_array__Array(&type_array__Arraykernel__Object
);
5499 { /* var143 = array_instance Array[Object] */
5501 var145
= NEW_array__NativeArray(var144
, &type_array__NativeArraykernel__Object
);
5502 ((struct instance_array__NativeArray
*)var145
)->values
[0] = (val
*) var_attr
;
5503 ((struct instance_array__NativeArray
*)var145
)->values
[1] = (val
*) var123
;
5504 ((struct instance_array__NativeArray
*)var145
)->values
[2] = (val
*) var_value
;
5505 ((struct instance_array__NativeArray
*)var145
)->values
[3] = (val
*) var128
;
5506 ((struct instance_array__NativeArray
*)var145
)->values
[4] = (val
*) var_a
;
5507 ((struct instance_array__NativeArray
*)var145
)->values
[5] = (val
*) var133
;
5508 ((struct instance_array__NativeArray
*)var145
)->values
[6] = (val
*) var137
;
5509 ((struct instance_array__NativeArray
*)var145
)->values
[7] = (val
*) var139
;
5511 ((void (*)(val
*, val
*, long))(var143
->class->vft
[COLOR_array__Array__with_native
]))(var143
, var145
, var144
) /* with_native on <var143:Array[Object]>*/;
5515 var146
= ((val
* (*)(val
*))(var143
->class->vft
[COLOR_string__Object__to_s
]))(var143
) /* to_s on <var143:Array[Object]>*/;
5518 abstract_compiler__AbstractCompilerVisitor__add(self
, var146
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5521 var148
= varonce147
;
5525 var151
= string__NativeString__to_s_with_length(var149
, var150
);
5527 varonce147
= var148
;
5530 abstract_compiler__AbstractCompilerVisitor__add(self
, var148
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5534 var153
= varonce152
;
5538 var156
= string__NativeString__to_s_with_length(var154
, var155
);
5540 varonce152
= var153
;
5543 var158
= varonce157
;
5547 var161
= string__NativeString__to_s_with_length(var159
, var160
);
5549 varonce157
= var158
;
5552 var163
= varonce162
;
5556 var166
= string__NativeString__to_s_with_length(var164
, var165
);
5558 varonce162
= var163
;
5561 var167
= abstract_compiler__RuntimeVariable__inspect(var_recv
);
5564 var169
= varonce168
;
5568 var172
= string__NativeString__to_s_with_length(var170
, var171
);
5570 varonce168
= var169
;
5572 var173
= NEW_array__Array(&type_array__Arraykernel__Object
);
5573 { /* var173 = array_instance Array[Object] */
5575 var175
= NEW_array__NativeArray(var174
, &type_array__NativeArraykernel__Object
);
5576 ((struct instance_array__NativeArray
*)var175
)->values
[0] = (val
*) var_attr
;
5577 ((struct instance_array__NativeArray
*)var175
)->values
[1] = (val
*) var153
;
5578 ((struct instance_array__NativeArray
*)var175
)->values
[2] = (val
*) var_value
;
5579 ((struct instance_array__NativeArray
*)var175
)->values
[3] = (val
*) var158
;
5580 ((struct instance_array__NativeArray
*)var175
)->values
[4] = (val
*) var_a
;
5581 ((struct instance_array__NativeArray
*)var175
)->values
[5] = (val
*) var163
;
5582 ((struct instance_array__NativeArray
*)var175
)->values
[6] = (val
*) var167
;
5583 ((struct instance_array__NativeArray
*)var175
)->values
[7] = (val
*) var169
;
5585 ((void (*)(val
*, val
*, long))(var173
->class->vft
[COLOR_array__Array__with_native
]))(var173
, var175
, var174
) /* with_native on <var173:Array[Object]>*/;
5589 var176
= ((val
* (*)(val
*))(var173
->class->vft
[COLOR_string__Object__to_s
]))(var173
) /* to_s on <var173:Array[Object]>*/;
5592 abstract_compiler__AbstractCompilerVisitor__add(self
, var176
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5597 var178
= varonce177
;
5599 var179
= "->attrs[";
5601 var181
= string__NativeString__to_s_with_length(var179
, var180
);
5603 varonce177
= var178
;
5606 var182
= separate_compiler__MProperty__const_color(var_a
);
5609 var184
= varonce183
;
5613 var187
= string__NativeString__to_s_with_length(var185
, var186
);
5615 varonce183
= var184
;
5618 var188
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctypename
]))(var_mtype
) /* ctypename on <var_mtype:MType>*/;
5621 var190
= varonce189
;
5625 var193
= string__NativeString__to_s_with_length(var191
, var192
);
5627 varonce189
= var190
;
5630 var195
= varonce194
;
5634 var198
= string__NativeString__to_s_with_length(var196
, var197
);
5636 varonce194
= var195
;
5639 var200
= varonce199
;
5643 var203
= string__NativeString__to_s_with_length(var201
, var202
);
5645 varonce199
= var200
;
5648 var204
= abstract_compiler__RuntimeVariable__inspect(var_recv
);
5651 var206
= varonce205
;
5655 var209
= string__NativeString__to_s_with_length(var207
, var208
);
5657 varonce205
= var206
;
5659 var210
= NEW_array__Array(&type_array__Arraykernel__Object
);
5660 { /* var210 = array_instance Array[Object] */
5662 var212
= NEW_array__NativeArray(var211
, &type_array__NativeArraykernel__Object
);
5663 ((struct instance_array__NativeArray
*)var212
)->values
[0] = (val
*) var_recv
;
5664 ((struct instance_array__NativeArray
*)var212
)->values
[1] = (val
*) var178
;
5665 ((struct instance_array__NativeArray
*)var212
)->values
[2] = (val
*) var182
;
5666 ((struct instance_array__NativeArray
*)var212
)->values
[3] = (val
*) var184
;
5667 ((struct instance_array__NativeArray
*)var212
)->values
[4] = (val
*) var188
;
5668 ((struct instance_array__NativeArray
*)var212
)->values
[5] = (val
*) var190
;
5669 ((struct instance_array__NativeArray
*)var212
)->values
[6] = (val
*) var_value
;
5670 ((struct instance_array__NativeArray
*)var212
)->values
[7] = (val
*) var195
;
5671 ((struct instance_array__NativeArray
*)var212
)->values
[8] = (val
*) var_a
;
5672 ((struct instance_array__NativeArray
*)var212
)->values
[9] = (val
*) var200
;
5673 ((struct instance_array__NativeArray
*)var212
)->values
[10] = (val
*) var204
;
5674 ((struct instance_array__NativeArray
*)var212
)->values
[11] = (val
*) var206
;
5676 ((void (*)(val
*, val
*, long))(var210
->class->vft
[COLOR_array__Array__with_native
]))(var210
, var212
, var211
) /* with_native on <var210:Array[Object]>*/;
5680 var213
= ((val
* (*)(val
*))(var210
->class->vft
[COLOR_string__Object__to_s
]))(var210
) /* to_s on <var210:Array[Object]>*/;
5683 abstract_compiler__AbstractCompilerVisitor__add(self
, var213
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5688 /* method separate_compiler#SeparateCompilerVisitor#write_attribute for (self: Object, MAttribute, RuntimeVariable, RuntimeVariable) */
5689 void VIRTUAL_separate_compiler__SeparateCompilerVisitor__write_attribute(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5690 separate_compiler__SeparateCompilerVisitor__write_attribute(self
, p0
, p1
, p2
); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on <self:Object(SeparateCompilerVisitor)>*/
5693 /* method separate_compiler#SeparateCompilerVisitor#hardening_live_open_type for (self: SeparateCompilerVisitor, MType) */
5694 void separate_compiler__SeparateCompilerVisitor__hardening_live_open_type(val
* self
, val
* p0
) {
5695 val
* var_mtype
/* var mtype: MType */;
5696 val
* var
/* : AbstractCompiler */;
5697 val
* var2
/* : AbstractCompiler */;
5698 val
* var3
/* : ModelBuilder */;
5699 val
* var5
/* : ModelBuilder */;
5700 val
* var6
/* : ToolContext */;
5701 val
* var8
/* : ToolContext */;
5702 val
* var9
/* : OptionBool */;
5703 val
* var11
/* : OptionBool */;
5704 val
* var12
/* : nullable Object */;
5705 val
* var14
/* : nullable Object */;
5706 short int var15
/* : Bool */;
5707 short int var16
/* : Bool */;
5708 val
* var17
/* : String */;
5709 val
* var18
/* : String */;
5710 val
* var_col
/* var col: String */;
5711 static val
* varonce
;
5712 val
* var19
/* : String */;
5713 char* var20
/* : NativeString */;
5714 long var21
/* : Int */;
5715 val
* var22
/* : FlatString */;
5716 static val
* varonce23
;
5717 val
* var24
/* : String */;
5718 char* var25
/* : NativeString */;
5719 long var26
/* : Int */;
5720 val
* var27
/* : FlatString */;
5721 val
* var28
/* : Array[Object] */;
5722 long var29
/* : Int */;
5723 val
* var30
/* : NativeArray[Object] */;
5724 val
* var31
/* : String */;
5725 static val
* varonce32
;
5726 val
* var33
/* : String */;
5727 char* var34
/* : NativeString */;
5728 long var35
/* : Int */;
5729 val
* var36
/* : FlatString */;
5730 val
* var37
/* : String */;
5731 val
* var38
/* : String */;
5732 static val
* varonce39
;
5733 val
* var40
/* : String */;
5734 char* var41
/* : NativeString */;
5735 long var42
/* : Int */;
5736 val
* var43
/* : FlatString */;
5737 val
* var44
/* : Array[Object] */;
5738 long var45
/* : Int */;
5739 val
* var46
/* : NativeArray[Object] */;
5740 val
* var47
/* : String */;
5741 static val
* varonce48
;
5742 val
* var49
/* : String */;
5743 char* var50
/* : NativeString */;
5744 long var51
/* : Int */;
5745 val
* var52
/* : FlatString */;
5746 static val
* varonce53
;
5747 val
* var54
/* : String */;
5748 char* var55
/* : NativeString */;
5749 long var56
/* : Int */;
5750 val
* var57
/* : FlatString */;
5753 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
5754 var2
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
5755 if (unlikely(var2
== NULL
)) {
5756 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5757 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
5765 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var) on <var:AbstractCompiler(SeparateCompiler)> */
5766 var5
= var
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var:AbstractCompiler(SeparateCompiler)> */
5767 if (unlikely(var5
== NULL
)) {
5768 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5769 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
5777 { /* Inline modelbuilder#ModelBuilder#toolcontext (var3) on <var3:ModelBuilder> */
5778 var8
= var3
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var3:ModelBuilder> */
5779 if (unlikely(var8
== NULL
)) {
5780 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5781 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
5789 { /* Inline abstract_compiler#ToolContext#opt_hardening (var6) on <var6:ToolContext> */
5790 var11
= var6
->attrs
[COLOR_abstract_compiler__ToolContext___opt_hardening
].val
; /* _opt_hardening on <var6:ToolContext> */
5791 if (unlikely(var11
== NULL
)) {
5792 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_hardening");
5793 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 42);
5797 RET_LABEL10
:(void)0;
5801 { /* Inline opts#Option#value (var9) on <var9:OptionBool> */
5802 var14
= var9
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var9:OptionBool> */
5804 RET_LABEL13
:(void)0;
5807 var15
= ((struct instance_kernel__Bool
*)var12
)->value
; /* autounbox from nullable Object to Bool */;
5814 var17
= separate_compiler__MType__const_color(var_mtype
);
5817 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var17
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
5820 var18
= separate_compiler__MType__const_color(var_mtype
);
5828 var22
= string__NativeString__to_s_with_length(var20
, var21
);
5835 var25
= " == -1) {";
5837 var27
= string__NativeString__to_s_with_length(var25
, var26
);
5841 var28
= NEW_array__Array(&type_array__Arraykernel__Object
);
5842 { /* var28 = array_instance Array[Object] */
5844 var30
= NEW_array__NativeArray(var29
, &type_array__NativeArraykernel__Object
);
5845 ((struct instance_array__NativeArray
*)var30
)->values
[0] = (val
*) var19
;
5846 ((struct instance_array__NativeArray
*)var30
)->values
[1] = (val
*) var_col
;
5847 ((struct instance_array__NativeArray
*)var30
)->values
[2] = (val
*) var24
;
5849 ((void (*)(val
*, val
*, long))(var28
->class->vft
[COLOR_array__Array__with_native
]))(var28
, var30
, var29
) /* with_native on <var28:Array[Object]>*/;
5853 var31
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_string__Object__to_s
]))(var28
) /* to_s on <var28:Array[Object]>*/;
5856 abstract_compiler__AbstractCompilerVisitor__add(self
, var31
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5861 var34
= "PRINT_ERROR(\"Resolution of a dead open type: %s\\n\", \"";
5863 var36
= string__NativeString__to_s_with_length(var34
, var35
);
5868 var37
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_string__Object__to_s
]))(var_mtype
) /* to_s on <var_mtype:MType>*/;
5871 var38
= string__Text__escape_to_c(var37
);
5878 var43
= string__NativeString__to_s_with_length(var41
, var42
);
5882 var44
= NEW_array__Array(&type_array__Arraykernel__Object
);
5883 { /* var44 = array_instance Array[Object] */
5885 var46
= NEW_array__NativeArray(var45
, &type_array__NativeArraykernel__Object
);
5886 ((struct instance_array__NativeArray
*)var46
)->values
[0] = (val
*) var33
;
5887 ((struct instance_array__NativeArray
*)var46
)->values
[1] = (val
*) var38
;
5888 ((struct instance_array__NativeArray
*)var46
)->values
[2] = (val
*) var40
;
5890 ((void (*)(val
*, val
*, long))(var44
->class->vft
[COLOR_array__Array__with_native
]))(var44
, var46
, var45
) /* with_native on <var44:Array[Object]>*/;
5894 var47
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_string__Object__to_s
]))(var44
) /* to_s on <var44:Array[Object]>*/;
5897 abstract_compiler__AbstractCompilerVisitor__add(self
, var47
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5902 var50
= "open type dead";
5904 var52
= string__NativeString__to_s_with_length(var50
, var51
);
5909 abstract_compiler__AbstractCompilerVisitor__add_abort(self
, var49
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:SeparateCompilerVisitor>*/
5916 var57
= string__NativeString__to_s_with_length(var55
, var56
);
5921 abstract_compiler__AbstractCompilerVisitor__add(self
, var54
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5925 /* method separate_compiler#SeparateCompilerVisitor#hardening_live_open_type for (self: Object, MType) */
5926 void VIRTUAL_separate_compiler__SeparateCompilerVisitor__hardening_live_open_type(val
* self
, val
* p0
) {
5927 separate_compiler__SeparateCompilerVisitor__hardening_live_open_type(self
, p0
); /* Direct call separate_compiler#SeparateCompilerVisitor#hardening_live_open_type on <self:Object(SeparateCompilerVisitor)>*/
5930 /* method separate_compiler#SeparateCompilerVisitor#hardening_cast_type for (self: SeparateCompilerVisitor, String) */
5931 void separate_compiler__SeparateCompilerVisitor__hardening_cast_type(val
* self
, val
* p0
) {
5932 val
* var_t
/* var t: String */;
5933 val
* var
/* : AbstractCompiler */;
5934 val
* var2
/* : AbstractCompiler */;
5935 val
* var3
/* : ModelBuilder */;
5936 val
* var5
/* : ModelBuilder */;
5937 val
* var6
/* : ToolContext */;
5938 val
* var8
/* : ToolContext */;
5939 val
* var9
/* : OptionBool */;
5940 val
* var11
/* : OptionBool */;
5941 val
* var12
/* : nullable Object */;
5942 val
* var14
/* : nullable Object */;
5943 short int var15
/* : Bool */;
5944 short int var16
/* : Bool */;
5945 static val
* varonce
;
5946 val
* var17
/* : String */;
5947 char* var18
/* : NativeString */;
5948 long var19
/* : Int */;
5949 val
* var20
/* : FlatString */;
5950 static val
* varonce21
;
5951 val
* var22
/* : String */;
5952 char* var23
/* : NativeString */;
5953 long var24
/* : Int */;
5954 val
* var25
/* : FlatString */;
5955 val
* var26
/* : Array[Object] */;
5956 long var27
/* : Int */;
5957 val
* var28
/* : NativeArray[Object] */;
5958 val
* var29
/* : String */;
5959 static val
* varonce30
;
5960 val
* var31
/* : String */;
5961 char* var32
/* : NativeString */;
5962 long var33
/* : Int */;
5963 val
* var34
/* : FlatString */;
5964 static val
* varonce35
;
5965 val
* var36
/* : String */;
5966 char* var37
/* : NativeString */;
5967 long var38
/* : Int */;
5968 val
* var39
/* : FlatString */;
5969 static val
* varonce40
;
5970 val
* var41
/* : String */;
5971 char* var42
/* : NativeString */;
5972 long var43
/* : Int */;
5973 val
* var44
/* : FlatString */;
5974 static val
* varonce45
;
5975 val
* var46
/* : String */;
5976 char* var47
/* : NativeString */;
5977 long var48
/* : Int */;
5978 val
* var49
/* : FlatString */;
5979 static val
* varonce50
;
5980 val
* var51
/* : String */;
5981 char* var52
/* : NativeString */;
5982 long var53
/* : Int */;
5983 val
* var54
/* : FlatString */;
5984 val
* var55
/* : Array[Object] */;
5985 long var56
/* : Int */;
5986 val
* var57
/* : NativeArray[Object] */;
5987 val
* var58
/* : String */;
5988 static val
* varonce59
;
5989 val
* var60
/* : String */;
5990 char* var61
/* : NativeString */;
5991 long var62
/* : Int */;
5992 val
* var63
/* : FlatString */;
5993 static val
* varonce64
;
5994 val
* var65
/* : String */;
5995 char* var66
/* : NativeString */;
5996 long var67
/* : Int */;
5997 val
* var68
/* : FlatString */;
5998 val
* var69
/* : Array[Object] */;
5999 long var70
/* : Int */;
6000 val
* var71
/* : NativeArray[Object] */;
6001 val
* var72
/* : String */;
6002 static val
* varonce73
;
6003 val
* var74
/* : String */;
6004 char* var75
/* : NativeString */;
6005 long var76
/* : Int */;
6006 val
* var77
/* : FlatString */;
6007 static val
* varonce78
;
6008 val
* var79
/* : String */;
6009 char* var80
/* : NativeString */;
6010 long var81
/* : Int */;
6011 val
* var82
/* : FlatString */;
6014 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
6015 var2
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
6016 if (unlikely(var2
== NULL
)) {
6017 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6018 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
6026 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var) on <var:AbstractCompiler(SeparateCompiler)> */
6027 var5
= var
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var:AbstractCompiler(SeparateCompiler)> */
6028 if (unlikely(var5
== NULL
)) {
6029 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6030 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
6038 { /* Inline modelbuilder#ModelBuilder#toolcontext (var3) on <var3:ModelBuilder> */
6039 var8
= var3
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var3:ModelBuilder> */
6040 if (unlikely(var8
== NULL
)) {
6041 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6042 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
6050 { /* Inline abstract_compiler#ToolContext#opt_hardening (var6) on <var6:ToolContext> */
6051 var11
= var6
->attrs
[COLOR_abstract_compiler__ToolContext___opt_hardening
].val
; /* _opt_hardening on <var6:ToolContext> */
6052 if (unlikely(var11
== NULL
)) {
6053 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_hardening");
6054 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 42);
6058 RET_LABEL10
:(void)0;
6062 { /* Inline opts#Option#value (var9) on <var9:OptionBool> */
6063 var14
= var9
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var9:OptionBool> */
6065 RET_LABEL13
:(void)0;
6068 var15
= ((struct instance_kernel__Bool
*)var12
)->value
; /* autounbox from nullable Object to Bool */;
6079 var20
= string__NativeString__to_s_with_length(var18
, var19
);
6086 var23
= " == NULL) {";
6088 var25
= string__NativeString__to_s_with_length(var23
, var24
);
6092 var26
= NEW_array__Array(&type_array__Arraykernel__Object
);
6093 { /* var26 = array_instance Array[Object] */
6095 var28
= NEW_array__NativeArray(var27
, &type_array__NativeArraykernel__Object
);
6096 ((struct instance_array__NativeArray
*)var28
)->values
[0] = (val
*) var17
;
6097 ((struct instance_array__NativeArray
*)var28
)->values
[1] = (val
*) var_t
;
6098 ((struct instance_array__NativeArray
*)var28
)->values
[2] = (val
*) var22
;
6100 ((void (*)(val
*, val
*, long))(var26
->class->vft
[COLOR_array__Array__with_native
]))(var26
, var28
, var27
) /* with_native on <var26:Array[Object]>*/;
6104 var29
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_string__Object__to_s
]))(var26
) /* to_s on <var26:Array[Object]>*/;
6107 abstract_compiler__AbstractCompilerVisitor__add(self
, var29
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
6112 var32
= "cast type null";
6114 var34
= string__NativeString__to_s_with_length(var32
, var33
);
6119 abstract_compiler__AbstractCompilerVisitor__add_abort(self
, var31
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:SeparateCompilerVisitor>*/
6126 var39
= string__NativeString__to_s_with_length(var37
, var38
);
6131 abstract_compiler__AbstractCompilerVisitor__add(self
, var36
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
6138 var44
= string__NativeString__to_s_with_length(var42
, var43
);
6145 var47
= "->id == -1 || ";
6147 var49
= string__NativeString__to_s_with_length(var47
, var48
);
6154 var52
= "->color == -1) {";
6156 var54
= string__NativeString__to_s_with_length(var52
, var53
);
6160 var55
= NEW_array__Array(&type_array__Arraykernel__Object
);
6161 { /* var55 = array_instance Array[Object] */
6163 var57
= NEW_array__NativeArray(var56
, &type_array__NativeArraykernel__Object
);
6164 ((struct instance_array__NativeArray
*)var57
)->values
[0] = (val
*) var41
;
6165 ((struct instance_array__NativeArray
*)var57
)->values
[1] = (val
*) var_t
;
6166 ((struct instance_array__NativeArray
*)var57
)->values
[2] = (val
*) var46
;
6167 ((struct instance_array__NativeArray
*)var57
)->values
[3] = (val
*) var_t
;
6168 ((struct instance_array__NativeArray
*)var57
)->values
[4] = (val
*) var51
;
6170 ((void (*)(val
*, val
*, long))(var55
->class->vft
[COLOR_array__Array__with_native
]))(var55
, var57
, var56
) /* with_native on <var55:Array[Object]>*/;
6174 var58
= ((val
* (*)(val
*))(var55
->class->vft
[COLOR_string__Object__to_s
]))(var55
) /* to_s on <var55:Array[Object]>*/;
6177 abstract_compiler__AbstractCompilerVisitor__add(self
, var58
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
6182 var61
= "PRINT_ERROR(\"Try to cast on a dead cast type: %s\\n\", ";
6184 var63
= string__NativeString__to_s_with_length(var61
, var62
);
6193 var68
= string__NativeString__to_s_with_length(var66
, var67
);
6197 var69
= NEW_array__Array(&type_array__Arraykernel__Object
);
6198 { /* var69 = array_instance Array[Object] */
6200 var71
= NEW_array__NativeArray(var70
, &type_array__NativeArraykernel__Object
);
6201 ((struct instance_array__NativeArray
*)var71
)->values
[0] = (val
*) var60
;
6202 ((struct instance_array__NativeArray
*)var71
)->values
[1] = (val
*) var_t
;
6203 ((struct instance_array__NativeArray
*)var71
)->values
[2] = (val
*) var65
;
6205 ((void (*)(val
*, val
*, long))(var69
->class->vft
[COLOR_array__Array__with_native
]))(var69
, var71
, var70
) /* with_native on <var69:Array[Object]>*/;
6209 var72
= ((val
* (*)(val
*))(var69
->class->vft
[COLOR_string__Object__to_s
]))(var69
) /* to_s on <var69:Array[Object]>*/;
6212 abstract_compiler__AbstractCompilerVisitor__add(self
, var72
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
6217 var75
= "cast type dead";
6219 var77
= string__NativeString__to_s_with_length(var75
, var76
);
6224 abstract_compiler__AbstractCompilerVisitor__add_abort(self
, var74
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:SeparateCompilerVisitor>*/
6231 var82
= string__NativeString__to_s_with_length(var80
, var81
);
6236 abstract_compiler__AbstractCompilerVisitor__add(self
, var79
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
6240 /* method separate_compiler#SeparateCompilerVisitor#hardening_cast_type for (self: Object, String) */
6241 void VIRTUAL_separate_compiler__SeparateCompilerVisitor__hardening_cast_type(val
* self
, val
* p0
) {
6242 separate_compiler__SeparateCompilerVisitor__hardening_cast_type(self
, p0
); /* Direct call separate_compiler#SeparateCompilerVisitor#hardening_cast_type on <self:Object(SeparateCompilerVisitor)>*/
6245 /* method separate_compiler#SeparateCompilerVisitor#init_instance for (self: SeparateCompilerVisitor, MClassType): RuntimeVariable */
6246 val
* separate_compiler__SeparateCompilerVisitor__init_instance(val
* self
, val
* p0
) {
6247 val
* var
/* : RuntimeVariable */;
6248 val
* var_mtype
/* var mtype: MClassType */;
6249 static val
* varonce
;
6250 val
* var1
/* : String */;
6251 char* var2
/* : NativeString */;
6252 long var3
/* : Int */;
6253 val
* var4
/* : FlatString */;
6254 val
* var5
/* : MClass */;
6255 val
* var7
/* : MClass */;
6256 val
* var8
/* : String */;
6257 val
* var9
/* : Array[Object] */;
6258 long var10
/* : Int */;
6259 val
* var11
/* : NativeArray[Object] */;
6260 val
* var12
/* : String */;
6261 val
* var13
/* : AbstractCompiler */;
6262 val
* var15
/* : AbstractCompiler */;
6263 val
* var_compiler
/* var compiler: SeparateCompiler */;
6264 short int var16
/* : Bool */;
6265 short int var17
/* : Bool */;
6268 short int var_
/* var : Bool */;
6269 short int var18
/* : Bool */;
6270 short int var20
/* : Bool */;
6271 val
* var21
/* : nullable Frame */;
6272 val
* var23
/* : nullable Frame */;
6273 val
* var24
/* : MPropDef */;
6274 val
* var26
/* : MPropDef */;
6275 val
* var27
/* : MClassDef */;
6276 val
* var29
/* : MClassDef */;
6277 val
* var30
/* : nullable Frame */;
6278 val
* var32
/* : nullable Frame */;
6279 val
* var33
/* : Array[RuntimeVariable] */;
6280 val
* var35
/* : Array[RuntimeVariable] */;
6281 val
* var36
/* : nullable Object */;
6282 val
* var_recv
/* var recv: RuntimeVariable */;
6283 val
* var37
/* : String */;
6284 val
* var_recv_type_info
/* var recv_type_info: String */;
6285 val
* var38
/* : String */;
6286 static val
* varonce39
;
6287 val
* var40
/* : String */;
6288 char* var41
/* : NativeString */;
6289 long var42
/* : Int */;
6290 val
* var43
/* : FlatString */;
6291 val
* var44
/* : MClass */;
6292 val
* var46
/* : MClass */;
6293 val
* var47
/* : String */;
6294 static val
* varonce48
;
6295 val
* var49
/* : String */;
6296 char* var50
/* : NativeString */;
6297 long var51
/* : Int */;
6298 val
* var52
/* : FlatString */;
6299 static val
* varonce53
;
6300 val
* var54
/* : String */;
6301 char* var55
/* : NativeString */;
6302 long var56
/* : Int */;
6303 val
* var57
/* : FlatString */;
6304 val
* var58
/* : String */;
6305 static val
* varonce59
;
6306 val
* var60
/* : String */;
6307 char* var61
/* : NativeString */;
6308 long var62
/* : Int */;
6309 val
* var63
/* : FlatString */;
6310 val
* var64
/* : Array[Object] */;
6311 long var65
/* : Int */;
6312 val
* var66
/* : NativeArray[Object] */;
6313 val
* var67
/* : String */;
6314 val
* var68
/* : RuntimeVariable */;
6315 val
* var69
/* : Set[MType] */;
6316 val
* var71
/* : Set[MType] */;
6317 static val
* varonce72
;
6318 val
* var73
/* : String */;
6319 char* var74
/* : NativeString */;
6320 long var75
/* : Int */;
6321 val
* var76
/* : FlatString */;
6322 val
* var77
/* : String */;
6323 val
* var78
/* : Array[Object] */;
6324 long var79
/* : Int */;
6325 val
* var80
/* : NativeArray[Object] */;
6326 val
* var81
/* : String */;
6327 static val
* varonce82
;
6328 val
* var83
/* : String */;
6329 char* var84
/* : NativeString */;
6330 long var85
/* : Int */;
6331 val
* var86
/* : FlatString */;
6332 val
* var87
/* : MClass */;
6333 val
* var89
/* : MClass */;
6334 val
* var90
/* : String */;
6335 static val
* varonce91
;
6336 val
* var92
/* : String */;
6337 char* var93
/* : NativeString */;
6338 long var94
/* : Int */;
6339 val
* var95
/* : FlatString */;
6340 val
* var96
/* : String */;
6341 static val
* varonce97
;
6342 val
* var98
/* : String */;
6343 char* var99
/* : NativeString */;
6344 long var100
/* : Int */;
6345 val
* var101
/* : FlatString */;
6346 val
* var102
/* : Array[Object] */;
6347 long var103
/* : Int */;
6348 val
* var104
/* : NativeArray[Object] */;
6349 val
* var105
/* : String */;
6350 val
* var106
/* : RuntimeVariable */;
6357 var4
= string__NativeString__to_s_with_length(var2
, var3
);
6362 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
6363 var7
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
6364 if (unlikely(var7
== NULL
)) {
6365 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6366 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
6374 var8
= abstract_compiler__MClass__c_name(var5
);
6376 var9
= NEW_array__Array(&type_array__Arraykernel__Object
);
6377 { /* var9 = array_instance Array[Object] */
6379 var11
= NEW_array__NativeArray(var10
, &type_array__NativeArraykernel__Object
);
6380 ((struct instance_array__NativeArray
*)var11
)->values
[0] = (val
*) var1
;
6381 ((struct instance_array__NativeArray
*)var11
)->values
[1] = (val
*) var8
;
6383 ((void (*)(val
*, val
*, long))(var9
->class->vft
[COLOR_array__Array__with_native
]))(var9
, var11
, var10
) /* with_native on <var9:Array[Object]>*/;
6387 var12
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_string__Object__to_s
]))(var9
) /* to_s on <var9:Array[Object]>*/;
6390 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var12
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
6393 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
6394 var15
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
6395 if (unlikely(var15
== NULL
)) {
6396 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6397 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
6401 RET_LABEL14
:(void)0;
6404 var_compiler
= var13
;
6405 /* <var_mtype:MClassType> isa MGenericType */
6406 cltype
= type_model__MGenericType
.color
;
6407 idtype
= type_model__MGenericType
.id
;
6408 if(cltype
>= var_mtype
->type
->table_size
) {
6411 var17
= var_mtype
->type
->type_table
[cltype
] == idtype
;
6416 { /* Inline model#MGenericType#need_anchor (var_mtype) on <var_mtype:MClassType(MGenericType)> */
6417 var20
= var_mtype
->attrs
[COLOR_model__MGenericType___need_anchor
].s
; /* _need_anchor on <var_mtype:MClassType(MGenericType)> */
6419 RET_LABEL19
:(void)0;
6428 separate_compiler__SeparateCompilerVisitor__hardening_live_open_type(self
, var_mtype
); /* Direct call separate_compiler#SeparateCompilerVisitor#hardening_live_open_type on <self:SeparateCompilerVisitor>*/
6431 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
6432 var23
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
6434 RET_LABEL22
:(void)0;
6437 if (var21
== NULL
) {
6438 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6439 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 1352);
6442 { /* Inline abstract_compiler#Frame#mpropdef (var21) on <var21:nullable Frame> */
6443 if (unlikely(var21
== NULL
)) {
6444 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6445 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1531);
6448 var26
= var21
->attrs
[COLOR_abstract_compiler__Frame___mpropdef
].val
; /* _mpropdef on <var21:nullable Frame> */
6449 if (unlikely(var26
== NULL
)) {
6450 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
6451 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1531);
6455 RET_LABEL25
:(void)0;
6459 { /* Inline model#MPropDef#mclassdef (var24) on <var24:MPropDef> */
6460 var29
= var24
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var24:MPropDef> */
6461 if (unlikely(var29
== NULL
)) {
6462 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
6463 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
6467 RET_LABEL28
:(void)0;
6471 separate_compiler__SeparateCompilerVisitor__link_unresolved_type(self
, var27
, var_mtype
); /* Direct call separate_compiler#SeparateCompilerVisitor#link_unresolved_type on <self:SeparateCompilerVisitor>*/
6474 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
6475 var32
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
6477 RET_LABEL31
:(void)0;
6480 if (var30
== NULL
) {
6481 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6482 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 1353);
6485 { /* Inline abstract_compiler#Frame#arguments (var30) on <var30:nullable Frame> */
6486 if (unlikely(var30
== NULL
)) {
6487 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6488 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1538);
6491 var35
= var30
->attrs
[COLOR_abstract_compiler__Frame___arguments
].val
; /* _arguments on <var30:nullable Frame> */
6492 if (unlikely(var35
== NULL
)) {
6493 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
6494 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1538);
6498 RET_LABEL34
:(void)0;
6502 var36
= abstract_collection__SequenceRead__first(var33
);
6506 var37
= separate_compiler__SeparateCompilerVisitor__type_info(self
, var_recv
);
6508 var_recv_type_info
= var37
;
6510 var38
= separate_compiler__MType__const_color(var_mtype
);
6513 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var38
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
6520 var43
= string__NativeString__to_s_with_length(var41
, var42
);
6525 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType(MGenericType)> */
6526 var46
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType(MGenericType)> */
6527 if (unlikely(var46
== NULL
)) {
6528 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6529 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
6533 RET_LABEL45
:(void)0;
6537 var47
= abstract_compiler__MClass__c_name(var44
);
6544 var52
= string__NativeString__to_s_with_length(var50
, var51
);
6551 var55
= "->resolution_table->types[";
6553 var57
= string__NativeString__to_s_with_length(var55
, var56
);
6558 var58
= separate_compiler__MType__const_color(var_mtype
);
6565 var63
= string__NativeString__to_s_with_length(var61
, var62
);
6569 var64
= NEW_array__Array(&type_array__Arraykernel__Object
);
6570 { /* var64 = array_instance Array[Object] */
6572 var66
= NEW_array__NativeArray(var65
, &type_array__NativeArraykernel__Object
);
6573 ((struct instance_array__NativeArray
*)var66
)->values
[0] = (val
*) var40
;
6574 ((struct instance_array__NativeArray
*)var66
)->values
[1] = (val
*) var47
;
6575 ((struct instance_array__NativeArray
*)var66
)->values
[2] = (val
*) var49
;
6576 ((struct instance_array__NativeArray
*)var66
)->values
[3] = (val
*) var_recv_type_info
;
6577 ((struct instance_array__NativeArray
*)var66
)->values
[4] = (val
*) var54
;
6578 ((struct instance_array__NativeArray
*)var66
)->values
[5] = (val
*) var58
;
6579 ((struct instance_array__NativeArray
*)var66
)->values
[6] = (val
*) var60
;
6581 ((void (*)(val
*, val
*, long))(var64
->class->vft
[COLOR_array__Array__with_native
]))(var64
, var66
, var65
) /* with_native on <var64:Array[Object]>*/;
6585 var67
= ((val
* (*)(val
*))(var64
->class->vft
[COLOR_string__Object__to_s
]))(var64
) /* to_s on <var64:Array[Object]>*/;
6588 var68
= abstract_compiler__AbstractCompilerVisitor__new_expr(self
, var67
, var_mtype
);
6595 { /* Inline separate_compiler#SeparateCompiler#undead_types (var_compiler) on <var_compiler:SeparateCompiler> */
6596 var71
= var_compiler
->attrs
[COLOR_separate_compiler__SeparateCompiler___undead_types
].val
; /* _undead_types on <var_compiler:SeparateCompiler> */
6597 if (unlikely(var71
== NULL
)) {
6598 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _undead_types");
6599 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 155);
6603 RET_LABEL70
:(void)0;
6607 ((void (*)(val
*, val
*))(var69
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var69
, var_mtype
) /* add on <var69:Set[MType]>*/;
6614 var76
= string__NativeString__to_s_with_length(var74
, var75
);
6619 var77
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType>*/;
6621 var78
= NEW_array__Array(&type_array__Arraykernel__Object
);
6622 { /* var78 = array_instance Array[Object] */
6624 var80
= NEW_array__NativeArray(var79
, &type_array__NativeArraykernel__Object
);
6625 ((struct instance_array__NativeArray
*)var80
)->values
[0] = (val
*) var73
;
6626 ((struct instance_array__NativeArray
*)var80
)->values
[1] = (val
*) var77
;
6628 ((void (*)(val
*, val
*, long))(var78
->class->vft
[COLOR_array__Array__with_native
]))(var78
, var80
, var79
) /* with_native on <var78:Array[Object]>*/;
6632 var81
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_string__Object__to_s
]))(var78
) /* to_s on <var78:Array[Object]>*/;
6635 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var81
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
6642 var86
= string__NativeString__to_s_with_length(var84
, var85
);
6647 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
6648 var89
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
6649 if (unlikely(var89
== NULL
)) {
6650 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6651 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
6655 RET_LABEL88
:(void)0;
6659 var90
= abstract_compiler__MClass__c_name(var87
);
6666 var95
= string__NativeString__to_s_with_length(var93
, var94
);
6671 var96
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType>*/;
6678 var101
= string__NativeString__to_s_with_length(var99
, var100
);
6682 var102
= NEW_array__Array(&type_array__Arraykernel__Object
);
6683 { /* var102 = array_instance Array[Object] */
6685 var104
= NEW_array__NativeArray(var103
, &type_array__NativeArraykernel__Object
);
6686 ((struct instance_array__NativeArray
*)var104
)->values
[0] = (val
*) var83
;
6687 ((struct instance_array__NativeArray
*)var104
)->values
[1] = (val
*) var90
;
6688 ((struct instance_array__NativeArray
*)var104
)->values
[2] = (val
*) var92
;
6689 ((struct instance_array__NativeArray
*)var104
)->values
[3] = (val
*) var96
;
6690 ((struct instance_array__NativeArray
*)var104
)->values
[4] = (val
*) var98
;
6692 ((void (*)(val
*, val
*, long))(var102
->class->vft
[COLOR_array__Array__with_native
]))(var102
, var104
, var103
) /* with_native on <var102:Array[Object]>*/;
6696 var105
= ((val
* (*)(val
*))(var102
->class->vft
[COLOR_string__Object__to_s
]))(var102
) /* to_s on <var102:Array[Object]>*/;
6699 var106
= abstract_compiler__AbstractCompilerVisitor__new_expr(self
, var105
, var_mtype
);
6706 /* method separate_compiler#SeparateCompilerVisitor#init_instance for (self: Object, MClassType): RuntimeVariable */
6707 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__init_instance(val
* self
, val
* p0
) {
6708 val
* var
/* : RuntimeVariable */;
6709 val
* var1
/* : RuntimeVariable */;
6710 var1
= separate_compiler__SeparateCompilerVisitor__init_instance(self
, p0
);
6715 /* method separate_compiler#SeparateCompilerVisitor#type_test for (self: SeparateCompilerVisitor, RuntimeVariable, MType, String): RuntimeVariable */
6716 val
* separate_compiler__SeparateCompilerVisitor__type_test(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6717 val
* var
/* : RuntimeVariable */;
6718 val
* var_value
/* var value: RuntimeVariable */;
6719 val
* var_mtype
/* var mtype: MType */;
6720 val
* var_tag
/* var tag: String */;
6721 static val
* varonce
;
6722 val
* var1
/* : String */;
6723 char* var2
/* : NativeString */;
6724 long var3
/* : Int */;
6725 val
* var4
/* : FlatString */;
6726 val
* var5
/* : String */;
6727 static val
* varonce6
;
6728 val
* var7
/* : String */;
6729 char* var8
/* : NativeString */;
6730 long var9
/* : Int */;
6731 val
* var10
/* : FlatString */;
6732 static val
* varonce11
;
6733 val
* var12
/* : String */;
6734 char* var13
/* : NativeString */;
6735 long var14
/* : Int */;
6736 val
* var15
/* : FlatString */;
6737 val
* var16
/* : Array[Object] */;
6738 long var17
/* : Int */;
6739 val
* var18
/* : NativeArray[Object] */;
6740 val
* var19
/* : String */;
6741 val
* var20
/* : AbstractCompiler */;
6742 val
* var22
/* : AbstractCompiler */;
6743 val
* var_compiler
/* var compiler: SeparateCompiler */;
6744 val
* var23
/* : nullable Frame */;
6745 val
* var25
/* : nullable Frame */;
6746 val
* var26
/* : Array[RuntimeVariable] */;
6747 val
* var28
/* : Array[RuntimeVariable] */;
6748 val
* var29
/* : nullable Object */;
6749 val
* var_recv
/* var recv: RuntimeVariable */;
6750 val
* var30
/* : String */;
6751 val
* var_recv_type_info
/* var recv_type_info: String */;
6752 val
* var31
/* : MClassType */;
6753 val
* var32
/* : RuntimeVariable */;
6754 val
* var_res
/* var res: RuntimeVariable */;
6755 static val
* varonce33
;
6756 val
* var34
/* : String */;
6757 char* var35
/* : NativeString */;
6758 long var36
/* : Int */;
6759 val
* var37
/* : FlatString */;
6760 val
* var38
/* : String */;
6761 val
* var_cltype
/* var cltype: String */;
6762 static val
* varonce39
;
6763 val
* var40
/* : String */;
6764 char* var41
/* : NativeString */;
6765 long var42
/* : Int */;
6766 val
* var43
/* : FlatString */;
6767 static val
* varonce44
;
6768 val
* var45
/* : String */;
6769 char* var46
/* : NativeString */;
6770 long var47
/* : Int */;
6771 val
* var48
/* : FlatString */;
6772 val
* var49
/* : Array[Object] */;
6773 long var50
/* : Int */;
6774 val
* var51
/* : NativeArray[Object] */;
6775 val
* var52
/* : String */;
6776 static val
* varonce53
;
6777 val
* var54
/* : String */;
6778 char* var55
/* : NativeString */;
6779 long var56
/* : Int */;
6780 val
* var57
/* : FlatString */;
6781 val
* var58
/* : String */;
6782 val
* var_idtype
/* var idtype: String */;
6783 static val
* varonce59
;
6784 val
* var60
/* : String */;
6785 char* var61
/* : NativeString */;
6786 long var62
/* : Int */;
6787 val
* var63
/* : FlatString */;
6788 static val
* varonce64
;
6789 val
* var65
/* : String */;
6790 char* var66
/* : NativeString */;
6791 long var67
/* : Int */;
6792 val
* var68
/* : FlatString */;
6793 val
* var69
/* : Array[Object] */;
6794 long var70
/* : Int */;
6795 val
* var71
/* : NativeArray[Object] */;
6796 val
* var72
/* : String */;
6797 short int var73
/* : Bool */;
6798 short int var_maybe_null
/* var maybe_null: Bool */;
6799 static val
* varonce74
;
6800 val
* var75
/* : String */;
6801 char* var76
/* : NativeString */;
6802 long var77
/* : Int */;
6803 val
* var78
/* : FlatString */;
6804 val
* var_accept_null
/* var accept_null: String */;
6805 val
* var_ntype
/* var ntype: MType */;
6806 short int var79
/* : Bool */;
6809 val
* var80
/* : MType */;
6810 val
* var82
/* : MType */;
6811 static val
* varonce83
;
6812 val
* var84
/* : String */;
6813 char* var85
/* : NativeString */;
6814 long var86
/* : Int */;
6815 val
* var87
/* : FlatString */;
6816 val
* var88
/* : MType */;
6817 val
* var90
/* : MType */;
6818 val
* var91
/* : nullable Frame */;
6819 val
* var93
/* : nullable Frame */;
6820 val
* var94
/* : MPropDef */;
6821 val
* var96
/* : MPropDef */;
6822 val
* var97
/* : MClassDef */;
6823 val
* var99
/* : MClassDef */;
6824 val
* var100
/* : MModule */;
6825 val
* var102
/* : MModule */;
6826 val
* var103
/* : nullable Frame */;
6827 val
* var105
/* : nullable Frame */;
6828 val
* var106
/* : MPropDef */;
6829 val
* var108
/* : MPropDef */;
6830 val
* var109
/* : MClassDef */;
6831 val
* var111
/* : MClassDef */;
6832 val
* var112
/* : MClassType */;
6833 val
* var114
/* : MClassType */;
6834 short int var115
/* : Bool */;
6835 static val
* varonce116
;
6836 val
* var117
/* : String */;
6837 char* var118
/* : NativeString */;
6838 long var119
/* : Int */;
6839 val
* var120
/* : FlatString */;
6840 val
* var121
/* : String */;
6841 static val
* varonce122
;
6842 val
* var123
/* : String */;
6843 char* var124
/* : NativeString */;
6844 long var125
/* : Int */;
6845 val
* var126
/* : FlatString */;
6846 static val
* varonce127
;
6847 val
* var128
/* : String */;
6848 char* var129
/* : NativeString */;
6849 long var130
/* : Int */;
6850 val
* var131
/* : FlatString */;
6851 val
* var132
/* : Array[Object] */;
6852 long var133
/* : Int */;
6853 val
* var134
/* : NativeArray[Object] */;
6854 val
* var135
/* : String */;
6855 val
* var136
/* : ModelBuilder */;
6856 val
* var138
/* : ModelBuilder */;
6857 val
* var139
/* : ToolContext */;
6858 val
* var141
/* : ToolContext */;
6859 val
* var142
/* : OptionBool */;
6860 val
* var144
/* : OptionBool */;
6861 val
* var145
/* : nullable Object */;
6862 val
* var147
/* : nullable Object */;
6863 short int var148
/* : Bool */;
6864 val
* var149
/* : AbstractCompiler */;
6865 val
* var151
/* : AbstractCompiler */;
6866 val
* var152
/* : HashMap[String, Int] */;
6867 val
* var154
/* : HashMap[String, Int] */;
6868 val
* var_
/* var : HashMap[String, Int] */;
6869 val
* var_155
/* var : String */;
6870 val
* var156
/* : nullable Object */;
6871 long var157
/* : Int */;
6872 long var158
/* : Int */;
6873 short int var160
/* : Bool */;
6876 const char* var_class_name
;
6877 long var163
/* : Int */;
6878 long var164
/* : Int */;
6879 val
* var165
/* : nullable Object */;
6880 static val
* varonce166
;
6881 val
* var167
/* : String */;
6882 char* var168
/* : NativeString */;
6883 long var169
/* : Int */;
6884 val
* var170
/* : FlatString */;
6885 static val
* varonce171
;
6886 val
* var172
/* : String */;
6887 char* var173
/* : NativeString */;
6888 long var174
/* : Int */;
6889 val
* var175
/* : FlatString */;
6890 val
* var176
/* : Array[Object] */;
6891 long var177
/* : Int */;
6892 val
* var178
/* : NativeArray[Object] */;
6893 val
* var179
/* : String */;
6894 short int var180
/* : Bool */;
6895 static val
* varonce181
;
6896 val
* var182
/* : String */;
6897 char* var183
/* : NativeString */;
6898 long var184
/* : Int */;
6899 val
* var185
/* : FlatString */;
6900 val
* var186
/* : String */;
6901 val
* var_type_struct
/* var type_struct: String */;
6902 static val
* varonce187
;
6903 val
* var188
/* : String */;
6904 char* var189
/* : NativeString */;
6905 long var190
/* : Int */;
6906 val
* var191
/* : FlatString */;
6907 static val
* varonce192
;
6908 val
* var193
/* : String */;
6909 char* var194
/* : NativeString */;
6910 long var195
/* : Int */;
6911 val
* var196
/* : FlatString */;
6912 val
* var197
/* : Array[Object] */;
6913 long var198
/* : Int */;
6914 val
* var199
/* : NativeArray[Object] */;
6915 val
* var200
/* : String */;
6916 val
* var201
/* : nullable Frame */;
6917 val
* var203
/* : nullable Frame */;
6918 val
* var204
/* : MPropDef */;
6919 val
* var206
/* : MPropDef */;
6920 val
* var207
/* : MClassDef */;
6921 val
* var209
/* : MClassDef */;
6922 val
* var210
/* : String */;
6923 static val
* varonce211
;
6924 val
* var212
/* : String */;
6925 char* var213
/* : NativeString */;
6926 long var214
/* : Int */;
6927 val
* var215
/* : FlatString */;
6928 static val
* varonce216
;
6929 val
* var217
/* : String */;
6930 char* var218
/* : NativeString */;
6931 long var219
/* : Int */;
6932 val
* var220
/* : FlatString */;
6933 val
* var221
/* : String */;
6934 static val
* varonce222
;
6935 val
* var223
/* : String */;
6936 char* var224
/* : NativeString */;
6937 long var225
/* : Int */;
6938 val
* var226
/* : FlatString */;
6939 val
* var227
/* : Array[Object] */;
6940 long var228
/* : Int */;
6941 val
* var229
/* : NativeArray[Object] */;
6942 val
* var230
/* : String */;
6943 val
* var231
/* : ModelBuilder */;
6944 val
* var233
/* : ModelBuilder */;
6945 val
* var234
/* : ToolContext */;
6946 val
* var236
/* : ToolContext */;
6947 val
* var237
/* : OptionBool */;
6948 val
* var239
/* : OptionBool */;
6949 val
* var240
/* : nullable Object */;
6950 val
* var242
/* : nullable Object */;
6951 short int var243
/* : Bool */;
6952 val
* var244
/* : AbstractCompiler */;
6953 val
* var246
/* : AbstractCompiler */;
6954 val
* var247
/* : HashMap[String, Int] */;
6955 val
* var249
/* : HashMap[String, Int] */;
6956 val
* var_250
/* var : HashMap[String, Int] */;
6957 val
* var_251
/* var : String */;
6958 val
* var252
/* : nullable Object */;
6959 long var253
/* : Int */;
6960 long var254
/* : Int */;
6961 short int var256
/* : Bool */;
6964 const char* var_class_name259
;
6965 long var260
/* : Int */;
6966 long var261
/* : Int */;
6967 val
* var262
/* : nullable Object */;
6968 static val
* varonce263
;
6969 val
* var264
/* : String */;
6970 char* var265
/* : NativeString */;
6971 long var266
/* : Int */;
6972 val
* var267
/* : FlatString */;
6973 static val
* varonce268
;
6974 val
* var269
/* : String */;
6975 char* var270
/* : NativeString */;
6976 long var271
/* : Int */;
6977 val
* var272
/* : FlatString */;
6978 val
* var273
/* : Array[Object] */;
6979 long var274
/* : Int */;
6980 val
* var275
/* : NativeArray[Object] */;
6981 val
* var276
/* : String */;
6982 static val
* varonce277
;
6983 val
* var278
/* : String */;
6984 char* var279
/* : NativeString */;
6985 long var280
/* : Int */;
6986 val
* var281
/* : FlatString */;
6987 static val
* varonce282
;
6988 val
* var283
/* : String */;
6989 char* var284
/* : NativeString */;
6990 long var285
/* : Int */;
6991 val
* var286
/* : FlatString */;
6992 val
* var287
/* : Array[Object] */;
6993 long var288
/* : Int */;
6994 val
* var289
/* : NativeArray[Object] */;
6995 val
* var290
/* : String */;
6996 static val
* varonce291
;
6997 val
* var292
/* : String */;
6998 char* var293
/* : NativeString */;
6999 long var294
/* : Int */;
7000 val
* var295
/* : FlatString */;
7001 static val
* varonce296
;
7002 val
* var297
/* : String */;
7003 char* var298
/* : NativeString */;
7004 long var299
/* : Int */;
7005 val
* var300
/* : FlatString */;
7006 val
* var301
/* : Array[Object] */;
7007 long var302
/* : Int */;
7008 val
* var303
/* : NativeArray[Object] */;
7009 val
* var304
/* : String */;
7010 short int var305
/* : Bool */;
7011 short int var_306
/* var : Bool */;
7012 static val
* varonce307
;
7013 val
* var308
/* : String */;
7014 char* var309
/* : NativeString */;
7015 long var310
/* : Int */;
7016 val
* var311
/* : FlatString */;
7017 short int var312
/* : Bool */;
7018 short int var313
/* : Bool */;
7019 static val
* varonce314
;
7020 val
* var315
/* : String */;
7021 char* var316
/* : NativeString */;
7022 long var317
/* : Int */;
7023 val
* var318
/* : FlatString */;
7024 val
* var319
/* : String */;
7025 val
* var_is_nullable
/* var is_nullable: String */;
7026 static val
* varonce320
;
7027 val
* var321
/* : String */;
7028 char* var322
/* : NativeString */;
7029 long var323
/* : Int */;
7030 val
* var324
/* : FlatString */;
7031 static val
* varonce325
;
7032 val
* var326
/* : String */;
7033 char* var327
/* : NativeString */;
7034 long var328
/* : Int */;
7035 val
* var329
/* : FlatString */;
7036 val
* var330
/* : Array[Object] */;
7037 long var331
/* : Int */;
7038 val
* var332
/* : NativeArray[Object] */;
7039 val
* var333
/* : String */;
7040 static val
* varonce334
;
7041 val
* var335
/* : String */;
7042 char* var336
/* : NativeString */;
7043 long var337
/* : Int */;
7044 val
* var338
/* : FlatString */;
7045 static val
* varonce339
;
7046 val
* var340
/* : String */;
7047 char* var341
/* : NativeString */;
7048 long var342
/* : Int */;
7049 val
* var343
/* : FlatString */;
7050 val
* var344
/* : Array[Object] */;
7051 long var345
/* : Int */;
7052 val
* var346
/* : NativeArray[Object] */;
7053 val
* var347
/* : String */;
7054 val
* var348
/* : String */;
7055 short int var349
/* : Bool */;
7058 val
* var352
/* : Set[MType] */;
7059 val
* var354
/* : Set[MType] */;
7060 static val
* varonce355
;
7061 val
* var356
/* : String */;
7062 char* var357
/* : NativeString */;
7063 long var358
/* : Int */;
7064 val
* var359
/* : FlatString */;
7065 val
* var360
/* : String */;
7066 val
* var361
/* : Array[Object] */;
7067 long var362
/* : Int */;
7068 val
* var363
/* : NativeArray[Object] */;
7069 val
* var364
/* : String */;
7070 static val
* varonce365
;
7071 val
* var366
/* : String */;
7072 char* var367
/* : NativeString */;
7073 long var368
/* : Int */;
7074 val
* var369
/* : FlatString */;
7075 val
* var370
/* : String */;
7076 static val
* varonce371
;
7077 val
* var372
/* : String */;
7078 char* var373
/* : NativeString */;
7079 long var374
/* : Int */;
7080 val
* var375
/* : FlatString */;
7081 val
* var376
/* : Array[Object] */;
7082 long var377
/* : Int */;
7083 val
* var378
/* : NativeArray[Object] */;
7084 val
* var379
/* : String */;
7085 static val
* varonce380
;
7086 val
* var381
/* : String */;
7087 char* var382
/* : NativeString */;
7088 long var383
/* : Int */;
7089 val
* var384
/* : FlatString */;
7090 val
* var385
/* : String */;
7091 static val
* varonce386
;
7092 val
* var387
/* : String */;
7093 char* var388
/* : NativeString */;
7094 long var389
/* : Int */;
7095 val
* var390
/* : FlatString */;
7096 val
* var391
/* : Array[Object] */;
7097 long var392
/* : Int */;
7098 val
* var393
/* : NativeArray[Object] */;
7099 val
* var394
/* : String */;
7100 static val
* varonce395
;
7101 val
* var396
/* : String */;
7102 char* var397
/* : NativeString */;
7103 long var398
/* : Int */;
7104 val
* var399
/* : FlatString */;
7105 val
* var400
/* : String */;
7106 static val
* varonce401
;
7107 val
* var402
/* : String */;
7108 char* var403
/* : NativeString */;
7109 long var404
/* : Int */;
7110 val
* var405
/* : FlatString */;
7111 val
* var406
/* : Array[Object] */;
7112 long var407
/* : Int */;
7113 val
* var408
/* : NativeArray[Object] */;
7114 val
* var409
/* : String */;
7115 val
* var410
/* : ModelBuilder */;
7116 val
* var412
/* : ModelBuilder */;
7117 val
* var413
/* : ToolContext */;
7118 val
* var415
/* : ToolContext */;
7119 val
* var416
/* : OptionBool */;
7120 val
* var418
/* : OptionBool */;
7121 val
* var419
/* : nullable Object */;
7122 val
* var421
/* : nullable Object */;
7123 short int var422
/* : Bool */;
7124 val
* var423
/* : AbstractCompiler */;
7125 val
* var425
/* : AbstractCompiler */;
7126 val
* var426
/* : HashMap[String, Int] */;
7127 val
* var428
/* : HashMap[String, Int] */;
7128 val
* var_429
/* var : HashMap[String, Int] */;
7129 val
* var_430
/* var : String */;
7130 val
* var431
/* : nullable Object */;
7131 long var432
/* : Int */;
7132 long var433
/* : Int */;
7133 short int var435
/* : Bool */;
7136 const char* var_class_name438
;
7137 long var439
/* : Int */;
7138 long var440
/* : Int */;
7139 val
* var441
/* : nullable Object */;
7140 static val
* varonce442
;
7141 val
* var443
/* : String */;
7142 char* var444
/* : NativeString */;
7143 long var445
/* : Int */;
7144 val
* var446
/* : FlatString */;
7145 static val
* varonce447
;
7146 val
* var448
/* : String */;
7147 char* var449
/* : NativeString */;
7148 long var450
/* : Int */;
7149 val
* var451
/* : FlatString */;
7150 val
* var452
/* : Array[Object] */;
7151 long var453
/* : Int */;
7152 val
* var454
/* : NativeArray[Object] */;
7153 val
* var455
/* : String */;
7154 static val
* varonce456
;
7155 val
* var457
/* : String */;
7156 char* var458
/* : NativeString */;
7157 long var459
/* : Int */;
7158 val
* var460
/* : FlatString */;
7159 static val
* varonce461
;
7160 val
* var462
/* : String */;
7161 char* var463
/* : NativeString */;
7162 long var464
/* : Int */;
7163 val
* var465
/* : FlatString */;
7164 val
* var466
/* : String */;
7165 static val
* varonce467
;
7166 val
* var468
/* : String */;
7167 char* var469
/* : NativeString */;
7168 long var470
/* : Int */;
7169 val
* var471
/* : FlatString */;
7170 val
* var472
/* : Array[Object] */;
7171 long var473
/* : Int */;
7172 val
* var474
/* : NativeArray[Object] */;
7173 val
* var475
/* : String */;
7174 static val
* varonce476
;
7175 val
* var477
/* : String */;
7176 char* var478
/* : NativeString */;
7177 long var479
/* : Int */;
7178 val
* var480
/* : FlatString */;
7179 static val
* varonce481
;
7180 val
* var482
/* : String */;
7181 char* var483
/* : NativeString */;
7182 long var484
/* : Int */;
7183 val
* var485
/* : FlatString */;
7184 val
* var486
/* : Array[Object] */;
7185 long var487
/* : Int */;
7186 val
* var488
/* : NativeArray[Object] */;
7187 val
* var489
/* : String */;
7188 static val
* varonce490
;
7189 val
* var491
/* : String */;
7190 char* var492
/* : NativeString */;
7191 long var493
/* : Int */;
7192 val
* var494
/* : FlatString */;
7193 static val
* varonce495
;
7194 val
* var496
/* : String */;
7195 char* var497
/* : NativeString */;
7196 long var498
/* : Int */;
7197 val
* var499
/* : FlatString */;
7198 val
* var500
/* : Array[Object] */;
7199 long var501
/* : Int */;
7200 val
* var502
/* : NativeArray[Object] */;
7201 val
* var503
/* : String */;
7202 static val
* varonce504
;
7203 val
* var505
/* : String */;
7204 char* var506
/* : NativeString */;
7205 long var507
/* : Int */;
7206 val
* var508
/* : FlatString */;
7207 val
* var509
/* : String */;
7208 val
* var_value_type_info
/* var value_type_info: String */;
7209 static val
* varonce510
;
7210 val
* var511
/* : String */;
7211 char* var512
/* : NativeString */;
7212 long var513
/* : Int */;
7213 val
* var514
/* : FlatString */;
7214 static val
* varonce515
;
7215 val
* var516
/* : String */;
7216 char* var517
/* : NativeString */;
7217 long var518
/* : Int */;
7218 val
* var519
/* : FlatString */;
7219 static val
* varonce520
;
7220 val
* var521
/* : String */;
7221 char* var522
/* : NativeString */;
7222 long var523
/* : Int */;
7223 val
* var524
/* : FlatString */;
7224 val
* var525
/* : Array[Object] */;
7225 long var526
/* : Int */;
7226 val
* var527
/* : NativeArray[Object] */;
7227 val
* var528
/* : String */;
7228 static val
* varonce529
;
7229 val
* var530
/* : String */;
7230 char* var531
/* : NativeString */;
7231 long var532
/* : Int */;
7232 val
* var533
/* : FlatString */;
7233 val
* var534
/* : Array[Object] */;
7234 long var535
/* : Int */;
7235 val
* var536
/* : NativeArray[Object] */;
7236 val
* var537
/* : String */;
7237 static val
* varonce538
;
7238 val
* var539
/* : String */;
7239 char* var540
/* : NativeString */;
7240 long var541
/* : Int */;
7241 val
* var542
/* : FlatString */;
7242 static val
* varonce543
;
7243 val
* var544
/* : String */;
7244 char* var545
/* : NativeString */;
7245 long var546
/* : Int */;
7246 val
* var547
/* : FlatString */;
7247 static val
* varonce548
;
7248 val
* var549
/* : String */;
7249 char* var550
/* : NativeString */;
7250 long var551
/* : Int */;
7251 val
* var552
/* : FlatString */;
7252 static val
* varonce553
;
7253 val
* var554
/* : String */;
7254 char* var555
/* : NativeString */;
7255 long var556
/* : Int */;
7256 val
* var557
/* : FlatString */;
7257 static val
* varonce558
;
7258 val
* var559
/* : String */;
7259 char* var560
/* : NativeString */;
7260 long var561
/* : Int */;
7261 val
* var562
/* : FlatString */;
7262 val
* var563
/* : Array[Object] */;
7263 long var564
/* : Int */;
7264 val
* var565
/* : NativeArray[Object] */;
7265 val
* var566
/* : String */;
7266 static val
* varonce567
;
7267 val
* var568
/* : String */;
7268 char* var569
/* : NativeString */;
7269 long var570
/* : Int */;
7270 val
* var571
/* : FlatString */;
7271 static val
* varonce572
;
7272 val
* var573
/* : String */;
7273 char* var574
/* : NativeString */;
7274 long var575
/* : Int */;
7275 val
* var576
/* : FlatString */;
7284 var4
= string__NativeString__to_s_with_length(var2
, var3
);
7289 var5
= abstract_compiler__RuntimeVariable__inspect(var_value
);
7296 var10
= string__NativeString__to_s_with_length(var8
, var9
);
7305 var15
= string__NativeString__to_s_with_length(var13
, var14
);
7309 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
7310 { /* var16 = array_instance Array[Object] */
7312 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArraykernel__Object
);
7313 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var1
;
7314 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var5
;
7315 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var7
;
7316 ((struct instance_array__NativeArray
*)var18
)->values
[3] = (val
*) var_mtype
;
7317 ((struct instance_array__NativeArray
*)var18
)->values
[4] = (val
*) var12
;
7319 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
7323 var19
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
7326 abstract_compiler__AbstractCompilerVisitor__add(self
, var19
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7329 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
7330 var22
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
7331 if (unlikely(var22
== NULL
)) {
7332 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7333 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
7337 RET_LABEL21
:(void)0;
7340 var_compiler
= var20
;
7342 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
7343 var25
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
7345 RET_LABEL24
:(void)0;
7348 if (var23
== NULL
) {
7349 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7350 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 1368);
7353 { /* Inline abstract_compiler#Frame#arguments (var23) on <var23:nullable Frame> */
7354 if (unlikely(var23
== NULL
)) {
7355 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7356 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1538);
7359 var28
= var23
->attrs
[COLOR_abstract_compiler__Frame___arguments
].val
; /* _arguments on <var23:nullable Frame> */
7360 if (unlikely(var28
== NULL
)) {
7361 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
7362 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1538);
7366 RET_LABEL27
:(void)0;
7370 var29
= abstract_collection__SequenceRead__first(var26
);
7374 var30
= separate_compiler__SeparateCompilerVisitor__type_info(self
, var_recv
);
7376 var_recv_type_info
= var30
;
7378 var31
= abstract_compiler__AbstractCompilerVisitor__bool_type(self
);
7381 var32
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var31
);
7389 var37
= string__NativeString__to_s_with_length(var35
, var36
);
7394 var38
= abstract_compiler__AbstractCompilerVisitor__get_name(self
, var34
);
7402 var43
= string__NativeString__to_s_with_length(var41
, var42
);
7411 var48
= string__NativeString__to_s_with_length(var46
, var47
);
7415 var49
= NEW_array__Array(&type_array__Arraykernel__Object
);
7416 { /* var49 = array_instance Array[Object] */
7418 var51
= NEW_array__NativeArray(var50
, &type_array__NativeArraykernel__Object
);
7419 ((struct instance_array__NativeArray
*)var51
)->values
[0] = (val
*) var40
;
7420 ((struct instance_array__NativeArray
*)var51
)->values
[1] = (val
*) var_cltype
;
7421 ((struct instance_array__NativeArray
*)var51
)->values
[2] = (val
*) var45
;
7423 ((void (*)(val
*, val
*, long))(var49
->class->vft
[COLOR_array__Array__with_native
]))(var49
, var51
, var50
) /* with_native on <var49:Array[Object]>*/;
7427 var52
= ((val
* (*)(val
*))(var49
->class->vft
[COLOR_string__Object__to_s
]))(var49
) /* to_s on <var49:Array[Object]>*/;
7430 abstract_compiler__AbstractCompilerVisitor__add_decl(self
, var52
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:SeparateCompilerVisitor>*/
7437 var57
= string__NativeString__to_s_with_length(var55
, var56
);
7442 var58
= abstract_compiler__AbstractCompilerVisitor__get_name(self
, var54
);
7450 var63
= string__NativeString__to_s_with_length(var61
, var62
);
7459 var68
= string__NativeString__to_s_with_length(var66
, var67
);
7463 var69
= NEW_array__Array(&type_array__Arraykernel__Object
);
7464 { /* var69 = array_instance Array[Object] */
7466 var71
= NEW_array__NativeArray(var70
, &type_array__NativeArraykernel__Object
);
7467 ((struct instance_array__NativeArray
*)var71
)->values
[0] = (val
*) var60
;
7468 ((struct instance_array__NativeArray
*)var71
)->values
[1] = (val
*) var_idtype
;
7469 ((struct instance_array__NativeArray
*)var71
)->values
[2] = (val
*) var65
;
7471 ((void (*)(val
*, val
*, long))(var69
->class->vft
[COLOR_array__Array__with_native
]))(var69
, var71
, var70
) /* with_native on <var69:Array[Object]>*/;
7475 var72
= ((val
* (*)(val
*))(var69
->class->vft
[COLOR_string__Object__to_s
]))(var69
) /* to_s on <var69:Array[Object]>*/;
7478 abstract_compiler__AbstractCompilerVisitor__add_decl(self
, var72
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:SeparateCompilerVisitor>*/
7481 var73
= separate_compiler__SeparateCompilerVisitor__maybe_null(self
, var_value
);
7483 var_maybe_null
= var73
;
7489 var78
= string__NativeString__to_s_with_length(var76
, var77
);
7493 var_accept_null
= var75
;
7494 var_ntype
= var_mtype
;
7495 /* <var_ntype:MType> isa MNullableType */
7496 cltype
= type_model__MNullableType
.color
;
7497 idtype
= type_model__MNullableType
.id
;
7498 if(cltype
>= var_ntype
->type
->table_size
) {
7501 var79
= var_ntype
->type
->type_table
[cltype
] == idtype
;
7505 { /* Inline model#MNullableType#mtype (var_ntype) on <var_ntype:MType(MNullableType)> */
7506 var82
= var_ntype
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <var_ntype:MType(MNullableType)> */
7507 if (unlikely(var82
== NULL
)) {
7508 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7509 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1375);
7513 RET_LABEL81
:(void)0;
7522 var87
= string__NativeString__to_s_with_length(var85
, var86
);
7526 var_accept_null
= var84
;
7530 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_value) on <var_value:RuntimeVariable> */
7531 var90
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_value:RuntimeVariable> */
7532 if (unlikely(var90
== NULL
)) {
7533 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
7534 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1487);
7538 RET_LABEL89
:(void)0;
7542 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
7543 var93
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
7545 RET_LABEL92
:(void)0;
7548 if (var91
== NULL
) {
7549 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7550 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 1386);
7553 { /* Inline abstract_compiler#Frame#mpropdef (var91) on <var91:nullable Frame> */
7554 if (unlikely(var91
== NULL
)) {
7555 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7556 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1531);
7559 var96
= var91
->attrs
[COLOR_abstract_compiler__Frame___mpropdef
].val
; /* _mpropdef on <var91:nullable Frame> */
7560 if (unlikely(var96
== NULL
)) {
7561 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
7562 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1531);
7566 RET_LABEL95
:(void)0;
7570 { /* Inline model#MPropDef#mclassdef (var94) on <var94:MPropDef> */
7571 var99
= var94
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var94:MPropDef> */
7572 if (unlikely(var99
== NULL
)) {
7573 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7574 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
7578 RET_LABEL98
:(void)0;
7582 { /* Inline model#MClassDef#mmodule (var97) on <var97:MClassDef> */
7583 var102
= var97
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var97:MClassDef> */
7584 if (unlikely(var102
== NULL
)) {
7585 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
7586 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
7590 RET_LABEL101
:(void)0;
7594 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
7595 var105
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
7597 RET_LABEL104
:(void)0;
7600 if (var103
== NULL
) {
7601 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7602 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 1386);
7605 { /* Inline abstract_compiler#Frame#mpropdef (var103) on <var103:nullable Frame> */
7606 if (unlikely(var103
== NULL
)) {
7607 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7608 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1531);
7611 var108
= var103
->attrs
[COLOR_abstract_compiler__Frame___mpropdef
].val
; /* _mpropdef on <var103:nullable Frame> */
7612 if (unlikely(var108
== NULL
)) {
7613 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
7614 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1531);
7618 RET_LABEL107
:(void)0;
7622 { /* Inline model#MPropDef#mclassdef (var106) on <var106:MPropDef> */
7623 var111
= var106
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var106:MPropDef> */
7624 if (unlikely(var111
== NULL
)) {
7625 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7626 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
7630 RET_LABEL110
:(void)0;
7634 { /* Inline model#MClassDef#bound_mtype (var109) on <var109:MClassDef> */
7635 var114
= var109
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var109:MClassDef> */
7636 if (unlikely(var114
== NULL
)) {
7637 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
7638 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
7642 RET_LABEL113
:(void)0;
7646 var115
= model__MType__is_subtype(var88
, var100
, var112
, var_mtype
);
7650 var117
= varonce116
;
7652 var118
= " = 1; /* easy ";
7654 var120
= string__NativeString__to_s_with_length(var118
, var119
);
7656 varonce116
= var117
;
7659 var121
= abstract_compiler__RuntimeVariable__inspect(var_value
);
7662 var123
= varonce122
;
7666 var126
= string__NativeString__to_s_with_length(var124
, var125
);
7668 varonce122
= var123
;
7671 var128
= varonce127
;
7675 var131
= string__NativeString__to_s_with_length(var129
, var130
);
7677 varonce127
= var128
;
7679 var132
= NEW_array__Array(&type_array__Arraykernel__Object
);
7680 { /* var132 = array_instance Array[Object] */
7682 var134
= NEW_array__NativeArray(var133
, &type_array__NativeArraykernel__Object
);
7683 ((struct instance_array__NativeArray
*)var134
)->values
[0] = (val
*) var_res
;
7684 ((struct instance_array__NativeArray
*)var134
)->values
[1] = (val
*) var117
;
7685 ((struct instance_array__NativeArray
*)var134
)->values
[2] = (val
*) var121
;
7686 ((struct instance_array__NativeArray
*)var134
)->values
[3] = (val
*) var123
;
7687 ((struct instance_array__NativeArray
*)var134
)->values
[4] = (val
*) var_mtype
;
7688 ((struct instance_array__NativeArray
*)var134
)->values
[5] = (val
*) var128
;
7690 ((void (*)(val
*, val
*, long))(var132
->class->vft
[COLOR_array__Array__with_native
]))(var132
, var134
, var133
) /* with_native on <var132:Array[Object]>*/;
7694 var135
= ((val
* (*)(val
*))(var132
->class->vft
[COLOR_string__Object__to_s
]))(var132
) /* to_s on <var132:Array[Object]>*/;
7697 abstract_compiler__AbstractCompilerVisitor__add(self
, var135
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7700 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var_compiler) on <var_compiler:SeparateCompiler> */
7701 var138
= var_compiler
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var_compiler:SeparateCompiler> */
7702 if (unlikely(var138
== NULL
)) {
7703 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
7704 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
7708 RET_LABEL137
:(void)0;
7712 { /* Inline modelbuilder#ModelBuilder#toolcontext (var136) on <var136:ModelBuilder> */
7713 var141
= var136
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var136:ModelBuilder> */
7714 if (unlikely(var141
== NULL
)) {
7715 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7716 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
7720 RET_LABEL140
:(void)0;
7724 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var139) on <var139:ToolContext> */
7725 var144
= var139
->attrs
[COLOR_abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var139:ToolContext> */
7726 if (unlikely(var144
== NULL
)) {
7727 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
7728 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 56);
7732 RET_LABEL143
:(void)0;
7736 { /* Inline opts#Option#value (var142) on <var142:OptionBool> */
7737 var147
= var142
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var142:OptionBool> */
7739 RET_LABEL146
:(void)0;
7742 var148
= ((struct instance_kernel__Bool
*)var145
)->value
; /* autounbox from nullable Object to Bool */;
7745 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
7746 var151
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
7747 if (unlikely(var151
== NULL
)) {
7748 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7749 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
7753 RET_LABEL150
:(void)0;
7757 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (var149) on <var149:AbstractCompiler(SeparateCompiler)> */
7758 var154
= var149
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <var149:AbstractCompiler(SeparateCompiler)> */
7759 if (unlikely(var154
== NULL
)) {
7760 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
7761 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 891);
7765 RET_LABEL153
:(void)0;
7771 var156
= hash_collection__HashMap___91d_93d(var_
, var_155
);
7775 { /* Inline kernel#Int#+ (var156,var157) on <var156:nullable Object(Int)> */
7776 /* Covariant cast for argument 0 (i) <var157:Int> isa OTHER */
7777 /* <var157:Int> isa OTHER */
7778 var160
= 1; /* easy <var157:Int> isa OTHER*/
7779 if (unlikely(!var160
)) {
7780 var_class_name
= type_kernel__Int
.name
;
7781 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7782 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
7785 var163
= ((struct instance_kernel__Int
*)var156
)->value
; /* autounbox from nullable Object to Int */;
7786 var164
= var163
+ var157
;
7789 RET_LABEL159
:(void)0;
7793 var165
= BOX_kernel__Int(var158
); /* autobox from Int to nullable Object */
7794 hash_collection__HashMap___91d_93d_61d(var_
, var_155
, var165
); /* Direct call hash_collection#HashMap#[]= on <var_:HashMap[String, Int]>*/
7797 var167
= varonce166
;
7799 var168
= "count_type_test_skipped_";
7801 var170
= string__NativeString__to_s_with_length(var168
, var169
);
7803 varonce166
= var167
;
7806 var172
= varonce171
;
7810 var175
= string__NativeString__to_s_with_length(var173
, var174
);
7812 varonce171
= var172
;
7814 var176
= NEW_array__Array(&type_array__Arraykernel__Object
);
7815 { /* var176 = array_instance Array[Object] */
7817 var178
= NEW_array__NativeArray(var177
, &type_array__NativeArraykernel__Object
);
7818 ((struct instance_array__NativeArray
*)var178
)->values
[0] = (val
*) var167
;
7819 ((struct instance_array__NativeArray
*)var178
)->values
[1] = (val
*) var_tag
;
7820 ((struct instance_array__NativeArray
*)var178
)->values
[2] = (val
*) var172
;
7822 ((void (*)(val
*, val
*, long))(var176
->class->vft
[COLOR_array__Array__with_native
]))(var176
, var178
, var177
) /* with_native on <var176:Array[Object]>*/;
7826 var179
= ((val
* (*)(val
*))(var176
->class->vft
[COLOR_string__Object__to_s
]))(var176
) /* to_s on <var176:Array[Object]>*/;
7829 abstract_compiler__AbstractCompilerVisitor__add(self
, var179
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7838 var180
= ((short int (*)(val
*))(var_ntype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_ntype
) /* need_anchor on <var_ntype:MType>*/;
7842 var182
= varonce181
;
7844 var183
= "type_struct";
7846 var185
= string__NativeString__to_s_with_length(var183
, var184
);
7848 varonce181
= var182
;
7851 var186
= abstract_compiler__AbstractCompilerVisitor__get_name(self
, var182
);
7853 var_type_struct
= var186
;
7855 var188
= varonce187
;
7857 var189
= "const struct type* ";
7859 var191
= string__NativeString__to_s_with_length(var189
, var190
);
7861 varonce187
= var188
;
7864 var193
= varonce192
;
7868 var196
= string__NativeString__to_s_with_length(var194
, var195
);
7870 varonce192
= var193
;
7872 var197
= NEW_array__Array(&type_array__Arraykernel__Object
);
7873 { /* var197 = array_instance Array[Object] */
7875 var199
= NEW_array__NativeArray(var198
, &type_array__NativeArraykernel__Object
);
7876 ((struct instance_array__NativeArray
*)var199
)->values
[0] = (val
*) var188
;
7877 ((struct instance_array__NativeArray
*)var199
)->values
[1] = (val
*) var_type_struct
;
7878 ((struct instance_array__NativeArray
*)var199
)->values
[2] = (val
*) var193
;
7880 ((void (*)(val
*, val
*, long))(var197
->class->vft
[COLOR_array__Array__with_native
]))(var197
, var199
, var198
) /* with_native on <var197:Array[Object]>*/;
7884 var200
= ((val
* (*)(val
*))(var197
->class->vft
[COLOR_string__Object__to_s
]))(var197
) /* to_s on <var197:Array[Object]>*/;
7887 abstract_compiler__AbstractCompilerVisitor__add_decl(self
, var200
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:SeparateCompilerVisitor>*/
7890 separate_compiler__SeparateCompilerVisitor__hardening_live_open_type(self
, var_mtype
); /* Direct call separate_compiler#SeparateCompilerVisitor#hardening_live_open_type on <self:SeparateCompilerVisitor>*/
7893 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
7894 var203
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
7896 RET_LABEL202
:(void)0;
7899 if (var201
== NULL
) {
7900 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7901 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 1401);
7904 { /* Inline abstract_compiler#Frame#mpropdef (var201) on <var201:nullable Frame> */
7905 if (unlikely(var201
== NULL
)) {
7906 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7907 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1531);
7910 var206
= var201
->attrs
[COLOR_abstract_compiler__Frame___mpropdef
].val
; /* _mpropdef on <var201:nullable Frame> */
7911 if (unlikely(var206
== NULL
)) {
7912 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
7913 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1531);
7917 RET_LABEL205
:(void)0;
7921 { /* Inline model#MPropDef#mclassdef (var204) on <var204:MPropDef> */
7922 var209
= var204
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var204:MPropDef> */
7923 if (unlikely(var209
== NULL
)) {
7924 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7925 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
7929 RET_LABEL208
:(void)0;
7933 separate_compiler__SeparateCompilerVisitor__link_unresolved_type(self
, var207
, var_mtype
); /* Direct call separate_compiler#SeparateCompilerVisitor#link_unresolved_type on <self:SeparateCompilerVisitor>*/
7936 var210
= separate_compiler__MType__const_color(var_mtype
);
7939 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var210
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
7942 var212
= varonce211
;
7946 var215
= string__NativeString__to_s_with_length(var213
, var214
);
7948 varonce211
= var212
;
7951 var217
= varonce216
;
7953 var218
= "->resolution_table->types[";
7955 var220
= string__NativeString__to_s_with_length(var218
, var219
);
7957 varonce216
= var217
;
7960 var221
= separate_compiler__MType__const_color(var_mtype
);
7963 var223
= varonce222
;
7967 var226
= string__NativeString__to_s_with_length(var224
, var225
);
7969 varonce222
= var223
;
7971 var227
= NEW_array__Array(&type_array__Arraykernel__Object
);
7972 { /* var227 = array_instance Array[Object] */
7974 var229
= NEW_array__NativeArray(var228
, &type_array__NativeArraykernel__Object
);
7975 ((struct instance_array__NativeArray
*)var229
)->values
[0] = (val
*) var_type_struct
;
7976 ((struct instance_array__NativeArray
*)var229
)->values
[1] = (val
*) var212
;
7977 ((struct instance_array__NativeArray
*)var229
)->values
[2] = (val
*) var_recv_type_info
;
7978 ((struct instance_array__NativeArray
*)var229
)->values
[3] = (val
*) var217
;
7979 ((struct instance_array__NativeArray
*)var229
)->values
[4] = (val
*) var221
;
7980 ((struct instance_array__NativeArray
*)var229
)->values
[5] = (val
*) var223
;
7982 ((void (*)(val
*, val
*, long))(var227
->class->vft
[COLOR_array__Array__with_native
]))(var227
, var229
, var228
) /* with_native on <var227:Array[Object]>*/;
7986 var230
= ((val
* (*)(val
*))(var227
->class->vft
[COLOR_string__Object__to_s
]))(var227
) /* to_s on <var227:Array[Object]>*/;
7989 abstract_compiler__AbstractCompilerVisitor__add(self
, var230
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7992 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var_compiler) on <var_compiler:SeparateCompiler> */
7993 var233
= var_compiler
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var_compiler:SeparateCompiler> */
7994 if (unlikely(var233
== NULL
)) {
7995 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
7996 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
8000 RET_LABEL232
:(void)0;
8004 { /* Inline modelbuilder#ModelBuilder#toolcontext (var231) on <var231:ModelBuilder> */
8005 var236
= var231
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var231:ModelBuilder> */
8006 if (unlikely(var236
== NULL
)) {
8007 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8008 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
8012 RET_LABEL235
:(void)0;
8016 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var234) on <var234:ToolContext> */
8017 var239
= var234
->attrs
[COLOR_abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var234:ToolContext> */
8018 if (unlikely(var239
== NULL
)) {
8019 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
8020 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 56);
8024 RET_LABEL238
:(void)0;
8028 { /* Inline opts#Option#value (var237) on <var237:OptionBool> */
8029 var242
= var237
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var237:OptionBool> */
8031 RET_LABEL241
:(void)0;
8034 var243
= ((struct instance_kernel__Bool
*)var240
)->value
; /* autounbox from nullable Object to Bool */;
8037 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
8038 var246
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
8039 if (unlikely(var246
== NULL
)) {
8040 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
8041 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
8045 RET_LABEL245
:(void)0;
8049 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (var244) on <var244:AbstractCompiler(SeparateCompiler)> */
8050 var249
= var244
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <var244:AbstractCompiler(SeparateCompiler)> */
8051 if (unlikely(var249
== NULL
)) {
8052 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
8053 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 890);
8057 RET_LABEL248
:(void)0;
8063 var252
= hash_collection__HashMap___91d_93d(var_250
, var_251
);
8067 { /* Inline kernel#Int#+ (var252,var253) on <var252:nullable Object(Int)> */
8068 /* Covariant cast for argument 0 (i) <var253:Int> isa OTHER */
8069 /* <var253:Int> isa OTHER */
8070 var256
= 1; /* easy <var253:Int> isa OTHER*/
8071 if (unlikely(!var256
)) {
8072 var_class_name259
= type_kernel__Int
.name
;
8073 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name259
);
8074 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
8077 var260
= ((struct instance_kernel__Int
*)var252
)->value
; /* autounbox from nullable Object to Int */;
8078 var261
= var260
+ var253
;
8081 RET_LABEL255
:(void)0;
8085 var262
= BOX_kernel__Int(var254
); /* autobox from Int to nullable Object */
8086 hash_collection__HashMap___91d_93d_61d(var_250
, var_251
, var262
); /* Direct call hash_collection#HashMap#[]= on <var_250:HashMap[String, Int]>*/
8089 var264
= varonce263
;
8091 var265
= "count_type_test_unresolved_";
8093 var267
= string__NativeString__to_s_with_length(var265
, var266
);
8095 varonce263
= var264
;
8098 var269
= varonce268
;
8102 var272
= string__NativeString__to_s_with_length(var270
, var271
);
8104 varonce268
= var269
;
8106 var273
= NEW_array__Array(&type_array__Arraykernel__Object
);
8107 { /* var273 = array_instance Array[Object] */
8109 var275
= NEW_array__NativeArray(var274
, &type_array__NativeArraykernel__Object
);
8110 ((struct instance_array__NativeArray
*)var275
)->values
[0] = (val
*) var264
;
8111 ((struct instance_array__NativeArray
*)var275
)->values
[1] = (val
*) var_tag
;
8112 ((struct instance_array__NativeArray
*)var275
)->values
[2] = (val
*) var269
;
8114 ((void (*)(val
*, val
*, long))(var273
->class->vft
[COLOR_array__Array__with_native
]))(var273
, var275
, var274
) /* with_native on <var273:Array[Object]>*/;
8118 var276
= ((val
* (*)(val
*))(var273
->class->vft
[COLOR_string__Object__to_s
]))(var273
) /* to_s on <var273:Array[Object]>*/;
8121 abstract_compiler__AbstractCompilerVisitor__add(self
, var276
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8126 separate_compiler__SeparateCompilerVisitor__hardening_cast_type(self
, var_type_struct
); /* Direct call separate_compiler#SeparateCompilerVisitor#hardening_cast_type on <self:SeparateCompilerVisitor>*/
8129 var278
= varonce277
;
8133 var281
= string__NativeString__to_s_with_length(var279
, var280
);
8135 varonce277
= var278
;
8138 var283
= varonce282
;
8140 var284
= "->color;";
8142 var286
= string__NativeString__to_s_with_length(var284
, var285
);
8144 varonce282
= var283
;
8146 var287
= NEW_array__Array(&type_array__Arraykernel__Object
);
8147 { /* var287 = array_instance Array[Object] */
8149 var289
= NEW_array__NativeArray(var288
, &type_array__NativeArraykernel__Object
);
8150 ((struct instance_array__NativeArray
*)var289
)->values
[0] = (val
*) var_cltype
;
8151 ((struct instance_array__NativeArray
*)var289
)->values
[1] = (val
*) var278
;
8152 ((struct instance_array__NativeArray
*)var289
)->values
[2] = (val
*) var_type_struct
;
8153 ((struct instance_array__NativeArray
*)var289
)->values
[3] = (val
*) var283
;
8155 ((void (*)(val
*, val
*, long))(var287
->class->vft
[COLOR_array__Array__with_native
]))(var287
, var289
, var288
) /* with_native on <var287:Array[Object]>*/;
8159 var290
= ((val
* (*)(val
*))(var287
->class->vft
[COLOR_string__Object__to_s
]))(var287
) /* to_s on <var287:Array[Object]>*/;
8162 abstract_compiler__AbstractCompilerVisitor__add(self
, var290
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8165 var292
= varonce291
;
8169 var295
= string__NativeString__to_s_with_length(var293
, var294
);
8171 varonce291
= var292
;
8174 var297
= varonce296
;
8178 var300
= string__NativeString__to_s_with_length(var298
, var299
);
8180 varonce296
= var297
;
8182 var301
= NEW_array__Array(&type_array__Arraykernel__Object
);
8183 { /* var301 = array_instance Array[Object] */
8185 var303
= NEW_array__NativeArray(var302
, &type_array__NativeArraykernel__Object
);
8186 ((struct instance_array__NativeArray
*)var303
)->values
[0] = (val
*) var_idtype
;
8187 ((struct instance_array__NativeArray
*)var303
)->values
[1] = (val
*) var292
;
8188 ((struct instance_array__NativeArray
*)var303
)->values
[2] = (val
*) var_type_struct
;
8189 ((struct instance_array__NativeArray
*)var303
)->values
[3] = (val
*) var297
;
8191 ((void (*)(val
*, val
*, long))(var301
->class->vft
[COLOR_array__Array__with_native
]))(var301
, var303
, var302
) /* with_native on <var301:Array[Object]>*/;
8195 var304
= ((val
* (*)(val
*))(var301
->class->vft
[COLOR_string__Object__to_s
]))(var301
) /* to_s on <var301:Array[Object]>*/;
8198 abstract_compiler__AbstractCompilerVisitor__add(self
, var304
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8200 var_306
= var_maybe_null
;
8201 if (var_maybe_null
){
8203 var308
= varonce307
;
8207 var311
= string__NativeString__to_s_with_length(var309
, var310
);
8209 varonce307
= var308
;
8212 var313
= string__FlatString___61d_61d(var_accept_null
, var308
);
8221 var315
= varonce314
;
8223 var316
= "is_nullable";
8225 var318
= string__NativeString__to_s_with_length(var316
, var317
);
8227 varonce314
= var315
;
8230 var319
= abstract_compiler__AbstractCompilerVisitor__get_name(self
, var315
);
8232 var_is_nullable
= var319
;
8234 var321
= varonce320
;
8236 var322
= "short int ";
8238 var324
= string__NativeString__to_s_with_length(var322
, var323
);
8240 varonce320
= var321
;
8243 var326
= varonce325
;
8247 var329
= string__NativeString__to_s_with_length(var327
, var328
);
8249 varonce325
= var326
;
8251 var330
= NEW_array__Array(&type_array__Arraykernel__Object
);
8252 { /* var330 = array_instance Array[Object] */
8254 var332
= NEW_array__NativeArray(var331
, &type_array__NativeArraykernel__Object
);
8255 ((struct instance_array__NativeArray
*)var332
)->values
[0] = (val
*) var321
;
8256 ((struct instance_array__NativeArray
*)var332
)->values
[1] = (val
*) var_is_nullable
;
8257 ((struct instance_array__NativeArray
*)var332
)->values
[2] = (val
*) var326
;
8259 ((void (*)(val
*, val
*, long))(var330
->class->vft
[COLOR_array__Array__with_native
]))(var330
, var332
, var331
) /* with_native on <var330:Array[Object]>*/;
8263 var333
= ((val
* (*)(val
*))(var330
->class->vft
[COLOR_string__Object__to_s
]))(var330
) /* to_s on <var330:Array[Object]>*/;
8266 abstract_compiler__AbstractCompilerVisitor__add_decl(self
, var333
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:SeparateCompilerVisitor>*/
8269 var335
= varonce334
;
8273 var338
= string__NativeString__to_s_with_length(var336
, var337
);
8275 varonce334
= var335
;
8278 var340
= varonce339
;
8280 var341
= "->is_nullable;";
8282 var343
= string__NativeString__to_s_with_length(var341
, var342
);
8284 varonce339
= var340
;
8286 var344
= NEW_array__Array(&type_array__Arraykernel__Object
);
8287 { /* var344 = array_instance Array[Object] */
8289 var346
= NEW_array__NativeArray(var345
, &type_array__NativeArraykernel__Object
);
8290 ((struct instance_array__NativeArray
*)var346
)->values
[0] = (val
*) var_is_nullable
;
8291 ((struct instance_array__NativeArray
*)var346
)->values
[1] = (val
*) var335
;
8292 ((struct instance_array__NativeArray
*)var346
)->values
[2] = (val
*) var_type_struct
;
8293 ((struct instance_array__NativeArray
*)var346
)->values
[3] = (val
*) var340
;
8295 ((void (*)(val
*, val
*, long))(var344
->class->vft
[COLOR_array__Array__with_native
]))(var344
, var346
, var345
) /* with_native on <var344:Array[Object]>*/;
8299 var347
= ((val
* (*)(val
*))(var344
->class->vft
[COLOR_string__Object__to_s
]))(var344
) /* to_s on <var344:Array[Object]>*/;
8302 abstract_compiler__AbstractCompilerVisitor__add(self
, var347
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8305 var348
= string__String__to_s(var_is_nullable
);
8307 var_accept_null
= var348
;
8311 /* <var_ntype:MType> isa MClassType */
8312 cltype350
= type_model__MClassType
.color
;
8313 idtype351
= type_model__MClassType
.id
;
8314 if(cltype350
>= var_ntype
->type
->table_size
) {
8317 var349
= var_ntype
->type
->type_table
[cltype350
] == idtype351
;
8321 { /* Inline separate_compiler#SeparateCompiler#undead_types (var_compiler) on <var_compiler:SeparateCompiler> */
8322 var354
= var_compiler
->attrs
[COLOR_separate_compiler__SeparateCompiler___undead_types
].val
; /* _undead_types on <var_compiler:SeparateCompiler> */
8323 if (unlikely(var354
== NULL
)) {
8324 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _undead_types");
8325 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 155);
8329 RET_LABEL353
:(void)0;
8333 ((void (*)(val
*, val
*))(var352
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var352
, var_mtype
) /* add on <var352:Set[MType]>*/;
8336 var356
= varonce355
;
8340 var359
= string__NativeString__to_s_with_length(var357
, var358
);
8342 varonce355
= var356
;
8345 var360
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType>*/;
8347 var361
= NEW_array__Array(&type_array__Arraykernel__Object
);
8348 { /* var361 = array_instance Array[Object] */
8350 var363
= NEW_array__NativeArray(var362
, &type_array__NativeArraykernel__Object
);
8351 ((struct instance_array__NativeArray
*)var363
)->values
[0] = (val
*) var356
;
8352 ((struct instance_array__NativeArray
*)var363
)->values
[1] = (val
*) var360
;
8354 ((void (*)(val
*, val
*, long))(var361
->class->vft
[COLOR_array__Array__with_native
]))(var361
, var363
, var362
) /* with_native on <var361:Array[Object]>*/;
8358 var364
= ((val
* (*)(val
*))(var361
->class->vft
[COLOR_string__Object__to_s
]))(var361
) /* to_s on <var361:Array[Object]>*/;
8361 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var364
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
8364 var366
= varonce365
;
8368 var369
= string__NativeString__to_s_with_length(var367
, var368
);
8370 varonce365
= var366
;
8373 var370
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType>*/;
8376 var372
= varonce371
;
8380 var375
= string__NativeString__to_s_with_length(var373
, var374
);
8382 varonce371
= var372
;
8384 var376
= NEW_array__Array(&type_array__Arraykernel__Object
);
8385 { /* var376 = array_instance Array[Object] */
8387 var378
= NEW_array__NativeArray(var377
, &type_array__NativeArraykernel__Object
);
8388 ((struct instance_array__NativeArray
*)var378
)->values
[0] = (val
*) var366
;
8389 ((struct instance_array__NativeArray
*)var378
)->values
[1] = (val
*) var370
;
8390 ((struct instance_array__NativeArray
*)var378
)->values
[2] = (val
*) var372
;
8392 ((void (*)(val
*, val
*, long))(var376
->class->vft
[COLOR_array__Array__with_native
]))(var376
, var378
, var377
) /* with_native on <var376:Array[Object]>*/;
8396 var379
= ((val
* (*)(val
*))(var376
->class->vft
[COLOR_string__Object__to_s
]))(var376
) /* to_s on <var376:Array[Object]>*/;
8399 separate_compiler__SeparateCompilerVisitor__hardening_cast_type(self
, var379
); /* Direct call separate_compiler#SeparateCompilerVisitor#hardening_cast_type on <self:SeparateCompilerVisitor>*/
8402 var381
= varonce380
;
8404 var382
= " = type_";
8406 var384
= string__NativeString__to_s_with_length(var382
, var383
);
8408 varonce380
= var381
;
8411 var385
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType>*/;
8414 var387
= varonce386
;
8418 var390
= string__NativeString__to_s_with_length(var388
, var389
);
8420 varonce386
= var387
;
8422 var391
= NEW_array__Array(&type_array__Arraykernel__Object
);
8423 { /* var391 = array_instance Array[Object] */
8425 var393
= NEW_array__NativeArray(var392
, &type_array__NativeArraykernel__Object
);
8426 ((struct instance_array__NativeArray
*)var393
)->values
[0] = (val
*) var_cltype
;
8427 ((struct instance_array__NativeArray
*)var393
)->values
[1] = (val
*) var381
;
8428 ((struct instance_array__NativeArray
*)var393
)->values
[2] = (val
*) var385
;
8429 ((struct instance_array__NativeArray
*)var393
)->values
[3] = (val
*) var387
;
8431 ((void (*)(val
*, val
*, long))(var391
->class->vft
[COLOR_array__Array__with_native
]))(var391
, var393
, var392
) /* with_native on <var391:Array[Object]>*/;
8435 var394
= ((val
* (*)(val
*))(var391
->class->vft
[COLOR_string__Object__to_s
]))(var391
) /* to_s on <var391:Array[Object]>*/;
8438 abstract_compiler__AbstractCompilerVisitor__add(self
, var394
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8441 var396
= varonce395
;
8443 var397
= " = type_";
8445 var399
= string__NativeString__to_s_with_length(var397
, var398
);
8447 varonce395
= var396
;
8450 var400
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType>*/;
8453 var402
= varonce401
;
8457 var405
= string__NativeString__to_s_with_length(var403
, var404
);
8459 varonce401
= var402
;
8461 var406
= NEW_array__Array(&type_array__Arraykernel__Object
);
8462 { /* var406 = array_instance Array[Object] */
8464 var408
= NEW_array__NativeArray(var407
, &type_array__NativeArraykernel__Object
);
8465 ((struct instance_array__NativeArray
*)var408
)->values
[0] = (val
*) var_idtype
;
8466 ((struct instance_array__NativeArray
*)var408
)->values
[1] = (val
*) var396
;
8467 ((struct instance_array__NativeArray
*)var408
)->values
[2] = (val
*) var400
;
8468 ((struct instance_array__NativeArray
*)var408
)->values
[3] = (val
*) var402
;
8470 ((void (*)(val
*, val
*, long))(var406
->class->vft
[COLOR_array__Array__with_native
]))(var406
, var408
, var407
) /* with_native on <var406:Array[Object]>*/;
8474 var409
= ((val
* (*)(val
*))(var406
->class->vft
[COLOR_string__Object__to_s
]))(var406
) /* to_s on <var406:Array[Object]>*/;
8477 abstract_compiler__AbstractCompilerVisitor__add(self
, var409
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8480 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var_compiler) on <var_compiler:SeparateCompiler> */
8481 var412
= var_compiler
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var_compiler:SeparateCompiler> */
8482 if (unlikely(var412
== NULL
)) {
8483 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8484 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
8488 RET_LABEL411
:(void)0;
8492 { /* Inline modelbuilder#ModelBuilder#toolcontext (var410) on <var410:ModelBuilder> */
8493 var415
= var410
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var410:ModelBuilder> */
8494 if (unlikely(var415
== NULL
)) {
8495 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8496 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
8500 RET_LABEL414
:(void)0;
8504 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var413) on <var413:ToolContext> */
8505 var418
= var413
->attrs
[COLOR_abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var413:ToolContext> */
8506 if (unlikely(var418
== NULL
)) {
8507 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
8508 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 56);
8512 RET_LABEL417
:(void)0;
8516 { /* Inline opts#Option#value (var416) on <var416:OptionBool> */
8517 var421
= var416
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var416:OptionBool> */
8519 RET_LABEL420
:(void)0;
8522 var422
= ((struct instance_kernel__Bool
*)var419
)->value
; /* autounbox from nullable Object to Bool */;
8525 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
8526 var425
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
8527 if (unlikely(var425
== NULL
)) {
8528 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
8529 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
8533 RET_LABEL424
:(void)0;
8537 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (var423) on <var423:AbstractCompiler(SeparateCompiler)> */
8538 var428
= var423
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <var423:AbstractCompiler(SeparateCompiler)> */
8539 if (unlikely(var428
== NULL
)) {
8540 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
8541 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 889);
8545 RET_LABEL427
:(void)0;
8551 var431
= hash_collection__HashMap___91d_93d(var_429
, var_430
);
8555 { /* Inline kernel#Int#+ (var431,var432) on <var431:nullable Object(Int)> */
8556 /* Covariant cast for argument 0 (i) <var432:Int> isa OTHER */
8557 /* <var432:Int> isa OTHER */
8558 var435
= 1; /* easy <var432:Int> isa OTHER*/
8559 if (unlikely(!var435
)) {
8560 var_class_name438
= type_kernel__Int
.name
;
8561 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name438
);
8562 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
8565 var439
= ((struct instance_kernel__Int
*)var431
)->value
; /* autounbox from nullable Object to Int */;
8566 var440
= var439
+ var432
;
8569 RET_LABEL434
:(void)0;
8573 var441
= BOX_kernel__Int(var433
); /* autobox from Int to nullable Object */
8574 hash_collection__HashMap___91d_93d_61d(var_429
, var_430
, var441
); /* Direct call hash_collection#HashMap#[]= on <var_429:HashMap[String, Int]>*/
8577 var443
= varonce442
;
8579 var444
= "count_type_test_resolved_";
8581 var446
= string__NativeString__to_s_with_length(var444
, var445
);
8583 varonce442
= var443
;
8586 var448
= varonce447
;
8590 var451
= string__NativeString__to_s_with_length(var449
, var450
);
8592 varonce447
= var448
;
8594 var452
= NEW_array__Array(&type_array__Arraykernel__Object
);
8595 { /* var452 = array_instance Array[Object] */
8597 var454
= NEW_array__NativeArray(var453
, &type_array__NativeArraykernel__Object
);
8598 ((struct instance_array__NativeArray
*)var454
)->values
[0] = (val
*) var443
;
8599 ((struct instance_array__NativeArray
*)var454
)->values
[1] = (val
*) var_tag
;
8600 ((struct instance_array__NativeArray
*)var454
)->values
[2] = (val
*) var448
;
8602 ((void (*)(val
*, val
*, long))(var452
->class->vft
[COLOR_array__Array__with_native
]))(var452
, var454
, var453
) /* with_native on <var452:Array[Object]>*/;
8606 var455
= ((val
* (*)(val
*))(var452
->class->vft
[COLOR_string__Object__to_s
]))(var452
) /* to_s on <var452:Array[Object]>*/;
8609 abstract_compiler__AbstractCompilerVisitor__add(self
, var455
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8615 var457
= varonce456
;
8617 var458
= "PRINT_ERROR(\"NOT YET IMPLEMENTED: type_test(%s, ";
8619 var460
= string__NativeString__to_s_with_length(var458
, var459
);
8621 varonce456
= var457
;
8624 var462
= varonce461
;
8626 var463
= ").\\n\", \"";
8628 var465
= string__NativeString__to_s_with_length(var463
, var464
);
8630 varonce461
= var462
;
8633 var466
= abstract_compiler__RuntimeVariable__inspect(var_value
);
8636 var468
= varonce467
;
8638 var469
= "\"); show_backtrace(1);";
8640 var471
= string__NativeString__to_s_with_length(var469
, var470
);
8642 varonce467
= var468
;
8644 var472
= NEW_array__Array(&type_array__Arraykernel__Object
);
8645 { /* var472 = array_instance Array[Object] */
8647 var474
= NEW_array__NativeArray(var473
, &type_array__NativeArraykernel__Object
);
8648 ((struct instance_array__NativeArray
*)var474
)->values
[0] = (val
*) var457
;
8649 ((struct instance_array__NativeArray
*)var474
)->values
[1] = (val
*) var_mtype
;
8650 ((struct instance_array__NativeArray
*)var474
)->values
[2] = (val
*) var462
;
8651 ((struct instance_array__NativeArray
*)var474
)->values
[3] = (val
*) var466
;
8652 ((struct instance_array__NativeArray
*)var474
)->values
[4] = (val
*) var468
;
8654 ((void (*)(val
*, val
*, long))(var472
->class->vft
[COLOR_array__Array__with_native
]))(var472
, var474
, var473
) /* with_native on <var472:Array[Object]>*/;
8658 var475
= ((val
* (*)(val
*))(var472
->class->vft
[COLOR_string__Object__to_s
]))(var472
) /* to_s on <var472:Array[Object]>*/;
8661 abstract_compiler__AbstractCompilerVisitor__add(self
, var475
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8665 if (var_maybe_null
){
8667 var477
= varonce476
;
8671 var480
= string__NativeString__to_s_with_length(var478
, var479
);
8673 varonce476
= var477
;
8676 var482
= varonce481
;
8678 var483
= " == NULL) {";
8680 var485
= string__NativeString__to_s_with_length(var483
, var484
);
8682 varonce481
= var482
;
8684 var486
= NEW_array__Array(&type_array__Arraykernel__Object
);
8685 { /* var486 = array_instance Array[Object] */
8687 var488
= NEW_array__NativeArray(var487
, &type_array__NativeArraykernel__Object
);
8688 ((struct instance_array__NativeArray
*)var488
)->values
[0] = (val
*) var477
;
8689 ((struct instance_array__NativeArray
*)var488
)->values
[1] = (val
*) var_value
;
8690 ((struct instance_array__NativeArray
*)var488
)->values
[2] = (val
*) var482
;
8692 ((void (*)(val
*, val
*, long))(var486
->class->vft
[COLOR_array__Array__with_native
]))(var486
, var488
, var487
) /* with_native on <var486:Array[Object]>*/;
8696 var489
= ((val
* (*)(val
*))(var486
->class->vft
[COLOR_string__Object__to_s
]))(var486
) /* to_s on <var486:Array[Object]>*/;
8699 abstract_compiler__AbstractCompilerVisitor__add(self
, var489
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8702 var491
= varonce490
;
8706 var494
= string__NativeString__to_s_with_length(var492
, var493
);
8708 varonce490
= var491
;
8711 var496
= varonce495
;
8715 var499
= string__NativeString__to_s_with_length(var497
, var498
);
8717 varonce495
= var496
;
8719 var500
= NEW_array__Array(&type_array__Arraykernel__Object
);
8720 { /* var500 = array_instance Array[Object] */
8722 var502
= NEW_array__NativeArray(var501
, &type_array__NativeArraykernel__Object
);
8723 ((struct instance_array__NativeArray
*)var502
)->values
[0] = (val
*) var_res
;
8724 ((struct instance_array__NativeArray
*)var502
)->values
[1] = (val
*) var491
;
8725 ((struct instance_array__NativeArray
*)var502
)->values
[2] = (val
*) var_accept_null
;
8726 ((struct instance_array__NativeArray
*)var502
)->values
[3] = (val
*) var496
;
8728 ((void (*)(val
*, val
*, long))(var500
->class->vft
[COLOR_array__Array__with_native
]))(var500
, var502
, var501
) /* with_native on <var500:Array[Object]>*/;
8732 var503
= ((val
* (*)(val
*))(var500
->class->vft
[COLOR_string__Object__to_s
]))(var500
) /* to_s on <var500:Array[Object]>*/;
8735 abstract_compiler__AbstractCompilerVisitor__add(self
, var503
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8738 var505
= varonce504
;
8740 var506
= "} else {";
8742 var508
= string__NativeString__to_s_with_length(var506
, var507
);
8744 varonce504
= var505
;
8747 abstract_compiler__AbstractCompilerVisitor__add(self
, var505
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8752 var509
= separate_compiler__SeparateCompilerVisitor__type_info(self
, var_value
);
8754 var_value_type_info
= var509
;
8756 var511
= varonce510
;
8760 var514
= string__NativeString__to_s_with_length(var512
, var513
);
8762 varonce510
= var511
;
8765 var516
= varonce515
;
8769 var519
= string__NativeString__to_s_with_length(var517
, var518
);
8771 varonce515
= var516
;
8774 var521
= varonce520
;
8776 var522
= "->table_size) {";
8778 var524
= string__NativeString__to_s_with_length(var522
, var523
);
8780 varonce520
= var521
;
8782 var525
= NEW_array__Array(&type_array__Arraykernel__Object
);
8783 { /* var525 = array_instance Array[Object] */
8785 var527
= NEW_array__NativeArray(var526
, &type_array__NativeArraykernel__Object
);
8786 ((struct instance_array__NativeArray
*)var527
)->values
[0] = (val
*) var511
;
8787 ((struct instance_array__NativeArray
*)var527
)->values
[1] = (val
*) var_cltype
;
8788 ((struct instance_array__NativeArray
*)var527
)->values
[2] = (val
*) var516
;
8789 ((struct instance_array__NativeArray
*)var527
)->values
[3] = (val
*) var_value_type_info
;
8790 ((struct instance_array__NativeArray
*)var527
)->values
[4] = (val
*) var521
;
8792 ((void (*)(val
*, val
*, long))(var525
->class->vft
[COLOR_array__Array__with_native
]))(var525
, var527
, var526
) /* with_native on <var525:Array[Object]>*/;
8796 var528
= ((val
* (*)(val
*))(var525
->class->vft
[COLOR_string__Object__to_s
]))(var525
) /* to_s on <var525:Array[Object]>*/;
8799 abstract_compiler__AbstractCompilerVisitor__add(self
, var528
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8802 var530
= varonce529
;
8806 var533
= string__NativeString__to_s_with_length(var531
, var532
);
8808 varonce529
= var530
;
8810 var534
= NEW_array__Array(&type_array__Arraykernel__Object
);
8811 { /* var534 = array_instance Array[Object] */
8813 var536
= NEW_array__NativeArray(var535
, &type_array__NativeArraykernel__Object
);
8814 ((struct instance_array__NativeArray
*)var536
)->values
[0] = (val
*) var_res
;
8815 ((struct instance_array__NativeArray
*)var536
)->values
[1] = (val
*) var530
;
8817 ((void (*)(val
*, val
*, long))(var534
->class->vft
[COLOR_array__Array__with_native
]))(var534
, var536
, var535
) /* with_native on <var534:Array[Object]>*/;
8821 var537
= ((val
* (*)(val
*))(var534
->class->vft
[COLOR_string__Object__to_s
]))(var534
) /* to_s on <var534:Array[Object]>*/;
8824 abstract_compiler__AbstractCompilerVisitor__add(self
, var537
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8827 var539
= varonce538
;
8829 var540
= "} else {";
8831 var542
= string__NativeString__to_s_with_length(var540
, var541
);
8833 varonce538
= var539
;
8836 abstract_compiler__AbstractCompilerVisitor__add(self
, var539
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8839 var544
= varonce543
;
8843 var547
= string__NativeString__to_s_with_length(var545
, var546
);
8845 varonce543
= var544
;
8848 var549
= varonce548
;
8850 var550
= "->type_table[";
8852 var552
= string__NativeString__to_s_with_length(var550
, var551
);
8854 varonce548
= var549
;
8857 var554
= varonce553
;
8861 var557
= string__NativeString__to_s_with_length(var555
, var556
);
8863 varonce553
= var554
;
8866 var559
= varonce558
;
8870 var562
= string__NativeString__to_s_with_length(var560
, var561
);
8872 varonce558
= var559
;
8874 var563
= NEW_array__Array(&type_array__Arraykernel__Object
);
8875 { /* var563 = array_instance Array[Object] */
8877 var565
= NEW_array__NativeArray(var564
, &type_array__NativeArraykernel__Object
);
8878 ((struct instance_array__NativeArray
*)var565
)->values
[0] = (val
*) var_res
;
8879 ((struct instance_array__NativeArray
*)var565
)->values
[1] = (val
*) var544
;
8880 ((struct instance_array__NativeArray
*)var565
)->values
[2] = (val
*) var_value_type_info
;
8881 ((struct instance_array__NativeArray
*)var565
)->values
[3] = (val
*) var549
;
8882 ((struct instance_array__NativeArray
*)var565
)->values
[4] = (val
*) var_cltype
;
8883 ((struct instance_array__NativeArray
*)var565
)->values
[5] = (val
*) var554
;
8884 ((struct instance_array__NativeArray
*)var565
)->values
[6] = (val
*) var_idtype
;
8885 ((struct instance_array__NativeArray
*)var565
)->values
[7] = (val
*) var559
;
8887 ((void (*)(val
*, val
*, long))(var563
->class->vft
[COLOR_array__Array__with_native
]))(var563
, var565
, var564
) /* with_native on <var563:Array[Object]>*/;
8891 var566
= ((val
* (*)(val
*))(var563
->class->vft
[COLOR_string__Object__to_s
]))(var563
) /* to_s on <var563:Array[Object]>*/;
8894 abstract_compiler__AbstractCompilerVisitor__add(self
, var566
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8897 var568
= varonce567
;
8901 var571
= string__NativeString__to_s_with_length(var569
, var570
);
8903 varonce567
= var568
;
8906 abstract_compiler__AbstractCompilerVisitor__add(self
, var568
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8908 if (var_maybe_null
){
8910 var573
= varonce572
;
8914 var576
= string__NativeString__to_s_with_length(var574
, var575
);
8916 varonce572
= var573
;
8919 abstract_compiler__AbstractCompilerVisitor__add(self
, var573
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8928 /* method separate_compiler#SeparateCompilerVisitor#type_test for (self: Object, RuntimeVariable, MType, String): RuntimeVariable */
8929 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__type_test(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8930 val
* var
/* : RuntimeVariable */;
8931 val
* var1
/* : RuntimeVariable */;
8932 var1
= separate_compiler__SeparateCompilerVisitor__type_test(self
, p0
, p1
, p2
);
8937 /* method separate_compiler#SeparateCompilerVisitor#is_same_type_test for (self: SeparateCompilerVisitor, RuntimeVariable, RuntimeVariable): RuntimeVariable */
8938 val
* separate_compiler__SeparateCompilerVisitor__is_same_type_test(val
* self
, val
* p0
, val
* p1
) {
8939 val
* var
/* : RuntimeVariable */;
8940 val
* var_value1
/* var value1: RuntimeVariable */;
8941 val
* var_value2
/* var value2: RuntimeVariable */;
8942 val
* var1
/* : MClassType */;
8943 val
* var2
/* : RuntimeVariable */;
8944 val
* var_res
/* var res: RuntimeVariable */;
8945 short int var3
/* : Bool */;
8946 val
* var4
/* : MType */;
8947 val
* var6
/* : MType */;
8948 val
* var7
/* : String */;
8949 static val
* varonce
;
8950 val
* var8
/* : String */;
8951 char* var9
/* : NativeString */;
8952 long var10
/* : Int */;
8953 val
* var11
/* : FlatString */;
8954 short int var12
/* : Bool */;
8955 short int var13
/* : Bool */;
8956 val
* var_other
/* var other: nullable Object */;
8957 short int var15
/* : Bool */;
8958 short int var16
/* : Bool */;
8959 short int var17
/* : Bool */;
8960 short int var_
/* var : Bool */;
8961 val
* var18
/* : MType */;
8962 val
* var20
/* : MType */;
8963 val
* var21
/* : String */;
8964 static val
* varonce22
;
8965 val
* var23
/* : String */;
8966 char* var24
/* : NativeString */;
8967 long var25
/* : Int */;
8968 val
* var26
/* : FlatString */;
8969 short int var27
/* : Bool */;
8970 short int var28
/* : Bool */;
8971 val
* var_tmp
/* var tmp: RuntimeVariable */;
8972 val
* var29
/* : MType */;
8973 val
* var31
/* : MType */;
8974 val
* var32
/* : String */;
8975 static val
* varonce33
;
8976 val
* var34
/* : String */;
8977 char* var35
/* : NativeString */;
8978 long var36
/* : Int */;
8979 val
* var37
/* : FlatString */;
8980 short int var38
/* : Bool */;
8981 short int var39
/* : Bool */;
8982 short int var41
/* : Bool */;
8983 short int var42
/* : Bool */;
8984 short int var43
/* : Bool */;
8985 val
* var44
/* : MType */;
8986 val
* var46
/* : MType */;
8987 val
* var47
/* : MType */;
8988 val
* var49
/* : MType */;
8989 short int var50
/* : Bool */;
8990 short int var51
/* : Bool */;
8991 val
* var_other53
/* var other: nullable Object */;
8992 short int var54
/* : Bool */;
8993 short int var56
/* : Bool */;
8994 static val
* varonce57
;
8995 val
* var58
/* : String */;
8996 char* var59
/* : NativeString */;
8997 long var60
/* : Int */;
8998 val
* var61
/* : FlatString */;
8999 val
* var62
/* : MType */;
9000 val
* var64
/* : MType */;
9001 static val
* varonce65
;
9002 val
* var66
/* : String */;
9003 char* var67
/* : NativeString */;
9004 long var68
/* : Int */;
9005 val
* var69
/* : FlatString */;
9006 val
* var70
/* : MType */;
9007 val
* var72
/* : MType */;
9008 static val
* varonce73
;
9009 val
* var74
/* : String */;
9010 char* var75
/* : NativeString */;
9011 long var76
/* : Int */;
9012 val
* var77
/* : FlatString */;
9013 val
* var78
/* : Array[Object] */;
9014 long var79
/* : Int */;
9015 val
* var80
/* : NativeArray[Object] */;
9016 val
* var81
/* : String */;
9017 val
* var82
/* : MType */;
9018 val
* var84
/* : MType */;
9019 val
* var85
/* : String */;
9020 static val
* varonce86
;
9021 val
* var87
/* : String */;
9022 char* var88
/* : NativeString */;
9023 long var89
/* : Int */;
9024 val
* var90
/* : FlatString */;
9025 short int var91
/* : Bool */;
9026 short int var92
/* : Bool */;
9027 short int var94
/* : Bool */;
9028 short int var95
/* : Bool */;
9029 short int var96
/* : Bool */;
9030 static val
* varonce97
;
9031 val
* var98
/* : String */;
9032 char* var99
/* : NativeString */;
9033 long var100
/* : Int */;
9034 val
* var101
/* : FlatString */;
9035 val
* var102
/* : MType */;
9036 val
* var104
/* : MType */;
9037 static val
* varonce105
;
9038 val
* var106
/* : String */;
9039 char* var107
/* : NativeString */;
9040 long var108
/* : Int */;
9041 val
* var109
/* : FlatString */;
9042 val
* var110
/* : MType */;
9043 val
* var112
/* : MType */;
9044 static val
* varonce113
;
9045 val
* var114
/* : String */;
9046 char* var115
/* : NativeString */;
9047 long var116
/* : Int */;
9048 val
* var117
/* : FlatString */;
9049 val
* var118
/* : Array[Object] */;
9050 long var119
/* : Int */;
9051 val
* var120
/* : NativeArray[Object] */;
9052 val
* var121
/* : String */;
9053 val
* var122
/* : MType */;
9054 val
* var124
/* : MType */;
9055 short int var125
/* : Bool */;
9058 const char* var_class_name
;
9059 val
* var_mtype1
/* var mtype1: MClassType */;
9060 static val
* varonce126
;
9061 val
* var127
/* : String */;
9062 char* var128
/* : NativeString */;
9063 long var129
/* : Int */;
9064 val
* var130
/* : FlatString */;
9065 val
* var131
/* : String */;
9066 val
* var132
/* : Array[Object] */;
9067 long var133
/* : Int */;
9068 val
* var134
/* : NativeArray[Object] */;
9069 val
* var135
/* : String */;
9070 static val
* varonce136
;
9071 val
* var137
/* : String */;
9072 char* var138
/* : NativeString */;
9073 long var139
/* : Int */;
9074 val
* var140
/* : FlatString */;
9075 static val
* varonce141
;
9076 val
* var142
/* : String */;
9077 char* var143
/* : NativeString */;
9078 long var144
/* : Int */;
9079 val
* var145
/* : FlatString */;
9080 static val
* varonce146
;
9081 val
* var147
/* : String */;
9082 char* var148
/* : NativeString */;
9083 long var149
/* : Int */;
9084 val
* var150
/* : FlatString */;
9085 val
* var151
/* : String */;
9086 static val
* varonce152
;
9087 val
* var153
/* : String */;
9088 char* var154
/* : NativeString */;
9089 long var155
/* : Int */;
9090 val
* var156
/* : FlatString */;
9091 val
* var157
/* : Array[Object] */;
9092 long var158
/* : Int */;
9093 val
* var159
/* : NativeArray[Object] */;
9094 val
* var160
/* : String */;
9095 static val
* varonce161
;
9096 val
* var162
/* : String */;
9097 char* var163
/* : NativeString */;
9098 long var164
/* : Int */;
9099 val
* var165
/* : FlatString */;
9100 static val
* varonce166
;
9101 val
* var167
/* : String */;
9102 char* var168
/* : NativeString */;
9103 long var169
/* : Int */;
9104 val
* var170
/* : FlatString */;
9105 static val
* varonce171
;
9106 val
* var172
/* : String */;
9107 char* var173
/* : NativeString */;
9108 long var174
/* : Int */;
9109 val
* var175
/* : FlatString */;
9110 static val
* varonce176
;
9111 val
* var177
/* : String */;
9112 char* var178
/* : NativeString */;
9113 long var179
/* : Int */;
9114 val
* var180
/* : FlatString */;
9115 static val
* varonce181
;
9116 val
* var182
/* : String */;
9117 char* var183
/* : NativeString */;
9118 long var184
/* : Int */;
9119 val
* var185
/* : FlatString */;
9120 static val
* varonce186
;
9121 val
* var187
/* : String */;
9122 char* var188
/* : NativeString */;
9123 long var189
/* : Int */;
9124 val
* var190
/* : FlatString */;
9125 static val
* varonce191
;
9126 val
* var192
/* : String */;
9127 char* var193
/* : NativeString */;
9128 long var194
/* : Int */;
9129 val
* var195
/* : FlatString */;
9130 val
* var196
/* : Array[Object] */;
9131 long var197
/* : Int */;
9132 val
* var198
/* : NativeArray[Object] */;
9133 val
* var199
/* : String */;
9137 var1
= abstract_compiler__AbstractCompilerVisitor__bool_type(self
);
9140 var2
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var1
);
9144 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
9145 var6
= var_value2
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value2:RuntimeVariable> */
9146 if (unlikely(var6
== NULL
)) {
9147 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9148 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
9156 var7
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var4
) /* ctype on <var4:MType>*/;
9163 var11
= string__NativeString__to_s_with_length(var9
, var10
);
9168 { /* Inline kernel#Object#!= (var7,var8) on <var7:String> */
9171 var16
= ((short int (*)(val
*, val
*))(var7
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var7
, var_other
) /* == on <var7:String>*/;
9177 RET_LABEL14
:(void)0;
9184 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
9185 var20
= var_value1
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
9186 if (unlikely(var20
== NULL
)) {
9187 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9188 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
9192 RET_LABEL19
:(void)0;
9196 var21
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var18
) /* ctype on <var18:MType>*/;
9203 var26
= string__NativeString__to_s_with_length(var24
, var25
);
9208 var28
= string__FlatString___61d_61d(var21
, var23
);
9216 var_tmp
= var_value1
;
9217 var_value1
= var_value2
;
9218 var_value2
= var_tmp
;
9222 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
9223 var31
= var_value1
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
9224 if (unlikely(var31
== NULL
)) {
9225 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9226 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
9230 RET_LABEL30
:(void)0;
9234 var32
= ((val
* (*)(val
*))(var29
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var29
) /* ctype on <var29:MType>*/;
9241 var37
= string__NativeString__to_s_with_length(var35
, var36
);
9246 { /* Inline kernel#Object#!= (var32,var34) on <var32:String> */
9249 var42
= ((short int (*)(val
*, val
*))(var32
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var32
, var_other
) /* == on <var32:String>*/;
9255 RET_LABEL40
:(void)0;
9261 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
9262 var46
= var_value2
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value2:RuntimeVariable> */
9263 if (unlikely(var46
== NULL
)) {
9264 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9265 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
9269 RET_LABEL45
:(void)0;
9273 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
9274 var49
= var_value1
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
9275 if (unlikely(var49
== NULL
)) {
9276 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9277 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
9281 RET_LABEL48
:(void)0;
9285 { /* Inline kernel#Object#== (var44,var47) on <var44:MType> */
9286 var_other53
= var47
;
9288 { /* Inline kernel#Object#is_same_instance (var44,var_other53) on <var44:MType> */
9289 var56
= var44
== var_other53
;
9292 RET_LABEL55
:(void)0;
9297 RET_LABEL52
:(void)0;
9305 var59
= " = 1; /* is_same_type_test: compatible types ";
9307 var61
= string__NativeString__to_s_with_length(var59
, var60
);
9312 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
9313 var64
= var_value1
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
9314 if (unlikely(var64
== NULL
)) {
9315 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9316 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
9320 RET_LABEL63
:(void)0;
9328 var69
= string__NativeString__to_s_with_length(var67
, var68
);
9333 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
9334 var72
= var_value2
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value2:RuntimeVariable> */
9335 if (unlikely(var72
== NULL
)) {
9336 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9337 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
9341 RET_LABEL71
:(void)0;
9349 var77
= string__NativeString__to_s_with_length(var75
, var76
);
9353 var78
= NEW_array__Array(&type_array__Arraykernel__Object
);
9354 { /* var78 = array_instance Array[Object] */
9356 var80
= NEW_array__NativeArray(var79
, &type_array__NativeArraykernel__Object
);
9357 ((struct instance_array__NativeArray
*)var80
)->values
[0] = (val
*) var_res
;
9358 ((struct instance_array__NativeArray
*)var80
)->values
[1] = (val
*) var58
;
9359 ((struct instance_array__NativeArray
*)var80
)->values
[2] = (val
*) var62
;
9360 ((struct instance_array__NativeArray
*)var80
)->values
[3] = (val
*) var66
;
9361 ((struct instance_array__NativeArray
*)var80
)->values
[4] = (val
*) var70
;
9362 ((struct instance_array__NativeArray
*)var80
)->values
[5] = (val
*) var74
;
9364 ((void (*)(val
*, val
*, long))(var78
->class->vft
[COLOR_array__Array__with_native
]))(var78
, var80
, var79
) /* with_native on <var78:Array[Object]>*/;
9368 var81
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_string__Object__to_s
]))(var78
) /* to_s on <var78:Array[Object]>*/;
9371 abstract_compiler__AbstractCompilerVisitor__add(self
, var81
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
9375 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
9376 var84
= var_value2
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value2:RuntimeVariable> */
9377 if (unlikely(var84
== NULL
)) {
9378 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9379 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
9383 RET_LABEL83
:(void)0;
9387 var85
= ((val
* (*)(val
*))(var82
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var82
) /* ctype on <var82:MType>*/;
9394 var90
= string__NativeString__to_s_with_length(var88
, var89
);
9399 { /* Inline kernel#Object#!= (var85,var87) on <var85:String> */
9402 var95
= ((short int (*)(val
*, val
*))(var85
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var85
, var_other
) /* == on <var85:String>*/;
9408 RET_LABEL93
:(void)0;
9416 var99
= " = 0; /* is_same_type_test: incompatible types ";
9418 var101
= string__NativeString__to_s_with_length(var99
, var100
);
9423 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
9424 var104
= var_value1
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
9425 if (unlikely(var104
== NULL
)) {
9426 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9427 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
9431 RET_LABEL103
:(void)0;
9435 var106
= varonce105
;
9439 var109
= string__NativeString__to_s_with_length(var107
, var108
);
9441 varonce105
= var106
;
9444 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
9445 var112
= var_value2
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value2:RuntimeVariable> */
9446 if (unlikely(var112
== NULL
)) {
9447 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9448 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
9452 RET_LABEL111
:(void)0;
9456 var114
= varonce113
;
9460 var117
= string__NativeString__to_s_with_length(var115
, var116
);
9462 varonce113
= var114
;
9464 var118
= NEW_array__Array(&type_array__Arraykernel__Object
);
9465 { /* var118 = array_instance Array[Object] */
9467 var120
= NEW_array__NativeArray(var119
, &type_array__NativeArraykernel__Object
);
9468 ((struct instance_array__NativeArray
*)var120
)->values
[0] = (val
*) var_res
;
9469 ((struct instance_array__NativeArray
*)var120
)->values
[1] = (val
*) var98
;
9470 ((struct instance_array__NativeArray
*)var120
)->values
[2] = (val
*) var102
;
9471 ((struct instance_array__NativeArray
*)var120
)->values
[3] = (val
*) var106
;
9472 ((struct instance_array__NativeArray
*)var120
)->values
[4] = (val
*) var110
;
9473 ((struct instance_array__NativeArray
*)var120
)->values
[5] = (val
*) var114
;
9475 ((void (*)(val
*, val
*, long))(var118
->class->vft
[COLOR_array__Array__with_native
]))(var118
, var120
, var119
) /* with_native on <var118:Array[Object]>*/;
9479 var121
= ((val
* (*)(val
*))(var118
->class->vft
[COLOR_string__Object__to_s
]))(var118
) /* to_s on <var118:Array[Object]>*/;
9482 abstract_compiler__AbstractCompilerVisitor__add(self
, var121
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
9486 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
9487 var124
= var_value1
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
9488 if (unlikely(var124
== NULL
)) {
9489 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9490 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
9494 RET_LABEL123
:(void)0;
9497 /* <var122:MType> isa MClassType */
9498 cltype
= type_model__MClassType
.color
;
9499 idtype
= type_model__MClassType
.id
;
9500 if(cltype
>= var122
->type
->table_size
) {
9503 var125
= var122
->type
->type_table
[cltype
] == idtype
;
9505 if (unlikely(!var125
)) {
9506 var_class_name
= var122
== NULL ?
"null" : var122
->type
->name
;
9507 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
9508 PRINT_ERROR(" (%s:%d)\n", "src/separate_compiler.nit", 1465);
9511 var_mtype1
= var122
;
9513 var127
= varonce126
;
9517 var130
= string__NativeString__to_s_with_length(var128
, var129
);
9519 varonce126
= var127
;
9522 var131
= ((val
* (*)(val
*))(var_mtype1
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype1
) /* c_name on <var_mtype1:MClassType>*/;
9524 var132
= NEW_array__Array(&type_array__Arraykernel__Object
);
9525 { /* var132 = array_instance Array[Object] */
9527 var134
= NEW_array__NativeArray(var133
, &type_array__NativeArraykernel__Object
);
9528 ((struct instance_array__NativeArray
*)var134
)->values
[0] = (val
*) var127
;
9529 ((struct instance_array__NativeArray
*)var134
)->values
[1] = (val
*) var131
;
9531 ((void (*)(val
*, val
*, long))(var132
->class->vft
[COLOR_array__Array__with_native
]))(var132
, var134
, var133
) /* with_native on <var132:Array[Object]>*/;
9535 var135
= ((val
* (*)(val
*))(var132
->class->vft
[COLOR_string__Object__to_s
]))(var132
) /* to_s on <var132:Array[Object]>*/;
9538 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var135
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
9541 var137
= varonce136
;
9545 var140
= string__NativeString__to_s_with_length(var138
, var139
);
9547 varonce136
= var137
;
9550 var142
= varonce141
;
9552 var143
= " != NULL) && (";
9554 var145
= string__NativeString__to_s_with_length(var143
, var144
);
9556 varonce141
= var142
;
9559 var147
= varonce146
;
9561 var148
= "->class == &class_";
9563 var150
= string__NativeString__to_s_with_length(var148
, var149
);
9565 varonce146
= var147
;
9568 var151
= ((val
* (*)(val
*))(var_mtype1
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype1
) /* c_name on <var_mtype1:MClassType>*/;
9571 var153
= varonce152
;
9573 var154
= "); /* is_same_type_test */";
9575 var156
= string__NativeString__to_s_with_length(var154
, var155
);
9577 varonce152
= var153
;
9579 var157
= NEW_array__Array(&type_array__Arraykernel__Object
);
9580 { /* var157 = array_instance Array[Object] */
9582 var159
= NEW_array__NativeArray(var158
, &type_array__NativeArraykernel__Object
);
9583 ((struct instance_array__NativeArray
*)var159
)->values
[0] = (val
*) var_res
;
9584 ((struct instance_array__NativeArray
*)var159
)->values
[1] = (val
*) var137
;
9585 ((struct instance_array__NativeArray
*)var159
)->values
[2] = (val
*) var_value2
;
9586 ((struct instance_array__NativeArray
*)var159
)->values
[3] = (val
*) var142
;
9587 ((struct instance_array__NativeArray
*)var159
)->values
[4] = (val
*) var_value2
;
9588 ((struct instance_array__NativeArray
*)var159
)->values
[5] = (val
*) var147
;
9589 ((struct instance_array__NativeArray
*)var159
)->values
[6] = (val
*) var151
;
9590 ((struct instance_array__NativeArray
*)var159
)->values
[7] = (val
*) var153
;
9592 ((void (*)(val
*, val
*, long))(var157
->class->vft
[COLOR_array__Array__with_native
]))(var157
, var159
, var158
) /* with_native on <var157:Array[Object]>*/;
9596 var160
= ((val
* (*)(val
*))(var157
->class->vft
[COLOR_string__Object__to_s
]))(var157
) /* to_s on <var157:Array[Object]>*/;
9599 abstract_compiler__AbstractCompilerVisitor__add(self
, var160
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
9605 var162
= varonce161
;
9609 var165
= string__NativeString__to_s_with_length(var163
, var164
);
9611 varonce161
= var162
;
9614 var167
= varonce166
;
9618 var170
= string__NativeString__to_s_with_length(var168
, var169
);
9620 varonce166
= var167
;
9623 var172
= varonce171
;
9627 var175
= string__NativeString__to_s_with_length(var173
, var174
);
9629 varonce171
= var172
;
9632 var177
= varonce176
;
9634 var178
= " != NULL && ";
9636 var180
= string__NativeString__to_s_with_length(var178
, var179
);
9638 varonce176
= var177
;
9641 var182
= varonce181
;
9643 var183
= " != NULL && ";
9645 var185
= string__NativeString__to_s_with_length(var183
, var184
);
9647 varonce181
= var182
;
9650 var187
= varonce186
;
9652 var188
= "->class == ";
9654 var190
= string__NativeString__to_s_with_length(var188
, var189
);
9656 varonce186
= var187
;
9659 var192
= varonce191
;
9661 var193
= "->class); /* is_same_type_test */";
9663 var195
= string__NativeString__to_s_with_length(var193
, var194
);
9665 varonce191
= var192
;
9667 var196
= NEW_array__Array(&type_array__Arraykernel__Object
);
9668 { /* var196 = array_instance Array[Object] */
9670 var198
= NEW_array__NativeArray(var197
, &type_array__NativeArraykernel__Object
);
9671 ((struct instance_array__NativeArray
*)var198
)->values
[0] = (val
*) var_res
;
9672 ((struct instance_array__NativeArray
*)var198
)->values
[1] = (val
*) var162
;
9673 ((struct instance_array__NativeArray
*)var198
)->values
[2] = (val
*) var_value1
;
9674 ((struct instance_array__NativeArray
*)var198
)->values
[3] = (val
*) var167
;
9675 ((struct instance_array__NativeArray
*)var198
)->values
[4] = (val
*) var_value2
;
9676 ((struct instance_array__NativeArray
*)var198
)->values
[5] = (val
*) var172
;
9677 ((struct instance_array__NativeArray
*)var198
)->values
[6] = (val
*) var_value1
;
9678 ((struct instance_array__NativeArray
*)var198
)->values
[7] = (val
*) var177
;
9679 ((struct instance_array__NativeArray
*)var198
)->values
[8] = (val
*) var_value2
;
9680 ((struct instance_array__NativeArray
*)var198
)->values
[9] = (val
*) var182
;
9681 ((struct instance_array__NativeArray
*)var198
)->values
[10] = (val
*) var_value1
;
9682 ((struct instance_array__NativeArray
*)var198
)->values
[11] = (val
*) var187
;
9683 ((struct instance_array__NativeArray
*)var198
)->values
[12] = (val
*) var_value2
;
9684 ((struct instance_array__NativeArray
*)var198
)->values
[13] = (val
*) var192
;
9686 ((void (*)(val
*, val
*, long))(var196
->class->vft
[COLOR_array__Array__with_native
]))(var196
, var198
, var197
) /* with_native on <var196:Array[Object]>*/;
9690 var199
= ((val
* (*)(val
*))(var196
->class->vft
[COLOR_string__Object__to_s
]))(var196
) /* to_s on <var196:Array[Object]>*/;
9693 abstract_compiler__AbstractCompilerVisitor__add(self
, var199
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
9701 /* method separate_compiler#SeparateCompilerVisitor#is_same_type_test for (self: Object, RuntimeVariable, RuntimeVariable): RuntimeVariable */
9702 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__is_same_type_test(val
* self
, val
* p0
, val
* p1
) {
9703 val
* var
/* : RuntimeVariable */;
9704 val
* var1
/* : RuntimeVariable */;
9705 var1
= separate_compiler__SeparateCompilerVisitor__is_same_type_test(self
, p0
, p1
);