1 #include "separate_compiler.sep.0.h"
2 /* method separate_compiler#SeparateCompilerVisitor#unbox_extern for (self: Object, RuntimeVariable, MType): RuntimeVariable */
3 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__unbox_extern(val
* self
, val
* p0
, val
* p1
) {
4 val
* var
/* : RuntimeVariable */;
5 val
* var1
/* : RuntimeVariable */;
6 var1
= separate_compiler__SeparateCompilerVisitor__unbox_extern(self
, p0
, p1
);
11 /* method separate_compiler#SeparateCompilerVisitor#box_extern for (self: SeparateCompilerVisitor, RuntimeVariable, MType): RuntimeVariable */
12 val
* separate_compiler__SeparateCompilerVisitor__box_extern(val
* self
, val
* p0
, val
* p1
) {
13 val
* var
/* : RuntimeVariable */;
14 val
* var_value
/* var value: RuntimeVariable */;
15 val
* var_mtype
/* var mtype: MType */;
16 short int var1
/* : Bool */;
17 short int var2
/* : Bool */;
18 short int var3
/* : Bool */;
21 short int var_
/* var : Bool */;
22 val
* var4
/* : MClass */;
23 val
* var6
/* : MClass */;
24 val
* var7
/* : MClassKind */;
25 val
* var9
/* : MClassKind */;
26 val
* var10
/* : MClassKind */;
27 short int var11
/* : Bool */;
28 short int var12
/* : Bool */;
29 val
* var_other
/* var other: nullable Object */;
30 short int var14
/* : Bool */;
31 short int var16
/* : Bool */;
32 short int var_17
/* var : Bool */;
33 val
* var18
/* : MClass */;
34 val
* var20
/* : MClass */;
35 val
* var21
/* : String */;
36 val
* var23
/* : String */;
38 val
* var24
/* : String */;
39 char* var25
/* : NativeString */;
40 long var26
/* : Int */;
41 val
* var27
/* : FlatString */;
42 short int var28
/* : Bool */;
43 short int var29
/* : Bool */;
44 val
* var_other31
/* var other: nullable Object */;
45 short int var32
/* : Bool */;
46 short int var33
/* : Bool */;
47 short int var34
/* : Bool */;
48 val
* var35
/* : AbstractCompiler */;
49 val
* var37
/* : AbstractCompiler */;
50 val
* var38
/* : MModule */;
51 val
* var40
/* : MModule */;
52 val
* var41
/* : MClassType */;
53 short int var43
/* : Bool */;
54 val
* var44
/* : MClassType */;
55 static val
* varonce45
;
56 val
* var46
/* : String */;
57 char* var47
/* : NativeString */;
58 long var48
/* : Int */;
59 val
* var49
/* : FlatString */;
60 val
* var50
/* : MClass */;
61 val
* var51
/* : MClassType */;
62 val
* var53
/* : MClassType */;
63 val
* var_valtype
/* var valtype: MClassType */;
64 val
* var54
/* : RuntimeVariable */;
65 val
* var_res
/* var res: RuntimeVariable */;
66 short int var55
/* : Bool */;
67 val
* var56
/* : AbstractCompiler */;
68 val
* var58
/* : AbstractCompiler */;
69 val
* var59
/* : nullable RapidTypeAnalysis */;
70 val
* var61
/* : nullable RapidTypeAnalysis */;
71 val
* var62
/* : null */;
72 short int var63
/* : Bool */;
73 short int var64
/* : Bool */;
74 short int var66
/* : Bool */;
75 short int var67
/* : Bool */;
76 short int var68
/* : Bool */;
77 short int var_69
/* var : Bool */;
78 val
* var70
/* : AbstractCompiler */;
79 val
* var72
/* : AbstractCompiler */;
80 val
* var73
/* : nullable RapidTypeAnalysis */;
81 val
* var75
/* : nullable RapidTypeAnalysis */;
82 val
* var76
/* : HashSet[MClassType] */;
83 val
* var78
/* : HashSet[MClassType] */;
84 val
* var79
/* : MType */;
85 val
* var81
/* : MType */;
86 short int var82
/* : Bool */;
89 const char* var_class_name
;
90 short int var85
/* : Bool */;
91 short int var86
/* : Bool */;
92 static val
* varonce87
;
93 val
* var88
/* : String */;
94 char* var89
/* : NativeString */;
95 long var90
/* : Int */;
96 val
* var91
/* : FlatString */;
97 val
* var92
/* : MType */;
98 val
* var94
/* : MType */;
99 static val
* varonce95
;
100 val
* var96
/* : String */;
101 char* var97
/* : NativeString */;
102 long var98
/* : Int */;
103 val
* var99
/* : FlatString */;
104 val
* var100
/* : MType */;
105 val
* var102
/* : MType */;
106 static val
* varonce103
;
107 val
* var104
/* : String */;
108 char* var105
/* : NativeString */;
109 long var106
/* : Int */;
110 val
* var107
/* : FlatString */;
111 val
* var108
/* : Array[Object] */;
112 long var109
/* : Int */;
113 val
* var110
/* : NativeArray[Object] */;
114 val
* var111
/* : String */;
115 static val
* varonce112
;
116 val
* var113
/* : String */;
117 char* var114
/* : NativeString */;
118 long var115
/* : Int */;
119 val
* var116
/* : FlatString */;
120 static val
* varonce117
;
121 val
* var118
/* : String */;
122 char* var119
/* : NativeString */;
123 long var120
/* : Int */;
124 val
* var121
/* : FlatString */;
125 val
* var122
/* : String */;
126 val
* var123
/* : Array[Object] */;
127 long var124
/* : Int */;
128 val
* var125
/* : NativeArray[Object] */;
129 val
* var126
/* : String */;
130 static val
* varonce127
;
131 val
* var128
/* : String */;
132 char* var129
/* : NativeString */;
133 long var130
/* : Int */;
134 val
* var131
/* : FlatString */;
135 val
* var132
/* : String */;
136 static val
* varonce133
;
137 val
* var134
/* : String */;
138 char* var135
/* : NativeString */;
139 long var136
/* : Int */;
140 val
* var137
/* : FlatString */;
141 static val
* varonce138
;
142 val
* var139
/* : String */;
143 char* var140
/* : NativeString */;
144 long var141
/* : Int */;
145 val
* var142
/* : FlatString */;
146 val
* var143
/* : MType */;
147 val
* var145
/* : MType */;
148 static val
* varonce146
;
149 val
* var147
/* : String */;
150 char* var148
/* : NativeString */;
151 long var149
/* : Int */;
152 val
* var150
/* : FlatString */;
153 val
* var151
/* : Array[Object] */;
154 long var152
/* : Int */;
155 val
* var153
/* : NativeArray[Object] */;
156 val
* var154
/* : String */;
157 static val
* varonce155
;
158 val
* var156
/* : String */;
159 char* var157
/* : NativeString */;
160 long var158
/* : Int */;
161 val
* var159
/* : FlatString */;
162 val
* var160
/* : String */;
163 val
* var161
/* : Array[Object] */;
164 long var162
/* : Int */;
165 val
* var163
/* : NativeArray[Object] */;
166 val
* var164
/* : String */;
167 static val
* varonce165
;
168 val
* var166
/* : String */;
169 char* var167
/* : NativeString */;
170 long var168
/* : Int */;
171 val
* var169
/* : FlatString */;
172 val
* var170
/* : String */;
173 static val
* varonce171
;
174 val
* var172
/* : String */;
175 char* var173
/* : NativeString */;
176 long var174
/* : Int */;
177 val
* var175
/* : FlatString */;
178 val
* var176
/* : Array[Object] */;
179 long var177
/* : Int */;
180 val
* var178
/* : NativeArray[Object] */;
181 val
* var179
/* : String */;
182 static val
* varonce180
;
183 val
* var181
/* : String */;
184 char* var182
/* : NativeString */;
185 long var183
/* : Int */;
186 val
* var184
/* : FlatString */;
187 val
* var185
/* : String */;
188 val
* var186
/* : Array[Object] */;
189 long var187
/* : Int */;
190 val
* var188
/* : NativeArray[Object] */;
191 val
* var189
/* : String */;
192 static val
* varonce190
;
193 val
* var191
/* : String */;
194 char* var192
/* : NativeString */;
195 long var193
/* : Int */;
196 val
* var194
/* : FlatString */;
197 val
* var195
/* : String */;
198 static val
* varonce196
;
199 val
* var197
/* : String */;
200 char* var198
/* : NativeString */;
201 long var199
/* : Int */;
202 val
* var200
/* : FlatString */;
203 val
* var201
/* : Array[Object] */;
204 long var202
/* : Int */;
205 val
* var203
/* : NativeArray[Object] */;
206 val
* var204
/* : String */;
209 /* <var_mtype:MType> isa MClassType */
210 cltype
= type_model__MClassType
.color
;
211 idtype
= type_model__MClassType
.id
;
212 if(cltype
>= var_mtype
->type
->table_size
) {
215 var3
= var_mtype
->type
->type_table
[cltype
] == idtype
;
220 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
221 var6
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
222 if (unlikely(var6
== NULL
)) {
223 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
224 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
232 { /* Inline model#MClass#kind (var4) on <var4:MClass> */
233 var9
= var4
->attrs
[COLOR_model__MClass___kind
].val
; /* _kind on <var4:MClass> */
234 if (unlikely(var9
== NULL
)) {
235 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
236 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 371);
244 var10
= model__Object__extern_kind(self
);
247 { /* Inline kernel#Object#== (var7,var10) on <var7:MClassKind> */
250 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:MClassKind> */
251 var16
= var7
== var_other
;
270 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
271 var20
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
272 if (unlikely(var20
== NULL
)) {
273 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
274 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
282 { /* Inline model#MClass#name (var18) on <var18:MClass> */
283 var23
= var18
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var18:MClass> */
284 if (unlikely(var23
== NULL
)) {
285 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
286 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
296 var25
= "NativeString";
298 var27
= string__NativeString__to_s_with_length(var25
, var26
);
303 { /* Inline kernel#Object#!= (var21,var24) on <var21:String> */
306 var33
= ((short int (*)(val
*, val
*))(var21
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var21
, var_other31
) /* == on <var21:String>*/;
322 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
323 var37
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
324 if (unlikely(var37
== NULL
)) {
325 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
326 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
334 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var35) on <var35:AbstractCompiler(SeparateCompiler)> */
335 var40
= var35
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var35:AbstractCompiler(SeparateCompiler)> */
336 if (unlikely(var40
== NULL
)) {
337 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
338 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
346 { /* Inline model#MModule#pointer_type (var38) on <var38:MModule> */
347 var43
= var38
->attrs
[COLOR_model__MModule___pointer_type
].val
!= NULL
; /* _pointer_type on <var38:MModule> */
349 var44
= var38
->attrs
[COLOR_model__MModule___pointer_type
].val
; /* _pointer_type on <var38:MModule> */
350 if (unlikely(var44
== NULL
)) {
351 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _pointer_type");
352 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 217);
361 var49
= string__NativeString__to_s_with_length(var47
, var48
);
366 var50
= model__MModule__get_primitive_class(var38
, var46
);
369 { /* Inline model#MClass#mclass_type (var50) on <var50:MClass> */
370 var53
= var50
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var50:MClass> */
371 if (unlikely(var53
== NULL
)) {
372 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
373 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
380 var38
->attrs
[COLOR_model__MModule___pointer_type
].val
= var51
; /* _pointer_type on <var38:MModule> */
389 var54
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var_mtype
);
393 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
394 var58
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
395 if (unlikely(var58
== NULL
)) {
396 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
397 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
405 { /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (var56) on <var56:AbstractCompiler(SeparateCompiler)> */
406 var61
= var56
->attrs
[COLOR_separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <var56:AbstractCompiler(SeparateCompiler)> */
413 var63
= 0; /* is null */
415 var63
= 1; /* arg is null and recv is not */
418 { /* Inline kernel#Object#!= (var59,var62) on <var59:nullable RapidTypeAnalysis> */
421 var67
= ((short int (*)(val
*, val
*))(var59
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var59
, var_other31
) /* == on <var59:nullable RapidTypeAnalysis(RapidTypeAnalysis)>*/;
434 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
435 var72
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
436 if (unlikely(var72
== NULL
)) {
437 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
438 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
446 { /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (var70) on <var70:AbstractCompiler(SeparateCompiler)> */
447 var75
= var70
->attrs
[COLOR_separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <var70:AbstractCompiler(SeparateCompiler)> */
453 PRINT_ERROR("Runtime error: %s", "Receiver is null");
454 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 1032);
457 { /* Inline rapid_type_analysis#RapidTypeAnalysis#live_types (var73) on <var73:nullable RapidTypeAnalysis> */
458 if (unlikely(var73
== NULL
)) {
459 PRINT_ERROR("Runtime error: %s", "Receiver is null");
460 PRINT_ERROR(" (%s:%d)\n", "rapid_type_analysis.nit", 53);
463 var78
= var73
->attrs
[COLOR_rapid_type_analysis__RapidTypeAnalysis___live_types
].val
; /* _live_types on <var73:nullable RapidTypeAnalysis> */
464 if (unlikely(var78
== NULL
)) {
465 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
466 PRINT_ERROR(" (%s:%d)\n", "rapid_type_analysis.nit", 53);
474 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
475 var81
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
476 if (unlikely(var81
== NULL
)) {
477 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
478 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
485 /* <var79:MType> isa MClassType */
486 cltype83
= type_model__MClassType
.color
;
487 idtype84
= type_model__MClassType
.id
;
488 if(cltype83
>= var79
->type
->table_size
) {
491 var82
= var79
->type
->type_table
[cltype83
] == idtype84
;
493 if (unlikely(!var82
)) {
494 var_class_name
= var79
== NULL ?
"null" : var79
->type
->name
;
495 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
496 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 1032);
500 var85
= hash_collection__HashSet__has(var76
, var79
);
511 var89
= "/*no boxing of ";
513 var91
= string__NativeString__to_s_with_length(var89
, var90
);
518 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
519 var94
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
520 if (unlikely(var94
== NULL
)) {
521 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
522 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
534 var99
= string__NativeString__to_s_with_length(var97
, var98
);
539 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
540 var102
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
541 if (unlikely(var102
== NULL
)) {
542 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
543 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
547 RET_LABEL101
:(void)0;
553 var105
= " is not live! */";
555 var107
= string__NativeString__to_s_with_length(var105
, var106
);
559 var108
= NEW_array__Array(&type_array__Arraykernel__Object
);
560 { /* var108 = array_instance Array[Object] */
562 var110
= NEW_array__NativeArray(var109
, &type_array__NativeArraykernel__Object
);
563 ((struct instance_array__NativeArray
*)var110
)->values
[0] = (val
*) var88
;
564 ((struct instance_array__NativeArray
*)var110
)->values
[1] = (val
*) var92
;
565 ((struct instance_array__NativeArray
*)var110
)->values
[2] = (val
*) var96
;
566 ((struct instance_array__NativeArray
*)var110
)->values
[3] = (val
*) var100
;
567 ((struct instance_array__NativeArray
*)var110
)->values
[4] = (val
*) var104
;
569 ((void (*)(val
*, val
*, long))(var108
->class->vft
[COLOR_array__Array__with_native
]))(var108
, var110
, var109
) /* with_native on <var108:Array[Object]>*/;
573 var111
= ((val
* (*)(val
*))(var108
->class->vft
[COLOR_string__Object__to_s
]))(var108
) /* to_s on <var108:Array[Object]>*/;
576 abstract_compiler__AbstractCompilerVisitor__add(self
, var111
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
581 var114
= "PRINT_ERROR(\"Dead code executed!\\n\"); show_backtrace(1);";
583 var116
= string__NativeString__to_s_with_length(var114
, var115
);
588 abstract_compiler__AbstractCompilerVisitor__add(self
, var113
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
599 var121
= string__NativeString__to_s_with_length(var119
, var120
);
604 var122
= ((val
* (*)(val
*))(var_valtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_valtype
) /* c_name on <var_valtype:MClassType>*/;
606 var123
= NEW_array__Array(&type_array__Arraykernel__Object
);
607 { /* var123 = array_instance Array[Object] */
609 var125
= NEW_array__NativeArray(var124
, &type_array__NativeArraykernel__Object
);
610 ((struct instance_array__NativeArray
*)var125
)->values
[0] = (val
*) var118
;
611 ((struct instance_array__NativeArray
*)var125
)->values
[1] = (val
*) var122
;
613 ((void (*)(val
*, val
*, long))(var123
->class->vft
[COLOR_array__Array__with_native
]))(var123
, var125
, var124
) /* with_native on <var123:Array[Object]>*/;
617 var126
= ((val
* (*)(val
*))(var123
->class->vft
[COLOR_string__Object__to_s
]))(var123
) /* to_s on <var123:Array[Object]>*/;
620 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var126
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
627 var131
= string__NativeString__to_s_with_length(var129
, var130
);
632 var132
= ((val
* (*)(val
*))(var_valtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_valtype
) /* c_name on <var_valtype:MClassType>*/;
639 var137
= string__NativeString__to_s_with_length(var135
, var136
);
646 var140
= "); /* boxing ";
648 var142
= string__NativeString__to_s_with_length(var140
, var141
);
653 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
654 var145
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
655 if (unlikely(var145
== NULL
)) {
656 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
657 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
661 RET_LABEL144
:(void)0;
669 var150
= string__NativeString__to_s_with_length(var148
, var149
);
673 var151
= NEW_array__Array(&type_array__Arraykernel__Object
);
674 { /* var151 = array_instance Array[Object] */
676 var153
= NEW_array__NativeArray(var152
, &type_array__NativeArraykernel__Object
);
677 ((struct instance_array__NativeArray
*)var153
)->values
[0] = (val
*) var_res
;
678 ((struct instance_array__NativeArray
*)var153
)->values
[1] = (val
*) var128
;
679 ((struct instance_array__NativeArray
*)var153
)->values
[2] = (val
*) var132
;
680 ((struct instance_array__NativeArray
*)var153
)->values
[3] = (val
*) var134
;
681 ((struct instance_array__NativeArray
*)var153
)->values
[4] = (val
*) var_value
;
682 ((struct instance_array__NativeArray
*)var153
)->values
[5] = (val
*) var139
;
683 ((struct instance_array__NativeArray
*)var153
)->values
[6] = (val
*) var143
;
684 ((struct instance_array__NativeArray
*)var153
)->values
[7] = (val
*) var147
;
686 ((void (*)(val
*, val
*, long))(var151
->class->vft
[COLOR_array__Array__with_native
]))(var151
, var153
, var152
) /* with_native on <var151:Array[Object]>*/;
690 var154
= ((val
* (*)(val
*))(var151
->class->vft
[COLOR_string__Object__to_s
]))(var151
) /* to_s on <var151:Array[Object]>*/;
693 abstract_compiler__AbstractCompilerVisitor__add(self
, var154
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
700 var159
= string__NativeString__to_s_with_length(var157
, var158
);
705 var160
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType(MClassType)>*/;
707 var161
= NEW_array__Array(&type_array__Arraykernel__Object
);
708 { /* var161 = array_instance Array[Object] */
710 var163
= NEW_array__NativeArray(var162
, &type_array__NativeArraykernel__Object
);
711 ((struct instance_array__NativeArray
*)var163
)->values
[0] = (val
*) var156
;
712 ((struct instance_array__NativeArray
*)var163
)->values
[1] = (val
*) var160
;
714 ((void (*)(val
*, val
*, long))(var161
->class->vft
[COLOR_array__Array__with_native
]))(var161
, var163
, var162
) /* with_native on <var161:Array[Object]>*/;
718 var164
= ((val
* (*)(val
*))(var161
->class->vft
[COLOR_string__Object__to_s
]))(var161
) /* to_s on <var161:Array[Object]>*/;
721 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var164
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
726 var167
= "->type = &type_";
728 var169
= string__NativeString__to_s_with_length(var167
, var168
);
733 var170
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType(MClassType)>*/;
740 var175
= string__NativeString__to_s_with_length(var173
, var174
);
744 var176
= NEW_array__Array(&type_array__Arraykernel__Object
);
745 { /* var176 = array_instance Array[Object] */
747 var178
= NEW_array__NativeArray(var177
, &type_array__NativeArraykernel__Object
);
748 ((struct instance_array__NativeArray
*)var178
)->values
[0] = (val
*) var_res
;
749 ((struct instance_array__NativeArray
*)var178
)->values
[1] = (val
*) var166
;
750 ((struct instance_array__NativeArray
*)var178
)->values
[2] = (val
*) var170
;
751 ((struct instance_array__NativeArray
*)var178
)->values
[3] = (val
*) var172
;
753 ((void (*)(val
*, val
*, long))(var176
->class->vft
[COLOR_array__Array__with_native
]))(var176
, var178
, var177
) /* with_native on <var176:Array[Object]>*/;
757 var179
= ((val
* (*)(val
*))(var176
->class->vft
[COLOR_string__Object__to_s
]))(var176
) /* to_s on <var176:Array[Object]>*/;
760 abstract_compiler__AbstractCompilerVisitor__add(self
, var179
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
767 var184
= string__NativeString__to_s_with_length(var182
, var183
);
772 var185
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType(MClassType)>*/;
774 var186
= NEW_array__Array(&type_array__Arraykernel__Object
);
775 { /* var186 = array_instance Array[Object] */
777 var188
= NEW_array__NativeArray(var187
, &type_array__NativeArraykernel__Object
);
778 ((struct instance_array__NativeArray
*)var188
)->values
[0] = (val
*) var181
;
779 ((struct instance_array__NativeArray
*)var188
)->values
[1] = (val
*) var185
;
781 ((void (*)(val
*, val
*, long))(var186
->class->vft
[COLOR_array__Array__with_native
]))(var186
, var188
, var187
) /* with_native on <var186:Array[Object]>*/;
785 var189
= ((val
* (*)(val
*))(var186
->class->vft
[COLOR_string__Object__to_s
]))(var186
) /* to_s on <var186:Array[Object]>*/;
788 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var189
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
793 var192
= "->class = &class_";
795 var194
= string__NativeString__to_s_with_length(var192
, var193
);
800 var195
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType(MClassType)>*/;
807 var200
= string__NativeString__to_s_with_length(var198
, var199
);
811 var201
= NEW_array__Array(&type_array__Arraykernel__Object
);
812 { /* var201 = array_instance Array[Object] */
814 var203
= NEW_array__NativeArray(var202
, &type_array__NativeArraykernel__Object
);
815 ((struct instance_array__NativeArray
*)var203
)->values
[0] = (val
*) var_res
;
816 ((struct instance_array__NativeArray
*)var203
)->values
[1] = (val
*) var191
;
817 ((struct instance_array__NativeArray
*)var203
)->values
[2] = (val
*) var195
;
818 ((struct instance_array__NativeArray
*)var203
)->values
[3] = (val
*) var197
;
820 ((void (*)(val
*, val
*, long))(var201
->class->vft
[COLOR_array__Array__with_native
]))(var201
, var203
, var202
) /* with_native on <var201:Array[Object]>*/;
824 var204
= ((val
* (*)(val
*))(var201
->class->vft
[COLOR_string__Object__to_s
]))(var201
) /* to_s on <var201:Array[Object]>*/;
827 abstract_compiler__AbstractCompilerVisitor__add(self
, var204
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
838 /* method separate_compiler#SeparateCompilerVisitor#box_extern for (self: Object, RuntimeVariable, MType): RuntimeVariable */
839 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__box_extern(val
* self
, val
* p0
, val
* p1
) {
840 val
* var
/* : RuntimeVariable */;
841 val
* var1
/* : RuntimeVariable */;
842 var1
= separate_compiler__SeparateCompilerVisitor__box_extern(self
, p0
, p1
);
847 /* method separate_compiler#SeparateCompilerVisitor#type_info for (self: SeparateCompilerVisitor, RuntimeVariable): String */
848 val
* separate_compiler__SeparateCompilerVisitor__type_info(val
* self
, val
* p0
) {
849 val
* var
/* : String */;
850 val
* var_value
/* var value: RuntimeVariable */;
851 val
* var1
/* : MType */;
852 val
* var3
/* : MType */;
853 val
* var4
/* : String */;
855 val
* var5
/* : String */;
856 char* var6
/* : NativeString */;
857 long var7
/* : Int */;
858 val
* var8
/* : FlatString */;
859 short int var9
/* : Bool */;
860 short int var10
/* : Bool */;
861 static val
* varonce11
;
862 val
* var12
/* : String */;
863 char* var13
/* : NativeString */;
864 long var14
/* : Int */;
865 val
* var15
/* : FlatString */;
866 val
* var16
/* : Array[Object] */;
867 long var17
/* : Int */;
868 val
* var18
/* : NativeArray[Object] */;
869 val
* var19
/* : String */;
870 val
* var20
/* : AbstractCompiler */;
871 val
* var22
/* : AbstractCompiler */;
872 val
* var23
/* : Set[MType] */;
873 val
* var25
/* : Set[MType] */;
874 val
* var26
/* : MType */;
875 val
* var28
/* : MType */;
876 static val
* varonce29
;
877 val
* var30
/* : String */;
878 char* var31
/* : NativeString */;
879 long var32
/* : Int */;
880 val
* var33
/* : FlatString */;
881 val
* var34
/* : MType */;
882 val
* var36
/* : MType */;
883 val
* var37
/* : String */;
884 val
* var38
/* : Array[Object] */;
885 long var39
/* : Int */;
886 val
* var40
/* : NativeArray[Object] */;
887 val
* var41
/* : String */;
888 static val
* varonce42
;
889 val
* var43
/* : String */;
890 char* var44
/* : NativeString */;
891 long var45
/* : Int */;
892 val
* var46
/* : FlatString */;
893 val
* var47
/* : MType */;
894 val
* var49
/* : MType */;
895 val
* var50
/* : String */;
896 static val
* varonce51
;
897 val
* var52
/* : String */;
898 char* var53
/* : NativeString */;
899 long var54
/* : Int */;
900 val
* var55
/* : FlatString */;
901 val
* var56
/* : Array[Object] */;
902 long var57
/* : Int */;
903 val
* var58
/* : NativeArray[Object] */;
904 val
* var59
/* : String */;
907 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
908 var3
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
909 if (unlikely(var3
== NULL
)) {
910 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
911 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
919 var4
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var1
) /* ctype on <var1:MType>*/;
926 var8
= string__NativeString__to_s_with_length(var6
, var7
);
931 var10
= string__FlatString___61d_61d(var4
, var5
);
940 var15
= string__NativeString__to_s_with_length(var13
, var14
);
944 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
945 { /* var16 = array_instance Array[Object] */
947 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArraykernel__Object
);
948 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var_value
;
949 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var12
;
951 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
955 var19
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
961 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
962 var22
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
963 if (unlikely(var22
== NULL
)) {
964 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
965 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
973 { /* Inline separate_compiler#SeparateCompiler#undead_types (var20) on <var20:AbstractCompiler(SeparateCompiler)> */
974 var25
= var20
->attrs
[COLOR_separate_compiler__SeparateCompiler___undead_types
].val
; /* _undead_types on <var20:AbstractCompiler(SeparateCompiler)> */
975 if (unlikely(var25
== NULL
)) {
976 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _undead_types");
977 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 156);
985 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
986 var28
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
987 if (unlikely(var28
== NULL
)) {
988 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
989 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
997 ((void (*)(val
*, val
*))(var23
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var23
, var26
) /* add on <var23:Set[MType]>*/;
1004 var33
= string__NativeString__to_s_with_length(var31
, var32
);
1009 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
1010 var36
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
1011 if (unlikely(var36
== NULL
)) {
1012 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1013 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
1017 RET_LABEL35
:(void)0;
1021 var37
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var34
) /* c_name on <var34:MType>*/;
1023 var38
= NEW_array__Array(&type_array__Arraykernel__Object
);
1024 { /* var38 = array_instance Array[Object] */
1026 var40
= NEW_array__NativeArray(var39
, &type_array__NativeArraykernel__Object
);
1027 ((struct instance_array__NativeArray
*)var40
)->values
[0] = (val
*) var30
;
1028 ((struct instance_array__NativeArray
*)var40
)->values
[1] = (val
*) var37
;
1030 ((void (*)(val
*, val
*, long))(var38
->class->vft
[COLOR_array__Array__with_native
]))(var38
, var40
, var39
) /* with_native on <var38:Array[Object]>*/;
1034 var41
= ((val
* (*)(val
*))(var38
->class->vft
[COLOR_string__Object__to_s
]))(var38
) /* to_s on <var38:Array[Object]>*/;
1037 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var41
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
1044 var46
= string__NativeString__to_s_with_length(var44
, var45
);
1049 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
1050 var49
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
1051 if (unlikely(var49
== NULL
)) {
1052 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1053 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
1057 RET_LABEL48
:(void)0;
1061 var50
= ((val
* (*)(val
*))(var47
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var47
) /* c_name on <var47:MType>*/;
1068 var55
= string__NativeString__to_s_with_length(var53
, var54
);
1072 var56
= NEW_array__Array(&type_array__Arraykernel__Object
);
1073 { /* var56 = array_instance Array[Object] */
1075 var58
= NEW_array__NativeArray(var57
, &type_array__NativeArraykernel__Object
);
1076 ((struct instance_array__NativeArray
*)var58
)->values
[0] = (val
*) var43
;
1077 ((struct instance_array__NativeArray
*)var58
)->values
[1] = (val
*) var50
;
1078 ((struct instance_array__NativeArray
*)var58
)->values
[2] = (val
*) var52
;
1080 ((void (*)(val
*, val
*, long))(var56
->class->vft
[COLOR_array__Array__with_native
]))(var56
, var58
, var57
) /* with_native on <var56:Array[Object]>*/;
1084 var59
= ((val
* (*)(val
*))(var56
->class->vft
[COLOR_string__Object__to_s
]))(var56
) /* to_s on <var56:Array[Object]>*/;
1092 /* method separate_compiler#SeparateCompilerVisitor#type_info for (self: Object, RuntimeVariable): String */
1093 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__type_info(val
* self
, val
* p0
) {
1094 val
* var
/* : String */;
1095 val
* var1
/* : String */;
1096 var1
= separate_compiler__SeparateCompilerVisitor__type_info(self
, p0
);
1101 /* method separate_compiler#SeparateCompilerVisitor#compile_callsite for (self: SeparateCompilerVisitor, CallSite, Array[RuntimeVariable]): nullable RuntimeVariable */
1102 val
* separate_compiler__SeparateCompilerVisitor__compile_callsite(val
* self
, val
* p0
, val
* p1
) {
1103 val
* var
/* : nullable RuntimeVariable */;
1104 val
* var_callsite
/* var callsite: CallSite */;
1105 val
* var_args
/* var args: Array[RuntimeVariable] */;
1106 val
* var1
/* : AbstractCompiler */;
1107 val
* var3
/* : AbstractCompiler */;
1108 val
* var4
/* : nullable RapidTypeAnalysis */;
1109 val
* var6
/* : nullable RapidTypeAnalysis */;
1110 val
* var_rta
/* var rta: nullable RapidTypeAnalysis */;
1111 val
* var7
/* : MMethod */;
1112 val
* var9
/* : MMethod */;
1113 val
* var_mmethod
/* var mmethod: MMethod */;
1114 short int var10
/* : Bool */;
1115 short int var11
/* : Bool */;
1116 val
* var12
/* : AbstractCompiler */;
1117 val
* var14
/* : AbstractCompiler */;
1118 val
* var15
/* : ModelBuilder */;
1119 val
* var17
/* : ModelBuilder */;
1120 val
* var18
/* : ToolContext */;
1121 val
* var20
/* : ToolContext */;
1122 val
* var21
/* : OptionBool */;
1123 val
* var23
/* : OptionBool */;
1124 val
* var24
/* : nullable Object */;
1125 val
* var26
/* : nullable Object */;
1126 short int var27
/* : Bool */;
1127 short int var_
/* var : Bool */;
1128 val
* var28
/* : null */;
1129 short int var29
/* : Bool */;
1130 short int var30
/* : Bool */;
1131 val
* var_other
/* var other: nullable Object */;
1132 short int var32
/* : Bool */;
1133 short int var33
/* : Bool */;
1134 short int var34
/* : Bool */;
1135 short int var_35
/* var : Bool */;
1136 short int var36
/* : Bool */;
1137 short int var38
/* : Bool */;
1138 short int var39
/* : Bool */;
1139 val
* var40
/* : Set[MMethodDef] */;
1140 val
* var_tgs
/* var tgs: Set[MMethodDef] */;
1141 long var41
/* : Int */;
1142 long var42
/* : Int */;
1143 short int var43
/* : Bool */;
1144 short int var44
/* : Bool */;
1145 short int var46
/* : Bool */;
1146 val
* var47
/* : nullable RuntimeVariable */;
1147 val
* var_res0
/* var res0: nullable RuntimeVariable */;
1148 val
* var48
/* : nullable Object */;
1149 val
* var49
/* : nullable Object */;
1150 val
* var50
/* : MClassDef */;
1151 val
* var52
/* : MClassDef */;
1152 val
* var53
/* : MClassType */;
1153 val
* var55
/* : MClassType */;
1154 val
* var56
/* : nullable RuntimeVariable */;
1155 val
* var_res
/* var res: nullable RuntimeVariable */;
1156 val
* var57
/* : null */;
1157 short int var58
/* : Bool */;
1158 short int var59
/* : Bool */;
1159 short int var61
/* : Bool */;
1160 short int var62
/* : Bool */;
1161 short int var63
/* : Bool */;
1162 val
* var64
/* : null */;
1163 short int var65
/* : Bool */;
1164 short int var66
/* : Bool */;
1165 short int var68
/* : Bool */;
1166 short int var69
/* : Bool */;
1167 short int var70
/* : Bool */;
1168 static val
* varonce
;
1169 val
* var71
/* : String */;
1170 char* var72
/* : NativeString */;
1171 long var73
/* : Int */;
1172 val
* var74
/* : FlatString */;
1173 val
* var75
/* : nullable RuntimeVariable */;
1177 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1178 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1179 if (unlikely(var3
== NULL
)) {
1180 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1181 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
1189 { /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (var1) on <var1:AbstractCompiler(SeparateCompiler)> */
1190 var6
= var1
->attrs
[COLOR_separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <var1:AbstractCompiler(SeparateCompiler)> */
1197 { /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:CallSite> */
1198 var9
= var_callsite
->attrs
[COLOR_typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:CallSite> */
1199 if (unlikely(var9
== NULL
)) {
1200 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1201 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 483);
1210 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1211 var14
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1212 if (unlikely(var14
== NULL
)) {
1213 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1214 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
1218 RET_LABEL13
:(void)0;
1222 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var12) on <var12:AbstractCompiler(SeparateCompiler)> */
1223 var17
= var12
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var12:AbstractCompiler(SeparateCompiler)> */
1224 if (unlikely(var17
== NULL
)) {
1225 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1226 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
1230 RET_LABEL16
:(void)0;
1234 { /* Inline modelbuilder#ModelBuilder#toolcontext (var15) on <var15:ModelBuilder> */
1235 var20
= var15
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var15:ModelBuilder> */
1236 if (unlikely(var20
== NULL
)) {
1237 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1238 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
1242 RET_LABEL19
:(void)0;
1246 { /* Inline separate_compiler#ToolContext#opt_direct_call_monomorph (var18) on <var18:ToolContext> */
1247 var23
= var18
->attrs
[COLOR_separate_compiler__ToolContext___opt_direct_call_monomorph
].val
; /* _opt_direct_call_monomorph on <var18:ToolContext> */
1248 if (unlikely(var23
== NULL
)) {
1249 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_direct_call_monomorph");
1250 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 36);
1254 RET_LABEL22
:(void)0;
1258 { /* Inline opts#Option#value (var21) on <var21:OptionBool> */
1259 var26
= var21
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var21:OptionBool> */
1261 RET_LABEL25
:(void)0;
1264 var27
= ((struct instance_kernel__Bool
*)var24
)->value
; /* autounbox from nullable Object to Bool */;
1268 if (var_rta
== NULL
) {
1269 var29
= 0; /* is null */
1271 var29
= 1; /* arg is null and recv is not */
1274 { /* Inline kernel#Object#!= (var_rta,var28) on <var_rta:nullable RapidTypeAnalysis> */
1277 var33
= ((short int (*)(val
*, val
*))(var_rta
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_rta
, var_other
) /* == on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)>*/;
1283 RET_LABEL31
:(void)0;
1294 { /* Inline model#MMethod#is_root_init (var_mmethod) on <var_mmethod:MMethod> */
1295 var38
= var_mmethod
->attrs
[COLOR_model__MMethod___is_root_init
].s
; /* _is_root_init on <var_mmethod:MMethod> */
1297 RET_LABEL37
:(void)0;
1307 var40
= rapid_type_analysis__RapidTypeAnalysis__live_targets(var_rta
, var_callsite
);
1311 var41
= ((long (*)(val
*))(var_tgs
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_tgs
) /* length on <var_tgs:Set[MMethodDef]>*/;
1315 { /* Inline kernel#Int#== (var41,var42) on <var41:Int> */
1316 var46
= var41
== var42
;
1319 RET_LABEL45
:(void)0;
1325 var47
= separate_compiler__SeparateCompilerVisitor__before_send(self
, var_mmethod
, var_args
);
1329 var48
= ((val
* (*)(val
*))(var_tgs
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_tgs
) /* first on <var_tgs:Set[MMethodDef]>*/;
1332 var49
= ((val
* (*)(val
*))(var_tgs
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_tgs
) /* first on <var_tgs:Set[MMethodDef]>*/;
1335 { /* Inline model#MPropDef#mclassdef (var49) on <var49:nullable Object(MMethodDef)> */
1336 var52
= var49
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var49:nullable Object(MMethodDef)> */
1337 if (unlikely(var52
== NULL
)) {
1338 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1339 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
1343 RET_LABEL51
:(void)0;
1347 { /* Inline model#MClassDef#bound_mtype (var50) on <var50:MClassDef> */
1348 var55
= var50
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var50:MClassDef> */
1349 if (unlikely(var55
== NULL
)) {
1350 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1351 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
1355 RET_LABEL54
:(void)0;
1359 var56
= separate_compiler__SeparateCompilerVisitor__call(self
, var48
, var53
, var_args
);
1363 if (var_res0
== NULL
) {
1364 var58
= 0; /* is null */
1366 var58
= 1; /* arg is null and recv is not */
1369 { /* Inline kernel#Object#!= (var_res0,var57) on <var_res0:nullable RuntimeVariable> */
1372 var62
= ((short int (*)(val
*, val
*))(var_res0
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res0
, var_other
) /* == on <var_res0:nullable RuntimeVariable(RuntimeVariable)>*/;
1378 RET_LABEL60
:(void)0;
1384 if (var_res
== NULL
) {
1385 var65
= 0; /* is null */
1387 var65
= 1; /* arg is null and recv is not */
1390 { /* Inline kernel#Object#!= (var_res,var64) on <var_res:nullable RuntimeVariable> */
1393 var69
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable RuntimeVariable(RuntimeVariable)>*/;
1399 RET_LABEL67
:(void)0;
1403 if (unlikely(!var65
)) {
1404 PRINT_ERROR("Runtime error: %s", "Assert failed");
1405 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 1074);
1409 abstract_compiler__AbstractCompilerVisitor__assign(self
, var_res0
, var_res
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <self:SeparateCompilerVisitor>*/
1419 var74
= string__NativeString__to_s_with_length(var72
, var73
);
1424 abstract_compiler__AbstractCompilerVisitor__add(self
, var71
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1433 var75
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__compile_callsite
]))(self
, p0
, p1
) /* compile_callsite on <self:SeparateCompilerVisitor>*/;
1440 /* method separate_compiler#SeparateCompilerVisitor#compile_callsite for (self: Object, CallSite, Array[RuntimeVariable]): nullable RuntimeVariable */
1441 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__compile_callsite(val
* self
, val
* p0
, val
* p1
) {
1442 val
* var
/* : nullable RuntimeVariable */;
1443 val
* var1
/* : nullable RuntimeVariable */;
1444 var1
= separate_compiler__SeparateCompilerVisitor__compile_callsite(self
, p0
, p1
);
1449 /* method separate_compiler#SeparateCompilerVisitor#send for (self: SeparateCompilerVisitor, MMethod, Array[RuntimeVariable]): nullable RuntimeVariable */
1450 val
* separate_compiler__SeparateCompilerVisitor__send(val
* self
, val
* p0
, val
* p1
) {
1451 val
* var
/* : nullable RuntimeVariable */;
1452 val
* var_mmethod
/* var mmethod: MMethod */;
1453 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
1454 val
* var1
/* : nullable Object */;
1455 val
* var2
/* : MType */;
1456 val
* var4
/* : MType */;
1457 val
* var5
/* : String */;
1458 static val
* varonce
;
1459 val
* var6
/* : String */;
1460 char* var7
/* : NativeString */;
1461 long var8
/* : Int */;
1462 val
* var9
/* : FlatString */;
1463 short int var10
/* : Bool */;
1464 short int var11
/* : Bool */;
1465 val
* var_other
/* var other: nullable Object */;
1466 short int var13
/* : Bool */;
1467 short int var14
/* : Bool */;
1468 short int var15
/* : Bool */;
1469 val
* var16
/* : AbstractCompiler */;
1470 val
* var18
/* : AbstractCompiler */;
1471 val
* var19
/* : MModule */;
1472 val
* var21
/* : MModule */;
1473 val
* var_m
/* var m: MModule */;
1474 val
* var22
/* : AbstractCompiler */;
1475 val
* var24
/* : AbstractCompiler */;
1476 val
* var25
/* : AbstractCompiler */;
1477 val
* var27
/* : AbstractCompiler */;
1478 val
* var28
/* : MModule */;
1479 val
* var30
/* : MModule */;
1480 val
* var32
/* : nullable Object */;
1481 val
* var33
/* : MType */;
1482 val
* var35
/* : MType */;
1483 val
* var36
/* : nullable RuntimeVariable */;
1484 val
* var_res
/* var res: nullable RuntimeVariable */;
1485 val
* var37
/* : AbstractCompiler */;
1486 val
* var39
/* : AbstractCompiler */;
1487 val
* var41
/* : String */;
1488 val
* var42
/* : nullable RuntimeVariable */;
1492 var1
= abstract_collection__SequenceRead__first(var_arguments
);
1495 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var1) on <var1:nullable Object(RuntimeVariable)> */
1496 var4
= var1
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var1:nullable Object(RuntimeVariable)> */
1497 if (unlikely(var4
== NULL
)) {
1498 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
1499 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1637);
1507 var5
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var2
) /* ctype on <var2:MType>*/;
1514 var9
= string__NativeString__to_s_with_length(var7
, var8
);
1519 { /* Inline kernel#Object#!= (var5,var6) on <var5:String> */
1522 var14
= ((short int (*)(val
*, val
*))(var5
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var5
, var_other
) /* == on <var5:String>*/;
1528 RET_LABEL12
:(void)0;
1534 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1535 var18
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1536 if (unlikely(var18
== NULL
)) {
1537 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1538 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
1542 RET_LABEL17
:(void)0;
1546 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var16) on <var16:AbstractCompiler(SeparateCompiler)> */
1547 var21
= var16
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var16:AbstractCompiler(SeparateCompiler)> */
1548 if (unlikely(var21
== NULL
)) {
1549 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
1550 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
1554 RET_LABEL20
:(void)0;
1559 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1560 var24
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1561 if (unlikely(var24
== NULL
)) {
1562 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1563 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
1567 RET_LABEL23
:(void)0;
1571 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1572 var27
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1573 if (unlikely(var27
== NULL
)) {
1574 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1575 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
1579 RET_LABEL26
:(void)0;
1583 { /* Inline abstract_compiler#AbstractCompiler#realmainmodule (var25) on <var25:AbstractCompiler(SeparateCompiler)> */
1584 var30
= var25
->attrs
[COLOR_abstract_compiler__AbstractCompiler___realmainmodule
].val
; /* _realmainmodule on <var25:AbstractCompiler(SeparateCompiler)> */
1585 if (unlikely(var30
== NULL
)) {
1586 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _realmainmodule");
1587 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 467);
1591 RET_LABEL29
:(void)0;
1595 { /* Inline abstract_compiler#AbstractCompiler#mainmodule= (var22,var28) on <var22:AbstractCompiler(SeparateCompiler)> */
1596 var22
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
= var28
; /* _mainmodule on <var22:AbstractCompiler(SeparateCompiler)> */
1597 RET_LABEL31
:(void)0;
1601 var32
= abstract_collection__SequenceRead__first(var_arguments
);
1604 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var32) on <var32:nullable Object(RuntimeVariable)> */
1605 var35
= var32
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var32:nullable Object(RuntimeVariable)> */
1606 if (unlikely(var35
== NULL
)) {
1607 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
1608 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1637);
1612 RET_LABEL34
:(void)0;
1616 var36
= abstract_compiler__AbstractCompilerVisitor__monomorphic_send(self
, var_mmethod
, var33
, var_arguments
);
1620 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1621 var39
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1622 if (unlikely(var39
== NULL
)) {
1623 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1624 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
1628 RET_LABEL38
:(void)0;
1632 { /* Inline abstract_compiler#AbstractCompiler#mainmodule= (var37,var_m) on <var37:AbstractCompiler(SeparateCompiler)> */
1633 var37
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
= var_m
; /* _mainmodule on <var37:AbstractCompiler(SeparateCompiler)> */
1634 RET_LABEL40
:(void)0;
1642 var41
= separate_compiler__MProperty__const_color(var_mmethod
);
1645 var42
= separate_compiler__SeparateCompilerVisitor__table_send(self
, var_mmethod
, var_arguments
, var41
);
1652 /* method separate_compiler#SeparateCompilerVisitor#send for (self: Object, MMethod, Array[RuntimeVariable]): nullable RuntimeVariable */
1653 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__send(val
* self
, val
* p0
, val
* p1
) {
1654 val
* var
/* : nullable RuntimeVariable */;
1655 val
* var1
/* : nullable RuntimeVariable */;
1656 var1
= separate_compiler__SeparateCompilerVisitor__send(self
, p0
, p1
);
1661 /* method separate_compiler#SeparateCompilerVisitor#before_send for (self: SeparateCompilerVisitor, MMethod, Array[RuntimeVariable]): nullable RuntimeVariable */
1662 val
* separate_compiler__SeparateCompilerVisitor__before_send(val
* self
, val
* p0
, val
* p1
) {
1663 val
* var
/* : nullable RuntimeVariable */;
1664 val
* var_mmethod
/* var mmethod: MMethod */;
1665 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
1666 val
* var1
/* : null */;
1667 val
* var_res
/* var res: nullable RuntimeVariable */;
1668 val
* var2
/* : nullable Object */;
1669 val
* var_recv
/* var recv: RuntimeVariable */;
1670 short int var3
/* : Bool */;
1671 short int var4
/* : Bool */;
1672 val
* var5
/* : AbstractCompiler */;
1673 val
* var7
/* : AbstractCompiler */;
1674 val
* var8
/* : ModelBuilder */;
1675 val
* var10
/* : ModelBuilder */;
1676 val
* var11
/* : ToolContext */;
1677 val
* var13
/* : ToolContext */;
1678 val
* var14
/* : OptionBool */;
1679 val
* var16
/* : OptionBool */;
1680 val
* var17
/* : nullable Object */;
1681 val
* var19
/* : nullable Object */;
1682 short int var20
/* : Bool */;
1683 short int var21
/* : Bool */;
1684 short int var_
/* var : Bool */;
1685 val
* var22
/* : String */;
1686 val
* var24
/* : String */;
1687 static val
* varonce
;
1688 val
* var25
/* : String */;
1689 char* var26
/* : NativeString */;
1690 long var27
/* : Int */;
1691 val
* var28
/* : FlatString */;
1692 short int var29
/* : Bool */;
1693 short int var30
/* : Bool */;
1694 short int var_31
/* var : Bool */;
1695 val
* var32
/* : String */;
1696 val
* var34
/* : String */;
1697 static val
* varonce35
;
1698 val
* var36
/* : String */;
1699 char* var37
/* : NativeString */;
1700 long var38
/* : Int */;
1701 val
* var39
/* : FlatString */;
1702 short int var40
/* : Bool */;
1703 short int var41
/* : Bool */;
1704 short int var_consider_null
/* var consider_null: Bool */;
1705 short int var42
/* : Bool */;
1706 val
* var43
/* : MType */;
1707 val
* var45
/* : MType */;
1708 short int var46
/* : Bool */;
1711 short int var_47
/* var : Bool */;
1712 short int var_maybenull
/* var maybenull: Bool */;
1713 static val
* varonce48
;
1714 val
* var49
/* : String */;
1715 char* var50
/* : NativeString */;
1716 long var51
/* : Int */;
1717 val
* var52
/* : FlatString */;
1718 static val
* varonce53
;
1719 val
* var54
/* : String */;
1720 char* var55
/* : NativeString */;
1721 long var56
/* : Int */;
1722 val
* var57
/* : FlatString */;
1723 val
* var58
/* : Array[Object] */;
1724 long var59
/* : Int */;
1725 val
* var60
/* : NativeArray[Object] */;
1726 val
* var61
/* : String */;
1727 val
* var62
/* : String */;
1728 val
* var64
/* : String */;
1729 static val
* varonce65
;
1730 val
* var66
/* : String */;
1731 char* var67
/* : NativeString */;
1732 long var68
/* : Int */;
1733 val
* var69
/* : FlatString */;
1734 short int var70
/* : Bool */;
1735 short int var71
/* : Bool */;
1736 val
* var72
/* : MClassType */;
1737 val
* var73
/* : RuntimeVariable */;
1738 long var74
/* : Int */;
1739 val
* var75
/* : nullable Object */;
1740 val
* var_arg
/* var arg: RuntimeVariable */;
1741 val
* var76
/* : MType */;
1742 val
* var78
/* : MType */;
1743 short int var79
/* : Bool */;
1746 static val
* varonce82
;
1747 val
* var83
/* : String */;
1748 char* var84
/* : NativeString */;
1749 long var85
/* : Int */;
1750 val
* var86
/* : FlatString */;
1751 static val
* varonce87
;
1752 val
* var88
/* : String */;
1753 char* var89
/* : NativeString */;
1754 long var90
/* : Int */;
1755 val
* var91
/* : FlatString */;
1756 val
* var92
/* : Array[Object] */;
1757 long var93
/* : Int */;
1758 val
* var94
/* : NativeArray[Object] */;
1759 val
* var95
/* : String */;
1760 val
* var96
/* : MType */;
1761 val
* var98
/* : MType */;
1762 short int var99
/* : Bool */;
1765 static val
* varonce102
;
1766 val
* var103
/* : String */;
1767 char* var104
/* : NativeString */;
1768 long var105
/* : Int */;
1769 val
* var106
/* : FlatString */;
1770 val
* var107
/* : Array[Object] */;
1771 long var108
/* : Int */;
1772 val
* var109
/* : NativeArray[Object] */;
1773 val
* var110
/* : String */;
1774 static val
* varonce111
;
1775 val
* var112
/* : String */;
1776 char* var113
/* : NativeString */;
1777 long var114
/* : Int */;
1778 val
* var115
/* : FlatString */;
1779 val
* var116
/* : String */;
1780 static val
* varonce117
;
1781 val
* var118
/* : String */;
1782 char* var119
/* : NativeString */;
1783 long var120
/* : Int */;
1784 val
* var121
/* : FlatString */;
1785 val
* var122
/* : Array[Object] */;
1786 long var123
/* : Int */;
1787 val
* var124
/* : NativeArray[Object] */;
1788 val
* var125
/* : String */;
1789 val
* var126
/* : String */;
1790 val
* var128
/* : String */;
1791 static val
* varonce129
;
1792 val
* var130
/* : String */;
1793 char* var131
/* : NativeString */;
1794 long var132
/* : Int */;
1795 val
* var133
/* : FlatString */;
1796 short int var134
/* : Bool */;
1797 short int var135
/* : Bool */;
1798 val
* var136
/* : MClassType */;
1799 val
* var137
/* : RuntimeVariable */;
1800 long var138
/* : Int */;
1801 val
* var139
/* : nullable Object */;
1802 val
* var_arg140
/* var arg: RuntimeVariable */;
1803 val
* var141
/* : MType */;
1804 val
* var143
/* : MType */;
1805 short int var144
/* : Bool */;
1808 static val
* varonce147
;
1809 val
* var148
/* : String */;
1810 char* var149
/* : NativeString */;
1811 long var150
/* : Int */;
1812 val
* var151
/* : FlatString */;
1813 static val
* varonce152
;
1814 val
* var153
/* : String */;
1815 char* var154
/* : NativeString */;
1816 long var155
/* : Int */;
1817 val
* var156
/* : FlatString */;
1818 val
* var157
/* : Array[Object] */;
1819 long var158
/* : Int */;
1820 val
* var159
/* : NativeArray[Object] */;
1821 val
* var160
/* : String */;
1822 val
* var161
/* : MType */;
1823 val
* var163
/* : MType */;
1824 short int var164
/* : Bool */;
1827 static val
* varonce167
;
1828 val
* var168
/* : String */;
1829 char* var169
/* : NativeString */;
1830 long var170
/* : Int */;
1831 val
* var171
/* : FlatString */;
1832 val
* var172
/* : Array[Object] */;
1833 long var173
/* : Int */;
1834 val
* var174
/* : NativeArray[Object] */;
1835 val
* var175
/* : String */;
1836 static val
* varonce176
;
1837 val
* var177
/* : String */;
1838 char* var178
/* : NativeString */;
1839 long var179
/* : Int */;
1840 val
* var180
/* : FlatString */;
1841 val
* var181
/* : String */;
1842 static val
* varonce182
;
1843 val
* var183
/* : String */;
1844 char* var184
/* : NativeString */;
1845 long var185
/* : Int */;
1846 val
* var186
/* : FlatString */;
1847 val
* var187
/* : Array[Object] */;
1848 long var188
/* : Int */;
1849 val
* var189
/* : NativeArray[Object] */;
1850 val
* var190
/* : String */;
1851 static val
* varonce191
;
1852 val
* var192
/* : String */;
1853 char* var193
/* : NativeString */;
1854 long var194
/* : Int */;
1855 val
* var195
/* : FlatString */;
1856 static val
* varonce196
;
1857 val
* var197
/* : String */;
1858 char* var198
/* : NativeString */;
1859 long var199
/* : Int */;
1860 val
* var200
/* : FlatString */;
1861 static val
* varonce201
;
1862 val
* var202
/* : String */;
1863 char* var203
/* : NativeString */;
1864 long var204
/* : Int */;
1865 val
* var205
/* : FlatString */;
1866 short int var206
/* : Bool */;
1867 val
* var207
/* : AbstractCompiler */;
1868 val
* var209
/* : AbstractCompiler */;
1869 val
* var210
/* : ModelBuilder */;
1870 val
* var212
/* : ModelBuilder */;
1871 val
* var213
/* : ToolContext */;
1872 val
* var215
/* : ToolContext */;
1873 val
* var216
/* : OptionBool */;
1874 val
* var218
/* : OptionBool */;
1875 val
* var219
/* : nullable Object */;
1876 val
* var221
/* : nullable Object */;
1877 short int var222
/* : Bool */;
1878 short int var223
/* : Bool */;
1879 short int var_224
/* var : Bool */;
1880 short int var225
/* : Bool */;
1881 val
* var226
/* : String */;
1882 val
* var228
/* : String */;
1883 static val
* varonce229
;
1884 val
* var230
/* : String */;
1885 char* var231
/* : NativeString */;
1886 long var232
/* : Int */;
1887 val
* var233
/* : FlatString */;
1888 short int var234
/* : Bool */;
1889 short int var235
/* : Bool */;
1890 short int var_236
/* var : Bool */;
1891 val
* var237
/* : String */;
1892 val
* var239
/* : String */;
1893 static val
* varonce240
;
1894 val
* var241
/* : String */;
1895 char* var242
/* : NativeString */;
1896 long var243
/* : Int */;
1897 val
* var244
/* : FlatString */;
1898 short int var245
/* : Bool */;
1899 short int var246
/* : Bool */;
1900 val
* var247
/* : null */;
1901 short int var248
/* : Bool */;
1902 short int var249
/* : Bool */;
1903 val
* var_other
/* var other: nullable Object */;
1904 short int var251
/* : Bool */;
1905 short int var253
/* : Bool */;
1906 val
* var254
/* : MClassType */;
1907 val
* var255
/* : RuntimeVariable */;
1908 long var256
/* : Int */;
1909 val
* var257
/* : nullable Object */;
1910 val
* var_arg258
/* var arg: RuntimeVariable */;
1911 val
* var259
/* : MType */;
1912 val
* var261
/* : MType */;
1913 short int var262
/* : Bool */;
1916 val
* var265
/* : String */;
1917 val
* var267
/* : String */;
1918 static val
* varonce268
;
1919 val
* var269
/* : String */;
1920 char* var270
/* : NativeString */;
1921 long var271
/* : Int */;
1922 val
* var272
/* : FlatString */;
1923 short int var273
/* : Bool */;
1924 short int var274
/* : Bool */;
1925 static val
* varonce275
;
1926 val
* var276
/* : String */;
1927 char* var277
/* : NativeString */;
1928 long var278
/* : Int */;
1929 val
* var279
/* : FlatString */;
1930 val
* var280
/* : Array[Object] */;
1931 long var281
/* : Int */;
1932 val
* var282
/* : NativeArray[Object] */;
1933 val
* var283
/* : String */;
1934 static val
* varonce284
;
1935 val
* var285
/* : String */;
1936 char* var286
/* : NativeString */;
1937 long var287
/* : Int */;
1938 val
* var288
/* : FlatString */;
1939 val
* var289
/* : Array[Object] */;
1940 long var290
/* : Int */;
1941 val
* var291
/* : NativeArray[Object] */;
1942 val
* var292
/* : String */;
1943 static val
* varonce293
;
1944 val
* var294
/* : String */;
1945 char* var295
/* : NativeString */;
1946 long var296
/* : Int */;
1947 val
* var297
/* : FlatString */;
1948 static val
* varonce298
;
1949 val
* var299
/* : String */;
1950 char* var300
/* : NativeString */;
1951 long var301
/* : Int */;
1952 val
* var302
/* : FlatString */;
1958 var2
= abstract_collection__SequenceRead__first(var_arguments
);
1962 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1963 var7
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1964 if (unlikely(var7
== NULL
)) {
1965 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1966 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
1974 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var5) on <var5:AbstractCompiler(SeparateCompiler)> */
1975 var10
= var5
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var5:AbstractCompiler(SeparateCompiler)> */
1976 if (unlikely(var10
== NULL
)) {
1977 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1978 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
1986 { /* Inline modelbuilder#ModelBuilder#toolcontext (var8) on <var8:ModelBuilder> */
1987 var13
= var8
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var8:ModelBuilder> */
1988 if (unlikely(var13
== NULL
)) {
1989 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1990 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
1994 RET_LABEL12
:(void)0;
1998 { /* Inline abstract_compiler#ToolContext#opt_no_check_null (var11) on <var11:ToolContext> */
1999 var16
= var11
->attrs
[COLOR_abstract_compiler__ToolContext___opt_no_check_null
].val
; /* _opt_no_check_null on <var11:ToolContext> */
2000 if (unlikely(var16
== NULL
)) {
2001 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_null");
2002 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 57);
2006 RET_LABEL15
:(void)0;
2010 { /* Inline opts#Option#value (var14) on <var14:OptionBool> */
2011 var19
= var14
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var14:OptionBool> */
2013 RET_LABEL18
:(void)0;
2016 var20
= ((struct instance_kernel__Bool
*)var17
)->value
; /* autounbox from nullable Object to Bool */;
2023 { /* Inline model#MProperty#name (var_mmethod) on <var_mmethod:MMethod> */
2024 var24
= var_mmethod
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var_mmethod:MMethod> */
2025 if (unlikely(var24
== NULL
)) {
2026 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2027 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
2031 RET_LABEL23
:(void)0;
2039 var28
= string__NativeString__to_s_with_length(var26
, var27
);
2044 var30
= string__FlatString___61d_61d(var22
, var25
);
2054 { /* Inline model#MProperty#name (var_mmethod) on <var_mmethod:MMethod> */
2055 var34
= var_mmethod
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var_mmethod:MMethod> */
2056 if (unlikely(var34
== NULL
)) {
2057 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2058 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
2062 RET_LABEL33
:(void)0;
2070 var39
= string__NativeString__to_s_with_length(var37
, var38
);
2075 var41
= string__FlatString___61d_61d(var32
, var36
);
2080 var_consider_null
= var3
;
2082 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_recv) on <var_recv:RuntimeVariable> */
2083 var45
= var_recv
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_recv:RuntimeVariable> */
2084 if (unlikely(var45
== NULL
)) {
2085 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
2086 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1637);
2090 RET_LABEL44
:(void)0;
2093 /* <var43:MType> isa MNullableType */
2094 cltype
= type_model__MNullableType
.color
;
2095 idtype
= type_model__MNullableType
.id
;
2096 if(cltype
>= var43
->type
->table_size
) {
2099 var46
= var43
->type
->type_table
[cltype
] == idtype
;
2103 var42
= var_consider_null
;
2107 var_maybenull
= var42
;
2114 var52
= string__NativeString__to_s_with_length(var50
, var51
);
2121 var55
= " == NULL) {";
2123 var57
= string__NativeString__to_s_with_length(var55
, var56
);
2127 var58
= NEW_array__Array(&type_array__Arraykernel__Object
);
2128 { /* var58 = array_instance Array[Object] */
2130 var60
= NEW_array__NativeArray(var59
, &type_array__NativeArraykernel__Object
);
2131 ((struct instance_array__NativeArray
*)var60
)->values
[0] = (val
*) var49
;
2132 ((struct instance_array__NativeArray
*)var60
)->values
[1] = (val
*) var_recv
;
2133 ((struct instance_array__NativeArray
*)var60
)->values
[2] = (val
*) var54
;
2135 ((void (*)(val
*, val
*, long))(var58
->class->vft
[COLOR_array__Array__with_native
]))(var58
, var60
, var59
) /* with_native on <var58:Array[Object]>*/;
2139 var61
= ((val
* (*)(val
*))(var58
->class->vft
[COLOR_string__Object__to_s
]))(var58
) /* to_s on <var58:Array[Object]>*/;
2142 abstract_compiler__AbstractCompilerVisitor__add(self
, var61
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2145 { /* Inline model#MProperty#name (var_mmethod) on <var_mmethod:MMethod> */
2146 var64
= var_mmethod
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var_mmethod:MMethod> */
2147 if (unlikely(var64
== NULL
)) {
2148 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2149 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
2153 RET_LABEL63
:(void)0;
2161 var69
= string__NativeString__to_s_with_length(var67
, var68
);
2166 var71
= string__FlatString___61d_61d(var62
, var66
);
2171 var72
= abstract_compiler__AbstractCompilerVisitor__bool_type(self
);
2174 var73
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var72
);
2179 var75
= array__Array___91d_93d(var_arguments
, var74
);
2183 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_arg) on <var_arg:RuntimeVariable> */
2184 var78
= var_arg
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_arg:RuntimeVariable> */
2185 if (unlikely(var78
== NULL
)) {
2186 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
2187 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1637);
2191 RET_LABEL77
:(void)0;
2194 /* <var76:MType> isa MNullableType */
2195 cltype80
= type_model__MNullableType
.color
;
2196 idtype81
= type_model__MNullableType
.id
;
2197 if(cltype80
>= var76
->type
->table_size
) {
2200 var79
= var76
->type
->type_table
[cltype80
] == idtype81
;
2208 var86
= string__NativeString__to_s_with_length(var84
, var85
);
2215 var89
= " == NULL);";
2217 var91
= string__NativeString__to_s_with_length(var89
, var90
);
2221 var92
= NEW_array__Array(&type_array__Arraykernel__Object
);
2222 { /* var92 = array_instance Array[Object] */
2224 var94
= NEW_array__NativeArray(var93
, &type_array__NativeArraykernel__Object
);
2225 ((struct instance_array__NativeArray
*)var94
)->values
[0] = (val
*) var_res
;
2226 ((struct instance_array__NativeArray
*)var94
)->values
[1] = (val
*) var83
;
2227 ((struct instance_array__NativeArray
*)var94
)->values
[2] = (val
*) var_arg
;
2228 ((struct instance_array__NativeArray
*)var94
)->values
[3] = (val
*) var88
;
2230 ((void (*)(val
*, val
*, long))(var92
->class->vft
[COLOR_array__Array__with_native
]))(var92
, var94
, var93
) /* with_native on <var92:Array[Object]>*/;
2234 var95
= ((val
* (*)(val
*))(var92
->class->vft
[COLOR_string__Object__to_s
]))(var92
) /* to_s on <var92:Array[Object]>*/;
2237 abstract_compiler__AbstractCompilerVisitor__add(self
, var95
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2241 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_arg) on <var_arg:RuntimeVariable> */
2242 var98
= var_arg
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_arg:RuntimeVariable> */
2243 if (unlikely(var98
== NULL
)) {
2244 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
2245 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1637);
2249 RET_LABEL97
:(void)0;
2252 /* <var96:MType> isa MNullType */
2253 cltype100
= type_model__MNullType
.color
;
2254 idtype101
= type_model__MNullType
.id
;
2255 if(cltype100
>= var96
->type
->table_size
) {
2258 var99
= var96
->type
->type_table
[cltype100
] == idtype101
;
2262 var103
= varonce102
;
2264 var104
= " = 1; /* is null */";
2266 var106
= string__NativeString__to_s_with_length(var104
, var105
);
2268 varonce102
= var103
;
2270 var107
= NEW_array__Array(&type_array__Arraykernel__Object
);
2271 { /* var107 = array_instance Array[Object] */
2273 var109
= NEW_array__NativeArray(var108
, &type_array__NativeArraykernel__Object
);
2274 ((struct instance_array__NativeArray
*)var109
)->values
[0] = (val
*) var_res
;
2275 ((struct instance_array__NativeArray
*)var109
)->values
[1] = (val
*) var103
;
2277 ((void (*)(val
*, val
*, long))(var107
->class->vft
[COLOR_array__Array__with_native
]))(var107
, var109
, var108
) /* with_native on <var107:Array[Object]>*/;
2281 var110
= ((val
* (*)(val
*))(var107
->class->vft
[COLOR_string__Object__to_s
]))(var107
) /* to_s on <var107:Array[Object]>*/;
2284 abstract_compiler__AbstractCompilerVisitor__add(self
, var110
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2288 var112
= varonce111
;
2290 var113
= " = 0; /* ";
2292 var115
= string__NativeString__to_s_with_length(var113
, var114
);
2294 varonce111
= var112
;
2297 var116
= abstract_compiler__RuntimeVariable__inspect(var_arg
);
2300 var118
= varonce117
;
2302 var119
= " cannot be null */";
2304 var121
= string__NativeString__to_s_with_length(var119
, var120
);
2306 varonce117
= var118
;
2308 var122
= NEW_array__Array(&type_array__Arraykernel__Object
);
2309 { /* var122 = array_instance Array[Object] */
2311 var124
= NEW_array__NativeArray(var123
, &type_array__NativeArraykernel__Object
);
2312 ((struct instance_array__NativeArray
*)var124
)->values
[0] = (val
*) var_res
;
2313 ((struct instance_array__NativeArray
*)var124
)->values
[1] = (val
*) var112
;
2314 ((struct instance_array__NativeArray
*)var124
)->values
[2] = (val
*) var116
;
2315 ((struct instance_array__NativeArray
*)var124
)->values
[3] = (val
*) var118
;
2317 ((void (*)(val
*, val
*, long))(var122
->class->vft
[COLOR_array__Array__with_native
]))(var122
, var124
, var123
) /* with_native on <var122:Array[Object]>*/;
2321 var125
= ((val
* (*)(val
*))(var122
->class->vft
[COLOR_string__Object__to_s
]))(var122
) /* to_s on <var122:Array[Object]>*/;
2324 abstract_compiler__AbstractCompilerVisitor__add(self
, var125
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2330 { /* Inline model#MProperty#name (var_mmethod) on <var_mmethod:MMethod> */
2331 var128
= var_mmethod
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var_mmethod:MMethod> */
2332 if (unlikely(var128
== NULL
)) {
2333 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2334 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
2338 RET_LABEL127
:(void)0;
2342 var130
= varonce129
;
2346 var133
= string__NativeString__to_s_with_length(var131
, var132
);
2348 varonce129
= var130
;
2351 var135
= string__FlatString___61d_61d(var126
, var130
);
2356 var136
= abstract_compiler__AbstractCompilerVisitor__bool_type(self
);
2359 var137
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var136
);
2364 var139
= array__Array___91d_93d(var_arguments
, var138
);
2366 var_arg140
= var139
;
2368 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_arg140) on <var_arg140:RuntimeVariable> */
2369 var143
= var_arg140
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_arg140:RuntimeVariable> */
2370 if (unlikely(var143
== NULL
)) {
2371 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
2372 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1637);
2376 RET_LABEL142
:(void)0;
2379 /* <var141:MType> isa MNullableType */
2380 cltype145
= type_model__MNullableType
.color
;
2381 idtype146
= type_model__MNullableType
.id
;
2382 if(cltype145
>= var141
->type
->table_size
) {
2385 var144
= var141
->type
->type_table
[cltype145
] == idtype146
;
2389 var148
= varonce147
;
2393 var151
= string__NativeString__to_s_with_length(var149
, var150
);
2395 varonce147
= var148
;
2398 var153
= varonce152
;
2400 var154
= " != NULL);";
2402 var156
= string__NativeString__to_s_with_length(var154
, var155
);
2404 varonce152
= var153
;
2406 var157
= NEW_array__Array(&type_array__Arraykernel__Object
);
2407 { /* var157 = array_instance Array[Object] */
2409 var159
= NEW_array__NativeArray(var158
, &type_array__NativeArraykernel__Object
);
2410 ((struct instance_array__NativeArray
*)var159
)->values
[0] = (val
*) var_res
;
2411 ((struct instance_array__NativeArray
*)var159
)->values
[1] = (val
*) var148
;
2412 ((struct instance_array__NativeArray
*)var159
)->values
[2] = (val
*) var_arg140
;
2413 ((struct instance_array__NativeArray
*)var159
)->values
[3] = (val
*) var153
;
2415 ((void (*)(val
*, val
*, long))(var157
->class->vft
[COLOR_array__Array__with_native
]))(var157
, var159
, var158
) /* with_native on <var157:Array[Object]>*/;
2419 var160
= ((val
* (*)(val
*))(var157
->class->vft
[COLOR_string__Object__to_s
]))(var157
) /* to_s on <var157:Array[Object]>*/;
2422 abstract_compiler__AbstractCompilerVisitor__add(self
, var160
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2426 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_arg140) on <var_arg140:RuntimeVariable> */
2427 var163
= var_arg140
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_arg140:RuntimeVariable> */
2428 if (unlikely(var163
== NULL
)) {
2429 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
2430 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1637);
2434 RET_LABEL162
:(void)0;
2437 /* <var161:MType> isa MNullType */
2438 cltype165
= type_model__MNullType
.color
;
2439 idtype166
= type_model__MNullType
.id
;
2440 if(cltype165
>= var161
->type
->table_size
) {
2443 var164
= var161
->type
->type_table
[cltype165
] == idtype166
;
2447 var168
= varonce167
;
2449 var169
= " = 0; /* is null */";
2451 var171
= string__NativeString__to_s_with_length(var169
, var170
);
2453 varonce167
= var168
;
2455 var172
= NEW_array__Array(&type_array__Arraykernel__Object
);
2456 { /* var172 = array_instance Array[Object] */
2458 var174
= NEW_array__NativeArray(var173
, &type_array__NativeArraykernel__Object
);
2459 ((struct instance_array__NativeArray
*)var174
)->values
[0] = (val
*) var_res
;
2460 ((struct instance_array__NativeArray
*)var174
)->values
[1] = (val
*) var168
;
2462 ((void (*)(val
*, val
*, long))(var172
->class->vft
[COLOR_array__Array__with_native
]))(var172
, var174
, var173
) /* with_native on <var172:Array[Object]>*/;
2466 var175
= ((val
* (*)(val
*))(var172
->class->vft
[COLOR_string__Object__to_s
]))(var172
) /* to_s on <var172:Array[Object]>*/;
2469 abstract_compiler__AbstractCompilerVisitor__add(self
, var175
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2473 var177
= varonce176
;
2475 var178
= " = 1; /* ";
2477 var180
= string__NativeString__to_s_with_length(var178
, var179
);
2479 varonce176
= var177
;
2482 var181
= abstract_compiler__RuntimeVariable__inspect(var_arg140
);
2485 var183
= varonce182
;
2487 var184
= " cannot be null */";
2489 var186
= string__NativeString__to_s_with_length(var184
, var185
);
2491 varonce182
= var183
;
2493 var187
= NEW_array__Array(&type_array__Arraykernel__Object
);
2494 { /* var187 = array_instance Array[Object] */
2496 var189
= NEW_array__NativeArray(var188
, &type_array__NativeArraykernel__Object
);
2497 ((struct instance_array__NativeArray
*)var189
)->values
[0] = (val
*) var_res
;
2498 ((struct instance_array__NativeArray
*)var189
)->values
[1] = (val
*) var177
;
2499 ((struct instance_array__NativeArray
*)var189
)->values
[2] = (val
*) var181
;
2500 ((struct instance_array__NativeArray
*)var189
)->values
[3] = (val
*) var183
;
2502 ((void (*)(val
*, val
*, long))(var187
->class->vft
[COLOR_array__Array__with_native
]))(var187
, var189
, var188
) /* with_native on <var187:Array[Object]>*/;
2506 var190
= ((val
* (*)(val
*))(var187
->class->vft
[COLOR_string__Object__to_s
]))(var187
) /* to_s on <var187:Array[Object]>*/;
2509 abstract_compiler__AbstractCompilerVisitor__add(self
, var190
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2515 var192
= varonce191
;
2517 var193
= "Receiver is null";
2519 var195
= string__NativeString__to_s_with_length(var193
, var194
);
2521 varonce191
= var192
;
2524 abstract_compiler__AbstractCompilerVisitor__add_abort(self
, var192
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:SeparateCompilerVisitor>*/
2529 var197
= varonce196
;
2531 var198
= "} else {";
2533 var200
= string__NativeString__to_s_with_length(var198
, var199
);
2535 varonce196
= var197
;
2538 abstract_compiler__AbstractCompilerVisitor__add(self
, var197
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2542 var202
= varonce201
;
2546 var205
= string__NativeString__to_s_with_length(var203
, var204
);
2548 varonce201
= var202
;
2551 abstract_compiler__AbstractCompilerVisitor__add(self
, var202
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2555 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
2556 var209
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
2557 if (unlikely(var209
== NULL
)) {
2558 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2559 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
2563 RET_LABEL208
:(void)0;
2567 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var207) on <var207:AbstractCompiler(SeparateCompiler)> */
2568 var212
= var207
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var207:AbstractCompiler(SeparateCompiler)> */
2569 if (unlikely(var212
== NULL
)) {
2570 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2571 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
2575 RET_LABEL211
:(void)0;
2579 { /* Inline modelbuilder#ModelBuilder#toolcontext (var210) on <var210:ModelBuilder> */
2580 var215
= var210
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var210:ModelBuilder> */
2581 if (unlikely(var215
== NULL
)) {
2582 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2583 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
2587 RET_LABEL214
:(void)0;
2591 { /* Inline separate_compiler#ToolContext#opt_no_shortcut_equate (var213) on <var213:ToolContext> */
2592 var218
= var213
->attrs
[COLOR_separate_compiler__ToolContext___opt_no_shortcut_equate
].val
; /* _opt_no_shortcut_equate on <var213:ToolContext> */
2593 if (unlikely(var218
== NULL
)) {
2594 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_shortcut_equate");
2595 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 30);
2599 RET_LABEL217
:(void)0;
2603 { /* Inline opts#Option#value (var216) on <var216:OptionBool> */
2604 var221
= var216
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var216:OptionBool> */
2606 RET_LABEL220
:(void)0;
2609 var222
= ((struct instance_kernel__Bool
*)var219
)->value
; /* autounbox from nullable Object to Bool */;
2614 { /* Inline model#MProperty#name (var_mmethod) on <var_mmethod:MMethod> */
2615 var228
= var_mmethod
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var_mmethod:MMethod> */
2616 if (unlikely(var228
== NULL
)) {
2617 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2618 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
2622 RET_LABEL227
:(void)0;
2626 var230
= varonce229
;
2630 var233
= string__NativeString__to_s_with_length(var231
, var232
);
2632 varonce229
= var230
;
2635 var235
= string__FlatString___61d_61d(var226
, var230
);
2643 { /* Inline model#MProperty#name (var_mmethod) on <var_mmethod:MMethod> */
2644 var239
= var_mmethod
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var_mmethod:MMethod> */
2645 if (unlikely(var239
== NULL
)) {
2646 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2647 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
2651 RET_LABEL238
:(void)0;
2655 var241
= varonce240
;
2659 var244
= string__NativeString__to_s_with_length(var242
, var243
);
2661 varonce240
= var241
;
2664 var246
= string__FlatString___61d_61d(var237
, var241
);
2675 if (var_res
== NULL
) {
2676 var248
= 1; /* is null */
2678 var248
= 0; /* arg is null but recv is not */
2681 { /* Inline kernel#Object#== (var_res,var247) on <var_res:nullable RuntimeVariable> */
2684 { /* Inline kernel#Object#is_same_instance (var_res,var_other) on <var_res:nullable RuntimeVariable(RuntimeVariable)> */
2685 var253
= var_res
== var_other
;
2688 RET_LABEL252
:(void)0;
2693 RET_LABEL250
:(void)0;
2699 var254
= abstract_compiler__AbstractCompilerVisitor__bool_type(self
);
2702 var255
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var254
);
2709 var257
= array__Array___91d_93d(var_arguments
, var256
);
2711 var_arg258
= var257
;
2713 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_arg258) on <var_arg258:RuntimeVariable> */
2714 var261
= var_arg258
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_arg258:RuntimeVariable> */
2715 if (unlikely(var261
== NULL
)) {
2716 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
2717 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1637);
2721 RET_LABEL260
:(void)0;
2724 /* <var259:MType> isa MNullType */
2725 cltype263
= type_model__MNullType
.color
;
2726 idtype264
= type_model__MNullType
.id
;
2727 if(cltype263
>= var259
->type
->table_size
) {
2730 var262
= var259
->type
->type_table
[cltype263
] == idtype264
;
2734 { /* Inline model#MProperty#name (var_mmethod) on <var_mmethod:MMethod> */
2735 var267
= var_mmethod
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var_mmethod:MMethod> */
2736 if (unlikely(var267
== NULL
)) {
2737 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2738 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
2742 RET_LABEL266
:(void)0;
2746 var269
= varonce268
;
2750 var272
= string__NativeString__to_s_with_length(var270
, var271
);
2752 varonce268
= var269
;
2755 var274
= string__FlatString___61d_61d(var265
, var269
);
2760 var276
= varonce275
;
2762 var277
= " = 0; /* arg is null but recv is not */";
2764 var279
= string__NativeString__to_s_with_length(var277
, var278
);
2766 varonce275
= var276
;
2768 var280
= NEW_array__Array(&type_array__Arraykernel__Object
);
2769 { /* var280 = array_instance Array[Object] */
2771 var282
= NEW_array__NativeArray(var281
, &type_array__NativeArraykernel__Object
);
2772 ((struct instance_array__NativeArray
*)var282
)->values
[0] = (val
*) var_res
;
2773 ((struct instance_array__NativeArray
*)var282
)->values
[1] = (val
*) var276
;
2775 ((void (*)(val
*, val
*, long))(var280
->class->vft
[COLOR_array__Array__with_native
]))(var280
, var282
, var281
) /* with_native on <var280:Array[Object]>*/;
2779 var283
= ((val
* (*)(val
*))(var280
->class->vft
[COLOR_string__Object__to_s
]))(var280
) /* to_s on <var280:Array[Object]>*/;
2782 abstract_compiler__AbstractCompilerVisitor__add(self
, var283
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2786 var285
= varonce284
;
2788 var286
= " = 1; /* arg is null and recv is not */";
2790 var288
= string__NativeString__to_s_with_length(var286
, var287
);
2792 varonce284
= var285
;
2794 var289
= NEW_array__Array(&type_array__Arraykernel__Object
);
2795 { /* var289 = array_instance Array[Object] */
2797 var291
= NEW_array__NativeArray(var290
, &type_array__NativeArraykernel__Object
);
2798 ((struct instance_array__NativeArray
*)var291
)->values
[0] = (val
*) var_res
;
2799 ((struct instance_array__NativeArray
*)var291
)->values
[1] = (val
*) var285
;
2801 ((void (*)(val
*, val
*, long))(var289
->class->vft
[COLOR_array__Array__with_native
]))(var289
, var291
, var290
) /* with_native on <var289:Array[Object]>*/;
2805 var292
= ((val
* (*)(val
*))(var289
->class->vft
[COLOR_string__Object__to_s
]))(var289
) /* to_s on <var289:Array[Object]>*/;
2808 abstract_compiler__AbstractCompilerVisitor__add(self
, var292
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2812 var294
= varonce293
;
2816 var297
= string__NativeString__to_s_with_length(var295
, var296
);
2818 varonce293
= var294
;
2821 abstract_compiler__AbstractCompilerVisitor__add(self
, var294
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2824 var299
= varonce298
;
2826 var300
= "if (0) {";
2828 var302
= string__NativeString__to_s_with_length(var300
, var301
);
2830 varonce298
= var299
;
2833 abstract_compiler__AbstractCompilerVisitor__add(self
, var299
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2844 /* method separate_compiler#SeparateCompilerVisitor#before_send for (self: Object, MMethod, Array[RuntimeVariable]): nullable RuntimeVariable */
2845 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__before_send(val
* self
, val
* p0
, val
* p1
) {
2846 val
* var
/* : nullable RuntimeVariable */;
2847 val
* var1
/* : nullable RuntimeVariable */;
2848 var1
= separate_compiler__SeparateCompilerVisitor__before_send(self
, p0
, p1
);
2853 /* method separate_compiler#SeparateCompilerVisitor#table_send for (self: SeparateCompilerVisitor, MMethod, Array[RuntimeVariable], String): nullable RuntimeVariable */
2854 val
* separate_compiler__SeparateCompilerVisitor__table_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2855 val
* var
/* : nullable RuntimeVariable */;
2856 val
* var_mmethod
/* var mmethod: MMethod */;
2857 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
2858 val
* var_const_color
/* var const_color: String */;
2859 val
* var1
/* : AbstractCompiler */;
2860 val
* var3
/* : AbstractCompiler */;
2861 val
* var4
/* : ModelBuilder */;
2862 val
* var6
/* : ModelBuilder */;
2863 val
* var_
/* var : ModelBuilder */;
2864 long var7
/* : Int */;
2865 long var9
/* : Int */;
2866 long var10
/* : Int */;
2867 long var11
/* : Int */;
2868 short int var13
/* : Bool */;
2871 const char* var_class_name
;
2872 long var14
/* : Int */;
2873 val
* var16
/* : AbstractCompiler */;
2874 val
* var18
/* : AbstractCompiler */;
2875 val
* var19
/* : ModelBuilder */;
2876 val
* var21
/* : ModelBuilder */;
2877 val
* var22
/* : ToolContext */;
2878 val
* var24
/* : ToolContext */;
2879 val
* var25
/* : OptionBool */;
2880 val
* var27
/* : OptionBool */;
2881 val
* var28
/* : nullable Object */;
2882 val
* var30
/* : nullable Object */;
2883 short int var31
/* : Bool */;
2884 static val
* varonce
;
2885 val
* var32
/* : String */;
2886 char* var33
/* : NativeString */;
2887 long var34
/* : Int */;
2888 val
* var35
/* : FlatString */;
2889 long var36
/* : Int */;
2890 long var38
/* : Int */;
2891 val
* var39
/* : MPropDef */;
2892 val
* var41
/* : MPropDef */;
2893 val
* var42
/* : nullable MSignature */;
2894 val
* var44
/* : nullable MSignature */;
2895 long var45
/* : Int */;
2896 long var46
/* : Int */;
2897 long var47
/* : Int */;
2898 short int var49
/* : Bool */;
2901 const char* var_class_name52
;
2902 long var53
/* : Int */;
2903 short int var54
/* : Bool */;
2904 short int var55
/* : Bool */;
2905 short int var57
/* : Bool */;
2906 static val
* varonce58
;
2907 val
* var59
/* : String */;
2908 char* var60
/* : NativeString */;
2909 long var61
/* : Int */;
2910 val
* var62
/* : FlatString */;
2911 static val
* varonce63
;
2912 val
* var64
/* : String */;
2913 char* var65
/* : NativeString */;
2914 long var66
/* : Int */;
2915 val
* var67
/* : FlatString */;
2916 long var68
/* : Int */;
2917 long var70
/* : Int */;
2918 static val
* varonce71
;
2919 val
* var72
/* : String */;
2920 char* var73
/* : NativeString */;
2921 long var74
/* : Int */;
2922 val
* var75
/* : FlatString */;
2923 val
* var76
/* : Array[Object] */;
2924 long var77
/* : Int */;
2925 val
* var78
/* : NativeArray[Object] */;
2926 val
* var79
/* : Object */;
2927 val
* var80
/* : String */;
2928 val
* var81
/* : nullable Object */;
2929 val
* var_recv
/* var recv: RuntimeVariable */;
2930 val
* var82
/* : nullable RuntimeVariable */;
2931 val
* var_res0
/* var res0: nullable RuntimeVariable */;
2932 val
* var83
/* : MPropDef */;
2933 val
* var85
/* : MPropDef */;
2934 val
* var86
/* : nullable MSignature */;
2935 val
* var88
/* : nullable MSignature */;
2936 val
* var89
/* : MPropDef */;
2937 val
* var91
/* : MPropDef */;
2938 val
* var92
/* : MClassDef */;
2939 val
* var94
/* : MClassDef */;
2940 val
* var95
/* : MClassType */;
2941 val
* var97
/* : MClassType */;
2942 val
* var98
/* : MPropDef */;
2943 val
* var100
/* : MPropDef */;
2944 val
* var101
/* : MClassDef */;
2945 val
* var103
/* : MClassDef */;
2946 val
* var104
/* : MClassType */;
2947 val
* var106
/* : MClassType */;
2948 val
* var107
/* : MPropDef */;
2949 val
* var109
/* : MPropDef */;
2950 val
* var110
/* : MClassDef */;
2951 val
* var112
/* : MClassDef */;
2952 val
* var113
/* : MModule */;
2953 val
* var115
/* : MModule */;
2954 short int var116
/* : Bool */;
2955 val
* var117
/* : MSignature */;
2956 val
* var_msignature
/* var msignature: MSignature */;
2957 val
* var118
/* : nullable MType */;
2958 val
* var120
/* : nullable MType */;
2959 val
* var_ret
/* var ret: nullable MType */;
2960 val
* var121
/* : null */;
2961 short int var122
/* : Bool */;
2962 short int var123
/* : Bool */;
2963 val
* var_other
/* var other: nullable Object */;
2964 short int var125
/* : Bool */;
2965 short int var127
/* : Bool */;
2966 val
* var128
/* : null */;
2967 val
* var_res
/* var res: nullable RuntimeVariable */;
2968 val
* var129
/* : RuntimeVariable */;
2969 val
* var130
/* : FlatBuffer */;
2970 val
* var_s
/* var s: FlatBuffer */;
2971 val
* var131
/* : FlatBuffer */;
2972 val
* var_ss
/* var ss: FlatBuffer */;
2973 static val
* varonce132
;
2974 val
* var133
/* : String */;
2975 char* var134
/* : NativeString */;
2976 long var135
/* : Int */;
2977 val
* var136
/* : FlatString */;
2978 val
* var137
/* : Array[Object] */;
2979 long var138
/* : Int */;
2980 val
* var139
/* : NativeArray[Object] */;
2981 val
* var140
/* : String */;
2982 long var141
/* : Int */;
2983 long var_i
/* var i: Int */;
2984 long var142
/* : Int */;
2985 long var_143
/* var : Int */;
2986 short int var144
/* : Bool */;
2987 short int var146
/* : Bool */;
2990 const char* var_class_name149
;
2991 short int var150
/* : Bool */;
2992 long var151
/* : Int */;
2993 long var152
/* : Int */;
2994 short int var154
/* : Bool */;
2997 const char* var_class_name157
;
2998 long var158
/* : Int */;
2999 val
* var159
/* : nullable Object */;
3000 val
* var_a
/* var a: RuntimeVariable */;
3001 val
* var160
/* : Array[MParameter] */;
3002 val
* var162
/* : Array[MParameter] */;
3003 val
* var163
/* : nullable Object */;
3004 val
* var164
/* : MType */;
3005 val
* var166
/* : MType */;
3006 val
* var_t
/* var t: MType */;
3007 long var167
/* : Int */;
3008 long var169
/* : Int */;
3009 short int var170
/* : Bool */;
3010 short int var171
/* : Bool */;
3011 short int var173
/* : Bool */;
3012 long var174
/* : Int */;
3013 long var175
/* : Int */;
3014 short int var177
/* : Bool */;
3017 const char* var_class_name180
;
3018 long var181
/* : Int */;
3019 val
* var182
/* : nullable Object */;
3020 val
* var183
/* : MType */;
3021 val
* var185
/* : MType */;
3022 static val
* varonce186
;
3023 val
* var187
/* : String */;
3024 char* var188
/* : NativeString */;
3025 long var189
/* : Int */;
3026 val
* var190
/* : FlatString */;
3027 val
* var191
/* : String */;
3028 val
* var192
/* : Array[Object] */;
3029 long var193
/* : Int */;
3030 val
* var194
/* : NativeArray[Object] */;
3031 val
* var195
/* : String */;
3032 val
* var196
/* : RuntimeVariable */;
3033 static val
* varonce197
;
3034 val
* var198
/* : String */;
3035 char* var199
/* : NativeString */;
3036 long var200
/* : Int */;
3037 val
* var201
/* : FlatString */;
3038 val
* var202
/* : Array[Object] */;
3039 long var203
/* : Int */;
3040 val
* var204
/* : NativeArray[Object] */;
3041 val
* var205
/* : String */;
3042 long var206
/* : Int */;
3043 long var207
/* : Int */;
3044 val
* var208
/* : null */;
3045 short int var209
/* : Bool */;
3046 short int var210
/* : Bool */;
3047 short int var212
/* : Bool */;
3048 short int var214
/* : Bool */;
3049 static val
* varonce215
;
3050 val
* var216
/* : String */;
3051 char* var217
/* : NativeString */;
3052 long var218
/* : Int */;
3053 val
* var219
/* : FlatString */;
3054 val
* var_r
/* var r: nullable Object */;
3055 val
* var220
/* : String */;
3056 static val
* varonce221
;
3057 val
* var222
/* : String */;
3058 char* var223
/* : NativeString */;
3059 long var224
/* : Int */;
3060 val
* var225
/* : FlatString */;
3061 static val
* varonce226
;
3062 val
* var227
/* : String */;
3063 char* var228
/* : NativeString */;
3064 long var229
/* : Int */;
3065 val
* var230
/* : FlatString */;
3066 static val
* varonce231
;
3067 val
* var232
/* : String */;
3068 char* var233
/* : NativeString */;
3069 long var234
/* : Int */;
3070 val
* var235
/* : FlatString */;
3071 val
* var236
/* : nullable Object */;
3072 static val
* varonce237
;
3073 val
* var238
/* : String */;
3074 char* var239
/* : NativeString */;
3075 long var240
/* : Int */;
3076 val
* var241
/* : FlatString */;
3077 static val
* varonce242
;
3078 val
* var243
/* : String */;
3079 char* var244
/* : NativeString */;
3080 long var245
/* : Int */;
3081 val
* var246
/* : FlatString */;
3082 static val
* varonce247
;
3083 val
* var248
/* : String */;
3084 char* var249
/* : NativeString */;
3085 long var250
/* : Int */;
3086 val
* var251
/* : FlatString */;
3087 static val
* varonce252
;
3088 val
* var253
/* : String */;
3089 char* var254
/* : NativeString */;
3090 long var255
/* : Int */;
3091 val
* var256
/* : FlatString */;
3092 val
* var257
/* : nullable Object */;
3093 val
* var258
/* : String */;
3094 static val
* varonce259
;
3095 val
* var260
/* : String */;
3096 char* var261
/* : NativeString */;
3097 long var262
/* : Int */;
3098 val
* var263
/* : FlatString */;
3099 val
* var264
/* : Array[Object] */;
3100 long var265
/* : Int */;
3101 val
* var266
/* : NativeArray[Object] */;
3102 val
* var267
/* : String */;
3103 val
* var_call
/* var call: String */;
3104 val
* var268
/* : null */;
3105 short int var269
/* : Bool */;
3106 short int var270
/* : Bool */;
3107 val
* var_other272
/* var other: nullable Object */;
3108 short int var273
/* : Bool */;
3109 short int var274
/* : Bool */;
3110 short int var275
/* : Bool */;
3111 static val
* varonce276
;
3112 val
* var277
/* : String */;
3113 char* var278
/* : NativeString */;
3114 long var279
/* : Int */;
3115 val
* var280
/* : FlatString */;
3116 static val
* varonce281
;
3117 val
* var282
/* : String */;
3118 char* var283
/* : NativeString */;
3119 long var284
/* : Int */;
3120 val
* var285
/* : FlatString */;
3121 val
* var286
/* : Array[Object] */;
3122 long var287
/* : Int */;
3123 val
* var288
/* : NativeArray[Object] */;
3124 val
* var289
/* : String */;
3125 static val
* varonce290
;
3126 val
* var291
/* : String */;
3127 char* var292
/* : NativeString */;
3128 long var293
/* : Int */;
3129 val
* var294
/* : FlatString */;
3130 val
* var295
/* : Array[Object] */;
3131 long var296
/* : Int */;
3132 val
* var297
/* : NativeArray[Object] */;
3133 val
* var298
/* : String */;
3134 val
* var299
/* : null */;
3135 short int var300
/* : Bool */;
3136 short int var301
/* : Bool */;
3137 short int var303
/* : Bool */;
3138 short int var304
/* : Bool */;
3139 short int var305
/* : Bool */;
3140 val
* var306
/* : null */;
3141 short int var307
/* : Bool */;
3142 short int var308
/* : Bool */;
3143 short int var310
/* : Bool */;
3144 short int var311
/* : Bool */;
3145 short int var312
/* : Bool */;
3146 static val
* varonce313
;
3147 val
* var314
/* : String */;
3148 char* var315
/* : NativeString */;
3149 long var316
/* : Int */;
3150 val
* var317
/* : FlatString */;
3153 var_const_color
= p2
;
3155 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
3156 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
3157 if (unlikely(var3
== NULL
)) {
3158 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3159 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
3167 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var1) on <var1:AbstractCompiler(SeparateCompiler)> */
3168 var6
= var1
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var1:AbstractCompiler(SeparateCompiler)> */
3169 if (unlikely(var6
== NULL
)) {
3170 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3171 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
3180 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_tables (var_) on <var_:ModelBuilder> */
3181 var9
= var_
->attrs
[COLOR_separate_compiler__ModelBuilder___nb_invok_by_tables
].l
; /* _nb_invok_by_tables on <var_:ModelBuilder> */
3188 { /* Inline kernel#Int#+ (var7,var10) on <var7:Int> */
3189 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
3190 /* <var10:Int> isa OTHER */
3191 var13
= 1; /* easy <var10:Int> isa OTHER*/
3192 if (unlikely(!var13
)) {
3193 var_class_name
= type_kernel__Int
.name
;
3194 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3195 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
3198 var14
= var7
+ var10
;
3201 RET_LABEL12
:(void)0;
3205 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_tables= (var_,var11) on <var_:ModelBuilder> */
3206 var_
->attrs
[COLOR_separate_compiler__ModelBuilder___nb_invok_by_tables
].l
= var11
; /* _nb_invok_by_tables on <var_:ModelBuilder> */
3207 RET_LABEL15
:(void)0;
3211 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
3212 var18
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
3213 if (unlikely(var18
== NULL
)) {
3214 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3215 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
3219 RET_LABEL17
:(void)0;
3223 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var16) on <var16:AbstractCompiler(SeparateCompiler)> */
3224 var21
= var16
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var16:AbstractCompiler(SeparateCompiler)> */
3225 if (unlikely(var21
== NULL
)) {
3226 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3227 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
3231 RET_LABEL20
:(void)0;
3235 { /* Inline modelbuilder#ModelBuilder#toolcontext (var19) on <var19:ModelBuilder> */
3236 var24
= var19
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var19:ModelBuilder> */
3237 if (unlikely(var24
== NULL
)) {
3238 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3239 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
3243 RET_LABEL23
:(void)0;
3247 { /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (var22) on <var22:ToolContext> */
3248 var27
= var22
->attrs
[COLOR_abstract_compiler__ToolContext___opt_invocation_metrics
].val
; /* _opt_invocation_metrics on <var22:ToolContext> */
3249 if (unlikely(var27
== NULL
)) {
3250 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
3251 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 63);
3255 RET_LABEL26
:(void)0;
3259 { /* Inline opts#Option#value (var25) on <var25:OptionBool> */
3260 var30
= var25
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var25:OptionBool> */
3262 RET_LABEL29
:(void)0;
3265 var31
= ((struct instance_kernel__Bool
*)var28
)->value
; /* autounbox from nullable Object to Bool */;
3270 var33
= "count_invoke_by_tables++;";
3272 var35
= string__NativeString__to_s_with_length(var33
, var34
);
3277 abstract_compiler__AbstractCompilerVisitor__add(self
, var32
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
3282 { /* Inline array#AbstractArrayRead#length (var_arguments) on <var_arguments:Array[RuntimeVariable]> */
3283 var38
= var_arguments
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_arguments:Array[RuntimeVariable]> */
3285 RET_LABEL37
:(void)0;
3289 { /* Inline model#MProperty#intro (var_mmethod) on <var_mmethod:MMethod> */
3290 var41
= var_mmethod
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var_mmethod:MMethod> */
3291 if (unlikely(var41
== NULL
)) {
3292 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3293 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
3297 RET_LABEL40
:(void)0;
3301 { /* Inline model#MMethodDef#msignature (var39) on <var39:MPropDef(MMethodDef)> */
3302 var44
= var39
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var39:MPropDef(MMethodDef)> */
3304 RET_LABEL43
:(void)0;
3307 if (var42
== NULL
) {
3308 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3309 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 1167);
3312 var45
= model__MSignature__arity(var42
);
3316 { /* Inline kernel#Int#+ (var45,var46) on <var45:Int> */
3317 /* Covariant cast for argument 0 (i) <var46:Int> isa OTHER */
3318 /* <var46:Int> isa OTHER */
3319 var49
= 1; /* easy <var46:Int> isa OTHER*/
3320 if (unlikely(!var49
)) {
3321 var_class_name52
= type_kernel__Int
.name
;
3322 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name52
);
3323 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
3326 var53
= var45
+ var46
;
3329 RET_LABEL48
:(void)0;
3333 { /* Inline kernel#Int#== (var36,var47) on <var36:Int> */
3334 var57
= var36
== var47
;
3337 RET_LABEL56
:(void)0;
3341 if (unlikely(!var54
)) {
3345 var60
= "Invalid arity for ";
3347 var62
= string__NativeString__to_s_with_length(var60
, var61
);
3356 var67
= string__NativeString__to_s_with_length(var65
, var66
);
3361 { /* Inline array#AbstractArrayRead#length (var_arguments) on <var_arguments:Array[RuntimeVariable]> */
3362 var70
= var_arguments
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_arguments:Array[RuntimeVariable]> */
3364 RET_LABEL69
:(void)0;
3370 var73
= " arguments given.";
3372 var75
= string__NativeString__to_s_with_length(var73
, var74
);
3376 var76
= NEW_array__Array(&type_array__Arraykernel__Object
);
3377 { /* var76 = array_instance Array[Object] */
3379 var78
= NEW_array__NativeArray(var77
, &type_array__NativeArraykernel__Object
);
3380 ((struct instance_array__NativeArray
*)var78
)->values
[0] = (val
*) var59
;
3381 ((struct instance_array__NativeArray
*)var78
)->values
[1] = (val
*) var_mmethod
;
3382 ((struct instance_array__NativeArray
*)var78
)->values
[2] = (val
*) var64
;
3383 var79
= BOX_kernel__Int(var68
); /* autobox from Int to Object */
3384 ((struct instance_array__NativeArray
*)var78
)->values
[3] = (val
*) var79
;
3385 ((struct instance_array__NativeArray
*)var78
)->values
[4] = (val
*) var72
;
3387 ((void (*)(val
*, val
*, long))(var76
->class->vft
[COLOR_array__Array__with_native
]))(var76
, var78
, var77
) /* with_native on <var76:Array[Object]>*/;
3391 var80
= ((val
* (*)(val
*))(var76
->class->vft
[COLOR_string__Object__to_s
]))(var76
) /* to_s on <var76:Array[Object]>*/;
3394 abstract_compiler__AbstractCompilerVisitor__debug(self
, var80
); /* Direct call abstract_compiler#AbstractCompilerVisitor#debug on <self:SeparateCompilerVisitor>*/
3396 PRINT_ERROR("Runtime error: %s", "Assert failed");
3397 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 1167);
3401 var81
= abstract_collection__SequenceRead__first(var_arguments
);
3405 var82
= separate_compiler__SeparateCompilerVisitor__before_send(self
, var_mmethod
, var_arguments
);
3409 { /* Inline model#MProperty#intro (var_mmethod) on <var_mmethod:MMethod> */
3410 var85
= var_mmethod
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var_mmethod:MMethod> */
3411 if (unlikely(var85
== NULL
)) {
3412 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3413 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
3417 RET_LABEL84
:(void)0;
3421 { /* Inline model#MMethodDef#msignature (var83) on <var83:MPropDef(MMethodDef)> */
3422 var88
= var83
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var83:MPropDef(MMethodDef)> */
3424 RET_LABEL87
:(void)0;
3428 { /* Inline model#MProperty#intro (var_mmethod) on <var_mmethod:MMethod> */
3429 var91
= var_mmethod
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var_mmethod:MMethod> */
3430 if (unlikely(var91
== NULL
)) {
3431 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3432 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
3436 RET_LABEL90
:(void)0;
3440 { /* Inline model#MPropDef#mclassdef (var89) on <var89:MPropDef(MMethodDef)> */
3441 var94
= var89
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var89:MPropDef(MMethodDef)> */
3442 if (unlikely(var94
== NULL
)) {
3443 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
3444 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
3448 RET_LABEL93
:(void)0;
3452 { /* Inline model#MClassDef#bound_mtype (var92) on <var92:MClassDef> */
3453 var97
= var92
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var92:MClassDef> */
3454 if (unlikely(var97
== NULL
)) {
3455 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3456 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
3460 RET_LABEL96
:(void)0;
3464 { /* Inline model#MProperty#intro (var_mmethod) on <var_mmethod:MMethod> */
3465 var100
= var_mmethod
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var_mmethod:MMethod> */
3466 if (unlikely(var100
== NULL
)) {
3467 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3468 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
3472 RET_LABEL99
:(void)0;
3476 { /* Inline model#MPropDef#mclassdef (var98) on <var98:MPropDef(MMethodDef)> */
3477 var103
= var98
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var98:MPropDef(MMethodDef)> */
3478 if (unlikely(var103
== NULL
)) {
3479 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
3480 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
3484 RET_LABEL102
:(void)0;
3488 { /* Inline model#MClassDef#bound_mtype (var101) on <var101:MClassDef> */
3489 var106
= var101
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var101:MClassDef> */
3490 if (unlikely(var106
== NULL
)) {
3491 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3492 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
3496 RET_LABEL105
:(void)0;
3500 { /* Inline model#MProperty#intro (var_mmethod) on <var_mmethod:MMethod> */
3501 var109
= var_mmethod
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var_mmethod:MMethod> */
3502 if (unlikely(var109
== NULL
)) {
3503 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3504 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
3508 RET_LABEL108
:(void)0;
3512 { /* Inline model#MPropDef#mclassdef (var107) on <var107:MPropDef(MMethodDef)> */
3513 var112
= var107
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var107:MPropDef(MMethodDef)> */
3514 if (unlikely(var112
== NULL
)) {
3515 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
3516 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
3520 RET_LABEL111
:(void)0;
3524 { /* Inline model#MClassDef#mmodule (var110) on <var110:MClassDef> */
3525 var115
= var110
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var110:MClassDef> */
3526 if (unlikely(var115
== NULL
)) {
3527 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3528 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
3532 RET_LABEL114
:(void)0;
3536 if (var86
== NULL
) {
3537 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3538 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 1173);
3541 var117
= model__MSignature__resolve_for(var86
, var95
, var104
, var113
, var116
);
3543 var_msignature
= var117
;
3545 { /* Inline model#MSignature#return_mtype (var_msignature) on <var_msignature:MSignature> */
3546 var120
= var_msignature
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <var_msignature:MSignature> */
3548 RET_LABEL119
:(void)0;
3553 if (var_ret
== NULL
) {
3554 var122
= 1; /* is null */
3556 var122
= 0; /* arg is null but recv is not */
3559 { /* Inline kernel#Object#== (var_ret,var121) on <var_ret:nullable MType> */
3562 { /* Inline kernel#Object#is_same_instance (var_ret,var_other) on <var_ret:nullable MType(MType)> */
3563 var127
= var_ret
== var_other
;
3566 RET_LABEL126
:(void)0;
3571 RET_LABEL124
:(void)0;
3580 var129
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var_ret
);
3584 var130
= NEW_string__FlatBuffer(&type_string__FlatBuffer
);
3586 ((void (*)(val
*))(var130
->class->vft
[COLOR_kernel__Object__init
]))(var130
) /* init on <var130:FlatBuffer>*/;
3589 var131
= NEW_string__FlatBuffer(&type_string__FlatBuffer
);
3591 ((void (*)(val
*))(var131
->class->vft
[COLOR_kernel__Object__init
]))(var131
) /* init on <var131:FlatBuffer>*/;
3595 var133
= varonce132
;
3599 var136
= string__NativeString__to_s_with_length(var134
, var135
);
3601 varonce132
= var133
;
3604 string__FlatBuffer__append(var_s
, var133
); /* Direct call string#FlatBuffer#append on <var_s:FlatBuffer>*/
3606 var137
= NEW_array__Array(&type_array__Arraykernel__Object
);
3607 { /* var137 = array_instance Array[Object] */
3609 var139
= NEW_array__NativeArray(var138
, &type_array__NativeArraykernel__Object
);
3610 ((struct instance_array__NativeArray
*)var139
)->values
[0] = (val
*) var_recv
;
3612 ((void (*)(val
*, val
*, long))(var137
->class->vft
[COLOR_array__Array__with_native
]))(var137
, var139
, var138
) /* with_native on <var137:Array[Object]>*/;
3616 var140
= ((val
* (*)(val
*))(var137
->class->vft
[COLOR_string__Object__to_s
]))(var137
) /* to_s on <var137:Array[Object]>*/;
3619 string__FlatBuffer__append(var_ss
, var140
); /* Direct call string#FlatBuffer#append on <var_ss:FlatBuffer>*/
3624 var142
= model__MSignature__arity(var_msignature
);
3629 { /* Inline kernel#Int#< (var_i,var_143) on <var_i:Int> */
3630 /* Covariant cast for argument 0 (i) <var_143:Int> isa OTHER */
3631 /* <var_143:Int> isa OTHER */
3632 var146
= 1; /* easy <var_143:Int> isa OTHER*/
3633 if (unlikely(!var146
)) {
3634 var_class_name149
= type_kernel__Int
.name
;
3635 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name149
);
3636 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
3639 var150
= var_i
< var_143
;
3642 RET_LABEL145
:(void)0;
3648 { /* Inline kernel#Int#+ (var_i,var151) on <var_i:Int> */
3649 /* Covariant cast for argument 0 (i) <var151:Int> isa OTHER */
3650 /* <var151:Int> isa OTHER */
3651 var154
= 1; /* easy <var151:Int> isa OTHER*/
3652 if (unlikely(!var154
)) {
3653 var_class_name157
= type_kernel__Int
.name
;
3654 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name157
);
3655 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
3658 var158
= var_i
+ var151
;
3661 RET_LABEL153
:(void)0;
3665 var159
= array__Array___91d_93d(var_arguments
, var152
);
3669 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:MSignature> */
3670 var162
= var_msignature
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
3671 if (unlikely(var162
== NULL
)) {
3672 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
3673 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
3677 RET_LABEL161
:(void)0;
3681 var163
= array__Array___91d_93d(var160
, var_i
);
3684 { /* Inline model#MParameter#mtype (var163) on <var163:nullable Object(MParameter)> */
3685 var166
= var163
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var163:nullable Object(MParameter)> */
3686 if (unlikely(var166
== NULL
)) {
3687 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3688 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
3692 RET_LABEL165
:(void)0;
3697 { /* Inline model#MSignature#vararg_rank (var_msignature) on <var_msignature:MSignature> */
3698 var169
= var_msignature
->attrs
[COLOR_model__MSignature___vararg_rank
].l
; /* _vararg_rank on <var_msignature:MSignature> */
3700 RET_LABEL168
:(void)0;
3704 { /* Inline kernel#Int#== (var_i,var167) on <var_i:Int> */
3705 var173
= var_i
== var167
;
3708 RET_LABEL172
:(void)0;
3715 { /* Inline kernel#Int#+ (var_i,var174) on <var_i:Int> */
3716 /* Covariant cast for argument 0 (i) <var174:Int> isa OTHER */
3717 /* <var174:Int> isa OTHER */
3718 var177
= 1; /* easy <var174:Int> isa OTHER*/
3719 if (unlikely(!var177
)) {
3720 var_class_name180
= type_kernel__Int
.name
;
3721 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name180
);
3722 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
3725 var181
= var_i
+ var174
;
3728 RET_LABEL176
:(void)0;
3732 var182
= array__Array___91d_93d(var_arguments
, var175
);
3735 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var182) on <var182:nullable Object(RuntimeVariable)> */
3736 var185
= var182
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var182:nullable Object(RuntimeVariable)> */
3737 if (unlikely(var185
== NULL
)) {
3738 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
3739 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1637);
3743 RET_LABEL184
:(void)0;
3750 var187
= varonce186
;
3754 var190
= string__NativeString__to_s_with_length(var188
, var189
);
3756 varonce186
= var187
;
3759 var191
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_t
) /* ctype on <var_t:MType>*/;
3761 var192
= NEW_array__Array(&type_array__Arraykernel__Object
);
3762 { /* var192 = array_instance Array[Object] */
3764 var194
= NEW_array__NativeArray(var193
, &type_array__NativeArraykernel__Object
);
3765 ((struct instance_array__NativeArray
*)var194
)->values
[0] = (val
*) var187
;
3766 ((struct instance_array__NativeArray
*)var194
)->values
[1] = (val
*) var191
;
3768 ((void (*)(val
*, val
*, long))(var192
->class->vft
[COLOR_array__Array__with_native
]))(var192
, var194
, var193
) /* with_native on <var192:Array[Object]>*/;
3772 var195
= ((val
* (*)(val
*))(var192
->class->vft
[COLOR_string__Object__to_s
]))(var192
) /* to_s on <var192:Array[Object]>*/;
3775 string__FlatBuffer__append(var_s
, var195
); /* Direct call string#FlatBuffer#append on <var_s:FlatBuffer>*/
3778 var196
= separate_compiler__SeparateCompilerVisitor__autobox(self
, var_a
, var_t
);
3782 var198
= varonce197
;
3786 var201
= string__NativeString__to_s_with_length(var199
, var200
);
3788 varonce197
= var198
;
3790 var202
= NEW_array__Array(&type_array__Arraykernel__Object
);
3791 { /* var202 = array_instance Array[Object] */
3793 var204
= NEW_array__NativeArray(var203
, &type_array__NativeArraykernel__Object
);
3794 ((struct instance_array__NativeArray
*)var204
)->values
[0] = (val
*) var198
;
3795 ((struct instance_array__NativeArray
*)var204
)->values
[1] = (val
*) var_a
;
3797 ((void (*)(val
*, val
*, long))(var202
->class->vft
[COLOR_array__Array__with_native
]))(var202
, var204
, var203
) /* with_native on <var202:Array[Object]>*/;
3801 var205
= ((val
* (*)(val
*))(var202
->class->vft
[COLOR_string__Object__to_s
]))(var202
) /* to_s on <var202:Array[Object]>*/;
3804 string__FlatBuffer__append(var_ss
, var205
); /* Direct call string#FlatBuffer#append on <var_ss:FlatBuffer>*/
3808 var207
= kernel__Int__successor(var_i
, var206
);
3815 BREAK_label
: (void)0;
3817 if (var_ret
== NULL
) {
3818 var209
= 1; /* is null */
3820 var209
= 0; /* arg is null but recv is not */
3823 { /* Inline kernel#Object#== (var_ret,var208) on <var_ret:nullable MType> */
3826 { /* Inline kernel#Object#is_same_instance (var_ret,var_other) on <var_ret:nullable MType(MType)> */
3827 var214
= var_ret
== var_other
;
3830 RET_LABEL213
:(void)0;
3835 RET_LABEL211
:(void)0;
3841 var216
= varonce215
;
3845 var219
= string__NativeString__to_s_with_length(var217
, var218
);
3847 varonce215
= var216
;
3852 var220
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:nullable MType(MType)>*/;
3857 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var_const_color
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
3860 var222
= varonce221
;
3864 var225
= string__NativeString__to_s_with_length(var223
, var224
);
3866 varonce221
= var222
;
3869 var227
= varonce226
;
3873 var230
= string__NativeString__to_s_with_length(var228
, var229
);
3875 varonce226
= var227
;
3878 var232
= varonce231
;
3882 var235
= string__NativeString__to_s_with_length(var233
, var234
);
3884 varonce231
= var232
;
3887 var236
= abstract_collection__SequenceRead__first(var_arguments
);
3890 var238
= varonce237
;
3892 var239
= "->class->vft[";
3894 var241
= string__NativeString__to_s_with_length(var239
, var240
);
3896 varonce237
= var238
;
3899 var243
= varonce242
;
3903 var246
= string__NativeString__to_s_with_length(var244
, var245
);
3905 varonce242
= var243
;
3908 var248
= varonce247
;
3912 var251
= string__NativeString__to_s_with_length(var249
, var250
);
3914 varonce247
= var248
;
3917 var253
= varonce252
;
3921 var256
= string__NativeString__to_s_with_length(var254
, var255
);
3923 varonce252
= var253
;
3926 var257
= abstract_collection__SequenceRead__first(var_arguments
);
3929 var258
= abstract_compiler__RuntimeVariable__inspect(var257
);
3932 var260
= varonce259
;
3936 var263
= string__NativeString__to_s_with_length(var261
, var262
);
3938 varonce259
= var260
;
3940 var264
= NEW_array__Array(&type_array__Arraykernel__Object
);
3941 { /* var264 = array_instance Array[Object] */
3943 var266
= NEW_array__NativeArray(var265
, &type_array__NativeArraykernel__Object
);
3944 ((struct instance_array__NativeArray
*)var266
)->values
[0] = (val
*) var222
;
3945 ((struct instance_array__NativeArray
*)var266
)->values
[1] = (val
*) var_r
;
3946 ((struct instance_array__NativeArray
*)var266
)->values
[2] = (val
*) var227
;
3947 ((struct instance_array__NativeArray
*)var266
)->values
[3] = (val
*) var_s
;
3948 ((struct instance_array__NativeArray
*)var266
)->values
[4] = (val
*) var232
;
3949 ((struct instance_array__NativeArray
*)var266
)->values
[5] = (val
*) var236
;
3950 ((struct instance_array__NativeArray
*)var266
)->values
[6] = (val
*) var238
;
3951 ((struct instance_array__NativeArray
*)var266
)->values
[7] = (val
*) var_const_color
;
3952 ((struct instance_array__NativeArray
*)var266
)->values
[8] = (val
*) var243
;
3953 ((struct instance_array__NativeArray
*)var266
)->values
[9] = (val
*) var_ss
;
3954 ((struct instance_array__NativeArray
*)var266
)->values
[10] = (val
*) var248
;
3955 ((struct instance_array__NativeArray
*)var266
)->values
[11] = (val
*) var_mmethod
;
3956 ((struct instance_array__NativeArray
*)var266
)->values
[12] = (val
*) var253
;
3957 ((struct instance_array__NativeArray
*)var266
)->values
[13] = (val
*) var258
;
3958 ((struct instance_array__NativeArray
*)var266
)->values
[14] = (val
*) var260
;
3960 ((void (*)(val
*, val
*, long))(var264
->class->vft
[COLOR_array__Array__with_native
]))(var264
, var266
, var265
) /* with_native on <var264:Array[Object]>*/;
3964 var267
= ((val
* (*)(val
*))(var264
->class->vft
[COLOR_string__Object__to_s
]))(var264
) /* to_s on <var264:Array[Object]>*/;
3968 if (var_res
== NULL
) {
3969 var269
= 0; /* is null */
3971 var269
= 1; /* arg is null and recv is not */
3974 { /* Inline kernel#Object#!= (var_res,var268) on <var_res:nullable RuntimeVariable> */
3975 var_other272
= var268
;
3977 var274
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other272
) /* == on <var_res:nullable RuntimeVariable(RuntimeVariable)>*/;
3983 RET_LABEL271
:(void)0;
3989 var277
= varonce276
;
3993 var280
= string__NativeString__to_s_with_length(var278
, var279
);
3995 varonce276
= var277
;
3998 var282
= varonce281
;
4002 var285
= string__NativeString__to_s_with_length(var283
, var284
);
4004 varonce281
= var282
;
4006 var286
= NEW_array__Array(&type_array__Arraykernel__Object
);
4007 { /* var286 = array_instance Array[Object] */
4009 var288
= NEW_array__NativeArray(var287
, &type_array__NativeArraykernel__Object
);
4010 ((struct instance_array__NativeArray
*)var288
)->values
[0] = (val
*) var_res
;
4011 ((struct instance_array__NativeArray
*)var288
)->values
[1] = (val
*) var277
;
4012 ((struct instance_array__NativeArray
*)var288
)->values
[2] = (val
*) var_call
;
4013 ((struct instance_array__NativeArray
*)var288
)->values
[3] = (val
*) var282
;
4015 ((void (*)(val
*, val
*, long))(var286
->class->vft
[COLOR_array__Array__with_native
]))(var286
, var288
, var287
) /* with_native on <var286:Array[Object]>*/;
4019 var289
= ((val
* (*)(val
*))(var286
->class->vft
[COLOR_string__Object__to_s
]))(var286
) /* to_s on <var286:Array[Object]>*/;
4022 abstract_compiler__AbstractCompilerVisitor__add(self
, var289
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4026 var291
= varonce290
;
4030 var294
= string__NativeString__to_s_with_length(var292
, var293
);
4032 varonce290
= var291
;
4034 var295
= NEW_array__Array(&type_array__Arraykernel__Object
);
4035 { /* var295 = array_instance Array[Object] */
4037 var297
= NEW_array__NativeArray(var296
, &type_array__NativeArraykernel__Object
);
4038 ((struct instance_array__NativeArray
*)var297
)->values
[0] = (val
*) var_call
;
4039 ((struct instance_array__NativeArray
*)var297
)->values
[1] = (val
*) var291
;
4041 ((void (*)(val
*, val
*, long))(var295
->class->vft
[COLOR_array__Array__with_native
]))(var295
, var297
, var296
) /* with_native on <var295:Array[Object]>*/;
4045 var298
= ((val
* (*)(val
*))(var295
->class->vft
[COLOR_string__Object__to_s
]))(var295
) /* to_s on <var295:Array[Object]>*/;
4048 abstract_compiler__AbstractCompilerVisitor__add(self
, var298
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4052 if (var_res0
== NULL
) {
4053 var300
= 0; /* is null */
4055 var300
= 1; /* arg is null and recv is not */
4058 { /* Inline kernel#Object#!= (var_res0,var299) on <var_res0:nullable RuntimeVariable> */
4059 var_other272
= var299
;
4061 var304
= ((short int (*)(val
*, val
*))(var_res0
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res0
, var_other272
) /* == on <var_res0:nullable RuntimeVariable(RuntimeVariable)>*/;
4067 RET_LABEL302
:(void)0;
4073 if (var_res
== NULL
) {
4074 var307
= 0; /* is null */
4076 var307
= 1; /* arg is null and recv is not */
4079 { /* Inline kernel#Object#!= (var_res,var306) on <var_res:nullable RuntimeVariable> */
4080 var_other272
= var306
;
4082 var311
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other272
) /* == on <var_res:nullable RuntimeVariable(RuntimeVariable)>*/;
4088 RET_LABEL309
:(void)0;
4092 if (unlikely(!var307
)) {
4093 PRINT_ERROR("Runtime error: %s", "Assert failed");
4094 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 1210);
4098 abstract_compiler__AbstractCompilerVisitor__assign(self
, var_res0
, var_res
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <self:SeparateCompilerVisitor>*/
4104 var314
= varonce313
;
4108 var317
= string__NativeString__to_s_with_length(var315
, var316
);
4110 varonce313
= var314
;
4113 abstract_compiler__AbstractCompilerVisitor__add(self
, var314
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4120 /* method separate_compiler#SeparateCompilerVisitor#table_send for (self: Object, MMethod, Array[RuntimeVariable], String): nullable RuntimeVariable */
4121 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__table_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4122 val
* var
/* : nullable RuntimeVariable */;
4123 val
* var1
/* : nullable RuntimeVariable */;
4124 var1
= separate_compiler__SeparateCompilerVisitor__table_send(self
, p0
, p1
, p2
);
4129 /* method separate_compiler#SeparateCompilerVisitor#call for (self: SeparateCompilerVisitor, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
4130 val
* separate_compiler__SeparateCompilerVisitor__call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4131 val
* var
/* : nullable RuntimeVariable */;
4132 val
* var_mmethoddef
/* var mmethoddef: MMethodDef */;
4133 val
* var_recvtype
/* var recvtype: MClassType */;
4134 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
4135 long var1
/* : Int */;
4136 long var3
/* : Int */;
4137 val
* var4
/* : nullable MSignature */;
4138 val
* var6
/* : nullable MSignature */;
4139 long var7
/* : Int */;
4140 long var8
/* : Int */;
4141 long var9
/* : Int */;
4142 short int var11
/* : Bool */;
4145 const char* var_class_name
;
4146 long var12
/* : Int */;
4147 short int var13
/* : Bool */;
4148 short int var14
/* : Bool */;
4149 short int var16
/* : Bool */;
4150 static val
* varonce
;
4151 val
* var17
/* : String */;
4152 char* var18
/* : NativeString */;
4153 long var19
/* : Int */;
4154 val
* var20
/* : FlatString */;
4155 static val
* varonce21
;
4156 val
* var22
/* : String */;
4157 char* var23
/* : NativeString */;
4158 long var24
/* : Int */;
4159 val
* var25
/* : FlatString */;
4160 long var26
/* : Int */;
4161 long var28
/* : Int */;
4162 static val
* varonce29
;
4163 val
* var30
/* : String */;
4164 char* var31
/* : NativeString */;
4165 long var32
/* : Int */;
4166 val
* var33
/* : FlatString */;
4167 val
* var34
/* : Array[Object] */;
4168 long var35
/* : Int */;
4169 val
* var36
/* : NativeArray[Object] */;
4170 val
* var37
/* : Object */;
4171 val
* var38
/* : String */;
4172 val
* var39
/* : nullable MSignature */;
4173 val
* var41
/* : nullable MSignature */;
4174 val
* var42
/* : nullable MType */;
4175 val
* var44
/* : nullable MType */;
4176 val
* var_ret
/* var ret: nullable MType */;
4177 val
* var45
/* : null */;
4178 short int var46
/* : Bool */;
4179 short int var47
/* : Bool */;
4180 val
* var_other
/* var other: nullable Object */;
4181 short int var49
/* : Bool */;
4182 short int var51
/* : Bool */;
4183 val
* var52
/* : null */;
4184 val
* var_res
/* var res: nullable RuntimeVariable */;
4185 val
* var53
/* : MClassDef */;
4186 val
* var55
/* : MClassDef */;
4187 val
* var56
/* : MClassType */;
4188 val
* var58
/* : MClassType */;
4189 val
* var59
/* : MClassDef */;
4190 val
* var61
/* : MClassDef */;
4191 val
* var62
/* : MClassType */;
4192 val
* var64
/* : MClassType */;
4193 val
* var65
/* : MClassDef */;
4194 val
* var67
/* : MClassDef */;
4195 val
* var68
/* : MModule */;
4196 val
* var70
/* : MModule */;
4197 short int var71
/* : Bool */;
4198 val
* var72
/* : MType */;
4199 val
* var73
/* : RuntimeVariable */;
4200 short int var74
/* : Bool */;
4201 short int var75
/* : Bool */;
4202 short int var76
/* : Bool */;
4203 short int var78
/* : Bool */;
4204 short int var_
/* var : Bool */;
4205 val
* var79
/* : AbstractCompiler */;
4206 val
* var81
/* : AbstractCompiler */;
4207 val
* var82
/* : ModelBuilder */;
4208 val
* var84
/* : ModelBuilder */;
4209 val
* var85
/* : ToolContext */;
4210 val
* var87
/* : ToolContext */;
4211 val
* var88
/* : OptionBool */;
4212 val
* var90
/* : OptionBool */;
4213 val
* var91
/* : nullable Object */;
4214 val
* var93
/* : nullable Object */;
4215 short int var94
/* : Bool */;
4216 short int var95
/* : Bool */;
4217 short int var_96
/* var : Bool */;
4218 short int var97
/* : Bool */;
4219 val
* var98
/* : AbstractCompiler */;
4220 val
* var100
/* : AbstractCompiler */;
4221 val
* var101
/* : ModelBuilder */;
4222 val
* var103
/* : ModelBuilder */;
4223 val
* var104
/* : ToolContext */;
4224 val
* var106
/* : ToolContext */;
4225 val
* var107
/* : OptionBool */;
4226 val
* var109
/* : OptionBool */;
4227 val
* var110
/* : nullable Object */;
4228 val
* var112
/* : nullable Object */;
4229 short int var113
/* : Bool */;
4230 short int var_114
/* var : Bool */;
4231 short int var115
/* : Bool */;
4232 val
* var116
/* : AbstractCompiler */;
4233 val
* var118
/* : AbstractCompiler */;
4234 val
* var119
/* : ModelBuilder */;
4235 val
* var121
/* : ModelBuilder */;
4236 val
* var_122
/* var : ModelBuilder */;
4237 long var123
/* : Int */;
4238 long var125
/* : Int */;
4239 long var126
/* : Int */;
4240 long var127
/* : Int */;
4241 short int var129
/* : Bool */;
4244 const char* var_class_name132
;
4245 long var133
/* : Int */;
4246 val
* var135
/* : AbstractCompiler */;
4247 val
* var137
/* : AbstractCompiler */;
4248 val
* var138
/* : ModelBuilder */;
4249 val
* var140
/* : ModelBuilder */;
4250 val
* var141
/* : ToolContext */;
4251 val
* var143
/* : ToolContext */;
4252 val
* var144
/* : OptionBool */;
4253 val
* var146
/* : OptionBool */;
4254 val
* var147
/* : nullable Object */;
4255 val
* var149
/* : nullable Object */;
4256 short int var150
/* : Bool */;
4257 static val
* varonce151
;
4258 val
* var152
/* : String */;
4259 char* var153
/* : NativeString */;
4260 long var154
/* : Int */;
4261 val
* var155
/* : FlatString */;
4262 val
* var156
/* : Frame */;
4263 val
* var_frame
/* var frame: Frame */;
4264 static val
* varonce157
;
4265 val
* var158
/* : String */;
4266 char* var159
/* : NativeString */;
4267 long var160
/* : Int */;
4268 val
* var161
/* : FlatString */;
4269 val
* var162
/* : String */;
4270 val
* var165
/* : nullable Frame */;
4271 val
* var167
/* : nullable Frame */;
4272 val
* var_old_frame
/* var old_frame: nullable Frame */;
4273 static val
* varonce169
;
4274 val
* var170
/* : String */;
4275 char* var171
/* : NativeString */;
4276 long var172
/* : Int */;
4277 val
* var173
/* : FlatString */;
4278 static val
* varonce174
;
4279 val
* var175
/* : String */;
4280 char* var176
/* : NativeString */;
4281 long var177
/* : Int */;
4282 val
* var178
/* : FlatString */;
4283 static val
* varonce179
;
4284 val
* var180
/* : String */;
4285 char* var181
/* : NativeString */;
4286 long var182
/* : Int */;
4287 val
* var183
/* : FlatString */;
4288 val
* var184
/* : String */;
4289 static val
* varonce185
;
4290 val
* var186
/* : String */;
4291 char* var187
/* : NativeString */;
4292 long var188
/* : Int */;
4293 val
* var189
/* : FlatString */;
4294 val
* var190
/* : nullable Object */;
4295 val
* var191
/* : String */;
4296 static val
* varonce192
;
4297 val
* var193
/* : String */;
4298 char* var194
/* : NativeString */;
4299 long var195
/* : Int */;
4300 val
* var196
/* : FlatString */;
4301 val
* var197
/* : Array[Object] */;
4302 long var198
/* : Int */;
4303 val
* var199
/* : NativeArray[Object] */;
4304 val
* var200
/* : String */;
4305 val
* var201
/* : nullable RuntimeVariable */;
4306 val
* var202
/* : nullable String */;
4307 val
* var204
/* : nullable String */;
4308 static val
* varonce205
;
4309 val
* var206
/* : String */;
4310 char* var207
/* : NativeString */;
4311 long var208
/* : Int */;
4312 val
* var209
/* : FlatString */;
4313 val
* var210
/* : Array[Object] */;
4314 long var211
/* : Int */;
4315 val
* var212
/* : NativeArray[Object] */;
4316 val
* var213
/* : String */;
4317 static val
* varonce214
;
4318 val
* var215
/* : String */;
4319 char* var216
/* : NativeString */;
4320 long var217
/* : Int */;
4321 val
* var218
/* : FlatString */;
4322 val
* var220
/* : AbstractCompiler */;
4323 val
* var222
/* : AbstractCompiler */;
4324 val
* var223
/* : ModelBuilder */;
4325 val
* var225
/* : ModelBuilder */;
4326 val
* var_226
/* var : ModelBuilder */;
4327 long var227
/* : Int */;
4328 long var229
/* : Int */;
4329 long var230
/* : Int */;
4330 long var231
/* : Int */;
4331 short int var233
/* : Bool */;
4334 const char* var_class_name236
;
4335 long var237
/* : Int */;
4336 val
* var239
/* : AbstractCompiler */;
4337 val
* var241
/* : AbstractCompiler */;
4338 val
* var242
/* : ModelBuilder */;
4339 val
* var244
/* : ModelBuilder */;
4340 val
* var245
/* : ToolContext */;
4341 val
* var247
/* : ToolContext */;
4342 val
* var248
/* : OptionBool */;
4343 val
* var250
/* : OptionBool */;
4344 val
* var251
/* : nullable Object */;
4345 val
* var253
/* : nullable Object */;
4346 short int var254
/* : Bool */;
4347 static val
* varonce255
;
4348 val
* var256
/* : String */;
4349 char* var257
/* : NativeString */;
4350 long var258
/* : Int */;
4351 val
* var259
/* : FlatString */;
4352 val
* var260
/* : String */;
4353 val
* var261
/* : null */;
4354 short int var262
/* : Bool */;
4355 short int var263
/* : Bool */;
4356 short int var265
/* : Bool */;
4357 short int var267
/* : Bool */;
4358 val
* var268
/* : String */;
4359 static val
* varonce269
;
4360 val
* var270
/* : String */;
4361 char* var271
/* : NativeString */;
4362 long var272
/* : Int */;
4363 val
* var273
/* : FlatString */;
4364 static val
* varonce274
;
4365 val
* var275
/* : String */;
4366 char* var276
/* : NativeString */;
4367 long var277
/* : Int */;
4368 val
* var278
/* : FlatString */;
4369 val
* var279
/* : String */;
4370 static val
* varonce280
;
4371 val
* var281
/* : String */;
4372 char* var282
/* : NativeString */;
4373 long var283
/* : Int */;
4374 val
* var284
/* : FlatString */;
4375 static val
* varonce285
;
4376 val
* var286
/* : String */;
4377 char* var287
/* : NativeString */;
4378 long var288
/* : Int */;
4379 val
* var289
/* : FlatString */;
4380 val
* var290
/* : nullable Object */;
4381 val
* var291
/* : String */;
4382 static val
* varonce292
;
4383 val
* var293
/* : String */;
4384 char* var294
/* : NativeString */;
4385 long var295
/* : Int */;
4386 val
* var296
/* : FlatString */;
4387 val
* var297
/* : Array[Object] */;
4388 long var298
/* : Int */;
4389 val
* var299
/* : NativeArray[Object] */;
4390 val
* var300
/* : String */;
4391 val
* var301
/* : null */;
4392 static val
* varonce302
;
4393 val
* var303
/* : String */;
4394 char* var304
/* : NativeString */;
4395 long var305
/* : Int */;
4396 val
* var306
/* : FlatString */;
4397 val
* var307
/* : String */;
4398 static val
* varonce308
;
4399 val
* var309
/* : String */;
4400 char* var310
/* : NativeString */;
4401 long var311
/* : Int */;
4402 val
* var312
/* : FlatString */;
4403 static val
* varonce313
;
4404 val
* var314
/* : String */;
4405 char* var315
/* : NativeString */;
4406 long var316
/* : Int */;
4407 val
* var317
/* : FlatString */;
4408 val
* var318
/* : String */;
4409 static val
* varonce319
;
4410 val
* var320
/* : String */;
4411 char* var321
/* : NativeString */;
4412 long var322
/* : Int */;
4413 val
* var323
/* : FlatString */;
4414 val
* var324
/* : Array[Object] */;
4415 long var325
/* : Int */;
4416 val
* var326
/* : NativeArray[Object] */;
4417 val
* var327
/* : String */;
4418 var_mmethoddef
= p0
;
4422 { /* Inline array#AbstractArrayRead#length (var_arguments) on <var_arguments:Array[RuntimeVariable]> */
4423 var3
= var_arguments
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_arguments:Array[RuntimeVariable]> */
4429 { /* Inline model#MMethodDef#msignature (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
4430 var6
= var_mmethoddef
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var_mmethoddef:MMethodDef> */
4436 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4437 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 1222);
4440 var7
= model__MSignature__arity(var4
);
4444 { /* Inline kernel#Int#+ (var7,var8) on <var7:Int> */
4445 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
4446 /* <var8:Int> isa OTHER */
4447 var11
= 1; /* easy <var8:Int> isa OTHER*/
4448 if (unlikely(!var11
)) {
4449 var_class_name
= type_kernel__Int
.name
;
4450 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4451 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
4454 var12
= var7
+ var8
;
4457 RET_LABEL10
:(void)0;
4461 { /* Inline kernel#Int#== (var1,var9) on <var1:Int> */
4462 var16
= var1
== var9
;
4465 RET_LABEL15
:(void)0;
4469 if (unlikely(!var13
)) {
4473 var18
= "Invalid arity for ";
4475 var20
= string__NativeString__to_s_with_length(var18
, var19
);
4484 var25
= string__NativeString__to_s_with_length(var23
, var24
);
4489 { /* Inline array#AbstractArrayRead#length (var_arguments) on <var_arguments:Array[RuntimeVariable]> */
4490 var28
= var_arguments
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_arguments:Array[RuntimeVariable]> */
4492 RET_LABEL27
:(void)0;
4498 var31
= " arguments given.";
4500 var33
= string__NativeString__to_s_with_length(var31
, var32
);
4504 var34
= NEW_array__Array(&type_array__Arraykernel__Object
);
4505 { /* var34 = array_instance Array[Object] */
4507 var36
= NEW_array__NativeArray(var35
, &type_array__NativeArraykernel__Object
);
4508 ((struct instance_array__NativeArray
*)var36
)->values
[0] = (val
*) var17
;
4509 ((struct instance_array__NativeArray
*)var36
)->values
[1] = (val
*) var_mmethoddef
;
4510 ((struct instance_array__NativeArray
*)var36
)->values
[2] = (val
*) var22
;
4511 var37
= BOX_kernel__Int(var26
); /* autobox from Int to Object */
4512 ((struct instance_array__NativeArray
*)var36
)->values
[3] = (val
*) var37
;
4513 ((struct instance_array__NativeArray
*)var36
)->values
[4] = (val
*) var30
;
4515 ((void (*)(val
*, val
*, long))(var34
->class->vft
[COLOR_array__Array__with_native
]))(var34
, var36
, var35
) /* with_native on <var34:Array[Object]>*/;
4519 var38
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_string__Object__to_s
]))(var34
) /* to_s on <var34:Array[Object]>*/;
4522 abstract_compiler__AbstractCompilerVisitor__debug(self
, var38
); /* Direct call abstract_compiler#AbstractCompilerVisitor#debug on <self:SeparateCompilerVisitor>*/
4524 PRINT_ERROR("Runtime error: %s", "Assert failed");
4525 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 1222);
4529 { /* Inline model#MMethodDef#msignature (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
4530 var41
= var_mmethoddef
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var_mmethoddef:MMethodDef> */
4532 RET_LABEL40
:(void)0;
4535 if (var39
== NULL
) {
4536 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4537 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 1225);
4540 { /* Inline model#MSignature#return_mtype (var39) on <var39:nullable MSignature> */
4541 if (unlikely(var39
== NULL
)) {
4542 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4543 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1468);
4546 var44
= var39
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <var39:nullable MSignature> */
4548 RET_LABEL43
:(void)0;
4553 if (var_ret
== NULL
) {
4554 var46
= 1; /* is null */
4556 var46
= 0; /* arg is null but recv is not */
4559 { /* Inline kernel#Object#== (var_ret,var45) on <var_ret:nullable MType> */
4562 { /* Inline kernel#Object#is_same_instance (var_ret,var_other) on <var_ret:nullable MType(MType)> */
4563 var51
= var_ret
== var_other
;
4566 RET_LABEL50
:(void)0;
4571 RET_LABEL48
:(void)0;
4580 { /* Inline model#MPropDef#mclassdef (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
4581 var55
= var_mmethoddef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mmethoddef:MMethodDef> */
4582 if (unlikely(var55
== NULL
)) {
4583 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
4584 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
4588 RET_LABEL54
:(void)0;
4592 { /* Inline model#MClassDef#bound_mtype (var53) on <var53:MClassDef> */
4593 var58
= var53
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var53:MClassDef> */
4594 if (unlikely(var58
== NULL
)) {
4595 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
4596 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
4600 RET_LABEL57
:(void)0;
4604 { /* Inline model#MPropDef#mclassdef (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
4605 var61
= var_mmethoddef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mmethoddef:MMethodDef> */
4606 if (unlikely(var61
== NULL
)) {
4607 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
4608 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
4612 RET_LABEL60
:(void)0;
4616 { /* Inline model#MClassDef#bound_mtype (var59) on <var59:MClassDef> */
4617 var64
= var59
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var59:MClassDef> */
4618 if (unlikely(var64
== NULL
)) {
4619 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
4620 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
4624 RET_LABEL63
:(void)0;
4628 { /* Inline model#MPropDef#mclassdef (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
4629 var67
= var_mmethoddef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mmethoddef:MMethodDef> */
4630 if (unlikely(var67
== NULL
)) {
4631 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
4632 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
4636 RET_LABEL66
:(void)0;
4640 { /* Inline model#MClassDef#mmodule (var65) on <var65:MClassDef> */
4641 var70
= var65
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var65:MClassDef> */
4642 if (unlikely(var70
== NULL
)) {
4643 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4644 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
4648 RET_LABEL69
:(void)0;
4653 var72
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_ret
->class->vft
[COLOR_model__MType__resolve_for
]))(var_ret
, var56
, var62
, var68
, var71
) /* resolve_for on <var_ret:nullable MType(MType)>*/;
4657 var73
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var_ret
);
4662 { /* Inline model#MMethodDef#is_intern (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
4663 var78
= var_mmethoddef
->attrs
[COLOR_model__MMethodDef___is_intern
].s
; /* _is_intern on <var_mmethoddef:MMethodDef> */
4665 RET_LABEL77
:(void)0;
4671 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
4672 var81
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
4673 if (unlikely(var81
== NULL
)) {
4674 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4675 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
4679 RET_LABEL80
:(void)0;
4683 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var79) on <var79:AbstractCompiler(SeparateCompiler)> */
4684 var84
= var79
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var79:AbstractCompiler(SeparateCompiler)> */
4685 if (unlikely(var84
== NULL
)) {
4686 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4687 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
4691 RET_LABEL83
:(void)0;
4695 { /* Inline modelbuilder#ModelBuilder#toolcontext (var82) on <var82:ModelBuilder> */
4696 var87
= var82
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var82:ModelBuilder> */
4697 if (unlikely(var87
== NULL
)) {
4698 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4699 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
4703 RET_LABEL86
:(void)0;
4707 { /* Inline separate_compiler#ToolContext#opt_no_inline_intern (var85) on <var85:ToolContext> */
4708 var90
= var85
->attrs
[COLOR_separate_compiler__ToolContext___opt_no_inline_intern
].val
; /* _opt_no_inline_intern on <var85:ToolContext> */
4709 if (unlikely(var90
== NULL
)) {
4710 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_inline_intern");
4711 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 26);
4715 RET_LABEL89
:(void)0;
4719 { /* Inline opts#Option#value (var88) on <var88:OptionBool> */
4720 var93
= var88
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var88:OptionBool> */
4722 RET_LABEL92
:(void)0;
4725 var94
= ((struct instance_kernel__Bool
*)var91
)->value
; /* autounbox from nullable Object to Bool */;
4736 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
4737 var100
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
4738 if (unlikely(var100
== NULL
)) {
4739 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4740 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
4744 RET_LABEL99
:(void)0;
4748 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var98) on <var98:AbstractCompiler(SeparateCompiler)> */
4749 var103
= var98
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var98:AbstractCompiler(SeparateCompiler)> */
4750 if (unlikely(var103
== NULL
)) {
4751 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4752 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
4756 RET_LABEL102
:(void)0;
4760 { /* Inline modelbuilder#ModelBuilder#toolcontext (var101) on <var101:ModelBuilder> */
4761 var106
= var101
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var101:ModelBuilder> */
4762 if (unlikely(var106
== NULL
)) {
4763 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4764 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
4768 RET_LABEL105
:(void)0;
4772 { /* Inline separate_compiler#ToolContext#opt_inline_some_methods (var104) on <var104:ToolContext> */
4773 var109
= var104
->attrs
[COLOR_separate_compiler__ToolContext___opt_inline_some_methods
].val
; /* _opt_inline_some_methods on <var104:ToolContext> */
4774 if (unlikely(var109
== NULL
)) {
4775 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_inline_some_methods");
4776 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 34);
4780 RET_LABEL108
:(void)0;
4784 { /* Inline opts#Option#value (var107) on <var107:OptionBool> */
4785 var112
= var107
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var107:OptionBool> */
4787 RET_LABEL111
:(void)0;
4790 var113
= ((struct instance_kernel__Bool
*)var110
)->value
; /* autounbox from nullable Object to Bool */;
4794 var115
= abstract_compiler__MMethodDef__can_inline(var_mmethoddef
, self
);
4804 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
4805 var118
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
4806 if (unlikely(var118
== NULL
)) {
4807 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4808 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
4812 RET_LABEL117
:(void)0;
4816 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var116) on <var116:AbstractCompiler(SeparateCompiler)> */
4817 var121
= var116
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var116:AbstractCompiler(SeparateCompiler)> */
4818 if (unlikely(var121
== NULL
)) {
4819 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4820 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
4824 RET_LABEL120
:(void)0;
4829 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_inline (var_122) on <var_122:ModelBuilder> */
4830 var125
= var_122
->attrs
[COLOR_separate_compiler__ModelBuilder___nb_invok_by_inline
].l
; /* _nb_invok_by_inline on <var_122:ModelBuilder> */
4832 RET_LABEL124
:(void)0;
4837 { /* Inline kernel#Int#+ (var123,var126) on <var123:Int> */
4838 /* Covariant cast for argument 0 (i) <var126:Int> isa OTHER */
4839 /* <var126:Int> isa OTHER */
4840 var129
= 1; /* easy <var126:Int> isa OTHER*/
4841 if (unlikely(!var129
)) {
4842 var_class_name132
= type_kernel__Int
.name
;
4843 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name132
);
4844 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
4847 var133
= var123
+ var126
;
4850 RET_LABEL128
:(void)0;
4854 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_inline= (var_122,var127) on <var_122:ModelBuilder> */
4855 var_122
->attrs
[COLOR_separate_compiler__ModelBuilder___nb_invok_by_inline
].l
= var127
; /* _nb_invok_by_inline on <var_122:ModelBuilder> */
4856 RET_LABEL134
:(void)0;
4860 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
4861 var137
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
4862 if (unlikely(var137
== NULL
)) {
4863 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4864 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
4868 RET_LABEL136
:(void)0;
4872 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var135) on <var135:AbstractCompiler(SeparateCompiler)> */
4873 var140
= var135
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var135:AbstractCompiler(SeparateCompiler)> */
4874 if (unlikely(var140
== NULL
)) {
4875 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4876 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
4880 RET_LABEL139
:(void)0;
4884 { /* Inline modelbuilder#ModelBuilder#toolcontext (var138) on <var138:ModelBuilder> */
4885 var143
= var138
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var138:ModelBuilder> */
4886 if (unlikely(var143
== NULL
)) {
4887 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4888 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
4892 RET_LABEL142
:(void)0;
4896 { /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (var141) on <var141:ToolContext> */
4897 var146
= var141
->attrs
[COLOR_abstract_compiler__ToolContext___opt_invocation_metrics
].val
; /* _opt_invocation_metrics on <var141:ToolContext> */
4898 if (unlikely(var146
== NULL
)) {
4899 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
4900 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 63);
4904 RET_LABEL145
:(void)0;
4908 { /* Inline opts#Option#value (var144) on <var144:OptionBool> */
4909 var149
= var144
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var144:OptionBool> */
4911 RET_LABEL148
:(void)0;
4914 var150
= ((struct instance_kernel__Bool
*)var147
)->value
; /* autounbox from nullable Object to Bool */;
4917 var152
= varonce151
;
4919 var153
= "count_invoke_by_inline++;";
4921 var155
= string__NativeString__to_s_with_length(var153
, var154
);
4923 varonce151
= var152
;
4926 abstract_compiler__AbstractCompilerVisitor__add(self
, var152
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4930 var156
= NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame
);
4932 ((void (*)(val
*, val
*))(var156
->class->vft
[COLOR_abstract_compiler__Frame__visitor_61d
]))(var156
, self
) /* visitor= on <var156:Frame>*/;
4935 ((void (*)(val
*, val
*))(var156
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef_61d
]))(var156
, var_mmethoddef
) /* mpropdef= on <var156:Frame>*/;
4938 ((void (*)(val
*, val
*))(var156
->class->vft
[COLOR_abstract_compiler__Frame__receiver_61d
]))(var156
, var_recvtype
) /* receiver= on <var156:Frame>*/;
4941 ((void (*)(val
*, val
*))(var156
->class->vft
[COLOR_abstract_compiler__Frame__arguments_61d
]))(var156
, var_arguments
) /* arguments= on <var156:Frame>*/;
4944 ((void (*)(val
*))(var156
->class->vft
[COLOR_kernel__Object__init
]))(var156
) /* init on <var156:Frame>*/;
4948 var158
= varonce157
;
4950 var159
= "RET_LABEL";
4952 var161
= string__NativeString__to_s_with_length(var159
, var160
);
4954 varonce157
= var158
;
4957 var162
= abstract_compiler__AbstractCompilerVisitor__get_name(self
, var158
);
4960 { /* Inline abstract_compiler#Frame#returnlabel= (var_frame,var162) on <var_frame:Frame> */
4961 var_frame
->attrs
[COLOR_abstract_compiler__Frame___returnlabel
].val
= var162
; /* _returnlabel on <var_frame:Frame> */
4962 RET_LABEL163
:(void)0;
4966 { /* Inline abstract_compiler#Frame#returnvar= (var_frame,var_res) on <var_frame:Frame> */
4967 var_frame
->attrs
[COLOR_abstract_compiler__Frame___returnvar
].val
= var_res
; /* _returnvar on <var_frame:Frame> */
4968 RET_LABEL164
:(void)0;
4972 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
4973 var167
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
4975 RET_LABEL166
:(void)0;
4978 var_old_frame
= var165
;
4980 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame= (self,var_frame) on <self:SeparateCompilerVisitor> */
4981 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
= var_frame
; /* _frame on <self:SeparateCompilerVisitor> */
4982 RET_LABEL168
:(void)0;
4986 var170
= varonce169
;
4988 var171
= "{ /* Inline ";
4990 var173
= string__NativeString__to_s_with_length(var171
, var172
);
4992 varonce169
= var170
;
4995 var175
= varonce174
;
4999 var178
= string__NativeString__to_s_with_length(var176
, var177
);
5001 varonce174
= var175
;
5004 var180
= varonce179
;
5008 var183
= string__NativeString__to_s_with_length(var181
, var182
);
5010 varonce179
= var180
;
5013 var184
= string__Collection__join(var_arguments
, var180
);
5016 var186
= varonce185
;
5020 var189
= string__NativeString__to_s_with_length(var187
, var188
);
5022 varonce185
= var186
;
5025 var190
= abstract_collection__SequenceRead__first(var_arguments
);
5028 var191
= abstract_compiler__RuntimeVariable__inspect(var190
);
5031 var193
= varonce192
;
5035 var196
= string__NativeString__to_s_with_length(var194
, var195
);
5037 varonce192
= var193
;
5039 var197
= NEW_array__Array(&type_array__Arraykernel__Object
);
5040 { /* var197 = array_instance Array[Object] */
5042 var199
= NEW_array__NativeArray(var198
, &type_array__NativeArraykernel__Object
);
5043 ((struct instance_array__NativeArray
*)var199
)->values
[0] = (val
*) var170
;
5044 ((struct instance_array__NativeArray
*)var199
)->values
[1] = (val
*) var_mmethoddef
;
5045 ((struct instance_array__NativeArray
*)var199
)->values
[2] = (val
*) var175
;
5046 ((struct instance_array__NativeArray
*)var199
)->values
[3] = (val
*) var184
;
5047 ((struct instance_array__NativeArray
*)var199
)->values
[4] = (val
*) var186
;
5048 ((struct instance_array__NativeArray
*)var199
)->values
[5] = (val
*) var191
;
5049 ((struct instance_array__NativeArray
*)var199
)->values
[6] = (val
*) var193
;
5051 ((void (*)(val
*, val
*, long))(var197
->class->vft
[COLOR_array__Array__with_native
]))(var197
, var199
, var198
) /* with_native on <var197:Array[Object]>*/;
5055 var200
= ((val
* (*)(val
*))(var197
->class->vft
[COLOR_string__Object__to_s
]))(var197
) /* to_s on <var197:Array[Object]>*/;
5058 abstract_compiler__AbstractCompilerVisitor__add(self
, var200
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5061 var201
= abstract_compiler__MMethodDef__compile_inside_to_c(var_mmethoddef
, self
, var_arguments
);
5064 { /* Inline abstract_compiler#Frame#returnlabel (var_frame) on <var_frame:Frame> */
5065 var204
= var_frame
->attrs
[COLOR_abstract_compiler__Frame___returnlabel
].val
; /* _returnlabel on <var_frame:Frame> */
5067 RET_LABEL203
:(void)0;
5070 if (unlikely(var202
== NULL
)) {
5071 PRINT_ERROR("Runtime error: %s", "Cast failed");
5072 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 1244);
5076 var206
= varonce205
;
5078 var207
= ":(void)0;";
5080 var209
= string__NativeString__to_s_with_length(var207
, var208
);
5082 varonce205
= var206
;
5084 var210
= NEW_array__Array(&type_array__Arraykernel__Object
);
5085 { /* var210 = array_instance Array[Object] */
5087 var212
= NEW_array__NativeArray(var211
, &type_array__NativeArraykernel__Object
);
5088 ((struct instance_array__NativeArray
*)var212
)->values
[0] = (val
*) var202
;
5089 ((struct instance_array__NativeArray
*)var212
)->values
[1] = (val
*) var206
;
5091 ((void (*)(val
*, val
*, long))(var210
->class->vft
[COLOR_array__Array__with_native
]))(var210
, var212
, var211
) /* with_native on <var210:Array[Object]>*/;
5095 var213
= ((val
* (*)(val
*))(var210
->class->vft
[COLOR_string__Object__to_s
]))(var210
) /* to_s on <var210:Array[Object]>*/;
5098 abstract_compiler__AbstractCompilerVisitor__add(self
, var213
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5101 var215
= varonce214
;
5105 var218
= string__NativeString__to_s_with_length(var216
, var217
);
5107 varonce214
= var215
;
5110 abstract_compiler__AbstractCompilerVisitor__add(self
, var215
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5113 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame= (self,var_old_frame) on <self:SeparateCompilerVisitor> */
5114 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
= var_old_frame
; /* _frame on <self:SeparateCompilerVisitor> */
5115 RET_LABEL219
:(void)0;
5123 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
5124 var222
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
5125 if (unlikely(var222
== NULL
)) {
5126 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5127 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
5131 RET_LABEL221
:(void)0;
5135 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var220) on <var220:AbstractCompiler(SeparateCompiler)> */
5136 var225
= var220
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var220:AbstractCompiler(SeparateCompiler)> */
5137 if (unlikely(var225
== NULL
)) {
5138 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5139 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
5143 RET_LABEL224
:(void)0;
5148 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_direct (var_226) on <var_226:ModelBuilder> */
5149 var229
= var_226
->attrs
[COLOR_separate_compiler__ModelBuilder___nb_invok_by_direct
].l
; /* _nb_invok_by_direct on <var_226:ModelBuilder> */
5151 RET_LABEL228
:(void)0;
5156 { /* Inline kernel#Int#+ (var227,var230) on <var227:Int> */
5157 /* Covariant cast for argument 0 (i) <var230:Int> isa OTHER */
5158 /* <var230:Int> isa OTHER */
5159 var233
= 1; /* easy <var230:Int> isa OTHER*/
5160 if (unlikely(!var233
)) {
5161 var_class_name236
= type_kernel__Int
.name
;
5162 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name236
);
5163 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
5166 var237
= var227
+ var230
;
5169 RET_LABEL232
:(void)0;
5173 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_direct= (var_226,var231) on <var_226:ModelBuilder> */
5174 var_226
->attrs
[COLOR_separate_compiler__ModelBuilder___nb_invok_by_direct
].l
= var231
; /* _nb_invok_by_direct on <var_226:ModelBuilder> */
5175 RET_LABEL238
:(void)0;
5179 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
5180 var241
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
5181 if (unlikely(var241
== NULL
)) {
5182 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5183 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
5187 RET_LABEL240
:(void)0;
5191 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var239) on <var239:AbstractCompiler(SeparateCompiler)> */
5192 var244
= var239
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var239:AbstractCompiler(SeparateCompiler)> */
5193 if (unlikely(var244
== NULL
)) {
5194 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5195 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
5199 RET_LABEL243
:(void)0;
5203 { /* Inline modelbuilder#ModelBuilder#toolcontext (var242) on <var242:ModelBuilder> */
5204 var247
= var242
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var242:ModelBuilder> */
5205 if (unlikely(var247
== NULL
)) {
5206 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5207 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
5211 RET_LABEL246
:(void)0;
5215 { /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (var245) on <var245:ToolContext> */
5216 var250
= var245
->attrs
[COLOR_abstract_compiler__ToolContext___opt_invocation_metrics
].val
; /* _opt_invocation_metrics on <var245:ToolContext> */
5217 if (unlikely(var250
== NULL
)) {
5218 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
5219 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 63);
5223 RET_LABEL249
:(void)0;
5227 { /* Inline opts#Option#value (var248) on <var248:OptionBool> */
5228 var253
= var248
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var248:OptionBool> */
5230 RET_LABEL252
:(void)0;
5233 var254
= ((struct instance_kernel__Bool
*)var251
)->value
; /* autounbox from nullable Object to Bool */;
5236 var256
= varonce255
;
5238 var257
= "count_invoke_by_direct++;";
5240 var259
= string__NativeString__to_s_with_length(var257
, var258
);
5242 varonce255
= var256
;
5245 abstract_compiler__AbstractCompilerVisitor__add(self
, var256
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5250 separate_compiler__SeparateCompilerVisitor__adapt_signature(self
, var_mmethoddef
, var_arguments
); /* Direct call separate_compiler#SeparateCompilerVisitor#adapt_signature on <self:SeparateCompilerVisitor>*/
5253 var260
= abstract_compiler__MPropDef__c_name(var_mmethoddef
);
5256 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var260
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
5259 if (var_res
== NULL
) {
5260 var262
= 1; /* is null */
5262 var262
= 0; /* arg is null but recv is not */
5265 { /* Inline kernel#Object#== (var_res,var261) on <var_res:nullable RuntimeVariable> */
5268 { /* Inline kernel#Object#is_same_instance (var_res,var_other) on <var_res:nullable RuntimeVariable(RuntimeVariable)> */
5269 var267
= var_res
== var_other
;
5272 RET_LABEL266
:(void)0;
5277 RET_LABEL264
:(void)0;
5283 var268
= abstract_compiler__MPropDef__c_name(var_mmethoddef
);
5286 var270
= varonce269
;
5290 var273
= string__NativeString__to_s_with_length(var271
, var272
);
5292 varonce269
= var270
;
5295 var275
= varonce274
;
5299 var278
= string__NativeString__to_s_with_length(var276
, var277
);
5301 varonce274
= var275
;
5304 var279
= string__Collection__join(var_arguments
, var275
);
5307 var281
= varonce280
;
5309 var282
= "); /* Direct call ";
5311 var284
= string__NativeString__to_s_with_length(var282
, var283
);
5313 varonce280
= var281
;
5316 var286
= varonce285
;
5320 var289
= string__NativeString__to_s_with_length(var287
, var288
);
5322 varonce285
= var286
;
5325 var290
= abstract_collection__SequenceRead__first(var_arguments
);
5328 var291
= abstract_compiler__RuntimeVariable__inspect(var290
);
5331 var293
= varonce292
;
5335 var296
= string__NativeString__to_s_with_length(var294
, var295
);
5337 varonce292
= var293
;
5339 var297
= NEW_array__Array(&type_array__Arraykernel__Object
);
5340 { /* var297 = array_instance Array[Object] */
5342 var299
= NEW_array__NativeArray(var298
, &type_array__NativeArraykernel__Object
);
5343 ((struct instance_array__NativeArray
*)var299
)->values
[0] = (val
*) var268
;
5344 ((struct instance_array__NativeArray
*)var299
)->values
[1] = (val
*) var270
;
5345 ((struct instance_array__NativeArray
*)var299
)->values
[2] = (val
*) var279
;
5346 ((struct instance_array__NativeArray
*)var299
)->values
[3] = (val
*) var281
;
5347 ((struct instance_array__NativeArray
*)var299
)->values
[4] = (val
*) var_mmethoddef
;
5348 ((struct instance_array__NativeArray
*)var299
)->values
[5] = (val
*) var286
;
5349 ((struct instance_array__NativeArray
*)var299
)->values
[6] = (val
*) var291
;
5350 ((struct instance_array__NativeArray
*)var299
)->values
[7] = (val
*) var293
;
5352 ((void (*)(val
*, val
*, long))(var297
->class->vft
[COLOR_array__Array__with_native
]))(var297
, var299
, var298
) /* with_native on <var297:Array[Object]>*/;
5356 var300
= ((val
* (*)(val
*))(var297
->class->vft
[COLOR_string__Object__to_s
]))(var297
) /* to_s on <var297:Array[Object]>*/;
5359 abstract_compiler__AbstractCompilerVisitor__add(self
, var300
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5366 var303
= varonce302
;
5370 var306
= string__NativeString__to_s_with_length(var304
, var305
);
5372 varonce302
= var303
;
5375 var307
= abstract_compiler__MPropDef__c_name(var_mmethoddef
);
5378 var309
= varonce308
;
5382 var312
= string__NativeString__to_s_with_length(var310
, var311
);
5384 varonce308
= var309
;
5387 var314
= varonce313
;
5391 var317
= string__NativeString__to_s_with_length(var315
, var316
);
5393 varonce313
= var314
;
5396 var318
= string__Collection__join(var_arguments
, var314
);
5399 var320
= varonce319
;
5403 var323
= string__NativeString__to_s_with_length(var321
, var322
);
5405 varonce319
= var320
;
5407 var324
= NEW_array__Array(&type_array__Arraykernel__Object
);
5408 { /* var324 = array_instance Array[Object] */
5410 var326
= NEW_array__NativeArray(var325
, &type_array__NativeArraykernel__Object
);
5411 ((struct instance_array__NativeArray
*)var326
)->values
[0] = (val
*) var_res
;
5412 ((struct instance_array__NativeArray
*)var326
)->values
[1] = (val
*) var303
;
5413 ((struct instance_array__NativeArray
*)var326
)->values
[2] = (val
*) var307
;
5414 ((struct instance_array__NativeArray
*)var326
)->values
[3] = (val
*) var309
;
5415 ((struct instance_array__NativeArray
*)var326
)->values
[4] = (val
*) var318
;
5416 ((struct instance_array__NativeArray
*)var326
)->values
[5] = (val
*) var320
;
5418 ((void (*)(val
*, val
*, long))(var324
->class->vft
[COLOR_array__Array__with_native
]))(var324
, var326
, var325
) /* with_native on <var324:Array[Object]>*/;
5422 var327
= ((val
* (*)(val
*))(var324
->class->vft
[COLOR_string__Object__to_s
]))(var324
) /* to_s on <var324:Array[Object]>*/;
5425 abstract_compiler__AbstractCompilerVisitor__add(self
, var327
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5433 /* method separate_compiler#SeparateCompilerVisitor#call for (self: Object, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
5434 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5435 val
* var
/* : nullable RuntimeVariable */;
5436 val
* var1
/* : nullable RuntimeVariable */;
5437 var1
= separate_compiler__SeparateCompilerVisitor__call(self
, p0
, p1
, p2
);
5442 /* method separate_compiler#SeparateCompilerVisitor#supercall for (self: SeparateCompilerVisitor, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
5443 val
* separate_compiler__SeparateCompilerVisitor__supercall(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5444 val
* var
/* : nullable RuntimeVariable */;
5445 val
* var_m
/* var m: MMethodDef */;
5446 val
* var_recvtype
/* var recvtype: MClassType */;
5447 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
5448 val
* var1
/* : nullable Object */;
5449 val
* var2
/* : MType */;
5450 val
* var4
/* : MType */;
5451 val
* var5
/* : String */;
5452 static val
* varonce
;
5453 val
* var6
/* : String */;
5454 char* var7
/* : NativeString */;
5455 long var8
/* : Int */;
5456 val
* var9
/* : FlatString */;
5457 short int var10
/* : Bool */;
5458 short int var11
/* : Bool */;
5459 val
* var_other
/* var other: nullable Object */;
5460 short int var13
/* : Bool */;
5461 short int var14
/* : Bool */;
5462 short int var15
/* : Bool */;
5463 val
* var16
/* : AbstractCompiler */;
5464 val
* var18
/* : AbstractCompiler */;
5465 val
* var19
/* : MModule */;
5466 val
* var21
/* : MModule */;
5467 val
* var_main
/* var main: MModule */;
5468 val
* var22
/* : AbstractCompiler */;
5469 val
* var24
/* : AbstractCompiler */;
5470 val
* var25
/* : AbstractCompiler */;
5471 val
* var27
/* : AbstractCompiler */;
5472 val
* var28
/* : MModule */;
5473 val
* var30
/* : MModule */;
5474 val
* var32
/* : nullable RuntimeVariable */;
5475 val
* var_res
/* var res: nullable RuntimeVariable */;
5476 val
* var33
/* : AbstractCompiler */;
5477 val
* var35
/* : AbstractCompiler */;
5478 val
* var37
/* : MProperty */;
5479 val
* var39
/* : MProperty */;
5480 val
* var40
/* : String */;
5481 val
* var41
/* : nullable RuntimeVariable */;
5486 var1
= abstract_collection__SequenceRead__first(var_arguments
);
5489 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var1) on <var1:nullable Object(RuntimeVariable)> */
5490 var4
= var1
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var1:nullable Object(RuntimeVariable)> */
5491 if (unlikely(var4
== NULL
)) {
5492 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
5493 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1637);
5501 var5
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var2
) /* ctype on <var2:MType>*/;
5508 var9
= string__NativeString__to_s_with_length(var7
, var8
);
5513 { /* Inline kernel#Object#!= (var5,var6) on <var5:String> */
5516 var14
= ((short int (*)(val
*, val
*))(var5
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var5
, var_other
) /* == on <var5:String>*/;
5522 RET_LABEL12
:(void)0;
5528 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
5529 var18
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
5530 if (unlikely(var18
== NULL
)) {
5531 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5532 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
5536 RET_LABEL17
:(void)0;
5540 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var16) on <var16:AbstractCompiler(SeparateCompiler)> */
5541 var21
= var16
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var16:AbstractCompiler(SeparateCompiler)> */
5542 if (unlikely(var21
== NULL
)) {
5543 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
5544 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
5548 RET_LABEL20
:(void)0;
5553 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
5554 var24
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
5555 if (unlikely(var24
== NULL
)) {
5556 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5557 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
5561 RET_LABEL23
:(void)0;
5565 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
5566 var27
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
5567 if (unlikely(var27
== NULL
)) {
5568 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5569 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
5573 RET_LABEL26
:(void)0;
5577 { /* Inline abstract_compiler#AbstractCompiler#realmainmodule (var25) on <var25:AbstractCompiler(SeparateCompiler)> */
5578 var30
= var25
->attrs
[COLOR_abstract_compiler__AbstractCompiler___realmainmodule
].val
; /* _realmainmodule on <var25:AbstractCompiler(SeparateCompiler)> */
5579 if (unlikely(var30
== NULL
)) {
5580 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _realmainmodule");
5581 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 467);
5585 RET_LABEL29
:(void)0;
5589 { /* Inline abstract_compiler#AbstractCompiler#mainmodule= (var22,var28) on <var22:AbstractCompiler(SeparateCompiler)> */
5590 var22
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
= var28
; /* _mainmodule on <var22:AbstractCompiler(SeparateCompiler)> */
5591 RET_LABEL31
:(void)0;
5595 var32
= abstract_compiler__AbstractCompilerVisitor__monomorphic_super_send(self
, var_m
, var_recvtype
, var_arguments
);
5599 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
5600 var35
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
5601 if (unlikely(var35
== NULL
)) {
5602 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5603 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
5607 RET_LABEL34
:(void)0;
5611 { /* Inline abstract_compiler#AbstractCompiler#mainmodule= (var33,var_main) on <var33:AbstractCompiler(SeparateCompiler)> */
5612 var33
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
= var_main
; /* _mainmodule on <var33:AbstractCompiler(SeparateCompiler)> */
5613 RET_LABEL36
:(void)0;
5621 { /* Inline model#MPropDef#mproperty (var_m) on <var_m:MMethodDef> */
5622 var39
= var_m
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_m:MMethodDef> */
5623 if (unlikely(var39
== NULL
)) {
5624 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5625 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
5629 RET_LABEL38
:(void)0;
5633 var40
= separate_compiler__MPropDef__const_color(var_m
);
5636 var41
= separate_compiler__SeparateCompilerVisitor__table_send(self
, var37
, var_arguments
, var40
);
5643 /* method separate_compiler#SeparateCompilerVisitor#supercall for (self: Object, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
5644 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__supercall(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5645 val
* var
/* : nullable RuntimeVariable */;
5646 val
* var1
/* : nullable RuntimeVariable */;
5647 var1
= separate_compiler__SeparateCompilerVisitor__supercall(self
, p0
, p1
, p2
);
5652 /* method separate_compiler#SeparateCompilerVisitor#vararg_instance for (self: SeparateCompilerVisitor, MPropDef, RuntimeVariable, Array[RuntimeVariable], MType): RuntimeVariable */
5653 val
* separate_compiler__SeparateCompilerVisitor__vararg_instance(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
5654 val
* var
/* : RuntimeVariable */;
5655 val
* var_mpropdef
/* var mpropdef: MPropDef */;
5656 val
* var_recv
/* var recv: RuntimeVariable */;
5657 val
* var_varargs
/* var varargs: Array[RuntimeVariable] */;
5658 val
* var_elttype
/* var elttype: MType */;
5659 val
* var1
/* : nullable Frame */;
5660 val
* var3
/* : nullable Frame */;
5661 val
* var_old_frame
/* var old_frame: nullable Frame */;
5662 val
* var4
/* : Frame */;
5663 val
* var5
/* : MClassDef */;
5664 val
* var7
/* : MClassDef */;
5665 val
* var8
/* : MClassType */;
5666 val
* var10
/* : MClassType */;
5667 val
* var11
/* : Array[RuntimeVariable] */;
5668 long var12
/* : Int */;
5669 val
* var_
/* var : Array[RuntimeVariable] */;
5670 val
* var_frame
/* var frame: Frame */;
5671 val
* var14
/* : RuntimeVariable */;
5672 val
* var_res
/* var res: RuntimeVariable */;
5678 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
5679 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
5684 var_old_frame
= var1
;
5685 var4
= NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame
);
5687 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MPropDef> */
5688 var7
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MPropDef> */
5689 if (unlikely(var7
== NULL
)) {
5690 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
5691 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
5699 { /* Inline model#MClassDef#bound_mtype (var5) on <var5:MClassDef> */
5700 var10
= var5
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var5:MClassDef> */
5701 if (unlikely(var10
== NULL
)) {
5702 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
5703 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
5710 var11
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
5713 array__Array__with_capacity(var11
, var12
); /* Direct call array#Array#with_capacity on <var11:Array[RuntimeVariable]>*/
5717 array__AbstractArray__push(var_
, var_recv
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
5720 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_abstract_compiler__Frame__visitor_61d
]))(var4
, self
) /* visitor= on <var4:Frame>*/;
5723 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef_61d
]))(var4
, var_mpropdef
) /* mpropdef= on <var4:Frame>*/;
5726 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_abstract_compiler__Frame__receiver_61d
]))(var4
, var8
) /* receiver= on <var4:Frame>*/;
5729 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_abstract_compiler__Frame__arguments_61d
]))(var4
, var_
) /* arguments= on <var4:Frame>*/;
5732 ((void (*)(val
*))(var4
->class->vft
[COLOR_kernel__Object__init
]))(var4
) /* init on <var4:Frame>*/;
5736 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame= (self,var_frame) on <self:SeparateCompilerVisitor> */
5737 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
= var_frame
; /* _frame on <self:SeparateCompilerVisitor> */
5738 RET_LABEL13
:(void)0;
5742 var14
= separate_compiler__SeparateCompilerVisitor__array_instance(self
, var_varargs
, var_elttype
);
5746 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame= (self,var_old_frame) on <self:SeparateCompilerVisitor> */
5747 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
= var_old_frame
; /* _frame on <self:SeparateCompilerVisitor> */
5748 RET_LABEL15
:(void)0;
5756 /* method separate_compiler#SeparateCompilerVisitor#vararg_instance for (self: Object, MPropDef, RuntimeVariable, Array[RuntimeVariable], MType): RuntimeVariable */
5757 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__vararg_instance(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
5758 val
* var
/* : RuntimeVariable */;
5759 val
* var1
/* : RuntimeVariable */;
5760 var1
= separate_compiler__SeparateCompilerVisitor__vararg_instance(self
, p0
, p1
, p2
, p3
);
5765 /* method separate_compiler#SeparateCompilerVisitor#isset_attribute for (self: SeparateCompilerVisitor, MAttribute, RuntimeVariable): RuntimeVariable */
5766 val
* separate_compiler__SeparateCompilerVisitor__isset_attribute(val
* self
, val
* p0
, val
* p1
) {
5767 val
* var
/* : RuntimeVariable */;
5768 val
* var_a
/* var a: MAttribute */;
5769 val
* var_recv
/* var recv: RuntimeVariable */;
5770 val
* var1
/* : MClassType */;
5771 val
* var2
/* : RuntimeVariable */;
5772 val
* var_res
/* var res: RuntimeVariable */;
5773 val
* var3
/* : MPropDef */;
5774 val
* var5
/* : MPropDef */;
5775 val
* var6
/* : nullable MType */;
5776 val
* var8
/* : nullable MType */;
5777 val
* var_mtype
/* var mtype: MType */;
5778 val
* var9
/* : MPropDef */;
5779 val
* var11
/* : MPropDef */;
5780 val
* var12
/* : MClassDef */;
5781 val
* var14
/* : MClassDef */;
5782 val
* var_intromclassdef
/* var intromclassdef: MClassDef */;
5783 val
* var15
/* : MClassType */;
5784 val
* var17
/* : MClassType */;
5785 val
* var18
/* : MClassType */;
5786 val
* var20
/* : MClassType */;
5787 val
* var21
/* : MModule */;
5788 val
* var23
/* : MModule */;
5789 short int var24
/* : Bool */;
5790 val
* var25
/* : MType */;
5791 short int var26
/* : Bool */;
5794 static val
* varonce
;
5795 val
* var27
/* : String */;
5796 char* var28
/* : NativeString */;
5797 long var29
/* : Int */;
5798 val
* var30
/* : FlatString */;
5799 static val
* varonce31
;
5800 val
* var32
/* : String */;
5801 char* var33
/* : NativeString */;
5802 long var34
/* : Int */;
5803 val
* var35
/* : FlatString */;
5804 val
* var36
/* : String */;
5805 static val
* varonce37
;
5806 val
* var38
/* : String */;
5807 char* var39
/* : NativeString */;
5808 long var40
/* : Int */;
5809 val
* var41
/* : FlatString */;
5810 val
* var42
/* : Array[Object] */;
5811 long var43
/* : Int */;
5812 val
* var44
/* : NativeArray[Object] */;
5813 val
* var45
/* : String */;
5814 val
* var46
/* : String */;
5815 val
* var47
/* : AbstractCompiler */;
5816 val
* var49
/* : AbstractCompiler */;
5817 val
* var50
/* : ModelBuilder */;
5818 val
* var52
/* : ModelBuilder */;
5819 val
* var53
/* : ToolContext */;
5820 val
* var55
/* : ToolContext */;
5821 val
* var56
/* : OptionBool */;
5822 val
* var58
/* : OptionBool */;
5823 val
* var59
/* : nullable Object */;
5824 val
* var61
/* : nullable Object */;
5825 short int var62
/* : Bool */;
5826 static val
* varonce63
;
5827 val
* var64
/* : String */;
5828 char* var65
/* : NativeString */;
5829 long var66
/* : Int */;
5830 val
* var67
/* : FlatString */;
5831 static val
* varonce68
;
5832 val
* var69
/* : String */;
5833 char* var70
/* : NativeString */;
5834 long var71
/* : Int */;
5835 val
* var72
/* : FlatString */;
5836 val
* var73
/* : String */;
5837 static val
* varonce74
;
5838 val
* var75
/* : String */;
5839 char* var76
/* : NativeString */;
5840 long var77
/* : Int */;
5841 val
* var78
/* : FlatString */;
5842 static val
* varonce79
;
5843 val
* var80
/* : String */;
5844 char* var81
/* : NativeString */;
5845 long var82
/* : Int */;
5846 val
* var83
/* : FlatString */;
5847 val
* var84
/* : String */;
5848 static val
* varonce85
;
5849 val
* var86
/* : String */;
5850 char* var87
/* : NativeString */;
5851 long var88
/* : Int */;
5852 val
* var89
/* : FlatString */;
5853 val
* var90
/* : Array[Object] */;
5854 long var91
/* : Int */;
5855 val
* var92
/* : NativeArray[Object] */;
5856 val
* var93
/* : String */;
5857 val
* var94
/* : String */;
5858 static val
* varonce95
;
5859 val
* var96
/* : String */;
5860 char* var97
/* : NativeString */;
5861 long var98
/* : Int */;
5862 val
* var99
/* : FlatString */;
5863 short int var100
/* : Bool */;
5864 short int var101
/* : Bool */;
5865 static val
* varonce102
;
5866 val
* var103
/* : String */;
5867 char* var104
/* : NativeString */;
5868 long var105
/* : Int */;
5869 val
* var106
/* : FlatString */;
5870 static val
* varonce107
;
5871 val
* var108
/* : String */;
5872 char* var109
/* : NativeString */;
5873 long var110
/* : Int */;
5874 val
* var111
/* : FlatString */;
5875 val
* var112
/* : String */;
5876 static val
* varonce113
;
5877 val
* var114
/* : String */;
5878 char* var115
/* : NativeString */;
5879 long var116
/* : Int */;
5880 val
* var117
/* : FlatString */;
5881 static val
* varonce118
;
5882 val
* var119
/* : String */;
5883 char* var120
/* : NativeString */;
5884 long var121
/* : Int */;
5885 val
* var122
/* : FlatString */;
5886 val
* var123
/* : String */;
5887 static val
* varonce124
;
5888 val
* var125
/* : String */;
5889 char* var126
/* : NativeString */;
5890 long var127
/* : Int */;
5891 val
* var128
/* : FlatString */;
5892 val
* var129
/* : Array[Object] */;
5893 long var130
/* : Int */;
5894 val
* var131
/* : NativeArray[Object] */;
5895 val
* var132
/* : String */;
5896 static val
* varonce133
;
5897 val
* var134
/* : String */;
5898 char* var135
/* : NativeString */;
5899 long var136
/* : Int */;
5900 val
* var137
/* : FlatString */;
5901 static val
* varonce138
;
5902 val
* var139
/* : String */;
5903 char* var140
/* : NativeString */;
5904 long var141
/* : Int */;
5905 val
* var142
/* : FlatString */;
5906 val
* var143
/* : String */;
5907 static val
* varonce144
;
5908 val
* var145
/* : String */;
5909 char* var146
/* : NativeString */;
5910 long var147
/* : Int */;
5911 val
* var148
/* : FlatString */;
5912 val
* var149
/* : Array[Object] */;
5913 long var150
/* : Int */;
5914 val
* var151
/* : NativeArray[Object] */;
5915 val
* var152
/* : String */;
5919 abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(self
, var_recv
); /* Direct call abstract_compiler#AbstractCompilerVisitor#check_recv_notnull on <self:SeparateCompilerVisitor>*/
5922 var1
= abstract_compiler__AbstractCompilerVisitor__bool_type(self
);
5925 var2
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var1
);
5929 { /* Inline model#MProperty#intro (var_a) on <var_a:MAttribute> */
5930 var5
= var_a
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var_a:MAttribute> */
5931 if (unlikely(var5
== NULL
)) {
5932 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
5933 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
5941 { /* Inline model#MAttributeDef#static_mtype (var3) on <var3:MPropDef(MAttributeDef)> */
5942 var8
= var3
->attrs
[COLOR_model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var3:MPropDef(MAttributeDef)> */
5947 if (unlikely(var6
== NULL
)) {
5948 PRINT_ERROR("Runtime error: %s", "Cast failed");
5949 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 1305);
5954 { /* Inline model#MProperty#intro (var_a) on <var_a:MAttribute> */
5955 var11
= var_a
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var_a:MAttribute> */
5956 if (unlikely(var11
== NULL
)) {
5957 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
5958 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
5962 RET_LABEL10
:(void)0;
5966 { /* Inline model#MPropDef#mclassdef (var9) on <var9:MPropDef(MAttributeDef)> */
5967 var14
= var9
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var9:MPropDef(MAttributeDef)> */
5968 if (unlikely(var14
== NULL
)) {
5969 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
5970 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
5974 RET_LABEL13
:(void)0;
5977 var_intromclassdef
= var12
;
5979 { /* Inline model#MClassDef#bound_mtype (var_intromclassdef) on <var_intromclassdef:MClassDef> */
5980 var17
= var_intromclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intromclassdef:MClassDef> */
5981 if (unlikely(var17
== NULL
)) {
5982 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
5983 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
5987 RET_LABEL16
:(void)0;
5991 { /* Inline model#MClassDef#bound_mtype (var_intromclassdef) on <var_intromclassdef:MClassDef> */
5992 var20
= var_intromclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intromclassdef:MClassDef> */
5993 if (unlikely(var20
== NULL
)) {
5994 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
5995 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
5999 RET_LABEL19
:(void)0;
6003 { /* Inline model#MClassDef#mmodule (var_intromclassdef) on <var_intromclassdef:MClassDef> */
6004 var23
= var_intromclassdef
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_intromclassdef:MClassDef> */
6005 if (unlikely(var23
== NULL
)) {
6006 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
6007 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
6011 RET_LABEL22
:(void)0;
6016 var25
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_mtype
->class->vft
[COLOR_model__MType__resolve_for
]))(var_mtype
, var15
, var18
, var21
, var24
) /* resolve_for on <var_mtype:MType>*/;
6019 /* <var_mtype:MType> isa MNullableType */
6020 cltype
= type_model__MNullableType
.color
;
6021 idtype
= type_model__MNullableType
.id
;
6022 if(cltype
>= var_mtype
->type
->table_size
) {
6025 var26
= var_mtype
->type
->type_table
[cltype
] == idtype
;
6031 var28
= " = 1; /* easy isset: ";
6033 var30
= string__NativeString__to_s_with_length(var28
, var29
);
6042 var35
= string__NativeString__to_s_with_length(var33
, var34
);
6047 var36
= abstract_compiler__RuntimeVariable__inspect(var_recv
);
6054 var41
= string__NativeString__to_s_with_length(var39
, var40
);
6058 var42
= NEW_array__Array(&type_array__Arraykernel__Object
);
6059 { /* var42 = array_instance Array[Object] */
6061 var44
= NEW_array__NativeArray(var43
, &type_array__NativeArraykernel__Object
);
6062 ((struct instance_array__NativeArray
*)var44
)->values
[0] = (val
*) var_res
;
6063 ((struct instance_array__NativeArray
*)var44
)->values
[1] = (val
*) var27
;
6064 ((struct instance_array__NativeArray
*)var44
)->values
[2] = (val
*) var_a
;
6065 ((struct instance_array__NativeArray
*)var44
)->values
[3] = (val
*) var32
;
6066 ((struct instance_array__NativeArray
*)var44
)->values
[4] = (val
*) var36
;
6067 ((struct instance_array__NativeArray
*)var44
)->values
[5] = (val
*) var38
;
6069 ((void (*)(val
*, val
*, long))(var42
->class->vft
[COLOR_array__Array__with_native
]))(var42
, var44
, var43
) /* with_native on <var42:Array[Object]>*/;
6073 var45
= ((val
* (*)(val
*))(var42
->class->vft
[COLOR_string__Object__to_s
]))(var42
) /* to_s on <var42:Array[Object]>*/;
6076 abstract_compiler__AbstractCompilerVisitor__add(self
, var45
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
6083 var46
= separate_compiler__MProperty__const_color(var_a
);
6086 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var46
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
6089 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
6090 var49
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
6091 if (unlikely(var49
== NULL
)) {
6092 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6093 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
6097 RET_LABEL48
:(void)0;
6101 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var47) on <var47:AbstractCompiler(SeparateCompiler)> */
6102 var52
= var47
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var47:AbstractCompiler(SeparateCompiler)> */
6103 if (unlikely(var52
== NULL
)) {
6104 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6105 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
6109 RET_LABEL51
:(void)0;
6113 { /* Inline modelbuilder#ModelBuilder#toolcontext (var50) on <var50:ModelBuilder> */
6114 var55
= var50
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var50:ModelBuilder> */
6115 if (unlikely(var55
== NULL
)) {
6116 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6117 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
6121 RET_LABEL54
:(void)0;
6125 { /* Inline separate_compiler#ToolContext#opt_no_union_attribute (var53) on <var53:ToolContext> */
6126 var58
= var53
->attrs
[COLOR_separate_compiler__ToolContext___opt_no_union_attribute
].val
; /* _opt_no_union_attribute on <var53:ToolContext> */
6127 if (unlikely(var58
== NULL
)) {
6128 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_union_attribute");
6129 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 28);
6133 RET_LABEL57
:(void)0;
6137 { /* Inline opts#Option#value (var56) on <var56:OptionBool> */
6138 var61
= var56
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var56:OptionBool> */
6140 RET_LABEL60
:(void)0;
6143 var62
= ((struct instance_kernel__Bool
*)var59
)->value
; /* autounbox from nullable Object to Bool */;
6150 var67
= string__NativeString__to_s_with_length(var65
, var66
);
6159 var72
= string__NativeString__to_s_with_length(var70
, var71
);
6164 var73
= separate_compiler__MProperty__const_color(var_a
);
6169 var76
= "] != NULL; /* ";
6171 var78
= string__NativeString__to_s_with_length(var76
, var77
);
6180 var83
= string__NativeString__to_s_with_length(var81
, var82
);
6185 var84
= abstract_compiler__RuntimeVariable__inspect(var_recv
);
6192 var89
= string__NativeString__to_s_with_length(var87
, var88
);
6196 var90
= NEW_array__Array(&type_array__Arraykernel__Object
);
6197 { /* var90 = array_instance Array[Object] */
6199 var92
= NEW_array__NativeArray(var91
, &type_array__NativeArraykernel__Object
);
6200 ((struct instance_array__NativeArray
*)var92
)->values
[0] = (val
*) var_res
;
6201 ((struct instance_array__NativeArray
*)var92
)->values
[1] = (val
*) var64
;
6202 ((struct instance_array__NativeArray
*)var92
)->values
[2] = (val
*) var_recv
;
6203 ((struct instance_array__NativeArray
*)var92
)->values
[3] = (val
*) var69
;
6204 ((struct instance_array__NativeArray
*)var92
)->values
[4] = (val
*) var73
;
6205 ((struct instance_array__NativeArray
*)var92
)->values
[5] = (val
*) var75
;
6206 ((struct instance_array__NativeArray
*)var92
)->values
[6] = (val
*) var_a
;
6207 ((struct instance_array__NativeArray
*)var92
)->values
[7] = (val
*) var80
;
6208 ((struct instance_array__NativeArray
*)var92
)->values
[8] = (val
*) var84
;
6209 ((struct instance_array__NativeArray
*)var92
)->values
[9] = (val
*) var86
;
6211 ((void (*)(val
*, val
*, long))(var90
->class->vft
[COLOR_array__Array__with_native
]))(var90
, var92
, var91
) /* with_native on <var90:Array[Object]>*/;
6215 var93
= ((val
* (*)(val
*))(var90
->class->vft
[COLOR_string__Object__to_s
]))(var90
) /* to_s on <var90:Array[Object]>*/;
6218 abstract_compiler__AbstractCompilerVisitor__add(self
, var93
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
6222 var94
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
6229 var99
= string__NativeString__to_s_with_length(var97
, var98
);
6234 var101
= string__FlatString___61d_61d(var94
, var96
);
6239 var103
= varonce102
;
6243 var106
= string__NativeString__to_s_with_length(var104
, var105
);
6245 varonce102
= var103
;
6248 var108
= varonce107
;
6250 var109
= "->attrs[";
6252 var111
= string__NativeString__to_s_with_length(var109
, var110
);
6254 varonce107
= var108
;
6257 var112
= separate_compiler__MProperty__const_color(var_a
);
6260 var114
= varonce113
;
6262 var115
= "].val != NULL; /* ";
6264 var117
= string__NativeString__to_s_with_length(var115
, var116
);
6266 varonce113
= var114
;
6269 var119
= varonce118
;
6273 var122
= string__NativeString__to_s_with_length(var120
, var121
);
6275 varonce118
= var119
;
6278 var123
= abstract_compiler__RuntimeVariable__inspect(var_recv
);
6281 var125
= varonce124
;
6285 var128
= string__NativeString__to_s_with_length(var126
, var127
);
6287 varonce124
= var125
;
6289 var129
= NEW_array__Array(&type_array__Arraykernel__Object
);
6290 { /* var129 = array_instance Array[Object] */
6292 var131
= NEW_array__NativeArray(var130
, &type_array__NativeArraykernel__Object
);
6293 ((struct instance_array__NativeArray
*)var131
)->values
[0] = (val
*) var_res
;
6294 ((struct instance_array__NativeArray
*)var131
)->values
[1] = (val
*) var103
;
6295 ((struct instance_array__NativeArray
*)var131
)->values
[2] = (val
*) var_recv
;
6296 ((struct instance_array__NativeArray
*)var131
)->values
[3] = (val
*) var108
;
6297 ((struct instance_array__NativeArray
*)var131
)->values
[4] = (val
*) var112
;
6298 ((struct instance_array__NativeArray
*)var131
)->values
[5] = (val
*) var114
;
6299 ((struct instance_array__NativeArray
*)var131
)->values
[6] = (val
*) var_a
;
6300 ((struct instance_array__NativeArray
*)var131
)->values
[7] = (val
*) var119
;
6301 ((struct instance_array__NativeArray
*)var131
)->values
[8] = (val
*) var123
;
6302 ((struct instance_array__NativeArray
*)var131
)->values
[9] = (val
*) var125
;
6304 ((void (*)(val
*, val
*, long))(var129
->class->vft
[COLOR_array__Array__with_native
]))(var129
, var131
, var130
) /* with_native on <var129:Array[Object]>*/;
6308 var132
= ((val
* (*)(val
*))(var129
->class->vft
[COLOR_string__Object__to_s
]))(var129
) /* to_s on <var129:Array[Object]>*/;
6311 abstract_compiler__AbstractCompilerVisitor__add(self
, var132
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
6315 var134
= varonce133
;
6317 var135
= " = 1; /* NOT YET IMPLEMENTED: isset of primitives: ";
6319 var137
= string__NativeString__to_s_with_length(var135
, var136
);
6321 varonce133
= var134
;
6324 var139
= varonce138
;
6328 var142
= string__NativeString__to_s_with_length(var140
, var141
);
6330 varonce138
= var139
;
6333 var143
= abstract_compiler__RuntimeVariable__inspect(var_recv
);
6336 var145
= varonce144
;
6340 var148
= string__NativeString__to_s_with_length(var146
, var147
);
6342 varonce144
= var145
;
6344 var149
= NEW_array__Array(&type_array__Arraykernel__Object
);
6345 { /* var149 = array_instance Array[Object] */
6347 var151
= NEW_array__NativeArray(var150
, &type_array__NativeArraykernel__Object
);
6348 ((struct instance_array__NativeArray
*)var151
)->values
[0] = (val
*) var_res
;
6349 ((struct instance_array__NativeArray
*)var151
)->values
[1] = (val
*) var134
;
6350 ((struct instance_array__NativeArray
*)var151
)->values
[2] = (val
*) var_a
;
6351 ((struct instance_array__NativeArray
*)var151
)->values
[3] = (val
*) var139
;
6352 ((struct instance_array__NativeArray
*)var151
)->values
[4] = (val
*) var143
;
6353 ((struct instance_array__NativeArray
*)var151
)->values
[5] = (val
*) var145
;
6355 ((void (*)(val
*, val
*, long))(var149
->class->vft
[COLOR_array__Array__with_native
]))(var149
, var151
, var150
) /* with_native on <var149:Array[Object]>*/;
6359 var152
= ((val
* (*)(val
*))(var149
->class->vft
[COLOR_string__Object__to_s
]))(var149
) /* to_s on <var149:Array[Object]>*/;
6362 abstract_compiler__AbstractCompilerVisitor__add(self
, var152
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
6371 /* method separate_compiler#SeparateCompilerVisitor#isset_attribute for (self: Object, MAttribute, RuntimeVariable): RuntimeVariable */
6372 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__isset_attribute(val
* self
, val
* p0
, val
* p1
) {
6373 val
* var
/* : RuntimeVariable */;
6374 val
* var1
/* : RuntimeVariable */;
6375 var1
= separate_compiler__SeparateCompilerVisitor__isset_attribute(self
, p0
, p1
);
6380 /* method separate_compiler#SeparateCompilerVisitor#read_attribute for (self: SeparateCompilerVisitor, MAttribute, RuntimeVariable): RuntimeVariable */
6381 val
* separate_compiler__SeparateCompilerVisitor__read_attribute(val
* self
, val
* p0
, val
* p1
) {
6382 val
* var
/* : RuntimeVariable */;
6383 val
* var_a
/* var a: MAttribute */;
6384 val
* var_recv
/* var recv: RuntimeVariable */;
6385 val
* var1
/* : MPropDef */;
6386 val
* var3
/* : MPropDef */;
6387 val
* var4
/* : nullable MType */;
6388 val
* var6
/* : nullable MType */;
6389 val
* var_ret
/* var ret: MType */;
6390 val
* var7
/* : MPropDef */;
6391 val
* var9
/* : MPropDef */;
6392 val
* var10
/* : MClassDef */;
6393 val
* var12
/* : MClassDef */;
6394 val
* var_intromclassdef
/* var intromclassdef: MClassDef */;
6395 val
* var13
/* : MClassType */;
6396 val
* var15
/* : MClassType */;
6397 val
* var16
/* : MClassType */;
6398 val
* var18
/* : MClassType */;
6399 val
* var19
/* : MModule */;
6400 val
* var21
/* : MModule */;
6401 short int var22
/* : Bool */;
6402 val
* var23
/* : MType */;
6403 val
* var24
/* : AbstractCompiler */;
6404 val
* var26
/* : AbstractCompiler */;
6405 val
* var27
/* : ModelBuilder */;
6406 val
* var29
/* : ModelBuilder */;
6407 val
* var30
/* : ToolContext */;
6408 val
* var32
/* : ToolContext */;
6409 val
* var33
/* : OptionBool */;
6410 val
* var35
/* : OptionBool */;
6411 val
* var36
/* : nullable Object */;
6412 val
* var38
/* : nullable Object */;
6413 short int var39
/* : Bool */;
6414 val
* var40
/* : AbstractCompiler */;
6415 val
* var42
/* : AbstractCompiler */;
6416 val
* var_
/* var : SeparateCompiler */;
6417 long var43
/* : Int */;
6418 long var45
/* : Int */;
6419 long var46
/* : Int */;
6420 long var47
/* : Int */;
6421 short int var49
/* : Bool */;
6424 const char* var_class_name
;
6425 long var50
/* : Int */;
6426 static val
* varonce
;
6427 val
* var52
/* : String */;
6428 char* var53
/* : NativeString */;
6429 long var54
/* : Int */;
6430 val
* var55
/* : FlatString */;
6431 val
* var56
/* : String */;
6432 val
* var57
/* : AbstractCompiler */;
6433 val
* var59
/* : AbstractCompiler */;
6434 val
* var60
/* : ModelBuilder */;
6435 val
* var62
/* : ModelBuilder */;
6436 val
* var63
/* : ToolContext */;
6437 val
* var65
/* : ToolContext */;
6438 val
* var66
/* : OptionBool */;
6439 val
* var68
/* : OptionBool */;
6440 val
* var69
/* : nullable Object */;
6441 val
* var71
/* : nullable Object */;
6442 short int var72
/* : Bool */;
6443 val
* var73
/* : MClassType */;
6444 val
* var74
/* : MType */;
6445 val
* var_cret
/* var cret: MType */;
6446 val
* var75
/* : RuntimeVariable */;
6447 val
* var_res
/* var res: RuntimeVariable */;
6448 static val
* varonce77
;
6449 val
* var78
/* : String */;
6450 char* var79
/* : NativeString */;
6451 long var80
/* : Int */;
6452 val
* var81
/* : FlatString */;
6453 static val
* varonce82
;
6454 val
* var83
/* : String */;
6455 char* var84
/* : NativeString */;
6456 long var85
/* : Int */;
6457 val
* var86
/* : FlatString */;
6458 val
* var87
/* : String */;
6459 static val
* varonce88
;
6460 val
* var89
/* : String */;
6461 char* var90
/* : NativeString */;
6462 long var91
/* : Int */;
6463 val
* var92
/* : FlatString */;
6464 static val
* varonce93
;
6465 val
* var94
/* : String */;
6466 char* var95
/* : NativeString */;
6467 long var96
/* : Int */;
6468 val
* var97
/* : FlatString */;
6469 val
* var98
/* : String */;
6470 static val
* varonce99
;
6471 val
* var100
/* : String */;
6472 char* var101
/* : NativeString */;
6473 long var102
/* : Int */;
6474 val
* var103
/* : FlatString */;
6475 val
* var104
/* : Array[Object] */;
6476 long var105
/* : Int */;
6477 val
* var106
/* : NativeArray[Object] */;
6478 val
* var107
/* : String */;
6479 short int var108
/* : Bool */;
6480 short int var109
/* : Bool */;
6483 short int var112
/* : Bool */;
6484 short int var_113
/* var : Bool */;
6485 val
* var114
/* : AbstractCompiler */;
6486 val
* var116
/* : AbstractCompiler */;
6487 val
* var117
/* : ModelBuilder */;
6488 val
* var119
/* : ModelBuilder */;
6489 val
* var120
/* : ToolContext */;
6490 val
* var122
/* : ToolContext */;
6491 val
* var123
/* : OptionBool */;
6492 val
* var125
/* : OptionBool */;
6493 val
* var126
/* : nullable Object */;
6494 val
* var128
/* : nullable Object */;
6495 short int var129
/* : Bool */;
6496 short int var130
/* : Bool */;
6497 static val
* varonce131
;
6498 val
* var132
/* : String */;
6499 char* var133
/* : NativeString */;
6500 long var134
/* : Int */;
6501 val
* var135
/* : FlatString */;
6502 static val
* varonce136
;
6503 val
* var137
/* : String */;
6504 char* var138
/* : NativeString */;
6505 long var139
/* : Int */;
6506 val
* var140
/* : FlatString */;
6507 val
* var141
/* : Array[Object] */;
6508 long var142
/* : Int */;
6509 val
* var143
/* : NativeArray[Object] */;
6510 val
* var144
/* : String */;
6511 static val
* varonce145
;
6512 val
* var146
/* : String */;
6513 char* var147
/* : NativeString */;
6514 long var148
/* : Int */;
6515 val
* var149
/* : FlatString */;
6516 val
* var150
/* : String */;
6517 val
* var152
/* : String */;
6518 val
* var153
/* : Array[Object] */;
6519 long var154
/* : Int */;
6520 val
* var155
/* : NativeArray[Object] */;
6521 val
* var156
/* : String */;
6522 static val
* varonce157
;
6523 val
* var158
/* : String */;
6524 char* var159
/* : NativeString */;
6525 long var160
/* : Int */;
6526 val
* var161
/* : FlatString */;
6527 val
* var162
/* : AbstractCompiler */;
6528 val
* var164
/* : AbstractCompiler */;
6529 val
* var165
/* : ModelBuilder */;
6530 val
* var167
/* : ModelBuilder */;
6531 val
* var168
/* : ToolContext */;
6532 val
* var170
/* : ToolContext */;
6533 val
* var171
/* : OptionBool */;
6534 val
* var173
/* : OptionBool */;
6535 val
* var174
/* : nullable Object */;
6536 val
* var176
/* : nullable Object */;
6537 short int var177
/* : Bool */;
6538 val
* var178
/* : AbstractCompiler */;
6539 val
* var180
/* : AbstractCompiler */;
6540 val
* var_181
/* var : SeparateCompiler */;
6541 long var182
/* : Int */;
6542 long var184
/* : Int */;
6543 long var185
/* : Int */;
6544 long var186
/* : Int */;
6545 short int var188
/* : Bool */;
6548 const char* var_class_name191
;
6549 long var192
/* : Int */;
6550 static val
* varonce194
;
6551 val
* var195
/* : String */;
6552 char* var196
/* : NativeString */;
6553 long var197
/* : Int */;
6554 val
* var198
/* : FlatString */;
6555 val
* var199
/* : RuntimeVariable */;
6556 val
* var200
/* : RuntimeVariable */;
6557 val
* var_res201
/* var res: RuntimeVariable */;
6558 static val
* varonce202
;
6559 val
* var203
/* : String */;
6560 char* var204
/* : NativeString */;
6561 long var205
/* : Int */;
6562 val
* var206
/* : FlatString */;
6563 static val
* varonce207
;
6564 val
* var208
/* : String */;
6565 char* var209
/* : NativeString */;
6566 long var210
/* : Int */;
6567 val
* var211
/* : FlatString */;
6568 val
* var212
/* : String */;
6569 static val
* varonce213
;
6570 val
* var214
/* : String */;
6571 char* var215
/* : NativeString */;
6572 long var216
/* : Int */;
6573 val
* var217
/* : FlatString */;
6574 val
* var218
/* : String */;
6575 static val
* varonce219
;
6576 val
* var220
/* : String */;
6577 char* var221
/* : NativeString */;
6578 long var222
/* : Int */;
6579 val
* var223
/* : FlatString */;
6580 static val
* varonce224
;
6581 val
* var225
/* : String */;
6582 char* var226
/* : NativeString */;
6583 long var227
/* : Int */;
6584 val
* var228
/* : FlatString */;
6585 val
* var229
/* : String */;
6586 static val
* varonce230
;
6587 val
* var231
/* : String */;
6588 char* var232
/* : NativeString */;
6589 long var233
/* : Int */;
6590 val
* var234
/* : FlatString */;
6591 val
* var235
/* : Array[Object] */;
6592 long var236
/* : Int */;
6593 val
* var237
/* : NativeArray[Object] */;
6594 val
* var238
/* : String */;
6595 short int var239
/* : Bool */;
6596 short int var240
/* : Bool */;
6597 val
* var241
/* : String */;
6598 static val
* varonce242
;
6599 val
* var243
/* : String */;
6600 char* var244
/* : NativeString */;
6601 long var245
/* : Int */;
6602 val
* var246
/* : FlatString */;
6603 short int var247
/* : Bool */;
6604 short int var248
/* : Bool */;
6605 short int var_249
/* var : Bool */;
6606 short int var250
/* : Bool */;
6609 short int var253
/* : Bool */;
6610 short int var_254
/* var : Bool */;
6611 val
* var255
/* : AbstractCompiler */;
6612 val
* var257
/* : AbstractCompiler */;
6613 val
* var258
/* : ModelBuilder */;
6614 val
* var260
/* : ModelBuilder */;
6615 val
* var261
/* : ToolContext */;
6616 val
* var263
/* : ToolContext */;
6617 val
* var264
/* : OptionBool */;
6618 val
* var266
/* : OptionBool */;
6619 val
* var267
/* : nullable Object */;
6620 val
* var269
/* : nullable Object */;
6621 short int var270
/* : Bool */;
6622 short int var271
/* : Bool */;
6623 static val
* varonce272
;
6624 val
* var273
/* : String */;
6625 char* var274
/* : NativeString */;
6626 long var275
/* : Int */;
6627 val
* var276
/* : FlatString */;
6628 static val
* varonce277
;
6629 val
* var278
/* : String */;
6630 char* var279
/* : NativeString */;
6631 long var280
/* : Int */;
6632 val
* var281
/* : FlatString */;
6633 val
* var282
/* : Array[Object] */;
6634 long var283
/* : Int */;
6635 val
* var284
/* : NativeArray[Object] */;
6636 val
* var285
/* : String */;
6637 static val
* varonce286
;
6638 val
* var287
/* : String */;
6639 char* var288
/* : NativeString */;
6640 long var289
/* : Int */;
6641 val
* var290
/* : FlatString */;
6642 val
* var291
/* : String */;
6643 val
* var293
/* : String */;
6644 val
* var294
/* : Array[Object] */;
6645 long var295
/* : Int */;
6646 val
* var296
/* : NativeArray[Object] */;
6647 val
* var297
/* : String */;
6648 static val
* varonce298
;
6649 val
* var299
/* : String */;
6650 char* var300
/* : NativeString */;
6651 long var301
/* : Int */;
6652 val
* var302
/* : FlatString */;
6653 val
* var303
/* : AbstractCompiler */;
6654 val
* var305
/* : AbstractCompiler */;
6655 val
* var306
/* : ModelBuilder */;
6656 val
* var308
/* : ModelBuilder */;
6657 val
* var309
/* : ToolContext */;
6658 val
* var311
/* : ToolContext */;
6659 val
* var312
/* : OptionBool */;
6660 val
* var314
/* : OptionBool */;
6661 val
* var315
/* : nullable Object */;
6662 val
* var317
/* : nullable Object */;
6663 short int var318
/* : Bool */;
6664 val
* var319
/* : AbstractCompiler */;
6665 val
* var321
/* : AbstractCompiler */;
6666 val
* var_322
/* var : SeparateCompiler */;
6667 long var323
/* : Int */;
6668 long var325
/* : Int */;
6669 long var326
/* : Int */;
6670 long var327
/* : Int */;
6671 short int var329
/* : Bool */;
6674 const char* var_class_name332
;
6675 long var333
/* : Int */;
6676 static val
* varonce335
;
6677 val
* var336
/* : String */;
6678 char* var337
/* : NativeString */;
6679 long var338
/* : Int */;
6680 val
* var339
/* : FlatString */;
6684 abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(self
, var_recv
); /* Direct call abstract_compiler#AbstractCompilerVisitor#check_recv_notnull on <self:SeparateCompilerVisitor>*/
6687 { /* Inline model#MProperty#intro (var_a) on <var_a:MAttribute> */
6688 var3
= var_a
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var_a:MAttribute> */
6689 if (unlikely(var3
== NULL
)) {
6690 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
6691 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
6699 { /* Inline model#MAttributeDef#static_mtype (var1) on <var1:MPropDef(MAttributeDef)> */
6700 var6
= var1
->attrs
[COLOR_model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var1:MPropDef(MAttributeDef)> */
6705 if (unlikely(var4
== NULL
)) {
6706 PRINT_ERROR("Runtime error: %s", "Cast failed");
6707 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 1333);
6712 { /* Inline model#MProperty#intro (var_a) on <var_a:MAttribute> */
6713 var9
= var_a
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var_a:MAttribute> */
6714 if (unlikely(var9
== NULL
)) {
6715 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
6716 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
6724 { /* Inline model#MPropDef#mclassdef (var7) on <var7:MPropDef(MAttributeDef)> */
6725 var12
= var7
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var7:MPropDef(MAttributeDef)> */
6726 if (unlikely(var12
== NULL
)) {
6727 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
6728 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
6732 RET_LABEL11
:(void)0;
6735 var_intromclassdef
= var10
;
6737 { /* Inline model#MClassDef#bound_mtype (var_intromclassdef) on <var_intromclassdef:MClassDef> */
6738 var15
= var_intromclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intromclassdef:MClassDef> */
6739 if (unlikely(var15
== NULL
)) {
6740 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
6741 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
6745 RET_LABEL14
:(void)0;
6749 { /* Inline model#MClassDef#bound_mtype (var_intromclassdef) on <var_intromclassdef:MClassDef> */
6750 var18
= var_intromclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intromclassdef:MClassDef> */
6751 if (unlikely(var18
== NULL
)) {
6752 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
6753 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
6757 RET_LABEL17
:(void)0;
6761 { /* Inline model#MClassDef#mmodule (var_intromclassdef) on <var_intromclassdef:MClassDef> */
6762 var21
= var_intromclassdef
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_intromclassdef:MClassDef> */
6763 if (unlikely(var21
== NULL
)) {
6764 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
6765 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
6769 RET_LABEL20
:(void)0;
6774 var23
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_ret
->class->vft
[COLOR_model__MType__resolve_for
]))(var_ret
, var13
, var16
, var19
, var22
) /* resolve_for on <var_ret:MType>*/;
6778 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
6779 var26
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
6780 if (unlikely(var26
== NULL
)) {
6781 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6782 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
6786 RET_LABEL25
:(void)0;
6790 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var24) on <var24:AbstractCompiler(SeparateCompiler)> */
6791 var29
= var24
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var24:AbstractCompiler(SeparateCompiler)> */
6792 if (unlikely(var29
== NULL
)) {
6793 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6794 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
6798 RET_LABEL28
:(void)0;
6802 { /* Inline modelbuilder#ModelBuilder#toolcontext (var27) on <var27:ModelBuilder> */
6803 var32
= var27
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var27:ModelBuilder> */
6804 if (unlikely(var32
== NULL
)) {
6805 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6806 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
6810 RET_LABEL31
:(void)0;
6814 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var30) on <var30:ToolContext> */
6815 var35
= var30
->attrs
[COLOR_abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var30:ToolContext> */
6816 if (unlikely(var35
== NULL
)) {
6817 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
6818 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 65);
6822 RET_LABEL34
:(void)0;
6826 { /* Inline opts#Option#value (var33) on <var33:OptionBool> */
6827 var38
= var33
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var33:OptionBool> */
6829 RET_LABEL37
:(void)0;
6832 var39
= ((struct instance_kernel__Bool
*)var36
)->value
; /* autounbox from nullable Object to Bool */;
6835 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
6836 var42
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
6837 if (unlikely(var42
== NULL
)) {
6838 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6839 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
6843 RET_LABEL41
:(void)0;
6848 { /* Inline separate_compiler#SeparateCompiler#attr_read_count (var_) on <var_:SeparateCompiler> */
6849 var45
= var_
->attrs
[COLOR_separate_compiler__SeparateCompiler___attr_read_count
].l
; /* _attr_read_count on <var_:SeparateCompiler> */
6851 RET_LABEL44
:(void)0;
6856 { /* Inline kernel#Int#+ (var43,var46) on <var43:Int> */
6857 /* Covariant cast for argument 0 (i) <var46:Int> isa OTHER */
6858 /* <var46:Int> isa OTHER */
6859 var49
= 1; /* easy <var46:Int> isa OTHER*/
6860 if (unlikely(!var49
)) {
6861 var_class_name
= type_kernel__Int
.name
;
6862 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6863 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
6866 var50
= var43
+ var46
;
6869 RET_LABEL48
:(void)0;
6873 { /* Inline separate_compiler#SeparateCompiler#attr_read_count= (var_,var47) on <var_:SeparateCompiler> */
6874 var_
->attrs
[COLOR_separate_compiler__SeparateCompiler___attr_read_count
].l
= var47
; /* _attr_read_count on <var_:SeparateCompiler> */
6875 RET_LABEL51
:(void)0;
6881 var53
= "count_attr_reads++;";
6883 var55
= string__NativeString__to_s_with_length(var53
, var54
);
6888 abstract_compiler__AbstractCompilerVisitor__add(self
, var52
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
6893 var56
= separate_compiler__MProperty__const_color(var_a
);
6896 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var56
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
6899 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
6900 var59
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
6901 if (unlikely(var59
== NULL
)) {
6902 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6903 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
6907 RET_LABEL58
:(void)0;
6911 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var57) on <var57:AbstractCompiler(SeparateCompiler)> */
6912 var62
= var57
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var57:AbstractCompiler(SeparateCompiler)> */
6913 if (unlikely(var62
== NULL
)) {
6914 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6915 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
6919 RET_LABEL61
:(void)0;
6923 { /* Inline modelbuilder#ModelBuilder#toolcontext (var60) on <var60:ModelBuilder> */
6924 var65
= var60
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var60:ModelBuilder> */
6925 if (unlikely(var65
== NULL
)) {
6926 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6927 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
6931 RET_LABEL64
:(void)0;
6935 { /* Inline separate_compiler#ToolContext#opt_no_union_attribute (var63) on <var63:ToolContext> */
6936 var68
= var63
->attrs
[COLOR_separate_compiler__ToolContext___opt_no_union_attribute
].val
; /* _opt_no_union_attribute on <var63:ToolContext> */
6937 if (unlikely(var68
== NULL
)) {
6938 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_union_attribute");
6939 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 28);
6943 RET_LABEL67
:(void)0;
6947 { /* Inline opts#Option#value (var66) on <var66:OptionBool> */
6948 var71
= var66
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var66:OptionBool> */
6950 RET_LABEL70
:(void)0;
6953 var72
= ((struct instance_kernel__Bool
*)var69
)->value
; /* autounbox from nullable Object to Bool */;
6956 var73
= abstract_compiler__AbstractCompilerVisitor__object_type(self
);
6959 var74
= model__MType__as_nullable(var73
);
6963 var75
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var_cret
);
6967 { /* Inline abstract_compiler#RuntimeVariable#mcasttype= (var_res,var_ret) on <var_res:RuntimeVariable> */
6968 var_res
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
= var_ret
; /* _mcasttype on <var_res:RuntimeVariable> */
6969 RET_LABEL76
:(void)0;
6977 var81
= string__NativeString__to_s_with_length(var79
, var80
);
6986 var86
= string__NativeString__to_s_with_length(var84
, var85
);
6991 var87
= separate_compiler__MProperty__const_color(var_a
);
6998 var92
= string__NativeString__to_s_with_length(var90
, var91
);
7007 var97
= string__NativeString__to_s_with_length(var95
, var96
);
7012 var98
= abstract_compiler__RuntimeVariable__inspect(var_recv
);
7019 var103
= string__NativeString__to_s_with_length(var101
, var102
);
7023 var104
= NEW_array__Array(&type_array__Arraykernel__Object
);
7024 { /* var104 = array_instance Array[Object] */
7026 var106
= NEW_array__NativeArray(var105
, &type_array__NativeArraykernel__Object
);
7027 ((struct instance_array__NativeArray
*)var106
)->values
[0] = (val
*) var_res
;
7028 ((struct instance_array__NativeArray
*)var106
)->values
[1] = (val
*) var78
;
7029 ((struct instance_array__NativeArray
*)var106
)->values
[2] = (val
*) var_recv
;
7030 ((struct instance_array__NativeArray
*)var106
)->values
[3] = (val
*) var83
;
7031 ((struct instance_array__NativeArray
*)var106
)->values
[4] = (val
*) var87
;
7032 ((struct instance_array__NativeArray
*)var106
)->values
[5] = (val
*) var89
;
7033 ((struct instance_array__NativeArray
*)var106
)->values
[6] = (val
*) var_a
;
7034 ((struct instance_array__NativeArray
*)var106
)->values
[7] = (val
*) var94
;
7035 ((struct instance_array__NativeArray
*)var106
)->values
[8] = (val
*) var98
;
7036 ((struct instance_array__NativeArray
*)var106
)->values
[9] = (val
*) var100
;
7038 ((void (*)(val
*, val
*, long))(var104
->class->vft
[COLOR_array__Array__with_native
]))(var104
, var106
, var105
) /* with_native on <var104:Array[Object]>*/;
7042 var107
= ((val
* (*)(val
*))(var104
->class->vft
[COLOR_string__Object__to_s
]))(var104
) /* to_s on <var104:Array[Object]>*/;
7045 abstract_compiler__AbstractCompilerVisitor__add(self
, var107
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7047 /* <var_ret:MType> isa MNullableType */
7048 cltype110
= type_model__MNullableType
.color
;
7049 idtype111
= type_model__MNullableType
.id
;
7050 if(cltype110
>= var_ret
->type
->table_size
) {
7053 var109
= var_ret
->type
->type_table
[cltype110
] == idtype111
;
7059 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
7060 var116
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
7061 if (unlikely(var116
== NULL
)) {
7062 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7063 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
7067 RET_LABEL115
:(void)0;
7071 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var114) on <var114:AbstractCompiler(SeparateCompiler)> */
7072 var119
= var114
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var114:AbstractCompiler(SeparateCompiler)> */
7073 if (unlikely(var119
== NULL
)) {
7074 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
7075 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
7079 RET_LABEL118
:(void)0;
7083 { /* Inline modelbuilder#ModelBuilder#toolcontext (var117) on <var117:ModelBuilder> */
7084 var122
= var117
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var117:ModelBuilder> */
7085 if (unlikely(var122
== NULL
)) {
7086 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7087 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
7091 RET_LABEL121
:(void)0;
7095 { /* Inline abstract_compiler#ToolContext#opt_no_check_attr_isset (var120) on <var120:ToolContext> */
7096 var125
= var120
->attrs
[COLOR_abstract_compiler__ToolContext___opt_no_check_attr_isset
].val
; /* _opt_no_check_attr_isset on <var120:ToolContext> */
7097 if (unlikely(var125
== NULL
)) {
7098 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_attr_isset");
7099 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 51);
7103 RET_LABEL124
:(void)0;
7107 { /* Inline opts#Option#value (var123) on <var123:OptionBool> */
7108 var128
= var123
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var123:OptionBool> */
7110 RET_LABEL127
:(void)0;
7113 var129
= ((struct instance_kernel__Bool
*)var126
)->value
; /* autounbox from nullable Object to Bool */;
7121 var132
= varonce131
;
7123 var133
= "if (unlikely(";
7125 var135
= string__NativeString__to_s_with_length(var133
, var134
);
7127 varonce131
= var132
;
7130 var137
= varonce136
;
7132 var138
= " == NULL)) {";
7134 var140
= string__NativeString__to_s_with_length(var138
, var139
);
7136 varonce136
= var137
;
7138 var141
= NEW_array__Array(&type_array__Arraykernel__Object
);
7139 { /* var141 = array_instance Array[Object] */
7141 var143
= NEW_array__NativeArray(var142
, &type_array__NativeArraykernel__Object
);
7142 ((struct instance_array__NativeArray
*)var143
)->values
[0] = (val
*) var132
;
7143 ((struct instance_array__NativeArray
*)var143
)->values
[1] = (val
*) var_res
;
7144 ((struct instance_array__NativeArray
*)var143
)->values
[2] = (val
*) var137
;
7146 ((void (*)(val
*, val
*, long))(var141
->class->vft
[COLOR_array__Array__with_native
]))(var141
, var143
, var142
) /* with_native on <var141:Array[Object]>*/;
7150 var144
= ((val
* (*)(val
*))(var141
->class->vft
[COLOR_string__Object__to_s
]))(var141
) /* to_s on <var141:Array[Object]>*/;
7153 abstract_compiler__AbstractCompilerVisitor__add(self
, var144
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7156 var146
= varonce145
;
7158 var147
= "Uninitialized attribute ";
7160 var149
= string__NativeString__to_s_with_length(var147
, var148
);
7162 varonce145
= var146
;
7165 { /* Inline model#MProperty#name (var_a) on <var_a:MAttribute> */
7166 var152
= var_a
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var_a:MAttribute> */
7167 if (unlikely(var152
== NULL
)) {
7168 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
7169 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
7173 RET_LABEL151
:(void)0;
7176 var153
= NEW_array__Array(&type_array__Arraykernel__Object
);
7177 { /* var153 = array_instance Array[Object] */
7179 var155
= NEW_array__NativeArray(var154
, &type_array__NativeArraykernel__Object
);
7180 ((struct instance_array__NativeArray
*)var155
)->values
[0] = (val
*) var146
;
7181 ((struct instance_array__NativeArray
*)var155
)->values
[1] = (val
*) var150
;
7183 ((void (*)(val
*, val
*, long))(var153
->class->vft
[COLOR_array__Array__with_native
]))(var153
, var155
, var154
) /* with_native on <var153:Array[Object]>*/;
7187 var156
= ((val
* (*)(val
*))(var153
->class->vft
[COLOR_string__Object__to_s
]))(var153
) /* to_s on <var153:Array[Object]>*/;
7190 abstract_compiler__AbstractCompilerVisitor__add_abort(self
, var156
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:SeparateCompilerVisitor>*/
7193 var158
= varonce157
;
7197 var161
= string__NativeString__to_s_with_length(var159
, var160
);
7199 varonce157
= var158
;
7202 abstract_compiler__AbstractCompilerVisitor__add(self
, var158
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7205 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
7206 var164
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
7207 if (unlikely(var164
== NULL
)) {
7208 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7209 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
7213 RET_LABEL163
:(void)0;
7217 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var162) on <var162:AbstractCompiler(SeparateCompiler)> */
7218 var167
= var162
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var162:AbstractCompiler(SeparateCompiler)> */
7219 if (unlikely(var167
== NULL
)) {
7220 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
7221 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
7225 RET_LABEL166
:(void)0;
7229 { /* Inline modelbuilder#ModelBuilder#toolcontext (var165) on <var165:ModelBuilder> */
7230 var170
= var165
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var165:ModelBuilder> */
7231 if (unlikely(var170
== NULL
)) {
7232 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7233 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
7237 RET_LABEL169
:(void)0;
7241 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var168) on <var168:ToolContext> */
7242 var173
= var168
->attrs
[COLOR_abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var168:ToolContext> */
7243 if (unlikely(var173
== NULL
)) {
7244 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
7245 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 65);
7249 RET_LABEL172
:(void)0;
7253 { /* Inline opts#Option#value (var171) on <var171:OptionBool> */
7254 var176
= var171
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var171:OptionBool> */
7256 RET_LABEL175
:(void)0;
7259 var177
= ((struct instance_kernel__Bool
*)var174
)->value
; /* autounbox from nullable Object to Bool */;
7262 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
7263 var180
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
7264 if (unlikely(var180
== NULL
)) {
7265 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7266 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
7270 RET_LABEL179
:(void)0;
7275 { /* Inline separate_compiler#SeparateCompiler#isset_checks_count (var_181) on <var_181:SeparateCompiler> */
7276 var184
= var_181
->attrs
[COLOR_separate_compiler__SeparateCompiler___isset_checks_count
].l
; /* _isset_checks_count on <var_181:SeparateCompiler> */
7278 RET_LABEL183
:(void)0;
7283 { /* Inline kernel#Int#+ (var182,var185) on <var182:Int> */
7284 /* Covariant cast for argument 0 (i) <var185:Int> isa OTHER */
7285 /* <var185:Int> isa OTHER */
7286 var188
= 1; /* easy <var185:Int> isa OTHER*/
7287 if (unlikely(!var188
)) {
7288 var_class_name191
= type_kernel__Int
.name
;
7289 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name191
);
7290 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
7293 var192
= var182
+ var185
;
7296 RET_LABEL187
:(void)0;
7300 { /* Inline separate_compiler#SeparateCompiler#isset_checks_count= (var_181,var186) on <var_181:SeparateCompiler> */
7301 var_181
->attrs
[COLOR_separate_compiler__SeparateCompiler___isset_checks_count
].l
= var186
; /* _isset_checks_count on <var_181:SeparateCompiler> */
7302 RET_LABEL193
:(void)0;
7306 var195
= varonce194
;
7308 var196
= "count_isset_checks++;";
7310 var198
= string__NativeString__to_s_with_length(var196
, var197
);
7312 varonce194
= var195
;
7315 abstract_compiler__AbstractCompilerVisitor__add(self
, var195
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7322 var199
= separate_compiler__SeparateCompilerVisitor__autobox(self
, var_res
, var_ret
);
7328 var200
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var_ret
);
7330 var_res201
= var200
;
7332 var203
= varonce202
;
7336 var206
= string__NativeString__to_s_with_length(var204
, var205
);
7338 varonce202
= var203
;
7341 var208
= varonce207
;
7343 var209
= "->attrs[";
7345 var211
= string__NativeString__to_s_with_length(var209
, var210
);
7347 varonce207
= var208
;
7350 var212
= separate_compiler__MProperty__const_color(var_a
);
7353 var214
= varonce213
;
7357 var217
= string__NativeString__to_s_with_length(var215
, var216
);
7359 varonce213
= var214
;
7362 var218
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctypename
]))(var_ret
) /* ctypename on <var_ret:MType>*/;
7365 var220
= varonce219
;
7369 var223
= string__NativeString__to_s_with_length(var221
, var222
);
7371 varonce219
= var220
;
7374 var225
= varonce224
;
7378 var228
= string__NativeString__to_s_with_length(var226
, var227
);
7380 varonce224
= var225
;
7383 var229
= abstract_compiler__RuntimeVariable__inspect(var_recv
);
7386 var231
= varonce230
;
7390 var234
= string__NativeString__to_s_with_length(var232
, var233
);
7392 varonce230
= var231
;
7394 var235
= NEW_array__Array(&type_array__Arraykernel__Object
);
7395 { /* var235 = array_instance Array[Object] */
7397 var237
= NEW_array__NativeArray(var236
, &type_array__NativeArraykernel__Object
);
7398 ((struct instance_array__NativeArray
*)var237
)->values
[0] = (val
*) var_res201
;
7399 ((struct instance_array__NativeArray
*)var237
)->values
[1] = (val
*) var203
;
7400 ((struct instance_array__NativeArray
*)var237
)->values
[2] = (val
*) var_recv
;
7401 ((struct instance_array__NativeArray
*)var237
)->values
[3] = (val
*) var208
;
7402 ((struct instance_array__NativeArray
*)var237
)->values
[4] = (val
*) var212
;
7403 ((struct instance_array__NativeArray
*)var237
)->values
[5] = (val
*) var214
;
7404 ((struct instance_array__NativeArray
*)var237
)->values
[6] = (val
*) var218
;
7405 ((struct instance_array__NativeArray
*)var237
)->values
[7] = (val
*) var220
;
7406 ((struct instance_array__NativeArray
*)var237
)->values
[8] = (val
*) var_a
;
7407 ((struct instance_array__NativeArray
*)var237
)->values
[9] = (val
*) var225
;
7408 ((struct instance_array__NativeArray
*)var237
)->values
[10] = (val
*) var229
;
7409 ((struct instance_array__NativeArray
*)var237
)->values
[11] = (val
*) var231
;
7411 ((void (*)(val
*, val
*, long))(var235
->class->vft
[COLOR_array__Array__with_native
]))(var235
, var237
, var236
) /* with_native on <var235:Array[Object]>*/;
7415 var238
= ((val
* (*)(val
*))(var235
->class->vft
[COLOR_string__Object__to_s
]))(var235
) /* to_s on <var235:Array[Object]>*/;
7418 abstract_compiler__AbstractCompilerVisitor__add(self
, var238
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7421 var241
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:MType>*/;
7424 var243
= varonce242
;
7428 var246
= string__NativeString__to_s_with_length(var244
, var245
);
7430 varonce242
= var243
;
7433 var248
= string__FlatString___61d_61d(var241
, var243
);
7438 /* <var_ret:MType> isa MNullableType */
7439 cltype251
= type_model__MNullableType
.color
;
7440 idtype252
= type_model__MNullableType
.id
;
7441 if(cltype251
>= var_ret
->type
->table_size
) {
7444 var250
= var_ret
->type
->type_table
[cltype251
] == idtype252
;
7454 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
7455 var257
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
7456 if (unlikely(var257
== NULL
)) {
7457 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7458 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
7462 RET_LABEL256
:(void)0;
7466 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var255) on <var255:AbstractCompiler(SeparateCompiler)> */
7467 var260
= var255
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var255:AbstractCompiler(SeparateCompiler)> */
7468 if (unlikely(var260
== NULL
)) {
7469 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
7470 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
7474 RET_LABEL259
:(void)0;
7478 { /* Inline modelbuilder#ModelBuilder#toolcontext (var258) on <var258:ModelBuilder> */
7479 var263
= var258
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var258:ModelBuilder> */
7480 if (unlikely(var263
== NULL
)) {
7481 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7482 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
7486 RET_LABEL262
:(void)0;
7490 { /* Inline abstract_compiler#ToolContext#opt_no_check_attr_isset (var261) on <var261:ToolContext> */
7491 var266
= var261
->attrs
[COLOR_abstract_compiler__ToolContext___opt_no_check_attr_isset
].val
; /* _opt_no_check_attr_isset on <var261:ToolContext> */
7492 if (unlikely(var266
== NULL
)) {
7493 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_attr_isset");
7494 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 51);
7498 RET_LABEL265
:(void)0;
7502 { /* Inline opts#Option#value (var264) on <var264:OptionBool> */
7503 var269
= var264
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var264:OptionBool> */
7505 RET_LABEL268
:(void)0;
7508 var270
= ((struct instance_kernel__Bool
*)var267
)->value
; /* autounbox from nullable Object to Bool */;
7516 var273
= varonce272
;
7518 var274
= "if (unlikely(";
7520 var276
= string__NativeString__to_s_with_length(var274
, var275
);
7522 varonce272
= var273
;
7525 var278
= varonce277
;
7527 var279
= " == NULL)) {";
7529 var281
= string__NativeString__to_s_with_length(var279
, var280
);
7531 varonce277
= var278
;
7533 var282
= NEW_array__Array(&type_array__Arraykernel__Object
);
7534 { /* var282 = array_instance Array[Object] */
7536 var284
= NEW_array__NativeArray(var283
, &type_array__NativeArraykernel__Object
);
7537 ((struct instance_array__NativeArray
*)var284
)->values
[0] = (val
*) var273
;
7538 ((struct instance_array__NativeArray
*)var284
)->values
[1] = (val
*) var_res201
;
7539 ((struct instance_array__NativeArray
*)var284
)->values
[2] = (val
*) var278
;
7541 ((void (*)(val
*, val
*, long))(var282
->class->vft
[COLOR_array__Array__with_native
]))(var282
, var284
, var283
) /* with_native on <var282:Array[Object]>*/;
7545 var285
= ((val
* (*)(val
*))(var282
->class->vft
[COLOR_string__Object__to_s
]))(var282
) /* to_s on <var282:Array[Object]>*/;
7548 abstract_compiler__AbstractCompilerVisitor__add(self
, var285
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7551 var287
= varonce286
;
7553 var288
= "Uninitialized attribute ";
7555 var290
= string__NativeString__to_s_with_length(var288
, var289
);
7557 varonce286
= var287
;
7560 { /* Inline model#MProperty#name (var_a) on <var_a:MAttribute> */
7561 var293
= var_a
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var_a:MAttribute> */
7562 if (unlikely(var293
== NULL
)) {
7563 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
7564 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
7568 RET_LABEL292
:(void)0;
7571 var294
= NEW_array__Array(&type_array__Arraykernel__Object
);
7572 { /* var294 = array_instance Array[Object] */
7574 var296
= NEW_array__NativeArray(var295
, &type_array__NativeArraykernel__Object
);
7575 ((struct instance_array__NativeArray
*)var296
)->values
[0] = (val
*) var287
;
7576 ((struct instance_array__NativeArray
*)var296
)->values
[1] = (val
*) var291
;
7578 ((void (*)(val
*, val
*, long))(var294
->class->vft
[COLOR_array__Array__with_native
]))(var294
, var296
, var295
) /* with_native on <var294:Array[Object]>*/;
7582 var297
= ((val
* (*)(val
*))(var294
->class->vft
[COLOR_string__Object__to_s
]))(var294
) /* to_s on <var294:Array[Object]>*/;
7585 abstract_compiler__AbstractCompilerVisitor__add_abort(self
, var297
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:SeparateCompilerVisitor>*/
7588 var299
= varonce298
;
7592 var302
= string__NativeString__to_s_with_length(var300
, var301
);
7594 varonce298
= var299
;
7597 abstract_compiler__AbstractCompilerVisitor__add(self
, var299
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7600 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
7601 var305
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
7602 if (unlikely(var305
== NULL
)) {
7603 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7604 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
7608 RET_LABEL304
:(void)0;
7612 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var303) on <var303:AbstractCompiler(SeparateCompiler)> */
7613 var308
= var303
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var303:AbstractCompiler(SeparateCompiler)> */
7614 if (unlikely(var308
== NULL
)) {
7615 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
7616 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
7620 RET_LABEL307
:(void)0;
7624 { /* Inline modelbuilder#ModelBuilder#toolcontext (var306) on <var306:ModelBuilder> */
7625 var311
= var306
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var306:ModelBuilder> */
7626 if (unlikely(var311
== NULL
)) {
7627 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7628 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
7632 RET_LABEL310
:(void)0;
7636 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var309) on <var309:ToolContext> */
7637 var314
= var309
->attrs
[COLOR_abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var309:ToolContext> */
7638 if (unlikely(var314
== NULL
)) {
7639 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
7640 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 65);
7644 RET_LABEL313
:(void)0;
7648 { /* Inline opts#Option#value (var312) on <var312:OptionBool> */
7649 var317
= var312
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var312:OptionBool> */
7651 RET_LABEL316
:(void)0;
7654 var318
= ((struct instance_kernel__Bool
*)var315
)->value
; /* autounbox from nullable Object to Bool */;
7657 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
7658 var321
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
7659 if (unlikely(var321
== NULL
)) {
7660 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7661 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
7665 RET_LABEL320
:(void)0;
7670 { /* Inline separate_compiler#SeparateCompiler#isset_checks_count (var_322) on <var_322:SeparateCompiler> */
7671 var325
= var_322
->attrs
[COLOR_separate_compiler__SeparateCompiler___isset_checks_count
].l
; /* _isset_checks_count on <var_322:SeparateCompiler> */
7673 RET_LABEL324
:(void)0;
7678 { /* Inline kernel#Int#+ (var323,var326) on <var323:Int> */
7679 /* Covariant cast for argument 0 (i) <var326:Int> isa OTHER */
7680 /* <var326:Int> isa OTHER */
7681 var329
= 1; /* easy <var326:Int> isa OTHER*/
7682 if (unlikely(!var329
)) {
7683 var_class_name332
= type_kernel__Int
.name
;
7684 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name332
);
7685 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
7688 var333
= var323
+ var326
;
7691 RET_LABEL328
:(void)0;
7695 { /* Inline separate_compiler#SeparateCompiler#isset_checks_count= (var_322,var327) on <var_322:SeparateCompiler> */
7696 var_322
->attrs
[COLOR_separate_compiler__SeparateCompiler___isset_checks_count
].l
= var327
; /* _isset_checks_count on <var_322:SeparateCompiler> */
7697 RET_LABEL334
:(void)0;
7701 var336
= varonce335
;
7703 var337
= "count_isset_checks++;";
7705 var339
= string__NativeString__to_s_with_length(var337
, var338
);
7707 varonce335
= var336
;
7710 abstract_compiler__AbstractCompilerVisitor__add(self
, var336
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7722 /* method separate_compiler#SeparateCompilerVisitor#read_attribute for (self: Object, MAttribute, RuntimeVariable): RuntimeVariable */
7723 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__read_attribute(val
* self
, val
* p0
, val
* p1
) {
7724 val
* var
/* : RuntimeVariable */;
7725 val
* var1
/* : RuntimeVariable */;
7726 var1
= separate_compiler__SeparateCompilerVisitor__read_attribute(self
, p0
, p1
);
7731 /* method separate_compiler#SeparateCompilerVisitor#write_attribute for (self: SeparateCompilerVisitor, MAttribute, RuntimeVariable, RuntimeVariable) */
7732 void separate_compiler__SeparateCompilerVisitor__write_attribute(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7733 val
* var_a
/* var a: MAttribute */;
7734 val
* var_recv
/* var recv: RuntimeVariable */;
7735 val
* var_value
/* var value: RuntimeVariable */;
7736 val
* var
/* : MPropDef */;
7737 val
* var2
/* : MPropDef */;
7738 val
* var3
/* : nullable MType */;
7739 val
* var5
/* : nullable MType */;
7740 val
* var_mtype
/* var mtype: MType */;
7741 val
* var6
/* : MPropDef */;
7742 val
* var8
/* : MPropDef */;
7743 val
* var9
/* : MClassDef */;
7744 val
* var11
/* : MClassDef */;
7745 val
* var_intromclassdef
/* var intromclassdef: MClassDef */;
7746 val
* var12
/* : MClassType */;
7747 val
* var14
/* : MClassType */;
7748 val
* var15
/* : MClassType */;
7749 val
* var17
/* : MClassType */;
7750 val
* var18
/* : MModule */;
7751 val
* var20
/* : MModule */;
7752 short int var21
/* : Bool */;
7753 val
* var22
/* : MType */;
7754 val
* var23
/* : RuntimeVariable */;
7755 val
* var24
/* : String */;
7756 val
* var25
/* : AbstractCompiler */;
7757 val
* var27
/* : AbstractCompiler */;
7758 val
* var28
/* : ModelBuilder */;
7759 val
* var30
/* : ModelBuilder */;
7760 val
* var31
/* : ToolContext */;
7761 val
* var33
/* : ToolContext */;
7762 val
* var34
/* : OptionBool */;
7763 val
* var36
/* : OptionBool */;
7764 val
* var37
/* : nullable Object */;
7765 val
* var39
/* : nullable Object */;
7766 short int var40
/* : Bool */;
7767 static val
* varonce
;
7768 val
* var41
/* : String */;
7769 char* var42
/* : NativeString */;
7770 long var43
/* : Int */;
7771 val
* var44
/* : FlatString */;
7772 val
* var45
/* : String */;
7773 static val
* varonce46
;
7774 val
* var47
/* : String */;
7775 char* var48
/* : NativeString */;
7776 long var49
/* : Int */;
7777 val
* var50
/* : FlatString */;
7778 val
* var51
/* : Array[Object] */;
7779 long var52
/* : Int */;
7780 val
* var53
/* : NativeArray[Object] */;
7781 val
* var54
/* : String */;
7782 val
* var_attr
/* var attr: String */;
7783 val
* var55
/* : String */;
7784 static val
* varonce56
;
7785 val
* var57
/* : String */;
7786 char* var58
/* : NativeString */;
7787 long var59
/* : Int */;
7788 val
* var60
/* : FlatString */;
7789 short int var61
/* : Bool */;
7790 short int var62
/* : Bool */;
7791 val
* var_other
/* var other: nullable Object */;
7792 short int var64
/* : Bool */;
7793 short int var65
/* : Bool */;
7794 short int var66
/* : Bool */;
7795 short int var67
/* : Bool */;
7798 static val
* varonce68
;
7799 val
* var69
/* : String */;
7800 char* var70
/* : NativeString */;
7801 long var71
/* : Int */;
7802 val
* var72
/* : FlatString */;
7803 static val
* varonce73
;
7804 val
* var74
/* : String */;
7805 char* var75
/* : NativeString */;
7806 long var76
/* : Int */;
7807 val
* var77
/* : FlatString */;
7808 val
* var78
/* : Array[Object] */;
7809 long var79
/* : Int */;
7810 val
* var80
/* : NativeArray[Object] */;
7811 val
* var81
/* : String */;
7812 static val
* varonce82
;
7813 val
* var83
/* : String */;
7814 char* var84
/* : NativeString */;
7815 long var85
/* : Int */;
7816 val
* var86
/* : FlatString */;
7817 val
* var87
/* : String */;
7818 static val
* varonce88
;
7819 val
* var89
/* : String */;
7820 char* var90
/* : NativeString */;
7821 long var91
/* : Int */;
7822 val
* var92
/* : FlatString */;
7823 static val
* varonce93
;
7824 val
* var94
/* : String */;
7825 char* var95
/* : NativeString */;
7826 long var96
/* : Int */;
7827 val
* var97
/* : FlatString */;
7828 static val
* varonce98
;
7829 val
* var99
/* : String */;
7830 char* var100
/* : NativeString */;
7831 long var101
/* : Int */;
7832 val
* var102
/* : FlatString */;
7833 static val
* varonce103
;
7834 val
* var104
/* : String */;
7835 char* var105
/* : NativeString */;
7836 long var106
/* : Int */;
7837 val
* var107
/* : FlatString */;
7838 val
* var108
/* : String */;
7839 static val
* varonce109
;
7840 val
* var110
/* : String */;
7841 char* var111
/* : NativeString */;
7842 long var112
/* : Int */;
7843 val
* var113
/* : FlatString */;
7844 val
* var114
/* : Array[Object] */;
7845 long var115
/* : Int */;
7846 val
* var116
/* : NativeArray[Object] */;
7847 val
* var117
/* : String */;
7848 static val
* varonce118
;
7849 val
* var119
/* : String */;
7850 char* var120
/* : NativeString */;
7851 long var121
/* : Int */;
7852 val
* var122
/* : FlatString */;
7853 val
* var123
/* : MClassType */;
7854 val
* var124
/* : MType */;
7855 val
* var125
/* : RuntimeVariable */;
7856 static val
* varonce126
;
7857 val
* var127
/* : String */;
7858 char* var128
/* : NativeString */;
7859 long var129
/* : Int */;
7860 val
* var130
/* : FlatString */;
7861 static val
* varonce131
;
7862 val
* var132
/* : String */;
7863 char* var133
/* : NativeString */;
7864 long var134
/* : Int */;
7865 val
* var135
/* : FlatString */;
7866 static val
* varonce136
;
7867 val
* var137
/* : String */;
7868 char* var138
/* : NativeString */;
7869 long var139
/* : Int */;
7870 val
* var140
/* : FlatString */;
7871 val
* var141
/* : String */;
7872 static val
* varonce142
;
7873 val
* var143
/* : String */;
7874 char* var144
/* : NativeString */;
7875 long var145
/* : Int */;
7876 val
* var146
/* : FlatString */;
7877 val
* var147
/* : Array[Object] */;
7878 long var148
/* : Int */;
7879 val
* var149
/* : NativeArray[Object] */;
7880 val
* var150
/* : String */;
7881 static val
* varonce151
;
7882 val
* var152
/* : String */;
7883 char* var153
/* : NativeString */;
7884 long var154
/* : Int */;
7885 val
* var155
/* : FlatString */;
7886 static val
* varonce156
;
7887 val
* var157
/* : String */;
7888 char* var158
/* : NativeString */;
7889 long var159
/* : Int */;
7890 val
* var160
/* : FlatString */;
7891 static val
* varonce161
;
7892 val
* var162
/* : String */;
7893 char* var163
/* : NativeString */;
7894 long var164
/* : Int */;
7895 val
* var165
/* : FlatString */;
7896 static val
* varonce166
;
7897 val
* var167
/* : String */;
7898 char* var168
/* : NativeString */;
7899 long var169
/* : Int */;
7900 val
* var170
/* : FlatString */;
7901 val
* var171
/* : String */;
7902 static val
* varonce172
;
7903 val
* var173
/* : String */;
7904 char* var174
/* : NativeString */;
7905 long var175
/* : Int */;
7906 val
* var176
/* : FlatString */;
7907 val
* var177
/* : Array[Object] */;
7908 long var178
/* : Int */;
7909 val
* var179
/* : NativeArray[Object] */;
7910 val
* var180
/* : String */;
7911 static val
* varonce181
;
7912 val
* var182
/* : String */;
7913 char* var183
/* : NativeString */;
7914 long var184
/* : Int */;
7915 val
* var185
/* : FlatString */;
7916 val
* var186
/* : String */;
7917 static val
* varonce187
;
7918 val
* var188
/* : String */;
7919 char* var189
/* : NativeString */;
7920 long var190
/* : Int */;
7921 val
* var191
/* : FlatString */;
7922 val
* var192
/* : String */;
7923 static val
* varonce193
;
7924 val
* var194
/* : String */;
7925 char* var195
/* : NativeString */;
7926 long var196
/* : Int */;
7927 val
* var197
/* : FlatString */;
7928 static val
* varonce198
;
7929 val
* var199
/* : String */;
7930 char* var200
/* : NativeString */;
7931 long var201
/* : Int */;
7932 val
* var202
/* : FlatString */;
7933 static val
* varonce203
;
7934 val
* var204
/* : String */;
7935 char* var205
/* : NativeString */;
7936 long var206
/* : Int */;
7937 val
* var207
/* : FlatString */;
7938 val
* var208
/* : String */;
7939 static val
* varonce209
;
7940 val
* var210
/* : String */;
7941 char* var211
/* : NativeString */;
7942 long var212
/* : Int */;
7943 val
* var213
/* : FlatString */;
7944 val
* var214
/* : Array[Object] */;
7945 long var215
/* : Int */;
7946 val
* var216
/* : NativeArray[Object] */;
7947 val
* var217
/* : String */;
7952 abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(self
, var_recv
); /* Direct call abstract_compiler#AbstractCompilerVisitor#check_recv_notnull on <self:SeparateCompilerVisitor>*/
7955 { /* Inline model#MProperty#intro (var_a) on <var_a:MAttribute> */
7956 var2
= var_a
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var_a:MAttribute> */
7957 if (unlikely(var2
== NULL
)) {
7958 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
7959 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
7967 { /* Inline model#MAttributeDef#static_mtype (var) on <var:MPropDef(MAttributeDef)> */
7968 var5
= var
->attrs
[COLOR_model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var:MPropDef(MAttributeDef)> */
7973 if (unlikely(var3
== NULL
)) {
7974 PRINT_ERROR("Runtime error: %s", "Cast failed");
7975 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 1390);
7980 { /* Inline model#MProperty#intro (var_a) on <var_a:MAttribute> */
7981 var8
= var_a
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var_a:MAttribute> */
7982 if (unlikely(var8
== NULL
)) {
7983 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
7984 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
7992 { /* Inline model#MPropDef#mclassdef (var6) on <var6:MPropDef(MAttributeDef)> */
7993 var11
= var6
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var6:MPropDef(MAttributeDef)> */
7994 if (unlikely(var11
== NULL
)) {
7995 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7996 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
8000 RET_LABEL10
:(void)0;
8003 var_intromclassdef
= var9
;
8005 { /* Inline model#MClassDef#bound_mtype (var_intromclassdef) on <var_intromclassdef:MClassDef> */
8006 var14
= var_intromclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intromclassdef:MClassDef> */
8007 if (unlikely(var14
== NULL
)) {
8008 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
8009 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
8013 RET_LABEL13
:(void)0;
8017 { /* Inline model#MClassDef#bound_mtype (var_intromclassdef) on <var_intromclassdef:MClassDef> */
8018 var17
= var_intromclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intromclassdef:MClassDef> */
8019 if (unlikely(var17
== NULL
)) {
8020 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
8021 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
8025 RET_LABEL16
:(void)0;
8029 { /* Inline model#MClassDef#mmodule (var_intromclassdef) on <var_intromclassdef:MClassDef> */
8030 var20
= var_intromclassdef
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_intromclassdef:MClassDef> */
8031 if (unlikely(var20
== NULL
)) {
8032 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
8033 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
8037 RET_LABEL19
:(void)0;
8042 var22
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_mtype
->class->vft
[COLOR_model__MType__resolve_for
]))(var_mtype
, var12
, var15
, var18
, var21
) /* resolve_for on <var_mtype:MType>*/;
8046 var23
= separate_compiler__SeparateCompilerVisitor__autobox(self
, var_value
, var_mtype
);
8050 var24
= separate_compiler__MProperty__const_color(var_a
);
8053 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var24
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
8056 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
8057 var27
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
8058 if (unlikely(var27
== NULL
)) {
8059 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
8060 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
8064 RET_LABEL26
:(void)0;
8068 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var25) on <var25:AbstractCompiler(SeparateCompiler)> */
8069 var30
= var25
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var25:AbstractCompiler(SeparateCompiler)> */
8070 if (unlikely(var30
== NULL
)) {
8071 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8072 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
8076 RET_LABEL29
:(void)0;
8080 { /* Inline modelbuilder#ModelBuilder#toolcontext (var28) on <var28:ModelBuilder> */
8081 var33
= var28
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var28:ModelBuilder> */
8082 if (unlikely(var33
== NULL
)) {
8083 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8084 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
8088 RET_LABEL32
:(void)0;
8092 { /* Inline separate_compiler#ToolContext#opt_no_union_attribute (var31) on <var31:ToolContext> */
8093 var36
= var31
->attrs
[COLOR_separate_compiler__ToolContext___opt_no_union_attribute
].val
; /* _opt_no_union_attribute on <var31:ToolContext> */
8094 if (unlikely(var36
== NULL
)) {
8095 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_union_attribute");
8096 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 28);
8100 RET_LABEL35
:(void)0;
8104 { /* Inline opts#Option#value (var34) on <var34:OptionBool> */
8105 var39
= var34
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var34:OptionBool> */
8107 RET_LABEL38
:(void)0;
8110 var40
= ((struct instance_kernel__Bool
*)var37
)->value
; /* autounbox from nullable Object to Bool */;
8117 var44
= string__NativeString__to_s_with_length(var42
, var43
);
8122 var45
= separate_compiler__MProperty__const_color(var_a
);
8129 var50
= string__NativeString__to_s_with_length(var48
, var49
);
8133 var51
= NEW_array__Array(&type_array__Arraykernel__Object
);
8134 { /* var51 = array_instance Array[Object] */
8136 var53
= NEW_array__NativeArray(var52
, &type_array__NativeArraykernel__Object
);
8137 ((struct instance_array__NativeArray
*)var53
)->values
[0] = (val
*) var_recv
;
8138 ((struct instance_array__NativeArray
*)var53
)->values
[1] = (val
*) var41
;
8139 ((struct instance_array__NativeArray
*)var53
)->values
[2] = (val
*) var45
;
8140 ((struct instance_array__NativeArray
*)var53
)->values
[3] = (val
*) var47
;
8142 ((void (*)(val
*, val
*, long))(var51
->class->vft
[COLOR_array__Array__with_native
]))(var51
, var53
, var52
) /* with_native on <var51:Array[Object]>*/;
8146 var54
= ((val
* (*)(val
*))(var51
->class->vft
[COLOR_string__Object__to_s
]))(var51
) /* to_s on <var51:Array[Object]>*/;
8150 var55
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
8157 var60
= string__NativeString__to_s_with_length(var58
, var59
);
8162 { /* Inline kernel#Object#!= (var55,var57) on <var55:String> */
8165 var65
= ((short int (*)(val
*, val
*))(var55
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var55
, var_other
) /* == on <var55:String>*/;
8171 RET_LABEL63
:(void)0;
8176 /* <var_mtype:MType> isa MClassType */
8177 cltype
= type_model__MClassType
.color
;
8178 idtype
= type_model__MClassType
.id
;
8179 if(cltype
>= var_mtype
->type
->table_size
) {
8182 var67
= var_mtype
->type
->type_table
[cltype
] == idtype
;
8184 if (unlikely(!var67
)) {
8185 PRINT_ERROR("Runtime error: %s", "Assert failed");
8186 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 1401);
8194 var72
= string__NativeString__to_s_with_length(var70
, var71
);
8201 var75
= " != NULL) {";
8203 var77
= string__NativeString__to_s_with_length(var75
, var76
);
8207 var78
= NEW_array__Array(&type_array__Arraykernel__Object
);
8208 { /* var78 = array_instance Array[Object] */
8210 var80
= NEW_array__NativeArray(var79
, &type_array__NativeArraykernel__Object
);
8211 ((struct instance_array__NativeArray
*)var80
)->values
[0] = (val
*) var69
;
8212 ((struct instance_array__NativeArray
*)var80
)->values
[1] = (val
*) var_attr
;
8213 ((struct instance_array__NativeArray
*)var80
)->values
[2] = (val
*) var74
;
8215 ((void (*)(val
*, val
*, long))(var78
->class->vft
[COLOR_array__Array__with_native
]))(var78
, var80
, var79
) /* with_native on <var78:Array[Object]>*/;
8219 var81
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_string__Object__to_s
]))(var78
) /* to_s on <var78:Array[Object]>*/;
8222 abstract_compiler__AbstractCompilerVisitor__add(self
, var81
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8227 var84
= "((struct instance_";
8229 var86
= string__NativeString__to_s_with_length(var84
, var85
);
8234 var87
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType(MClassType)>*/;
8241 var92
= string__NativeString__to_s_with_length(var90
, var91
);
8248 var95
= ")->value = ";
8250 var97
= string__NativeString__to_s_with_length(var95
, var96
);
8259 var102
= string__NativeString__to_s_with_length(var100
, var101
);
8264 var104
= varonce103
;
8268 var107
= string__NativeString__to_s_with_length(var105
, var106
);
8270 varonce103
= var104
;
8273 var108
= abstract_compiler__RuntimeVariable__inspect(var_recv
);
8276 var110
= varonce109
;
8280 var113
= string__NativeString__to_s_with_length(var111
, var112
);
8282 varonce109
= var110
;
8284 var114
= NEW_array__Array(&type_array__Arraykernel__Object
);
8285 { /* var114 = array_instance Array[Object] */
8287 var116
= NEW_array__NativeArray(var115
, &type_array__NativeArraykernel__Object
);
8288 ((struct instance_array__NativeArray
*)var116
)->values
[0] = (val
*) var83
;
8289 ((struct instance_array__NativeArray
*)var116
)->values
[1] = (val
*) var87
;
8290 ((struct instance_array__NativeArray
*)var116
)->values
[2] = (val
*) var89
;
8291 ((struct instance_array__NativeArray
*)var116
)->values
[3] = (val
*) var_attr
;
8292 ((struct instance_array__NativeArray
*)var116
)->values
[4] = (val
*) var94
;
8293 ((struct instance_array__NativeArray
*)var116
)->values
[5] = (val
*) var_value
;
8294 ((struct instance_array__NativeArray
*)var116
)->values
[6] = (val
*) var99
;
8295 ((struct instance_array__NativeArray
*)var116
)->values
[7] = (val
*) var_a
;
8296 ((struct instance_array__NativeArray
*)var116
)->values
[8] = (val
*) var104
;
8297 ((struct instance_array__NativeArray
*)var116
)->values
[9] = (val
*) var108
;
8298 ((struct instance_array__NativeArray
*)var116
)->values
[10] = (val
*) var110
;
8300 ((void (*)(val
*, val
*, long))(var114
->class->vft
[COLOR_array__Array__with_native
]))(var114
, var116
, var115
) /* with_native on <var114:Array[Object]>*/;
8304 var117
= ((val
* (*)(val
*))(var114
->class->vft
[COLOR_string__Object__to_s
]))(var114
) /* to_s on <var114:Array[Object]>*/;
8307 abstract_compiler__AbstractCompilerVisitor__add(self
, var117
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8310 var119
= varonce118
;
8312 var120
= "} else {";
8314 var122
= string__NativeString__to_s_with_length(var120
, var121
);
8316 varonce118
= var119
;
8319 abstract_compiler__AbstractCompilerVisitor__add(self
, var119
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8322 var123
= abstract_compiler__AbstractCompilerVisitor__object_type(self
);
8325 var124
= model__MType__as_nullable(var123
);
8328 var125
= separate_compiler__SeparateCompilerVisitor__autobox(self
, var_value
, var124
);
8332 var127
= varonce126
;
8336 var130
= string__NativeString__to_s_with_length(var128
, var129
);
8338 varonce126
= var127
;
8341 var132
= varonce131
;
8345 var135
= string__NativeString__to_s_with_length(var133
, var134
);
8347 varonce131
= var132
;
8350 var137
= varonce136
;
8354 var140
= string__NativeString__to_s_with_length(var138
, var139
);
8356 varonce136
= var137
;
8359 var141
= abstract_compiler__RuntimeVariable__inspect(var_recv
);
8362 var143
= varonce142
;
8366 var146
= string__NativeString__to_s_with_length(var144
, var145
);
8368 varonce142
= var143
;
8370 var147
= NEW_array__Array(&type_array__Arraykernel__Object
);
8371 { /* var147 = array_instance Array[Object] */
8373 var149
= NEW_array__NativeArray(var148
, &type_array__NativeArraykernel__Object
);
8374 ((struct instance_array__NativeArray
*)var149
)->values
[0] = (val
*) var_attr
;
8375 ((struct instance_array__NativeArray
*)var149
)->values
[1] = (val
*) var127
;
8376 ((struct instance_array__NativeArray
*)var149
)->values
[2] = (val
*) var_value
;
8377 ((struct instance_array__NativeArray
*)var149
)->values
[3] = (val
*) var132
;
8378 ((struct instance_array__NativeArray
*)var149
)->values
[4] = (val
*) var_a
;
8379 ((struct instance_array__NativeArray
*)var149
)->values
[5] = (val
*) var137
;
8380 ((struct instance_array__NativeArray
*)var149
)->values
[6] = (val
*) var141
;
8381 ((struct instance_array__NativeArray
*)var149
)->values
[7] = (val
*) var143
;
8383 ((void (*)(val
*, val
*, long))(var147
->class->vft
[COLOR_array__Array__with_native
]))(var147
, var149
, var148
) /* with_native on <var147:Array[Object]>*/;
8387 var150
= ((val
* (*)(val
*))(var147
->class->vft
[COLOR_string__Object__to_s
]))(var147
) /* to_s on <var147:Array[Object]>*/;
8390 abstract_compiler__AbstractCompilerVisitor__add(self
, var150
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8393 var152
= varonce151
;
8397 var155
= string__NativeString__to_s_with_length(var153
, var154
);
8399 varonce151
= var152
;
8402 abstract_compiler__AbstractCompilerVisitor__add(self
, var152
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8406 var157
= varonce156
;
8410 var160
= string__NativeString__to_s_with_length(var158
, var159
);
8412 varonce156
= var157
;
8415 var162
= varonce161
;
8419 var165
= string__NativeString__to_s_with_length(var163
, var164
);
8421 varonce161
= var162
;
8424 var167
= varonce166
;
8428 var170
= string__NativeString__to_s_with_length(var168
, var169
);
8430 varonce166
= var167
;
8433 var171
= abstract_compiler__RuntimeVariable__inspect(var_recv
);
8436 var173
= varonce172
;
8440 var176
= string__NativeString__to_s_with_length(var174
, var175
);
8442 varonce172
= var173
;
8444 var177
= NEW_array__Array(&type_array__Arraykernel__Object
);
8445 { /* var177 = array_instance Array[Object] */
8447 var179
= NEW_array__NativeArray(var178
, &type_array__NativeArraykernel__Object
);
8448 ((struct instance_array__NativeArray
*)var179
)->values
[0] = (val
*) var_attr
;
8449 ((struct instance_array__NativeArray
*)var179
)->values
[1] = (val
*) var157
;
8450 ((struct instance_array__NativeArray
*)var179
)->values
[2] = (val
*) var_value
;
8451 ((struct instance_array__NativeArray
*)var179
)->values
[3] = (val
*) var162
;
8452 ((struct instance_array__NativeArray
*)var179
)->values
[4] = (val
*) var_a
;
8453 ((struct instance_array__NativeArray
*)var179
)->values
[5] = (val
*) var167
;
8454 ((struct instance_array__NativeArray
*)var179
)->values
[6] = (val
*) var171
;
8455 ((struct instance_array__NativeArray
*)var179
)->values
[7] = (val
*) var173
;
8457 ((void (*)(val
*, val
*, long))(var177
->class->vft
[COLOR_array__Array__with_native
]))(var177
, var179
, var178
) /* with_native on <var177:Array[Object]>*/;
8461 var180
= ((val
* (*)(val
*))(var177
->class->vft
[COLOR_string__Object__to_s
]))(var177
) /* to_s on <var177:Array[Object]>*/;
8464 abstract_compiler__AbstractCompilerVisitor__add(self
, var180
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8469 var182
= varonce181
;
8471 var183
= "->attrs[";
8473 var185
= string__NativeString__to_s_with_length(var183
, var184
);
8475 varonce181
= var182
;
8478 var186
= separate_compiler__MProperty__const_color(var_a
);
8481 var188
= varonce187
;
8485 var191
= string__NativeString__to_s_with_length(var189
, var190
);
8487 varonce187
= var188
;
8490 var192
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctypename
]))(var_mtype
) /* ctypename on <var_mtype:MType>*/;
8493 var194
= varonce193
;
8497 var197
= string__NativeString__to_s_with_length(var195
, var196
);
8499 varonce193
= var194
;
8502 var199
= varonce198
;
8506 var202
= string__NativeString__to_s_with_length(var200
, var201
);
8508 varonce198
= var199
;
8511 var204
= varonce203
;
8515 var207
= string__NativeString__to_s_with_length(var205
, var206
);
8517 varonce203
= var204
;
8520 var208
= abstract_compiler__RuntimeVariable__inspect(var_recv
);
8523 var210
= varonce209
;
8527 var213
= string__NativeString__to_s_with_length(var211
, var212
);
8529 varonce209
= var210
;
8531 var214
= NEW_array__Array(&type_array__Arraykernel__Object
);
8532 { /* var214 = array_instance Array[Object] */
8534 var216
= NEW_array__NativeArray(var215
, &type_array__NativeArraykernel__Object
);
8535 ((struct instance_array__NativeArray
*)var216
)->values
[0] = (val
*) var_recv
;
8536 ((struct instance_array__NativeArray
*)var216
)->values
[1] = (val
*) var182
;
8537 ((struct instance_array__NativeArray
*)var216
)->values
[2] = (val
*) var186
;
8538 ((struct instance_array__NativeArray
*)var216
)->values
[3] = (val
*) var188
;
8539 ((struct instance_array__NativeArray
*)var216
)->values
[4] = (val
*) var192
;
8540 ((struct instance_array__NativeArray
*)var216
)->values
[5] = (val
*) var194
;
8541 ((struct instance_array__NativeArray
*)var216
)->values
[6] = (val
*) var_value
;
8542 ((struct instance_array__NativeArray
*)var216
)->values
[7] = (val
*) var199
;
8543 ((struct instance_array__NativeArray
*)var216
)->values
[8] = (val
*) var_a
;
8544 ((struct instance_array__NativeArray
*)var216
)->values
[9] = (val
*) var204
;
8545 ((struct instance_array__NativeArray
*)var216
)->values
[10] = (val
*) var208
;
8546 ((struct instance_array__NativeArray
*)var216
)->values
[11] = (val
*) var210
;
8548 ((void (*)(val
*, val
*, long))(var214
->class->vft
[COLOR_array__Array__with_native
]))(var214
, var216
, var215
) /* with_native on <var214:Array[Object]>*/;
8552 var217
= ((val
* (*)(val
*))(var214
->class->vft
[COLOR_string__Object__to_s
]))(var214
) /* to_s on <var214:Array[Object]>*/;
8555 abstract_compiler__AbstractCompilerVisitor__add(self
, var217
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8560 /* method separate_compiler#SeparateCompilerVisitor#write_attribute for (self: Object, MAttribute, RuntimeVariable, RuntimeVariable) */
8561 void VIRTUAL_separate_compiler__SeparateCompilerVisitor__write_attribute(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8562 separate_compiler__SeparateCompilerVisitor__write_attribute(self
, p0
, p1
, p2
); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on <self:Object(SeparateCompilerVisitor)>*/
8565 /* method separate_compiler#SeparateCompilerVisitor#hardening_live_open_type for (self: SeparateCompilerVisitor, MType) */
8566 void separate_compiler__SeparateCompilerVisitor__hardening_live_open_type(val
* self
, val
* p0
) {
8567 val
* var_mtype
/* var mtype: MType */;
8568 val
* var
/* : AbstractCompiler */;
8569 val
* var2
/* : AbstractCompiler */;
8570 val
* var3
/* : ModelBuilder */;
8571 val
* var5
/* : ModelBuilder */;
8572 val
* var6
/* : ToolContext */;
8573 val
* var8
/* : ToolContext */;
8574 val
* var9
/* : OptionBool */;
8575 val
* var11
/* : OptionBool */;
8576 val
* var12
/* : nullable Object */;
8577 val
* var14
/* : nullable Object */;
8578 short int var15
/* : Bool */;
8579 short int var16
/* : Bool */;
8580 val
* var17
/* : String */;
8581 val
* var18
/* : String */;
8582 val
* var_col
/* var col: String */;
8583 static val
* varonce
;
8584 val
* var19
/* : String */;
8585 char* var20
/* : NativeString */;
8586 long var21
/* : Int */;
8587 val
* var22
/* : FlatString */;
8588 static val
* varonce23
;
8589 val
* var24
/* : String */;
8590 char* var25
/* : NativeString */;
8591 long var26
/* : Int */;
8592 val
* var27
/* : FlatString */;
8593 val
* var28
/* : Array[Object] */;
8594 long var29
/* : Int */;
8595 val
* var30
/* : NativeArray[Object] */;
8596 val
* var31
/* : String */;
8597 static val
* varonce32
;
8598 val
* var33
/* : String */;
8599 char* var34
/* : NativeString */;
8600 long var35
/* : Int */;
8601 val
* var36
/* : FlatString */;
8602 val
* var37
/* : String */;
8603 val
* var38
/* : String */;
8604 static val
* varonce39
;
8605 val
* var40
/* : String */;
8606 char* var41
/* : NativeString */;
8607 long var42
/* : Int */;
8608 val
* var43
/* : FlatString */;
8609 val
* var44
/* : Array[Object] */;
8610 long var45
/* : Int */;
8611 val
* var46
/* : NativeArray[Object] */;
8612 val
* var47
/* : String */;
8613 static val
* varonce48
;
8614 val
* var49
/* : String */;
8615 char* var50
/* : NativeString */;
8616 long var51
/* : Int */;
8617 val
* var52
/* : FlatString */;
8618 static val
* varonce53
;
8619 val
* var54
/* : String */;
8620 char* var55
/* : NativeString */;
8621 long var56
/* : Int */;
8622 val
* var57
/* : FlatString */;
8625 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
8626 var2
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
8627 if (unlikely(var2
== NULL
)) {
8628 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
8629 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
8637 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var) on <var:AbstractCompiler(SeparateCompiler)> */
8638 var5
= var
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var:AbstractCompiler(SeparateCompiler)> */
8639 if (unlikely(var5
== NULL
)) {
8640 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8641 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
8649 { /* Inline modelbuilder#ModelBuilder#toolcontext (var3) on <var3:ModelBuilder> */
8650 var8
= var3
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var3:ModelBuilder> */
8651 if (unlikely(var8
== NULL
)) {
8652 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8653 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
8661 { /* Inline abstract_compiler#ToolContext#opt_hardening (var6) on <var6:ToolContext> */
8662 var11
= var6
->attrs
[COLOR_abstract_compiler__ToolContext___opt_hardening
].val
; /* _opt_hardening on <var6:ToolContext> */
8663 if (unlikely(var11
== NULL
)) {
8664 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_hardening");
8665 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 47);
8669 RET_LABEL10
:(void)0;
8673 { /* Inline opts#Option#value (var9) on <var9:OptionBool> */
8674 var14
= var9
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var9:OptionBool> */
8676 RET_LABEL13
:(void)0;
8679 var15
= ((struct instance_kernel__Bool
*)var12
)->value
; /* autounbox from nullable Object to Bool */;
8686 var17
= separate_compiler__MType__const_color(var_mtype
);
8689 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var17
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
8692 var18
= separate_compiler__MType__const_color(var_mtype
);
8700 var22
= string__NativeString__to_s_with_length(var20
, var21
);
8707 var25
= " == -1) {";
8709 var27
= string__NativeString__to_s_with_length(var25
, var26
);
8713 var28
= NEW_array__Array(&type_array__Arraykernel__Object
);
8714 { /* var28 = array_instance Array[Object] */
8716 var30
= NEW_array__NativeArray(var29
, &type_array__NativeArraykernel__Object
);
8717 ((struct instance_array__NativeArray
*)var30
)->values
[0] = (val
*) var19
;
8718 ((struct instance_array__NativeArray
*)var30
)->values
[1] = (val
*) var_col
;
8719 ((struct instance_array__NativeArray
*)var30
)->values
[2] = (val
*) var24
;
8721 ((void (*)(val
*, val
*, long))(var28
->class->vft
[COLOR_array__Array__with_native
]))(var28
, var30
, var29
) /* with_native on <var28:Array[Object]>*/;
8725 var31
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_string__Object__to_s
]))(var28
) /* to_s on <var28:Array[Object]>*/;
8728 abstract_compiler__AbstractCompilerVisitor__add(self
, var31
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8733 var34
= "PRINT_ERROR(\"Resolution of a dead open type: %s\\n\", \"";
8735 var36
= string__NativeString__to_s_with_length(var34
, var35
);
8740 var37
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_string__Object__to_s
]))(var_mtype
) /* to_s on <var_mtype:MType>*/;
8743 var38
= string__Text__escape_to_c(var37
);
8750 var43
= string__NativeString__to_s_with_length(var41
, var42
);
8754 var44
= NEW_array__Array(&type_array__Arraykernel__Object
);
8755 { /* var44 = array_instance Array[Object] */
8757 var46
= NEW_array__NativeArray(var45
, &type_array__NativeArraykernel__Object
);
8758 ((struct instance_array__NativeArray
*)var46
)->values
[0] = (val
*) var33
;
8759 ((struct instance_array__NativeArray
*)var46
)->values
[1] = (val
*) var38
;
8760 ((struct instance_array__NativeArray
*)var46
)->values
[2] = (val
*) var40
;
8762 ((void (*)(val
*, val
*, long))(var44
->class->vft
[COLOR_array__Array__with_native
]))(var44
, var46
, var45
) /* with_native on <var44:Array[Object]>*/;
8766 var47
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_string__Object__to_s
]))(var44
) /* to_s on <var44:Array[Object]>*/;
8769 abstract_compiler__AbstractCompilerVisitor__add(self
, var47
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8774 var50
= "open type dead";
8776 var52
= string__NativeString__to_s_with_length(var50
, var51
);
8781 abstract_compiler__AbstractCompilerVisitor__add_abort(self
, var49
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:SeparateCompilerVisitor>*/
8788 var57
= string__NativeString__to_s_with_length(var55
, var56
);
8793 abstract_compiler__AbstractCompilerVisitor__add(self
, var54
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8797 /* method separate_compiler#SeparateCompilerVisitor#hardening_live_open_type for (self: Object, MType) */
8798 void VIRTUAL_separate_compiler__SeparateCompilerVisitor__hardening_live_open_type(val
* self
, val
* p0
) {
8799 separate_compiler__SeparateCompilerVisitor__hardening_live_open_type(self
, p0
); /* Direct call separate_compiler#SeparateCompilerVisitor#hardening_live_open_type on <self:Object(SeparateCompilerVisitor)>*/
8802 /* method separate_compiler#SeparateCompilerVisitor#hardening_cast_type for (self: SeparateCompilerVisitor, String) */
8803 void separate_compiler__SeparateCompilerVisitor__hardening_cast_type(val
* self
, val
* p0
) {
8804 val
* var_t
/* var t: String */;
8805 val
* var
/* : AbstractCompiler */;
8806 val
* var2
/* : AbstractCompiler */;
8807 val
* var3
/* : ModelBuilder */;
8808 val
* var5
/* : ModelBuilder */;
8809 val
* var6
/* : ToolContext */;
8810 val
* var8
/* : ToolContext */;
8811 val
* var9
/* : OptionBool */;
8812 val
* var11
/* : OptionBool */;
8813 val
* var12
/* : nullable Object */;
8814 val
* var14
/* : nullable Object */;
8815 short int var15
/* : Bool */;
8816 short int var16
/* : Bool */;
8817 static val
* varonce
;
8818 val
* var17
/* : String */;
8819 char* var18
/* : NativeString */;
8820 long var19
/* : Int */;
8821 val
* var20
/* : FlatString */;
8822 static val
* varonce21
;
8823 val
* var22
/* : String */;
8824 char* var23
/* : NativeString */;
8825 long var24
/* : Int */;
8826 val
* var25
/* : FlatString */;
8827 val
* var26
/* : Array[Object] */;
8828 long var27
/* : Int */;
8829 val
* var28
/* : NativeArray[Object] */;
8830 val
* var29
/* : String */;
8831 static val
* varonce30
;
8832 val
* var31
/* : String */;
8833 char* var32
/* : NativeString */;
8834 long var33
/* : Int */;
8835 val
* var34
/* : FlatString */;
8836 static val
* varonce35
;
8837 val
* var36
/* : String */;
8838 char* var37
/* : NativeString */;
8839 long var38
/* : Int */;
8840 val
* var39
/* : FlatString */;
8841 static val
* varonce40
;
8842 val
* var41
/* : String */;
8843 char* var42
/* : NativeString */;
8844 long var43
/* : Int */;
8845 val
* var44
/* : FlatString */;
8846 static val
* varonce45
;
8847 val
* var46
/* : String */;
8848 char* var47
/* : NativeString */;
8849 long var48
/* : Int */;
8850 val
* var49
/* : FlatString */;
8851 static val
* varonce50
;
8852 val
* var51
/* : String */;
8853 char* var52
/* : NativeString */;
8854 long var53
/* : Int */;
8855 val
* var54
/* : FlatString */;
8856 val
* var55
/* : Array[Object] */;
8857 long var56
/* : Int */;
8858 val
* var57
/* : NativeArray[Object] */;
8859 val
* var58
/* : String */;
8860 static val
* varonce59
;
8861 val
* var60
/* : String */;
8862 char* var61
/* : NativeString */;
8863 long var62
/* : Int */;
8864 val
* var63
/* : FlatString */;
8865 static val
* varonce64
;
8866 val
* var65
/* : String */;
8867 char* var66
/* : NativeString */;
8868 long var67
/* : Int */;
8869 val
* var68
/* : FlatString */;
8870 val
* var69
/* : Array[Object] */;
8871 long var70
/* : Int */;
8872 val
* var71
/* : NativeArray[Object] */;
8873 val
* var72
/* : String */;
8874 static val
* varonce73
;
8875 val
* var74
/* : String */;
8876 char* var75
/* : NativeString */;
8877 long var76
/* : Int */;
8878 val
* var77
/* : FlatString */;
8879 static val
* varonce78
;
8880 val
* var79
/* : String */;
8881 char* var80
/* : NativeString */;
8882 long var81
/* : Int */;
8883 val
* var82
/* : FlatString */;
8886 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
8887 var2
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
8888 if (unlikely(var2
== NULL
)) {
8889 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
8890 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
8898 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var) on <var:AbstractCompiler(SeparateCompiler)> */
8899 var5
= var
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var:AbstractCompiler(SeparateCompiler)> */
8900 if (unlikely(var5
== NULL
)) {
8901 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8902 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
8910 { /* Inline modelbuilder#ModelBuilder#toolcontext (var3) on <var3:ModelBuilder> */
8911 var8
= var3
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var3:ModelBuilder> */
8912 if (unlikely(var8
== NULL
)) {
8913 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8914 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
8922 { /* Inline abstract_compiler#ToolContext#opt_hardening (var6) on <var6:ToolContext> */
8923 var11
= var6
->attrs
[COLOR_abstract_compiler__ToolContext___opt_hardening
].val
; /* _opt_hardening on <var6:ToolContext> */
8924 if (unlikely(var11
== NULL
)) {
8925 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_hardening");
8926 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 47);
8930 RET_LABEL10
:(void)0;
8934 { /* Inline opts#Option#value (var9) on <var9:OptionBool> */
8935 var14
= var9
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var9:OptionBool> */
8937 RET_LABEL13
:(void)0;
8940 var15
= ((struct instance_kernel__Bool
*)var12
)->value
; /* autounbox from nullable Object to Bool */;
8951 var20
= string__NativeString__to_s_with_length(var18
, var19
);
8958 var23
= " == NULL) {";
8960 var25
= string__NativeString__to_s_with_length(var23
, var24
);
8964 var26
= NEW_array__Array(&type_array__Arraykernel__Object
);
8965 { /* var26 = array_instance Array[Object] */
8967 var28
= NEW_array__NativeArray(var27
, &type_array__NativeArraykernel__Object
);
8968 ((struct instance_array__NativeArray
*)var28
)->values
[0] = (val
*) var17
;
8969 ((struct instance_array__NativeArray
*)var28
)->values
[1] = (val
*) var_t
;
8970 ((struct instance_array__NativeArray
*)var28
)->values
[2] = (val
*) var22
;
8972 ((void (*)(val
*, val
*, long))(var26
->class->vft
[COLOR_array__Array__with_native
]))(var26
, var28
, var27
) /* with_native on <var26:Array[Object]>*/;
8976 var29
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_string__Object__to_s
]))(var26
) /* to_s on <var26:Array[Object]>*/;
8979 abstract_compiler__AbstractCompilerVisitor__add(self
, var29
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8984 var32
= "cast type null";
8986 var34
= string__NativeString__to_s_with_length(var32
, var33
);
8991 abstract_compiler__AbstractCompilerVisitor__add_abort(self
, var31
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:SeparateCompilerVisitor>*/
8998 var39
= string__NativeString__to_s_with_length(var37
, var38
);
9003 abstract_compiler__AbstractCompilerVisitor__add(self
, var36
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
9010 var44
= string__NativeString__to_s_with_length(var42
, var43
);
9017 var47
= "->id == -1 || ";
9019 var49
= string__NativeString__to_s_with_length(var47
, var48
);
9026 var52
= "->color == -1) {";
9028 var54
= string__NativeString__to_s_with_length(var52
, var53
);
9032 var55
= NEW_array__Array(&type_array__Arraykernel__Object
);
9033 { /* var55 = array_instance Array[Object] */
9035 var57
= NEW_array__NativeArray(var56
, &type_array__NativeArraykernel__Object
);
9036 ((struct instance_array__NativeArray
*)var57
)->values
[0] = (val
*) var41
;
9037 ((struct instance_array__NativeArray
*)var57
)->values
[1] = (val
*) var_t
;
9038 ((struct instance_array__NativeArray
*)var57
)->values
[2] = (val
*) var46
;
9039 ((struct instance_array__NativeArray
*)var57
)->values
[3] = (val
*) var_t
;
9040 ((struct instance_array__NativeArray
*)var57
)->values
[4] = (val
*) var51
;
9042 ((void (*)(val
*, val
*, long))(var55
->class->vft
[COLOR_array__Array__with_native
]))(var55
, var57
, var56
) /* with_native on <var55:Array[Object]>*/;
9046 var58
= ((val
* (*)(val
*))(var55
->class->vft
[COLOR_string__Object__to_s
]))(var55
) /* to_s on <var55:Array[Object]>*/;
9049 abstract_compiler__AbstractCompilerVisitor__add(self
, var58
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
9054 var61
= "PRINT_ERROR(\"Try to cast on a dead cast type: %s\\n\", ";
9056 var63
= string__NativeString__to_s_with_length(var61
, var62
);
9065 var68
= string__NativeString__to_s_with_length(var66
, var67
);
9069 var69
= NEW_array__Array(&type_array__Arraykernel__Object
);
9070 { /* var69 = array_instance Array[Object] */
9072 var71
= NEW_array__NativeArray(var70
, &type_array__NativeArraykernel__Object
);
9073 ((struct instance_array__NativeArray
*)var71
)->values
[0] = (val
*) var60
;
9074 ((struct instance_array__NativeArray
*)var71
)->values
[1] = (val
*) var_t
;
9075 ((struct instance_array__NativeArray
*)var71
)->values
[2] = (val
*) var65
;
9077 ((void (*)(val
*, val
*, long))(var69
->class->vft
[COLOR_array__Array__with_native
]))(var69
, var71
, var70
) /* with_native on <var69:Array[Object]>*/;
9081 var72
= ((val
* (*)(val
*))(var69
->class->vft
[COLOR_string__Object__to_s
]))(var69
) /* to_s on <var69:Array[Object]>*/;
9084 abstract_compiler__AbstractCompilerVisitor__add(self
, var72
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
9089 var75
= "cast type dead";
9091 var77
= string__NativeString__to_s_with_length(var75
, var76
);
9096 abstract_compiler__AbstractCompilerVisitor__add_abort(self
, var74
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:SeparateCompilerVisitor>*/
9103 var82
= string__NativeString__to_s_with_length(var80
, var81
);
9108 abstract_compiler__AbstractCompilerVisitor__add(self
, var79
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
9112 /* method separate_compiler#SeparateCompilerVisitor#hardening_cast_type for (self: Object, String) */
9113 void VIRTUAL_separate_compiler__SeparateCompilerVisitor__hardening_cast_type(val
* self
, val
* p0
) {
9114 separate_compiler__SeparateCompilerVisitor__hardening_cast_type(self
, p0
); /* Direct call separate_compiler#SeparateCompilerVisitor#hardening_cast_type on <self:Object(SeparateCompilerVisitor)>*/
9117 /* method separate_compiler#SeparateCompilerVisitor#init_instance for (self: SeparateCompilerVisitor, MClassType): RuntimeVariable */
9118 val
* separate_compiler__SeparateCompilerVisitor__init_instance(val
* self
, val
* p0
) {
9119 val
* var
/* : RuntimeVariable */;
9120 val
* var_mtype
/* var mtype: MClassType */;
9121 static val
* varonce
;
9122 val
* var1
/* : String */;
9123 char* var2
/* : NativeString */;
9124 long var3
/* : Int */;
9125 val
* var4
/* : FlatString */;
9126 val
* var5
/* : MClass */;
9127 val
* var7
/* : MClass */;
9128 val
* var8
/* : String */;
9129 val
* var9
/* : Array[Object] */;
9130 long var10
/* : Int */;
9131 val
* var11
/* : NativeArray[Object] */;
9132 val
* var12
/* : String */;
9133 val
* var13
/* : AbstractCompiler */;
9134 val
* var15
/* : AbstractCompiler */;
9135 val
* var_compiler
/* var compiler: SeparateCompiler */;
9136 short int var16
/* : Bool */;
9137 short int var17
/* : Bool */;
9140 short int var_
/* var : Bool */;
9141 short int var18
/* : Bool */;
9142 short int var20
/* : Bool */;
9143 val
* var21
/* : nullable Frame */;
9144 val
* var23
/* : nullable Frame */;
9145 val
* var24
/* : MPropDef */;
9146 val
* var26
/* : MPropDef */;
9147 val
* var27
/* : MClassDef */;
9148 val
* var29
/* : MClassDef */;
9149 val
* var30
/* : nullable Frame */;
9150 val
* var32
/* : nullable Frame */;
9151 val
* var33
/* : Array[RuntimeVariable] */;
9152 val
* var35
/* : Array[RuntimeVariable] */;
9153 val
* var36
/* : nullable Object */;
9154 val
* var_recv
/* var recv: RuntimeVariable */;
9155 val
* var37
/* : String */;
9156 val
* var_recv_type_info
/* var recv_type_info: String */;
9157 val
* var38
/* : String */;
9158 static val
* varonce39
;
9159 val
* var40
/* : String */;
9160 char* var41
/* : NativeString */;
9161 long var42
/* : Int */;
9162 val
* var43
/* : FlatString */;
9163 val
* var44
/* : MClass */;
9164 val
* var46
/* : MClass */;
9165 val
* var47
/* : String */;
9166 static val
* varonce48
;
9167 val
* var49
/* : String */;
9168 char* var50
/* : NativeString */;
9169 long var51
/* : Int */;
9170 val
* var52
/* : FlatString */;
9171 static val
* varonce53
;
9172 val
* var54
/* : String */;
9173 char* var55
/* : NativeString */;
9174 long var56
/* : Int */;
9175 val
* var57
/* : FlatString */;
9176 val
* var58
/* : String */;
9177 static val
* varonce59
;
9178 val
* var60
/* : String */;
9179 char* var61
/* : NativeString */;
9180 long var62
/* : Int */;
9181 val
* var63
/* : FlatString */;
9182 val
* var64
/* : Array[Object] */;
9183 long var65
/* : Int */;
9184 val
* var66
/* : NativeArray[Object] */;
9185 val
* var67
/* : String */;
9186 val
* var68
/* : RuntimeVariable */;
9187 val
* var69
/* : Set[MType] */;
9188 val
* var71
/* : Set[MType] */;
9189 static val
* varonce72
;
9190 val
* var73
/* : String */;
9191 char* var74
/* : NativeString */;
9192 long var75
/* : Int */;
9193 val
* var76
/* : FlatString */;
9194 val
* var77
/* : String */;
9195 val
* var78
/* : Array[Object] */;
9196 long var79
/* : Int */;
9197 val
* var80
/* : NativeArray[Object] */;
9198 val
* var81
/* : String */;
9199 static val
* varonce82
;
9200 val
* var83
/* : String */;
9201 char* var84
/* : NativeString */;
9202 long var85
/* : Int */;
9203 val
* var86
/* : FlatString */;
9204 val
* var87
/* : MClass */;
9205 val
* var89
/* : MClass */;
9206 val
* var90
/* : String */;
9207 static val
* varonce91
;
9208 val
* var92
/* : String */;
9209 char* var93
/* : NativeString */;
9210 long var94
/* : Int */;
9211 val
* var95
/* : FlatString */;
9212 val
* var96
/* : String */;
9213 static val
* varonce97
;
9214 val
* var98
/* : String */;
9215 char* var99
/* : NativeString */;
9216 long var100
/* : Int */;
9217 val
* var101
/* : FlatString */;
9218 val
* var102
/* : Array[Object] */;
9219 long var103
/* : Int */;
9220 val
* var104
/* : NativeArray[Object] */;
9221 val
* var105
/* : String */;
9222 val
* var106
/* : RuntimeVariable */;
9229 var4
= string__NativeString__to_s_with_length(var2
, var3
);
9234 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
9235 var7
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
9236 if (unlikely(var7
== NULL
)) {
9237 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9238 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
9246 var8
= abstract_compiler__MClass__c_name(var5
);
9248 var9
= NEW_array__Array(&type_array__Arraykernel__Object
);
9249 { /* var9 = array_instance Array[Object] */
9251 var11
= NEW_array__NativeArray(var10
, &type_array__NativeArraykernel__Object
);
9252 ((struct instance_array__NativeArray
*)var11
)->values
[0] = (val
*) var1
;
9253 ((struct instance_array__NativeArray
*)var11
)->values
[1] = (val
*) var8
;
9255 ((void (*)(val
*, val
*, long))(var9
->class->vft
[COLOR_array__Array__with_native
]))(var9
, var11
, var10
) /* with_native on <var9:Array[Object]>*/;
9259 var12
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_string__Object__to_s
]))(var9
) /* to_s on <var9:Array[Object]>*/;
9262 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var12
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
9265 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
9266 var15
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
9267 if (unlikely(var15
== NULL
)) {
9268 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
9269 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
9273 RET_LABEL14
:(void)0;
9276 var_compiler
= var13
;
9277 /* <var_mtype:MClassType> isa MGenericType */
9278 cltype
= type_model__MGenericType
.color
;
9279 idtype
= type_model__MGenericType
.id
;
9280 if(cltype
>= var_mtype
->type
->table_size
) {
9283 var17
= var_mtype
->type
->type_table
[cltype
] == idtype
;
9288 { /* Inline model#MGenericType#need_anchor (var_mtype) on <var_mtype:MClassType(MGenericType)> */
9289 var20
= var_mtype
->attrs
[COLOR_model__MGenericType___need_anchor
].s
; /* _need_anchor on <var_mtype:MClassType(MGenericType)> */
9291 RET_LABEL19
:(void)0;
9300 separate_compiler__SeparateCompilerVisitor__hardening_live_open_type(self
, var_mtype
); /* Direct call separate_compiler#SeparateCompilerVisitor#hardening_live_open_type on <self:SeparateCompilerVisitor>*/
9303 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
9304 var23
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
9306 RET_LABEL22
:(void)0;
9309 if (var21
== NULL
) {
9310 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9311 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 1450);
9314 { /* Inline abstract_compiler#Frame#mpropdef (var21) on <var21:nullable Frame> */
9315 if (unlikely(var21
== NULL
)) {
9316 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9317 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1681);
9320 var26
= var21
->attrs
[COLOR_abstract_compiler__Frame___mpropdef
].val
; /* _mpropdef on <var21:nullable Frame> */
9321 if (unlikely(var26
== NULL
)) {
9322 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
9323 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1681);
9327 RET_LABEL25
:(void)0;
9331 { /* Inline model#MPropDef#mclassdef (var24) on <var24:MPropDef> */
9332 var29
= var24
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var24:MPropDef> */
9333 if (unlikely(var29
== NULL
)) {
9334 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
9335 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
9339 RET_LABEL28
:(void)0;
9343 separate_compiler__SeparateCompilerVisitor__link_unresolved_type(self
, var27
, var_mtype
); /* Direct call separate_compiler#SeparateCompilerVisitor#link_unresolved_type on <self:SeparateCompilerVisitor>*/
9346 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
9347 var32
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
9349 RET_LABEL31
:(void)0;
9352 if (var30
== NULL
) {
9353 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9354 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 1451);
9357 { /* Inline abstract_compiler#Frame#arguments (var30) on <var30:nullable Frame> */
9358 if (unlikely(var30
== NULL
)) {
9359 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9360 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1688);
9363 var35
= var30
->attrs
[COLOR_abstract_compiler__Frame___arguments
].val
; /* _arguments on <var30:nullable Frame> */
9364 if (unlikely(var35
== NULL
)) {
9365 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
9366 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1688);
9370 RET_LABEL34
:(void)0;
9374 var36
= abstract_collection__SequenceRead__first(var33
);
9378 var37
= separate_compiler__SeparateCompilerVisitor__type_info(self
, var_recv
);
9380 var_recv_type_info
= var37
;
9382 var38
= separate_compiler__MType__const_color(var_mtype
);
9385 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var38
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
9392 var43
= string__NativeString__to_s_with_length(var41
, var42
);
9397 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType(MGenericType)> */
9398 var46
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType(MGenericType)> */
9399 if (unlikely(var46
== NULL
)) {
9400 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9401 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
9405 RET_LABEL45
:(void)0;
9409 var47
= abstract_compiler__MClass__c_name(var44
);
9416 var52
= string__NativeString__to_s_with_length(var50
, var51
);
9423 var55
= "->resolution_table->types[";
9425 var57
= string__NativeString__to_s_with_length(var55
, var56
);
9430 var58
= separate_compiler__MType__const_color(var_mtype
);
9437 var63
= string__NativeString__to_s_with_length(var61
, var62
);
9441 var64
= NEW_array__Array(&type_array__Arraykernel__Object
);
9442 { /* var64 = array_instance Array[Object] */
9444 var66
= NEW_array__NativeArray(var65
, &type_array__NativeArraykernel__Object
);
9445 ((struct instance_array__NativeArray
*)var66
)->values
[0] = (val
*) var40
;
9446 ((struct instance_array__NativeArray
*)var66
)->values
[1] = (val
*) var47
;
9447 ((struct instance_array__NativeArray
*)var66
)->values
[2] = (val
*) var49
;
9448 ((struct instance_array__NativeArray
*)var66
)->values
[3] = (val
*) var_recv_type_info
;
9449 ((struct instance_array__NativeArray
*)var66
)->values
[4] = (val
*) var54
;
9450 ((struct instance_array__NativeArray
*)var66
)->values
[5] = (val
*) var58
;
9451 ((struct instance_array__NativeArray
*)var66
)->values
[6] = (val
*) var60
;
9453 ((void (*)(val
*, val
*, long))(var64
->class->vft
[COLOR_array__Array__with_native
]))(var64
, var66
, var65
) /* with_native on <var64:Array[Object]>*/;
9457 var67
= ((val
* (*)(val
*))(var64
->class->vft
[COLOR_string__Object__to_s
]))(var64
) /* to_s on <var64:Array[Object]>*/;
9460 var68
= abstract_compiler__AbstractCompilerVisitor__new_expr(self
, var67
, var_mtype
);
9467 { /* Inline separate_compiler#SeparateCompiler#undead_types (var_compiler) on <var_compiler:SeparateCompiler> */
9468 var71
= var_compiler
->attrs
[COLOR_separate_compiler__SeparateCompiler___undead_types
].val
; /* _undead_types on <var_compiler:SeparateCompiler> */
9469 if (unlikely(var71
== NULL
)) {
9470 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _undead_types");
9471 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 156);
9475 RET_LABEL70
:(void)0;
9479 ((void (*)(val
*, val
*))(var69
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var69
, var_mtype
) /* add on <var69:Set[MType]>*/;
9486 var76
= string__NativeString__to_s_with_length(var74
, var75
);
9491 var77
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType>*/;
9493 var78
= NEW_array__Array(&type_array__Arraykernel__Object
);
9494 { /* var78 = array_instance Array[Object] */
9496 var80
= NEW_array__NativeArray(var79
, &type_array__NativeArraykernel__Object
);
9497 ((struct instance_array__NativeArray
*)var80
)->values
[0] = (val
*) var73
;
9498 ((struct instance_array__NativeArray
*)var80
)->values
[1] = (val
*) var77
;
9500 ((void (*)(val
*, val
*, long))(var78
->class->vft
[COLOR_array__Array__with_native
]))(var78
, var80
, var79
) /* with_native on <var78:Array[Object]>*/;
9504 var81
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_string__Object__to_s
]))(var78
) /* to_s on <var78:Array[Object]>*/;
9507 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var81
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
9514 var86
= string__NativeString__to_s_with_length(var84
, var85
);
9519 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
9520 var89
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
9521 if (unlikely(var89
== NULL
)) {
9522 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9523 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
9527 RET_LABEL88
:(void)0;
9531 var90
= abstract_compiler__MClass__c_name(var87
);
9538 var95
= string__NativeString__to_s_with_length(var93
, var94
);
9543 var96
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType>*/;
9550 var101
= string__NativeString__to_s_with_length(var99
, var100
);
9554 var102
= NEW_array__Array(&type_array__Arraykernel__Object
);
9555 { /* var102 = array_instance Array[Object] */
9557 var104
= NEW_array__NativeArray(var103
, &type_array__NativeArraykernel__Object
);
9558 ((struct instance_array__NativeArray
*)var104
)->values
[0] = (val
*) var83
;
9559 ((struct instance_array__NativeArray
*)var104
)->values
[1] = (val
*) var90
;
9560 ((struct instance_array__NativeArray
*)var104
)->values
[2] = (val
*) var92
;
9561 ((struct instance_array__NativeArray
*)var104
)->values
[3] = (val
*) var96
;
9562 ((struct instance_array__NativeArray
*)var104
)->values
[4] = (val
*) var98
;
9564 ((void (*)(val
*, val
*, long))(var102
->class->vft
[COLOR_array__Array__with_native
]))(var102
, var104
, var103
) /* with_native on <var102:Array[Object]>*/;
9568 var105
= ((val
* (*)(val
*))(var102
->class->vft
[COLOR_string__Object__to_s
]))(var102
) /* to_s on <var102:Array[Object]>*/;
9571 var106
= abstract_compiler__AbstractCompilerVisitor__new_expr(self
, var105
, var_mtype
);
9578 /* method separate_compiler#SeparateCompilerVisitor#init_instance for (self: Object, MClassType): RuntimeVariable */
9579 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__init_instance(val
* self
, val
* p0
) {
9580 val
* var
/* : RuntimeVariable */;
9581 val
* var1
/* : RuntimeVariable */;
9582 var1
= separate_compiler__SeparateCompilerVisitor__init_instance(self
, p0
);