1 #include "separate_compiler.sep.0.h"
2 /* method separate_compiler#SeparateRuntimeFunction#compile_to_c for (self: SeparateRuntimeFunction, AbstractCompiler) */
3 void separate_compiler__SeparateRuntimeFunction__compile_to_c(val
* self
, val
* p0
) {
4 short int var
/* : Bool */;
7 const struct type
* type_struct
;
8 const char* var_class_name
;
9 val
* var_compiler
/* var compiler: AbstractCompiler */;
10 val
* var1
/* : MMethodDef */;
11 val
* var_mmethoddef
/* var mmethoddef: MMethodDef */;
12 val
* var2
/* : MMethodDef */;
13 val
* var3
/* : MClassDef */;
14 val
* var4
/* : MClassType */;
15 val
* var_recv
/* var recv: MClassType */;
16 val
* var5
/* : AbstractCompilerVisitor */;
17 val
* var_v
/* var v: AbstractCompilerVisitor */;
18 val
* var6
/* : RuntimeVariable */;
20 val
* var7
/* : String */;
21 char* var8
/* : NativeString */;
22 long var9
/* : Int */;
23 val
* var10
/* : String */;
24 val
* var_selfvar
/* var selfvar: RuntimeVariable */;
25 val
* var11
/* : Array[RuntimeVariable] */;
26 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
27 val
* var12
/* : Frame */;
28 val
* var_frame
/* var frame: Frame */;
29 val
* var13
/* : nullable MSignature */;
30 val
* var14
/* : MClassDef */;
31 val
* var15
/* : MClassType */;
32 val
* var16
/* : MClassDef */;
33 val
* var17
/* : MClassType */;
34 val
* var18
/* : MClassDef */;
35 val
* var19
/* : MModule */;
36 short int var20
/* : Bool */;
37 val
* var21
/* : MType */;
38 val
* var_msignature
/* var msignature: MSignature */;
39 val
* var22
/* : Buffer */;
40 val
* var_sig
/* var sig: Buffer */;
41 val
* var23
/* : Buffer */;
42 val
* var_comment
/* var comment: Buffer */;
43 val
* var24
/* : nullable MType */;
44 val
* var_ret
/* var ret: nullable MType */;
45 val
* var25
/* : null */;
46 short int var26
/* : Bool */;
47 val
* var27
/* : String */;
48 static val
* varonce28
;
49 val
* var29
/* : String */;
50 char* var30
/* : NativeString */;
51 long var31
/* : Int */;
52 val
* var32
/* : String */;
53 val
* var33
/* : Array[Object] */;
54 long var34
/* : Int */;
55 val
* var35
/* : NativeArray[Object] */;
56 val
* var36
/* : String */;
57 val
* var37
/* : MProperty */;
58 short int var38
/* : Bool */;
59 val
* var39
/* : String */;
60 static val
* varonce40
;
61 val
* var41
/* : String */;
62 char* var42
/* : NativeString */;
63 long var43
/* : Int */;
64 val
* var44
/* : String */;
65 val
* var45
/* : Array[Object] */;
66 long var46
/* : Int */;
67 val
* var47
/* : NativeArray[Object] */;
68 val
* var48
/* : String */;
69 static val
* varonce49
;
70 val
* var50
/* : String */;
71 char* var51
/* : NativeString */;
72 long var52
/* : Int */;
73 val
* var53
/* : String */;
74 val
* var54
/* : String */;
75 static val
* varonce55
;
76 val
* var56
/* : String */;
77 char* var57
/* : NativeString */;
78 long var58
/* : Int */;
79 val
* var59
/* : String */;
80 val
* var60
/* : MType */;
81 val
* var61
/* : String */;
82 static val
* varonce62
;
83 val
* var63
/* : String */;
84 char* var64
/* : NativeString */;
85 long var65
/* : Int */;
86 val
* var66
/* : String */;
87 val
* var67
/* : Array[Object] */;
88 long var68
/* : Int */;
89 val
* var69
/* : NativeArray[Object] */;
90 val
* var70
/* : String */;
91 static val
* varonce71
;
92 val
* var72
/* : String */;
93 char* var73
/* : NativeString */;
94 long var74
/* : Int */;
95 val
* var75
/* : String */;
96 static val
* varonce76
;
97 val
* var77
/* : String */;
98 char* var78
/* : NativeString */;
99 long var79
/* : Int */;
100 val
* var80
/* : String */;
101 val
* var81
/* : MType */;
102 val
* var82
/* : Array[Object] */;
103 long var83
/* : Int */;
104 val
* var84
/* : NativeArray[Object] */;
105 val
* var85
/* : String */;
106 val
* var86
/* : Range[Int] */;
107 long var87
/* : Int */;
108 long var88
/* : Int */;
109 val
* var89
/* : Discrete */;
110 val
* var90
/* : Discrete */;
111 val
* var91
/* : Iterator[nullable Object] */;
112 short int var92
/* : Bool */;
113 val
* var93
/* : nullable Object */;
114 long var_i
/* var i: Int */;
115 long var94
/* : Int */;
116 val
* var95
/* : Array[MParameter] */;
117 val
* var96
/* : nullable Object */;
118 val
* var97
/* : MType */;
119 val
* var_mtype
/* var mtype: MType */;
120 long var98
/* : Int */;
121 short int var99
/* : Bool */;
122 short int var101
/* : Bool */;
123 static val
* varonce102
;
124 val
* var103
/* : String */;
125 char* var104
/* : NativeString */;
126 long var105
/* : Int */;
127 val
* var106
/* : String */;
128 val
* var107
/* : MClass */;
129 val
* var108
/* : Array[MType] */;
130 long var109
/* : Int */;
131 val
* var110
/* : NativeArray[MType] */;
132 val
* var111
/* : MClassType */;
133 static val
* varonce112
;
134 val
* var113
/* : String */;
135 char* var114
/* : NativeString */;
136 long var115
/* : Int */;
137 val
* var116
/* : String */;
138 val
* var117
/* : Array[Object] */;
139 long var118
/* : Int */;
140 val
* var119
/* : NativeArray[Object] */;
141 val
* var120
/* : String */;
142 static val
* varonce121
;
143 val
* var122
/* : String */;
144 char* var123
/* : NativeString */;
145 long var124
/* : Int */;
146 val
* var125
/* : String */;
147 val
* var126
/* : String */;
148 static val
* varonce127
;
149 val
* var128
/* : String */;
150 char* var129
/* : NativeString */;
151 long var130
/* : Int */;
152 val
* var131
/* : String */;
153 val
* var132
/* : Array[Object] */;
154 long var133
/* : Int */;
155 val
* var134
/* : NativeArray[Object] */;
156 val
* var135
/* : Object */;
157 val
* var136
/* : String */;
158 val
* var137
/* : RuntimeVariable */;
159 val
* var138
/* : Array[Object] */;
160 long var139
/* : Int */;
161 val
* var_
/* var : Array[Object] */;
162 static val
* varonce140
;
163 val
* var141
/* : String */;
164 char* var142
/* : NativeString */;
165 long var143
/* : Int */;
166 val
* var144
/* : String */;
167 val
* var145
/* : nullable Object */;
168 static val
* varonce146
;
169 val
* var147
/* : String */;
170 char* var148
/* : NativeString */;
171 long var149
/* : Int */;
172 val
* var150
/* : String */;
173 val
* var151
/* : String */;
174 val
* var_argvar
/* var argvar: RuntimeVariable */;
175 static val
* varonce152
;
176 val
* var153
/* : String */;
177 char* var154
/* : NativeString */;
178 long var155
/* : Int */;
179 val
* var156
/* : String */;
180 static val
* varonce157
;
181 val
* var158
/* : String */;
182 char* var159
/* : NativeString */;
183 long var160
/* : Int */;
184 val
* var161
/* : String */;
185 val
* var162
/* : null */;
186 short int var163
/* : Bool */;
187 static val
* varonce164
;
188 val
* var165
/* : String */;
189 char* var166
/* : NativeString */;
190 long var167
/* : Int */;
191 val
* var168
/* : String */;
192 val
* var169
/* : Array[Object] */;
193 long var170
/* : Int */;
194 val
* var171
/* : NativeArray[Object] */;
195 val
* var172
/* : String */;
196 val
* var173
/* : String */;
197 static val
* varonce174
;
198 val
* var175
/* : String */;
199 char* var176
/* : NativeString */;
200 long var177
/* : Int */;
201 val
* var178
/* : String */;
202 val
* var179
/* : Array[Object] */;
203 long var180
/* : Int */;
204 val
* var181
/* : NativeArray[Object] */;
205 val
* var182
/* : String */;
206 static val
* varonce183
;
207 val
* var184
/* : String */;
208 char* var185
/* : NativeString */;
209 long var186
/* : Int */;
210 val
* var187
/* : String */;
211 static val
* varonce188
;
212 val
* var189
/* : String */;
213 char* var190
/* : NativeString */;
214 long var191
/* : Int */;
215 val
* var192
/* : String */;
216 static val
* varonce193
;
217 val
* var194
/* : String */;
218 char* var195
/* : NativeString */;
219 long var196
/* : Int */;
220 val
* var197
/* : String */;
221 val
* var198
/* : Array[Object] */;
222 long var199
/* : Int */;
223 val
* var200
/* : NativeArray[Object] */;
224 val
* var201
/* : String */;
225 static val
* varonce202
;
226 val
* var203
/* : String */;
227 char* var204
/* : NativeString */;
228 long var205
/* : Int */;
229 val
* var206
/* : String */;
230 val
* var207
/* : Array[Object] */;
231 long var208
/* : Int */;
232 val
* var209
/* : NativeArray[Object] */;
233 val
* var210
/* : String */;
234 val
* var211
/* : null */;
235 short int var212
/* : Bool */;
236 val
* var213
/* : RuntimeVariable */;
237 static val
* varonce214
;
238 val
* var215
/* : String */;
239 char* var216
/* : NativeString */;
240 long var217
/* : Int */;
241 val
* var218
/* : String */;
242 val
* var219
/* : String */;
243 val
* var220
/* : nullable Object */;
244 val
* var221
/* : MType */;
245 short int var222
/* : Bool */;
246 val
* var223
/* : nullable RuntimeVariable */;
247 val
* var224
/* : nullable String */;
248 static val
* varonce225
;
249 val
* var226
/* : String */;
250 char* var227
/* : NativeString */;
251 long var228
/* : Int */;
252 val
* var229
/* : String */;
253 val
* var230
/* : Array[Object] */;
254 long var231
/* : Int */;
255 val
* var232
/* : NativeArray[Object] */;
256 val
* var233
/* : String */;
257 val
* var234
/* : null */;
258 short int var235
/* : Bool */;
259 static val
* varonce236
;
260 val
* var237
/* : String */;
261 char* var238
/* : NativeString */;
262 long var239
/* : Int */;
263 val
* var240
/* : String */;
264 val
* var241
/* : nullable RuntimeVariable */;
265 static val
* varonce242
;
266 val
* var243
/* : String */;
267 char* var244
/* : NativeString */;
268 long var245
/* : Int */;
269 val
* var246
/* : String */;
270 val
* var247
/* : Array[Object] */;
271 long var248
/* : Int */;
272 val
* var249
/* : NativeArray[Object] */;
273 val
* var250
/* : String */;
274 static val
* varonce251
;
275 val
* var252
/* : String */;
276 char* var253
/* : NativeString */;
277 long var254
/* : Int */;
278 val
* var255
/* : String */;
279 val
* var256
/* : String */;
280 static val
* varonce257
;
281 val
* var258
/* : String */;
282 char* var259
/* : NativeString */;
283 long var260
/* : Int */;
284 val
* var261
/* : String */;
285 long var262
/* : Int */;
286 short int var263
/* : Bool */;
287 short int var264
/* : Bool */;
288 val
* var265
/* : HashMap[String, String] */;
289 val
* var266
/* : String */;
290 val
* var267
/* : MClassDef */;
291 val
* var268
/* : MModule */;
292 val
* var269
/* : String */;
293 static val
* varonce270
;
294 val
* var271
/* : String */;
295 char* var272
/* : NativeString */;
296 long var273
/* : Int */;
297 val
* var274
/* : String */;
298 val
* var275
/* : MClassDef */;
299 val
* var276
/* : MClass */;
300 val
* var277
/* : String */;
301 static val
* varonce278
;
302 val
* var279
/* : String */;
303 char* var280
/* : NativeString */;
304 long var281
/* : Int */;
305 val
* var282
/* : String */;
306 val
* var283
/* : MProperty */;
307 val
* var284
/* : String */;
308 static val
* varonce285
;
309 val
* var286
/* : String */;
310 char* var287
/* : NativeString */;
311 long var288
/* : Int */;
312 val
* var289
/* : String */;
313 val
* var290
/* : Location */;
314 val
* var291
/* : nullable SourceFile */;
315 val
* var292
/* : String */;
316 static val
* varonce293
;
317 val
* var294
/* : String */;
318 char* var295
/* : NativeString */;
319 long var296
/* : Int */;
320 val
* var297
/* : String */;
321 val
* var298
/* : Location */;
322 long var299
/* : Int */;
323 static val
* varonce300
;
324 val
* var301
/* : String */;
325 char* var302
/* : NativeString */;
326 long var303
/* : Int */;
327 val
* var304
/* : String */;
328 val
* var305
/* : Array[Object] */;
329 long var306
/* : Int */;
330 val
* var307
/* : NativeArray[Object] */;
331 val
* var308
/* : Object */;
332 val
* var309
/* : String */;
333 /* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
334 /* <p0:AbstractCompiler> isa COMPILER */
335 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractRuntimeFunction_VTCOMPILER
];
336 cltype
= type_struct
->color
;
337 idtype
= type_struct
->id
;
338 if(cltype
>= p0
->type
->table_size
) {
341 var
= p0
->type
->type_table
[cltype
] == idtype
;
344 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
345 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name
);
346 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1619);
350 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:SeparateRuntimeFunction>*/;
351 var_mmethoddef
= var1
;
352 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:SeparateRuntimeFunction>*/;
353 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var2
) /* mclassdef on <var2:MMethodDef>*/;
354 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var3
) /* bound_mtype on <var3:MClassDef>*/;
356 var5
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__new_visitor
]))(var_compiler
) /* new_visitor on <var_compiler:AbstractCompiler>*/;
358 var6
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
364 var10
= string__NativeString__to_s_with_length(var8
, var9
);
368 ((void (*)(val
*, val
*, val
*, val
*))(var6
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var6
, var7
, var_recv
, var_recv
) /* init on <var6:RuntimeVariable>*/;
370 var11
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
371 ((void (*)(val
*))(var11
->class->vft
[COLOR_array__Array__init
]))(var11
) /* init on <var11:Array[RuntimeVariable]>*/;
372 var_arguments
= var11
;
373 var12
= NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame
);
374 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var12
->class->vft
[COLOR_abstract_compiler__Frame__init
]))(var12
, var_v
, var_mmethoddef
, var_recv
, var_arguments
) /* init on <var12:Frame>*/;
376 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(var_v
, var_frame
) /* frame= on <var_v:AbstractCompilerVisitor>*/;
377 var13
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var_mmethoddef
) /* msignature on <var_mmethoddef:MMethodDef>*/;
378 var14
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
379 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var14
) /* bound_mtype on <var14:MClassDef>*/;
380 var16
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
381 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var16
) /* bound_mtype on <var16:MClassDef>*/;
382 var18
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
383 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var18
) /* mmodule on <var18:MClassDef>*/;
386 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
387 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1630);
390 var21
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var13
->class->vft
[COLOR_model__MType__resolve_for
]))(var13
, var15
, var17
, var19
, var20
) /* resolve_for on <var13:nullable MSignature>*/;
392 var_msignature
= var21
;
393 var22
= NEW_string__Buffer(&type_string__Buffer
);
394 ((void (*)(val
*))(var22
->class->vft
[COLOR_string__Buffer__init
]))(var22
) /* init on <var22:Buffer>*/;
396 var23
= NEW_string__Buffer(&type_string__Buffer
);
397 ((void (*)(val
*))(var23
->class->vft
[COLOR_string__Buffer__init
]))(var23
) /* init on <var23:Buffer>*/;
399 var24
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var_msignature
) /* return_mtype on <var_msignature:MSignature>*/;
402 if (var_ret
== NULL
) {
403 var26
= 0; /* is null */
405 var26
= 1; /* arg is null and recv is not */
408 var27
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:nullable MType(MType)>*/;
414 var32
= string__NativeString__to_s_with_length(var30
, var31
);
418 var33
= NEW_array__Array(&type_array__Arraykernel__Object
);
419 { /* var33 = array_instance Array[Object] */
421 var35
= NEW_array__NativeArray(var34
, &type_array__NativeArraykernel__Object
);
422 ((struct instance_array__NativeArray
*)var35
)->values
[0] = (val
*) var27
;
423 ((struct instance_array__NativeArray
*)var35
)->values
[1] = (val
*) var29
;
424 ((void (*)(val
*, val
*, long))(var33
->class->vft
[COLOR_array__Array__with_native
]))(var33
, var35
, var34
) /* with_native on <var33:Array[Object]>*/;
426 var36
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_string__Object__to_s
]))(var33
) /* to_s on <var33:Array[Object]>*/;
427 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var36
) /* append on <var_sig:Buffer>*/;
429 var37
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mmethoddef
) /* mproperty on <var_mmethoddef:MMethodDef>*/;
430 var38
= ((short int (*)(val
*))(var37
->class->vft
[COLOR_model__MMethod__is_new
]))(var37
) /* is_new on <var37:MProperty(MMethod)>*/;
433 var39
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:nullable MType(MClassType)>*/;
439 var44
= string__NativeString__to_s_with_length(var42
, var43
);
443 var45
= NEW_array__Array(&type_array__Arraykernel__Object
);
444 { /* var45 = array_instance Array[Object] */
446 var47
= NEW_array__NativeArray(var46
, &type_array__NativeArraykernel__Object
);
447 ((struct instance_array__NativeArray
*)var47
)->values
[0] = (val
*) var39
;
448 ((struct instance_array__NativeArray
*)var47
)->values
[1] = (val
*) var41
;
449 ((void (*)(val
*, val
*, long))(var45
->class->vft
[COLOR_array__Array__with_native
]))(var45
, var47
, var46
) /* with_native on <var45:Array[Object]>*/;
451 var48
= ((val
* (*)(val
*))(var45
->class->vft
[COLOR_string__Object__to_s
]))(var45
) /* to_s on <var45:Array[Object]>*/;
452 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var48
) /* append on <var_sig:Buffer>*/;
459 var53
= string__NativeString__to_s_with_length(var51
, var52
);
463 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var50
) /* append on <var_sig:Buffer>*/;
466 var54
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name
]))(self
) /* c_name on <self:SeparateRuntimeFunction>*/;
467 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var54
) /* append on <var_sig:Buffer>*/;
473 var59
= string__NativeString__to_s_with_length(var57
, var58
);
477 var60
= ((val
* (*)(val
*))(var_selfvar
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_selfvar
) /* mtype on <var_selfvar:RuntimeVariable>*/;
478 var61
= ((val
* (*)(val
*))(var60
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var60
) /* ctype on <var60:MType>*/;
484 var66
= string__NativeString__to_s_with_length(var64
, var65
);
488 var67
= NEW_array__Array(&type_array__Arraykernel__Object
);
489 { /* var67 = array_instance Array[Object] */
491 var69
= NEW_array__NativeArray(var68
, &type_array__NativeArraykernel__Object
);
492 ((struct instance_array__NativeArray
*)var69
)->values
[0] = (val
*) var56
;
493 ((struct instance_array__NativeArray
*)var69
)->values
[1] = (val
*) var61
;
494 ((struct instance_array__NativeArray
*)var69
)->values
[2] = (val
*) var63
;
495 ((struct instance_array__NativeArray
*)var69
)->values
[3] = (val
*) var_selfvar
;
496 ((void (*)(val
*, val
*, long))(var67
->class->vft
[COLOR_array__Array__with_native
]))(var67
, var69
, var68
) /* with_native on <var67:Array[Object]>*/;
498 var70
= ((val
* (*)(val
*))(var67
->class->vft
[COLOR_string__Object__to_s
]))(var67
) /* to_s on <var67:Array[Object]>*/;
499 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var70
) /* append on <var_sig:Buffer>*/;
505 var75
= string__NativeString__to_s_with_length(var73
, var74
);
514 var80
= string__NativeString__to_s_with_length(var78
, var79
);
518 var81
= ((val
* (*)(val
*))(var_selfvar
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_selfvar
) /* mtype on <var_selfvar:RuntimeVariable>*/;
519 var82
= NEW_array__Array(&type_array__Arraykernel__Object
);
520 { /* var82 = array_instance Array[Object] */
522 var84
= NEW_array__NativeArray(var83
, &type_array__NativeArraykernel__Object
);
523 ((struct instance_array__NativeArray
*)var84
)->values
[0] = (val
*) var72
;
524 ((struct instance_array__NativeArray
*)var84
)->values
[1] = (val
*) var_selfvar
;
525 ((struct instance_array__NativeArray
*)var84
)->values
[2] = (val
*) var77
;
526 ((struct instance_array__NativeArray
*)var84
)->values
[3] = (val
*) var81
;
527 ((void (*)(val
*, val
*, long))(var82
->class->vft
[COLOR_array__Array__with_native
]))(var82
, var84
, var83
) /* with_native on <var82:Array[Object]>*/;
529 var85
= ((val
* (*)(val
*))(var82
->class->vft
[COLOR_string__Object__to_s
]))(var82
) /* to_s on <var82:Array[Object]>*/;
530 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var85
) /* append on <var_comment:Buffer>*/;
531 ((void (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_arguments
, var_selfvar
) /* add on <var_arguments:Array[RuntimeVariable]>*/;
532 var86
= NEW_range__Range(&type_range__Rangekernel__Int
);
534 var88
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:MSignature>*/;
535 var89
= BOX_kernel__Int(var87
); /* autobox from Int to Discrete */
536 var90
= BOX_kernel__Int(var88
); /* autobox from Int to Discrete */
537 ((void (*)(val
*, val
*, val
*))(var86
->class->vft
[COLOR_range__Range__without_last
]))(var86
, var89
, var90
) /* without_last on <var86:Range[Int]>*/;
538 var91
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var86
) /* iterator on <var86:Range[Int]>*/;
540 var92
= ((short int (*)(val
*))(var91
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var91
) /* is_ok on <var91:Iterator[nullable Object]>*/;
542 var93
= ((val
* (*)(val
*))(var91
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var91
) /* item on <var91:Iterator[nullable Object]>*/;
543 var94
= ((struct instance_kernel__Int
*)var93
)->value
; /* autounbox from nullable Object to Int */;
545 var95
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_msignature
) /* mparameters on <var_msignature:MSignature>*/;
546 var96
= ((val
* (*)(val
*, long))(var95
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var95
, var_i
) /* [] on <var95:Array[MParameter]>*/;
547 var97
= ((val
* (*)(val
*))(var96
->class->vft
[COLOR_model__MParameter__mtype
]))(var96
) /* mtype on <var96:nullable Object(MParameter)>*/;
549 var98
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__vararg_rank
]))(var_msignature
) /* vararg_rank on <var_msignature:MSignature>*/;
550 { /* Inline kernel#Int#== (var_i,var98) */
551 var101
= var_i
== var98
;
554 RET_LABEL100
:(void)0;
562 var106
= string__NativeString__to_s_with_length(var104
, var105
);
566 var107
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(var_v
, var103
) /* get_class on <var_v:AbstractCompilerVisitor>*/;
567 var108
= NEW_array__Array(&type_array__Arraymodel__MType
);
568 { /* var108 = array_instance Array[MType] */
570 var110
= NEW_array__NativeArray(var109
, &type_array__NativeArraymodel__MType
);
571 ((struct instance_array__NativeArray
*)var110
)->values
[0] = (val
*) var_mtype
;
572 ((void (*)(val
*, val
*, long))(var108
->class->vft
[COLOR_array__Array__with_native
]))(var108
, var110
, var109
) /* with_native on <var108:Array[MType]>*/;
574 var111
= ((val
* (*)(val
*, val
*))(var107
->class->vft
[COLOR_model__MClass__get_mtype
]))(var107
, var108
) /* get_mtype on <var107:MClass>*/;
583 var116
= string__NativeString__to_s_with_length(var114
, var115
);
587 var117
= NEW_array__Array(&type_array__Arraykernel__Object
);
588 { /* var117 = array_instance Array[Object] */
590 var119
= NEW_array__NativeArray(var118
, &type_array__NativeArraykernel__Object
);
591 ((struct instance_array__NativeArray
*)var119
)->values
[0] = (val
*) var113
;
592 ((struct instance_array__NativeArray
*)var119
)->values
[1] = (val
*) var_mtype
;
593 ((void (*)(val
*, val
*, long))(var117
->class->vft
[COLOR_array__Array__with_native
]))(var117
, var119
, var118
) /* with_native on <var117:Array[Object]>*/;
595 var120
= ((val
* (*)(val
*))(var117
->class->vft
[COLOR_string__Object__to_s
]))(var117
) /* to_s on <var117:Array[Object]>*/;
596 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var120
) /* append on <var_comment:Buffer>*/;
602 var125
= string__NativeString__to_s_with_length(var123
, var124
);
606 var126
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
612 var131
= string__NativeString__to_s_with_length(var129
, var130
);
616 var132
= NEW_array__Array(&type_array__Arraykernel__Object
);
617 { /* var132 = array_instance Array[Object] */
619 var134
= NEW_array__NativeArray(var133
, &type_array__NativeArraykernel__Object
);
620 ((struct instance_array__NativeArray
*)var134
)->values
[0] = (val
*) var122
;
621 ((struct instance_array__NativeArray
*)var134
)->values
[1] = (val
*) var126
;
622 ((struct instance_array__NativeArray
*)var134
)->values
[2] = (val
*) var128
;
623 var135
= BOX_kernel__Int(var_i
); /* autobox from Int to Object */
624 ((struct instance_array__NativeArray
*)var134
)->values
[3] = (val
*) var135
;
625 ((void (*)(val
*, val
*, long))(var132
->class->vft
[COLOR_array__Array__with_native
]))(var132
, var134
, var133
) /* with_native on <var132:Array[Object]>*/;
627 var136
= ((val
* (*)(val
*))(var132
->class->vft
[COLOR_string__Object__to_s
]))(var132
) /* to_s on <var132:Array[Object]>*/;
628 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var136
) /* append on <var_sig:Buffer>*/;
629 var137
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
630 var138
= NEW_array__Array(&type_array__Arraykernel__Object
);
632 ((void (*)(val
*, long))(var138
->class->vft
[COLOR_array__Array__with_capacity
]))(var138
, var139
) /* with_capacity on <var138:Array[Object]>*/;
639 var144
= string__NativeString__to_s_with_length(var142
, var143
);
643 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var141
) /* add on <var_:Array[Object]>*/;
644 var145
= BOX_kernel__Int(var_i
); /* autobox from Int to nullable Object */
645 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var145
) /* add on <var_:Array[Object]>*/;
651 var150
= string__NativeString__to_s_with_length(var148
, var149
);
655 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var147
) /* add on <var_:Array[Object]>*/;
656 var151
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
657 ((void (*)(val
*, val
*, val
*, val
*))(var137
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var137
, var151
, var_mtype
, var_mtype
) /* init on <var137:RuntimeVariable>*/;
659 ((void (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_arguments
, var_argvar
) /* add on <var_arguments:Array[RuntimeVariable]>*/;
660 CONTINUE_label
: (void)0;
661 ((void (*)(val
*))(var91
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var91
) /* next on <var91:Iterator[nullable Object]>*/;
663 BREAK_label
: (void)0;
669 var156
= string__NativeString__to_s_with_length(var154
, var155
);
673 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var153
) /* append on <var_sig:Buffer>*/;
679 var161
= string__NativeString__to_s_with_length(var159
, var160
);
683 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var158
) /* append on <var_comment:Buffer>*/;
685 if (var_ret
== NULL
) {
686 var163
= 0; /* is null */
688 var163
= 1; /* arg is null and recv is not */
696 var168
= string__NativeString__to_s_with_length(var166
, var167
);
700 var169
= NEW_array__Array(&type_array__Arraykernel__Object
);
701 { /* var169 = array_instance Array[Object] */
703 var171
= NEW_array__NativeArray(var170
, &type_array__NativeArraykernel__Object
);
704 ((struct instance_array__NativeArray
*)var171
)->values
[0] = (val
*) var165
;
705 ((struct instance_array__NativeArray
*)var171
)->values
[1] = (val
*) var_ret
;
706 ((void (*)(val
*, val
*, long))(var169
->class->vft
[COLOR_array__Array__with_native
]))(var169
, var171
, var170
) /* with_native on <var169:Array[Object]>*/;
708 var172
= ((val
* (*)(val
*))(var169
->class->vft
[COLOR_string__Object__to_s
]))(var169
) /* to_s on <var169:Array[Object]>*/;
709 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var172
) /* append on <var_comment:Buffer>*/;
712 var173
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name
]))(self
) /* c_name on <self:SeparateRuntimeFunction>*/;
718 var178
= string__NativeString__to_s_with_length(var176
, var177
);
722 var179
= NEW_array__Array(&type_array__Arraykernel__Object
);
723 { /* var179 = array_instance Array[Object] */
725 var181
= NEW_array__NativeArray(var180
, &type_array__NativeArraykernel__Object
);
726 ((struct instance_array__NativeArray
*)var181
)->values
[0] = (val
*) var_sig
;
727 ((struct instance_array__NativeArray
*)var181
)->values
[1] = (val
*) var175
;
728 ((void (*)(val
*, val
*, long))(var179
->class->vft
[COLOR_array__Array__with_native
]))(var179
, var181
, var180
) /* with_native on <var179:Array[Object]>*/;
730 var182
= ((val
* (*)(val
*))(var179
->class->vft
[COLOR_string__Object__to_s
]))(var179
) /* to_s on <var179:Array[Object]>*/;
731 ((void (*)(val
*, val
*, val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provide_declaration
]))(var_compiler
, var173
, var182
) /* provide_declaration on <var_compiler:AbstractCompiler>*/;
735 var185
= "/* method ";
737 var187
= string__NativeString__to_s_with_length(var185
, var186
);
746 var192
= string__NativeString__to_s_with_length(var190
, var191
);
755 var197
= string__NativeString__to_s_with_length(var195
, var196
);
759 var198
= NEW_array__Array(&type_array__Arraykernel__Object
);
760 { /* var198 = array_instance Array[Object] */
762 var200
= NEW_array__NativeArray(var199
, &type_array__NativeArraykernel__Object
);
763 ((struct instance_array__NativeArray
*)var200
)->values
[0] = (val
*) var184
;
764 ((struct instance_array__NativeArray
*)var200
)->values
[1] = (val
*) self
;
765 ((struct instance_array__NativeArray
*)var200
)->values
[2] = (val
*) var189
;
766 ((struct instance_array__NativeArray
*)var200
)->values
[3] = (val
*) var_comment
;
767 ((struct instance_array__NativeArray
*)var200
)->values
[4] = (val
*) var194
;
768 ((void (*)(val
*, val
*, long))(var198
->class->vft
[COLOR_array__Array__with_native
]))(var198
, var200
, var199
) /* with_native on <var198:Array[Object]>*/;
770 var201
= ((val
* (*)(val
*))(var198
->class->vft
[COLOR_string__Object__to_s
]))(var198
) /* to_s on <var198:Array[Object]>*/;
771 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var201
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
777 var206
= string__NativeString__to_s_with_length(var204
, var205
);
781 var207
= NEW_array__Array(&type_array__Arraykernel__Object
);
782 { /* var207 = array_instance Array[Object] */
784 var209
= NEW_array__NativeArray(var208
, &type_array__NativeArraykernel__Object
);
785 ((struct instance_array__NativeArray
*)var209
)->values
[0] = (val
*) var_sig
;
786 ((struct instance_array__NativeArray
*)var209
)->values
[1] = (val
*) var203
;
787 ((void (*)(val
*, val
*, long))(var207
->class->vft
[COLOR_array__Array__with_native
]))(var207
, var209
, var208
) /* with_native on <var207:Array[Object]>*/;
789 var210
= ((val
* (*)(val
*))(var207
->class->vft
[COLOR_string__Object__to_s
]))(var207
) /* to_s on <var207:Array[Object]>*/;
790 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var210
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
792 if (var_ret
== NULL
) {
793 var212
= 0; /* is null */
795 var212
= 1; /* arg is null and recv is not */
798 var213
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var_ret
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
799 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar_61d
]))(var_frame
, var213
) /* returnvar= on <var_frame:Frame>*/;
805 var216
= "RET_LABEL";
807 var218
= string__NativeString__to_s_with_length(var216
, var217
);
811 var219
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(var_v
, var215
) /* get_name on <var_v:AbstractCompilerVisitor>*/;
812 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel_61d
]))(var_frame
, var219
) /* returnlabel= on <var_frame:Frame>*/;
813 var220
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
814 var221
= ((val
* (*)(val
*))(var220
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var220
) /* mtype on <var220:nullable Object(RuntimeVariable)>*/;
815 var222
= ((short int (*)(val
*, val
*))(var_recv
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_recv
, var221
) /* != on <var_recv:MClassType>*/;
819 var223
= ((val
* (*)(val
*, val
*, val
*))(var_mmethoddef
->class->vft
[COLOR_abstract_compiler__MMethodDef__compile_inside_to_c
]))(var_mmethoddef
, var_v
, var_arguments
) /* compile_inside_to_c on <var_mmethoddef:MMethodDef>*/;
821 var224
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel
]))(var_frame
) /* returnlabel on <var_frame:Frame>*/;
822 if (var224
== NULL
) {
823 fprintf(stderr
, "Runtime error: %s", "Cast failed");
824 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1676);
832 var229
= string__NativeString__to_s_with_length(var227
, var228
);
836 var230
= NEW_array__Array(&type_array__Arraykernel__Object
);
837 { /* var230 = array_instance Array[Object] */
839 var232
= NEW_array__NativeArray(var231
, &type_array__NativeArraykernel__Object
);
840 ((struct instance_array__NativeArray
*)var232
)->values
[0] = (val
*) var224
;
841 ((struct instance_array__NativeArray
*)var232
)->values
[1] = (val
*) var226
;
842 ((void (*)(val
*, val
*, long))(var230
->class->vft
[COLOR_array__Array__with_native
]))(var230
, var232
, var231
) /* with_native on <var230:Array[Object]>*/;
844 var233
= ((val
* (*)(val
*))(var230
->class->vft
[COLOR_string__Object__to_s
]))(var230
) /* to_s on <var230:Array[Object]>*/;
845 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var233
) /* add on <var_v:AbstractCompilerVisitor>*/;
847 if (var_ret
== NULL
) {
848 var235
= 0; /* is null */
850 var235
= 1; /* arg is null and recv is not */
858 var240
= string__NativeString__to_s_with_length(var238
, var239
);
862 var241
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar
]))(var_frame
) /* returnvar on <var_frame:Frame>*/;
863 if (var241
== NULL
) {
864 fprintf(stderr
, "Runtime error: %s", "Cast failed");
865 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1678);
873 var246
= string__NativeString__to_s_with_length(var244
, var245
);
877 var247
= NEW_array__Array(&type_array__Arraykernel__Object
);
878 { /* var247 = array_instance Array[Object] */
880 var249
= NEW_array__NativeArray(var248
, &type_array__NativeArraykernel__Object
);
881 ((struct instance_array__NativeArray
*)var249
)->values
[0] = (val
*) var237
;
882 ((struct instance_array__NativeArray
*)var249
)->values
[1] = (val
*) var241
;
883 ((struct instance_array__NativeArray
*)var249
)->values
[2] = (val
*) var243
;
884 ((void (*)(val
*, val
*, long))(var247
->class->vft
[COLOR_array__Array__with_native
]))(var247
, var249
, var248
) /* with_native on <var247:Array[Object]>*/;
886 var250
= ((val
* (*)(val
*))(var247
->class->vft
[COLOR_string__Object__to_s
]))(var247
) /* to_s on <var247:Array[Object]>*/;
887 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var250
) /* add on <var_v:AbstractCompilerVisitor>*/;
895 var255
= string__NativeString__to_s_with_length(var253
, var254
);
899 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var252
) /* add on <var_v:AbstractCompilerVisitor>*/;
900 var256
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name
]))(self
) /* c_name on <self:SeparateRuntimeFunction>*/;
906 var261
= string__NativeString__to_s_with_length(var259
, var260
);
911 var263
= ((short int (*)(val
*, val
*, long))(var256
->class->vft
[COLOR_string__AbstractString__has_substring
]))(var256
, var258
, var262
) /* has_substring on <var256:String>*/;
914 var265
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__names
]))(var_compiler
) /* names on <var_compiler:AbstractCompiler>*/;
915 var266
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name
]))(self
) /* c_name on <self:SeparateRuntimeFunction>*/;
916 var267
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
917 var268
= ((val
* (*)(val
*))(var267
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var267
) /* mmodule on <var267:MClassDef>*/;
918 var269
= ((val
* (*)(val
*))(var268
->class->vft
[COLOR_mmodule__MModule__name
]))(var268
) /* name on <var268:MModule>*/;
924 var274
= string__NativeString__to_s_with_length(var272
, var273
);
928 var275
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
929 var276
= ((val
* (*)(val
*))(var275
->class->vft
[COLOR_model__MClassDef__mclass
]))(var275
) /* mclass on <var275:MClassDef>*/;
930 var277
= ((val
* (*)(val
*))(var276
->class->vft
[COLOR_model__MClass__name
]))(var276
) /* name on <var276:MClass>*/;
936 var282
= string__NativeString__to_s_with_length(var280
, var281
);
940 var283
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mmethoddef
) /* mproperty on <var_mmethoddef:MMethodDef>*/;
941 var284
= ((val
* (*)(val
*))(var283
->class->vft
[COLOR_model__MProperty__name
]))(var283
) /* name on <var283:MProperty(MMethod)>*/;
947 var289
= string__NativeString__to_s_with_length(var287
, var288
);
951 var290
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__location
]))(var_mmethoddef
) /* location on <var_mmethoddef:MMethodDef>*/;
952 var291
= ((val
* (*)(val
*))(var290
->class->vft
[COLOR_location__Location__file
]))(var290
) /* file on <var290:Location>*/;
953 if (var291
== NULL
) {
954 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
955 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1681);
958 var292
= ((val
* (*)(val
*))(var291
->class->vft
[COLOR_location__SourceFile__filename
]))(var291
) /* filename on <var291:nullable SourceFile>*/;
965 var297
= string__NativeString__to_s_with_length(var295
, var296
);
969 var298
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__location
]))(var_mmethoddef
) /* location on <var_mmethoddef:MMethodDef>*/;
970 var299
= ((long (*)(val
*))(var298
->class->vft
[COLOR_location__Location__line_start
]))(var298
) /* line_start on <var298:Location>*/;
976 var304
= string__NativeString__to_s_with_length(var302
, var303
);
980 var305
= NEW_array__Array(&type_array__Arraykernel__Object
);
981 { /* var305 = array_instance Array[Object] */
983 var307
= NEW_array__NativeArray(var306
, &type_array__NativeArraykernel__Object
);
984 ((struct instance_array__NativeArray
*)var307
)->values
[0] = (val
*) var269
;
985 ((struct instance_array__NativeArray
*)var307
)->values
[1] = (val
*) var271
;
986 ((struct instance_array__NativeArray
*)var307
)->values
[2] = (val
*) var277
;
987 ((struct instance_array__NativeArray
*)var307
)->values
[3] = (val
*) var279
;
988 ((struct instance_array__NativeArray
*)var307
)->values
[4] = (val
*) var284
;
989 ((struct instance_array__NativeArray
*)var307
)->values
[5] = (val
*) var286
;
990 ((struct instance_array__NativeArray
*)var307
)->values
[6] = (val
*) var292
;
991 ((struct instance_array__NativeArray
*)var307
)->values
[7] = (val
*) var294
;
992 var308
= BOX_kernel__Int(var299
); /* autobox from Int to Object */
993 ((struct instance_array__NativeArray
*)var307
)->values
[8] = (val
*) var308
;
994 ((struct instance_array__NativeArray
*)var307
)->values
[9] = (val
*) var301
;
995 ((void (*)(val
*, val
*, long))(var305
->class->vft
[COLOR_array__Array__with_native
]))(var305
, var307
, var306
) /* with_native on <var305:Array[Object]>*/;
997 var309
= ((val
* (*)(val
*))(var305
->class->vft
[COLOR_string__Object__to_s
]))(var305
) /* to_s on <var305:Array[Object]>*/;
998 ((void (*)(val
*, val
*, val
*))(var265
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var265
, var266
, var309
) /* []= on <var265:HashMap[String, String]>*/;
1003 /* method separate_compiler#SeparateRuntimeFunction#compile_to_c for (self: Object, AbstractCompiler) */
1004 void VIRTUAL_separate_compiler__SeparateRuntimeFunction__compile_to_c(val
* self
, val
* p0
) {
1005 separate_compiler__SeparateRuntimeFunction__compile_to_c(self
, p0
);
1008 /* method separate_compiler#VirtualRuntimeFunction#build_c_name for (self: VirtualRuntimeFunction): String */
1009 val
* separate_compiler__VirtualRuntimeFunction__build_c_name(val
* self
) {
1010 val
* var
/* : String */;
1011 val
* var1
/* : Array[Object] */;
1012 long var2
/* : Int */;
1013 val
* var_
/* var : Array[Object] */;
1014 static val
* varonce
;
1015 val
* var3
/* : String */;
1016 char* var4
/* : NativeString */;
1017 long var5
/* : Int */;
1018 val
* var6
/* : String */;
1019 val
* var7
/* : MMethodDef */;
1020 val
* var8
/* : String */;
1021 static val
* varonce9
;
1022 val
* var10
/* : String */;
1023 char* var11
/* : NativeString */;
1024 long var12
/* : Int */;
1025 val
* var13
/* : String */;
1026 val
* var14
/* : String */;
1027 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
1029 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
1036 var6
= string__NativeString__to_s_with_length(var4
, var5
);
1040 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
1041 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:VirtualRuntimeFunction>*/;
1042 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name
]))(var7
) /* c_name on <var7:MMethodDef>*/;
1043 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var8
) /* add on <var_:Array[Object]>*/;
1049 var13
= string__NativeString__to_s_with_length(var11
, var12
);
1053 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var10
) /* add on <var_:Array[Object]>*/;
1054 var14
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1060 /* method separate_compiler#VirtualRuntimeFunction#build_c_name for (self: Object): String */
1061 val
* VIRTUAL_separate_compiler__VirtualRuntimeFunction__build_c_name(val
* self
) {
1062 val
* var
/* : String */;
1063 val
* var1
/* : String */;
1064 var1
= separate_compiler__VirtualRuntimeFunction__build_c_name(self
);
1069 /* method separate_compiler#VirtualRuntimeFunction#to_s for (self: VirtualRuntimeFunction): String */
1070 val
* separate_compiler__VirtualRuntimeFunction__to_s(val
* self
) {
1071 val
* var
/* : String */;
1072 val
* var1
/* : MMethodDef */;
1073 val
* var2
/* : String */;
1074 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:VirtualRuntimeFunction>*/;
1075 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_string__Object__to_s
]))(var1
) /* to_s on <var1:MMethodDef>*/;
1081 /* method separate_compiler#VirtualRuntimeFunction#to_s for (self: Object): String */
1082 val
* VIRTUAL_separate_compiler__VirtualRuntimeFunction__to_s(val
* self
) {
1083 val
* var
/* : String */;
1084 val
* var1
/* : String */;
1085 var1
= separate_compiler__VirtualRuntimeFunction__to_s(self
);
1090 /* method separate_compiler#VirtualRuntimeFunction#compile_to_c for (self: VirtualRuntimeFunction, AbstractCompiler) */
1091 void separate_compiler__VirtualRuntimeFunction__compile_to_c(val
* self
, val
* p0
) {
1092 short int var
/* : Bool */;
1095 const struct type
* type_struct
;
1096 const char* var_class_name
;
1097 val
* var_compiler
/* var compiler: AbstractCompiler */;
1098 val
* var1
/* : MMethodDef */;
1099 val
* var_mmethoddef
/* var mmethoddef: MMethodDef */;
1100 val
* var2
/* : MMethodDef */;
1101 val
* var3
/* : MClassDef */;
1102 val
* var4
/* : MClassType */;
1103 val
* var_recv
/* var recv: MClassType */;
1104 val
* var5
/* : AbstractCompilerVisitor */;
1105 val
* var_v
/* var v: AbstractCompilerVisitor */;
1106 val
* var6
/* : RuntimeVariable */;
1107 static val
* varonce
;
1108 val
* var7
/* : String */;
1109 char* var8
/* : NativeString */;
1110 long var9
/* : Int */;
1111 val
* var10
/* : String */;
1112 val
* var11
/* : MClassType */;
1113 val
* var_selfvar
/* var selfvar: RuntimeVariable */;
1114 val
* var12
/* : Array[RuntimeVariable] */;
1115 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
1116 val
* var13
/* : Frame */;
1117 val
* var_frame
/* var frame: Frame */;
1118 val
* var14
/* : Buffer */;
1119 val
* var_sig
/* var sig: Buffer */;
1120 val
* var15
/* : Buffer */;
1121 val
* var_comment
/* var comment: Buffer */;
1122 val
* var16
/* : MMethodDef */;
1123 val
* var17
/* : MProperty */;
1124 val
* var18
/* : MPropDef */;
1125 val
* var19
/* : MClassDef */;
1126 val
* var_intromclassdef
/* var intromclassdef: MClassDef */;
1127 val
* var20
/* : MProperty */;
1128 val
* var21
/* : MPropDef */;
1129 val
* var22
/* : nullable MSignature */;
1130 val
* var23
/* : MClassType */;
1131 val
* var24
/* : MClassType */;
1132 val
* var25
/* : MModule */;
1133 short int var26
/* : Bool */;
1134 val
* var27
/* : MType */;
1135 val
* var_msignature
/* var msignature: MSignature */;
1136 val
* var28
/* : nullable MType */;
1137 val
* var_ret
/* var ret: nullable MType */;
1138 val
* var29
/* : null */;
1139 short int var30
/* : Bool */;
1140 val
* var31
/* : String */;
1141 static val
* varonce32
;
1142 val
* var33
/* : String */;
1143 char* var34
/* : NativeString */;
1144 long var35
/* : Int */;
1145 val
* var36
/* : String */;
1146 val
* var37
/* : Array[Object] */;
1147 long var38
/* : Int */;
1148 val
* var39
/* : NativeArray[Object] */;
1149 val
* var40
/* : String */;
1150 val
* var41
/* : MProperty */;
1151 short int var42
/* : Bool */;
1152 val
* var43
/* : String */;
1153 static val
* varonce44
;
1154 val
* var45
/* : String */;
1155 char* var46
/* : NativeString */;
1156 long var47
/* : Int */;
1157 val
* var48
/* : String */;
1158 val
* var49
/* : Array[Object] */;
1159 long var50
/* : Int */;
1160 val
* var51
/* : NativeArray[Object] */;
1161 val
* var52
/* : String */;
1162 static val
* varonce53
;
1163 val
* var54
/* : String */;
1164 char* var55
/* : NativeString */;
1165 long var56
/* : Int */;
1166 val
* var57
/* : String */;
1167 val
* var58
/* : String */;
1168 static val
* varonce59
;
1169 val
* var60
/* : String */;
1170 char* var61
/* : NativeString */;
1171 long var62
/* : Int */;
1172 val
* var63
/* : String */;
1173 val
* var64
/* : MType */;
1174 val
* var65
/* : String */;
1175 static val
* varonce66
;
1176 val
* var67
/* : String */;
1177 char* var68
/* : NativeString */;
1178 long var69
/* : Int */;
1179 val
* var70
/* : String */;
1180 val
* var71
/* : Array[Object] */;
1181 long var72
/* : Int */;
1182 val
* var73
/* : NativeArray[Object] */;
1183 val
* var74
/* : String */;
1184 static val
* varonce75
;
1185 val
* var76
/* : String */;
1186 char* var77
/* : NativeString */;
1187 long var78
/* : Int */;
1188 val
* var79
/* : String */;
1189 static val
* varonce80
;
1190 val
* var81
/* : String */;
1191 char* var82
/* : NativeString */;
1192 long var83
/* : Int */;
1193 val
* var84
/* : String */;
1194 val
* var85
/* : MType */;
1195 val
* var86
/* : Array[Object] */;
1196 long var87
/* : Int */;
1197 val
* var88
/* : NativeArray[Object] */;
1198 val
* var89
/* : String */;
1199 val
* var90
/* : Range[Int] */;
1200 long var91
/* : Int */;
1201 long var92
/* : Int */;
1202 val
* var93
/* : Discrete */;
1203 val
* var94
/* : Discrete */;
1204 val
* var95
/* : Iterator[nullable Object] */;
1205 short int var96
/* : Bool */;
1206 val
* var97
/* : nullable Object */;
1207 long var_i
/* var i: Int */;
1208 long var98
/* : Int */;
1209 val
* var99
/* : Array[MParameter] */;
1210 val
* var100
/* : nullable Object */;
1211 val
* var101
/* : MType */;
1212 val
* var_mtype
/* var mtype: MType */;
1213 long var102
/* : Int */;
1214 short int var103
/* : Bool */;
1215 short int var105
/* : Bool */;
1216 static val
* varonce106
;
1217 val
* var107
/* : String */;
1218 char* var108
/* : NativeString */;
1219 long var109
/* : Int */;
1220 val
* var110
/* : String */;
1221 val
* var111
/* : MClass */;
1222 val
* var112
/* : Array[MType] */;
1223 long var113
/* : Int */;
1224 val
* var114
/* : NativeArray[MType] */;
1225 val
* var115
/* : MClassType */;
1226 static val
* varonce116
;
1227 val
* var117
/* : String */;
1228 char* var118
/* : NativeString */;
1229 long var119
/* : Int */;
1230 val
* var120
/* : String */;
1231 val
* var121
/* : Array[Object] */;
1232 long var122
/* : Int */;
1233 val
* var123
/* : NativeArray[Object] */;
1234 val
* var124
/* : String */;
1235 static val
* varonce125
;
1236 val
* var126
/* : String */;
1237 char* var127
/* : NativeString */;
1238 long var128
/* : Int */;
1239 val
* var129
/* : String */;
1240 val
* var130
/* : String */;
1241 static val
* varonce131
;
1242 val
* var132
/* : String */;
1243 char* var133
/* : NativeString */;
1244 long var134
/* : Int */;
1245 val
* var135
/* : String */;
1246 val
* var136
/* : Array[Object] */;
1247 long var137
/* : Int */;
1248 val
* var138
/* : NativeArray[Object] */;
1249 val
* var139
/* : Object */;
1250 val
* var140
/* : String */;
1251 val
* var141
/* : RuntimeVariable */;
1252 val
* var142
/* : Array[Object] */;
1253 long var143
/* : Int */;
1254 val
* var_
/* var : Array[Object] */;
1255 static val
* varonce144
;
1256 val
* var145
/* : String */;
1257 char* var146
/* : NativeString */;
1258 long var147
/* : Int */;
1259 val
* var148
/* : String */;
1260 val
* var149
/* : nullable Object */;
1261 static val
* varonce150
;
1262 val
* var151
/* : String */;
1263 char* var152
/* : NativeString */;
1264 long var153
/* : Int */;
1265 val
* var154
/* : String */;
1266 val
* var155
/* : String */;
1267 val
* var_argvar
/* var argvar: RuntimeVariable */;
1268 static val
* varonce156
;
1269 val
* var157
/* : String */;
1270 char* var158
/* : NativeString */;
1271 long var159
/* : Int */;
1272 val
* var160
/* : String */;
1273 static val
* varonce161
;
1274 val
* var162
/* : String */;
1275 char* var163
/* : NativeString */;
1276 long var164
/* : Int */;
1277 val
* var165
/* : String */;
1278 val
* var166
/* : null */;
1279 short int var167
/* : Bool */;
1280 static val
* varonce168
;
1281 val
* var169
/* : String */;
1282 char* var170
/* : NativeString */;
1283 long var171
/* : Int */;
1284 val
* var172
/* : String */;
1285 val
* var173
/* : Array[Object] */;
1286 long var174
/* : Int */;
1287 val
* var175
/* : NativeArray[Object] */;
1288 val
* var176
/* : String */;
1289 val
* var177
/* : String */;
1290 static val
* varonce178
;
1291 val
* var179
/* : String */;
1292 char* var180
/* : NativeString */;
1293 long var181
/* : Int */;
1294 val
* var182
/* : String */;
1295 val
* var183
/* : Array[Object] */;
1296 long var184
/* : Int */;
1297 val
* var185
/* : NativeArray[Object] */;
1298 val
* var186
/* : String */;
1299 static val
* varonce187
;
1300 val
* var188
/* : String */;
1301 char* var189
/* : NativeString */;
1302 long var190
/* : Int */;
1303 val
* var191
/* : String */;
1304 static val
* varonce192
;
1305 val
* var193
/* : String */;
1306 char* var194
/* : NativeString */;
1307 long var195
/* : Int */;
1308 val
* var196
/* : String */;
1309 static val
* varonce197
;
1310 val
* var198
/* : String */;
1311 char* var199
/* : NativeString */;
1312 long var200
/* : Int */;
1313 val
* var201
/* : String */;
1314 val
* var202
/* : Array[Object] */;
1315 long var203
/* : Int */;
1316 val
* var204
/* : NativeArray[Object] */;
1317 val
* var205
/* : String */;
1318 static val
* varonce206
;
1319 val
* var207
/* : String */;
1320 char* var208
/* : NativeString */;
1321 long var209
/* : Int */;
1322 val
* var210
/* : String */;
1323 val
* var211
/* : Array[Object] */;
1324 long var212
/* : Int */;
1325 val
* var213
/* : NativeArray[Object] */;
1326 val
* var214
/* : String */;
1327 val
* var215
/* : null */;
1328 short int var216
/* : Bool */;
1329 val
* var217
/* : RuntimeVariable */;
1330 static val
* varonce218
;
1331 val
* var219
/* : String */;
1332 char* var220
/* : NativeString */;
1333 long var221
/* : Int */;
1334 val
* var222
/* : String */;
1335 val
* var223
/* : String */;
1336 val
* var224
/* : nullable RuntimeVariable */;
1337 val
* var_subret
/* var subret: nullable RuntimeVariable */;
1338 val
* var225
/* : null */;
1339 short int var226
/* : Bool */;
1340 val
* var227
/* : null */;
1341 short int var228
/* : Bool */;
1342 val
* var229
/* : nullable RuntimeVariable */;
1343 val
* var230
/* : nullable String */;
1344 static val
* varonce231
;
1345 val
* var232
/* : String */;
1346 char* var233
/* : NativeString */;
1347 long var234
/* : Int */;
1348 val
* var235
/* : String */;
1349 val
* var236
/* : Array[Object] */;
1350 long var237
/* : Int */;
1351 val
* var238
/* : NativeArray[Object] */;
1352 val
* var239
/* : String */;
1353 val
* var240
/* : null */;
1354 short int var241
/* : Bool */;
1355 static val
* varonce242
;
1356 val
* var243
/* : String */;
1357 char* var244
/* : NativeString */;
1358 long var245
/* : Int */;
1359 val
* var246
/* : String */;
1360 val
* var247
/* : nullable RuntimeVariable */;
1361 static val
* varonce248
;
1362 val
* var249
/* : String */;
1363 char* var250
/* : NativeString */;
1364 long var251
/* : Int */;
1365 val
* var252
/* : String */;
1366 val
* var253
/* : Array[Object] */;
1367 long var254
/* : Int */;
1368 val
* var255
/* : NativeArray[Object] */;
1369 val
* var256
/* : String */;
1370 static val
* varonce257
;
1371 val
* var258
/* : String */;
1372 char* var259
/* : NativeString */;
1373 long var260
/* : Int */;
1374 val
* var261
/* : String */;
1375 val
* var262
/* : String */;
1376 static val
* varonce263
;
1377 val
* var264
/* : String */;
1378 char* var265
/* : NativeString */;
1379 long var266
/* : Int */;
1380 val
* var267
/* : String */;
1381 long var268
/* : Int */;
1382 short int var269
/* : Bool */;
1383 short int var270
/* : Bool */;
1384 val
* var271
/* : HashMap[String, String] */;
1385 val
* var272
/* : String */;
1386 val
* var273
/* : MClassDef */;
1387 val
* var274
/* : MModule */;
1388 val
* var275
/* : String */;
1389 static val
* varonce276
;
1390 val
* var277
/* : String */;
1391 char* var278
/* : NativeString */;
1392 long var279
/* : Int */;
1393 val
* var280
/* : String */;
1394 val
* var281
/* : MClassDef */;
1395 val
* var282
/* : MClass */;
1396 val
* var283
/* : String */;
1397 static val
* varonce284
;
1398 val
* var285
/* : String */;
1399 char* var286
/* : NativeString */;
1400 long var287
/* : Int */;
1401 val
* var288
/* : String */;
1402 val
* var289
/* : MProperty */;
1403 val
* var290
/* : String */;
1404 static val
* varonce291
;
1405 val
* var292
/* : String */;
1406 char* var293
/* : NativeString */;
1407 long var294
/* : Int */;
1408 val
* var295
/* : String */;
1409 val
* var296
/* : Location */;
1410 val
* var297
/* : nullable SourceFile */;
1411 val
* var298
/* : String */;
1412 static val
* varonce299
;
1413 val
* var300
/* : String */;
1414 char* var301
/* : NativeString */;
1415 long var302
/* : Int */;
1416 val
* var303
/* : String */;
1417 val
* var304
/* : Location */;
1418 long var305
/* : Int */;
1419 static val
* varonce306
;
1420 val
* var307
/* : String */;
1421 char* var308
/* : NativeString */;
1422 long var309
/* : Int */;
1423 val
* var310
/* : String */;
1424 val
* var311
/* : Array[Object] */;
1425 long var312
/* : Int */;
1426 val
* var313
/* : NativeArray[Object] */;
1427 val
* var314
/* : Object */;
1428 val
* var315
/* : String */;
1429 /* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
1430 /* <p0:AbstractCompiler> isa COMPILER */
1431 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractRuntimeFunction_VTCOMPILER
];
1432 cltype
= type_struct
->color
;
1433 idtype
= type_struct
->id
;
1434 if(cltype
>= p0
->type
->table_size
) {
1437 var
= p0
->type
->type_table
[cltype
] == idtype
;
1440 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1441 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name
);
1442 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1694);
1446 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:VirtualRuntimeFunction>*/;
1447 var_mmethoddef
= var1
;
1448 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:VirtualRuntimeFunction>*/;
1449 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var2
) /* mclassdef on <var2:MMethodDef>*/;
1450 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var3
) /* bound_mtype on <var3:MClassDef>*/;
1452 var5
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__new_visitor
]))(var_compiler
) /* new_visitor on <var_compiler:AbstractCompiler>*/;
1454 var6
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
1460 var10
= string__NativeString__to_s_with_length(var8
, var9
);
1464 var11
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__object_type
]))(var_v
) /* object_type on <var_v:AbstractCompilerVisitor>*/;
1465 ((void (*)(val
*, val
*, val
*, val
*))(var6
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var6
, var7
, var11
, var_recv
) /* init on <var6:RuntimeVariable>*/;
1467 var12
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1468 ((void (*)(val
*))(var12
->class->vft
[COLOR_array__Array__init
]))(var12
) /* init on <var12:Array[RuntimeVariable]>*/;
1469 var_arguments
= var12
;
1470 var13
= NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame
);
1471 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var13
->class->vft
[COLOR_abstract_compiler__Frame__init
]))(var13
, var_v
, var_mmethoddef
, var_recv
, var_arguments
) /* init on <var13:Frame>*/;
1473 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(var_v
, var_frame
) /* frame= on <var_v:AbstractCompilerVisitor>*/;
1474 var14
= NEW_string__Buffer(&type_string__Buffer
);
1475 ((void (*)(val
*))(var14
->class->vft
[COLOR_string__Buffer__init
]))(var14
) /* init on <var14:Buffer>*/;
1477 var15
= NEW_string__Buffer(&type_string__Buffer
);
1478 ((void (*)(val
*))(var15
->class->vft
[COLOR_string__Buffer__init
]))(var15
) /* init on <var15:Buffer>*/;
1479 var_comment
= var15
;
1480 var16
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:VirtualRuntimeFunction>*/;
1481 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var16
) /* mproperty on <var16:MMethodDef>*/;
1482 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_model__MProperty__intro
]))(var17
) /* intro on <var17:MProperty(MMethod)>*/;
1483 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var18
) /* mclassdef on <var18:MPropDef(MMethodDef)>*/;
1484 var_intromclassdef
= var19
;
1485 var20
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mmethoddef
) /* mproperty on <var_mmethoddef:MMethodDef>*/;
1486 var21
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_model__MProperty__intro
]))(var20
) /* intro on <var20:MProperty(MMethod)>*/;
1487 var22
= ((val
* (*)(val
*))(var21
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var21
) /* msignature on <var21:MPropDef(MMethodDef)>*/;
1488 var23
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_intromclassdef
) /* bound_mtype on <var_intromclassdef:MClassDef>*/;
1489 var24
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_intromclassdef
) /* bound_mtype on <var_intromclassdef:MClassDef>*/;
1490 var25
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var_intromclassdef
) /* mmodule on <var_intromclassdef:MClassDef>*/;
1492 if (var22
== NULL
) {
1493 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1494 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1710);
1497 var27
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var22
->class->vft
[COLOR_model__MType__resolve_for
]))(var22
, var23
, var24
, var25
, var26
) /* resolve_for on <var22:nullable MSignature>*/;
1499 var_msignature
= var27
;
1500 var28
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var_msignature
) /* return_mtype on <var_msignature:MSignature>*/;
1503 if (var_ret
== NULL
) {
1504 var30
= 0; /* is null */
1506 var30
= 1; /* arg is null and recv is not */
1509 var31
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:nullable MType(MType)>*/;
1515 var36
= string__NativeString__to_s_with_length(var34
, var35
);
1519 var37
= NEW_array__Array(&type_array__Arraykernel__Object
);
1520 { /* var37 = array_instance Array[Object] */
1522 var39
= NEW_array__NativeArray(var38
, &type_array__NativeArraykernel__Object
);
1523 ((struct instance_array__NativeArray
*)var39
)->values
[0] = (val
*) var31
;
1524 ((struct instance_array__NativeArray
*)var39
)->values
[1] = (val
*) var33
;
1525 ((void (*)(val
*, val
*, long))(var37
->class->vft
[COLOR_array__Array__with_native
]))(var37
, var39
, var38
) /* with_native on <var37:Array[Object]>*/;
1527 var40
= ((val
* (*)(val
*))(var37
->class->vft
[COLOR_string__Object__to_s
]))(var37
) /* to_s on <var37:Array[Object]>*/;
1528 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var40
) /* append on <var_sig:Buffer>*/;
1530 var41
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mmethoddef
) /* mproperty on <var_mmethoddef:MMethodDef>*/;
1531 var42
= ((short int (*)(val
*))(var41
->class->vft
[COLOR_model__MMethod__is_new
]))(var41
) /* is_new on <var41:MProperty(MMethod)>*/;
1534 var43
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:nullable MType(MClassType)>*/;
1540 var48
= string__NativeString__to_s_with_length(var46
, var47
);
1544 var49
= NEW_array__Array(&type_array__Arraykernel__Object
);
1545 { /* var49 = array_instance Array[Object] */
1547 var51
= NEW_array__NativeArray(var50
, &type_array__NativeArraykernel__Object
);
1548 ((struct instance_array__NativeArray
*)var51
)->values
[0] = (val
*) var43
;
1549 ((struct instance_array__NativeArray
*)var51
)->values
[1] = (val
*) var45
;
1550 ((void (*)(val
*, val
*, long))(var49
->class->vft
[COLOR_array__Array__with_native
]))(var49
, var51
, var50
) /* with_native on <var49:Array[Object]>*/;
1552 var52
= ((val
* (*)(val
*))(var49
->class->vft
[COLOR_string__Object__to_s
]))(var49
) /* to_s on <var49:Array[Object]>*/;
1553 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var52
) /* append on <var_sig:Buffer>*/;
1560 var57
= string__NativeString__to_s_with_length(var55
, var56
);
1564 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var54
) /* append on <var_sig:Buffer>*/;
1567 var58
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name
]))(self
) /* c_name on <self:VirtualRuntimeFunction>*/;
1568 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var58
) /* append on <var_sig:Buffer>*/;
1574 var63
= string__NativeString__to_s_with_length(var61
, var62
);
1578 var64
= ((val
* (*)(val
*))(var_selfvar
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_selfvar
) /* mtype on <var_selfvar:RuntimeVariable>*/;
1579 var65
= ((val
* (*)(val
*))(var64
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var64
) /* ctype on <var64:MType>*/;
1585 var70
= string__NativeString__to_s_with_length(var68
, var69
);
1589 var71
= NEW_array__Array(&type_array__Arraykernel__Object
);
1590 { /* var71 = array_instance Array[Object] */
1592 var73
= NEW_array__NativeArray(var72
, &type_array__NativeArraykernel__Object
);
1593 ((struct instance_array__NativeArray
*)var73
)->values
[0] = (val
*) var60
;
1594 ((struct instance_array__NativeArray
*)var73
)->values
[1] = (val
*) var65
;
1595 ((struct instance_array__NativeArray
*)var73
)->values
[2] = (val
*) var67
;
1596 ((struct instance_array__NativeArray
*)var73
)->values
[3] = (val
*) var_selfvar
;
1597 ((void (*)(val
*, val
*, long))(var71
->class->vft
[COLOR_array__Array__with_native
]))(var71
, var73
, var72
) /* with_native on <var71:Array[Object]>*/;
1599 var74
= ((val
* (*)(val
*))(var71
->class->vft
[COLOR_string__Object__to_s
]))(var71
) /* to_s on <var71:Array[Object]>*/;
1600 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var74
) /* append on <var_sig:Buffer>*/;
1606 var79
= string__NativeString__to_s_with_length(var77
, var78
);
1615 var84
= string__NativeString__to_s_with_length(var82
, var83
);
1619 var85
= ((val
* (*)(val
*))(var_selfvar
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_selfvar
) /* mtype on <var_selfvar:RuntimeVariable>*/;
1620 var86
= NEW_array__Array(&type_array__Arraykernel__Object
);
1621 { /* var86 = array_instance Array[Object] */
1623 var88
= NEW_array__NativeArray(var87
, &type_array__NativeArraykernel__Object
);
1624 ((struct instance_array__NativeArray
*)var88
)->values
[0] = (val
*) var76
;
1625 ((struct instance_array__NativeArray
*)var88
)->values
[1] = (val
*) var_selfvar
;
1626 ((struct instance_array__NativeArray
*)var88
)->values
[2] = (val
*) var81
;
1627 ((struct instance_array__NativeArray
*)var88
)->values
[3] = (val
*) var85
;
1628 ((void (*)(val
*, val
*, long))(var86
->class->vft
[COLOR_array__Array__with_native
]))(var86
, var88
, var87
) /* with_native on <var86:Array[Object]>*/;
1630 var89
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_string__Object__to_s
]))(var86
) /* to_s on <var86:Array[Object]>*/;
1631 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var89
) /* append on <var_comment:Buffer>*/;
1632 ((void (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_arguments
, var_selfvar
) /* add on <var_arguments:Array[RuntimeVariable]>*/;
1633 var90
= NEW_range__Range(&type_range__Rangekernel__Int
);
1635 var92
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:MSignature>*/;
1636 var93
= BOX_kernel__Int(var91
); /* autobox from Int to Discrete */
1637 var94
= BOX_kernel__Int(var92
); /* autobox from Int to Discrete */
1638 ((void (*)(val
*, val
*, val
*))(var90
->class->vft
[COLOR_range__Range__without_last
]))(var90
, var93
, var94
) /* without_last on <var90:Range[Int]>*/;
1639 var95
= ((val
* (*)(val
*))(var90
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var90
) /* iterator on <var90:Range[Int]>*/;
1641 var96
= ((short int (*)(val
*))(var95
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var95
) /* is_ok on <var95:Iterator[nullable Object]>*/;
1643 var97
= ((val
* (*)(val
*))(var95
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var95
) /* item on <var95:Iterator[nullable Object]>*/;
1644 var98
= ((struct instance_kernel__Int
*)var97
)->value
; /* autounbox from nullable Object to Int */;
1646 var99
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_msignature
) /* mparameters on <var_msignature:MSignature>*/;
1647 var100
= ((val
* (*)(val
*, long))(var99
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var99
, var_i
) /* [] on <var99:Array[MParameter]>*/;
1648 var101
= ((val
* (*)(val
*))(var100
->class->vft
[COLOR_model__MParameter__mtype
]))(var100
) /* mtype on <var100:nullable Object(MParameter)>*/;
1650 var102
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__vararg_rank
]))(var_msignature
) /* vararg_rank on <var_msignature:MSignature>*/;
1651 { /* Inline kernel#Int#== (var_i,var102) */
1652 var105
= var_i
== var102
;
1655 RET_LABEL104
:(void)0;
1659 var107
= varonce106
;
1663 var110
= string__NativeString__to_s_with_length(var108
, var109
);
1665 varonce106
= var107
;
1667 var111
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(var_v
, var107
) /* get_class on <var_v:AbstractCompilerVisitor>*/;
1668 var112
= NEW_array__Array(&type_array__Arraymodel__MType
);
1669 { /* var112 = array_instance Array[MType] */
1671 var114
= NEW_array__NativeArray(var113
, &type_array__NativeArraymodel__MType
);
1672 ((struct instance_array__NativeArray
*)var114
)->values
[0] = (val
*) var_mtype
;
1673 ((void (*)(val
*, val
*, long))(var112
->class->vft
[COLOR_array__Array__with_native
]))(var112
, var114
, var113
) /* with_native on <var112:Array[MType]>*/;
1675 var115
= ((val
* (*)(val
*, val
*))(var111
->class->vft
[COLOR_model__MClass__get_mtype
]))(var111
, var112
) /* get_mtype on <var111:MClass>*/;
1680 var117
= varonce116
;
1684 var120
= string__NativeString__to_s_with_length(var118
, var119
);
1686 varonce116
= var117
;
1688 var121
= NEW_array__Array(&type_array__Arraykernel__Object
);
1689 { /* var121 = array_instance Array[Object] */
1691 var123
= NEW_array__NativeArray(var122
, &type_array__NativeArraykernel__Object
);
1692 ((struct instance_array__NativeArray
*)var123
)->values
[0] = (val
*) var117
;
1693 ((struct instance_array__NativeArray
*)var123
)->values
[1] = (val
*) var_mtype
;
1694 ((void (*)(val
*, val
*, long))(var121
->class->vft
[COLOR_array__Array__with_native
]))(var121
, var123
, var122
) /* with_native on <var121:Array[Object]>*/;
1696 var124
= ((val
* (*)(val
*))(var121
->class->vft
[COLOR_string__Object__to_s
]))(var121
) /* to_s on <var121:Array[Object]>*/;
1697 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var124
) /* append on <var_comment:Buffer>*/;
1699 var126
= varonce125
;
1703 var129
= string__NativeString__to_s_with_length(var127
, var128
);
1705 varonce125
= var126
;
1707 var130
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
1709 var132
= varonce131
;
1713 var135
= string__NativeString__to_s_with_length(var133
, var134
);
1715 varonce131
= var132
;
1717 var136
= NEW_array__Array(&type_array__Arraykernel__Object
);
1718 { /* var136 = array_instance Array[Object] */
1720 var138
= NEW_array__NativeArray(var137
, &type_array__NativeArraykernel__Object
);
1721 ((struct instance_array__NativeArray
*)var138
)->values
[0] = (val
*) var126
;
1722 ((struct instance_array__NativeArray
*)var138
)->values
[1] = (val
*) var130
;
1723 ((struct instance_array__NativeArray
*)var138
)->values
[2] = (val
*) var132
;
1724 var139
= BOX_kernel__Int(var_i
); /* autobox from Int to Object */
1725 ((struct instance_array__NativeArray
*)var138
)->values
[3] = (val
*) var139
;
1726 ((void (*)(val
*, val
*, long))(var136
->class->vft
[COLOR_array__Array__with_native
]))(var136
, var138
, var137
) /* with_native on <var136:Array[Object]>*/;
1728 var140
= ((val
* (*)(val
*))(var136
->class->vft
[COLOR_string__Object__to_s
]))(var136
) /* to_s on <var136:Array[Object]>*/;
1729 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var140
) /* append on <var_sig:Buffer>*/;
1730 var141
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
1731 var142
= NEW_array__Array(&type_array__Arraykernel__Object
);
1733 ((void (*)(val
*, long))(var142
->class->vft
[COLOR_array__Array__with_capacity
]))(var142
, var143
) /* with_capacity on <var142:Array[Object]>*/;
1736 var145
= varonce144
;
1740 var148
= string__NativeString__to_s_with_length(var146
, var147
);
1742 varonce144
= var145
;
1744 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var145
) /* add on <var_:Array[Object]>*/;
1745 var149
= BOX_kernel__Int(var_i
); /* autobox from Int to nullable Object */
1746 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var149
) /* add on <var_:Array[Object]>*/;
1748 var151
= varonce150
;
1752 var154
= string__NativeString__to_s_with_length(var152
, var153
);
1754 varonce150
= var151
;
1756 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var151
) /* add on <var_:Array[Object]>*/;
1757 var155
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1758 ((void (*)(val
*, val
*, val
*, val
*))(var141
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var141
, var155
, var_mtype
, var_mtype
) /* init on <var141:RuntimeVariable>*/;
1759 var_argvar
= var141
;
1760 ((void (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_arguments
, var_argvar
) /* add on <var_arguments:Array[RuntimeVariable]>*/;
1761 CONTINUE_label
: (void)0;
1762 ((void (*)(val
*))(var95
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var95
) /* next on <var95:Iterator[nullable Object]>*/;
1764 BREAK_label
: (void)0;
1766 var157
= varonce156
;
1770 var160
= string__NativeString__to_s_with_length(var158
, var159
);
1772 varonce156
= var157
;
1774 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var157
) /* append on <var_sig:Buffer>*/;
1776 var162
= varonce161
;
1780 var165
= string__NativeString__to_s_with_length(var163
, var164
);
1782 varonce161
= var162
;
1784 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var162
) /* append on <var_comment:Buffer>*/;
1786 if (var_ret
== NULL
) {
1787 var167
= 0; /* is null */
1789 var167
= 1; /* arg is null and recv is not */
1793 var169
= varonce168
;
1797 var172
= string__NativeString__to_s_with_length(var170
, var171
);
1799 varonce168
= var169
;
1801 var173
= NEW_array__Array(&type_array__Arraykernel__Object
);
1802 { /* var173 = array_instance Array[Object] */
1804 var175
= NEW_array__NativeArray(var174
, &type_array__NativeArraykernel__Object
);
1805 ((struct instance_array__NativeArray
*)var175
)->values
[0] = (val
*) var169
;
1806 ((struct instance_array__NativeArray
*)var175
)->values
[1] = (val
*) var_ret
;
1807 ((void (*)(val
*, val
*, long))(var173
->class->vft
[COLOR_array__Array__with_native
]))(var173
, var175
, var174
) /* with_native on <var173:Array[Object]>*/;
1809 var176
= ((val
* (*)(val
*))(var173
->class->vft
[COLOR_string__Object__to_s
]))(var173
) /* to_s on <var173:Array[Object]>*/;
1810 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var176
) /* append on <var_comment:Buffer>*/;
1813 var177
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name
]))(self
) /* c_name on <self:VirtualRuntimeFunction>*/;
1815 var179
= varonce178
;
1819 var182
= string__NativeString__to_s_with_length(var180
, var181
);
1821 varonce178
= var179
;
1823 var183
= NEW_array__Array(&type_array__Arraykernel__Object
);
1824 { /* var183 = array_instance Array[Object] */
1826 var185
= NEW_array__NativeArray(var184
, &type_array__NativeArraykernel__Object
);
1827 ((struct instance_array__NativeArray
*)var185
)->values
[0] = (val
*) var_sig
;
1828 ((struct instance_array__NativeArray
*)var185
)->values
[1] = (val
*) var179
;
1829 ((void (*)(val
*, val
*, long))(var183
->class->vft
[COLOR_array__Array__with_native
]))(var183
, var185
, var184
) /* with_native on <var183:Array[Object]>*/;
1831 var186
= ((val
* (*)(val
*))(var183
->class->vft
[COLOR_string__Object__to_s
]))(var183
) /* to_s on <var183:Array[Object]>*/;
1832 ((void (*)(val
*, val
*, val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provide_declaration
]))(var_compiler
, var177
, var186
) /* provide_declaration on <var_compiler:AbstractCompiler>*/;
1834 var188
= varonce187
;
1836 var189
= "/* method ";
1838 var191
= string__NativeString__to_s_with_length(var189
, var190
);
1840 varonce187
= var188
;
1843 var193
= varonce192
;
1847 var196
= string__NativeString__to_s_with_length(var194
, var195
);
1849 varonce192
= var193
;
1852 var198
= varonce197
;
1856 var201
= string__NativeString__to_s_with_length(var199
, var200
);
1858 varonce197
= var198
;
1860 var202
= NEW_array__Array(&type_array__Arraykernel__Object
);
1861 { /* var202 = array_instance Array[Object] */
1863 var204
= NEW_array__NativeArray(var203
, &type_array__NativeArraykernel__Object
);
1864 ((struct instance_array__NativeArray
*)var204
)->values
[0] = (val
*) var188
;
1865 ((struct instance_array__NativeArray
*)var204
)->values
[1] = (val
*) self
;
1866 ((struct instance_array__NativeArray
*)var204
)->values
[2] = (val
*) var193
;
1867 ((struct instance_array__NativeArray
*)var204
)->values
[3] = (val
*) var_comment
;
1868 ((struct instance_array__NativeArray
*)var204
)->values
[4] = (val
*) var198
;
1869 ((void (*)(val
*, val
*, long))(var202
->class->vft
[COLOR_array__Array__with_native
]))(var202
, var204
, var203
) /* with_native on <var202:Array[Object]>*/;
1871 var205
= ((val
* (*)(val
*))(var202
->class->vft
[COLOR_string__Object__to_s
]))(var202
) /* to_s on <var202:Array[Object]>*/;
1872 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var205
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
1874 var207
= varonce206
;
1878 var210
= string__NativeString__to_s_with_length(var208
, var209
);
1880 varonce206
= var207
;
1882 var211
= NEW_array__Array(&type_array__Arraykernel__Object
);
1883 { /* var211 = array_instance Array[Object] */
1885 var213
= NEW_array__NativeArray(var212
, &type_array__NativeArraykernel__Object
);
1886 ((struct instance_array__NativeArray
*)var213
)->values
[0] = (val
*) var_sig
;
1887 ((struct instance_array__NativeArray
*)var213
)->values
[1] = (val
*) var207
;
1888 ((void (*)(val
*, val
*, long))(var211
->class->vft
[COLOR_array__Array__with_native
]))(var211
, var213
, var212
) /* with_native on <var211:Array[Object]>*/;
1890 var214
= ((val
* (*)(val
*))(var211
->class->vft
[COLOR_string__Object__to_s
]))(var211
) /* to_s on <var211:Array[Object]>*/;
1891 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var214
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
1893 if (var_ret
== NULL
) {
1894 var216
= 0; /* is null */
1896 var216
= 1; /* arg is null and recv is not */
1899 var217
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var_ret
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
1900 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar_61d
]))(var_frame
, var217
) /* returnvar= on <var_frame:Frame>*/;
1904 var219
= varonce218
;
1906 var220
= "RET_LABEL";
1908 var222
= string__NativeString__to_s_with_length(var220
, var221
);
1910 varonce218
= var219
;
1912 var223
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(var_v
, var219
) /* get_name on <var_v:AbstractCompilerVisitor>*/;
1913 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel_61d
]))(var_frame
, var223
) /* returnlabel= on <var_frame:Frame>*/;
1914 var224
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__call
]))(var_v
, var_mmethoddef
, var_recv
, var_arguments
) /* call on <var_v:AbstractCompilerVisitor>*/;
1915 var_subret
= var224
;
1917 if (var_ret
== NULL
) {
1918 var226
= 0; /* is null */
1920 var226
= 1; /* arg is null and recv is not */
1924 if (var_subret
== NULL
) {
1925 var228
= 0; /* is null */
1927 var228
= 1; /* arg is null and recv is not */
1930 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1931 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1750);
1934 var229
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar
]))(var_frame
) /* returnvar on <var_frame:Frame>*/;
1935 if (var229
== NULL
) {
1936 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1937 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1751);
1940 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var229
, var_subret
) /* assign on <var_v:AbstractCompilerVisitor>*/;
1943 var230
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel
]))(var_frame
) /* returnlabel on <var_frame:Frame>*/;
1944 if (var230
== NULL
) {
1945 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1946 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1754);
1950 var232
= varonce231
;
1954 var235
= string__NativeString__to_s_with_length(var233
, var234
);
1956 varonce231
= var232
;
1958 var236
= NEW_array__Array(&type_array__Arraykernel__Object
);
1959 { /* var236 = array_instance Array[Object] */
1961 var238
= NEW_array__NativeArray(var237
, &type_array__NativeArraykernel__Object
);
1962 ((struct instance_array__NativeArray
*)var238
)->values
[0] = (val
*) var230
;
1963 ((struct instance_array__NativeArray
*)var238
)->values
[1] = (val
*) var232
;
1964 ((void (*)(val
*, val
*, long))(var236
->class->vft
[COLOR_array__Array__with_native
]))(var236
, var238
, var237
) /* with_native on <var236:Array[Object]>*/;
1966 var239
= ((val
* (*)(val
*))(var236
->class->vft
[COLOR_string__Object__to_s
]))(var236
) /* to_s on <var236:Array[Object]>*/;
1967 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var239
) /* add on <var_v:AbstractCompilerVisitor>*/;
1969 if (var_ret
== NULL
) {
1970 var241
= 0; /* is null */
1972 var241
= 1; /* arg is null and recv is not */
1976 var243
= varonce242
;
1980 var246
= string__NativeString__to_s_with_length(var244
, var245
);
1982 varonce242
= var243
;
1984 var247
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar
]))(var_frame
) /* returnvar on <var_frame:Frame>*/;
1985 if (var247
== NULL
) {
1986 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1987 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1756);
1991 var249
= varonce248
;
1995 var252
= string__NativeString__to_s_with_length(var250
, var251
);
1997 varonce248
= var249
;
1999 var253
= NEW_array__Array(&type_array__Arraykernel__Object
);
2000 { /* var253 = array_instance Array[Object] */
2002 var255
= NEW_array__NativeArray(var254
, &type_array__NativeArraykernel__Object
);
2003 ((struct instance_array__NativeArray
*)var255
)->values
[0] = (val
*) var243
;
2004 ((struct instance_array__NativeArray
*)var255
)->values
[1] = (val
*) var247
;
2005 ((struct instance_array__NativeArray
*)var255
)->values
[2] = (val
*) var249
;
2006 ((void (*)(val
*, val
*, long))(var253
->class->vft
[COLOR_array__Array__with_native
]))(var253
, var255
, var254
) /* with_native on <var253:Array[Object]>*/;
2008 var256
= ((val
* (*)(val
*))(var253
->class->vft
[COLOR_string__Object__to_s
]))(var253
) /* to_s on <var253:Array[Object]>*/;
2009 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var256
) /* add on <var_v:AbstractCompilerVisitor>*/;
2013 var258
= varonce257
;
2017 var261
= string__NativeString__to_s_with_length(var259
, var260
);
2019 varonce257
= var258
;
2021 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var258
) /* add on <var_v:AbstractCompilerVisitor>*/;
2022 var262
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name
]))(self
) /* c_name on <self:VirtualRuntimeFunction>*/;
2024 var264
= varonce263
;
2028 var267
= string__NativeString__to_s_with_length(var265
, var266
);
2030 varonce263
= var264
;
2033 var269
= ((short int (*)(val
*, val
*, long))(var262
->class->vft
[COLOR_string__AbstractString__has_substring
]))(var262
, var264
, var268
) /* has_substring on <var262:String>*/;
2036 var271
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__names
]))(var_compiler
) /* names on <var_compiler:AbstractCompiler>*/;
2037 var272
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name
]))(self
) /* c_name on <self:VirtualRuntimeFunction>*/;
2038 var273
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
2039 var274
= ((val
* (*)(val
*))(var273
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var273
) /* mmodule on <var273:MClassDef>*/;
2040 var275
= ((val
* (*)(val
*))(var274
->class->vft
[COLOR_mmodule__MModule__name
]))(var274
) /* name on <var274:MModule>*/;
2042 var277
= varonce276
;
2046 var280
= string__NativeString__to_s_with_length(var278
, var279
);
2048 varonce276
= var277
;
2050 var281
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
2051 var282
= ((val
* (*)(val
*))(var281
->class->vft
[COLOR_model__MClassDef__mclass
]))(var281
) /* mclass on <var281:MClassDef>*/;
2052 var283
= ((val
* (*)(val
*))(var282
->class->vft
[COLOR_model__MClass__name
]))(var282
) /* name on <var282:MClass>*/;
2054 var285
= varonce284
;
2058 var288
= string__NativeString__to_s_with_length(var286
, var287
);
2060 varonce284
= var285
;
2062 var289
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mmethoddef
) /* mproperty on <var_mmethoddef:MMethodDef>*/;
2063 var290
= ((val
* (*)(val
*))(var289
->class->vft
[COLOR_model__MProperty__name
]))(var289
) /* name on <var289:MProperty(MMethod)>*/;
2065 var292
= varonce291
;
2069 var295
= string__NativeString__to_s_with_length(var293
, var294
);
2071 varonce291
= var292
;
2073 var296
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__location
]))(var_mmethoddef
) /* location on <var_mmethoddef:MMethodDef>*/;
2074 var297
= ((val
* (*)(val
*))(var296
->class->vft
[COLOR_location__Location__file
]))(var296
) /* file on <var296:Location>*/;
2075 if (var297
== NULL
) {
2076 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
2077 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1759);
2080 var298
= ((val
* (*)(val
*))(var297
->class->vft
[COLOR_location__SourceFile__filename
]))(var297
) /* filename on <var297:nullable SourceFile>*/;
2083 var300
= varonce299
;
2087 var303
= string__NativeString__to_s_with_length(var301
, var302
);
2089 varonce299
= var300
;
2091 var304
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__location
]))(var_mmethoddef
) /* location on <var_mmethoddef:MMethodDef>*/;
2092 var305
= ((long (*)(val
*))(var304
->class->vft
[COLOR_location__Location__line_start
]))(var304
) /* line_start on <var304:Location>*/;
2094 var307
= varonce306
;
2098 var310
= string__NativeString__to_s_with_length(var308
, var309
);
2100 varonce306
= var307
;
2102 var311
= NEW_array__Array(&type_array__Arraykernel__Object
);
2103 { /* var311 = array_instance Array[Object] */
2105 var313
= NEW_array__NativeArray(var312
, &type_array__NativeArraykernel__Object
);
2106 ((struct instance_array__NativeArray
*)var313
)->values
[0] = (val
*) var275
;
2107 ((struct instance_array__NativeArray
*)var313
)->values
[1] = (val
*) var277
;
2108 ((struct instance_array__NativeArray
*)var313
)->values
[2] = (val
*) var283
;
2109 ((struct instance_array__NativeArray
*)var313
)->values
[3] = (val
*) var285
;
2110 ((struct instance_array__NativeArray
*)var313
)->values
[4] = (val
*) var290
;
2111 ((struct instance_array__NativeArray
*)var313
)->values
[5] = (val
*) var292
;
2112 ((struct instance_array__NativeArray
*)var313
)->values
[6] = (val
*) var298
;
2113 ((struct instance_array__NativeArray
*)var313
)->values
[7] = (val
*) var300
;
2114 var314
= BOX_kernel__Int(var305
); /* autobox from Int to Object */
2115 ((struct instance_array__NativeArray
*)var313
)->values
[8] = (val
*) var314
;
2116 ((struct instance_array__NativeArray
*)var313
)->values
[9] = (val
*) var307
;
2117 ((void (*)(val
*, val
*, long))(var311
->class->vft
[COLOR_array__Array__with_native
]))(var311
, var313
, var312
) /* with_native on <var311:Array[Object]>*/;
2119 var315
= ((val
* (*)(val
*))(var311
->class->vft
[COLOR_string__Object__to_s
]))(var311
) /* to_s on <var311:Array[Object]>*/;
2120 ((void (*)(val
*, val
*, val
*))(var271
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var271
, var272
, var315
) /* []= on <var271:HashMap[String, String]>*/;
2125 /* method separate_compiler#VirtualRuntimeFunction#compile_to_c for (self: Object, AbstractCompiler) */
2126 void VIRTUAL_separate_compiler__VirtualRuntimeFunction__compile_to_c(val
* self
, val
* p0
) {
2127 separate_compiler__VirtualRuntimeFunction__compile_to_c(self
, p0
);
2130 /* method separate_compiler#VirtualRuntimeFunction#call for (self: VirtualRuntimeFunction, AbstractCompilerVisitor, Array[RuntimeVariable]): nullable RuntimeVariable */
2131 val
* separate_compiler__VirtualRuntimeFunction__call(val
* self
, val
* p0
, val
* p1
) {
2132 val
* var
/* : nullable RuntimeVariable */;
2133 short int var1
/* : Bool */;
2136 const struct type
* type_struct
;
2137 const char* var_class_name
;
2138 val
* var_v
/* var v: AbstractCompilerVisitor */;
2139 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
2140 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
2141 /* <p0:AbstractCompilerVisitor> isa VISITOR */
2142 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractRuntimeFunction_VTVISITOR
];
2143 cltype
= type_struct
->color
;
2144 idtype
= type_struct
->id
;
2145 if(cltype
>= p0
->type
->table_size
) {
2148 var1
= p0
->type
->type_table
[cltype
] == idtype
;
2151 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2152 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
2153 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1762);
2158 fprintf(stderr
, "Runtime error: %s", "Aborted");
2159 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1763);
2164 /* method separate_compiler#VirtualRuntimeFunction#call for (self: Object, AbstractCompilerVisitor, Array[RuntimeVariable]): nullable RuntimeVariable */
2165 val
* VIRTUAL_separate_compiler__VirtualRuntimeFunction__call(val
* self
, val
* p0
, val
* p1
) {
2166 val
* var
/* : nullable RuntimeVariable */;
2167 val
* var1
/* : nullable RuntimeVariable */;
2168 var1
= separate_compiler__VirtualRuntimeFunction__call(self
, p0
, p1
);
2173 /* method separate_compiler#MType#const_color for (self: MType): String */
2174 val
* separate_compiler__MType__const_color(val
* self
) {
2175 val
* var
/* : String */;
2176 val
* var1
/* : Array[Object] */;
2177 long var2
/* : Int */;
2178 val
* var_
/* var : Array[Object] */;
2179 static val
* varonce
;
2180 val
* var3
/* : String */;
2181 char* var4
/* : NativeString */;
2182 long var5
/* : Int */;
2183 val
* var6
/* : String */;
2184 val
* var7
/* : String */;
2185 static val
* varonce8
;
2186 val
* var9
/* : String */;
2187 char* var10
/* : NativeString */;
2188 long var11
/* : Int */;
2189 val
* var12
/* : String */;
2190 val
* var13
/* : String */;
2191 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
2193 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
2200 var6
= string__NativeString__to_s_with_length(var4
, var5
);
2204 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
2205 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(self
) /* c_name on <self:MType>*/;
2206 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var7
) /* add on <var_:Array[Object]>*/;
2212 var12
= string__NativeString__to_s_with_length(var10
, var11
);
2216 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var9
) /* add on <var_:Array[Object]>*/;
2217 var13
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
2223 /* method separate_compiler#MType#const_color for (self: Object): String */
2224 val
* VIRTUAL_separate_compiler__MType__const_color(val
* self
) {
2225 val
* var
/* : String */;
2226 val
* var1
/* : String */;
2227 var1
= separate_compiler__MType__const_color(self
);
2232 /* method separate_compiler#MProperty#const_color for (self: MProperty): String */
2233 val
* separate_compiler__MProperty__const_color(val
* self
) {
2234 val
* var
/* : String */;
2235 val
* var1
/* : Array[Object] */;
2236 long var2
/* : Int */;
2237 val
* var_
/* var : Array[Object] */;
2238 static val
* varonce
;
2239 val
* var3
/* : String */;
2240 char* var4
/* : NativeString */;
2241 long var5
/* : Int */;
2242 val
* var6
/* : String */;
2243 val
* var7
/* : String */;
2244 static val
* varonce8
;
2245 val
* var9
/* : String */;
2246 char* var10
/* : NativeString */;
2247 long var11
/* : Int */;
2248 val
* var12
/* : String */;
2249 val
* var13
/* : String */;
2250 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
2252 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
2259 var6
= string__NativeString__to_s_with_length(var4
, var5
);
2263 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
2264 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MProperty__c_name
]))(self
) /* c_name on <self:MProperty>*/;
2265 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var7
) /* add on <var_:Array[Object]>*/;
2271 var12
= string__NativeString__to_s_with_length(var10
, var11
);
2275 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var9
) /* add on <var_:Array[Object]>*/;
2276 var13
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
2282 /* method separate_compiler#MProperty#const_color for (self: Object): String */
2283 val
* VIRTUAL_separate_compiler__MProperty__const_color(val
* self
) {
2284 val
* var
/* : String */;
2285 val
* var1
/* : String */;
2286 var1
= separate_compiler__MProperty__const_color(self
);
2291 /* method separate_compiler#MPropDef#const_color for (self: MPropDef): String */
2292 val
* separate_compiler__MPropDef__const_color(val
* self
) {
2293 val
* var
/* : String */;
2294 val
* var1
/* : Array[Object] */;
2295 long var2
/* : Int */;
2296 val
* var_
/* var : Array[Object] */;
2297 static val
* varonce
;
2298 val
* var3
/* : String */;
2299 char* var4
/* : NativeString */;
2300 long var5
/* : Int */;
2301 val
* var6
/* : String */;
2302 val
* var7
/* : String */;
2303 static val
* varonce8
;
2304 val
* var9
/* : String */;
2305 char* var10
/* : NativeString */;
2306 long var11
/* : Int */;
2307 val
* var12
/* : String */;
2308 val
* var13
/* : String */;
2309 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
2311 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
2318 var6
= string__NativeString__to_s_with_length(var4
, var5
);
2322 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
2323 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name
]))(self
) /* c_name on <self:MPropDef>*/;
2324 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var7
) /* add on <var_:Array[Object]>*/;
2330 var12
= string__NativeString__to_s_with_length(var10
, var11
);
2334 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var9
) /* add on <var_:Array[Object]>*/;
2335 var13
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
2341 /* method separate_compiler#MPropDef#const_color for (self: Object): String */
2342 val
* VIRTUAL_separate_compiler__MPropDef__const_color(val
* self
) {
2343 val
* var
/* : String */;
2344 val
* var1
/* : String */;
2345 var1
= separate_compiler__MPropDef__const_color(self
);