1 #include "separate_compiler.sep.0.h"
2 /* method separate_compiler#SeparateCompilerVisitor#native_array_def for (self: SeparateCompilerVisitor, String, nullable MType, Array[RuntimeVariable]) */
3 void separate_compiler__SeparateCompilerVisitor__native_array_def(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4 val
* var_pname
/* var pname: String */;
5 val
* var_ret_type
/* var ret_type: nullable MType */;
6 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
7 val
* var
/* : nullable Object */;
8 val
* var1
/* : MType */;
9 val
* var_elttype
/* var elttype: MType */;
11 val
* var2
/* : String */;
12 char* var3
/* : NativeString */;
13 long var4
/* : Int */;
14 val
* var5
/* : String */;
15 val
* var6
/* : MClass */;
16 val
* var_nclass
/* var nclass: MClass */;
17 val
* var7
/* : Array[Object] */;
18 long var8
/* : Int */;
19 val
* var_
/* var : Array[Object] */;
21 val
* var10
/* : String */;
22 char* var11
/* : NativeString */;
23 long var12
/* : Int */;
24 val
* var13
/* : String */;
25 val
* var14
/* : String */;
26 static val
* varonce15
;
27 val
* var16
/* : String */;
28 char* var17
/* : NativeString */;
29 long var18
/* : Int */;
30 val
* var19
/* : String */;
31 long var20
/* : Int */;
32 val
* var21
/* : nullable Object */;
33 static val
* varonce22
;
34 val
* var23
/* : String */;
35 char* var24
/* : NativeString */;
36 long var25
/* : Int */;
37 val
* var26
/* : String */;
38 val
* var27
/* : String */;
39 val
* var_recv
/* var recv: String */;
40 static val
* varonce28
;
41 val
* var29
/* : String */;
42 char* var30
/* : NativeString */;
43 long var31
/* : Int */;
44 val
* var32
/* : String */;
45 short int var33
/* : Bool */;
46 static val
* varonce34
;
47 val
* var35
/* : String */;
48 char* var36
/* : NativeString */;
49 long var37
/* : Int */;
50 val
* var38
/* : String */;
51 long var39
/* : Int */;
52 val
* var40
/* : nullable Object */;
53 static val
* varonce41
;
54 val
* var42
/* : String */;
55 char* var43
/* : NativeString */;
56 long var44
/* : Int */;
57 val
* var45
/* : String */;
58 val
* var46
/* : Array[Object] */;
59 long var47
/* : Int */;
60 val
* var48
/* : NativeArray[Object] */;
61 val
* var49
/* : String */;
62 val
* var50
/* : RuntimeVariable */;
63 static val
* varonce51
;
64 val
* var52
/* : String */;
65 char* var53
/* : NativeString */;
66 long var54
/* : Int */;
67 val
* var55
/* : String */;
68 short int var56
/* : Bool */;
69 static val
* varonce57
;
70 val
* var58
/* : String */;
71 char* var59
/* : NativeString */;
72 long var60
/* : Int */;
73 val
* var61
/* : String */;
74 long var62
/* : Int */;
75 val
* var63
/* : nullable Object */;
76 static val
* varonce64
;
77 val
* var65
/* : String */;
78 char* var66
/* : NativeString */;
79 long var67
/* : Int */;
80 val
* var68
/* : String */;
81 long var69
/* : Int */;
82 val
* var70
/* : nullable Object */;
83 static val
* varonce71
;
84 val
* var72
/* : String */;
85 char* var73
/* : NativeString */;
86 long var74
/* : Int */;
87 val
* var75
/* : String */;
88 val
* var76
/* : Array[Object] */;
89 long var77
/* : Int */;
90 val
* var78
/* : NativeArray[Object] */;
91 val
* var79
/* : String */;
92 static val
* varonce80
;
93 val
* var81
/* : String */;
94 char* var82
/* : NativeString */;
95 long var83
/* : Int */;
96 val
* var84
/* : String */;
97 short int var85
/* : Bool */;
98 val
* var86
/* : Array[Object] */;
99 long var87
/* : Int */;
100 val
* var_88
/* var : Array[Object] */;
101 static val
* varonce89
;
102 val
* var90
/* : String */;
103 char* var91
/* : NativeString */;
104 long var92
/* : Int */;
105 val
* var93
/* : String */;
106 val
* var94
/* : String */;
107 static val
* varonce95
;
108 val
* var96
/* : String */;
109 char* var97
/* : NativeString */;
110 long var98
/* : Int */;
111 val
* var99
/* : String */;
112 long var100
/* : Int */;
113 val
* var101
/* : nullable Object */;
114 static val
* varonce102
;
115 val
* var103
/* : String */;
116 char* var104
/* : NativeString */;
117 long var105
/* : Int */;
118 val
* var106
/* : String */;
119 val
* var107
/* : String */;
120 val
* var_recv1
/* var recv1: String */;
121 static val
* varonce108
;
122 val
* var109
/* : String */;
123 char* var110
/* : NativeString */;
124 long var111
/* : Int */;
125 val
* var112
/* : String */;
126 static val
* varonce113
;
127 val
* var114
/* : String */;
128 char* var115
/* : NativeString */;
129 long var116
/* : Int */;
130 val
* var117
/* : String */;
131 static val
* varonce118
;
132 val
* var119
/* : String */;
133 char* var120
/* : NativeString */;
134 long var121
/* : Int */;
135 val
* var122
/* : String */;
136 long var123
/* : Int */;
137 val
* var124
/* : nullable Object */;
138 static val
* varonce125
;
139 val
* var126
/* : String */;
140 char* var127
/* : NativeString */;
141 long var128
/* : Int */;
142 val
* var129
/* : String */;
143 val
* var130
/* : String */;
144 static val
* varonce131
;
145 val
* var132
/* : String */;
146 char* var133
/* : NativeString */;
147 long var134
/* : Int */;
148 val
* var135
/* : String */;
149 val
* var136
/* : Array[Object] */;
150 long var137
/* : Int */;
151 val
* var138
/* : NativeArray[Object] */;
152 val
* var139
/* : String */;
156 var
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
157 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var
) /* mtype on <var:nullable Object(RuntimeVariable)>*/;
162 var3
= "NativeArray";
164 var5
= string__NativeString__to_s_with_length(var3
, var4
);
168 var6
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var2
) /* get_class on <self:SeparateCompilerVisitor>*/;
170 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
172 ((void (*)(val
*, long))(var7
->class->vft
[COLOR_array__Array__with_capacity
]))(var7
, var8
) /* with_capacity on <var7:Array[Object]>*/;
173 CHECK_NEW_array__Array(var7
);
178 var11
= "((struct instance_";
180 var13
= string__NativeString__to_s_with_length(var11
, var12
);
184 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var10
) /* add on <var_:Array[Object]>*/;
185 var14
= ((val
* (*)(val
*))(var_nclass
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var_nclass
) /* c_name on <var_nclass:MClass>*/;
186 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var14
) /* add on <var_:Array[Object]>*/;
192 var19
= string__NativeString__to_s_with_length(var17
, var18
);
196 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var16
) /* add on <var_:Array[Object]>*/;
198 var21
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var20
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
199 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var21
) /* add on <var_:Array[Object]>*/;
205 var26
= string__NativeString__to_s_with_length(var24
, var25
);
209 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var23
) /* add on <var_:Array[Object]>*/;
210 var27
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
217 var32
= string__NativeString__to_s_with_length(var30
, var31
);
221 var33
= ((short int (*)(val
*, val
*))(var_pname
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pname
, var29
) /* == on <var_pname:String>*/;
228 var38
= string__NativeString__to_s_with_length(var36
, var37
);
233 var40
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var39
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
239 var45
= string__NativeString__to_s_with_length(var43
, var44
);
243 var46
= NEW_array__Array(&type_array__Arraykernel__Object
);
244 { /* var46 = array_instance Array[Object] */
246 var48
= NEW_array__NativeArray(var47
, &type_array__NativeArraykernel__Object
);
247 ((struct instance_array__NativeArray
*)var48
)->values
[0] = (val
*) var_recv
;
248 ((struct instance_array__NativeArray
*)var48
)->values
[1] = (val
*) var35
;
249 ((struct instance_array__NativeArray
*)var48
)->values
[2] = (val
*) var40
;
250 ((struct instance_array__NativeArray
*)var48
)->values
[3] = (val
*) var42
;
251 ((void (*)(val
*, val
*, long))(var46
->class->vft
[COLOR_array__Array__with_native
]))(var46
, var48
, var47
) /* with_native on <var46:Array[Object]>*/;
252 CHECK_NEW_array__Array(var46
);
254 var49
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_string__Object__to_s
]))(var46
) /* to_s on <var46:Array[Object]>*/;
255 if (var_ret_type
== NULL
) {
256 fprintf(stderr
, "Runtime error: %s", "Cast failed");
257 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1567);
260 var50
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(self
, var49
, var_ret_type
) /* new_expr on <self:SeparateCompilerVisitor>*/;
261 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__ret
]))(self
, var50
) /* ret on <self:SeparateCompilerVisitor>*/;
269 var55
= string__NativeString__to_s_with_length(var53
, var54
);
273 var56
= ((short int (*)(val
*, val
*))(var_pname
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pname
, var52
) /* == on <var_pname:String>*/;
280 var61
= string__NativeString__to_s_with_length(var59
, var60
);
285 var63
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var62
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
291 var68
= string__NativeString__to_s_with_length(var66
, var67
);
296 var70
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var69
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
302 var75
= string__NativeString__to_s_with_length(var73
, var74
);
306 var76
= NEW_array__Array(&type_array__Arraykernel__Object
);
307 { /* var76 = array_instance Array[Object] */
309 var78
= NEW_array__NativeArray(var77
, &type_array__NativeArraykernel__Object
);
310 ((struct instance_array__NativeArray
*)var78
)->values
[0] = (val
*) var_recv
;
311 ((struct instance_array__NativeArray
*)var78
)->values
[1] = (val
*) var58
;
312 ((struct instance_array__NativeArray
*)var78
)->values
[2] = (val
*) var63
;
313 ((struct instance_array__NativeArray
*)var78
)->values
[3] = (val
*) var65
;
314 ((struct instance_array__NativeArray
*)var78
)->values
[4] = (val
*) var70
;
315 ((struct instance_array__NativeArray
*)var78
)->values
[5] = (val
*) var72
;
316 ((void (*)(val
*, val
*, long))(var76
->class->vft
[COLOR_array__Array__with_native
]))(var76
, var78
, var77
) /* with_native on <var76:Array[Object]>*/;
317 CHECK_NEW_array__Array(var76
);
319 var79
= ((val
* (*)(val
*))(var76
->class->vft
[COLOR_string__Object__to_s
]))(var76
) /* to_s on <var76:Array[Object]>*/;
320 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var79
) /* add on <self:SeparateCompilerVisitor>*/;
328 var84
= string__NativeString__to_s_with_length(var82
, var83
);
332 var85
= ((short int (*)(val
*, val
*))(var_pname
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pname
, var81
) /* == on <var_pname:String>*/;
334 var86
= NEW_array__Array(&type_array__Arraykernel__Object
);
336 ((void (*)(val
*, long))(var86
->class->vft
[COLOR_array__Array__with_capacity
]))(var86
, var87
) /* with_capacity on <var86:Array[Object]>*/;
337 CHECK_NEW_array__Array(var86
);
342 var91
= "((struct instance_";
344 var93
= string__NativeString__to_s_with_length(var91
, var92
);
348 ((void (*)(val
*, val
*))(var_88
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_88
, var90
) /* add on <var_88:Array[Object]>*/;
349 var94
= ((val
* (*)(val
*))(var_nclass
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var_nclass
) /* c_name on <var_nclass:MClass>*/;
350 ((void (*)(val
*, val
*))(var_88
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_88
, var94
) /* add on <var_88:Array[Object]>*/;
356 var99
= string__NativeString__to_s_with_length(var97
, var98
);
360 ((void (*)(val
*, val
*))(var_88
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_88
, var96
) /* add on <var_88:Array[Object]>*/;
362 var101
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var100
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
363 ((void (*)(val
*, val
*))(var_88
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_88
, var101
) /* add on <var_88:Array[Object]>*/;
367 var104
= ")->values";
369 var106
= string__NativeString__to_s_with_length(var104
, var105
);
373 ((void (*)(val
*, val
*))(var_88
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_88
, var103
) /* add on <var_88:Array[Object]>*/;
374 var107
= ((val
* (*)(val
*))(var_88
->class->vft
[COLOR_string__Object__to_s
]))(var_88
) /* to_s on <var_88:Array[Object]>*/;
381 var112
= string__NativeString__to_s_with_length(var110
, var111
);
390 var117
= string__NativeString__to_s_with_length(var115
, var116
);
399 var122
= string__NativeString__to_s_with_length(var120
, var121
);
404 var124
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var123
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
410 var129
= string__NativeString__to_s_with_length(var127
, var128
);
414 var130
= ((val
* (*)(val
*))(var_elttype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_elttype
) /* ctype on <var_elttype:MType>*/;
420 var135
= string__NativeString__to_s_with_length(var133
, var134
);
424 var136
= NEW_array__Array(&type_array__Arraykernel__Object
);
425 { /* var136 = array_instance Array[Object] */
427 var138
= NEW_array__NativeArray(var137
, &type_array__NativeArraykernel__Object
);
428 ((struct instance_array__NativeArray
*)var138
)->values
[0] = (val
*) var109
;
429 ((struct instance_array__NativeArray
*)var138
)->values
[1] = (val
*) var_recv1
;
430 ((struct instance_array__NativeArray
*)var138
)->values
[2] = (val
*) var114
;
431 ((struct instance_array__NativeArray
*)var138
)->values
[3] = (val
*) var_recv
;
432 ((struct instance_array__NativeArray
*)var138
)->values
[4] = (val
*) var119
;
433 ((struct instance_array__NativeArray
*)var138
)->values
[5] = (val
*) var124
;
434 ((struct instance_array__NativeArray
*)var138
)->values
[6] = (val
*) var126
;
435 ((struct instance_array__NativeArray
*)var138
)->values
[7] = (val
*) var130
;
436 ((struct instance_array__NativeArray
*)var138
)->values
[8] = (val
*) var132
;
437 ((void (*)(val
*, val
*, long))(var136
->class->vft
[COLOR_array__Array__with_native
]))(var136
, var138
, var137
) /* with_native on <var136:Array[Object]>*/;
438 CHECK_NEW_array__Array(var136
);
440 var139
= ((val
* (*)(val
*))(var136
->class->vft
[COLOR_string__Object__to_s
]))(var136
) /* to_s on <var136:Array[Object]>*/;
441 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var139
) /* add on <self:SeparateCompilerVisitor>*/;
449 /* method separate_compiler#SeparateCompilerVisitor#native_array_def for (self: Object, String, nullable MType, Array[RuntimeVariable]) */
450 void VIRTUAL_separate_compiler__SeparateCompilerVisitor__native_array_def(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
451 separate_compiler__SeparateCompilerVisitor__native_array_def(self
, p0
, p1
, p2
);
454 /* method separate_compiler#SeparateCompilerVisitor#calloc_array for (self: SeparateCompilerVisitor, MType, Array[RuntimeVariable]) */
455 void separate_compiler__SeparateCompilerVisitor__calloc_array(val
* self
, val
* p0
, val
* p1
) {
456 val
* var_ret_type
/* var ret_type: MType */;
457 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
459 val
* var
/* : String */;
460 char* var1
/* : NativeString */;
461 long var2
/* : Int */;
462 val
* var3
/* : String */;
463 val
* var4
/* : MClass */;
464 val
* var_mclass
/* var mclass: MClass */;
465 val
* var5
/* : MClassType */;
466 val
* var6
/* : Array[MType] */;
467 val
* var7
/* : nullable Object */;
468 short int var8
/* : Bool */;
471 const char* var_class_name
;
472 val
* var_ft
/* var ft: MParameterType */;
473 long var9
/* : Int */;
474 val
* var10
/* : nullable Object */;
475 val
* var11
/* : RuntimeVariable */;
476 val
* var_res
/* var res: RuntimeVariable */;
482 var1
= "ArrayCapable";
484 var3
= string__NativeString__to_s_with_length(var1
, var2
);
488 var4
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var
) /* get_class on <self:SeparateCompilerVisitor>*/;
490 var5
= ((val
* (*)(val
*))(var_mclass
->class->vft
[COLOR_model__MClass__mclass_type
]))(var_mclass
) /* mclass_type on <var_mclass:MClass>*/;
491 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_model__MClassType__arguments
]))(var5
) /* arguments on <var5:MClassType>*/;
492 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var6
) /* first on <var6:Array[MType]>*/;
493 /* <var7:nullable Object(MType)> isa MParameterType */
494 cltype
= type_model__MParameterType
.color
;
495 idtype
= type_model__MParameterType
.id
;
496 if(cltype
>= var7
->type
->table_size
) {
499 var8
= var7
->type
->type_table
[cltype
] == idtype
;
502 var_class_name
= var7
== NULL ?
"null" : var7
->type
->name
;
503 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MParameterType", var_class_name
);
504 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1582);
509 var10
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var9
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
510 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__native_array_instance
]))(self
, var_ft
, var10
) /* native_array_instance on <self:SeparateCompilerVisitor>*/;
512 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__ret
]))(self
, var_res
) /* ret on <self:SeparateCompilerVisitor>*/;
515 /* method separate_compiler#SeparateCompilerVisitor#calloc_array for (self: Object, MType, Array[RuntimeVariable]) */
516 void VIRTUAL_separate_compiler__SeparateCompilerVisitor__calloc_array(val
* self
, val
* p0
, val
* p1
) {
517 separate_compiler__SeparateCompilerVisitor__calloc_array(self
, p0
, p1
);
520 /* method separate_compiler#SeparateCompilerVisitor#link_unresolved_type for (self: SeparateCompilerVisitor, MClassDef, MType) */
521 void separate_compiler__SeparateCompilerVisitor__link_unresolved_type(val
* self
, val
* p0
, val
* p1
) {
522 val
* var_mclassdef
/* var mclassdef: MClassDef */;
523 val
* var_mtype
/* var mtype: MType */;
524 short int var
/* : Bool */;
525 val
* var1
/* : AbstractCompiler */;
526 val
* var_compiler
/* var compiler: SeparateCompiler */;
527 val
* var2
/* : Map[MClassDef, Set[MType]] */;
528 val
* var3
/* : nullable Frame */;
529 val
* var4
/* : MPropDef */;
530 val
* var5
/* : MClassDef */;
531 short int var6
/* : Bool */;
532 short int var7
/* : Bool */;
533 val
* var8
/* : Map[MClassDef, Set[MType]] */;
534 val
* var9
/* : nullable Frame */;
535 val
* var10
/* : MPropDef */;
536 val
* var11
/* : MClassDef */;
537 val
* var12
/* : HashSet[MType] */;
538 val
* var13
/* : Map[MClassDef, Set[MType]] */;
539 val
* var14
/* : nullable Frame */;
540 val
* var15
/* : MPropDef */;
541 val
* var16
/* : MClassDef */;
542 val
* var17
/* : nullable Object */;
545 var
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
547 fprintf(stderr
, "Runtime error: %s", "Assert failed");
548 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1588);
551 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
553 var2
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_separate_compiler__SeparateCompiler__live_unresolved_types
]))(var_compiler
) /* live_unresolved_types on <var_compiler:SeparateCompiler>*/;
554 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
556 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
557 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1590);
560 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var3
) /* mpropdef on <var3:nullable Frame>*/;
562 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var4
) /* mclassdef on <var4:MPropDef>*/;
563 var6
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var2
, var5
) /* has_key on <var2:Map[MClassDef, Set[MType]]>*/;
566 var8
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_separate_compiler__SeparateCompiler__live_unresolved_types
]))(var_compiler
) /* live_unresolved_types on <var_compiler:SeparateCompiler>*/;
567 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
569 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
570 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1591);
573 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var9
) /* mpropdef on <var9:nullable Frame>*/;
575 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var10
) /* mclassdef on <var10:MPropDef>*/;
576 var12
= NEW_hash_collection__HashSet(&type_hash_collection__HashSetmodel__MType
);
577 ((void (*)(val
*))(var12
->class->vft
[COLOR_hash_collection__HashSet__init
]))(var12
) /* init on <var12:HashSet[MType]>*/;
578 CHECK_NEW_hash_collection__HashSet(var12
);
579 ((void (*)(val
*, val
*, val
*))(var8
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var8
, var11
, var12
) /* []= on <var8:Map[MClassDef, Set[MType]]>*/;
582 var13
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_separate_compiler__SeparateCompiler__live_unresolved_types
]))(var_compiler
) /* live_unresolved_types on <var_compiler:SeparateCompiler>*/;
583 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
585 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
586 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1593);
589 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var14
) /* mpropdef on <var14:nullable Frame>*/;
591 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var15
) /* mclassdef on <var15:MPropDef>*/;
592 var17
= ((val
* (*)(val
*, val
*))(var13
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var13
, var16
) /* [] on <var13:Map[MClassDef, Set[MType]]>*/;
593 ((void (*)(val
*, val
*))(var17
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var17
, var_mtype
) /* add on <var17:nullable Object(Set[MType])>*/;
596 /* method separate_compiler#SeparateCompilerVisitor#link_unresolved_type for (self: Object, MClassDef, MType) */
597 void VIRTUAL_separate_compiler__SeparateCompilerVisitor__link_unresolved_type(val
* self
, val
* p0
, val
* p1
) {
598 separate_compiler__SeparateCompilerVisitor__link_unresolved_type(self
, p0
, p1
);
601 /* method separate_compiler#MMethodDef#separate_runtime_function for (self: MMethodDef): AbstractRuntimeFunction */
602 val
* separate_compiler__MMethodDef__separate_runtime_function(val
* self
) {
603 val
* var
/* : AbstractRuntimeFunction */;
604 val
* var1
/* : nullable SeparateRuntimeFunction */;
605 val
* var_res
/* var res: nullable SeparateRuntimeFunction */;
606 val
* var2
/* : null */;
607 short int var3
/* : Bool */;
608 val
* var4
/* : SeparateRuntimeFunction */;
609 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_separate_compiler__MMethodDef__separate_runtime_function_cache
]))(self
) /* separate_runtime_function_cache on <self:MMethodDef>*/;
612 if (var_res
== NULL
) {
613 var3
= 1; /* is null */
615 var3
= 0; /* arg is null but recv is not */
618 var4
= NEW_separate_compiler__SeparateRuntimeFunction(&type_separate_compiler__SeparateRuntimeFunction
);
619 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__init
]))(var4
, self
) /* init on <var4:SeparateRuntimeFunction>*/;
620 CHECK_NEW_separate_compiler__SeparateRuntimeFunction(var4
);
622 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__MMethodDef__separate_runtime_function_cache_61d
]))(self
, var_res
) /* separate_runtime_function_cache= on <self:MMethodDef>*/;
630 /* method separate_compiler#MMethodDef#separate_runtime_function for (self: Object): AbstractRuntimeFunction */
631 val
* VIRTUAL_separate_compiler__MMethodDef__separate_runtime_function(val
* self
) {
632 val
* var
/* : AbstractRuntimeFunction */;
633 val
* var1
/* : AbstractRuntimeFunction */;
634 var1
= separate_compiler__MMethodDef__separate_runtime_function(self
);
639 /* method separate_compiler#MMethodDef#separate_runtime_function_cache for (self: MMethodDef): nullable SeparateRuntimeFunction */
640 val
* separate_compiler__MMethodDef__separate_runtime_function_cache(val
* self
) {
641 val
* var
/* : nullable SeparateRuntimeFunction */;
642 val
* var1
/* : nullable SeparateRuntimeFunction */;
643 var1
= self
->attrs
[COLOR_separate_compiler__MMethodDef___64dseparate_runtime_function_cache
].val
; /* @separate_runtime_function_cache on <self:MMethodDef> */
648 /* method separate_compiler#MMethodDef#separate_runtime_function_cache for (self: Object): nullable SeparateRuntimeFunction */
649 val
* VIRTUAL_separate_compiler__MMethodDef__separate_runtime_function_cache(val
* self
) {
650 val
* var
/* : nullable SeparateRuntimeFunction */;
651 val
* var1
/* : nullable SeparateRuntimeFunction */;
652 var1
= separate_compiler__MMethodDef__separate_runtime_function_cache(self
);
657 /* method separate_compiler#MMethodDef#separate_runtime_function_cache= for (self: MMethodDef, nullable SeparateRuntimeFunction) */
658 void separate_compiler__MMethodDef__separate_runtime_function_cache_61d(val
* self
, val
* p0
) {
659 self
->attrs
[COLOR_separate_compiler__MMethodDef___64dseparate_runtime_function_cache
].val
= p0
; /* @separate_runtime_function_cache on <self:MMethodDef> */
662 /* method separate_compiler#MMethodDef#separate_runtime_function_cache= for (self: Object, nullable SeparateRuntimeFunction) */
663 void VIRTUAL_separate_compiler__MMethodDef__separate_runtime_function_cache_61d(val
* self
, val
* p0
) {
664 separate_compiler__MMethodDef__separate_runtime_function_cache_61d(self
, p0
);
667 /* method separate_compiler#MMethodDef#virtual_runtime_function for (self: MMethodDef): AbstractRuntimeFunction */
668 val
* separate_compiler__MMethodDef__virtual_runtime_function(val
* self
) {
669 val
* var
/* : AbstractRuntimeFunction */;
670 val
* var1
/* : nullable VirtualRuntimeFunction */;
671 val
* var_res
/* var res: nullable VirtualRuntimeFunction */;
672 val
* var2
/* : null */;
673 short int var3
/* : Bool */;
674 val
* var4
/* : VirtualRuntimeFunction */;
675 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_separate_compiler__MMethodDef__virtual_runtime_function_cache
]))(self
) /* virtual_runtime_function_cache on <self:MMethodDef>*/;
678 if (var_res
== NULL
) {
679 var3
= 1; /* is null */
681 var3
= 0; /* arg is null but recv is not */
684 var4
= NEW_separate_compiler__VirtualRuntimeFunction(&type_separate_compiler__VirtualRuntimeFunction
);
685 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__init
]))(var4
, self
) /* init on <var4:VirtualRuntimeFunction>*/;
686 CHECK_NEW_separate_compiler__VirtualRuntimeFunction(var4
);
688 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__MMethodDef__virtual_runtime_function_cache_61d
]))(self
, var_res
) /* virtual_runtime_function_cache= on <self:MMethodDef>*/;
696 /* method separate_compiler#MMethodDef#virtual_runtime_function for (self: Object): AbstractRuntimeFunction */
697 val
* VIRTUAL_separate_compiler__MMethodDef__virtual_runtime_function(val
* self
) {
698 val
* var
/* : AbstractRuntimeFunction */;
699 val
* var1
/* : AbstractRuntimeFunction */;
700 var1
= separate_compiler__MMethodDef__virtual_runtime_function(self
);
705 /* method separate_compiler#MMethodDef#virtual_runtime_function_cache for (self: MMethodDef): nullable VirtualRuntimeFunction */
706 val
* separate_compiler__MMethodDef__virtual_runtime_function_cache(val
* self
) {
707 val
* var
/* : nullable VirtualRuntimeFunction */;
708 val
* var1
/* : nullable VirtualRuntimeFunction */;
709 var1
= self
->attrs
[COLOR_separate_compiler__MMethodDef___64dvirtual_runtime_function_cache
].val
; /* @virtual_runtime_function_cache on <self:MMethodDef> */
714 /* method separate_compiler#MMethodDef#virtual_runtime_function_cache for (self: Object): nullable VirtualRuntimeFunction */
715 val
* VIRTUAL_separate_compiler__MMethodDef__virtual_runtime_function_cache(val
* self
) {
716 val
* var
/* : nullable VirtualRuntimeFunction */;
717 val
* var1
/* : nullable VirtualRuntimeFunction */;
718 var1
= separate_compiler__MMethodDef__virtual_runtime_function_cache(self
);
723 /* method separate_compiler#MMethodDef#virtual_runtime_function_cache= for (self: MMethodDef, nullable VirtualRuntimeFunction) */
724 void separate_compiler__MMethodDef__virtual_runtime_function_cache_61d(val
* self
, val
* p0
) {
725 self
->attrs
[COLOR_separate_compiler__MMethodDef___64dvirtual_runtime_function_cache
].val
= p0
; /* @virtual_runtime_function_cache on <self:MMethodDef> */
728 /* method separate_compiler#MMethodDef#virtual_runtime_function_cache= for (self: Object, nullable VirtualRuntimeFunction) */
729 void VIRTUAL_separate_compiler__MMethodDef__virtual_runtime_function_cache_61d(val
* self
, val
* p0
) {
730 separate_compiler__MMethodDef__virtual_runtime_function_cache_61d(self
, p0
);
733 /* method separate_compiler#SeparateRuntimeFunction#build_c_name for (self: SeparateRuntimeFunction): String */
734 val
* separate_compiler__SeparateRuntimeFunction__build_c_name(val
* self
) {
735 val
* var
/* : String */;
736 val
* var1
/* : Array[Object] */;
737 long var2
/* : Int */;
738 val
* var_
/* var : Array[Object] */;
740 val
* var3
/* : String */;
741 char* var4
/* : NativeString */;
742 long var5
/* : Int */;
743 val
* var6
/* : String */;
744 val
* var7
/* : MMethodDef */;
745 val
* var8
/* : String */;
746 static val
* varonce9
;
747 val
* var10
/* : String */;
748 char* var11
/* : NativeString */;
749 long var12
/* : Int */;
750 val
* var13
/* : String */;
751 val
* var14
/* : String */;
752 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
754 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
755 CHECK_NEW_array__Array(var1
);
762 var6
= string__NativeString__to_s_with_length(var4
, var5
);
766 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
767 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:SeparateRuntimeFunction>*/;
768 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name
]))(var7
) /* c_name on <var7:MMethodDef>*/;
769 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var8
) /* add on <var_:Array[Object]>*/;
775 var13
= string__NativeString__to_s_with_length(var11
, var12
);
779 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var10
) /* add on <var_:Array[Object]>*/;
780 var14
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
786 /* method separate_compiler#SeparateRuntimeFunction#build_c_name for (self: Object): String */
787 val
* VIRTUAL_separate_compiler__SeparateRuntimeFunction__build_c_name(val
* self
) {
788 val
* var
/* : String */;
789 val
* var1
/* : String */;
790 var1
= separate_compiler__SeparateRuntimeFunction__build_c_name(self
);
795 /* method separate_compiler#SeparateRuntimeFunction#to_s for (self: SeparateRuntimeFunction): String */
796 val
* separate_compiler__SeparateRuntimeFunction__to_s(val
* self
) {
797 val
* var
/* : String */;
798 val
* var1
/* : MMethodDef */;
799 val
* var2
/* : String */;
800 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:SeparateRuntimeFunction>*/;
801 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_string__Object__to_s
]))(var1
) /* to_s on <var1:MMethodDef>*/;
807 /* method separate_compiler#SeparateRuntimeFunction#to_s for (self: Object): String */
808 val
* VIRTUAL_separate_compiler__SeparateRuntimeFunction__to_s(val
* self
) {
809 val
* var
/* : String */;
810 val
* var1
/* : String */;
811 var1
= separate_compiler__SeparateRuntimeFunction__to_s(self
);
816 /* method separate_compiler#SeparateRuntimeFunction#compile_to_c for (self: SeparateRuntimeFunction, AbstractCompiler) */
817 void separate_compiler__SeparateRuntimeFunction__compile_to_c(val
* self
, val
* p0
) {
818 short int var
/* : Bool */;
821 const struct type
* type_struct
;
822 const char* var_class_name
;
823 val
* var_compiler
/* var compiler: AbstractCompiler */;
824 val
* var1
/* : MMethodDef */;
825 val
* var_mmethoddef
/* var mmethoddef: MMethodDef */;
826 val
* var2
/* : MMethodDef */;
827 val
* var3
/* : MClassDef */;
828 val
* var4
/* : MClassType */;
829 val
* var_recv
/* var recv: MClassType */;
830 val
* var5
/* : AbstractCompilerVisitor */;
831 val
* var_v
/* var v: AbstractCompilerVisitor */;
832 val
* var6
/* : RuntimeVariable */;
834 val
* var7
/* : String */;
835 char* var8
/* : NativeString */;
836 long var9
/* : Int */;
837 val
* var10
/* : String */;
838 val
* var_selfvar
/* var selfvar: RuntimeVariable */;
839 val
* var11
/* : Array[RuntimeVariable] */;
840 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
841 val
* var12
/* : Frame */;
842 val
* var_frame
/* var frame: Frame */;
843 val
* var13
/* : nullable MSignature */;
844 val
* var14
/* : MClassDef */;
845 val
* var15
/* : MClassType */;
846 val
* var16
/* : MClassDef */;
847 val
* var17
/* : MClassType */;
848 val
* var18
/* : MClassDef */;
849 val
* var19
/* : MModule */;
850 short int var20
/* : Bool */;
851 val
* var21
/* : MType */;
852 val
* var_msignature
/* var msignature: MSignature */;
853 val
* var22
/* : Buffer */;
854 val
* var_sig
/* var sig: Buffer */;
855 val
* var23
/* : Buffer */;
856 val
* var_comment
/* var comment: Buffer */;
857 val
* var24
/* : nullable MType */;
858 val
* var_ret
/* var ret: nullable MType */;
859 val
* var25
/* : null */;
860 short int var26
/* : Bool */;
861 val
* var27
/* : String */;
862 static val
* varonce28
;
863 val
* var29
/* : String */;
864 char* var30
/* : NativeString */;
865 long var31
/* : Int */;
866 val
* var32
/* : String */;
867 val
* var33
/* : Array[Object] */;
868 long var34
/* : Int */;
869 val
* var35
/* : NativeArray[Object] */;
870 val
* var36
/* : String */;
871 val
* var37
/* : MProperty */;
872 short int var38
/* : Bool */;
873 val
* var39
/* : String */;
874 static val
* varonce40
;
875 val
* var41
/* : String */;
876 char* var42
/* : NativeString */;
877 long var43
/* : Int */;
878 val
* var44
/* : String */;
879 val
* var45
/* : Array[Object] */;
880 long var46
/* : Int */;
881 val
* var47
/* : NativeArray[Object] */;
882 val
* var48
/* : String */;
883 static val
* varonce49
;
884 val
* var50
/* : String */;
885 char* var51
/* : NativeString */;
886 long var52
/* : Int */;
887 val
* var53
/* : String */;
888 val
* var54
/* : String */;
889 static val
* varonce55
;
890 val
* var56
/* : String */;
891 char* var57
/* : NativeString */;
892 long var58
/* : Int */;
893 val
* var59
/* : String */;
894 val
* var60
/* : MType */;
895 val
* var61
/* : String */;
896 static val
* varonce62
;
897 val
* var63
/* : String */;
898 char* var64
/* : NativeString */;
899 long var65
/* : Int */;
900 val
* var66
/* : String */;
901 val
* var67
/* : Array[Object] */;
902 long var68
/* : Int */;
903 val
* var69
/* : NativeArray[Object] */;
904 val
* var70
/* : String */;
905 static val
* varonce71
;
906 val
* var72
/* : String */;
907 char* var73
/* : NativeString */;
908 long var74
/* : Int */;
909 val
* var75
/* : String */;
910 static val
* varonce76
;
911 val
* var77
/* : String */;
912 char* var78
/* : NativeString */;
913 long var79
/* : Int */;
914 val
* var80
/* : String */;
915 val
* var81
/* : MType */;
916 val
* var82
/* : Array[Object] */;
917 long var83
/* : Int */;
918 val
* var84
/* : NativeArray[Object] */;
919 val
* var85
/* : String */;
920 val
* var86
/* : Range[Int] */;
921 long var87
/* : Int */;
922 long var88
/* : Int */;
923 val
* var89
/* : Discrete */;
924 val
* var90
/* : Discrete */;
925 val
* var91
/* : Iterator[nullable Object] */;
926 short int var92
/* : Bool */;
927 val
* var93
/* : nullable Object */;
928 long var_i
/* var i: Int */;
929 long var94
/* : Int */;
930 val
* var95
/* : Array[MParameter] */;
931 val
* var96
/* : nullable Object */;
932 val
* var97
/* : MType */;
933 val
* var_mtype
/* var mtype: MType */;
934 long var98
/* : Int */;
935 short int var99
/* : Bool */;
936 short int var101
/* : Bool */;
937 static val
* varonce102
;
938 val
* var103
/* : String */;
939 char* var104
/* : NativeString */;
940 long var105
/* : Int */;
941 val
* var106
/* : String */;
942 val
* var107
/* : MClass */;
943 val
* var108
/* : Array[MType] */;
944 long var109
/* : Int */;
945 val
* var110
/* : NativeArray[MType] */;
946 val
* var111
/* : MClassType */;
947 static val
* varonce112
;
948 val
* var113
/* : String */;
949 char* var114
/* : NativeString */;
950 long var115
/* : Int */;
951 val
* var116
/* : String */;
952 val
* var117
/* : Array[Object] */;
953 long var118
/* : Int */;
954 val
* var119
/* : NativeArray[Object] */;
955 val
* var120
/* : String */;
956 static val
* varonce121
;
957 val
* var122
/* : String */;
958 char* var123
/* : NativeString */;
959 long var124
/* : Int */;
960 val
* var125
/* : String */;
961 val
* var126
/* : String */;
962 static val
* varonce127
;
963 val
* var128
/* : String */;
964 char* var129
/* : NativeString */;
965 long var130
/* : Int */;
966 val
* var131
/* : String */;
967 val
* var132
/* : Array[Object] */;
968 long var133
/* : Int */;
969 val
* var134
/* : NativeArray[Object] */;
970 val
* var135
/* : Object */;
971 val
* var136
/* : String */;
972 val
* var137
/* : RuntimeVariable */;
973 val
* var138
/* : Array[Object] */;
974 long var139
/* : Int */;
975 val
* var_
/* var : Array[Object] */;
976 static val
* varonce140
;
977 val
* var141
/* : String */;
978 char* var142
/* : NativeString */;
979 long var143
/* : Int */;
980 val
* var144
/* : String */;
981 val
* var145
/* : nullable Object */;
982 static val
* varonce146
;
983 val
* var147
/* : String */;
984 char* var148
/* : NativeString */;
985 long var149
/* : Int */;
986 val
* var150
/* : String */;
987 val
* var151
/* : String */;
988 val
* var_argvar
/* var argvar: RuntimeVariable */;
989 static val
* varonce152
;
990 val
* var153
/* : String */;
991 char* var154
/* : NativeString */;
992 long var155
/* : Int */;
993 val
* var156
/* : String */;
994 static val
* varonce157
;
995 val
* var158
/* : String */;
996 char* var159
/* : NativeString */;
997 long var160
/* : Int */;
998 val
* var161
/* : String */;
999 val
* var162
/* : null */;
1000 short int var163
/* : Bool */;
1001 static val
* varonce164
;
1002 val
* var165
/* : String */;
1003 char* var166
/* : NativeString */;
1004 long var167
/* : Int */;
1005 val
* var168
/* : String */;
1006 val
* var169
/* : Array[Object] */;
1007 long var170
/* : Int */;
1008 val
* var171
/* : NativeArray[Object] */;
1009 val
* var172
/* : String */;
1010 val
* var173
/* : String */;
1011 static val
* varonce174
;
1012 val
* var175
/* : String */;
1013 char* var176
/* : NativeString */;
1014 long var177
/* : Int */;
1015 val
* var178
/* : String */;
1016 val
* var179
/* : Array[Object] */;
1017 long var180
/* : Int */;
1018 val
* var181
/* : NativeArray[Object] */;
1019 val
* var182
/* : String */;
1020 static val
* varonce183
;
1021 val
* var184
/* : String */;
1022 char* var185
/* : NativeString */;
1023 long var186
/* : Int */;
1024 val
* var187
/* : String */;
1025 static val
* varonce188
;
1026 val
* var189
/* : String */;
1027 char* var190
/* : NativeString */;
1028 long var191
/* : Int */;
1029 val
* var192
/* : String */;
1030 static val
* varonce193
;
1031 val
* var194
/* : String */;
1032 char* var195
/* : NativeString */;
1033 long var196
/* : Int */;
1034 val
* var197
/* : String */;
1035 val
* var198
/* : Array[Object] */;
1036 long var199
/* : Int */;
1037 val
* var200
/* : NativeArray[Object] */;
1038 val
* var201
/* : String */;
1039 static val
* varonce202
;
1040 val
* var203
/* : String */;
1041 char* var204
/* : NativeString */;
1042 long var205
/* : Int */;
1043 val
* var206
/* : String */;
1044 val
* var207
/* : Array[Object] */;
1045 long var208
/* : Int */;
1046 val
* var209
/* : NativeArray[Object] */;
1047 val
* var210
/* : String */;
1048 val
* var211
/* : null */;
1049 short int var212
/* : Bool */;
1050 val
* var213
/* : RuntimeVariable */;
1051 static val
* varonce214
;
1052 val
* var215
/* : String */;
1053 char* var216
/* : NativeString */;
1054 long var217
/* : Int */;
1055 val
* var218
/* : String */;
1056 val
* var219
/* : String */;
1057 val
* var220
/* : nullable Object */;
1058 val
* var221
/* : MType */;
1059 short int var222
/* : Bool */;
1060 val
* var223
/* : nullable RuntimeVariable */;
1061 val
* var224
/* : nullable String */;
1062 static val
* varonce225
;
1063 val
* var226
/* : String */;
1064 char* var227
/* : NativeString */;
1065 long var228
/* : Int */;
1066 val
* var229
/* : String */;
1067 val
* var230
/* : Array[Object] */;
1068 long var231
/* : Int */;
1069 val
* var232
/* : NativeArray[Object] */;
1070 val
* var233
/* : String */;
1071 val
* var234
/* : null */;
1072 short int var235
/* : Bool */;
1073 static val
* varonce236
;
1074 val
* var237
/* : String */;
1075 char* var238
/* : NativeString */;
1076 long var239
/* : Int */;
1077 val
* var240
/* : String */;
1078 val
* var241
/* : nullable RuntimeVariable */;
1079 static val
* varonce242
;
1080 val
* var243
/* : String */;
1081 char* var244
/* : NativeString */;
1082 long var245
/* : Int */;
1083 val
* var246
/* : String */;
1084 val
* var247
/* : Array[Object] */;
1085 long var248
/* : Int */;
1086 val
* var249
/* : NativeArray[Object] */;
1087 val
* var250
/* : String */;
1088 static val
* varonce251
;
1089 val
* var252
/* : String */;
1090 char* var253
/* : NativeString */;
1091 long var254
/* : Int */;
1092 val
* var255
/* : String */;
1093 /* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
1094 /* <p0:AbstractCompiler> isa COMPILER */
1095 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractRuntimeFunction_VTCOMPILER
];
1096 cltype
= type_struct
->color
;
1097 idtype
= type_struct
->id
;
1098 if(cltype
>= p0
->type
->table_size
) {
1101 var
= p0
->type
->type_table
[cltype
] == idtype
;
1104 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1105 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name
);
1106 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1629);
1110 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:SeparateRuntimeFunction>*/;
1111 var_mmethoddef
= var1
;
1112 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:SeparateRuntimeFunction>*/;
1113 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var2
) /* mclassdef on <var2:MMethodDef>*/;
1114 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var3
) /* bound_mtype on <var3:MClassDef>*/;
1116 var5
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__new_visitor
]))(var_compiler
) /* new_visitor on <var_compiler:AbstractCompiler>*/;
1118 var6
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
1124 var10
= string__NativeString__to_s_with_length(var8
, var9
);
1128 ((void (*)(val
*, val
*, val
*, val
*))(var6
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var6
, var7
, var_recv
, var_recv
) /* init on <var6:RuntimeVariable>*/;
1129 CHECK_NEW_abstract_compiler__RuntimeVariable(var6
);
1131 var11
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1132 ((void (*)(val
*))(var11
->class->vft
[COLOR_array__Array__init
]))(var11
) /* init on <var11:Array[RuntimeVariable]>*/;
1133 CHECK_NEW_array__Array(var11
);
1134 var_arguments
= var11
;
1135 var12
= NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame
);
1136 ((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>*/;
1137 CHECK_NEW_abstract_compiler__Frame(var12
);
1139 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(var_v
, var_frame
) /* frame= on <var_v:AbstractCompilerVisitor>*/;
1140 var13
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var_mmethoddef
) /* msignature on <var_mmethoddef:MMethodDef>*/;
1141 var14
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
1142 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var14
) /* bound_mtype on <var14:MClassDef>*/;
1143 var16
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
1144 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var16
) /* bound_mtype on <var16:MClassDef>*/;
1145 var18
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
1146 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var18
) /* mmodule on <var18:MClassDef>*/;
1148 if (var13
== NULL
) {
1149 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1150 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1640);
1153 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>*/;
1155 var_msignature
= var21
;
1156 var22
= NEW_string__Buffer(&type_string__Buffer
);
1157 ((void (*)(val
*))(var22
->class->vft
[COLOR_string__Buffer__init
]))(var22
) /* init on <var22:Buffer>*/;
1158 CHECK_NEW_string__Buffer(var22
);
1160 var23
= NEW_string__Buffer(&type_string__Buffer
);
1161 ((void (*)(val
*))(var23
->class->vft
[COLOR_string__Buffer__init
]))(var23
) /* init on <var23:Buffer>*/;
1162 CHECK_NEW_string__Buffer(var23
);
1163 var_comment
= var23
;
1164 var24
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var_msignature
) /* return_mtype on <var_msignature:MSignature>*/;
1167 if (var_ret
== NULL
) {
1168 var26
= 0; /* is null */
1170 var26
= 1; /* arg is null and recv is not */
1173 var27
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:nullable MType(MType)>*/;
1179 var32
= string__NativeString__to_s_with_length(var30
, var31
);
1183 var33
= NEW_array__Array(&type_array__Arraykernel__Object
);
1184 { /* var33 = array_instance Array[Object] */
1186 var35
= NEW_array__NativeArray(var34
, &type_array__NativeArraykernel__Object
);
1187 ((struct instance_array__NativeArray
*)var35
)->values
[0] = (val
*) var27
;
1188 ((struct instance_array__NativeArray
*)var35
)->values
[1] = (val
*) var29
;
1189 ((void (*)(val
*, val
*, long))(var33
->class->vft
[COLOR_array__Array__with_native
]))(var33
, var35
, var34
) /* with_native on <var33:Array[Object]>*/;
1190 CHECK_NEW_array__Array(var33
);
1192 var36
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_string__Object__to_s
]))(var33
) /* to_s on <var33:Array[Object]>*/;
1193 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var36
) /* append on <var_sig:Buffer>*/;
1195 var37
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mmethoddef
) /* mproperty on <var_mmethoddef:MMethodDef>*/;
1196 var38
= ((short int (*)(val
*))(var37
->class->vft
[COLOR_model__MMethod__is_new
]))(var37
) /* is_new on <var37:MProperty(MMethod)>*/;
1199 var39
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:nullable MType(MClassType)>*/;
1205 var44
= string__NativeString__to_s_with_length(var42
, var43
);
1209 var45
= NEW_array__Array(&type_array__Arraykernel__Object
);
1210 { /* var45 = array_instance Array[Object] */
1212 var47
= NEW_array__NativeArray(var46
, &type_array__NativeArraykernel__Object
);
1213 ((struct instance_array__NativeArray
*)var47
)->values
[0] = (val
*) var39
;
1214 ((struct instance_array__NativeArray
*)var47
)->values
[1] = (val
*) var41
;
1215 ((void (*)(val
*, val
*, long))(var45
->class->vft
[COLOR_array__Array__with_native
]))(var45
, var47
, var46
) /* with_native on <var45:Array[Object]>*/;
1216 CHECK_NEW_array__Array(var45
);
1218 var48
= ((val
* (*)(val
*))(var45
->class->vft
[COLOR_string__Object__to_s
]))(var45
) /* to_s on <var45:Array[Object]>*/;
1219 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var48
) /* append on <var_sig:Buffer>*/;
1226 var53
= string__NativeString__to_s_with_length(var51
, var52
);
1230 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var50
) /* append on <var_sig:Buffer>*/;
1233 var54
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name
]))(self
) /* c_name on <self:SeparateRuntimeFunction>*/;
1234 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var54
) /* append on <var_sig:Buffer>*/;
1240 var59
= string__NativeString__to_s_with_length(var57
, var58
);
1244 var60
= ((val
* (*)(val
*))(var_selfvar
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_selfvar
) /* mtype on <var_selfvar:RuntimeVariable>*/;
1245 var61
= ((val
* (*)(val
*))(var60
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var60
) /* ctype on <var60:MType>*/;
1251 var66
= string__NativeString__to_s_with_length(var64
, var65
);
1255 var67
= NEW_array__Array(&type_array__Arraykernel__Object
);
1256 { /* var67 = array_instance Array[Object] */
1258 var69
= NEW_array__NativeArray(var68
, &type_array__NativeArraykernel__Object
);
1259 ((struct instance_array__NativeArray
*)var69
)->values
[0] = (val
*) var56
;
1260 ((struct instance_array__NativeArray
*)var69
)->values
[1] = (val
*) var61
;
1261 ((struct instance_array__NativeArray
*)var69
)->values
[2] = (val
*) var63
;
1262 ((struct instance_array__NativeArray
*)var69
)->values
[3] = (val
*) var_selfvar
;
1263 ((void (*)(val
*, val
*, long))(var67
->class->vft
[COLOR_array__Array__with_native
]))(var67
, var69
, var68
) /* with_native on <var67:Array[Object]>*/;
1264 CHECK_NEW_array__Array(var67
);
1266 var70
= ((val
* (*)(val
*))(var67
->class->vft
[COLOR_string__Object__to_s
]))(var67
) /* to_s on <var67:Array[Object]>*/;
1267 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var70
) /* append on <var_sig:Buffer>*/;
1273 var75
= string__NativeString__to_s_with_length(var73
, var74
);
1282 var80
= string__NativeString__to_s_with_length(var78
, var79
);
1286 var81
= ((val
* (*)(val
*))(var_selfvar
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_selfvar
) /* mtype on <var_selfvar:RuntimeVariable>*/;
1287 var82
= NEW_array__Array(&type_array__Arraykernel__Object
);
1288 { /* var82 = array_instance Array[Object] */
1290 var84
= NEW_array__NativeArray(var83
, &type_array__NativeArraykernel__Object
);
1291 ((struct instance_array__NativeArray
*)var84
)->values
[0] = (val
*) var72
;
1292 ((struct instance_array__NativeArray
*)var84
)->values
[1] = (val
*) var_selfvar
;
1293 ((struct instance_array__NativeArray
*)var84
)->values
[2] = (val
*) var77
;
1294 ((struct instance_array__NativeArray
*)var84
)->values
[3] = (val
*) var81
;
1295 ((void (*)(val
*, val
*, long))(var82
->class->vft
[COLOR_array__Array__with_native
]))(var82
, var84
, var83
) /* with_native on <var82:Array[Object]>*/;
1296 CHECK_NEW_array__Array(var82
);
1298 var85
= ((val
* (*)(val
*))(var82
->class->vft
[COLOR_string__Object__to_s
]))(var82
) /* to_s on <var82:Array[Object]>*/;
1299 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var85
) /* append on <var_comment:Buffer>*/;
1300 ((void (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_arguments
, var_selfvar
) /* add on <var_arguments:Array[RuntimeVariable]>*/;
1301 var86
= NEW_range__Range(&type_range__Rangekernel__Int
);
1303 var88
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:MSignature>*/;
1304 var89
= BOX_kernel__Int(var87
); /* autobox from Int to Discrete */
1305 var90
= BOX_kernel__Int(var88
); /* autobox from Int to Discrete */
1306 ((void (*)(val
*, val
*, val
*))(var86
->class->vft
[COLOR_range__Range__without_last
]))(var86
, var89
, var90
) /* without_last on <var86:Range[Int]>*/;
1307 CHECK_NEW_range__Range(var86
);
1308 var91
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var86
) /* iterator on <var86:Range[Int]>*/;
1310 var92
= ((short int (*)(val
*))(var91
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var91
) /* is_ok on <var91:Iterator[nullable Object]>*/;
1312 var93
= ((val
* (*)(val
*))(var91
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var91
) /* item on <var91:Iterator[nullable Object]>*/;
1313 var94
= ((struct instance_kernel__Int
*)var93
)->value
; /* autounbox from nullable Object to Int */;
1315 var95
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_msignature
) /* mparameters on <var_msignature:MSignature>*/;
1316 var96
= ((val
* (*)(val
*, long))(var95
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var95
, var_i
) /* [] on <var95:Array[MParameter]>*/;
1317 var97
= ((val
* (*)(val
*))(var96
->class->vft
[COLOR_model__MParameter__mtype
]))(var96
) /* mtype on <var96:nullable Object(MParameter)>*/;
1319 var98
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__vararg_rank
]))(var_msignature
) /* vararg_rank on <var_msignature:MSignature>*/;
1320 { /* Inline kernel#Int#== (var_i,var98) */
1321 var101
= var_i
== var98
;
1324 RET_LABEL100
:(void)0;
1328 var103
= varonce102
;
1332 var106
= string__NativeString__to_s_with_length(var104
, var105
);
1334 varonce102
= var103
;
1336 var107
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(var_v
, var103
) /* get_class on <var_v:AbstractCompilerVisitor>*/;
1337 var108
= NEW_array__Array(&type_array__Arraymodel__MType
);
1338 { /* var108 = array_instance Array[MType] */
1340 var110
= NEW_array__NativeArray(var109
, &type_array__NativeArraymodel__MType
);
1341 ((struct instance_array__NativeArray
*)var110
)->values
[0] = (val
*) var_mtype
;
1342 ((void (*)(val
*, val
*, long))(var108
->class->vft
[COLOR_array__Array__with_native
]))(var108
, var110
, var109
) /* with_native on <var108:Array[MType]>*/;
1343 CHECK_NEW_array__Array(var108
);
1345 var111
= ((val
* (*)(val
*, val
*))(var107
->class->vft
[COLOR_model__MClass__get_mtype
]))(var107
, var108
) /* get_mtype on <var107:MClass>*/;
1350 var113
= varonce112
;
1354 var116
= string__NativeString__to_s_with_length(var114
, var115
);
1356 varonce112
= var113
;
1358 var117
= NEW_array__Array(&type_array__Arraykernel__Object
);
1359 { /* var117 = array_instance Array[Object] */
1361 var119
= NEW_array__NativeArray(var118
, &type_array__NativeArraykernel__Object
);
1362 ((struct instance_array__NativeArray
*)var119
)->values
[0] = (val
*) var113
;
1363 ((struct instance_array__NativeArray
*)var119
)->values
[1] = (val
*) var_mtype
;
1364 ((void (*)(val
*, val
*, long))(var117
->class->vft
[COLOR_array__Array__with_native
]))(var117
, var119
, var118
) /* with_native on <var117:Array[Object]>*/;
1365 CHECK_NEW_array__Array(var117
);
1367 var120
= ((val
* (*)(val
*))(var117
->class->vft
[COLOR_string__Object__to_s
]))(var117
) /* to_s on <var117:Array[Object]>*/;
1368 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var120
) /* append on <var_comment:Buffer>*/;
1370 var122
= varonce121
;
1374 var125
= string__NativeString__to_s_with_length(var123
, var124
);
1376 varonce121
= var122
;
1378 var126
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
1380 var128
= varonce127
;
1384 var131
= string__NativeString__to_s_with_length(var129
, var130
);
1386 varonce127
= var128
;
1388 var132
= NEW_array__Array(&type_array__Arraykernel__Object
);
1389 { /* var132 = array_instance Array[Object] */
1391 var134
= NEW_array__NativeArray(var133
, &type_array__NativeArraykernel__Object
);
1392 ((struct instance_array__NativeArray
*)var134
)->values
[0] = (val
*) var122
;
1393 ((struct instance_array__NativeArray
*)var134
)->values
[1] = (val
*) var126
;
1394 ((struct instance_array__NativeArray
*)var134
)->values
[2] = (val
*) var128
;
1395 var135
= BOX_kernel__Int(var_i
); /* autobox from Int to Object */
1396 ((struct instance_array__NativeArray
*)var134
)->values
[3] = (val
*) var135
;
1397 ((void (*)(val
*, val
*, long))(var132
->class->vft
[COLOR_array__Array__with_native
]))(var132
, var134
, var133
) /* with_native on <var132:Array[Object]>*/;
1398 CHECK_NEW_array__Array(var132
);
1400 var136
= ((val
* (*)(val
*))(var132
->class->vft
[COLOR_string__Object__to_s
]))(var132
) /* to_s on <var132:Array[Object]>*/;
1401 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var136
) /* append on <var_sig:Buffer>*/;
1402 var137
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
1403 var138
= NEW_array__Array(&type_array__Arraykernel__Object
);
1405 ((void (*)(val
*, long))(var138
->class->vft
[COLOR_array__Array__with_capacity
]))(var138
, var139
) /* with_capacity on <var138:Array[Object]>*/;
1406 CHECK_NEW_array__Array(var138
);
1409 var141
= varonce140
;
1413 var144
= string__NativeString__to_s_with_length(var142
, var143
);
1415 varonce140
= var141
;
1417 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var141
) /* add on <var_:Array[Object]>*/;
1418 var145
= BOX_kernel__Int(var_i
); /* autobox from Int to nullable Object */
1419 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var145
) /* add on <var_:Array[Object]>*/;
1421 var147
= varonce146
;
1425 var150
= string__NativeString__to_s_with_length(var148
, var149
);
1427 varonce146
= var147
;
1429 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var147
) /* add on <var_:Array[Object]>*/;
1430 var151
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1431 ((void (*)(val
*, val
*, val
*, val
*))(var137
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var137
, var151
, var_mtype
, var_mtype
) /* init on <var137:RuntimeVariable>*/;
1432 CHECK_NEW_abstract_compiler__RuntimeVariable(var137
);
1433 var_argvar
= var137
;
1434 ((void (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_arguments
, var_argvar
) /* add on <var_arguments:Array[RuntimeVariable]>*/;
1435 CONTINUE_label
: (void)0;
1436 ((void (*)(val
*))(var91
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var91
) /* next on <var91:Iterator[nullable Object]>*/;
1438 BREAK_label
: (void)0;
1440 var153
= varonce152
;
1444 var156
= string__NativeString__to_s_with_length(var154
, var155
);
1446 varonce152
= var153
;
1448 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var153
) /* append on <var_sig:Buffer>*/;
1450 var158
= varonce157
;
1454 var161
= string__NativeString__to_s_with_length(var159
, var160
);
1456 varonce157
= var158
;
1458 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var158
) /* append on <var_comment:Buffer>*/;
1460 if (var_ret
== NULL
) {
1461 var163
= 0; /* is null */
1463 var163
= 1; /* arg is null and recv is not */
1467 var165
= varonce164
;
1471 var168
= string__NativeString__to_s_with_length(var166
, var167
);
1473 varonce164
= var165
;
1475 var169
= NEW_array__Array(&type_array__Arraykernel__Object
);
1476 { /* var169 = array_instance Array[Object] */
1478 var171
= NEW_array__NativeArray(var170
, &type_array__NativeArraykernel__Object
);
1479 ((struct instance_array__NativeArray
*)var171
)->values
[0] = (val
*) var165
;
1480 ((struct instance_array__NativeArray
*)var171
)->values
[1] = (val
*) var_ret
;
1481 ((void (*)(val
*, val
*, long))(var169
->class->vft
[COLOR_array__Array__with_native
]))(var169
, var171
, var170
) /* with_native on <var169:Array[Object]>*/;
1482 CHECK_NEW_array__Array(var169
);
1484 var172
= ((val
* (*)(val
*))(var169
->class->vft
[COLOR_string__Object__to_s
]))(var169
) /* to_s on <var169:Array[Object]>*/;
1485 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var172
) /* append on <var_comment:Buffer>*/;
1488 var173
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name
]))(self
) /* c_name on <self:SeparateRuntimeFunction>*/;
1490 var175
= varonce174
;
1494 var178
= string__NativeString__to_s_with_length(var176
, var177
);
1496 varonce174
= var175
;
1498 var179
= NEW_array__Array(&type_array__Arraykernel__Object
);
1499 { /* var179 = array_instance Array[Object] */
1501 var181
= NEW_array__NativeArray(var180
, &type_array__NativeArraykernel__Object
);
1502 ((struct instance_array__NativeArray
*)var181
)->values
[0] = (val
*) var_sig
;
1503 ((struct instance_array__NativeArray
*)var181
)->values
[1] = (val
*) var175
;
1504 ((void (*)(val
*, val
*, long))(var179
->class->vft
[COLOR_array__Array__with_native
]))(var179
, var181
, var180
) /* with_native on <var179:Array[Object]>*/;
1505 CHECK_NEW_array__Array(var179
);
1507 var182
= ((val
* (*)(val
*))(var179
->class->vft
[COLOR_string__Object__to_s
]))(var179
) /* to_s on <var179:Array[Object]>*/;
1508 ((void (*)(val
*, val
*, val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provide_declaration
]))(var_compiler
, var173
, var182
) /* provide_declaration on <var_compiler:AbstractCompiler>*/;
1510 var184
= varonce183
;
1512 var185
= "/* method ";
1514 var187
= string__NativeString__to_s_with_length(var185
, var186
);
1516 varonce183
= var184
;
1519 var189
= varonce188
;
1523 var192
= string__NativeString__to_s_with_length(var190
, var191
);
1525 varonce188
= var189
;
1528 var194
= varonce193
;
1532 var197
= string__NativeString__to_s_with_length(var195
, var196
);
1534 varonce193
= var194
;
1536 var198
= NEW_array__Array(&type_array__Arraykernel__Object
);
1537 { /* var198 = array_instance Array[Object] */
1539 var200
= NEW_array__NativeArray(var199
, &type_array__NativeArraykernel__Object
);
1540 ((struct instance_array__NativeArray
*)var200
)->values
[0] = (val
*) var184
;
1541 ((struct instance_array__NativeArray
*)var200
)->values
[1] = (val
*) self
;
1542 ((struct instance_array__NativeArray
*)var200
)->values
[2] = (val
*) var189
;
1543 ((struct instance_array__NativeArray
*)var200
)->values
[3] = (val
*) var_comment
;
1544 ((struct instance_array__NativeArray
*)var200
)->values
[4] = (val
*) var194
;
1545 ((void (*)(val
*, val
*, long))(var198
->class->vft
[COLOR_array__Array__with_native
]))(var198
, var200
, var199
) /* with_native on <var198:Array[Object]>*/;
1546 CHECK_NEW_array__Array(var198
);
1548 var201
= ((val
* (*)(val
*))(var198
->class->vft
[COLOR_string__Object__to_s
]))(var198
) /* to_s on <var198:Array[Object]>*/;
1549 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var201
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
1551 var203
= varonce202
;
1555 var206
= string__NativeString__to_s_with_length(var204
, var205
);
1557 varonce202
= var203
;
1559 var207
= NEW_array__Array(&type_array__Arraykernel__Object
);
1560 { /* var207 = array_instance Array[Object] */
1562 var209
= NEW_array__NativeArray(var208
, &type_array__NativeArraykernel__Object
);
1563 ((struct instance_array__NativeArray
*)var209
)->values
[0] = (val
*) var_sig
;
1564 ((struct instance_array__NativeArray
*)var209
)->values
[1] = (val
*) var203
;
1565 ((void (*)(val
*, val
*, long))(var207
->class->vft
[COLOR_array__Array__with_native
]))(var207
, var209
, var208
) /* with_native on <var207:Array[Object]>*/;
1566 CHECK_NEW_array__Array(var207
);
1568 var210
= ((val
* (*)(val
*))(var207
->class->vft
[COLOR_string__Object__to_s
]))(var207
) /* to_s on <var207:Array[Object]>*/;
1569 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var210
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
1571 if (var_ret
== NULL
) {
1572 var212
= 0; /* is null */
1574 var212
= 1; /* arg is null and recv is not */
1577 var213
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var_ret
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
1578 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar_61d
]))(var_frame
, var213
) /* returnvar= on <var_frame:Frame>*/;
1582 var215
= varonce214
;
1584 var216
= "RET_LABEL";
1586 var218
= string__NativeString__to_s_with_length(var216
, var217
);
1588 varonce214
= var215
;
1590 var219
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(var_v
, var215
) /* get_name on <var_v:AbstractCompilerVisitor>*/;
1591 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel_61d
]))(var_frame
, var219
) /* returnlabel= on <var_frame:Frame>*/;
1592 var220
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
1593 var221
= ((val
* (*)(val
*))(var220
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var220
) /* mtype on <var220:nullable Object(RuntimeVariable)>*/;
1594 var222
= ((short int (*)(val
*, val
*))(var_recv
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_recv
, var221
) /* != on <var_recv:MClassType>*/;
1598 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>*/;
1600 var224
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel
]))(var_frame
) /* returnlabel on <var_frame:Frame>*/;
1601 if (var224
== NULL
) {
1602 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1603 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1686);
1607 var226
= varonce225
;
1611 var229
= string__NativeString__to_s_with_length(var227
, var228
);
1613 varonce225
= var226
;
1615 var230
= NEW_array__Array(&type_array__Arraykernel__Object
);
1616 { /* var230 = array_instance Array[Object] */
1618 var232
= NEW_array__NativeArray(var231
, &type_array__NativeArraykernel__Object
);
1619 ((struct instance_array__NativeArray
*)var232
)->values
[0] = (val
*) var224
;
1620 ((struct instance_array__NativeArray
*)var232
)->values
[1] = (val
*) var226
;
1621 ((void (*)(val
*, val
*, long))(var230
->class->vft
[COLOR_array__Array__with_native
]))(var230
, var232
, var231
) /* with_native on <var230:Array[Object]>*/;
1622 CHECK_NEW_array__Array(var230
);
1624 var233
= ((val
* (*)(val
*))(var230
->class->vft
[COLOR_string__Object__to_s
]))(var230
) /* to_s on <var230:Array[Object]>*/;
1625 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var233
) /* add on <var_v:AbstractCompilerVisitor>*/;
1627 if (var_ret
== NULL
) {
1628 var235
= 0; /* is null */
1630 var235
= 1; /* arg is null and recv is not */
1634 var237
= varonce236
;
1638 var240
= string__NativeString__to_s_with_length(var238
, var239
);
1640 varonce236
= var237
;
1642 var241
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar
]))(var_frame
) /* returnvar on <var_frame:Frame>*/;
1643 if (var241
== NULL
) {
1644 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1645 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1688);
1649 var243
= varonce242
;
1653 var246
= string__NativeString__to_s_with_length(var244
, var245
);
1655 varonce242
= var243
;
1657 var247
= NEW_array__Array(&type_array__Arraykernel__Object
);
1658 { /* var247 = array_instance Array[Object] */
1660 var249
= NEW_array__NativeArray(var248
, &type_array__NativeArraykernel__Object
);
1661 ((struct instance_array__NativeArray
*)var249
)->values
[0] = (val
*) var237
;
1662 ((struct instance_array__NativeArray
*)var249
)->values
[1] = (val
*) var241
;
1663 ((struct instance_array__NativeArray
*)var249
)->values
[2] = (val
*) var243
;
1664 ((void (*)(val
*, val
*, long))(var247
->class->vft
[COLOR_array__Array__with_native
]))(var247
, var249
, var248
) /* with_native on <var247:Array[Object]>*/;
1665 CHECK_NEW_array__Array(var247
);
1667 var250
= ((val
* (*)(val
*))(var247
->class->vft
[COLOR_string__Object__to_s
]))(var247
) /* to_s on <var247:Array[Object]>*/;
1668 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var250
) /* add on <var_v:AbstractCompilerVisitor>*/;
1672 var252
= varonce251
;
1676 var255
= string__NativeString__to_s_with_length(var253
, var254
);
1678 varonce251
= var252
;
1680 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var252
) /* add on <var_v:AbstractCompilerVisitor>*/;
1683 /* method separate_compiler#SeparateRuntimeFunction#compile_to_c for (self: Object, AbstractCompiler) */
1684 void VIRTUAL_separate_compiler__SeparateRuntimeFunction__compile_to_c(val
* self
, val
* p0
) {
1685 separate_compiler__SeparateRuntimeFunction__compile_to_c(self
, p0
);
1688 /* method separate_compiler#VirtualRuntimeFunction#build_c_name for (self: VirtualRuntimeFunction): String */
1689 val
* separate_compiler__VirtualRuntimeFunction__build_c_name(val
* self
) {
1690 val
* var
/* : String */;
1691 val
* var1
/* : Array[Object] */;
1692 long var2
/* : Int */;
1693 val
* var_
/* var : Array[Object] */;
1694 static val
* varonce
;
1695 val
* var3
/* : String */;
1696 char* var4
/* : NativeString */;
1697 long var5
/* : Int */;
1698 val
* var6
/* : String */;
1699 val
* var7
/* : MMethodDef */;
1700 val
* var8
/* : String */;
1701 static val
* varonce9
;
1702 val
* var10
/* : String */;
1703 char* var11
/* : NativeString */;
1704 long var12
/* : Int */;
1705 val
* var13
/* : String */;
1706 val
* var14
/* : String */;
1707 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
1709 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
1710 CHECK_NEW_array__Array(var1
);
1717 var6
= string__NativeString__to_s_with_length(var4
, var5
);
1721 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
1722 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:VirtualRuntimeFunction>*/;
1723 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name
]))(var7
) /* c_name on <var7:MMethodDef>*/;
1724 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var8
) /* add on <var_:Array[Object]>*/;
1730 var13
= string__NativeString__to_s_with_length(var11
, var12
);
1734 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var10
) /* add on <var_:Array[Object]>*/;
1735 var14
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1741 /* method separate_compiler#VirtualRuntimeFunction#build_c_name for (self: Object): String */
1742 val
* VIRTUAL_separate_compiler__VirtualRuntimeFunction__build_c_name(val
* self
) {
1743 val
* var
/* : String */;
1744 val
* var1
/* : String */;
1745 var1
= separate_compiler__VirtualRuntimeFunction__build_c_name(self
);
1750 /* method separate_compiler#VirtualRuntimeFunction#to_s for (self: VirtualRuntimeFunction): String */
1751 val
* separate_compiler__VirtualRuntimeFunction__to_s(val
* self
) {
1752 val
* var
/* : String */;
1753 val
* var1
/* : MMethodDef */;
1754 val
* var2
/* : String */;
1755 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:VirtualRuntimeFunction>*/;
1756 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_string__Object__to_s
]))(var1
) /* to_s on <var1:MMethodDef>*/;
1762 /* method separate_compiler#VirtualRuntimeFunction#to_s for (self: Object): String */
1763 val
* VIRTUAL_separate_compiler__VirtualRuntimeFunction__to_s(val
* self
) {
1764 val
* var
/* : String */;
1765 val
* var1
/* : String */;
1766 var1
= separate_compiler__VirtualRuntimeFunction__to_s(self
);
1771 /* method separate_compiler#VirtualRuntimeFunction#compile_to_c for (self: VirtualRuntimeFunction, AbstractCompiler) */
1772 void separate_compiler__VirtualRuntimeFunction__compile_to_c(val
* self
, val
* p0
) {
1773 short int var
/* : Bool */;
1776 const struct type
* type_struct
;
1777 const char* var_class_name
;
1778 val
* var_compiler
/* var compiler: AbstractCompiler */;
1779 val
* var1
/* : MMethodDef */;
1780 val
* var_mmethoddef
/* var mmethoddef: MMethodDef */;
1781 val
* var2
/* : MMethodDef */;
1782 val
* var3
/* : MClassDef */;
1783 val
* var4
/* : MClassType */;
1784 val
* var_recv
/* var recv: MClassType */;
1785 val
* var5
/* : AbstractCompilerVisitor */;
1786 val
* var_v
/* var v: AbstractCompilerVisitor */;
1787 val
* var6
/* : RuntimeVariable */;
1788 static val
* varonce
;
1789 val
* var7
/* : String */;
1790 char* var8
/* : NativeString */;
1791 long var9
/* : Int */;
1792 val
* var10
/* : String */;
1793 val
* var11
/* : MClassType */;
1794 val
* var_selfvar
/* var selfvar: RuntimeVariable */;
1795 val
* var12
/* : Array[RuntimeVariable] */;
1796 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
1797 val
* var13
/* : Frame */;
1798 val
* var_frame
/* var frame: Frame */;
1799 val
* var14
/* : Buffer */;
1800 val
* var_sig
/* var sig: Buffer */;
1801 val
* var15
/* : Buffer */;
1802 val
* var_comment
/* var comment: Buffer */;
1803 val
* var16
/* : MMethodDef */;
1804 val
* var17
/* : MProperty */;
1805 val
* var18
/* : MPropDef */;
1806 val
* var19
/* : MClassDef */;
1807 val
* var_intromclassdef
/* var intromclassdef: MClassDef */;
1808 val
* var20
/* : MProperty */;
1809 val
* var21
/* : MPropDef */;
1810 val
* var22
/* : nullable MSignature */;
1811 val
* var23
/* : MClassType */;
1812 val
* var24
/* : MClassType */;
1813 val
* var25
/* : MModule */;
1814 short int var26
/* : Bool */;
1815 val
* var27
/* : MType */;
1816 val
* var_msignature
/* var msignature: MSignature */;
1817 val
* var28
/* : nullable MType */;
1818 val
* var_ret
/* var ret: nullable MType */;
1819 val
* var29
/* : null */;
1820 short int var30
/* : Bool */;
1821 val
* var31
/* : String */;
1822 static val
* varonce32
;
1823 val
* var33
/* : String */;
1824 char* var34
/* : NativeString */;
1825 long var35
/* : Int */;
1826 val
* var36
/* : String */;
1827 val
* var37
/* : Array[Object] */;
1828 long var38
/* : Int */;
1829 val
* var39
/* : NativeArray[Object] */;
1830 val
* var40
/* : String */;
1831 val
* var41
/* : MProperty */;
1832 short int var42
/* : Bool */;
1833 val
* var43
/* : String */;
1834 static val
* varonce44
;
1835 val
* var45
/* : String */;
1836 char* var46
/* : NativeString */;
1837 long var47
/* : Int */;
1838 val
* var48
/* : String */;
1839 val
* var49
/* : Array[Object] */;
1840 long var50
/* : Int */;
1841 val
* var51
/* : NativeArray[Object] */;
1842 val
* var52
/* : String */;
1843 static val
* varonce53
;
1844 val
* var54
/* : String */;
1845 char* var55
/* : NativeString */;
1846 long var56
/* : Int */;
1847 val
* var57
/* : String */;
1848 val
* var58
/* : String */;
1849 static val
* varonce59
;
1850 val
* var60
/* : String */;
1851 char* var61
/* : NativeString */;
1852 long var62
/* : Int */;
1853 val
* var63
/* : String */;
1854 val
* var64
/* : MType */;
1855 val
* var65
/* : String */;
1856 static val
* varonce66
;
1857 val
* var67
/* : String */;
1858 char* var68
/* : NativeString */;
1859 long var69
/* : Int */;
1860 val
* var70
/* : String */;
1861 val
* var71
/* : Array[Object] */;
1862 long var72
/* : Int */;
1863 val
* var73
/* : NativeArray[Object] */;
1864 val
* var74
/* : String */;
1865 static val
* varonce75
;
1866 val
* var76
/* : String */;
1867 char* var77
/* : NativeString */;
1868 long var78
/* : Int */;
1869 val
* var79
/* : String */;
1870 static val
* varonce80
;
1871 val
* var81
/* : String */;
1872 char* var82
/* : NativeString */;
1873 long var83
/* : Int */;
1874 val
* var84
/* : String */;
1875 val
* var85
/* : MType */;
1876 val
* var86
/* : Array[Object] */;
1877 long var87
/* : Int */;
1878 val
* var88
/* : NativeArray[Object] */;
1879 val
* var89
/* : String */;
1880 val
* var90
/* : Range[Int] */;
1881 long var91
/* : Int */;
1882 long var92
/* : Int */;
1883 val
* var93
/* : Discrete */;
1884 val
* var94
/* : Discrete */;
1885 val
* var95
/* : Iterator[nullable Object] */;
1886 short int var96
/* : Bool */;
1887 val
* var97
/* : nullable Object */;
1888 long var_i
/* var i: Int */;
1889 long var98
/* : Int */;
1890 val
* var99
/* : Array[MParameter] */;
1891 val
* var100
/* : nullable Object */;
1892 val
* var101
/* : MType */;
1893 val
* var_mtype
/* var mtype: MType */;
1894 long var102
/* : Int */;
1895 short int var103
/* : Bool */;
1896 short int var105
/* : Bool */;
1897 static val
* varonce106
;
1898 val
* var107
/* : String */;
1899 char* var108
/* : NativeString */;
1900 long var109
/* : Int */;
1901 val
* var110
/* : String */;
1902 val
* var111
/* : MClass */;
1903 val
* var112
/* : Array[MType] */;
1904 long var113
/* : Int */;
1905 val
* var114
/* : NativeArray[MType] */;
1906 val
* var115
/* : MClassType */;
1907 static val
* varonce116
;
1908 val
* var117
/* : String */;
1909 char* var118
/* : NativeString */;
1910 long var119
/* : Int */;
1911 val
* var120
/* : String */;
1912 val
* var121
/* : Array[Object] */;
1913 long var122
/* : Int */;
1914 val
* var123
/* : NativeArray[Object] */;
1915 val
* var124
/* : String */;
1916 static val
* varonce125
;
1917 val
* var126
/* : String */;
1918 char* var127
/* : NativeString */;
1919 long var128
/* : Int */;
1920 val
* var129
/* : String */;
1921 val
* var130
/* : String */;
1922 static val
* varonce131
;
1923 val
* var132
/* : String */;
1924 char* var133
/* : NativeString */;
1925 long var134
/* : Int */;
1926 val
* var135
/* : String */;
1927 val
* var136
/* : Array[Object] */;
1928 long var137
/* : Int */;
1929 val
* var138
/* : NativeArray[Object] */;
1930 val
* var139
/* : Object */;
1931 val
* var140
/* : String */;
1932 val
* var141
/* : RuntimeVariable */;
1933 val
* var142
/* : Array[Object] */;
1934 long var143
/* : Int */;
1935 val
* var_
/* var : Array[Object] */;
1936 static val
* varonce144
;
1937 val
* var145
/* : String */;
1938 char* var146
/* : NativeString */;
1939 long var147
/* : Int */;
1940 val
* var148
/* : String */;
1941 val
* var149
/* : nullable Object */;
1942 static val
* varonce150
;
1943 val
* var151
/* : String */;
1944 char* var152
/* : NativeString */;
1945 long var153
/* : Int */;
1946 val
* var154
/* : String */;
1947 val
* var155
/* : String */;
1948 val
* var_argvar
/* var argvar: RuntimeVariable */;
1949 static val
* varonce156
;
1950 val
* var157
/* : String */;
1951 char* var158
/* : NativeString */;
1952 long var159
/* : Int */;
1953 val
* var160
/* : String */;
1954 static val
* varonce161
;
1955 val
* var162
/* : String */;
1956 char* var163
/* : NativeString */;
1957 long var164
/* : Int */;
1958 val
* var165
/* : String */;
1959 val
* var166
/* : null */;
1960 short int var167
/* : Bool */;
1961 static val
* varonce168
;
1962 val
* var169
/* : String */;
1963 char* var170
/* : NativeString */;
1964 long var171
/* : Int */;
1965 val
* var172
/* : String */;
1966 val
* var173
/* : Array[Object] */;
1967 long var174
/* : Int */;
1968 val
* var175
/* : NativeArray[Object] */;
1969 val
* var176
/* : String */;
1970 val
* var177
/* : String */;
1971 static val
* varonce178
;
1972 val
* var179
/* : String */;
1973 char* var180
/* : NativeString */;
1974 long var181
/* : Int */;
1975 val
* var182
/* : String */;
1976 val
* var183
/* : Array[Object] */;
1977 long var184
/* : Int */;
1978 val
* var185
/* : NativeArray[Object] */;
1979 val
* var186
/* : String */;
1980 static val
* varonce187
;
1981 val
* var188
/* : String */;
1982 char* var189
/* : NativeString */;
1983 long var190
/* : Int */;
1984 val
* var191
/* : String */;
1985 static val
* varonce192
;
1986 val
* var193
/* : String */;
1987 char* var194
/* : NativeString */;
1988 long var195
/* : Int */;
1989 val
* var196
/* : String */;
1990 static val
* varonce197
;
1991 val
* var198
/* : String */;
1992 char* var199
/* : NativeString */;
1993 long var200
/* : Int */;
1994 val
* var201
/* : String */;
1995 val
* var202
/* : Array[Object] */;
1996 long var203
/* : Int */;
1997 val
* var204
/* : NativeArray[Object] */;
1998 val
* var205
/* : String */;
1999 static val
* varonce206
;
2000 val
* var207
/* : String */;
2001 char* var208
/* : NativeString */;
2002 long var209
/* : Int */;
2003 val
* var210
/* : String */;
2004 val
* var211
/* : Array[Object] */;
2005 long var212
/* : Int */;
2006 val
* var213
/* : NativeArray[Object] */;
2007 val
* var214
/* : String */;
2008 val
* var215
/* : null */;
2009 short int var216
/* : Bool */;
2010 val
* var217
/* : RuntimeVariable */;
2011 static val
* varonce218
;
2012 val
* var219
/* : String */;
2013 char* var220
/* : NativeString */;
2014 long var221
/* : Int */;
2015 val
* var222
/* : String */;
2016 val
* var223
/* : String */;
2017 val
* var224
/* : nullable RuntimeVariable */;
2018 val
* var_subret
/* var subret: nullable RuntimeVariable */;
2019 val
* var225
/* : null */;
2020 short int var226
/* : Bool */;
2021 val
* var227
/* : null */;
2022 short int var228
/* : Bool */;
2023 val
* var229
/* : nullable RuntimeVariable */;
2024 val
* var230
/* : nullable String */;
2025 static val
* varonce231
;
2026 val
* var232
/* : String */;
2027 char* var233
/* : NativeString */;
2028 long var234
/* : Int */;
2029 val
* var235
/* : String */;
2030 val
* var236
/* : Array[Object] */;
2031 long var237
/* : Int */;
2032 val
* var238
/* : NativeArray[Object] */;
2033 val
* var239
/* : String */;
2034 val
* var240
/* : null */;
2035 short int var241
/* : Bool */;
2036 static val
* varonce242
;
2037 val
* var243
/* : String */;
2038 char* var244
/* : NativeString */;
2039 long var245
/* : Int */;
2040 val
* var246
/* : String */;
2041 val
* var247
/* : nullable RuntimeVariable */;
2042 static val
* varonce248
;
2043 val
* var249
/* : String */;
2044 char* var250
/* : NativeString */;
2045 long var251
/* : Int */;
2046 val
* var252
/* : String */;
2047 val
* var253
/* : Array[Object] */;
2048 long var254
/* : Int */;
2049 val
* var255
/* : NativeArray[Object] */;
2050 val
* var256
/* : String */;
2051 static val
* varonce257
;
2052 val
* var258
/* : String */;
2053 char* var259
/* : NativeString */;
2054 long var260
/* : Int */;
2055 val
* var261
/* : String */;
2056 /* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
2057 /* <p0:AbstractCompiler> isa COMPILER */
2058 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractRuntimeFunction_VTCOMPILER
];
2059 cltype
= type_struct
->color
;
2060 idtype
= type_struct
->id
;
2061 if(cltype
>= p0
->type
->table_size
) {
2064 var
= p0
->type
->type_table
[cltype
] == idtype
;
2067 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2068 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name
);
2069 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1703);
2073 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:VirtualRuntimeFunction>*/;
2074 var_mmethoddef
= var1
;
2075 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:VirtualRuntimeFunction>*/;
2076 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var2
) /* mclassdef on <var2:MMethodDef>*/;
2077 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var3
) /* bound_mtype on <var3:MClassDef>*/;
2079 var5
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__new_visitor
]))(var_compiler
) /* new_visitor on <var_compiler:AbstractCompiler>*/;
2081 var6
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
2087 var10
= string__NativeString__to_s_with_length(var8
, var9
);
2091 var11
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__object_type
]))(var_v
) /* object_type on <var_v:AbstractCompilerVisitor>*/;
2092 ((void (*)(val
*, val
*, val
*, val
*))(var6
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var6
, var7
, var11
, var_recv
) /* init on <var6:RuntimeVariable>*/;
2093 CHECK_NEW_abstract_compiler__RuntimeVariable(var6
);
2095 var12
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
2096 ((void (*)(val
*))(var12
->class->vft
[COLOR_array__Array__init
]))(var12
) /* init on <var12:Array[RuntimeVariable]>*/;
2097 CHECK_NEW_array__Array(var12
);
2098 var_arguments
= var12
;
2099 var13
= NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame
);
2100 ((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>*/;
2101 CHECK_NEW_abstract_compiler__Frame(var13
);
2103 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(var_v
, var_frame
) /* frame= on <var_v:AbstractCompilerVisitor>*/;
2104 var14
= NEW_string__Buffer(&type_string__Buffer
);
2105 ((void (*)(val
*))(var14
->class->vft
[COLOR_string__Buffer__init
]))(var14
) /* init on <var14:Buffer>*/;
2106 CHECK_NEW_string__Buffer(var14
);
2108 var15
= NEW_string__Buffer(&type_string__Buffer
);
2109 ((void (*)(val
*))(var15
->class->vft
[COLOR_string__Buffer__init
]))(var15
) /* init on <var15:Buffer>*/;
2110 CHECK_NEW_string__Buffer(var15
);
2111 var_comment
= var15
;
2112 var16
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:VirtualRuntimeFunction>*/;
2113 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var16
) /* mproperty on <var16:MMethodDef>*/;
2114 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_model__MProperty__intro
]))(var17
) /* intro on <var17:MProperty(MMethod)>*/;
2115 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var18
) /* mclassdef on <var18:MPropDef(MMethodDef)>*/;
2116 var_intromclassdef
= var19
;
2117 var20
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mmethoddef
) /* mproperty on <var_mmethoddef:MMethodDef>*/;
2118 var21
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_model__MProperty__intro
]))(var20
) /* intro on <var20:MProperty(MMethod)>*/;
2119 var22
= ((val
* (*)(val
*))(var21
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var21
) /* msignature on <var21:MPropDef(MMethodDef)>*/;
2120 var23
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_intromclassdef
) /* bound_mtype on <var_intromclassdef:MClassDef>*/;
2121 var24
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_intromclassdef
) /* bound_mtype on <var_intromclassdef:MClassDef>*/;
2122 var25
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var_intromclassdef
) /* mmodule on <var_intromclassdef:MClassDef>*/;
2124 if (var22
== NULL
) {
2125 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
2126 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1719);
2129 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>*/;
2131 var_msignature
= var27
;
2132 var28
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var_msignature
) /* return_mtype on <var_msignature:MSignature>*/;
2135 if (var_ret
== NULL
) {
2136 var30
= 0; /* is null */
2138 var30
= 1; /* arg is null and recv is not */
2141 var31
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:nullable MType(MType)>*/;
2147 var36
= string__NativeString__to_s_with_length(var34
, var35
);
2151 var37
= NEW_array__Array(&type_array__Arraykernel__Object
);
2152 { /* var37 = array_instance Array[Object] */
2154 var39
= NEW_array__NativeArray(var38
, &type_array__NativeArraykernel__Object
);
2155 ((struct instance_array__NativeArray
*)var39
)->values
[0] = (val
*) var31
;
2156 ((struct instance_array__NativeArray
*)var39
)->values
[1] = (val
*) var33
;
2157 ((void (*)(val
*, val
*, long))(var37
->class->vft
[COLOR_array__Array__with_native
]))(var37
, var39
, var38
) /* with_native on <var37:Array[Object]>*/;
2158 CHECK_NEW_array__Array(var37
);
2160 var40
= ((val
* (*)(val
*))(var37
->class->vft
[COLOR_string__Object__to_s
]))(var37
) /* to_s on <var37:Array[Object]>*/;
2161 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var40
) /* append on <var_sig:Buffer>*/;
2163 var41
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mmethoddef
) /* mproperty on <var_mmethoddef:MMethodDef>*/;
2164 var42
= ((short int (*)(val
*))(var41
->class->vft
[COLOR_model__MMethod__is_new
]))(var41
) /* is_new on <var41:MProperty(MMethod)>*/;
2167 var43
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:nullable MType(MClassType)>*/;
2173 var48
= string__NativeString__to_s_with_length(var46
, var47
);
2177 var49
= NEW_array__Array(&type_array__Arraykernel__Object
);
2178 { /* var49 = array_instance Array[Object] */
2180 var51
= NEW_array__NativeArray(var50
, &type_array__NativeArraykernel__Object
);
2181 ((struct instance_array__NativeArray
*)var51
)->values
[0] = (val
*) var43
;
2182 ((struct instance_array__NativeArray
*)var51
)->values
[1] = (val
*) var45
;
2183 ((void (*)(val
*, val
*, long))(var49
->class->vft
[COLOR_array__Array__with_native
]))(var49
, var51
, var50
) /* with_native on <var49:Array[Object]>*/;
2184 CHECK_NEW_array__Array(var49
);
2186 var52
= ((val
* (*)(val
*))(var49
->class->vft
[COLOR_string__Object__to_s
]))(var49
) /* to_s on <var49:Array[Object]>*/;
2187 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var52
) /* append on <var_sig:Buffer>*/;
2194 var57
= string__NativeString__to_s_with_length(var55
, var56
);
2198 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var54
) /* append on <var_sig:Buffer>*/;
2201 var58
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name
]))(self
) /* c_name on <self:VirtualRuntimeFunction>*/;
2202 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var58
) /* append on <var_sig:Buffer>*/;
2208 var63
= string__NativeString__to_s_with_length(var61
, var62
);
2212 var64
= ((val
* (*)(val
*))(var_selfvar
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_selfvar
) /* mtype on <var_selfvar:RuntimeVariable>*/;
2213 var65
= ((val
* (*)(val
*))(var64
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var64
) /* ctype on <var64:MType>*/;
2219 var70
= string__NativeString__to_s_with_length(var68
, var69
);
2223 var71
= NEW_array__Array(&type_array__Arraykernel__Object
);
2224 { /* var71 = array_instance Array[Object] */
2226 var73
= NEW_array__NativeArray(var72
, &type_array__NativeArraykernel__Object
);
2227 ((struct instance_array__NativeArray
*)var73
)->values
[0] = (val
*) var60
;
2228 ((struct instance_array__NativeArray
*)var73
)->values
[1] = (val
*) var65
;
2229 ((struct instance_array__NativeArray
*)var73
)->values
[2] = (val
*) var67
;
2230 ((struct instance_array__NativeArray
*)var73
)->values
[3] = (val
*) var_selfvar
;
2231 ((void (*)(val
*, val
*, long))(var71
->class->vft
[COLOR_array__Array__with_native
]))(var71
, var73
, var72
) /* with_native on <var71:Array[Object]>*/;
2232 CHECK_NEW_array__Array(var71
);
2234 var74
= ((val
* (*)(val
*))(var71
->class->vft
[COLOR_string__Object__to_s
]))(var71
) /* to_s on <var71:Array[Object]>*/;
2235 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var74
) /* append on <var_sig:Buffer>*/;
2241 var79
= string__NativeString__to_s_with_length(var77
, var78
);
2250 var84
= string__NativeString__to_s_with_length(var82
, var83
);
2254 var85
= ((val
* (*)(val
*))(var_selfvar
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_selfvar
) /* mtype on <var_selfvar:RuntimeVariable>*/;
2255 var86
= NEW_array__Array(&type_array__Arraykernel__Object
);
2256 { /* var86 = array_instance Array[Object] */
2258 var88
= NEW_array__NativeArray(var87
, &type_array__NativeArraykernel__Object
);
2259 ((struct instance_array__NativeArray
*)var88
)->values
[0] = (val
*) var76
;
2260 ((struct instance_array__NativeArray
*)var88
)->values
[1] = (val
*) var_selfvar
;
2261 ((struct instance_array__NativeArray
*)var88
)->values
[2] = (val
*) var81
;
2262 ((struct instance_array__NativeArray
*)var88
)->values
[3] = (val
*) var85
;
2263 ((void (*)(val
*, val
*, long))(var86
->class->vft
[COLOR_array__Array__with_native
]))(var86
, var88
, var87
) /* with_native on <var86:Array[Object]>*/;
2264 CHECK_NEW_array__Array(var86
);
2266 var89
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_string__Object__to_s
]))(var86
) /* to_s on <var86:Array[Object]>*/;
2267 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var89
) /* append on <var_comment:Buffer>*/;
2268 ((void (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_arguments
, var_selfvar
) /* add on <var_arguments:Array[RuntimeVariable]>*/;
2269 var90
= NEW_range__Range(&type_range__Rangekernel__Int
);
2271 var92
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:MSignature>*/;
2272 var93
= BOX_kernel__Int(var91
); /* autobox from Int to Discrete */
2273 var94
= BOX_kernel__Int(var92
); /* autobox from Int to Discrete */
2274 ((void (*)(val
*, val
*, val
*))(var90
->class->vft
[COLOR_range__Range__without_last
]))(var90
, var93
, var94
) /* without_last on <var90:Range[Int]>*/;
2275 CHECK_NEW_range__Range(var90
);
2276 var95
= ((val
* (*)(val
*))(var90
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var90
) /* iterator on <var90:Range[Int]>*/;
2278 var96
= ((short int (*)(val
*))(var95
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var95
) /* is_ok on <var95:Iterator[nullable Object]>*/;
2280 var97
= ((val
* (*)(val
*))(var95
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var95
) /* item on <var95:Iterator[nullable Object]>*/;
2281 var98
= ((struct instance_kernel__Int
*)var97
)->value
; /* autounbox from nullable Object to Int */;
2283 var99
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_msignature
) /* mparameters on <var_msignature:MSignature>*/;
2284 var100
= ((val
* (*)(val
*, long))(var99
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var99
, var_i
) /* [] on <var99:Array[MParameter]>*/;
2285 var101
= ((val
* (*)(val
*))(var100
->class->vft
[COLOR_model__MParameter__mtype
]))(var100
) /* mtype on <var100:nullable Object(MParameter)>*/;
2287 var102
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__vararg_rank
]))(var_msignature
) /* vararg_rank on <var_msignature:MSignature>*/;
2288 { /* Inline kernel#Int#== (var_i,var102) */
2289 var105
= var_i
== var102
;
2292 RET_LABEL104
:(void)0;
2296 var107
= varonce106
;
2300 var110
= string__NativeString__to_s_with_length(var108
, var109
);
2302 varonce106
= var107
;
2304 var111
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(var_v
, var107
) /* get_class on <var_v:AbstractCompilerVisitor>*/;
2305 var112
= NEW_array__Array(&type_array__Arraymodel__MType
);
2306 { /* var112 = array_instance Array[MType] */
2308 var114
= NEW_array__NativeArray(var113
, &type_array__NativeArraymodel__MType
);
2309 ((struct instance_array__NativeArray
*)var114
)->values
[0] = (val
*) var_mtype
;
2310 ((void (*)(val
*, val
*, long))(var112
->class->vft
[COLOR_array__Array__with_native
]))(var112
, var114
, var113
) /* with_native on <var112:Array[MType]>*/;
2311 CHECK_NEW_array__Array(var112
);
2313 var115
= ((val
* (*)(val
*, val
*))(var111
->class->vft
[COLOR_model__MClass__get_mtype
]))(var111
, var112
) /* get_mtype on <var111:MClass>*/;
2318 var117
= varonce116
;
2322 var120
= string__NativeString__to_s_with_length(var118
, var119
);
2324 varonce116
= var117
;
2326 var121
= NEW_array__Array(&type_array__Arraykernel__Object
);
2327 { /* var121 = array_instance Array[Object] */
2329 var123
= NEW_array__NativeArray(var122
, &type_array__NativeArraykernel__Object
);
2330 ((struct instance_array__NativeArray
*)var123
)->values
[0] = (val
*) var117
;
2331 ((struct instance_array__NativeArray
*)var123
)->values
[1] = (val
*) var_mtype
;
2332 ((void (*)(val
*, val
*, long))(var121
->class->vft
[COLOR_array__Array__with_native
]))(var121
, var123
, var122
) /* with_native on <var121:Array[Object]>*/;
2333 CHECK_NEW_array__Array(var121
);
2335 var124
= ((val
* (*)(val
*))(var121
->class->vft
[COLOR_string__Object__to_s
]))(var121
) /* to_s on <var121:Array[Object]>*/;
2336 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var124
) /* append on <var_comment:Buffer>*/;
2338 var126
= varonce125
;
2342 var129
= string__NativeString__to_s_with_length(var127
, var128
);
2344 varonce125
= var126
;
2346 var130
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
2348 var132
= varonce131
;
2352 var135
= string__NativeString__to_s_with_length(var133
, var134
);
2354 varonce131
= var132
;
2356 var136
= NEW_array__Array(&type_array__Arraykernel__Object
);
2357 { /* var136 = array_instance Array[Object] */
2359 var138
= NEW_array__NativeArray(var137
, &type_array__NativeArraykernel__Object
);
2360 ((struct instance_array__NativeArray
*)var138
)->values
[0] = (val
*) var126
;
2361 ((struct instance_array__NativeArray
*)var138
)->values
[1] = (val
*) var130
;
2362 ((struct instance_array__NativeArray
*)var138
)->values
[2] = (val
*) var132
;
2363 var139
= BOX_kernel__Int(var_i
); /* autobox from Int to Object */
2364 ((struct instance_array__NativeArray
*)var138
)->values
[3] = (val
*) var139
;
2365 ((void (*)(val
*, val
*, long))(var136
->class->vft
[COLOR_array__Array__with_native
]))(var136
, var138
, var137
) /* with_native on <var136:Array[Object]>*/;
2366 CHECK_NEW_array__Array(var136
);
2368 var140
= ((val
* (*)(val
*))(var136
->class->vft
[COLOR_string__Object__to_s
]))(var136
) /* to_s on <var136:Array[Object]>*/;
2369 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var140
) /* append on <var_sig:Buffer>*/;
2370 var141
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
2371 var142
= NEW_array__Array(&type_array__Arraykernel__Object
);
2373 ((void (*)(val
*, long))(var142
->class->vft
[COLOR_array__Array__with_capacity
]))(var142
, var143
) /* with_capacity on <var142:Array[Object]>*/;
2374 CHECK_NEW_array__Array(var142
);
2377 var145
= varonce144
;
2381 var148
= string__NativeString__to_s_with_length(var146
, var147
);
2383 varonce144
= var145
;
2385 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var145
) /* add on <var_:Array[Object]>*/;
2386 var149
= BOX_kernel__Int(var_i
); /* autobox from Int to nullable Object */
2387 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var149
) /* add on <var_:Array[Object]>*/;
2389 var151
= varonce150
;
2393 var154
= string__NativeString__to_s_with_length(var152
, var153
);
2395 varonce150
= var151
;
2397 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var151
) /* add on <var_:Array[Object]>*/;
2398 var155
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
2399 ((void (*)(val
*, val
*, val
*, val
*))(var141
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var141
, var155
, var_mtype
, var_mtype
) /* init on <var141:RuntimeVariable>*/;
2400 CHECK_NEW_abstract_compiler__RuntimeVariable(var141
);
2401 var_argvar
= var141
;
2402 ((void (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_arguments
, var_argvar
) /* add on <var_arguments:Array[RuntimeVariable]>*/;
2403 CONTINUE_label
: (void)0;
2404 ((void (*)(val
*))(var95
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var95
) /* next on <var95:Iterator[nullable Object]>*/;
2406 BREAK_label
: (void)0;
2408 var157
= varonce156
;
2412 var160
= string__NativeString__to_s_with_length(var158
, var159
);
2414 varonce156
= var157
;
2416 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var157
) /* append on <var_sig:Buffer>*/;
2418 var162
= varonce161
;
2422 var165
= string__NativeString__to_s_with_length(var163
, var164
);
2424 varonce161
= var162
;
2426 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var162
) /* append on <var_comment:Buffer>*/;
2428 if (var_ret
== NULL
) {
2429 var167
= 0; /* is null */
2431 var167
= 1; /* arg is null and recv is not */
2435 var169
= varonce168
;
2439 var172
= string__NativeString__to_s_with_length(var170
, var171
);
2441 varonce168
= var169
;
2443 var173
= NEW_array__Array(&type_array__Arraykernel__Object
);
2444 { /* var173 = array_instance Array[Object] */
2446 var175
= NEW_array__NativeArray(var174
, &type_array__NativeArraykernel__Object
);
2447 ((struct instance_array__NativeArray
*)var175
)->values
[0] = (val
*) var169
;
2448 ((struct instance_array__NativeArray
*)var175
)->values
[1] = (val
*) var_ret
;
2449 ((void (*)(val
*, val
*, long))(var173
->class->vft
[COLOR_array__Array__with_native
]))(var173
, var175
, var174
) /* with_native on <var173:Array[Object]>*/;
2450 CHECK_NEW_array__Array(var173
);
2452 var176
= ((val
* (*)(val
*))(var173
->class->vft
[COLOR_string__Object__to_s
]))(var173
) /* to_s on <var173:Array[Object]>*/;
2453 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var176
) /* append on <var_comment:Buffer>*/;
2456 var177
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name
]))(self
) /* c_name on <self:VirtualRuntimeFunction>*/;
2458 var179
= varonce178
;
2462 var182
= string__NativeString__to_s_with_length(var180
, var181
);
2464 varonce178
= var179
;
2466 var183
= NEW_array__Array(&type_array__Arraykernel__Object
);
2467 { /* var183 = array_instance Array[Object] */
2469 var185
= NEW_array__NativeArray(var184
, &type_array__NativeArraykernel__Object
);
2470 ((struct instance_array__NativeArray
*)var185
)->values
[0] = (val
*) var_sig
;
2471 ((struct instance_array__NativeArray
*)var185
)->values
[1] = (val
*) var179
;
2472 ((void (*)(val
*, val
*, long))(var183
->class->vft
[COLOR_array__Array__with_native
]))(var183
, var185
, var184
) /* with_native on <var183:Array[Object]>*/;
2473 CHECK_NEW_array__Array(var183
);
2475 var186
= ((val
* (*)(val
*))(var183
->class->vft
[COLOR_string__Object__to_s
]))(var183
) /* to_s on <var183:Array[Object]>*/;
2476 ((void (*)(val
*, val
*, val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provide_declaration
]))(var_compiler
, var177
, var186
) /* provide_declaration on <var_compiler:AbstractCompiler>*/;
2478 var188
= varonce187
;
2480 var189
= "/* method ";
2482 var191
= string__NativeString__to_s_with_length(var189
, var190
);
2484 varonce187
= var188
;
2487 var193
= varonce192
;
2491 var196
= string__NativeString__to_s_with_length(var194
, var195
);
2493 varonce192
= var193
;
2496 var198
= varonce197
;
2500 var201
= string__NativeString__to_s_with_length(var199
, var200
);
2502 varonce197
= var198
;
2504 var202
= NEW_array__Array(&type_array__Arraykernel__Object
);
2505 { /* var202 = array_instance Array[Object] */
2507 var204
= NEW_array__NativeArray(var203
, &type_array__NativeArraykernel__Object
);
2508 ((struct instance_array__NativeArray
*)var204
)->values
[0] = (val
*) var188
;
2509 ((struct instance_array__NativeArray
*)var204
)->values
[1] = (val
*) self
;
2510 ((struct instance_array__NativeArray
*)var204
)->values
[2] = (val
*) var193
;
2511 ((struct instance_array__NativeArray
*)var204
)->values
[3] = (val
*) var_comment
;
2512 ((struct instance_array__NativeArray
*)var204
)->values
[4] = (val
*) var198
;
2513 ((void (*)(val
*, val
*, long))(var202
->class->vft
[COLOR_array__Array__with_native
]))(var202
, var204
, var203
) /* with_native on <var202:Array[Object]>*/;
2514 CHECK_NEW_array__Array(var202
);
2516 var205
= ((val
* (*)(val
*))(var202
->class->vft
[COLOR_string__Object__to_s
]))(var202
) /* to_s on <var202:Array[Object]>*/;
2517 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var205
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
2519 var207
= varonce206
;
2523 var210
= string__NativeString__to_s_with_length(var208
, var209
);
2525 varonce206
= var207
;
2527 var211
= NEW_array__Array(&type_array__Arraykernel__Object
);
2528 { /* var211 = array_instance Array[Object] */
2530 var213
= NEW_array__NativeArray(var212
, &type_array__NativeArraykernel__Object
);
2531 ((struct instance_array__NativeArray
*)var213
)->values
[0] = (val
*) var_sig
;
2532 ((struct instance_array__NativeArray
*)var213
)->values
[1] = (val
*) var207
;
2533 ((void (*)(val
*, val
*, long))(var211
->class->vft
[COLOR_array__Array__with_native
]))(var211
, var213
, var212
) /* with_native on <var211:Array[Object]>*/;
2534 CHECK_NEW_array__Array(var211
);
2536 var214
= ((val
* (*)(val
*))(var211
->class->vft
[COLOR_string__Object__to_s
]))(var211
) /* to_s on <var211:Array[Object]>*/;
2537 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var214
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
2539 if (var_ret
== NULL
) {
2540 var216
= 0; /* is null */
2542 var216
= 1; /* arg is null and recv is not */
2545 var217
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var_ret
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
2546 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar_61d
]))(var_frame
, var217
) /* returnvar= on <var_frame:Frame>*/;
2550 var219
= varonce218
;
2552 var220
= "RET_LABEL";
2554 var222
= string__NativeString__to_s_with_length(var220
, var221
);
2556 varonce218
= var219
;
2558 var223
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(var_v
, var219
) /* get_name on <var_v:AbstractCompilerVisitor>*/;
2559 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel_61d
]))(var_frame
, var223
) /* returnlabel= on <var_frame:Frame>*/;
2560 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>*/;
2561 var_subret
= var224
;
2563 if (var_ret
== NULL
) {
2564 var226
= 0; /* is null */
2566 var226
= 1; /* arg is null and recv is not */
2570 if (var_subret
== NULL
) {
2571 var228
= 0; /* is null */
2573 var228
= 1; /* arg is null and recv is not */
2576 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2577 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1759);
2580 var229
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar
]))(var_frame
) /* returnvar on <var_frame:Frame>*/;
2581 if (var229
== NULL
) {
2582 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2583 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1760);
2586 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var229
, var_subret
) /* assign on <var_v:AbstractCompilerVisitor>*/;
2589 var230
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel
]))(var_frame
) /* returnlabel on <var_frame:Frame>*/;
2590 if (var230
== NULL
) {
2591 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2592 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1763);
2596 var232
= varonce231
;
2600 var235
= string__NativeString__to_s_with_length(var233
, var234
);
2602 varonce231
= var232
;
2604 var236
= NEW_array__Array(&type_array__Arraykernel__Object
);
2605 { /* var236 = array_instance Array[Object] */
2607 var238
= NEW_array__NativeArray(var237
, &type_array__NativeArraykernel__Object
);
2608 ((struct instance_array__NativeArray
*)var238
)->values
[0] = (val
*) var230
;
2609 ((struct instance_array__NativeArray
*)var238
)->values
[1] = (val
*) var232
;
2610 ((void (*)(val
*, val
*, long))(var236
->class->vft
[COLOR_array__Array__with_native
]))(var236
, var238
, var237
) /* with_native on <var236:Array[Object]>*/;
2611 CHECK_NEW_array__Array(var236
);
2613 var239
= ((val
* (*)(val
*))(var236
->class->vft
[COLOR_string__Object__to_s
]))(var236
) /* to_s on <var236:Array[Object]>*/;
2614 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var239
) /* add on <var_v:AbstractCompilerVisitor>*/;
2616 if (var_ret
== NULL
) {
2617 var241
= 0; /* is null */
2619 var241
= 1; /* arg is null and recv is not */
2623 var243
= varonce242
;
2627 var246
= string__NativeString__to_s_with_length(var244
, var245
);
2629 varonce242
= var243
;
2631 var247
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar
]))(var_frame
) /* returnvar on <var_frame:Frame>*/;
2632 if (var247
== NULL
) {
2633 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2634 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1765);
2638 var249
= varonce248
;
2642 var252
= string__NativeString__to_s_with_length(var250
, var251
);
2644 varonce248
= var249
;
2646 var253
= NEW_array__Array(&type_array__Arraykernel__Object
);
2647 { /* var253 = array_instance Array[Object] */
2649 var255
= NEW_array__NativeArray(var254
, &type_array__NativeArraykernel__Object
);
2650 ((struct instance_array__NativeArray
*)var255
)->values
[0] = (val
*) var243
;
2651 ((struct instance_array__NativeArray
*)var255
)->values
[1] = (val
*) var247
;
2652 ((struct instance_array__NativeArray
*)var255
)->values
[2] = (val
*) var249
;
2653 ((void (*)(val
*, val
*, long))(var253
->class->vft
[COLOR_array__Array__with_native
]))(var253
, var255
, var254
) /* with_native on <var253:Array[Object]>*/;
2654 CHECK_NEW_array__Array(var253
);
2656 var256
= ((val
* (*)(val
*))(var253
->class->vft
[COLOR_string__Object__to_s
]))(var253
) /* to_s on <var253:Array[Object]>*/;
2657 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var256
) /* add on <var_v:AbstractCompilerVisitor>*/;
2661 var258
= varonce257
;
2665 var261
= string__NativeString__to_s_with_length(var259
, var260
);
2667 varonce257
= var258
;
2669 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var258
) /* add on <var_v:AbstractCompilerVisitor>*/;
2672 /* method separate_compiler#VirtualRuntimeFunction#compile_to_c for (self: Object, AbstractCompiler) */
2673 void VIRTUAL_separate_compiler__VirtualRuntimeFunction__compile_to_c(val
* self
, val
* p0
) {
2674 separate_compiler__VirtualRuntimeFunction__compile_to_c(self
, p0
);
2677 /* method separate_compiler#VirtualRuntimeFunction#call for (self: VirtualRuntimeFunction, AbstractCompilerVisitor, Array[RuntimeVariable]): nullable RuntimeVariable */
2678 val
* separate_compiler__VirtualRuntimeFunction__call(val
* self
, val
* p0
, val
* p1
) {
2679 val
* var
/* : nullable RuntimeVariable */;
2680 short int var1
/* : Bool */;
2683 const struct type
* type_struct
;
2684 const char* var_class_name
;
2685 val
* var_v
/* var v: AbstractCompilerVisitor */;
2686 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
2687 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
2688 /* <p0:AbstractCompilerVisitor> isa VISITOR */
2689 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractRuntimeFunction_VTVISITOR
];
2690 cltype
= type_struct
->color
;
2691 idtype
= type_struct
->id
;
2692 if(cltype
>= p0
->type
->table_size
) {
2695 var1
= p0
->type
->type_table
[cltype
] == idtype
;
2698 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2699 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
2700 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1770);
2705 fprintf(stderr
, "Runtime error: %s", "Aborted");
2706 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1771);
2711 /* method separate_compiler#VirtualRuntimeFunction#call for (self: Object, AbstractCompilerVisitor, Array[RuntimeVariable]): nullable RuntimeVariable */
2712 val
* VIRTUAL_separate_compiler__VirtualRuntimeFunction__call(val
* self
, val
* p0
, val
* p1
) {
2713 val
* var
/* : nullable RuntimeVariable */;
2714 val
* var1
/* : nullable RuntimeVariable */;
2715 var1
= separate_compiler__VirtualRuntimeFunction__call(self
, p0
, p1
);
2720 /* method separate_compiler#MType#const_color for (self: MType): String */
2721 val
* separate_compiler__MType__const_color(val
* self
) {
2722 val
* var
/* : String */;
2723 val
* var1
/* : Array[Object] */;
2724 long var2
/* : Int */;
2725 val
* var_
/* var : Array[Object] */;
2726 static val
* varonce
;
2727 val
* var3
/* : String */;
2728 char* var4
/* : NativeString */;
2729 long var5
/* : Int */;
2730 val
* var6
/* : String */;
2731 val
* var7
/* : String */;
2732 static val
* varonce8
;
2733 val
* var9
/* : String */;
2734 char* var10
/* : NativeString */;
2735 long var11
/* : Int */;
2736 val
* var12
/* : String */;
2737 val
* var13
/* : String */;
2738 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
2740 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
2741 CHECK_NEW_array__Array(var1
);
2748 var6
= string__NativeString__to_s_with_length(var4
, var5
);
2752 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
2753 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(self
) /* c_name on <self:MType>*/;
2754 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var7
) /* add on <var_:Array[Object]>*/;
2760 var12
= string__NativeString__to_s_with_length(var10
, var11
);
2764 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var9
) /* add on <var_:Array[Object]>*/;
2765 var13
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
2771 /* method separate_compiler#MType#const_color for (self: Object): String */
2772 val
* VIRTUAL_separate_compiler__MType__const_color(val
* self
) {
2773 val
* var
/* : String */;
2774 val
* var1
/* : String */;
2775 var1
= separate_compiler__MType__const_color(self
);
2780 /* method separate_compiler#MProperty#const_color for (self: MProperty): String */
2781 val
* separate_compiler__MProperty__const_color(val
* self
) {
2782 val
* var
/* : String */;
2783 val
* var1
/* : Array[Object] */;
2784 long var2
/* : Int */;
2785 val
* var_
/* var : Array[Object] */;
2786 static val
* varonce
;
2787 val
* var3
/* : String */;
2788 char* var4
/* : NativeString */;
2789 long var5
/* : Int */;
2790 val
* var6
/* : String */;
2791 val
* var7
/* : String */;
2792 static val
* varonce8
;
2793 val
* var9
/* : String */;
2794 char* var10
/* : NativeString */;
2795 long var11
/* : Int */;
2796 val
* var12
/* : String */;
2797 val
* var13
/* : String */;
2798 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
2800 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
2801 CHECK_NEW_array__Array(var1
);
2808 var6
= string__NativeString__to_s_with_length(var4
, var5
);
2812 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
2813 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MProperty__c_name
]))(self
) /* c_name on <self:MProperty>*/;
2814 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var7
) /* add on <var_:Array[Object]>*/;
2820 var12
= string__NativeString__to_s_with_length(var10
, var11
);
2824 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var9
) /* add on <var_:Array[Object]>*/;
2825 var13
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
2831 /* method separate_compiler#MProperty#const_color for (self: Object): String */
2832 val
* VIRTUAL_separate_compiler__MProperty__const_color(val
* self
) {
2833 val
* var
/* : String */;
2834 val
* var1
/* : String */;
2835 var1
= separate_compiler__MProperty__const_color(self
);
2840 /* method separate_compiler#MPropDef#const_color for (self: MPropDef): String */
2841 val
* separate_compiler__MPropDef__const_color(val
* self
) {
2842 val
* var
/* : String */;
2843 val
* var1
/* : Array[Object] */;
2844 long var2
/* : Int */;
2845 val
* var_
/* var : Array[Object] */;
2846 static val
* varonce
;
2847 val
* var3
/* : String */;
2848 char* var4
/* : NativeString */;
2849 long var5
/* : Int */;
2850 val
* var6
/* : String */;
2851 val
* var7
/* : String */;
2852 static val
* varonce8
;
2853 val
* var9
/* : String */;
2854 char* var10
/* : NativeString */;
2855 long var11
/* : Int */;
2856 val
* var12
/* : String */;
2857 val
* var13
/* : String */;
2858 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
2860 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
2861 CHECK_NEW_array__Array(var1
);
2868 var6
= string__NativeString__to_s_with_length(var4
, var5
);
2872 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
2873 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name
]))(self
) /* c_name on <self:MPropDef>*/;
2874 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var7
) /* add on <var_:Array[Object]>*/;
2880 var12
= string__NativeString__to_s_with_length(var10
, var11
);
2884 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var9
) /* add on <var_:Array[Object]>*/;
2885 var13
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
2891 /* method separate_compiler#MPropDef#const_color for (self: Object): String */
2892 val
* VIRTUAL_separate_compiler__MPropDef__const_color(val
* self
) {
2893 val
* var
/* : String */;
2894 val
* var1
/* : String */;
2895 var1
= separate_compiler__MPropDef__const_color(self
);