1 #include "separate_compiler.sep.0.h"
2 /* method separate_compiler#SeparateCompilerVisitor#type_info for (self: SeparateCompilerVisitor, RuntimeVariable): String */
3 val
* separate_compiler__SeparateCompilerVisitor__type_info(val
* self
, val
* p0
) {
4 val
* var
/* : String */;
5 val
* var_value
/* var value: RuntimeVariable */;
6 val
* var1
/* : MType */;
7 val
* var2
/* : String */;
9 val
* var3
/* : String */;
10 char* var4
/* : NativeString */;
11 long var5
/* : Int */;
12 val
* var6
/* : String */;
13 short int var7
/* : Bool */;
14 val
* var8
/* : Array[Object] */;
15 long var9
/* : Int */;
16 val
* var_
/* var : Array[Object] */;
17 static val
* varonce10
;
18 val
* var11
/* : String */;
19 char* var12
/* : NativeString */;
20 long var13
/* : Int */;
21 val
* var14
/* : String */;
22 static val
* varonce15
;
23 val
* var16
/* : String */;
24 char* var17
/* : NativeString */;
25 long var18
/* : Int */;
26 val
* var19
/* : String */;
27 val
* var20
/* : String */;
28 val
* var21
/* : AbstractCompiler */;
29 val
* var22
/* : Set[MType] */;
30 val
* var23
/* : MType */;
31 static val
* varonce24
;
32 val
* var25
/* : String */;
33 char* var26
/* : NativeString */;
34 long var27
/* : Int */;
35 val
* var28
/* : String */;
36 val
* var29
/* : MType */;
37 val
* var30
/* : String */;
38 val
* var31
/* : Array[Object] */;
39 long var32
/* : Int */;
40 val
* var33
/* : NativeArray[Object] */;
41 val
* var34
/* : String */;
42 val
* var35
/* : Array[Object] */;
43 long var36
/* : Int */;
44 val
* var_37
/* var : Array[Object] */;
45 static val
* varonce38
;
46 val
* var39
/* : String */;
47 char* var40
/* : NativeString */;
48 long var41
/* : Int */;
49 val
* var42
/* : String */;
50 val
* var43
/* : MType */;
51 val
* var44
/* : String */;
52 static val
* varonce45
;
53 val
* var46
/* : String */;
54 char* var47
/* : NativeString */;
55 long var48
/* : Int */;
56 val
* var49
/* : String */;
57 val
* var50
/* : String */;
59 var1
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
60 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var1
) /* ctype on <var1:MType>*/;
66 var6
= string__NativeString__to_s_with_length(var4
, var5
);
70 var7
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var2
, var3
) /* == on <var2:String>*/;
72 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
74 ((void (*)(val
*, long))(var8
->class->vft
[COLOR_array__Array__with_capacity
]))(var8
, var9
) /* with_capacity on <var8:Array[Object]>*/;
81 var14
= string__NativeString__to_s_with_length(var12
, var13
);
85 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var11
) /* add on <var_:Array[Object]>*/;
86 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_value
) /* add on <var_:Array[Object]>*/;
92 var19
= string__NativeString__to_s_with_length(var17
, var18
);
96 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var16
) /* add on <var_:Array[Object]>*/;
97 var20
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
101 var21
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
102 var22
= ((val
* (*)(val
*))(var21
->class->vft
[COLOR_separate_compiler__SeparateCompiler__undead_types
]))(var21
) /* undead_types on <var21:AbstractCompiler(SeparateCompiler)>*/;
103 var23
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
104 ((void (*)(val
*, val
*))(var22
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var22
, var23
) /* add on <var22:Set[MType]>*/;
110 var28
= string__NativeString__to_s_with_length(var26
, var27
);
114 var29
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
115 var30
= ((val
* (*)(val
*))(var29
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var29
) /* c_name on <var29:MType>*/;
116 var31
= NEW_array__Array(&type_array__Arraykernel__Object
);
117 { /* var31 = array_instance Array[Object] */
119 var33
= NEW_array__NativeArray(var32
, &type_array__NativeArraykernel__Object
);
120 ((struct instance_array__NativeArray
*)var33
)->values
[0] = (val
*) var25
;
121 ((struct instance_array__NativeArray
*)var33
)->values
[1] = (val
*) var30
;
122 ((void (*)(val
*, val
*, long))(var31
->class->vft
[COLOR_array__Array__with_native
]))(var31
, var33
, var32
) /* with_native on <var31:Array[Object]>*/;
124 var34
= ((val
* (*)(val
*))(var31
->class->vft
[COLOR_string__Object__to_s
]))(var31
) /* to_s on <var31:Array[Object]>*/;
125 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var34
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
126 var35
= NEW_array__Array(&type_array__Arraykernel__Object
);
128 ((void (*)(val
*, long))(var35
->class->vft
[COLOR_array__Array__with_capacity
]))(var35
, var36
) /* with_capacity on <var35:Array[Object]>*/;
135 var42
= string__NativeString__to_s_with_length(var40
, var41
);
139 ((void (*)(val
*, val
*))(var_37
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_37
, var39
) /* add on <var_37:Array[Object]>*/;
140 var43
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
141 var44
= ((val
* (*)(val
*))(var43
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var43
) /* c_name on <var43:MType>*/;
142 ((void (*)(val
*, val
*))(var_37
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_37
, var44
) /* add on <var_37:Array[Object]>*/;
148 var49
= string__NativeString__to_s_with_length(var47
, var48
);
152 ((void (*)(val
*, val
*))(var_37
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_37
, var46
) /* add on <var_37:Array[Object]>*/;
153 var50
= ((val
* (*)(val
*))(var_37
->class->vft
[COLOR_string__Object__to_s
]))(var_37
) /* to_s on <var_37:Array[Object]>*/;
160 /* method separate_compiler#SeparateCompilerVisitor#type_info for (self: Object, RuntimeVariable): String */
161 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__type_info(val
* self
, val
* p0
) {
162 val
* var
/* : String */;
163 val
* var1
/* : String */;
164 var1
= separate_compiler__SeparateCompilerVisitor__type_info(self
, p0
);
169 /* method separate_compiler#SeparateCompilerVisitor#send for (self: SeparateCompilerVisitor, MMethod, Array[RuntimeVariable]): nullable RuntimeVariable */
170 val
* separate_compiler__SeparateCompilerVisitor__send(val
* self
, val
* p0
, val
* p1
) {
171 val
* var
/* : nullable RuntimeVariable */;
172 val
* var_mmethod
/* var mmethod: MMethod */;
173 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
174 val
* var1
/* : MPropDef */;
175 val
* var2
/* : MPropDef */;
176 val
* var3
/* : nullable MSignature */;
177 val
* var4
/* : nullable Object */;
178 val
* var5
/* : MType */;
179 val
* var6
/* : String */;
181 val
* var7
/* : String */;
182 char* var8
/* : NativeString */;
183 long var9
/* : Int */;
184 val
* var10
/* : String */;
185 short int var11
/* : Bool */;
186 val
* var12
/* : AbstractCompiler */;
187 val
* var13
/* : MModule */;
188 val
* var_m
/* var m: MModule */;
189 val
* var14
/* : AbstractCompiler */;
190 val
* var15
/* : AbstractCompiler */;
191 val
* var16
/* : MModule */;
192 val
* var17
/* : nullable Object */;
193 val
* var18
/* : MType */;
194 val
* var19
/* : nullable RuntimeVariable */;
195 val
* var_res
/* var res: nullable RuntimeVariable */;
196 val
* var20
/* : AbstractCompiler */;
197 val
* var21
/* : String */;
198 val
* var22
/* : nullable RuntimeVariable */;
201 var1
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
202 var2
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
203 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var2
) /* msignature on <var2:MPropDef(MMethodDef)>*/;
205 fprintf(stderr
, "Runtime error: %s", "Cast failed");
206 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 994);
209 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__varargize
]))(self
, var1
, var3
, var_arguments
) /* varargize on <self:SeparateCompilerVisitor>*/;
210 var4
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
211 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var4
) /* mcasttype on <var4:nullable Object(RuntimeVariable)>*/;
212 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var5
) /* ctype on <var5:MType>*/;
218 var10
= string__NativeString__to_s_with_length(var8
, var9
);
222 var11
= ((short int (*)(val
*, val
*))(var6
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var6
, var7
) /* != on <var6:String>*/;
224 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
225 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var12
) /* mainmodule on <var12:AbstractCompiler(SeparateCompiler)>*/;
227 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
228 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
229 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__realmainmodule
]))(var15
) /* realmainmodule on <var15:AbstractCompiler(SeparateCompiler)>*/;
230 ((void (*)(val
*, val
*))(var14
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule_61d
]))(var14
, var16
) /* mainmodule= on <var14:AbstractCompiler(SeparateCompiler)>*/;
231 var17
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
232 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var17
) /* mcasttype on <var17:nullable Object(RuntimeVariable)>*/;
233 var19
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__monomorphic_send
]))(self
, var_mmethod
, var18
, var_arguments
) /* monomorphic_send on <self:SeparateCompilerVisitor>*/;
235 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
236 ((void (*)(val
*, val
*))(var20
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule_61d
]))(var20
, var_m
) /* mainmodule= on <var20:AbstractCompiler(SeparateCompiler)>*/;
241 var21
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_mmethod
) /* const_color on <var_mmethod:MMethod>*/;
242 var22
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__table_send
]))(self
, var_mmethod
, var_arguments
, var21
) /* table_send on <self:SeparateCompilerVisitor>*/;
248 /* method separate_compiler#SeparateCompilerVisitor#send for (self: Object, MMethod, Array[RuntimeVariable]): nullable RuntimeVariable */
249 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__send(val
* self
, val
* p0
, val
* p1
) {
250 val
* var
/* : nullable RuntimeVariable */;
251 val
* var1
/* : nullable RuntimeVariable */;
252 var1
= separate_compiler__SeparateCompilerVisitor__send(self
, p0
, p1
);
257 /* method separate_compiler#SeparateCompilerVisitor#table_send for (self: SeparateCompilerVisitor, MMethod, Array[RuntimeVariable], String): nullable RuntimeVariable */
258 val
* separate_compiler__SeparateCompilerVisitor__table_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
259 val
* var
/* : nullable RuntimeVariable */;
260 val
* var_mmethod
/* var mmethod: MMethod */;
261 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
262 val
* var_const_color
/* var const_color: String */;
263 long var1
/* : Int */;
264 val
* var2
/* : MPropDef */;
265 val
* var3
/* : nullable MSignature */;
266 long var4
/* : Int */;
267 long var5
/* : Int */;
268 long var6
/* : Int */;
269 long var8
/* : Int */;
270 short int var9
/* : Bool */;
271 short int var11
/* : Bool */;
273 val
* var12
/* : String */;
274 char* var13
/* : NativeString */;
275 long var14
/* : Int */;
276 val
* var15
/* : String */;
277 static val
* varonce16
;
278 val
* var17
/* : String */;
279 char* var18
/* : NativeString */;
280 long var19
/* : Int */;
281 val
* var20
/* : String */;
282 long var21
/* : Int */;
283 static val
* varonce22
;
284 val
* var23
/* : String */;
285 char* var24
/* : NativeString */;
286 long var25
/* : Int */;
287 val
* var26
/* : String */;
288 val
* var27
/* : Array[Object] */;
289 long var28
/* : Int */;
290 val
* var29
/* : NativeArray[Object] */;
291 val
* var30
/* : Object */;
292 val
* var31
/* : String */;
293 val
* var32
/* : MPropDef */;
294 val
* var33
/* : nullable MSignature */;
295 val
* var34
/* : MPropDef */;
296 val
* var35
/* : MClassDef */;
297 val
* var36
/* : MClassType */;
298 val
* var37
/* : MPropDef */;
299 val
* var38
/* : MClassDef */;
300 val
* var39
/* : MClassType */;
301 val
* var40
/* : MPropDef */;
302 val
* var41
/* : MClassDef */;
303 val
* var42
/* : MModule */;
304 short int var43
/* : Bool */;
305 val
* var44
/* : MType */;
306 val
* var_msignature
/* var msignature: MSignature */;
307 val
* var45
/* : nullable MType */;
308 val
* var_ret
/* var ret: nullable MType */;
309 short int var46
/* : Bool */;
310 val
* var47
/* : nullable Object */;
311 val
* var48
/* : MType */;
312 val
* var49
/* : RuntimeVariable */;
313 val
* var_res
/* var res: nullable RuntimeVariable */;
314 val
* var50
/* : null */;
315 short int var51
/* : Bool */;
316 val
* var52
/* : null */;
317 val
* var53
/* : RuntimeVariable */;
318 val
* var54
/* : Buffer */;
319 val
* var_s
/* var s: Buffer */;
320 val
* var55
/* : Buffer */;
321 val
* var_ss
/* var ss: Buffer */;
322 val
* var56
/* : nullable Object */;
323 val
* var_recv
/* var recv: RuntimeVariable */;
324 static val
* varonce57
;
325 val
* var58
/* : String */;
326 char* var59
/* : NativeString */;
327 long var60
/* : Int */;
328 val
* var61
/* : String */;
329 val
* var62
/* : Array[Object] */;
330 long var63
/* : Int */;
331 val
* var64
/* : NativeArray[Object] */;
332 val
* var65
/* : String */;
333 val
* var66
/* : Range[Int] */;
334 long var67
/* : Int */;
335 long var68
/* : Int */;
336 val
* var69
/* : Discrete */;
337 val
* var70
/* : Discrete */;
338 val
* var71
/* : Iterator[nullable Object] */;
339 short int var72
/* : Bool */;
340 val
* var73
/* : nullable Object */;
341 long var_i
/* var i: Int */;
342 long var74
/* : Int */;
343 long var75
/* : Int */;
344 long var76
/* : Int */;
345 long var78
/* : Int */;
346 val
* var79
/* : nullable Object */;
347 val
* var_a
/* var a: RuntimeVariable */;
348 val
* var80
/* : Array[MParameter] */;
349 val
* var81
/* : nullable Object */;
350 val
* var82
/* : MType */;
351 val
* var_t
/* var t: MType */;
352 long var83
/* : Int */;
353 short int var84
/* : Bool */;
354 short int var86
/* : Bool */;
355 long var87
/* : Int */;
356 long var88
/* : Int */;
357 long var90
/* : Int */;
358 val
* var91
/* : nullable Object */;
359 val
* var92
/* : MType */;
360 static val
* varonce93
;
361 val
* var94
/* : String */;
362 char* var95
/* : NativeString */;
363 long var96
/* : Int */;
364 val
* var97
/* : String */;
365 val
* var98
/* : String */;
366 val
* var99
/* : Array[Object] */;
367 long var100
/* : Int */;
368 val
* var101
/* : NativeArray[Object] */;
369 val
* var102
/* : String */;
370 val
* var103
/* : RuntimeVariable */;
371 static val
* varonce104
;
372 val
* var105
/* : String */;
373 char* var106
/* : NativeString */;
374 long var107
/* : Int */;
375 val
* var108
/* : String */;
376 val
* var109
/* : Array[Object] */;
377 long var110
/* : Int */;
378 val
* var111
/* : NativeArray[Object] */;
379 val
* var112
/* : String */;
380 short int var113
/* : Bool */;
381 short int var114
/* : Bool */;
382 val
* var115
/* : AbstractCompiler */;
383 val
* var116
/* : ModelBuilder */;
384 val
* var117
/* : ToolContext */;
385 val
* var118
/* : OptionBool */;
386 val
* var119
/* : nullable Object */;
387 short int var120
/* : Bool */;
388 short int var121
/* : Bool */;
389 short int var_
/* var : Bool */;
390 val
* var122
/* : String */;
391 static val
* varonce123
;
392 val
* var124
/* : String */;
393 char* var125
/* : NativeString */;
394 long var126
/* : Int */;
395 val
* var127
/* : String */;
396 short int var128
/* : Bool */;
397 short int var_129
/* var : Bool */;
398 val
* var130
/* : String */;
399 static val
* varonce131
;
400 val
* var132
/* : String */;
401 char* var133
/* : NativeString */;
402 long var134
/* : Int */;
403 val
* var135
/* : String */;
404 short int var136
/* : Bool */;
405 short int var_consider_null
/* var consider_null: Bool */;
406 short int var137
/* : Bool */;
407 val
* var138
/* : MType */;
408 short int var139
/* : Bool */;
411 short int var_140
/* var : Bool */;
412 short int var_maybenull
/* var maybenull: Bool */;
413 static val
* varonce141
;
414 val
* var142
/* : String */;
415 char* var143
/* : NativeString */;
416 long var144
/* : Int */;
417 val
* var145
/* : String */;
418 static val
* varonce146
;
419 val
* var147
/* : String */;
420 char* var148
/* : NativeString */;
421 long var149
/* : Int */;
422 val
* var150
/* : String */;
423 val
* var151
/* : Array[Object] */;
424 long var152
/* : Int */;
425 val
* var153
/* : NativeArray[Object] */;
426 val
* var154
/* : String */;
427 val
* var155
/* : String */;
428 static val
* varonce156
;
429 val
* var157
/* : String */;
430 char* var158
/* : NativeString */;
431 long var159
/* : Int */;
432 val
* var160
/* : String */;
433 short int var161
/* : Bool */;
434 val
* var162
/* : null */;
435 short int var163
/* : Bool */;
436 long var164
/* : Int */;
437 val
* var165
/* : nullable Object */;
438 val
* var_arg
/* var arg: RuntimeVariable */;
439 val
* var166
/* : MType */;
440 short int var167
/* : Bool */;
443 static val
* varonce170
;
444 val
* var171
/* : String */;
445 char* var172
/* : NativeString */;
446 long var173
/* : Int */;
447 val
* var174
/* : String */;
448 static val
* varonce175
;
449 val
* var176
/* : String */;
450 char* var177
/* : NativeString */;
451 long var178
/* : Int */;
452 val
* var179
/* : String */;
453 val
* var180
/* : Array[Object] */;
454 long var181
/* : Int */;
455 val
* var182
/* : NativeArray[Object] */;
456 val
* var183
/* : String */;
457 val
* var184
/* : MType */;
458 short int var185
/* : Bool */;
461 static val
* varonce188
;
462 val
* var189
/* : String */;
463 char* var190
/* : NativeString */;
464 long var191
/* : Int */;
465 val
* var192
/* : String */;
466 val
* var193
/* : Array[Object] */;
467 long var194
/* : Int */;
468 val
* var195
/* : NativeArray[Object] */;
469 val
* var196
/* : String */;
470 static val
* varonce197
;
471 val
* var198
/* : String */;
472 char* var199
/* : NativeString */;
473 long var200
/* : Int */;
474 val
* var201
/* : String */;
475 val
* var202
/* : String */;
476 static val
* varonce203
;
477 val
* var204
/* : String */;
478 char* var205
/* : NativeString */;
479 long var206
/* : Int */;
480 val
* var207
/* : String */;
481 val
* var208
/* : Array[Object] */;
482 long var209
/* : Int */;
483 val
* var210
/* : NativeArray[Object] */;
484 val
* var211
/* : String */;
485 val
* var212
/* : String */;
486 static val
* varonce213
;
487 val
* var214
/* : String */;
488 char* var215
/* : NativeString */;
489 long var216
/* : Int */;
490 val
* var217
/* : String */;
491 short int var218
/* : Bool */;
492 val
* var219
/* : null */;
493 short int var220
/* : Bool */;
494 long var221
/* : Int */;
495 val
* var222
/* : nullable Object */;
496 val
* var_arg223
/* var arg: RuntimeVariable */;
497 val
* var224
/* : MType */;
498 short int var225
/* : Bool */;
501 static val
* varonce228
;
502 val
* var229
/* : String */;
503 char* var230
/* : NativeString */;
504 long var231
/* : Int */;
505 val
* var232
/* : String */;
506 static val
* varonce233
;
507 val
* var234
/* : String */;
508 char* var235
/* : NativeString */;
509 long var236
/* : Int */;
510 val
* var237
/* : String */;
511 val
* var238
/* : Array[Object] */;
512 long var239
/* : Int */;
513 val
* var240
/* : NativeArray[Object] */;
514 val
* var241
/* : String */;
515 val
* var242
/* : MType */;
516 short int var243
/* : Bool */;
519 static val
* varonce246
;
520 val
* var247
/* : String */;
521 char* var248
/* : NativeString */;
522 long var249
/* : Int */;
523 val
* var250
/* : String */;
524 val
* var251
/* : Array[Object] */;
525 long var252
/* : Int */;
526 val
* var253
/* : NativeArray[Object] */;
527 val
* var254
/* : String */;
528 static val
* varonce255
;
529 val
* var256
/* : String */;
530 char* var257
/* : NativeString */;
531 long var258
/* : Int */;
532 val
* var259
/* : String */;
533 val
* var260
/* : String */;
534 static val
* varonce261
;
535 val
* var262
/* : String */;
536 char* var263
/* : NativeString */;
537 long var264
/* : Int */;
538 val
* var265
/* : String */;
539 val
* var266
/* : Array[Object] */;
540 long var267
/* : Int */;
541 val
* var268
/* : NativeArray[Object] */;
542 val
* var269
/* : String */;
543 static val
* varonce270
;
544 val
* var271
/* : String */;
545 char* var272
/* : NativeString */;
546 long var273
/* : Int */;
547 val
* var274
/* : String */;
548 static val
* varonce275
;
549 val
* var276
/* : String */;
550 char* var277
/* : NativeString */;
551 long var278
/* : Int */;
552 val
* var279
/* : String */;
553 short int var280
/* : Bool */;
554 val
* var281
/* : AbstractCompiler */;
555 val
* var282
/* : ModelBuilder */;
556 val
* var283
/* : ToolContext */;
557 val
* var284
/* : OptionBool */;
558 val
* var285
/* : nullable Object */;
559 short int var286
/* : Bool */;
560 short int var287
/* : Bool */;
561 short int var_288
/* var : Bool */;
562 short int var289
/* : Bool */;
563 val
* var290
/* : String */;
564 static val
* varonce291
;
565 val
* var292
/* : String */;
566 char* var293
/* : NativeString */;
567 long var294
/* : Int */;
568 val
* var295
/* : String */;
569 short int var296
/* : Bool */;
570 short int var_297
/* var : Bool */;
571 val
* var298
/* : String */;
572 static val
* varonce299
;
573 val
* var300
/* : String */;
574 char* var301
/* : NativeString */;
575 long var302
/* : Int */;
576 val
* var303
/* : String */;
577 short int var304
/* : Bool */;
578 val
* var305
/* : null */;
579 short int var306
/* : Bool */;
580 long var307
/* : Int */;
581 val
* var308
/* : nullable Object */;
582 val
* var_arg309
/* var arg: RuntimeVariable */;
583 val
* var310
/* : MType */;
584 short int var311
/* : Bool */;
587 val
* var314
/* : String */;
588 static val
* varonce315
;
589 val
* var316
/* : String */;
590 char* var317
/* : NativeString */;
591 long var318
/* : Int */;
592 val
* var319
/* : String */;
593 short int var320
/* : Bool */;
594 static val
* varonce321
;
595 val
* var322
/* : String */;
596 char* var323
/* : NativeString */;
597 long var324
/* : Int */;
598 val
* var325
/* : String */;
599 val
* var326
/* : Array[Object] */;
600 long var327
/* : Int */;
601 val
* var328
/* : NativeArray[Object] */;
602 val
* var329
/* : String */;
603 static val
* varonce330
;
604 val
* var331
/* : String */;
605 char* var332
/* : NativeString */;
606 long var333
/* : Int */;
607 val
* var334
/* : String */;
608 val
* var335
/* : Array[Object] */;
609 long var336
/* : Int */;
610 val
* var337
/* : NativeArray[Object] */;
611 val
* var338
/* : String */;
612 static val
* varonce339
;
613 val
* var340
/* : String */;
614 char* var341
/* : NativeString */;
615 long var342
/* : Int */;
616 val
* var343
/* : String */;
617 val
* var344
/* : null */;
618 short int var345
/* : Bool */;
619 static val
* varonce346
;
620 val
* var347
/* : String */;
621 char* var348
/* : NativeString */;
622 long var349
/* : Int */;
623 val
* var350
/* : String */;
624 val
* var_r
/* var r: nullable Object */;
625 val
* var351
/* : String */;
626 val
* var352
/* : Array[Object] */;
627 long var353
/* : Int */;
628 val
* var_354
/* var : Array[Object] */;
629 static val
* varonce355
;
630 val
* var356
/* : String */;
631 char* var357
/* : NativeString */;
632 long var358
/* : Int */;
633 val
* var359
/* : String */;
634 static val
* varonce360
;
635 val
* var361
/* : String */;
636 char* var362
/* : NativeString */;
637 long var363
/* : Int */;
638 val
* var364
/* : String */;
639 static val
* varonce365
;
640 val
* var366
/* : String */;
641 char* var367
/* : NativeString */;
642 long var368
/* : Int */;
643 val
* var369
/* : String */;
644 val
* var370
/* : nullable Object */;
645 static val
* varonce371
;
646 val
* var372
/* : String */;
647 char* var373
/* : NativeString */;
648 long var374
/* : Int */;
649 val
* var375
/* : String */;
650 static val
* varonce376
;
651 val
* var377
/* : String */;
652 char* var378
/* : NativeString */;
653 long var379
/* : Int */;
654 val
* var380
/* : String */;
655 static val
* varonce381
;
656 val
* var382
/* : String */;
657 char* var383
/* : NativeString */;
658 long var384
/* : Int */;
659 val
* var385
/* : String */;
660 static val
* varonce386
;
661 val
* var387
/* : String */;
662 char* var388
/* : NativeString */;
663 long var389
/* : Int */;
664 val
* var390
/* : String */;
665 val
* var391
/* : nullable Object */;
666 val
* var392
/* : String */;
667 static val
* varonce393
;
668 val
* var394
/* : String */;
669 char* var395
/* : NativeString */;
670 long var396
/* : Int */;
671 val
* var397
/* : String */;
672 val
* var398
/* : String */;
673 val
* var_call
/* var call: String */;
674 val
* var399
/* : null */;
675 short int var400
/* : Bool */;
676 static val
* varonce401
;
677 val
* var402
/* : String */;
678 char* var403
/* : NativeString */;
679 long var404
/* : Int */;
680 val
* var405
/* : String */;
681 static val
* varonce406
;
682 val
* var407
/* : String */;
683 char* var408
/* : NativeString */;
684 long var409
/* : Int */;
685 val
* var410
/* : String */;
686 val
* var411
/* : Array[Object] */;
687 long var412
/* : Int */;
688 val
* var413
/* : NativeArray[Object] */;
689 val
* var414
/* : String */;
690 static val
* varonce415
;
691 val
* var416
/* : String */;
692 char* var417
/* : NativeString */;
693 long var418
/* : Int */;
694 val
* var419
/* : String */;
695 val
* var420
/* : Array[Object] */;
696 long var421
/* : Int */;
697 val
* var422
/* : NativeArray[Object] */;
698 val
* var423
/* : String */;
699 static val
* varonce424
;
700 val
* var425
/* : String */;
701 char* var426
/* : NativeString */;
702 long var427
/* : Int */;
703 val
* var428
/* : String */;
706 var_const_color
= p2
;
707 var1
= ((long (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_arguments
) /* length on <var_arguments:Array[RuntimeVariable]>*/;
708 var2
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
709 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var2
) /* msignature on <var2:MPropDef(MMethodDef)>*/;
711 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
712 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1011);
715 var4
= ((long (*)(val
*))(var3
->class->vft
[COLOR_model__MSignature__arity
]))(var3
) /* arity on <var3:nullable MSignature>*/;
718 { /* Inline kernel#Int#+ (var4,var5) */
724 { /* Inline kernel#Int#== (var1,var6) */
725 var11
= var1
== var6
;
734 var13
= "Invalid arity for ";
736 var15
= string__NativeString__to_s_with_length(var13
, var14
);
745 var20
= string__NativeString__to_s_with_length(var18
, var19
);
749 var21
= ((long (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_arguments
) /* length on <var_arguments:Array[RuntimeVariable]>*/;
753 var24
= " arguments given.";
755 var26
= string__NativeString__to_s_with_length(var24
, var25
);
759 var27
= NEW_array__Array(&type_array__Arraykernel__Object
);
760 { /* var27 = array_instance Array[Object] */
762 var29
= NEW_array__NativeArray(var28
, &type_array__NativeArraykernel__Object
);
763 ((struct instance_array__NativeArray
*)var29
)->values
[0] = (val
*) var12
;
764 ((struct instance_array__NativeArray
*)var29
)->values
[1] = (val
*) var_mmethod
;
765 ((struct instance_array__NativeArray
*)var29
)->values
[2] = (val
*) var17
;
766 var30
= BOX_kernel__Int(var21
); /* autobox from Int to Object */
767 ((struct instance_array__NativeArray
*)var29
)->values
[3] = (val
*) var30
;
768 ((struct instance_array__NativeArray
*)var29
)->values
[4] = (val
*) var23
;
769 ((void (*)(val
*, val
*, long))(var27
->class->vft
[COLOR_array__Array__with_native
]))(var27
, var29
, var28
) /* with_native on <var27:Array[Object]>*/;
771 var31
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_string__Object__to_s
]))(var27
) /* to_s on <var27:Array[Object]>*/;
772 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__debug
]))(self
, var31
) /* debug on <self:SeparateCompilerVisitor>*/;
773 fprintf(stderr
, "Runtime error: %s", "Assert failed");
774 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1011);
777 var32
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
778 var33
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var32
) /* msignature on <var32:MPropDef(MMethodDef)>*/;
779 var34
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
780 var35
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var34
) /* mclassdef on <var34:MPropDef(MMethodDef)>*/;
781 var36
= ((val
* (*)(val
*))(var35
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var35
) /* bound_mtype on <var35:MClassDef>*/;
782 var37
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
783 var38
= ((val
* (*)(val
*))(var37
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var37
) /* mclassdef on <var37:MPropDef(MMethodDef)>*/;
784 var39
= ((val
* (*)(val
*))(var38
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var38
) /* bound_mtype on <var38:MClassDef>*/;
785 var40
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
786 var41
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var40
) /* mclassdef on <var40:MPropDef(MMethodDef)>*/;
787 var42
= ((val
* (*)(val
*))(var41
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var41
) /* mmodule on <var41:MClassDef>*/;
790 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
791 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1014);
794 var44
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var33
->class->vft
[COLOR_model__MType__resolve_for
]))(var33
, var36
, var39
, var42
, var43
) /* resolve_for on <var33:nullable MSignature>*/;
796 var_msignature
= var44
;
797 var45
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var_msignature
) /* return_mtype on <var_msignature:MSignature>*/;
799 var46
= ((short int (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MMethod__is_new
]))(var_mmethod
) /* is_new on <var_mmethod:MMethod>*/;
801 var47
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
802 var48
= ((val
* (*)(val
*))(var47
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var47
) /* mtype on <var47:nullable Object(RuntimeVariable)>*/;
804 var49
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_ret
) /* new_var on <self:SeparateCompilerVisitor>*/;
808 if (var_ret
== NULL
) {
809 var51
= 1; /* is null */
811 var51
= 0; /* arg is null but recv is not */
817 var53
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_ret
) /* new_var on <self:SeparateCompilerVisitor>*/;
821 var54
= NEW_string__Buffer(&type_string__Buffer
);
822 ((void (*)(val
*))(var54
->class->vft
[COLOR_string__Buffer__init
]))(var54
) /* init on <var54:Buffer>*/;
824 var55
= NEW_string__Buffer(&type_string__Buffer
);
825 ((void (*)(val
*))(var55
->class->vft
[COLOR_string__Buffer__init
]))(var55
) /* init on <var55:Buffer>*/;
827 var56
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
834 var61
= string__NativeString__to_s_with_length(var59
, var60
);
838 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var58
) /* append on <var_s:Buffer>*/;
839 var62
= NEW_array__Array(&type_array__Arraykernel__Object
);
840 { /* var62 = array_instance Array[Object] */
842 var64
= NEW_array__NativeArray(var63
, &type_array__NativeArraykernel__Object
);
843 ((struct instance_array__NativeArray
*)var64
)->values
[0] = (val
*) var_recv
;
844 ((void (*)(val
*, val
*, long))(var62
->class->vft
[COLOR_array__Array__with_native
]))(var62
, var64
, var63
) /* with_native on <var62:Array[Object]>*/;
846 var65
= ((val
* (*)(val
*))(var62
->class->vft
[COLOR_string__Object__to_s
]))(var62
) /* to_s on <var62:Array[Object]>*/;
847 ((void (*)(val
*, val
*))(var_ss
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_ss
, var65
) /* append on <var_ss:Buffer>*/;
848 var66
= NEW_range__Range(&type_range__Rangekernel__Int
);
850 var68
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:MSignature>*/;
851 var69
= BOX_kernel__Int(var67
); /* autobox from Int to Discrete */
852 var70
= BOX_kernel__Int(var68
); /* autobox from Int to Discrete */
853 ((void (*)(val
*, val
*, val
*))(var66
->class->vft
[COLOR_range__Range__without_last
]))(var66
, var69
, var70
) /* without_last on <var66:Range[Int]>*/;
854 var71
= ((val
* (*)(val
*))(var66
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var66
) /* iterator on <var66:Range[Int]>*/;
856 var72
= ((short int (*)(val
*))(var71
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var71
) /* is_ok on <var71:Iterator[nullable Object]>*/;
858 var73
= ((val
* (*)(val
*))(var71
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var71
) /* item on <var71:Iterator[nullable Object]>*/;
859 var74
= ((struct instance_kernel__Int
*)var73
)->value
; /* autounbox from nullable Object to Int */;
862 { /* Inline kernel#Int#+ (var_i,var75) */
863 var78
= var_i
+ var75
;
868 var79
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var76
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
870 var80
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_msignature
) /* mparameters on <var_msignature:MSignature>*/;
871 var81
= ((val
* (*)(val
*, long))(var80
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var80
, var_i
) /* [] on <var80:Array[MParameter]>*/;
872 var82
= ((val
* (*)(val
*))(var81
->class->vft
[COLOR_model__MParameter__mtype
]))(var81
) /* mtype on <var81:nullable Object(MParameter)>*/;
874 var83
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__vararg_rank
]))(var_msignature
) /* vararg_rank on <var_msignature:MSignature>*/;
875 { /* Inline kernel#Int#== (var_i,var83) */
876 var86
= var_i
== var83
;
883 { /* Inline kernel#Int#+ (var_i,var87) */
884 var90
= var_i
+ var87
;
889 var91
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var88
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
890 var92
= ((val
* (*)(val
*))(var91
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var91
) /* mcasttype on <var91:nullable Object(RuntimeVariable)>*/;
899 var97
= string__NativeString__to_s_with_length(var95
, var96
);
903 var98
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_t
) /* ctype on <var_t:MType>*/;
904 var99
= NEW_array__Array(&type_array__Arraykernel__Object
);
905 { /* var99 = array_instance Array[Object] */
907 var101
= NEW_array__NativeArray(var100
, &type_array__NativeArraykernel__Object
);
908 ((struct instance_array__NativeArray
*)var101
)->values
[0] = (val
*) var94
;
909 ((struct instance_array__NativeArray
*)var101
)->values
[1] = (val
*) var98
;
910 ((void (*)(val
*, val
*, long))(var99
->class->vft
[COLOR_array__Array__with_native
]))(var99
, var101
, var100
) /* with_native on <var99:Array[Object]>*/;
912 var102
= ((val
* (*)(val
*))(var99
->class->vft
[COLOR_string__Object__to_s
]))(var99
) /* to_s on <var99:Array[Object]>*/;
913 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var102
) /* append on <var_s:Buffer>*/;
914 var103
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_a
, var_t
) /* autobox on <self:SeparateCompilerVisitor>*/;
921 var108
= string__NativeString__to_s_with_length(var106
, var107
);
925 var109
= NEW_array__Array(&type_array__Arraykernel__Object
);
926 { /* var109 = array_instance Array[Object] */
928 var111
= NEW_array__NativeArray(var110
, &type_array__NativeArraykernel__Object
);
929 ((struct instance_array__NativeArray
*)var111
)->values
[0] = (val
*) var105
;
930 ((struct instance_array__NativeArray
*)var111
)->values
[1] = (val
*) var_a
;
931 ((void (*)(val
*, val
*, long))(var109
->class->vft
[COLOR_array__Array__with_native
]))(var109
, var111
, var110
) /* with_native on <var109:Array[Object]>*/;
933 var112
= ((val
* (*)(val
*))(var109
->class->vft
[COLOR_string__Object__to_s
]))(var109
) /* to_s on <var109:Array[Object]>*/;
934 ((void (*)(val
*, val
*))(var_ss
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_ss
, var112
) /* append on <var_ss:Buffer>*/;
935 CONTINUE_label
: (void)0;
936 ((void (*)(val
*))(var71
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var71
) /* next on <var71:Iterator[nullable Object]>*/;
938 BREAK_label
: (void)0;
939 var115
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
940 var116
= ((val
* (*)(val
*))(var115
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var115
) /* modelbuilder on <var115:AbstractCompiler(SeparateCompiler)>*/;
941 var117
= ((val
* (*)(val
*))(var116
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var116
) /* toolcontext on <var116:ModelBuilder>*/;
942 var118
= ((val
* (*)(val
*))(var117
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_other
]))(var117
) /* opt_no_check_other on <var117:ToolContext>*/;
943 var119
= ((val
* (*)(val
*))(var118
->class->vft
[COLOR_opts__Option__value
]))(var118
) /* value on <var118:OptionBool>*/;
944 var120
= ((struct instance_kernel__Bool
*)var119
)->value
; /* autounbox from nullable Object to Bool */;
950 var122
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__name
]))(var_mmethod
) /* name on <var_mmethod:MMethod>*/;
956 var127
= string__NativeString__to_s_with_length(var125
, var126
);
960 var128
= ((short int (*)(val
*, val
*))(var122
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var122
, var124
) /* == on <var122:String>*/;
967 var130
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__name
]))(var_mmethod
) /* name on <var_mmethod:MMethod>*/;
973 var135
= string__NativeString__to_s_with_length(var133
, var134
);
977 var136
= ((short int (*)(val
*, val
*))(var130
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var130
, var132
) /* == on <var130:String>*/;
980 var_consider_null
= var113
;
981 var138
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_recv
) /* mcasttype on <var_recv:RuntimeVariable>*/;
982 /* <var138:MType> isa MNullableType */
983 cltype
= type_model__MNullableType
.color
;
984 idtype
= type_model__MNullableType
.id
;
985 if(cltype
>= var138
->type
->table_size
) {
988 var139
= var138
->type
->type_table
[cltype
] == idtype
;
992 var137
= var_consider_null
;
996 var_maybenull
= var137
;
1003 var145
= string__NativeString__to_s_with_length(var143
, var144
);
1005 varonce141
= var142
;
1008 var147
= varonce146
;
1010 var148
= " == NULL) {";
1012 var150
= string__NativeString__to_s_with_length(var148
, var149
);
1014 varonce146
= var147
;
1016 var151
= NEW_array__Array(&type_array__Arraykernel__Object
);
1017 { /* var151 = array_instance Array[Object] */
1019 var153
= NEW_array__NativeArray(var152
, &type_array__NativeArraykernel__Object
);
1020 ((struct instance_array__NativeArray
*)var153
)->values
[0] = (val
*) var142
;
1021 ((struct instance_array__NativeArray
*)var153
)->values
[1] = (val
*) var_recv
;
1022 ((struct instance_array__NativeArray
*)var153
)->values
[2] = (val
*) var147
;
1023 ((void (*)(val
*, val
*, long))(var151
->class->vft
[COLOR_array__Array__with_native
]))(var151
, var153
, var152
) /* with_native on <var151:Array[Object]>*/;
1025 var154
= ((val
* (*)(val
*))(var151
->class->vft
[COLOR_string__Object__to_s
]))(var151
) /* to_s on <var151:Array[Object]>*/;
1026 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var154
) /* add on <self:SeparateCompilerVisitor>*/;
1027 var155
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__name
]))(var_mmethod
) /* name on <var_mmethod:MMethod>*/;
1029 var157
= varonce156
;
1033 var160
= string__NativeString__to_s_with_length(var158
, var159
);
1035 varonce156
= var157
;
1037 var161
= ((short int (*)(val
*, val
*))(var155
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var155
, var157
) /* == on <var155:String>*/;
1040 if (var_res
== NULL
) {
1041 var163
= 0; /* is null */
1043 var163
= 1; /* arg is null and recv is not */
1046 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1047 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1047);
1051 var165
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var164
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
1053 var166
= ((val
* (*)(val
*))(var_arg
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_arg
) /* mcasttype on <var_arg:RuntimeVariable>*/;
1054 /* <var166:MType> isa MNullableType */
1055 cltype168
= type_model__MNullableType
.color
;
1056 idtype169
= type_model__MNullableType
.id
;
1057 if(cltype168
>= var166
->type
->table_size
) {
1060 var167
= var166
->type
->type_table
[cltype168
] == idtype169
;
1064 var171
= varonce170
;
1068 var174
= string__NativeString__to_s_with_length(var172
, var173
);
1070 varonce170
= var171
;
1073 var176
= varonce175
;
1075 var177
= " == NULL);";
1077 var179
= string__NativeString__to_s_with_length(var177
, var178
);
1079 varonce175
= var176
;
1081 var180
= NEW_array__Array(&type_array__Arraykernel__Object
);
1082 { /* var180 = array_instance Array[Object] */
1084 var182
= NEW_array__NativeArray(var181
, &type_array__NativeArraykernel__Object
);
1085 ((struct instance_array__NativeArray
*)var182
)->values
[0] = (val
*) var_res
;
1086 ((struct instance_array__NativeArray
*)var182
)->values
[1] = (val
*) var171
;
1087 ((struct instance_array__NativeArray
*)var182
)->values
[2] = (val
*) var_arg
;
1088 ((struct instance_array__NativeArray
*)var182
)->values
[3] = (val
*) var176
;
1089 ((void (*)(val
*, val
*, long))(var180
->class->vft
[COLOR_array__Array__with_native
]))(var180
, var182
, var181
) /* with_native on <var180:Array[Object]>*/;
1091 var183
= ((val
* (*)(val
*))(var180
->class->vft
[COLOR_string__Object__to_s
]))(var180
) /* to_s on <var180:Array[Object]>*/;
1092 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var183
) /* add on <self:SeparateCompilerVisitor>*/;
1094 var184
= ((val
* (*)(val
*))(var_arg
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_arg
) /* mcasttype on <var_arg:RuntimeVariable>*/;
1095 /* <var184:MType> isa MNullType */
1096 cltype186
= type_model__MNullType
.color
;
1097 idtype187
= type_model__MNullType
.id
;
1098 if(cltype186
>= var184
->type
->table_size
) {
1101 var185
= var184
->type
->type_table
[cltype186
] == idtype187
;
1105 var189
= varonce188
;
1107 var190
= " = 1; /* is null */";
1109 var192
= string__NativeString__to_s_with_length(var190
, var191
);
1111 varonce188
= var189
;
1113 var193
= NEW_array__Array(&type_array__Arraykernel__Object
);
1114 { /* var193 = array_instance Array[Object] */
1116 var195
= NEW_array__NativeArray(var194
, &type_array__NativeArraykernel__Object
);
1117 ((struct instance_array__NativeArray
*)var195
)->values
[0] = (val
*) var_res
;
1118 ((struct instance_array__NativeArray
*)var195
)->values
[1] = (val
*) var189
;
1119 ((void (*)(val
*, val
*, long))(var193
->class->vft
[COLOR_array__Array__with_native
]))(var193
, var195
, var194
) /* with_native on <var193:Array[Object]>*/;
1121 var196
= ((val
* (*)(val
*))(var193
->class->vft
[COLOR_string__Object__to_s
]))(var193
) /* to_s on <var193:Array[Object]>*/;
1122 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var196
) /* add on <self:SeparateCompilerVisitor>*/;
1125 var198
= varonce197
;
1127 var199
= " = 0; /* ";
1129 var201
= string__NativeString__to_s_with_length(var199
, var200
);
1131 varonce197
= var198
;
1133 var202
= ((val
* (*)(val
*))(var_arg
->class->vft
[COLOR_string__Object__inspect
]))(var_arg
) /* inspect on <var_arg:RuntimeVariable>*/;
1135 var204
= varonce203
;
1137 var205
= " cannot be null */";
1139 var207
= string__NativeString__to_s_with_length(var205
, var206
);
1141 varonce203
= var204
;
1143 var208
= NEW_array__Array(&type_array__Arraykernel__Object
);
1144 { /* var208 = array_instance Array[Object] */
1146 var210
= NEW_array__NativeArray(var209
, &type_array__NativeArraykernel__Object
);
1147 ((struct instance_array__NativeArray
*)var210
)->values
[0] = (val
*) var_res
;
1148 ((struct instance_array__NativeArray
*)var210
)->values
[1] = (val
*) var198
;
1149 ((struct instance_array__NativeArray
*)var210
)->values
[2] = (val
*) var202
;
1150 ((struct instance_array__NativeArray
*)var210
)->values
[3] = (val
*) var204
;
1151 ((void (*)(val
*, val
*, long))(var208
->class->vft
[COLOR_array__Array__with_native
]))(var208
, var210
, var209
) /* with_native on <var208:Array[Object]>*/;
1153 var211
= ((val
* (*)(val
*))(var208
->class->vft
[COLOR_string__Object__to_s
]))(var208
) /* to_s on <var208:Array[Object]>*/;
1154 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var211
) /* add on <self:SeparateCompilerVisitor>*/;
1158 var212
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__name
]))(var_mmethod
) /* name on <var_mmethod:MMethod>*/;
1160 var214
= varonce213
;
1164 var217
= string__NativeString__to_s_with_length(var215
, var216
);
1166 varonce213
= var214
;
1168 var218
= ((short int (*)(val
*, val
*))(var212
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var212
, var214
) /* == on <var212:String>*/;
1171 if (var_res
== NULL
) {
1172 var220
= 0; /* is null */
1174 var220
= 1; /* arg is null and recv is not */
1177 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1178 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1057);
1182 var222
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var221
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
1183 var_arg223
= var222
;
1184 var224
= ((val
* (*)(val
*))(var_arg223
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_arg223
) /* mcasttype on <var_arg223:RuntimeVariable>*/;
1185 /* <var224:MType> isa MNullableType */
1186 cltype226
= type_model__MNullableType
.color
;
1187 idtype227
= type_model__MNullableType
.id
;
1188 if(cltype226
>= var224
->type
->table_size
) {
1191 var225
= var224
->type
->type_table
[cltype226
] == idtype227
;
1195 var229
= varonce228
;
1199 var232
= string__NativeString__to_s_with_length(var230
, var231
);
1201 varonce228
= var229
;
1204 var234
= varonce233
;
1206 var235
= " != NULL);";
1208 var237
= string__NativeString__to_s_with_length(var235
, var236
);
1210 varonce233
= var234
;
1212 var238
= NEW_array__Array(&type_array__Arraykernel__Object
);
1213 { /* var238 = array_instance Array[Object] */
1215 var240
= NEW_array__NativeArray(var239
, &type_array__NativeArraykernel__Object
);
1216 ((struct instance_array__NativeArray
*)var240
)->values
[0] = (val
*) var_res
;
1217 ((struct instance_array__NativeArray
*)var240
)->values
[1] = (val
*) var229
;
1218 ((struct instance_array__NativeArray
*)var240
)->values
[2] = (val
*) var_arg223
;
1219 ((struct instance_array__NativeArray
*)var240
)->values
[3] = (val
*) var234
;
1220 ((void (*)(val
*, val
*, long))(var238
->class->vft
[COLOR_array__Array__with_native
]))(var238
, var240
, var239
) /* with_native on <var238:Array[Object]>*/;
1222 var241
= ((val
* (*)(val
*))(var238
->class->vft
[COLOR_string__Object__to_s
]))(var238
) /* to_s on <var238:Array[Object]>*/;
1223 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var241
) /* add on <self:SeparateCompilerVisitor>*/;
1225 var242
= ((val
* (*)(val
*))(var_arg223
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_arg223
) /* mcasttype on <var_arg223:RuntimeVariable>*/;
1226 /* <var242:MType> isa MNullType */
1227 cltype244
= type_model__MNullType
.color
;
1228 idtype245
= type_model__MNullType
.id
;
1229 if(cltype244
>= var242
->type
->table_size
) {
1232 var243
= var242
->type
->type_table
[cltype244
] == idtype245
;
1236 var247
= varonce246
;
1238 var248
= " = 0; /* is null */";
1240 var250
= string__NativeString__to_s_with_length(var248
, var249
);
1242 varonce246
= var247
;
1244 var251
= NEW_array__Array(&type_array__Arraykernel__Object
);
1245 { /* var251 = array_instance Array[Object] */
1247 var253
= NEW_array__NativeArray(var252
, &type_array__NativeArraykernel__Object
);
1248 ((struct instance_array__NativeArray
*)var253
)->values
[0] = (val
*) var_res
;
1249 ((struct instance_array__NativeArray
*)var253
)->values
[1] = (val
*) var247
;
1250 ((void (*)(val
*, val
*, long))(var251
->class->vft
[COLOR_array__Array__with_native
]))(var251
, var253
, var252
) /* with_native on <var251:Array[Object]>*/;
1252 var254
= ((val
* (*)(val
*))(var251
->class->vft
[COLOR_string__Object__to_s
]))(var251
) /* to_s on <var251:Array[Object]>*/;
1253 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var254
) /* add on <self:SeparateCompilerVisitor>*/;
1256 var256
= varonce255
;
1258 var257
= " = 1; /* ";
1260 var259
= string__NativeString__to_s_with_length(var257
, var258
);
1262 varonce255
= var256
;
1264 var260
= ((val
* (*)(val
*))(var_arg223
->class->vft
[COLOR_string__Object__inspect
]))(var_arg223
) /* inspect on <var_arg223:RuntimeVariable>*/;
1266 var262
= varonce261
;
1268 var263
= " cannot be null */";
1270 var265
= string__NativeString__to_s_with_length(var263
, var264
);
1272 varonce261
= var262
;
1274 var266
= NEW_array__Array(&type_array__Arraykernel__Object
);
1275 { /* var266 = array_instance Array[Object] */
1277 var268
= NEW_array__NativeArray(var267
, &type_array__NativeArraykernel__Object
);
1278 ((struct instance_array__NativeArray
*)var268
)->values
[0] = (val
*) var_res
;
1279 ((struct instance_array__NativeArray
*)var268
)->values
[1] = (val
*) var256
;
1280 ((struct instance_array__NativeArray
*)var268
)->values
[2] = (val
*) var260
;
1281 ((struct instance_array__NativeArray
*)var268
)->values
[3] = (val
*) var262
;
1282 ((void (*)(val
*, val
*, long))(var266
->class->vft
[COLOR_array__Array__with_native
]))(var266
, var268
, var267
) /* with_native on <var266:Array[Object]>*/;
1284 var269
= ((val
* (*)(val
*))(var266
->class->vft
[COLOR_string__Object__to_s
]))(var266
) /* to_s on <var266:Array[Object]>*/;
1285 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var269
) /* add on <self:SeparateCompilerVisitor>*/;
1290 var271
= varonce270
;
1292 var272
= "Receiver is null";
1294 var274
= string__NativeString__to_s_with_length(var272
, var273
);
1296 varonce270
= var271
;
1298 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(self
, var271
) /* add_abort on <self:SeparateCompilerVisitor>*/;
1302 var276
= varonce275
;
1304 var277
= "} else {";
1306 var279
= string__NativeString__to_s_with_length(var277
, var278
);
1308 varonce275
= var276
;
1310 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var276
) /* add on <self:SeparateCompilerVisitor>*/;
1313 var281
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
1314 var282
= ((val
* (*)(val
*))(var281
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var281
) /* modelbuilder on <var281:AbstractCompiler(SeparateCompiler)>*/;
1315 var283
= ((val
* (*)(val
*))(var282
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var282
) /* toolcontext on <var282:ModelBuilder>*/;
1316 var284
= ((val
* (*)(val
*))(var283
->class->vft
[COLOR_separate_compiler__ToolContext__opt_no_shortcut_equate
]))(var283
) /* opt_no_shortcut_equate on <var283:ToolContext>*/;
1317 var285
= ((val
* (*)(val
*))(var284
->class->vft
[COLOR_opts__Option__value
]))(var284
) /* value on <var284:OptionBool>*/;
1318 var286
= ((struct instance_kernel__Bool
*)var285
)->value
; /* autounbox from nullable Object to Bool */;
1322 var290
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__name
]))(var_mmethod
) /* name on <var_mmethod:MMethod>*/;
1324 var292
= varonce291
;
1328 var295
= string__NativeString__to_s_with_length(var293
, var294
);
1330 varonce291
= var292
;
1332 var296
= ((short int (*)(val
*, val
*))(var290
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var290
, var292
) /* == on <var290:String>*/;
1337 var298
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__name
]))(var_mmethod
) /* name on <var_mmethod:MMethod>*/;
1339 var300
= varonce299
;
1343 var303
= string__NativeString__to_s_with_length(var301
, var302
);
1345 varonce299
= var300
;
1347 var304
= ((short int (*)(val
*, val
*))(var298
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var298
, var300
) /* == on <var298:String>*/;
1356 if (var_res
== NULL
) {
1357 var306
= 0; /* is null */
1359 var306
= 1; /* arg is null and recv is not */
1362 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1363 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1072);
1367 var308
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var307
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
1368 var_arg309
= var308
;
1369 var310
= ((val
* (*)(val
*))(var_arg309
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_arg309
) /* mcasttype on <var_arg309:RuntimeVariable>*/;
1370 /* <var310:MType> isa MNullType */
1371 cltype312
= type_model__MNullType
.color
;
1372 idtype313
= type_model__MNullType
.id
;
1373 if(cltype312
>= var310
->type
->table_size
) {
1376 var311
= var310
->type
->type_table
[cltype312
] == idtype313
;
1379 var314
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__name
]))(var_mmethod
) /* name on <var_mmethod:MMethod>*/;
1381 var316
= varonce315
;
1385 var319
= string__NativeString__to_s_with_length(var317
, var318
);
1387 varonce315
= var316
;
1389 var320
= ((short int (*)(val
*, val
*))(var314
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var314
, var316
) /* == on <var314:String>*/;
1392 var322
= varonce321
;
1394 var323
= " = 0; /* arg is null but recv is not */";
1396 var325
= string__NativeString__to_s_with_length(var323
, var324
);
1398 varonce321
= var322
;
1400 var326
= NEW_array__Array(&type_array__Arraykernel__Object
);
1401 { /* var326 = array_instance Array[Object] */
1403 var328
= NEW_array__NativeArray(var327
, &type_array__NativeArraykernel__Object
);
1404 ((struct instance_array__NativeArray
*)var328
)->values
[0] = (val
*) var_res
;
1405 ((struct instance_array__NativeArray
*)var328
)->values
[1] = (val
*) var322
;
1406 ((void (*)(val
*, val
*, long))(var326
->class->vft
[COLOR_array__Array__with_native
]))(var326
, var328
, var327
) /* with_native on <var326:Array[Object]>*/;
1408 var329
= ((val
* (*)(val
*))(var326
->class->vft
[COLOR_string__Object__to_s
]))(var326
) /* to_s on <var326:Array[Object]>*/;
1409 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var329
) /* add on <self:SeparateCompilerVisitor>*/;
1412 var331
= varonce330
;
1414 var332
= " = 1; /* arg is null and recv is not */";
1416 var334
= string__NativeString__to_s_with_length(var332
, var333
);
1418 varonce330
= var331
;
1420 var335
= NEW_array__Array(&type_array__Arraykernel__Object
);
1421 { /* var335 = array_instance Array[Object] */
1423 var337
= NEW_array__NativeArray(var336
, &type_array__NativeArraykernel__Object
);
1424 ((struct instance_array__NativeArray
*)var337
)->values
[0] = (val
*) var_res
;
1425 ((struct instance_array__NativeArray
*)var337
)->values
[1] = (val
*) var331
;
1426 ((void (*)(val
*, val
*, long))(var335
->class->vft
[COLOR_array__Array__with_native
]))(var335
, var337
, var336
) /* with_native on <var335:Array[Object]>*/;
1428 var338
= ((val
* (*)(val
*))(var335
->class->vft
[COLOR_string__Object__to_s
]))(var335
) /* to_s on <var335:Array[Object]>*/;
1429 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var338
) /* add on <self:SeparateCompilerVisitor>*/;
1433 var340
= varonce339
;
1437 var343
= string__NativeString__to_s_with_length(var341
, var342
);
1439 varonce339
= var340
;
1441 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var340
) /* add on <self:SeparateCompilerVisitor>*/;
1451 if (var_ret
== NULL
) {
1452 var345
= 1; /* is null */
1454 var345
= 0; /* arg is null but recv is not */
1458 var347
= varonce346
;
1462 var350
= string__NativeString__to_s_with_length(var348
, var349
);
1464 varonce346
= var347
;
1468 var351
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:nullable MType(MType)>*/;
1471 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var_const_color
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
1472 var352
= NEW_array__Array(&type_array__Arraykernel__Object
);
1474 ((void (*)(val
*, long))(var352
->class->vft
[COLOR_array__Array__with_capacity
]))(var352
, var353
) /* with_capacity on <var352:Array[Object]>*/;
1477 var356
= varonce355
;
1481 var359
= string__NativeString__to_s_with_length(var357
, var358
);
1483 varonce355
= var356
;
1485 ((void (*)(val
*, val
*))(var_354
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_354
, var356
) /* add on <var_354:Array[Object]>*/;
1486 ((void (*)(val
*, val
*))(var_354
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_354
, var_r
) /* add on <var_354:Array[Object]>*/;
1488 var361
= varonce360
;
1492 var364
= string__NativeString__to_s_with_length(var362
, var363
);
1494 varonce360
= var361
;
1496 ((void (*)(val
*, val
*))(var_354
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_354
, var361
) /* add on <var_354:Array[Object]>*/;
1497 ((void (*)(val
*, val
*))(var_354
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_354
, var_s
) /* add on <var_354:Array[Object]>*/;
1499 var366
= varonce365
;
1503 var369
= string__NativeString__to_s_with_length(var367
, var368
);
1505 varonce365
= var366
;
1507 ((void (*)(val
*, val
*))(var_354
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_354
, var366
) /* add on <var_354:Array[Object]>*/;
1508 var370
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
1509 ((void (*)(val
*, val
*))(var_354
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_354
, var370
) /* add on <var_354:Array[Object]>*/;
1511 var372
= varonce371
;
1513 var373
= "->class->vft[";
1515 var375
= string__NativeString__to_s_with_length(var373
, var374
);
1517 varonce371
= var372
;
1519 ((void (*)(val
*, val
*))(var_354
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_354
, var372
) /* add on <var_354:Array[Object]>*/;
1520 ((void (*)(val
*, val
*))(var_354
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_354
, var_const_color
) /* add on <var_354:Array[Object]>*/;
1522 var377
= varonce376
;
1526 var380
= string__NativeString__to_s_with_length(var378
, var379
);
1528 varonce376
= var377
;
1530 ((void (*)(val
*, val
*))(var_354
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_354
, var377
) /* add on <var_354:Array[Object]>*/;
1531 ((void (*)(val
*, val
*))(var_354
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_354
, var_ss
) /* add on <var_354:Array[Object]>*/;
1533 var382
= varonce381
;
1537 var385
= string__NativeString__to_s_with_length(var383
, var384
);
1539 varonce381
= var382
;
1541 ((void (*)(val
*, val
*))(var_354
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_354
, var382
) /* add on <var_354:Array[Object]>*/;
1542 ((void (*)(val
*, val
*))(var_354
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_354
, var_mmethod
) /* add on <var_354:Array[Object]>*/;
1544 var387
= varonce386
;
1548 var390
= string__NativeString__to_s_with_length(var388
, var389
);
1550 varonce386
= var387
;
1552 ((void (*)(val
*, val
*))(var_354
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_354
, var387
) /* add on <var_354:Array[Object]>*/;
1553 var391
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
1554 var392
= ((val
* (*)(val
*))(var391
->class->vft
[COLOR_string__Object__inspect
]))(var391
) /* inspect on <var391:nullable Object(RuntimeVariable)>*/;
1555 ((void (*)(val
*, val
*))(var_354
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_354
, var392
) /* add on <var_354:Array[Object]>*/;
1557 var394
= varonce393
;
1561 var397
= string__NativeString__to_s_with_length(var395
, var396
);
1563 varonce393
= var394
;
1565 ((void (*)(val
*, val
*))(var_354
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_354
, var394
) /* add on <var_354:Array[Object]>*/;
1566 var398
= ((val
* (*)(val
*))(var_354
->class->vft
[COLOR_string__Object__to_s
]))(var_354
) /* to_s on <var_354:Array[Object]>*/;
1569 if (var_res
== NULL
) {
1570 var400
= 0; /* is null */
1572 var400
= 1; /* arg is null and recv is not */
1576 var402
= varonce401
;
1580 var405
= string__NativeString__to_s_with_length(var403
, var404
);
1582 varonce401
= var402
;
1585 var407
= varonce406
;
1589 var410
= string__NativeString__to_s_with_length(var408
, var409
);
1591 varonce406
= var407
;
1593 var411
= NEW_array__Array(&type_array__Arraykernel__Object
);
1594 { /* var411 = array_instance Array[Object] */
1596 var413
= NEW_array__NativeArray(var412
, &type_array__NativeArraykernel__Object
);
1597 ((struct instance_array__NativeArray
*)var413
)->values
[0] = (val
*) var_res
;
1598 ((struct instance_array__NativeArray
*)var413
)->values
[1] = (val
*) var402
;
1599 ((struct instance_array__NativeArray
*)var413
)->values
[2] = (val
*) var_call
;
1600 ((struct instance_array__NativeArray
*)var413
)->values
[3] = (val
*) var407
;
1601 ((void (*)(val
*, val
*, long))(var411
->class->vft
[COLOR_array__Array__with_native
]))(var411
, var413
, var412
) /* with_native on <var411:Array[Object]>*/;
1603 var414
= ((val
* (*)(val
*))(var411
->class->vft
[COLOR_string__Object__to_s
]))(var411
) /* to_s on <var411:Array[Object]>*/;
1604 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var414
) /* add on <self:SeparateCompilerVisitor>*/;
1607 var416
= varonce415
;
1611 var419
= string__NativeString__to_s_with_length(var417
, var418
);
1613 varonce415
= var416
;
1615 var420
= NEW_array__Array(&type_array__Arraykernel__Object
);
1616 { /* var420 = array_instance Array[Object] */
1618 var422
= NEW_array__NativeArray(var421
, &type_array__NativeArraykernel__Object
);
1619 ((struct instance_array__NativeArray
*)var422
)->values
[0] = (val
*) var_call
;
1620 ((struct instance_array__NativeArray
*)var422
)->values
[1] = (val
*) var416
;
1621 ((void (*)(val
*, val
*, long))(var420
->class->vft
[COLOR_array__Array__with_native
]))(var420
, var422
, var421
) /* with_native on <var420:Array[Object]>*/;
1623 var423
= ((val
* (*)(val
*))(var420
->class->vft
[COLOR_string__Object__to_s
]))(var420
) /* to_s on <var420:Array[Object]>*/;
1624 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var423
) /* add on <self:SeparateCompilerVisitor>*/;
1628 var425
= varonce424
;
1632 var428
= string__NativeString__to_s_with_length(var426
, var427
);
1634 varonce424
= var425
;
1636 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var425
) /* add on <self:SeparateCompilerVisitor>*/;
1644 /* method separate_compiler#SeparateCompilerVisitor#table_send for (self: Object, MMethod, Array[RuntimeVariable], String): nullable RuntimeVariable */
1645 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__table_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1646 val
* var
/* : nullable RuntimeVariable */;
1647 val
* var1
/* : nullable RuntimeVariable */;
1648 var1
= separate_compiler__SeparateCompilerVisitor__table_send(self
, p0
, p1
, p2
);
1653 /* method separate_compiler#SeparateCompilerVisitor#call for (self: SeparateCompilerVisitor, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
1654 val
* separate_compiler__SeparateCompilerVisitor__call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1655 val
* var
/* : nullable RuntimeVariable */;
1656 val
* var_mmethoddef
/* var mmethoddef: MMethodDef */;
1657 val
* var_recvtype
/* var recvtype: MClassType */;
1658 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
1659 long var1
/* : Int */;
1660 val
* var2
/* : nullable MSignature */;
1661 long var3
/* : Int */;
1662 long var4
/* : Int */;
1663 long var5
/* : Int */;
1664 long var7
/* : Int */;
1665 short int var8
/* : Bool */;
1666 short int var10
/* : Bool */;
1667 static val
* varonce
;
1668 val
* var11
/* : String */;
1669 char* var12
/* : NativeString */;
1670 long var13
/* : Int */;
1671 val
* var14
/* : String */;
1672 static val
* varonce15
;
1673 val
* var16
/* : String */;
1674 char* var17
/* : NativeString */;
1675 long var18
/* : Int */;
1676 val
* var19
/* : String */;
1677 long var20
/* : Int */;
1678 static val
* varonce21
;
1679 val
* var22
/* : String */;
1680 char* var23
/* : NativeString */;
1681 long var24
/* : Int */;
1682 val
* var25
/* : String */;
1683 val
* var26
/* : Array[Object] */;
1684 long var27
/* : Int */;
1685 val
* var28
/* : NativeArray[Object] */;
1686 val
* var29
/* : Object */;
1687 val
* var30
/* : String */;
1688 val
* var31
/* : nullable MSignature */;
1689 val
* var32
/* : nullable MType */;
1690 val
* var_ret
/* var ret: nullable MType */;
1691 val
* var33
/* : MProperty */;
1692 short int var34
/* : Bool */;
1693 val
* var35
/* : nullable Object */;
1694 val
* var36
/* : MType */;
1695 val
* var37
/* : RuntimeVariable */;
1696 val
* var_res
/* var res: nullable RuntimeVariable */;
1697 val
* var38
/* : null */;
1698 short int var39
/* : Bool */;
1699 val
* var40
/* : null */;
1700 val
* var41
/* : MClassDef */;
1701 val
* var42
/* : MClassType */;
1702 val
* var43
/* : MClassDef */;
1703 val
* var44
/* : MClassType */;
1704 val
* var45
/* : MClassDef */;
1705 val
* var46
/* : MModule */;
1706 short int var47
/* : Bool */;
1707 val
* var48
/* : MType */;
1708 val
* var49
/* : RuntimeVariable */;
1709 short int var50
/* : Bool */;
1710 short int var51
/* : Bool */;
1711 val
* var52
/* : AbstractCompiler */;
1712 val
* var53
/* : ModelBuilder */;
1713 val
* var54
/* : HashMap[MPropDef, APropdef] */;
1714 short int var55
/* : Bool */;
1715 short int var_
/* var : Bool */;
1716 val
* var56
/* : AbstractCompiler */;
1717 val
* var57
/* : ModelBuilder */;
1718 val
* var58
/* : HashMap[MPropDef, APropdef] */;
1719 val
* var59
/* : nullable Object */;
1720 short int var60
/* : Bool */;
1723 short int var_61
/* var : Bool */;
1724 val
* var62
/* : AbstractCompiler */;
1725 val
* var63
/* : ModelBuilder */;
1726 val
* var64
/* : ToolContext */;
1727 val
* var65
/* : OptionBool */;
1728 val
* var66
/* : nullable Object */;
1729 short int var67
/* : Bool */;
1730 short int var68
/* : Bool */;
1731 val
* var69
/* : Frame */;
1732 val
* var_frame
/* var frame: Frame */;
1733 static val
* varonce70
;
1734 val
* var71
/* : String */;
1735 char* var72
/* : NativeString */;
1736 long var73
/* : Int */;
1737 val
* var74
/* : String */;
1738 val
* var75
/* : String */;
1739 val
* var76
/* : nullable Frame */;
1740 val
* var_old_frame
/* var old_frame: nullable Frame */;
1741 static val
* varonce77
;
1742 val
* var78
/* : String */;
1743 char* var79
/* : NativeString */;
1744 long var80
/* : Int */;
1745 val
* var81
/* : String */;
1746 static val
* varonce82
;
1747 val
* var83
/* : String */;
1748 char* var84
/* : NativeString */;
1749 long var85
/* : Int */;
1750 val
* var86
/* : String */;
1751 static val
* varonce87
;
1752 val
* var88
/* : String */;
1753 char* var89
/* : NativeString */;
1754 long var90
/* : Int */;
1755 val
* var91
/* : String */;
1756 val
* var92
/* : String */;
1757 static val
* varonce93
;
1758 val
* var94
/* : String */;
1759 char* var95
/* : NativeString */;
1760 long var96
/* : Int */;
1761 val
* var97
/* : String */;
1762 val
* var98
/* : Array[Object] */;
1763 long var99
/* : Int */;
1764 val
* var100
/* : NativeArray[Object] */;
1765 val
* var101
/* : String */;
1766 val
* var102
/* : nullable RuntimeVariable */;
1767 val
* var103
/* : nullable String */;
1768 static val
* varonce104
;
1769 val
* var105
/* : String */;
1770 char* var106
/* : NativeString */;
1771 long var107
/* : Int */;
1772 val
* var108
/* : String */;
1773 val
* var109
/* : Array[Object] */;
1774 long var110
/* : Int */;
1775 val
* var111
/* : NativeArray[Object] */;
1776 val
* var112
/* : String */;
1777 static val
* varonce113
;
1778 val
* var114
/* : String */;
1779 char* var115
/* : NativeString */;
1780 long var116
/* : Int */;
1781 val
* var117
/* : String */;
1782 val
* var118
/* : String */;
1783 val
* var119
/* : null */;
1784 short int var120
/* : Bool */;
1785 val
* var121
/* : String */;
1786 static val
* varonce122
;
1787 val
* var123
/* : String */;
1788 char* var124
/* : NativeString */;
1789 long var125
/* : Int */;
1790 val
* var126
/* : String */;
1791 static val
* varonce127
;
1792 val
* var128
/* : String */;
1793 char* var129
/* : NativeString */;
1794 long var130
/* : Int */;
1795 val
* var131
/* : String */;
1796 val
* var132
/* : String */;
1797 static val
* varonce133
;
1798 val
* var134
/* : String */;
1799 char* var135
/* : NativeString */;
1800 long var136
/* : Int */;
1801 val
* var137
/* : String */;
1802 val
* var138
/* : Array[Object] */;
1803 long var139
/* : Int */;
1804 val
* var140
/* : NativeArray[Object] */;
1805 val
* var141
/* : String */;
1806 val
* var142
/* : null */;
1807 static val
* varonce143
;
1808 val
* var144
/* : String */;
1809 char* var145
/* : NativeString */;
1810 long var146
/* : Int */;
1811 val
* var147
/* : String */;
1812 val
* var148
/* : String */;
1813 static val
* varonce149
;
1814 val
* var150
/* : String */;
1815 char* var151
/* : NativeString */;
1816 long var152
/* : Int */;
1817 val
* var153
/* : String */;
1818 static val
* varonce154
;
1819 val
* var155
/* : String */;
1820 char* var156
/* : NativeString */;
1821 long var157
/* : Int */;
1822 val
* var158
/* : String */;
1823 val
* var159
/* : String */;
1824 static val
* varonce160
;
1825 val
* var161
/* : String */;
1826 char* var162
/* : NativeString */;
1827 long var163
/* : Int */;
1828 val
* var164
/* : String */;
1829 val
* var165
/* : Array[Object] */;
1830 long var166
/* : Int */;
1831 val
* var167
/* : NativeArray[Object] */;
1832 val
* var168
/* : String */;
1833 var_mmethoddef
= p0
;
1836 var1
= ((long (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_arguments
) /* length on <var_arguments:Array[RuntimeVariable]>*/;
1837 var2
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var_mmethoddef
) /* msignature on <var_mmethoddef:MMethodDef>*/;
1839 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1840 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1108);
1843 var3
= ((long (*)(val
*))(var2
->class->vft
[COLOR_model__MSignature__arity
]))(var2
) /* arity on <var2:nullable MSignature>*/;
1846 { /* Inline kernel#Int#+ (var3,var4) */
1852 { /* Inline kernel#Int#== (var1,var5) */
1853 var10
= var1
== var5
;
1862 var12
= "Invalid arity for ";
1864 var14
= string__NativeString__to_s_with_length(var12
, var13
);
1873 var19
= string__NativeString__to_s_with_length(var17
, var18
);
1877 var20
= ((long (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_arguments
) /* length on <var_arguments:Array[RuntimeVariable]>*/;
1881 var23
= " arguments given.";
1883 var25
= string__NativeString__to_s_with_length(var23
, var24
);
1887 var26
= NEW_array__Array(&type_array__Arraykernel__Object
);
1888 { /* var26 = array_instance Array[Object] */
1890 var28
= NEW_array__NativeArray(var27
, &type_array__NativeArraykernel__Object
);
1891 ((struct instance_array__NativeArray
*)var28
)->values
[0] = (val
*) var11
;
1892 ((struct instance_array__NativeArray
*)var28
)->values
[1] = (val
*) var_mmethoddef
;
1893 ((struct instance_array__NativeArray
*)var28
)->values
[2] = (val
*) var16
;
1894 var29
= BOX_kernel__Int(var20
); /* autobox from Int to Object */
1895 ((struct instance_array__NativeArray
*)var28
)->values
[3] = (val
*) var29
;
1896 ((struct instance_array__NativeArray
*)var28
)->values
[4] = (val
*) var22
;
1897 ((void (*)(val
*, val
*, long))(var26
->class->vft
[COLOR_array__Array__with_native
]))(var26
, var28
, var27
) /* with_native on <var26:Array[Object]>*/;
1899 var30
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_string__Object__to_s
]))(var26
) /* to_s on <var26:Array[Object]>*/;
1900 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__debug
]))(self
, var30
) /* debug on <self:SeparateCompilerVisitor>*/;
1901 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1902 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1108);
1905 var31
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var_mmethoddef
) /* msignature on <var_mmethoddef:MMethodDef>*/;
1906 if (var31
== NULL
) {
1907 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1908 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1111);
1911 var32
= ((val
* (*)(val
*))(var31
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var31
) /* return_mtype on <var31:nullable MSignature>*/;
1914 var33
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mmethoddef
) /* mproperty on <var_mmethoddef:MMethodDef>*/;
1915 var34
= ((short int (*)(val
*))(var33
->class->vft
[COLOR_model__MMethod__is_new
]))(var33
) /* is_new on <var33:MProperty(MMethod)>*/;
1917 var35
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
1918 var36
= ((val
* (*)(val
*))(var35
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var35
) /* mtype on <var35:nullable Object(RuntimeVariable)>*/;
1920 var37
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_ret
) /* new_var on <self:SeparateCompilerVisitor>*/;
1924 if (var_ret
== NULL
) {
1925 var39
= 1; /* is null */
1927 var39
= 0; /* arg is null but recv is not */
1933 var41
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
1934 var42
= ((val
* (*)(val
*))(var41
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var41
) /* bound_mtype on <var41:MClassDef>*/;
1935 var43
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
1936 var44
= ((val
* (*)(val
*))(var43
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var43
) /* bound_mtype on <var43:MClassDef>*/;
1937 var45
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
1938 var46
= ((val
* (*)(val
*))(var45
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var45
) /* mmodule on <var45:MClassDef>*/;
1940 var48
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_ret
->class->vft
[COLOR_model__MType__resolve_for
]))(var_ret
, var42
, var44
, var46
, var47
) /* resolve_for on <var_ret:nullable MType(MType)>*/;
1942 var49
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_ret
) /* new_var on <self:SeparateCompilerVisitor>*/;
1946 var52
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
1947 var53
= ((val
* (*)(val
*))(var52
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var52
) /* modelbuilder on <var52:AbstractCompiler(SeparateCompiler)>*/;
1948 var54
= ((val
* (*)(val
*))(var53
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var53
) /* mpropdef2npropdef on <var53:ModelBuilder>*/;
1949 var55
= ((short int (*)(val
*, val
*))(var54
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var54
, var_mmethoddef
) /* has_key on <var54:HashMap[MPropDef, APropdef]>*/;
1952 var56
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
1953 var57
= ((val
* (*)(val
*))(var56
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var56
) /* modelbuilder on <var56:AbstractCompiler(SeparateCompiler)>*/;
1954 var58
= ((val
* (*)(val
*))(var57
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var57
) /* mpropdef2npropdef on <var57:ModelBuilder>*/;
1955 var59
= ((val
* (*)(val
*, val
*))(var58
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var58
, var_mmethoddef
) /* [] on <var58:HashMap[MPropDef, APropdef]>*/;
1956 /* <var59:nullable Object(APropdef)> isa AInternMethPropdef */
1957 cltype
= type_parser_nodes__AInternMethPropdef
.color
;
1958 idtype
= type_parser_nodes__AInternMethPropdef
.id
;
1959 if(cltype
>= var59
->type
->table_size
) {
1962 var60
= var59
->type
->type_table
[cltype
] == idtype
;
1970 var62
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
1971 var63
= ((val
* (*)(val
*))(var62
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var62
) /* modelbuilder on <var62:AbstractCompiler(SeparateCompiler)>*/;
1972 var64
= ((val
* (*)(val
*))(var63
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var63
) /* toolcontext on <var63:ModelBuilder>*/;
1973 var65
= ((val
* (*)(val
*))(var64
->class->vft
[COLOR_separate_compiler__ToolContext__opt_no_inline_intern
]))(var64
) /* opt_no_inline_intern on <var64:ToolContext>*/;
1974 var66
= ((val
* (*)(val
*))(var65
->class->vft
[COLOR_opts__Option__value
]))(var65
) /* value on <var65:OptionBool>*/;
1975 var67
= ((struct instance_kernel__Bool
*)var66
)->value
; /* autounbox from nullable Object to Bool */;
1982 var69
= NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame
);
1983 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var69
->class->vft
[COLOR_abstract_compiler__Frame__init
]))(var69
, self
, var_mmethoddef
, var_recvtype
, var_arguments
) /* init on <var69:Frame>*/;
1988 var72
= "RET_LABEL";
1990 var74
= string__NativeString__to_s_with_length(var72
, var73
);
1994 var75
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var71
) /* get_name on <self:SeparateCompilerVisitor>*/;
1995 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel_61d
]))(var_frame
, var75
) /* returnlabel= on <var_frame:Frame>*/;
1996 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar_61d
]))(var_frame
, var_res
) /* returnvar= on <var_frame:Frame>*/;
1997 var76
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
1998 var_old_frame
= var76
;
1999 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(self
, var_frame
) /* frame= on <self:SeparateCompilerVisitor>*/;
2003 var79
= "{ /* Inline ";
2005 var81
= string__NativeString__to_s_with_length(var79
, var80
);
2014 var86
= string__NativeString__to_s_with_length(var84
, var85
);
2023 var91
= string__NativeString__to_s_with_length(var89
, var90
);
2027 var92
= ((val
* (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_string__Collection__join
]))(var_arguments
, var88
) /* join on <var_arguments:Array[RuntimeVariable]>*/;
2033 var97
= string__NativeString__to_s_with_length(var95
, var96
);
2037 var98
= NEW_array__Array(&type_array__Arraykernel__Object
);
2038 { /* var98 = array_instance Array[Object] */
2040 var100
= NEW_array__NativeArray(var99
, &type_array__NativeArraykernel__Object
);
2041 ((struct instance_array__NativeArray
*)var100
)->values
[0] = (val
*) var78
;
2042 ((struct instance_array__NativeArray
*)var100
)->values
[1] = (val
*) var_mmethoddef
;
2043 ((struct instance_array__NativeArray
*)var100
)->values
[2] = (val
*) var83
;
2044 ((struct instance_array__NativeArray
*)var100
)->values
[3] = (val
*) var92
;
2045 ((struct instance_array__NativeArray
*)var100
)->values
[4] = (val
*) var94
;
2046 ((void (*)(val
*, val
*, long))(var98
->class->vft
[COLOR_array__Array__with_native
]))(var98
, var100
, var99
) /* with_native on <var98:Array[Object]>*/;
2048 var101
= ((val
* (*)(val
*))(var98
->class->vft
[COLOR_string__Object__to_s
]))(var98
) /* to_s on <var98:Array[Object]>*/;
2049 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var101
) /* add on <self:SeparateCompilerVisitor>*/;
2050 var102
= ((val
* (*)(val
*, val
*, val
*))(var_mmethoddef
->class->vft
[COLOR_abstract_compiler__MMethodDef__compile_inside_to_c
]))(var_mmethoddef
, self
, var_arguments
) /* compile_inside_to_c on <var_mmethoddef:MMethodDef>*/;
2052 var103
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel
]))(var_frame
) /* returnlabel on <var_frame:Frame>*/;
2053 if (var103
== NULL
) {
2054 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2055 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1132);
2059 var105
= varonce104
;
2061 var106
= ":(void)0;";
2063 var108
= string__NativeString__to_s_with_length(var106
, var107
);
2065 varonce104
= var105
;
2067 var109
= NEW_array__Array(&type_array__Arraykernel__Object
);
2068 { /* var109 = array_instance Array[Object] */
2070 var111
= NEW_array__NativeArray(var110
, &type_array__NativeArraykernel__Object
);
2071 ((struct instance_array__NativeArray
*)var111
)->values
[0] = (val
*) var103
;
2072 ((struct instance_array__NativeArray
*)var111
)->values
[1] = (val
*) var105
;
2073 ((void (*)(val
*, val
*, long))(var109
->class->vft
[COLOR_array__Array__with_native
]))(var109
, var111
, var110
) /* with_native on <var109:Array[Object]>*/;
2075 var112
= ((val
* (*)(val
*))(var109
->class->vft
[COLOR_string__Object__to_s
]))(var109
) /* to_s on <var109:Array[Object]>*/;
2076 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var112
) /* add on <self:SeparateCompilerVisitor>*/;
2078 var114
= varonce113
;
2082 var117
= string__NativeString__to_s_with_length(var115
, var116
);
2084 varonce113
= var114
;
2086 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var114
) /* add on <self:SeparateCompilerVisitor>*/;
2087 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(self
, var_old_frame
) /* frame= on <self:SeparateCompilerVisitor>*/;
2092 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__adapt_signature
]))(self
, var_mmethoddef
, var_arguments
) /* adapt_signature on <self:SeparateCompilerVisitor>*/;
2093 var118
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name
]))(var_mmethoddef
) /* c_name on <var_mmethoddef:MMethodDef>*/;
2094 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var118
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
2096 if (var_res
== NULL
) {
2097 var120
= 1; /* is null */
2099 var120
= 0; /* arg is null but recv is not */
2102 var121
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name
]))(var_mmethoddef
) /* c_name on <var_mmethoddef:MMethodDef>*/;
2104 var123
= varonce122
;
2108 var126
= string__NativeString__to_s_with_length(var124
, var125
);
2110 varonce122
= var123
;
2113 var128
= varonce127
;
2117 var131
= string__NativeString__to_s_with_length(var129
, var130
);
2119 varonce127
= var128
;
2121 var132
= ((val
* (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_string__Collection__join
]))(var_arguments
, var128
) /* join on <var_arguments:Array[RuntimeVariable]>*/;
2123 var134
= varonce133
;
2127 var137
= string__NativeString__to_s_with_length(var135
, var136
);
2129 varonce133
= var134
;
2131 var138
= NEW_array__Array(&type_array__Arraykernel__Object
);
2132 { /* var138 = array_instance Array[Object] */
2134 var140
= NEW_array__NativeArray(var139
, &type_array__NativeArraykernel__Object
);
2135 ((struct instance_array__NativeArray
*)var140
)->values
[0] = (val
*) var121
;
2136 ((struct instance_array__NativeArray
*)var140
)->values
[1] = (val
*) var123
;
2137 ((struct instance_array__NativeArray
*)var140
)->values
[2] = (val
*) var132
;
2138 ((struct instance_array__NativeArray
*)var140
)->values
[3] = (val
*) var134
;
2139 ((void (*)(val
*, val
*, long))(var138
->class->vft
[COLOR_array__Array__with_native
]))(var138
, var140
, var139
) /* with_native on <var138:Array[Object]>*/;
2141 var141
= ((val
* (*)(val
*))(var138
->class->vft
[COLOR_string__Object__to_s
]))(var138
) /* to_s on <var138:Array[Object]>*/;
2142 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var141
) /* add on <self:SeparateCompilerVisitor>*/;
2148 var144
= varonce143
;
2152 var147
= string__NativeString__to_s_with_length(var145
, var146
);
2154 varonce143
= var144
;
2156 var148
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name
]))(var_mmethoddef
) /* c_name on <var_mmethoddef:MMethodDef>*/;
2158 var150
= varonce149
;
2162 var153
= string__NativeString__to_s_with_length(var151
, var152
);
2164 varonce149
= var150
;
2167 var155
= varonce154
;
2171 var158
= string__NativeString__to_s_with_length(var156
, var157
);
2173 varonce154
= var155
;
2175 var159
= ((val
* (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_string__Collection__join
]))(var_arguments
, var155
) /* join on <var_arguments:Array[RuntimeVariable]>*/;
2177 var161
= varonce160
;
2181 var164
= string__NativeString__to_s_with_length(var162
, var163
);
2183 varonce160
= var161
;
2185 var165
= NEW_array__Array(&type_array__Arraykernel__Object
);
2186 { /* var165 = array_instance Array[Object] */
2188 var167
= NEW_array__NativeArray(var166
, &type_array__NativeArraykernel__Object
);
2189 ((struct instance_array__NativeArray
*)var167
)->values
[0] = (val
*) var_res
;
2190 ((struct instance_array__NativeArray
*)var167
)->values
[1] = (val
*) var144
;
2191 ((struct instance_array__NativeArray
*)var167
)->values
[2] = (val
*) var148
;
2192 ((struct instance_array__NativeArray
*)var167
)->values
[3] = (val
*) var150
;
2193 ((struct instance_array__NativeArray
*)var167
)->values
[4] = (val
*) var159
;
2194 ((struct instance_array__NativeArray
*)var167
)->values
[5] = (val
*) var161
;
2195 ((void (*)(val
*, val
*, long))(var165
->class->vft
[COLOR_array__Array__with_native
]))(var165
, var167
, var166
) /* with_native on <var165:Array[Object]>*/;
2197 var168
= ((val
* (*)(val
*))(var165
->class->vft
[COLOR_string__Object__to_s
]))(var165
) /* to_s on <var165:Array[Object]>*/;
2198 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var168
) /* add on <self:SeparateCompilerVisitor>*/;
2205 /* method separate_compiler#SeparateCompilerVisitor#call for (self: Object, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
2206 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2207 val
* var
/* : nullable RuntimeVariable */;
2208 val
* var1
/* : nullable RuntimeVariable */;
2209 var1
= separate_compiler__SeparateCompilerVisitor__call(self
, p0
, p1
, p2
);
2214 /* method separate_compiler#SeparateCompilerVisitor#supercall for (self: SeparateCompilerVisitor, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
2215 val
* separate_compiler__SeparateCompilerVisitor__supercall(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2216 val
* var
/* : nullable RuntimeVariable */;
2217 val
* var_m
/* var m: MMethodDef */;
2218 val
* var_recvtype
/* var recvtype: MClassType */;
2219 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
2220 val
* var1
/* : nullable Object */;
2221 val
* var2
/* : MType */;
2222 val
* var3
/* : String */;
2223 static val
* varonce
;
2224 val
* var4
/* : String */;
2225 char* var5
/* : NativeString */;
2226 long var6
/* : Int */;
2227 val
* var7
/* : String */;
2228 short int var8
/* : Bool */;
2229 val
* var9
/* : AbstractCompiler */;
2230 val
* var10
/* : MModule */;
2231 val
* var_main
/* var main: MModule */;
2232 val
* var11
/* : AbstractCompiler */;
2233 val
* var12
/* : AbstractCompiler */;
2234 val
* var13
/* : MModule */;
2235 val
* var14
/* : nullable RuntimeVariable */;
2236 val
* var_res
/* var res: nullable RuntimeVariable */;
2237 val
* var15
/* : AbstractCompiler */;
2238 val
* var16
/* : MProperty */;
2239 val
* var17
/* : String */;
2240 val
* var18
/* : nullable RuntimeVariable */;
2244 var1
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
2245 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var1
) /* mcasttype on <var1:nullable Object(RuntimeVariable)>*/;
2246 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var2
) /* ctype on <var2:MType>*/;
2252 var7
= string__NativeString__to_s_with_length(var5
, var6
);
2256 var8
= ((short int (*)(val
*, val
*))(var3
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var3
, var4
) /* != on <var3:String>*/;
2258 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
2259 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var9
) /* mainmodule on <var9:AbstractCompiler(SeparateCompiler)>*/;
2261 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
2262 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
2263 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__realmainmodule
]))(var12
) /* realmainmodule on <var12:AbstractCompiler(SeparateCompiler)>*/;
2264 ((void (*)(val
*, val
*))(var11
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule_61d
]))(var11
, var13
) /* mainmodule= on <var11:AbstractCompiler(SeparateCompiler)>*/;
2265 var14
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__monomorphic_super_send
]))(self
, var_m
, var_recvtype
, var_arguments
) /* monomorphic_super_send on <self:SeparateCompilerVisitor>*/;
2267 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
2268 ((void (*)(val
*, val
*))(var15
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule_61d
]))(var15
, var_main
) /* mainmodule= on <var15:AbstractCompiler(SeparateCompiler)>*/;
2273 var16
= ((val
* (*)(val
*))(var_m
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_m
) /* mproperty on <var_m:MMethodDef>*/;
2274 var17
= ((val
* (*)(val
*))(var_m
->class->vft
[COLOR_separate_compiler__MPropDef__const_color
]))(var_m
) /* const_color on <var_m:MMethodDef>*/;
2275 var18
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__table_send
]))(self
, var16
, var_arguments
, var17
) /* table_send on <self:SeparateCompilerVisitor>*/;
2281 /* method separate_compiler#SeparateCompilerVisitor#supercall for (self: Object, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
2282 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__supercall(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2283 val
* var
/* : nullable RuntimeVariable */;
2284 val
* var1
/* : nullable RuntimeVariable */;
2285 var1
= separate_compiler__SeparateCompilerVisitor__supercall(self
, p0
, p1
, p2
);
2290 /* method separate_compiler#SeparateCompilerVisitor#vararg_instance for (self: SeparateCompilerVisitor, MPropDef, RuntimeVariable, Array[RuntimeVariable], MType): RuntimeVariable */
2291 val
* separate_compiler__SeparateCompilerVisitor__vararg_instance(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
2292 val
* var
/* : RuntimeVariable */;
2293 val
* var_mpropdef
/* var mpropdef: MPropDef */;
2294 val
* var_recv
/* var recv: RuntimeVariable */;
2295 val
* var_varargs
/* var varargs: Array[RuntimeVariable] */;
2296 val
* var_elttype
/* var elttype: MType */;
2297 val
* var1
/* : nullable Frame */;
2298 val
* var_old_frame
/* var old_frame: nullable Frame */;
2299 val
* var2
/* : Frame */;
2300 val
* var3
/* : MClassDef */;
2301 val
* var4
/* : MClassType */;
2302 val
* var5
/* : Array[RuntimeVariable] */;
2303 long var6
/* : Int */;
2304 val
* var_
/* var : Array[RuntimeVariable] */;
2305 val
* var_frame
/* var frame: Frame */;
2306 val
* var7
/* : RuntimeVariable */;
2307 val
* var_res
/* var res: RuntimeVariable */;
2312 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
2313 var_old_frame
= var1
;
2314 var2
= NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame
);
2315 var3
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mpropdef
) /* mclassdef on <var_mpropdef:MPropDef>*/;
2316 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var3
) /* bound_mtype on <var3:MClassDef>*/;
2317 var5
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
2319 ((void (*)(val
*, long))(var5
->class->vft
[COLOR_array__Array__with_capacity
]))(var5
, var6
) /* with_capacity on <var5:Array[RuntimeVariable]>*/;
2321 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_
, var_recv
) /* push on <var_:Array[RuntimeVariable]>*/;
2322 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var2
->class->vft
[COLOR_abstract_compiler__Frame__init
]))(var2
, self
, var_mpropdef
, var4
, var_
) /* init on <var2:Frame>*/;
2324 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(self
, var_frame
) /* frame= on <self:SeparateCompilerVisitor>*/;
2325 var7
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__array_instance
]))(self
, var_varargs
, var_elttype
) /* array_instance on <self:SeparateCompilerVisitor>*/;
2327 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(self
, var_old_frame
) /* frame= on <self:SeparateCompilerVisitor>*/;
2333 /* method separate_compiler#SeparateCompilerVisitor#vararg_instance for (self: Object, MPropDef, RuntimeVariable, Array[RuntimeVariable], MType): RuntimeVariable */
2334 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__vararg_instance(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
2335 val
* var
/* : RuntimeVariable */;
2336 val
* var1
/* : RuntimeVariable */;
2337 var1
= separate_compiler__SeparateCompilerVisitor__vararg_instance(self
, p0
, p1
, p2
, p3
);
2342 /* method separate_compiler#SeparateCompilerVisitor#isset_attribute for (self: SeparateCompilerVisitor, MAttribute, RuntimeVariable): RuntimeVariable */
2343 val
* separate_compiler__SeparateCompilerVisitor__isset_attribute(val
* self
, val
* p0
, val
* p1
) {
2344 val
* var
/* : RuntimeVariable */;
2345 val
* var_a
/* var a: MAttribute */;
2346 val
* var_recv
/* var recv: RuntimeVariable */;
2347 val
* var1
/* : MClassType */;
2348 val
* var2
/* : RuntimeVariable */;
2349 val
* var_res
/* var res: RuntimeVariable */;
2350 val
* var3
/* : MPropDef */;
2351 val
* var4
/* : nullable MType */;
2352 val
* var_mtype
/* var mtype: MType */;
2353 val
* var5
/* : MPropDef */;
2354 val
* var6
/* : MClassDef */;
2355 val
* var_intromclassdef
/* var intromclassdef: MClassDef */;
2356 val
* var7
/* : MClassType */;
2357 val
* var8
/* : MClassType */;
2358 val
* var9
/* : MModule */;
2359 short int var10
/* : Bool */;
2360 val
* var11
/* : MType */;
2361 short int var12
/* : Bool */;
2364 static val
* varonce
;
2365 val
* var13
/* : String */;
2366 char* var14
/* : NativeString */;
2367 long var15
/* : Int */;
2368 val
* var16
/* : String */;
2369 static val
* varonce17
;
2370 val
* var18
/* : String */;
2371 char* var19
/* : NativeString */;
2372 long var20
/* : Int */;
2373 val
* var21
/* : String */;
2374 val
* var22
/* : String */;
2375 static val
* varonce23
;
2376 val
* var24
/* : String */;
2377 char* var25
/* : NativeString */;
2378 long var26
/* : Int */;
2379 val
* var27
/* : String */;
2380 val
* var28
/* : Array[Object] */;
2381 long var29
/* : Int */;
2382 val
* var30
/* : NativeArray[Object] */;
2383 val
* var31
/* : String */;
2384 val
* var32
/* : String */;
2385 val
* var33
/* : AbstractCompiler */;
2386 val
* var34
/* : ModelBuilder */;
2387 val
* var35
/* : ToolContext */;
2388 val
* var36
/* : OptionBool */;
2389 val
* var37
/* : nullable Object */;
2390 short int var38
/* : Bool */;
2391 static val
* varonce39
;
2392 val
* var40
/* : String */;
2393 char* var41
/* : NativeString */;
2394 long var42
/* : Int */;
2395 val
* var43
/* : String */;
2396 static val
* varonce44
;
2397 val
* var45
/* : String */;
2398 char* var46
/* : NativeString */;
2399 long var47
/* : Int */;
2400 val
* var48
/* : String */;
2401 val
* var49
/* : String */;
2402 static val
* varonce50
;
2403 val
* var51
/* : String */;
2404 char* var52
/* : NativeString */;
2405 long var53
/* : Int */;
2406 val
* var54
/* : String */;
2407 static val
* varonce55
;
2408 val
* var56
/* : String */;
2409 char* var57
/* : NativeString */;
2410 long var58
/* : Int */;
2411 val
* var59
/* : String */;
2412 val
* var60
/* : String */;
2413 static val
* varonce61
;
2414 val
* var62
/* : String */;
2415 char* var63
/* : NativeString */;
2416 long var64
/* : Int */;
2417 val
* var65
/* : String */;
2418 val
* var66
/* : Array[Object] */;
2419 long var67
/* : Int */;
2420 val
* var68
/* : NativeArray[Object] */;
2421 val
* var69
/* : String */;
2422 val
* var70
/* : String */;
2423 static val
* varonce71
;
2424 val
* var72
/* : String */;
2425 char* var73
/* : NativeString */;
2426 long var74
/* : Int */;
2427 val
* var75
/* : String */;
2428 short int var76
/* : Bool */;
2429 static val
* varonce77
;
2430 val
* var78
/* : String */;
2431 char* var79
/* : NativeString */;
2432 long var80
/* : Int */;
2433 val
* var81
/* : String */;
2434 static val
* varonce82
;
2435 val
* var83
/* : String */;
2436 char* var84
/* : NativeString */;
2437 long var85
/* : Int */;
2438 val
* var86
/* : String */;
2439 val
* var87
/* : String */;
2440 static val
* varonce88
;
2441 val
* var89
/* : String */;
2442 char* var90
/* : NativeString */;
2443 long var91
/* : Int */;
2444 val
* var92
/* : String */;
2445 static val
* varonce93
;
2446 val
* var94
/* : String */;
2447 char* var95
/* : NativeString */;
2448 long var96
/* : Int */;
2449 val
* var97
/* : String */;
2450 val
* var98
/* : String */;
2451 static val
* varonce99
;
2452 val
* var100
/* : String */;
2453 char* var101
/* : NativeString */;
2454 long var102
/* : Int */;
2455 val
* var103
/* : String */;
2456 val
* var104
/* : Array[Object] */;
2457 long var105
/* : Int */;
2458 val
* var106
/* : NativeArray[Object] */;
2459 val
* var107
/* : String */;
2460 static val
* varonce108
;
2461 val
* var109
/* : String */;
2462 char* var110
/* : NativeString */;
2463 long var111
/* : Int */;
2464 val
* var112
/* : String */;
2465 static val
* varonce113
;
2466 val
* var114
/* : String */;
2467 char* var115
/* : NativeString */;
2468 long var116
/* : Int */;
2469 val
* var117
/* : String */;
2470 val
* var118
/* : String */;
2471 static val
* varonce119
;
2472 val
* var120
/* : String */;
2473 char* var121
/* : NativeString */;
2474 long var122
/* : Int */;
2475 val
* var123
/* : String */;
2476 val
* var124
/* : Array[Object] */;
2477 long var125
/* : Int */;
2478 val
* var126
/* : NativeArray[Object] */;
2479 val
* var127
/* : String */;
2482 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__check_recv_notnull
]))(self
, var_recv
) /* check_recv_notnull on <self:SeparateCompilerVisitor>*/;
2483 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__bool_type
]))(self
) /* bool_type on <self:SeparateCompilerVisitor>*/;
2484 var2
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var1
) /* new_var on <self:SeparateCompilerVisitor>*/;
2486 var3
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__intro
]))(var_a
) /* intro on <var_a:MAttribute>*/;
2487 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MAttributeDef__static_mtype
]))(var3
) /* static_mtype on <var3:MPropDef(MAttributeDef)>*/;
2489 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2490 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1191);
2494 var5
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__intro
]))(var_a
) /* intro on <var_a:MAttribute>*/;
2495 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var5
) /* mclassdef on <var5:MPropDef(MAttributeDef)>*/;
2496 var_intromclassdef
= var6
;
2497 var7
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_intromclassdef
) /* bound_mtype on <var_intromclassdef:MClassDef>*/;
2498 var8
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_intromclassdef
) /* bound_mtype on <var_intromclassdef:MClassDef>*/;
2499 var9
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var_intromclassdef
) /* mmodule on <var_intromclassdef:MClassDef>*/;
2501 var11
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_mtype
->class->vft
[COLOR_model__MType__resolve_for
]))(var_mtype
, var7
, var8
, var9
, var10
) /* resolve_for on <var_mtype:MType>*/;
2503 /* <var_mtype:MType> isa MNullableType */
2504 cltype
= type_model__MNullableType
.color
;
2505 idtype
= type_model__MNullableType
.id
;
2506 if(cltype
>= var_mtype
->type
->table_size
) {
2509 var12
= var_mtype
->type
->type_table
[cltype
] == idtype
;
2515 var14
= " = 1; /* easy isset: ";
2517 var16
= string__NativeString__to_s_with_length(var14
, var15
);
2526 var21
= string__NativeString__to_s_with_length(var19
, var20
);
2530 var22
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
2536 var27
= string__NativeString__to_s_with_length(var25
, var26
);
2540 var28
= NEW_array__Array(&type_array__Arraykernel__Object
);
2541 { /* var28 = array_instance Array[Object] */
2543 var30
= NEW_array__NativeArray(var29
, &type_array__NativeArraykernel__Object
);
2544 ((struct instance_array__NativeArray
*)var30
)->values
[0] = (val
*) var_res
;
2545 ((struct instance_array__NativeArray
*)var30
)->values
[1] = (val
*) var13
;
2546 ((struct instance_array__NativeArray
*)var30
)->values
[2] = (val
*) var_a
;
2547 ((struct instance_array__NativeArray
*)var30
)->values
[3] = (val
*) var18
;
2548 ((struct instance_array__NativeArray
*)var30
)->values
[4] = (val
*) var22
;
2549 ((struct instance_array__NativeArray
*)var30
)->values
[5] = (val
*) var24
;
2550 ((void (*)(val
*, val
*, long))(var28
->class->vft
[COLOR_array__Array__with_native
]))(var28
, var30
, var29
) /* with_native on <var28:Array[Object]>*/;
2552 var31
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_string__Object__to_s
]))(var28
) /* to_s on <var28:Array[Object]>*/;
2553 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var31
) /* add on <self:SeparateCompilerVisitor>*/;
2558 var32
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
2559 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var32
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
2560 var33
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
2561 var34
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var33
) /* modelbuilder on <var33:AbstractCompiler(SeparateCompiler)>*/;
2562 var35
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var34
) /* toolcontext on <var34:ModelBuilder>*/;
2563 var36
= ((val
* (*)(val
*))(var35
->class->vft
[COLOR_separate_compiler__ToolContext__opt_no_union_attribute
]))(var35
) /* opt_no_union_attribute on <var35:ToolContext>*/;
2564 var37
= ((val
* (*)(val
*))(var36
->class->vft
[COLOR_opts__Option__value
]))(var36
) /* value on <var36:OptionBool>*/;
2565 var38
= ((struct instance_kernel__Bool
*)var37
)->value
; /* autounbox from nullable Object to Bool */;
2572 var43
= string__NativeString__to_s_with_length(var41
, var42
);
2581 var48
= string__NativeString__to_s_with_length(var46
, var47
);
2585 var49
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
2589 var52
= "] != NULL; /* ";
2591 var54
= string__NativeString__to_s_with_length(var52
, var53
);
2600 var59
= string__NativeString__to_s_with_length(var57
, var58
);
2604 var60
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
2610 var65
= string__NativeString__to_s_with_length(var63
, var64
);
2614 var66
= NEW_array__Array(&type_array__Arraykernel__Object
);
2615 { /* var66 = array_instance Array[Object] */
2617 var68
= NEW_array__NativeArray(var67
, &type_array__NativeArraykernel__Object
);
2618 ((struct instance_array__NativeArray
*)var68
)->values
[0] = (val
*) var_res
;
2619 ((struct instance_array__NativeArray
*)var68
)->values
[1] = (val
*) var40
;
2620 ((struct instance_array__NativeArray
*)var68
)->values
[2] = (val
*) var_recv
;
2621 ((struct instance_array__NativeArray
*)var68
)->values
[3] = (val
*) var45
;
2622 ((struct instance_array__NativeArray
*)var68
)->values
[4] = (val
*) var49
;
2623 ((struct instance_array__NativeArray
*)var68
)->values
[5] = (val
*) var51
;
2624 ((struct instance_array__NativeArray
*)var68
)->values
[6] = (val
*) var_a
;
2625 ((struct instance_array__NativeArray
*)var68
)->values
[7] = (val
*) var56
;
2626 ((struct instance_array__NativeArray
*)var68
)->values
[8] = (val
*) var60
;
2627 ((struct instance_array__NativeArray
*)var68
)->values
[9] = (val
*) var62
;
2628 ((void (*)(val
*, val
*, long))(var66
->class->vft
[COLOR_array__Array__with_native
]))(var66
, var68
, var67
) /* with_native on <var66:Array[Object]>*/;
2630 var69
= ((val
* (*)(val
*))(var66
->class->vft
[COLOR_string__Object__to_s
]))(var66
) /* to_s on <var66:Array[Object]>*/;
2631 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var69
) /* add on <self:SeparateCompilerVisitor>*/;
2633 var70
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
2639 var75
= string__NativeString__to_s_with_length(var73
, var74
);
2643 var76
= ((short int (*)(val
*, val
*))(var70
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var70
, var72
) /* == on <var70:String>*/;
2650 var81
= string__NativeString__to_s_with_length(var79
, var80
);
2659 var86
= string__NativeString__to_s_with_length(var84
, var85
);
2663 var87
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
2667 var90
= "].val != NULL; /* ";
2669 var92
= string__NativeString__to_s_with_length(var90
, var91
);
2678 var97
= string__NativeString__to_s_with_length(var95
, var96
);
2682 var98
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
2688 var103
= string__NativeString__to_s_with_length(var101
, var102
);
2692 var104
= NEW_array__Array(&type_array__Arraykernel__Object
);
2693 { /* var104 = array_instance Array[Object] */
2695 var106
= NEW_array__NativeArray(var105
, &type_array__NativeArraykernel__Object
);
2696 ((struct instance_array__NativeArray
*)var106
)->values
[0] = (val
*) var_res
;
2697 ((struct instance_array__NativeArray
*)var106
)->values
[1] = (val
*) var78
;
2698 ((struct instance_array__NativeArray
*)var106
)->values
[2] = (val
*) var_recv
;
2699 ((struct instance_array__NativeArray
*)var106
)->values
[3] = (val
*) var83
;
2700 ((struct instance_array__NativeArray
*)var106
)->values
[4] = (val
*) var87
;
2701 ((struct instance_array__NativeArray
*)var106
)->values
[5] = (val
*) var89
;
2702 ((struct instance_array__NativeArray
*)var106
)->values
[6] = (val
*) var_a
;
2703 ((struct instance_array__NativeArray
*)var106
)->values
[7] = (val
*) var94
;
2704 ((struct instance_array__NativeArray
*)var106
)->values
[8] = (val
*) var98
;
2705 ((struct instance_array__NativeArray
*)var106
)->values
[9] = (val
*) var100
;
2706 ((void (*)(val
*, val
*, long))(var104
->class->vft
[COLOR_array__Array__with_native
]))(var104
, var106
, var105
) /* with_native on <var104:Array[Object]>*/;
2708 var107
= ((val
* (*)(val
*))(var104
->class->vft
[COLOR_string__Object__to_s
]))(var104
) /* to_s on <var104:Array[Object]>*/;
2709 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var107
) /* add on <self:SeparateCompilerVisitor>*/;
2712 var109
= varonce108
;
2714 var110
= " = 1; /* NOT YET IMPLEMENTED: isset of primitives: ";
2716 var112
= string__NativeString__to_s_with_length(var110
, var111
);
2718 varonce108
= var109
;
2721 var114
= varonce113
;
2725 var117
= string__NativeString__to_s_with_length(var115
, var116
);
2727 varonce113
= var114
;
2729 var118
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
2731 var120
= varonce119
;
2735 var123
= string__NativeString__to_s_with_length(var121
, var122
);
2737 varonce119
= var120
;
2739 var124
= NEW_array__Array(&type_array__Arraykernel__Object
);
2740 { /* var124 = array_instance Array[Object] */
2742 var126
= NEW_array__NativeArray(var125
, &type_array__NativeArraykernel__Object
);
2743 ((struct instance_array__NativeArray
*)var126
)->values
[0] = (val
*) var_res
;
2744 ((struct instance_array__NativeArray
*)var126
)->values
[1] = (val
*) var109
;
2745 ((struct instance_array__NativeArray
*)var126
)->values
[2] = (val
*) var_a
;
2746 ((struct instance_array__NativeArray
*)var126
)->values
[3] = (val
*) var114
;
2747 ((struct instance_array__NativeArray
*)var126
)->values
[4] = (val
*) var118
;
2748 ((struct instance_array__NativeArray
*)var126
)->values
[5] = (val
*) var120
;
2749 ((void (*)(val
*, val
*, long))(var124
->class->vft
[COLOR_array__Array__with_native
]))(var124
, var126
, var125
) /* with_native on <var124:Array[Object]>*/;
2751 var127
= ((val
* (*)(val
*))(var124
->class->vft
[COLOR_string__Object__to_s
]))(var124
) /* to_s on <var124:Array[Object]>*/;
2752 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var127
) /* add on <self:SeparateCompilerVisitor>*/;
2760 /* method separate_compiler#SeparateCompilerVisitor#isset_attribute for (self: Object, MAttribute, RuntimeVariable): RuntimeVariable */
2761 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__isset_attribute(val
* self
, val
* p0
, val
* p1
) {
2762 val
* var
/* : RuntimeVariable */;
2763 val
* var1
/* : RuntimeVariable */;
2764 var1
= separate_compiler__SeparateCompilerVisitor__isset_attribute(self
, p0
, p1
);
2769 /* method separate_compiler#SeparateCompilerVisitor#read_attribute for (self: SeparateCompilerVisitor, MAttribute, RuntimeVariable): RuntimeVariable */
2770 val
* separate_compiler__SeparateCompilerVisitor__read_attribute(val
* self
, val
* p0
, val
* p1
) {
2771 val
* var
/* : RuntimeVariable */;
2772 val
* var_a
/* var a: MAttribute */;
2773 val
* var_recv
/* var recv: RuntimeVariable */;
2774 val
* var1
/* : MPropDef */;
2775 val
* var2
/* : nullable MType */;
2776 val
* var_ret
/* var ret: MType */;
2777 val
* var3
/* : MPropDef */;
2778 val
* var4
/* : MClassDef */;
2779 val
* var_intromclassdef
/* var intromclassdef: MClassDef */;
2780 val
* var5
/* : MClassType */;
2781 val
* var6
/* : MClassType */;
2782 val
* var7
/* : MModule */;
2783 short int var8
/* : Bool */;
2784 val
* var9
/* : MType */;
2785 val
* var10
/* : String */;
2786 val
* var11
/* : AbstractCompiler */;
2787 val
* var12
/* : ModelBuilder */;
2788 val
* var13
/* : ToolContext */;
2789 val
* var14
/* : OptionBool */;
2790 val
* var15
/* : nullable Object */;
2791 short int var16
/* : Bool */;
2792 val
* var17
/* : MClassType */;
2793 val
* var18
/* : MType */;
2794 val
* var_cret
/* var cret: MType */;
2795 val
* var19
/* : RuntimeVariable */;
2796 val
* var_res
/* var res: RuntimeVariable */;
2797 static val
* varonce
;
2798 val
* var20
/* : String */;
2799 char* var21
/* : NativeString */;
2800 long var22
/* : Int */;
2801 val
* var23
/* : String */;
2802 static val
* varonce24
;
2803 val
* var25
/* : String */;
2804 char* var26
/* : NativeString */;
2805 long var27
/* : Int */;
2806 val
* var28
/* : String */;
2807 val
* var29
/* : String */;
2808 static val
* varonce30
;
2809 val
* var31
/* : String */;
2810 char* var32
/* : NativeString */;
2811 long var33
/* : Int */;
2812 val
* var34
/* : String */;
2813 static val
* varonce35
;
2814 val
* var36
/* : String */;
2815 char* var37
/* : NativeString */;
2816 long var38
/* : Int */;
2817 val
* var39
/* : String */;
2818 val
* var40
/* : String */;
2819 static val
* varonce41
;
2820 val
* var42
/* : String */;
2821 char* var43
/* : NativeString */;
2822 long var44
/* : Int */;
2823 val
* var45
/* : String */;
2824 val
* var46
/* : Array[Object] */;
2825 long var47
/* : Int */;
2826 val
* var48
/* : NativeArray[Object] */;
2827 val
* var49
/* : String */;
2828 short int var50
/* : Bool */;
2829 short int var51
/* : Bool */;
2832 short int var52
/* : Bool */;
2833 short int var_
/* var : Bool */;
2834 val
* var53
/* : AbstractCompiler */;
2835 val
* var54
/* : ModelBuilder */;
2836 val
* var55
/* : ToolContext */;
2837 val
* var56
/* : OptionBool */;
2838 val
* var57
/* : nullable Object */;
2839 short int var58
/* : Bool */;
2840 short int var59
/* : Bool */;
2841 static val
* varonce60
;
2842 val
* var61
/* : String */;
2843 char* var62
/* : NativeString */;
2844 long var63
/* : Int */;
2845 val
* var64
/* : String */;
2846 static val
* varonce65
;
2847 val
* var66
/* : String */;
2848 char* var67
/* : NativeString */;
2849 long var68
/* : Int */;
2850 val
* var69
/* : String */;
2851 val
* var70
/* : Array[Object] */;
2852 long var71
/* : Int */;
2853 val
* var72
/* : NativeArray[Object] */;
2854 val
* var73
/* : String */;
2855 static val
* varonce74
;
2856 val
* var75
/* : String */;
2857 char* var76
/* : NativeString */;
2858 long var77
/* : Int */;
2859 val
* var78
/* : String */;
2860 val
* var79
/* : String */;
2861 val
* var80
/* : Array[Object] */;
2862 long var81
/* : Int */;
2863 val
* var82
/* : NativeArray[Object] */;
2864 val
* var83
/* : String */;
2865 static val
* varonce84
;
2866 val
* var85
/* : String */;
2867 char* var86
/* : NativeString */;
2868 long var87
/* : Int */;
2869 val
* var88
/* : String */;
2870 val
* var89
/* : RuntimeVariable */;
2871 val
* var90
/* : RuntimeVariable */;
2872 val
* var_res91
/* var res: RuntimeVariable */;
2873 static val
* varonce92
;
2874 val
* var93
/* : String */;
2875 char* var94
/* : NativeString */;
2876 long var95
/* : Int */;
2877 val
* var96
/* : String */;
2878 static val
* varonce97
;
2879 val
* var98
/* : String */;
2880 char* var99
/* : NativeString */;
2881 long var100
/* : Int */;
2882 val
* var101
/* : String */;
2883 val
* var102
/* : String */;
2884 static val
* varonce103
;
2885 val
* var104
/* : String */;
2886 char* var105
/* : NativeString */;
2887 long var106
/* : Int */;
2888 val
* var107
/* : String */;
2889 val
* var108
/* : String */;
2890 static val
* varonce109
;
2891 val
* var110
/* : String */;
2892 char* var111
/* : NativeString */;
2893 long var112
/* : Int */;
2894 val
* var113
/* : String */;
2895 static val
* varonce114
;
2896 val
* var115
/* : String */;
2897 char* var116
/* : NativeString */;
2898 long var117
/* : Int */;
2899 val
* var118
/* : String */;
2900 val
* var119
/* : String */;
2901 static val
* varonce120
;
2902 val
* var121
/* : String */;
2903 char* var122
/* : NativeString */;
2904 long var123
/* : Int */;
2905 val
* var124
/* : String */;
2906 val
* var125
/* : Array[Object] */;
2907 long var126
/* : Int */;
2908 val
* var127
/* : NativeArray[Object] */;
2909 val
* var128
/* : String */;
2910 short int var129
/* : Bool */;
2911 short int var130
/* : Bool */;
2912 val
* var131
/* : String */;
2913 static val
* varonce132
;
2914 val
* var133
/* : String */;
2915 char* var134
/* : NativeString */;
2916 long var135
/* : Int */;
2917 val
* var136
/* : String */;
2918 short int var137
/* : Bool */;
2919 short int var_138
/* var : Bool */;
2920 short int var139
/* : Bool */;
2923 short int var142
/* : Bool */;
2924 short int var_143
/* var : Bool */;
2925 val
* var144
/* : AbstractCompiler */;
2926 val
* var145
/* : ModelBuilder */;
2927 val
* var146
/* : ToolContext */;
2928 val
* var147
/* : OptionBool */;
2929 val
* var148
/* : nullable Object */;
2930 short int var149
/* : Bool */;
2931 short int var150
/* : Bool */;
2932 static val
* varonce151
;
2933 val
* var152
/* : String */;
2934 char* var153
/* : NativeString */;
2935 long var154
/* : Int */;
2936 val
* var155
/* : String */;
2937 static val
* varonce156
;
2938 val
* var157
/* : String */;
2939 char* var158
/* : NativeString */;
2940 long var159
/* : Int */;
2941 val
* var160
/* : String */;
2942 val
* var161
/* : Array[Object] */;
2943 long var162
/* : Int */;
2944 val
* var163
/* : NativeArray[Object] */;
2945 val
* var164
/* : String */;
2946 static val
* varonce165
;
2947 val
* var166
/* : String */;
2948 char* var167
/* : NativeString */;
2949 long var168
/* : Int */;
2950 val
* var169
/* : String */;
2951 val
* var170
/* : String */;
2952 val
* var171
/* : Array[Object] */;
2953 long var172
/* : Int */;
2954 val
* var173
/* : NativeArray[Object] */;
2955 val
* var174
/* : String */;
2956 static val
* varonce175
;
2957 val
* var176
/* : String */;
2958 char* var177
/* : NativeString */;
2959 long var178
/* : Int */;
2960 val
* var179
/* : String */;
2963 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__check_recv_notnull
]))(self
, var_recv
) /* check_recv_notnull on <self:SeparateCompilerVisitor>*/;
2964 var1
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__intro
]))(var_a
) /* intro on <var_a:MAttribute>*/;
2965 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_model__MAttributeDef__static_mtype
]))(var1
) /* static_mtype on <var1:MPropDef(MAttributeDef)>*/;
2967 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2968 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1219);
2972 var3
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__intro
]))(var_a
) /* intro on <var_a:MAttribute>*/;
2973 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var3
) /* mclassdef on <var3:MPropDef(MAttributeDef)>*/;
2974 var_intromclassdef
= var4
;
2975 var5
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_intromclassdef
) /* bound_mtype on <var_intromclassdef:MClassDef>*/;
2976 var6
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_intromclassdef
) /* bound_mtype on <var_intromclassdef:MClassDef>*/;
2977 var7
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var_intromclassdef
) /* mmodule on <var_intromclassdef:MClassDef>*/;
2979 var9
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_ret
->class->vft
[COLOR_model__MType__resolve_for
]))(var_ret
, var5
, var6
, var7
, var8
) /* resolve_for on <var_ret:MType>*/;
2981 var10
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
2982 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var10
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
2983 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
2984 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var11
) /* modelbuilder on <var11:AbstractCompiler(SeparateCompiler)>*/;
2985 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var12
) /* toolcontext on <var12:ModelBuilder>*/;
2986 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_separate_compiler__ToolContext__opt_no_union_attribute
]))(var13
) /* opt_no_union_attribute on <var13:ToolContext>*/;
2987 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_opts__Option__value
]))(var14
) /* value on <var14:OptionBool>*/;
2988 var16
= ((struct instance_kernel__Bool
*)var15
)->value
; /* autounbox from nullable Object to Bool */;
2990 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__object_type
]))(self
) /* object_type on <self:SeparateCompilerVisitor>*/;
2991 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_model__MType__as_nullable
]))(var17
) /* as_nullable on <var17:MClassType>*/;
2993 var19
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_cret
) /* new_var on <self:SeparateCompilerVisitor>*/;
2995 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype_61d
]))(var_res
, var_ret
) /* mcasttype= on <var_res:RuntimeVariable>*/;
3001 var23
= string__NativeString__to_s_with_length(var21
, var22
);
3010 var28
= string__NativeString__to_s_with_length(var26
, var27
);
3014 var29
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
3020 var34
= string__NativeString__to_s_with_length(var32
, var33
);
3029 var39
= string__NativeString__to_s_with_length(var37
, var38
);
3033 var40
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
3039 var45
= string__NativeString__to_s_with_length(var43
, var44
);
3043 var46
= NEW_array__Array(&type_array__Arraykernel__Object
);
3044 { /* var46 = array_instance Array[Object] */
3046 var48
= NEW_array__NativeArray(var47
, &type_array__NativeArraykernel__Object
);
3047 ((struct instance_array__NativeArray
*)var48
)->values
[0] = (val
*) var_res
;
3048 ((struct instance_array__NativeArray
*)var48
)->values
[1] = (val
*) var20
;
3049 ((struct instance_array__NativeArray
*)var48
)->values
[2] = (val
*) var_recv
;
3050 ((struct instance_array__NativeArray
*)var48
)->values
[3] = (val
*) var25
;
3051 ((struct instance_array__NativeArray
*)var48
)->values
[4] = (val
*) var29
;
3052 ((struct instance_array__NativeArray
*)var48
)->values
[5] = (val
*) var31
;
3053 ((struct instance_array__NativeArray
*)var48
)->values
[6] = (val
*) var_a
;
3054 ((struct instance_array__NativeArray
*)var48
)->values
[7] = (val
*) var36
;
3055 ((struct instance_array__NativeArray
*)var48
)->values
[8] = (val
*) var40
;
3056 ((struct instance_array__NativeArray
*)var48
)->values
[9] = (val
*) var42
;
3057 ((void (*)(val
*, val
*, long))(var46
->class->vft
[COLOR_array__Array__with_native
]))(var46
, var48
, var47
) /* with_native on <var46:Array[Object]>*/;
3059 var49
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_string__Object__to_s
]))(var46
) /* to_s on <var46:Array[Object]>*/;
3060 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var49
) /* add on <self:SeparateCompilerVisitor>*/;
3061 /* <var_ret:MType> isa MNullableType */
3062 cltype
= type_model__MNullableType
.color
;
3063 idtype
= type_model__MNullableType
.id
;
3064 if(cltype
>= var_ret
->type
->table_size
) {
3067 var51
= var_ret
->type
->type_table
[cltype
] == idtype
;
3072 var53
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
3073 var54
= ((val
* (*)(val
*))(var53
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var53
) /* modelbuilder on <var53:AbstractCompiler(SeparateCompiler)>*/;
3074 var55
= ((val
* (*)(val
*))(var54
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var54
) /* toolcontext on <var54:ModelBuilder>*/;
3075 var56
= ((val
* (*)(val
*))(var55
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_initialization
]))(var55
) /* opt_no_check_initialization on <var55:ToolContext>*/;
3076 var57
= ((val
* (*)(val
*))(var56
->class->vft
[COLOR_opts__Option__value
]))(var56
) /* value on <var56:OptionBool>*/;
3077 var58
= ((struct instance_kernel__Bool
*)var57
)->value
; /* autounbox from nullable Object to Bool */;
3089 var64
= string__NativeString__to_s_with_length(var62
, var63
);
3096 var67
= " == NULL) {";
3098 var69
= string__NativeString__to_s_with_length(var67
, var68
);
3102 var70
= NEW_array__Array(&type_array__Arraykernel__Object
);
3103 { /* var70 = array_instance Array[Object] */
3105 var72
= NEW_array__NativeArray(var71
, &type_array__NativeArraykernel__Object
);
3106 ((struct instance_array__NativeArray
*)var72
)->values
[0] = (val
*) var61
;
3107 ((struct instance_array__NativeArray
*)var72
)->values
[1] = (val
*) var_res
;
3108 ((struct instance_array__NativeArray
*)var72
)->values
[2] = (val
*) var66
;
3109 ((void (*)(val
*, val
*, long))(var70
->class->vft
[COLOR_array__Array__with_native
]))(var70
, var72
, var71
) /* with_native on <var70:Array[Object]>*/;
3111 var73
= ((val
* (*)(val
*))(var70
->class->vft
[COLOR_string__Object__to_s
]))(var70
) /* to_s on <var70:Array[Object]>*/;
3112 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var73
) /* add on <self:SeparateCompilerVisitor>*/;
3116 var76
= "Uninitialized attribute ";
3118 var78
= string__NativeString__to_s_with_length(var76
, var77
);
3122 var79
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__name
]))(var_a
) /* name on <var_a:MAttribute>*/;
3123 var80
= NEW_array__Array(&type_array__Arraykernel__Object
);
3124 { /* var80 = array_instance Array[Object] */
3126 var82
= NEW_array__NativeArray(var81
, &type_array__NativeArraykernel__Object
);
3127 ((struct instance_array__NativeArray
*)var82
)->values
[0] = (val
*) var75
;
3128 ((struct instance_array__NativeArray
*)var82
)->values
[1] = (val
*) var79
;
3129 ((void (*)(val
*, val
*, long))(var80
->class->vft
[COLOR_array__Array__with_native
]))(var80
, var82
, var81
) /* with_native on <var80:Array[Object]>*/;
3131 var83
= ((val
* (*)(val
*))(var80
->class->vft
[COLOR_string__Object__to_s
]))(var80
) /* to_s on <var80:Array[Object]>*/;
3132 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(self
, var83
) /* add_abort on <self:SeparateCompilerVisitor>*/;
3138 var88
= string__NativeString__to_s_with_length(var86
, var87
);
3142 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var85
) /* add on <self:SeparateCompilerVisitor>*/;
3145 var89
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_res
, var_ret
) /* autobox on <self:SeparateCompilerVisitor>*/;
3149 var90
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_ret
) /* new_var on <self:SeparateCompilerVisitor>*/;
3156 var96
= string__NativeString__to_s_with_length(var94
, var95
);
3165 var101
= string__NativeString__to_s_with_length(var99
, var100
);
3169 var102
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
3171 var104
= varonce103
;
3175 var107
= string__NativeString__to_s_with_length(var105
, var106
);
3177 varonce103
= var104
;
3179 var108
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctypename
]))(var_ret
) /* ctypename on <var_ret:MType>*/;
3181 var110
= varonce109
;
3185 var113
= string__NativeString__to_s_with_length(var111
, var112
);
3187 varonce109
= var110
;
3190 var115
= varonce114
;
3194 var118
= string__NativeString__to_s_with_length(var116
, var117
);
3196 varonce114
= var115
;
3198 var119
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
3200 var121
= varonce120
;
3204 var124
= string__NativeString__to_s_with_length(var122
, var123
);
3206 varonce120
= var121
;
3208 var125
= NEW_array__Array(&type_array__Arraykernel__Object
);
3209 { /* var125 = array_instance Array[Object] */
3211 var127
= NEW_array__NativeArray(var126
, &type_array__NativeArraykernel__Object
);
3212 ((struct instance_array__NativeArray
*)var127
)->values
[0] = (val
*) var_res91
;
3213 ((struct instance_array__NativeArray
*)var127
)->values
[1] = (val
*) var93
;
3214 ((struct instance_array__NativeArray
*)var127
)->values
[2] = (val
*) var_recv
;
3215 ((struct instance_array__NativeArray
*)var127
)->values
[3] = (val
*) var98
;
3216 ((struct instance_array__NativeArray
*)var127
)->values
[4] = (val
*) var102
;
3217 ((struct instance_array__NativeArray
*)var127
)->values
[5] = (val
*) var104
;
3218 ((struct instance_array__NativeArray
*)var127
)->values
[6] = (val
*) var108
;
3219 ((struct instance_array__NativeArray
*)var127
)->values
[7] = (val
*) var110
;
3220 ((struct instance_array__NativeArray
*)var127
)->values
[8] = (val
*) var_a
;
3221 ((struct instance_array__NativeArray
*)var127
)->values
[9] = (val
*) var115
;
3222 ((struct instance_array__NativeArray
*)var127
)->values
[10] = (val
*) var119
;
3223 ((struct instance_array__NativeArray
*)var127
)->values
[11] = (val
*) var121
;
3224 ((void (*)(val
*, val
*, long))(var125
->class->vft
[COLOR_array__Array__with_native
]))(var125
, var127
, var126
) /* with_native on <var125:Array[Object]>*/;
3226 var128
= ((val
* (*)(val
*))(var125
->class->vft
[COLOR_string__Object__to_s
]))(var125
) /* to_s on <var125:Array[Object]>*/;
3227 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var128
) /* add on <self:SeparateCompilerVisitor>*/;
3228 var131
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:MType>*/;
3230 var133
= varonce132
;
3234 var136
= string__NativeString__to_s_with_length(var134
, var135
);
3236 varonce132
= var133
;
3238 var137
= ((short int (*)(val
*, val
*))(var131
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var131
, var133
) /* == on <var131:String>*/;
3241 /* <var_ret:MType> isa MNullableType */
3242 cltype140
= type_model__MNullableType
.color
;
3243 idtype141
= type_model__MNullableType
.id
;
3244 if(cltype140
>= var_ret
->type
->table_size
) {
3247 var139
= var_ret
->type
->type_table
[cltype140
] == idtype141
;
3256 var144
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
3257 var145
= ((val
* (*)(val
*))(var144
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var144
) /* modelbuilder on <var144:AbstractCompiler(SeparateCompiler)>*/;
3258 var146
= ((val
* (*)(val
*))(var145
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var145
) /* toolcontext on <var145:ModelBuilder>*/;
3259 var147
= ((val
* (*)(val
*))(var146
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_initialization
]))(var146
) /* opt_no_check_initialization on <var146:ToolContext>*/;
3260 var148
= ((val
* (*)(val
*))(var147
->class->vft
[COLOR_opts__Option__value
]))(var147
) /* value on <var147:OptionBool>*/;
3261 var149
= ((struct instance_kernel__Bool
*)var148
)->value
; /* autounbox from nullable Object to Bool */;
3269 var152
= varonce151
;
3273 var155
= string__NativeString__to_s_with_length(var153
, var154
);
3275 varonce151
= var152
;
3278 var157
= varonce156
;
3280 var158
= " == NULL) {";
3282 var160
= string__NativeString__to_s_with_length(var158
, var159
);
3284 varonce156
= var157
;
3286 var161
= NEW_array__Array(&type_array__Arraykernel__Object
);
3287 { /* var161 = array_instance Array[Object] */
3289 var163
= NEW_array__NativeArray(var162
, &type_array__NativeArraykernel__Object
);
3290 ((struct instance_array__NativeArray
*)var163
)->values
[0] = (val
*) var152
;
3291 ((struct instance_array__NativeArray
*)var163
)->values
[1] = (val
*) var_res91
;
3292 ((struct instance_array__NativeArray
*)var163
)->values
[2] = (val
*) var157
;
3293 ((void (*)(val
*, val
*, long))(var161
->class->vft
[COLOR_array__Array__with_native
]))(var161
, var163
, var162
) /* with_native on <var161:Array[Object]>*/;
3295 var164
= ((val
* (*)(val
*))(var161
->class->vft
[COLOR_string__Object__to_s
]))(var161
) /* to_s on <var161:Array[Object]>*/;
3296 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var164
) /* add on <self:SeparateCompilerVisitor>*/;
3298 var166
= varonce165
;
3300 var167
= "Uninitialized attribute ";
3302 var169
= string__NativeString__to_s_with_length(var167
, var168
);
3304 varonce165
= var166
;
3306 var170
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__name
]))(var_a
) /* name on <var_a:MAttribute>*/;
3307 var171
= NEW_array__Array(&type_array__Arraykernel__Object
);
3308 { /* var171 = array_instance Array[Object] */
3310 var173
= NEW_array__NativeArray(var172
, &type_array__NativeArraykernel__Object
);
3311 ((struct instance_array__NativeArray
*)var173
)->values
[0] = (val
*) var166
;
3312 ((struct instance_array__NativeArray
*)var173
)->values
[1] = (val
*) var170
;
3313 ((void (*)(val
*, val
*, long))(var171
->class->vft
[COLOR_array__Array__with_native
]))(var171
, var173
, var172
) /* with_native on <var171:Array[Object]>*/;
3315 var174
= ((val
* (*)(val
*))(var171
->class->vft
[COLOR_string__Object__to_s
]))(var171
) /* to_s on <var171:Array[Object]>*/;
3316 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(self
, var174
) /* add_abort on <self:SeparateCompilerVisitor>*/;
3318 var176
= varonce175
;
3322 var179
= string__NativeString__to_s_with_length(var177
, var178
);
3324 varonce175
= var176
;
3326 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var176
) /* add on <self:SeparateCompilerVisitor>*/;
3335 /* method separate_compiler#SeparateCompilerVisitor#read_attribute for (self: Object, MAttribute, RuntimeVariable): RuntimeVariable */
3336 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__read_attribute(val
* self
, val
* p0
, val
* p1
) {
3337 val
* var
/* : RuntimeVariable */;
3338 val
* var1
/* : RuntimeVariable */;
3339 var1
= separate_compiler__SeparateCompilerVisitor__read_attribute(self
, p0
, p1
);
3344 /* method separate_compiler#SeparateCompilerVisitor#write_attribute for (self: SeparateCompilerVisitor, MAttribute, RuntimeVariable, RuntimeVariable) */
3345 void separate_compiler__SeparateCompilerVisitor__write_attribute(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3346 val
* var_a
/* var a: MAttribute */;
3347 val
* var_recv
/* var recv: RuntimeVariable */;
3348 val
* var_value
/* var value: RuntimeVariable */;
3349 val
* var
/* : MPropDef */;
3350 val
* var1
/* : nullable MType */;
3351 val
* var_mtype
/* var mtype: MType */;
3352 val
* var2
/* : MPropDef */;
3353 val
* var3
/* : MClassDef */;
3354 val
* var_intromclassdef
/* var intromclassdef: MClassDef */;
3355 val
* var4
/* : MClassType */;
3356 val
* var5
/* : MClassType */;
3357 val
* var6
/* : MModule */;
3358 short int var7
/* : Bool */;
3359 val
* var8
/* : MType */;
3360 val
* var9
/* : RuntimeVariable */;
3361 val
* var10
/* : String */;
3362 val
* var11
/* : AbstractCompiler */;
3363 val
* var12
/* : ModelBuilder */;
3364 val
* var13
/* : ToolContext */;
3365 val
* var14
/* : OptionBool */;
3366 val
* var15
/* : nullable Object */;
3367 short int var16
/* : Bool */;
3368 val
* var17
/* : Array[Object] */;
3369 long var18
/* : Int */;
3370 val
* var_
/* var : Array[Object] */;
3371 static val
* varonce
;
3372 val
* var19
/* : String */;
3373 char* var20
/* : NativeString */;
3374 long var21
/* : Int */;
3375 val
* var22
/* : String */;
3376 static val
* varonce23
;
3377 val
* var24
/* : String */;
3378 char* var25
/* : NativeString */;
3379 long var26
/* : Int */;
3380 val
* var27
/* : String */;
3381 val
* var28
/* : String */;
3382 static val
* varonce29
;
3383 val
* var30
/* : String */;
3384 char* var31
/* : NativeString */;
3385 long var32
/* : Int */;
3386 val
* var33
/* : String */;
3387 val
* var34
/* : String */;
3388 val
* var_attr
/* var attr: String */;
3389 val
* var35
/* : String */;
3390 static val
* varonce36
;
3391 val
* var37
/* : String */;
3392 char* var38
/* : NativeString */;
3393 long var39
/* : Int */;
3394 val
* var40
/* : String */;
3395 short int var41
/* : Bool */;
3396 short int var42
/* : Bool */;
3399 static val
* varonce43
;
3400 val
* var44
/* : String */;
3401 char* var45
/* : NativeString */;
3402 long var46
/* : Int */;
3403 val
* var47
/* : String */;
3404 static val
* varonce48
;
3405 val
* var49
/* : String */;
3406 char* var50
/* : NativeString */;
3407 long var51
/* : Int */;
3408 val
* var52
/* : String */;
3409 val
* var53
/* : Array[Object] */;
3410 long var54
/* : Int */;
3411 val
* var55
/* : NativeArray[Object] */;
3412 val
* var56
/* : String */;
3413 static val
* varonce57
;
3414 val
* var58
/* : String */;
3415 char* var59
/* : NativeString */;
3416 long var60
/* : Int */;
3417 val
* var61
/* : String */;
3418 val
* var62
/* : String */;
3419 static val
* varonce63
;
3420 val
* var64
/* : String */;
3421 char* var65
/* : NativeString */;
3422 long var66
/* : Int */;
3423 val
* var67
/* : String */;
3424 static val
* varonce68
;
3425 val
* var69
/* : String */;
3426 char* var70
/* : NativeString */;
3427 long var71
/* : Int */;
3428 val
* var72
/* : String */;
3429 static val
* varonce73
;
3430 val
* var74
/* : String */;
3431 char* var75
/* : NativeString */;
3432 long var76
/* : Int */;
3433 val
* var77
/* : String */;
3434 static val
* varonce78
;
3435 val
* var79
/* : String */;
3436 char* var80
/* : NativeString */;
3437 long var81
/* : Int */;
3438 val
* var82
/* : String */;
3439 val
* var83
/* : String */;
3440 static val
* varonce84
;
3441 val
* var85
/* : String */;
3442 char* var86
/* : NativeString */;
3443 long var87
/* : Int */;
3444 val
* var88
/* : String */;
3445 val
* var89
/* : Array[Object] */;
3446 long var90
/* : Int */;
3447 val
* var91
/* : NativeArray[Object] */;
3448 val
* var92
/* : String */;
3449 static val
* varonce93
;
3450 val
* var94
/* : String */;
3451 char* var95
/* : NativeString */;
3452 long var96
/* : Int */;
3453 val
* var97
/* : String */;
3454 val
* var98
/* : MClassType */;
3455 val
* var99
/* : MType */;
3456 val
* var100
/* : RuntimeVariable */;
3457 static val
* varonce101
;
3458 val
* var102
/* : String */;
3459 char* var103
/* : NativeString */;
3460 long var104
/* : Int */;
3461 val
* var105
/* : String */;
3462 static val
* varonce106
;
3463 val
* var107
/* : String */;
3464 char* var108
/* : NativeString */;
3465 long var109
/* : Int */;
3466 val
* var110
/* : String */;
3467 static val
* varonce111
;
3468 val
* var112
/* : String */;
3469 char* var113
/* : NativeString */;
3470 long var114
/* : Int */;
3471 val
* var115
/* : String */;
3472 val
* var116
/* : String */;
3473 static val
* varonce117
;
3474 val
* var118
/* : String */;
3475 char* var119
/* : NativeString */;
3476 long var120
/* : Int */;
3477 val
* var121
/* : String */;
3478 val
* var122
/* : Array[Object] */;
3479 long var123
/* : Int */;
3480 val
* var124
/* : NativeArray[Object] */;
3481 val
* var125
/* : String */;
3482 static val
* varonce126
;
3483 val
* var127
/* : String */;
3484 char* var128
/* : NativeString */;
3485 long var129
/* : Int */;
3486 val
* var130
/* : String */;
3487 static val
* varonce131
;
3488 val
* var132
/* : String */;
3489 char* var133
/* : NativeString */;
3490 long var134
/* : Int */;
3491 val
* var135
/* : String */;
3492 static val
* varonce136
;
3493 val
* var137
/* : String */;
3494 char* var138
/* : NativeString */;
3495 long var139
/* : Int */;
3496 val
* var140
/* : String */;
3497 static val
* varonce141
;
3498 val
* var142
/* : String */;
3499 char* var143
/* : NativeString */;
3500 long var144
/* : Int */;
3501 val
* var145
/* : String */;
3502 val
* var146
/* : String */;
3503 static val
* varonce147
;
3504 val
* var148
/* : String */;
3505 char* var149
/* : NativeString */;
3506 long var150
/* : Int */;
3507 val
* var151
/* : String */;
3508 val
* var152
/* : Array[Object] */;
3509 long var153
/* : Int */;
3510 val
* var154
/* : NativeArray[Object] */;
3511 val
* var155
/* : String */;
3512 static val
* varonce156
;
3513 val
* var157
/* : String */;
3514 char* var158
/* : NativeString */;
3515 long var159
/* : Int */;
3516 val
* var160
/* : String */;
3517 val
* var161
/* : String */;
3518 static val
* varonce162
;
3519 val
* var163
/* : String */;
3520 char* var164
/* : NativeString */;
3521 long var165
/* : Int */;
3522 val
* var166
/* : String */;
3523 val
* var167
/* : String */;
3524 static val
* varonce168
;
3525 val
* var169
/* : String */;
3526 char* var170
/* : NativeString */;
3527 long var171
/* : Int */;
3528 val
* var172
/* : String */;
3529 static val
* varonce173
;
3530 val
* var174
/* : String */;
3531 char* var175
/* : NativeString */;
3532 long var176
/* : Int */;
3533 val
* var177
/* : String */;
3534 static val
* varonce178
;
3535 val
* var179
/* : String */;
3536 char* var180
/* : NativeString */;
3537 long var181
/* : Int */;
3538 val
* var182
/* : String */;
3539 val
* var183
/* : String */;
3540 static val
* varonce184
;
3541 val
* var185
/* : String */;
3542 char* var186
/* : NativeString */;
3543 long var187
/* : Int */;
3544 val
* var188
/* : String */;
3545 val
* var189
/* : Array[Object] */;
3546 long var190
/* : Int */;
3547 val
* var191
/* : NativeArray[Object] */;
3548 val
* var192
/* : String */;
3552 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__check_recv_notnull
]))(self
, var_recv
) /* check_recv_notnull on <self:SeparateCompilerVisitor>*/;
3553 var
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__intro
]))(var_a
) /* intro on <var_a:MAttribute>*/;
3554 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_model__MAttributeDef__static_mtype
]))(var
) /* static_mtype on <var:MPropDef(MAttributeDef)>*/;
3556 fprintf(stderr
, "Runtime error: %s", "Cast failed");
3557 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1262);
3561 var2
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__intro
]))(var_a
) /* intro on <var_a:MAttribute>*/;
3562 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var2
) /* mclassdef on <var2:MPropDef(MAttributeDef)>*/;
3563 var_intromclassdef
= var3
;
3564 var4
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_intromclassdef
) /* bound_mtype on <var_intromclassdef:MClassDef>*/;
3565 var5
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_intromclassdef
) /* bound_mtype on <var_intromclassdef:MClassDef>*/;
3566 var6
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var_intromclassdef
) /* mmodule on <var_intromclassdef:MClassDef>*/;
3568 var8
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_mtype
->class->vft
[COLOR_model__MType__resolve_for
]))(var_mtype
, var4
, var5
, var6
, var7
) /* resolve_for on <var_mtype:MType>*/;
3570 var9
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_value
, var_mtype
) /* autobox on <self:SeparateCompilerVisitor>*/;
3572 var10
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
3573 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var10
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
3574 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
3575 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var11
) /* modelbuilder on <var11:AbstractCompiler(SeparateCompiler)>*/;
3576 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var12
) /* toolcontext on <var12:ModelBuilder>*/;
3577 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_separate_compiler__ToolContext__opt_no_union_attribute
]))(var13
) /* opt_no_union_attribute on <var13:ToolContext>*/;
3578 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_opts__Option__value
]))(var14
) /* value on <var14:OptionBool>*/;
3579 var16
= ((struct instance_kernel__Bool
*)var15
)->value
; /* autounbox from nullable Object to Bool */;
3581 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
3583 ((void (*)(val
*, long))(var17
->class->vft
[COLOR_array__Array__with_capacity
]))(var17
, var18
) /* with_capacity on <var17:Array[Object]>*/;
3590 var22
= string__NativeString__to_s_with_length(var20
, var21
);
3594 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var19
) /* add on <var_:Array[Object]>*/;
3595 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_recv
) /* add on <var_:Array[Object]>*/;
3601 var27
= string__NativeString__to_s_with_length(var25
, var26
);
3605 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var24
) /* add on <var_:Array[Object]>*/;
3606 var28
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
3607 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var28
) /* add on <var_:Array[Object]>*/;
3613 var33
= string__NativeString__to_s_with_length(var31
, var32
);
3617 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var30
) /* add on <var_:Array[Object]>*/;
3618 var34
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
3620 var35
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
3626 var40
= string__NativeString__to_s_with_length(var38
, var39
);
3630 var41
= ((short int (*)(val
*, val
*))(var35
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var35
, var37
) /* != on <var35:String>*/;
3632 /* <var_mtype:MType> isa MClassType */
3633 cltype
= type_model__MClassType
.color
;
3634 idtype
= type_model__MClassType
.id
;
3635 if(cltype
>= var_mtype
->type
->table_size
) {
3638 var42
= var_mtype
->type
->type_table
[cltype
] == idtype
;
3641 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3642 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1273);
3650 var47
= string__NativeString__to_s_with_length(var45
, var46
);
3657 var50
= " != NULL) {";
3659 var52
= string__NativeString__to_s_with_length(var50
, var51
);
3663 var53
= NEW_array__Array(&type_array__Arraykernel__Object
);
3664 { /* var53 = array_instance Array[Object] */
3666 var55
= NEW_array__NativeArray(var54
, &type_array__NativeArraykernel__Object
);
3667 ((struct instance_array__NativeArray
*)var55
)->values
[0] = (val
*) var44
;
3668 ((struct instance_array__NativeArray
*)var55
)->values
[1] = (val
*) var_attr
;
3669 ((struct instance_array__NativeArray
*)var55
)->values
[2] = (val
*) var49
;
3670 ((void (*)(val
*, val
*, long))(var53
->class->vft
[COLOR_array__Array__with_native
]))(var53
, var55
, var54
) /* with_native on <var53:Array[Object]>*/;
3672 var56
= ((val
* (*)(val
*))(var53
->class->vft
[COLOR_string__Object__to_s
]))(var53
) /* to_s on <var53:Array[Object]>*/;
3673 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var56
) /* add on <self:SeparateCompilerVisitor>*/;
3677 var59
= "((struct instance_";
3679 var61
= string__NativeString__to_s_with_length(var59
, var60
);
3683 var62
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__c_instance_name
]))(var_mtype
) /* c_instance_name on <var_mtype:MType(MClassType)>*/;
3689 var67
= string__NativeString__to_s_with_length(var65
, var66
);
3696 var70
= ")->value = ";
3698 var72
= string__NativeString__to_s_with_length(var70
, var71
);
3707 var77
= string__NativeString__to_s_with_length(var75
, var76
);
3716 var82
= string__NativeString__to_s_with_length(var80
, var81
);
3720 var83
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
3726 var88
= string__NativeString__to_s_with_length(var86
, var87
);
3730 var89
= NEW_array__Array(&type_array__Arraykernel__Object
);
3731 { /* var89 = array_instance Array[Object] */
3733 var91
= NEW_array__NativeArray(var90
, &type_array__NativeArraykernel__Object
);
3734 ((struct instance_array__NativeArray
*)var91
)->values
[0] = (val
*) var58
;
3735 ((struct instance_array__NativeArray
*)var91
)->values
[1] = (val
*) var62
;
3736 ((struct instance_array__NativeArray
*)var91
)->values
[2] = (val
*) var64
;
3737 ((struct instance_array__NativeArray
*)var91
)->values
[3] = (val
*) var_attr
;
3738 ((struct instance_array__NativeArray
*)var91
)->values
[4] = (val
*) var69
;
3739 ((struct instance_array__NativeArray
*)var91
)->values
[5] = (val
*) var_value
;
3740 ((struct instance_array__NativeArray
*)var91
)->values
[6] = (val
*) var74
;
3741 ((struct instance_array__NativeArray
*)var91
)->values
[7] = (val
*) var_a
;
3742 ((struct instance_array__NativeArray
*)var91
)->values
[8] = (val
*) var79
;
3743 ((struct instance_array__NativeArray
*)var91
)->values
[9] = (val
*) var83
;
3744 ((struct instance_array__NativeArray
*)var91
)->values
[10] = (val
*) var85
;
3745 ((void (*)(val
*, val
*, long))(var89
->class->vft
[COLOR_array__Array__with_native
]))(var89
, var91
, var90
) /* with_native on <var89:Array[Object]>*/;
3747 var92
= ((val
* (*)(val
*))(var89
->class->vft
[COLOR_string__Object__to_s
]))(var89
) /* to_s on <var89:Array[Object]>*/;
3748 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var92
) /* add on <self:SeparateCompilerVisitor>*/;
3754 var97
= string__NativeString__to_s_with_length(var95
, var96
);
3758 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var94
) /* add on <self:SeparateCompilerVisitor>*/;
3759 var98
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__object_type
]))(self
) /* object_type on <self:SeparateCompilerVisitor>*/;
3760 var99
= ((val
* (*)(val
*))(var98
->class->vft
[COLOR_model__MType__as_nullable
]))(var98
) /* as_nullable on <var98:MClassType>*/;
3761 var100
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_value
, var99
) /* autobox on <self:SeparateCompilerVisitor>*/;
3764 var102
= varonce101
;
3768 var105
= string__NativeString__to_s_with_length(var103
, var104
);
3770 varonce101
= var102
;
3773 var107
= varonce106
;
3777 var110
= string__NativeString__to_s_with_length(var108
, var109
);
3779 varonce106
= var107
;
3782 var112
= varonce111
;
3786 var115
= string__NativeString__to_s_with_length(var113
, var114
);
3788 varonce111
= var112
;
3790 var116
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
3792 var118
= varonce117
;
3796 var121
= string__NativeString__to_s_with_length(var119
, var120
);
3798 varonce117
= var118
;
3800 var122
= NEW_array__Array(&type_array__Arraykernel__Object
);
3801 { /* var122 = array_instance Array[Object] */
3803 var124
= NEW_array__NativeArray(var123
, &type_array__NativeArraykernel__Object
);
3804 ((struct instance_array__NativeArray
*)var124
)->values
[0] = (val
*) var_attr
;
3805 ((struct instance_array__NativeArray
*)var124
)->values
[1] = (val
*) var102
;
3806 ((struct instance_array__NativeArray
*)var124
)->values
[2] = (val
*) var_value
;
3807 ((struct instance_array__NativeArray
*)var124
)->values
[3] = (val
*) var107
;
3808 ((struct instance_array__NativeArray
*)var124
)->values
[4] = (val
*) var_a
;
3809 ((struct instance_array__NativeArray
*)var124
)->values
[5] = (val
*) var112
;
3810 ((struct instance_array__NativeArray
*)var124
)->values
[6] = (val
*) var116
;
3811 ((struct instance_array__NativeArray
*)var124
)->values
[7] = (val
*) var118
;
3812 ((void (*)(val
*, val
*, long))(var122
->class->vft
[COLOR_array__Array__with_native
]))(var122
, var124
, var123
) /* with_native on <var122:Array[Object]>*/;
3814 var125
= ((val
* (*)(val
*))(var122
->class->vft
[COLOR_string__Object__to_s
]))(var122
) /* to_s on <var122:Array[Object]>*/;
3815 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var125
) /* add on <self:SeparateCompilerVisitor>*/;
3817 var127
= varonce126
;
3821 var130
= string__NativeString__to_s_with_length(var128
, var129
);
3823 varonce126
= var127
;
3825 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var127
) /* add on <self:SeparateCompilerVisitor>*/;
3828 var132
= varonce131
;
3832 var135
= string__NativeString__to_s_with_length(var133
, var134
);
3834 varonce131
= var132
;
3837 var137
= varonce136
;
3841 var140
= string__NativeString__to_s_with_length(var138
, var139
);
3843 varonce136
= var137
;
3846 var142
= varonce141
;
3850 var145
= string__NativeString__to_s_with_length(var143
, var144
);
3852 varonce141
= var142
;
3854 var146
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
3856 var148
= varonce147
;
3860 var151
= string__NativeString__to_s_with_length(var149
, var150
);
3862 varonce147
= var148
;
3864 var152
= NEW_array__Array(&type_array__Arraykernel__Object
);
3865 { /* var152 = array_instance Array[Object] */
3867 var154
= NEW_array__NativeArray(var153
, &type_array__NativeArraykernel__Object
);
3868 ((struct instance_array__NativeArray
*)var154
)->values
[0] = (val
*) var_attr
;
3869 ((struct instance_array__NativeArray
*)var154
)->values
[1] = (val
*) var132
;
3870 ((struct instance_array__NativeArray
*)var154
)->values
[2] = (val
*) var_value
;
3871 ((struct instance_array__NativeArray
*)var154
)->values
[3] = (val
*) var137
;
3872 ((struct instance_array__NativeArray
*)var154
)->values
[4] = (val
*) var_a
;
3873 ((struct instance_array__NativeArray
*)var154
)->values
[5] = (val
*) var142
;
3874 ((struct instance_array__NativeArray
*)var154
)->values
[6] = (val
*) var146
;
3875 ((struct instance_array__NativeArray
*)var154
)->values
[7] = (val
*) var148
;
3876 ((void (*)(val
*, val
*, long))(var152
->class->vft
[COLOR_array__Array__with_native
]))(var152
, var154
, var153
) /* with_native on <var152:Array[Object]>*/;
3878 var155
= ((val
* (*)(val
*))(var152
->class->vft
[COLOR_string__Object__to_s
]))(var152
) /* to_s on <var152:Array[Object]>*/;
3879 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var155
) /* add on <self:SeparateCompilerVisitor>*/;
3883 var157
= varonce156
;
3885 var158
= "->attrs[";
3887 var160
= string__NativeString__to_s_with_length(var158
, var159
);
3889 varonce156
= var157
;
3891 var161
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
3893 var163
= varonce162
;
3897 var166
= string__NativeString__to_s_with_length(var164
, var165
);
3899 varonce162
= var163
;
3901 var167
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctypename
]))(var_mtype
) /* ctypename on <var_mtype:MType>*/;
3903 var169
= varonce168
;
3907 var172
= string__NativeString__to_s_with_length(var170
, var171
);
3909 varonce168
= var169
;
3912 var174
= varonce173
;
3916 var177
= string__NativeString__to_s_with_length(var175
, var176
);
3918 varonce173
= var174
;
3921 var179
= varonce178
;
3925 var182
= string__NativeString__to_s_with_length(var180
, var181
);
3927 varonce178
= var179
;
3929 var183
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
3931 var185
= varonce184
;
3935 var188
= string__NativeString__to_s_with_length(var186
, var187
);
3937 varonce184
= var185
;
3939 var189
= NEW_array__Array(&type_array__Arraykernel__Object
);
3940 { /* var189 = array_instance Array[Object] */
3942 var191
= NEW_array__NativeArray(var190
, &type_array__NativeArraykernel__Object
);
3943 ((struct instance_array__NativeArray
*)var191
)->values
[0] = (val
*) var_recv
;
3944 ((struct instance_array__NativeArray
*)var191
)->values
[1] = (val
*) var157
;
3945 ((struct instance_array__NativeArray
*)var191
)->values
[2] = (val
*) var161
;
3946 ((struct instance_array__NativeArray
*)var191
)->values
[3] = (val
*) var163
;
3947 ((struct instance_array__NativeArray
*)var191
)->values
[4] = (val
*) var167
;
3948 ((struct instance_array__NativeArray
*)var191
)->values
[5] = (val
*) var169
;
3949 ((struct instance_array__NativeArray
*)var191
)->values
[6] = (val
*) var_value
;
3950 ((struct instance_array__NativeArray
*)var191
)->values
[7] = (val
*) var174
;
3951 ((struct instance_array__NativeArray
*)var191
)->values
[8] = (val
*) var_a
;
3952 ((struct instance_array__NativeArray
*)var191
)->values
[9] = (val
*) var179
;
3953 ((struct instance_array__NativeArray
*)var191
)->values
[10] = (val
*) var183
;
3954 ((struct instance_array__NativeArray
*)var191
)->values
[11] = (val
*) var185
;
3955 ((void (*)(val
*, val
*, long))(var189
->class->vft
[COLOR_array__Array__with_native
]))(var189
, var191
, var190
) /* with_native on <var189:Array[Object]>*/;
3957 var192
= ((val
* (*)(val
*))(var189
->class->vft
[COLOR_string__Object__to_s
]))(var189
) /* to_s on <var189:Array[Object]>*/;
3958 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var192
) /* add on <self:SeparateCompilerVisitor>*/;
3962 /* method separate_compiler#SeparateCompilerVisitor#write_attribute for (self: Object, MAttribute, RuntimeVariable, RuntimeVariable) */
3963 void VIRTUAL_separate_compiler__SeparateCompilerVisitor__write_attribute(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3964 separate_compiler__SeparateCompilerVisitor__write_attribute(self
, p0
, p1
, p2
);
3967 /* method separate_compiler#SeparateCompilerVisitor#hardening_live_open_type for (self: SeparateCompilerVisitor, MType) */
3968 void separate_compiler__SeparateCompilerVisitor__hardening_live_open_type(val
* self
, val
* p0
) {
3969 val
* var_mtype
/* var mtype: MType */;
3970 val
* var
/* : AbstractCompiler */;
3971 val
* var1
/* : ModelBuilder */;
3972 val
* var2
/* : ToolContext */;
3973 val
* var3
/* : OptionBool */;
3974 val
* var4
/* : nullable Object */;
3975 short int var5
/* : Bool */;
3976 short int var6
/* : Bool */;
3977 val
* var7
/* : String */;
3978 val
* var8
/* : String */;
3979 val
* var_col
/* var col: String */;
3980 static val
* varonce
;
3981 val
* var9
/* : String */;
3982 char* var10
/* : NativeString */;
3983 long var11
/* : Int */;
3984 val
* var12
/* : String */;
3985 static val
* varonce13
;
3986 val
* var14
/* : String */;
3987 char* var15
/* : NativeString */;
3988 long var16
/* : Int */;
3989 val
* var17
/* : String */;
3990 val
* var18
/* : Array[Object] */;
3991 long var19
/* : Int */;
3992 val
* var20
/* : NativeArray[Object] */;
3993 val
* var21
/* : String */;
3994 static val
* varonce22
;
3995 val
* var23
/* : String */;
3996 char* var24
/* : NativeString */;
3997 long var25
/* : Int */;
3998 val
* var26
/* : String */;
3999 val
* var27
/* : String */;
4000 val
* var28
/* : String */;
4001 static val
* varonce29
;
4002 val
* var30
/* : String */;
4003 char* var31
/* : NativeString */;
4004 long var32
/* : Int */;
4005 val
* var33
/* : String */;
4006 val
* var34
/* : Array[Object] */;
4007 long var35
/* : Int */;
4008 val
* var36
/* : NativeArray[Object] */;
4009 val
* var37
/* : String */;
4010 static val
* varonce38
;
4011 val
* var39
/* : String */;
4012 char* var40
/* : NativeString */;
4013 long var41
/* : Int */;
4014 val
* var42
/* : String */;
4015 static val
* varonce43
;
4016 val
* var44
/* : String */;
4017 char* var45
/* : NativeString */;
4018 long var46
/* : Int */;
4019 val
* var47
/* : String */;
4021 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
4022 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var
) /* modelbuilder on <var:AbstractCompiler(SeparateCompiler)>*/;
4023 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var1
) /* toolcontext on <var1:ModelBuilder>*/;
4024 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_hardening
]))(var2
) /* opt_hardening on <var2:ToolContext>*/;
4025 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_opts__Option__value
]))(var3
) /* value on <var3:OptionBool>*/;
4026 var5
= ((struct instance_kernel__Bool
*)var4
)->value
; /* autounbox from nullable Object to Bool */;
4032 var7
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_mtype
) /* const_color on <var_mtype:MType>*/;
4033 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var7
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
4034 var8
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_mtype
) /* const_color on <var_mtype:MType>*/;
4041 var12
= string__NativeString__to_s_with_length(var10
, var11
);
4048 var15
= " == -1) {";
4050 var17
= string__NativeString__to_s_with_length(var15
, var16
);
4054 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
4055 { /* var18 = array_instance Array[Object] */
4057 var20
= NEW_array__NativeArray(var19
, &type_array__NativeArraykernel__Object
);
4058 ((struct instance_array__NativeArray
*)var20
)->values
[0] = (val
*) var9
;
4059 ((struct instance_array__NativeArray
*)var20
)->values
[1] = (val
*) var_col
;
4060 ((struct instance_array__NativeArray
*)var20
)->values
[2] = (val
*) var14
;
4061 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
4063 var21
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
4064 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var21
) /* add on <self:SeparateCompilerVisitor>*/;
4068 var24
= "fprintf(stderr, \"Resolution of a dead open type: %s\\n\", \"";
4070 var26
= string__NativeString__to_s_with_length(var24
, var25
);
4074 var27
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_string__Object__to_s
]))(var_mtype
) /* to_s on <var_mtype:MType>*/;
4075 var28
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_string__AbstractString__escape_to_c
]))(var27
) /* escape_to_c on <var27:String>*/;
4081 var33
= string__NativeString__to_s_with_length(var31
, var32
);
4085 var34
= NEW_array__Array(&type_array__Arraykernel__Object
);
4086 { /* var34 = array_instance Array[Object] */
4088 var36
= NEW_array__NativeArray(var35
, &type_array__NativeArraykernel__Object
);
4089 ((struct instance_array__NativeArray
*)var36
)->values
[0] = (val
*) var23
;
4090 ((struct instance_array__NativeArray
*)var36
)->values
[1] = (val
*) var28
;
4091 ((struct instance_array__NativeArray
*)var36
)->values
[2] = (val
*) var30
;
4092 ((void (*)(val
*, val
*, long))(var34
->class->vft
[COLOR_array__Array__with_native
]))(var34
, var36
, var35
) /* with_native on <var34:Array[Object]>*/;
4094 var37
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_string__Object__to_s
]))(var34
) /* to_s on <var34:Array[Object]>*/;
4095 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var37
) /* add on <self:SeparateCompilerVisitor>*/;
4099 var40
= "open type dead";
4101 var42
= string__NativeString__to_s_with_length(var40
, var41
);
4105 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(self
, var39
) /* add_abort on <self:SeparateCompilerVisitor>*/;
4111 var47
= string__NativeString__to_s_with_length(var45
, var46
);
4115 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var44
) /* add on <self:SeparateCompilerVisitor>*/;
4118 /* method separate_compiler#SeparateCompilerVisitor#hardening_live_open_type for (self: Object, MType) */
4119 void VIRTUAL_separate_compiler__SeparateCompilerVisitor__hardening_live_open_type(val
* self
, val
* p0
) {
4120 separate_compiler__SeparateCompilerVisitor__hardening_live_open_type(self
, p0
);
4123 /* method separate_compiler#SeparateCompilerVisitor#hardening_cast_type for (self: SeparateCompilerVisitor, String) */
4124 void separate_compiler__SeparateCompilerVisitor__hardening_cast_type(val
* self
, val
* p0
) {
4125 val
* var_t
/* var t: String */;
4126 val
* var
/* : AbstractCompiler */;
4127 val
* var1
/* : ModelBuilder */;
4128 val
* var2
/* : ToolContext */;
4129 val
* var3
/* : OptionBool */;
4130 val
* var4
/* : nullable Object */;
4131 short int var5
/* : Bool */;
4132 short int var6
/* : Bool */;
4133 static val
* varonce
;
4134 val
* var7
/* : String */;
4135 char* var8
/* : NativeString */;
4136 long var9
/* : Int */;
4137 val
* var10
/* : String */;
4138 static val
* varonce11
;
4139 val
* var12
/* : String */;
4140 char* var13
/* : NativeString */;
4141 long var14
/* : Int */;
4142 val
* var15
/* : String */;
4143 val
* var16
/* : Array[Object] */;
4144 long var17
/* : Int */;
4145 val
* var18
/* : NativeArray[Object] */;
4146 val
* var19
/* : String */;
4147 static val
* varonce20
;
4148 val
* var21
/* : String */;
4149 char* var22
/* : NativeString */;
4150 long var23
/* : Int */;
4151 val
* var24
/* : String */;
4152 static val
* varonce25
;
4153 val
* var26
/* : String */;
4154 char* var27
/* : NativeString */;
4155 long var28
/* : Int */;
4156 val
* var29
/* : String */;
4157 static val
* varonce30
;
4158 val
* var31
/* : String */;
4159 char* var32
/* : NativeString */;
4160 long var33
/* : Int */;
4161 val
* var34
/* : String */;
4162 static val
* varonce35
;
4163 val
* var36
/* : String */;
4164 char* var37
/* : NativeString */;
4165 long var38
/* : Int */;
4166 val
* var39
/* : String */;
4167 static val
* varonce40
;
4168 val
* var41
/* : String */;
4169 char* var42
/* : NativeString */;
4170 long var43
/* : Int */;
4171 val
* var44
/* : String */;
4172 val
* var45
/* : Array[Object] */;
4173 long var46
/* : Int */;
4174 val
* var47
/* : NativeArray[Object] */;
4175 val
* var48
/* : String */;
4176 static val
* varonce49
;
4177 val
* var50
/* : String */;
4178 char* var51
/* : NativeString */;
4179 long var52
/* : Int */;
4180 val
* var53
/* : String */;
4181 static val
* varonce54
;
4182 val
* var55
/* : String */;
4183 char* var56
/* : NativeString */;
4184 long var57
/* : Int */;
4185 val
* var58
/* : String */;
4186 val
* var59
/* : Array[Object] */;
4187 long var60
/* : Int */;
4188 val
* var61
/* : NativeArray[Object] */;
4189 val
* var62
/* : String */;
4190 static val
* varonce63
;
4191 val
* var64
/* : String */;
4192 char* var65
/* : NativeString */;
4193 long var66
/* : Int */;
4194 val
* var67
/* : String */;
4195 static val
* varonce68
;
4196 val
* var69
/* : String */;
4197 char* var70
/* : NativeString */;
4198 long var71
/* : Int */;
4199 val
* var72
/* : String */;
4201 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
4202 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var
) /* modelbuilder on <var:AbstractCompiler(SeparateCompiler)>*/;
4203 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var1
) /* toolcontext on <var1:ModelBuilder>*/;
4204 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_hardening
]))(var2
) /* opt_hardening on <var2:ToolContext>*/;
4205 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_opts__Option__value
]))(var3
) /* value on <var3:OptionBool>*/;
4206 var5
= ((struct instance_kernel__Bool
*)var4
)->value
; /* autounbox from nullable Object to Bool */;
4217 var10
= string__NativeString__to_s_with_length(var8
, var9
);
4224 var13
= " == NULL) {";
4226 var15
= string__NativeString__to_s_with_length(var13
, var14
);
4230 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
4231 { /* var16 = array_instance Array[Object] */
4233 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArraykernel__Object
);
4234 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var7
;
4235 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var_t
;
4236 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var12
;
4237 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
4239 var19
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
4240 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var19
) /* add on <self:SeparateCompilerVisitor>*/;
4244 var22
= "cast type null";
4246 var24
= string__NativeString__to_s_with_length(var22
, var23
);
4250 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(self
, var21
) /* add_abort on <self:SeparateCompilerVisitor>*/;
4256 var29
= string__NativeString__to_s_with_length(var27
, var28
);
4260 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var26
) /* add on <self:SeparateCompilerVisitor>*/;
4266 var34
= string__NativeString__to_s_with_length(var32
, var33
);
4273 var37
= "->id == -1 || ";
4275 var39
= string__NativeString__to_s_with_length(var37
, var38
);
4282 var42
= "->color == -1) {";
4284 var44
= string__NativeString__to_s_with_length(var42
, var43
);
4288 var45
= NEW_array__Array(&type_array__Arraykernel__Object
);
4289 { /* var45 = array_instance Array[Object] */
4291 var47
= NEW_array__NativeArray(var46
, &type_array__NativeArraykernel__Object
);
4292 ((struct instance_array__NativeArray
*)var47
)->values
[0] = (val
*) var31
;
4293 ((struct instance_array__NativeArray
*)var47
)->values
[1] = (val
*) var_t
;
4294 ((struct instance_array__NativeArray
*)var47
)->values
[2] = (val
*) var36
;
4295 ((struct instance_array__NativeArray
*)var47
)->values
[3] = (val
*) var_t
;
4296 ((struct instance_array__NativeArray
*)var47
)->values
[4] = (val
*) var41
;
4297 ((void (*)(val
*, val
*, long))(var45
->class->vft
[COLOR_array__Array__with_native
]))(var45
, var47
, var46
) /* with_native on <var45:Array[Object]>*/;
4299 var48
= ((val
* (*)(val
*))(var45
->class->vft
[COLOR_string__Object__to_s
]))(var45
) /* to_s on <var45:Array[Object]>*/;
4300 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var48
) /* add on <self:SeparateCompilerVisitor>*/;
4304 var51
= "fprintf(stderr, \"Try to cast on a dead cast type: %s\\n\", ";
4306 var53
= string__NativeString__to_s_with_length(var51
, var52
);
4315 var58
= string__NativeString__to_s_with_length(var56
, var57
);
4319 var59
= NEW_array__Array(&type_array__Arraykernel__Object
);
4320 { /* var59 = array_instance Array[Object] */
4322 var61
= NEW_array__NativeArray(var60
, &type_array__NativeArraykernel__Object
);
4323 ((struct instance_array__NativeArray
*)var61
)->values
[0] = (val
*) var50
;
4324 ((struct instance_array__NativeArray
*)var61
)->values
[1] = (val
*) var_t
;
4325 ((struct instance_array__NativeArray
*)var61
)->values
[2] = (val
*) var55
;
4326 ((void (*)(val
*, val
*, long))(var59
->class->vft
[COLOR_array__Array__with_native
]))(var59
, var61
, var60
) /* with_native on <var59:Array[Object]>*/;
4328 var62
= ((val
* (*)(val
*))(var59
->class->vft
[COLOR_string__Object__to_s
]))(var59
) /* to_s on <var59:Array[Object]>*/;
4329 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var62
) /* add on <self:SeparateCompilerVisitor>*/;
4333 var65
= "cast type dead";
4335 var67
= string__NativeString__to_s_with_length(var65
, var66
);
4339 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(self
, var64
) /* add_abort on <self:SeparateCompilerVisitor>*/;
4345 var72
= string__NativeString__to_s_with_length(var70
, var71
);
4349 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var69
) /* add on <self:SeparateCompilerVisitor>*/;
4352 /* method separate_compiler#SeparateCompilerVisitor#hardening_cast_type for (self: Object, String) */
4353 void VIRTUAL_separate_compiler__SeparateCompilerVisitor__hardening_cast_type(val
* self
, val
* p0
) {
4354 separate_compiler__SeparateCompilerVisitor__hardening_cast_type(self
, p0
);
4357 /* method separate_compiler#SeparateCompilerVisitor#init_instance for (self: SeparateCompilerVisitor, MClassType): RuntimeVariable */
4358 val
* separate_compiler__SeparateCompilerVisitor__init_instance(val
* self
, val
* p0
) {
4359 val
* var
/* : RuntimeVariable */;
4360 val
* var_mtype
/* var mtype: MClassType */;
4361 static val
* varonce
;
4362 val
* var1
/* : String */;
4363 char* var2
/* : NativeString */;
4364 long var3
/* : Int */;
4365 val
* var4
/* : String */;
4366 val
* var5
/* : MClass */;
4367 val
* var6
/* : String */;
4368 val
* var7
/* : Array[Object] */;
4369 long var8
/* : Int */;
4370 val
* var9
/* : NativeArray[Object] */;
4371 val
* var10
/* : String */;
4372 val
* var11
/* : AbstractCompiler */;
4373 val
* var_compiler
/* var compiler: SeparateCompiler */;
4374 short int var12
/* : Bool */;
4375 short int var13
/* : Bool */;
4378 short int var_
/* var : Bool */;
4379 short int var14
/* : Bool */;
4380 val
* var15
/* : nullable Frame */;
4381 val
* var16
/* : MPropDef */;
4382 val
* var17
/* : MClassDef */;
4383 val
* var18
/* : nullable Frame */;
4384 val
* var19
/* : Array[RuntimeVariable] */;
4385 val
* var20
/* : nullable Object */;
4386 val
* var_recv
/* var recv: RuntimeVariable */;
4387 val
* var21
/* : String */;
4388 val
* var_recv_type_info
/* var recv_type_info: String */;
4389 val
* var22
/* : String */;
4390 short int var23
/* : Bool */;
4391 val
* var24
/* : ModelBuilder */;
4392 val
* var25
/* : ToolContext */;
4393 val
* var26
/* : OptionBool */;
4394 val
* var27
/* : nullable Object */;
4395 short int var28
/* : Bool */;
4396 short int var_29
/* var : Bool */;
4397 val
* var30
/* : ModelBuilder */;
4398 val
* var31
/* : ToolContext */;
4399 val
* var32
/* : OptionBool */;
4400 val
* var33
/* : nullable Object */;
4401 short int var34
/* : Bool */;
4402 static val
* varonce35
;
4403 val
* var36
/* : String */;
4404 char* var37
/* : NativeString */;
4405 long var38
/* : Int */;
4406 val
* var39
/* : String */;
4407 val
* var40
/* : MClass */;
4408 val
* var41
/* : String */;
4409 static val
* varonce42
;
4410 val
* var43
/* : String */;
4411 char* var44
/* : NativeString */;
4412 long var45
/* : Int */;
4413 val
* var46
/* : String */;
4414 static val
* varonce47
;
4415 val
* var48
/* : String */;
4416 char* var49
/* : NativeString */;
4417 long var50
/* : Int */;
4418 val
* var51
/* : String */;
4419 static val
* varonce52
;
4420 val
* var53
/* : String */;
4421 char* var54
/* : NativeString */;
4422 long var55
/* : Int */;
4423 val
* var56
/* : String */;
4424 val
* var57
/* : String */;
4425 static val
* varonce58
;
4426 val
* var59
/* : String */;
4427 char* var60
/* : NativeString */;
4428 long var61
/* : Int */;
4429 val
* var62
/* : String */;
4430 val
* var63
/* : Array[Object] */;
4431 long var64
/* : Int */;
4432 val
* var65
/* : NativeArray[Object] */;
4433 val
* var66
/* : String */;
4434 val
* var67
/* : RuntimeVariable */;
4435 static val
* varonce68
;
4436 val
* var69
/* : String */;
4437 char* var70
/* : NativeString */;
4438 long var71
/* : Int */;
4439 val
* var72
/* : String */;
4440 val
* var73
/* : MClass */;
4441 val
* var74
/* : String */;
4442 static val
* varonce75
;
4443 val
* var76
/* : String */;
4444 char* var77
/* : NativeString */;
4445 long var78
/* : Int */;
4446 val
* var79
/* : String */;
4447 static val
* varonce80
;
4448 val
* var81
/* : String */;
4449 char* var82
/* : NativeString */;
4450 long var83
/* : Int */;
4451 val
* var84
/* : String */;
4452 val
* var85
/* : String */;
4453 static val
* varonce86
;
4454 val
* var87
/* : String */;
4455 char* var88
/* : NativeString */;
4456 long var89
/* : Int */;
4457 val
* var90
/* : String */;
4458 val
* var91
/* : Array[Object] */;
4459 long var92
/* : Int */;
4460 val
* var93
/* : NativeArray[Object] */;
4461 val
* var94
/* : String */;
4462 val
* var95
/* : RuntimeVariable */;
4463 val
* var96
/* : Set[MType] */;
4464 static val
* varonce97
;
4465 val
* var98
/* : String */;
4466 char* var99
/* : NativeString */;
4467 long var100
/* : Int */;
4468 val
* var101
/* : String */;
4469 val
* var102
/* : String */;
4470 val
* var103
/* : Array[Object] */;
4471 long var104
/* : Int */;
4472 val
* var105
/* : NativeArray[Object] */;
4473 val
* var106
/* : String */;
4474 static val
* varonce107
;
4475 val
* var108
/* : String */;
4476 char* var109
/* : NativeString */;
4477 long var110
/* : Int */;
4478 val
* var111
/* : String */;
4479 val
* var112
/* : MClass */;
4480 val
* var113
/* : String */;
4481 static val
* varonce114
;
4482 val
* var115
/* : String */;
4483 char* var116
/* : NativeString */;
4484 long var117
/* : Int */;
4485 val
* var118
/* : String */;
4486 val
* var119
/* : String */;
4487 static val
* varonce120
;
4488 val
* var121
/* : String */;
4489 char* var122
/* : NativeString */;
4490 long var123
/* : Int */;
4491 val
* var124
/* : String */;
4492 val
* var125
/* : Array[Object] */;
4493 long var126
/* : Int */;
4494 val
* var127
/* : NativeArray[Object] */;
4495 val
* var128
/* : String */;
4496 val
* var129
/* : RuntimeVariable */;
4503 var4
= string__NativeString__to_s_with_length(var2
, var3
);
4507 var5
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType>*/;
4508 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var5
) /* c_name on <var5:MClass>*/;
4509 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
4510 { /* var7 = array_instance Array[Object] */
4512 var9
= NEW_array__NativeArray(var8
, &type_array__NativeArraykernel__Object
);
4513 ((struct instance_array__NativeArray
*)var9
)->values
[0] = (val
*) var1
;
4514 ((struct instance_array__NativeArray
*)var9
)->values
[1] = (val
*) var6
;
4515 ((void (*)(val
*, val
*, long))(var7
->class->vft
[COLOR_array__Array__with_native
]))(var7
, var9
, var8
) /* with_native on <var7:Array[Object]>*/;
4517 var10
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_string__Object__to_s
]))(var7
) /* to_s on <var7:Array[Object]>*/;
4518 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var10
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
4519 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
4520 var_compiler
= var11
;
4521 /* <var_mtype:MClassType> isa MGenericType */
4522 cltype
= type_model__MGenericType
.color
;
4523 idtype
= type_model__MGenericType
.id
;
4524 if(cltype
>= var_mtype
->type
->table_size
) {
4527 var13
= var_mtype
->type
->type_table
[cltype
] == idtype
;
4531 var14
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MClassType(MGenericType)>*/;
4537 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__hardening_live_open_type
]))(self
, var_mtype
) /* hardening_live_open_type on <self:SeparateCompilerVisitor>*/;
4538 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
4539 if (var15
== NULL
) {
4540 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
4541 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1322);
4544 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var15
) /* mpropdef on <var15:nullable Frame>*/;
4546 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var16
) /* mclassdef on <var16:MPropDef>*/;
4547 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__link_unresolved_type
]))(self
, var17
, var_mtype
) /* link_unresolved_type on <self:SeparateCompilerVisitor>*/;
4548 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
4549 if (var18
== NULL
) {
4550 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
4551 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1323);
4554 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_abstract_compiler__Frame__arguments
]))(var18
) /* arguments on <var18:nullable Frame>*/;
4556 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var19
) /* first on <var19:Array[RuntimeVariable]>*/;
4558 var21
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__type_info
]))(self
, var_recv
) /* type_info on <self:SeparateCompilerVisitor>*/;
4559 var_recv_type_info
= var21
;
4560 var22
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_mtype
) /* const_color on <var_mtype:MClassType(MGenericType)>*/;
4561 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var22
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
4562 var24
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
4563 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var24
) /* toolcontext on <var24:ModelBuilder>*/;
4564 var26
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phmod_typing
]))(var25
) /* opt_phmod_typing on <var25:ToolContext>*/;
4565 var27
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_opts__Option__value
]))(var26
) /* value on <var26:OptionBool>*/;
4566 var28
= ((struct instance_kernel__Bool
*)var27
)->value
; /* autounbox from nullable Object to Bool */;
4571 var30
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
4572 var31
= ((val
* (*)(val
*))(var30
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var30
) /* toolcontext on <var30:ModelBuilder>*/;
4573 var32
= ((val
* (*)(val
*))(var31
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phand_typing
]))(var31
) /* opt_phand_typing on <var31:ToolContext>*/;
4574 var33
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_opts__Option__value
]))(var32
) /* value on <var32:OptionBool>*/;
4575 var34
= ((struct instance_kernel__Bool
*)var33
)->value
; /* autounbox from nullable Object to Bool */;
4584 var39
= string__NativeString__to_s_with_length(var37
, var38
);
4588 var40
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType(MGenericType)>*/;
4589 var41
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var40
) /* c_name on <var40:MClass>*/;
4595 var46
= string__NativeString__to_s_with_length(var44
, var45
);
4602 var49
= "->resolution_table->types[HASH(";
4604 var51
= string__NativeString__to_s_with_length(var49
, var50
);
4611 var54
= "->resolution_table->mask, ";
4613 var56
= string__NativeString__to_s_with_length(var54
, var55
);
4617 var57
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_mtype
) /* const_color on <var_mtype:MClassType(MGenericType)>*/;
4623 var62
= string__NativeString__to_s_with_length(var60
, var61
);
4627 var63
= NEW_array__Array(&type_array__Arraykernel__Object
);
4628 { /* var63 = array_instance Array[Object] */
4630 var65
= NEW_array__NativeArray(var64
, &type_array__NativeArraykernel__Object
);
4631 ((struct instance_array__NativeArray
*)var65
)->values
[0] = (val
*) var36
;
4632 ((struct instance_array__NativeArray
*)var65
)->values
[1] = (val
*) var41
;
4633 ((struct instance_array__NativeArray
*)var65
)->values
[2] = (val
*) var43
;
4634 ((struct instance_array__NativeArray
*)var65
)->values
[3] = (val
*) var_recv_type_info
;
4635 ((struct instance_array__NativeArray
*)var65
)->values
[4] = (val
*) var48
;
4636 ((struct instance_array__NativeArray
*)var65
)->values
[5] = (val
*) var_recv_type_info
;
4637 ((struct instance_array__NativeArray
*)var65
)->values
[6] = (val
*) var53
;
4638 ((struct instance_array__NativeArray
*)var65
)->values
[7] = (val
*) var57
;
4639 ((struct instance_array__NativeArray
*)var65
)->values
[8] = (val
*) var59
;
4640 ((void (*)(val
*, val
*, long))(var63
->class->vft
[COLOR_array__Array__with_native
]))(var63
, var65
, var64
) /* with_native on <var63:Array[Object]>*/;
4642 var66
= ((val
* (*)(val
*))(var63
->class->vft
[COLOR_string__Object__to_s
]))(var63
) /* to_s on <var63:Array[Object]>*/;
4643 var67
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(self
, var66
, var_mtype
) /* new_expr on <self:SeparateCompilerVisitor>*/;
4652 var72
= string__NativeString__to_s_with_length(var70
, var71
);
4656 var73
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType(MGenericType)>*/;
4657 var74
= ((val
* (*)(val
*))(var73
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var73
) /* c_name on <var73:MClass>*/;
4663 var79
= string__NativeString__to_s_with_length(var77
, var78
);
4670 var82
= "->resolution_table->types[";
4672 var84
= string__NativeString__to_s_with_length(var82
, var83
);
4676 var85
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_mtype
) /* const_color on <var_mtype:MClassType(MGenericType)>*/;
4682 var90
= string__NativeString__to_s_with_length(var88
, var89
);
4686 var91
= NEW_array__Array(&type_array__Arraykernel__Object
);
4687 { /* var91 = array_instance Array[Object] */
4689 var93
= NEW_array__NativeArray(var92
, &type_array__NativeArraykernel__Object
);
4690 ((struct instance_array__NativeArray
*)var93
)->values
[0] = (val
*) var69
;
4691 ((struct instance_array__NativeArray
*)var93
)->values
[1] = (val
*) var74
;
4692 ((struct instance_array__NativeArray
*)var93
)->values
[2] = (val
*) var76
;
4693 ((struct instance_array__NativeArray
*)var93
)->values
[3] = (val
*) var_recv_type_info
;
4694 ((struct instance_array__NativeArray
*)var93
)->values
[4] = (val
*) var81
;
4695 ((struct instance_array__NativeArray
*)var93
)->values
[5] = (val
*) var85
;
4696 ((struct instance_array__NativeArray
*)var93
)->values
[6] = (val
*) var87
;
4697 ((void (*)(val
*, val
*, long))(var91
->class->vft
[COLOR_array__Array__with_native
]))(var91
, var93
, var92
) /* with_native on <var91:Array[Object]>*/;
4699 var94
= ((val
* (*)(val
*))(var91
->class->vft
[COLOR_string__Object__to_s
]))(var91
) /* to_s on <var91:Array[Object]>*/;
4700 var95
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(self
, var94
, var_mtype
) /* new_expr on <self:SeparateCompilerVisitor>*/;
4706 var96
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_separate_compiler__SeparateCompiler__undead_types
]))(var_compiler
) /* undead_types on <var_compiler:SeparateCompiler>*/;
4707 ((void (*)(val
*, val
*))(var96
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var96
, var_mtype
) /* add on <var96:Set[MType]>*/;
4713 var101
= string__NativeString__to_s_with_length(var99
, var100
);
4717 var102
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType>*/;
4718 var103
= NEW_array__Array(&type_array__Arraykernel__Object
);
4719 { /* var103 = array_instance Array[Object] */
4721 var105
= NEW_array__NativeArray(var104
, &type_array__NativeArraykernel__Object
);
4722 ((struct instance_array__NativeArray
*)var105
)->values
[0] = (val
*) var98
;
4723 ((struct instance_array__NativeArray
*)var105
)->values
[1] = (val
*) var102
;
4724 ((void (*)(val
*, val
*, long))(var103
->class->vft
[COLOR_array__Array__with_native
]))(var103
, var105
, var104
) /* with_native on <var103:Array[Object]>*/;
4726 var106
= ((val
* (*)(val
*))(var103
->class->vft
[COLOR_string__Object__to_s
]))(var103
) /* to_s on <var103:Array[Object]>*/;
4727 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var106
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
4729 var108
= varonce107
;
4733 var111
= string__NativeString__to_s_with_length(var109
, var110
);
4735 varonce107
= var108
;
4737 var112
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType>*/;
4738 var113
= ((val
* (*)(val
*))(var112
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var112
) /* c_name on <var112:MClass>*/;
4740 var115
= varonce114
;
4744 var118
= string__NativeString__to_s_with_length(var116
, var117
);
4746 varonce114
= var115
;
4748 var119
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType>*/;
4750 var121
= varonce120
;
4754 var124
= string__NativeString__to_s_with_length(var122
, var123
);
4756 varonce120
= var121
;
4758 var125
= NEW_array__Array(&type_array__Arraykernel__Object
);
4759 { /* var125 = array_instance Array[Object] */
4761 var127
= NEW_array__NativeArray(var126
, &type_array__NativeArraykernel__Object
);
4762 ((struct instance_array__NativeArray
*)var127
)->values
[0] = (val
*) var108
;
4763 ((struct instance_array__NativeArray
*)var127
)->values
[1] = (val
*) var113
;
4764 ((struct instance_array__NativeArray
*)var127
)->values
[2] = (val
*) var115
;
4765 ((struct instance_array__NativeArray
*)var127
)->values
[3] = (val
*) var119
;
4766 ((struct instance_array__NativeArray
*)var127
)->values
[4] = (val
*) var121
;
4767 ((void (*)(val
*, val
*, long))(var125
->class->vft
[COLOR_array__Array__with_native
]))(var125
, var127
, var126
) /* with_native on <var125:Array[Object]>*/;
4769 var128
= ((val
* (*)(val
*))(var125
->class->vft
[COLOR_string__Object__to_s
]))(var125
) /* to_s on <var125:Array[Object]>*/;
4770 var129
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(self
, var128
, var_mtype
) /* new_expr on <self:SeparateCompilerVisitor>*/;
4776 /* method separate_compiler#SeparateCompilerVisitor#init_instance for (self: Object, MClassType): RuntimeVariable */
4777 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__init_instance(val
* self
, val
* p0
) {
4778 val
* var
/* : RuntimeVariable */;
4779 val
* var1
/* : RuntimeVariable */;
4780 var1
= separate_compiler__SeparateCompilerVisitor__init_instance(self
, p0
);
4785 /* method separate_compiler#SeparateCompilerVisitor#type_test for (self: SeparateCompilerVisitor, RuntimeVariable, MType, String): RuntimeVariable */
4786 val
* separate_compiler__SeparateCompilerVisitor__type_test(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4787 val
* var
/* : RuntimeVariable */;
4788 val
* var_value
/* var value: RuntimeVariable */;
4789 val
* var_mtype
/* var mtype: MType */;
4790 val
* var_tag
/* var tag: String */;
4791 static val
* varonce
;
4792 val
* var1
/* : String */;
4793 char* var2
/* : NativeString */;
4794 long var3
/* : Int */;
4795 val
* var4
/* : String */;
4796 val
* var5
/* : String */;
4797 static val
* varonce6
;
4798 val
* var7
/* : String */;
4799 char* var8
/* : NativeString */;
4800 long var9
/* : Int */;
4801 val
* var10
/* : String */;
4802 static val
* varonce11
;
4803 val
* var12
/* : String */;
4804 char* var13
/* : NativeString */;
4805 long var14
/* : Int */;
4806 val
* var15
/* : String */;
4807 val
* var16
/* : Array[Object] */;
4808 long var17
/* : Int */;
4809 val
* var18
/* : NativeArray[Object] */;
4810 val
* var19
/* : String */;
4811 val
* var20
/* : AbstractCompiler */;
4812 val
* var_compiler
/* var compiler: SeparateCompiler */;
4813 val
* var21
/* : nullable Frame */;
4814 val
* var22
/* : Array[RuntimeVariable] */;
4815 val
* var23
/* : nullable Object */;
4816 val
* var_recv
/* var recv: RuntimeVariable */;
4817 val
* var24
/* : String */;
4818 val
* var_recv_type_info
/* var recv_type_info: String */;
4819 val
* var25
/* : MClassType */;
4820 val
* var26
/* : RuntimeVariable */;
4821 val
* var_res
/* var res: RuntimeVariable */;
4822 static val
* varonce27
;
4823 val
* var28
/* : String */;
4824 char* var29
/* : NativeString */;
4825 long var30
/* : Int */;
4826 val
* var31
/* : String */;
4827 val
* var32
/* : String */;
4828 val
* var_cltype
/* var cltype: String */;
4829 static val
* varonce33
;
4830 val
* var34
/* : String */;
4831 char* var35
/* : NativeString */;
4832 long var36
/* : Int */;
4833 val
* var37
/* : String */;
4834 static val
* varonce38
;
4835 val
* var39
/* : String */;
4836 char* var40
/* : NativeString */;
4837 long var41
/* : Int */;
4838 val
* var42
/* : String */;
4839 val
* var43
/* : Array[Object] */;
4840 long var44
/* : Int */;
4841 val
* var45
/* : NativeArray[Object] */;
4842 val
* var46
/* : String */;
4843 static val
* varonce47
;
4844 val
* var48
/* : String */;
4845 char* var49
/* : NativeString */;
4846 long var50
/* : Int */;
4847 val
* var51
/* : String */;
4848 val
* var52
/* : String */;
4849 val
* var_idtype
/* var idtype: String */;
4850 static val
* varonce53
;
4851 val
* var54
/* : String */;
4852 char* var55
/* : NativeString */;
4853 long var56
/* : Int */;
4854 val
* var57
/* : String */;
4855 static val
* varonce58
;
4856 val
* var59
/* : String */;
4857 char* var60
/* : NativeString */;
4858 long var61
/* : Int */;
4859 val
* var62
/* : String */;
4860 val
* var63
/* : Array[Object] */;
4861 long var64
/* : Int */;
4862 val
* var65
/* : NativeArray[Object] */;
4863 val
* var66
/* : String */;
4864 short int var67
/* : Bool */;
4865 short int var_maybe_null
/* var maybe_null: Bool */;
4866 static val
* varonce68
;
4867 val
* var69
/* : String */;
4868 char* var70
/* : NativeString */;
4869 long var71
/* : Int */;
4870 val
* var72
/* : String */;
4871 val
* var_accept_null
/* var accept_null: String */;
4872 val
* var_ntype
/* var ntype: MType */;
4873 short int var73
/* : Bool */;
4876 val
* var74
/* : MType */;
4877 static val
* varonce75
;
4878 val
* var76
/* : String */;
4879 char* var77
/* : NativeString */;
4880 long var78
/* : Int */;
4881 val
* var79
/* : String */;
4882 val
* var80
/* : MType */;
4883 val
* var81
/* : nullable Frame */;
4884 val
* var82
/* : MPropDef */;
4885 val
* var83
/* : MClassDef */;
4886 val
* var84
/* : MModule */;
4887 val
* var85
/* : nullable Frame */;
4888 val
* var86
/* : MPropDef */;
4889 val
* var87
/* : MClassDef */;
4890 val
* var88
/* : MClassType */;
4891 short int var89
/* : Bool */;
4892 static val
* varonce90
;
4893 val
* var91
/* : String */;
4894 char* var92
/* : NativeString */;
4895 long var93
/* : Int */;
4896 val
* var94
/* : String */;
4897 val
* var95
/* : String */;
4898 static val
* varonce96
;
4899 val
* var97
/* : String */;
4900 char* var98
/* : NativeString */;
4901 long var99
/* : Int */;
4902 val
* var100
/* : String */;
4903 static val
* varonce101
;
4904 val
* var102
/* : String */;
4905 char* var103
/* : NativeString */;
4906 long var104
/* : Int */;
4907 val
* var105
/* : String */;
4908 val
* var106
/* : Array[Object] */;
4909 long var107
/* : Int */;
4910 val
* var108
/* : NativeArray[Object] */;
4911 val
* var109
/* : String */;
4912 val
* var110
/* : ModelBuilder */;
4913 val
* var111
/* : ToolContext */;
4914 val
* var112
/* : OptionBool */;
4915 val
* var113
/* : nullable Object */;
4916 short int var114
/* : Bool */;
4917 val
* var115
/* : AbstractCompiler */;
4918 val
* var116
/* : HashMap[String, Int] */;
4919 val
* var_
/* var : HashMap[String, Int] */;
4920 val
* var_117
/* var : String */;
4921 val
* var118
/* : nullable Object */;
4922 long var119
/* : Int */;
4923 long var120
/* : Int */;
4924 long var122
/* : Int */;
4925 long var123
/* : Int */;
4926 val
* var124
/* : nullable Object */;
4927 static val
* varonce125
;
4928 val
* var126
/* : String */;
4929 char* var127
/* : NativeString */;
4930 long var128
/* : Int */;
4931 val
* var129
/* : String */;
4932 static val
* varonce130
;
4933 val
* var131
/* : String */;
4934 char* var132
/* : NativeString */;
4935 long var133
/* : Int */;
4936 val
* var134
/* : String */;
4937 val
* var135
/* : Array[Object] */;
4938 long var136
/* : Int */;
4939 val
* var137
/* : NativeArray[Object] */;
4940 val
* var138
/* : String */;
4941 short int var139
/* : Bool */;
4942 static val
* varonce140
;
4943 val
* var141
/* : String */;
4944 char* var142
/* : NativeString */;
4945 long var143
/* : Int */;
4946 val
* var144
/* : String */;
4947 val
* var145
/* : String */;
4948 val
* var_type_struct
/* var type_struct: String */;
4949 static val
* varonce146
;
4950 val
* var147
/* : String */;
4951 char* var148
/* : NativeString */;
4952 long var149
/* : Int */;
4953 val
* var150
/* : String */;
4954 static val
* varonce151
;
4955 val
* var152
/* : String */;
4956 char* var153
/* : NativeString */;
4957 long var154
/* : Int */;
4958 val
* var155
/* : String */;
4959 val
* var156
/* : Array[Object] */;
4960 long var157
/* : Int */;
4961 val
* var158
/* : NativeArray[Object] */;
4962 val
* var159
/* : String */;
4963 val
* var160
/* : nullable Frame */;
4964 val
* var161
/* : MPropDef */;
4965 val
* var162
/* : MClassDef */;
4966 val
* var163
/* : String */;
4967 short int var164
/* : Bool */;
4968 val
* var165
/* : ModelBuilder */;
4969 val
* var166
/* : ToolContext */;
4970 val
* var167
/* : OptionBool */;
4971 val
* var168
/* : nullable Object */;
4972 short int var169
/* : Bool */;
4973 short int var_170
/* var : Bool */;
4974 val
* var171
/* : ModelBuilder */;
4975 val
* var172
/* : ToolContext */;
4976 val
* var173
/* : OptionBool */;
4977 val
* var174
/* : nullable Object */;
4978 short int var175
/* : Bool */;
4979 static val
* varonce176
;
4980 val
* var177
/* : String */;
4981 char* var178
/* : NativeString */;
4982 long var179
/* : Int */;
4983 val
* var180
/* : String */;
4984 static val
* varonce181
;
4985 val
* var182
/* : String */;
4986 char* var183
/* : NativeString */;
4987 long var184
/* : Int */;
4988 val
* var185
/* : String */;
4989 static val
* varonce186
;
4990 val
* var187
/* : String */;
4991 char* var188
/* : NativeString */;
4992 long var189
/* : Int */;
4993 val
* var190
/* : String */;
4994 val
* var191
/* : String */;
4995 static val
* varonce192
;
4996 val
* var193
/* : String */;
4997 char* var194
/* : NativeString */;
4998 long var195
/* : Int */;
4999 val
* var196
/* : String */;
5000 val
* var197
/* : Array[Object] */;
5001 long var198
/* : Int */;
5002 val
* var199
/* : NativeArray[Object] */;
5003 val
* var200
/* : String */;
5004 static val
* varonce201
;
5005 val
* var202
/* : String */;
5006 char* var203
/* : NativeString */;
5007 long var204
/* : Int */;
5008 val
* var205
/* : String */;
5009 static val
* varonce206
;
5010 val
* var207
/* : String */;
5011 char* var208
/* : NativeString */;
5012 long var209
/* : Int */;
5013 val
* var210
/* : String */;
5014 val
* var211
/* : String */;
5015 static val
* varonce212
;
5016 val
* var213
/* : String */;
5017 char* var214
/* : NativeString */;
5018 long var215
/* : Int */;
5019 val
* var216
/* : String */;
5020 val
* var217
/* : Array[Object] */;
5021 long var218
/* : Int */;
5022 val
* var219
/* : NativeArray[Object] */;
5023 val
* var220
/* : String */;
5024 val
* var221
/* : ModelBuilder */;
5025 val
* var222
/* : ToolContext */;
5026 val
* var223
/* : OptionBool */;
5027 val
* var224
/* : nullable Object */;
5028 short int var225
/* : Bool */;
5029 val
* var226
/* : AbstractCompiler */;
5030 val
* var227
/* : HashMap[String, Int] */;
5031 val
* var_228
/* var : HashMap[String, Int] */;
5032 val
* var_229
/* var : String */;
5033 val
* var230
/* : nullable Object */;
5034 long var231
/* : Int */;
5035 long var232
/* : Int */;
5036 long var234
/* : Int */;
5037 long var235
/* : Int */;
5038 val
* var236
/* : nullable Object */;
5039 static val
* varonce237
;
5040 val
* var238
/* : String */;
5041 char* var239
/* : NativeString */;
5042 long var240
/* : Int */;
5043 val
* var241
/* : String */;
5044 static val
* varonce242
;
5045 val
* var243
/* : String */;
5046 char* var244
/* : NativeString */;
5047 long var245
/* : Int */;
5048 val
* var246
/* : String */;
5049 val
* var247
/* : Array[Object] */;
5050 long var248
/* : Int */;
5051 val
* var249
/* : NativeArray[Object] */;
5052 val
* var250
/* : String */;
5053 static val
* varonce251
;
5054 val
* var252
/* : String */;
5055 char* var253
/* : NativeString */;
5056 long var254
/* : Int */;
5057 val
* var255
/* : String */;
5058 static val
* varonce256
;
5059 val
* var257
/* : String */;
5060 char* var258
/* : NativeString */;
5061 long var259
/* : Int */;
5062 val
* var260
/* : String */;
5063 val
* var261
/* : Array[Object] */;
5064 long var262
/* : Int */;
5065 val
* var263
/* : NativeArray[Object] */;
5066 val
* var264
/* : String */;
5067 static val
* varonce265
;
5068 val
* var266
/* : String */;
5069 char* var267
/* : NativeString */;
5070 long var268
/* : Int */;
5071 val
* var269
/* : String */;
5072 static val
* varonce270
;
5073 val
* var271
/* : String */;
5074 char* var272
/* : NativeString */;
5075 long var273
/* : Int */;
5076 val
* var274
/* : String */;
5077 val
* var275
/* : Array[Object] */;
5078 long var276
/* : Int */;
5079 val
* var277
/* : NativeArray[Object] */;
5080 val
* var278
/* : String */;
5081 short int var279
/* : Bool */;
5082 short int var_280
/* var : Bool */;
5083 static val
* varonce281
;
5084 val
* var282
/* : String */;
5085 char* var283
/* : NativeString */;
5086 long var284
/* : Int */;
5087 val
* var285
/* : String */;
5088 short int var286
/* : Bool */;
5089 static val
* varonce287
;
5090 val
* var288
/* : String */;
5091 char* var289
/* : NativeString */;
5092 long var290
/* : Int */;
5093 val
* var291
/* : String */;
5094 val
* var292
/* : String */;
5095 val
* var_is_nullable
/* var is_nullable: String */;
5096 static val
* varonce293
;
5097 val
* var294
/* : String */;
5098 char* var295
/* : NativeString */;
5099 long var296
/* : Int */;
5100 val
* var297
/* : String */;
5101 static val
* varonce298
;
5102 val
* var299
/* : String */;
5103 char* var300
/* : NativeString */;
5104 long var301
/* : Int */;
5105 val
* var302
/* : String */;
5106 val
* var303
/* : Array[Object] */;
5107 long var304
/* : Int */;
5108 val
* var305
/* : NativeArray[Object] */;
5109 val
* var306
/* : String */;
5110 static val
* varonce307
;
5111 val
* var308
/* : String */;
5112 char* var309
/* : NativeString */;
5113 long var310
/* : Int */;
5114 val
* var311
/* : String */;
5115 static val
* varonce312
;
5116 val
* var313
/* : String */;
5117 char* var314
/* : NativeString */;
5118 long var315
/* : Int */;
5119 val
* var316
/* : String */;
5120 val
* var317
/* : Array[Object] */;
5121 long var318
/* : Int */;
5122 val
* var319
/* : NativeArray[Object] */;
5123 val
* var320
/* : String */;
5124 val
* var321
/* : String */;
5125 short int var322
/* : Bool */;
5128 val
* var325
/* : Set[MType] */;
5129 static val
* varonce326
;
5130 val
* var327
/* : String */;
5131 char* var328
/* : NativeString */;
5132 long var329
/* : Int */;
5133 val
* var330
/* : String */;
5134 val
* var331
/* : String */;
5135 val
* var332
/* : Array[Object] */;
5136 long var333
/* : Int */;
5137 val
* var334
/* : NativeArray[Object] */;
5138 val
* var335
/* : String */;
5139 static val
* varonce336
;
5140 val
* var337
/* : String */;
5141 char* var338
/* : NativeString */;
5142 long var339
/* : Int */;
5143 val
* var340
/* : String */;
5144 val
* var341
/* : String */;
5145 static val
* varonce342
;
5146 val
* var343
/* : String */;
5147 char* var344
/* : NativeString */;
5148 long var345
/* : Int */;
5149 val
* var346
/* : String */;
5150 val
* var347
/* : Array[Object] */;
5151 long var348
/* : Int */;
5152 val
* var349
/* : NativeArray[Object] */;
5153 val
* var350
/* : String */;
5154 static val
* varonce351
;
5155 val
* var352
/* : String */;
5156 char* var353
/* : NativeString */;
5157 long var354
/* : Int */;
5158 val
* var355
/* : String */;
5159 val
* var356
/* : String */;
5160 static val
* varonce357
;
5161 val
* var358
/* : String */;
5162 char* var359
/* : NativeString */;
5163 long var360
/* : Int */;
5164 val
* var361
/* : String */;
5165 val
* var362
/* : Array[Object] */;
5166 long var363
/* : Int */;
5167 val
* var364
/* : NativeArray[Object] */;
5168 val
* var365
/* : String */;
5169 static val
* varonce366
;
5170 val
* var367
/* : String */;
5171 char* var368
/* : NativeString */;
5172 long var369
/* : Int */;
5173 val
* var370
/* : String */;
5174 val
* var371
/* : String */;
5175 static val
* varonce372
;
5176 val
* var373
/* : String */;
5177 char* var374
/* : NativeString */;
5178 long var375
/* : Int */;
5179 val
* var376
/* : String */;
5180 val
* var377
/* : Array[Object] */;
5181 long var378
/* : Int */;
5182 val
* var379
/* : NativeArray[Object] */;
5183 val
* var380
/* : String */;
5184 val
* var381
/* : ModelBuilder */;
5185 val
* var382
/* : ToolContext */;
5186 val
* var383
/* : OptionBool */;
5187 val
* var384
/* : nullable Object */;
5188 short int var385
/* : Bool */;
5189 val
* var386
/* : AbstractCompiler */;
5190 val
* var387
/* : HashMap[String, Int] */;
5191 val
* var_388
/* var : HashMap[String, Int] */;
5192 val
* var_389
/* var : String */;
5193 val
* var390
/* : nullable Object */;
5194 long var391
/* : Int */;
5195 long var392
/* : Int */;
5196 long var394
/* : Int */;
5197 long var395
/* : Int */;
5198 val
* var396
/* : nullable Object */;
5199 static val
* varonce397
;
5200 val
* var398
/* : String */;
5201 char* var399
/* : NativeString */;
5202 long var400
/* : Int */;
5203 val
* var401
/* : String */;
5204 static val
* varonce402
;
5205 val
* var403
/* : String */;
5206 char* var404
/* : NativeString */;
5207 long var405
/* : Int */;
5208 val
* var406
/* : String */;
5209 val
* var407
/* : Array[Object] */;
5210 long var408
/* : Int */;
5211 val
* var409
/* : NativeArray[Object] */;
5212 val
* var410
/* : String */;
5213 static val
* varonce411
;
5214 val
* var412
/* : String */;
5215 char* var413
/* : NativeString */;
5216 long var414
/* : Int */;
5217 val
* var415
/* : String */;
5218 static val
* varonce416
;
5219 val
* var417
/* : String */;
5220 char* var418
/* : NativeString */;
5221 long var419
/* : Int */;
5222 val
* var420
/* : String */;
5223 val
* var421
/* : String */;
5224 static val
* varonce422
;
5225 val
* var423
/* : String */;
5226 char* var424
/* : NativeString */;
5227 long var425
/* : Int */;
5228 val
* var426
/* : String */;
5229 val
* var427
/* : Array[Object] */;
5230 long var428
/* : Int */;
5231 val
* var429
/* : NativeArray[Object] */;
5232 val
* var430
/* : String */;
5233 static val
* varonce431
;
5234 val
* var432
/* : String */;
5235 char* var433
/* : NativeString */;
5236 long var434
/* : Int */;
5237 val
* var435
/* : String */;
5238 static val
* varonce436
;
5239 val
* var437
/* : String */;
5240 char* var438
/* : NativeString */;
5241 long var439
/* : Int */;
5242 val
* var440
/* : String */;
5243 val
* var441
/* : Array[Object] */;
5244 long var442
/* : Int */;
5245 val
* var443
/* : NativeArray[Object] */;
5246 val
* var444
/* : String */;
5247 static val
* varonce445
;
5248 val
* var446
/* : String */;
5249 char* var447
/* : NativeString */;
5250 long var448
/* : Int */;
5251 val
* var449
/* : String */;
5252 static val
* varonce450
;
5253 val
* var451
/* : String */;
5254 char* var452
/* : NativeString */;
5255 long var453
/* : Int */;
5256 val
* var454
/* : String */;
5257 val
* var455
/* : Array[Object] */;
5258 long var456
/* : Int */;
5259 val
* var457
/* : NativeArray[Object] */;
5260 val
* var458
/* : String */;
5261 static val
* varonce459
;
5262 val
* var460
/* : String */;
5263 char* var461
/* : NativeString */;
5264 long var462
/* : Int */;
5265 val
* var463
/* : String */;
5266 val
* var464
/* : String */;
5267 val
* var_value_type_info
/* var value_type_info: String */;
5268 short int var465
/* : Bool */;
5269 val
* var466
/* : ModelBuilder */;
5270 val
* var467
/* : ToolContext */;
5271 val
* var468
/* : OptionBool */;
5272 val
* var469
/* : nullable Object */;
5273 short int var470
/* : Bool */;
5274 short int var_471
/* var : Bool */;
5275 val
* var472
/* : ModelBuilder */;
5276 val
* var473
/* : ToolContext */;
5277 val
* var474
/* : OptionBool */;
5278 val
* var475
/* : nullable Object */;
5279 short int var476
/* : Bool */;
5280 static val
* varonce477
;
5281 val
* var478
/* : String */;
5282 char* var479
/* : NativeString */;
5283 long var480
/* : Int */;
5284 val
* var481
/* : String */;
5285 static val
* varonce482
;
5286 val
* var483
/* : String */;
5287 char* var484
/* : NativeString */;
5288 long var485
/* : Int */;
5289 val
* var486
/* : String */;
5290 static val
* varonce487
;
5291 val
* var488
/* : String */;
5292 char* var489
/* : NativeString */;
5293 long var490
/* : Int */;
5294 val
* var491
/* : String */;
5295 val
* var492
/* : Array[Object] */;
5296 long var493
/* : Int */;
5297 val
* var494
/* : NativeArray[Object] */;
5298 val
* var495
/* : String */;
5299 static val
* varonce496
;
5300 val
* var497
/* : String */;
5301 char* var498
/* : NativeString */;
5302 long var499
/* : Int */;
5303 val
* var500
/* : String */;
5304 static val
* varonce501
;
5305 val
* var502
/* : String */;
5306 char* var503
/* : NativeString */;
5307 long var504
/* : Int */;
5308 val
* var505
/* : String */;
5309 static val
* varonce506
;
5310 val
* var507
/* : String */;
5311 char* var508
/* : NativeString */;
5312 long var509
/* : Int */;
5313 val
* var510
/* : String */;
5314 val
* var511
/* : Array[Object] */;
5315 long var512
/* : Int */;
5316 val
* var513
/* : NativeArray[Object] */;
5317 val
* var514
/* : String */;
5318 static val
* varonce515
;
5319 val
* var516
/* : String */;
5320 char* var517
/* : NativeString */;
5321 long var518
/* : Int */;
5322 val
* var519
/* : String */;
5323 val
* var520
/* : Array[Object] */;
5324 long var521
/* : Int */;
5325 val
* var522
/* : NativeArray[Object] */;
5326 val
* var523
/* : String */;
5327 static val
* varonce524
;
5328 val
* var525
/* : String */;
5329 char* var526
/* : NativeString */;
5330 long var527
/* : Int */;
5331 val
* var528
/* : String */;
5332 static val
* varonce529
;
5333 val
* var530
/* : String */;
5334 char* var531
/* : NativeString */;
5335 long var532
/* : Int */;
5336 val
* var533
/* : String */;
5337 static val
* varonce534
;
5338 val
* var535
/* : String */;
5339 char* var536
/* : NativeString */;
5340 long var537
/* : Int */;
5341 val
* var538
/* : String */;
5342 static val
* varonce539
;
5343 val
* var540
/* : String */;
5344 char* var541
/* : NativeString */;
5345 long var542
/* : Int */;
5346 val
* var543
/* : String */;
5347 static val
* varonce544
;
5348 val
* var545
/* : String */;
5349 char* var546
/* : NativeString */;
5350 long var547
/* : Int */;
5351 val
* var548
/* : String */;
5352 val
* var549
/* : Array[Object] */;
5353 long var550
/* : Int */;
5354 val
* var551
/* : NativeArray[Object] */;
5355 val
* var552
/* : String */;
5356 static val
* varonce553
;
5357 val
* var554
/* : String */;
5358 char* var555
/* : NativeString */;
5359 long var556
/* : Int */;
5360 val
* var557
/* : String */;
5361 static val
* varonce558
;
5362 val
* var559
/* : String */;
5363 char* var560
/* : NativeString */;
5364 long var561
/* : Int */;
5365 val
* var562
/* : String */;
5374 var4
= string__NativeString__to_s_with_length(var2
, var3
);
5378 var5
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_string__Object__inspect
]))(var_value
) /* inspect on <var_value:RuntimeVariable>*/;
5384 var10
= string__NativeString__to_s_with_length(var8
, var9
);
5393 var15
= string__NativeString__to_s_with_length(var13
, var14
);
5397 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
5398 { /* var16 = array_instance Array[Object] */
5400 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArraykernel__Object
);
5401 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var1
;
5402 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var5
;
5403 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var7
;
5404 ((struct instance_array__NativeArray
*)var18
)->values
[3] = (val
*) var_mtype
;
5405 ((struct instance_array__NativeArray
*)var18
)->values
[4] = (val
*) var12
;
5406 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
5408 var19
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
5409 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var19
) /* add on <self:SeparateCompilerVisitor>*/;
5410 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
5411 var_compiler
= var20
;
5412 var21
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
5413 if (var21
== NULL
) {
5414 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
5415 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1342);
5418 var22
= ((val
* (*)(val
*))(var21
->class->vft
[COLOR_abstract_compiler__Frame__arguments
]))(var21
) /* arguments on <var21:nullable Frame>*/;
5420 var23
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var22
) /* first on <var22:Array[RuntimeVariable]>*/;
5422 var24
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__type_info
]))(self
, var_recv
) /* type_info on <self:SeparateCompilerVisitor>*/;
5423 var_recv_type_info
= var24
;
5424 var25
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__bool_type
]))(self
) /* bool_type on <self:SeparateCompilerVisitor>*/;
5425 var26
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var25
) /* new_var on <self:SeparateCompilerVisitor>*/;
5432 var31
= string__NativeString__to_s_with_length(var29
, var30
);
5436 var32
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var28
) /* get_name on <self:SeparateCompilerVisitor>*/;
5443 var37
= string__NativeString__to_s_with_length(var35
, var36
);
5452 var42
= string__NativeString__to_s_with_length(var40
, var41
);
5456 var43
= NEW_array__Array(&type_array__Arraykernel__Object
);
5457 { /* var43 = array_instance Array[Object] */
5459 var45
= NEW_array__NativeArray(var44
, &type_array__NativeArraykernel__Object
);
5460 ((struct instance_array__NativeArray
*)var45
)->values
[0] = (val
*) var34
;
5461 ((struct instance_array__NativeArray
*)var45
)->values
[1] = (val
*) var_cltype
;
5462 ((struct instance_array__NativeArray
*)var45
)->values
[2] = (val
*) var39
;
5463 ((void (*)(val
*, val
*, long))(var43
->class->vft
[COLOR_array__Array__with_native
]))(var43
, var45
, var44
) /* with_native on <var43:Array[Object]>*/;
5465 var46
= ((val
* (*)(val
*))(var43
->class->vft
[COLOR_string__Object__to_s
]))(var43
) /* to_s on <var43:Array[Object]>*/;
5466 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var46
) /* add_decl on <self:SeparateCompilerVisitor>*/;
5472 var51
= string__NativeString__to_s_with_length(var49
, var50
);
5476 var52
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var48
) /* get_name on <self:SeparateCompilerVisitor>*/;
5483 var57
= string__NativeString__to_s_with_length(var55
, var56
);
5492 var62
= string__NativeString__to_s_with_length(var60
, var61
);
5496 var63
= NEW_array__Array(&type_array__Arraykernel__Object
);
5497 { /* var63 = array_instance Array[Object] */
5499 var65
= NEW_array__NativeArray(var64
, &type_array__NativeArraykernel__Object
);
5500 ((struct instance_array__NativeArray
*)var65
)->values
[0] = (val
*) var54
;
5501 ((struct instance_array__NativeArray
*)var65
)->values
[1] = (val
*) var_idtype
;
5502 ((struct instance_array__NativeArray
*)var65
)->values
[2] = (val
*) var59
;
5503 ((void (*)(val
*, val
*, long))(var63
->class->vft
[COLOR_array__Array__with_native
]))(var63
, var65
, var64
) /* with_native on <var63:Array[Object]>*/;
5505 var66
= ((val
* (*)(val
*))(var63
->class->vft
[COLOR_string__Object__to_s
]))(var63
) /* to_s on <var63:Array[Object]>*/;
5506 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var66
) /* add_decl on <self:SeparateCompilerVisitor>*/;
5507 var67
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__maybe_null
]))(self
, var_value
) /* maybe_null on <self:SeparateCompilerVisitor>*/;
5508 var_maybe_null
= var67
;
5514 var72
= string__NativeString__to_s_with_length(var70
, var71
);
5518 var_accept_null
= var69
;
5519 var_ntype
= var_mtype
;
5520 /* <var_ntype:MType> isa MNullableType */
5521 cltype
= type_model__MNullableType
.color
;
5522 idtype
= type_model__MNullableType
.id
;
5523 if(cltype
>= var_ntype
->type
->table_size
) {
5526 var73
= var_ntype
->type
->type_table
[cltype
] == idtype
;
5529 var74
= ((val
* (*)(val
*))(var_ntype
->class->vft
[COLOR_model__MNullableType__mtype
]))(var_ntype
) /* mtype on <var_ntype:MType(MNullableType)>*/;
5536 var79
= string__NativeString__to_s_with_length(var77
, var78
);
5540 var_accept_null
= var76
;
5543 var80
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value
) /* mcasttype on <var_value:RuntimeVariable>*/;
5544 var81
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
5545 if (var81
== NULL
) {
5546 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
5547 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1360);
5550 var82
= ((val
* (*)(val
*))(var81
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var81
) /* mpropdef on <var81:nullable Frame>*/;
5552 var83
= ((val
* (*)(val
*))(var82
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var82
) /* mclassdef on <var82:MPropDef>*/;
5553 var84
= ((val
* (*)(val
*))(var83
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var83
) /* mmodule on <var83:MClassDef>*/;
5554 var85
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
5555 if (var85
== NULL
) {
5556 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
5557 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1360);
5560 var86
= ((val
* (*)(val
*))(var85
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var85
) /* mpropdef on <var85:nullable Frame>*/;
5562 var87
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var86
) /* mclassdef on <var86:MPropDef>*/;
5563 var88
= ((val
* (*)(val
*))(var87
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var87
) /* bound_mtype on <var87:MClassDef>*/;
5564 var89
= ((short int (*)(val
*, val
*, val
*, val
*))(var80
->class->vft
[COLOR_model__MType__is_subtype
]))(var80
, var84
, var88
, var_mtype
) /* is_subtype on <var80:MType>*/;
5569 var92
= " = 1; /* easy ";
5571 var94
= string__NativeString__to_s_with_length(var92
, var93
);
5575 var95
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_string__Object__inspect
]))(var_value
) /* inspect on <var_value:RuntimeVariable>*/;
5581 var100
= string__NativeString__to_s_with_length(var98
, var99
);
5586 var102
= varonce101
;
5590 var105
= string__NativeString__to_s_with_length(var103
, var104
);
5592 varonce101
= var102
;
5594 var106
= NEW_array__Array(&type_array__Arraykernel__Object
);
5595 { /* var106 = array_instance Array[Object] */
5597 var108
= NEW_array__NativeArray(var107
, &type_array__NativeArraykernel__Object
);
5598 ((struct instance_array__NativeArray
*)var108
)->values
[0] = (val
*) var_res
;
5599 ((struct instance_array__NativeArray
*)var108
)->values
[1] = (val
*) var91
;
5600 ((struct instance_array__NativeArray
*)var108
)->values
[2] = (val
*) var95
;
5601 ((struct instance_array__NativeArray
*)var108
)->values
[3] = (val
*) var97
;
5602 ((struct instance_array__NativeArray
*)var108
)->values
[4] = (val
*) var_mtype
;
5603 ((struct instance_array__NativeArray
*)var108
)->values
[5] = (val
*) var102
;
5604 ((void (*)(val
*, val
*, long))(var106
->class->vft
[COLOR_array__Array__with_native
]))(var106
, var108
, var107
) /* with_native on <var106:Array[Object]>*/;
5606 var109
= ((val
* (*)(val
*))(var106
->class->vft
[COLOR_string__Object__to_s
]))(var106
) /* to_s on <var106:Array[Object]>*/;
5607 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var109
) /* add on <self:SeparateCompilerVisitor>*/;
5608 var110
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
5609 var111
= ((val
* (*)(val
*))(var110
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var110
) /* toolcontext on <var110:ModelBuilder>*/;
5610 var112
= ((val
* (*)(val
*))(var111
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(var111
) /* opt_typing_test_metrics on <var111:ToolContext>*/;
5611 var113
= ((val
* (*)(val
*))(var112
->class->vft
[COLOR_opts__Option__value
]))(var112
) /* value on <var112:OptionBool>*/;
5612 var114
= ((struct instance_kernel__Bool
*)var113
)->value
; /* autounbox from nullable Object to Bool */;
5614 var115
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
5615 var116
= ((val
* (*)(val
*))(var115
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(var115
) /* count_type_test_skipped on <var115:AbstractCompiler(SeparateCompiler)>*/;
5618 var118
= ((val
* (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_
, var_117
) /* [] on <var_:HashMap[String, Int]>*/;
5620 { /* Inline kernel#Int#+ (var118,var119) */
5621 var122
= ((struct instance_kernel__Int
*)var118
)->value
; /* autounbox from nullable Object to Int */;
5622 var123
= var122
+ var119
;
5625 RET_LABEL121
:(void)0;
5627 var124
= BOX_kernel__Int(var120
); /* autobox from Int to nullable Object */
5628 ((void (*)(val
*, val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var_
, var_117
, var124
) /* []= on <var_:HashMap[String, Int]>*/;
5630 var126
= varonce125
;
5632 var127
= "count_type_test_skipped_";
5634 var129
= string__NativeString__to_s_with_length(var127
, var128
);
5636 varonce125
= var126
;
5639 var131
= varonce130
;
5643 var134
= string__NativeString__to_s_with_length(var132
, var133
);
5645 varonce130
= var131
;
5647 var135
= NEW_array__Array(&type_array__Arraykernel__Object
);
5648 { /* var135 = array_instance Array[Object] */
5650 var137
= NEW_array__NativeArray(var136
, &type_array__NativeArraykernel__Object
);
5651 ((struct instance_array__NativeArray
*)var137
)->values
[0] = (val
*) var126
;
5652 ((struct instance_array__NativeArray
*)var137
)->values
[1] = (val
*) var_tag
;
5653 ((struct instance_array__NativeArray
*)var137
)->values
[2] = (val
*) var131
;
5654 ((void (*)(val
*, val
*, long))(var135
->class->vft
[COLOR_array__Array__with_native
]))(var135
, var137
, var136
) /* with_native on <var135:Array[Object]>*/;
5656 var138
= ((val
* (*)(val
*))(var135
->class->vft
[COLOR_string__Object__to_s
]))(var135
) /* to_s on <var135:Array[Object]>*/;
5657 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var138
) /* add on <self:SeparateCompilerVisitor>*/;
5664 var139
= ((short int (*)(val
*))(var_ntype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_ntype
) /* need_anchor on <var_ntype:MType>*/;
5667 var141
= varonce140
;
5669 var142
= "type_struct";
5671 var144
= string__NativeString__to_s_with_length(var142
, var143
);
5673 varonce140
= var141
;
5675 var145
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var141
) /* get_name on <self:SeparateCompilerVisitor>*/;
5676 var_type_struct
= var145
;
5678 var147
= varonce146
;
5680 var148
= "const struct type* ";
5682 var150
= string__NativeString__to_s_with_length(var148
, var149
);
5684 varonce146
= var147
;
5687 var152
= varonce151
;
5691 var155
= string__NativeString__to_s_with_length(var153
, var154
);
5693 varonce151
= var152
;
5695 var156
= NEW_array__Array(&type_array__Arraykernel__Object
);
5696 { /* var156 = array_instance Array[Object] */
5698 var158
= NEW_array__NativeArray(var157
, &type_array__NativeArraykernel__Object
);
5699 ((struct instance_array__NativeArray
*)var158
)->values
[0] = (val
*) var147
;
5700 ((struct instance_array__NativeArray
*)var158
)->values
[1] = (val
*) var_type_struct
;
5701 ((struct instance_array__NativeArray
*)var158
)->values
[2] = (val
*) var152
;
5702 ((void (*)(val
*, val
*, long))(var156
->class->vft
[COLOR_array__Array__with_native
]))(var156
, var158
, var157
) /* with_native on <var156:Array[Object]>*/;
5704 var159
= ((val
* (*)(val
*))(var156
->class->vft
[COLOR_string__Object__to_s
]))(var156
) /* to_s on <var156:Array[Object]>*/;
5705 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var159
) /* add_decl on <self:SeparateCompilerVisitor>*/;
5706 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__hardening_live_open_type
]))(self
, var_mtype
) /* hardening_live_open_type on <self:SeparateCompilerVisitor>*/;
5707 var160
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
5708 if (var160
== NULL
) {
5709 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
5710 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1375);
5713 var161
= ((val
* (*)(val
*))(var160
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var160
) /* mpropdef on <var160:nullable Frame>*/;
5715 var162
= ((val
* (*)(val
*))(var161
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var161
) /* mclassdef on <var161:MPropDef>*/;
5716 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__link_unresolved_type
]))(self
, var162
, var_mtype
) /* link_unresolved_type on <self:SeparateCompilerVisitor>*/;
5717 var163
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_mtype
) /* const_color on <var_mtype:MType>*/;
5718 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var163
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
5719 var165
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
5720 var166
= ((val
* (*)(val
*))(var165
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var165
) /* toolcontext on <var165:ModelBuilder>*/;
5721 var167
= ((val
* (*)(val
*))(var166
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phmod_typing
]))(var166
) /* opt_phmod_typing on <var166:ToolContext>*/;
5722 var168
= ((val
* (*)(val
*))(var167
->class->vft
[COLOR_opts__Option__value
]))(var167
) /* value on <var167:OptionBool>*/;
5723 var169
= ((struct instance_kernel__Bool
*)var168
)->value
; /* autounbox from nullable Object to Bool */;
5728 var171
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
5729 var172
= ((val
* (*)(val
*))(var171
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var171
) /* toolcontext on <var171:ModelBuilder>*/;
5730 var173
= ((val
* (*)(val
*))(var172
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phand_typing
]))(var172
) /* opt_phand_typing on <var172:ToolContext>*/;
5731 var174
= ((val
* (*)(val
*))(var173
->class->vft
[COLOR_opts__Option__value
]))(var173
) /* value on <var173:OptionBool>*/;
5732 var175
= ((struct instance_kernel__Bool
*)var174
)->value
; /* autounbox from nullable Object to Bool */;
5737 var177
= varonce176
;
5741 var180
= string__NativeString__to_s_with_length(var178
, var179
);
5743 varonce176
= var177
;
5746 var182
= varonce181
;
5748 var183
= "->resolution_table->types[HASH(";
5750 var185
= string__NativeString__to_s_with_length(var183
, var184
);
5752 varonce181
= var182
;
5755 var187
= varonce186
;
5757 var188
= "->resolution_table->mask, ";
5759 var190
= string__NativeString__to_s_with_length(var188
, var189
);
5761 varonce186
= var187
;
5763 var191
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_mtype
) /* const_color on <var_mtype:MType>*/;
5765 var193
= varonce192
;
5769 var196
= string__NativeString__to_s_with_length(var194
, var195
);
5771 varonce192
= var193
;
5773 var197
= NEW_array__Array(&type_array__Arraykernel__Object
);
5774 { /* var197 = array_instance Array[Object] */
5776 var199
= NEW_array__NativeArray(var198
, &type_array__NativeArraykernel__Object
);
5777 ((struct instance_array__NativeArray
*)var199
)->values
[0] = (val
*) var_type_struct
;
5778 ((struct instance_array__NativeArray
*)var199
)->values
[1] = (val
*) var177
;
5779 ((struct instance_array__NativeArray
*)var199
)->values
[2] = (val
*) var_recv_type_info
;
5780 ((struct instance_array__NativeArray
*)var199
)->values
[3] = (val
*) var182
;
5781 ((struct instance_array__NativeArray
*)var199
)->values
[4] = (val
*) var_recv_type_info
;
5782 ((struct instance_array__NativeArray
*)var199
)->values
[5] = (val
*) var187
;
5783 ((struct instance_array__NativeArray
*)var199
)->values
[6] = (val
*) var191
;
5784 ((struct instance_array__NativeArray
*)var199
)->values
[7] = (val
*) var193
;
5785 ((void (*)(val
*, val
*, long))(var197
->class->vft
[COLOR_array__Array__with_native
]))(var197
, var199
, var198
) /* with_native on <var197:Array[Object]>*/;
5787 var200
= ((val
* (*)(val
*))(var197
->class->vft
[COLOR_string__Object__to_s
]))(var197
) /* to_s on <var197:Array[Object]>*/;
5788 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var200
) /* add on <self:SeparateCompilerVisitor>*/;
5791 var202
= varonce201
;
5795 var205
= string__NativeString__to_s_with_length(var203
, var204
);
5797 varonce201
= var202
;
5800 var207
= varonce206
;
5802 var208
= "->resolution_table->types[";
5804 var210
= string__NativeString__to_s_with_length(var208
, var209
);
5806 varonce206
= var207
;
5808 var211
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_mtype
) /* const_color on <var_mtype:MType>*/;
5810 var213
= varonce212
;
5814 var216
= string__NativeString__to_s_with_length(var214
, var215
);
5816 varonce212
= var213
;
5818 var217
= NEW_array__Array(&type_array__Arraykernel__Object
);
5819 { /* var217 = array_instance Array[Object] */
5821 var219
= NEW_array__NativeArray(var218
, &type_array__NativeArraykernel__Object
);
5822 ((struct instance_array__NativeArray
*)var219
)->values
[0] = (val
*) var_type_struct
;
5823 ((struct instance_array__NativeArray
*)var219
)->values
[1] = (val
*) var202
;
5824 ((struct instance_array__NativeArray
*)var219
)->values
[2] = (val
*) var_recv_type_info
;
5825 ((struct instance_array__NativeArray
*)var219
)->values
[3] = (val
*) var207
;
5826 ((struct instance_array__NativeArray
*)var219
)->values
[4] = (val
*) var211
;
5827 ((struct instance_array__NativeArray
*)var219
)->values
[5] = (val
*) var213
;
5828 ((void (*)(val
*, val
*, long))(var217
->class->vft
[COLOR_array__Array__with_native
]))(var217
, var219
, var218
) /* with_native on <var217:Array[Object]>*/;
5830 var220
= ((val
* (*)(val
*))(var217
->class->vft
[COLOR_string__Object__to_s
]))(var217
) /* to_s on <var217:Array[Object]>*/;
5831 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var220
) /* add on <self:SeparateCompilerVisitor>*/;
5833 var221
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
5834 var222
= ((val
* (*)(val
*))(var221
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var221
) /* toolcontext on <var221:ModelBuilder>*/;
5835 var223
= ((val
* (*)(val
*))(var222
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(var222
) /* opt_typing_test_metrics on <var222:ToolContext>*/;
5836 var224
= ((val
* (*)(val
*))(var223
->class->vft
[COLOR_opts__Option__value
]))(var223
) /* value on <var223:OptionBool>*/;
5837 var225
= ((struct instance_kernel__Bool
*)var224
)->value
; /* autounbox from nullable Object to Bool */;
5839 var226
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
5840 var227
= ((val
* (*)(val
*))(var226
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(var226
) /* count_type_test_unresolved on <var226:AbstractCompiler(SeparateCompiler)>*/;
5843 var230
= ((val
* (*)(val
*, val
*))(var_228
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_228
, var_229
) /* [] on <var_228:HashMap[String, Int]>*/;
5845 { /* Inline kernel#Int#+ (var230,var231) */
5846 var234
= ((struct instance_kernel__Int
*)var230
)->value
; /* autounbox from nullable Object to Int */;
5847 var235
= var234
+ var231
;
5850 RET_LABEL233
:(void)0;
5852 var236
= BOX_kernel__Int(var232
); /* autobox from Int to nullable Object */
5853 ((void (*)(val
*, val
*, val
*))(var_228
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var_228
, var_229
, var236
) /* []= on <var_228:HashMap[String, Int]>*/;
5855 var238
= varonce237
;
5857 var239
= "count_type_test_unresolved_";
5859 var241
= string__NativeString__to_s_with_length(var239
, var240
);
5861 varonce237
= var238
;
5864 var243
= varonce242
;
5868 var246
= string__NativeString__to_s_with_length(var244
, var245
);
5870 varonce242
= var243
;
5872 var247
= NEW_array__Array(&type_array__Arraykernel__Object
);
5873 { /* var247 = array_instance Array[Object] */
5875 var249
= NEW_array__NativeArray(var248
, &type_array__NativeArraykernel__Object
);
5876 ((struct instance_array__NativeArray
*)var249
)->values
[0] = (val
*) var238
;
5877 ((struct instance_array__NativeArray
*)var249
)->values
[1] = (val
*) var_tag
;
5878 ((struct instance_array__NativeArray
*)var249
)->values
[2] = (val
*) var243
;
5879 ((void (*)(val
*, val
*, long))(var247
->class->vft
[COLOR_array__Array__with_native
]))(var247
, var249
, var248
) /* with_native on <var247:Array[Object]>*/;
5881 var250
= ((val
* (*)(val
*))(var247
->class->vft
[COLOR_string__Object__to_s
]))(var247
) /* to_s on <var247:Array[Object]>*/;
5882 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var250
) /* add on <self:SeparateCompilerVisitor>*/;
5885 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__hardening_cast_type
]))(self
, var_type_struct
) /* hardening_cast_type on <self:SeparateCompilerVisitor>*/;
5887 var252
= varonce251
;
5891 var255
= string__NativeString__to_s_with_length(var253
, var254
);
5893 varonce251
= var252
;
5896 var257
= varonce256
;
5898 var258
= "->color;";
5900 var260
= string__NativeString__to_s_with_length(var258
, var259
);
5902 varonce256
= var257
;
5904 var261
= NEW_array__Array(&type_array__Arraykernel__Object
);
5905 { /* var261 = array_instance Array[Object] */
5907 var263
= NEW_array__NativeArray(var262
, &type_array__NativeArraykernel__Object
);
5908 ((struct instance_array__NativeArray
*)var263
)->values
[0] = (val
*) var_cltype
;
5909 ((struct instance_array__NativeArray
*)var263
)->values
[1] = (val
*) var252
;
5910 ((struct instance_array__NativeArray
*)var263
)->values
[2] = (val
*) var_type_struct
;
5911 ((struct instance_array__NativeArray
*)var263
)->values
[3] = (val
*) var257
;
5912 ((void (*)(val
*, val
*, long))(var261
->class->vft
[COLOR_array__Array__with_native
]))(var261
, var263
, var262
) /* with_native on <var261:Array[Object]>*/;
5914 var264
= ((val
* (*)(val
*))(var261
->class->vft
[COLOR_string__Object__to_s
]))(var261
) /* to_s on <var261:Array[Object]>*/;
5915 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var264
) /* add on <self:SeparateCompilerVisitor>*/;
5917 var266
= varonce265
;
5921 var269
= string__NativeString__to_s_with_length(var267
, var268
);
5923 varonce265
= var266
;
5926 var271
= varonce270
;
5930 var274
= string__NativeString__to_s_with_length(var272
, var273
);
5932 varonce270
= var271
;
5934 var275
= NEW_array__Array(&type_array__Arraykernel__Object
);
5935 { /* var275 = array_instance Array[Object] */
5937 var277
= NEW_array__NativeArray(var276
, &type_array__NativeArraykernel__Object
);
5938 ((struct instance_array__NativeArray
*)var277
)->values
[0] = (val
*) var_idtype
;
5939 ((struct instance_array__NativeArray
*)var277
)->values
[1] = (val
*) var266
;
5940 ((struct instance_array__NativeArray
*)var277
)->values
[2] = (val
*) var_type_struct
;
5941 ((struct instance_array__NativeArray
*)var277
)->values
[3] = (val
*) var271
;
5942 ((void (*)(val
*, val
*, long))(var275
->class->vft
[COLOR_array__Array__with_native
]))(var275
, var277
, var276
) /* with_native on <var275:Array[Object]>*/;
5944 var278
= ((val
* (*)(val
*))(var275
->class->vft
[COLOR_string__Object__to_s
]))(var275
) /* to_s on <var275:Array[Object]>*/;
5945 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var278
) /* add on <self:SeparateCompilerVisitor>*/;
5946 var_280
= var_maybe_null
;
5947 if (var_maybe_null
){
5949 var282
= varonce281
;
5953 var285
= string__NativeString__to_s_with_length(var283
, var284
);
5955 varonce281
= var282
;
5957 var286
= ((short int (*)(val
*, val
*))(var_accept_null
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_accept_null
, var282
) /* == on <var_accept_null:String>*/;
5964 var288
= varonce287
;
5966 var289
= "is_nullable";
5968 var291
= string__NativeString__to_s_with_length(var289
, var290
);
5970 varonce287
= var288
;
5972 var292
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var288
) /* get_name on <self:SeparateCompilerVisitor>*/;
5973 var_is_nullable
= var292
;
5975 var294
= varonce293
;
5977 var295
= "short int ";
5979 var297
= string__NativeString__to_s_with_length(var295
, var296
);
5981 varonce293
= var294
;
5984 var299
= varonce298
;
5988 var302
= string__NativeString__to_s_with_length(var300
, var301
);
5990 varonce298
= var299
;
5992 var303
= NEW_array__Array(&type_array__Arraykernel__Object
);
5993 { /* var303 = array_instance Array[Object] */
5995 var305
= NEW_array__NativeArray(var304
, &type_array__NativeArraykernel__Object
);
5996 ((struct instance_array__NativeArray
*)var305
)->values
[0] = (val
*) var294
;
5997 ((struct instance_array__NativeArray
*)var305
)->values
[1] = (val
*) var_is_nullable
;
5998 ((struct instance_array__NativeArray
*)var305
)->values
[2] = (val
*) var299
;
5999 ((void (*)(val
*, val
*, long))(var303
->class->vft
[COLOR_array__Array__with_native
]))(var303
, var305
, var304
) /* with_native on <var303:Array[Object]>*/;
6001 var306
= ((val
* (*)(val
*))(var303
->class->vft
[COLOR_string__Object__to_s
]))(var303
) /* to_s on <var303:Array[Object]>*/;
6002 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var306
) /* add_decl on <self:SeparateCompilerVisitor>*/;
6004 var308
= varonce307
;
6008 var311
= string__NativeString__to_s_with_length(var309
, var310
);
6010 varonce307
= var308
;
6013 var313
= varonce312
;
6015 var314
= "->is_nullable;";
6017 var316
= string__NativeString__to_s_with_length(var314
, var315
);
6019 varonce312
= var313
;
6021 var317
= NEW_array__Array(&type_array__Arraykernel__Object
);
6022 { /* var317 = array_instance Array[Object] */
6024 var319
= NEW_array__NativeArray(var318
, &type_array__NativeArraykernel__Object
);
6025 ((struct instance_array__NativeArray
*)var319
)->values
[0] = (val
*) var_is_nullable
;
6026 ((struct instance_array__NativeArray
*)var319
)->values
[1] = (val
*) var308
;
6027 ((struct instance_array__NativeArray
*)var319
)->values
[2] = (val
*) var_type_struct
;
6028 ((struct instance_array__NativeArray
*)var319
)->values
[3] = (val
*) var313
;
6029 ((void (*)(val
*, val
*, long))(var317
->class->vft
[COLOR_array__Array__with_native
]))(var317
, var319
, var318
) /* with_native on <var317:Array[Object]>*/;
6031 var320
= ((val
* (*)(val
*))(var317
->class->vft
[COLOR_string__Object__to_s
]))(var317
) /* to_s on <var317:Array[Object]>*/;
6032 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var320
) /* add on <self:SeparateCompilerVisitor>*/;
6033 var321
= ((val
* (*)(val
*))(var_is_nullable
->class->vft
[COLOR_string__Object__to_s
]))(var_is_nullable
) /* to_s on <var_is_nullable:String>*/;
6034 var_accept_null
= var321
;
6038 /* <var_ntype:MType> isa MClassType */
6039 cltype323
= type_model__MClassType
.color
;
6040 idtype324
= type_model__MClassType
.id
;
6041 if(cltype323
>= var_ntype
->type
->table_size
) {
6044 var322
= var_ntype
->type
->type_table
[cltype323
] == idtype324
;
6047 var325
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_separate_compiler__SeparateCompiler__undead_types
]))(var_compiler
) /* undead_types on <var_compiler:SeparateCompiler>*/;
6048 ((void (*)(val
*, val
*))(var325
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var325
, var_mtype
) /* add on <var325:Set[MType]>*/;
6050 var327
= varonce326
;
6054 var330
= string__NativeString__to_s_with_length(var328
, var329
);
6056 varonce326
= var327
;
6058 var331
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType>*/;
6059 var332
= NEW_array__Array(&type_array__Arraykernel__Object
);
6060 { /* var332 = array_instance Array[Object] */
6062 var334
= NEW_array__NativeArray(var333
, &type_array__NativeArraykernel__Object
);
6063 ((struct instance_array__NativeArray
*)var334
)->values
[0] = (val
*) var327
;
6064 ((struct instance_array__NativeArray
*)var334
)->values
[1] = (val
*) var331
;
6065 ((void (*)(val
*, val
*, long))(var332
->class->vft
[COLOR_array__Array__with_native
]))(var332
, var334
, var333
) /* with_native on <var332:Array[Object]>*/;
6067 var335
= ((val
* (*)(val
*))(var332
->class->vft
[COLOR_string__Object__to_s
]))(var332
) /* to_s on <var332:Array[Object]>*/;
6068 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var335
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
6070 var337
= varonce336
;
6074 var340
= string__NativeString__to_s_with_length(var338
, var339
);
6076 varonce336
= var337
;
6078 var341
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType>*/;
6080 var343
= varonce342
;
6084 var346
= string__NativeString__to_s_with_length(var344
, var345
);
6086 varonce342
= var343
;
6088 var347
= NEW_array__Array(&type_array__Arraykernel__Object
);
6089 { /* var347 = array_instance Array[Object] */
6091 var349
= NEW_array__NativeArray(var348
, &type_array__NativeArraykernel__Object
);
6092 ((struct instance_array__NativeArray
*)var349
)->values
[0] = (val
*) var337
;
6093 ((struct instance_array__NativeArray
*)var349
)->values
[1] = (val
*) var341
;
6094 ((struct instance_array__NativeArray
*)var349
)->values
[2] = (val
*) var343
;
6095 ((void (*)(val
*, val
*, long))(var347
->class->vft
[COLOR_array__Array__with_native
]))(var347
, var349
, var348
) /* with_native on <var347:Array[Object]>*/;
6097 var350
= ((val
* (*)(val
*))(var347
->class->vft
[COLOR_string__Object__to_s
]))(var347
) /* to_s on <var347:Array[Object]>*/;
6098 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__hardening_cast_type
]))(self
, var350
) /* hardening_cast_type on <self:SeparateCompilerVisitor>*/;
6100 var352
= varonce351
;
6102 var353
= " = type_";
6104 var355
= string__NativeString__to_s_with_length(var353
, var354
);
6106 varonce351
= var352
;
6108 var356
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType>*/;
6110 var358
= varonce357
;
6114 var361
= string__NativeString__to_s_with_length(var359
, var360
);
6116 varonce357
= var358
;
6118 var362
= NEW_array__Array(&type_array__Arraykernel__Object
);
6119 { /* var362 = array_instance Array[Object] */
6121 var364
= NEW_array__NativeArray(var363
, &type_array__NativeArraykernel__Object
);
6122 ((struct instance_array__NativeArray
*)var364
)->values
[0] = (val
*) var_cltype
;
6123 ((struct instance_array__NativeArray
*)var364
)->values
[1] = (val
*) var352
;
6124 ((struct instance_array__NativeArray
*)var364
)->values
[2] = (val
*) var356
;
6125 ((struct instance_array__NativeArray
*)var364
)->values
[3] = (val
*) var358
;
6126 ((void (*)(val
*, val
*, long))(var362
->class->vft
[COLOR_array__Array__with_native
]))(var362
, var364
, var363
) /* with_native on <var362:Array[Object]>*/;
6128 var365
= ((val
* (*)(val
*))(var362
->class->vft
[COLOR_string__Object__to_s
]))(var362
) /* to_s on <var362:Array[Object]>*/;
6129 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var365
) /* add on <self:SeparateCompilerVisitor>*/;
6131 var367
= varonce366
;
6133 var368
= " = type_";
6135 var370
= string__NativeString__to_s_with_length(var368
, var369
);
6137 varonce366
= var367
;
6139 var371
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType>*/;
6141 var373
= varonce372
;
6145 var376
= string__NativeString__to_s_with_length(var374
, var375
);
6147 varonce372
= var373
;
6149 var377
= NEW_array__Array(&type_array__Arraykernel__Object
);
6150 { /* var377 = array_instance Array[Object] */
6152 var379
= NEW_array__NativeArray(var378
, &type_array__NativeArraykernel__Object
);
6153 ((struct instance_array__NativeArray
*)var379
)->values
[0] = (val
*) var_idtype
;
6154 ((struct instance_array__NativeArray
*)var379
)->values
[1] = (val
*) var367
;
6155 ((struct instance_array__NativeArray
*)var379
)->values
[2] = (val
*) var371
;
6156 ((struct instance_array__NativeArray
*)var379
)->values
[3] = (val
*) var373
;
6157 ((void (*)(val
*, val
*, long))(var377
->class->vft
[COLOR_array__Array__with_native
]))(var377
, var379
, var378
) /* with_native on <var377:Array[Object]>*/;
6159 var380
= ((val
* (*)(val
*))(var377
->class->vft
[COLOR_string__Object__to_s
]))(var377
) /* to_s on <var377:Array[Object]>*/;
6160 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var380
) /* add on <self:SeparateCompilerVisitor>*/;
6161 var381
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
6162 var382
= ((val
* (*)(val
*))(var381
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var381
) /* toolcontext on <var381:ModelBuilder>*/;
6163 var383
= ((val
* (*)(val
*))(var382
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(var382
) /* opt_typing_test_metrics on <var382:ToolContext>*/;
6164 var384
= ((val
* (*)(val
*))(var383
->class->vft
[COLOR_opts__Option__value
]))(var383
) /* value on <var383:OptionBool>*/;
6165 var385
= ((struct instance_kernel__Bool
*)var384
)->value
; /* autounbox from nullable Object to Bool */;
6167 var386
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
6168 var387
= ((val
* (*)(val
*))(var386
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(var386
) /* count_type_test_resolved on <var386:AbstractCompiler(SeparateCompiler)>*/;
6171 var390
= ((val
* (*)(val
*, val
*))(var_388
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_388
, var_389
) /* [] on <var_388:HashMap[String, Int]>*/;
6173 { /* Inline kernel#Int#+ (var390,var391) */
6174 var394
= ((struct instance_kernel__Int
*)var390
)->value
; /* autounbox from nullable Object to Int */;
6175 var395
= var394
+ var391
;
6178 RET_LABEL393
:(void)0;
6180 var396
= BOX_kernel__Int(var392
); /* autobox from Int to nullable Object */
6181 ((void (*)(val
*, val
*, val
*))(var_388
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var_388
, var_389
, var396
) /* []= on <var_388:HashMap[String, Int]>*/;
6183 var398
= varonce397
;
6185 var399
= "count_type_test_resolved_";
6187 var401
= string__NativeString__to_s_with_length(var399
, var400
);
6189 varonce397
= var398
;
6192 var403
= varonce402
;
6196 var406
= string__NativeString__to_s_with_length(var404
, var405
);
6198 varonce402
= var403
;
6200 var407
= NEW_array__Array(&type_array__Arraykernel__Object
);
6201 { /* var407 = array_instance Array[Object] */
6203 var409
= NEW_array__NativeArray(var408
, &type_array__NativeArraykernel__Object
);
6204 ((struct instance_array__NativeArray
*)var409
)->values
[0] = (val
*) var398
;
6205 ((struct instance_array__NativeArray
*)var409
)->values
[1] = (val
*) var_tag
;
6206 ((struct instance_array__NativeArray
*)var409
)->values
[2] = (val
*) var403
;
6207 ((void (*)(val
*, val
*, long))(var407
->class->vft
[COLOR_array__Array__with_native
]))(var407
, var409
, var408
) /* with_native on <var407:Array[Object]>*/;
6209 var410
= ((val
* (*)(val
*))(var407
->class->vft
[COLOR_string__Object__to_s
]))(var407
) /* to_s on <var407:Array[Object]>*/;
6210 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var410
) /* add on <self:SeparateCompilerVisitor>*/;
6215 var412
= varonce411
;
6217 var413
= "printf(\"NOT YET IMPLEMENTED: type_test(%s, ";
6219 var415
= string__NativeString__to_s_with_length(var413
, var414
);
6221 varonce411
= var412
;
6224 var417
= varonce416
;
6226 var418
= ").\\n\", \"";
6228 var420
= string__NativeString__to_s_with_length(var418
, var419
);
6230 varonce416
= var417
;
6232 var421
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_string__Object__inspect
]))(var_value
) /* inspect on <var_value:RuntimeVariable>*/;
6234 var423
= varonce422
;
6236 var424
= "\"); show_backtrace(1);";
6238 var426
= string__NativeString__to_s_with_length(var424
, var425
);
6240 varonce422
= var423
;
6242 var427
= NEW_array__Array(&type_array__Arraykernel__Object
);
6243 { /* var427 = array_instance Array[Object] */
6245 var429
= NEW_array__NativeArray(var428
, &type_array__NativeArraykernel__Object
);
6246 ((struct instance_array__NativeArray
*)var429
)->values
[0] = (val
*) var412
;
6247 ((struct instance_array__NativeArray
*)var429
)->values
[1] = (val
*) var_mtype
;
6248 ((struct instance_array__NativeArray
*)var429
)->values
[2] = (val
*) var417
;
6249 ((struct instance_array__NativeArray
*)var429
)->values
[3] = (val
*) var421
;
6250 ((struct instance_array__NativeArray
*)var429
)->values
[4] = (val
*) var423
;
6251 ((void (*)(val
*, val
*, long))(var427
->class->vft
[COLOR_array__Array__with_native
]))(var427
, var429
, var428
) /* with_native on <var427:Array[Object]>*/;
6253 var430
= ((val
* (*)(val
*))(var427
->class->vft
[COLOR_string__Object__to_s
]))(var427
) /* to_s on <var427:Array[Object]>*/;
6254 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var430
) /* add on <self:SeparateCompilerVisitor>*/;
6257 if (var_maybe_null
){
6259 var432
= varonce431
;
6263 var435
= string__NativeString__to_s_with_length(var433
, var434
);
6265 varonce431
= var432
;
6268 var437
= varonce436
;
6270 var438
= " == NULL) {";
6272 var440
= string__NativeString__to_s_with_length(var438
, var439
);
6274 varonce436
= var437
;
6276 var441
= NEW_array__Array(&type_array__Arraykernel__Object
);
6277 { /* var441 = array_instance Array[Object] */
6279 var443
= NEW_array__NativeArray(var442
, &type_array__NativeArraykernel__Object
);
6280 ((struct instance_array__NativeArray
*)var443
)->values
[0] = (val
*) var432
;
6281 ((struct instance_array__NativeArray
*)var443
)->values
[1] = (val
*) var_value
;
6282 ((struct instance_array__NativeArray
*)var443
)->values
[2] = (val
*) var437
;
6283 ((void (*)(val
*, val
*, long))(var441
->class->vft
[COLOR_array__Array__with_native
]))(var441
, var443
, var442
) /* with_native on <var441:Array[Object]>*/;
6285 var444
= ((val
* (*)(val
*))(var441
->class->vft
[COLOR_string__Object__to_s
]))(var441
) /* to_s on <var441:Array[Object]>*/;
6286 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var444
) /* add on <self:SeparateCompilerVisitor>*/;
6288 var446
= varonce445
;
6292 var449
= string__NativeString__to_s_with_length(var447
, var448
);
6294 varonce445
= var446
;
6297 var451
= varonce450
;
6301 var454
= string__NativeString__to_s_with_length(var452
, var453
);
6303 varonce450
= var451
;
6305 var455
= NEW_array__Array(&type_array__Arraykernel__Object
);
6306 { /* var455 = array_instance Array[Object] */
6308 var457
= NEW_array__NativeArray(var456
, &type_array__NativeArraykernel__Object
);
6309 ((struct instance_array__NativeArray
*)var457
)->values
[0] = (val
*) var_res
;
6310 ((struct instance_array__NativeArray
*)var457
)->values
[1] = (val
*) var446
;
6311 ((struct instance_array__NativeArray
*)var457
)->values
[2] = (val
*) var_accept_null
;
6312 ((struct instance_array__NativeArray
*)var457
)->values
[3] = (val
*) var451
;
6313 ((void (*)(val
*, val
*, long))(var455
->class->vft
[COLOR_array__Array__with_native
]))(var455
, var457
, var456
) /* with_native on <var455:Array[Object]>*/;
6315 var458
= ((val
* (*)(val
*))(var455
->class->vft
[COLOR_string__Object__to_s
]))(var455
) /* to_s on <var455:Array[Object]>*/;
6316 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var458
) /* add on <self:SeparateCompilerVisitor>*/;
6318 var460
= varonce459
;
6320 var461
= "} else {";
6322 var463
= string__NativeString__to_s_with_length(var461
, var462
);
6324 varonce459
= var460
;
6326 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var460
) /* add on <self:SeparateCompilerVisitor>*/;
6329 var464
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__type_info
]))(self
, var_value
) /* type_info on <self:SeparateCompilerVisitor>*/;
6330 var_value_type_info
= var464
;
6331 var466
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
6332 var467
= ((val
* (*)(val
*))(var466
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var466
) /* toolcontext on <var466:ModelBuilder>*/;
6333 var468
= ((val
* (*)(val
*))(var467
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phmod_typing
]))(var467
) /* opt_phmod_typing on <var467:ToolContext>*/;
6334 var469
= ((val
* (*)(val
*))(var468
->class->vft
[COLOR_opts__Option__value
]))(var468
) /* value on <var468:OptionBool>*/;
6335 var470
= ((struct instance_kernel__Bool
*)var469
)->value
; /* autounbox from nullable Object to Bool */;
6340 var472
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
6341 var473
= ((val
* (*)(val
*))(var472
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var472
) /* toolcontext on <var472:ModelBuilder>*/;
6342 var474
= ((val
* (*)(val
*))(var473
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phand_typing
]))(var473
) /* opt_phand_typing on <var473:ToolContext>*/;
6343 var475
= ((val
* (*)(val
*))(var474
->class->vft
[COLOR_opts__Option__value
]))(var474
) /* value on <var474:OptionBool>*/;
6344 var476
= ((struct instance_kernel__Bool
*)var475
)->value
; /* autounbox from nullable Object to Bool */;
6349 var478
= varonce477
;
6351 var479
= " = HASH(";
6353 var481
= string__NativeString__to_s_with_length(var479
, var480
);
6355 varonce477
= var478
;
6358 var483
= varonce482
;
6360 var484
= "->color, ";
6362 var486
= string__NativeString__to_s_with_length(var484
, var485
);
6364 varonce482
= var483
;
6367 var488
= varonce487
;
6371 var491
= string__NativeString__to_s_with_length(var489
, var490
);
6373 varonce487
= var488
;
6375 var492
= NEW_array__Array(&type_array__Arraykernel__Object
);
6376 { /* var492 = array_instance Array[Object] */
6378 var494
= NEW_array__NativeArray(var493
, &type_array__NativeArraykernel__Object
);
6379 ((struct instance_array__NativeArray
*)var494
)->values
[0] = (val
*) var_cltype
;
6380 ((struct instance_array__NativeArray
*)var494
)->values
[1] = (val
*) var478
;
6381 ((struct instance_array__NativeArray
*)var494
)->values
[2] = (val
*) var_value_type_info
;
6382 ((struct instance_array__NativeArray
*)var494
)->values
[3] = (val
*) var483
;
6383 ((struct instance_array__NativeArray
*)var494
)->values
[4] = (val
*) var_idtype
;
6384 ((struct instance_array__NativeArray
*)var494
)->values
[5] = (val
*) var488
;
6385 ((void (*)(val
*, val
*, long))(var492
->class->vft
[COLOR_array__Array__with_native
]))(var492
, var494
, var493
) /* with_native on <var492:Array[Object]>*/;
6387 var495
= ((val
* (*)(val
*))(var492
->class->vft
[COLOR_string__Object__to_s
]))(var492
) /* to_s on <var492:Array[Object]>*/;
6388 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var495
) /* add on <self:SeparateCompilerVisitor>*/;
6392 var497
= varonce496
;
6396 var500
= string__NativeString__to_s_with_length(var498
, var499
);
6398 varonce496
= var497
;
6401 var502
= varonce501
;
6405 var505
= string__NativeString__to_s_with_length(var503
, var504
);
6407 varonce501
= var502
;
6410 var507
= varonce506
;
6412 var508
= "->table_size) {";
6414 var510
= string__NativeString__to_s_with_length(var508
, var509
);
6416 varonce506
= var507
;
6418 var511
= NEW_array__Array(&type_array__Arraykernel__Object
);
6419 { /* var511 = array_instance Array[Object] */
6421 var513
= NEW_array__NativeArray(var512
, &type_array__NativeArraykernel__Object
);
6422 ((struct instance_array__NativeArray
*)var513
)->values
[0] = (val
*) var497
;
6423 ((struct instance_array__NativeArray
*)var513
)->values
[1] = (val
*) var_cltype
;
6424 ((struct instance_array__NativeArray
*)var513
)->values
[2] = (val
*) var502
;
6425 ((struct instance_array__NativeArray
*)var513
)->values
[3] = (val
*) var_value_type_info
;
6426 ((struct instance_array__NativeArray
*)var513
)->values
[4] = (val
*) var507
;
6427 ((void (*)(val
*, val
*, long))(var511
->class->vft
[COLOR_array__Array__with_native
]))(var511
, var513
, var512
) /* with_native on <var511:Array[Object]>*/;
6429 var514
= ((val
* (*)(val
*))(var511
->class->vft
[COLOR_string__Object__to_s
]))(var511
) /* to_s on <var511:Array[Object]>*/;
6430 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var514
) /* add on <self:SeparateCompilerVisitor>*/;
6432 var516
= varonce515
;
6436 var519
= string__NativeString__to_s_with_length(var517
, var518
);
6438 varonce515
= var516
;
6440 var520
= NEW_array__Array(&type_array__Arraykernel__Object
);
6441 { /* var520 = array_instance Array[Object] */
6443 var522
= NEW_array__NativeArray(var521
, &type_array__NativeArraykernel__Object
);
6444 ((struct instance_array__NativeArray
*)var522
)->values
[0] = (val
*) var_res
;
6445 ((struct instance_array__NativeArray
*)var522
)->values
[1] = (val
*) var516
;
6446 ((void (*)(val
*, val
*, long))(var520
->class->vft
[COLOR_array__Array__with_native
]))(var520
, var522
, var521
) /* with_native on <var520:Array[Object]>*/;
6448 var523
= ((val
* (*)(val
*))(var520
->class->vft
[COLOR_string__Object__to_s
]))(var520
) /* to_s on <var520:Array[Object]>*/;
6449 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var523
) /* add on <self:SeparateCompilerVisitor>*/;
6451 var525
= varonce524
;
6453 var526
= "} else {";
6455 var528
= string__NativeString__to_s_with_length(var526
, var527
);
6457 varonce524
= var525
;
6459 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var525
) /* add on <self:SeparateCompilerVisitor>*/;
6461 var530
= varonce529
;
6465 var533
= string__NativeString__to_s_with_length(var531
, var532
);
6467 varonce529
= var530
;
6470 var535
= varonce534
;
6472 var536
= "->type_table[";
6474 var538
= string__NativeString__to_s_with_length(var536
, var537
);
6476 varonce534
= var535
;
6479 var540
= varonce539
;
6483 var543
= string__NativeString__to_s_with_length(var541
, var542
);
6485 varonce539
= var540
;
6488 var545
= varonce544
;
6492 var548
= string__NativeString__to_s_with_length(var546
, var547
);
6494 varonce544
= var545
;
6496 var549
= NEW_array__Array(&type_array__Arraykernel__Object
);
6497 { /* var549 = array_instance Array[Object] */
6499 var551
= NEW_array__NativeArray(var550
, &type_array__NativeArraykernel__Object
);
6500 ((struct instance_array__NativeArray
*)var551
)->values
[0] = (val
*) var_res
;
6501 ((struct instance_array__NativeArray
*)var551
)->values
[1] = (val
*) var530
;
6502 ((struct instance_array__NativeArray
*)var551
)->values
[2] = (val
*) var_value_type_info
;
6503 ((struct instance_array__NativeArray
*)var551
)->values
[3] = (val
*) var535
;
6504 ((struct instance_array__NativeArray
*)var551
)->values
[4] = (val
*) var_cltype
;
6505 ((struct instance_array__NativeArray
*)var551
)->values
[5] = (val
*) var540
;
6506 ((struct instance_array__NativeArray
*)var551
)->values
[6] = (val
*) var_idtype
;
6507 ((struct instance_array__NativeArray
*)var551
)->values
[7] = (val
*) var545
;
6508 ((void (*)(val
*, val
*, long))(var549
->class->vft
[COLOR_array__Array__with_native
]))(var549
, var551
, var550
) /* with_native on <var549:Array[Object]>*/;
6510 var552
= ((val
* (*)(val
*))(var549
->class->vft
[COLOR_string__Object__to_s
]))(var549
) /* to_s on <var549:Array[Object]>*/;
6511 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var552
) /* add on <self:SeparateCompilerVisitor>*/;
6513 var554
= varonce553
;
6517 var557
= string__NativeString__to_s_with_length(var555
, var556
);
6519 varonce553
= var554
;
6521 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var554
) /* add on <self:SeparateCompilerVisitor>*/;
6522 if (var_maybe_null
){
6524 var559
= varonce558
;
6528 var562
= string__NativeString__to_s_with_length(var560
, var561
);
6530 varonce558
= var559
;
6532 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var559
) /* add on <self:SeparateCompilerVisitor>*/;
6540 /* method separate_compiler#SeparateCompilerVisitor#type_test for (self: Object, RuntimeVariable, MType, String): RuntimeVariable */
6541 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__type_test(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6542 val
* var
/* : RuntimeVariable */;
6543 val
* var1
/* : RuntimeVariable */;
6544 var1
= separate_compiler__SeparateCompilerVisitor__type_test(self
, p0
, p1
, p2
);
6549 /* method separate_compiler#SeparateCompilerVisitor#is_same_type_test for (self: SeparateCompilerVisitor, RuntimeVariable, RuntimeVariable): RuntimeVariable */
6550 val
* separate_compiler__SeparateCompilerVisitor__is_same_type_test(val
* self
, val
* p0
, val
* p1
) {
6551 val
* var
/* : RuntimeVariable */;
6552 val
* var_value1
/* var value1: RuntimeVariable */;
6553 val
* var_value2
/* var value2: RuntimeVariable */;
6554 val
* var1
/* : MClassType */;
6555 val
* var2
/* : RuntimeVariable */;
6556 val
* var_res
/* var res: RuntimeVariable */;
6557 short int var3
/* : Bool */;
6558 val
* var4
/* : MType */;
6559 val
* var5
/* : String */;
6560 static val
* varonce
;
6561 val
* var6
/* : String */;
6562 char* var7
/* : NativeString */;
6563 long var8
/* : Int */;
6564 val
* var9
/* : String */;
6565 short int var10
/* : Bool */;
6566 short int var_
/* var : Bool */;
6567 val
* var11
/* : MType */;
6568 val
* var12
/* : String */;
6569 static val
* varonce13
;
6570 val
* var14
/* : String */;
6571 char* var15
/* : NativeString */;
6572 long var16
/* : Int */;
6573 val
* var17
/* : String */;
6574 short int var18
/* : Bool */;
6575 val
* var_tmp
/* var tmp: RuntimeVariable */;
6576 val
* var19
/* : MType */;
6577 val
* var20
/* : String */;
6578 static val
* varonce21
;
6579 val
* var22
/* : String */;
6580 char* var23
/* : NativeString */;
6581 long var24
/* : Int */;
6582 val
* var25
/* : String */;
6583 short int var26
/* : Bool */;
6584 val
* var27
/* : MType */;
6585 val
* var28
/* : MType */;
6586 short int var29
/* : Bool */;
6587 static val
* varonce30
;
6588 val
* var31
/* : String */;
6589 char* var32
/* : NativeString */;
6590 long var33
/* : Int */;
6591 val
* var34
/* : String */;
6592 val
* var35
/* : MType */;
6593 static val
* varonce36
;
6594 val
* var37
/* : String */;
6595 char* var38
/* : NativeString */;
6596 long var39
/* : Int */;
6597 val
* var40
/* : String */;
6598 val
* var41
/* : MType */;
6599 static val
* varonce42
;
6600 val
* var43
/* : String */;
6601 char* var44
/* : NativeString */;
6602 long var45
/* : Int */;
6603 val
* var46
/* : String */;
6604 val
* var47
/* : Array[Object] */;
6605 long var48
/* : Int */;
6606 val
* var49
/* : NativeArray[Object] */;
6607 val
* var50
/* : String */;
6608 val
* var51
/* : MType */;
6609 val
* var52
/* : String */;
6610 static val
* varonce53
;
6611 val
* var54
/* : String */;
6612 char* var55
/* : NativeString */;
6613 long var56
/* : Int */;
6614 val
* var57
/* : String */;
6615 short int var58
/* : Bool */;
6616 static val
* varonce59
;
6617 val
* var60
/* : String */;
6618 char* var61
/* : NativeString */;
6619 long var62
/* : Int */;
6620 val
* var63
/* : String */;
6621 val
* var64
/* : MType */;
6622 static val
* varonce65
;
6623 val
* var66
/* : String */;
6624 char* var67
/* : NativeString */;
6625 long var68
/* : Int */;
6626 val
* var69
/* : String */;
6627 val
* var70
/* : MType */;
6628 static val
* varonce71
;
6629 val
* var72
/* : String */;
6630 char* var73
/* : NativeString */;
6631 long var74
/* : Int */;
6632 val
* var75
/* : String */;
6633 val
* var76
/* : Array[Object] */;
6634 long var77
/* : Int */;
6635 val
* var78
/* : NativeArray[Object] */;
6636 val
* var79
/* : String */;
6637 val
* var80
/* : MType */;
6638 short int var81
/* : Bool */;
6641 const char* var_class_name
;
6642 val
* var_mtype1
/* var mtype1: MClassType */;
6643 static val
* varonce82
;
6644 val
* var83
/* : String */;
6645 char* var84
/* : NativeString */;
6646 long var85
/* : Int */;
6647 val
* var86
/* : String */;
6648 val
* var87
/* : String */;
6649 val
* var88
/* : Array[Object] */;
6650 long var89
/* : Int */;
6651 val
* var90
/* : NativeArray[Object] */;
6652 val
* var91
/* : String */;
6653 static val
* varonce92
;
6654 val
* var93
/* : String */;
6655 char* var94
/* : NativeString */;
6656 long var95
/* : Int */;
6657 val
* var96
/* : String */;
6658 static val
* varonce97
;
6659 val
* var98
/* : String */;
6660 char* var99
/* : NativeString */;
6661 long var100
/* : Int */;
6662 val
* var101
/* : String */;
6663 static val
* varonce102
;
6664 val
* var103
/* : String */;
6665 char* var104
/* : NativeString */;
6666 long var105
/* : Int */;
6667 val
* var106
/* : String */;
6668 val
* var107
/* : String */;
6669 static val
* varonce108
;
6670 val
* var109
/* : String */;
6671 char* var110
/* : NativeString */;
6672 long var111
/* : Int */;
6673 val
* var112
/* : String */;
6674 val
* var113
/* : Array[Object] */;
6675 long var114
/* : Int */;
6676 val
* var115
/* : NativeArray[Object] */;
6677 val
* var116
/* : String */;
6678 static val
* varonce117
;
6679 val
* var118
/* : String */;
6680 char* var119
/* : NativeString */;
6681 long var120
/* : Int */;
6682 val
* var121
/* : String */;
6683 static val
* varonce122
;
6684 val
* var123
/* : String */;
6685 char* var124
/* : NativeString */;
6686 long var125
/* : Int */;
6687 val
* var126
/* : String */;
6688 static val
* varonce127
;
6689 val
* var128
/* : String */;
6690 char* var129
/* : NativeString */;
6691 long var130
/* : Int */;
6692 val
* var131
/* : String */;
6693 static val
* varonce132
;
6694 val
* var133
/* : String */;
6695 char* var134
/* : NativeString */;
6696 long var135
/* : Int */;
6697 val
* var136
/* : String */;
6698 static val
* varonce137
;
6699 val
* var138
/* : String */;
6700 char* var139
/* : NativeString */;
6701 long var140
/* : Int */;
6702 val
* var141
/* : String */;
6703 static val
* varonce142
;
6704 val
* var143
/* : String */;
6705 char* var144
/* : NativeString */;
6706 long var145
/* : Int */;
6707 val
* var146
/* : String */;
6708 static val
* varonce147
;
6709 val
* var148
/* : String */;
6710 char* var149
/* : NativeString */;
6711 long var150
/* : Int */;
6712 val
* var151
/* : String */;
6713 val
* var152
/* : Array[Object] */;
6714 long var153
/* : Int */;
6715 val
* var154
/* : NativeArray[Object] */;
6716 val
* var155
/* : String */;
6719 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__bool_type
]))(self
) /* bool_type on <self:SeparateCompilerVisitor>*/;
6720 var2
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var1
) /* new_var on <self:SeparateCompilerVisitor>*/;
6722 var4
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
6723 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var4
) /* ctype on <var4:MType>*/;
6729 var9
= string__NativeString__to_s_with_length(var7
, var8
);
6733 var10
= ((short int (*)(val
*, val
*))(var5
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var5
, var6
) /* != on <var5:String>*/;
6736 var11
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
6737 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var11
) /* ctype on <var11:MType>*/;
6743 var17
= string__NativeString__to_s_with_length(var15
, var16
);
6747 var18
= ((short int (*)(val
*, val
*))(var12
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var12
, var14
) /* == on <var12:String>*/;
6753 var_tmp
= var_value1
;
6754 var_value1
= var_value2
;
6755 var_value2
= var_tmp
;
6758 var19
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
6759 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var19
) /* ctype on <var19:MType>*/;
6765 var25
= string__NativeString__to_s_with_length(var23
, var24
);
6769 var26
= ((short int (*)(val
*, val
*))(var20
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var20
, var22
) /* != on <var20:String>*/;
6771 var27
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
6772 var28
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
6773 var29
= ((short int (*)(val
*, val
*))(var27
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var27
, var28
) /* == on <var27:MType>*/;
6778 var32
= " = 1; /* is_same_type_test: compatible types ";
6780 var34
= string__NativeString__to_s_with_length(var32
, var33
);
6784 var35
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
6790 var40
= string__NativeString__to_s_with_length(var38
, var39
);
6794 var41
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
6800 var46
= string__NativeString__to_s_with_length(var44
, var45
);
6804 var47
= NEW_array__Array(&type_array__Arraykernel__Object
);
6805 { /* var47 = array_instance Array[Object] */
6807 var49
= NEW_array__NativeArray(var48
, &type_array__NativeArraykernel__Object
);
6808 ((struct instance_array__NativeArray
*)var49
)->values
[0] = (val
*) var_res
;
6809 ((struct instance_array__NativeArray
*)var49
)->values
[1] = (val
*) var31
;
6810 ((struct instance_array__NativeArray
*)var49
)->values
[2] = (val
*) var35
;
6811 ((struct instance_array__NativeArray
*)var49
)->values
[3] = (val
*) var37
;
6812 ((struct instance_array__NativeArray
*)var49
)->values
[4] = (val
*) var41
;
6813 ((struct instance_array__NativeArray
*)var49
)->values
[5] = (val
*) var43
;
6814 ((void (*)(val
*, val
*, long))(var47
->class->vft
[COLOR_array__Array__with_native
]))(var47
, var49
, var48
) /* with_native on <var47:Array[Object]>*/;
6816 var50
= ((val
* (*)(val
*))(var47
->class->vft
[COLOR_string__Object__to_s
]))(var47
) /* to_s on <var47:Array[Object]>*/;
6817 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var50
) /* add on <self:SeparateCompilerVisitor>*/;
6819 var51
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
6820 var52
= ((val
* (*)(val
*))(var51
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var51
) /* ctype on <var51:MType>*/;
6826 var57
= string__NativeString__to_s_with_length(var55
, var56
);
6830 var58
= ((short int (*)(val
*, val
*))(var52
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var52
, var54
) /* != on <var52:String>*/;
6835 var61
= " = 0; /* is_same_type_test: incompatible types ";
6837 var63
= string__NativeString__to_s_with_length(var61
, var62
);
6841 var64
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
6847 var69
= string__NativeString__to_s_with_length(var67
, var68
);
6851 var70
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
6857 var75
= string__NativeString__to_s_with_length(var73
, var74
);
6861 var76
= NEW_array__Array(&type_array__Arraykernel__Object
);
6862 { /* var76 = array_instance Array[Object] */
6864 var78
= NEW_array__NativeArray(var77
, &type_array__NativeArraykernel__Object
);
6865 ((struct instance_array__NativeArray
*)var78
)->values
[0] = (val
*) var_res
;
6866 ((struct instance_array__NativeArray
*)var78
)->values
[1] = (val
*) var60
;
6867 ((struct instance_array__NativeArray
*)var78
)->values
[2] = (val
*) var64
;
6868 ((struct instance_array__NativeArray
*)var78
)->values
[3] = (val
*) var66
;
6869 ((struct instance_array__NativeArray
*)var78
)->values
[4] = (val
*) var70
;
6870 ((struct instance_array__NativeArray
*)var78
)->values
[5] = (val
*) var72
;
6871 ((void (*)(val
*, val
*, long))(var76
->class->vft
[COLOR_array__Array__with_native
]))(var76
, var78
, var77
) /* with_native on <var76:Array[Object]>*/;
6873 var79
= ((val
* (*)(val
*))(var76
->class->vft
[COLOR_string__Object__to_s
]))(var76
) /* to_s on <var76:Array[Object]>*/;
6874 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var79
) /* add on <self:SeparateCompilerVisitor>*/;
6876 var80
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
6877 /* <var80:MType> isa MClassType */
6878 cltype
= type_model__MClassType
.color
;
6879 idtype
= type_model__MClassType
.id
;
6880 if(cltype
>= var80
->type
->table_size
) {
6883 var81
= var80
->type
->type_table
[cltype
] == idtype
;
6886 var_class_name
= var80
== NULL ?
"null" : var80
->type
->name
;
6887 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
6888 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1446);
6897 var86
= string__NativeString__to_s_with_length(var84
, var85
);
6901 var87
= ((val
* (*)(val
*))(var_mtype1
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype1
) /* c_name on <var_mtype1:MClassType>*/;
6902 var88
= NEW_array__Array(&type_array__Arraykernel__Object
);
6903 { /* var88 = array_instance Array[Object] */
6905 var90
= NEW_array__NativeArray(var89
, &type_array__NativeArraykernel__Object
);
6906 ((struct instance_array__NativeArray
*)var90
)->values
[0] = (val
*) var83
;
6907 ((struct instance_array__NativeArray
*)var90
)->values
[1] = (val
*) var87
;
6908 ((void (*)(val
*, val
*, long))(var88
->class->vft
[COLOR_array__Array__with_native
]))(var88
, var90
, var89
) /* with_native on <var88:Array[Object]>*/;
6910 var91
= ((val
* (*)(val
*))(var88
->class->vft
[COLOR_string__Object__to_s
]))(var88
) /* to_s on <var88:Array[Object]>*/;
6911 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var91
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
6917 var96
= string__NativeString__to_s_with_length(var94
, var95
);
6924 var99
= " != NULL) && (";
6926 var101
= string__NativeString__to_s_with_length(var99
, var100
);
6931 var103
= varonce102
;
6933 var104
= "->class == &class_";
6935 var106
= string__NativeString__to_s_with_length(var104
, var105
);
6937 varonce102
= var103
;
6939 var107
= ((val
* (*)(val
*))(var_mtype1
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype1
) /* c_name on <var_mtype1:MClassType>*/;
6941 var109
= varonce108
;
6943 var110
= "); /* is_same_type_test */";
6945 var112
= string__NativeString__to_s_with_length(var110
, var111
);
6947 varonce108
= var109
;
6949 var113
= NEW_array__Array(&type_array__Arraykernel__Object
);
6950 { /* var113 = array_instance Array[Object] */
6952 var115
= NEW_array__NativeArray(var114
, &type_array__NativeArraykernel__Object
);
6953 ((struct instance_array__NativeArray
*)var115
)->values
[0] = (val
*) var_res
;
6954 ((struct instance_array__NativeArray
*)var115
)->values
[1] = (val
*) var93
;
6955 ((struct instance_array__NativeArray
*)var115
)->values
[2] = (val
*) var_value2
;
6956 ((struct instance_array__NativeArray
*)var115
)->values
[3] = (val
*) var98
;
6957 ((struct instance_array__NativeArray
*)var115
)->values
[4] = (val
*) var_value2
;
6958 ((struct instance_array__NativeArray
*)var115
)->values
[5] = (val
*) var103
;
6959 ((struct instance_array__NativeArray
*)var115
)->values
[6] = (val
*) var107
;
6960 ((struct instance_array__NativeArray
*)var115
)->values
[7] = (val
*) var109
;
6961 ((void (*)(val
*, val
*, long))(var113
->class->vft
[COLOR_array__Array__with_native
]))(var113
, var115
, var114
) /* with_native on <var113:Array[Object]>*/;
6963 var116
= ((val
* (*)(val
*))(var113
->class->vft
[COLOR_string__Object__to_s
]))(var113
) /* to_s on <var113:Array[Object]>*/;
6964 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var116
) /* add on <self:SeparateCompilerVisitor>*/;
6969 var118
= varonce117
;
6973 var121
= string__NativeString__to_s_with_length(var119
, var120
);
6975 varonce117
= var118
;
6978 var123
= varonce122
;
6982 var126
= string__NativeString__to_s_with_length(var124
, var125
);
6984 varonce122
= var123
;
6987 var128
= varonce127
;
6991 var131
= string__NativeString__to_s_with_length(var129
, var130
);
6993 varonce127
= var128
;
6996 var133
= varonce132
;
6998 var134
= " != NULL && ";
7000 var136
= string__NativeString__to_s_with_length(var134
, var135
);
7002 varonce132
= var133
;
7005 var138
= varonce137
;
7007 var139
= " != NULL && ";
7009 var141
= string__NativeString__to_s_with_length(var139
, var140
);
7011 varonce137
= var138
;
7014 var143
= varonce142
;
7016 var144
= "->class == ";
7018 var146
= string__NativeString__to_s_with_length(var144
, var145
);
7020 varonce142
= var143
;
7023 var148
= varonce147
;
7025 var149
= "->class); /* is_same_type_test */";
7027 var151
= string__NativeString__to_s_with_length(var149
, var150
);
7029 varonce147
= var148
;
7031 var152
= NEW_array__Array(&type_array__Arraykernel__Object
);
7032 { /* var152 = array_instance Array[Object] */
7034 var154
= NEW_array__NativeArray(var153
, &type_array__NativeArraykernel__Object
);
7035 ((struct instance_array__NativeArray
*)var154
)->values
[0] = (val
*) var_res
;
7036 ((struct instance_array__NativeArray
*)var154
)->values
[1] = (val
*) var118
;
7037 ((struct instance_array__NativeArray
*)var154
)->values
[2] = (val
*) var_value1
;
7038 ((struct instance_array__NativeArray
*)var154
)->values
[3] = (val
*) var123
;
7039 ((struct instance_array__NativeArray
*)var154
)->values
[4] = (val
*) var_value2
;
7040 ((struct instance_array__NativeArray
*)var154
)->values
[5] = (val
*) var128
;
7041 ((struct instance_array__NativeArray
*)var154
)->values
[6] = (val
*) var_value1
;
7042 ((struct instance_array__NativeArray
*)var154
)->values
[7] = (val
*) var133
;
7043 ((struct instance_array__NativeArray
*)var154
)->values
[8] = (val
*) var_value2
;
7044 ((struct instance_array__NativeArray
*)var154
)->values
[9] = (val
*) var138
;
7045 ((struct instance_array__NativeArray
*)var154
)->values
[10] = (val
*) var_value1
;
7046 ((struct instance_array__NativeArray
*)var154
)->values
[11] = (val
*) var143
;
7047 ((struct instance_array__NativeArray
*)var154
)->values
[12] = (val
*) var_value2
;
7048 ((struct instance_array__NativeArray
*)var154
)->values
[13] = (val
*) var148
;
7049 ((void (*)(val
*, val
*, long))(var152
->class->vft
[COLOR_array__Array__with_native
]))(var152
, var154
, var153
) /* with_native on <var152:Array[Object]>*/;
7051 var155
= ((val
* (*)(val
*))(var152
->class->vft
[COLOR_string__Object__to_s
]))(var152
) /* to_s on <var152:Array[Object]>*/;
7052 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var155
) /* add on <self:SeparateCompilerVisitor>*/;
7059 /* method separate_compiler#SeparateCompilerVisitor#is_same_type_test for (self: Object, RuntimeVariable, RuntimeVariable): RuntimeVariable */
7060 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__is_same_type_test(val
* self
, val
* p0
, val
* p1
) {
7061 val
* var
/* : RuntimeVariable */;
7062 val
* var1
/* : RuntimeVariable */;
7063 var1
= separate_compiler__SeparateCompilerVisitor__is_same_type_test(self
, p0
, p1
);
7068 /* method separate_compiler#SeparateCompilerVisitor#class_name_string for (self: SeparateCompilerVisitor, RuntimeVariable): String */
7069 val
* separate_compiler__SeparateCompilerVisitor__class_name_string(val
* self
, val
* p0
) {
7070 val
* var
/* : String */;
7071 val
* var_value
/* var value: RuntimeVariable */;
7072 static val
* varonce
;
7073 val
* var1
/* : String */;
7074 char* var2
/* : NativeString */;
7075 long var3
/* : Int */;
7076 val
* var4
/* : String */;
7077 val
* var5
/* : String */;
7078 val
* var_res
/* var res: String */;
7079 static val
* varonce6
;
7080 val
* var7
/* : String */;
7081 char* var8
/* : NativeString */;
7082 long var9
/* : Int */;
7083 val
* var10
/* : String */;
7084 static val
* varonce11
;
7085 val
* var12
/* : String */;
7086 char* var13
/* : NativeString */;
7087 long var14
/* : Int */;
7088 val
* var15
/* : String */;
7089 val
* var16
/* : Array[Object] */;
7090 long var17
/* : Int */;
7091 val
* var18
/* : NativeArray[Object] */;
7092 val
* var19
/* : String */;
7093 val
* var20
/* : MType */;
7094 val
* var21
/* : String */;
7095 static val
* varonce22
;
7096 val
* var23
/* : String */;
7097 char* var24
/* : NativeString */;
7098 long var25
/* : Int */;
7099 val
* var26
/* : String */;
7100 short int var27
/* : Bool */;
7101 static val
* varonce28
;
7102 val
* var29
/* : String */;
7103 char* var30
/* : NativeString */;
7104 long var31
/* : Int */;
7105 val
* var32
/* : String */;
7106 static val
* varonce33
;
7107 val
* var34
/* : String */;
7108 char* var35
/* : NativeString */;
7109 long var36
/* : Int */;
7110 val
* var37
/* : String */;
7111 static val
* varonce38
;
7112 val
* var39
/* : String */;
7113 char* var40
/* : NativeString */;
7114 long var41
/* : Int */;
7115 val
* var42
/* : String */;
7116 val
* var43
/* : Array[Object] */;
7117 long var44
/* : Int */;
7118 val
* var45
/* : NativeArray[Object] */;
7119 val
* var46
/* : String */;
7120 short int var47
/* : Bool */;
7121 val
* var48
/* : MType */;
7122 short int var49
/* : Bool */;
7125 short int var_
/* var : Bool */;
7126 val
* var50
/* : MType */;
7127 short int var51
/* : Bool */;
7130 const char* var_class_name
;
7131 val
* var54
/* : MClass */;
7132 val
* var55
/* : MClassKind */;
7133 val
* var56
/* : MClassKind */;
7134 short int var57
/* : Bool */;
7135 static val
* varonce58
;
7136 val
* var59
/* : String */;
7137 char* var60
/* : NativeString */;
7138 long var61
/* : Int */;
7139 val
* var62
/* : String */;
7140 val
* var63
/* : MType */;
7141 short int var64
/* : Bool */;
7144 const char* var_class_name67
;
7145 val
* var68
/* : MClass */;
7146 static val
* varonce69
;
7147 val
* var70
/* : String */;
7148 char* var71
/* : NativeString */;
7149 long var72
/* : Int */;
7150 val
* var73
/* : String */;
7151 val
* var74
/* : Array[Object] */;
7152 long var75
/* : Int */;
7153 val
* var76
/* : NativeArray[Object] */;
7154 val
* var77
/* : String */;
7155 static val
* varonce78
;
7156 val
* var79
/* : String */;
7157 char* var80
/* : NativeString */;
7158 long var81
/* : Int */;
7159 val
* var82
/* : String */;
7160 val
* var83
/* : MType */;
7161 val
* var84
/* : String */;
7162 val
* var85
/* : Array[Object] */;
7163 long var86
/* : Int */;
7164 val
* var87
/* : NativeArray[Object] */;
7165 val
* var88
/* : String */;
7166 static val
* varonce89
;
7167 val
* var90
/* : String */;
7168 char* var91
/* : NativeString */;
7169 long var92
/* : Int */;
7170 val
* var93
/* : String */;
7171 val
* var94
/* : MType */;
7172 val
* var95
/* : String */;
7173 static val
* varonce96
;
7174 val
* var97
/* : String */;
7175 char* var98
/* : NativeString */;
7176 long var99
/* : Int */;
7177 val
* var100
/* : String */;
7178 val
* var101
/* : Array[Object] */;
7179 long var102
/* : Int */;
7180 val
* var103
/* : NativeArray[Object] */;
7181 val
* var104
/* : String */;
7186 var2
= "var_class_name";
7188 var4
= string__NativeString__to_s_with_length(var2
, var3
);
7192 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var1
) /* get_name on <self:SeparateCompilerVisitor>*/;
7197 var8
= "const char* ";
7199 var10
= string__NativeString__to_s_with_length(var8
, var9
);
7208 var15
= string__NativeString__to_s_with_length(var13
, var14
);
7212 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
7213 { /* var16 = array_instance Array[Object] */
7215 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArraykernel__Object
);
7216 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var7
;
7217 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var_res
;
7218 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var12
;
7219 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
7221 var19
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
7222 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var19
) /* add_decl on <self:SeparateCompilerVisitor>*/;
7223 var20
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
7224 var21
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var20
) /* ctype on <var20:MType>*/;
7230 var26
= string__NativeString__to_s_with_length(var24
, var25
);
7234 var27
= ((short int (*)(val
*, val
*))(var21
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var21
, var23
) /* == on <var21:String>*/;
7241 var32
= string__NativeString__to_s_with_length(var30
, var31
);
7248 var35
= " == NULL ? \"null\" : ";
7250 var37
= string__NativeString__to_s_with_length(var35
, var36
);
7257 var40
= "->type->name;";
7259 var42
= string__NativeString__to_s_with_length(var40
, var41
);
7263 var43
= NEW_array__Array(&type_array__Arraykernel__Object
);
7264 { /* var43 = array_instance Array[Object] */
7266 var45
= NEW_array__NativeArray(var44
, &type_array__NativeArraykernel__Object
);
7267 ((struct instance_array__NativeArray
*)var45
)->values
[0] = (val
*) var_res
;
7268 ((struct instance_array__NativeArray
*)var45
)->values
[1] = (val
*) var29
;
7269 ((struct instance_array__NativeArray
*)var45
)->values
[2] = (val
*) var_value
;
7270 ((struct instance_array__NativeArray
*)var45
)->values
[3] = (val
*) var34
;
7271 ((struct instance_array__NativeArray
*)var45
)->values
[4] = (val
*) var_value
;
7272 ((struct instance_array__NativeArray
*)var45
)->values
[5] = (val
*) var39
;
7273 ((void (*)(val
*, val
*, long))(var43
->class->vft
[COLOR_array__Array__with_native
]))(var43
, var45
, var44
) /* with_native on <var43:Array[Object]>*/;
7275 var46
= ((val
* (*)(val
*))(var43
->class->vft
[COLOR_string__Object__to_s
]))(var43
) /* to_s on <var43:Array[Object]>*/;
7276 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var46
) /* add on <self:SeparateCompilerVisitor>*/;
7278 var48
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
7279 /* <var48:MType> isa MClassType */
7280 cltype
= type_model__MClassType
.color
;
7281 idtype
= type_model__MClassType
.id
;
7282 if(cltype
>= var48
->type
->table_size
) {
7285 var49
= var48
->type
->type_table
[cltype
] == idtype
;
7289 var50
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
7290 /* <var50:MType> isa MClassType */
7291 cltype52
= type_model__MClassType
.color
;
7292 idtype53
= type_model__MClassType
.id
;
7293 if(cltype52
>= var50
->type
->table_size
) {
7296 var51
= var50
->type
->type_table
[cltype52
] == idtype53
;
7299 var_class_name
= var50
== NULL ?
"null" : var50
->type
->name
;
7300 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
7301 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1462);
7304 var54
= ((val
* (*)(val
*))(var50
->class->vft
[COLOR_model__MClassType__mclass
]))(var50
) /* mclass on <var50:MType(MClassType)>*/;
7305 var55
= ((val
* (*)(val
*))(var54
->class->vft
[COLOR_model__MClass__kind
]))(var54
) /* kind on <var54:MClass>*/;
7306 var56
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__Object__extern_kind
]))(self
) /* extern_kind on <self:SeparateCompilerVisitor>*/;
7307 var57
= ((short int (*)(val
*, val
*))(var55
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var55
, var56
) /* == on <var55:MClassKind>*/;
7318 var62
= string__NativeString__to_s_with_length(var60
, var61
);
7322 var63
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
7323 /* <var63:MType> isa MClassType */
7324 cltype65
= type_model__MClassType
.color
;
7325 idtype66
= type_model__MClassType
.id
;
7326 if(cltype65
>= var63
->type
->table_size
) {
7329 var64
= var63
->type
->type_table
[cltype65
] == idtype66
;
7332 var_class_name67
= var63
== NULL ?
"null" : var63
->type
->name
;
7333 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name67
);
7334 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1463);
7337 var68
= ((val
* (*)(val
*))(var63
->class->vft
[COLOR_model__MClassType__mclass
]))(var63
) /* mclass on <var63:MType(MClassType)>*/;
7343 var73
= string__NativeString__to_s_with_length(var71
, var72
);
7347 var74
= NEW_array__Array(&type_array__Arraykernel__Object
);
7348 { /* var74 = array_instance Array[Object] */
7350 var76
= NEW_array__NativeArray(var75
, &type_array__NativeArraykernel__Object
);
7351 ((struct instance_array__NativeArray
*)var76
)->values
[0] = (val
*) var_res
;
7352 ((struct instance_array__NativeArray
*)var76
)->values
[1] = (val
*) var59
;
7353 ((struct instance_array__NativeArray
*)var76
)->values
[2] = (val
*) var68
;
7354 ((struct instance_array__NativeArray
*)var76
)->values
[3] = (val
*) var70
;
7355 ((void (*)(val
*, val
*, long))(var74
->class->vft
[COLOR_array__Array__with_native
]))(var74
, var76
, var75
) /* with_native on <var74:Array[Object]>*/;
7357 var77
= ((val
* (*)(val
*))(var74
->class->vft
[COLOR_string__Object__to_s
]))(var74
) /* to_s on <var74:Array[Object]>*/;
7358 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var77
) /* add on <self:SeparateCompilerVisitor>*/;
7365 var82
= string__NativeString__to_s_with_length(var80
, var81
);
7369 var83
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
7370 var84
= ((val
* (*)(val
*))(var83
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var83
) /* c_name on <var83:MType>*/;
7371 var85
= NEW_array__Array(&type_array__Arraykernel__Object
);
7372 { /* var85 = array_instance Array[Object] */
7374 var87
= NEW_array__NativeArray(var86
, &type_array__NativeArraykernel__Object
);
7375 ((struct instance_array__NativeArray
*)var87
)->values
[0] = (val
*) var79
;
7376 ((struct instance_array__NativeArray
*)var87
)->values
[1] = (val
*) var84
;
7377 ((void (*)(val
*, val
*, long))(var85
->class->vft
[COLOR_array__Array__with_native
]))(var85
, var87
, var86
) /* with_native on <var85:Array[Object]>*/;
7379 var88
= ((val
* (*)(val
*))(var85
->class->vft
[COLOR_string__Object__to_s
]))(var85
) /* to_s on <var85:Array[Object]>*/;
7380 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var88
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
7386 var93
= string__NativeString__to_s_with_length(var91
, var92
);
7390 var94
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
7391 var95
= ((val
* (*)(val
*))(var94
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var94
) /* c_name on <var94:MType>*/;
7397 var100
= string__NativeString__to_s_with_length(var98
, var99
);
7401 var101
= NEW_array__Array(&type_array__Arraykernel__Object
);
7402 { /* var101 = array_instance Array[Object] */
7404 var103
= NEW_array__NativeArray(var102
, &type_array__NativeArraykernel__Object
);
7405 ((struct instance_array__NativeArray
*)var103
)->values
[0] = (val
*) var_res
;
7406 ((struct instance_array__NativeArray
*)var103
)->values
[1] = (val
*) var90
;
7407 ((struct instance_array__NativeArray
*)var103
)->values
[2] = (val
*) var95
;
7408 ((struct instance_array__NativeArray
*)var103
)->values
[3] = (val
*) var97
;
7409 ((void (*)(val
*, val
*, long))(var101
->class->vft
[COLOR_array__Array__with_native
]))(var101
, var103
, var102
) /* with_native on <var101:Array[Object]>*/;
7411 var104
= ((val
* (*)(val
*))(var101
->class->vft
[COLOR_string__Object__to_s
]))(var101
) /* to_s on <var101:Array[Object]>*/;
7412 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var104
) /* add on <self:SeparateCompilerVisitor>*/;
7420 /* method separate_compiler#SeparateCompilerVisitor#class_name_string for (self: Object, RuntimeVariable): String */
7421 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__class_name_string(val
* self
, val
* p0
) {
7422 val
* var
/* : String */;
7423 val
* var1
/* : String */;
7424 var1
= separate_compiler__SeparateCompilerVisitor__class_name_string(self
, p0
);
7429 /* method separate_compiler#SeparateCompilerVisitor#equal_test for (self: SeparateCompilerVisitor, RuntimeVariable, RuntimeVariable): RuntimeVariable */
7430 val
* separate_compiler__SeparateCompilerVisitor__equal_test(val
* self
, val
* p0
, val
* p1
) {
7431 val
* var
/* : RuntimeVariable */;
7432 val
* var_value1
/* var value1: RuntimeVariable */;
7433 val
* var_value2
/* var value2: RuntimeVariable */;
7434 val
* var1
/* : MClassType */;
7435 val
* var2
/* : RuntimeVariable */;
7436 val
* var_res
/* var res: RuntimeVariable */;
7437 short int var3
/* : Bool */;
7438 val
* var4
/* : MType */;
7439 val
* var5
/* : String */;
7440 static val
* varonce
;
7441 val
* var6
/* : String */;
7442 char* var7
/* : NativeString */;
7443 long var8
/* : Int */;
7444 val
* var9
/* : String */;
7445 short int var10
/* : Bool */;
7446 short int var_
/* var : Bool */;
7447 val
* var11
/* : MType */;
7448 val
* var12
/* : String */;
7449 static val
* varonce13
;
7450 val
* var14
/* : String */;
7451 char* var15
/* : NativeString */;
7452 long var16
/* : Int */;
7453 val
* var17
/* : String */;
7454 short int var18
/* : Bool */;
7455 val
* var_tmp
/* var tmp: RuntimeVariable */;
7456 val
* var19
/* : MType */;
7457 val
* var20
/* : String */;
7458 static val
* varonce21
;
7459 val
* var22
/* : String */;
7460 char* var23
/* : NativeString */;
7461 long var24
/* : Int */;
7462 val
* var25
/* : String */;
7463 short int var26
/* : Bool */;
7464 val
* var27
/* : MType */;
7465 val
* var28
/* : MType */;
7466 short int var29
/* : Bool */;
7467 static val
* varonce30
;
7468 val
* var31
/* : String */;
7469 char* var32
/* : NativeString */;
7470 long var33
/* : Int */;
7471 val
* var34
/* : String */;
7472 static val
* varonce35
;
7473 val
* var36
/* : String */;
7474 char* var37
/* : NativeString */;
7475 long var38
/* : Int */;
7476 val
* var39
/* : String */;
7477 static val
* varonce40
;
7478 val
* var41
/* : String */;
7479 char* var42
/* : NativeString */;
7480 long var43
/* : Int */;
7481 val
* var44
/* : String */;
7482 val
* var45
/* : Array[Object] */;
7483 long var46
/* : Int */;
7484 val
* var47
/* : NativeArray[Object] */;
7485 val
* var48
/* : String */;
7486 val
* var49
/* : MType */;
7487 val
* var50
/* : String */;
7488 static val
* varonce51
;
7489 val
* var52
/* : String */;
7490 char* var53
/* : NativeString */;
7491 long var54
/* : Int */;
7492 val
* var55
/* : String */;
7493 short int var56
/* : Bool */;
7494 static val
* varonce57
;
7495 val
* var58
/* : String */;
7496 char* var59
/* : NativeString */;
7497 long var60
/* : Int */;
7498 val
* var61
/* : String */;
7499 val
* var62
/* : MType */;
7500 static val
* varonce63
;
7501 val
* var64
/* : String */;
7502 char* var65
/* : NativeString */;
7503 long var66
/* : Int */;
7504 val
* var67
/* : String */;
7505 val
* var68
/* : MType */;
7506 static val
* varonce69
;
7507 val
* var70
/* : String */;
7508 char* var71
/* : NativeString */;
7509 long var72
/* : Int */;
7510 val
* var73
/* : String */;
7511 val
* var74
/* : Array[Object] */;
7512 long var75
/* : Int */;
7513 val
* var76
/* : NativeArray[Object] */;
7514 val
* var77
/* : String */;
7515 val
* var78
/* : MType */;
7516 short int var79
/* : Bool */;
7519 const char* var_class_name
;
7520 val
* var_mtype1
/* var mtype1: MClassType */;
7521 static val
* varonce80
;
7522 val
* var81
/* : String */;
7523 char* var82
/* : NativeString */;
7524 long var83
/* : Int */;
7525 val
* var84
/* : String */;
7526 val
* var85
/* : String */;
7527 val
* var86
/* : Array[Object] */;
7528 long var87
/* : Int */;
7529 val
* var88
/* : NativeArray[Object] */;
7530 val
* var89
/* : String */;
7531 static val
* varonce90
;
7532 val
* var91
/* : String */;
7533 char* var92
/* : NativeString */;
7534 long var93
/* : Int */;
7535 val
* var94
/* : String */;
7536 static val
* varonce95
;
7537 val
* var96
/* : String */;
7538 char* var97
/* : NativeString */;
7539 long var98
/* : Int */;
7540 val
* var99
/* : String */;
7541 static val
* varonce100
;
7542 val
* var101
/* : String */;
7543 char* var102
/* : NativeString */;
7544 long var103
/* : Int */;
7545 val
* var104
/* : String */;
7546 val
* var105
/* : String */;
7547 static val
* varonce106
;
7548 val
* var107
/* : String */;
7549 char* var108
/* : NativeString */;
7550 long var109
/* : Int */;
7551 val
* var110
/* : String */;
7552 val
* var111
/* : Array[Object] */;
7553 long var112
/* : Int */;
7554 val
* var113
/* : NativeArray[Object] */;
7555 val
* var114
/* : String */;
7556 static val
* varonce115
;
7557 val
* var116
/* : String */;
7558 char* var117
/* : NativeString */;
7559 long var118
/* : Int */;
7560 val
* var119
/* : String */;
7561 static val
* varonce120
;
7562 val
* var121
/* : String */;
7563 char* var122
/* : NativeString */;
7564 long var123
/* : Int */;
7565 val
* var124
/* : String */;
7566 val
* var125
/* : Array[Object] */;
7567 long var126
/* : Int */;
7568 val
* var127
/* : NativeArray[Object] */;
7569 val
* var128
/* : String */;
7570 static val
* varonce129
;
7571 val
* var130
/* : String */;
7572 char* var131
/* : NativeString */;
7573 long var132
/* : Int */;
7574 val
* var133
/* : String */;
7575 val
* var134
/* : MType */;
7576 val
* var135
/* : RuntimeVariable */;
7577 static val
* varonce136
;
7578 val
* var137
/* : String */;
7579 char* var138
/* : NativeString */;
7580 long var139
/* : Int */;
7581 val
* var140
/* : String */;
7582 static val
* varonce141
;
7583 val
* var142
/* : String */;
7584 char* var143
/* : NativeString */;
7585 long var144
/* : Int */;
7586 val
* var145
/* : String */;
7587 val
* var146
/* : Array[Object] */;
7588 long var147
/* : Int */;
7589 val
* var148
/* : NativeArray[Object] */;
7590 val
* var149
/* : String */;
7591 static val
* varonce150
;
7592 val
* var151
/* : String */;
7593 char* var152
/* : NativeString */;
7594 long var153
/* : Int */;
7595 val
* var154
/* : String */;
7596 short int var155
/* : Bool */;
7597 short int var_maybe_null
/* var maybe_null: Bool */;
7598 val
* var156
/* : Array[String] */;
7599 val
* var_test
/* var test: Array[String] */;
7600 val
* var157
/* : MType */;
7601 val
* var_t1
/* var t1: MType */;
7602 short int var158
/* : Bool */;
7605 static val
* varonce161
;
7606 val
* var162
/* : String */;
7607 char* var163
/* : NativeString */;
7608 long var164
/* : Int */;
7609 val
* var165
/* : String */;
7610 val
* var166
/* : Array[Object] */;
7611 long var167
/* : Int */;
7612 val
* var168
/* : NativeArray[Object] */;
7613 val
* var169
/* : String */;
7614 val
* var170
/* : MType */;
7615 short int var171
/* : Bool */;
7616 val
* var172
/* : MType */;
7617 val
* var_t2
/* var t2: MType */;
7618 short int var173
/* : Bool */;
7621 static val
* varonce176
;
7622 val
* var177
/* : String */;
7623 char* var178
/* : NativeString */;
7624 long var179
/* : Int */;
7625 val
* var180
/* : String */;
7626 val
* var181
/* : Array[Object] */;
7627 long var182
/* : Int */;
7628 val
* var183
/* : NativeArray[Object] */;
7629 val
* var184
/* : String */;
7630 val
* var185
/* : MType */;
7631 short int var186
/* : Bool */;
7632 short int var187
/* : Bool */;
7633 short int var_incompatible
/* var incompatible: Bool */;
7634 val
* var188
/* : String */;
7635 static val
* varonce189
;
7636 val
* var190
/* : String */;
7637 char* var191
/* : NativeString */;
7638 long var192
/* : Int */;
7639 val
* var193
/* : String */;
7640 short int var194
/* : Bool */;
7641 val
* var_primitive
/* var primitive: nullable Object */;
7642 short int var195
/* : Bool */;
7643 val
* var196
/* : String */;
7644 static val
* varonce197
;
7645 val
* var198
/* : String */;
7646 char* var199
/* : NativeString */;
7647 long var200
/* : Int */;
7648 val
* var201
/* : String */;
7649 short int var202
/* : Bool */;
7650 short int var203
/* : Bool */;
7651 short int var204
/* : Bool */;
7652 static val
* varonce205
;
7653 val
* var206
/* : String */;
7654 char* var207
/* : NativeString */;
7655 long var208
/* : Int */;
7656 val
* var209
/* : String */;
7657 static val
* varonce210
;
7658 val
* var211
/* : String */;
7659 char* var212
/* : NativeString */;
7660 long var213
/* : Int */;
7661 val
* var214
/* : String */;
7662 val
* var215
/* : Array[Object] */;
7663 long var216
/* : Int */;
7664 val
* var217
/* : NativeArray[Object] */;
7665 val
* var218
/* : String */;
7666 short int var219
/* : Bool */;
7667 val
* var220
/* : String */;
7668 static val
* varonce221
;
7669 val
* var222
/* : String */;
7670 char* var223
/* : NativeString */;
7671 long var224
/* : Int */;
7672 val
* var225
/* : String */;
7673 short int var226
/* : Bool */;
7674 short int var227
/* : Bool */;
7675 static val
* varonce228
;
7676 val
* var229
/* : String */;
7677 char* var230
/* : NativeString */;
7678 long var231
/* : Int */;
7679 val
* var232
/* : String */;
7680 static val
* varonce233
;
7681 val
* var234
/* : String */;
7682 char* var235
/* : NativeString */;
7683 long var236
/* : Int */;
7684 val
* var237
/* : String */;
7685 val
* var238
/* : Array[Object] */;
7686 long var239
/* : Int */;
7687 val
* var240
/* : NativeArray[Object] */;
7688 val
* var241
/* : String */;
7689 short int var242
/* : Bool */;
7690 val
* var243
/* : null */;
7691 static val
* varonce244
;
7692 val
* var245
/* : String */;
7693 char* var246
/* : NativeString */;
7694 long var247
/* : Int */;
7695 val
* var248
/* : String */;
7696 static val
* varonce249
;
7697 val
* var250
/* : String */;
7698 char* var251
/* : NativeString */;
7699 long var252
/* : Int */;
7700 val
* var253
/* : String */;
7701 static val
* varonce254
;
7702 val
* var255
/* : String */;
7703 char* var256
/* : NativeString */;
7704 long var257
/* : Int */;
7705 val
* var258
/* : String */;
7706 static val
* varonce259
;
7707 val
* var260
/* : String */;
7708 char* var261
/* : NativeString */;
7709 long var262
/* : Int */;
7710 val
* var263
/* : String */;
7711 static val
* varonce264
;
7712 val
* var265
/* : String */;
7713 char* var266
/* : NativeString */;
7714 long var267
/* : Int */;
7715 val
* var268
/* : String */;
7716 val
* var269
/* : Array[Object] */;
7717 long var270
/* : Int */;
7718 val
* var271
/* : NativeArray[Object] */;
7719 val
* var272
/* : String */;
7720 static val
* varonce273
;
7721 val
* var274
/* : String */;
7722 char* var275
/* : NativeString */;
7723 long var276
/* : Int */;
7724 val
* var277
/* : String */;
7725 static val
* varonce278
;
7726 val
* var279
/* : String */;
7727 char* var280
/* : NativeString */;
7728 long var281
/* : Int */;
7729 val
* var282
/* : String */;
7730 static val
* varonce283
;
7731 val
* var284
/* : String */;
7732 char* var285
/* : NativeString */;
7733 long var286
/* : Int */;
7734 val
* var287
/* : String */;
7735 val
* var288
/* : Array[Object] */;
7736 long var289
/* : Int */;
7737 val
* var290
/* : NativeArray[Object] */;
7738 val
* var291
/* : String */;
7739 val
* var292
/* : null */;
7740 short int var293
/* : Bool */;
7741 static val
* varonce294
;
7742 val
* var295
/* : String */;
7743 char* var296
/* : NativeString */;
7744 long var297
/* : Int */;
7745 val
* var298
/* : String */;
7746 val
* var299
/* : String */;
7747 static val
* varonce300
;
7748 val
* var301
/* : String */;
7749 char* var302
/* : NativeString */;
7750 long var303
/* : Int */;
7751 val
* var304
/* : String */;
7752 static val
* varonce305
;
7753 val
* var306
/* : String */;
7754 char* var307
/* : NativeString */;
7755 long var308
/* : Int */;
7756 val
* var309
/* : String */;
7757 val
* var310
/* : String */;
7758 static val
* varonce311
;
7759 val
* var312
/* : String */;
7760 char* var313
/* : NativeString */;
7761 long var314
/* : Int */;
7762 val
* var315
/* : String */;
7763 static val
* varonce316
;
7764 val
* var317
/* : String */;
7765 char* var318
/* : NativeString */;
7766 long var319
/* : Int */;
7767 val
* var320
/* : String */;
7768 val
* var321
/* : Array[Object] */;
7769 long var322
/* : Int */;
7770 val
* var323
/* : NativeArray[Object] */;
7771 val
* var324
/* : String */;
7772 short int var325
/* : Bool */;
7773 short int var326
/* : Bool */;
7774 short int var_327
/* var : Bool */;
7775 short int var328
/* : Bool */;
7776 static val
* varonce329
;
7777 val
* var330
/* : String */;
7778 char* var331
/* : NativeString */;
7779 long var332
/* : Int */;
7780 val
* var333
/* : String */;
7781 static val
* varonce334
;
7782 val
* var335
/* : String */;
7783 char* var336
/* : NativeString */;
7784 long var337
/* : Int */;
7785 val
* var338
/* : String */;
7786 val
* var339
/* : Array[Object] */;
7787 long var340
/* : Int */;
7788 val
* var341
/* : NativeArray[Object] */;
7789 val
* var342
/* : String */;
7790 val
* var343
/* : Array[String] */;
7791 val
* var_s
/* var s: Array[String] */;
7792 val
* var344
/* : AbstractCompiler */;
7793 val
* var345
/* : HashMap[MClass, Int] */;
7794 val
* var346
/* : MapIterator[Object, nullable Object] */;
7795 short int var347
/* : Bool */;
7796 val
* var348
/* : Object */;
7797 val
* var_t
/* var t: MClass */;
7798 val
* var349
/* : nullable Object */;
7799 long var_v
/* var v: Int */;
7800 long var350
/* : Int */;
7801 static val
* varonce351
;
7802 val
* var352
/* : String */;
7803 char* var353
/* : NativeString */;
7804 long var354
/* : Int */;
7805 val
* var355
/* : String */;
7806 static val
* varonce356
;
7807 val
* var357
/* : String */;
7808 char* var358
/* : NativeString */;
7809 long var359
/* : Int */;
7810 val
* var360
/* : String */;
7811 static val
* varonce361
;
7812 val
* var362
/* : String */;
7813 char* var363
/* : NativeString */;
7814 long var364
/* : Int */;
7815 val
* var365
/* : String */;
7816 val
* var366
/* : String */;
7817 static val
* varonce367
;
7818 val
* var368
/* : String */;
7819 char* var369
/* : NativeString */;
7820 long var370
/* : Int */;
7821 val
* var371
/* : String */;
7822 static val
* varonce372
;
7823 val
* var373
/* : String */;
7824 char* var374
/* : NativeString */;
7825 long var375
/* : Int */;
7826 val
* var376
/* : String */;
7827 val
* var377
/* : String */;
7828 static val
* varonce378
;
7829 val
* var379
/* : String */;
7830 char* var380
/* : NativeString */;
7831 long var381
/* : Int */;
7832 val
* var382
/* : String */;
7833 static val
* varonce383
;
7834 val
* var384
/* : String */;
7835 char* var385
/* : NativeString */;
7836 long var386
/* : Int */;
7837 val
* var387
/* : String */;
7838 val
* var388
/* : Array[Object] */;
7839 long var389
/* : Int */;
7840 val
* var390
/* : NativeArray[Object] */;
7841 val
* var391
/* : Object */;
7842 val
* var392
/* : String */;
7843 static val
* varonce393
;
7844 val
* var394
/* : String */;
7845 char* var395
/* : NativeString */;
7846 long var396
/* : Int */;
7847 val
* var397
/* : String */;
7848 static val
* varonce398
;
7849 val
* var399
/* : String */;
7850 char* var400
/* : NativeString */;
7851 long var401
/* : Int */;
7852 val
* var402
/* : String */;
7853 val
* var403
/* : String */;
7854 static val
* varonce404
;
7855 val
* var405
/* : String */;
7856 char* var406
/* : NativeString */;
7857 long var407
/* : Int */;
7858 val
* var408
/* : String */;
7859 val
* var409
/* : Array[Object] */;
7860 long var410
/* : Int */;
7861 val
* var411
/* : NativeArray[Object] */;
7862 val
* var412
/* : String */;
7863 static val
* varonce413
;
7864 val
* var414
/* : String */;
7865 char* var415
/* : NativeString */;
7866 long var416
/* : Int */;
7867 val
* var417
/* : String */;
7868 static val
* varonce418
;
7869 val
* var419
/* : String */;
7870 char* var420
/* : NativeString */;
7871 long var421
/* : Int */;
7872 val
* var422
/* : String */;
7873 static val
* varonce423
;
7874 val
* var424
/* : String */;
7875 char* var425
/* : NativeString */;
7876 long var426
/* : Int */;
7877 val
* var427
/* : String */;
7878 val
* var428
/* : Array[Object] */;
7879 long var429
/* : Int */;
7880 val
* var430
/* : NativeArray[Object] */;
7881 val
* var431
/* : String */;
7882 static val
* varonce432
;
7883 val
* var433
/* : String */;
7884 char* var434
/* : NativeString */;
7885 long var435
/* : Int */;
7886 val
* var436
/* : String */;
7887 static val
* varonce437
;
7888 val
* var438
/* : String */;
7889 char* var439
/* : NativeString */;
7890 long var440
/* : Int */;
7891 val
* var441
/* : String */;
7892 static val
* varonce442
;
7893 val
* var443
/* : String */;
7894 char* var444
/* : NativeString */;
7895 long var445
/* : Int */;
7896 val
* var446
/* : String */;
7897 static val
* varonce447
;
7898 val
* var448
/* : String */;
7899 char* var449
/* : NativeString */;
7900 long var450
/* : Int */;
7901 val
* var451
/* : String */;
7902 val
* var452
/* : String */;
7903 static val
* varonce453
;
7904 val
* var454
/* : String */;
7905 char* var455
/* : NativeString */;
7906 long var456
/* : Int */;
7907 val
* var457
/* : String */;
7908 val
* var458
/* : Array[Object] */;
7909 long var459
/* : Int */;
7910 val
* var460
/* : NativeArray[Object] */;
7911 val
* var461
/* : String */;
7914 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__bool_type
]))(self
) /* bool_type on <self:SeparateCompilerVisitor>*/;
7915 var2
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var1
) /* new_var on <self:SeparateCompilerVisitor>*/;
7917 var4
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
7918 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var4
) /* ctype on <var4:MType>*/;
7924 var9
= string__NativeString__to_s_with_length(var7
, var8
);
7928 var10
= ((short int (*)(val
*, val
*))(var5
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var5
, var6
) /* != on <var5:String>*/;
7931 var11
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
7932 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var11
) /* ctype on <var11:MType>*/;
7938 var17
= string__NativeString__to_s_with_length(var15
, var16
);
7942 var18
= ((short int (*)(val
*, val
*))(var12
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var12
, var14
) /* == on <var12:String>*/;
7948 var_tmp
= var_value1
;
7949 var_value1
= var_value2
;
7950 var_value2
= var_tmp
;
7953 var19
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
7954 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var19
) /* ctype on <var19:MType>*/;
7960 var25
= string__NativeString__to_s_with_length(var23
, var24
);
7964 var26
= ((short int (*)(val
*, val
*))(var20
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var20
, var22
) /* != on <var20:String>*/;
7966 var27
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
7967 var28
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
7968 var29
= ((short int (*)(val
*, val
*))(var27
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var27
, var28
) /* == on <var27:MType>*/;
7975 var34
= string__NativeString__to_s_with_length(var32
, var33
);
7984 var39
= string__NativeString__to_s_with_length(var37
, var38
);
7993 var44
= string__NativeString__to_s_with_length(var42
, var43
);
7997 var45
= NEW_array__Array(&type_array__Arraykernel__Object
);
7998 { /* var45 = array_instance Array[Object] */
8000 var47
= NEW_array__NativeArray(var46
, &type_array__NativeArraykernel__Object
);
8001 ((struct instance_array__NativeArray
*)var47
)->values
[0] = (val
*) var_res
;
8002 ((struct instance_array__NativeArray
*)var47
)->values
[1] = (val
*) var31
;
8003 ((struct instance_array__NativeArray
*)var47
)->values
[2] = (val
*) var_value1
;
8004 ((struct instance_array__NativeArray
*)var47
)->values
[3] = (val
*) var36
;
8005 ((struct instance_array__NativeArray
*)var47
)->values
[4] = (val
*) var_value2
;
8006 ((struct instance_array__NativeArray
*)var47
)->values
[5] = (val
*) var41
;
8007 ((void (*)(val
*, val
*, long))(var45
->class->vft
[COLOR_array__Array__with_native
]))(var45
, var47
, var46
) /* with_native on <var45:Array[Object]>*/;
8009 var48
= ((val
* (*)(val
*))(var45
->class->vft
[COLOR_string__Object__to_s
]))(var45
) /* to_s on <var45:Array[Object]>*/;
8010 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var48
) /* add on <self:SeparateCompilerVisitor>*/;
8012 var49
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
8013 var50
= ((val
* (*)(val
*))(var49
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var49
) /* ctype on <var49:MType>*/;
8019 var55
= string__NativeString__to_s_with_length(var53
, var54
);
8023 var56
= ((short int (*)(val
*, val
*))(var50
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var50
, var52
) /* != on <var50:String>*/;
8028 var59
= " = 0; /* incompatible types ";
8030 var61
= string__NativeString__to_s_with_length(var59
, var60
);
8034 var62
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
8040 var67
= string__NativeString__to_s_with_length(var65
, var66
);
8044 var68
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
8050 var73
= string__NativeString__to_s_with_length(var71
, var72
);
8054 var74
= NEW_array__Array(&type_array__Arraykernel__Object
);
8055 { /* var74 = array_instance Array[Object] */
8057 var76
= NEW_array__NativeArray(var75
, &type_array__NativeArraykernel__Object
);
8058 ((struct instance_array__NativeArray
*)var76
)->values
[0] = (val
*) var_res
;
8059 ((struct instance_array__NativeArray
*)var76
)->values
[1] = (val
*) var58
;
8060 ((struct instance_array__NativeArray
*)var76
)->values
[2] = (val
*) var62
;
8061 ((struct instance_array__NativeArray
*)var76
)->values
[3] = (val
*) var64
;
8062 ((struct instance_array__NativeArray
*)var76
)->values
[4] = (val
*) var68
;
8063 ((struct instance_array__NativeArray
*)var76
)->values
[5] = (val
*) var70
;
8064 ((void (*)(val
*, val
*, long))(var74
->class->vft
[COLOR_array__Array__with_native
]))(var74
, var76
, var75
) /* with_native on <var74:Array[Object]>*/;
8066 var77
= ((val
* (*)(val
*))(var74
->class->vft
[COLOR_string__Object__to_s
]))(var74
) /* to_s on <var74:Array[Object]>*/;
8067 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var77
) /* add on <self:SeparateCompilerVisitor>*/;
8069 var78
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
8070 /* <var78:MType> isa MClassType */
8071 cltype
= type_model__MClassType
.color
;
8072 idtype
= type_model__MClassType
.id
;
8073 if(cltype
>= var78
->type
->table_size
) {
8076 var79
= var78
->type
->type_table
[cltype
] == idtype
;
8079 var_class_name
= var78
== NULL ?
"null" : var78
->type
->name
;
8080 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
8081 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1485);
8090 var84
= string__NativeString__to_s_with_length(var82
, var83
);
8094 var85
= ((val
* (*)(val
*))(var_mtype1
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype1
) /* c_name on <var_mtype1:MClassType>*/;
8095 var86
= NEW_array__Array(&type_array__Arraykernel__Object
);
8096 { /* var86 = array_instance Array[Object] */
8098 var88
= NEW_array__NativeArray(var87
, &type_array__NativeArraykernel__Object
);
8099 ((struct instance_array__NativeArray
*)var88
)->values
[0] = (val
*) var81
;
8100 ((struct instance_array__NativeArray
*)var88
)->values
[1] = (val
*) var85
;
8101 ((void (*)(val
*, val
*, long))(var86
->class->vft
[COLOR_array__Array__with_native
]))(var86
, var88
, var87
) /* with_native on <var86:Array[Object]>*/;
8103 var89
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_string__Object__to_s
]))(var86
) /* to_s on <var86:Array[Object]>*/;
8104 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var89
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
8110 var94
= string__NativeString__to_s_with_length(var92
, var93
);
8117 var97
= " != NULL) && (";
8119 var99
= string__NativeString__to_s_with_length(var97
, var98
);
8124 var101
= varonce100
;
8126 var102
= "->class == &class_";
8128 var104
= string__NativeString__to_s_with_length(var102
, var103
);
8130 varonce100
= var101
;
8132 var105
= ((val
* (*)(val
*))(var_mtype1
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype1
) /* c_name on <var_mtype1:MClassType>*/;
8134 var107
= varonce106
;
8138 var110
= string__NativeString__to_s_with_length(var108
, var109
);
8140 varonce106
= var107
;
8142 var111
= NEW_array__Array(&type_array__Arraykernel__Object
);
8143 { /* var111 = array_instance Array[Object] */
8145 var113
= NEW_array__NativeArray(var112
, &type_array__NativeArraykernel__Object
);
8146 ((struct instance_array__NativeArray
*)var113
)->values
[0] = (val
*) var_res
;
8147 ((struct instance_array__NativeArray
*)var113
)->values
[1] = (val
*) var91
;
8148 ((struct instance_array__NativeArray
*)var113
)->values
[2] = (val
*) var_value2
;
8149 ((struct instance_array__NativeArray
*)var113
)->values
[3] = (val
*) var96
;
8150 ((struct instance_array__NativeArray
*)var113
)->values
[4] = (val
*) var_value2
;
8151 ((struct instance_array__NativeArray
*)var113
)->values
[5] = (val
*) var101
;
8152 ((struct instance_array__NativeArray
*)var113
)->values
[6] = (val
*) var105
;
8153 ((struct instance_array__NativeArray
*)var113
)->values
[7] = (val
*) var107
;
8154 ((void (*)(val
*, val
*, long))(var111
->class->vft
[COLOR_array__Array__with_native
]))(var111
, var113
, var112
) /* with_native on <var111:Array[Object]>*/;
8156 var114
= ((val
* (*)(val
*))(var111
->class->vft
[COLOR_string__Object__to_s
]))(var111
) /* to_s on <var111:Array[Object]>*/;
8157 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var114
) /* add on <self:SeparateCompilerVisitor>*/;
8159 var116
= varonce115
;
8163 var119
= string__NativeString__to_s_with_length(var117
, var118
);
8165 varonce115
= var116
;
8168 var121
= varonce120
;
8172 var124
= string__NativeString__to_s_with_length(var122
, var123
);
8174 varonce120
= var121
;
8176 var125
= NEW_array__Array(&type_array__Arraykernel__Object
);
8177 { /* var125 = array_instance Array[Object] */
8179 var127
= NEW_array__NativeArray(var126
, &type_array__NativeArraykernel__Object
);
8180 ((struct instance_array__NativeArray
*)var127
)->values
[0] = (val
*) var116
;
8181 ((struct instance_array__NativeArray
*)var127
)->values
[1] = (val
*) var_res
;
8182 ((struct instance_array__NativeArray
*)var127
)->values
[2] = (val
*) var121
;
8183 ((void (*)(val
*, val
*, long))(var125
->class->vft
[COLOR_array__Array__with_native
]))(var125
, var127
, var126
) /* with_native on <var125:Array[Object]>*/;
8185 var128
= ((val
* (*)(val
*))(var125
->class->vft
[COLOR_string__Object__to_s
]))(var125
) /* to_s on <var125:Array[Object]>*/;
8186 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var128
) /* add on <self:SeparateCompilerVisitor>*/;
8188 var130
= varonce129
;
8192 var133
= string__NativeString__to_s_with_length(var131
, var132
);
8194 varonce129
= var130
;
8196 var134
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
8197 var135
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_value2
, var134
) /* autobox on <self:SeparateCompilerVisitor>*/;
8199 var137
= varonce136
;
8203 var140
= string__NativeString__to_s_with_length(var138
, var139
);
8205 varonce136
= var137
;
8208 var142
= varonce141
;
8212 var145
= string__NativeString__to_s_with_length(var143
, var144
);
8214 varonce141
= var142
;
8216 var146
= NEW_array__Array(&type_array__Arraykernel__Object
);
8217 { /* var146 = array_instance Array[Object] */
8219 var148
= NEW_array__NativeArray(var147
, &type_array__NativeArraykernel__Object
);
8220 ((struct instance_array__NativeArray
*)var148
)->values
[0] = (val
*) var_res
;
8221 ((struct instance_array__NativeArray
*)var148
)->values
[1] = (val
*) var130
;
8222 ((struct instance_array__NativeArray
*)var148
)->values
[2] = (val
*) var135
;
8223 ((struct instance_array__NativeArray
*)var148
)->values
[3] = (val
*) var137
;
8224 ((struct instance_array__NativeArray
*)var148
)->values
[4] = (val
*) var_value1
;
8225 ((struct instance_array__NativeArray
*)var148
)->values
[5] = (val
*) var142
;
8226 ((void (*)(val
*, val
*, long))(var146
->class->vft
[COLOR_array__Array__with_native
]))(var146
, var148
, var147
) /* with_native on <var146:Array[Object]>*/;
8228 var149
= ((val
* (*)(val
*))(var146
->class->vft
[COLOR_string__Object__to_s
]))(var146
) /* to_s on <var146:Array[Object]>*/;
8229 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var149
) /* add on <self:SeparateCompilerVisitor>*/;
8231 var151
= varonce150
;
8235 var154
= string__NativeString__to_s_with_length(var152
, var153
);
8237 varonce150
= var151
;
8239 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var151
) /* add on <self:SeparateCompilerVisitor>*/;
8247 var_maybe_null
= var155
;
8248 var156
= NEW_array__Array(&type_array__Arraystring__String
);
8249 ((void (*)(val
*))(var156
->class->vft
[COLOR_array__Array__init
]))(var156
) /* init on <var156:Array[String]>*/;
8251 var157
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value1
) /* mcasttype on <var_value1:RuntimeVariable>*/;
8253 /* <var_t1:MType> isa MNullableType */
8254 cltype159
= type_model__MNullableType
.color
;
8255 idtype160
= type_model__MNullableType
.id
;
8256 if(cltype159
>= var_t1
->type
->table_size
) {
8259 var158
= var_t1
->type
->type_table
[cltype159
] == idtype160
;
8263 var162
= varonce161
;
8265 var163
= " != NULL";
8267 var165
= string__NativeString__to_s_with_length(var163
, var164
);
8269 varonce161
= var162
;
8271 var166
= NEW_array__Array(&type_array__Arraykernel__Object
);
8272 { /* var166 = array_instance Array[Object] */
8274 var168
= NEW_array__NativeArray(var167
, &type_array__NativeArraykernel__Object
);
8275 ((struct instance_array__NativeArray
*)var168
)->values
[0] = (val
*) var_value1
;
8276 ((struct instance_array__NativeArray
*)var168
)->values
[1] = (val
*) var162
;
8277 ((void (*)(val
*, val
*, long))(var166
->class->vft
[COLOR_array__Array__with_native
]))(var166
, var168
, var167
) /* with_native on <var166:Array[Object]>*/;
8279 var169
= ((val
* (*)(val
*))(var166
->class->vft
[COLOR_string__Object__to_s
]))(var166
) /* to_s on <var166:Array[Object]>*/;
8280 ((void (*)(val
*, val
*))(var_test
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_test
, var169
) /* add on <var_test:Array[String]>*/;
8281 var170
= ((val
* (*)(val
*))(var_t1
->class->vft
[COLOR_model__MNullableType__mtype
]))(var_t1
) /* mtype on <var_t1:MType(MNullableType)>*/;
8285 var_maybe_null
= var171
;
8287 var172
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value2
) /* mcasttype on <var_value2:RuntimeVariable>*/;
8289 /* <var_t2:MType> isa MNullableType */
8290 cltype174
= type_model__MNullableType
.color
;
8291 idtype175
= type_model__MNullableType
.id
;
8292 if(cltype174
>= var_t2
->type
->table_size
) {
8295 var173
= var_t2
->type
->type_table
[cltype174
] == idtype175
;
8299 var177
= varonce176
;
8301 var178
= " != NULL";
8303 var180
= string__NativeString__to_s_with_length(var178
, var179
);
8305 varonce176
= var177
;
8307 var181
= NEW_array__Array(&type_array__Arraykernel__Object
);
8308 { /* var181 = array_instance Array[Object] */
8310 var183
= NEW_array__NativeArray(var182
, &type_array__NativeArraykernel__Object
);
8311 ((struct instance_array__NativeArray
*)var183
)->values
[0] = (val
*) var_value2
;
8312 ((struct instance_array__NativeArray
*)var183
)->values
[1] = (val
*) var177
;
8313 ((void (*)(val
*, val
*, long))(var181
->class->vft
[COLOR_array__Array__with_native
]))(var181
, var183
, var182
) /* with_native on <var181:Array[Object]>*/;
8315 var184
= ((val
* (*)(val
*))(var181
->class->vft
[COLOR_string__Object__to_s
]))(var181
) /* to_s on <var181:Array[Object]>*/;
8316 ((void (*)(val
*, val
*))(var_test
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_test
, var184
) /* add on <var_test:Array[String]>*/;
8317 var185
= ((val
* (*)(val
*))(var_t2
->class->vft
[COLOR_model__MNullableType__mtype
]))(var_t2
) /* mtype on <var_t2:MType(MNullableType)>*/;
8321 var_maybe_null
= var186
;
8324 var_incompatible
= var187
;
8325 var188
= ((val
* (*)(val
*))(var_t1
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_t1
) /* ctype on <var_t1:MType>*/;
8327 var190
= varonce189
;
8331 var193
= string__NativeString__to_s_with_length(var191
, var192
);
8333 varonce189
= var190
;
8335 var194
= ((short int (*)(val
*, val
*))(var188
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var188
, var190
) /* != on <var188:String>*/;
8337 var_primitive
= var_t1
;
8338 var195
= ((short int (*)(val
*, val
*))(var_t1
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_t1
, var_t2
) /* == on <var_t1:MType>*/;
8341 var196
= ((val
* (*)(val
*))(var_t2
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_t2
) /* ctype on <var_t2:MType>*/;
8343 var198
= varonce197
;
8347 var201
= string__NativeString__to_s_with_length(var199
, var200
);
8349 varonce197
= var198
;
8351 var202
= ((short int (*)(val
*, val
*))(var196
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var196
, var198
) /* != on <var196:String>*/;
8354 var_incompatible
= var203
;
8356 var204
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__can_be_primitive
]))(self
, var_value2
) /* can_be_primitive on <self:SeparateCompilerVisitor>*/;
8359 var206
= varonce205
;
8361 var207
= "->class == ";
8363 var209
= string__NativeString__to_s_with_length(var207
, var208
);
8365 varonce205
= var206
;
8368 var211
= varonce210
;
8372 var214
= string__NativeString__to_s_with_length(var212
, var213
);
8374 varonce210
= var211
;
8376 var215
= NEW_array__Array(&type_array__Arraykernel__Object
);
8377 { /* var215 = array_instance Array[Object] */
8379 var217
= NEW_array__NativeArray(var216
, &type_array__NativeArraykernel__Object
);
8380 ((struct instance_array__NativeArray
*)var217
)->values
[0] = (val
*) var_value1
;
8381 ((struct instance_array__NativeArray
*)var217
)->values
[1] = (val
*) var206
;
8382 ((struct instance_array__NativeArray
*)var217
)->values
[2] = (val
*) var_value2
;
8383 ((struct instance_array__NativeArray
*)var217
)->values
[3] = (val
*) var211
;
8384 ((void (*)(val
*, val
*, long))(var215
->class->vft
[COLOR_array__Array__with_native
]))(var215
, var217
, var216
) /* with_native on <var215:Array[Object]>*/;
8386 var218
= ((val
* (*)(val
*))(var215
->class->vft
[COLOR_string__Object__to_s
]))(var215
) /* to_s on <var215:Array[Object]>*/;
8387 ((void (*)(val
*, val
*))(var_test
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_test
, var218
) /* add on <var_test:Array[String]>*/;
8390 var_incompatible
= var219
;
8395 var220
= ((val
* (*)(val
*))(var_t2
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_t2
) /* ctype on <var_t2:MType>*/;
8397 var222
= varonce221
;
8401 var225
= string__NativeString__to_s_with_length(var223
, var224
);
8403 varonce221
= var222
;
8405 var226
= ((short int (*)(val
*, val
*))(var220
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var220
, var222
) /* != on <var220:String>*/;
8407 var_primitive
= var_t2
;
8408 var227
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__can_be_primitive
]))(self
, var_value1
) /* can_be_primitive on <self:SeparateCompilerVisitor>*/;
8411 var229
= varonce228
;
8413 var230
= "->class == ";
8415 var232
= string__NativeString__to_s_with_length(var230
, var231
);
8417 varonce228
= var229
;
8420 var234
= varonce233
;
8424 var237
= string__NativeString__to_s_with_length(var235
, var236
);
8426 varonce233
= var234
;
8428 var238
= NEW_array__Array(&type_array__Arraykernel__Object
);
8429 { /* var238 = array_instance Array[Object] */
8431 var240
= NEW_array__NativeArray(var239
, &type_array__NativeArraykernel__Object
);
8432 ((struct instance_array__NativeArray
*)var240
)->values
[0] = (val
*) var_value1
;
8433 ((struct instance_array__NativeArray
*)var240
)->values
[1] = (val
*) var229
;
8434 ((struct instance_array__NativeArray
*)var240
)->values
[2] = (val
*) var_value2
;
8435 ((struct instance_array__NativeArray
*)var240
)->values
[3] = (val
*) var234
;
8436 ((void (*)(val
*, val
*, long))(var238
->class->vft
[COLOR_array__Array__with_native
]))(var238
, var240
, var239
) /* with_native on <var238:Array[Object]>*/;
8438 var241
= ((val
* (*)(val
*))(var238
->class->vft
[COLOR_string__Object__to_s
]))(var238
) /* to_s on <var238:Array[Object]>*/;
8439 ((void (*)(val
*, val
*))(var_test
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_test
, var241
) /* add on <var_test:Array[String]>*/;
8442 var_incompatible
= var242
;
8446 var_primitive
= var243
;
8449 if (var_incompatible
){
8450 if (var_maybe_null
){
8452 var245
= varonce244
;
8456 var248
= string__NativeString__to_s_with_length(var246
, var247
);
8458 varonce244
= var245
;
8461 var250
= varonce249
;
8465 var253
= string__NativeString__to_s_with_length(var251
, var252
);
8467 varonce249
= var250
;
8470 var255
= varonce254
;
8472 var256
= "; /* incompatible types ";
8474 var258
= string__NativeString__to_s_with_length(var256
, var257
);
8476 varonce254
= var255
;
8479 var260
= varonce259
;
8483 var263
= string__NativeString__to_s_with_length(var261
, var262
);
8485 varonce259
= var260
;
8488 var265
= varonce264
;
8490 var266
= "; but may be NULL*/";
8492 var268
= string__NativeString__to_s_with_length(var266
, var267
);
8494 varonce264
= var265
;
8496 var269
= NEW_array__Array(&type_array__Arraykernel__Object
);
8497 { /* var269 = array_instance Array[Object] */
8499 var271
= NEW_array__NativeArray(var270
, &type_array__NativeArraykernel__Object
);
8500 ((struct instance_array__NativeArray
*)var271
)->values
[0] = (val
*) var_res
;
8501 ((struct instance_array__NativeArray
*)var271
)->values
[1] = (val
*) var245
;
8502 ((struct instance_array__NativeArray
*)var271
)->values
[2] = (val
*) var_value1
;
8503 ((struct instance_array__NativeArray
*)var271
)->values
[3] = (val
*) var250
;
8504 ((struct instance_array__NativeArray
*)var271
)->values
[4] = (val
*) var_value2
;
8505 ((struct instance_array__NativeArray
*)var271
)->values
[5] = (val
*) var255
;
8506 ((struct instance_array__NativeArray
*)var271
)->values
[6] = (val
*) var_t1
;
8507 ((struct instance_array__NativeArray
*)var271
)->values
[7] = (val
*) var260
;
8508 ((struct instance_array__NativeArray
*)var271
)->values
[8] = (val
*) var_t2
;
8509 ((struct instance_array__NativeArray
*)var271
)->values
[9] = (val
*) var265
;
8510 ((void (*)(val
*, val
*, long))(var269
->class->vft
[COLOR_array__Array__with_native
]))(var269
, var271
, var270
) /* with_native on <var269:Array[Object]>*/;
8512 var272
= ((val
* (*)(val
*))(var269
->class->vft
[COLOR_string__Object__to_s
]))(var269
) /* to_s on <var269:Array[Object]>*/;
8513 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var272
) /* add on <self:SeparateCompilerVisitor>*/;
8518 var274
= varonce273
;
8520 var275
= " = 0; /* incompatible types ";
8522 var277
= string__NativeString__to_s_with_length(var275
, var276
);
8524 varonce273
= var274
;
8527 var279
= varonce278
;
8531 var282
= string__NativeString__to_s_with_length(var280
, var281
);
8533 varonce278
= var279
;
8536 var284
= varonce283
;
8538 var285
= "; cannot be NULL */";
8540 var287
= string__NativeString__to_s_with_length(var285
, var286
);
8542 varonce283
= var284
;
8544 var288
= NEW_array__Array(&type_array__Arraykernel__Object
);
8545 { /* var288 = array_instance Array[Object] */
8547 var290
= NEW_array__NativeArray(var289
, &type_array__NativeArraykernel__Object
);
8548 ((struct instance_array__NativeArray
*)var290
)->values
[0] = (val
*) var_res
;
8549 ((struct instance_array__NativeArray
*)var290
)->values
[1] = (val
*) var274
;
8550 ((struct instance_array__NativeArray
*)var290
)->values
[2] = (val
*) var_t1
;
8551 ((struct instance_array__NativeArray
*)var290
)->values
[3] = (val
*) var279
;
8552 ((struct instance_array__NativeArray
*)var290
)->values
[4] = (val
*) var_t2
;
8553 ((struct instance_array__NativeArray
*)var290
)->values
[5] = (val
*) var284
;
8554 ((void (*)(val
*, val
*, long))(var288
->class->vft
[COLOR_array__Array__with_native
]))(var288
, var290
, var289
) /* with_native on <var288:Array[Object]>*/;
8556 var291
= ((val
* (*)(val
*))(var288
->class->vft
[COLOR_string__Object__to_s
]))(var288
) /* to_s on <var288:Array[Object]>*/;
8557 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var291
) /* add on <self:SeparateCompilerVisitor>*/;
8564 if (var_primitive
== NULL
) {
8565 var293
= 0; /* is null */
8567 var293
= 1; /* arg is null and recv is not */
8571 var295
= varonce294
;
8573 var296
= "((struct instance_";
8575 var298
= string__NativeString__to_s_with_length(var296
, var297
);
8577 varonce294
= var295
;
8579 var299
= ((val
* (*)(val
*))(var_primitive
->class->vft
[COLOR_separate_compiler__MType__c_instance_name
]))(var_primitive
) /* c_instance_name on <var_primitive:nullable Object(MType)>*/;
8581 var301
= varonce300
;
8585 var304
= string__NativeString__to_s_with_length(var302
, var303
);
8587 varonce300
= var301
;
8590 var306
= varonce305
;
8592 var307
= ")->value == ((struct instance_";
8594 var309
= string__NativeString__to_s_with_length(var307
, var308
);
8596 varonce305
= var306
;
8598 var310
= ((val
* (*)(val
*))(var_primitive
->class->vft
[COLOR_separate_compiler__MType__c_instance_name
]))(var_primitive
) /* c_instance_name on <var_primitive:nullable Object(MType)>*/;
8600 var312
= varonce311
;
8604 var315
= string__NativeString__to_s_with_length(var313
, var314
);
8606 varonce311
= var312
;
8609 var317
= varonce316
;
8611 var318
= ")->value";
8613 var320
= string__NativeString__to_s_with_length(var318
, var319
);
8615 varonce316
= var317
;
8617 var321
= NEW_array__Array(&type_array__Arraykernel__Object
);
8618 { /* var321 = array_instance Array[Object] */
8620 var323
= NEW_array__NativeArray(var322
, &type_array__NativeArraykernel__Object
);
8621 ((struct instance_array__NativeArray
*)var323
)->values
[0] = (val
*) var295
;
8622 ((struct instance_array__NativeArray
*)var323
)->values
[1] = (val
*) var299
;
8623 ((struct instance_array__NativeArray
*)var323
)->values
[2] = (val
*) var301
;
8624 ((struct instance_array__NativeArray
*)var323
)->values
[3] = (val
*) var_value1
;
8625 ((struct instance_array__NativeArray
*)var323
)->values
[4] = (val
*) var306
;
8626 ((struct instance_array__NativeArray
*)var323
)->values
[5] = (val
*) var310
;
8627 ((struct instance_array__NativeArray
*)var323
)->values
[6] = (val
*) var312
;
8628 ((struct instance_array__NativeArray
*)var323
)->values
[7] = (val
*) var_value2
;
8629 ((struct instance_array__NativeArray
*)var323
)->values
[8] = (val
*) var317
;
8630 ((void (*)(val
*, val
*, long))(var321
->class->vft
[COLOR_array__Array__with_native
]))(var321
, var323
, var322
) /* with_native on <var321:Array[Object]>*/;
8632 var324
= ((val
* (*)(val
*))(var321
->class->vft
[COLOR_string__Object__to_s
]))(var321
) /* to_s on <var321:Array[Object]>*/;
8633 ((void (*)(val
*, val
*))(var_test
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_test
, var324
) /* add on <var_test:Array[String]>*/;
8635 var326
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__can_be_primitive
]))(self
, var_value1
) /* can_be_primitive on <self:SeparateCompilerVisitor>*/;
8638 var328
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__can_be_primitive
]))(self
, var_value2
) /* can_be_primitive on <self:SeparateCompilerVisitor>*/;
8645 var330
= varonce329
;
8647 var331
= "->class == ";
8649 var333
= string__NativeString__to_s_with_length(var331
, var332
);
8651 varonce329
= var330
;
8654 var335
= varonce334
;
8658 var338
= string__NativeString__to_s_with_length(var336
, var337
);
8660 varonce334
= var335
;
8662 var339
= NEW_array__Array(&type_array__Arraykernel__Object
);
8663 { /* var339 = array_instance Array[Object] */
8665 var341
= NEW_array__NativeArray(var340
, &type_array__NativeArraykernel__Object
);
8666 ((struct instance_array__NativeArray
*)var341
)->values
[0] = (val
*) var_value1
;
8667 ((struct instance_array__NativeArray
*)var341
)->values
[1] = (val
*) var330
;
8668 ((struct instance_array__NativeArray
*)var341
)->values
[2] = (val
*) var_value2
;
8669 ((struct instance_array__NativeArray
*)var341
)->values
[3] = (val
*) var335
;
8670 ((void (*)(val
*, val
*, long))(var339
->class->vft
[COLOR_array__Array__with_native
]))(var339
, var341
, var340
) /* with_native on <var339:Array[Object]>*/;
8672 var342
= ((val
* (*)(val
*))(var339
->class->vft
[COLOR_string__Object__to_s
]))(var339
) /* to_s on <var339:Array[Object]>*/;
8673 ((void (*)(val
*, val
*))(var_test
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_test
, var342
) /* add on <var_test:Array[String]>*/;
8674 var343
= NEW_array__Array(&type_array__Arraystring__String
);
8675 ((void (*)(val
*))(var343
->class->vft
[COLOR_array__Array__init
]))(var343
) /* init on <var343:Array[String]>*/;
8677 var344
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
8678 var345
= ((val
* (*)(val
*))(var344
->class->vft
[COLOR_separate_compiler__SeparateCompiler__box_kinds
]))(var344
) /* box_kinds on <var344:AbstractCompiler(SeparateCompiler)>*/;
8679 var346
= ((val
* (*)(val
*))(var345
->class->vft
[COLOR_abstract_collection__MapRead__iterator
]))(var345
) /* iterator on <var345:HashMap[MClass, Int]>*/;
8681 var347
= ((short int (*)(val
*))(var346
->class->vft
[COLOR_abstract_collection__MapIterator__is_ok
]))(var346
) /* is_ok on <var346:MapIterator[Object, nullable Object]>*/;
8683 var348
= ((val
* (*)(val
*))(var346
->class->vft
[COLOR_abstract_collection__MapIterator__key
]))(var346
) /* key on <var346:MapIterator[Object, nullable Object]>*/;
8685 var349
= ((val
* (*)(val
*))(var346
->class->vft
[COLOR_abstract_collection__MapIterator__item
]))(var346
) /* item on <var346:MapIterator[Object, nullable Object]>*/;
8686 var350
= ((struct instance_kernel__Int
*)var349
)->value
; /* autounbox from nullable Object to Int */;
8689 var352
= varonce351
;
8693 var355
= string__NativeString__to_s_with_length(var353
, var354
);
8695 varonce351
= var352
;
8698 var357
= varonce356
;
8700 var358
= "->class->box_kind == ";
8702 var360
= string__NativeString__to_s_with_length(var358
, var359
);
8704 varonce356
= var357
;
8707 var362
= varonce361
;
8709 var363
= " && ((struct instance_";
8711 var365
= string__NativeString__to_s_with_length(var363
, var364
);
8713 varonce361
= var362
;
8715 var366
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_separate_compiler__MClass__c_instance_name
]))(var_t
) /* c_instance_name on <var_t:MClass>*/;
8717 var368
= varonce367
;
8721 var371
= string__NativeString__to_s_with_length(var369
, var370
);
8723 varonce367
= var368
;
8726 var373
= varonce372
;
8728 var374
= ")->value == ((struct instance_";
8730 var376
= string__NativeString__to_s_with_length(var374
, var375
);
8732 varonce372
= var373
;
8734 var377
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_separate_compiler__MClass__c_instance_name
]))(var_t
) /* c_instance_name on <var_t:MClass>*/;
8736 var379
= varonce378
;
8740 var382
= string__NativeString__to_s_with_length(var380
, var381
);
8742 varonce378
= var379
;
8745 var384
= varonce383
;
8747 var385
= ")->value)";
8749 var387
= string__NativeString__to_s_with_length(var385
, var386
);
8751 varonce383
= var384
;
8753 var388
= NEW_array__Array(&type_array__Arraykernel__Object
);
8754 { /* var388 = array_instance Array[Object] */
8756 var390
= NEW_array__NativeArray(var389
, &type_array__NativeArraykernel__Object
);
8757 ((struct instance_array__NativeArray
*)var390
)->values
[0] = (val
*) var352
;
8758 ((struct instance_array__NativeArray
*)var390
)->values
[1] = (val
*) var_value1
;
8759 ((struct instance_array__NativeArray
*)var390
)->values
[2] = (val
*) var357
;
8760 var391
= BOX_kernel__Int(var_v
); /* autobox from Int to Object */
8761 ((struct instance_array__NativeArray
*)var390
)->values
[3] = (val
*) var391
;
8762 ((struct instance_array__NativeArray
*)var390
)->values
[4] = (val
*) var362
;
8763 ((struct instance_array__NativeArray
*)var390
)->values
[5] = (val
*) var366
;
8764 ((struct instance_array__NativeArray
*)var390
)->values
[6] = (val
*) var368
;
8765 ((struct instance_array__NativeArray
*)var390
)->values
[7] = (val
*) var_value1
;
8766 ((struct instance_array__NativeArray
*)var390
)->values
[8] = (val
*) var373
;
8767 ((struct instance_array__NativeArray
*)var390
)->values
[9] = (val
*) var377
;
8768 ((struct instance_array__NativeArray
*)var390
)->values
[10] = (val
*) var379
;
8769 ((struct instance_array__NativeArray
*)var390
)->values
[11] = (val
*) var_value2
;
8770 ((struct instance_array__NativeArray
*)var390
)->values
[12] = (val
*) var384
;
8771 ((void (*)(val
*, val
*, long))(var388
->class->vft
[COLOR_array__Array__with_native
]))(var388
, var390
, var389
) /* with_native on <var388:Array[Object]>*/;
8773 var392
= ((val
* (*)(val
*))(var388
->class->vft
[COLOR_string__Object__to_s
]))(var388
) /* to_s on <var388:Array[Object]>*/;
8774 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_s
, var392
) /* add on <var_s:Array[String]>*/;
8775 CONTINUE_label
: (void)0;
8776 ((void (*)(val
*))(var346
->class->vft
[COLOR_abstract_collection__MapIterator__next
]))(var346
) /* next on <var346:MapIterator[Object, nullable Object]>*/;
8778 BREAK_label
: (void)0;
8780 var394
= varonce393
;
8784 var397
= string__NativeString__to_s_with_length(var395
, var396
);
8786 varonce393
= var394
;
8789 var399
= varonce398
;
8793 var402
= string__NativeString__to_s_with_length(var400
, var401
);
8795 varonce398
= var399
;
8797 var403
= ((val
* (*)(val
*, val
*))(var_s
->class->vft
[COLOR_string__Collection__join
]))(var_s
, var399
) /* join on <var_s:Array[String]>*/;
8799 var405
= varonce404
;
8803 var408
= string__NativeString__to_s_with_length(var406
, var407
);
8805 varonce404
= var405
;
8807 var409
= NEW_array__Array(&type_array__Arraykernel__Object
);
8808 { /* var409 = array_instance Array[Object] */
8810 var411
= NEW_array__NativeArray(var410
, &type_array__NativeArraykernel__Object
);
8811 ((struct instance_array__NativeArray
*)var411
)->values
[0] = (val
*) var394
;
8812 ((struct instance_array__NativeArray
*)var411
)->values
[1] = (val
*) var403
;
8813 ((struct instance_array__NativeArray
*)var411
)->values
[2] = (val
*) var405
;
8814 ((void (*)(val
*, val
*, long))(var409
->class->vft
[COLOR_array__Array__with_native
]))(var409
, var411
, var410
) /* with_native on <var409:Array[Object]>*/;
8816 var412
= ((val
* (*)(val
*))(var409
->class->vft
[COLOR_string__Object__to_s
]))(var409
) /* to_s on <var409:Array[Object]>*/;
8817 ((void (*)(val
*, val
*))(var_test
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_test
, var412
) /* add on <var_test:Array[String]>*/;
8820 var414
= varonce413
;
8824 var417
= string__NativeString__to_s_with_length(var415
, var416
);
8826 varonce413
= var414
;
8829 var419
= varonce418
;
8833 var422
= string__NativeString__to_s_with_length(var420
, var421
);
8835 varonce418
= var419
;
8838 var424
= varonce423
;
8842 var427
= string__NativeString__to_s_with_length(var425
, var426
);
8844 varonce423
= var424
;
8846 var428
= NEW_array__Array(&type_array__Arraykernel__Object
);
8847 { /* var428 = array_instance Array[Object] */
8849 var430
= NEW_array__NativeArray(var429
, &type_array__NativeArraykernel__Object
);
8850 ((struct instance_array__NativeArray
*)var430
)->values
[0] = (val
*) var_res
;
8851 ((struct instance_array__NativeArray
*)var430
)->values
[1] = (val
*) var414
;
8852 ((struct instance_array__NativeArray
*)var430
)->values
[2] = (val
*) var_value1
;
8853 ((struct instance_array__NativeArray
*)var430
)->values
[3] = (val
*) var419
;
8854 ((struct instance_array__NativeArray
*)var430
)->values
[4] = (val
*) var_value2
;
8855 ((struct instance_array__NativeArray
*)var430
)->values
[5] = (val
*) var424
;
8856 ((void (*)(val
*, val
*, long))(var428
->class->vft
[COLOR_array__Array__with_native
]))(var428
, var430
, var429
) /* with_native on <var428:Array[Object]>*/;
8858 var431
= ((val
* (*)(val
*))(var428
->class->vft
[COLOR_string__Object__to_s
]))(var428
) /* to_s on <var428:Array[Object]>*/;
8859 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var431
) /* add on <self:SeparateCompilerVisitor>*/;
8865 var433
= varonce432
;
8869 var436
= string__NativeString__to_s_with_length(var434
, var435
);
8871 varonce432
= var433
;
8874 var438
= varonce437
;
8878 var441
= string__NativeString__to_s_with_length(var439
, var440
);
8880 varonce437
= var438
;
8883 var443
= varonce442
;
8887 var446
= string__NativeString__to_s_with_length(var444
, var445
);
8889 varonce442
= var443
;
8892 var448
= varonce447
;
8896 var451
= string__NativeString__to_s_with_length(var449
, var450
);
8898 varonce447
= var448
;
8900 var452
= ((val
* (*)(val
*, val
*))(var_test
->class->vft
[COLOR_string__Collection__join
]))(var_test
, var448
) /* join on <var_test:Array[String]>*/;
8902 var454
= varonce453
;
8906 var457
= string__NativeString__to_s_with_length(var455
, var456
);
8908 varonce453
= var454
;
8910 var458
= NEW_array__Array(&type_array__Arraykernel__Object
);
8911 { /* var458 = array_instance Array[Object] */
8913 var460
= NEW_array__NativeArray(var459
, &type_array__NativeArraykernel__Object
);
8914 ((struct instance_array__NativeArray
*)var460
)->values
[0] = (val
*) var_res
;
8915 ((struct instance_array__NativeArray
*)var460
)->values
[1] = (val
*) var433
;
8916 ((struct instance_array__NativeArray
*)var460
)->values
[2] = (val
*) var_value1
;
8917 ((struct instance_array__NativeArray
*)var460
)->values
[3] = (val
*) var438
;
8918 ((struct instance_array__NativeArray
*)var460
)->values
[4] = (val
*) var_value2
;
8919 ((struct instance_array__NativeArray
*)var460
)->values
[5] = (val
*) var443
;
8920 ((struct instance_array__NativeArray
*)var460
)->values
[6] = (val
*) var452
;
8921 ((struct instance_array__NativeArray
*)var460
)->values
[7] = (val
*) var454
;
8922 ((void (*)(val
*, val
*, long))(var458
->class->vft
[COLOR_array__Array__with_native
]))(var458
, var460
, var459
) /* with_native on <var458:Array[Object]>*/;
8924 var461
= ((val
* (*)(val
*))(var458
->class->vft
[COLOR_string__Object__to_s
]))(var458
) /* to_s on <var458:Array[Object]>*/;
8925 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var461
) /* add on <self:SeparateCompilerVisitor>*/;
8931 /* method separate_compiler#SeparateCompilerVisitor#equal_test for (self: Object, RuntimeVariable, RuntimeVariable): RuntimeVariable */
8932 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__equal_test(val
* self
, val
* p0
, val
* p1
) {
8933 val
* var
/* : RuntimeVariable */;
8934 val
* var1
/* : RuntimeVariable */;
8935 var1
= separate_compiler__SeparateCompilerVisitor__equal_test(self
, p0
, p1
);
8940 /* method separate_compiler#SeparateCompilerVisitor#can_be_primitive for (self: SeparateCompilerVisitor, RuntimeVariable): Bool */
8941 short int separate_compiler__SeparateCompilerVisitor__can_be_primitive(val
* self
, val
* p0
) {
8942 short int var
/* : Bool */;
8943 val
* var_value
/* var value: RuntimeVariable */;
8944 val
* var1
/* : MType */;
8945 val
* var_t
/* var t: MType */;
8946 short int var2
/* : Bool */;
8949 val
* var3
/* : MType */;
8950 short int var4
/* : Bool */;
8953 short int var7
/* : Bool */;
8954 short int var8
/* : Bool */;
8955 val
* var9
/* : MClass */;
8956 val
* var10
/* : MClassKind */;
8957 val
* var_k
/* var k: MClassKind */;
8958 short int var11
/* : Bool */;
8959 val
* var12
/* : MClassKind */;
8960 short int var13
/* : Bool */;
8961 short int var_
/* var : Bool */;
8962 val
* var14
/* : String */;
8963 static val
* varonce
;
8964 val
* var15
/* : String */;
8965 char* var16
/* : NativeString */;
8966 long var17
/* : Int */;
8967 val
* var18
/* : String */;
8968 short int var19
/* : Bool */;
8970 var1
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value
) /* mcasttype on <var_value:RuntimeVariable>*/;
8972 /* <var_t:MType> isa MNullableType */
8973 cltype
= type_model__MNullableType
.color
;
8974 idtype
= type_model__MNullableType
.id
;
8975 if(cltype
>= var_t
->type
->table_size
) {
8978 var2
= var_t
->type
->type_table
[cltype
] == idtype
;
8981 var3
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_model__MNullableType__mtype
]))(var_t
) /* mtype on <var_t:MType(MNullableType)>*/;
8985 /* <var_t:MType> isa MClassType */
8986 cltype5
= type_model__MClassType
.color
;
8987 idtype6
= type_model__MClassType
.id
;
8988 if(cltype5
>= var_t
->type
->table_size
) {
8991 var4
= var_t
->type
->type_table
[cltype5
] == idtype6
;
9000 var9
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_model__MClassType__mclass
]))(var_t
) /* mclass on <var_t:MType(MClassType)>*/;
9001 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_model__MClass__kind
]))(var9
) /* kind on <var9:MClass>*/;
9003 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__Object__interface_kind
]))(self
) /* interface_kind on <self:SeparateCompilerVisitor>*/;
9004 var13
= ((short int (*)(val
*, val
*))(var_k
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_k
, var12
) /* == on <var_k:MClassKind>*/;
9009 var14
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_t
) /* ctype on <var_t:MType(MClassType)>*/;
9015 var18
= string__NativeString__to_s_with_length(var16
, var17
);
9019 var19
= ((short int (*)(val
*, val
*))(var14
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var14
, var15
) /* != on <var14:String>*/;
9027 /* method separate_compiler#SeparateCompilerVisitor#can_be_primitive for (self: Object, RuntimeVariable): Bool */
9028 short int VIRTUAL_separate_compiler__SeparateCompilerVisitor__can_be_primitive(val
* self
, val
* p0
) {
9029 short int var
/* : Bool */;
9030 short int var1
/* : Bool */;
9031 var1
= separate_compiler__SeparateCompilerVisitor__can_be_primitive(self
, p0
);
9036 /* method separate_compiler#SeparateCompilerVisitor#maybe_null for (self: SeparateCompilerVisitor, RuntimeVariable): Bool */
9037 short int separate_compiler__SeparateCompilerVisitor__maybe_null(val
* self
, val
* p0
) {
9038 short int var
/* : Bool */;
9039 val
* var_value
/* var value: RuntimeVariable */;
9040 val
* var1
/* : MType */;
9041 val
* var_t
/* var t: MType */;
9042 short int var2
/* : Bool */;
9043 short int var3
/* : Bool */;
9046 short int var_
/* var : Bool */;
9047 short int var4
/* : Bool */;
9051 var1
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value
) /* mcasttype on <var_value:RuntimeVariable>*/;
9053 /* <var_t:MType> isa MNullableType */
9054 cltype
= type_model__MNullableType
.color
;
9055 idtype
= type_model__MNullableType
.id
;
9056 if(cltype
>= var_t
->type
->table_size
) {
9059 var3
= var_t
->type
->type_table
[cltype
] == idtype
;
9065 /* <var_t:MType> isa MNullType */
9066 cltype5
= type_model__MNullType
.color
;
9067 idtype6
= type_model__MNullType
.id
;
9068 if(cltype5
>= var_t
->type
->table_size
) {
9071 var4
= var_t
->type
->type_table
[cltype5
] == idtype6
;
9080 /* method separate_compiler#SeparateCompilerVisitor#maybe_null for (self: Object, RuntimeVariable): Bool */
9081 short int VIRTUAL_separate_compiler__SeparateCompilerVisitor__maybe_null(val
* self
, val
* p0
) {
9082 short int var
/* : Bool */;
9083 short int var1
/* : Bool */;
9084 var1
= separate_compiler__SeparateCompilerVisitor__maybe_null(self
, p0
);
9089 /* method separate_compiler#SeparateCompilerVisitor#array_instance for (self: SeparateCompilerVisitor, Array[RuntimeVariable], MType): RuntimeVariable */
9090 val
* separate_compiler__SeparateCompilerVisitor__array_instance(val
* self
, val
* p0
, val
* p1
) {
9091 val
* var
/* : RuntimeVariable */;
9092 val
* var_array
/* var array: Array[RuntimeVariable] */;
9093 val
* var_elttype
/* var elttype: MType */;
9094 static val
* varonce
;
9095 val
* var1
/* : String */;
9096 char* var2
/* : NativeString */;
9097 long var3
/* : Int */;
9098 val
* var4
/* : String */;
9099 val
* var5
/* : MClass */;
9100 val
* var_nclass
/* var nclass: MClass */;
9101 static val
* varonce6
;
9102 val
* var7
/* : String */;
9103 char* var8
/* : NativeString */;
9104 long var9
/* : Int */;
9105 val
* var10
/* : String */;
9106 val
* var11
/* : MClass */;
9107 val
* var_arrayclass
/* var arrayclass: MClass */;
9108 val
* var12
/* : Array[MType] */;
9109 long var13
/* : Int */;
9110 val
* var14
/* : NativeArray[MType] */;
9111 val
* var15
/* : MClassType */;
9112 val
* var_arraytype
/* var arraytype: MClassType */;
9113 val
* var16
/* : RuntimeVariable */;
9114 val
* var_res
/* var res: RuntimeVariable */;
9115 static val
* varonce17
;
9116 val
* var18
/* : String */;
9117 char* var19
/* : NativeString */;
9118 long var20
/* : Int */;
9119 val
* var21
/* : String */;
9120 static val
* varonce22
;
9121 val
* var23
/* : String */;
9122 char* var24
/* : NativeString */;
9123 long var25
/* : Int */;
9124 val
* var26
/* : String */;
9125 static val
* varonce27
;
9126 val
* var28
/* : String */;
9127 char* var29
/* : NativeString */;
9128 long var30
/* : Int */;
9129 val
* var31
/* : String */;
9130 val
* var32
/* : Array[Object] */;
9131 long var33
/* : Int */;
9132 val
* var34
/* : NativeArray[Object] */;
9133 val
* var35
/* : String */;
9134 long var36
/* : Int */;
9135 val
* var37
/* : RuntimeVariable */;
9136 val
* var_length
/* var length: RuntimeVariable */;
9137 val
* var38
/* : RuntimeVariable */;
9138 val
* var_nat
/* var nat: RuntimeVariable */;
9139 val
* var39
/* : Range[Int] */;
9140 long var40
/* : Int */;
9141 long var41
/* : Int */;
9142 val
* var42
/* : Discrete */;
9143 val
* var43
/* : Discrete */;
9144 val
* var44
/* : Iterator[nullable Object] */;
9145 short int var45
/* : Bool */;
9146 val
* var46
/* : nullable Object */;
9147 long var_i
/* var i: Int */;
9148 long var47
/* : Int */;
9149 val
* var48
/* : nullable Object */;
9150 val
* var49
/* : MClassType */;
9151 val
* var50
/* : RuntimeVariable */;
9152 val
* var_r
/* var r: RuntimeVariable */;
9153 static val
* varonce51
;
9154 val
* var52
/* : String */;
9155 char* var53
/* : NativeString */;
9156 long var54
/* : Int */;
9157 val
* var55
/* : String */;
9158 val
* var56
/* : String */;
9159 static val
* varonce57
;
9160 val
* var58
/* : String */;
9161 char* var59
/* : NativeString */;
9162 long var60
/* : Int */;
9163 val
* var61
/* : String */;
9164 static val
* varonce62
;
9165 val
* var63
/* : String */;
9166 char* var64
/* : NativeString */;
9167 long var65
/* : Int */;
9168 val
* var66
/* : String */;
9169 static val
* varonce67
;
9170 val
* var68
/* : String */;
9171 char* var69
/* : NativeString */;
9172 long var70
/* : Int */;
9173 val
* var71
/* : String */;
9174 static val
* varonce72
;
9175 val
* var73
/* : String */;
9176 char* var74
/* : NativeString */;
9177 long var75
/* : Int */;
9178 val
* var76
/* : String */;
9179 val
* var77
/* : Array[Object] */;
9180 long var78
/* : Int */;
9181 val
* var79
/* : NativeArray[Object] */;
9182 val
* var80
/* : Object */;
9183 val
* var81
/* : String */;
9184 static val
* varonce82
;
9185 val
* var83
/* : String */;
9186 char* var84
/* : NativeString */;
9187 long var85
/* : Int */;
9188 val
* var86
/* : String */;
9189 val
* var87
/* : MClassDef */;
9190 val
* var88
/* : MClassType */;
9191 val
* var89
/* : MMethod */;
9192 val
* var90
/* : Array[RuntimeVariable] */;
9193 long var91
/* : Int */;
9194 val
* var92
/* : NativeArray[RuntimeVariable] */;
9195 val
* var93
/* : nullable RuntimeVariable */;
9196 static val
* varonce94
;
9197 val
* var95
/* : String */;
9198 char* var96
/* : NativeString */;
9199 long var97
/* : Int */;
9200 val
* var98
/* : String */;
9206 var2
= "NativeArray";
9208 var4
= string__NativeString__to_s_with_length(var2
, var3
);
9212 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var1
) /* get_class on <self:SeparateCompilerVisitor>*/;
9219 var10
= string__NativeString__to_s_with_length(var8
, var9
);
9223 var11
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var7
) /* get_class on <self:SeparateCompilerVisitor>*/;
9224 var_arrayclass
= var11
;
9225 var12
= NEW_array__Array(&type_array__Arraymodel__MType
);
9226 { /* var12 = array_instance Array[MType] */
9228 var14
= NEW_array__NativeArray(var13
, &type_array__NativeArraymodel__MType
);
9229 ((struct instance_array__NativeArray
*)var14
)->values
[0] = (val
*) var_elttype
;
9230 ((void (*)(val
*, val
*, long))(var12
->class->vft
[COLOR_array__Array__with_native
]))(var12
, var14
, var13
) /* with_native on <var12:Array[MType]>*/;
9232 var15
= ((val
* (*)(val
*, val
*))(var_arrayclass
->class->vft
[COLOR_model__MClass__get_mtype
]))(var_arrayclass
, var12
) /* get_mtype on <var_arrayclass:MClass>*/;
9233 var_arraytype
= var15
;
9234 var16
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(self
, var_arraytype
) /* init_instance on <self:SeparateCompilerVisitor>*/;
9241 var21
= string__NativeString__to_s_with_length(var19
, var20
);
9248 var24
= " = array_instance Array[";
9250 var26
= string__NativeString__to_s_with_length(var24
, var25
);
9259 var31
= string__NativeString__to_s_with_length(var29
, var30
);
9263 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
9264 { /* var32 = array_instance Array[Object] */
9266 var34
= NEW_array__NativeArray(var33
, &type_array__NativeArraykernel__Object
);
9267 ((struct instance_array__NativeArray
*)var34
)->values
[0] = (val
*) var18
;
9268 ((struct instance_array__NativeArray
*)var34
)->values
[1] = (val
*) var_res
;
9269 ((struct instance_array__NativeArray
*)var34
)->values
[2] = (val
*) var23
;
9270 ((struct instance_array__NativeArray
*)var34
)->values
[3] = (val
*) var_elttype
;
9271 ((struct instance_array__NativeArray
*)var34
)->values
[4] = (val
*) var28
;
9272 ((void (*)(val
*, val
*, long))(var32
->class->vft
[COLOR_array__Array__with_native
]))(var32
, var34
, var33
) /* with_native on <var32:Array[Object]>*/;
9274 var35
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_string__Object__to_s
]))(var32
) /* to_s on <var32:Array[Object]>*/;
9275 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var35
) /* add on <self:SeparateCompilerVisitor>*/;
9276 var36
= ((long (*)(val
*))(var_array
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_array
) /* length on <var_array:Array[RuntimeVariable]>*/;
9277 var37
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__int_instance
]))(self
, var36
) /* int_instance on <self:SeparateCompilerVisitor>*/;
9279 var38
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__native_array_instance
]))(self
, var_elttype
, var_length
) /* native_array_instance on <self:SeparateCompilerVisitor>*/;
9281 var39
= NEW_range__Range(&type_range__Rangekernel__Int
);
9283 var41
= ((long (*)(val
*))(var_array
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_array
) /* length on <var_array:Array[RuntimeVariable]>*/;
9284 var42
= BOX_kernel__Int(var40
); /* autobox from Int to Discrete */
9285 var43
= BOX_kernel__Int(var41
); /* autobox from Int to Discrete */
9286 ((void (*)(val
*, val
*, val
*))(var39
->class->vft
[COLOR_range__Range__without_last
]))(var39
, var42
, var43
) /* without_last on <var39:Range[Int]>*/;
9287 var44
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var39
) /* iterator on <var39:Range[Int]>*/;
9289 var45
= ((short int (*)(val
*))(var44
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var44
) /* is_ok on <var44:Iterator[nullable Object]>*/;
9291 var46
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var44
) /* item on <var44:Iterator[nullable Object]>*/;
9292 var47
= ((struct instance_kernel__Int
*)var46
)->value
; /* autounbox from nullable Object to Int */;
9294 var48
= ((val
* (*)(val
*, long))(var_array
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_array
, var_i
) /* [] on <var_array:Array[RuntimeVariable]>*/;
9295 var49
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__object_type
]))(self
) /* object_type on <self:SeparateCompilerVisitor>*/;
9296 var50
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var48
, var49
) /* autobox on <self:SeparateCompilerVisitor>*/;
9301 var53
= "((struct instance_";
9303 var55
= string__NativeString__to_s_with_length(var53
, var54
);
9307 var56
= ((val
* (*)(val
*))(var_nclass
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var_nclass
) /* c_name on <var_nclass:MClass>*/;
9313 var61
= string__NativeString__to_s_with_length(var59
, var60
);
9320 var64
= ")->values[";
9322 var66
= string__NativeString__to_s_with_length(var64
, var65
);
9329 var69
= "] = (val*) ";
9331 var71
= string__NativeString__to_s_with_length(var69
, var70
);
9340 var76
= string__NativeString__to_s_with_length(var74
, var75
);
9344 var77
= NEW_array__Array(&type_array__Arraykernel__Object
);
9345 { /* var77 = array_instance Array[Object] */
9347 var79
= NEW_array__NativeArray(var78
, &type_array__NativeArraykernel__Object
);
9348 ((struct instance_array__NativeArray
*)var79
)->values
[0] = (val
*) var52
;
9349 ((struct instance_array__NativeArray
*)var79
)->values
[1] = (val
*) var56
;
9350 ((struct instance_array__NativeArray
*)var79
)->values
[2] = (val
*) var58
;
9351 ((struct instance_array__NativeArray
*)var79
)->values
[3] = (val
*) var_nat
;
9352 ((struct instance_array__NativeArray
*)var79
)->values
[4] = (val
*) var63
;
9353 var80
= BOX_kernel__Int(var_i
); /* autobox from Int to Object */
9354 ((struct instance_array__NativeArray
*)var79
)->values
[5] = (val
*) var80
;
9355 ((struct instance_array__NativeArray
*)var79
)->values
[6] = (val
*) var68
;
9356 ((struct instance_array__NativeArray
*)var79
)->values
[7] = (val
*) var_r
;
9357 ((struct instance_array__NativeArray
*)var79
)->values
[8] = (val
*) var73
;
9358 ((void (*)(val
*, val
*, long))(var77
->class->vft
[COLOR_array__Array__with_native
]))(var77
, var79
, var78
) /* with_native on <var77:Array[Object]>*/;
9360 var81
= ((val
* (*)(val
*))(var77
->class->vft
[COLOR_string__Object__to_s
]))(var77
) /* to_s on <var77:Array[Object]>*/;
9361 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var81
) /* add on <self:SeparateCompilerVisitor>*/;
9362 CONTINUE_label
: (void)0;
9363 ((void (*)(val
*))(var44
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var44
) /* next on <var44:Iterator[nullable Object]>*/;
9365 BREAK_label
: (void)0;
9369 var84
= "with_native";
9371 var86
= string__NativeString__to_s_with_length(var84
, var85
);
9375 var87
= ((val
* (*)(val
*))(var_arrayclass
->class->vft
[COLOR_model__MClass__intro
]))(var_arrayclass
) /* intro on <var_arrayclass:MClass>*/;
9376 var88
= ((val
* (*)(val
*))(var87
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var87
) /* bound_mtype on <var87:MClassDef>*/;
9377 var89
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_property
]))(self
, var83
, var88
) /* get_property on <self:SeparateCompilerVisitor>*/;
9378 var90
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
9379 { /* var90 = array_instance Array[RuntimeVariable] */
9381 var92
= NEW_array__NativeArray(var91
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
9382 ((struct instance_array__NativeArray
*)var92
)->values
[0] = (val
*) var_res
;
9383 ((struct instance_array__NativeArray
*)var92
)->values
[1] = (val
*) var_nat
;
9384 ((struct instance_array__NativeArray
*)var92
)->values
[2] = (val
*) var_length
;
9385 ((void (*)(val
*, val
*, long))(var90
->class->vft
[COLOR_array__Array__with_native
]))(var90
, var92
, var91
) /* with_native on <var90:Array[RuntimeVariable]>*/;
9387 var93
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(self
, var89
, var90
) /* send on <self:SeparateCompilerVisitor>*/;
9394 var98
= string__NativeString__to_s_with_length(var96
, var97
);
9398 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var95
) /* add on <self:SeparateCompilerVisitor>*/;
9404 /* method separate_compiler#SeparateCompilerVisitor#array_instance for (self: Object, Array[RuntimeVariable], MType): RuntimeVariable */
9405 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__array_instance(val
* self
, val
* p0
, val
* p1
) {
9406 val
* var
/* : RuntimeVariable */;
9407 val
* var1
/* : RuntimeVariable */;
9408 var1
= separate_compiler__SeparateCompilerVisitor__array_instance(self
, p0
, p1
);
9413 /* method separate_compiler#SeparateCompilerVisitor#native_array_instance for (self: SeparateCompilerVisitor, MType, RuntimeVariable): RuntimeVariable */
9414 val
* separate_compiler__SeparateCompilerVisitor__native_array_instance(val
* self
, val
* p0
, val
* p1
) {
9415 val
* var
/* : RuntimeVariable */;
9416 val
* var_elttype
/* var elttype: MType */;
9417 val
* var_length
/* var length: RuntimeVariable */;
9418 static val
* varonce
;
9419 val
* var1
/* : String */;
9420 char* var2
/* : NativeString */;
9421 long var3
/* : Int */;
9422 val
* var4
/* : String */;
9423 val
* var5
/* : MClass */;
9424 val
* var6
/* : Array[MType] */;
9425 long var7
/* : Int */;
9426 val
* var8
/* : NativeArray[MType] */;
9427 val
* var9
/* : MClassType */;
9428 val
* var_mtype
/* var mtype: MClassType */;
9429 static val
* varonce10
;
9430 val
* var11
/* : String */;
9431 char* var12
/* : NativeString */;
9432 long var13
/* : Int */;
9433 val
* var14
/* : String */;
9434 val
* var15
/* : MClass */;
9435 val
* var16
/* : String */;
9436 val
* var17
/* : Array[Object] */;
9437 long var18
/* : Int */;
9438 val
* var19
/* : NativeArray[Object] */;
9439 val
* var20
/* : String */;
9440 short int var21
/* : Bool */;
9443 val
* var22
/* : AbstractCompiler */;
9444 val
* var_compiler
/* var compiler: SeparateCompiler */;
9445 short int var23
/* : Bool */;
9446 val
* var24
/* : nullable Frame */;
9447 val
* var25
/* : MPropDef */;
9448 val
* var26
/* : MClassDef */;
9449 val
* var27
/* : nullable Frame */;
9450 val
* var28
/* : Array[RuntimeVariable] */;
9451 val
* var29
/* : nullable Object */;
9452 val
* var_recv
/* var recv: RuntimeVariable */;
9453 val
* var30
/* : String */;
9454 val
* var_recv_type_info
/* var recv_type_info: String */;
9455 val
* var31
/* : String */;
9456 short int var32
/* : Bool */;
9457 val
* var33
/* : ModelBuilder */;
9458 val
* var34
/* : ToolContext */;
9459 val
* var35
/* : OptionBool */;
9460 val
* var36
/* : nullable Object */;
9461 short int var37
/* : Bool */;
9462 short int var_
/* var : Bool */;
9463 val
* var38
/* : ModelBuilder */;
9464 val
* var39
/* : ToolContext */;
9465 val
* var40
/* : OptionBool */;
9466 val
* var41
/* : nullable Object */;
9467 short int var42
/* : Bool */;
9468 static val
* varonce43
;
9469 val
* var44
/* : String */;
9470 char* var45
/* : NativeString */;
9471 long var46
/* : Int */;
9472 val
* var47
/* : String */;
9473 val
* var48
/* : MClass */;
9474 val
* var49
/* : String */;
9475 static val
* varonce50
;
9476 val
* var51
/* : String */;
9477 char* var52
/* : NativeString */;
9478 long var53
/* : Int */;
9479 val
* var54
/* : String */;
9480 static val
* varonce55
;
9481 val
* var56
/* : String */;
9482 char* var57
/* : NativeString */;
9483 long var58
/* : Int */;
9484 val
* var59
/* : String */;
9485 static val
* varonce60
;
9486 val
* var61
/* : String */;
9487 char* var62
/* : NativeString */;
9488 long var63
/* : Int */;
9489 val
* var64
/* : String */;
9490 static val
* varonce65
;
9491 val
* var66
/* : String */;
9492 char* var67
/* : NativeString */;
9493 long var68
/* : Int */;
9494 val
* var69
/* : String */;
9495 val
* var70
/* : String */;
9496 static val
* varonce71
;
9497 val
* var72
/* : String */;
9498 char* var73
/* : NativeString */;
9499 long var74
/* : Int */;
9500 val
* var75
/* : String */;
9501 val
* var76
/* : Array[Object] */;
9502 long var77
/* : Int */;
9503 val
* var78
/* : NativeArray[Object] */;
9504 val
* var79
/* : String */;
9505 val
* var80
/* : RuntimeVariable */;
9506 static val
* varonce81
;
9507 val
* var82
/* : String */;
9508 char* var83
/* : NativeString */;
9509 long var84
/* : Int */;
9510 val
* var85
/* : String */;
9511 val
* var86
/* : MClass */;
9512 val
* var87
/* : String */;
9513 static val
* varonce88
;
9514 val
* var89
/* : String */;
9515 char* var90
/* : NativeString */;
9516 long var91
/* : Int */;
9517 val
* var92
/* : String */;
9518 static val
* varonce93
;
9519 val
* var94
/* : String */;
9520 char* var95
/* : NativeString */;
9521 long var96
/* : Int */;
9522 val
* var97
/* : String */;
9523 static val
* varonce98
;
9524 val
* var99
/* : String */;
9525 char* var100
/* : NativeString */;
9526 long var101
/* : Int */;
9527 val
* var102
/* : String */;
9528 val
* var103
/* : String */;
9529 static val
* varonce104
;
9530 val
* var105
/* : String */;
9531 char* var106
/* : NativeString */;
9532 long var107
/* : Int */;
9533 val
* var108
/* : String */;
9534 val
* var109
/* : Array[Object] */;
9535 long var110
/* : Int */;
9536 val
* var111
/* : NativeArray[Object] */;
9537 val
* var112
/* : String */;
9538 val
* var113
/* : RuntimeVariable */;
9539 val
* var114
/* : Set[MType] */;
9540 static val
* varonce115
;
9541 val
* var116
/* : String */;
9542 char* var117
/* : NativeString */;
9543 long var118
/* : Int */;
9544 val
* var119
/* : String */;
9545 val
* var120
/* : String */;
9546 val
* var121
/* : Array[Object] */;
9547 long var122
/* : Int */;
9548 val
* var123
/* : NativeArray[Object] */;
9549 val
* var124
/* : String */;
9550 static val
* varonce125
;
9551 val
* var126
/* : String */;
9552 char* var127
/* : NativeString */;
9553 long var128
/* : Int */;
9554 val
* var129
/* : String */;
9555 val
* var130
/* : MClass */;
9556 val
* var131
/* : String */;
9557 static val
* varonce132
;
9558 val
* var133
/* : String */;
9559 char* var134
/* : NativeString */;
9560 long var135
/* : Int */;
9561 val
* var136
/* : String */;
9562 static val
* varonce137
;
9563 val
* var138
/* : String */;
9564 char* var139
/* : NativeString */;
9565 long var140
/* : Int */;
9566 val
* var141
/* : String */;
9567 val
* var142
/* : String */;
9568 static val
* varonce143
;
9569 val
* var144
/* : String */;
9570 char* var145
/* : NativeString */;
9571 long var146
/* : Int */;
9572 val
* var147
/* : String */;
9573 val
* var148
/* : Array[Object] */;
9574 long var149
/* : Int */;
9575 val
* var150
/* : NativeArray[Object] */;
9576 val
* var151
/* : String */;
9577 val
* var152
/* : RuntimeVariable */;
9583 var2
= "NativeArray";
9585 var4
= string__NativeString__to_s_with_length(var2
, var3
);
9589 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var1
) /* get_class on <self:SeparateCompilerVisitor>*/;
9590 var6
= NEW_array__Array(&type_array__Arraymodel__MType
);
9591 { /* var6 = array_instance Array[MType] */
9593 var8
= NEW_array__NativeArray(var7
, &type_array__NativeArraymodel__MType
);
9594 ((struct instance_array__NativeArray
*)var8
)->values
[0] = (val
*) var_elttype
;
9595 ((void (*)(val
*, val
*, long))(var6
->class->vft
[COLOR_array__Array__with_native
]))(var6
, var8
, var7
) /* with_native on <var6:Array[MType]>*/;
9597 var9
= ((val
* (*)(val
*, val
*))(var5
->class->vft
[COLOR_model__MClass__get_mtype
]))(var5
, var6
) /* get_mtype on <var5:MClass>*/;
9604 var14
= string__NativeString__to_s_with_length(var12
, var13
);
9608 var15
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType>*/;
9609 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var15
) /* c_name on <var15:MClass>*/;
9610 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
9611 { /* var17 = array_instance Array[Object] */
9613 var19
= NEW_array__NativeArray(var18
, &type_array__NativeArraykernel__Object
);
9614 ((struct instance_array__NativeArray
*)var19
)->values
[0] = (val
*) var11
;
9615 ((struct instance_array__NativeArray
*)var19
)->values
[1] = (val
*) var16
;
9616 ((void (*)(val
*, val
*, long))(var17
->class->vft
[COLOR_array__Array__with_native
]))(var17
, var19
, var18
) /* with_native on <var17:Array[Object]>*/;
9618 var20
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_string__Object__to_s
]))(var17
) /* to_s on <var17:Array[Object]>*/;
9619 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var20
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
9620 /* <var_mtype:MClassType> isa MGenericType */
9621 cltype
= type_model__MGenericType
.color
;
9622 idtype
= type_model__MGenericType
.id
;
9623 if(cltype
>= var_mtype
->type
->table_size
) {
9626 var21
= var_mtype
->type
->type_table
[cltype
] == idtype
;
9629 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9630 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1598);
9633 var22
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
9634 var_compiler
= var22
;
9635 var23
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MClassType(MGenericType)>*/;
9637 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__hardening_live_open_type
]))(self
, var_mtype
) /* hardening_live_open_type on <self:SeparateCompilerVisitor>*/;
9638 var24
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
9639 if (var24
== NULL
) {
9640 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
9641 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1602);
9644 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var24
) /* mpropdef on <var24:nullable Frame>*/;
9646 var26
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var25
) /* mclassdef on <var25:MPropDef>*/;
9647 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__link_unresolved_type
]))(self
, var26
, var_mtype
) /* link_unresolved_type on <self:SeparateCompilerVisitor>*/;
9648 var27
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
9649 if (var27
== NULL
) {
9650 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
9651 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1603);
9654 var28
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_abstract_compiler__Frame__arguments
]))(var27
) /* arguments on <var27:nullable Frame>*/;
9656 var29
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var28
) /* first on <var28:Array[RuntimeVariable]>*/;
9658 var30
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__type_info
]))(self
, var_recv
) /* type_info on <self:SeparateCompilerVisitor>*/;
9659 var_recv_type_info
= var30
;
9660 var31
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_mtype
) /* const_color on <var_mtype:MClassType(MGenericType)>*/;
9661 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var31
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
9662 var33
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
9663 var34
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var33
) /* toolcontext on <var33:ModelBuilder>*/;
9664 var35
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phmod_typing
]))(var34
) /* opt_phmod_typing on <var34:ToolContext>*/;
9665 var36
= ((val
* (*)(val
*))(var35
->class->vft
[COLOR_opts__Option__value
]))(var35
) /* value on <var35:OptionBool>*/;
9666 var37
= ((struct instance_kernel__Bool
*)var36
)->value
; /* autounbox from nullable Object to Bool */;
9671 var38
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
9672 var39
= ((val
* (*)(val
*))(var38
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var38
) /* toolcontext on <var38:ModelBuilder>*/;
9673 var40
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phand_typing
]))(var39
) /* opt_phand_typing on <var39:ToolContext>*/;
9674 var41
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_opts__Option__value
]))(var40
) /* value on <var40:OptionBool>*/;
9675 var42
= ((struct instance_kernel__Bool
*)var41
)->value
; /* autounbox from nullable Object to Bool */;
9684 var47
= string__NativeString__to_s_with_length(var45
, var46
);
9688 var48
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType(MGenericType)>*/;
9689 var49
= ((val
* (*)(val
*))(var48
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var48
) /* c_name on <var48:MClass>*/;
9695 var54
= string__NativeString__to_s_with_length(var52
, var53
);
9704 var59
= string__NativeString__to_s_with_length(var57
, var58
);
9711 var62
= "->resolution_table->types[HASH(";
9713 var64
= string__NativeString__to_s_with_length(var62
, var63
);
9720 var67
= "->resolution_table->mask, ";
9722 var69
= string__NativeString__to_s_with_length(var67
, var68
);
9726 var70
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_mtype
) /* const_color on <var_mtype:MClassType(MGenericType)>*/;
9732 var75
= string__NativeString__to_s_with_length(var73
, var74
);
9736 var76
= NEW_array__Array(&type_array__Arraykernel__Object
);
9737 { /* var76 = array_instance Array[Object] */
9739 var78
= NEW_array__NativeArray(var77
, &type_array__NativeArraykernel__Object
);
9740 ((struct instance_array__NativeArray
*)var78
)->values
[0] = (val
*) var44
;
9741 ((struct instance_array__NativeArray
*)var78
)->values
[1] = (val
*) var49
;
9742 ((struct instance_array__NativeArray
*)var78
)->values
[2] = (val
*) var51
;
9743 ((struct instance_array__NativeArray
*)var78
)->values
[3] = (val
*) var_length
;
9744 ((struct instance_array__NativeArray
*)var78
)->values
[4] = (val
*) var56
;
9745 ((struct instance_array__NativeArray
*)var78
)->values
[5] = (val
*) var_recv_type_info
;
9746 ((struct instance_array__NativeArray
*)var78
)->values
[6] = (val
*) var61
;
9747 ((struct instance_array__NativeArray
*)var78
)->values
[7] = (val
*) var_recv_type_info
;
9748 ((struct instance_array__NativeArray
*)var78
)->values
[8] = (val
*) var66
;
9749 ((struct instance_array__NativeArray
*)var78
)->values
[9] = (val
*) var70
;
9750 ((struct instance_array__NativeArray
*)var78
)->values
[10] = (val
*) var72
;
9751 ((void (*)(val
*, val
*, long))(var76
->class->vft
[COLOR_array__Array__with_native
]))(var76
, var78
, var77
) /* with_native on <var76:Array[Object]>*/;
9753 var79
= ((val
* (*)(val
*))(var76
->class->vft
[COLOR_string__Object__to_s
]))(var76
) /* to_s on <var76:Array[Object]>*/;
9754 var80
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(self
, var79
, var_mtype
) /* new_expr on <self:SeparateCompilerVisitor>*/;
9763 var85
= string__NativeString__to_s_with_length(var83
, var84
);
9767 var86
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType(MGenericType)>*/;
9768 var87
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var86
) /* c_name on <var86:MClass>*/;
9774 var92
= string__NativeString__to_s_with_length(var90
, var91
);
9783 var97
= string__NativeString__to_s_with_length(var95
, var96
);
9790 var100
= "->resolution_table->types[";
9792 var102
= string__NativeString__to_s_with_length(var100
, var101
);
9796 var103
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_mtype
) /* const_color on <var_mtype:MClassType(MGenericType)>*/;
9798 var105
= varonce104
;
9802 var108
= string__NativeString__to_s_with_length(var106
, var107
);
9804 varonce104
= var105
;
9806 var109
= NEW_array__Array(&type_array__Arraykernel__Object
);
9807 { /* var109 = array_instance Array[Object] */
9809 var111
= NEW_array__NativeArray(var110
, &type_array__NativeArraykernel__Object
);
9810 ((struct instance_array__NativeArray
*)var111
)->values
[0] = (val
*) var82
;
9811 ((struct instance_array__NativeArray
*)var111
)->values
[1] = (val
*) var87
;
9812 ((struct instance_array__NativeArray
*)var111
)->values
[2] = (val
*) var89
;
9813 ((struct instance_array__NativeArray
*)var111
)->values
[3] = (val
*) var_length
;
9814 ((struct instance_array__NativeArray
*)var111
)->values
[4] = (val
*) var94
;
9815 ((struct instance_array__NativeArray
*)var111
)->values
[5] = (val
*) var_recv_type_info
;
9816 ((struct instance_array__NativeArray
*)var111
)->values
[6] = (val
*) var99
;
9817 ((struct instance_array__NativeArray
*)var111
)->values
[7] = (val
*) var103
;
9818 ((struct instance_array__NativeArray
*)var111
)->values
[8] = (val
*) var105
;
9819 ((void (*)(val
*, val
*, long))(var109
->class->vft
[COLOR_array__Array__with_native
]))(var109
, var111
, var110
) /* with_native on <var109:Array[Object]>*/;
9821 var112
= ((val
* (*)(val
*))(var109
->class->vft
[COLOR_string__Object__to_s
]))(var109
) /* to_s on <var109:Array[Object]>*/;
9822 var113
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(self
, var112
, var_mtype
) /* new_expr on <self:SeparateCompilerVisitor>*/;
9828 var114
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_separate_compiler__SeparateCompiler__undead_types
]))(var_compiler
) /* undead_types on <var_compiler:SeparateCompiler>*/;
9829 ((void (*)(val
*, val
*))(var114
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var114
, var_mtype
) /* add on <var114:Set[MType]>*/;
9831 var116
= varonce115
;
9835 var119
= string__NativeString__to_s_with_length(var117
, var118
);
9837 varonce115
= var116
;
9839 var120
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType(MGenericType)>*/;
9840 var121
= NEW_array__Array(&type_array__Arraykernel__Object
);
9841 { /* var121 = array_instance Array[Object] */
9843 var123
= NEW_array__NativeArray(var122
, &type_array__NativeArraykernel__Object
);
9844 ((struct instance_array__NativeArray
*)var123
)->values
[0] = (val
*) var116
;
9845 ((struct instance_array__NativeArray
*)var123
)->values
[1] = (val
*) var120
;
9846 ((void (*)(val
*, val
*, long))(var121
->class->vft
[COLOR_array__Array__with_native
]))(var121
, var123
, var122
) /* with_native on <var121:Array[Object]>*/;
9848 var124
= ((val
* (*)(val
*))(var121
->class->vft
[COLOR_string__Object__to_s
]))(var121
) /* to_s on <var121:Array[Object]>*/;
9849 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var124
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
9851 var126
= varonce125
;
9855 var129
= string__NativeString__to_s_with_length(var127
, var128
);
9857 varonce125
= var126
;
9859 var130
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType(MGenericType)>*/;
9860 var131
= ((val
* (*)(val
*))(var130
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var130
) /* c_name on <var130:MClass>*/;
9862 var133
= varonce132
;
9866 var136
= string__NativeString__to_s_with_length(var134
, var135
);
9868 varonce132
= var133
;
9871 var138
= varonce137
;
9873 var139
= ", &type_";
9875 var141
= string__NativeString__to_s_with_length(var139
, var140
);
9877 varonce137
= var138
;
9879 var142
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType(MGenericType)>*/;
9881 var144
= varonce143
;
9885 var147
= string__NativeString__to_s_with_length(var145
, var146
);
9887 varonce143
= var144
;
9889 var148
= NEW_array__Array(&type_array__Arraykernel__Object
);
9890 { /* var148 = array_instance Array[Object] */
9892 var150
= NEW_array__NativeArray(var149
, &type_array__NativeArraykernel__Object
);
9893 ((struct instance_array__NativeArray
*)var150
)->values
[0] = (val
*) var126
;
9894 ((struct instance_array__NativeArray
*)var150
)->values
[1] = (val
*) var131
;
9895 ((struct instance_array__NativeArray
*)var150
)->values
[2] = (val
*) var133
;
9896 ((struct instance_array__NativeArray
*)var150
)->values
[3] = (val
*) var_length
;
9897 ((struct instance_array__NativeArray
*)var150
)->values
[4] = (val
*) var138
;
9898 ((struct instance_array__NativeArray
*)var150
)->values
[5] = (val
*) var142
;
9899 ((struct instance_array__NativeArray
*)var150
)->values
[6] = (val
*) var144
;
9900 ((void (*)(val
*, val
*, long))(var148
->class->vft
[COLOR_array__Array__with_native
]))(var148
, var150
, var149
) /* with_native on <var148:Array[Object]>*/;
9902 var151
= ((val
* (*)(val
*))(var148
->class->vft
[COLOR_string__Object__to_s
]))(var148
) /* to_s on <var148:Array[Object]>*/;
9903 var152
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(self
, var151
, var_mtype
) /* new_expr on <self:SeparateCompilerVisitor>*/;
9909 /* method separate_compiler#SeparateCompilerVisitor#native_array_instance for (self: Object, MType, RuntimeVariable): RuntimeVariable */
9910 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__native_array_instance(val
* self
, val
* p0
, val
* p1
) {
9911 val
* var
/* : RuntimeVariable */;
9912 val
* var1
/* : RuntimeVariable */;
9913 var1
= separate_compiler__SeparateCompilerVisitor__native_array_instance(self
, p0
, p1
);