1 #include "separate_compiler.sep.0.h"
2 /* method separate_compiler#SeparateCompilerVisitor#autobox for (self: SeparateCompilerVisitor, RuntimeVariable, MType): RuntimeVariable */
3 val
* separate_compiler__SeparateCompilerVisitor__autobox(val
* self
, val
* p0
, val
* p1
) {
4 val
* var
/* : RuntimeVariable */;
5 val
* var_value
/* var value: RuntimeVariable */;
6 val
* var_mtype
/* var mtype: MType */;
7 val
* var1
/* : MType */;
8 short int var2
/* : Bool */;
9 short int var3
/* : Bool */;
10 val
* var4
/* : MType */;
11 val
* var5
/* : String */;
13 val
* var6
/* : String */;
14 char* var7
/* : NativeString */;
15 long var8
/* : Int */;
16 val
* var9
/* : String */;
17 short int var10
/* : Bool */;
18 short int var_
/* var : Bool */;
19 val
* var11
/* : String */;
20 static val
* varonce12
;
21 val
* var13
/* : String */;
22 char* var14
/* : NativeString */;
23 long var15
/* : Int */;
24 val
* var16
/* : String */;
25 short int var17
/* : Bool */;
26 val
* var18
/* : MType */;
27 val
* var19
/* : String */;
28 static val
* varonce20
;
29 val
* var21
/* : String */;
30 char* var22
/* : NativeString */;
31 long var23
/* : Int */;
32 val
* var24
/* : String */;
33 short int var25
/* : Bool */;
34 static val
* varonce26
;
35 val
* var27
/* : String */;
36 char* var28
/* : NativeString */;
37 long var29
/* : Int */;
38 val
* var30
/* : String */;
39 val
* var31
/* : String */;
40 static val
* varonce32
;
41 val
* var33
/* : String */;
42 char* var34
/* : NativeString */;
43 long var35
/* : Int */;
44 val
* var36
/* : String */;
45 static val
* varonce37
;
46 val
* var38
/* : String */;
47 char* var39
/* : NativeString */;
48 long var40
/* : Int */;
49 val
* var41
/* : String */;
50 val
* var42
/* : MType */;
51 static val
* varonce43
;
52 val
* var44
/* : String */;
53 char* var45
/* : NativeString */;
54 long var46
/* : Int */;
55 val
* var47
/* : String */;
56 static val
* varonce48
;
57 val
* var49
/* : String */;
58 char* var50
/* : NativeString */;
59 long var51
/* : Int */;
60 val
* var52
/* : String */;
61 val
* var53
/* : Array[Object] */;
62 long var54
/* : Int */;
63 val
* var55
/* : NativeArray[Object] */;
64 val
* var56
/* : String */;
65 val
* var57
/* : RuntimeVariable */;
66 val
* var58
/* : String */;
67 static val
* varonce59
;
68 val
* var60
/* : String */;
69 char* var61
/* : NativeString */;
70 long var62
/* : Int */;
71 val
* var63
/* : String */;
72 short int var64
/* : Bool */;
73 val
* var65
/* : MType */;
74 short int var66
/* : Bool */;
77 const char* var_class_name
;
78 val
* var_valtype
/* var valtype: MClassType */;
79 val
* var67
/* : RuntimeVariable */;
80 val
* var_res
/* var res: RuntimeVariable */;
81 val
* var68
/* : AbstractCompiler */;
82 val
* var69
/* : RapidTypeAnalysis */;
83 val
* var70
/* : HashSet[MClassType] */;
84 short int var71
/* : Bool */;
85 short int var72
/* : Bool */;
86 static val
* varonce73
;
87 val
* var74
/* : String */;
88 char* var75
/* : NativeString */;
89 long var76
/* : Int */;
90 val
* var77
/* : String */;
91 val
* var78
/* : MType */;
92 static val
* varonce79
;
93 val
* var80
/* : String */;
94 char* var81
/* : NativeString */;
95 long var82
/* : Int */;
96 val
* var83
/* : String */;
97 static val
* varonce84
;
98 val
* var85
/* : String */;
99 char* var86
/* : NativeString */;
100 long var87
/* : Int */;
101 val
* var88
/* : String */;
102 val
* var89
/* : MType */;
103 static val
* varonce90
;
104 val
* var91
/* : String */;
105 char* var92
/* : NativeString */;
106 long var93
/* : Int */;
107 val
* var94
/* : String */;
108 val
* var95
/* : Array[Object] */;
109 long var96
/* : Int */;
110 val
* var97
/* : NativeArray[Object] */;
111 val
* var98
/* : String */;
112 static val
* varonce99
;
113 val
* var100
/* : String */;
114 char* var101
/* : NativeString */;
115 long var102
/* : Int */;
116 val
* var103
/* : String */;
117 static val
* varonce104
;
118 val
* var105
/* : String */;
119 char* var106
/* : NativeString */;
120 long var107
/* : Int */;
121 val
* var108
/* : String */;
122 val
* var109
/* : String */;
123 static val
* varonce110
;
124 val
* var111
/* : String */;
125 char* var112
/* : NativeString */;
126 long var113
/* : Int */;
127 val
* var114
/* : String */;
128 static val
* varonce115
;
129 val
* var116
/* : String */;
130 char* var117
/* : NativeString */;
131 long var118
/* : Int */;
132 val
* var119
/* : String */;
133 val
* var120
/* : MType */;
134 static val
* varonce121
;
135 val
* var122
/* : String */;
136 char* var123
/* : NativeString */;
137 long var124
/* : Int */;
138 val
* var125
/* : String */;
139 static val
* varonce126
;
140 val
* var127
/* : String */;
141 char* var128
/* : NativeString */;
142 long var129
/* : Int */;
143 val
* var130
/* : String */;
144 val
* var131
/* : Array[Object] */;
145 long var132
/* : Int */;
146 val
* var133
/* : NativeArray[Object] */;
147 val
* var134
/* : String */;
148 val
* var135
/* : RuntimeVariable */;
149 val
* var_res136
/* var res: RuntimeVariable */;
150 static val
* varonce137
;
151 val
* var138
/* : String */;
152 char* var139
/* : NativeString */;
153 long var140
/* : Int */;
154 val
* var141
/* : String */;
155 static val
* varonce142
;
156 val
* var143
/* : String */;
157 char* var144
/* : NativeString */;
158 long var145
/* : Int */;
159 val
* var146
/* : String */;
160 val
* var147
/* : MType */;
161 static val
* varonce148
;
162 val
* var149
/* : String */;
163 char* var150
/* : NativeString */;
164 long var151
/* : Int */;
165 val
* var152
/* : String */;
166 static val
* varonce153
;
167 val
* var154
/* : String */;
168 char* var155
/* : NativeString */;
169 long var156
/* : Int */;
170 val
* var157
/* : String */;
171 val
* var158
/* : Array[Object] */;
172 long var159
/* : Int */;
173 val
* var160
/* : NativeArray[Object] */;
174 val
* var161
/* : String */;
175 static val
* varonce162
;
176 val
* var163
/* : String */;
177 char* var164
/* : NativeString */;
178 long var165
/* : Int */;
179 val
* var166
/* : String */;
180 val
* var167
/* : MType */;
181 static val
* varonce168
;
182 val
* var169
/* : String */;
183 char* var170
/* : NativeString */;
184 long var171
/* : Int */;
185 val
* var172
/* : String */;
186 static val
* varonce173
;
187 val
* var174
/* : String */;
188 char* var175
/* : NativeString */;
189 long var176
/* : Int */;
190 val
* var177
/* : String */;
191 val
* var178
/* : Array[Object] */;
192 long var179
/* : Int */;
193 val
* var180
/* : NativeArray[Object] */;
194 val
* var181
/* : String */;
197 var1
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
198 var2
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var1
, var_mtype
) /* == on <var1:MType>*/;
203 var4
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
204 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var4
) /* ctype on <var4:MType>*/;
210 var9
= string__NativeString__to_s_with_length(var7
, var8
);
214 var10
= ((short int (*)(val
*, val
*))(var5
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var5
, var6
) /* == on <var5:String>*/;
217 var11
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
223 var16
= string__NativeString__to_s_with_length(var14
, var15
);
227 var17
= ((short int (*)(val
*, val
*))(var11
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var11
, var13
) /* == on <var11:String>*/;
236 var18
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
237 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var18
) /* ctype on <var18:MType>*/;
243 var24
= string__NativeString__to_s_with_length(var22
, var23
);
247 var25
= ((short int (*)(val
*, val
*))(var19
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var19
, var21
) /* == on <var19:String>*/;
252 var28
= "((struct instance_";
254 var30
= string__NativeString__to_s_with_length(var28
, var29
);
258 var31
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType>*/;
264 var36
= string__NativeString__to_s_with_length(var34
, var35
);
271 var39
= ")->value; /* autounbox from ";
273 var41
= string__NativeString__to_s_with_length(var39
, var40
);
277 var42
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
283 var47
= string__NativeString__to_s_with_length(var45
, var46
);
292 var52
= string__NativeString__to_s_with_length(var50
, var51
);
296 var53
= NEW_array__Array(&type_array__Arraykernel__Object
);
297 { /* var53 = array_instance Array[Object] */
299 var55
= NEW_array__NativeArray(var54
, &type_array__NativeArraykernel__Object
);
300 ((struct instance_array__NativeArray
*)var55
)->values
[0] = (val
*) var27
;
301 ((struct instance_array__NativeArray
*)var55
)->values
[1] = (val
*) var31
;
302 ((struct instance_array__NativeArray
*)var55
)->values
[2] = (val
*) var33
;
303 ((struct instance_array__NativeArray
*)var55
)->values
[3] = (val
*) var_value
;
304 ((struct instance_array__NativeArray
*)var55
)->values
[4] = (val
*) var38
;
305 ((struct instance_array__NativeArray
*)var55
)->values
[5] = (val
*) var42
;
306 ((struct instance_array__NativeArray
*)var55
)->values
[6] = (val
*) var44
;
307 ((struct instance_array__NativeArray
*)var55
)->values
[7] = (val
*) var_mtype
;
308 ((struct instance_array__NativeArray
*)var55
)->values
[8] = (val
*) var49
;
309 ((void (*)(val
*, val
*, long))(var53
->class->vft
[COLOR_array__Array__with_native
]))(var53
, var55
, var54
) /* with_native on <var53:Array[Object]>*/;
310 CHECK_NEW_array__Array(var53
);
312 var56
= ((val
* (*)(val
*))(var53
->class->vft
[COLOR_string__Object__to_s
]))(var53
) /* to_s on <var53:Array[Object]>*/;
313 var57
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(self
, var56
, var_mtype
) /* new_expr on <self:SeparateCompilerVisitor>*/;
317 var58
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
323 var63
= string__NativeString__to_s_with_length(var61
, var62
);
327 var64
= ((short int (*)(val
*, val
*))(var58
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var58
, var60
) /* == on <var58:String>*/;
329 var65
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
330 /* <var65:MType> isa MClassType */
331 cltype
= type_model__MClassType
.color
;
332 idtype
= type_model__MClassType
.id
;
333 if(cltype
>= var65
->type
->table_size
) {
336 var66
= var65
->type
->type_table
[cltype
] == idtype
;
339 var_class_name
= var65
== NULL ?
"null" : var65
->type
->name
;
340 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
341 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 944);
345 var67
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_mtype
) /* new_var on <self:SeparateCompilerVisitor>*/;
347 var68
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
348 var69
= ((val
* (*)(val
*))(var68
->class->vft
[COLOR_separate_compiler__SeparateCompiler__runtime_type_analysis
]))(var68
) /* runtime_type_analysis on <var68:AbstractCompiler(SeparateCompiler)>*/;
349 var70
= ((val
* (*)(val
*))(var69
->class->vft
[COLOR_rapid_type_analysis__RapidTypeAnalysis__live_types
]))(var69
) /* live_types on <var69:RapidTypeAnalysis>*/;
350 var71
= ((short int (*)(val
*, val
*))(var70
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var70
, var_valtype
) /* has on <var70:HashSet[MClassType]>*/;
356 var75
= "/*no autobox from ";
358 var77
= string__NativeString__to_s_with_length(var75
, var76
);
362 var78
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
368 var83
= string__NativeString__to_s_with_length(var81
, var82
);
377 var88
= string__NativeString__to_s_with_length(var86
, var87
);
381 var89
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
385 var92
= " is not live! */";
387 var94
= string__NativeString__to_s_with_length(var92
, var93
);
391 var95
= NEW_array__Array(&type_array__Arraykernel__Object
);
392 { /* var95 = array_instance Array[Object] */
394 var97
= NEW_array__NativeArray(var96
, &type_array__NativeArraykernel__Object
);
395 ((struct instance_array__NativeArray
*)var97
)->values
[0] = (val
*) var74
;
396 ((struct instance_array__NativeArray
*)var97
)->values
[1] = (val
*) var78
;
397 ((struct instance_array__NativeArray
*)var97
)->values
[2] = (val
*) var80
;
398 ((struct instance_array__NativeArray
*)var97
)->values
[3] = (val
*) var_mtype
;
399 ((struct instance_array__NativeArray
*)var97
)->values
[4] = (val
*) var85
;
400 ((struct instance_array__NativeArray
*)var97
)->values
[5] = (val
*) var89
;
401 ((struct instance_array__NativeArray
*)var97
)->values
[6] = (val
*) var91
;
402 ((void (*)(val
*, val
*, long))(var95
->class->vft
[COLOR_array__Array__with_native
]))(var95
, var97
, var96
) /* with_native on <var95:Array[Object]>*/;
403 CHECK_NEW_array__Array(var95
);
405 var98
= ((val
* (*)(val
*))(var95
->class->vft
[COLOR_string__Object__to_s
]))(var95
) /* to_s on <var95:Array[Object]>*/;
406 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var98
) /* add on <self:SeparateCompilerVisitor>*/;
410 var101
= "printf(\"Dead code executed!\\n\"); exit(1);";
412 var103
= string__NativeString__to_s_with_length(var101
, var102
);
416 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var100
) /* add on <self:SeparateCompilerVisitor>*/;
426 var108
= string__NativeString__to_s_with_length(var106
, var107
);
430 var109
= ((val
* (*)(val
*))(var_valtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_valtype
) /* c_name on <var_valtype:MClassType>*/;
436 var114
= string__NativeString__to_s_with_length(var112
, var113
);
443 var117
= "); /* autobox from ";
445 var119
= string__NativeString__to_s_with_length(var117
, var118
);
449 var120
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
455 var125
= string__NativeString__to_s_with_length(var123
, var124
);
464 var130
= string__NativeString__to_s_with_length(var128
, var129
);
468 var131
= NEW_array__Array(&type_array__Arraykernel__Object
);
469 { /* var131 = array_instance Array[Object] */
471 var133
= NEW_array__NativeArray(var132
, &type_array__NativeArraykernel__Object
);
472 ((struct instance_array__NativeArray
*)var133
)->values
[0] = (val
*) var_res
;
473 ((struct instance_array__NativeArray
*)var133
)->values
[1] = (val
*) var105
;
474 ((struct instance_array__NativeArray
*)var133
)->values
[2] = (val
*) var109
;
475 ((struct instance_array__NativeArray
*)var133
)->values
[3] = (val
*) var111
;
476 ((struct instance_array__NativeArray
*)var133
)->values
[4] = (val
*) var_value
;
477 ((struct instance_array__NativeArray
*)var133
)->values
[5] = (val
*) var116
;
478 ((struct instance_array__NativeArray
*)var133
)->values
[6] = (val
*) var120
;
479 ((struct instance_array__NativeArray
*)var133
)->values
[7] = (val
*) var122
;
480 ((struct instance_array__NativeArray
*)var133
)->values
[8] = (val
*) var_mtype
;
481 ((struct instance_array__NativeArray
*)var133
)->values
[9] = (val
*) var127
;
482 ((void (*)(val
*, val
*, long))(var131
->class->vft
[COLOR_array__Array__with_native
]))(var131
, var133
, var132
) /* with_native on <var131:Array[Object]>*/;
483 CHECK_NEW_array__Array(var131
);
485 var134
= ((val
* (*)(val
*))(var131
->class->vft
[COLOR_string__Object__to_s
]))(var131
) /* to_s on <var131:Array[Object]>*/;
486 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var134
) /* add on <self:SeparateCompilerVisitor>*/;
490 var135
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_mtype
) /* new_var on <self:SeparateCompilerVisitor>*/;
497 var141
= string__NativeString__to_s_with_length(var139
, var140
);
504 var144
= " left unintialized (cannot convert ";
506 var146
= string__NativeString__to_s_with_length(var144
, var145
);
510 var147
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
516 var152
= string__NativeString__to_s_with_length(var150
, var151
);
525 var157
= string__NativeString__to_s_with_length(var155
, var156
);
529 var158
= NEW_array__Array(&type_array__Arraykernel__Object
);
530 { /* var158 = array_instance Array[Object] */
532 var160
= NEW_array__NativeArray(var159
, &type_array__NativeArraykernel__Object
);
533 ((struct instance_array__NativeArray
*)var160
)->values
[0] = (val
*) var138
;
534 ((struct instance_array__NativeArray
*)var160
)->values
[1] = (val
*) var_res136
;
535 ((struct instance_array__NativeArray
*)var160
)->values
[2] = (val
*) var143
;
536 ((struct instance_array__NativeArray
*)var160
)->values
[3] = (val
*) var147
;
537 ((struct instance_array__NativeArray
*)var160
)->values
[4] = (val
*) var149
;
538 ((struct instance_array__NativeArray
*)var160
)->values
[5] = (val
*) var_mtype
;
539 ((struct instance_array__NativeArray
*)var160
)->values
[6] = (val
*) var154
;
540 ((void (*)(val
*, val
*, long))(var158
->class->vft
[COLOR_array__Array__with_native
]))(var158
, var160
, var159
) /* with_native on <var158:Array[Object]>*/;
541 CHECK_NEW_array__Array(var158
);
543 var161
= ((val
* (*)(val
*))(var158
->class->vft
[COLOR_string__Object__to_s
]))(var158
) /* to_s on <var158:Array[Object]>*/;
544 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var161
) /* add on <self:SeparateCompilerVisitor>*/;
548 var164
= "printf(\"Cast error: Cannot cast %s to %s.\\n\", \"";
550 var166
= string__NativeString__to_s_with_length(var164
, var165
);
554 var167
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
560 var172
= string__NativeString__to_s_with_length(var170
, var171
);
567 var175
= "\"); exit(1);";
569 var177
= string__NativeString__to_s_with_length(var175
, var176
);
573 var178
= NEW_array__Array(&type_array__Arraykernel__Object
);
574 { /* var178 = array_instance Array[Object] */
576 var180
= NEW_array__NativeArray(var179
, &type_array__NativeArraykernel__Object
);
577 ((struct instance_array__NativeArray
*)var180
)->values
[0] = (val
*) var163
;
578 ((struct instance_array__NativeArray
*)var180
)->values
[1] = (val
*) var167
;
579 ((struct instance_array__NativeArray
*)var180
)->values
[2] = (val
*) var169
;
580 ((struct instance_array__NativeArray
*)var180
)->values
[3] = (val
*) var_mtype
;
581 ((struct instance_array__NativeArray
*)var180
)->values
[4] = (val
*) var174
;
582 ((void (*)(val
*, val
*, long))(var178
->class->vft
[COLOR_array__Array__with_native
]))(var178
, var180
, var179
) /* with_native on <var178:Array[Object]>*/;
583 CHECK_NEW_array__Array(var178
);
585 var181
= ((val
* (*)(val
*))(var178
->class->vft
[COLOR_string__Object__to_s
]))(var178
) /* to_s on <var178:Array[Object]>*/;
586 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var181
) /* add on <self:SeparateCompilerVisitor>*/;
596 /* method separate_compiler#SeparateCompilerVisitor#autobox for (self: Object, RuntimeVariable, MType): RuntimeVariable */
597 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__autobox(val
* self
, val
* p0
, val
* p1
) {
598 val
* var
/* : RuntimeVariable */;
599 val
* var1
/* : RuntimeVariable */;
600 var1
= separate_compiler__SeparateCompilerVisitor__autobox(self
, p0
, p1
);
605 /* method separate_compiler#SeparateCompilerVisitor#type_info for (self: SeparateCompilerVisitor, RuntimeVariable): String */
606 val
* separate_compiler__SeparateCompilerVisitor__type_info(val
* self
, val
* p0
) {
607 val
* var
/* : String */;
608 val
* var_value
/* var value: RuntimeVariable */;
609 val
* var1
/* : MType */;
610 val
* var2
/* : String */;
612 val
* var3
/* : String */;
613 char* var4
/* : NativeString */;
614 long var5
/* : Int */;
615 val
* var6
/* : String */;
616 short int var7
/* : Bool */;
617 val
* var8
/* : Array[Object] */;
618 long var9
/* : Int */;
619 val
* var_
/* var : Array[Object] */;
620 static val
* varonce10
;
621 val
* var11
/* : String */;
622 char* var12
/* : NativeString */;
623 long var13
/* : Int */;
624 val
* var14
/* : String */;
625 static val
* varonce15
;
626 val
* var16
/* : String */;
627 char* var17
/* : NativeString */;
628 long var18
/* : Int */;
629 val
* var19
/* : String */;
630 val
* var20
/* : String */;
631 static val
* varonce21
;
632 val
* var22
/* : String */;
633 char* var23
/* : NativeString */;
634 long var24
/* : Int */;
635 val
* var25
/* : String */;
636 val
* var26
/* : MType */;
637 val
* var27
/* : String */;
638 val
* var28
/* : Array[Object] */;
639 long var29
/* : Int */;
640 val
* var30
/* : NativeArray[Object] */;
641 val
* var31
/* : String */;
642 val
* var32
/* : Array[Object] */;
643 long var33
/* : Int */;
644 val
* var_34
/* var : Array[Object] */;
645 static val
* varonce35
;
646 val
* var36
/* : String */;
647 char* var37
/* : NativeString */;
648 long var38
/* : Int */;
649 val
* var39
/* : String */;
650 val
* var40
/* : MType */;
651 val
* var41
/* : String */;
652 static val
* varonce42
;
653 val
* var43
/* : String */;
654 char* var44
/* : NativeString */;
655 long var45
/* : Int */;
656 val
* var46
/* : String */;
657 val
* var47
/* : String */;
659 var1
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
660 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var1
) /* ctype on <var1:MType>*/;
666 var6
= string__NativeString__to_s_with_length(var4
, var5
);
670 var7
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var2
, var3
) /* == on <var2:String>*/;
672 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
674 ((void (*)(val
*, long))(var8
->class->vft
[COLOR_array__Array__with_capacity
]))(var8
, var9
) /* with_capacity on <var8:Array[Object]>*/;
675 CHECK_NEW_array__Array(var8
);
682 var14
= string__NativeString__to_s_with_length(var12
, var13
);
686 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var11
) /* add on <var_:Array[Object]>*/;
687 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_value
) /* add on <var_:Array[Object]>*/;
693 var19
= string__NativeString__to_s_with_length(var17
, var18
);
697 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var16
) /* add on <var_:Array[Object]>*/;
698 var20
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
707 var25
= string__NativeString__to_s_with_length(var23
, var24
);
711 var26
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
712 var27
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var26
) /* c_name on <var26:MType>*/;
713 var28
= NEW_array__Array(&type_array__Arraykernel__Object
);
714 { /* var28 = array_instance Array[Object] */
716 var30
= NEW_array__NativeArray(var29
, &type_array__NativeArraykernel__Object
);
717 ((struct instance_array__NativeArray
*)var30
)->values
[0] = (val
*) var22
;
718 ((struct instance_array__NativeArray
*)var30
)->values
[1] = (val
*) var27
;
719 ((void (*)(val
*, val
*, long))(var28
->class->vft
[COLOR_array__Array__with_native
]))(var28
, var30
, var29
) /* with_native on <var28:Array[Object]>*/;
720 CHECK_NEW_array__Array(var28
);
722 var31
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_string__Object__to_s
]))(var28
) /* to_s on <var28:Array[Object]>*/;
723 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var31
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
724 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
726 ((void (*)(val
*, long))(var32
->class->vft
[COLOR_array__Array__with_capacity
]))(var32
, var33
) /* with_capacity on <var32:Array[Object]>*/;
727 CHECK_NEW_array__Array(var32
);
734 var39
= string__NativeString__to_s_with_length(var37
, var38
);
738 ((void (*)(val
*, val
*))(var_34
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_34
, var36
) /* add on <var_34:Array[Object]>*/;
739 var40
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
740 var41
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var40
) /* c_name on <var40:MType>*/;
741 ((void (*)(val
*, val
*))(var_34
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_34
, var41
) /* add on <var_34:Array[Object]>*/;
747 var46
= string__NativeString__to_s_with_length(var44
, var45
);
751 ((void (*)(val
*, val
*))(var_34
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_34
, var43
) /* add on <var_34:Array[Object]>*/;
752 var47
= ((val
* (*)(val
*))(var_34
->class->vft
[COLOR_string__Object__to_s
]))(var_34
) /* to_s on <var_34:Array[Object]>*/;
759 /* method separate_compiler#SeparateCompilerVisitor#type_info for (self: Object, RuntimeVariable): String */
760 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__type_info(val
* self
, val
* p0
) {
761 val
* var
/* : String */;
762 val
* var1
/* : String */;
763 var1
= separate_compiler__SeparateCompilerVisitor__type_info(self
, p0
);
768 /* method separate_compiler#SeparateCompilerVisitor#send for (self: SeparateCompilerVisitor, MMethod, Array[RuntimeVariable]): nullable RuntimeVariable */
769 val
* separate_compiler__SeparateCompilerVisitor__send(val
* self
, val
* p0
, val
* p1
) {
770 val
* var
/* : nullable RuntimeVariable */;
771 val
* var_mmethod
/* var mmethod: MMethod */;
772 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
773 val
* var1
/* : MPropDef */;
774 val
* var2
/* : MPropDef */;
775 val
* var3
/* : nullable MSignature */;
776 val
* var4
/* : String */;
777 val
* var5
/* : nullable RuntimeVariable */;
780 var1
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
781 var2
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
782 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var2
) /* msignature on <var2:MPropDef(MMethodDef)>*/;
784 fprintf(stderr
, "Runtime error: %s", "Cast failed");
785 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 976);
788 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__varargize
]))(self
, var1
, var3
, var_arguments
) /* varargize on <self:SeparateCompilerVisitor>*/;
789 var4
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_mmethod
) /* const_color on <var_mmethod:MMethod>*/;
790 var5
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__table_send
]))(self
, var_mmethod
, var_arguments
, var4
) /* table_send on <self:SeparateCompilerVisitor>*/;
796 /* method separate_compiler#SeparateCompilerVisitor#send for (self: Object, MMethod, Array[RuntimeVariable]): nullable RuntimeVariable */
797 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__send(val
* self
, val
* p0
, val
* p1
) {
798 val
* var
/* : nullable RuntimeVariable */;
799 val
* var1
/* : nullable RuntimeVariable */;
800 var1
= separate_compiler__SeparateCompilerVisitor__send(self
, p0
, p1
);
805 /* method separate_compiler#SeparateCompilerVisitor#table_send for (self: SeparateCompilerVisitor, MMethod, Array[RuntimeVariable], String): nullable RuntimeVariable */
806 val
* separate_compiler__SeparateCompilerVisitor__table_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
807 val
* var
/* : nullable RuntimeVariable */;
808 val
* var_mmethod
/* var mmethod: MMethod */;
809 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
810 val
* var_const_color
/* var const_color: String */;
811 val
* var1
/* : nullable Object */;
812 val
* var2
/* : MType */;
813 val
* var3
/* : String */;
815 val
* var4
/* : String */;
816 char* var5
/* : NativeString */;
817 long var6
/* : Int */;
818 val
* var7
/* : String */;
819 short int var8
/* : Bool */;
820 val
* var9
/* : AbstractCompiler */;
821 val
* var10
/* : MModule */;
822 val
* var_m
/* var m: MModule */;
823 val
* var11
/* : AbstractCompiler */;
824 val
* var12
/* : AbstractCompiler */;
825 val
* var13
/* : MModule */;
826 val
* var14
/* : nullable Object */;
827 val
* var15
/* : MType */;
828 val
* var16
/* : nullable RuntimeVariable */;
829 val
* var_res
/* var res: nullable RuntimeVariable */;
830 val
* var17
/* : AbstractCompiler */;
831 val
* var18
/* : MPropDef */;
832 val
* var19
/* : nullable MSignature */;
833 val
* var20
/* : MPropDef */;
834 val
* var21
/* : MClassDef */;
835 val
* var22
/* : MClassType */;
836 val
* var23
/* : MPropDef */;
837 val
* var24
/* : MClassDef */;
838 val
* var25
/* : MClassType */;
839 val
* var26
/* : MPropDef */;
840 val
* var27
/* : MClassDef */;
841 val
* var28
/* : MModule */;
842 short int var29
/* : Bool */;
843 val
* var30
/* : MType */;
844 val
* var_msignature
/* var msignature: MSignature */;
845 val
* var31
/* : nullable MType */;
846 val
* var_ret
/* var ret: nullable MType */;
847 short int var32
/* : Bool */;
848 val
* var33
/* : nullable Object */;
849 val
* var34
/* : MType */;
850 val
* var35
/* : RuntimeVariable */;
851 val
* var_res36
/* var res: nullable RuntimeVariable */;
852 val
* var37
/* : null */;
853 short int var38
/* : Bool */;
854 val
* var39
/* : null */;
855 val
* var40
/* : RuntimeVariable */;
856 val
* var41
/* : Buffer */;
857 val
* var_s
/* var s: Buffer */;
858 val
* var42
/* : Buffer */;
859 val
* var_ss
/* var ss: Buffer */;
860 val
* var43
/* : nullable Object */;
861 val
* var_recv
/* var recv: RuntimeVariable */;
862 static val
* varonce44
;
863 val
* var45
/* : String */;
864 char* var46
/* : NativeString */;
865 long var47
/* : Int */;
866 val
* var48
/* : String */;
867 val
* var49
/* : Array[Object] */;
868 long var50
/* : Int */;
869 val
* var51
/* : NativeArray[Object] */;
870 val
* var52
/* : String */;
871 val
* var53
/* : Range[Int] */;
872 long var54
/* : Int */;
873 long var55
/* : Int */;
874 val
* var56
/* : Discrete */;
875 val
* var57
/* : Discrete */;
876 val
* var58
/* : Iterator[nullable Object] */;
877 short int var59
/* : Bool */;
878 val
* var60
/* : nullable Object */;
879 long var_i
/* var i: Int */;
880 long var61
/* : Int */;
881 long var62
/* : Int */;
882 long var63
/* : Int */;
883 long var65
/* : Int */;
884 val
* var66
/* : nullable Object */;
885 val
* var_a
/* var a: RuntimeVariable */;
886 val
* var67
/* : Array[MParameter] */;
887 val
* var68
/* : nullable Object */;
888 val
* var69
/* : MType */;
889 val
* var_t
/* var t: MType */;
890 long var70
/* : Int */;
891 short int var71
/* : Bool */;
892 short int var73
/* : Bool */;
893 long var74
/* : Int */;
894 long var75
/* : Int */;
895 long var77
/* : Int */;
896 val
* var78
/* : nullable Object */;
897 val
* var79
/* : MType */;
898 static val
* varonce80
;
899 val
* var81
/* : String */;
900 char* var82
/* : NativeString */;
901 long var83
/* : Int */;
902 val
* var84
/* : String */;
903 val
* var85
/* : String */;
904 val
* var86
/* : Array[Object] */;
905 long var87
/* : Int */;
906 val
* var88
/* : NativeArray[Object] */;
907 val
* var89
/* : String */;
908 val
* var90
/* : RuntimeVariable */;
909 static val
* varonce91
;
910 val
* var92
/* : String */;
911 char* var93
/* : NativeString */;
912 long var94
/* : Int */;
913 val
* var95
/* : String */;
914 val
* var96
/* : Array[Object] */;
915 long var97
/* : Int */;
916 val
* var98
/* : NativeArray[Object] */;
917 val
* var99
/* : String */;
918 short int var100
/* : Bool */;
919 short int var101
/* : Bool */;
920 val
* var102
/* : AbstractCompiler */;
921 val
* var103
/* : ModelBuilder */;
922 val
* var104
/* : ToolContext */;
923 val
* var105
/* : OptionBool */;
924 val
* var106
/* : nullable Object */;
925 short int var107
/* : Bool */;
926 short int var108
/* : Bool */;
927 short int var_
/* var : Bool */;
928 val
* var109
/* : String */;
929 static val
* varonce110
;
930 val
* var111
/* : String */;
931 char* var112
/* : NativeString */;
932 long var113
/* : Int */;
933 val
* var114
/* : String */;
934 short int var115
/* : Bool */;
935 short int var_116
/* var : Bool */;
936 val
* var117
/* : String */;
937 static val
* varonce118
;
938 val
* var119
/* : String */;
939 char* var120
/* : NativeString */;
940 long var121
/* : Int */;
941 val
* var122
/* : String */;
942 short int var123
/* : Bool */;
943 short int var_consider_null
/* var consider_null: Bool */;
944 short int var124
/* : Bool */;
945 val
* var125
/* : MType */;
946 short int var126
/* : Bool */;
949 short int var_127
/* var : Bool */;
950 short int var_maybenull
/* var maybenull: Bool */;
951 static val
* varonce128
;
952 val
* var129
/* : String */;
953 char* var130
/* : NativeString */;
954 long var131
/* : Int */;
955 val
* var132
/* : String */;
956 static val
* varonce133
;
957 val
* var134
/* : String */;
958 char* var135
/* : NativeString */;
959 long var136
/* : Int */;
960 val
* var137
/* : String */;
961 val
* var138
/* : Array[Object] */;
962 long var139
/* : Int */;
963 val
* var140
/* : NativeArray[Object] */;
964 val
* var141
/* : String */;
965 val
* var142
/* : String */;
966 static val
* varonce143
;
967 val
* var144
/* : String */;
968 char* var145
/* : NativeString */;
969 long var146
/* : Int */;
970 val
* var147
/* : String */;
971 short int var148
/* : Bool */;
972 val
* var149
/* : null */;
973 short int var150
/* : Bool */;
974 long var151
/* : Int */;
975 val
* var152
/* : nullable Object */;
976 val
* var_arg
/* var arg: RuntimeVariable */;
977 val
* var153
/* : MType */;
978 short int var154
/* : Bool */;
981 static val
* varonce157
;
982 val
* var158
/* : String */;
983 char* var159
/* : NativeString */;
984 long var160
/* : Int */;
985 val
* var161
/* : String */;
986 static val
* varonce162
;
987 val
* var163
/* : String */;
988 char* var164
/* : NativeString */;
989 long var165
/* : Int */;
990 val
* var166
/* : String */;
991 val
* var167
/* : Array[Object] */;
992 long var168
/* : Int */;
993 val
* var169
/* : NativeArray[Object] */;
994 val
* var170
/* : String */;
995 val
* var171
/* : MType */;
996 short int var172
/* : Bool */;
999 static val
* varonce175
;
1000 val
* var176
/* : String */;
1001 char* var177
/* : NativeString */;
1002 long var178
/* : Int */;
1003 val
* var179
/* : String */;
1004 val
* var180
/* : Array[Object] */;
1005 long var181
/* : Int */;
1006 val
* var182
/* : NativeArray[Object] */;
1007 val
* var183
/* : String */;
1008 static val
* varonce184
;
1009 val
* var185
/* : String */;
1010 char* var186
/* : NativeString */;
1011 long var187
/* : Int */;
1012 val
* var188
/* : String */;
1013 val
* var189
/* : String */;
1014 static val
* varonce190
;
1015 val
* var191
/* : String */;
1016 char* var192
/* : NativeString */;
1017 long var193
/* : Int */;
1018 val
* var194
/* : String */;
1019 val
* var195
/* : Array[Object] */;
1020 long var196
/* : Int */;
1021 val
* var197
/* : NativeArray[Object] */;
1022 val
* var198
/* : String */;
1023 val
* var199
/* : String */;
1024 static val
* varonce200
;
1025 val
* var201
/* : String */;
1026 char* var202
/* : NativeString */;
1027 long var203
/* : Int */;
1028 val
* var204
/* : String */;
1029 short int var205
/* : Bool */;
1030 val
* var206
/* : null */;
1031 short int var207
/* : Bool */;
1032 long var208
/* : Int */;
1033 val
* var209
/* : nullable Object */;
1034 val
* var_arg210
/* var arg: RuntimeVariable */;
1035 val
* var211
/* : MType */;
1036 short int var212
/* : Bool */;
1039 static val
* varonce215
;
1040 val
* var216
/* : String */;
1041 char* var217
/* : NativeString */;
1042 long var218
/* : Int */;
1043 val
* var219
/* : String */;
1044 static val
* varonce220
;
1045 val
* var221
/* : String */;
1046 char* var222
/* : NativeString */;
1047 long var223
/* : Int */;
1048 val
* var224
/* : String */;
1049 val
* var225
/* : Array[Object] */;
1050 long var226
/* : Int */;
1051 val
* var227
/* : NativeArray[Object] */;
1052 val
* var228
/* : String */;
1053 val
* var229
/* : MType */;
1054 short int var230
/* : Bool */;
1057 static val
* varonce233
;
1058 val
* var234
/* : String */;
1059 char* var235
/* : NativeString */;
1060 long var236
/* : Int */;
1061 val
* var237
/* : String */;
1062 val
* var238
/* : Array[Object] */;
1063 long var239
/* : Int */;
1064 val
* var240
/* : NativeArray[Object] */;
1065 val
* var241
/* : String */;
1066 static val
* varonce242
;
1067 val
* var243
/* : String */;
1068 char* var244
/* : NativeString */;
1069 long var245
/* : Int */;
1070 val
* var246
/* : String */;
1071 val
* var247
/* : String */;
1072 static val
* varonce248
;
1073 val
* var249
/* : String */;
1074 char* var250
/* : NativeString */;
1075 long var251
/* : Int */;
1076 val
* var252
/* : String */;
1077 val
* var253
/* : Array[Object] */;
1078 long var254
/* : Int */;
1079 val
* var255
/* : NativeArray[Object] */;
1080 val
* var256
/* : String */;
1081 static val
* varonce257
;
1082 val
* var258
/* : String */;
1083 char* var259
/* : NativeString */;
1084 long var260
/* : Int */;
1085 val
* var261
/* : String */;
1086 static val
* varonce262
;
1087 val
* var263
/* : String */;
1088 char* var264
/* : NativeString */;
1089 long var265
/* : Int */;
1090 val
* var266
/* : String */;
1091 short int var267
/* : Bool */;
1092 val
* var268
/* : AbstractCompiler */;
1093 val
* var269
/* : ModelBuilder */;
1094 val
* var270
/* : ToolContext */;
1095 val
* var271
/* : OptionBool */;
1096 val
* var272
/* : nullable Object */;
1097 short int var273
/* : Bool */;
1098 short int var274
/* : Bool */;
1099 short int var_275
/* var : Bool */;
1100 short int var276
/* : Bool */;
1101 val
* var277
/* : String */;
1102 static val
* varonce278
;
1103 val
* var279
/* : String */;
1104 char* var280
/* : NativeString */;
1105 long var281
/* : Int */;
1106 val
* var282
/* : String */;
1107 short int var283
/* : Bool */;
1108 short int var_284
/* var : Bool */;
1109 val
* var285
/* : String */;
1110 static val
* varonce286
;
1111 val
* var287
/* : String */;
1112 char* var288
/* : NativeString */;
1113 long var289
/* : Int */;
1114 val
* var290
/* : String */;
1115 short int var291
/* : Bool */;
1116 val
* var292
/* : null */;
1117 short int var293
/* : Bool */;
1118 long var294
/* : Int */;
1119 val
* var295
/* : nullable Object */;
1120 val
* var_arg296
/* var arg: RuntimeVariable */;
1121 val
* var297
/* : MType */;
1122 short int var298
/* : Bool */;
1125 val
* var301
/* : String */;
1126 static val
* varonce302
;
1127 val
* var303
/* : String */;
1128 char* var304
/* : NativeString */;
1129 long var305
/* : Int */;
1130 val
* var306
/* : String */;
1131 short int var307
/* : Bool */;
1132 static val
* varonce308
;
1133 val
* var309
/* : String */;
1134 char* var310
/* : NativeString */;
1135 long var311
/* : Int */;
1136 val
* var312
/* : String */;
1137 val
* var313
/* : Array[Object] */;
1138 long var314
/* : Int */;
1139 val
* var315
/* : NativeArray[Object] */;
1140 val
* var316
/* : String */;
1141 static val
* varonce317
;
1142 val
* var318
/* : String */;
1143 char* var319
/* : NativeString */;
1144 long var320
/* : Int */;
1145 val
* var321
/* : String */;
1146 val
* var322
/* : Array[Object] */;
1147 long var323
/* : Int */;
1148 val
* var324
/* : NativeArray[Object] */;
1149 val
* var325
/* : String */;
1150 static val
* varonce326
;
1151 val
* var327
/* : String */;
1152 char* var328
/* : NativeString */;
1153 long var329
/* : Int */;
1154 val
* var330
/* : String */;
1155 val
* var331
/* : null */;
1156 short int var332
/* : Bool */;
1157 static val
* varonce333
;
1158 val
* var334
/* : String */;
1159 char* var335
/* : NativeString */;
1160 long var336
/* : Int */;
1161 val
* var337
/* : String */;
1162 val
* var_r
/* var r: nullable Object */;
1163 val
* var338
/* : String */;
1164 val
* var339
/* : Array[Object] */;
1165 long var340
/* : Int */;
1166 val
* var_341
/* var : Array[Object] */;
1167 static val
* varonce342
;
1168 val
* var343
/* : String */;
1169 char* var344
/* : NativeString */;
1170 long var345
/* : Int */;
1171 val
* var346
/* : String */;
1172 static val
* varonce347
;
1173 val
* var348
/* : String */;
1174 char* var349
/* : NativeString */;
1175 long var350
/* : Int */;
1176 val
* var351
/* : String */;
1177 static val
* varonce352
;
1178 val
* var353
/* : String */;
1179 char* var354
/* : NativeString */;
1180 long var355
/* : Int */;
1181 val
* var356
/* : String */;
1182 val
* var357
/* : nullable Object */;
1183 static val
* varonce358
;
1184 val
* var359
/* : String */;
1185 char* var360
/* : NativeString */;
1186 long var361
/* : Int */;
1187 val
* var362
/* : String */;
1188 static val
* varonce363
;
1189 val
* var364
/* : String */;
1190 char* var365
/* : NativeString */;
1191 long var366
/* : Int */;
1192 val
* var367
/* : String */;
1193 static val
* varonce368
;
1194 val
* var369
/* : String */;
1195 char* var370
/* : NativeString */;
1196 long var371
/* : Int */;
1197 val
* var372
/* : String */;
1198 static val
* varonce373
;
1199 val
* var374
/* : String */;
1200 char* var375
/* : NativeString */;
1201 long var376
/* : Int */;
1202 val
* var377
/* : String */;
1203 val
* var378
/* : nullable Object */;
1204 val
* var379
/* : String */;
1205 static val
* varonce380
;
1206 val
* var381
/* : String */;
1207 char* var382
/* : NativeString */;
1208 long var383
/* : Int */;
1209 val
* var384
/* : String */;
1210 val
* var385
/* : String */;
1211 val
* var_call
/* var call: String */;
1212 val
* var386
/* : null */;
1213 short int var387
/* : Bool */;
1214 static val
* varonce388
;
1215 val
* var389
/* : String */;
1216 char* var390
/* : NativeString */;
1217 long var391
/* : Int */;
1218 val
* var392
/* : String */;
1219 static val
* varonce393
;
1220 val
* var394
/* : String */;
1221 char* var395
/* : NativeString */;
1222 long var396
/* : Int */;
1223 val
* var397
/* : String */;
1224 val
* var398
/* : Array[Object] */;
1225 long var399
/* : Int */;
1226 val
* var400
/* : NativeArray[Object] */;
1227 val
* var401
/* : String */;
1228 static val
* varonce402
;
1229 val
* var403
/* : String */;
1230 char* var404
/* : NativeString */;
1231 long var405
/* : Int */;
1232 val
* var406
/* : String */;
1233 val
* var407
/* : Array[Object] */;
1234 long var408
/* : Int */;
1235 val
* var409
/* : NativeArray[Object] */;
1236 val
* var410
/* : String */;
1237 static val
* varonce411
;
1238 val
* var412
/* : String */;
1239 char* var413
/* : NativeString */;
1240 long var414
/* : Int */;
1241 val
* var415
/* : String */;
1244 var_const_color
= p2
;
1245 var1
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
1246 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var1
) /* mcasttype on <var1:nullable Object(RuntimeVariable)>*/;
1247 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var2
) /* ctype on <var2:MType>*/;
1253 var7
= string__NativeString__to_s_with_length(var5
, var6
);
1257 var8
= ((short int (*)(val
*, val
*))(var3
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var3
, var4
) /* != on <var3:String>*/;
1259 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
1260 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var9
) /* mainmodule on <var9:AbstractCompiler(SeparateCompiler)>*/;
1262 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
1263 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
1264 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__realmainmodule
]))(var12
) /* realmainmodule on <var12:AbstractCompiler(SeparateCompiler)>*/;
1265 ((void (*)(val
*, val
*))(var11
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule_61d
]))(var11
, var13
) /* mainmodule= on <var11:AbstractCompiler(SeparateCompiler)>*/;
1266 var14
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
1267 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var14
) /* mcasttype on <var14:nullable Object(RuntimeVariable)>*/;
1268 var16
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__monomorphic_send
]))(self
, var_mmethod
, var15
, var_arguments
) /* monomorphic_send on <self:SeparateCompilerVisitor>*/;
1270 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
1271 ((void (*)(val
*, val
*))(var17
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule_61d
]))(var17
, var_m
) /* mainmodule= on <var17:AbstractCompiler(SeparateCompiler)>*/;
1276 var18
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
1277 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var18
) /* msignature on <var18:MPropDef(MMethodDef)>*/;
1278 var20
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
1279 var21
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var20
) /* mclassdef on <var20:MPropDef(MMethodDef)>*/;
1280 var22
= ((val
* (*)(val
*))(var21
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var21
) /* bound_mtype on <var21:MClassDef>*/;
1281 var23
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
1282 var24
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var23
) /* mclassdef on <var23:MPropDef(MMethodDef)>*/;
1283 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var24
) /* bound_mtype on <var24:MClassDef>*/;
1284 var26
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
1285 var27
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var26
) /* mclassdef on <var26:MPropDef(MMethodDef)>*/;
1286 var28
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var27
) /* mmodule on <var27:MClassDef>*/;
1288 if (var19
== NULL
) {
1289 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1290 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 993);
1293 var30
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var19
->class->vft
[COLOR_model__MType__resolve_for
]))(var19
, var22
, var25
, var28
, var29
) /* resolve_for on <var19:nullable MSignature>*/;
1295 var_msignature
= var30
;
1296 var31
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var_msignature
) /* return_mtype on <var_msignature:MSignature>*/;
1298 var32
= ((short int (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MMethod__is_new
]))(var_mmethod
) /* is_new on <var_mmethod:MMethod>*/;
1300 var33
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
1301 var34
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var33
) /* mtype on <var33:nullable Object(RuntimeVariable)>*/;
1303 var35
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_ret
) /* new_var on <self:SeparateCompilerVisitor>*/;
1307 if (var_ret
== NULL
) {
1308 var38
= 1; /* is null */
1310 var38
= 0; /* arg is null but recv is not */
1316 var40
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_ret
) /* new_var on <self:SeparateCompilerVisitor>*/;
1320 var41
= NEW_string__Buffer(&type_string__Buffer
);
1321 ((void (*)(val
*))(var41
->class->vft
[COLOR_string__Buffer__init
]))(var41
) /* init on <var41:Buffer>*/;
1322 CHECK_NEW_string__Buffer(var41
);
1324 var42
= NEW_string__Buffer(&type_string__Buffer
);
1325 ((void (*)(val
*))(var42
->class->vft
[COLOR_string__Buffer__init
]))(var42
) /* init on <var42:Buffer>*/;
1326 CHECK_NEW_string__Buffer(var42
);
1328 var43
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
1335 var48
= string__NativeString__to_s_with_length(var46
, var47
);
1339 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var45
) /* append on <var_s:Buffer>*/;
1340 var49
= NEW_array__Array(&type_array__Arraykernel__Object
);
1341 { /* var49 = array_instance Array[Object] */
1343 var51
= NEW_array__NativeArray(var50
, &type_array__NativeArraykernel__Object
);
1344 ((struct instance_array__NativeArray
*)var51
)->values
[0] = (val
*) var_recv
;
1345 ((void (*)(val
*, val
*, long))(var49
->class->vft
[COLOR_array__Array__with_native
]))(var49
, var51
, var50
) /* with_native on <var49:Array[Object]>*/;
1346 CHECK_NEW_array__Array(var49
);
1348 var52
= ((val
* (*)(val
*))(var49
->class->vft
[COLOR_string__Object__to_s
]))(var49
) /* to_s on <var49:Array[Object]>*/;
1349 ((void (*)(val
*, val
*))(var_ss
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_ss
, var52
) /* append on <var_ss:Buffer>*/;
1350 var53
= NEW_range__Range(&type_range__Rangekernel__Int
);
1352 var55
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:MSignature>*/;
1353 var56
= BOX_kernel__Int(var54
); /* autobox from Int to Discrete */
1354 var57
= BOX_kernel__Int(var55
); /* autobox from Int to Discrete */
1355 ((void (*)(val
*, val
*, val
*))(var53
->class->vft
[COLOR_range__Range__without_last
]))(var53
, var56
, var57
) /* without_last on <var53:Range[Int]>*/;
1356 CHECK_NEW_range__Range(var53
);
1357 var58
= ((val
* (*)(val
*))(var53
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var53
) /* iterator on <var53:Range[Int]>*/;
1359 var59
= ((short int (*)(val
*))(var58
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var58
) /* is_ok on <var58:Iterator[nullable Object]>*/;
1361 var60
= ((val
* (*)(val
*))(var58
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var58
) /* item on <var58:Iterator[nullable Object]>*/;
1362 var61
= ((struct instance_kernel__Int
*)var60
)->value
; /* autounbox from nullable Object to Int */;
1365 { /* Inline kernel#Int#+ (var_i,var62) */
1366 var65
= var_i
+ var62
;
1369 RET_LABEL64
:(void)0;
1371 var66
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var63
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
1373 var67
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_msignature
) /* mparameters on <var_msignature:MSignature>*/;
1374 var68
= ((val
* (*)(val
*, long))(var67
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var67
, var_i
) /* [] on <var67:Array[MParameter]>*/;
1375 var69
= ((val
* (*)(val
*))(var68
->class->vft
[COLOR_model__MParameter__mtype
]))(var68
) /* mtype on <var68:nullable Object(MParameter)>*/;
1377 var70
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__vararg_rank
]))(var_msignature
) /* vararg_rank on <var_msignature:MSignature>*/;
1378 { /* Inline kernel#Int#== (var_i,var70) */
1379 var73
= var_i
== var70
;
1382 RET_LABEL72
:(void)0;
1386 { /* Inline kernel#Int#+ (var_i,var74) */
1387 var77
= var_i
+ var74
;
1390 RET_LABEL76
:(void)0;
1392 var78
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var75
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
1393 var79
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var78
) /* mcasttype on <var78:nullable Object(RuntimeVariable)>*/;
1402 var84
= string__NativeString__to_s_with_length(var82
, var83
);
1406 var85
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_t
) /* ctype on <var_t:MType>*/;
1407 var86
= NEW_array__Array(&type_array__Arraykernel__Object
);
1408 { /* var86 = array_instance Array[Object] */
1410 var88
= NEW_array__NativeArray(var87
, &type_array__NativeArraykernel__Object
);
1411 ((struct instance_array__NativeArray
*)var88
)->values
[0] = (val
*) var81
;
1412 ((struct instance_array__NativeArray
*)var88
)->values
[1] = (val
*) var85
;
1413 ((void (*)(val
*, val
*, long))(var86
->class->vft
[COLOR_array__Array__with_native
]))(var86
, var88
, var87
) /* with_native on <var86:Array[Object]>*/;
1414 CHECK_NEW_array__Array(var86
);
1416 var89
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_string__Object__to_s
]))(var86
) /* to_s on <var86:Array[Object]>*/;
1417 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var89
) /* append on <var_s:Buffer>*/;
1418 var90
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_a
, var_t
) /* autobox on <self:SeparateCompilerVisitor>*/;
1425 var95
= string__NativeString__to_s_with_length(var93
, var94
);
1429 var96
= NEW_array__Array(&type_array__Arraykernel__Object
);
1430 { /* var96 = array_instance Array[Object] */
1432 var98
= NEW_array__NativeArray(var97
, &type_array__NativeArraykernel__Object
);
1433 ((struct instance_array__NativeArray
*)var98
)->values
[0] = (val
*) var92
;
1434 ((struct instance_array__NativeArray
*)var98
)->values
[1] = (val
*) var_a
;
1435 ((void (*)(val
*, val
*, long))(var96
->class->vft
[COLOR_array__Array__with_native
]))(var96
, var98
, var97
) /* with_native on <var96:Array[Object]>*/;
1436 CHECK_NEW_array__Array(var96
);
1438 var99
= ((val
* (*)(val
*))(var96
->class->vft
[COLOR_string__Object__to_s
]))(var96
) /* to_s on <var96:Array[Object]>*/;
1439 ((void (*)(val
*, val
*))(var_ss
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_ss
, var99
) /* append on <var_ss:Buffer>*/;
1440 CONTINUE_label
: (void)0;
1441 ((void (*)(val
*))(var58
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var58
) /* next on <var58:Iterator[nullable Object]>*/;
1443 BREAK_label
: (void)0;
1444 var102
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
1445 var103
= ((val
* (*)(val
*))(var102
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var102
) /* modelbuilder on <var102:AbstractCompiler(SeparateCompiler)>*/;
1446 var104
= ((val
* (*)(val
*))(var103
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var103
) /* toolcontext on <var103:ModelBuilder>*/;
1447 var105
= ((val
* (*)(val
*))(var104
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_other
]))(var104
) /* opt_no_check_other on <var104:ToolContext>*/;
1448 var106
= ((val
* (*)(val
*))(var105
->class->vft
[COLOR_opts__Option__value
]))(var105
) /* value on <var105:OptionBool>*/;
1449 var107
= ((struct instance_kernel__Bool
*)var106
)->value
; /* autounbox from nullable Object to Bool */;
1455 var109
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__name
]))(var_mmethod
) /* name on <var_mmethod:MMethod>*/;
1457 var111
= varonce110
;
1461 var114
= string__NativeString__to_s_with_length(var112
, var113
);
1463 varonce110
= var111
;
1465 var115
= ((short int (*)(val
*, val
*))(var109
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var109
, var111
) /* == on <var109:String>*/;
1472 var117
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__name
]))(var_mmethod
) /* name on <var_mmethod:MMethod>*/;
1474 var119
= varonce118
;
1478 var122
= string__NativeString__to_s_with_length(var120
, var121
);
1480 varonce118
= var119
;
1482 var123
= ((short int (*)(val
*, val
*))(var117
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var117
, var119
) /* == on <var117:String>*/;
1485 var_consider_null
= var100
;
1486 var125
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_recv
) /* mcasttype on <var_recv:RuntimeVariable>*/;
1487 /* <var125:MType> isa MNullableType */
1488 cltype
= type_model__MNullableType
.color
;
1489 idtype
= type_model__MNullableType
.id
;
1490 if(cltype
>= var125
->type
->table_size
) {
1493 var126
= var125
->type
->type_table
[cltype
] == idtype
;
1497 var124
= var_consider_null
;
1501 var_maybenull
= var124
;
1504 var129
= varonce128
;
1508 var132
= string__NativeString__to_s_with_length(var130
, var131
);
1510 varonce128
= var129
;
1513 var134
= varonce133
;
1515 var135
= " == NULL) {";
1517 var137
= string__NativeString__to_s_with_length(var135
, var136
);
1519 varonce133
= var134
;
1521 var138
= NEW_array__Array(&type_array__Arraykernel__Object
);
1522 { /* var138 = array_instance Array[Object] */
1524 var140
= NEW_array__NativeArray(var139
, &type_array__NativeArraykernel__Object
);
1525 ((struct instance_array__NativeArray
*)var140
)->values
[0] = (val
*) var129
;
1526 ((struct instance_array__NativeArray
*)var140
)->values
[1] = (val
*) var_recv
;
1527 ((struct instance_array__NativeArray
*)var140
)->values
[2] = (val
*) var134
;
1528 ((void (*)(val
*, val
*, long))(var138
->class->vft
[COLOR_array__Array__with_native
]))(var138
, var140
, var139
) /* with_native on <var138:Array[Object]>*/;
1529 CHECK_NEW_array__Array(var138
);
1531 var141
= ((val
* (*)(val
*))(var138
->class->vft
[COLOR_string__Object__to_s
]))(var138
) /* to_s on <var138:Array[Object]>*/;
1532 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var141
) /* add on <self:SeparateCompilerVisitor>*/;
1533 var142
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__name
]))(var_mmethod
) /* name on <var_mmethod:MMethod>*/;
1535 var144
= varonce143
;
1539 var147
= string__NativeString__to_s_with_length(var145
, var146
);
1541 varonce143
= var144
;
1543 var148
= ((short int (*)(val
*, val
*))(var142
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var142
, var144
) /* == on <var142:String>*/;
1546 if (var_res36
== NULL
) {
1547 var150
= 0; /* is null */
1549 var150
= 1; /* arg is null and recv is not */
1552 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1553 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1026);
1557 var152
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var151
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
1559 var153
= ((val
* (*)(val
*))(var_arg
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_arg
) /* mcasttype on <var_arg:RuntimeVariable>*/;
1560 /* <var153:MType> isa MNullableType */
1561 cltype155
= type_model__MNullableType
.color
;
1562 idtype156
= type_model__MNullableType
.id
;
1563 if(cltype155
>= var153
->type
->table_size
) {
1566 var154
= var153
->type
->type_table
[cltype155
] == idtype156
;
1570 var158
= varonce157
;
1574 var161
= string__NativeString__to_s_with_length(var159
, var160
);
1576 varonce157
= var158
;
1579 var163
= varonce162
;
1581 var164
= " == NULL);";
1583 var166
= string__NativeString__to_s_with_length(var164
, var165
);
1585 varonce162
= var163
;
1587 var167
= NEW_array__Array(&type_array__Arraykernel__Object
);
1588 { /* var167 = array_instance Array[Object] */
1590 var169
= NEW_array__NativeArray(var168
, &type_array__NativeArraykernel__Object
);
1591 ((struct instance_array__NativeArray
*)var169
)->values
[0] = (val
*) var_res36
;
1592 ((struct instance_array__NativeArray
*)var169
)->values
[1] = (val
*) var158
;
1593 ((struct instance_array__NativeArray
*)var169
)->values
[2] = (val
*) var_arg
;
1594 ((struct instance_array__NativeArray
*)var169
)->values
[3] = (val
*) var163
;
1595 ((void (*)(val
*, val
*, long))(var167
->class->vft
[COLOR_array__Array__with_native
]))(var167
, var169
, var168
) /* with_native on <var167:Array[Object]>*/;
1596 CHECK_NEW_array__Array(var167
);
1598 var170
= ((val
* (*)(val
*))(var167
->class->vft
[COLOR_string__Object__to_s
]))(var167
) /* to_s on <var167:Array[Object]>*/;
1599 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var170
) /* add on <self:SeparateCompilerVisitor>*/;
1601 var171
= ((val
* (*)(val
*))(var_arg
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_arg
) /* mcasttype on <var_arg:RuntimeVariable>*/;
1602 /* <var171:MType> isa MNullType */
1603 cltype173
= type_model__MNullType
.color
;
1604 idtype174
= type_model__MNullType
.id
;
1605 if(cltype173
>= var171
->type
->table_size
) {
1608 var172
= var171
->type
->type_table
[cltype173
] == idtype174
;
1612 var176
= varonce175
;
1614 var177
= " = 1; /* is null */";
1616 var179
= string__NativeString__to_s_with_length(var177
, var178
);
1618 varonce175
= var176
;
1620 var180
= NEW_array__Array(&type_array__Arraykernel__Object
);
1621 { /* var180 = array_instance Array[Object] */
1623 var182
= NEW_array__NativeArray(var181
, &type_array__NativeArraykernel__Object
);
1624 ((struct instance_array__NativeArray
*)var182
)->values
[0] = (val
*) var_res36
;
1625 ((struct instance_array__NativeArray
*)var182
)->values
[1] = (val
*) var176
;
1626 ((void (*)(val
*, val
*, long))(var180
->class->vft
[COLOR_array__Array__with_native
]))(var180
, var182
, var181
) /* with_native on <var180:Array[Object]>*/;
1627 CHECK_NEW_array__Array(var180
);
1629 var183
= ((val
* (*)(val
*))(var180
->class->vft
[COLOR_string__Object__to_s
]))(var180
) /* to_s on <var180:Array[Object]>*/;
1630 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var183
) /* add on <self:SeparateCompilerVisitor>*/;
1633 var185
= varonce184
;
1635 var186
= " = 0; /* ";
1637 var188
= string__NativeString__to_s_with_length(var186
, var187
);
1639 varonce184
= var185
;
1641 var189
= ((val
* (*)(val
*))(var_arg
->class->vft
[COLOR_string__Object__inspect
]))(var_arg
) /* inspect on <var_arg:RuntimeVariable>*/;
1643 var191
= varonce190
;
1645 var192
= " cannot be null */";
1647 var194
= string__NativeString__to_s_with_length(var192
, var193
);
1649 varonce190
= var191
;
1651 var195
= NEW_array__Array(&type_array__Arraykernel__Object
);
1652 { /* var195 = array_instance Array[Object] */
1654 var197
= NEW_array__NativeArray(var196
, &type_array__NativeArraykernel__Object
);
1655 ((struct instance_array__NativeArray
*)var197
)->values
[0] = (val
*) var_res36
;
1656 ((struct instance_array__NativeArray
*)var197
)->values
[1] = (val
*) var185
;
1657 ((struct instance_array__NativeArray
*)var197
)->values
[2] = (val
*) var189
;
1658 ((struct instance_array__NativeArray
*)var197
)->values
[3] = (val
*) var191
;
1659 ((void (*)(val
*, val
*, long))(var195
->class->vft
[COLOR_array__Array__with_native
]))(var195
, var197
, var196
) /* with_native on <var195:Array[Object]>*/;
1660 CHECK_NEW_array__Array(var195
);
1662 var198
= ((val
* (*)(val
*))(var195
->class->vft
[COLOR_string__Object__to_s
]))(var195
) /* to_s on <var195:Array[Object]>*/;
1663 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var198
) /* add on <self:SeparateCompilerVisitor>*/;
1667 var199
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__name
]))(var_mmethod
) /* name on <var_mmethod:MMethod>*/;
1669 var201
= varonce200
;
1673 var204
= string__NativeString__to_s_with_length(var202
, var203
);
1675 varonce200
= var201
;
1677 var205
= ((short int (*)(val
*, val
*))(var199
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var199
, var201
) /* == on <var199:String>*/;
1680 if (var_res36
== NULL
) {
1681 var207
= 0; /* is null */
1683 var207
= 1; /* arg is null and recv is not */
1686 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1687 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1036);
1691 var209
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var208
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
1692 var_arg210
= var209
;
1693 var211
= ((val
* (*)(val
*))(var_arg210
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_arg210
) /* mcasttype on <var_arg210:RuntimeVariable>*/;
1694 /* <var211:MType> isa MNullableType */
1695 cltype213
= type_model__MNullableType
.color
;
1696 idtype214
= type_model__MNullableType
.id
;
1697 if(cltype213
>= var211
->type
->table_size
) {
1700 var212
= var211
->type
->type_table
[cltype213
] == idtype214
;
1704 var216
= varonce215
;
1708 var219
= string__NativeString__to_s_with_length(var217
, var218
);
1710 varonce215
= var216
;
1713 var221
= varonce220
;
1715 var222
= " != NULL);";
1717 var224
= string__NativeString__to_s_with_length(var222
, var223
);
1719 varonce220
= var221
;
1721 var225
= NEW_array__Array(&type_array__Arraykernel__Object
);
1722 { /* var225 = array_instance Array[Object] */
1724 var227
= NEW_array__NativeArray(var226
, &type_array__NativeArraykernel__Object
);
1725 ((struct instance_array__NativeArray
*)var227
)->values
[0] = (val
*) var_res36
;
1726 ((struct instance_array__NativeArray
*)var227
)->values
[1] = (val
*) var216
;
1727 ((struct instance_array__NativeArray
*)var227
)->values
[2] = (val
*) var_arg210
;
1728 ((struct instance_array__NativeArray
*)var227
)->values
[3] = (val
*) var221
;
1729 ((void (*)(val
*, val
*, long))(var225
->class->vft
[COLOR_array__Array__with_native
]))(var225
, var227
, var226
) /* with_native on <var225:Array[Object]>*/;
1730 CHECK_NEW_array__Array(var225
);
1732 var228
= ((val
* (*)(val
*))(var225
->class->vft
[COLOR_string__Object__to_s
]))(var225
) /* to_s on <var225:Array[Object]>*/;
1733 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var228
) /* add on <self:SeparateCompilerVisitor>*/;
1735 var229
= ((val
* (*)(val
*))(var_arg210
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_arg210
) /* mcasttype on <var_arg210:RuntimeVariable>*/;
1736 /* <var229:MType> isa MNullType */
1737 cltype231
= type_model__MNullType
.color
;
1738 idtype232
= type_model__MNullType
.id
;
1739 if(cltype231
>= var229
->type
->table_size
) {
1742 var230
= var229
->type
->type_table
[cltype231
] == idtype232
;
1746 var234
= varonce233
;
1748 var235
= " = 0; /* is null */";
1750 var237
= string__NativeString__to_s_with_length(var235
, var236
);
1752 varonce233
= var234
;
1754 var238
= NEW_array__Array(&type_array__Arraykernel__Object
);
1755 { /* var238 = array_instance Array[Object] */
1757 var240
= NEW_array__NativeArray(var239
, &type_array__NativeArraykernel__Object
);
1758 ((struct instance_array__NativeArray
*)var240
)->values
[0] = (val
*) var_res36
;
1759 ((struct instance_array__NativeArray
*)var240
)->values
[1] = (val
*) var234
;
1760 ((void (*)(val
*, val
*, long))(var238
->class->vft
[COLOR_array__Array__with_native
]))(var238
, var240
, var239
) /* with_native on <var238:Array[Object]>*/;
1761 CHECK_NEW_array__Array(var238
);
1763 var241
= ((val
* (*)(val
*))(var238
->class->vft
[COLOR_string__Object__to_s
]))(var238
) /* to_s on <var238:Array[Object]>*/;
1764 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var241
) /* add on <self:SeparateCompilerVisitor>*/;
1767 var243
= varonce242
;
1769 var244
= " = 1; /* ";
1771 var246
= string__NativeString__to_s_with_length(var244
, var245
);
1773 varonce242
= var243
;
1775 var247
= ((val
* (*)(val
*))(var_arg210
->class->vft
[COLOR_string__Object__inspect
]))(var_arg210
) /* inspect on <var_arg210:RuntimeVariable>*/;
1777 var249
= varonce248
;
1779 var250
= " cannot be null */";
1781 var252
= string__NativeString__to_s_with_length(var250
, var251
);
1783 varonce248
= var249
;
1785 var253
= NEW_array__Array(&type_array__Arraykernel__Object
);
1786 { /* var253 = array_instance Array[Object] */
1788 var255
= NEW_array__NativeArray(var254
, &type_array__NativeArraykernel__Object
);
1789 ((struct instance_array__NativeArray
*)var255
)->values
[0] = (val
*) var_res36
;
1790 ((struct instance_array__NativeArray
*)var255
)->values
[1] = (val
*) var243
;
1791 ((struct instance_array__NativeArray
*)var255
)->values
[2] = (val
*) var247
;
1792 ((struct instance_array__NativeArray
*)var255
)->values
[3] = (val
*) var249
;
1793 ((void (*)(val
*, val
*, long))(var253
->class->vft
[COLOR_array__Array__with_native
]))(var253
, var255
, var254
) /* with_native on <var253:Array[Object]>*/;
1794 CHECK_NEW_array__Array(var253
);
1796 var256
= ((val
* (*)(val
*))(var253
->class->vft
[COLOR_string__Object__to_s
]))(var253
) /* to_s on <var253:Array[Object]>*/;
1797 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var256
) /* add on <self:SeparateCompilerVisitor>*/;
1802 var258
= varonce257
;
1804 var259
= "Reciever is null";
1806 var261
= string__NativeString__to_s_with_length(var259
, var260
);
1808 varonce257
= var258
;
1810 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(self
, var258
) /* add_abort on <self:SeparateCompilerVisitor>*/;
1814 var263
= varonce262
;
1816 var264
= "} else {";
1818 var266
= string__NativeString__to_s_with_length(var264
, var265
);
1820 varonce262
= var263
;
1822 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var263
) /* add on <self:SeparateCompilerVisitor>*/;
1825 var268
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
1826 var269
= ((val
* (*)(val
*))(var268
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var268
) /* modelbuilder on <var268:AbstractCompiler(SeparateCompiler)>*/;
1827 var270
= ((val
* (*)(val
*))(var269
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var269
) /* toolcontext on <var269:ModelBuilder>*/;
1828 var271
= ((val
* (*)(val
*))(var270
->class->vft
[COLOR_separate_compiler__ToolContext__opt_no_shortcut_equate
]))(var270
) /* opt_no_shortcut_equate on <var270:ToolContext>*/;
1829 var272
= ((val
* (*)(val
*))(var271
->class->vft
[COLOR_opts__Option__value
]))(var271
) /* value on <var271:OptionBool>*/;
1830 var273
= ((struct instance_kernel__Bool
*)var272
)->value
; /* autounbox from nullable Object to Bool */;
1834 var277
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__name
]))(var_mmethod
) /* name on <var_mmethod:MMethod>*/;
1836 var279
= varonce278
;
1840 var282
= string__NativeString__to_s_with_length(var280
, var281
);
1842 varonce278
= var279
;
1844 var283
= ((short int (*)(val
*, val
*))(var277
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var277
, var279
) /* == on <var277:String>*/;
1849 var285
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__name
]))(var_mmethod
) /* name on <var_mmethod:MMethod>*/;
1851 var287
= varonce286
;
1855 var290
= string__NativeString__to_s_with_length(var288
, var289
);
1857 varonce286
= var287
;
1859 var291
= ((short int (*)(val
*, val
*))(var285
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var285
, var287
) /* == on <var285:String>*/;
1868 if (var_res36
== NULL
) {
1869 var293
= 0; /* is null */
1871 var293
= 1; /* arg is null and recv is not */
1874 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1875 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1051);
1879 var295
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var294
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
1880 var_arg296
= var295
;
1881 var297
= ((val
* (*)(val
*))(var_arg296
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_arg296
) /* mcasttype on <var_arg296:RuntimeVariable>*/;
1882 /* <var297:MType> isa MNullType */
1883 cltype299
= type_model__MNullType
.color
;
1884 idtype300
= type_model__MNullType
.id
;
1885 if(cltype299
>= var297
->type
->table_size
) {
1888 var298
= var297
->type
->type_table
[cltype299
] == idtype300
;
1891 var301
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__name
]))(var_mmethod
) /* name on <var_mmethod:MMethod>*/;
1893 var303
= varonce302
;
1897 var306
= string__NativeString__to_s_with_length(var304
, var305
);
1899 varonce302
= var303
;
1901 var307
= ((short int (*)(val
*, val
*))(var301
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var301
, var303
) /* == on <var301:String>*/;
1904 var309
= varonce308
;
1906 var310
= " = 0; /* arg is null but recv is not */";
1908 var312
= string__NativeString__to_s_with_length(var310
, var311
);
1910 varonce308
= var309
;
1912 var313
= NEW_array__Array(&type_array__Arraykernel__Object
);
1913 { /* var313 = array_instance Array[Object] */
1915 var315
= NEW_array__NativeArray(var314
, &type_array__NativeArraykernel__Object
);
1916 ((struct instance_array__NativeArray
*)var315
)->values
[0] = (val
*) var_res36
;
1917 ((struct instance_array__NativeArray
*)var315
)->values
[1] = (val
*) var309
;
1918 ((void (*)(val
*, val
*, long))(var313
->class->vft
[COLOR_array__Array__with_native
]))(var313
, var315
, var314
) /* with_native on <var313:Array[Object]>*/;
1919 CHECK_NEW_array__Array(var313
);
1921 var316
= ((val
* (*)(val
*))(var313
->class->vft
[COLOR_string__Object__to_s
]))(var313
) /* to_s on <var313:Array[Object]>*/;
1922 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var316
) /* add on <self:SeparateCompilerVisitor>*/;
1925 var318
= varonce317
;
1927 var319
= " = 1; /* arg is null and recv is not */";
1929 var321
= string__NativeString__to_s_with_length(var319
, var320
);
1931 varonce317
= var318
;
1933 var322
= NEW_array__Array(&type_array__Arraykernel__Object
);
1934 { /* var322 = array_instance Array[Object] */
1936 var324
= NEW_array__NativeArray(var323
, &type_array__NativeArraykernel__Object
);
1937 ((struct instance_array__NativeArray
*)var324
)->values
[0] = (val
*) var_res36
;
1938 ((struct instance_array__NativeArray
*)var324
)->values
[1] = (val
*) var318
;
1939 ((void (*)(val
*, val
*, long))(var322
->class->vft
[COLOR_array__Array__with_native
]))(var322
, var324
, var323
) /* with_native on <var322:Array[Object]>*/;
1940 CHECK_NEW_array__Array(var322
);
1942 var325
= ((val
* (*)(val
*))(var322
->class->vft
[COLOR_string__Object__to_s
]))(var322
) /* to_s on <var322:Array[Object]>*/;
1943 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var325
) /* add on <self:SeparateCompilerVisitor>*/;
1947 var327
= varonce326
;
1951 var330
= string__NativeString__to_s_with_length(var328
, var329
);
1953 varonce326
= var327
;
1955 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var327
) /* add on <self:SeparateCompilerVisitor>*/;
1965 if (var_ret
== NULL
) {
1966 var332
= 1; /* is null */
1968 var332
= 0; /* arg is null but recv is not */
1972 var334
= varonce333
;
1976 var337
= string__NativeString__to_s_with_length(var335
, var336
);
1978 varonce333
= var334
;
1982 var338
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:nullable MType(MType)>*/;
1985 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var_const_color
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
1986 var339
= NEW_array__Array(&type_array__Arraykernel__Object
);
1988 ((void (*)(val
*, long))(var339
->class->vft
[COLOR_array__Array__with_capacity
]))(var339
, var340
) /* with_capacity on <var339:Array[Object]>*/;
1989 CHECK_NEW_array__Array(var339
);
1992 var343
= varonce342
;
1996 var346
= string__NativeString__to_s_with_length(var344
, var345
);
1998 varonce342
= var343
;
2000 ((void (*)(val
*, val
*))(var_341
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_341
, var343
) /* add on <var_341:Array[Object]>*/;
2001 ((void (*)(val
*, val
*))(var_341
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_341
, var_r
) /* add on <var_341:Array[Object]>*/;
2003 var348
= varonce347
;
2007 var351
= string__NativeString__to_s_with_length(var349
, var350
);
2009 varonce347
= var348
;
2011 ((void (*)(val
*, val
*))(var_341
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_341
, var348
) /* add on <var_341:Array[Object]>*/;
2012 ((void (*)(val
*, val
*))(var_341
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_341
, var_s
) /* add on <var_341:Array[Object]>*/;
2014 var353
= varonce352
;
2018 var356
= string__NativeString__to_s_with_length(var354
, var355
);
2020 varonce352
= var353
;
2022 ((void (*)(val
*, val
*))(var_341
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_341
, var353
) /* add on <var_341:Array[Object]>*/;
2023 var357
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
2024 ((void (*)(val
*, val
*))(var_341
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_341
, var357
) /* add on <var_341:Array[Object]>*/;
2026 var359
= varonce358
;
2028 var360
= "->class->vft[";
2030 var362
= string__NativeString__to_s_with_length(var360
, var361
);
2032 varonce358
= var359
;
2034 ((void (*)(val
*, val
*))(var_341
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_341
, var359
) /* add on <var_341:Array[Object]>*/;
2035 ((void (*)(val
*, val
*))(var_341
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_341
, var_const_color
) /* add on <var_341:Array[Object]>*/;
2037 var364
= varonce363
;
2041 var367
= string__NativeString__to_s_with_length(var365
, var366
);
2043 varonce363
= var364
;
2045 ((void (*)(val
*, val
*))(var_341
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_341
, var364
) /* add on <var_341:Array[Object]>*/;
2046 ((void (*)(val
*, val
*))(var_341
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_341
, var_ss
) /* add on <var_341:Array[Object]>*/;
2048 var369
= varonce368
;
2052 var372
= string__NativeString__to_s_with_length(var370
, var371
);
2054 varonce368
= var369
;
2056 ((void (*)(val
*, val
*))(var_341
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_341
, var369
) /* add on <var_341:Array[Object]>*/;
2057 ((void (*)(val
*, val
*))(var_341
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_341
, var_mmethod
) /* add on <var_341:Array[Object]>*/;
2059 var374
= varonce373
;
2063 var377
= string__NativeString__to_s_with_length(var375
, var376
);
2065 varonce373
= var374
;
2067 ((void (*)(val
*, val
*))(var_341
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_341
, var374
) /* add on <var_341:Array[Object]>*/;
2068 var378
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
2069 var379
= ((val
* (*)(val
*))(var378
->class->vft
[COLOR_string__Object__inspect
]))(var378
) /* inspect on <var378:nullable Object(RuntimeVariable)>*/;
2070 ((void (*)(val
*, val
*))(var_341
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_341
, var379
) /* add on <var_341:Array[Object]>*/;
2072 var381
= varonce380
;
2076 var384
= string__NativeString__to_s_with_length(var382
, var383
);
2078 varonce380
= var381
;
2080 ((void (*)(val
*, val
*))(var_341
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_341
, var381
) /* add on <var_341:Array[Object]>*/;
2081 var385
= ((val
* (*)(val
*))(var_341
->class->vft
[COLOR_string__Object__to_s
]))(var_341
) /* to_s on <var_341:Array[Object]>*/;
2084 if (var_res36
== NULL
) {
2085 var387
= 0; /* is null */
2087 var387
= 1; /* arg is null and recv is not */
2091 var389
= varonce388
;
2095 var392
= string__NativeString__to_s_with_length(var390
, var391
);
2097 varonce388
= var389
;
2100 var394
= varonce393
;
2104 var397
= string__NativeString__to_s_with_length(var395
, var396
);
2106 varonce393
= var394
;
2108 var398
= NEW_array__Array(&type_array__Arraykernel__Object
);
2109 { /* var398 = array_instance Array[Object] */
2111 var400
= NEW_array__NativeArray(var399
, &type_array__NativeArraykernel__Object
);
2112 ((struct instance_array__NativeArray
*)var400
)->values
[0] = (val
*) var_res36
;
2113 ((struct instance_array__NativeArray
*)var400
)->values
[1] = (val
*) var389
;
2114 ((struct instance_array__NativeArray
*)var400
)->values
[2] = (val
*) var_call
;
2115 ((struct instance_array__NativeArray
*)var400
)->values
[3] = (val
*) var394
;
2116 ((void (*)(val
*, val
*, long))(var398
->class->vft
[COLOR_array__Array__with_native
]))(var398
, var400
, var399
) /* with_native on <var398:Array[Object]>*/;
2117 CHECK_NEW_array__Array(var398
);
2119 var401
= ((val
* (*)(val
*))(var398
->class->vft
[COLOR_string__Object__to_s
]))(var398
) /* to_s on <var398:Array[Object]>*/;
2120 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var401
) /* add on <self:SeparateCompilerVisitor>*/;
2123 var403
= varonce402
;
2127 var406
= string__NativeString__to_s_with_length(var404
, var405
);
2129 varonce402
= var403
;
2131 var407
= NEW_array__Array(&type_array__Arraykernel__Object
);
2132 { /* var407 = array_instance Array[Object] */
2134 var409
= NEW_array__NativeArray(var408
, &type_array__NativeArraykernel__Object
);
2135 ((struct instance_array__NativeArray
*)var409
)->values
[0] = (val
*) var_call
;
2136 ((struct instance_array__NativeArray
*)var409
)->values
[1] = (val
*) var403
;
2137 ((void (*)(val
*, val
*, long))(var407
->class->vft
[COLOR_array__Array__with_native
]))(var407
, var409
, var408
) /* with_native on <var407:Array[Object]>*/;
2138 CHECK_NEW_array__Array(var407
);
2140 var410
= ((val
* (*)(val
*))(var407
->class->vft
[COLOR_string__Object__to_s
]))(var407
) /* to_s on <var407:Array[Object]>*/;
2141 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var410
) /* add on <self:SeparateCompilerVisitor>*/;
2145 var412
= varonce411
;
2149 var415
= string__NativeString__to_s_with_length(var413
, var414
);
2151 varonce411
= var412
;
2153 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var412
) /* add on <self:SeparateCompilerVisitor>*/;
2161 /* method separate_compiler#SeparateCompilerVisitor#table_send for (self: Object, MMethod, Array[RuntimeVariable], String): nullable RuntimeVariable */
2162 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__table_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2163 val
* var
/* : nullable RuntimeVariable */;
2164 val
* var1
/* : nullable RuntimeVariable */;
2165 var1
= separate_compiler__SeparateCompilerVisitor__table_send(self
, p0
, p1
, p2
);
2170 /* method separate_compiler#SeparateCompilerVisitor#call for (self: SeparateCompilerVisitor, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
2171 val
* separate_compiler__SeparateCompilerVisitor__call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2172 val
* var
/* : nullable RuntimeVariable */;
2173 val
* var_mmethoddef
/* var mmethoddef: MMethodDef */;
2174 val
* var_recvtype
/* var recvtype: MClassType */;
2175 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
2176 val
* var1
/* : nullable MSignature */;
2177 val
* var2
/* : nullable MType */;
2178 val
* var_ret
/* var ret: nullable MType */;
2179 val
* var3
/* : MProperty */;
2180 short int var4
/* : Bool */;
2181 val
* var5
/* : nullable Object */;
2182 val
* var6
/* : MType */;
2183 val
* var7
/* : RuntimeVariable */;
2184 val
* var_res
/* var res: nullable RuntimeVariable */;
2185 val
* var8
/* : null */;
2186 short int var9
/* : Bool */;
2187 val
* var10
/* : null */;
2188 val
* var11
/* : MClassDef */;
2189 val
* var12
/* : MClassType */;
2190 val
* var13
/* : MClassDef */;
2191 val
* var14
/* : MClassType */;
2192 val
* var15
/* : MClassDef */;
2193 val
* var16
/* : MModule */;
2194 short int var17
/* : Bool */;
2195 val
* var18
/* : MType */;
2196 val
* var19
/* : RuntimeVariable */;
2197 short int var20
/* : Bool */;
2198 short int var21
/* : Bool */;
2199 val
* var22
/* : AbstractCompiler */;
2200 val
* var23
/* : ModelBuilder */;
2201 val
* var24
/* : HashMap[MPropDef, APropdef] */;
2202 short int var25
/* : Bool */;
2203 short int var_
/* var : Bool */;
2204 val
* var26
/* : AbstractCompiler */;
2205 val
* var27
/* : ModelBuilder */;
2206 val
* var28
/* : HashMap[MPropDef, APropdef] */;
2207 val
* var29
/* : nullable Object */;
2208 short int var30
/* : Bool */;
2211 short int var_31
/* var : Bool */;
2212 val
* var32
/* : AbstractCompiler */;
2213 val
* var33
/* : ModelBuilder */;
2214 val
* var34
/* : ToolContext */;
2215 val
* var35
/* : OptionBool */;
2216 val
* var36
/* : nullable Object */;
2217 short int var37
/* : Bool */;
2218 short int var38
/* : Bool */;
2219 val
* var39
/* : Frame */;
2220 val
* var_frame
/* var frame: Frame */;
2221 static val
* varonce
;
2222 val
* var40
/* : String */;
2223 char* var41
/* : NativeString */;
2224 long var42
/* : Int */;
2225 val
* var43
/* : String */;
2226 val
* var44
/* : String */;
2227 val
* var45
/* : nullable Frame */;
2228 val
* var_old_frame
/* var old_frame: nullable Frame */;
2229 static val
* varonce46
;
2230 val
* var47
/* : String */;
2231 char* var48
/* : NativeString */;
2232 long var49
/* : Int */;
2233 val
* var50
/* : String */;
2234 static val
* varonce51
;
2235 val
* var52
/* : String */;
2236 char* var53
/* : NativeString */;
2237 long var54
/* : Int */;
2238 val
* var55
/* : String */;
2239 static val
* varonce56
;
2240 val
* var57
/* : String */;
2241 char* var58
/* : NativeString */;
2242 long var59
/* : Int */;
2243 val
* var60
/* : String */;
2244 val
* var61
/* : String */;
2245 static val
* varonce62
;
2246 val
* var63
/* : String */;
2247 char* var64
/* : NativeString */;
2248 long var65
/* : Int */;
2249 val
* var66
/* : String */;
2250 val
* var67
/* : Array[Object] */;
2251 long var68
/* : Int */;
2252 val
* var69
/* : NativeArray[Object] */;
2253 val
* var70
/* : String */;
2254 val
* var71
/* : nullable RuntimeVariable */;
2255 val
* var72
/* : nullable String */;
2256 static val
* varonce73
;
2257 val
* var74
/* : String */;
2258 char* var75
/* : NativeString */;
2259 long var76
/* : Int */;
2260 val
* var77
/* : String */;
2261 val
* var78
/* : Array[Object] */;
2262 long var79
/* : Int */;
2263 val
* var80
/* : NativeArray[Object] */;
2264 val
* var81
/* : String */;
2265 static val
* varonce82
;
2266 val
* var83
/* : String */;
2267 char* var84
/* : NativeString */;
2268 long var85
/* : Int */;
2269 val
* var86
/* : String */;
2270 val
* var87
/* : String */;
2271 val
* var88
/* : null */;
2272 short int var89
/* : Bool */;
2273 val
* var90
/* : String */;
2274 static val
* varonce91
;
2275 val
* var92
/* : String */;
2276 char* var93
/* : NativeString */;
2277 long var94
/* : Int */;
2278 val
* var95
/* : String */;
2279 static val
* varonce96
;
2280 val
* var97
/* : String */;
2281 char* var98
/* : NativeString */;
2282 long var99
/* : Int */;
2283 val
* var100
/* : String */;
2284 val
* var101
/* : String */;
2285 static val
* varonce102
;
2286 val
* var103
/* : String */;
2287 char* var104
/* : NativeString */;
2288 long var105
/* : Int */;
2289 val
* var106
/* : String */;
2290 val
* var107
/* : Array[Object] */;
2291 long var108
/* : Int */;
2292 val
* var109
/* : NativeArray[Object] */;
2293 val
* var110
/* : String */;
2294 val
* var111
/* : null */;
2295 static val
* varonce112
;
2296 val
* var113
/* : String */;
2297 char* var114
/* : NativeString */;
2298 long var115
/* : Int */;
2299 val
* var116
/* : String */;
2300 val
* var117
/* : String */;
2301 static val
* varonce118
;
2302 val
* var119
/* : String */;
2303 char* var120
/* : NativeString */;
2304 long var121
/* : Int */;
2305 val
* var122
/* : String */;
2306 static val
* varonce123
;
2307 val
* var124
/* : String */;
2308 char* var125
/* : NativeString */;
2309 long var126
/* : Int */;
2310 val
* var127
/* : String */;
2311 val
* var128
/* : String */;
2312 static val
* varonce129
;
2313 val
* var130
/* : String */;
2314 char* var131
/* : NativeString */;
2315 long var132
/* : Int */;
2316 val
* var133
/* : String */;
2317 val
* var134
/* : Array[Object] */;
2318 long var135
/* : Int */;
2319 val
* var136
/* : NativeArray[Object] */;
2320 val
* var137
/* : String */;
2321 var_mmethoddef
= p0
;
2324 var1
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var_mmethoddef
) /* msignature on <var_mmethoddef:MMethodDef>*/;
2326 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
2327 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1088);
2330 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var1
) /* return_mtype on <var1:nullable MSignature>*/;
2333 var3
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mmethoddef
) /* mproperty on <var_mmethoddef:MMethodDef>*/;
2334 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_model__MMethod__is_new
]))(var3
) /* is_new on <var3:MProperty(MMethod)>*/;
2336 var5
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
2337 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var5
) /* mtype on <var5:nullable Object(RuntimeVariable)>*/;
2339 var7
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_ret
) /* new_var on <self:SeparateCompilerVisitor>*/;
2343 if (var_ret
== NULL
) {
2344 var9
= 1; /* is null */
2346 var9
= 0; /* arg is null but recv is not */
2352 var11
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
2353 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var11
) /* bound_mtype on <var11:MClassDef>*/;
2354 var13
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
2355 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var13
) /* bound_mtype on <var13:MClassDef>*/;
2356 var15
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
2357 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var15
) /* mmodule on <var15:MClassDef>*/;
2359 var18
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_ret
->class->vft
[COLOR_model__MType__resolve_for
]))(var_ret
, var12
, var14
, var16
, var17
) /* resolve_for on <var_ret:nullable MType(MType)>*/;
2361 var19
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_ret
) /* new_var on <self:SeparateCompilerVisitor>*/;
2365 var22
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
2366 var23
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var22
) /* modelbuilder on <var22:AbstractCompiler(SeparateCompiler)>*/;
2367 var24
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var23
) /* mpropdef2npropdef on <var23:ModelBuilder>*/;
2368 var25
= ((short int (*)(val
*, val
*))(var24
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var24
, var_mmethoddef
) /* has_key on <var24:HashMap[MPropDef, APropdef]>*/;
2371 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
2372 var27
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var26
) /* modelbuilder on <var26:AbstractCompiler(SeparateCompiler)>*/;
2373 var28
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var27
) /* mpropdef2npropdef on <var27:ModelBuilder>*/;
2374 var29
= ((val
* (*)(val
*, val
*))(var28
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var28
, var_mmethoddef
) /* [] on <var28:HashMap[MPropDef, APropdef]>*/;
2375 /* <var29:nullable Object(APropdef)> isa AInternMethPropdef */
2376 cltype
= type_parser_nodes__AInternMethPropdef
.color
;
2377 idtype
= type_parser_nodes__AInternMethPropdef
.id
;
2378 if(cltype
>= var29
->type
->table_size
) {
2381 var30
= var29
->type
->type_table
[cltype
] == idtype
;
2389 var32
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
2390 var33
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var32
) /* modelbuilder on <var32:AbstractCompiler(SeparateCompiler)>*/;
2391 var34
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var33
) /* toolcontext on <var33:ModelBuilder>*/;
2392 var35
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_separate_compiler__ToolContext__opt_no_inline_intern
]))(var34
) /* opt_no_inline_intern on <var34:ToolContext>*/;
2393 var36
= ((val
* (*)(val
*))(var35
->class->vft
[COLOR_opts__Option__value
]))(var35
) /* value on <var35:OptionBool>*/;
2394 var37
= ((struct instance_kernel__Bool
*)var36
)->value
; /* autounbox from nullable Object to Bool */;
2401 var39
= NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame
);
2402 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var39
->class->vft
[COLOR_abstract_compiler__Frame__init
]))(var39
, self
, var_mmethoddef
, var_recvtype
, var_arguments
) /* init on <var39:Frame>*/;
2403 CHECK_NEW_abstract_compiler__Frame(var39
);
2408 var41
= "RET_LABEL";
2410 var43
= string__NativeString__to_s_with_length(var41
, var42
);
2414 var44
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var40
) /* get_name on <self:SeparateCompilerVisitor>*/;
2415 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel_61d
]))(var_frame
, var44
) /* returnlabel= on <var_frame:Frame>*/;
2416 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar_61d
]))(var_frame
, var_res
) /* returnvar= on <var_frame:Frame>*/;
2417 var45
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
2418 var_old_frame
= var45
;
2419 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(self
, var_frame
) /* frame= on <self:SeparateCompilerVisitor>*/;
2423 var48
= "{ /* Inline ";
2425 var50
= string__NativeString__to_s_with_length(var48
, var49
);
2434 var55
= string__NativeString__to_s_with_length(var53
, var54
);
2443 var60
= string__NativeString__to_s_with_length(var58
, var59
);
2447 var61
= ((val
* (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_string__Collection__join
]))(var_arguments
, var57
) /* join on <var_arguments:Array[RuntimeVariable]>*/;
2453 var66
= string__NativeString__to_s_with_length(var64
, var65
);
2457 var67
= NEW_array__Array(&type_array__Arraykernel__Object
);
2458 { /* var67 = array_instance Array[Object] */
2460 var69
= NEW_array__NativeArray(var68
, &type_array__NativeArraykernel__Object
);
2461 ((struct instance_array__NativeArray
*)var69
)->values
[0] = (val
*) var47
;
2462 ((struct instance_array__NativeArray
*)var69
)->values
[1] = (val
*) var_mmethoddef
;
2463 ((struct instance_array__NativeArray
*)var69
)->values
[2] = (val
*) var52
;
2464 ((struct instance_array__NativeArray
*)var69
)->values
[3] = (val
*) var61
;
2465 ((struct instance_array__NativeArray
*)var69
)->values
[4] = (val
*) var63
;
2466 ((void (*)(val
*, val
*, long))(var67
->class->vft
[COLOR_array__Array__with_native
]))(var67
, var69
, var68
) /* with_native on <var67:Array[Object]>*/;
2467 CHECK_NEW_array__Array(var67
);
2469 var70
= ((val
* (*)(val
*))(var67
->class->vft
[COLOR_string__Object__to_s
]))(var67
) /* to_s on <var67:Array[Object]>*/;
2470 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var70
) /* add on <self:SeparateCompilerVisitor>*/;
2471 var71
= ((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>*/;
2473 var72
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel
]))(var_frame
) /* returnlabel on <var_frame:Frame>*/;
2474 if (var72
== NULL
) {
2475 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2476 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1109);
2482 var75
= ":(void)0;";
2484 var77
= string__NativeString__to_s_with_length(var75
, var76
);
2488 var78
= NEW_array__Array(&type_array__Arraykernel__Object
);
2489 { /* var78 = array_instance Array[Object] */
2491 var80
= NEW_array__NativeArray(var79
, &type_array__NativeArraykernel__Object
);
2492 ((struct instance_array__NativeArray
*)var80
)->values
[0] = (val
*) var72
;
2493 ((struct instance_array__NativeArray
*)var80
)->values
[1] = (val
*) var74
;
2494 ((void (*)(val
*, val
*, long))(var78
->class->vft
[COLOR_array__Array__with_native
]))(var78
, var80
, var79
) /* with_native on <var78:Array[Object]>*/;
2495 CHECK_NEW_array__Array(var78
);
2497 var81
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_string__Object__to_s
]))(var78
) /* to_s on <var78:Array[Object]>*/;
2498 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var81
) /* add on <self:SeparateCompilerVisitor>*/;
2504 var86
= string__NativeString__to_s_with_length(var84
, var85
);
2508 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var83
) /* add on <self:SeparateCompilerVisitor>*/;
2509 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(self
, var_old_frame
) /* frame= on <self:SeparateCompilerVisitor>*/;
2514 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__adapt_signature
]))(self
, var_mmethoddef
, var_arguments
) /* adapt_signature on <self:SeparateCompilerVisitor>*/;
2515 var87
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name
]))(var_mmethoddef
) /* c_name on <var_mmethoddef:MMethodDef>*/;
2516 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var87
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
2518 if (var_res
== NULL
) {
2519 var89
= 1; /* is null */
2521 var89
= 0; /* arg is null but recv is not */
2524 var90
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name
]))(var_mmethoddef
) /* c_name on <var_mmethoddef:MMethodDef>*/;
2530 var95
= string__NativeString__to_s_with_length(var93
, var94
);
2539 var100
= string__NativeString__to_s_with_length(var98
, var99
);
2543 var101
= ((val
* (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_string__Collection__join
]))(var_arguments
, var97
) /* join on <var_arguments:Array[RuntimeVariable]>*/;
2545 var103
= varonce102
;
2549 var106
= string__NativeString__to_s_with_length(var104
, var105
);
2551 varonce102
= var103
;
2553 var107
= NEW_array__Array(&type_array__Arraykernel__Object
);
2554 { /* var107 = array_instance Array[Object] */
2556 var109
= NEW_array__NativeArray(var108
, &type_array__NativeArraykernel__Object
);
2557 ((struct instance_array__NativeArray
*)var109
)->values
[0] = (val
*) var90
;
2558 ((struct instance_array__NativeArray
*)var109
)->values
[1] = (val
*) var92
;
2559 ((struct instance_array__NativeArray
*)var109
)->values
[2] = (val
*) var101
;
2560 ((struct instance_array__NativeArray
*)var109
)->values
[3] = (val
*) var103
;
2561 ((void (*)(val
*, val
*, long))(var107
->class->vft
[COLOR_array__Array__with_native
]))(var107
, var109
, var108
) /* with_native on <var107:Array[Object]>*/;
2562 CHECK_NEW_array__Array(var107
);
2564 var110
= ((val
* (*)(val
*))(var107
->class->vft
[COLOR_string__Object__to_s
]))(var107
) /* to_s on <var107:Array[Object]>*/;
2565 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var110
) /* add on <self:SeparateCompilerVisitor>*/;
2571 var113
= varonce112
;
2575 var116
= string__NativeString__to_s_with_length(var114
, var115
);
2577 varonce112
= var113
;
2579 var117
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name
]))(var_mmethoddef
) /* c_name on <var_mmethoddef:MMethodDef>*/;
2581 var119
= varonce118
;
2585 var122
= string__NativeString__to_s_with_length(var120
, var121
);
2587 varonce118
= var119
;
2590 var124
= varonce123
;
2594 var127
= string__NativeString__to_s_with_length(var125
, var126
);
2596 varonce123
= var124
;
2598 var128
= ((val
* (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_string__Collection__join
]))(var_arguments
, var124
) /* join on <var_arguments:Array[RuntimeVariable]>*/;
2600 var130
= varonce129
;
2604 var133
= string__NativeString__to_s_with_length(var131
, var132
);
2606 varonce129
= var130
;
2608 var134
= NEW_array__Array(&type_array__Arraykernel__Object
);
2609 { /* var134 = array_instance Array[Object] */
2611 var136
= NEW_array__NativeArray(var135
, &type_array__NativeArraykernel__Object
);
2612 ((struct instance_array__NativeArray
*)var136
)->values
[0] = (val
*) var_res
;
2613 ((struct instance_array__NativeArray
*)var136
)->values
[1] = (val
*) var113
;
2614 ((struct instance_array__NativeArray
*)var136
)->values
[2] = (val
*) var117
;
2615 ((struct instance_array__NativeArray
*)var136
)->values
[3] = (val
*) var119
;
2616 ((struct instance_array__NativeArray
*)var136
)->values
[4] = (val
*) var128
;
2617 ((struct instance_array__NativeArray
*)var136
)->values
[5] = (val
*) var130
;
2618 ((void (*)(val
*, val
*, long))(var134
->class->vft
[COLOR_array__Array__with_native
]))(var134
, var136
, var135
) /* with_native on <var134:Array[Object]>*/;
2619 CHECK_NEW_array__Array(var134
);
2621 var137
= ((val
* (*)(val
*))(var134
->class->vft
[COLOR_string__Object__to_s
]))(var134
) /* to_s on <var134:Array[Object]>*/;
2622 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var137
) /* add on <self:SeparateCompilerVisitor>*/;
2629 /* method separate_compiler#SeparateCompilerVisitor#call for (self: Object, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
2630 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2631 val
* var
/* : nullable RuntimeVariable */;
2632 val
* var1
/* : nullable RuntimeVariable */;
2633 var1
= separate_compiler__SeparateCompilerVisitor__call(self
, p0
, p1
, p2
);
2638 /* method separate_compiler#SeparateCompilerVisitor#supercall for (self: SeparateCompilerVisitor, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
2639 val
* separate_compiler__SeparateCompilerVisitor__supercall(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2640 val
* var
/* : nullable RuntimeVariable */;
2641 val
* var_m
/* var m: MMethodDef */;
2642 val
* var_recvtype
/* var recvtype: MClassType */;
2643 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
2644 val
* var1
/* : MProperty */;
2645 val
* var2
/* : String */;
2646 val
* var3
/* : nullable RuntimeVariable */;
2650 var1
= ((val
* (*)(val
*))(var_m
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_m
) /* mproperty on <var_m:MMethodDef>*/;
2651 var2
= ((val
* (*)(val
*))(var_m
->class->vft
[COLOR_separate_compiler__MPropDef__const_color
]))(var_m
) /* const_color on <var_m:MMethodDef>*/;
2652 var3
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__table_send
]))(self
, var1
, var_arguments
, var2
) /* table_send on <self:SeparateCompilerVisitor>*/;
2658 /* method separate_compiler#SeparateCompilerVisitor#supercall for (self: Object, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
2659 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__supercall(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2660 val
* var
/* : nullable RuntimeVariable */;
2661 val
* var1
/* : nullable RuntimeVariable */;
2662 var1
= separate_compiler__SeparateCompilerVisitor__supercall(self
, p0
, p1
, p2
);
2667 /* method separate_compiler#SeparateCompilerVisitor#vararg_instance for (self: SeparateCompilerVisitor, MPropDef, RuntimeVariable, Array[RuntimeVariable], MType): RuntimeVariable */
2668 val
* separate_compiler__SeparateCompilerVisitor__vararg_instance(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
2669 val
* var
/* : RuntimeVariable */;
2670 val
* var_mpropdef
/* var mpropdef: MPropDef */;
2671 val
* var_recv
/* var recv: RuntimeVariable */;
2672 val
* var_varargs
/* var varargs: Array[RuntimeVariable] */;
2673 val
* var_elttype
/* var elttype: MType */;
2674 val
* var1
/* : nullable Frame */;
2675 val
* var_old_frame
/* var old_frame: nullable Frame */;
2676 val
* var2
/* : Frame */;
2677 val
* var3
/* : MClassDef */;
2678 val
* var4
/* : MClassType */;
2679 val
* var5
/* : Array[RuntimeVariable] */;
2680 long var6
/* : Int */;
2681 val
* var_
/* var : Array[RuntimeVariable] */;
2682 val
* var_frame
/* var frame: Frame */;
2683 val
* var7
/* : RuntimeVariable */;
2684 val
* var_res
/* var res: RuntimeVariable */;
2689 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
2690 var_old_frame
= var1
;
2691 var2
= NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame
);
2692 var3
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mpropdef
) /* mclassdef on <var_mpropdef:MPropDef>*/;
2693 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var3
) /* bound_mtype on <var3:MClassDef>*/;
2694 var5
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
2696 ((void (*)(val
*, long))(var5
->class->vft
[COLOR_array__Array__with_capacity
]))(var5
, var6
) /* with_capacity on <var5:Array[RuntimeVariable]>*/;
2697 CHECK_NEW_array__Array(var5
);
2699 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_
, var_recv
) /* push on <var_:Array[RuntimeVariable]>*/;
2700 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var2
->class->vft
[COLOR_abstract_compiler__Frame__init
]))(var2
, self
, var_mpropdef
, var4
, var_
) /* init on <var2:Frame>*/;
2701 CHECK_NEW_abstract_compiler__Frame(var2
);
2703 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(self
, var_frame
) /* frame= on <self:SeparateCompilerVisitor>*/;
2704 var7
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__array_instance
]))(self
, var_varargs
, var_elttype
) /* array_instance on <self:SeparateCompilerVisitor>*/;
2706 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(self
, var_old_frame
) /* frame= on <self:SeparateCompilerVisitor>*/;
2712 /* method separate_compiler#SeparateCompilerVisitor#vararg_instance for (self: Object, MPropDef, RuntimeVariable, Array[RuntimeVariable], MType): RuntimeVariable */
2713 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__vararg_instance(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
2714 val
* var
/* : RuntimeVariable */;
2715 val
* var1
/* : RuntimeVariable */;
2716 var1
= separate_compiler__SeparateCompilerVisitor__vararg_instance(self
, p0
, p1
, p2
, p3
);
2721 /* method separate_compiler#SeparateCompilerVisitor#isset_attribute for (self: SeparateCompilerVisitor, MAttribute, RuntimeVariable): RuntimeVariable */
2722 val
* separate_compiler__SeparateCompilerVisitor__isset_attribute(val
* self
, val
* p0
, val
* p1
) {
2723 val
* var
/* : RuntimeVariable */;
2724 val
* var_a
/* var a: MAttribute */;
2725 val
* var_recv
/* var recv: RuntimeVariable */;
2726 val
* var1
/* : MClassType */;
2727 val
* var2
/* : RuntimeVariable */;
2728 val
* var_res
/* var res: RuntimeVariable */;
2729 val
* var3
/* : MPropDef */;
2730 val
* var4
/* : nullable MType */;
2731 val
* var_mtype
/* var mtype: MType */;
2732 val
* var5
/* : MPropDef */;
2733 val
* var6
/* : MClassDef */;
2734 val
* var_intromclassdef
/* var intromclassdef: MClassDef */;
2735 val
* var7
/* : MClassType */;
2736 val
* var8
/* : MClassType */;
2737 val
* var9
/* : MModule */;
2738 short int var10
/* : Bool */;
2739 val
* var11
/* : MType */;
2740 short int var12
/* : Bool */;
2743 static val
* varonce
;
2744 val
* var13
/* : String */;
2745 char* var14
/* : NativeString */;
2746 long var15
/* : Int */;
2747 val
* var16
/* : String */;
2748 static val
* varonce17
;
2749 val
* var18
/* : String */;
2750 char* var19
/* : NativeString */;
2751 long var20
/* : Int */;
2752 val
* var21
/* : String */;
2753 val
* var22
/* : String */;
2754 static val
* varonce23
;
2755 val
* var24
/* : String */;
2756 char* var25
/* : NativeString */;
2757 long var26
/* : Int */;
2758 val
* var27
/* : String */;
2759 val
* var28
/* : Array[Object] */;
2760 long var29
/* : Int */;
2761 val
* var30
/* : NativeArray[Object] */;
2762 val
* var31
/* : String */;
2763 val
* var32
/* : String */;
2764 val
* var33
/* : AbstractCompiler */;
2765 val
* var34
/* : ModelBuilder */;
2766 val
* var35
/* : ToolContext */;
2767 val
* var36
/* : OptionBool */;
2768 val
* var37
/* : nullable Object */;
2769 short int var38
/* : Bool */;
2770 static val
* varonce39
;
2771 val
* var40
/* : String */;
2772 char* var41
/* : NativeString */;
2773 long var42
/* : Int */;
2774 val
* var43
/* : String */;
2775 static val
* varonce44
;
2776 val
* var45
/* : String */;
2777 char* var46
/* : NativeString */;
2778 long var47
/* : Int */;
2779 val
* var48
/* : String */;
2780 val
* var49
/* : String */;
2781 static val
* varonce50
;
2782 val
* var51
/* : String */;
2783 char* var52
/* : NativeString */;
2784 long var53
/* : Int */;
2785 val
* var54
/* : String */;
2786 static val
* varonce55
;
2787 val
* var56
/* : String */;
2788 char* var57
/* : NativeString */;
2789 long var58
/* : Int */;
2790 val
* var59
/* : String */;
2791 val
* var60
/* : String */;
2792 static val
* varonce61
;
2793 val
* var62
/* : String */;
2794 char* var63
/* : NativeString */;
2795 long var64
/* : Int */;
2796 val
* var65
/* : String */;
2797 val
* var66
/* : Array[Object] */;
2798 long var67
/* : Int */;
2799 val
* var68
/* : NativeArray[Object] */;
2800 val
* var69
/* : String */;
2801 val
* var70
/* : String */;
2802 static val
* varonce71
;
2803 val
* var72
/* : String */;
2804 char* var73
/* : NativeString */;
2805 long var74
/* : Int */;
2806 val
* var75
/* : String */;
2807 short int var76
/* : Bool */;
2808 static val
* varonce77
;
2809 val
* var78
/* : String */;
2810 char* var79
/* : NativeString */;
2811 long var80
/* : Int */;
2812 val
* var81
/* : String */;
2813 static val
* varonce82
;
2814 val
* var83
/* : String */;
2815 char* var84
/* : NativeString */;
2816 long var85
/* : Int */;
2817 val
* var86
/* : String */;
2818 val
* var87
/* : String */;
2819 static val
* varonce88
;
2820 val
* var89
/* : String */;
2821 char* var90
/* : NativeString */;
2822 long var91
/* : Int */;
2823 val
* var92
/* : String */;
2824 static val
* varonce93
;
2825 val
* var94
/* : String */;
2826 char* var95
/* : NativeString */;
2827 long var96
/* : Int */;
2828 val
* var97
/* : String */;
2829 val
* var98
/* : String */;
2830 static val
* varonce99
;
2831 val
* var100
/* : String */;
2832 char* var101
/* : NativeString */;
2833 long var102
/* : Int */;
2834 val
* var103
/* : String */;
2835 val
* var104
/* : Array[Object] */;
2836 long var105
/* : Int */;
2837 val
* var106
/* : NativeArray[Object] */;
2838 val
* var107
/* : String */;
2839 static val
* varonce108
;
2840 val
* var109
/* : String */;
2841 char* var110
/* : NativeString */;
2842 long var111
/* : Int */;
2843 val
* var112
/* : String */;
2844 static val
* varonce113
;
2845 val
* var114
/* : String */;
2846 char* var115
/* : NativeString */;
2847 long var116
/* : Int */;
2848 val
* var117
/* : String */;
2849 val
* var118
/* : String */;
2850 static val
* varonce119
;
2851 val
* var120
/* : String */;
2852 char* var121
/* : NativeString */;
2853 long var122
/* : Int */;
2854 val
* var123
/* : String */;
2855 val
* var124
/* : Array[Object] */;
2856 long var125
/* : Int */;
2857 val
* var126
/* : NativeArray[Object] */;
2858 val
* var127
/* : String */;
2861 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__check_recv_notnull
]))(self
, var_recv
) /* check_recv_notnull on <self:SeparateCompilerVisitor>*/;
2862 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__bool_type
]))(self
) /* bool_type on <self:SeparateCompilerVisitor>*/;
2863 var2
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var1
) /* new_var on <self:SeparateCompilerVisitor>*/;
2865 var3
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__intro
]))(var_a
) /* intro on <var_a:MAttribute>*/;
2866 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MAttributeDef__static_mtype
]))(var3
) /* static_mtype on <var3:MPropDef(MAttributeDef)>*/;
2868 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2869 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1159);
2873 var5
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__intro
]))(var_a
) /* intro on <var_a:MAttribute>*/;
2874 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var5
) /* mclassdef on <var5:MPropDef(MAttributeDef)>*/;
2875 var_intromclassdef
= var6
;
2876 var7
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_intromclassdef
) /* bound_mtype on <var_intromclassdef:MClassDef>*/;
2877 var8
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_intromclassdef
) /* bound_mtype on <var_intromclassdef:MClassDef>*/;
2878 var9
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var_intromclassdef
) /* mmodule on <var_intromclassdef:MClassDef>*/;
2880 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>*/;
2882 /* <var_mtype:MType> isa MNullableType */
2883 cltype
= type_model__MNullableType
.color
;
2884 idtype
= type_model__MNullableType
.id
;
2885 if(cltype
>= var_mtype
->type
->table_size
) {
2888 var12
= var_mtype
->type
->type_table
[cltype
] == idtype
;
2894 var14
= " = 1; /* easy isset: ";
2896 var16
= string__NativeString__to_s_with_length(var14
, var15
);
2905 var21
= string__NativeString__to_s_with_length(var19
, var20
);
2909 var22
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
2915 var27
= string__NativeString__to_s_with_length(var25
, var26
);
2919 var28
= NEW_array__Array(&type_array__Arraykernel__Object
);
2920 { /* var28 = array_instance Array[Object] */
2922 var30
= NEW_array__NativeArray(var29
, &type_array__NativeArraykernel__Object
);
2923 ((struct instance_array__NativeArray
*)var30
)->values
[0] = (val
*) var_res
;
2924 ((struct instance_array__NativeArray
*)var30
)->values
[1] = (val
*) var13
;
2925 ((struct instance_array__NativeArray
*)var30
)->values
[2] = (val
*) var_a
;
2926 ((struct instance_array__NativeArray
*)var30
)->values
[3] = (val
*) var18
;
2927 ((struct instance_array__NativeArray
*)var30
)->values
[4] = (val
*) var22
;
2928 ((struct instance_array__NativeArray
*)var30
)->values
[5] = (val
*) var24
;
2929 ((void (*)(val
*, val
*, long))(var28
->class->vft
[COLOR_array__Array__with_native
]))(var28
, var30
, var29
) /* with_native on <var28:Array[Object]>*/;
2930 CHECK_NEW_array__Array(var28
);
2932 var31
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_string__Object__to_s
]))(var28
) /* to_s on <var28:Array[Object]>*/;
2933 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var31
) /* add on <self:SeparateCompilerVisitor>*/;
2938 var32
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
2939 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var32
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
2940 var33
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
2941 var34
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var33
) /* modelbuilder on <var33:AbstractCompiler(SeparateCompiler)>*/;
2942 var35
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var34
) /* toolcontext on <var34:ModelBuilder>*/;
2943 var36
= ((val
* (*)(val
*))(var35
->class->vft
[COLOR_separate_compiler__ToolContext__opt_no_union_attribute
]))(var35
) /* opt_no_union_attribute on <var35:ToolContext>*/;
2944 var37
= ((val
* (*)(val
*))(var36
->class->vft
[COLOR_opts__Option__value
]))(var36
) /* value on <var36:OptionBool>*/;
2945 var38
= ((struct instance_kernel__Bool
*)var37
)->value
; /* autounbox from nullable Object to Bool */;
2952 var43
= string__NativeString__to_s_with_length(var41
, var42
);
2961 var48
= string__NativeString__to_s_with_length(var46
, var47
);
2965 var49
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
2969 var52
= "] != NULL; /* ";
2971 var54
= string__NativeString__to_s_with_length(var52
, var53
);
2980 var59
= string__NativeString__to_s_with_length(var57
, var58
);
2984 var60
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
2990 var65
= string__NativeString__to_s_with_length(var63
, var64
);
2994 var66
= NEW_array__Array(&type_array__Arraykernel__Object
);
2995 { /* var66 = array_instance Array[Object] */
2997 var68
= NEW_array__NativeArray(var67
, &type_array__NativeArraykernel__Object
);
2998 ((struct instance_array__NativeArray
*)var68
)->values
[0] = (val
*) var_res
;
2999 ((struct instance_array__NativeArray
*)var68
)->values
[1] = (val
*) var40
;
3000 ((struct instance_array__NativeArray
*)var68
)->values
[2] = (val
*) var_recv
;
3001 ((struct instance_array__NativeArray
*)var68
)->values
[3] = (val
*) var45
;
3002 ((struct instance_array__NativeArray
*)var68
)->values
[4] = (val
*) var49
;
3003 ((struct instance_array__NativeArray
*)var68
)->values
[5] = (val
*) var51
;
3004 ((struct instance_array__NativeArray
*)var68
)->values
[6] = (val
*) var_a
;
3005 ((struct instance_array__NativeArray
*)var68
)->values
[7] = (val
*) var56
;
3006 ((struct instance_array__NativeArray
*)var68
)->values
[8] = (val
*) var60
;
3007 ((struct instance_array__NativeArray
*)var68
)->values
[9] = (val
*) var62
;
3008 ((void (*)(val
*, val
*, long))(var66
->class->vft
[COLOR_array__Array__with_native
]))(var66
, var68
, var67
) /* with_native on <var66:Array[Object]>*/;
3009 CHECK_NEW_array__Array(var66
);
3011 var69
= ((val
* (*)(val
*))(var66
->class->vft
[COLOR_string__Object__to_s
]))(var66
) /* to_s on <var66:Array[Object]>*/;
3012 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var69
) /* add on <self:SeparateCompilerVisitor>*/;
3014 var70
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
3020 var75
= string__NativeString__to_s_with_length(var73
, var74
);
3024 var76
= ((short int (*)(val
*, val
*))(var70
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var70
, var72
) /* == on <var70:String>*/;
3031 var81
= string__NativeString__to_s_with_length(var79
, var80
);
3040 var86
= string__NativeString__to_s_with_length(var84
, var85
);
3044 var87
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
3048 var90
= "].val != NULL; /* ";
3050 var92
= string__NativeString__to_s_with_length(var90
, var91
);
3059 var97
= string__NativeString__to_s_with_length(var95
, var96
);
3063 var98
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
3069 var103
= string__NativeString__to_s_with_length(var101
, var102
);
3073 var104
= NEW_array__Array(&type_array__Arraykernel__Object
);
3074 { /* var104 = array_instance Array[Object] */
3076 var106
= NEW_array__NativeArray(var105
, &type_array__NativeArraykernel__Object
);
3077 ((struct instance_array__NativeArray
*)var106
)->values
[0] = (val
*) var_res
;
3078 ((struct instance_array__NativeArray
*)var106
)->values
[1] = (val
*) var78
;
3079 ((struct instance_array__NativeArray
*)var106
)->values
[2] = (val
*) var_recv
;
3080 ((struct instance_array__NativeArray
*)var106
)->values
[3] = (val
*) var83
;
3081 ((struct instance_array__NativeArray
*)var106
)->values
[4] = (val
*) var87
;
3082 ((struct instance_array__NativeArray
*)var106
)->values
[5] = (val
*) var89
;
3083 ((struct instance_array__NativeArray
*)var106
)->values
[6] = (val
*) var_a
;
3084 ((struct instance_array__NativeArray
*)var106
)->values
[7] = (val
*) var94
;
3085 ((struct instance_array__NativeArray
*)var106
)->values
[8] = (val
*) var98
;
3086 ((struct instance_array__NativeArray
*)var106
)->values
[9] = (val
*) var100
;
3087 ((void (*)(val
*, val
*, long))(var104
->class->vft
[COLOR_array__Array__with_native
]))(var104
, var106
, var105
) /* with_native on <var104:Array[Object]>*/;
3088 CHECK_NEW_array__Array(var104
);
3090 var107
= ((val
* (*)(val
*))(var104
->class->vft
[COLOR_string__Object__to_s
]))(var104
) /* to_s on <var104:Array[Object]>*/;
3091 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var107
) /* add on <self:SeparateCompilerVisitor>*/;
3094 var109
= varonce108
;
3096 var110
= " = 1; /* NOT YET IMPLEMENTED: isset of primitives: ";
3098 var112
= string__NativeString__to_s_with_length(var110
, var111
);
3100 varonce108
= var109
;
3103 var114
= varonce113
;
3107 var117
= string__NativeString__to_s_with_length(var115
, var116
);
3109 varonce113
= var114
;
3111 var118
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
3113 var120
= varonce119
;
3117 var123
= string__NativeString__to_s_with_length(var121
, var122
);
3119 varonce119
= var120
;
3121 var124
= NEW_array__Array(&type_array__Arraykernel__Object
);
3122 { /* var124 = array_instance Array[Object] */
3124 var126
= NEW_array__NativeArray(var125
, &type_array__NativeArraykernel__Object
);
3125 ((struct instance_array__NativeArray
*)var126
)->values
[0] = (val
*) var_res
;
3126 ((struct instance_array__NativeArray
*)var126
)->values
[1] = (val
*) var109
;
3127 ((struct instance_array__NativeArray
*)var126
)->values
[2] = (val
*) var_a
;
3128 ((struct instance_array__NativeArray
*)var126
)->values
[3] = (val
*) var114
;
3129 ((struct instance_array__NativeArray
*)var126
)->values
[4] = (val
*) var118
;
3130 ((struct instance_array__NativeArray
*)var126
)->values
[5] = (val
*) var120
;
3131 ((void (*)(val
*, val
*, long))(var124
->class->vft
[COLOR_array__Array__with_native
]))(var124
, var126
, var125
) /* with_native on <var124:Array[Object]>*/;
3132 CHECK_NEW_array__Array(var124
);
3134 var127
= ((val
* (*)(val
*))(var124
->class->vft
[COLOR_string__Object__to_s
]))(var124
) /* to_s on <var124:Array[Object]>*/;
3135 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var127
) /* add on <self:SeparateCompilerVisitor>*/;
3143 /* method separate_compiler#SeparateCompilerVisitor#isset_attribute for (self: Object, MAttribute, RuntimeVariable): RuntimeVariable */
3144 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__isset_attribute(val
* self
, val
* p0
, val
* p1
) {
3145 val
* var
/* : RuntimeVariable */;
3146 val
* var1
/* : RuntimeVariable */;
3147 var1
= separate_compiler__SeparateCompilerVisitor__isset_attribute(self
, p0
, p1
);
3152 /* method separate_compiler#SeparateCompilerVisitor#read_attribute for (self: SeparateCompilerVisitor, MAttribute, RuntimeVariable): RuntimeVariable */
3153 val
* separate_compiler__SeparateCompilerVisitor__read_attribute(val
* self
, val
* p0
, val
* p1
) {
3154 val
* var
/* : RuntimeVariable */;
3155 val
* var_a
/* var a: MAttribute */;
3156 val
* var_recv
/* var recv: RuntimeVariable */;
3157 val
* var1
/* : MPropDef */;
3158 val
* var2
/* : nullable MType */;
3159 val
* var_ret
/* var ret: MType */;
3160 val
* var3
/* : MPropDef */;
3161 val
* var4
/* : MClassDef */;
3162 val
* var_intromclassdef
/* var intromclassdef: MClassDef */;
3163 val
* var5
/* : MClassType */;
3164 val
* var6
/* : MClassType */;
3165 val
* var7
/* : MModule */;
3166 short int var8
/* : Bool */;
3167 val
* var9
/* : MType */;
3168 val
* var10
/* : String */;
3169 val
* var11
/* : AbstractCompiler */;
3170 val
* var12
/* : ModelBuilder */;
3171 val
* var13
/* : ToolContext */;
3172 val
* var14
/* : OptionBool */;
3173 val
* var15
/* : nullable Object */;
3174 short int var16
/* : Bool */;
3175 val
* var17
/* : MClassType */;
3176 val
* var18
/* : MType */;
3177 val
* var_cret
/* var cret: MType */;
3178 val
* var19
/* : RuntimeVariable */;
3179 val
* var_res
/* var res: RuntimeVariable */;
3180 static val
* varonce
;
3181 val
* var20
/* : String */;
3182 char* var21
/* : NativeString */;
3183 long var22
/* : Int */;
3184 val
* var23
/* : String */;
3185 static val
* varonce24
;
3186 val
* var25
/* : String */;
3187 char* var26
/* : NativeString */;
3188 long var27
/* : Int */;
3189 val
* var28
/* : String */;
3190 val
* var29
/* : String */;
3191 static val
* varonce30
;
3192 val
* var31
/* : String */;
3193 char* var32
/* : NativeString */;
3194 long var33
/* : Int */;
3195 val
* var34
/* : String */;
3196 static val
* varonce35
;
3197 val
* var36
/* : String */;
3198 char* var37
/* : NativeString */;
3199 long var38
/* : Int */;
3200 val
* var39
/* : String */;
3201 val
* var40
/* : String */;
3202 static val
* varonce41
;
3203 val
* var42
/* : String */;
3204 char* var43
/* : NativeString */;
3205 long var44
/* : Int */;
3206 val
* var45
/* : String */;
3207 val
* var46
/* : Array[Object] */;
3208 long var47
/* : Int */;
3209 val
* var48
/* : NativeArray[Object] */;
3210 val
* var49
/* : String */;
3211 short int var50
/* : Bool */;
3212 short int var51
/* : Bool */;
3215 short int var52
/* : Bool */;
3216 short int var_
/* var : Bool */;
3217 val
* var53
/* : AbstractCompiler */;
3218 val
* var54
/* : ModelBuilder */;
3219 val
* var55
/* : ToolContext */;
3220 val
* var56
/* : OptionBool */;
3221 val
* var57
/* : nullable Object */;
3222 short int var58
/* : Bool */;
3223 short int var59
/* : Bool */;
3224 static val
* varonce60
;
3225 val
* var61
/* : String */;
3226 char* var62
/* : NativeString */;
3227 long var63
/* : Int */;
3228 val
* var64
/* : String */;
3229 static val
* varonce65
;
3230 val
* var66
/* : String */;
3231 char* var67
/* : NativeString */;
3232 long var68
/* : Int */;
3233 val
* var69
/* : String */;
3234 val
* var70
/* : Array[Object] */;
3235 long var71
/* : Int */;
3236 val
* var72
/* : NativeArray[Object] */;
3237 val
* var73
/* : String */;
3238 static val
* varonce74
;
3239 val
* var75
/* : String */;
3240 char* var76
/* : NativeString */;
3241 long var77
/* : Int */;
3242 val
* var78
/* : String */;
3243 val
* var79
/* : String */;
3244 val
* var80
/* : Array[Object] */;
3245 long var81
/* : Int */;
3246 val
* var82
/* : NativeArray[Object] */;
3247 val
* var83
/* : String */;
3248 static val
* varonce84
;
3249 val
* var85
/* : String */;
3250 char* var86
/* : NativeString */;
3251 long var87
/* : Int */;
3252 val
* var88
/* : String */;
3253 val
* var89
/* : RuntimeVariable */;
3254 val
* var90
/* : RuntimeVariable */;
3255 val
* var_res91
/* var res: RuntimeVariable */;
3256 static val
* varonce92
;
3257 val
* var93
/* : String */;
3258 char* var94
/* : NativeString */;
3259 long var95
/* : Int */;
3260 val
* var96
/* : String */;
3261 static val
* varonce97
;
3262 val
* var98
/* : String */;
3263 char* var99
/* : NativeString */;
3264 long var100
/* : Int */;
3265 val
* var101
/* : String */;
3266 val
* var102
/* : String */;
3267 static val
* varonce103
;
3268 val
* var104
/* : String */;
3269 char* var105
/* : NativeString */;
3270 long var106
/* : Int */;
3271 val
* var107
/* : String */;
3272 val
* var108
/* : String */;
3273 static val
* varonce109
;
3274 val
* var110
/* : String */;
3275 char* var111
/* : NativeString */;
3276 long var112
/* : Int */;
3277 val
* var113
/* : String */;
3278 static val
* varonce114
;
3279 val
* var115
/* : String */;
3280 char* var116
/* : NativeString */;
3281 long var117
/* : Int */;
3282 val
* var118
/* : String */;
3283 val
* var119
/* : String */;
3284 static val
* varonce120
;
3285 val
* var121
/* : String */;
3286 char* var122
/* : NativeString */;
3287 long var123
/* : Int */;
3288 val
* var124
/* : String */;
3289 val
* var125
/* : Array[Object] */;
3290 long var126
/* : Int */;
3291 val
* var127
/* : NativeArray[Object] */;
3292 val
* var128
/* : String */;
3293 short int var129
/* : Bool */;
3294 short int var130
/* : Bool */;
3295 val
* var131
/* : String */;
3296 static val
* varonce132
;
3297 val
* var133
/* : String */;
3298 char* var134
/* : NativeString */;
3299 long var135
/* : Int */;
3300 val
* var136
/* : String */;
3301 short int var137
/* : Bool */;
3302 short int var_138
/* var : Bool */;
3303 short int var139
/* : Bool */;
3306 short int var142
/* : Bool */;
3307 short int var_143
/* var : Bool */;
3308 val
* var144
/* : AbstractCompiler */;
3309 val
* var145
/* : ModelBuilder */;
3310 val
* var146
/* : ToolContext */;
3311 val
* var147
/* : OptionBool */;
3312 val
* var148
/* : nullable Object */;
3313 short int var149
/* : Bool */;
3314 short int var150
/* : Bool */;
3315 static val
* varonce151
;
3316 val
* var152
/* : String */;
3317 char* var153
/* : NativeString */;
3318 long var154
/* : Int */;
3319 val
* var155
/* : String */;
3320 static val
* varonce156
;
3321 val
* var157
/* : String */;
3322 char* var158
/* : NativeString */;
3323 long var159
/* : Int */;
3324 val
* var160
/* : String */;
3325 val
* var161
/* : Array[Object] */;
3326 long var162
/* : Int */;
3327 val
* var163
/* : NativeArray[Object] */;
3328 val
* var164
/* : String */;
3329 static val
* varonce165
;
3330 val
* var166
/* : String */;
3331 char* var167
/* : NativeString */;
3332 long var168
/* : Int */;
3333 val
* var169
/* : String */;
3334 val
* var170
/* : String */;
3335 val
* var171
/* : Array[Object] */;
3336 long var172
/* : Int */;
3337 val
* var173
/* : NativeArray[Object] */;
3338 val
* var174
/* : String */;
3339 static val
* varonce175
;
3340 val
* var176
/* : String */;
3341 char* var177
/* : NativeString */;
3342 long var178
/* : Int */;
3343 val
* var179
/* : String */;
3346 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__check_recv_notnull
]))(self
, var_recv
) /* check_recv_notnull on <self:SeparateCompilerVisitor>*/;
3347 var1
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__intro
]))(var_a
) /* intro on <var_a:MAttribute>*/;
3348 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_model__MAttributeDef__static_mtype
]))(var1
) /* static_mtype on <var1:MPropDef(MAttributeDef)>*/;
3350 fprintf(stderr
, "Runtime error: %s", "Cast failed");
3351 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1187);
3355 var3
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__intro
]))(var_a
) /* intro on <var_a:MAttribute>*/;
3356 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var3
) /* mclassdef on <var3:MPropDef(MAttributeDef)>*/;
3357 var_intromclassdef
= var4
;
3358 var5
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_intromclassdef
) /* bound_mtype on <var_intromclassdef:MClassDef>*/;
3359 var6
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_intromclassdef
) /* bound_mtype on <var_intromclassdef:MClassDef>*/;
3360 var7
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var_intromclassdef
) /* mmodule on <var_intromclassdef:MClassDef>*/;
3362 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>*/;
3364 var10
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
3365 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var10
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
3366 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
3367 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var11
) /* modelbuilder on <var11:AbstractCompiler(SeparateCompiler)>*/;
3368 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var12
) /* toolcontext on <var12:ModelBuilder>*/;
3369 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_separate_compiler__ToolContext__opt_no_union_attribute
]))(var13
) /* opt_no_union_attribute on <var13:ToolContext>*/;
3370 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_opts__Option__value
]))(var14
) /* value on <var14:OptionBool>*/;
3371 var16
= ((struct instance_kernel__Bool
*)var15
)->value
; /* autounbox from nullable Object to Bool */;
3373 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__object_type
]))(self
) /* object_type on <self:SeparateCompilerVisitor>*/;
3374 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_model__MType__as_nullable
]))(var17
) /* as_nullable on <var17:MClassType>*/;
3376 var19
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_cret
) /* new_var on <self:SeparateCompilerVisitor>*/;
3378 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype_61d
]))(var_res
, var_ret
) /* mcasttype= on <var_res:RuntimeVariable>*/;
3384 var23
= string__NativeString__to_s_with_length(var21
, var22
);
3393 var28
= string__NativeString__to_s_with_length(var26
, var27
);
3397 var29
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
3403 var34
= string__NativeString__to_s_with_length(var32
, var33
);
3412 var39
= string__NativeString__to_s_with_length(var37
, var38
);
3416 var40
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
3422 var45
= string__NativeString__to_s_with_length(var43
, var44
);
3426 var46
= NEW_array__Array(&type_array__Arraykernel__Object
);
3427 { /* var46 = array_instance Array[Object] */
3429 var48
= NEW_array__NativeArray(var47
, &type_array__NativeArraykernel__Object
);
3430 ((struct instance_array__NativeArray
*)var48
)->values
[0] = (val
*) var_res
;
3431 ((struct instance_array__NativeArray
*)var48
)->values
[1] = (val
*) var20
;
3432 ((struct instance_array__NativeArray
*)var48
)->values
[2] = (val
*) var_recv
;
3433 ((struct instance_array__NativeArray
*)var48
)->values
[3] = (val
*) var25
;
3434 ((struct instance_array__NativeArray
*)var48
)->values
[4] = (val
*) var29
;
3435 ((struct instance_array__NativeArray
*)var48
)->values
[5] = (val
*) var31
;
3436 ((struct instance_array__NativeArray
*)var48
)->values
[6] = (val
*) var_a
;
3437 ((struct instance_array__NativeArray
*)var48
)->values
[7] = (val
*) var36
;
3438 ((struct instance_array__NativeArray
*)var48
)->values
[8] = (val
*) var40
;
3439 ((struct instance_array__NativeArray
*)var48
)->values
[9] = (val
*) var42
;
3440 ((void (*)(val
*, val
*, long))(var46
->class->vft
[COLOR_array__Array__with_native
]))(var46
, var48
, var47
) /* with_native on <var46:Array[Object]>*/;
3441 CHECK_NEW_array__Array(var46
);
3443 var49
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_string__Object__to_s
]))(var46
) /* to_s on <var46:Array[Object]>*/;
3444 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var49
) /* add on <self:SeparateCompilerVisitor>*/;
3445 /* <var_ret:MType> isa MNullableType */
3446 cltype
= type_model__MNullableType
.color
;
3447 idtype
= type_model__MNullableType
.id
;
3448 if(cltype
>= var_ret
->type
->table_size
) {
3451 var51
= var_ret
->type
->type_table
[cltype
] == idtype
;
3456 var53
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
3457 var54
= ((val
* (*)(val
*))(var53
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var53
) /* modelbuilder on <var53:AbstractCompiler(SeparateCompiler)>*/;
3458 var55
= ((val
* (*)(val
*))(var54
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var54
) /* toolcontext on <var54:ModelBuilder>*/;
3459 var56
= ((val
* (*)(val
*))(var55
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_initialization
]))(var55
) /* opt_no_check_initialization on <var55:ToolContext>*/;
3460 var57
= ((val
* (*)(val
*))(var56
->class->vft
[COLOR_opts__Option__value
]))(var56
) /* value on <var56:OptionBool>*/;
3461 var58
= ((struct instance_kernel__Bool
*)var57
)->value
; /* autounbox from nullable Object to Bool */;
3473 var64
= string__NativeString__to_s_with_length(var62
, var63
);
3480 var67
= " == NULL) {";
3482 var69
= string__NativeString__to_s_with_length(var67
, var68
);
3486 var70
= NEW_array__Array(&type_array__Arraykernel__Object
);
3487 { /* var70 = array_instance Array[Object] */
3489 var72
= NEW_array__NativeArray(var71
, &type_array__NativeArraykernel__Object
);
3490 ((struct instance_array__NativeArray
*)var72
)->values
[0] = (val
*) var61
;
3491 ((struct instance_array__NativeArray
*)var72
)->values
[1] = (val
*) var_res
;
3492 ((struct instance_array__NativeArray
*)var72
)->values
[2] = (val
*) var66
;
3493 ((void (*)(val
*, val
*, long))(var70
->class->vft
[COLOR_array__Array__with_native
]))(var70
, var72
, var71
) /* with_native on <var70:Array[Object]>*/;
3494 CHECK_NEW_array__Array(var70
);
3496 var73
= ((val
* (*)(val
*))(var70
->class->vft
[COLOR_string__Object__to_s
]))(var70
) /* to_s on <var70:Array[Object]>*/;
3497 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var73
) /* add on <self:SeparateCompilerVisitor>*/;
3501 var76
= "Uninitialized attribute ";
3503 var78
= string__NativeString__to_s_with_length(var76
, var77
);
3507 var79
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__name
]))(var_a
) /* name on <var_a:MAttribute>*/;
3508 var80
= NEW_array__Array(&type_array__Arraykernel__Object
);
3509 { /* var80 = array_instance Array[Object] */
3511 var82
= NEW_array__NativeArray(var81
, &type_array__NativeArraykernel__Object
);
3512 ((struct instance_array__NativeArray
*)var82
)->values
[0] = (val
*) var75
;
3513 ((struct instance_array__NativeArray
*)var82
)->values
[1] = (val
*) var79
;
3514 ((void (*)(val
*, val
*, long))(var80
->class->vft
[COLOR_array__Array__with_native
]))(var80
, var82
, var81
) /* with_native on <var80:Array[Object]>*/;
3515 CHECK_NEW_array__Array(var80
);
3517 var83
= ((val
* (*)(val
*))(var80
->class->vft
[COLOR_string__Object__to_s
]))(var80
) /* to_s on <var80:Array[Object]>*/;
3518 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(self
, var83
) /* add_abort on <self:SeparateCompilerVisitor>*/;
3524 var88
= string__NativeString__to_s_with_length(var86
, var87
);
3528 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var85
) /* add on <self:SeparateCompilerVisitor>*/;
3531 var89
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_res
, var_ret
) /* autobox on <self:SeparateCompilerVisitor>*/;
3535 var90
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_ret
) /* new_var on <self:SeparateCompilerVisitor>*/;
3542 var96
= string__NativeString__to_s_with_length(var94
, var95
);
3551 var101
= string__NativeString__to_s_with_length(var99
, var100
);
3555 var102
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
3557 var104
= varonce103
;
3561 var107
= string__NativeString__to_s_with_length(var105
, var106
);
3563 varonce103
= var104
;
3565 var108
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctypename
]))(var_ret
) /* ctypename on <var_ret:MType>*/;
3567 var110
= varonce109
;
3571 var113
= string__NativeString__to_s_with_length(var111
, var112
);
3573 varonce109
= var110
;
3576 var115
= varonce114
;
3580 var118
= string__NativeString__to_s_with_length(var116
, var117
);
3582 varonce114
= var115
;
3584 var119
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
3586 var121
= varonce120
;
3590 var124
= string__NativeString__to_s_with_length(var122
, var123
);
3592 varonce120
= var121
;
3594 var125
= NEW_array__Array(&type_array__Arraykernel__Object
);
3595 { /* var125 = array_instance Array[Object] */
3597 var127
= NEW_array__NativeArray(var126
, &type_array__NativeArraykernel__Object
);
3598 ((struct instance_array__NativeArray
*)var127
)->values
[0] = (val
*) var_res91
;
3599 ((struct instance_array__NativeArray
*)var127
)->values
[1] = (val
*) var93
;
3600 ((struct instance_array__NativeArray
*)var127
)->values
[2] = (val
*) var_recv
;
3601 ((struct instance_array__NativeArray
*)var127
)->values
[3] = (val
*) var98
;
3602 ((struct instance_array__NativeArray
*)var127
)->values
[4] = (val
*) var102
;
3603 ((struct instance_array__NativeArray
*)var127
)->values
[5] = (val
*) var104
;
3604 ((struct instance_array__NativeArray
*)var127
)->values
[6] = (val
*) var108
;
3605 ((struct instance_array__NativeArray
*)var127
)->values
[7] = (val
*) var110
;
3606 ((struct instance_array__NativeArray
*)var127
)->values
[8] = (val
*) var_a
;
3607 ((struct instance_array__NativeArray
*)var127
)->values
[9] = (val
*) var115
;
3608 ((struct instance_array__NativeArray
*)var127
)->values
[10] = (val
*) var119
;
3609 ((struct instance_array__NativeArray
*)var127
)->values
[11] = (val
*) var121
;
3610 ((void (*)(val
*, val
*, long))(var125
->class->vft
[COLOR_array__Array__with_native
]))(var125
, var127
, var126
) /* with_native on <var125:Array[Object]>*/;
3611 CHECK_NEW_array__Array(var125
);
3613 var128
= ((val
* (*)(val
*))(var125
->class->vft
[COLOR_string__Object__to_s
]))(var125
) /* to_s on <var125:Array[Object]>*/;
3614 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var128
) /* add on <self:SeparateCompilerVisitor>*/;
3615 var131
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:MType>*/;
3617 var133
= varonce132
;
3621 var136
= string__NativeString__to_s_with_length(var134
, var135
);
3623 varonce132
= var133
;
3625 var137
= ((short int (*)(val
*, val
*))(var131
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var131
, var133
) /* == on <var131:String>*/;
3628 /* <var_ret:MType> isa MNullableType */
3629 cltype140
= type_model__MNullableType
.color
;
3630 idtype141
= type_model__MNullableType
.id
;
3631 if(cltype140
>= var_ret
->type
->table_size
) {
3634 var139
= var_ret
->type
->type_table
[cltype140
] == idtype141
;
3643 var144
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
3644 var145
= ((val
* (*)(val
*))(var144
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var144
) /* modelbuilder on <var144:AbstractCompiler(SeparateCompiler)>*/;
3645 var146
= ((val
* (*)(val
*))(var145
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var145
) /* toolcontext on <var145:ModelBuilder>*/;
3646 var147
= ((val
* (*)(val
*))(var146
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_initialization
]))(var146
) /* opt_no_check_initialization on <var146:ToolContext>*/;
3647 var148
= ((val
* (*)(val
*))(var147
->class->vft
[COLOR_opts__Option__value
]))(var147
) /* value on <var147:OptionBool>*/;
3648 var149
= ((struct instance_kernel__Bool
*)var148
)->value
; /* autounbox from nullable Object to Bool */;
3656 var152
= varonce151
;
3660 var155
= string__NativeString__to_s_with_length(var153
, var154
);
3662 varonce151
= var152
;
3665 var157
= varonce156
;
3667 var158
= " == NULL) {";
3669 var160
= string__NativeString__to_s_with_length(var158
, var159
);
3671 varonce156
= var157
;
3673 var161
= NEW_array__Array(&type_array__Arraykernel__Object
);
3674 { /* var161 = array_instance Array[Object] */
3676 var163
= NEW_array__NativeArray(var162
, &type_array__NativeArraykernel__Object
);
3677 ((struct instance_array__NativeArray
*)var163
)->values
[0] = (val
*) var152
;
3678 ((struct instance_array__NativeArray
*)var163
)->values
[1] = (val
*) var_res91
;
3679 ((struct instance_array__NativeArray
*)var163
)->values
[2] = (val
*) var157
;
3680 ((void (*)(val
*, val
*, long))(var161
->class->vft
[COLOR_array__Array__with_native
]))(var161
, var163
, var162
) /* with_native on <var161:Array[Object]>*/;
3681 CHECK_NEW_array__Array(var161
);
3683 var164
= ((val
* (*)(val
*))(var161
->class->vft
[COLOR_string__Object__to_s
]))(var161
) /* to_s on <var161:Array[Object]>*/;
3684 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var164
) /* add on <self:SeparateCompilerVisitor>*/;
3686 var166
= varonce165
;
3688 var167
= "Uninitialized attribute ";
3690 var169
= string__NativeString__to_s_with_length(var167
, var168
);
3692 varonce165
= var166
;
3694 var170
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__name
]))(var_a
) /* name on <var_a:MAttribute>*/;
3695 var171
= NEW_array__Array(&type_array__Arraykernel__Object
);
3696 { /* var171 = array_instance Array[Object] */
3698 var173
= NEW_array__NativeArray(var172
, &type_array__NativeArraykernel__Object
);
3699 ((struct instance_array__NativeArray
*)var173
)->values
[0] = (val
*) var166
;
3700 ((struct instance_array__NativeArray
*)var173
)->values
[1] = (val
*) var170
;
3701 ((void (*)(val
*, val
*, long))(var171
->class->vft
[COLOR_array__Array__with_native
]))(var171
, var173
, var172
) /* with_native on <var171:Array[Object]>*/;
3702 CHECK_NEW_array__Array(var171
);
3704 var174
= ((val
* (*)(val
*))(var171
->class->vft
[COLOR_string__Object__to_s
]))(var171
) /* to_s on <var171:Array[Object]>*/;
3705 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(self
, var174
) /* add_abort on <self:SeparateCompilerVisitor>*/;
3707 var176
= varonce175
;
3711 var179
= string__NativeString__to_s_with_length(var177
, var178
);
3713 varonce175
= var176
;
3715 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var176
) /* add on <self:SeparateCompilerVisitor>*/;
3724 /* method separate_compiler#SeparateCompilerVisitor#read_attribute for (self: Object, MAttribute, RuntimeVariable): RuntimeVariable */
3725 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__read_attribute(val
* self
, val
* p0
, val
* p1
) {
3726 val
* var
/* : RuntimeVariable */;
3727 val
* var1
/* : RuntimeVariable */;
3728 var1
= separate_compiler__SeparateCompilerVisitor__read_attribute(self
, p0
, p1
);
3733 /* method separate_compiler#SeparateCompilerVisitor#write_attribute for (self: SeparateCompilerVisitor, MAttribute, RuntimeVariable, RuntimeVariable) */
3734 void separate_compiler__SeparateCompilerVisitor__write_attribute(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3735 val
* var_a
/* var a: MAttribute */;
3736 val
* var_recv
/* var recv: RuntimeVariable */;
3737 val
* var_value
/* var value: RuntimeVariable */;
3738 val
* var
/* : MPropDef */;
3739 val
* var1
/* : nullable MType */;
3740 val
* var_mtype
/* var mtype: MType */;
3741 val
* var2
/* : MPropDef */;
3742 val
* var3
/* : MClassDef */;
3743 val
* var_intromclassdef
/* var intromclassdef: MClassDef */;
3744 val
* var4
/* : MClassType */;
3745 val
* var5
/* : MClassType */;
3746 val
* var6
/* : MModule */;
3747 short int var7
/* : Bool */;
3748 val
* var8
/* : MType */;
3749 val
* var9
/* : RuntimeVariable */;
3750 val
* var10
/* : String */;
3751 val
* var11
/* : AbstractCompiler */;
3752 val
* var12
/* : ModelBuilder */;
3753 val
* var13
/* : ToolContext */;
3754 val
* var14
/* : OptionBool */;
3755 val
* var15
/* : nullable Object */;
3756 short int var16
/* : Bool */;
3757 val
* var17
/* : Array[Object] */;
3758 long var18
/* : Int */;
3759 val
* var_
/* var : Array[Object] */;
3760 static val
* varonce
;
3761 val
* var19
/* : String */;
3762 char* var20
/* : NativeString */;
3763 long var21
/* : Int */;
3764 val
* var22
/* : String */;
3765 static val
* varonce23
;
3766 val
* var24
/* : String */;
3767 char* var25
/* : NativeString */;
3768 long var26
/* : Int */;
3769 val
* var27
/* : String */;
3770 val
* var28
/* : String */;
3771 static val
* varonce29
;
3772 val
* var30
/* : String */;
3773 char* var31
/* : NativeString */;
3774 long var32
/* : Int */;
3775 val
* var33
/* : String */;
3776 val
* var34
/* : String */;
3777 val
* var_attr
/* var attr: String */;
3778 val
* var35
/* : String */;
3779 static val
* varonce36
;
3780 val
* var37
/* : String */;
3781 char* var38
/* : NativeString */;
3782 long var39
/* : Int */;
3783 val
* var40
/* : String */;
3784 short int var41
/* : Bool */;
3785 short int var42
/* : Bool */;
3788 static val
* varonce43
;
3789 val
* var44
/* : String */;
3790 char* var45
/* : NativeString */;
3791 long var46
/* : Int */;
3792 val
* var47
/* : String */;
3793 static val
* varonce48
;
3794 val
* var49
/* : String */;
3795 char* var50
/* : NativeString */;
3796 long var51
/* : Int */;
3797 val
* var52
/* : String */;
3798 val
* var53
/* : Array[Object] */;
3799 long var54
/* : Int */;
3800 val
* var55
/* : NativeArray[Object] */;
3801 val
* var56
/* : String */;
3802 static val
* varonce57
;
3803 val
* var58
/* : String */;
3804 char* var59
/* : NativeString */;
3805 long var60
/* : Int */;
3806 val
* var61
/* : String */;
3807 val
* var62
/* : String */;
3808 static val
* varonce63
;
3809 val
* var64
/* : String */;
3810 char* var65
/* : NativeString */;
3811 long var66
/* : Int */;
3812 val
* var67
/* : String */;
3813 static val
* varonce68
;
3814 val
* var69
/* : String */;
3815 char* var70
/* : NativeString */;
3816 long var71
/* : Int */;
3817 val
* var72
/* : String */;
3818 static val
* varonce73
;
3819 val
* var74
/* : String */;
3820 char* var75
/* : NativeString */;
3821 long var76
/* : Int */;
3822 val
* var77
/* : String */;
3823 static val
* varonce78
;
3824 val
* var79
/* : String */;
3825 char* var80
/* : NativeString */;
3826 long var81
/* : Int */;
3827 val
* var82
/* : String */;
3828 val
* var83
/* : String */;
3829 static val
* varonce84
;
3830 val
* var85
/* : String */;
3831 char* var86
/* : NativeString */;
3832 long var87
/* : Int */;
3833 val
* var88
/* : String */;
3834 val
* var89
/* : Array[Object] */;
3835 long var90
/* : Int */;
3836 val
* var91
/* : NativeArray[Object] */;
3837 val
* var92
/* : String */;
3838 static val
* varonce93
;
3839 val
* var94
/* : String */;
3840 char* var95
/* : NativeString */;
3841 long var96
/* : Int */;
3842 val
* var97
/* : String */;
3843 val
* var98
/* : MClassType */;
3844 val
* var99
/* : MType */;
3845 val
* var100
/* : RuntimeVariable */;
3846 static val
* varonce101
;
3847 val
* var102
/* : String */;
3848 char* var103
/* : NativeString */;
3849 long var104
/* : Int */;
3850 val
* var105
/* : String */;
3851 static val
* varonce106
;
3852 val
* var107
/* : String */;
3853 char* var108
/* : NativeString */;
3854 long var109
/* : Int */;
3855 val
* var110
/* : String */;
3856 static val
* varonce111
;
3857 val
* var112
/* : String */;
3858 char* var113
/* : NativeString */;
3859 long var114
/* : Int */;
3860 val
* var115
/* : String */;
3861 val
* var116
/* : String */;
3862 static val
* varonce117
;
3863 val
* var118
/* : String */;
3864 char* var119
/* : NativeString */;
3865 long var120
/* : Int */;
3866 val
* var121
/* : String */;
3867 val
* var122
/* : Array[Object] */;
3868 long var123
/* : Int */;
3869 val
* var124
/* : NativeArray[Object] */;
3870 val
* var125
/* : String */;
3871 static val
* varonce126
;
3872 val
* var127
/* : String */;
3873 char* var128
/* : NativeString */;
3874 long var129
/* : Int */;
3875 val
* var130
/* : String */;
3876 static val
* varonce131
;
3877 val
* var132
/* : String */;
3878 char* var133
/* : NativeString */;
3879 long var134
/* : Int */;
3880 val
* var135
/* : String */;
3881 static val
* varonce136
;
3882 val
* var137
/* : String */;
3883 char* var138
/* : NativeString */;
3884 long var139
/* : Int */;
3885 val
* var140
/* : String */;
3886 static val
* varonce141
;
3887 val
* var142
/* : String */;
3888 char* var143
/* : NativeString */;
3889 long var144
/* : Int */;
3890 val
* var145
/* : String */;
3891 val
* var146
/* : String */;
3892 static val
* varonce147
;
3893 val
* var148
/* : String */;
3894 char* var149
/* : NativeString */;
3895 long var150
/* : Int */;
3896 val
* var151
/* : String */;
3897 val
* var152
/* : Array[Object] */;
3898 long var153
/* : Int */;
3899 val
* var154
/* : NativeArray[Object] */;
3900 val
* var155
/* : String */;
3901 static val
* varonce156
;
3902 val
* var157
/* : String */;
3903 char* var158
/* : NativeString */;
3904 long var159
/* : Int */;
3905 val
* var160
/* : String */;
3906 val
* var161
/* : String */;
3907 static val
* varonce162
;
3908 val
* var163
/* : String */;
3909 char* var164
/* : NativeString */;
3910 long var165
/* : Int */;
3911 val
* var166
/* : String */;
3912 val
* var167
/* : String */;
3913 static val
* varonce168
;
3914 val
* var169
/* : String */;
3915 char* var170
/* : NativeString */;
3916 long var171
/* : Int */;
3917 val
* var172
/* : String */;
3918 static val
* varonce173
;
3919 val
* var174
/* : String */;
3920 char* var175
/* : NativeString */;
3921 long var176
/* : Int */;
3922 val
* var177
/* : String */;
3923 static val
* varonce178
;
3924 val
* var179
/* : String */;
3925 char* var180
/* : NativeString */;
3926 long var181
/* : Int */;
3927 val
* var182
/* : String */;
3928 val
* var183
/* : String */;
3929 static val
* varonce184
;
3930 val
* var185
/* : String */;
3931 char* var186
/* : NativeString */;
3932 long var187
/* : Int */;
3933 val
* var188
/* : String */;
3934 val
* var189
/* : Array[Object] */;
3935 long var190
/* : Int */;
3936 val
* var191
/* : NativeArray[Object] */;
3937 val
* var192
/* : String */;
3941 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__check_recv_notnull
]))(self
, var_recv
) /* check_recv_notnull on <self:SeparateCompilerVisitor>*/;
3942 var
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__intro
]))(var_a
) /* intro on <var_a:MAttribute>*/;
3943 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_model__MAttributeDef__static_mtype
]))(var
) /* static_mtype on <var:MPropDef(MAttributeDef)>*/;
3945 fprintf(stderr
, "Runtime error: %s", "Cast failed");
3946 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1230);
3950 var2
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__intro
]))(var_a
) /* intro on <var_a:MAttribute>*/;
3951 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var2
) /* mclassdef on <var2:MPropDef(MAttributeDef)>*/;
3952 var_intromclassdef
= var3
;
3953 var4
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_intromclassdef
) /* bound_mtype on <var_intromclassdef:MClassDef>*/;
3954 var5
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_intromclassdef
) /* bound_mtype on <var_intromclassdef:MClassDef>*/;
3955 var6
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var_intromclassdef
) /* mmodule on <var_intromclassdef:MClassDef>*/;
3957 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>*/;
3959 var9
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_value
, var_mtype
) /* autobox on <self:SeparateCompilerVisitor>*/;
3961 var10
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
3962 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var10
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
3963 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
3964 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var11
) /* modelbuilder on <var11:AbstractCompiler(SeparateCompiler)>*/;
3965 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var12
) /* toolcontext on <var12:ModelBuilder>*/;
3966 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_separate_compiler__ToolContext__opt_no_union_attribute
]))(var13
) /* opt_no_union_attribute on <var13:ToolContext>*/;
3967 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_opts__Option__value
]))(var14
) /* value on <var14:OptionBool>*/;
3968 var16
= ((struct instance_kernel__Bool
*)var15
)->value
; /* autounbox from nullable Object to Bool */;
3970 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
3972 ((void (*)(val
*, long))(var17
->class->vft
[COLOR_array__Array__with_capacity
]))(var17
, var18
) /* with_capacity on <var17:Array[Object]>*/;
3973 CHECK_NEW_array__Array(var17
);
3980 var22
= string__NativeString__to_s_with_length(var20
, var21
);
3984 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var19
) /* add on <var_:Array[Object]>*/;
3985 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_recv
) /* add on <var_:Array[Object]>*/;
3991 var27
= string__NativeString__to_s_with_length(var25
, var26
);
3995 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var24
) /* add on <var_:Array[Object]>*/;
3996 var28
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
3997 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var28
) /* add on <var_:Array[Object]>*/;
4003 var33
= string__NativeString__to_s_with_length(var31
, var32
);
4007 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var30
) /* add on <var_:Array[Object]>*/;
4008 var34
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
4010 var35
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
4016 var40
= string__NativeString__to_s_with_length(var38
, var39
);
4020 var41
= ((short int (*)(val
*, val
*))(var35
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var35
, var37
) /* != on <var35:String>*/;
4022 /* <var_mtype:MType> isa MClassType */
4023 cltype
= type_model__MClassType
.color
;
4024 idtype
= type_model__MClassType
.id
;
4025 if(cltype
>= var_mtype
->type
->table_size
) {
4028 var42
= var_mtype
->type
->type_table
[cltype
] == idtype
;
4031 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4032 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1241);
4040 var47
= string__NativeString__to_s_with_length(var45
, var46
);
4047 var50
= " != NULL) {";
4049 var52
= string__NativeString__to_s_with_length(var50
, var51
);
4053 var53
= NEW_array__Array(&type_array__Arraykernel__Object
);
4054 { /* var53 = array_instance Array[Object] */
4056 var55
= NEW_array__NativeArray(var54
, &type_array__NativeArraykernel__Object
);
4057 ((struct instance_array__NativeArray
*)var55
)->values
[0] = (val
*) var44
;
4058 ((struct instance_array__NativeArray
*)var55
)->values
[1] = (val
*) var_attr
;
4059 ((struct instance_array__NativeArray
*)var55
)->values
[2] = (val
*) var49
;
4060 ((void (*)(val
*, val
*, long))(var53
->class->vft
[COLOR_array__Array__with_native
]))(var53
, var55
, var54
) /* with_native on <var53:Array[Object]>*/;
4061 CHECK_NEW_array__Array(var53
);
4063 var56
= ((val
* (*)(val
*))(var53
->class->vft
[COLOR_string__Object__to_s
]))(var53
) /* to_s on <var53:Array[Object]>*/;
4064 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var56
) /* add on <self:SeparateCompilerVisitor>*/;
4068 var59
= "((struct instance_";
4070 var61
= string__NativeString__to_s_with_length(var59
, var60
);
4074 var62
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType(MClassType)>*/;
4080 var67
= string__NativeString__to_s_with_length(var65
, var66
);
4087 var70
= ")->value = ";
4089 var72
= string__NativeString__to_s_with_length(var70
, var71
);
4098 var77
= string__NativeString__to_s_with_length(var75
, var76
);
4107 var82
= string__NativeString__to_s_with_length(var80
, var81
);
4111 var83
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
4117 var88
= string__NativeString__to_s_with_length(var86
, var87
);
4121 var89
= NEW_array__Array(&type_array__Arraykernel__Object
);
4122 { /* var89 = array_instance Array[Object] */
4124 var91
= NEW_array__NativeArray(var90
, &type_array__NativeArraykernel__Object
);
4125 ((struct instance_array__NativeArray
*)var91
)->values
[0] = (val
*) var58
;
4126 ((struct instance_array__NativeArray
*)var91
)->values
[1] = (val
*) var62
;
4127 ((struct instance_array__NativeArray
*)var91
)->values
[2] = (val
*) var64
;
4128 ((struct instance_array__NativeArray
*)var91
)->values
[3] = (val
*) var_attr
;
4129 ((struct instance_array__NativeArray
*)var91
)->values
[4] = (val
*) var69
;
4130 ((struct instance_array__NativeArray
*)var91
)->values
[5] = (val
*) var_value
;
4131 ((struct instance_array__NativeArray
*)var91
)->values
[6] = (val
*) var74
;
4132 ((struct instance_array__NativeArray
*)var91
)->values
[7] = (val
*) var_a
;
4133 ((struct instance_array__NativeArray
*)var91
)->values
[8] = (val
*) var79
;
4134 ((struct instance_array__NativeArray
*)var91
)->values
[9] = (val
*) var83
;
4135 ((struct instance_array__NativeArray
*)var91
)->values
[10] = (val
*) var85
;
4136 ((void (*)(val
*, val
*, long))(var89
->class->vft
[COLOR_array__Array__with_native
]))(var89
, var91
, var90
) /* with_native on <var89:Array[Object]>*/;
4137 CHECK_NEW_array__Array(var89
);
4139 var92
= ((val
* (*)(val
*))(var89
->class->vft
[COLOR_string__Object__to_s
]))(var89
) /* to_s on <var89:Array[Object]>*/;
4140 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var92
) /* add on <self:SeparateCompilerVisitor>*/;
4146 var97
= string__NativeString__to_s_with_length(var95
, var96
);
4150 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var94
) /* add on <self:SeparateCompilerVisitor>*/;
4151 var98
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__object_type
]))(self
) /* object_type on <self:SeparateCompilerVisitor>*/;
4152 var99
= ((val
* (*)(val
*))(var98
->class->vft
[COLOR_model__MType__as_nullable
]))(var98
) /* as_nullable on <var98:MClassType>*/;
4153 var100
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_value
, var99
) /* autobox on <self:SeparateCompilerVisitor>*/;
4156 var102
= varonce101
;
4160 var105
= string__NativeString__to_s_with_length(var103
, var104
);
4162 varonce101
= var102
;
4165 var107
= varonce106
;
4169 var110
= string__NativeString__to_s_with_length(var108
, var109
);
4171 varonce106
= var107
;
4174 var112
= varonce111
;
4178 var115
= string__NativeString__to_s_with_length(var113
, var114
);
4180 varonce111
= var112
;
4182 var116
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
4184 var118
= varonce117
;
4188 var121
= string__NativeString__to_s_with_length(var119
, var120
);
4190 varonce117
= var118
;
4192 var122
= NEW_array__Array(&type_array__Arraykernel__Object
);
4193 { /* var122 = array_instance Array[Object] */
4195 var124
= NEW_array__NativeArray(var123
, &type_array__NativeArraykernel__Object
);
4196 ((struct instance_array__NativeArray
*)var124
)->values
[0] = (val
*) var_attr
;
4197 ((struct instance_array__NativeArray
*)var124
)->values
[1] = (val
*) var102
;
4198 ((struct instance_array__NativeArray
*)var124
)->values
[2] = (val
*) var_value
;
4199 ((struct instance_array__NativeArray
*)var124
)->values
[3] = (val
*) var107
;
4200 ((struct instance_array__NativeArray
*)var124
)->values
[4] = (val
*) var_a
;
4201 ((struct instance_array__NativeArray
*)var124
)->values
[5] = (val
*) var112
;
4202 ((struct instance_array__NativeArray
*)var124
)->values
[6] = (val
*) var116
;
4203 ((struct instance_array__NativeArray
*)var124
)->values
[7] = (val
*) var118
;
4204 ((void (*)(val
*, val
*, long))(var122
->class->vft
[COLOR_array__Array__with_native
]))(var122
, var124
, var123
) /* with_native on <var122:Array[Object]>*/;
4205 CHECK_NEW_array__Array(var122
);
4207 var125
= ((val
* (*)(val
*))(var122
->class->vft
[COLOR_string__Object__to_s
]))(var122
) /* to_s on <var122:Array[Object]>*/;
4208 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var125
) /* add on <self:SeparateCompilerVisitor>*/;
4210 var127
= varonce126
;
4214 var130
= string__NativeString__to_s_with_length(var128
, var129
);
4216 varonce126
= var127
;
4218 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var127
) /* add on <self:SeparateCompilerVisitor>*/;
4221 var132
= varonce131
;
4225 var135
= string__NativeString__to_s_with_length(var133
, var134
);
4227 varonce131
= var132
;
4230 var137
= varonce136
;
4234 var140
= string__NativeString__to_s_with_length(var138
, var139
);
4236 varonce136
= var137
;
4239 var142
= varonce141
;
4243 var145
= string__NativeString__to_s_with_length(var143
, var144
);
4245 varonce141
= var142
;
4247 var146
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
4249 var148
= varonce147
;
4253 var151
= string__NativeString__to_s_with_length(var149
, var150
);
4255 varonce147
= var148
;
4257 var152
= NEW_array__Array(&type_array__Arraykernel__Object
);
4258 { /* var152 = array_instance Array[Object] */
4260 var154
= NEW_array__NativeArray(var153
, &type_array__NativeArraykernel__Object
);
4261 ((struct instance_array__NativeArray
*)var154
)->values
[0] = (val
*) var_attr
;
4262 ((struct instance_array__NativeArray
*)var154
)->values
[1] = (val
*) var132
;
4263 ((struct instance_array__NativeArray
*)var154
)->values
[2] = (val
*) var_value
;
4264 ((struct instance_array__NativeArray
*)var154
)->values
[3] = (val
*) var137
;
4265 ((struct instance_array__NativeArray
*)var154
)->values
[4] = (val
*) var_a
;
4266 ((struct instance_array__NativeArray
*)var154
)->values
[5] = (val
*) var142
;
4267 ((struct instance_array__NativeArray
*)var154
)->values
[6] = (val
*) var146
;
4268 ((struct instance_array__NativeArray
*)var154
)->values
[7] = (val
*) var148
;
4269 ((void (*)(val
*, val
*, long))(var152
->class->vft
[COLOR_array__Array__with_native
]))(var152
, var154
, var153
) /* with_native on <var152:Array[Object]>*/;
4270 CHECK_NEW_array__Array(var152
);
4272 var155
= ((val
* (*)(val
*))(var152
->class->vft
[COLOR_string__Object__to_s
]))(var152
) /* to_s on <var152:Array[Object]>*/;
4273 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var155
) /* add on <self:SeparateCompilerVisitor>*/;
4277 var157
= varonce156
;
4279 var158
= "->attrs[";
4281 var160
= string__NativeString__to_s_with_length(var158
, var159
);
4283 varonce156
= var157
;
4285 var161
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
4287 var163
= varonce162
;
4291 var166
= string__NativeString__to_s_with_length(var164
, var165
);
4293 varonce162
= var163
;
4295 var167
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctypename
]))(var_mtype
) /* ctypename on <var_mtype:MType>*/;
4297 var169
= varonce168
;
4301 var172
= string__NativeString__to_s_with_length(var170
, var171
);
4303 varonce168
= var169
;
4306 var174
= varonce173
;
4310 var177
= string__NativeString__to_s_with_length(var175
, var176
);
4312 varonce173
= var174
;
4315 var179
= varonce178
;
4319 var182
= string__NativeString__to_s_with_length(var180
, var181
);
4321 varonce178
= var179
;
4323 var183
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
4325 var185
= varonce184
;
4329 var188
= string__NativeString__to_s_with_length(var186
, var187
);
4331 varonce184
= var185
;
4333 var189
= NEW_array__Array(&type_array__Arraykernel__Object
);
4334 { /* var189 = array_instance Array[Object] */
4336 var191
= NEW_array__NativeArray(var190
, &type_array__NativeArraykernel__Object
);
4337 ((struct instance_array__NativeArray
*)var191
)->values
[0] = (val
*) var_recv
;
4338 ((struct instance_array__NativeArray
*)var191
)->values
[1] = (val
*) var157
;
4339 ((struct instance_array__NativeArray
*)var191
)->values
[2] = (val
*) var161
;
4340 ((struct instance_array__NativeArray
*)var191
)->values
[3] = (val
*) var163
;
4341 ((struct instance_array__NativeArray
*)var191
)->values
[4] = (val
*) var167
;
4342 ((struct instance_array__NativeArray
*)var191
)->values
[5] = (val
*) var169
;
4343 ((struct instance_array__NativeArray
*)var191
)->values
[6] = (val
*) var_value
;
4344 ((struct instance_array__NativeArray
*)var191
)->values
[7] = (val
*) var174
;
4345 ((struct instance_array__NativeArray
*)var191
)->values
[8] = (val
*) var_a
;
4346 ((struct instance_array__NativeArray
*)var191
)->values
[9] = (val
*) var179
;
4347 ((struct instance_array__NativeArray
*)var191
)->values
[10] = (val
*) var183
;
4348 ((struct instance_array__NativeArray
*)var191
)->values
[11] = (val
*) var185
;
4349 ((void (*)(val
*, val
*, long))(var189
->class->vft
[COLOR_array__Array__with_native
]))(var189
, var191
, var190
) /* with_native on <var189:Array[Object]>*/;
4350 CHECK_NEW_array__Array(var189
);
4352 var192
= ((val
* (*)(val
*))(var189
->class->vft
[COLOR_string__Object__to_s
]))(var189
) /* to_s on <var189:Array[Object]>*/;
4353 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var192
) /* add on <self:SeparateCompilerVisitor>*/;
4357 /* method separate_compiler#SeparateCompilerVisitor#write_attribute for (self: Object, MAttribute, RuntimeVariable, RuntimeVariable) */
4358 void VIRTUAL_separate_compiler__SeparateCompilerVisitor__write_attribute(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4359 separate_compiler__SeparateCompilerVisitor__write_attribute(self
, p0
, p1
, p2
);
4362 /* method separate_compiler#SeparateCompilerVisitor#init_instance for (self: SeparateCompilerVisitor, MClassType): RuntimeVariable */
4363 val
* separate_compiler__SeparateCompilerVisitor__init_instance(val
* self
, val
* p0
) {
4364 val
* var
/* : RuntimeVariable */;
4365 val
* var_mtype
/* var mtype: MClassType */;
4366 static val
* varonce
;
4367 val
* var1
/* : String */;
4368 char* var2
/* : NativeString */;
4369 long var3
/* : Int */;
4370 val
* var4
/* : String */;
4371 val
* var5
/* : MClass */;
4372 val
* var6
/* : String */;
4373 val
* var7
/* : Array[Object] */;
4374 long var8
/* : Int */;
4375 val
* var9
/* : NativeArray[Object] */;
4376 val
* var10
/* : String */;
4377 val
* var11
/* : AbstractCompiler */;
4378 val
* var_compiler
/* var compiler: SeparateCompiler */;
4379 short int var12
/* : Bool */;
4380 short int var13
/* : Bool */;
4383 short int var_
/* var : Bool */;
4384 short int var14
/* : Bool */;
4385 val
* var15
/* : nullable Frame */;
4386 val
* var16
/* : MPropDef */;
4387 val
* var17
/* : MClassDef */;
4388 val
* var18
/* : nullable Frame */;
4389 val
* var19
/* : Array[RuntimeVariable] */;
4390 val
* var20
/* : nullable Object */;
4391 val
* var_recv
/* var recv: RuntimeVariable */;
4392 val
* var21
/* : String */;
4393 val
* var_recv_type_info
/* var recv_type_info: String */;
4394 val
* var22
/* : String */;
4395 short int var23
/* : Bool */;
4396 val
* var24
/* : ModelBuilder */;
4397 val
* var25
/* : ToolContext */;
4398 val
* var26
/* : OptionBool */;
4399 val
* var27
/* : nullable Object */;
4400 short int var28
/* : Bool */;
4401 short int var_29
/* var : Bool */;
4402 val
* var30
/* : ModelBuilder */;
4403 val
* var31
/* : ToolContext */;
4404 val
* var32
/* : OptionBool */;
4405 val
* var33
/* : nullable Object */;
4406 short int var34
/* : Bool */;
4407 static val
* varonce35
;
4408 val
* var36
/* : String */;
4409 char* var37
/* : NativeString */;
4410 long var38
/* : Int */;
4411 val
* var39
/* : String */;
4412 val
* var40
/* : MClass */;
4413 val
* var41
/* : String */;
4414 static val
* varonce42
;
4415 val
* var43
/* : String */;
4416 char* var44
/* : NativeString */;
4417 long var45
/* : Int */;
4418 val
* var46
/* : String */;
4419 static val
* varonce47
;
4420 val
* var48
/* : String */;
4421 char* var49
/* : NativeString */;
4422 long var50
/* : Int */;
4423 val
* var51
/* : String */;
4424 static val
* varonce52
;
4425 val
* var53
/* : String */;
4426 char* var54
/* : NativeString */;
4427 long var55
/* : Int */;
4428 val
* var56
/* : String */;
4429 val
* var57
/* : String */;
4430 static val
* varonce58
;
4431 val
* var59
/* : String */;
4432 char* var60
/* : NativeString */;
4433 long var61
/* : Int */;
4434 val
* var62
/* : String */;
4435 val
* var63
/* : Array[Object] */;
4436 long var64
/* : Int */;
4437 val
* var65
/* : NativeArray[Object] */;
4438 val
* var66
/* : String */;
4439 val
* var67
/* : RuntimeVariable */;
4440 static val
* varonce68
;
4441 val
* var69
/* : String */;
4442 char* var70
/* : NativeString */;
4443 long var71
/* : Int */;
4444 val
* var72
/* : String */;
4445 val
* var73
/* : MClass */;
4446 val
* var74
/* : String */;
4447 static val
* varonce75
;
4448 val
* var76
/* : String */;
4449 char* var77
/* : NativeString */;
4450 long var78
/* : Int */;
4451 val
* var79
/* : String */;
4452 static val
* varonce80
;
4453 val
* var81
/* : String */;
4454 char* var82
/* : NativeString */;
4455 long var83
/* : Int */;
4456 val
* var84
/* : String */;
4457 val
* var85
/* : String */;
4458 static val
* varonce86
;
4459 val
* var87
/* : String */;
4460 char* var88
/* : NativeString */;
4461 long var89
/* : Int */;
4462 val
* var90
/* : String */;
4463 val
* var91
/* : Array[Object] */;
4464 long var92
/* : Int */;
4465 val
* var93
/* : NativeArray[Object] */;
4466 val
* var94
/* : String */;
4467 val
* var95
/* : RuntimeVariable */;
4468 val
* var96
/* : Set[MType] */;
4469 static val
* varonce97
;
4470 val
* var98
/* : String */;
4471 char* var99
/* : NativeString */;
4472 long var100
/* : Int */;
4473 val
* var101
/* : String */;
4474 val
* var102
/* : String */;
4475 val
* var103
/* : Array[Object] */;
4476 long var104
/* : Int */;
4477 val
* var105
/* : NativeArray[Object] */;
4478 val
* var106
/* : String */;
4479 static val
* varonce107
;
4480 val
* var108
/* : String */;
4481 char* var109
/* : NativeString */;
4482 long var110
/* : Int */;
4483 val
* var111
/* : String */;
4484 val
* var112
/* : MClass */;
4485 val
* var113
/* : String */;
4486 static val
* varonce114
;
4487 val
* var115
/* : String */;
4488 char* var116
/* : NativeString */;
4489 long var117
/* : Int */;
4490 val
* var118
/* : String */;
4491 val
* var119
/* : String */;
4492 static val
* varonce120
;
4493 val
* var121
/* : String */;
4494 char* var122
/* : NativeString */;
4495 long var123
/* : Int */;
4496 val
* var124
/* : String */;
4497 val
* var125
/* : Array[Object] */;
4498 long var126
/* : Int */;
4499 val
* var127
/* : NativeArray[Object] */;
4500 val
* var128
/* : String */;
4501 val
* var129
/* : RuntimeVariable */;
4508 var4
= string__NativeString__to_s_with_length(var2
, var3
);
4512 var5
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType>*/;
4513 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var5
) /* c_name on <var5:MClass>*/;
4514 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
4515 { /* var7 = array_instance Array[Object] */
4517 var9
= NEW_array__NativeArray(var8
, &type_array__NativeArraykernel__Object
);
4518 ((struct instance_array__NativeArray
*)var9
)->values
[0] = (val
*) var1
;
4519 ((struct instance_array__NativeArray
*)var9
)->values
[1] = (val
*) var6
;
4520 ((void (*)(val
*, val
*, long))(var7
->class->vft
[COLOR_array__Array__with_native
]))(var7
, var9
, var8
) /* with_native on <var7:Array[Object]>*/;
4521 CHECK_NEW_array__Array(var7
);
4523 var10
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_string__Object__to_s
]))(var7
) /* to_s on <var7:Array[Object]>*/;
4524 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var10
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
4525 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
4526 var_compiler
= var11
;
4527 /* <var_mtype:MClassType> isa MGenericType */
4528 cltype
= type_model__MGenericType
.color
;
4529 idtype
= type_model__MGenericType
.id
;
4530 if(cltype
>= var_mtype
->type
->table_size
) {
4533 var13
= var_mtype
->type
->type_table
[cltype
] == idtype
;
4537 var14
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MClassType(MGenericType)>*/;
4543 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
4544 if (var15
== NULL
) {
4545 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
4546 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1264);
4549 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var15
) /* mpropdef on <var15:nullable Frame>*/;
4551 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var16
) /* mclassdef on <var16:MPropDef>*/;
4552 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__link_unresolved_type
]))(self
, var17
, var_mtype
) /* link_unresolved_type on <self:SeparateCompilerVisitor>*/;
4553 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
4554 if (var18
== NULL
) {
4555 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
4556 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1265);
4559 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_abstract_compiler__Frame__arguments
]))(var18
) /* arguments on <var18:nullable Frame>*/;
4561 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var19
) /* first on <var19:Array[RuntimeVariable]>*/;
4563 var21
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__type_info
]))(self
, var_recv
) /* type_info on <self:SeparateCompilerVisitor>*/;
4564 var_recv_type_info
= var21
;
4565 var22
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_mtype
) /* const_color on <var_mtype:MClassType(MGenericType)>*/;
4566 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var22
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
4567 var24
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
4568 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var24
) /* toolcontext on <var24:ModelBuilder>*/;
4569 var26
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phmod_typing
]))(var25
) /* opt_phmod_typing on <var25:ToolContext>*/;
4570 var27
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_opts__Option__value
]))(var26
) /* value on <var26:OptionBool>*/;
4571 var28
= ((struct instance_kernel__Bool
*)var27
)->value
; /* autounbox from nullable Object to Bool */;
4576 var30
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
4577 var31
= ((val
* (*)(val
*))(var30
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var30
) /* toolcontext on <var30:ModelBuilder>*/;
4578 var32
= ((val
* (*)(val
*))(var31
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phand_typing
]))(var31
) /* opt_phand_typing on <var31:ToolContext>*/;
4579 var33
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_opts__Option__value
]))(var32
) /* value on <var32:OptionBool>*/;
4580 var34
= ((struct instance_kernel__Bool
*)var33
)->value
; /* autounbox from nullable Object to Bool */;
4589 var39
= string__NativeString__to_s_with_length(var37
, var38
);
4593 var40
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType(MGenericType)>*/;
4594 var41
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var40
) /* c_name on <var40:MClass>*/;
4600 var46
= string__NativeString__to_s_with_length(var44
, var45
);
4607 var49
= "->resolution_table->types[HASH(";
4609 var51
= string__NativeString__to_s_with_length(var49
, var50
);
4616 var54
= "->resolution_table->mask, ";
4618 var56
= string__NativeString__to_s_with_length(var54
, var55
);
4622 var57
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_mtype
) /* const_color on <var_mtype:MClassType(MGenericType)>*/;
4628 var62
= string__NativeString__to_s_with_length(var60
, var61
);
4632 var63
= NEW_array__Array(&type_array__Arraykernel__Object
);
4633 { /* var63 = array_instance Array[Object] */
4635 var65
= NEW_array__NativeArray(var64
, &type_array__NativeArraykernel__Object
);
4636 ((struct instance_array__NativeArray
*)var65
)->values
[0] = (val
*) var36
;
4637 ((struct instance_array__NativeArray
*)var65
)->values
[1] = (val
*) var41
;
4638 ((struct instance_array__NativeArray
*)var65
)->values
[2] = (val
*) var43
;
4639 ((struct instance_array__NativeArray
*)var65
)->values
[3] = (val
*) var_recv_type_info
;
4640 ((struct instance_array__NativeArray
*)var65
)->values
[4] = (val
*) var48
;
4641 ((struct instance_array__NativeArray
*)var65
)->values
[5] = (val
*) var_recv_type_info
;
4642 ((struct instance_array__NativeArray
*)var65
)->values
[6] = (val
*) var53
;
4643 ((struct instance_array__NativeArray
*)var65
)->values
[7] = (val
*) var57
;
4644 ((struct instance_array__NativeArray
*)var65
)->values
[8] = (val
*) var59
;
4645 ((void (*)(val
*, val
*, long))(var63
->class->vft
[COLOR_array__Array__with_native
]))(var63
, var65
, var64
) /* with_native on <var63:Array[Object]>*/;
4646 CHECK_NEW_array__Array(var63
);
4648 var66
= ((val
* (*)(val
*))(var63
->class->vft
[COLOR_string__Object__to_s
]))(var63
) /* to_s on <var63:Array[Object]>*/;
4649 var67
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(self
, var66
, var_mtype
) /* new_expr on <self:SeparateCompilerVisitor>*/;
4658 var72
= string__NativeString__to_s_with_length(var70
, var71
);
4662 var73
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType(MGenericType)>*/;
4663 var74
= ((val
* (*)(val
*))(var73
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var73
) /* c_name on <var73:MClass>*/;
4669 var79
= string__NativeString__to_s_with_length(var77
, var78
);
4676 var82
= "->resolution_table->types[";
4678 var84
= string__NativeString__to_s_with_length(var82
, var83
);
4682 var85
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_mtype
) /* const_color on <var_mtype:MClassType(MGenericType)>*/;
4688 var90
= string__NativeString__to_s_with_length(var88
, var89
);
4692 var91
= NEW_array__Array(&type_array__Arraykernel__Object
);
4693 { /* var91 = array_instance Array[Object] */
4695 var93
= NEW_array__NativeArray(var92
, &type_array__NativeArraykernel__Object
);
4696 ((struct instance_array__NativeArray
*)var93
)->values
[0] = (val
*) var69
;
4697 ((struct instance_array__NativeArray
*)var93
)->values
[1] = (val
*) var74
;
4698 ((struct instance_array__NativeArray
*)var93
)->values
[2] = (val
*) var76
;
4699 ((struct instance_array__NativeArray
*)var93
)->values
[3] = (val
*) var_recv_type_info
;
4700 ((struct instance_array__NativeArray
*)var93
)->values
[4] = (val
*) var81
;
4701 ((struct instance_array__NativeArray
*)var93
)->values
[5] = (val
*) var85
;
4702 ((struct instance_array__NativeArray
*)var93
)->values
[6] = (val
*) var87
;
4703 ((void (*)(val
*, val
*, long))(var91
->class->vft
[COLOR_array__Array__with_native
]))(var91
, var93
, var92
) /* with_native on <var91:Array[Object]>*/;
4704 CHECK_NEW_array__Array(var91
);
4706 var94
= ((val
* (*)(val
*))(var91
->class->vft
[COLOR_string__Object__to_s
]))(var91
) /* to_s on <var91:Array[Object]>*/;
4707 var95
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(self
, var94
, var_mtype
) /* new_expr on <self:SeparateCompilerVisitor>*/;
4713 var96
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_separate_compiler__SeparateCompiler__undead_types
]))(var_compiler
) /* undead_types on <var_compiler:SeparateCompiler>*/;
4714 ((void (*)(val
*, val
*))(var96
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var96
, var_mtype
) /* add on <var96:Set[MType]>*/;
4720 var101
= string__NativeString__to_s_with_length(var99
, var100
);
4724 var102
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType>*/;
4725 var103
= NEW_array__Array(&type_array__Arraykernel__Object
);
4726 { /* var103 = array_instance Array[Object] */
4728 var105
= NEW_array__NativeArray(var104
, &type_array__NativeArraykernel__Object
);
4729 ((struct instance_array__NativeArray
*)var105
)->values
[0] = (val
*) var98
;
4730 ((struct instance_array__NativeArray
*)var105
)->values
[1] = (val
*) var102
;
4731 ((void (*)(val
*, val
*, long))(var103
->class->vft
[COLOR_array__Array__with_native
]))(var103
, var105
, var104
) /* with_native on <var103:Array[Object]>*/;
4732 CHECK_NEW_array__Array(var103
);
4734 var106
= ((val
* (*)(val
*))(var103
->class->vft
[COLOR_string__Object__to_s
]))(var103
) /* to_s on <var103:Array[Object]>*/;
4735 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var106
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
4737 var108
= varonce107
;
4741 var111
= string__NativeString__to_s_with_length(var109
, var110
);
4743 varonce107
= var108
;
4745 var112
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType>*/;
4746 var113
= ((val
* (*)(val
*))(var112
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var112
) /* c_name on <var112:MClass>*/;
4748 var115
= varonce114
;
4752 var118
= string__NativeString__to_s_with_length(var116
, var117
);
4754 varonce114
= var115
;
4756 var119
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType>*/;
4758 var121
= varonce120
;
4762 var124
= string__NativeString__to_s_with_length(var122
, var123
);
4764 varonce120
= var121
;
4766 var125
= NEW_array__Array(&type_array__Arraykernel__Object
);
4767 { /* var125 = array_instance Array[Object] */
4769 var127
= NEW_array__NativeArray(var126
, &type_array__NativeArraykernel__Object
);
4770 ((struct instance_array__NativeArray
*)var127
)->values
[0] = (val
*) var108
;
4771 ((struct instance_array__NativeArray
*)var127
)->values
[1] = (val
*) var113
;
4772 ((struct instance_array__NativeArray
*)var127
)->values
[2] = (val
*) var115
;
4773 ((struct instance_array__NativeArray
*)var127
)->values
[3] = (val
*) var119
;
4774 ((struct instance_array__NativeArray
*)var127
)->values
[4] = (val
*) var121
;
4775 ((void (*)(val
*, val
*, long))(var125
->class->vft
[COLOR_array__Array__with_native
]))(var125
, var127
, var126
) /* with_native on <var125:Array[Object]>*/;
4776 CHECK_NEW_array__Array(var125
);
4778 var128
= ((val
* (*)(val
*))(var125
->class->vft
[COLOR_string__Object__to_s
]))(var125
) /* to_s on <var125:Array[Object]>*/;
4779 var129
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(self
, var128
, var_mtype
) /* new_expr on <self:SeparateCompilerVisitor>*/;
4785 /* method separate_compiler#SeparateCompilerVisitor#init_instance for (self: Object, MClassType): RuntimeVariable */
4786 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__init_instance(val
* self
, val
* p0
) {
4787 val
* var
/* : RuntimeVariable */;
4788 val
* var1
/* : RuntimeVariable */;
4789 var1
= separate_compiler__SeparateCompilerVisitor__init_instance(self
, p0
);
4794 /* method separate_compiler#SeparateCompilerVisitor#check_init_instance for (self: SeparateCompilerVisitor, RuntimeVariable, MClassType) */
4795 void separate_compiler__SeparateCompilerVisitor__check_init_instance(val
* self
, val
* p0
, val
* p1
) {
4796 val
* var_value
/* var value: RuntimeVariable */;
4797 val
* var_mtype
/* var mtype: MClassType */;
4798 val
* var
/* : AbstractCompiler */;
4799 val
* var1
/* : ModelBuilder */;
4800 val
* var2
/* : ToolContext */;
4801 val
* var3
/* : OptionBool */;
4802 val
* var4
/* : nullable Object */;
4803 short int var5
/* : Bool */;
4804 static val
* varonce
;
4805 val
* var6
/* : String */;
4806 char* var7
/* : NativeString */;
4807 long var8
/* : Int */;
4808 val
* var9
/* : String */;
4809 val
* var10
/* : MClass */;
4810 val
* var11
/* : String */;
4811 val
* var12
/* : Array[Object] */;
4812 long var13
/* : Int */;
4813 val
* var14
/* : NativeArray[Object] */;
4814 val
* var15
/* : String */;
4815 static val
* varonce16
;
4816 val
* var17
/* : String */;
4817 char* var18
/* : NativeString */;
4818 long var19
/* : Int */;
4819 val
* var20
/* : String */;
4820 val
* var21
/* : MClass */;
4821 val
* var22
/* : String */;
4822 static val
* varonce23
;
4823 val
* var24
/* : String */;
4824 char* var25
/* : NativeString */;
4825 long var26
/* : Int */;
4826 val
* var27
/* : String */;
4827 static val
* varonce28
;
4828 val
* var29
/* : String */;
4829 char* var30
/* : NativeString */;
4830 long var31
/* : Int */;
4831 val
* var32
/* : String */;
4832 val
* var33
/* : Array[Object] */;
4833 long var34
/* : Int */;
4834 val
* var35
/* : NativeArray[Object] */;
4835 val
* var36
/* : String */;
4838 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
4839 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var
) /* modelbuilder on <var:AbstractCompiler(SeparateCompiler)>*/;
4840 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var1
) /* toolcontext on <var1:ModelBuilder>*/;
4841 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_initialization
]))(var2
) /* opt_no_check_initialization on <var2:ToolContext>*/;
4842 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_opts__Option__value
]))(var3
) /* value on <var3:OptionBool>*/;
4843 var5
= ((struct instance_kernel__Bool
*)var4
)->value
; /* autounbox from nullable Object to Bool */;
4851 var7
= "CHECK_NEW_";
4853 var9
= string__NativeString__to_s_with_length(var7
, var8
);
4857 var10
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType>*/;
4858 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var10
) /* c_name on <var10:MClass>*/;
4859 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
4860 { /* var12 = array_instance Array[Object] */
4862 var14
= NEW_array__NativeArray(var13
, &type_array__NativeArraykernel__Object
);
4863 ((struct instance_array__NativeArray
*)var14
)->values
[0] = (val
*) var6
;
4864 ((struct instance_array__NativeArray
*)var14
)->values
[1] = (val
*) var11
;
4865 ((void (*)(val
*, val
*, long))(var12
->class->vft
[COLOR_array__Array__with_native
]))(var12
, var14
, var13
) /* with_native on <var12:Array[Object]>*/;
4866 CHECK_NEW_array__Array(var12
);
4868 var15
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_string__Object__to_s
]))(var12
) /* to_s on <var12:Array[Object]>*/;
4869 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var15
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
4873 var18
= "CHECK_NEW_";
4875 var20
= string__NativeString__to_s_with_length(var18
, var19
);
4879 var21
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType>*/;
4880 var22
= ((val
* (*)(val
*))(var21
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var21
) /* c_name on <var21:MClass>*/;
4886 var27
= string__NativeString__to_s_with_length(var25
, var26
);
4895 var32
= string__NativeString__to_s_with_length(var30
, var31
);
4899 var33
= NEW_array__Array(&type_array__Arraykernel__Object
);
4900 { /* var33 = array_instance Array[Object] */
4902 var35
= NEW_array__NativeArray(var34
, &type_array__NativeArraykernel__Object
);
4903 ((struct instance_array__NativeArray
*)var35
)->values
[0] = (val
*) var17
;
4904 ((struct instance_array__NativeArray
*)var35
)->values
[1] = (val
*) var22
;
4905 ((struct instance_array__NativeArray
*)var35
)->values
[2] = (val
*) var24
;
4906 ((struct instance_array__NativeArray
*)var35
)->values
[3] = (val
*) var_value
;
4907 ((struct instance_array__NativeArray
*)var35
)->values
[4] = (val
*) var29
;
4908 ((void (*)(val
*, val
*, long))(var33
->class->vft
[COLOR_array__Array__with_native
]))(var33
, var35
, var34
) /* with_native on <var33:Array[Object]>*/;
4909 CHECK_NEW_array__Array(var33
);
4911 var36
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_string__Object__to_s
]))(var33
) /* to_s on <var33:Array[Object]>*/;
4912 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var36
) /* add on <self:SeparateCompilerVisitor>*/;
4915 /* method separate_compiler#SeparateCompilerVisitor#check_init_instance for (self: Object, RuntimeVariable, MClassType) */
4916 void VIRTUAL_separate_compiler__SeparateCompilerVisitor__check_init_instance(val
* self
, val
* p0
, val
* p1
) {
4917 separate_compiler__SeparateCompilerVisitor__check_init_instance(self
, p0
, p1
);
4920 /* method separate_compiler#SeparateCompilerVisitor#type_test for (self: SeparateCompilerVisitor, RuntimeVariable, MType, String): RuntimeVariable */
4921 val
* separate_compiler__SeparateCompilerVisitor__type_test(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4922 val
* var
/* : RuntimeVariable */;
4923 val
* var_value
/* var value: RuntimeVariable */;
4924 val
* var_mtype
/* var mtype: MType */;
4925 val
* var_tag
/* var tag: String */;
4926 static val
* varonce
;
4927 val
* var1
/* : String */;
4928 char* var2
/* : NativeString */;
4929 long var3
/* : Int */;
4930 val
* var4
/* : String */;
4931 val
* var5
/* : String */;
4932 static val
* varonce6
;
4933 val
* var7
/* : String */;
4934 char* var8
/* : NativeString */;
4935 long var9
/* : Int */;
4936 val
* var10
/* : String */;
4937 static val
* varonce11
;
4938 val
* var12
/* : String */;
4939 char* var13
/* : NativeString */;
4940 long var14
/* : Int */;
4941 val
* var15
/* : String */;
4942 val
* var16
/* : Array[Object] */;
4943 long var17
/* : Int */;
4944 val
* var18
/* : NativeArray[Object] */;
4945 val
* var19
/* : String */;
4946 val
* var20
/* : AbstractCompiler */;
4947 val
* var_compiler
/* var compiler: SeparateCompiler */;
4948 val
* var21
/* : nullable Frame */;
4949 val
* var22
/* : Array[RuntimeVariable] */;
4950 val
* var23
/* : nullable Object */;
4951 val
* var_recv
/* var recv: RuntimeVariable */;
4952 val
* var24
/* : String */;
4953 val
* var_recv_type_info
/* var recv_type_info: String */;
4954 val
* var25
/* : MClassType */;
4955 val
* var26
/* : RuntimeVariable */;
4956 val
* var_res
/* var res: RuntimeVariable */;
4957 static val
* varonce27
;
4958 val
* var28
/* : String */;
4959 char* var29
/* : NativeString */;
4960 long var30
/* : Int */;
4961 val
* var31
/* : String */;
4962 val
* var32
/* : String */;
4963 val
* var_cltype
/* var cltype: String */;
4964 static val
* varonce33
;
4965 val
* var34
/* : String */;
4966 char* var35
/* : NativeString */;
4967 long var36
/* : Int */;
4968 val
* var37
/* : String */;
4969 static val
* varonce38
;
4970 val
* var39
/* : String */;
4971 char* var40
/* : NativeString */;
4972 long var41
/* : Int */;
4973 val
* var42
/* : String */;
4974 val
* var43
/* : Array[Object] */;
4975 long var44
/* : Int */;
4976 val
* var45
/* : NativeArray[Object] */;
4977 val
* var46
/* : String */;
4978 static val
* varonce47
;
4979 val
* var48
/* : String */;
4980 char* var49
/* : NativeString */;
4981 long var50
/* : Int */;
4982 val
* var51
/* : String */;
4983 val
* var52
/* : String */;
4984 val
* var_idtype
/* var idtype: String */;
4985 static val
* varonce53
;
4986 val
* var54
/* : String */;
4987 char* var55
/* : NativeString */;
4988 long var56
/* : Int */;
4989 val
* var57
/* : String */;
4990 static val
* varonce58
;
4991 val
* var59
/* : String */;
4992 char* var60
/* : NativeString */;
4993 long var61
/* : Int */;
4994 val
* var62
/* : String */;
4995 val
* var63
/* : Array[Object] */;
4996 long var64
/* : Int */;
4997 val
* var65
/* : NativeArray[Object] */;
4998 val
* var66
/* : String */;
4999 short int var67
/* : Bool */;
5000 short int var_maybe_null
/* var maybe_null: Bool */;
5001 static val
* varonce68
;
5002 val
* var69
/* : String */;
5003 char* var70
/* : NativeString */;
5004 long var71
/* : Int */;
5005 val
* var72
/* : String */;
5006 val
* var_accept_null
/* var accept_null: String */;
5007 val
* var_ntype
/* var ntype: MType */;
5008 short int var73
/* : Bool */;
5011 val
* var74
/* : MType */;
5012 static val
* varonce75
;
5013 val
* var76
/* : String */;
5014 char* var77
/* : NativeString */;
5015 long var78
/* : Int */;
5016 val
* var79
/* : String */;
5017 val
* var80
/* : MType */;
5018 val
* var81
/* : nullable Frame */;
5019 val
* var82
/* : MPropDef */;
5020 val
* var83
/* : MClassDef */;
5021 val
* var84
/* : MModule */;
5022 val
* var85
/* : nullable Frame */;
5023 val
* var86
/* : MPropDef */;
5024 val
* var87
/* : MClassDef */;
5025 val
* var88
/* : MClassType */;
5026 short int var89
/* : Bool */;
5027 static val
* varonce90
;
5028 val
* var91
/* : String */;
5029 char* var92
/* : NativeString */;
5030 long var93
/* : Int */;
5031 val
* var94
/* : String */;
5032 val
* var95
/* : String */;
5033 static val
* varonce96
;
5034 val
* var97
/* : String */;
5035 char* var98
/* : NativeString */;
5036 long var99
/* : Int */;
5037 val
* var100
/* : String */;
5038 static val
* varonce101
;
5039 val
* var102
/* : String */;
5040 char* var103
/* : NativeString */;
5041 long var104
/* : Int */;
5042 val
* var105
/* : String */;
5043 val
* var106
/* : Array[Object] */;
5044 long var107
/* : Int */;
5045 val
* var108
/* : NativeArray[Object] */;
5046 val
* var109
/* : String */;
5047 val
* var110
/* : ModelBuilder */;
5048 val
* var111
/* : ToolContext */;
5049 val
* var112
/* : OptionBool */;
5050 val
* var113
/* : nullable Object */;
5051 short int var114
/* : Bool */;
5052 val
* var115
/* : AbstractCompiler */;
5053 val
* var116
/* : HashMap[String, Int] */;
5054 val
* var_
/* var : HashMap[String, Int] */;
5055 val
* var_117
/* var : String */;
5056 val
* var118
/* : nullable Object */;
5057 long var119
/* : Int */;
5058 long var120
/* : Int */;
5059 long var122
/* : Int */;
5060 long var123
/* : Int */;
5061 val
* var124
/* : nullable Object */;
5062 static val
* varonce125
;
5063 val
* var126
/* : String */;
5064 char* var127
/* : NativeString */;
5065 long var128
/* : Int */;
5066 val
* var129
/* : String */;
5067 static val
* varonce130
;
5068 val
* var131
/* : String */;
5069 char* var132
/* : NativeString */;
5070 long var133
/* : Int */;
5071 val
* var134
/* : String */;
5072 val
* var135
/* : Array[Object] */;
5073 long var136
/* : Int */;
5074 val
* var137
/* : NativeArray[Object] */;
5075 val
* var138
/* : String */;
5076 short int var139
/* : Bool */;
5077 static val
* varonce140
;
5078 val
* var141
/* : String */;
5079 char* var142
/* : NativeString */;
5080 long var143
/* : Int */;
5081 val
* var144
/* : String */;
5082 val
* var145
/* : String */;
5083 val
* var_type_struct
/* var type_struct: String */;
5084 static val
* varonce146
;
5085 val
* var147
/* : String */;
5086 char* var148
/* : NativeString */;
5087 long var149
/* : Int */;
5088 val
* var150
/* : String */;
5089 static val
* varonce151
;
5090 val
* var152
/* : String */;
5091 char* var153
/* : NativeString */;
5092 long var154
/* : Int */;
5093 val
* var155
/* : String */;
5094 val
* var156
/* : Array[Object] */;
5095 long var157
/* : Int */;
5096 val
* var158
/* : NativeArray[Object] */;
5097 val
* var159
/* : String */;
5098 val
* var160
/* : nullable Frame */;
5099 val
* var161
/* : MPropDef */;
5100 val
* var162
/* : MClassDef */;
5101 val
* var163
/* : String */;
5102 short int var164
/* : Bool */;
5103 val
* var165
/* : ModelBuilder */;
5104 val
* var166
/* : ToolContext */;
5105 val
* var167
/* : OptionBool */;
5106 val
* var168
/* : nullable Object */;
5107 short int var169
/* : Bool */;
5108 short int var_170
/* var : Bool */;
5109 val
* var171
/* : ModelBuilder */;
5110 val
* var172
/* : ToolContext */;
5111 val
* var173
/* : OptionBool */;
5112 val
* var174
/* : nullable Object */;
5113 short int var175
/* : Bool */;
5114 static val
* varonce176
;
5115 val
* var177
/* : String */;
5116 char* var178
/* : NativeString */;
5117 long var179
/* : Int */;
5118 val
* var180
/* : String */;
5119 static val
* varonce181
;
5120 val
* var182
/* : String */;
5121 char* var183
/* : NativeString */;
5122 long var184
/* : Int */;
5123 val
* var185
/* : String */;
5124 static val
* varonce186
;
5125 val
* var187
/* : String */;
5126 char* var188
/* : NativeString */;
5127 long var189
/* : Int */;
5128 val
* var190
/* : String */;
5129 val
* var191
/* : String */;
5130 static val
* varonce192
;
5131 val
* var193
/* : String */;
5132 char* var194
/* : NativeString */;
5133 long var195
/* : Int */;
5134 val
* var196
/* : String */;
5135 val
* var197
/* : Array[Object] */;
5136 long var198
/* : Int */;
5137 val
* var199
/* : NativeArray[Object] */;
5138 val
* var200
/* : String */;
5139 static val
* varonce201
;
5140 val
* var202
/* : String */;
5141 char* var203
/* : NativeString */;
5142 long var204
/* : Int */;
5143 val
* var205
/* : String */;
5144 static val
* varonce206
;
5145 val
* var207
/* : String */;
5146 char* var208
/* : NativeString */;
5147 long var209
/* : Int */;
5148 val
* var210
/* : String */;
5149 val
* var211
/* : String */;
5150 static val
* varonce212
;
5151 val
* var213
/* : String */;
5152 char* var214
/* : NativeString */;
5153 long var215
/* : Int */;
5154 val
* var216
/* : String */;
5155 val
* var217
/* : Array[Object] */;
5156 long var218
/* : Int */;
5157 val
* var219
/* : NativeArray[Object] */;
5158 val
* var220
/* : String */;
5159 val
* var221
/* : ModelBuilder */;
5160 val
* var222
/* : ToolContext */;
5161 val
* var223
/* : OptionBool */;
5162 val
* var224
/* : nullable Object */;
5163 short int var225
/* : Bool */;
5164 val
* var226
/* : AbstractCompiler */;
5165 val
* var227
/* : HashMap[String, Int] */;
5166 val
* var_228
/* var : HashMap[String, Int] */;
5167 val
* var_229
/* var : String */;
5168 val
* var230
/* : nullable Object */;
5169 long var231
/* : Int */;
5170 long var232
/* : Int */;
5171 long var234
/* : Int */;
5172 long var235
/* : Int */;
5173 val
* var236
/* : nullable Object */;
5174 static val
* varonce237
;
5175 val
* var238
/* : String */;
5176 char* var239
/* : NativeString */;
5177 long var240
/* : Int */;
5178 val
* var241
/* : String */;
5179 static val
* varonce242
;
5180 val
* var243
/* : String */;
5181 char* var244
/* : NativeString */;
5182 long var245
/* : Int */;
5183 val
* var246
/* : String */;
5184 val
* var247
/* : Array[Object] */;
5185 long var248
/* : Int */;
5186 val
* var249
/* : NativeArray[Object] */;
5187 val
* var250
/* : String */;
5188 static val
* varonce251
;
5189 val
* var252
/* : String */;
5190 char* var253
/* : NativeString */;
5191 long var254
/* : Int */;
5192 val
* var255
/* : String */;
5193 static val
* varonce256
;
5194 val
* var257
/* : String */;
5195 char* var258
/* : NativeString */;
5196 long var259
/* : Int */;
5197 val
* var260
/* : String */;
5198 val
* var261
/* : Array[Object] */;
5199 long var262
/* : Int */;
5200 val
* var263
/* : NativeArray[Object] */;
5201 val
* var264
/* : String */;
5202 static val
* varonce265
;
5203 val
* var266
/* : String */;
5204 char* var267
/* : NativeString */;
5205 long var268
/* : Int */;
5206 val
* var269
/* : String */;
5207 static val
* varonce270
;
5208 val
* var271
/* : String */;
5209 char* var272
/* : NativeString */;
5210 long var273
/* : Int */;
5211 val
* var274
/* : String */;
5212 val
* var275
/* : Array[Object] */;
5213 long var276
/* : Int */;
5214 val
* var277
/* : NativeArray[Object] */;
5215 val
* var278
/* : String */;
5216 short int var279
/* : Bool */;
5217 short int var_280
/* var : Bool */;
5218 static val
* varonce281
;
5219 val
* var282
/* : String */;
5220 char* var283
/* : NativeString */;
5221 long var284
/* : Int */;
5222 val
* var285
/* : String */;
5223 short int var286
/* : Bool */;
5224 static val
* varonce287
;
5225 val
* var288
/* : String */;
5226 char* var289
/* : NativeString */;
5227 long var290
/* : Int */;
5228 val
* var291
/* : String */;
5229 val
* var292
/* : String */;
5230 val
* var_is_nullable
/* var is_nullable: String */;
5231 static val
* varonce293
;
5232 val
* var294
/* : String */;
5233 char* var295
/* : NativeString */;
5234 long var296
/* : Int */;
5235 val
* var297
/* : String */;
5236 static val
* varonce298
;
5237 val
* var299
/* : String */;
5238 char* var300
/* : NativeString */;
5239 long var301
/* : Int */;
5240 val
* var302
/* : String */;
5241 val
* var303
/* : Array[Object] */;
5242 long var304
/* : Int */;
5243 val
* var305
/* : NativeArray[Object] */;
5244 val
* var306
/* : String */;
5245 static val
* varonce307
;
5246 val
* var308
/* : String */;
5247 char* var309
/* : NativeString */;
5248 long var310
/* : Int */;
5249 val
* var311
/* : String */;
5250 static val
* varonce312
;
5251 val
* var313
/* : String */;
5252 char* var314
/* : NativeString */;
5253 long var315
/* : Int */;
5254 val
* var316
/* : String */;
5255 val
* var317
/* : Array[Object] */;
5256 long var318
/* : Int */;
5257 val
* var319
/* : NativeArray[Object] */;
5258 val
* var320
/* : String */;
5259 val
* var321
/* : String */;
5260 short int var322
/* : Bool */;
5263 val
* var325
/* : Set[MType] */;
5264 static val
* varonce326
;
5265 val
* var327
/* : String */;
5266 char* var328
/* : NativeString */;
5267 long var329
/* : Int */;
5268 val
* var330
/* : String */;
5269 val
* var331
/* : String */;
5270 val
* var332
/* : Array[Object] */;
5271 long var333
/* : Int */;
5272 val
* var334
/* : NativeArray[Object] */;
5273 val
* var335
/* : String */;
5274 static val
* varonce336
;
5275 val
* var337
/* : String */;
5276 char* var338
/* : NativeString */;
5277 long var339
/* : Int */;
5278 val
* var340
/* : String */;
5279 val
* var341
/* : String */;
5280 static val
* varonce342
;
5281 val
* var343
/* : String */;
5282 char* var344
/* : NativeString */;
5283 long var345
/* : Int */;
5284 val
* var346
/* : String */;
5285 val
* var347
/* : Array[Object] */;
5286 long var348
/* : Int */;
5287 val
* var349
/* : NativeArray[Object] */;
5288 val
* var350
/* : String */;
5289 static val
* varonce351
;
5290 val
* var352
/* : String */;
5291 char* var353
/* : NativeString */;
5292 long var354
/* : Int */;
5293 val
* var355
/* : String */;
5294 val
* var356
/* : String */;
5295 static val
* varonce357
;
5296 val
* var358
/* : String */;
5297 char* var359
/* : NativeString */;
5298 long var360
/* : Int */;
5299 val
* var361
/* : String */;
5300 val
* var362
/* : Array[Object] */;
5301 long var363
/* : Int */;
5302 val
* var364
/* : NativeArray[Object] */;
5303 val
* var365
/* : String */;
5304 val
* var366
/* : ModelBuilder */;
5305 val
* var367
/* : ToolContext */;
5306 val
* var368
/* : OptionBool */;
5307 val
* var369
/* : nullable Object */;
5308 short int var370
/* : Bool */;
5309 val
* var371
/* : AbstractCompiler */;
5310 val
* var372
/* : HashMap[String, Int] */;
5311 val
* var_373
/* var : HashMap[String, Int] */;
5312 val
* var_374
/* var : String */;
5313 val
* var375
/* : nullable Object */;
5314 long var376
/* : Int */;
5315 long var377
/* : Int */;
5316 long var379
/* : Int */;
5317 long var380
/* : Int */;
5318 val
* var381
/* : nullable Object */;
5319 static val
* varonce382
;
5320 val
* var383
/* : String */;
5321 char* var384
/* : NativeString */;
5322 long var385
/* : Int */;
5323 val
* var386
/* : String */;
5324 static val
* varonce387
;
5325 val
* var388
/* : String */;
5326 char* var389
/* : NativeString */;
5327 long var390
/* : Int */;
5328 val
* var391
/* : String */;
5329 val
* var392
/* : Array[Object] */;
5330 long var393
/* : Int */;
5331 val
* var394
/* : NativeArray[Object] */;
5332 val
* var395
/* : String */;
5333 static val
* varonce396
;
5334 val
* var397
/* : String */;
5335 char* var398
/* : NativeString */;
5336 long var399
/* : Int */;
5337 val
* var400
/* : String */;
5338 static val
* varonce401
;
5339 val
* var402
/* : String */;
5340 char* var403
/* : NativeString */;
5341 long var404
/* : Int */;
5342 val
* var405
/* : String */;
5343 val
* var406
/* : String */;
5344 static val
* varonce407
;
5345 val
* var408
/* : String */;
5346 char* var409
/* : NativeString */;
5347 long var410
/* : Int */;
5348 val
* var411
/* : String */;
5349 val
* var412
/* : Array[Object] */;
5350 long var413
/* : Int */;
5351 val
* var414
/* : NativeArray[Object] */;
5352 val
* var415
/* : String */;
5353 static val
* varonce416
;
5354 val
* var417
/* : String */;
5355 char* var418
/* : NativeString */;
5356 long var419
/* : Int */;
5357 val
* var420
/* : String */;
5358 static val
* varonce421
;
5359 val
* var422
/* : String */;
5360 char* var423
/* : NativeString */;
5361 long var424
/* : Int */;
5362 val
* var425
/* : String */;
5363 val
* var426
/* : Array[Object] */;
5364 long var427
/* : Int */;
5365 val
* var428
/* : NativeArray[Object] */;
5366 val
* var429
/* : String */;
5367 static val
* varonce430
;
5368 val
* var431
/* : String */;
5369 char* var432
/* : NativeString */;
5370 long var433
/* : Int */;
5371 val
* var434
/* : String */;
5372 static val
* varonce435
;
5373 val
* var436
/* : String */;
5374 char* var437
/* : NativeString */;
5375 long var438
/* : Int */;
5376 val
* var439
/* : String */;
5377 val
* var440
/* : Array[Object] */;
5378 long var441
/* : Int */;
5379 val
* var442
/* : NativeArray[Object] */;
5380 val
* var443
/* : String */;
5381 static val
* varonce444
;
5382 val
* var445
/* : String */;
5383 char* var446
/* : NativeString */;
5384 long var447
/* : Int */;
5385 val
* var448
/* : String */;
5386 val
* var449
/* : String */;
5387 val
* var_value_type_info
/* var value_type_info: String */;
5388 short int var450
/* : Bool */;
5389 val
* var451
/* : ModelBuilder */;
5390 val
* var452
/* : ToolContext */;
5391 val
* var453
/* : OptionBool */;
5392 val
* var454
/* : nullable Object */;
5393 short int var455
/* : Bool */;
5394 short int var_456
/* var : Bool */;
5395 val
* var457
/* : ModelBuilder */;
5396 val
* var458
/* : ToolContext */;
5397 val
* var459
/* : OptionBool */;
5398 val
* var460
/* : nullable Object */;
5399 short int var461
/* : Bool */;
5400 static val
* varonce462
;
5401 val
* var463
/* : String */;
5402 char* var464
/* : NativeString */;
5403 long var465
/* : Int */;
5404 val
* var466
/* : String */;
5405 static val
* varonce467
;
5406 val
* var468
/* : String */;
5407 char* var469
/* : NativeString */;
5408 long var470
/* : Int */;
5409 val
* var471
/* : String */;
5410 static val
* varonce472
;
5411 val
* var473
/* : String */;
5412 char* var474
/* : NativeString */;
5413 long var475
/* : Int */;
5414 val
* var476
/* : String */;
5415 val
* var477
/* : Array[Object] */;
5416 long var478
/* : Int */;
5417 val
* var479
/* : NativeArray[Object] */;
5418 val
* var480
/* : String */;
5419 static val
* varonce481
;
5420 val
* var482
/* : String */;
5421 char* var483
/* : NativeString */;
5422 long var484
/* : Int */;
5423 val
* var485
/* : String */;
5424 static val
* varonce486
;
5425 val
* var487
/* : String */;
5426 char* var488
/* : NativeString */;
5427 long var489
/* : Int */;
5428 val
* var490
/* : String */;
5429 static val
* varonce491
;
5430 val
* var492
/* : String */;
5431 char* var493
/* : NativeString */;
5432 long var494
/* : Int */;
5433 val
* var495
/* : String */;
5434 val
* var496
/* : Array[Object] */;
5435 long var497
/* : Int */;
5436 val
* var498
/* : NativeArray[Object] */;
5437 val
* var499
/* : String */;
5438 static val
* varonce500
;
5439 val
* var501
/* : String */;
5440 char* var502
/* : NativeString */;
5441 long var503
/* : Int */;
5442 val
* var504
/* : String */;
5443 val
* var505
/* : Array[Object] */;
5444 long var506
/* : Int */;
5445 val
* var507
/* : NativeArray[Object] */;
5446 val
* var508
/* : String */;
5447 static val
* varonce509
;
5448 val
* var510
/* : String */;
5449 char* var511
/* : NativeString */;
5450 long var512
/* : Int */;
5451 val
* var513
/* : String */;
5452 static val
* varonce514
;
5453 val
* var515
/* : String */;
5454 char* var516
/* : NativeString */;
5455 long var517
/* : Int */;
5456 val
* var518
/* : String */;
5457 static val
* varonce519
;
5458 val
* var520
/* : String */;
5459 char* var521
/* : NativeString */;
5460 long var522
/* : Int */;
5461 val
* var523
/* : String */;
5462 static val
* varonce524
;
5463 val
* var525
/* : String */;
5464 char* var526
/* : NativeString */;
5465 long var527
/* : Int */;
5466 val
* var528
/* : String */;
5467 static val
* varonce529
;
5468 val
* var530
/* : String */;
5469 char* var531
/* : NativeString */;
5470 long var532
/* : Int */;
5471 val
* var533
/* : String */;
5472 val
* var534
/* : Array[Object] */;
5473 long var535
/* : Int */;
5474 val
* var536
/* : NativeArray[Object] */;
5475 val
* var537
/* : String */;
5476 static val
* varonce538
;
5477 val
* var539
/* : String */;
5478 char* var540
/* : NativeString */;
5479 long var541
/* : Int */;
5480 val
* var542
/* : String */;
5481 static val
* varonce543
;
5482 val
* var544
/* : String */;
5483 char* var545
/* : NativeString */;
5484 long var546
/* : Int */;
5485 val
* var547
/* : String */;
5494 var4
= string__NativeString__to_s_with_length(var2
, var3
);
5498 var5
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_string__Object__inspect
]))(var_value
) /* inspect on <var_value:RuntimeVariable>*/;
5504 var10
= string__NativeString__to_s_with_length(var8
, var9
);
5513 var15
= string__NativeString__to_s_with_length(var13
, var14
);
5517 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
5518 { /* var16 = array_instance Array[Object] */
5520 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArraykernel__Object
);
5521 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var1
;
5522 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var5
;
5523 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var7
;
5524 ((struct instance_array__NativeArray
*)var18
)->values
[3] = (val
*) var_mtype
;
5525 ((struct instance_array__NativeArray
*)var18
)->values
[4] = (val
*) var12
;
5526 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
5527 CHECK_NEW_array__Array(var16
);
5529 var19
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
5530 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var19
) /* add on <self:SeparateCompilerVisitor>*/;
5531 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
5532 var_compiler
= var20
;
5533 var21
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
5534 if (var21
== NULL
) {
5535 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
5536 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1291);
5539 var22
= ((val
* (*)(val
*))(var21
->class->vft
[COLOR_abstract_compiler__Frame__arguments
]))(var21
) /* arguments on <var21:nullable Frame>*/;
5541 var23
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var22
) /* first on <var22:Array[RuntimeVariable]>*/;
5543 var24
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__type_info
]))(self
, var_recv
) /* type_info on <self:SeparateCompilerVisitor>*/;
5544 var_recv_type_info
= var24
;
5545 var25
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__bool_type
]))(self
) /* bool_type on <self:SeparateCompilerVisitor>*/;
5546 var26
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var25
) /* new_var on <self:SeparateCompilerVisitor>*/;
5553 var31
= string__NativeString__to_s_with_length(var29
, var30
);
5557 var32
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var28
) /* get_name on <self:SeparateCompilerVisitor>*/;
5564 var37
= string__NativeString__to_s_with_length(var35
, var36
);
5573 var42
= string__NativeString__to_s_with_length(var40
, var41
);
5577 var43
= NEW_array__Array(&type_array__Arraykernel__Object
);
5578 { /* var43 = array_instance Array[Object] */
5580 var45
= NEW_array__NativeArray(var44
, &type_array__NativeArraykernel__Object
);
5581 ((struct instance_array__NativeArray
*)var45
)->values
[0] = (val
*) var34
;
5582 ((struct instance_array__NativeArray
*)var45
)->values
[1] = (val
*) var_cltype
;
5583 ((struct instance_array__NativeArray
*)var45
)->values
[2] = (val
*) var39
;
5584 ((void (*)(val
*, val
*, long))(var43
->class->vft
[COLOR_array__Array__with_native
]))(var43
, var45
, var44
) /* with_native on <var43:Array[Object]>*/;
5585 CHECK_NEW_array__Array(var43
);
5587 var46
= ((val
* (*)(val
*))(var43
->class->vft
[COLOR_string__Object__to_s
]))(var43
) /* to_s on <var43:Array[Object]>*/;
5588 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var46
) /* add_decl on <self:SeparateCompilerVisitor>*/;
5594 var51
= string__NativeString__to_s_with_length(var49
, var50
);
5598 var52
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var48
) /* get_name on <self:SeparateCompilerVisitor>*/;
5605 var57
= string__NativeString__to_s_with_length(var55
, var56
);
5614 var62
= string__NativeString__to_s_with_length(var60
, var61
);
5618 var63
= NEW_array__Array(&type_array__Arraykernel__Object
);
5619 { /* var63 = array_instance Array[Object] */
5621 var65
= NEW_array__NativeArray(var64
, &type_array__NativeArraykernel__Object
);
5622 ((struct instance_array__NativeArray
*)var65
)->values
[0] = (val
*) var54
;
5623 ((struct instance_array__NativeArray
*)var65
)->values
[1] = (val
*) var_idtype
;
5624 ((struct instance_array__NativeArray
*)var65
)->values
[2] = (val
*) var59
;
5625 ((void (*)(val
*, val
*, long))(var63
->class->vft
[COLOR_array__Array__with_native
]))(var63
, var65
, var64
) /* with_native on <var63:Array[Object]>*/;
5626 CHECK_NEW_array__Array(var63
);
5628 var66
= ((val
* (*)(val
*))(var63
->class->vft
[COLOR_string__Object__to_s
]))(var63
) /* to_s on <var63:Array[Object]>*/;
5629 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var66
) /* add_decl on <self:SeparateCompilerVisitor>*/;
5630 var67
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__maybe_null
]))(self
, var_value
) /* maybe_null on <self:SeparateCompilerVisitor>*/;
5631 var_maybe_null
= var67
;
5637 var72
= string__NativeString__to_s_with_length(var70
, var71
);
5641 var_accept_null
= var69
;
5642 var_ntype
= var_mtype
;
5643 /* <var_ntype:MType> isa MNullableType */
5644 cltype
= type_model__MNullableType
.color
;
5645 idtype
= type_model__MNullableType
.id
;
5646 if(cltype
>= var_ntype
->type
->table_size
) {
5649 var73
= var_ntype
->type
->type_table
[cltype
] == idtype
;
5652 var74
= ((val
* (*)(val
*))(var_ntype
->class->vft
[COLOR_model__MNullableType__mtype
]))(var_ntype
) /* mtype on <var_ntype:MType(MNullableType)>*/;
5659 var79
= string__NativeString__to_s_with_length(var77
, var78
);
5663 var_accept_null
= var76
;
5666 var80
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value
) /* mcasttype on <var_value:RuntimeVariable>*/;
5667 var81
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
5668 if (var81
== NULL
) {
5669 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
5670 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1309);
5673 var82
= ((val
* (*)(val
*))(var81
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var81
) /* mpropdef on <var81:nullable Frame>*/;
5675 var83
= ((val
* (*)(val
*))(var82
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var82
) /* mclassdef on <var82:MPropDef>*/;
5676 var84
= ((val
* (*)(val
*))(var83
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var83
) /* mmodule on <var83:MClassDef>*/;
5677 var85
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
5678 if (var85
== NULL
) {
5679 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
5680 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1309);
5683 var86
= ((val
* (*)(val
*))(var85
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var85
) /* mpropdef on <var85:nullable Frame>*/;
5685 var87
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var86
) /* mclassdef on <var86:MPropDef>*/;
5686 var88
= ((val
* (*)(val
*))(var87
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var87
) /* bound_mtype on <var87:MClassDef>*/;
5687 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>*/;
5692 var92
= " = 1; /* easy ";
5694 var94
= string__NativeString__to_s_with_length(var92
, var93
);
5698 var95
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_string__Object__inspect
]))(var_value
) /* inspect on <var_value:RuntimeVariable>*/;
5704 var100
= string__NativeString__to_s_with_length(var98
, var99
);
5709 var102
= varonce101
;
5713 var105
= string__NativeString__to_s_with_length(var103
, var104
);
5715 varonce101
= var102
;
5717 var106
= NEW_array__Array(&type_array__Arraykernel__Object
);
5718 { /* var106 = array_instance Array[Object] */
5720 var108
= NEW_array__NativeArray(var107
, &type_array__NativeArraykernel__Object
);
5721 ((struct instance_array__NativeArray
*)var108
)->values
[0] = (val
*) var_res
;
5722 ((struct instance_array__NativeArray
*)var108
)->values
[1] = (val
*) var91
;
5723 ((struct instance_array__NativeArray
*)var108
)->values
[2] = (val
*) var95
;
5724 ((struct instance_array__NativeArray
*)var108
)->values
[3] = (val
*) var97
;
5725 ((struct instance_array__NativeArray
*)var108
)->values
[4] = (val
*) var_mtype
;
5726 ((struct instance_array__NativeArray
*)var108
)->values
[5] = (val
*) var102
;
5727 ((void (*)(val
*, val
*, long))(var106
->class->vft
[COLOR_array__Array__with_native
]))(var106
, var108
, var107
) /* with_native on <var106:Array[Object]>*/;
5728 CHECK_NEW_array__Array(var106
);
5730 var109
= ((val
* (*)(val
*))(var106
->class->vft
[COLOR_string__Object__to_s
]))(var106
) /* to_s on <var106:Array[Object]>*/;
5731 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var109
) /* add on <self:SeparateCompilerVisitor>*/;
5732 var110
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
5733 var111
= ((val
* (*)(val
*))(var110
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var110
) /* toolcontext on <var110:ModelBuilder>*/;
5734 var112
= ((val
* (*)(val
*))(var111
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(var111
) /* opt_typing_test_metrics on <var111:ToolContext>*/;
5735 var113
= ((val
* (*)(val
*))(var112
->class->vft
[COLOR_opts__Option__value
]))(var112
) /* value on <var112:OptionBool>*/;
5736 var114
= ((struct instance_kernel__Bool
*)var113
)->value
; /* autounbox from nullable Object to Bool */;
5738 var115
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
5739 var116
= ((val
* (*)(val
*))(var115
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(var115
) /* count_type_test_skipped on <var115:AbstractCompiler(SeparateCompiler)>*/;
5742 var118
= ((val
* (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_
, var_117
) /* [] on <var_:HashMap[String, Int]>*/;
5744 { /* Inline kernel#Int#+ (var118,var119) */
5745 var122
= ((struct instance_kernel__Int
*)var118
)->value
; /* autounbox from nullable Object to Int */;
5746 var123
= var122
+ var119
;
5749 RET_LABEL121
:(void)0;
5751 var124
= BOX_kernel__Int(var120
); /* autobox from Int to nullable Object */
5752 ((void (*)(val
*, val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var_
, var_117
, var124
) /* []= on <var_:HashMap[String, Int]>*/;
5754 var126
= varonce125
;
5756 var127
= "count_type_test_skipped_";
5758 var129
= string__NativeString__to_s_with_length(var127
, var128
);
5760 varonce125
= var126
;
5763 var131
= varonce130
;
5767 var134
= string__NativeString__to_s_with_length(var132
, var133
);
5769 varonce130
= var131
;
5771 var135
= NEW_array__Array(&type_array__Arraykernel__Object
);
5772 { /* var135 = array_instance Array[Object] */
5774 var137
= NEW_array__NativeArray(var136
, &type_array__NativeArraykernel__Object
);
5775 ((struct instance_array__NativeArray
*)var137
)->values
[0] = (val
*) var126
;
5776 ((struct instance_array__NativeArray
*)var137
)->values
[1] = (val
*) var_tag
;
5777 ((struct instance_array__NativeArray
*)var137
)->values
[2] = (val
*) var131
;
5778 ((void (*)(val
*, val
*, long))(var135
->class->vft
[COLOR_array__Array__with_native
]))(var135
, var137
, var136
) /* with_native on <var135:Array[Object]>*/;
5779 CHECK_NEW_array__Array(var135
);
5781 var138
= ((val
* (*)(val
*))(var135
->class->vft
[COLOR_string__Object__to_s
]))(var135
) /* to_s on <var135:Array[Object]>*/;
5782 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var138
) /* add on <self:SeparateCompilerVisitor>*/;
5789 var139
= ((short int (*)(val
*))(var_ntype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_ntype
) /* need_anchor on <var_ntype:MType>*/;
5792 var141
= varonce140
;
5794 var142
= "type_struct";
5796 var144
= string__NativeString__to_s_with_length(var142
, var143
);
5798 varonce140
= var141
;
5800 var145
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var141
) /* get_name on <self:SeparateCompilerVisitor>*/;
5801 var_type_struct
= var145
;
5803 var147
= varonce146
;
5805 var148
= "const struct type* ";
5807 var150
= string__NativeString__to_s_with_length(var148
, var149
);
5809 varonce146
= var147
;
5812 var152
= varonce151
;
5816 var155
= string__NativeString__to_s_with_length(var153
, var154
);
5818 varonce151
= var152
;
5820 var156
= NEW_array__Array(&type_array__Arraykernel__Object
);
5821 { /* var156 = array_instance Array[Object] */
5823 var158
= NEW_array__NativeArray(var157
, &type_array__NativeArraykernel__Object
);
5824 ((struct instance_array__NativeArray
*)var158
)->values
[0] = (val
*) var147
;
5825 ((struct instance_array__NativeArray
*)var158
)->values
[1] = (val
*) var_type_struct
;
5826 ((struct instance_array__NativeArray
*)var158
)->values
[2] = (val
*) var152
;
5827 ((void (*)(val
*, val
*, long))(var156
->class->vft
[COLOR_array__Array__with_native
]))(var156
, var158
, var157
) /* with_native on <var156:Array[Object]>*/;
5828 CHECK_NEW_array__Array(var156
);
5830 var159
= ((val
* (*)(val
*))(var156
->class->vft
[COLOR_string__Object__to_s
]))(var156
) /* to_s on <var156:Array[Object]>*/;
5831 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var159
) /* add_decl on <self:SeparateCompilerVisitor>*/;
5832 var160
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
5833 if (var160
== NULL
) {
5834 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
5835 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1323);
5838 var161
= ((val
* (*)(val
*))(var160
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var160
) /* mpropdef on <var160:nullable Frame>*/;
5840 var162
= ((val
* (*)(val
*))(var161
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var161
) /* mclassdef on <var161:MPropDef>*/;
5841 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__link_unresolved_type
]))(self
, var162
, var_ntype
) /* link_unresolved_type on <self:SeparateCompilerVisitor>*/;
5842 var163
= ((val
* (*)(val
*))(var_ntype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_ntype
) /* const_color on <var_ntype:MType>*/;
5843 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var163
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
5844 var165
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
5845 var166
= ((val
* (*)(val
*))(var165
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var165
) /* toolcontext on <var165:ModelBuilder>*/;
5846 var167
= ((val
* (*)(val
*))(var166
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phmod_typing
]))(var166
) /* opt_phmod_typing on <var166:ToolContext>*/;
5847 var168
= ((val
* (*)(val
*))(var167
->class->vft
[COLOR_opts__Option__value
]))(var167
) /* value on <var167:OptionBool>*/;
5848 var169
= ((struct instance_kernel__Bool
*)var168
)->value
; /* autounbox from nullable Object to Bool */;
5853 var171
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
5854 var172
= ((val
* (*)(val
*))(var171
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var171
) /* toolcontext on <var171:ModelBuilder>*/;
5855 var173
= ((val
* (*)(val
*))(var172
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phand_typing
]))(var172
) /* opt_phand_typing on <var172:ToolContext>*/;
5856 var174
= ((val
* (*)(val
*))(var173
->class->vft
[COLOR_opts__Option__value
]))(var173
) /* value on <var173:OptionBool>*/;
5857 var175
= ((struct instance_kernel__Bool
*)var174
)->value
; /* autounbox from nullable Object to Bool */;
5862 var177
= varonce176
;
5866 var180
= string__NativeString__to_s_with_length(var178
, var179
);
5868 varonce176
= var177
;
5871 var182
= varonce181
;
5873 var183
= "->resolution_table->types[HASH(";
5875 var185
= string__NativeString__to_s_with_length(var183
, var184
);
5877 varonce181
= var182
;
5880 var187
= varonce186
;
5882 var188
= "->resolution_table->mask, ";
5884 var190
= string__NativeString__to_s_with_length(var188
, var189
);
5886 varonce186
= var187
;
5888 var191
= ((val
* (*)(val
*))(var_ntype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_ntype
) /* const_color on <var_ntype:MType>*/;
5890 var193
= varonce192
;
5894 var196
= string__NativeString__to_s_with_length(var194
, var195
);
5896 varonce192
= var193
;
5898 var197
= NEW_array__Array(&type_array__Arraykernel__Object
);
5899 { /* var197 = array_instance Array[Object] */
5901 var199
= NEW_array__NativeArray(var198
, &type_array__NativeArraykernel__Object
);
5902 ((struct instance_array__NativeArray
*)var199
)->values
[0] = (val
*) var_type_struct
;
5903 ((struct instance_array__NativeArray
*)var199
)->values
[1] = (val
*) var177
;
5904 ((struct instance_array__NativeArray
*)var199
)->values
[2] = (val
*) var_recv_type_info
;
5905 ((struct instance_array__NativeArray
*)var199
)->values
[3] = (val
*) var182
;
5906 ((struct instance_array__NativeArray
*)var199
)->values
[4] = (val
*) var_recv_type_info
;
5907 ((struct instance_array__NativeArray
*)var199
)->values
[5] = (val
*) var187
;
5908 ((struct instance_array__NativeArray
*)var199
)->values
[6] = (val
*) var191
;
5909 ((struct instance_array__NativeArray
*)var199
)->values
[7] = (val
*) var193
;
5910 ((void (*)(val
*, val
*, long))(var197
->class->vft
[COLOR_array__Array__with_native
]))(var197
, var199
, var198
) /* with_native on <var197:Array[Object]>*/;
5911 CHECK_NEW_array__Array(var197
);
5913 var200
= ((val
* (*)(val
*))(var197
->class->vft
[COLOR_string__Object__to_s
]))(var197
) /* to_s on <var197:Array[Object]>*/;
5914 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var200
) /* add on <self:SeparateCompilerVisitor>*/;
5917 var202
= varonce201
;
5921 var205
= string__NativeString__to_s_with_length(var203
, var204
);
5923 varonce201
= var202
;
5926 var207
= varonce206
;
5928 var208
= "->resolution_table->types[";
5930 var210
= string__NativeString__to_s_with_length(var208
, var209
);
5932 varonce206
= var207
;
5934 var211
= ((val
* (*)(val
*))(var_ntype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_ntype
) /* const_color on <var_ntype:MType>*/;
5936 var213
= varonce212
;
5940 var216
= string__NativeString__to_s_with_length(var214
, var215
);
5942 varonce212
= var213
;
5944 var217
= NEW_array__Array(&type_array__Arraykernel__Object
);
5945 { /* var217 = array_instance Array[Object] */
5947 var219
= NEW_array__NativeArray(var218
, &type_array__NativeArraykernel__Object
);
5948 ((struct instance_array__NativeArray
*)var219
)->values
[0] = (val
*) var_type_struct
;
5949 ((struct instance_array__NativeArray
*)var219
)->values
[1] = (val
*) var202
;
5950 ((struct instance_array__NativeArray
*)var219
)->values
[2] = (val
*) var_recv_type_info
;
5951 ((struct instance_array__NativeArray
*)var219
)->values
[3] = (val
*) var207
;
5952 ((struct instance_array__NativeArray
*)var219
)->values
[4] = (val
*) var211
;
5953 ((struct instance_array__NativeArray
*)var219
)->values
[5] = (val
*) var213
;
5954 ((void (*)(val
*, val
*, long))(var217
->class->vft
[COLOR_array__Array__with_native
]))(var217
, var219
, var218
) /* with_native on <var217:Array[Object]>*/;
5955 CHECK_NEW_array__Array(var217
);
5957 var220
= ((val
* (*)(val
*))(var217
->class->vft
[COLOR_string__Object__to_s
]))(var217
) /* to_s on <var217:Array[Object]>*/;
5958 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var220
) /* add on <self:SeparateCompilerVisitor>*/;
5960 var221
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
5961 var222
= ((val
* (*)(val
*))(var221
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var221
) /* toolcontext on <var221:ModelBuilder>*/;
5962 var223
= ((val
* (*)(val
*))(var222
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(var222
) /* opt_typing_test_metrics on <var222:ToolContext>*/;
5963 var224
= ((val
* (*)(val
*))(var223
->class->vft
[COLOR_opts__Option__value
]))(var223
) /* value on <var223:OptionBool>*/;
5964 var225
= ((struct instance_kernel__Bool
*)var224
)->value
; /* autounbox from nullable Object to Bool */;
5966 var226
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
5967 var227
= ((val
* (*)(val
*))(var226
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(var226
) /* count_type_test_unresolved on <var226:AbstractCompiler(SeparateCompiler)>*/;
5970 var230
= ((val
* (*)(val
*, val
*))(var_228
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_228
, var_229
) /* [] on <var_228:HashMap[String, Int]>*/;
5972 { /* Inline kernel#Int#+ (var230,var231) */
5973 var234
= ((struct instance_kernel__Int
*)var230
)->value
; /* autounbox from nullable Object to Int */;
5974 var235
= var234
+ var231
;
5977 RET_LABEL233
:(void)0;
5979 var236
= BOX_kernel__Int(var232
); /* autobox from Int to nullable Object */
5980 ((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]>*/;
5982 var238
= varonce237
;
5984 var239
= "count_type_test_unresolved_";
5986 var241
= string__NativeString__to_s_with_length(var239
, var240
);
5988 varonce237
= var238
;
5991 var243
= varonce242
;
5995 var246
= string__NativeString__to_s_with_length(var244
, var245
);
5997 varonce242
= var243
;
5999 var247
= NEW_array__Array(&type_array__Arraykernel__Object
);
6000 { /* var247 = array_instance Array[Object] */
6002 var249
= NEW_array__NativeArray(var248
, &type_array__NativeArraykernel__Object
);
6003 ((struct instance_array__NativeArray
*)var249
)->values
[0] = (val
*) var238
;
6004 ((struct instance_array__NativeArray
*)var249
)->values
[1] = (val
*) var_tag
;
6005 ((struct instance_array__NativeArray
*)var249
)->values
[2] = (val
*) var243
;
6006 ((void (*)(val
*, val
*, long))(var247
->class->vft
[COLOR_array__Array__with_native
]))(var247
, var249
, var248
) /* with_native on <var247:Array[Object]>*/;
6007 CHECK_NEW_array__Array(var247
);
6009 var250
= ((val
* (*)(val
*))(var247
->class->vft
[COLOR_string__Object__to_s
]))(var247
) /* to_s on <var247:Array[Object]>*/;
6010 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var250
) /* add on <self:SeparateCompilerVisitor>*/;
6014 var252
= varonce251
;
6018 var255
= string__NativeString__to_s_with_length(var253
, var254
);
6020 varonce251
= var252
;
6023 var257
= varonce256
;
6025 var258
= "->color;";
6027 var260
= string__NativeString__to_s_with_length(var258
, var259
);
6029 varonce256
= var257
;
6031 var261
= NEW_array__Array(&type_array__Arraykernel__Object
);
6032 { /* var261 = array_instance Array[Object] */
6034 var263
= NEW_array__NativeArray(var262
, &type_array__NativeArraykernel__Object
);
6035 ((struct instance_array__NativeArray
*)var263
)->values
[0] = (val
*) var_cltype
;
6036 ((struct instance_array__NativeArray
*)var263
)->values
[1] = (val
*) var252
;
6037 ((struct instance_array__NativeArray
*)var263
)->values
[2] = (val
*) var_type_struct
;
6038 ((struct instance_array__NativeArray
*)var263
)->values
[3] = (val
*) var257
;
6039 ((void (*)(val
*, val
*, long))(var261
->class->vft
[COLOR_array__Array__with_native
]))(var261
, var263
, var262
) /* with_native on <var261:Array[Object]>*/;
6040 CHECK_NEW_array__Array(var261
);
6042 var264
= ((val
* (*)(val
*))(var261
->class->vft
[COLOR_string__Object__to_s
]))(var261
) /* to_s on <var261:Array[Object]>*/;
6043 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var264
) /* add on <self:SeparateCompilerVisitor>*/;
6045 var266
= varonce265
;
6049 var269
= string__NativeString__to_s_with_length(var267
, var268
);
6051 varonce265
= var266
;
6054 var271
= varonce270
;
6058 var274
= string__NativeString__to_s_with_length(var272
, var273
);
6060 varonce270
= var271
;
6062 var275
= NEW_array__Array(&type_array__Arraykernel__Object
);
6063 { /* var275 = array_instance Array[Object] */
6065 var277
= NEW_array__NativeArray(var276
, &type_array__NativeArraykernel__Object
);
6066 ((struct instance_array__NativeArray
*)var277
)->values
[0] = (val
*) var_idtype
;
6067 ((struct instance_array__NativeArray
*)var277
)->values
[1] = (val
*) var266
;
6068 ((struct instance_array__NativeArray
*)var277
)->values
[2] = (val
*) var_type_struct
;
6069 ((struct instance_array__NativeArray
*)var277
)->values
[3] = (val
*) var271
;
6070 ((void (*)(val
*, val
*, long))(var275
->class->vft
[COLOR_array__Array__with_native
]))(var275
, var277
, var276
) /* with_native on <var275:Array[Object]>*/;
6071 CHECK_NEW_array__Array(var275
);
6073 var278
= ((val
* (*)(val
*))(var275
->class->vft
[COLOR_string__Object__to_s
]))(var275
) /* to_s on <var275:Array[Object]>*/;
6074 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var278
) /* add on <self:SeparateCompilerVisitor>*/;
6075 var_280
= var_maybe_null
;
6076 if (var_maybe_null
){
6078 var282
= varonce281
;
6082 var285
= string__NativeString__to_s_with_length(var283
, var284
);
6084 varonce281
= var282
;
6086 var286
= ((short int (*)(val
*, val
*))(var_accept_null
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_accept_null
, var282
) /* == on <var_accept_null:String>*/;
6093 var288
= varonce287
;
6095 var289
= "is_nullable";
6097 var291
= string__NativeString__to_s_with_length(var289
, var290
);
6099 varonce287
= var288
;
6101 var292
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var288
) /* get_name on <self:SeparateCompilerVisitor>*/;
6102 var_is_nullable
= var292
;
6104 var294
= varonce293
;
6106 var295
= "short int ";
6108 var297
= string__NativeString__to_s_with_length(var295
, var296
);
6110 varonce293
= var294
;
6113 var299
= varonce298
;
6117 var302
= string__NativeString__to_s_with_length(var300
, var301
);
6119 varonce298
= var299
;
6121 var303
= NEW_array__Array(&type_array__Arraykernel__Object
);
6122 { /* var303 = array_instance Array[Object] */
6124 var305
= NEW_array__NativeArray(var304
, &type_array__NativeArraykernel__Object
);
6125 ((struct instance_array__NativeArray
*)var305
)->values
[0] = (val
*) var294
;
6126 ((struct instance_array__NativeArray
*)var305
)->values
[1] = (val
*) var_is_nullable
;
6127 ((struct instance_array__NativeArray
*)var305
)->values
[2] = (val
*) var299
;
6128 ((void (*)(val
*, val
*, long))(var303
->class->vft
[COLOR_array__Array__with_native
]))(var303
, var305
, var304
) /* with_native on <var303:Array[Object]>*/;
6129 CHECK_NEW_array__Array(var303
);
6131 var306
= ((val
* (*)(val
*))(var303
->class->vft
[COLOR_string__Object__to_s
]))(var303
) /* to_s on <var303:Array[Object]>*/;
6132 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var306
) /* add_decl on <self:SeparateCompilerVisitor>*/;
6134 var308
= varonce307
;
6138 var311
= string__NativeString__to_s_with_length(var309
, var310
);
6140 varonce307
= var308
;
6143 var313
= varonce312
;
6145 var314
= "->is_nullable;";
6147 var316
= string__NativeString__to_s_with_length(var314
, var315
);
6149 varonce312
= var313
;
6151 var317
= NEW_array__Array(&type_array__Arraykernel__Object
);
6152 { /* var317 = array_instance Array[Object] */
6154 var319
= NEW_array__NativeArray(var318
, &type_array__NativeArraykernel__Object
);
6155 ((struct instance_array__NativeArray
*)var319
)->values
[0] = (val
*) var_is_nullable
;
6156 ((struct instance_array__NativeArray
*)var319
)->values
[1] = (val
*) var308
;
6157 ((struct instance_array__NativeArray
*)var319
)->values
[2] = (val
*) var_type_struct
;
6158 ((struct instance_array__NativeArray
*)var319
)->values
[3] = (val
*) var313
;
6159 ((void (*)(val
*, val
*, long))(var317
->class->vft
[COLOR_array__Array__with_native
]))(var317
, var319
, var318
) /* with_native on <var317:Array[Object]>*/;
6160 CHECK_NEW_array__Array(var317
);
6162 var320
= ((val
* (*)(val
*))(var317
->class->vft
[COLOR_string__Object__to_s
]))(var317
) /* to_s on <var317:Array[Object]>*/;
6163 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var320
) /* add on <self:SeparateCompilerVisitor>*/;
6164 var321
= ((val
* (*)(val
*))(var_is_nullable
->class->vft
[COLOR_string__Object__to_s
]))(var_is_nullable
) /* to_s on <var_is_nullable:String>*/;
6165 var_accept_null
= var321
;
6169 /* <var_ntype:MType> isa MClassType */
6170 cltype323
= type_model__MClassType
.color
;
6171 idtype324
= type_model__MClassType
.id
;
6172 if(cltype323
>= var_ntype
->type
->table_size
) {
6175 var322
= var_ntype
->type
->type_table
[cltype323
] == idtype324
;
6178 var325
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_separate_compiler__SeparateCompiler__undead_types
]))(var_compiler
) /* undead_types on <var_compiler:SeparateCompiler>*/;
6179 ((void (*)(val
*, val
*))(var325
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var325
, var_mtype
) /* add on <var325:Set[MType]>*/;
6181 var327
= varonce326
;
6185 var330
= string__NativeString__to_s_with_length(var328
, var329
);
6187 varonce326
= var327
;
6189 var331
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType>*/;
6190 var332
= NEW_array__Array(&type_array__Arraykernel__Object
);
6191 { /* var332 = array_instance Array[Object] */
6193 var334
= NEW_array__NativeArray(var333
, &type_array__NativeArraykernel__Object
);
6194 ((struct instance_array__NativeArray
*)var334
)->values
[0] = (val
*) var327
;
6195 ((struct instance_array__NativeArray
*)var334
)->values
[1] = (val
*) var331
;
6196 ((void (*)(val
*, val
*, long))(var332
->class->vft
[COLOR_array__Array__with_native
]))(var332
, var334
, var333
) /* with_native on <var332:Array[Object]>*/;
6197 CHECK_NEW_array__Array(var332
);
6199 var335
= ((val
* (*)(val
*))(var332
->class->vft
[COLOR_string__Object__to_s
]))(var332
) /* to_s on <var332:Array[Object]>*/;
6200 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var335
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
6202 var337
= varonce336
;
6204 var338
= " = type_";
6206 var340
= string__NativeString__to_s_with_length(var338
, var339
);
6208 varonce336
= var337
;
6210 var341
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType>*/;
6212 var343
= varonce342
;
6216 var346
= string__NativeString__to_s_with_length(var344
, var345
);
6218 varonce342
= var343
;
6220 var347
= NEW_array__Array(&type_array__Arraykernel__Object
);
6221 { /* var347 = array_instance Array[Object] */
6223 var349
= NEW_array__NativeArray(var348
, &type_array__NativeArraykernel__Object
);
6224 ((struct instance_array__NativeArray
*)var349
)->values
[0] = (val
*) var_cltype
;
6225 ((struct instance_array__NativeArray
*)var349
)->values
[1] = (val
*) var337
;
6226 ((struct instance_array__NativeArray
*)var349
)->values
[2] = (val
*) var341
;
6227 ((struct instance_array__NativeArray
*)var349
)->values
[3] = (val
*) var343
;
6228 ((void (*)(val
*, val
*, long))(var347
->class->vft
[COLOR_array__Array__with_native
]))(var347
, var349
, var348
) /* with_native on <var347:Array[Object]>*/;
6229 CHECK_NEW_array__Array(var347
);
6231 var350
= ((val
* (*)(val
*))(var347
->class->vft
[COLOR_string__Object__to_s
]))(var347
) /* to_s on <var347:Array[Object]>*/;
6232 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var350
) /* add on <self:SeparateCompilerVisitor>*/;
6234 var352
= varonce351
;
6236 var353
= " = type_";
6238 var355
= string__NativeString__to_s_with_length(var353
, var354
);
6240 varonce351
= var352
;
6242 var356
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType>*/;
6244 var358
= varonce357
;
6248 var361
= string__NativeString__to_s_with_length(var359
, var360
);
6250 varonce357
= var358
;
6252 var362
= NEW_array__Array(&type_array__Arraykernel__Object
);
6253 { /* var362 = array_instance Array[Object] */
6255 var364
= NEW_array__NativeArray(var363
, &type_array__NativeArraykernel__Object
);
6256 ((struct instance_array__NativeArray
*)var364
)->values
[0] = (val
*) var_idtype
;
6257 ((struct instance_array__NativeArray
*)var364
)->values
[1] = (val
*) var352
;
6258 ((struct instance_array__NativeArray
*)var364
)->values
[2] = (val
*) var356
;
6259 ((struct instance_array__NativeArray
*)var364
)->values
[3] = (val
*) var358
;
6260 ((void (*)(val
*, val
*, long))(var362
->class->vft
[COLOR_array__Array__with_native
]))(var362
, var364
, var363
) /* with_native on <var362:Array[Object]>*/;
6261 CHECK_NEW_array__Array(var362
);
6263 var365
= ((val
* (*)(val
*))(var362
->class->vft
[COLOR_string__Object__to_s
]))(var362
) /* to_s on <var362:Array[Object]>*/;
6264 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var365
) /* add on <self:SeparateCompilerVisitor>*/;
6265 var366
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
6266 var367
= ((val
* (*)(val
*))(var366
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var366
) /* toolcontext on <var366:ModelBuilder>*/;
6267 var368
= ((val
* (*)(val
*))(var367
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(var367
) /* opt_typing_test_metrics on <var367:ToolContext>*/;
6268 var369
= ((val
* (*)(val
*))(var368
->class->vft
[COLOR_opts__Option__value
]))(var368
) /* value on <var368:OptionBool>*/;
6269 var370
= ((struct instance_kernel__Bool
*)var369
)->value
; /* autounbox from nullable Object to Bool */;
6271 var371
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
6272 var372
= ((val
* (*)(val
*))(var371
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(var371
) /* count_type_test_resolved on <var371:AbstractCompiler(SeparateCompiler)>*/;
6275 var375
= ((val
* (*)(val
*, val
*))(var_373
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_373
, var_374
) /* [] on <var_373:HashMap[String, Int]>*/;
6277 { /* Inline kernel#Int#+ (var375,var376) */
6278 var379
= ((struct instance_kernel__Int
*)var375
)->value
; /* autounbox from nullable Object to Int */;
6279 var380
= var379
+ var376
;
6282 RET_LABEL378
:(void)0;
6284 var381
= BOX_kernel__Int(var377
); /* autobox from Int to nullable Object */
6285 ((void (*)(val
*, val
*, val
*))(var_373
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var_373
, var_374
, var381
) /* []= on <var_373:HashMap[String, Int]>*/;
6287 var383
= varonce382
;
6289 var384
= "count_type_test_resolved_";
6291 var386
= string__NativeString__to_s_with_length(var384
, var385
);
6293 varonce382
= var383
;
6296 var388
= varonce387
;
6300 var391
= string__NativeString__to_s_with_length(var389
, var390
);
6302 varonce387
= var388
;
6304 var392
= NEW_array__Array(&type_array__Arraykernel__Object
);
6305 { /* var392 = array_instance Array[Object] */
6307 var394
= NEW_array__NativeArray(var393
, &type_array__NativeArraykernel__Object
);
6308 ((struct instance_array__NativeArray
*)var394
)->values
[0] = (val
*) var383
;
6309 ((struct instance_array__NativeArray
*)var394
)->values
[1] = (val
*) var_tag
;
6310 ((struct instance_array__NativeArray
*)var394
)->values
[2] = (val
*) var388
;
6311 ((void (*)(val
*, val
*, long))(var392
->class->vft
[COLOR_array__Array__with_native
]))(var392
, var394
, var393
) /* with_native on <var392:Array[Object]>*/;
6312 CHECK_NEW_array__Array(var392
);
6314 var395
= ((val
* (*)(val
*))(var392
->class->vft
[COLOR_string__Object__to_s
]))(var392
) /* to_s on <var392:Array[Object]>*/;
6315 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var395
) /* add on <self:SeparateCompilerVisitor>*/;
6320 var397
= varonce396
;
6322 var398
= "printf(\"NOT YET IMPLEMENTED: type_test(%s, ";
6324 var400
= string__NativeString__to_s_with_length(var398
, var399
);
6326 varonce396
= var397
;
6329 var402
= varonce401
;
6331 var403
= ").\\n\", \"";
6333 var405
= string__NativeString__to_s_with_length(var403
, var404
);
6335 varonce401
= var402
;
6337 var406
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_string__Object__inspect
]))(var_value
) /* inspect on <var_value:RuntimeVariable>*/;
6339 var408
= varonce407
;
6341 var409
= "\"); exit(1);";
6343 var411
= string__NativeString__to_s_with_length(var409
, var410
);
6345 varonce407
= var408
;
6347 var412
= NEW_array__Array(&type_array__Arraykernel__Object
);
6348 { /* var412 = array_instance Array[Object] */
6350 var414
= NEW_array__NativeArray(var413
, &type_array__NativeArraykernel__Object
);
6351 ((struct instance_array__NativeArray
*)var414
)->values
[0] = (val
*) var397
;
6352 ((struct instance_array__NativeArray
*)var414
)->values
[1] = (val
*) var_mtype
;
6353 ((struct instance_array__NativeArray
*)var414
)->values
[2] = (val
*) var402
;
6354 ((struct instance_array__NativeArray
*)var414
)->values
[3] = (val
*) var406
;
6355 ((struct instance_array__NativeArray
*)var414
)->values
[4] = (val
*) var408
;
6356 ((void (*)(val
*, val
*, long))(var412
->class->vft
[COLOR_array__Array__with_native
]))(var412
, var414
, var413
) /* with_native on <var412:Array[Object]>*/;
6357 CHECK_NEW_array__Array(var412
);
6359 var415
= ((val
* (*)(val
*))(var412
->class->vft
[COLOR_string__Object__to_s
]))(var412
) /* to_s on <var412:Array[Object]>*/;
6360 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var415
) /* add on <self:SeparateCompilerVisitor>*/;
6363 if (var_maybe_null
){
6365 var417
= varonce416
;
6369 var420
= string__NativeString__to_s_with_length(var418
, var419
);
6371 varonce416
= var417
;
6374 var422
= varonce421
;
6376 var423
= " == NULL) {";
6378 var425
= string__NativeString__to_s_with_length(var423
, var424
);
6380 varonce421
= var422
;
6382 var426
= NEW_array__Array(&type_array__Arraykernel__Object
);
6383 { /* var426 = array_instance Array[Object] */
6385 var428
= NEW_array__NativeArray(var427
, &type_array__NativeArraykernel__Object
);
6386 ((struct instance_array__NativeArray
*)var428
)->values
[0] = (val
*) var417
;
6387 ((struct instance_array__NativeArray
*)var428
)->values
[1] = (val
*) var_value
;
6388 ((struct instance_array__NativeArray
*)var428
)->values
[2] = (val
*) var422
;
6389 ((void (*)(val
*, val
*, long))(var426
->class->vft
[COLOR_array__Array__with_native
]))(var426
, var428
, var427
) /* with_native on <var426:Array[Object]>*/;
6390 CHECK_NEW_array__Array(var426
);
6392 var429
= ((val
* (*)(val
*))(var426
->class->vft
[COLOR_string__Object__to_s
]))(var426
) /* to_s on <var426:Array[Object]>*/;
6393 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var429
) /* add on <self:SeparateCompilerVisitor>*/;
6395 var431
= varonce430
;
6399 var434
= string__NativeString__to_s_with_length(var432
, var433
);
6401 varonce430
= var431
;
6404 var436
= varonce435
;
6408 var439
= string__NativeString__to_s_with_length(var437
, var438
);
6410 varonce435
= var436
;
6412 var440
= NEW_array__Array(&type_array__Arraykernel__Object
);
6413 { /* var440 = array_instance Array[Object] */
6415 var442
= NEW_array__NativeArray(var441
, &type_array__NativeArraykernel__Object
);
6416 ((struct instance_array__NativeArray
*)var442
)->values
[0] = (val
*) var_res
;
6417 ((struct instance_array__NativeArray
*)var442
)->values
[1] = (val
*) var431
;
6418 ((struct instance_array__NativeArray
*)var442
)->values
[2] = (val
*) var_accept_null
;
6419 ((struct instance_array__NativeArray
*)var442
)->values
[3] = (val
*) var436
;
6420 ((void (*)(val
*, val
*, long))(var440
->class->vft
[COLOR_array__Array__with_native
]))(var440
, var442
, var441
) /* with_native on <var440:Array[Object]>*/;
6421 CHECK_NEW_array__Array(var440
);
6423 var443
= ((val
* (*)(val
*))(var440
->class->vft
[COLOR_string__Object__to_s
]))(var440
) /* to_s on <var440:Array[Object]>*/;
6424 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var443
) /* add on <self:SeparateCompilerVisitor>*/;
6426 var445
= varonce444
;
6428 var446
= "} else {";
6430 var448
= string__NativeString__to_s_with_length(var446
, var447
);
6432 varonce444
= var445
;
6434 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var445
) /* add on <self:SeparateCompilerVisitor>*/;
6437 var449
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__type_info
]))(self
, var_value
) /* type_info on <self:SeparateCompilerVisitor>*/;
6438 var_value_type_info
= var449
;
6439 var451
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
6440 var452
= ((val
* (*)(val
*))(var451
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var451
) /* toolcontext on <var451:ModelBuilder>*/;
6441 var453
= ((val
* (*)(val
*))(var452
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phmod_typing
]))(var452
) /* opt_phmod_typing on <var452:ToolContext>*/;
6442 var454
= ((val
* (*)(val
*))(var453
->class->vft
[COLOR_opts__Option__value
]))(var453
) /* value on <var453:OptionBool>*/;
6443 var455
= ((struct instance_kernel__Bool
*)var454
)->value
; /* autounbox from nullable Object to Bool */;
6448 var457
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
6449 var458
= ((val
* (*)(val
*))(var457
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var457
) /* toolcontext on <var457:ModelBuilder>*/;
6450 var459
= ((val
* (*)(val
*))(var458
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phand_typing
]))(var458
) /* opt_phand_typing on <var458:ToolContext>*/;
6451 var460
= ((val
* (*)(val
*))(var459
->class->vft
[COLOR_opts__Option__value
]))(var459
) /* value on <var459:OptionBool>*/;
6452 var461
= ((struct instance_kernel__Bool
*)var460
)->value
; /* autounbox from nullable Object to Bool */;
6457 var463
= varonce462
;
6459 var464
= " = HASH(";
6461 var466
= string__NativeString__to_s_with_length(var464
, var465
);
6463 varonce462
= var463
;
6466 var468
= varonce467
;
6468 var469
= "->color, ";
6470 var471
= string__NativeString__to_s_with_length(var469
, var470
);
6472 varonce467
= var468
;
6475 var473
= varonce472
;
6479 var476
= string__NativeString__to_s_with_length(var474
, var475
);
6481 varonce472
= var473
;
6483 var477
= NEW_array__Array(&type_array__Arraykernel__Object
);
6484 { /* var477 = array_instance Array[Object] */
6486 var479
= NEW_array__NativeArray(var478
, &type_array__NativeArraykernel__Object
);
6487 ((struct instance_array__NativeArray
*)var479
)->values
[0] = (val
*) var_cltype
;
6488 ((struct instance_array__NativeArray
*)var479
)->values
[1] = (val
*) var463
;
6489 ((struct instance_array__NativeArray
*)var479
)->values
[2] = (val
*) var_value_type_info
;
6490 ((struct instance_array__NativeArray
*)var479
)->values
[3] = (val
*) var468
;
6491 ((struct instance_array__NativeArray
*)var479
)->values
[4] = (val
*) var_idtype
;
6492 ((struct instance_array__NativeArray
*)var479
)->values
[5] = (val
*) var473
;
6493 ((void (*)(val
*, val
*, long))(var477
->class->vft
[COLOR_array__Array__with_native
]))(var477
, var479
, var478
) /* with_native on <var477:Array[Object]>*/;
6494 CHECK_NEW_array__Array(var477
);
6496 var480
= ((val
* (*)(val
*))(var477
->class->vft
[COLOR_string__Object__to_s
]))(var477
) /* to_s on <var477:Array[Object]>*/;
6497 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var480
) /* add on <self:SeparateCompilerVisitor>*/;
6501 var482
= varonce481
;
6505 var485
= string__NativeString__to_s_with_length(var483
, var484
);
6507 varonce481
= var482
;
6510 var487
= varonce486
;
6514 var490
= string__NativeString__to_s_with_length(var488
, var489
);
6516 varonce486
= var487
;
6519 var492
= varonce491
;
6521 var493
= "->table_size) {";
6523 var495
= string__NativeString__to_s_with_length(var493
, var494
);
6525 varonce491
= var492
;
6527 var496
= NEW_array__Array(&type_array__Arraykernel__Object
);
6528 { /* var496 = array_instance Array[Object] */
6530 var498
= NEW_array__NativeArray(var497
, &type_array__NativeArraykernel__Object
);
6531 ((struct instance_array__NativeArray
*)var498
)->values
[0] = (val
*) var482
;
6532 ((struct instance_array__NativeArray
*)var498
)->values
[1] = (val
*) var_cltype
;
6533 ((struct instance_array__NativeArray
*)var498
)->values
[2] = (val
*) var487
;
6534 ((struct instance_array__NativeArray
*)var498
)->values
[3] = (val
*) var_value_type_info
;
6535 ((struct instance_array__NativeArray
*)var498
)->values
[4] = (val
*) var492
;
6536 ((void (*)(val
*, val
*, long))(var496
->class->vft
[COLOR_array__Array__with_native
]))(var496
, var498
, var497
) /* with_native on <var496:Array[Object]>*/;
6537 CHECK_NEW_array__Array(var496
);
6539 var499
= ((val
* (*)(val
*))(var496
->class->vft
[COLOR_string__Object__to_s
]))(var496
) /* to_s on <var496:Array[Object]>*/;
6540 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var499
) /* add on <self:SeparateCompilerVisitor>*/;
6542 var501
= varonce500
;
6546 var504
= string__NativeString__to_s_with_length(var502
, var503
);
6548 varonce500
= var501
;
6550 var505
= NEW_array__Array(&type_array__Arraykernel__Object
);
6551 { /* var505 = array_instance Array[Object] */
6553 var507
= NEW_array__NativeArray(var506
, &type_array__NativeArraykernel__Object
);
6554 ((struct instance_array__NativeArray
*)var507
)->values
[0] = (val
*) var_res
;
6555 ((struct instance_array__NativeArray
*)var507
)->values
[1] = (val
*) var501
;
6556 ((void (*)(val
*, val
*, long))(var505
->class->vft
[COLOR_array__Array__with_native
]))(var505
, var507
, var506
) /* with_native on <var505:Array[Object]>*/;
6557 CHECK_NEW_array__Array(var505
);
6559 var508
= ((val
* (*)(val
*))(var505
->class->vft
[COLOR_string__Object__to_s
]))(var505
) /* to_s on <var505:Array[Object]>*/;
6560 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var508
) /* add on <self:SeparateCompilerVisitor>*/;
6562 var510
= varonce509
;
6564 var511
= "} else {";
6566 var513
= string__NativeString__to_s_with_length(var511
, var512
);
6568 varonce509
= var510
;
6570 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var510
) /* add on <self:SeparateCompilerVisitor>*/;
6572 var515
= varonce514
;
6576 var518
= string__NativeString__to_s_with_length(var516
, var517
);
6578 varonce514
= var515
;
6581 var520
= varonce519
;
6583 var521
= "->type_table[";
6585 var523
= string__NativeString__to_s_with_length(var521
, var522
);
6587 varonce519
= var520
;
6590 var525
= varonce524
;
6594 var528
= string__NativeString__to_s_with_length(var526
, var527
);
6596 varonce524
= var525
;
6599 var530
= varonce529
;
6603 var533
= string__NativeString__to_s_with_length(var531
, var532
);
6605 varonce529
= var530
;
6607 var534
= NEW_array__Array(&type_array__Arraykernel__Object
);
6608 { /* var534 = array_instance Array[Object] */
6610 var536
= NEW_array__NativeArray(var535
, &type_array__NativeArraykernel__Object
);
6611 ((struct instance_array__NativeArray
*)var536
)->values
[0] = (val
*) var_res
;
6612 ((struct instance_array__NativeArray
*)var536
)->values
[1] = (val
*) var515
;
6613 ((struct instance_array__NativeArray
*)var536
)->values
[2] = (val
*) var_value_type_info
;
6614 ((struct instance_array__NativeArray
*)var536
)->values
[3] = (val
*) var520
;
6615 ((struct instance_array__NativeArray
*)var536
)->values
[4] = (val
*) var_cltype
;
6616 ((struct instance_array__NativeArray
*)var536
)->values
[5] = (val
*) var525
;
6617 ((struct instance_array__NativeArray
*)var536
)->values
[6] = (val
*) var_idtype
;
6618 ((struct instance_array__NativeArray
*)var536
)->values
[7] = (val
*) var530
;
6619 ((void (*)(val
*, val
*, long))(var534
->class->vft
[COLOR_array__Array__with_native
]))(var534
, var536
, var535
) /* with_native on <var534:Array[Object]>*/;
6620 CHECK_NEW_array__Array(var534
);
6622 var537
= ((val
* (*)(val
*))(var534
->class->vft
[COLOR_string__Object__to_s
]))(var534
) /* to_s on <var534:Array[Object]>*/;
6623 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var537
) /* add on <self:SeparateCompilerVisitor>*/;
6625 var539
= varonce538
;
6629 var542
= string__NativeString__to_s_with_length(var540
, var541
);
6631 varonce538
= var539
;
6633 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var539
) /* add on <self:SeparateCompilerVisitor>*/;
6634 if (var_maybe_null
){
6636 var544
= varonce543
;
6640 var547
= string__NativeString__to_s_with_length(var545
, var546
);
6642 varonce543
= var544
;
6644 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var544
) /* add on <self:SeparateCompilerVisitor>*/;
6652 /* method separate_compiler#SeparateCompilerVisitor#type_test for (self: Object, RuntimeVariable, MType, String): RuntimeVariable */
6653 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__type_test(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6654 val
* var
/* : RuntimeVariable */;
6655 val
* var1
/* : RuntimeVariable */;
6656 var1
= separate_compiler__SeparateCompilerVisitor__type_test(self
, p0
, p1
, p2
);
6661 /* method separate_compiler#SeparateCompilerVisitor#is_same_type_test for (self: SeparateCompilerVisitor, RuntimeVariable, RuntimeVariable): RuntimeVariable */
6662 val
* separate_compiler__SeparateCompilerVisitor__is_same_type_test(val
* self
, val
* p0
, val
* p1
) {
6663 val
* var
/* : RuntimeVariable */;
6664 val
* var_value1
/* var value1: RuntimeVariable */;
6665 val
* var_value2
/* var value2: RuntimeVariable */;
6666 val
* var1
/* : MClassType */;
6667 val
* var2
/* : RuntimeVariable */;
6668 val
* var_res
/* var res: RuntimeVariable */;
6669 short int var3
/* : Bool */;
6670 val
* var4
/* : MType */;
6671 val
* var5
/* : String */;
6672 static val
* varonce
;
6673 val
* var6
/* : String */;
6674 char* var7
/* : NativeString */;
6675 long var8
/* : Int */;
6676 val
* var9
/* : String */;
6677 short int var10
/* : Bool */;
6678 short int var_
/* var : Bool */;
6679 val
* var11
/* : MType */;
6680 val
* var12
/* : String */;
6681 static val
* varonce13
;
6682 val
* var14
/* : String */;
6683 char* var15
/* : NativeString */;
6684 long var16
/* : Int */;
6685 val
* var17
/* : String */;
6686 short int var18
/* : Bool */;
6687 val
* var_tmp
/* var tmp: RuntimeVariable */;
6688 val
* var19
/* : MType */;
6689 val
* var20
/* : String */;
6690 static val
* varonce21
;
6691 val
* var22
/* : String */;
6692 char* var23
/* : NativeString */;
6693 long var24
/* : Int */;
6694 val
* var25
/* : String */;
6695 short int var26
/* : Bool */;
6696 val
* var27
/* : MType */;
6697 val
* var28
/* : MType */;
6698 short int var29
/* : Bool */;
6699 static val
* varonce30
;
6700 val
* var31
/* : String */;
6701 char* var32
/* : NativeString */;
6702 long var33
/* : Int */;
6703 val
* var34
/* : String */;
6704 val
* var35
/* : MType */;
6705 static val
* varonce36
;
6706 val
* var37
/* : String */;
6707 char* var38
/* : NativeString */;
6708 long var39
/* : Int */;
6709 val
* var40
/* : String */;
6710 val
* var41
/* : MType */;
6711 static val
* varonce42
;
6712 val
* var43
/* : String */;
6713 char* var44
/* : NativeString */;
6714 long var45
/* : Int */;
6715 val
* var46
/* : String */;
6716 val
* var47
/* : Array[Object] */;
6717 long var48
/* : Int */;
6718 val
* var49
/* : NativeArray[Object] */;
6719 val
* var50
/* : String */;
6720 val
* var51
/* : MType */;
6721 val
* var52
/* : String */;
6722 static val
* varonce53
;
6723 val
* var54
/* : String */;
6724 char* var55
/* : NativeString */;
6725 long var56
/* : Int */;
6726 val
* var57
/* : String */;
6727 short int var58
/* : Bool */;
6728 static val
* varonce59
;
6729 val
* var60
/* : String */;
6730 char* var61
/* : NativeString */;
6731 long var62
/* : Int */;
6732 val
* var63
/* : String */;
6733 val
* var64
/* : MType */;
6734 static val
* varonce65
;
6735 val
* var66
/* : String */;
6736 char* var67
/* : NativeString */;
6737 long var68
/* : Int */;
6738 val
* var69
/* : String */;
6739 val
* var70
/* : MType */;
6740 static val
* varonce71
;
6741 val
* var72
/* : String */;
6742 char* var73
/* : NativeString */;
6743 long var74
/* : Int */;
6744 val
* var75
/* : String */;
6745 val
* var76
/* : Array[Object] */;
6746 long var77
/* : Int */;
6747 val
* var78
/* : NativeArray[Object] */;
6748 val
* var79
/* : String */;
6749 val
* var80
/* : MType */;
6750 short int var81
/* : Bool */;
6753 const char* var_class_name
;
6754 val
* var_mtype1
/* var mtype1: MClassType */;
6755 static val
* varonce82
;
6756 val
* var83
/* : String */;
6757 char* var84
/* : NativeString */;
6758 long var85
/* : Int */;
6759 val
* var86
/* : String */;
6760 val
* var87
/* : String */;
6761 val
* var88
/* : Array[Object] */;
6762 long var89
/* : Int */;
6763 val
* var90
/* : NativeArray[Object] */;
6764 val
* var91
/* : String */;
6765 static val
* varonce92
;
6766 val
* var93
/* : String */;
6767 char* var94
/* : NativeString */;
6768 long var95
/* : Int */;
6769 val
* var96
/* : String */;
6770 static val
* varonce97
;
6771 val
* var98
/* : String */;
6772 char* var99
/* : NativeString */;
6773 long var100
/* : Int */;
6774 val
* var101
/* : String */;
6775 static val
* varonce102
;
6776 val
* var103
/* : String */;
6777 char* var104
/* : NativeString */;
6778 long var105
/* : Int */;
6779 val
* var106
/* : String */;
6780 val
* var107
/* : String */;
6781 static val
* varonce108
;
6782 val
* var109
/* : String */;
6783 char* var110
/* : NativeString */;
6784 long var111
/* : Int */;
6785 val
* var112
/* : String */;
6786 val
* var113
/* : Array[Object] */;
6787 long var114
/* : Int */;
6788 val
* var115
/* : NativeArray[Object] */;
6789 val
* var116
/* : String */;
6790 static val
* varonce117
;
6791 val
* var118
/* : String */;
6792 char* var119
/* : NativeString */;
6793 long var120
/* : Int */;
6794 val
* var121
/* : String */;
6795 static val
* varonce122
;
6796 val
* var123
/* : String */;
6797 char* var124
/* : NativeString */;
6798 long var125
/* : Int */;
6799 val
* var126
/* : String */;
6800 static val
* varonce127
;
6801 val
* var128
/* : String */;
6802 char* var129
/* : NativeString */;
6803 long var130
/* : Int */;
6804 val
* var131
/* : String */;
6805 static val
* varonce132
;
6806 val
* var133
/* : String */;
6807 char* var134
/* : NativeString */;
6808 long var135
/* : Int */;
6809 val
* var136
/* : String */;
6810 static val
* varonce137
;
6811 val
* var138
/* : String */;
6812 char* var139
/* : NativeString */;
6813 long var140
/* : Int */;
6814 val
* var141
/* : String */;
6815 static val
* varonce142
;
6816 val
* var143
/* : String */;
6817 char* var144
/* : NativeString */;
6818 long var145
/* : Int */;
6819 val
* var146
/* : String */;
6820 static val
* varonce147
;
6821 val
* var148
/* : String */;
6822 char* var149
/* : NativeString */;
6823 long var150
/* : Int */;
6824 val
* var151
/* : String */;
6825 val
* var152
/* : Array[Object] */;
6826 long var153
/* : Int */;
6827 val
* var154
/* : NativeArray[Object] */;
6828 val
* var155
/* : String */;
6831 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__bool_type
]))(self
) /* bool_type on <self:SeparateCompilerVisitor>*/;
6832 var2
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var1
) /* new_var on <self:SeparateCompilerVisitor>*/;
6834 var4
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
6835 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var4
) /* ctype on <var4:MType>*/;
6841 var9
= string__NativeString__to_s_with_length(var7
, var8
);
6845 var10
= ((short int (*)(val
*, val
*))(var5
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var5
, var6
) /* != on <var5:String>*/;
6848 var11
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
6849 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var11
) /* ctype on <var11:MType>*/;
6855 var17
= string__NativeString__to_s_with_length(var15
, var16
);
6859 var18
= ((short int (*)(val
*, val
*))(var12
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var12
, var14
) /* == on <var12:String>*/;
6865 var_tmp
= var_value1
;
6866 var_value1
= var_value2
;
6867 var_value2
= var_tmp
;
6870 var19
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
6871 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var19
) /* ctype on <var19:MType>*/;
6877 var25
= string__NativeString__to_s_with_length(var23
, var24
);
6881 var26
= ((short int (*)(val
*, val
*))(var20
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var20
, var22
) /* != on <var20:String>*/;
6883 var27
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
6884 var28
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
6885 var29
= ((short int (*)(val
*, val
*))(var27
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var27
, var28
) /* == on <var27:MType>*/;
6890 var32
= " = 1; /* is_same_type_test: compatible types ";
6892 var34
= string__NativeString__to_s_with_length(var32
, var33
);
6896 var35
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
6902 var40
= string__NativeString__to_s_with_length(var38
, var39
);
6906 var41
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
6912 var46
= string__NativeString__to_s_with_length(var44
, var45
);
6916 var47
= NEW_array__Array(&type_array__Arraykernel__Object
);
6917 { /* var47 = array_instance Array[Object] */
6919 var49
= NEW_array__NativeArray(var48
, &type_array__NativeArraykernel__Object
);
6920 ((struct instance_array__NativeArray
*)var49
)->values
[0] = (val
*) var_res
;
6921 ((struct instance_array__NativeArray
*)var49
)->values
[1] = (val
*) var31
;
6922 ((struct instance_array__NativeArray
*)var49
)->values
[2] = (val
*) var35
;
6923 ((struct instance_array__NativeArray
*)var49
)->values
[3] = (val
*) var37
;
6924 ((struct instance_array__NativeArray
*)var49
)->values
[4] = (val
*) var41
;
6925 ((struct instance_array__NativeArray
*)var49
)->values
[5] = (val
*) var43
;
6926 ((void (*)(val
*, val
*, long))(var47
->class->vft
[COLOR_array__Array__with_native
]))(var47
, var49
, var48
) /* with_native on <var47:Array[Object]>*/;
6927 CHECK_NEW_array__Array(var47
);
6929 var50
= ((val
* (*)(val
*))(var47
->class->vft
[COLOR_string__Object__to_s
]))(var47
) /* to_s on <var47:Array[Object]>*/;
6930 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var50
) /* add on <self:SeparateCompilerVisitor>*/;
6932 var51
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
6933 var52
= ((val
* (*)(val
*))(var51
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var51
) /* ctype on <var51:MType>*/;
6939 var57
= string__NativeString__to_s_with_length(var55
, var56
);
6943 var58
= ((short int (*)(val
*, val
*))(var52
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var52
, var54
) /* != on <var52:String>*/;
6948 var61
= " = 0; /* is_same_type_test: incompatible types ";
6950 var63
= string__NativeString__to_s_with_length(var61
, var62
);
6954 var64
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
6960 var69
= string__NativeString__to_s_with_length(var67
, var68
);
6964 var70
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
6970 var75
= string__NativeString__to_s_with_length(var73
, var74
);
6974 var76
= NEW_array__Array(&type_array__Arraykernel__Object
);
6975 { /* var76 = array_instance Array[Object] */
6977 var78
= NEW_array__NativeArray(var77
, &type_array__NativeArraykernel__Object
);
6978 ((struct instance_array__NativeArray
*)var78
)->values
[0] = (val
*) var_res
;
6979 ((struct instance_array__NativeArray
*)var78
)->values
[1] = (val
*) var60
;
6980 ((struct instance_array__NativeArray
*)var78
)->values
[2] = (val
*) var64
;
6981 ((struct instance_array__NativeArray
*)var78
)->values
[3] = (val
*) var66
;
6982 ((struct instance_array__NativeArray
*)var78
)->values
[4] = (val
*) var70
;
6983 ((struct instance_array__NativeArray
*)var78
)->values
[5] = (val
*) var72
;
6984 ((void (*)(val
*, val
*, long))(var76
->class->vft
[COLOR_array__Array__with_native
]))(var76
, var78
, var77
) /* with_native on <var76:Array[Object]>*/;
6985 CHECK_NEW_array__Array(var76
);
6987 var79
= ((val
* (*)(val
*))(var76
->class->vft
[COLOR_string__Object__to_s
]))(var76
) /* to_s on <var76:Array[Object]>*/;
6988 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var79
) /* add on <self:SeparateCompilerVisitor>*/;
6990 var80
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
6991 /* <var80:MType> isa MClassType */
6992 cltype
= type_model__MClassType
.color
;
6993 idtype
= type_model__MClassType
.id
;
6994 if(cltype
>= var80
->type
->table_size
) {
6997 var81
= var80
->type
->type_table
[cltype
] == idtype
;
7000 var_class_name
= var80
== NULL ?
"null" : var80
->type
->name
;
7001 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
7002 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1392);
7011 var86
= string__NativeString__to_s_with_length(var84
, var85
);
7015 var87
= ((val
* (*)(val
*))(var_mtype1
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype1
) /* c_name on <var_mtype1:MClassType>*/;
7016 var88
= NEW_array__Array(&type_array__Arraykernel__Object
);
7017 { /* var88 = array_instance Array[Object] */
7019 var90
= NEW_array__NativeArray(var89
, &type_array__NativeArraykernel__Object
);
7020 ((struct instance_array__NativeArray
*)var90
)->values
[0] = (val
*) var83
;
7021 ((struct instance_array__NativeArray
*)var90
)->values
[1] = (val
*) var87
;
7022 ((void (*)(val
*, val
*, long))(var88
->class->vft
[COLOR_array__Array__with_native
]))(var88
, var90
, var89
) /* with_native on <var88:Array[Object]>*/;
7023 CHECK_NEW_array__Array(var88
);
7025 var91
= ((val
* (*)(val
*))(var88
->class->vft
[COLOR_string__Object__to_s
]))(var88
) /* to_s on <var88:Array[Object]>*/;
7026 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var91
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
7032 var96
= string__NativeString__to_s_with_length(var94
, var95
);
7039 var99
= " != NULL) && (";
7041 var101
= string__NativeString__to_s_with_length(var99
, var100
);
7046 var103
= varonce102
;
7048 var104
= "->class == &class_";
7050 var106
= string__NativeString__to_s_with_length(var104
, var105
);
7052 varonce102
= var103
;
7054 var107
= ((val
* (*)(val
*))(var_mtype1
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype1
) /* c_name on <var_mtype1:MClassType>*/;
7056 var109
= varonce108
;
7058 var110
= "); /* is_same_type_test */";
7060 var112
= string__NativeString__to_s_with_length(var110
, var111
);
7062 varonce108
= var109
;
7064 var113
= NEW_array__Array(&type_array__Arraykernel__Object
);
7065 { /* var113 = array_instance Array[Object] */
7067 var115
= NEW_array__NativeArray(var114
, &type_array__NativeArraykernel__Object
);
7068 ((struct instance_array__NativeArray
*)var115
)->values
[0] = (val
*) var_res
;
7069 ((struct instance_array__NativeArray
*)var115
)->values
[1] = (val
*) var93
;
7070 ((struct instance_array__NativeArray
*)var115
)->values
[2] = (val
*) var_value2
;
7071 ((struct instance_array__NativeArray
*)var115
)->values
[3] = (val
*) var98
;
7072 ((struct instance_array__NativeArray
*)var115
)->values
[4] = (val
*) var_value2
;
7073 ((struct instance_array__NativeArray
*)var115
)->values
[5] = (val
*) var103
;
7074 ((struct instance_array__NativeArray
*)var115
)->values
[6] = (val
*) var107
;
7075 ((struct instance_array__NativeArray
*)var115
)->values
[7] = (val
*) var109
;
7076 ((void (*)(val
*, val
*, long))(var113
->class->vft
[COLOR_array__Array__with_native
]))(var113
, var115
, var114
) /* with_native on <var113:Array[Object]>*/;
7077 CHECK_NEW_array__Array(var113
);
7079 var116
= ((val
* (*)(val
*))(var113
->class->vft
[COLOR_string__Object__to_s
]))(var113
) /* to_s on <var113:Array[Object]>*/;
7080 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var116
) /* add on <self:SeparateCompilerVisitor>*/;
7085 var118
= varonce117
;
7089 var121
= string__NativeString__to_s_with_length(var119
, var120
);
7091 varonce117
= var118
;
7094 var123
= varonce122
;
7098 var126
= string__NativeString__to_s_with_length(var124
, var125
);
7100 varonce122
= var123
;
7103 var128
= varonce127
;
7107 var131
= string__NativeString__to_s_with_length(var129
, var130
);
7109 varonce127
= var128
;
7112 var133
= varonce132
;
7114 var134
= " != NULL && ";
7116 var136
= string__NativeString__to_s_with_length(var134
, var135
);
7118 varonce132
= var133
;
7121 var138
= varonce137
;
7123 var139
= " != NULL && ";
7125 var141
= string__NativeString__to_s_with_length(var139
, var140
);
7127 varonce137
= var138
;
7130 var143
= varonce142
;
7132 var144
= "->class == ";
7134 var146
= string__NativeString__to_s_with_length(var144
, var145
);
7136 varonce142
= var143
;
7139 var148
= varonce147
;
7141 var149
= "->class); /* is_same_type_test */";
7143 var151
= string__NativeString__to_s_with_length(var149
, var150
);
7145 varonce147
= var148
;
7147 var152
= NEW_array__Array(&type_array__Arraykernel__Object
);
7148 { /* var152 = array_instance Array[Object] */
7150 var154
= NEW_array__NativeArray(var153
, &type_array__NativeArraykernel__Object
);
7151 ((struct instance_array__NativeArray
*)var154
)->values
[0] = (val
*) var_res
;
7152 ((struct instance_array__NativeArray
*)var154
)->values
[1] = (val
*) var118
;
7153 ((struct instance_array__NativeArray
*)var154
)->values
[2] = (val
*) var_value1
;
7154 ((struct instance_array__NativeArray
*)var154
)->values
[3] = (val
*) var123
;
7155 ((struct instance_array__NativeArray
*)var154
)->values
[4] = (val
*) var_value2
;
7156 ((struct instance_array__NativeArray
*)var154
)->values
[5] = (val
*) var128
;
7157 ((struct instance_array__NativeArray
*)var154
)->values
[6] = (val
*) var_value1
;
7158 ((struct instance_array__NativeArray
*)var154
)->values
[7] = (val
*) var133
;
7159 ((struct instance_array__NativeArray
*)var154
)->values
[8] = (val
*) var_value2
;
7160 ((struct instance_array__NativeArray
*)var154
)->values
[9] = (val
*) var138
;
7161 ((struct instance_array__NativeArray
*)var154
)->values
[10] = (val
*) var_value1
;
7162 ((struct instance_array__NativeArray
*)var154
)->values
[11] = (val
*) var143
;
7163 ((struct instance_array__NativeArray
*)var154
)->values
[12] = (val
*) var_value2
;
7164 ((struct instance_array__NativeArray
*)var154
)->values
[13] = (val
*) var148
;
7165 ((void (*)(val
*, val
*, long))(var152
->class->vft
[COLOR_array__Array__with_native
]))(var152
, var154
, var153
) /* with_native on <var152:Array[Object]>*/;
7166 CHECK_NEW_array__Array(var152
);
7168 var155
= ((val
* (*)(val
*))(var152
->class->vft
[COLOR_string__Object__to_s
]))(var152
) /* to_s on <var152:Array[Object]>*/;
7169 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var155
) /* add on <self:SeparateCompilerVisitor>*/;
7176 /* method separate_compiler#SeparateCompilerVisitor#is_same_type_test for (self: Object, RuntimeVariable, RuntimeVariable): RuntimeVariable */
7177 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__is_same_type_test(val
* self
, val
* p0
, val
* p1
) {
7178 val
* var
/* : RuntimeVariable */;
7179 val
* var1
/* : RuntimeVariable */;
7180 var1
= separate_compiler__SeparateCompilerVisitor__is_same_type_test(self
, p0
, p1
);
7185 /* method separate_compiler#SeparateCompilerVisitor#class_name_string for (self: SeparateCompilerVisitor, RuntimeVariable): String */
7186 val
* separate_compiler__SeparateCompilerVisitor__class_name_string(val
* self
, val
* p0
) {
7187 val
* var
/* : String */;
7188 val
* var_value
/* var value: RuntimeVariable */;
7189 static val
* varonce
;
7190 val
* var1
/* : String */;
7191 char* var2
/* : NativeString */;
7192 long var3
/* : Int */;
7193 val
* var4
/* : String */;
7194 val
* var5
/* : String */;
7195 val
* var_res
/* var res: String */;
7196 static val
* varonce6
;
7197 val
* var7
/* : String */;
7198 char* var8
/* : NativeString */;
7199 long var9
/* : Int */;
7200 val
* var10
/* : String */;
7201 static val
* varonce11
;
7202 val
* var12
/* : String */;
7203 char* var13
/* : NativeString */;
7204 long var14
/* : Int */;
7205 val
* var15
/* : String */;
7206 val
* var16
/* : Array[Object] */;
7207 long var17
/* : Int */;
7208 val
* var18
/* : NativeArray[Object] */;
7209 val
* var19
/* : String */;
7210 val
* var20
/* : MType */;
7211 val
* var21
/* : String */;
7212 static val
* varonce22
;
7213 val
* var23
/* : String */;
7214 char* var24
/* : NativeString */;
7215 long var25
/* : Int */;
7216 val
* var26
/* : String */;
7217 short int var27
/* : Bool */;
7218 static val
* varonce28
;
7219 val
* var29
/* : String */;
7220 char* var30
/* : NativeString */;
7221 long var31
/* : Int */;
7222 val
* var32
/* : String */;
7223 static val
* varonce33
;
7224 val
* var34
/* : String */;
7225 char* var35
/* : NativeString */;
7226 long var36
/* : Int */;
7227 val
* var37
/* : String */;
7228 static val
* varonce38
;
7229 val
* var39
/* : String */;
7230 char* var40
/* : NativeString */;
7231 long var41
/* : Int */;
7232 val
* var42
/* : String */;
7233 val
* var43
/* : Array[Object] */;
7234 long var44
/* : Int */;
7235 val
* var45
/* : NativeArray[Object] */;
7236 val
* var46
/* : String */;
7237 static val
* varonce47
;
7238 val
* var48
/* : String */;
7239 char* var49
/* : NativeString */;
7240 long var50
/* : Int */;
7241 val
* var51
/* : String */;
7242 val
* var52
/* : MType */;
7243 val
* var53
/* : String */;
7244 val
* var54
/* : Array[Object] */;
7245 long var55
/* : Int */;
7246 val
* var56
/* : NativeArray[Object] */;
7247 val
* var57
/* : String */;
7248 static val
* varonce58
;
7249 val
* var59
/* : String */;
7250 char* var60
/* : NativeString */;
7251 long var61
/* : Int */;
7252 val
* var62
/* : String */;
7253 val
* var63
/* : MType */;
7254 val
* var64
/* : String */;
7255 static val
* varonce65
;
7256 val
* var66
/* : String */;
7257 char* var67
/* : NativeString */;
7258 long var68
/* : Int */;
7259 val
* var69
/* : String */;
7260 val
* var70
/* : Array[Object] */;
7261 long var71
/* : Int */;
7262 val
* var72
/* : NativeArray[Object] */;
7263 val
* var73
/* : String */;
7268 var2
= "var_class_name";
7270 var4
= string__NativeString__to_s_with_length(var2
, var3
);
7274 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var1
) /* get_name on <self:SeparateCompilerVisitor>*/;
7279 var8
= "const char* ";
7281 var10
= string__NativeString__to_s_with_length(var8
, var9
);
7290 var15
= string__NativeString__to_s_with_length(var13
, var14
);
7294 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
7295 { /* var16 = array_instance Array[Object] */
7297 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArraykernel__Object
);
7298 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var7
;
7299 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var_res
;
7300 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var12
;
7301 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
7302 CHECK_NEW_array__Array(var16
);
7304 var19
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
7305 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var19
) /* add_decl on <self:SeparateCompilerVisitor>*/;
7306 var20
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
7307 var21
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var20
) /* ctype on <var20:MType>*/;
7313 var26
= string__NativeString__to_s_with_length(var24
, var25
);
7317 var27
= ((short int (*)(val
*, val
*))(var21
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var21
, var23
) /* == on <var21:String>*/;
7324 var32
= string__NativeString__to_s_with_length(var30
, var31
);
7331 var35
= " == NULL ? \"null\" : ";
7333 var37
= string__NativeString__to_s_with_length(var35
, var36
);
7340 var40
= "->type->name;";
7342 var42
= string__NativeString__to_s_with_length(var40
, var41
);
7346 var43
= NEW_array__Array(&type_array__Arraykernel__Object
);
7347 { /* var43 = array_instance Array[Object] */
7349 var45
= NEW_array__NativeArray(var44
, &type_array__NativeArraykernel__Object
);
7350 ((struct instance_array__NativeArray
*)var45
)->values
[0] = (val
*) var_res
;
7351 ((struct instance_array__NativeArray
*)var45
)->values
[1] = (val
*) var29
;
7352 ((struct instance_array__NativeArray
*)var45
)->values
[2] = (val
*) var_value
;
7353 ((struct instance_array__NativeArray
*)var45
)->values
[3] = (val
*) var34
;
7354 ((struct instance_array__NativeArray
*)var45
)->values
[4] = (val
*) var_value
;
7355 ((struct instance_array__NativeArray
*)var45
)->values
[5] = (val
*) var39
;
7356 ((void (*)(val
*, val
*, long))(var43
->class->vft
[COLOR_array__Array__with_native
]))(var43
, var45
, var44
) /* with_native on <var43:Array[Object]>*/;
7357 CHECK_NEW_array__Array(var43
);
7359 var46
= ((val
* (*)(val
*))(var43
->class->vft
[COLOR_string__Object__to_s
]))(var43
) /* to_s on <var43:Array[Object]>*/;
7360 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var46
) /* add on <self:SeparateCompilerVisitor>*/;
7367 var51
= string__NativeString__to_s_with_length(var49
, var50
);
7371 var52
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
7372 var53
= ((val
* (*)(val
*))(var52
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var52
) /* c_name on <var52:MType>*/;
7373 var54
= NEW_array__Array(&type_array__Arraykernel__Object
);
7374 { /* var54 = array_instance Array[Object] */
7376 var56
= NEW_array__NativeArray(var55
, &type_array__NativeArraykernel__Object
);
7377 ((struct instance_array__NativeArray
*)var56
)->values
[0] = (val
*) var48
;
7378 ((struct instance_array__NativeArray
*)var56
)->values
[1] = (val
*) var53
;
7379 ((void (*)(val
*, val
*, long))(var54
->class->vft
[COLOR_array__Array__with_native
]))(var54
, var56
, var55
) /* with_native on <var54:Array[Object]>*/;
7380 CHECK_NEW_array__Array(var54
);
7382 var57
= ((val
* (*)(val
*))(var54
->class->vft
[COLOR_string__Object__to_s
]))(var54
) /* to_s on <var54:Array[Object]>*/;
7383 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var57
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
7389 var62
= string__NativeString__to_s_with_length(var60
, var61
);
7393 var63
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
7394 var64
= ((val
* (*)(val
*))(var63
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var63
) /* c_name on <var63:MType>*/;
7400 var69
= string__NativeString__to_s_with_length(var67
, var68
);
7404 var70
= NEW_array__Array(&type_array__Arraykernel__Object
);
7405 { /* var70 = array_instance Array[Object] */
7407 var72
= NEW_array__NativeArray(var71
, &type_array__NativeArraykernel__Object
);
7408 ((struct instance_array__NativeArray
*)var72
)->values
[0] = (val
*) var_res
;
7409 ((struct instance_array__NativeArray
*)var72
)->values
[1] = (val
*) var59
;
7410 ((struct instance_array__NativeArray
*)var72
)->values
[2] = (val
*) var64
;
7411 ((struct instance_array__NativeArray
*)var72
)->values
[3] = (val
*) var66
;
7412 ((void (*)(val
*, val
*, long))(var70
->class->vft
[COLOR_array__Array__with_native
]))(var70
, var72
, var71
) /* with_native on <var70:Array[Object]>*/;
7413 CHECK_NEW_array__Array(var70
);
7415 var73
= ((val
* (*)(val
*))(var70
->class->vft
[COLOR_string__Object__to_s
]))(var70
) /* to_s on <var70:Array[Object]>*/;
7416 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var73
) /* add on <self:SeparateCompilerVisitor>*/;
7423 /* method separate_compiler#SeparateCompilerVisitor#class_name_string for (self: Object, RuntimeVariable): String */
7424 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__class_name_string(val
* self
, val
* p0
) {
7425 val
* var
/* : String */;
7426 val
* var1
/* : String */;
7427 var1
= separate_compiler__SeparateCompilerVisitor__class_name_string(self
, p0
);
7432 /* method separate_compiler#SeparateCompilerVisitor#equal_test for (self: SeparateCompilerVisitor, RuntimeVariable, RuntimeVariable): RuntimeVariable */
7433 val
* separate_compiler__SeparateCompilerVisitor__equal_test(val
* self
, val
* p0
, val
* p1
) {
7434 val
* var
/* : RuntimeVariable */;
7435 val
* var_value1
/* var value1: RuntimeVariable */;
7436 val
* var_value2
/* var value2: RuntimeVariable */;
7437 val
* var1
/* : MClassType */;
7438 val
* var2
/* : RuntimeVariable */;
7439 val
* var_res
/* var res: RuntimeVariable */;
7440 short int var3
/* : Bool */;
7441 val
* var4
/* : MType */;
7442 val
* var5
/* : String */;
7443 static val
* varonce
;
7444 val
* var6
/* : String */;
7445 char* var7
/* : NativeString */;
7446 long var8
/* : Int */;
7447 val
* var9
/* : String */;
7448 short int var10
/* : Bool */;
7449 short int var_
/* var : Bool */;
7450 val
* var11
/* : MType */;
7451 val
* var12
/* : String */;
7452 static val
* varonce13
;
7453 val
* var14
/* : String */;
7454 char* var15
/* : NativeString */;
7455 long var16
/* : Int */;
7456 val
* var17
/* : String */;
7457 short int var18
/* : Bool */;
7458 val
* var_tmp
/* var tmp: RuntimeVariable */;
7459 val
* var19
/* : MType */;
7460 val
* var20
/* : String */;
7461 static val
* varonce21
;
7462 val
* var22
/* : String */;
7463 char* var23
/* : NativeString */;
7464 long var24
/* : Int */;
7465 val
* var25
/* : String */;
7466 short int var26
/* : Bool */;
7467 val
* var27
/* : MType */;
7468 val
* var28
/* : MType */;
7469 short int var29
/* : Bool */;
7470 static val
* varonce30
;
7471 val
* var31
/* : String */;
7472 char* var32
/* : NativeString */;
7473 long var33
/* : Int */;
7474 val
* var34
/* : String */;
7475 static val
* varonce35
;
7476 val
* var36
/* : String */;
7477 char* var37
/* : NativeString */;
7478 long var38
/* : Int */;
7479 val
* var39
/* : String */;
7480 static val
* varonce40
;
7481 val
* var41
/* : String */;
7482 char* var42
/* : NativeString */;
7483 long var43
/* : Int */;
7484 val
* var44
/* : String */;
7485 val
* var45
/* : Array[Object] */;
7486 long var46
/* : Int */;
7487 val
* var47
/* : NativeArray[Object] */;
7488 val
* var48
/* : String */;
7489 val
* var49
/* : MType */;
7490 val
* var50
/* : String */;
7491 static val
* varonce51
;
7492 val
* var52
/* : String */;
7493 char* var53
/* : NativeString */;
7494 long var54
/* : Int */;
7495 val
* var55
/* : String */;
7496 short int var56
/* : Bool */;
7497 static val
* varonce57
;
7498 val
* var58
/* : String */;
7499 char* var59
/* : NativeString */;
7500 long var60
/* : Int */;
7501 val
* var61
/* : String */;
7502 val
* var62
/* : MType */;
7503 static val
* varonce63
;
7504 val
* var64
/* : String */;
7505 char* var65
/* : NativeString */;
7506 long var66
/* : Int */;
7507 val
* var67
/* : String */;
7508 val
* var68
/* : MType */;
7509 static val
* varonce69
;
7510 val
* var70
/* : String */;
7511 char* var71
/* : NativeString */;
7512 long var72
/* : Int */;
7513 val
* var73
/* : String */;
7514 val
* var74
/* : Array[Object] */;
7515 long var75
/* : Int */;
7516 val
* var76
/* : NativeArray[Object] */;
7517 val
* var77
/* : String */;
7518 val
* var78
/* : MType */;
7519 short int var79
/* : Bool */;
7522 const char* var_class_name
;
7523 val
* var_mtype1
/* var mtype1: MClassType */;
7524 static val
* varonce80
;
7525 val
* var81
/* : String */;
7526 char* var82
/* : NativeString */;
7527 long var83
/* : Int */;
7528 val
* var84
/* : String */;
7529 val
* var85
/* : String */;
7530 val
* var86
/* : Array[Object] */;
7531 long var87
/* : Int */;
7532 val
* var88
/* : NativeArray[Object] */;
7533 val
* var89
/* : String */;
7534 static val
* varonce90
;
7535 val
* var91
/* : String */;
7536 char* var92
/* : NativeString */;
7537 long var93
/* : Int */;
7538 val
* var94
/* : String */;
7539 static val
* varonce95
;
7540 val
* var96
/* : String */;
7541 char* var97
/* : NativeString */;
7542 long var98
/* : Int */;
7543 val
* var99
/* : String */;
7544 static val
* varonce100
;
7545 val
* var101
/* : String */;
7546 char* var102
/* : NativeString */;
7547 long var103
/* : Int */;
7548 val
* var104
/* : String */;
7549 val
* var105
/* : String */;
7550 static val
* varonce106
;
7551 val
* var107
/* : String */;
7552 char* var108
/* : NativeString */;
7553 long var109
/* : Int */;
7554 val
* var110
/* : String */;
7555 val
* var111
/* : Array[Object] */;
7556 long var112
/* : Int */;
7557 val
* var113
/* : NativeArray[Object] */;
7558 val
* var114
/* : String */;
7559 static val
* varonce115
;
7560 val
* var116
/* : String */;
7561 char* var117
/* : NativeString */;
7562 long var118
/* : Int */;
7563 val
* var119
/* : String */;
7564 static val
* varonce120
;
7565 val
* var121
/* : String */;
7566 char* var122
/* : NativeString */;
7567 long var123
/* : Int */;
7568 val
* var124
/* : String */;
7569 val
* var125
/* : Array[Object] */;
7570 long var126
/* : Int */;
7571 val
* var127
/* : NativeArray[Object] */;
7572 val
* var128
/* : String */;
7573 static val
* varonce129
;
7574 val
* var130
/* : String */;
7575 char* var131
/* : NativeString */;
7576 long var132
/* : Int */;
7577 val
* var133
/* : String */;
7578 val
* var134
/* : MType */;
7579 val
* var135
/* : RuntimeVariable */;
7580 static val
* varonce136
;
7581 val
* var137
/* : String */;
7582 char* var138
/* : NativeString */;
7583 long var139
/* : Int */;
7584 val
* var140
/* : String */;
7585 static val
* varonce141
;
7586 val
* var142
/* : String */;
7587 char* var143
/* : NativeString */;
7588 long var144
/* : Int */;
7589 val
* var145
/* : String */;
7590 val
* var146
/* : Array[Object] */;
7591 long var147
/* : Int */;
7592 val
* var148
/* : NativeArray[Object] */;
7593 val
* var149
/* : String */;
7594 static val
* varonce150
;
7595 val
* var151
/* : String */;
7596 char* var152
/* : NativeString */;
7597 long var153
/* : Int */;
7598 val
* var154
/* : String */;
7599 short int var155
/* : Bool */;
7600 short int var_maybe_null
/* var maybe_null: Bool */;
7601 val
* var156
/* : Array[String] */;
7602 val
* var_test
/* var test: Array[String] */;
7603 val
* var157
/* : MType */;
7604 val
* var_t1
/* var t1: MType */;
7605 short int var158
/* : Bool */;
7608 static val
* varonce161
;
7609 val
* var162
/* : String */;
7610 char* var163
/* : NativeString */;
7611 long var164
/* : Int */;
7612 val
* var165
/* : String */;
7613 val
* var166
/* : Array[Object] */;
7614 long var167
/* : Int */;
7615 val
* var168
/* : NativeArray[Object] */;
7616 val
* var169
/* : String */;
7617 val
* var170
/* : MType */;
7618 short int var171
/* : Bool */;
7619 val
* var172
/* : MType */;
7620 val
* var_t2
/* var t2: MType */;
7621 short int var173
/* : Bool */;
7624 static val
* varonce176
;
7625 val
* var177
/* : String */;
7626 char* var178
/* : NativeString */;
7627 long var179
/* : Int */;
7628 val
* var180
/* : String */;
7629 val
* var181
/* : Array[Object] */;
7630 long var182
/* : Int */;
7631 val
* var183
/* : NativeArray[Object] */;
7632 val
* var184
/* : String */;
7633 val
* var185
/* : MType */;
7634 short int var186
/* : Bool */;
7635 short int var187
/* : Bool */;
7636 short int var_incompatible
/* var incompatible: Bool */;
7637 val
* var188
/* : String */;
7638 static val
* varonce189
;
7639 val
* var190
/* : String */;
7640 char* var191
/* : NativeString */;
7641 long var192
/* : Int */;
7642 val
* var193
/* : String */;
7643 short int var194
/* : Bool */;
7644 val
* var_primitive
/* var primitive: nullable Object */;
7645 short int var195
/* : Bool */;
7646 val
* var196
/* : String */;
7647 static val
* varonce197
;
7648 val
* var198
/* : String */;
7649 char* var199
/* : NativeString */;
7650 long var200
/* : Int */;
7651 val
* var201
/* : String */;
7652 short int var202
/* : Bool */;
7653 short int var203
/* : Bool */;
7654 short int var204
/* : Bool */;
7655 static val
* varonce205
;
7656 val
* var206
/* : String */;
7657 char* var207
/* : NativeString */;
7658 long var208
/* : Int */;
7659 val
* var209
/* : String */;
7660 static val
* varonce210
;
7661 val
* var211
/* : String */;
7662 char* var212
/* : NativeString */;
7663 long var213
/* : Int */;
7664 val
* var214
/* : String */;
7665 val
* var215
/* : Array[Object] */;
7666 long var216
/* : Int */;
7667 val
* var217
/* : NativeArray[Object] */;
7668 val
* var218
/* : String */;
7669 short int var219
/* : Bool */;
7670 val
* var220
/* : String */;
7671 static val
* varonce221
;
7672 val
* var222
/* : String */;
7673 char* var223
/* : NativeString */;
7674 long var224
/* : Int */;
7675 val
* var225
/* : String */;
7676 short int var226
/* : Bool */;
7677 short int var227
/* : Bool */;
7678 static val
* varonce228
;
7679 val
* var229
/* : String */;
7680 char* var230
/* : NativeString */;
7681 long var231
/* : Int */;
7682 val
* var232
/* : String */;
7683 static val
* varonce233
;
7684 val
* var234
/* : String */;
7685 char* var235
/* : NativeString */;
7686 long var236
/* : Int */;
7687 val
* var237
/* : String */;
7688 val
* var238
/* : Array[Object] */;
7689 long var239
/* : Int */;
7690 val
* var240
/* : NativeArray[Object] */;
7691 val
* var241
/* : String */;
7692 short int var242
/* : Bool */;
7693 val
* var243
/* : null */;
7694 static val
* varonce244
;
7695 val
* var245
/* : String */;
7696 char* var246
/* : NativeString */;
7697 long var247
/* : Int */;
7698 val
* var248
/* : String */;
7699 static val
* varonce249
;
7700 val
* var250
/* : String */;
7701 char* var251
/* : NativeString */;
7702 long var252
/* : Int */;
7703 val
* var253
/* : String */;
7704 static val
* varonce254
;
7705 val
* var255
/* : String */;
7706 char* var256
/* : NativeString */;
7707 long var257
/* : Int */;
7708 val
* var258
/* : String */;
7709 static val
* varonce259
;
7710 val
* var260
/* : String */;
7711 char* var261
/* : NativeString */;
7712 long var262
/* : Int */;
7713 val
* var263
/* : String */;
7714 static val
* varonce264
;
7715 val
* var265
/* : String */;
7716 char* var266
/* : NativeString */;
7717 long var267
/* : Int */;
7718 val
* var268
/* : String */;
7719 val
* var269
/* : Array[Object] */;
7720 long var270
/* : Int */;
7721 val
* var271
/* : NativeArray[Object] */;
7722 val
* var272
/* : String */;
7723 static val
* varonce273
;
7724 val
* var274
/* : String */;
7725 char* var275
/* : NativeString */;
7726 long var276
/* : Int */;
7727 val
* var277
/* : String */;
7728 static val
* varonce278
;
7729 val
* var279
/* : String */;
7730 char* var280
/* : NativeString */;
7731 long var281
/* : Int */;
7732 val
* var282
/* : String */;
7733 static val
* varonce283
;
7734 val
* var284
/* : String */;
7735 char* var285
/* : NativeString */;
7736 long var286
/* : Int */;
7737 val
* var287
/* : String */;
7738 val
* var288
/* : Array[Object] */;
7739 long var289
/* : Int */;
7740 val
* var290
/* : NativeArray[Object] */;
7741 val
* var291
/* : String */;
7742 val
* var292
/* : null */;
7743 short int var293
/* : Bool */;
7744 static val
* varonce294
;
7745 val
* var295
/* : String */;
7746 char* var296
/* : NativeString */;
7747 long var297
/* : Int */;
7748 val
* var298
/* : String */;
7749 val
* var299
/* : String */;
7750 static val
* varonce300
;
7751 val
* var301
/* : String */;
7752 char* var302
/* : NativeString */;
7753 long var303
/* : Int */;
7754 val
* var304
/* : String */;
7755 static val
* varonce305
;
7756 val
* var306
/* : String */;
7757 char* var307
/* : NativeString */;
7758 long var308
/* : Int */;
7759 val
* var309
/* : String */;
7760 val
* var310
/* : String */;
7761 static val
* varonce311
;
7762 val
* var312
/* : String */;
7763 char* var313
/* : NativeString */;
7764 long var314
/* : Int */;
7765 val
* var315
/* : String */;
7766 static val
* varonce316
;
7767 val
* var317
/* : String */;
7768 char* var318
/* : NativeString */;
7769 long var319
/* : Int */;
7770 val
* var320
/* : String */;
7771 val
* var321
/* : Array[Object] */;
7772 long var322
/* : Int */;
7773 val
* var323
/* : NativeArray[Object] */;
7774 val
* var324
/* : String */;
7775 short int var325
/* : Bool */;
7776 short int var326
/* : Bool */;
7777 short int var_327
/* var : Bool */;
7778 short int var328
/* : Bool */;
7779 static val
* varonce329
;
7780 val
* var330
/* : String */;
7781 char* var331
/* : NativeString */;
7782 long var332
/* : Int */;
7783 val
* var333
/* : String */;
7784 static val
* varonce334
;
7785 val
* var335
/* : String */;
7786 char* var336
/* : NativeString */;
7787 long var337
/* : Int */;
7788 val
* var338
/* : String */;
7789 val
* var339
/* : Array[Object] */;
7790 long var340
/* : Int */;
7791 val
* var341
/* : NativeArray[Object] */;
7792 val
* var342
/* : String */;
7793 val
* var343
/* : Array[String] */;
7794 val
* var_s
/* var s: Array[String] */;
7795 val
* var344
/* : AbstractCompiler */;
7796 val
* var345
/* : HashMap[MClass, Int] */;
7797 val
* var346
/* : MapIterator[Object, nullable Object] */;
7798 short int var347
/* : Bool */;
7799 val
* var348
/* : Object */;
7800 val
* var_t
/* var t: MClass */;
7801 val
* var349
/* : nullable Object */;
7802 long var_v
/* var v: Int */;
7803 long var350
/* : Int */;
7804 static val
* varonce351
;
7805 val
* var352
/* : String */;
7806 char* var353
/* : NativeString */;
7807 long var354
/* : Int */;
7808 val
* var355
/* : String */;
7809 static val
* varonce356
;
7810 val
* var357
/* : String */;
7811 char* var358
/* : NativeString */;
7812 long var359
/* : Int */;
7813 val
* var360
/* : String */;
7814 static val
* varonce361
;
7815 val
* var362
/* : String */;
7816 char* var363
/* : NativeString */;
7817 long var364
/* : Int */;
7818 val
* var365
/* : String */;
7819 val
* var366
/* : String */;
7820 static val
* varonce367
;
7821 val
* var368
/* : String */;
7822 char* var369
/* : NativeString */;
7823 long var370
/* : Int */;
7824 val
* var371
/* : String */;
7825 static val
* varonce372
;
7826 val
* var373
/* : String */;
7827 char* var374
/* : NativeString */;
7828 long var375
/* : Int */;
7829 val
* var376
/* : String */;
7830 val
* var377
/* : String */;
7831 static val
* varonce378
;
7832 val
* var379
/* : String */;
7833 char* var380
/* : NativeString */;
7834 long var381
/* : Int */;
7835 val
* var382
/* : String */;
7836 static val
* varonce383
;
7837 val
* var384
/* : String */;
7838 char* var385
/* : NativeString */;
7839 long var386
/* : Int */;
7840 val
* var387
/* : String */;
7841 val
* var388
/* : Array[Object] */;
7842 long var389
/* : Int */;
7843 val
* var390
/* : NativeArray[Object] */;
7844 val
* var391
/* : Object */;
7845 val
* var392
/* : String */;
7846 static val
* varonce393
;
7847 val
* var394
/* : String */;
7848 char* var395
/* : NativeString */;
7849 long var396
/* : Int */;
7850 val
* var397
/* : String */;
7851 static val
* varonce398
;
7852 val
* var399
/* : String */;
7853 char* var400
/* : NativeString */;
7854 long var401
/* : Int */;
7855 val
* var402
/* : String */;
7856 val
* var403
/* : String */;
7857 static val
* varonce404
;
7858 val
* var405
/* : String */;
7859 char* var406
/* : NativeString */;
7860 long var407
/* : Int */;
7861 val
* var408
/* : String */;
7862 val
* var409
/* : Array[Object] */;
7863 long var410
/* : Int */;
7864 val
* var411
/* : NativeArray[Object] */;
7865 val
* var412
/* : String */;
7866 static val
* varonce413
;
7867 val
* var414
/* : String */;
7868 char* var415
/* : NativeString */;
7869 long var416
/* : Int */;
7870 val
* var417
/* : String */;
7871 static val
* varonce418
;
7872 val
* var419
/* : String */;
7873 char* var420
/* : NativeString */;
7874 long var421
/* : Int */;
7875 val
* var422
/* : String */;
7876 static val
* varonce423
;
7877 val
* var424
/* : String */;
7878 char* var425
/* : NativeString */;
7879 long var426
/* : Int */;
7880 val
* var427
/* : String */;
7881 val
* var428
/* : Array[Object] */;
7882 long var429
/* : Int */;
7883 val
* var430
/* : NativeArray[Object] */;
7884 val
* var431
/* : String */;
7885 static val
* varonce432
;
7886 val
* var433
/* : String */;
7887 char* var434
/* : NativeString */;
7888 long var435
/* : Int */;
7889 val
* var436
/* : String */;
7890 static val
* varonce437
;
7891 val
* var438
/* : String */;
7892 char* var439
/* : NativeString */;
7893 long var440
/* : Int */;
7894 val
* var441
/* : String */;
7895 static val
* varonce442
;
7896 val
* var443
/* : String */;
7897 char* var444
/* : NativeString */;
7898 long var445
/* : Int */;
7899 val
* var446
/* : String */;
7900 static val
* varonce447
;
7901 val
* var448
/* : String */;
7902 char* var449
/* : NativeString */;
7903 long var450
/* : Int */;
7904 val
* var451
/* : String */;
7905 val
* var452
/* : String */;
7906 static val
* varonce453
;
7907 val
* var454
/* : String */;
7908 char* var455
/* : NativeString */;
7909 long var456
/* : Int */;
7910 val
* var457
/* : String */;
7911 val
* var458
/* : Array[Object] */;
7912 long var459
/* : Int */;
7913 val
* var460
/* : NativeArray[Object] */;
7914 val
* var461
/* : String */;
7917 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__bool_type
]))(self
) /* bool_type on <self:SeparateCompilerVisitor>*/;
7918 var2
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var1
) /* new_var on <self:SeparateCompilerVisitor>*/;
7920 var4
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
7921 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var4
) /* ctype on <var4:MType>*/;
7927 var9
= string__NativeString__to_s_with_length(var7
, var8
);
7931 var10
= ((short int (*)(val
*, val
*))(var5
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var5
, var6
) /* != on <var5:String>*/;
7934 var11
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
7935 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var11
) /* ctype on <var11:MType>*/;
7941 var17
= string__NativeString__to_s_with_length(var15
, var16
);
7945 var18
= ((short int (*)(val
*, val
*))(var12
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var12
, var14
) /* == on <var12:String>*/;
7951 var_tmp
= var_value1
;
7952 var_value1
= var_value2
;
7953 var_value2
= var_tmp
;
7956 var19
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
7957 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var19
) /* ctype on <var19:MType>*/;
7963 var25
= string__NativeString__to_s_with_length(var23
, var24
);
7967 var26
= ((short int (*)(val
*, val
*))(var20
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var20
, var22
) /* != on <var20:String>*/;
7969 var27
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
7970 var28
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
7971 var29
= ((short int (*)(val
*, val
*))(var27
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var27
, var28
) /* == on <var27:MType>*/;
7978 var34
= string__NativeString__to_s_with_length(var32
, var33
);
7987 var39
= string__NativeString__to_s_with_length(var37
, var38
);
7996 var44
= string__NativeString__to_s_with_length(var42
, var43
);
8000 var45
= NEW_array__Array(&type_array__Arraykernel__Object
);
8001 { /* var45 = array_instance Array[Object] */
8003 var47
= NEW_array__NativeArray(var46
, &type_array__NativeArraykernel__Object
);
8004 ((struct instance_array__NativeArray
*)var47
)->values
[0] = (val
*) var_res
;
8005 ((struct instance_array__NativeArray
*)var47
)->values
[1] = (val
*) var31
;
8006 ((struct instance_array__NativeArray
*)var47
)->values
[2] = (val
*) var_value1
;
8007 ((struct instance_array__NativeArray
*)var47
)->values
[3] = (val
*) var36
;
8008 ((struct instance_array__NativeArray
*)var47
)->values
[4] = (val
*) var_value2
;
8009 ((struct instance_array__NativeArray
*)var47
)->values
[5] = (val
*) var41
;
8010 ((void (*)(val
*, val
*, long))(var45
->class->vft
[COLOR_array__Array__with_native
]))(var45
, var47
, var46
) /* with_native on <var45:Array[Object]>*/;
8011 CHECK_NEW_array__Array(var45
);
8013 var48
= ((val
* (*)(val
*))(var45
->class->vft
[COLOR_string__Object__to_s
]))(var45
) /* to_s on <var45:Array[Object]>*/;
8014 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var48
) /* add on <self:SeparateCompilerVisitor>*/;
8016 var49
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
8017 var50
= ((val
* (*)(val
*))(var49
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var49
) /* ctype on <var49:MType>*/;
8023 var55
= string__NativeString__to_s_with_length(var53
, var54
);
8027 var56
= ((short int (*)(val
*, val
*))(var50
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var50
, var52
) /* != on <var50:String>*/;
8032 var59
= " = 0; /* incompatible types ";
8034 var61
= string__NativeString__to_s_with_length(var59
, var60
);
8038 var62
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
8044 var67
= string__NativeString__to_s_with_length(var65
, var66
);
8048 var68
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
8054 var73
= string__NativeString__to_s_with_length(var71
, var72
);
8058 var74
= NEW_array__Array(&type_array__Arraykernel__Object
);
8059 { /* var74 = array_instance Array[Object] */
8061 var76
= NEW_array__NativeArray(var75
, &type_array__NativeArraykernel__Object
);
8062 ((struct instance_array__NativeArray
*)var76
)->values
[0] = (val
*) var_res
;
8063 ((struct instance_array__NativeArray
*)var76
)->values
[1] = (val
*) var58
;
8064 ((struct instance_array__NativeArray
*)var76
)->values
[2] = (val
*) var62
;
8065 ((struct instance_array__NativeArray
*)var76
)->values
[3] = (val
*) var64
;
8066 ((struct instance_array__NativeArray
*)var76
)->values
[4] = (val
*) var68
;
8067 ((struct instance_array__NativeArray
*)var76
)->values
[5] = (val
*) var70
;
8068 ((void (*)(val
*, val
*, long))(var74
->class->vft
[COLOR_array__Array__with_native
]))(var74
, var76
, var75
) /* with_native on <var74:Array[Object]>*/;
8069 CHECK_NEW_array__Array(var74
);
8071 var77
= ((val
* (*)(val
*))(var74
->class->vft
[COLOR_string__Object__to_s
]))(var74
) /* to_s on <var74:Array[Object]>*/;
8072 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var77
) /* add on <self:SeparateCompilerVisitor>*/;
8074 var78
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
8075 /* <var78:MType> isa MClassType */
8076 cltype
= type_model__MClassType
.color
;
8077 idtype
= type_model__MClassType
.id
;
8078 if(cltype
>= var78
->type
->table_size
) {
8081 var79
= var78
->type
->type_table
[cltype
] == idtype
;
8084 var_class_name
= var78
== NULL ?
"null" : var78
->type
->name
;
8085 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
8086 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1429);
8095 var84
= string__NativeString__to_s_with_length(var82
, var83
);
8099 var85
= ((val
* (*)(val
*))(var_mtype1
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype1
) /* c_name on <var_mtype1:MClassType>*/;
8100 var86
= NEW_array__Array(&type_array__Arraykernel__Object
);
8101 { /* var86 = array_instance Array[Object] */
8103 var88
= NEW_array__NativeArray(var87
, &type_array__NativeArraykernel__Object
);
8104 ((struct instance_array__NativeArray
*)var88
)->values
[0] = (val
*) var81
;
8105 ((struct instance_array__NativeArray
*)var88
)->values
[1] = (val
*) var85
;
8106 ((void (*)(val
*, val
*, long))(var86
->class->vft
[COLOR_array__Array__with_native
]))(var86
, var88
, var87
) /* with_native on <var86:Array[Object]>*/;
8107 CHECK_NEW_array__Array(var86
);
8109 var89
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_string__Object__to_s
]))(var86
) /* to_s on <var86:Array[Object]>*/;
8110 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var89
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
8116 var94
= string__NativeString__to_s_with_length(var92
, var93
);
8123 var97
= " != NULL) && (";
8125 var99
= string__NativeString__to_s_with_length(var97
, var98
);
8130 var101
= varonce100
;
8132 var102
= "->class == &class_";
8134 var104
= string__NativeString__to_s_with_length(var102
, var103
);
8136 varonce100
= var101
;
8138 var105
= ((val
* (*)(val
*))(var_mtype1
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype1
) /* c_name on <var_mtype1:MClassType>*/;
8140 var107
= varonce106
;
8144 var110
= string__NativeString__to_s_with_length(var108
, var109
);
8146 varonce106
= var107
;
8148 var111
= NEW_array__Array(&type_array__Arraykernel__Object
);
8149 { /* var111 = array_instance Array[Object] */
8151 var113
= NEW_array__NativeArray(var112
, &type_array__NativeArraykernel__Object
);
8152 ((struct instance_array__NativeArray
*)var113
)->values
[0] = (val
*) var_res
;
8153 ((struct instance_array__NativeArray
*)var113
)->values
[1] = (val
*) var91
;
8154 ((struct instance_array__NativeArray
*)var113
)->values
[2] = (val
*) var_value2
;
8155 ((struct instance_array__NativeArray
*)var113
)->values
[3] = (val
*) var96
;
8156 ((struct instance_array__NativeArray
*)var113
)->values
[4] = (val
*) var_value2
;
8157 ((struct instance_array__NativeArray
*)var113
)->values
[5] = (val
*) var101
;
8158 ((struct instance_array__NativeArray
*)var113
)->values
[6] = (val
*) var105
;
8159 ((struct instance_array__NativeArray
*)var113
)->values
[7] = (val
*) var107
;
8160 ((void (*)(val
*, val
*, long))(var111
->class->vft
[COLOR_array__Array__with_native
]))(var111
, var113
, var112
) /* with_native on <var111:Array[Object]>*/;
8161 CHECK_NEW_array__Array(var111
);
8163 var114
= ((val
* (*)(val
*))(var111
->class->vft
[COLOR_string__Object__to_s
]))(var111
) /* to_s on <var111:Array[Object]>*/;
8164 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var114
) /* add on <self:SeparateCompilerVisitor>*/;
8166 var116
= varonce115
;
8170 var119
= string__NativeString__to_s_with_length(var117
, var118
);
8172 varonce115
= var116
;
8175 var121
= varonce120
;
8179 var124
= string__NativeString__to_s_with_length(var122
, var123
);
8181 varonce120
= var121
;
8183 var125
= NEW_array__Array(&type_array__Arraykernel__Object
);
8184 { /* var125 = array_instance Array[Object] */
8186 var127
= NEW_array__NativeArray(var126
, &type_array__NativeArraykernel__Object
);
8187 ((struct instance_array__NativeArray
*)var127
)->values
[0] = (val
*) var116
;
8188 ((struct instance_array__NativeArray
*)var127
)->values
[1] = (val
*) var_res
;
8189 ((struct instance_array__NativeArray
*)var127
)->values
[2] = (val
*) var121
;
8190 ((void (*)(val
*, val
*, long))(var125
->class->vft
[COLOR_array__Array__with_native
]))(var125
, var127
, var126
) /* with_native on <var125:Array[Object]>*/;
8191 CHECK_NEW_array__Array(var125
);
8193 var128
= ((val
* (*)(val
*))(var125
->class->vft
[COLOR_string__Object__to_s
]))(var125
) /* to_s on <var125:Array[Object]>*/;
8194 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var128
) /* add on <self:SeparateCompilerVisitor>*/;
8196 var130
= varonce129
;
8200 var133
= string__NativeString__to_s_with_length(var131
, var132
);
8202 varonce129
= var130
;
8204 var134
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
8205 var135
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_value2
, var134
) /* autobox on <self:SeparateCompilerVisitor>*/;
8207 var137
= varonce136
;
8211 var140
= string__NativeString__to_s_with_length(var138
, var139
);
8213 varonce136
= var137
;
8216 var142
= varonce141
;
8220 var145
= string__NativeString__to_s_with_length(var143
, var144
);
8222 varonce141
= var142
;
8224 var146
= NEW_array__Array(&type_array__Arraykernel__Object
);
8225 { /* var146 = array_instance Array[Object] */
8227 var148
= NEW_array__NativeArray(var147
, &type_array__NativeArraykernel__Object
);
8228 ((struct instance_array__NativeArray
*)var148
)->values
[0] = (val
*) var_res
;
8229 ((struct instance_array__NativeArray
*)var148
)->values
[1] = (val
*) var130
;
8230 ((struct instance_array__NativeArray
*)var148
)->values
[2] = (val
*) var135
;
8231 ((struct instance_array__NativeArray
*)var148
)->values
[3] = (val
*) var137
;
8232 ((struct instance_array__NativeArray
*)var148
)->values
[4] = (val
*) var_value1
;
8233 ((struct instance_array__NativeArray
*)var148
)->values
[5] = (val
*) var142
;
8234 ((void (*)(val
*, val
*, long))(var146
->class->vft
[COLOR_array__Array__with_native
]))(var146
, var148
, var147
) /* with_native on <var146:Array[Object]>*/;
8235 CHECK_NEW_array__Array(var146
);
8237 var149
= ((val
* (*)(val
*))(var146
->class->vft
[COLOR_string__Object__to_s
]))(var146
) /* to_s on <var146:Array[Object]>*/;
8238 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var149
) /* add on <self:SeparateCompilerVisitor>*/;
8240 var151
= varonce150
;
8244 var154
= string__NativeString__to_s_with_length(var152
, var153
);
8246 varonce150
= var151
;
8248 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var151
) /* add on <self:SeparateCompilerVisitor>*/;
8256 var_maybe_null
= var155
;
8257 var156
= NEW_array__Array(&type_array__Arraystring__String
);
8258 ((void (*)(val
*))(var156
->class->vft
[COLOR_array__Array__init
]))(var156
) /* init on <var156:Array[String]>*/;
8259 CHECK_NEW_array__Array(var156
);
8261 var157
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value1
) /* mcasttype on <var_value1:RuntimeVariable>*/;
8263 /* <var_t1:MType> isa MNullableType */
8264 cltype159
= type_model__MNullableType
.color
;
8265 idtype160
= type_model__MNullableType
.id
;
8266 if(cltype159
>= var_t1
->type
->table_size
) {
8269 var158
= var_t1
->type
->type_table
[cltype159
] == idtype160
;
8273 var162
= varonce161
;
8275 var163
= " != NULL";
8277 var165
= string__NativeString__to_s_with_length(var163
, var164
);
8279 varonce161
= var162
;
8281 var166
= NEW_array__Array(&type_array__Arraykernel__Object
);
8282 { /* var166 = array_instance Array[Object] */
8284 var168
= NEW_array__NativeArray(var167
, &type_array__NativeArraykernel__Object
);
8285 ((struct instance_array__NativeArray
*)var168
)->values
[0] = (val
*) var_value1
;
8286 ((struct instance_array__NativeArray
*)var168
)->values
[1] = (val
*) var162
;
8287 ((void (*)(val
*, val
*, long))(var166
->class->vft
[COLOR_array__Array__with_native
]))(var166
, var168
, var167
) /* with_native on <var166:Array[Object]>*/;
8288 CHECK_NEW_array__Array(var166
);
8290 var169
= ((val
* (*)(val
*))(var166
->class->vft
[COLOR_string__Object__to_s
]))(var166
) /* to_s on <var166:Array[Object]>*/;
8291 ((void (*)(val
*, val
*))(var_test
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_test
, var169
) /* add on <var_test:Array[String]>*/;
8292 var170
= ((val
* (*)(val
*))(var_t1
->class->vft
[COLOR_model__MNullableType__mtype
]))(var_t1
) /* mtype on <var_t1:MType(MNullableType)>*/;
8296 var_maybe_null
= var171
;
8298 var172
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value2
) /* mcasttype on <var_value2:RuntimeVariable>*/;
8300 /* <var_t2:MType> isa MNullableType */
8301 cltype174
= type_model__MNullableType
.color
;
8302 idtype175
= type_model__MNullableType
.id
;
8303 if(cltype174
>= var_t2
->type
->table_size
) {
8306 var173
= var_t2
->type
->type_table
[cltype174
] == idtype175
;
8310 var177
= varonce176
;
8312 var178
= " != NULL";
8314 var180
= string__NativeString__to_s_with_length(var178
, var179
);
8316 varonce176
= var177
;
8318 var181
= NEW_array__Array(&type_array__Arraykernel__Object
);
8319 { /* var181 = array_instance Array[Object] */
8321 var183
= NEW_array__NativeArray(var182
, &type_array__NativeArraykernel__Object
);
8322 ((struct instance_array__NativeArray
*)var183
)->values
[0] = (val
*) var_value2
;
8323 ((struct instance_array__NativeArray
*)var183
)->values
[1] = (val
*) var177
;
8324 ((void (*)(val
*, val
*, long))(var181
->class->vft
[COLOR_array__Array__with_native
]))(var181
, var183
, var182
) /* with_native on <var181:Array[Object]>*/;
8325 CHECK_NEW_array__Array(var181
);
8327 var184
= ((val
* (*)(val
*))(var181
->class->vft
[COLOR_string__Object__to_s
]))(var181
) /* to_s on <var181:Array[Object]>*/;
8328 ((void (*)(val
*, val
*))(var_test
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_test
, var184
) /* add on <var_test:Array[String]>*/;
8329 var185
= ((val
* (*)(val
*))(var_t2
->class->vft
[COLOR_model__MNullableType__mtype
]))(var_t2
) /* mtype on <var_t2:MType(MNullableType)>*/;
8333 var_maybe_null
= var186
;
8336 var_incompatible
= var187
;
8337 var188
= ((val
* (*)(val
*))(var_t1
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_t1
) /* ctype on <var_t1:MType>*/;
8339 var190
= varonce189
;
8343 var193
= string__NativeString__to_s_with_length(var191
, var192
);
8345 varonce189
= var190
;
8347 var194
= ((short int (*)(val
*, val
*))(var188
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var188
, var190
) /* != on <var188:String>*/;
8349 var_primitive
= var_t1
;
8350 var195
= ((short int (*)(val
*, val
*))(var_t1
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_t1
, var_t2
) /* == on <var_t1:MType>*/;
8353 var196
= ((val
* (*)(val
*))(var_t2
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_t2
) /* ctype on <var_t2:MType>*/;
8355 var198
= varonce197
;
8359 var201
= string__NativeString__to_s_with_length(var199
, var200
);
8361 varonce197
= var198
;
8363 var202
= ((short int (*)(val
*, val
*))(var196
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var196
, var198
) /* != on <var196:String>*/;
8366 var_incompatible
= var203
;
8368 var204
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__can_be_primitive
]))(self
, var_value2
) /* can_be_primitive on <self:SeparateCompilerVisitor>*/;
8371 var206
= varonce205
;
8373 var207
= "->class == ";
8375 var209
= string__NativeString__to_s_with_length(var207
, var208
);
8377 varonce205
= var206
;
8380 var211
= varonce210
;
8384 var214
= string__NativeString__to_s_with_length(var212
, var213
);
8386 varonce210
= var211
;
8388 var215
= NEW_array__Array(&type_array__Arraykernel__Object
);
8389 { /* var215 = array_instance Array[Object] */
8391 var217
= NEW_array__NativeArray(var216
, &type_array__NativeArraykernel__Object
);
8392 ((struct instance_array__NativeArray
*)var217
)->values
[0] = (val
*) var_value1
;
8393 ((struct instance_array__NativeArray
*)var217
)->values
[1] = (val
*) var206
;
8394 ((struct instance_array__NativeArray
*)var217
)->values
[2] = (val
*) var_value2
;
8395 ((struct instance_array__NativeArray
*)var217
)->values
[3] = (val
*) var211
;
8396 ((void (*)(val
*, val
*, long))(var215
->class->vft
[COLOR_array__Array__with_native
]))(var215
, var217
, var216
) /* with_native on <var215:Array[Object]>*/;
8397 CHECK_NEW_array__Array(var215
);
8399 var218
= ((val
* (*)(val
*))(var215
->class->vft
[COLOR_string__Object__to_s
]))(var215
) /* to_s on <var215:Array[Object]>*/;
8400 ((void (*)(val
*, val
*))(var_test
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_test
, var218
) /* add on <var_test:Array[String]>*/;
8403 var_incompatible
= var219
;
8408 var220
= ((val
* (*)(val
*))(var_t2
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_t2
) /* ctype on <var_t2:MType>*/;
8410 var222
= varonce221
;
8414 var225
= string__NativeString__to_s_with_length(var223
, var224
);
8416 varonce221
= var222
;
8418 var226
= ((short int (*)(val
*, val
*))(var220
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var220
, var222
) /* != on <var220:String>*/;
8420 var_primitive
= var_t2
;
8421 var227
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__can_be_primitive
]))(self
, var_value1
) /* can_be_primitive on <self:SeparateCompilerVisitor>*/;
8424 var229
= varonce228
;
8426 var230
= "->class == ";
8428 var232
= string__NativeString__to_s_with_length(var230
, var231
);
8430 varonce228
= var229
;
8433 var234
= varonce233
;
8437 var237
= string__NativeString__to_s_with_length(var235
, var236
);
8439 varonce233
= var234
;
8441 var238
= NEW_array__Array(&type_array__Arraykernel__Object
);
8442 { /* var238 = array_instance Array[Object] */
8444 var240
= NEW_array__NativeArray(var239
, &type_array__NativeArraykernel__Object
);
8445 ((struct instance_array__NativeArray
*)var240
)->values
[0] = (val
*) var_value1
;
8446 ((struct instance_array__NativeArray
*)var240
)->values
[1] = (val
*) var229
;
8447 ((struct instance_array__NativeArray
*)var240
)->values
[2] = (val
*) var_value2
;
8448 ((struct instance_array__NativeArray
*)var240
)->values
[3] = (val
*) var234
;
8449 ((void (*)(val
*, val
*, long))(var238
->class->vft
[COLOR_array__Array__with_native
]))(var238
, var240
, var239
) /* with_native on <var238:Array[Object]>*/;
8450 CHECK_NEW_array__Array(var238
);
8452 var241
= ((val
* (*)(val
*))(var238
->class->vft
[COLOR_string__Object__to_s
]))(var238
) /* to_s on <var238:Array[Object]>*/;
8453 ((void (*)(val
*, val
*))(var_test
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_test
, var241
) /* add on <var_test:Array[String]>*/;
8456 var_incompatible
= var242
;
8460 var_primitive
= var243
;
8463 if (var_incompatible
){
8464 if (var_maybe_null
){
8466 var245
= varonce244
;
8470 var248
= string__NativeString__to_s_with_length(var246
, var247
);
8472 varonce244
= var245
;
8475 var250
= varonce249
;
8479 var253
= string__NativeString__to_s_with_length(var251
, var252
);
8481 varonce249
= var250
;
8484 var255
= varonce254
;
8486 var256
= "; /* incompatible types ";
8488 var258
= string__NativeString__to_s_with_length(var256
, var257
);
8490 varonce254
= var255
;
8493 var260
= varonce259
;
8497 var263
= string__NativeString__to_s_with_length(var261
, var262
);
8499 varonce259
= var260
;
8502 var265
= varonce264
;
8504 var266
= "; but may be NULL*/";
8506 var268
= string__NativeString__to_s_with_length(var266
, var267
);
8508 varonce264
= var265
;
8510 var269
= NEW_array__Array(&type_array__Arraykernel__Object
);
8511 { /* var269 = array_instance Array[Object] */
8513 var271
= NEW_array__NativeArray(var270
, &type_array__NativeArraykernel__Object
);
8514 ((struct instance_array__NativeArray
*)var271
)->values
[0] = (val
*) var_res
;
8515 ((struct instance_array__NativeArray
*)var271
)->values
[1] = (val
*) var245
;
8516 ((struct instance_array__NativeArray
*)var271
)->values
[2] = (val
*) var_value1
;
8517 ((struct instance_array__NativeArray
*)var271
)->values
[3] = (val
*) var250
;
8518 ((struct instance_array__NativeArray
*)var271
)->values
[4] = (val
*) var_value2
;
8519 ((struct instance_array__NativeArray
*)var271
)->values
[5] = (val
*) var255
;
8520 ((struct instance_array__NativeArray
*)var271
)->values
[6] = (val
*) var_t1
;
8521 ((struct instance_array__NativeArray
*)var271
)->values
[7] = (val
*) var260
;
8522 ((struct instance_array__NativeArray
*)var271
)->values
[8] = (val
*) var_t2
;
8523 ((struct instance_array__NativeArray
*)var271
)->values
[9] = (val
*) var265
;
8524 ((void (*)(val
*, val
*, long))(var269
->class->vft
[COLOR_array__Array__with_native
]))(var269
, var271
, var270
) /* with_native on <var269:Array[Object]>*/;
8525 CHECK_NEW_array__Array(var269
);
8527 var272
= ((val
* (*)(val
*))(var269
->class->vft
[COLOR_string__Object__to_s
]))(var269
) /* to_s on <var269:Array[Object]>*/;
8528 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var272
) /* add on <self:SeparateCompilerVisitor>*/;
8533 var274
= varonce273
;
8535 var275
= " = 0; /* incompatible types ";
8537 var277
= string__NativeString__to_s_with_length(var275
, var276
);
8539 varonce273
= var274
;
8542 var279
= varonce278
;
8546 var282
= string__NativeString__to_s_with_length(var280
, var281
);
8548 varonce278
= var279
;
8551 var284
= varonce283
;
8553 var285
= "; cannot be NULL */";
8555 var287
= string__NativeString__to_s_with_length(var285
, var286
);
8557 varonce283
= var284
;
8559 var288
= NEW_array__Array(&type_array__Arraykernel__Object
);
8560 { /* var288 = array_instance Array[Object] */
8562 var290
= NEW_array__NativeArray(var289
, &type_array__NativeArraykernel__Object
);
8563 ((struct instance_array__NativeArray
*)var290
)->values
[0] = (val
*) var_res
;
8564 ((struct instance_array__NativeArray
*)var290
)->values
[1] = (val
*) var274
;
8565 ((struct instance_array__NativeArray
*)var290
)->values
[2] = (val
*) var_t1
;
8566 ((struct instance_array__NativeArray
*)var290
)->values
[3] = (val
*) var279
;
8567 ((struct instance_array__NativeArray
*)var290
)->values
[4] = (val
*) var_t2
;
8568 ((struct instance_array__NativeArray
*)var290
)->values
[5] = (val
*) var284
;
8569 ((void (*)(val
*, val
*, long))(var288
->class->vft
[COLOR_array__Array__with_native
]))(var288
, var290
, var289
) /* with_native on <var288:Array[Object]>*/;
8570 CHECK_NEW_array__Array(var288
);
8572 var291
= ((val
* (*)(val
*))(var288
->class->vft
[COLOR_string__Object__to_s
]))(var288
) /* to_s on <var288:Array[Object]>*/;
8573 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var291
) /* add on <self:SeparateCompilerVisitor>*/;
8580 if (var_primitive
== NULL
) {
8581 var293
= 0; /* is null */
8583 var293
= 1; /* arg is null and recv is not */
8587 var295
= varonce294
;
8589 var296
= "((struct instance_";
8591 var298
= string__NativeString__to_s_with_length(var296
, var297
);
8593 varonce294
= var295
;
8595 var299
= ((val
* (*)(val
*))(var_primitive
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_primitive
) /* c_name on <var_primitive:nullable Object(MType)>*/;
8597 var301
= varonce300
;
8601 var304
= string__NativeString__to_s_with_length(var302
, var303
);
8603 varonce300
= var301
;
8606 var306
= varonce305
;
8608 var307
= ")->value == ((struct instance_";
8610 var309
= string__NativeString__to_s_with_length(var307
, var308
);
8612 varonce305
= var306
;
8614 var310
= ((val
* (*)(val
*))(var_primitive
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_primitive
) /* c_name on <var_primitive:nullable Object(MType)>*/;
8616 var312
= varonce311
;
8620 var315
= string__NativeString__to_s_with_length(var313
, var314
);
8622 varonce311
= var312
;
8625 var317
= varonce316
;
8627 var318
= ")->value";
8629 var320
= string__NativeString__to_s_with_length(var318
, var319
);
8631 varonce316
= var317
;
8633 var321
= NEW_array__Array(&type_array__Arraykernel__Object
);
8634 { /* var321 = array_instance Array[Object] */
8636 var323
= NEW_array__NativeArray(var322
, &type_array__NativeArraykernel__Object
);
8637 ((struct instance_array__NativeArray
*)var323
)->values
[0] = (val
*) var295
;
8638 ((struct instance_array__NativeArray
*)var323
)->values
[1] = (val
*) var299
;
8639 ((struct instance_array__NativeArray
*)var323
)->values
[2] = (val
*) var301
;
8640 ((struct instance_array__NativeArray
*)var323
)->values
[3] = (val
*) var_value1
;
8641 ((struct instance_array__NativeArray
*)var323
)->values
[4] = (val
*) var306
;
8642 ((struct instance_array__NativeArray
*)var323
)->values
[5] = (val
*) var310
;
8643 ((struct instance_array__NativeArray
*)var323
)->values
[6] = (val
*) var312
;
8644 ((struct instance_array__NativeArray
*)var323
)->values
[7] = (val
*) var_value2
;
8645 ((struct instance_array__NativeArray
*)var323
)->values
[8] = (val
*) var317
;
8646 ((void (*)(val
*, val
*, long))(var321
->class->vft
[COLOR_array__Array__with_native
]))(var321
, var323
, var322
) /* with_native on <var321:Array[Object]>*/;
8647 CHECK_NEW_array__Array(var321
);
8649 var324
= ((val
* (*)(val
*))(var321
->class->vft
[COLOR_string__Object__to_s
]))(var321
) /* to_s on <var321:Array[Object]>*/;
8650 ((void (*)(val
*, val
*))(var_test
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_test
, var324
) /* add on <var_test:Array[String]>*/;
8652 var326
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__can_be_primitive
]))(self
, var_value1
) /* can_be_primitive on <self:SeparateCompilerVisitor>*/;
8655 var328
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__can_be_primitive
]))(self
, var_value2
) /* can_be_primitive on <self:SeparateCompilerVisitor>*/;
8662 var330
= varonce329
;
8664 var331
= "->class == ";
8666 var333
= string__NativeString__to_s_with_length(var331
, var332
);
8668 varonce329
= var330
;
8671 var335
= varonce334
;
8675 var338
= string__NativeString__to_s_with_length(var336
, var337
);
8677 varonce334
= var335
;
8679 var339
= NEW_array__Array(&type_array__Arraykernel__Object
);
8680 { /* var339 = array_instance Array[Object] */
8682 var341
= NEW_array__NativeArray(var340
, &type_array__NativeArraykernel__Object
);
8683 ((struct instance_array__NativeArray
*)var341
)->values
[0] = (val
*) var_value1
;
8684 ((struct instance_array__NativeArray
*)var341
)->values
[1] = (val
*) var330
;
8685 ((struct instance_array__NativeArray
*)var341
)->values
[2] = (val
*) var_value2
;
8686 ((struct instance_array__NativeArray
*)var341
)->values
[3] = (val
*) var335
;
8687 ((void (*)(val
*, val
*, long))(var339
->class->vft
[COLOR_array__Array__with_native
]))(var339
, var341
, var340
) /* with_native on <var339:Array[Object]>*/;
8688 CHECK_NEW_array__Array(var339
);
8690 var342
= ((val
* (*)(val
*))(var339
->class->vft
[COLOR_string__Object__to_s
]))(var339
) /* to_s on <var339:Array[Object]>*/;
8691 ((void (*)(val
*, val
*))(var_test
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_test
, var342
) /* add on <var_test:Array[String]>*/;
8692 var343
= NEW_array__Array(&type_array__Arraystring__String
);
8693 ((void (*)(val
*))(var343
->class->vft
[COLOR_array__Array__init
]))(var343
) /* init on <var343:Array[String]>*/;
8694 CHECK_NEW_array__Array(var343
);
8696 var344
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
8697 var345
= ((val
* (*)(val
*))(var344
->class->vft
[COLOR_separate_compiler__SeparateCompiler__box_kinds
]))(var344
) /* box_kinds on <var344:AbstractCompiler(SeparateCompiler)>*/;
8698 var346
= ((val
* (*)(val
*))(var345
->class->vft
[COLOR_abstract_collection__MapRead__iterator
]))(var345
) /* iterator on <var345:HashMap[MClass, Int]>*/;
8700 var347
= ((short int (*)(val
*))(var346
->class->vft
[COLOR_abstract_collection__MapIterator__is_ok
]))(var346
) /* is_ok on <var346:MapIterator[Object, nullable Object]>*/;
8702 var348
= ((val
* (*)(val
*))(var346
->class->vft
[COLOR_abstract_collection__MapIterator__key
]))(var346
) /* key on <var346:MapIterator[Object, nullable Object]>*/;
8704 var349
= ((val
* (*)(val
*))(var346
->class->vft
[COLOR_abstract_collection__MapIterator__item
]))(var346
) /* item on <var346:MapIterator[Object, nullable Object]>*/;
8705 var350
= ((struct instance_kernel__Int
*)var349
)->value
; /* autounbox from nullable Object to Int */;
8708 var352
= varonce351
;
8712 var355
= string__NativeString__to_s_with_length(var353
, var354
);
8714 varonce351
= var352
;
8717 var357
= varonce356
;
8719 var358
= "->class->box_kind == ";
8721 var360
= string__NativeString__to_s_with_length(var358
, var359
);
8723 varonce356
= var357
;
8726 var362
= varonce361
;
8728 var363
= " && ((struct instance_";
8730 var365
= string__NativeString__to_s_with_length(var363
, var364
);
8732 varonce361
= var362
;
8734 var366
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var_t
) /* c_name on <var_t:MClass>*/;
8736 var368
= varonce367
;
8740 var371
= string__NativeString__to_s_with_length(var369
, var370
);
8742 varonce367
= var368
;
8745 var373
= varonce372
;
8747 var374
= ")->value == ((struct instance_";
8749 var376
= string__NativeString__to_s_with_length(var374
, var375
);
8751 varonce372
= var373
;
8753 var377
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var_t
) /* c_name on <var_t:MClass>*/;
8755 var379
= varonce378
;
8759 var382
= string__NativeString__to_s_with_length(var380
, var381
);
8761 varonce378
= var379
;
8764 var384
= varonce383
;
8766 var385
= ")->value)";
8768 var387
= string__NativeString__to_s_with_length(var385
, var386
);
8770 varonce383
= var384
;
8772 var388
= NEW_array__Array(&type_array__Arraykernel__Object
);
8773 { /* var388 = array_instance Array[Object] */
8775 var390
= NEW_array__NativeArray(var389
, &type_array__NativeArraykernel__Object
);
8776 ((struct instance_array__NativeArray
*)var390
)->values
[0] = (val
*) var352
;
8777 ((struct instance_array__NativeArray
*)var390
)->values
[1] = (val
*) var_value1
;
8778 ((struct instance_array__NativeArray
*)var390
)->values
[2] = (val
*) var357
;
8779 var391
= BOX_kernel__Int(var_v
); /* autobox from Int to Object */
8780 ((struct instance_array__NativeArray
*)var390
)->values
[3] = (val
*) var391
;
8781 ((struct instance_array__NativeArray
*)var390
)->values
[4] = (val
*) var362
;
8782 ((struct instance_array__NativeArray
*)var390
)->values
[5] = (val
*) var366
;
8783 ((struct instance_array__NativeArray
*)var390
)->values
[6] = (val
*) var368
;
8784 ((struct instance_array__NativeArray
*)var390
)->values
[7] = (val
*) var_value1
;
8785 ((struct instance_array__NativeArray
*)var390
)->values
[8] = (val
*) var373
;
8786 ((struct instance_array__NativeArray
*)var390
)->values
[9] = (val
*) var377
;
8787 ((struct instance_array__NativeArray
*)var390
)->values
[10] = (val
*) var379
;
8788 ((struct instance_array__NativeArray
*)var390
)->values
[11] = (val
*) var_value2
;
8789 ((struct instance_array__NativeArray
*)var390
)->values
[12] = (val
*) var384
;
8790 ((void (*)(val
*, val
*, long))(var388
->class->vft
[COLOR_array__Array__with_native
]))(var388
, var390
, var389
) /* with_native on <var388:Array[Object]>*/;
8791 CHECK_NEW_array__Array(var388
);
8793 var392
= ((val
* (*)(val
*))(var388
->class->vft
[COLOR_string__Object__to_s
]))(var388
) /* to_s on <var388:Array[Object]>*/;
8794 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_s
, var392
) /* add on <var_s:Array[String]>*/;
8795 CONTINUE_label
: (void)0;
8796 ((void (*)(val
*))(var346
->class->vft
[COLOR_abstract_collection__MapIterator__next
]))(var346
) /* next on <var346:MapIterator[Object, nullable Object]>*/;
8798 BREAK_label
: (void)0;
8800 var394
= varonce393
;
8804 var397
= string__NativeString__to_s_with_length(var395
, var396
);
8806 varonce393
= var394
;
8809 var399
= varonce398
;
8813 var402
= string__NativeString__to_s_with_length(var400
, var401
);
8815 varonce398
= var399
;
8817 var403
= ((val
* (*)(val
*, val
*))(var_s
->class->vft
[COLOR_string__Collection__join
]))(var_s
, var399
) /* join on <var_s:Array[String]>*/;
8819 var405
= varonce404
;
8823 var408
= string__NativeString__to_s_with_length(var406
, var407
);
8825 varonce404
= var405
;
8827 var409
= NEW_array__Array(&type_array__Arraykernel__Object
);
8828 { /* var409 = array_instance Array[Object] */
8830 var411
= NEW_array__NativeArray(var410
, &type_array__NativeArraykernel__Object
);
8831 ((struct instance_array__NativeArray
*)var411
)->values
[0] = (val
*) var394
;
8832 ((struct instance_array__NativeArray
*)var411
)->values
[1] = (val
*) var403
;
8833 ((struct instance_array__NativeArray
*)var411
)->values
[2] = (val
*) var405
;
8834 ((void (*)(val
*, val
*, long))(var409
->class->vft
[COLOR_array__Array__with_native
]))(var409
, var411
, var410
) /* with_native on <var409:Array[Object]>*/;
8835 CHECK_NEW_array__Array(var409
);
8837 var412
= ((val
* (*)(val
*))(var409
->class->vft
[COLOR_string__Object__to_s
]))(var409
) /* to_s on <var409:Array[Object]>*/;
8838 ((void (*)(val
*, val
*))(var_test
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_test
, var412
) /* add on <var_test:Array[String]>*/;
8841 var414
= varonce413
;
8845 var417
= string__NativeString__to_s_with_length(var415
, var416
);
8847 varonce413
= var414
;
8850 var419
= varonce418
;
8854 var422
= string__NativeString__to_s_with_length(var420
, var421
);
8856 varonce418
= var419
;
8859 var424
= varonce423
;
8863 var427
= string__NativeString__to_s_with_length(var425
, var426
);
8865 varonce423
= var424
;
8867 var428
= NEW_array__Array(&type_array__Arraykernel__Object
);
8868 { /* var428 = array_instance Array[Object] */
8870 var430
= NEW_array__NativeArray(var429
, &type_array__NativeArraykernel__Object
);
8871 ((struct instance_array__NativeArray
*)var430
)->values
[0] = (val
*) var_res
;
8872 ((struct instance_array__NativeArray
*)var430
)->values
[1] = (val
*) var414
;
8873 ((struct instance_array__NativeArray
*)var430
)->values
[2] = (val
*) var_value1
;
8874 ((struct instance_array__NativeArray
*)var430
)->values
[3] = (val
*) var419
;
8875 ((struct instance_array__NativeArray
*)var430
)->values
[4] = (val
*) var_value2
;
8876 ((struct instance_array__NativeArray
*)var430
)->values
[5] = (val
*) var424
;
8877 ((void (*)(val
*, val
*, long))(var428
->class->vft
[COLOR_array__Array__with_native
]))(var428
, var430
, var429
) /* with_native on <var428:Array[Object]>*/;
8878 CHECK_NEW_array__Array(var428
);
8880 var431
= ((val
* (*)(val
*))(var428
->class->vft
[COLOR_string__Object__to_s
]))(var428
) /* to_s on <var428:Array[Object]>*/;
8881 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var431
) /* add on <self:SeparateCompilerVisitor>*/;
8887 var433
= varonce432
;
8891 var436
= string__NativeString__to_s_with_length(var434
, var435
);
8893 varonce432
= var433
;
8896 var438
= varonce437
;
8900 var441
= string__NativeString__to_s_with_length(var439
, var440
);
8902 varonce437
= var438
;
8905 var443
= varonce442
;
8909 var446
= string__NativeString__to_s_with_length(var444
, var445
);
8911 varonce442
= var443
;
8914 var448
= varonce447
;
8918 var451
= string__NativeString__to_s_with_length(var449
, var450
);
8920 varonce447
= var448
;
8922 var452
= ((val
* (*)(val
*, val
*))(var_test
->class->vft
[COLOR_string__Collection__join
]))(var_test
, var448
) /* join on <var_test:Array[String]>*/;
8924 var454
= varonce453
;
8928 var457
= string__NativeString__to_s_with_length(var455
, var456
);
8930 varonce453
= var454
;
8932 var458
= NEW_array__Array(&type_array__Arraykernel__Object
);
8933 { /* var458 = array_instance Array[Object] */
8935 var460
= NEW_array__NativeArray(var459
, &type_array__NativeArraykernel__Object
);
8936 ((struct instance_array__NativeArray
*)var460
)->values
[0] = (val
*) var_res
;
8937 ((struct instance_array__NativeArray
*)var460
)->values
[1] = (val
*) var433
;
8938 ((struct instance_array__NativeArray
*)var460
)->values
[2] = (val
*) var_value1
;
8939 ((struct instance_array__NativeArray
*)var460
)->values
[3] = (val
*) var438
;
8940 ((struct instance_array__NativeArray
*)var460
)->values
[4] = (val
*) var_value2
;
8941 ((struct instance_array__NativeArray
*)var460
)->values
[5] = (val
*) var443
;
8942 ((struct instance_array__NativeArray
*)var460
)->values
[6] = (val
*) var452
;
8943 ((struct instance_array__NativeArray
*)var460
)->values
[7] = (val
*) var454
;
8944 ((void (*)(val
*, val
*, long))(var458
->class->vft
[COLOR_array__Array__with_native
]))(var458
, var460
, var459
) /* with_native on <var458:Array[Object]>*/;
8945 CHECK_NEW_array__Array(var458
);
8947 var461
= ((val
* (*)(val
*))(var458
->class->vft
[COLOR_string__Object__to_s
]))(var458
) /* to_s on <var458:Array[Object]>*/;
8948 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var461
) /* add on <self:SeparateCompilerVisitor>*/;
8954 /* method separate_compiler#SeparateCompilerVisitor#equal_test for (self: Object, RuntimeVariable, RuntimeVariable): RuntimeVariable */
8955 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__equal_test(val
* self
, val
* p0
, val
* p1
) {
8956 val
* var
/* : RuntimeVariable */;
8957 val
* var1
/* : RuntimeVariable */;
8958 var1
= separate_compiler__SeparateCompilerVisitor__equal_test(self
, p0
, p1
);
8963 /* method separate_compiler#SeparateCompilerVisitor#can_be_primitive for (self: SeparateCompilerVisitor, RuntimeVariable): Bool */
8964 short int separate_compiler__SeparateCompilerVisitor__can_be_primitive(val
* self
, val
* p0
) {
8965 short int var
/* : Bool */;
8966 val
* var_value
/* var value: RuntimeVariable */;
8967 val
* var1
/* : MType */;
8968 val
* var_t
/* var t: MType */;
8969 short int var2
/* : Bool */;
8972 val
* var3
/* : MType */;
8973 short int var4
/* : Bool */;
8976 short int var7
/* : Bool */;
8977 short int var8
/* : Bool */;
8978 val
* var9
/* : MClass */;
8979 val
* var10
/* : MClassKind */;
8980 val
* var_k
/* var k: MClassKind */;
8981 short int var11
/* : Bool */;
8982 val
* var12
/* : MClassKind */;
8983 short int var13
/* : Bool */;
8984 short int var_
/* var : Bool */;
8985 val
* var14
/* : String */;
8986 static val
* varonce
;
8987 val
* var15
/* : String */;
8988 char* var16
/* : NativeString */;
8989 long var17
/* : Int */;
8990 val
* var18
/* : String */;
8991 short int var19
/* : Bool */;
8993 var1
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value
) /* mcasttype on <var_value:RuntimeVariable>*/;
8995 /* <var_t:MType> isa MNullableType */
8996 cltype
= type_model__MNullableType
.color
;
8997 idtype
= type_model__MNullableType
.id
;
8998 if(cltype
>= var_t
->type
->table_size
) {
9001 var2
= var_t
->type
->type_table
[cltype
] == idtype
;
9004 var3
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_model__MNullableType__mtype
]))(var_t
) /* mtype on <var_t:MType(MNullableType)>*/;
9008 /* <var_t:MType> isa MClassType */
9009 cltype5
= type_model__MClassType
.color
;
9010 idtype6
= type_model__MClassType
.id
;
9011 if(cltype5
>= var_t
->type
->table_size
) {
9014 var4
= var_t
->type
->type_table
[cltype5
] == idtype6
;
9023 var9
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_model__MClassType__mclass
]))(var_t
) /* mclass on <var_t:MType(MClassType)>*/;
9024 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_model__MClass__kind
]))(var9
) /* kind on <var9:MClass>*/;
9026 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__Object__interface_kind
]))(self
) /* interface_kind on <self:SeparateCompilerVisitor>*/;
9027 var13
= ((short int (*)(val
*, val
*))(var_k
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_k
, var12
) /* == on <var_k:MClassKind>*/;
9032 var14
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_t
) /* ctype on <var_t:MType(MClassType)>*/;
9038 var18
= string__NativeString__to_s_with_length(var16
, var17
);
9042 var19
= ((short int (*)(val
*, val
*))(var14
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var14
, var15
) /* != on <var14:String>*/;
9050 /* method separate_compiler#SeparateCompilerVisitor#can_be_primitive for (self: Object, RuntimeVariable): Bool */
9051 short int VIRTUAL_separate_compiler__SeparateCompilerVisitor__can_be_primitive(val
* self
, val
* p0
) {
9052 short int var
/* : Bool */;
9053 short int var1
/* : Bool */;
9054 var1
= separate_compiler__SeparateCompilerVisitor__can_be_primitive(self
, p0
);
9059 /* method separate_compiler#SeparateCompilerVisitor#maybe_null for (self: SeparateCompilerVisitor, RuntimeVariable): Bool */
9060 short int separate_compiler__SeparateCompilerVisitor__maybe_null(val
* self
, val
* p0
) {
9061 short int var
/* : Bool */;
9062 val
* var_value
/* var value: RuntimeVariable */;
9063 val
* var1
/* : MType */;
9064 val
* var_t
/* var t: MType */;
9065 short int var2
/* : Bool */;
9066 short int var3
/* : Bool */;
9069 short int var_
/* var : Bool */;
9070 short int var4
/* : Bool */;
9074 var1
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value
) /* mcasttype on <var_value:RuntimeVariable>*/;
9076 /* <var_t:MType> isa MNullableType */
9077 cltype
= type_model__MNullableType
.color
;
9078 idtype
= type_model__MNullableType
.id
;
9079 if(cltype
>= var_t
->type
->table_size
) {
9082 var3
= var_t
->type
->type_table
[cltype
] == idtype
;
9088 /* <var_t:MType> isa MNullType */
9089 cltype5
= type_model__MNullType
.color
;
9090 idtype6
= type_model__MNullType
.id
;
9091 if(cltype5
>= var_t
->type
->table_size
) {
9094 var4
= var_t
->type
->type_table
[cltype5
] == idtype6
;
9103 /* method separate_compiler#SeparateCompilerVisitor#maybe_null for (self: Object, RuntimeVariable): Bool */
9104 short int VIRTUAL_separate_compiler__SeparateCompilerVisitor__maybe_null(val
* self
, val
* p0
) {
9105 short int var
/* : Bool */;
9106 short int var1
/* : Bool */;
9107 var1
= separate_compiler__SeparateCompilerVisitor__maybe_null(self
, p0
);
9112 /* method separate_compiler#SeparateCompilerVisitor#array_instance for (self: SeparateCompilerVisitor, Array[RuntimeVariable], MType): RuntimeVariable */
9113 val
* separate_compiler__SeparateCompilerVisitor__array_instance(val
* self
, val
* p0
, val
* p1
) {
9114 val
* var
/* : RuntimeVariable */;
9115 val
* var_array
/* var array: Array[RuntimeVariable] */;
9116 val
* var_elttype
/* var elttype: MType */;
9117 static val
* varonce
;
9118 val
* var1
/* : String */;
9119 char* var2
/* : NativeString */;
9120 long var3
/* : Int */;
9121 val
* var4
/* : String */;
9122 val
* var5
/* : MClass */;
9123 val
* var_nclass
/* var nclass: MClass */;
9124 static val
* varonce6
;
9125 val
* var7
/* : String */;
9126 char* var8
/* : NativeString */;
9127 long var9
/* : Int */;
9128 val
* var10
/* : String */;
9129 val
* var11
/* : MClass */;
9130 val
* var_arrayclass
/* var arrayclass: MClass */;
9131 val
* var12
/* : Array[MType] */;
9132 long var13
/* : Int */;
9133 val
* var14
/* : NativeArray[MType] */;
9134 val
* var15
/* : MClassType */;
9135 val
* var_arraytype
/* var arraytype: MClassType */;
9136 val
* var16
/* : RuntimeVariable */;
9137 val
* var_res
/* var res: RuntimeVariable */;
9138 static val
* varonce17
;
9139 val
* var18
/* : String */;
9140 char* var19
/* : NativeString */;
9141 long var20
/* : Int */;
9142 val
* var21
/* : String */;
9143 static val
* varonce22
;
9144 val
* var23
/* : String */;
9145 char* var24
/* : NativeString */;
9146 long var25
/* : Int */;
9147 val
* var26
/* : String */;
9148 static val
* varonce27
;
9149 val
* var28
/* : String */;
9150 char* var29
/* : NativeString */;
9151 long var30
/* : Int */;
9152 val
* var31
/* : String */;
9153 val
* var32
/* : Array[Object] */;
9154 long var33
/* : Int */;
9155 val
* var34
/* : NativeArray[Object] */;
9156 val
* var35
/* : String */;
9157 long var36
/* : Int */;
9158 val
* var37
/* : RuntimeVariable */;
9159 val
* var_length
/* var length: RuntimeVariable */;
9160 val
* var38
/* : RuntimeVariable */;
9161 val
* var_nat
/* var nat: RuntimeVariable */;
9162 val
* var39
/* : Range[Int] */;
9163 long var40
/* : Int */;
9164 long var41
/* : Int */;
9165 val
* var42
/* : Discrete */;
9166 val
* var43
/* : Discrete */;
9167 val
* var44
/* : Iterator[nullable Object] */;
9168 short int var45
/* : Bool */;
9169 val
* var46
/* : nullable Object */;
9170 long var_i
/* var i: Int */;
9171 long var47
/* : Int */;
9172 val
* var48
/* : nullable Object */;
9173 val
* var49
/* : MClassType */;
9174 val
* var50
/* : RuntimeVariable */;
9175 val
* var_r
/* var r: RuntimeVariable */;
9176 static val
* varonce51
;
9177 val
* var52
/* : String */;
9178 char* var53
/* : NativeString */;
9179 long var54
/* : Int */;
9180 val
* var55
/* : String */;
9181 val
* var56
/* : String */;
9182 static val
* varonce57
;
9183 val
* var58
/* : String */;
9184 char* var59
/* : NativeString */;
9185 long var60
/* : Int */;
9186 val
* var61
/* : String */;
9187 static val
* varonce62
;
9188 val
* var63
/* : String */;
9189 char* var64
/* : NativeString */;
9190 long var65
/* : Int */;
9191 val
* var66
/* : String */;
9192 static val
* varonce67
;
9193 val
* var68
/* : String */;
9194 char* var69
/* : NativeString */;
9195 long var70
/* : Int */;
9196 val
* var71
/* : String */;
9197 static val
* varonce72
;
9198 val
* var73
/* : String */;
9199 char* var74
/* : NativeString */;
9200 long var75
/* : Int */;
9201 val
* var76
/* : String */;
9202 val
* var77
/* : Array[Object] */;
9203 long var78
/* : Int */;
9204 val
* var79
/* : NativeArray[Object] */;
9205 val
* var80
/* : Object */;
9206 val
* var81
/* : String */;
9207 static val
* varonce82
;
9208 val
* var83
/* : String */;
9209 char* var84
/* : NativeString */;
9210 long var85
/* : Int */;
9211 val
* var86
/* : String */;
9212 val
* var87
/* : MClassDef */;
9213 val
* var88
/* : MClassType */;
9214 val
* var89
/* : MMethod */;
9215 val
* var90
/* : Array[RuntimeVariable] */;
9216 long var91
/* : Int */;
9217 val
* var92
/* : NativeArray[RuntimeVariable] */;
9218 val
* var93
/* : nullable RuntimeVariable */;
9219 static val
* varonce94
;
9220 val
* var95
/* : String */;
9221 char* var96
/* : NativeString */;
9222 long var97
/* : Int */;
9223 val
* var98
/* : String */;
9229 var2
= "NativeArray";
9231 var4
= string__NativeString__to_s_with_length(var2
, var3
);
9235 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var1
) /* get_class on <self:SeparateCompilerVisitor>*/;
9242 var10
= string__NativeString__to_s_with_length(var8
, var9
);
9246 var11
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var7
) /* get_class on <self:SeparateCompilerVisitor>*/;
9247 var_arrayclass
= var11
;
9248 var12
= NEW_array__Array(&type_array__Arraymodel__MType
);
9249 { /* var12 = array_instance Array[MType] */
9251 var14
= NEW_array__NativeArray(var13
, &type_array__NativeArraymodel__MType
);
9252 ((struct instance_array__NativeArray
*)var14
)->values
[0] = (val
*) var_elttype
;
9253 ((void (*)(val
*, val
*, long))(var12
->class->vft
[COLOR_array__Array__with_native
]))(var12
, var14
, var13
) /* with_native on <var12:Array[MType]>*/;
9254 CHECK_NEW_array__Array(var12
);
9256 var15
= ((val
* (*)(val
*, val
*))(var_arrayclass
->class->vft
[COLOR_model__MClass__get_mtype
]))(var_arrayclass
, var12
) /* get_mtype on <var_arrayclass:MClass>*/;
9257 var_arraytype
= var15
;
9258 var16
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(self
, var_arraytype
) /* init_instance on <self:SeparateCompilerVisitor>*/;
9265 var21
= string__NativeString__to_s_with_length(var19
, var20
);
9272 var24
= " = array_instance Array[";
9274 var26
= string__NativeString__to_s_with_length(var24
, var25
);
9283 var31
= string__NativeString__to_s_with_length(var29
, var30
);
9287 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
9288 { /* var32 = array_instance Array[Object] */
9290 var34
= NEW_array__NativeArray(var33
, &type_array__NativeArraykernel__Object
);
9291 ((struct instance_array__NativeArray
*)var34
)->values
[0] = (val
*) var18
;
9292 ((struct instance_array__NativeArray
*)var34
)->values
[1] = (val
*) var_res
;
9293 ((struct instance_array__NativeArray
*)var34
)->values
[2] = (val
*) var23
;
9294 ((struct instance_array__NativeArray
*)var34
)->values
[3] = (val
*) var_elttype
;
9295 ((struct instance_array__NativeArray
*)var34
)->values
[4] = (val
*) var28
;
9296 ((void (*)(val
*, val
*, long))(var32
->class->vft
[COLOR_array__Array__with_native
]))(var32
, var34
, var33
) /* with_native on <var32:Array[Object]>*/;
9297 CHECK_NEW_array__Array(var32
);
9299 var35
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_string__Object__to_s
]))(var32
) /* to_s on <var32:Array[Object]>*/;
9300 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var35
) /* add on <self:SeparateCompilerVisitor>*/;
9301 var36
= ((long (*)(val
*))(var_array
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_array
) /* length on <var_array:Array[RuntimeVariable]>*/;
9302 var37
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__int_instance
]))(self
, var36
) /* int_instance on <self:SeparateCompilerVisitor>*/;
9304 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>*/;
9306 var39
= NEW_range__Range(&type_range__Rangekernel__Int
);
9308 var41
= ((long (*)(val
*))(var_array
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_array
) /* length on <var_array:Array[RuntimeVariable]>*/;
9309 var42
= BOX_kernel__Int(var40
); /* autobox from Int to Discrete */
9310 var43
= BOX_kernel__Int(var41
); /* autobox from Int to Discrete */
9311 ((void (*)(val
*, val
*, val
*))(var39
->class->vft
[COLOR_range__Range__without_last
]))(var39
, var42
, var43
) /* without_last on <var39:Range[Int]>*/;
9312 CHECK_NEW_range__Range(var39
);
9313 var44
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var39
) /* iterator on <var39:Range[Int]>*/;
9315 var45
= ((short int (*)(val
*))(var44
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var44
) /* is_ok on <var44:Iterator[nullable Object]>*/;
9317 var46
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var44
) /* item on <var44:Iterator[nullable Object]>*/;
9318 var47
= ((struct instance_kernel__Int
*)var46
)->value
; /* autounbox from nullable Object to Int */;
9320 var48
= ((val
* (*)(val
*, long))(var_array
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_array
, var_i
) /* [] on <var_array:Array[RuntimeVariable]>*/;
9321 var49
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__object_type
]))(self
) /* object_type on <self:SeparateCompilerVisitor>*/;
9322 var50
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var48
, var49
) /* autobox on <self:SeparateCompilerVisitor>*/;
9327 var53
= "((struct instance_";
9329 var55
= string__NativeString__to_s_with_length(var53
, var54
);
9333 var56
= ((val
* (*)(val
*))(var_nclass
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var_nclass
) /* c_name on <var_nclass:MClass>*/;
9339 var61
= string__NativeString__to_s_with_length(var59
, var60
);
9346 var64
= ")->values[";
9348 var66
= string__NativeString__to_s_with_length(var64
, var65
);
9355 var69
= "] = (val*) ";
9357 var71
= string__NativeString__to_s_with_length(var69
, var70
);
9366 var76
= string__NativeString__to_s_with_length(var74
, var75
);
9370 var77
= NEW_array__Array(&type_array__Arraykernel__Object
);
9371 { /* var77 = array_instance Array[Object] */
9373 var79
= NEW_array__NativeArray(var78
, &type_array__NativeArraykernel__Object
);
9374 ((struct instance_array__NativeArray
*)var79
)->values
[0] = (val
*) var52
;
9375 ((struct instance_array__NativeArray
*)var79
)->values
[1] = (val
*) var56
;
9376 ((struct instance_array__NativeArray
*)var79
)->values
[2] = (val
*) var58
;
9377 ((struct instance_array__NativeArray
*)var79
)->values
[3] = (val
*) var_nat
;
9378 ((struct instance_array__NativeArray
*)var79
)->values
[4] = (val
*) var63
;
9379 var80
= BOX_kernel__Int(var_i
); /* autobox from Int to Object */
9380 ((struct instance_array__NativeArray
*)var79
)->values
[5] = (val
*) var80
;
9381 ((struct instance_array__NativeArray
*)var79
)->values
[6] = (val
*) var68
;
9382 ((struct instance_array__NativeArray
*)var79
)->values
[7] = (val
*) var_r
;
9383 ((struct instance_array__NativeArray
*)var79
)->values
[8] = (val
*) var73
;
9384 ((void (*)(val
*, val
*, long))(var77
->class->vft
[COLOR_array__Array__with_native
]))(var77
, var79
, var78
) /* with_native on <var77:Array[Object]>*/;
9385 CHECK_NEW_array__Array(var77
);
9387 var81
= ((val
* (*)(val
*))(var77
->class->vft
[COLOR_string__Object__to_s
]))(var77
) /* to_s on <var77:Array[Object]>*/;
9388 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var81
) /* add on <self:SeparateCompilerVisitor>*/;
9389 CONTINUE_label
: (void)0;
9390 ((void (*)(val
*))(var44
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var44
) /* next on <var44:Iterator[nullable Object]>*/;
9392 BREAK_label
: (void)0;
9396 var84
= "with_native";
9398 var86
= string__NativeString__to_s_with_length(var84
, var85
);
9402 var87
= ((val
* (*)(val
*))(var_arrayclass
->class->vft
[COLOR_model__MClass__intro
]))(var_arrayclass
) /* intro on <var_arrayclass:MClass>*/;
9403 var88
= ((val
* (*)(val
*))(var87
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var87
) /* bound_mtype on <var87:MClassDef>*/;
9404 var89
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_property
]))(self
, var83
, var88
) /* get_property on <self:SeparateCompilerVisitor>*/;
9405 var90
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
9406 { /* var90 = array_instance Array[RuntimeVariable] */
9408 var92
= NEW_array__NativeArray(var91
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
9409 ((struct instance_array__NativeArray
*)var92
)->values
[0] = (val
*) var_res
;
9410 ((struct instance_array__NativeArray
*)var92
)->values
[1] = (val
*) var_nat
;
9411 ((struct instance_array__NativeArray
*)var92
)->values
[2] = (val
*) var_length
;
9412 ((void (*)(val
*, val
*, long))(var90
->class->vft
[COLOR_array__Array__with_native
]))(var90
, var92
, var91
) /* with_native on <var90:Array[RuntimeVariable]>*/;
9413 CHECK_NEW_array__Array(var90
);
9415 var93
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(self
, var89
, var90
) /* send on <self:SeparateCompilerVisitor>*/;
9417 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__check_init_instance
]))(self
, var_res
, var_arraytype
) /* check_init_instance on <self:SeparateCompilerVisitor>*/;
9423 var98
= string__NativeString__to_s_with_length(var96
, var97
);
9427 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var95
) /* add on <self:SeparateCompilerVisitor>*/;
9433 /* method separate_compiler#SeparateCompilerVisitor#array_instance for (self: Object, Array[RuntimeVariable], MType): RuntimeVariable */
9434 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__array_instance(val
* self
, val
* p0
, val
* p1
) {
9435 val
* var
/* : RuntimeVariable */;
9436 val
* var1
/* : RuntimeVariable */;
9437 var1
= separate_compiler__SeparateCompilerVisitor__array_instance(self
, p0
, p1
);
9442 /* method separate_compiler#SeparateCompilerVisitor#native_array_instance for (self: SeparateCompilerVisitor, MType, RuntimeVariable): RuntimeVariable */
9443 val
* separate_compiler__SeparateCompilerVisitor__native_array_instance(val
* self
, val
* p0
, val
* p1
) {
9444 val
* var
/* : RuntimeVariable */;
9445 val
* var_elttype
/* var elttype: MType */;
9446 val
* var_length
/* var length: RuntimeVariable */;
9447 static val
* varonce
;
9448 val
* var1
/* : String */;
9449 char* var2
/* : NativeString */;
9450 long var3
/* : Int */;
9451 val
* var4
/* : String */;
9452 val
* var5
/* : MClass */;
9453 val
* var6
/* : Array[MType] */;
9454 long var7
/* : Int */;
9455 val
* var8
/* : NativeArray[MType] */;
9456 val
* var9
/* : MClassType */;
9457 val
* var_mtype
/* var mtype: MClassType */;
9458 static val
* varonce10
;
9459 val
* var11
/* : String */;
9460 char* var12
/* : NativeString */;
9461 long var13
/* : Int */;
9462 val
* var14
/* : String */;
9463 val
* var15
/* : MClass */;
9464 val
* var16
/* : String */;
9465 val
* var17
/* : Array[Object] */;
9466 long var18
/* : Int */;
9467 val
* var19
/* : NativeArray[Object] */;
9468 val
* var20
/* : String */;
9469 short int var21
/* : Bool */;
9472 val
* var22
/* : AbstractCompiler */;
9473 val
* var_compiler
/* var compiler: SeparateCompiler */;
9474 short int var23
/* : Bool */;
9475 val
* var24
/* : nullable Frame */;
9476 val
* var25
/* : MPropDef */;
9477 val
* var26
/* : MClassDef */;
9478 val
* var27
/* : nullable Frame */;
9479 val
* var28
/* : Array[RuntimeVariable] */;
9480 val
* var29
/* : nullable Object */;
9481 val
* var_recv
/* var recv: RuntimeVariable */;
9482 val
* var30
/* : String */;
9483 val
* var_recv_type_info
/* var recv_type_info: String */;
9484 val
* var31
/* : String */;
9485 short int var32
/* : Bool */;
9486 val
* var33
/* : ModelBuilder */;
9487 val
* var34
/* : ToolContext */;
9488 val
* var35
/* : OptionBool */;
9489 val
* var36
/* : nullable Object */;
9490 short int var37
/* : Bool */;
9491 short int var_
/* var : Bool */;
9492 val
* var38
/* : ModelBuilder */;
9493 val
* var39
/* : ToolContext */;
9494 val
* var40
/* : OptionBool */;
9495 val
* var41
/* : nullable Object */;
9496 short int var42
/* : Bool */;
9497 static val
* varonce43
;
9498 val
* var44
/* : String */;
9499 char* var45
/* : NativeString */;
9500 long var46
/* : Int */;
9501 val
* var47
/* : String */;
9502 val
* var48
/* : MClass */;
9503 val
* var49
/* : String */;
9504 static val
* varonce50
;
9505 val
* var51
/* : String */;
9506 char* var52
/* : NativeString */;
9507 long var53
/* : Int */;
9508 val
* var54
/* : String */;
9509 static val
* varonce55
;
9510 val
* var56
/* : String */;
9511 char* var57
/* : NativeString */;
9512 long var58
/* : Int */;
9513 val
* var59
/* : String */;
9514 static val
* varonce60
;
9515 val
* var61
/* : String */;
9516 char* var62
/* : NativeString */;
9517 long var63
/* : Int */;
9518 val
* var64
/* : String */;
9519 static val
* varonce65
;
9520 val
* var66
/* : String */;
9521 char* var67
/* : NativeString */;
9522 long var68
/* : Int */;
9523 val
* var69
/* : String */;
9524 val
* var70
/* : String */;
9525 static val
* varonce71
;
9526 val
* var72
/* : String */;
9527 char* var73
/* : NativeString */;
9528 long var74
/* : Int */;
9529 val
* var75
/* : String */;
9530 val
* var76
/* : Array[Object] */;
9531 long var77
/* : Int */;
9532 val
* var78
/* : NativeArray[Object] */;
9533 val
* var79
/* : String */;
9534 val
* var80
/* : RuntimeVariable */;
9535 static val
* varonce81
;
9536 val
* var82
/* : String */;
9537 char* var83
/* : NativeString */;
9538 long var84
/* : Int */;
9539 val
* var85
/* : String */;
9540 val
* var86
/* : MClass */;
9541 val
* var87
/* : String */;
9542 static val
* varonce88
;
9543 val
* var89
/* : String */;
9544 char* var90
/* : NativeString */;
9545 long var91
/* : Int */;
9546 val
* var92
/* : String */;
9547 static val
* varonce93
;
9548 val
* var94
/* : String */;
9549 char* var95
/* : NativeString */;
9550 long var96
/* : Int */;
9551 val
* var97
/* : String */;
9552 static val
* varonce98
;
9553 val
* var99
/* : String */;
9554 char* var100
/* : NativeString */;
9555 long var101
/* : Int */;
9556 val
* var102
/* : String */;
9557 val
* var103
/* : String */;
9558 static val
* varonce104
;
9559 val
* var105
/* : String */;
9560 char* var106
/* : NativeString */;
9561 long var107
/* : Int */;
9562 val
* var108
/* : String */;
9563 val
* var109
/* : Array[Object] */;
9564 long var110
/* : Int */;
9565 val
* var111
/* : NativeArray[Object] */;
9566 val
* var112
/* : String */;
9567 val
* var113
/* : RuntimeVariable */;
9568 val
* var114
/* : Set[MType] */;
9569 static val
* varonce115
;
9570 val
* var116
/* : String */;
9571 char* var117
/* : NativeString */;
9572 long var118
/* : Int */;
9573 val
* var119
/* : String */;
9574 val
* var120
/* : String */;
9575 val
* var121
/* : Array[Object] */;
9576 long var122
/* : Int */;
9577 val
* var123
/* : NativeArray[Object] */;
9578 val
* var124
/* : String */;
9579 static val
* varonce125
;
9580 val
* var126
/* : String */;
9581 char* var127
/* : NativeString */;
9582 long var128
/* : Int */;
9583 val
* var129
/* : String */;
9584 val
* var130
/* : MClass */;
9585 val
* var131
/* : String */;
9586 static val
* varonce132
;
9587 val
* var133
/* : String */;
9588 char* var134
/* : NativeString */;
9589 long var135
/* : Int */;
9590 val
* var136
/* : String */;
9591 static val
* varonce137
;
9592 val
* var138
/* : String */;
9593 char* var139
/* : NativeString */;
9594 long var140
/* : Int */;
9595 val
* var141
/* : String */;
9596 val
* var142
/* : String */;
9597 static val
* varonce143
;
9598 val
* var144
/* : String */;
9599 char* var145
/* : NativeString */;
9600 long var146
/* : Int */;
9601 val
* var147
/* : String */;
9602 val
* var148
/* : Array[Object] */;
9603 long var149
/* : Int */;
9604 val
* var150
/* : NativeArray[Object] */;
9605 val
* var151
/* : String */;
9606 val
* var152
/* : RuntimeVariable */;
9612 var2
= "NativeArray";
9614 var4
= string__NativeString__to_s_with_length(var2
, var3
);
9618 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var1
) /* get_class on <self:SeparateCompilerVisitor>*/;
9619 var6
= NEW_array__Array(&type_array__Arraymodel__MType
);
9620 { /* var6 = array_instance Array[MType] */
9622 var8
= NEW_array__NativeArray(var7
, &type_array__NativeArraymodel__MType
);
9623 ((struct instance_array__NativeArray
*)var8
)->values
[0] = (val
*) var_elttype
;
9624 ((void (*)(val
*, val
*, long))(var6
->class->vft
[COLOR_array__Array__with_native
]))(var6
, var8
, var7
) /* with_native on <var6:Array[MType]>*/;
9625 CHECK_NEW_array__Array(var6
);
9627 var9
= ((val
* (*)(val
*, val
*))(var5
->class->vft
[COLOR_model__MClass__get_mtype
]))(var5
, var6
) /* get_mtype on <var5:MClass>*/;
9634 var14
= string__NativeString__to_s_with_length(var12
, var13
);
9638 var15
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType>*/;
9639 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var15
) /* c_name on <var15:MClass>*/;
9640 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
9641 { /* var17 = array_instance Array[Object] */
9643 var19
= NEW_array__NativeArray(var18
, &type_array__NativeArraykernel__Object
);
9644 ((struct instance_array__NativeArray
*)var19
)->values
[0] = (val
*) var11
;
9645 ((struct instance_array__NativeArray
*)var19
)->values
[1] = (val
*) var16
;
9646 ((void (*)(val
*, val
*, long))(var17
->class->vft
[COLOR_array__Array__with_native
]))(var17
, var19
, var18
) /* with_native on <var17:Array[Object]>*/;
9647 CHECK_NEW_array__Array(var17
);
9649 var20
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_string__Object__to_s
]))(var17
) /* to_s on <var17:Array[Object]>*/;
9650 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var20
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
9651 /* <var_mtype:MClassType> isa MGenericType */
9652 cltype
= type_model__MGenericType
.color
;
9653 idtype
= type_model__MGenericType
.id
;
9654 if(cltype
>= var_mtype
->type
->table_size
) {
9657 var21
= var_mtype
->type
->type_table
[cltype
] == idtype
;
9660 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9661 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1543);
9664 var22
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
9665 var_compiler
= var22
;
9666 var23
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MClassType(MGenericType)>*/;
9668 var24
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
9669 if (var24
== NULL
) {
9670 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
9671 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1546);
9674 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var24
) /* mpropdef on <var24:nullable Frame>*/;
9676 var26
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var25
) /* mclassdef on <var25:MPropDef>*/;
9677 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__link_unresolved_type
]))(self
, var26
, var_mtype
) /* link_unresolved_type on <self:SeparateCompilerVisitor>*/;
9678 var27
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
9679 if (var27
== NULL
) {
9680 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
9681 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1547);
9684 var28
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_abstract_compiler__Frame__arguments
]))(var27
) /* arguments on <var27:nullable Frame>*/;
9686 var29
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var28
) /* first on <var28:Array[RuntimeVariable]>*/;
9688 var30
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__type_info
]))(self
, var_recv
) /* type_info on <self:SeparateCompilerVisitor>*/;
9689 var_recv_type_info
= var30
;
9690 var31
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_mtype
) /* const_color on <var_mtype:MClassType(MGenericType)>*/;
9691 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var31
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
9692 var33
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
9693 var34
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var33
) /* toolcontext on <var33:ModelBuilder>*/;
9694 var35
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phmod_typing
]))(var34
) /* opt_phmod_typing on <var34:ToolContext>*/;
9695 var36
= ((val
* (*)(val
*))(var35
->class->vft
[COLOR_opts__Option__value
]))(var35
) /* value on <var35:OptionBool>*/;
9696 var37
= ((struct instance_kernel__Bool
*)var36
)->value
; /* autounbox from nullable Object to Bool */;
9701 var38
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
9702 var39
= ((val
* (*)(val
*))(var38
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var38
) /* toolcontext on <var38:ModelBuilder>*/;
9703 var40
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phand_typing
]))(var39
) /* opt_phand_typing on <var39:ToolContext>*/;
9704 var41
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_opts__Option__value
]))(var40
) /* value on <var40:OptionBool>*/;
9705 var42
= ((struct instance_kernel__Bool
*)var41
)->value
; /* autounbox from nullable Object to Bool */;
9714 var47
= string__NativeString__to_s_with_length(var45
, var46
);
9718 var48
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType(MGenericType)>*/;
9719 var49
= ((val
* (*)(val
*))(var48
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var48
) /* c_name on <var48:MClass>*/;
9725 var54
= string__NativeString__to_s_with_length(var52
, var53
);
9734 var59
= string__NativeString__to_s_with_length(var57
, var58
);
9741 var62
= "->resolution_table->types[HASH(";
9743 var64
= string__NativeString__to_s_with_length(var62
, var63
);
9750 var67
= "->resolution_table->mask, ";
9752 var69
= string__NativeString__to_s_with_length(var67
, var68
);
9756 var70
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_mtype
) /* const_color on <var_mtype:MClassType(MGenericType)>*/;
9762 var75
= string__NativeString__to_s_with_length(var73
, var74
);
9766 var76
= NEW_array__Array(&type_array__Arraykernel__Object
);
9767 { /* var76 = array_instance Array[Object] */
9769 var78
= NEW_array__NativeArray(var77
, &type_array__NativeArraykernel__Object
);
9770 ((struct instance_array__NativeArray
*)var78
)->values
[0] = (val
*) var44
;
9771 ((struct instance_array__NativeArray
*)var78
)->values
[1] = (val
*) var49
;
9772 ((struct instance_array__NativeArray
*)var78
)->values
[2] = (val
*) var51
;
9773 ((struct instance_array__NativeArray
*)var78
)->values
[3] = (val
*) var_length
;
9774 ((struct instance_array__NativeArray
*)var78
)->values
[4] = (val
*) var56
;
9775 ((struct instance_array__NativeArray
*)var78
)->values
[5] = (val
*) var_recv_type_info
;
9776 ((struct instance_array__NativeArray
*)var78
)->values
[6] = (val
*) var61
;
9777 ((struct instance_array__NativeArray
*)var78
)->values
[7] = (val
*) var_recv_type_info
;
9778 ((struct instance_array__NativeArray
*)var78
)->values
[8] = (val
*) var66
;
9779 ((struct instance_array__NativeArray
*)var78
)->values
[9] = (val
*) var70
;
9780 ((struct instance_array__NativeArray
*)var78
)->values
[10] = (val
*) var72
;
9781 ((void (*)(val
*, val
*, long))(var76
->class->vft
[COLOR_array__Array__with_native
]))(var76
, var78
, var77
) /* with_native on <var76:Array[Object]>*/;
9782 CHECK_NEW_array__Array(var76
);
9784 var79
= ((val
* (*)(val
*))(var76
->class->vft
[COLOR_string__Object__to_s
]))(var76
) /* to_s on <var76:Array[Object]>*/;
9785 var80
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(self
, var79
, var_mtype
) /* new_expr on <self:SeparateCompilerVisitor>*/;
9794 var85
= string__NativeString__to_s_with_length(var83
, var84
);
9798 var86
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType(MGenericType)>*/;
9799 var87
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var86
) /* c_name on <var86:MClass>*/;
9805 var92
= string__NativeString__to_s_with_length(var90
, var91
);
9814 var97
= string__NativeString__to_s_with_length(var95
, var96
);
9821 var100
= "->resolution_table->types[";
9823 var102
= string__NativeString__to_s_with_length(var100
, var101
);
9827 var103
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_mtype
) /* const_color on <var_mtype:MClassType(MGenericType)>*/;
9829 var105
= varonce104
;
9833 var108
= string__NativeString__to_s_with_length(var106
, var107
);
9835 varonce104
= var105
;
9837 var109
= NEW_array__Array(&type_array__Arraykernel__Object
);
9838 { /* var109 = array_instance Array[Object] */
9840 var111
= NEW_array__NativeArray(var110
, &type_array__NativeArraykernel__Object
);
9841 ((struct instance_array__NativeArray
*)var111
)->values
[0] = (val
*) var82
;
9842 ((struct instance_array__NativeArray
*)var111
)->values
[1] = (val
*) var87
;
9843 ((struct instance_array__NativeArray
*)var111
)->values
[2] = (val
*) var89
;
9844 ((struct instance_array__NativeArray
*)var111
)->values
[3] = (val
*) var_length
;
9845 ((struct instance_array__NativeArray
*)var111
)->values
[4] = (val
*) var94
;
9846 ((struct instance_array__NativeArray
*)var111
)->values
[5] = (val
*) var_recv_type_info
;
9847 ((struct instance_array__NativeArray
*)var111
)->values
[6] = (val
*) var99
;
9848 ((struct instance_array__NativeArray
*)var111
)->values
[7] = (val
*) var103
;
9849 ((struct instance_array__NativeArray
*)var111
)->values
[8] = (val
*) var105
;
9850 ((void (*)(val
*, val
*, long))(var109
->class->vft
[COLOR_array__Array__with_native
]))(var109
, var111
, var110
) /* with_native on <var109:Array[Object]>*/;
9851 CHECK_NEW_array__Array(var109
);
9853 var112
= ((val
* (*)(val
*))(var109
->class->vft
[COLOR_string__Object__to_s
]))(var109
) /* to_s on <var109:Array[Object]>*/;
9854 var113
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(self
, var112
, var_mtype
) /* new_expr on <self:SeparateCompilerVisitor>*/;
9860 var114
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_separate_compiler__SeparateCompiler__undead_types
]))(var_compiler
) /* undead_types on <var_compiler:SeparateCompiler>*/;
9861 ((void (*)(val
*, val
*))(var114
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var114
, var_mtype
) /* add on <var114:Set[MType]>*/;
9863 var116
= varonce115
;
9867 var119
= string__NativeString__to_s_with_length(var117
, var118
);
9869 varonce115
= var116
;
9871 var120
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType(MGenericType)>*/;
9872 var121
= NEW_array__Array(&type_array__Arraykernel__Object
);
9873 { /* var121 = array_instance Array[Object] */
9875 var123
= NEW_array__NativeArray(var122
, &type_array__NativeArraykernel__Object
);
9876 ((struct instance_array__NativeArray
*)var123
)->values
[0] = (val
*) var116
;
9877 ((struct instance_array__NativeArray
*)var123
)->values
[1] = (val
*) var120
;
9878 ((void (*)(val
*, val
*, long))(var121
->class->vft
[COLOR_array__Array__with_native
]))(var121
, var123
, var122
) /* with_native on <var121:Array[Object]>*/;
9879 CHECK_NEW_array__Array(var121
);
9881 var124
= ((val
* (*)(val
*))(var121
->class->vft
[COLOR_string__Object__to_s
]))(var121
) /* to_s on <var121:Array[Object]>*/;
9882 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var124
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
9884 var126
= varonce125
;
9888 var129
= string__NativeString__to_s_with_length(var127
, var128
);
9890 varonce125
= var126
;
9892 var130
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType(MGenericType)>*/;
9893 var131
= ((val
* (*)(val
*))(var130
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var130
) /* c_name on <var130:MClass>*/;
9895 var133
= varonce132
;
9899 var136
= string__NativeString__to_s_with_length(var134
, var135
);
9901 varonce132
= var133
;
9904 var138
= varonce137
;
9906 var139
= ", &type_";
9908 var141
= string__NativeString__to_s_with_length(var139
, var140
);
9910 varonce137
= var138
;
9912 var142
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType(MGenericType)>*/;
9914 var144
= varonce143
;
9918 var147
= string__NativeString__to_s_with_length(var145
, var146
);
9920 varonce143
= var144
;
9922 var148
= NEW_array__Array(&type_array__Arraykernel__Object
);
9923 { /* var148 = array_instance Array[Object] */
9925 var150
= NEW_array__NativeArray(var149
, &type_array__NativeArraykernel__Object
);
9926 ((struct instance_array__NativeArray
*)var150
)->values
[0] = (val
*) var126
;
9927 ((struct instance_array__NativeArray
*)var150
)->values
[1] = (val
*) var131
;
9928 ((struct instance_array__NativeArray
*)var150
)->values
[2] = (val
*) var133
;
9929 ((struct instance_array__NativeArray
*)var150
)->values
[3] = (val
*) var_length
;
9930 ((struct instance_array__NativeArray
*)var150
)->values
[4] = (val
*) var138
;
9931 ((struct instance_array__NativeArray
*)var150
)->values
[5] = (val
*) var142
;
9932 ((struct instance_array__NativeArray
*)var150
)->values
[6] = (val
*) var144
;
9933 ((void (*)(val
*, val
*, long))(var148
->class->vft
[COLOR_array__Array__with_native
]))(var148
, var150
, var149
) /* with_native on <var148:Array[Object]>*/;
9934 CHECK_NEW_array__Array(var148
);
9936 var151
= ((val
* (*)(val
*))(var148
->class->vft
[COLOR_string__Object__to_s
]))(var148
) /* to_s on <var148:Array[Object]>*/;
9937 var152
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(self
, var151
, var_mtype
) /* new_expr on <self:SeparateCompilerVisitor>*/;
9943 /* method separate_compiler#SeparateCompilerVisitor#native_array_instance for (self: Object, MType, RuntimeVariable): RuntimeVariable */
9944 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__native_array_instance(val
* self
, val
* p0
, val
* p1
) {
9945 val
* var
/* : RuntimeVariable */;
9946 val
* var1
/* : RuntimeVariable */;
9947 var1
= separate_compiler__SeparateCompilerVisitor__native_array_instance(self
, p0
, p1
);