1 #include "nit__separate_compiler.sep.0.h"
2 /* method separate_compiler#SeparateRuntimeFunction#compile_to_c for (self: SeparateRuntimeFunction, AbstractCompiler) */
3 void nit___nit__SeparateRuntimeFunction___nit__abstract_compiler__AbstractRuntimeFunction__compile_to_c(val
* self
, val
* p0
) {
4 short int var
/* : Bool */;
7 const struct type
* type_struct
;
8 const char* var_class_name
;
9 val
* var_compiler
/* var compiler: AbstractCompiler */;
10 val
* var1
/* : MMethodDef */;
11 val
* var3
/* : MMethodDef */;
12 val
* var_mmethoddef
/* var mmethoddef: MMethodDef */;
13 val
* var4
/* : MMethodDef */;
14 val
* var6
/* : MMethodDef */;
15 val
* var7
/* : MClassDef */;
16 val
* var9
/* : MClassDef */;
17 val
* var10
/* : MClassType */;
18 val
* var12
/* : MClassType */;
19 val
* var_recv
/* var recv: MClassType */;
20 val
* var13
/* : AbstractCompilerVisitor */;
21 val
* var_v
/* var v: AbstractCompilerVisitor */;
22 val
* var14
/* : RuntimeVariable */;
24 val
* var15
/* : String */;
25 char* var16
/* : NativeString */;
26 long var17
/* : Int */;
27 val
* var18
/* : FlatString */;
28 val
* var19
/* : MType */;
29 val
* var21
/* : MType */;
30 val
* var_selfvar
/* var selfvar: RuntimeVariable */;
31 val
* var22
/* : Array[RuntimeVariable] */;
32 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
33 val
* var23
/* : StaticFrame */;
34 val
* var_frame
/* var frame: StaticFrame */;
35 val
* var25
/* : MSignature */;
36 val
* var27
/* : MSignature */;
37 val
* var_msignature
/* var msignature: MSignature */;
38 val
* var28
/* : MSignature */;
39 val
* var30
/* : MSignature */;
40 val
* var31
/* : nullable MType */;
41 val
* var33
/* : nullable MType */;
42 val
* var_ret
/* var ret: nullable MType */;
43 val
* var34
/* : FlatBuffer */;
44 val
* var_sig
/* var sig: FlatBuffer */;
45 val
* var36
/* : FlatBuffer */;
46 val
* var_comment
/* var comment: FlatBuffer */;
47 val
* var38
/* : String */;
48 static val
* varonce39
;
49 val
* var40
/* : String */;
50 char* var41
/* : NativeString */;
51 long var42
/* : Int */;
52 val
* var43
/* : FlatString */;
53 val
* var44
/* : String */;
54 val
* var45
/* : String */;
55 static val
* varonce46
;
56 val
* var47
/* : String */;
57 char* var48
/* : NativeString */;
58 long var49
/* : Int */;
59 val
* var50
/* : FlatString */;
60 static val
* varonce51
;
61 val
* var52
/* : String */;
62 char* var53
/* : NativeString */;
63 long var54
/* : Int */;
64 val
* var55
/* : FlatString */;
65 val
* var56
/* : MType */;
66 val
* var58
/* : MType */;
67 val
* var59
/* : Array[Object] */;
68 long var60
/* : Int */;
69 val
* var61
/* : NativeArray[Object] */;
70 val
* var62
/* : String */;
71 long var63
/* : Int */;
72 long var_i
/* var i: Int */;
73 long var64
/* : Int */;
74 long var_
/* var : Int */;
75 short int var65
/* : Bool */;
76 short int var67
/* : Bool */;
79 const char* var_class_name70
;
80 short int var71
/* : Bool */;
81 val
* var72
/* : Array[MParameter] */;
82 val
* var74
/* : Array[MParameter] */;
83 val
* var75
/* : nullable Object */;
84 val
* var76
/* : MType */;
85 val
* var78
/* : MType */;
86 val
* var_mtype
/* var mtype: MType */;
87 long var79
/* : Int */;
88 long var81
/* : Int */;
89 short int var82
/* : Bool */;
90 short int var84
/* : Bool */;
91 static val
* varonce85
;
92 val
* var86
/* : String */;
93 char* var87
/* : NativeString */;
94 long var88
/* : Int */;
95 val
* var89
/* : FlatString */;
96 val
* var90
/* : MClass */;
97 val
* var91
/* : Array[MType] */;
98 long var92
/* : Int */;
99 val
* var_93
/* var : Array[MType] */;
100 val
* var94
/* : MClassType */;
101 static val
* varonce95
;
102 val
* var96
/* : String */;
103 char* var97
/* : NativeString */;
104 long var98
/* : Int */;
105 val
* var99
/* : FlatString */;
106 val
* var100
/* : Array[Object] */;
107 long var101
/* : Int */;
108 val
* var102
/* : NativeArray[Object] */;
109 val
* var103
/* : String */;
110 val
* var104
/* : RuntimeVariable */;
111 static val
* varonce105
;
112 val
* var106
/* : String */;
113 char* var107
/* : NativeString */;
114 long var108
/* : Int */;
115 val
* var109
/* : FlatString */;
116 val
* var110
/* : Array[Object] */;
117 long var111
/* : Int */;
118 val
* var112
/* : NativeArray[Object] */;
119 val
* var113
/* : Object */;
120 val
* var114
/* : String */;
121 val
* var_argvar
/* var argvar: RuntimeVariable */;
122 long var115
/* : Int */;
123 long var116
/* : Int */;
124 static val
* varonce117
;
125 val
* var118
/* : String */;
126 char* var119
/* : NativeString */;
127 long var120
/* : Int */;
128 val
* var121
/* : FlatString */;
129 val
* var122
/* : null */;
130 short int var123
/* : Bool */;
131 short int var124
/* : Bool */;
132 val
* var_other
/* var other: nullable Object */;
133 short int var126
/* : Bool */;
134 short int var127
/* : Bool */;
135 static val
* varonce128
;
136 val
* var129
/* : String */;
137 char* var130
/* : NativeString */;
138 long var131
/* : Int */;
139 val
* var132
/* : FlatString */;
140 val
* var133
/* : Array[Object] */;
141 long var134
/* : Int */;
142 val
* var135
/* : NativeArray[Object] */;
143 val
* var136
/* : String */;
144 val
* var137
/* : String */;
145 static val
* varonce138
;
146 val
* var139
/* : String */;
147 char* var140
/* : NativeString */;
148 long var141
/* : Int */;
149 val
* var142
/* : FlatString */;
150 val
* var143
/* : Array[Object] */;
151 long var144
/* : Int */;
152 val
* var145
/* : NativeArray[Object] */;
153 val
* var146
/* : String */;
154 static val
* varonce147
;
155 val
* var148
/* : String */;
156 char* var149
/* : NativeString */;
157 long var150
/* : Int */;
158 val
* var151
/* : FlatString */;
159 static val
* varonce152
;
160 val
* var153
/* : String */;
161 char* var154
/* : NativeString */;
162 long var155
/* : Int */;
163 val
* var156
/* : FlatString */;
164 static val
* varonce157
;
165 val
* var158
/* : String */;
166 char* var159
/* : NativeString */;
167 long var160
/* : Int */;
168 val
* var161
/* : FlatString */;
169 val
* var162
/* : Array[Object] */;
170 long var163
/* : Int */;
171 val
* var164
/* : NativeArray[Object] */;
172 val
* var165
/* : String */;
173 static val
* varonce166
;
174 val
* var167
/* : String */;
175 char* var168
/* : NativeString */;
176 long var169
/* : Int */;
177 val
* var170
/* : FlatString */;
178 val
* var171
/* : Array[Object] */;
179 long var172
/* : Int */;
180 val
* var173
/* : NativeArray[Object] */;
181 val
* var174
/* : String */;
182 val
* var175
/* : null */;
183 short int var176
/* : Bool */;
184 short int var177
/* : Bool */;
185 short int var179
/* : Bool */;
186 short int var180
/* : Bool */;
187 val
* var181
/* : RuntimeVariable */;
188 static val
* varonce183
;
189 val
* var184
/* : String */;
190 char* var185
/* : NativeString */;
191 long var186
/* : Int */;
192 val
* var187
/* : FlatString */;
193 val
* var188
/* : String */;
194 short int var190
/* : Bool */;
195 short int var192
/* : Bool */;
196 val
* var193
/* : nullable RuntimeVariable */;
197 val
* var_subret
/* var subret: nullable RuntimeVariable */;
198 val
* var194
/* : null */;
199 short int var195
/* : Bool */;
200 short int var196
/* : Bool */;
201 short int var198
/* : Bool */;
202 short int var199
/* : Bool */;
203 val
* var200
/* : null */;
204 short int var201
/* : Bool */;
205 short int var202
/* : Bool */;
206 short int var204
/* : Bool */;
207 short int var205
/* : Bool */;
208 val
* var206
/* : nullable RuntimeVariable */;
209 val
* var208
/* : nullable RuntimeVariable */;
210 val
* var209
/* : nullable RuntimeVariable */;
211 val
* var210
/* : nullable String */;
212 val
* var212
/* : nullable String */;
213 static val
* varonce213
;
214 val
* var214
/* : String */;
215 char* var215
/* : NativeString */;
216 long var216
/* : Int */;
217 val
* var217
/* : FlatString */;
218 val
* var218
/* : Array[Object] */;
219 long var219
/* : Int */;
220 val
* var220
/* : NativeArray[Object] */;
221 val
* var221
/* : String */;
222 val
* var222
/* : null */;
223 short int var223
/* : Bool */;
224 short int var224
/* : Bool */;
225 short int var226
/* : Bool */;
226 short int var227
/* : Bool */;
227 static val
* varonce228
;
228 val
* var229
/* : String */;
229 char* var230
/* : NativeString */;
230 long var231
/* : Int */;
231 val
* var232
/* : FlatString */;
232 val
* var233
/* : nullable RuntimeVariable */;
233 val
* var235
/* : nullable RuntimeVariable */;
234 static val
* varonce236
;
235 val
* var237
/* : String */;
236 char* var238
/* : NativeString */;
237 long var239
/* : Int */;
238 val
* var240
/* : FlatString */;
239 val
* var241
/* : Array[Object] */;
240 long var242
/* : Int */;
241 val
* var243
/* : NativeArray[Object] */;
242 val
* var244
/* : String */;
243 static val
* varonce245
;
244 val
* var246
/* : String */;
245 char* var247
/* : NativeString */;
246 long var248
/* : Int */;
247 val
* var249
/* : FlatString */;
248 val
* var250
/* : HashMap[String, String] */;
249 val
* var252
/* : HashMap[String, String] */;
250 val
* var253
/* : String */;
251 val
* var254
/* : String */;
252 static val
* varonce255
;
253 val
* var256
/* : String */;
254 char* var257
/* : NativeString */;
255 long var258
/* : Int */;
256 val
* var259
/* : FlatString */;
257 val
* var260
/* : Location */;
258 val
* var262
/* : Location */;
259 val
* var263
/* : nullable SourceFile */;
260 val
* var265
/* : nullable SourceFile */;
261 val
* var266
/* : String */;
262 val
* var268
/* : String */;
263 static val
* varonce269
;
264 val
* var270
/* : String */;
265 char* var271
/* : NativeString */;
266 long var272
/* : Int */;
267 val
* var273
/* : FlatString */;
268 val
* var274
/* : Location */;
269 val
* var276
/* : Location */;
270 long var277
/* : Int */;
271 long var279
/* : Int */;
272 static val
* varonce280
;
273 val
* var281
/* : String */;
274 char* var282
/* : NativeString */;
275 long var283
/* : Int */;
276 val
* var284
/* : FlatString */;
277 val
* var285
/* : Array[Object] */;
278 long var286
/* : Int */;
279 val
* var287
/* : NativeArray[Object] */;
280 val
* var288
/* : Object */;
281 val
* var289
/* : String */;
282 /* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
283 /* <p0:AbstractCompiler> isa COMPILER */
284 type_struct
= self
->type
->resolution_table
->types
[COLOR_nit__abstract_compiler__AbstractRuntimeFunction__COMPILER
];
285 cltype
= type_struct
->color
;
286 idtype
= type_struct
->id
;
287 if(cltype
>= p0
->type
->table_size
) {
290 var
= p0
->type
->type_table
[cltype
] == idtype
;
292 if (unlikely(!var
)) {
293 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
294 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name
);
295 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1884);
300 { /* Inline abstract_compiler#AbstractRuntimeFunction#mmethoddef (self) on <self:SeparateRuntimeFunction> */
301 var3
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractRuntimeFunction___mmethoddef
].val
; /* _mmethoddef on <self:SeparateRuntimeFunction> */
302 if (unlikely(var3
== NULL
)) {
303 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmethoddef");
304 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1644);
311 var_mmethoddef
= var1
;
313 { /* Inline abstract_compiler#AbstractRuntimeFunction#mmethoddef (self) on <self:SeparateRuntimeFunction> */
314 var6
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractRuntimeFunction___mmethoddef
].val
; /* _mmethoddef on <self:SeparateRuntimeFunction> */
315 if (unlikely(var6
== NULL
)) {
316 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmethoddef");
317 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1644);
325 { /* Inline model#MPropDef#mclassdef (var4) on <var4:MMethodDef> */
326 var9
= var4
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var4:MMethodDef> */
327 if (unlikely(var9
== NULL
)) {
328 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
329 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
337 { /* Inline model#MClassDef#bound_mtype (var7) on <var7:MClassDef> */
338 var12
= var7
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var7:MClassDef> */
339 if (unlikely(var12
== NULL
)) {
340 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
341 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
350 var13
= ((val
* (*)(val
* self
))(var_compiler
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompiler__new_visitor
]))(var_compiler
) /* new_visitor on <var_compiler:AbstractCompiler>*/;
353 var14
= NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable
);
359 var18
= standard___standard__NativeString___to_s_with_length(var16
, var17
);
364 { /* Inline separate_compiler#SeparateRuntimeFunction#called_recv (self) on <self:SeparateRuntimeFunction> */
365 var21
= self
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___called_recv
].val
; /* _called_recv on <self:SeparateRuntimeFunction> */
366 if (unlikely(var21
== NULL
)) {
367 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _called_recv");
368 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1845);
376 ((void (*)(val
* self
, val
* p0
))(var14
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d
]))(var14
, var15
) /* name= on <var14:RuntimeVariable>*/;
379 ((void (*)(val
* self
, val
* p0
))(var14
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d
]))(var14
, var19
) /* mtype= on <var14:RuntimeVariable>*/;
382 ((void (*)(val
* self
, val
* p0
))(var14
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d
]))(var14
, var_recv
) /* mcasttype= on <var14:RuntimeVariable>*/;
385 ((void (*)(val
* self
))(var14
->class->vft
[COLOR_standard__kernel__Object__init
]))(var14
) /* init on <var14:RuntimeVariable>*/;
388 var22
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
390 standard___standard__Array___standard__kernel__Object__init(var22
); /* Direct call array#Array#init on <var22:Array[RuntimeVariable]>*/
392 var_arguments
= var22
;
393 var23
= NEW_nit__StaticFrame(&type_nit__StaticFrame
);
395 ((void (*)(val
* self
, val
* p0
))(var23
->class->vft
[COLOR_nit__abstract_compiler__StaticFrame__visitor_61d
]))(var23
, var_v
) /* visitor= on <var23:StaticFrame>*/;
398 ((void (*)(val
* self
, val
* p0
))(var23
->class->vft
[COLOR_nit__abstract_compiler__StaticFrame__mpropdef_61d
]))(var23
, var_mmethoddef
) /* mpropdef= on <var23:StaticFrame>*/;
401 ((void (*)(val
* self
, val
* p0
))(var23
->class->vft
[COLOR_nit__abstract_compiler__StaticFrame__receiver_61d
]))(var23
, var_recv
) /* receiver= on <var23:StaticFrame>*/;
404 ((void (*)(val
* self
, val
* p0
))(var23
->class->vft
[COLOR_nit__abstract_compiler__StaticFrame__arguments_61d
]))(var23
, var_arguments
) /* arguments= on <var23:StaticFrame>*/;
407 ((void (*)(val
* self
))(var23
->class->vft
[COLOR_standard__kernel__Object__init
]))(var23
) /* init on <var23:StaticFrame>*/;
411 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame= (var_v,var_frame) on <var_v:AbstractCompilerVisitor> */
412 var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
= var_frame
; /* _frame on <var_v:AbstractCompilerVisitor> */
417 { /* Inline separate_compiler#SeparateRuntimeFunction#called_signature (self) on <self:SeparateRuntimeFunction> */
418 var27
= self
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___called_signature
].val
; /* _called_signature on <self:SeparateRuntimeFunction> */
419 if (unlikely(var27
== NULL
)) {
420 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _called_signature");
421 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1848);
428 var_msignature
= var25
;
430 { /* Inline separate_compiler#SeparateRuntimeFunction#called_signature (self) on <self:SeparateRuntimeFunction> */
431 var30
= self
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___called_signature
].val
; /* _called_signature on <self:SeparateRuntimeFunction> */
432 if (unlikely(var30
== NULL
)) {
433 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _called_signature");
434 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1848);
442 { /* Inline model#MSignature#return_mtype (var28) on <var28:MSignature> */
443 var33
= var28
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var28:MSignature> */
449 var34
= NEW_standard__FlatBuffer(&type_standard__FlatBuffer
);
451 { /* Inline string#FlatBuffer#init (var34) on <var34:FlatBuffer> */
453 ((void (*)(val
* self
))(var34
->class->vft
[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init
]))(var34
) /* init on <var34:FlatBuffer>*/;
459 var36
= NEW_standard__FlatBuffer(&type_standard__FlatBuffer
);
461 { /* Inline string#FlatBuffer#init (var36) on <var36:FlatBuffer> */
463 ((void (*)(val
* self
))(var36
->class->vft
[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init
]))(var36
) /* init on <var36:FlatBuffer>*/;
470 var38
= nit___nit__SeparateRuntimeFunction___c_ret(self
);
473 standard___standard__FlatBuffer___Buffer__append(var_sig
, var38
); /* Direct call string#FlatBuffer#append on <var_sig:FlatBuffer>*/
480 var43
= standard___standard__NativeString___to_s_with_length(var41
, var42
);
485 standard___standard__FlatBuffer___Buffer__append(var_sig
, var40
); /* Direct call string#FlatBuffer#append on <var_sig:FlatBuffer>*/
488 var44
= nit___nit__AbstractRuntimeFunction___c_name(self
);
491 standard___standard__FlatBuffer___Buffer__append(var_sig
, var44
); /* Direct call string#FlatBuffer#append on <var_sig:FlatBuffer>*/
494 var45
= nit___nit__SeparateRuntimeFunction___c_sig(self
);
497 standard___standard__FlatBuffer___Buffer__append(var_sig
, var45
); /* Direct call string#FlatBuffer#append on <var_sig:FlatBuffer>*/
504 var50
= standard___standard__NativeString___to_s_with_length(var48
, var49
);
513 var55
= standard___standard__NativeString___to_s_with_length(var53
, var54
);
518 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_selfvar) on <var_selfvar:RuntimeVariable> */
519 var58
= var_selfvar
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_selfvar:RuntimeVariable> */
520 if (unlikely(var58
== NULL
)) {
521 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
522 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
529 var59
= NEW_standard__Array(&type_standard__Array__standard__Object
);
530 { /* var59 = array_instance Array[Object] */
532 var61
= NEW_standard__NativeArray(var60
, &type_standard__NativeArray__standard__Object
);
533 ((struct instance_standard__NativeArray
*)var61
)->values
[0] = (val
*) var47
;
534 ((struct instance_standard__NativeArray
*)var61
)->values
[1] = (val
*) var_selfvar
;
535 ((struct instance_standard__NativeArray
*)var61
)->values
[2] = (val
*) var52
;
536 ((struct instance_standard__NativeArray
*)var61
)->values
[3] = (val
*) var56
;
538 ((void (*)(val
* self
, val
* p0
, long p1
))(var59
->class->vft
[COLOR_standard__array__Array__with_native
]))(var59
, var61
, var60
) /* with_native on <var59:Array[Object]>*/;
542 var62
= ((val
* (*)(val
* self
))(var59
->class->vft
[COLOR_standard__string__Object__to_s
]))(var59
) /* to_s on <var59:Array[Object]>*/;
545 standard___standard__FlatBuffer___Buffer__append(var_comment
, var62
); /* Direct call string#FlatBuffer#append on <var_comment:FlatBuffer>*/
548 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_arguments
, var_selfvar
); /* Direct call array#Array#add on <var_arguments:Array[RuntimeVariable]>*/
553 var64
= nit___nit__MSignature___arity(var_msignature
);
558 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
559 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
560 /* <var_:Int> isa OTHER */
561 var67
= 1; /* easy <var_:Int> isa OTHER*/
562 if (unlikely(!var67
)) {
563 var_class_name70
= type_standard__Int
.name
;
564 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name70
);
565 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
568 var71
= var_i
< var_
;
576 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:MSignature> */
577 var74
= var_msignature
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
578 if (unlikely(var74
== NULL
)) {
579 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
580 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1592);
588 var75
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var72
, var_i
);
591 { /* Inline model#MParameter#mtype (var75) on <var75:nullable Object(MParameter)> */
592 var78
= var75
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var75:nullable Object(MParameter)> */
593 if (unlikely(var78
== NULL
)) {
594 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
595 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1690);
604 { /* Inline model#MSignature#vararg_rank (var_msignature) on <var_msignature:MSignature> */
605 var81
= var_msignature
->attrs
[COLOR_nit__model__MSignature___vararg_rank
].l
; /* _vararg_rank on <var_msignature:MSignature> */
611 { /* Inline kernel#Int#== (var_i,var79) on <var_i:Int> */
612 var84
= var_i
== var79
;
624 var89
= standard___standard__NativeString___to_s_with_length(var87
, var88
);
629 var90
= nit___nit__AbstractCompilerVisitor___get_class(var_v
, var86
);
631 var91
= NEW_standard__Array(&type_standard__Array__nit__MType
);
634 standard___standard__Array___with_capacity(var91
, var92
); /* Direct call array#Array#with_capacity on <var91:Array[MType]>*/
638 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_93
, var_mtype
); /* Direct call array#AbstractArray#push on <var_93:Array[MType]>*/
641 var94
= nit___nit__MClass___get_mtype(var90
, var_93
);
651 var99
= standard___standard__NativeString___to_s_with_length(var97
, var98
);
655 var100
= NEW_standard__Array(&type_standard__Array__standard__Object
);
656 { /* var100 = array_instance Array[Object] */
658 var102
= NEW_standard__NativeArray(var101
, &type_standard__NativeArray__standard__Object
);
659 ((struct instance_standard__NativeArray
*)var102
)->values
[0] = (val
*) var96
;
660 ((struct instance_standard__NativeArray
*)var102
)->values
[1] = (val
*) var_mtype
;
662 ((void (*)(val
* self
, val
* p0
, long p1
))(var100
->class->vft
[COLOR_standard__array__Array__with_native
]))(var100
, var102
, var101
) /* with_native on <var100:Array[Object]>*/;
666 var103
= ((val
* (*)(val
* self
))(var100
->class->vft
[COLOR_standard__string__Object__to_s
]))(var100
) /* to_s on <var100:Array[Object]>*/;
669 standard___standard__FlatBuffer___Buffer__append(var_comment
, var103
); /* Direct call string#FlatBuffer#append on <var_comment:FlatBuffer>*/
671 var104
= NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable
);
677 var109
= standard___standard__NativeString___to_s_with_length(var107
, var108
);
681 var110
= NEW_standard__Array(&type_standard__Array__standard__Object
);
682 { /* var110 = array_instance Array[Object] */
684 var112
= NEW_standard__NativeArray(var111
, &type_standard__NativeArray__standard__Object
);
685 ((struct instance_standard__NativeArray
*)var112
)->values
[0] = (val
*) var106
;
686 var113
= BOX_standard__Int(var_i
); /* autobox from Int to Object */
687 ((struct instance_standard__NativeArray
*)var112
)->values
[1] = (val
*) var113
;
689 ((void (*)(val
* self
, val
* p0
, long p1
))(var110
->class->vft
[COLOR_standard__array__Array__with_native
]))(var110
, var112
, var111
) /* with_native on <var110:Array[Object]>*/;
693 var114
= ((val
* (*)(val
* self
))(var110
->class->vft
[COLOR_standard__string__Object__to_s
]))(var110
) /* to_s on <var110:Array[Object]>*/;
696 ((void (*)(val
* self
, val
* p0
))(var104
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d
]))(var104
, var114
) /* name= on <var104:RuntimeVariable>*/;
699 ((void (*)(val
* self
, val
* p0
))(var104
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d
]))(var104
, var_mtype
) /* mtype= on <var104:RuntimeVariable>*/;
702 ((void (*)(val
* self
, val
* p0
))(var104
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d
]))(var104
, var_mtype
) /* mcasttype= on <var104:RuntimeVariable>*/;
705 ((void (*)(val
* self
))(var104
->class->vft
[COLOR_standard__kernel__Object__init
]))(var104
) /* init on <var104:RuntimeVariable>*/;
709 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_arguments
, var_argvar
); /* Direct call array#Array#add on <var_arguments:Array[RuntimeVariable]>*/
713 var116
= standard___standard__Int___Discrete__successor(var_i
, var115
);
720 BREAK_label
: (void)0;
726 var121
= standard___standard__NativeString___to_s_with_length(var119
, var120
);
731 standard___standard__FlatBuffer___Buffer__append(var_comment
, var118
); /* Direct call string#FlatBuffer#append on <var_comment:FlatBuffer>*/
734 if (var_ret
== NULL
) {
735 var123
= 0; /* is null */
737 var123
= 1; /* arg is null and recv is not */
740 { /* Inline kernel#Object#!= (var_ret,var122) on <var_ret:nullable MType> */
743 var126
= ((short int (*)(val
* self
, val
* p0
))(var_ret
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ret
, var_other
) /* == on <var_ret:nullable MType(MType)>*/;
748 RET_LABEL125
:(void)0;
758 var132
= standard___standard__NativeString___to_s_with_length(var130
, var131
);
762 var133
= NEW_standard__Array(&type_standard__Array__standard__Object
);
763 { /* var133 = array_instance Array[Object] */
765 var135
= NEW_standard__NativeArray(var134
, &type_standard__NativeArray__standard__Object
);
766 ((struct instance_standard__NativeArray
*)var135
)->values
[0] = (val
*) var129
;
767 ((struct instance_standard__NativeArray
*)var135
)->values
[1] = (val
*) var_ret
;
769 ((void (*)(val
* self
, val
* p0
, long p1
))(var133
->class->vft
[COLOR_standard__array__Array__with_native
]))(var133
, var135
, var134
) /* with_native on <var133:Array[Object]>*/;
773 var136
= ((val
* (*)(val
* self
))(var133
->class->vft
[COLOR_standard__string__Object__to_s
]))(var133
) /* to_s on <var133:Array[Object]>*/;
776 standard___standard__FlatBuffer___Buffer__append(var_comment
, var136
); /* Direct call string#FlatBuffer#append on <var_comment:FlatBuffer>*/
781 var137
= nit___nit__AbstractRuntimeFunction___c_name(self
);
788 var142
= standard___standard__NativeString___to_s_with_length(var140
, var141
);
792 var143
= NEW_standard__Array(&type_standard__Array__standard__Object
);
793 { /* var143 = array_instance Array[Object] */
795 var145
= NEW_standard__NativeArray(var144
, &type_standard__NativeArray__standard__Object
);
796 ((struct instance_standard__NativeArray
*)var145
)->values
[0] = (val
*) var_sig
;
797 ((struct instance_standard__NativeArray
*)var145
)->values
[1] = (val
*) var139
;
799 ((void (*)(val
* self
, val
* p0
, long p1
))(var143
->class->vft
[COLOR_standard__array__Array__with_native
]))(var143
, var145
, var144
) /* with_native on <var143:Array[Object]>*/;
803 var146
= ((val
* (*)(val
* self
))(var143
->class->vft
[COLOR_standard__string__Object__to_s
]))(var143
) /* to_s on <var143:Array[Object]>*/;
806 nit___nit__AbstractCompiler___provide_declaration(var_compiler
, var137
, var146
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <var_compiler:AbstractCompiler>*/
811 var149
= "/* method ";
813 var151
= standard___standard__NativeString___to_s_with_length(var149
, var150
);
822 var156
= standard___standard__NativeString___to_s_with_length(var154
, var155
);
831 var161
= standard___standard__NativeString___to_s_with_length(var159
, var160
);
835 var162
= NEW_standard__Array(&type_standard__Array__standard__Object
);
836 { /* var162 = array_instance Array[Object] */
838 var164
= NEW_standard__NativeArray(var163
, &type_standard__NativeArray__standard__Object
);
839 ((struct instance_standard__NativeArray
*)var164
)->values
[0] = (val
*) var148
;
840 ((struct instance_standard__NativeArray
*)var164
)->values
[1] = (val
*) self
;
841 ((struct instance_standard__NativeArray
*)var164
)->values
[2] = (val
*) var153
;
842 ((struct instance_standard__NativeArray
*)var164
)->values
[3] = (val
*) var_comment
;
843 ((struct instance_standard__NativeArray
*)var164
)->values
[4] = (val
*) var158
;
845 ((void (*)(val
* self
, val
* p0
, long p1
))(var162
->class->vft
[COLOR_standard__array__Array__with_native
]))(var162
, var164
, var163
) /* with_native on <var162:Array[Object]>*/;
849 var165
= ((val
* (*)(val
* self
))(var162
->class->vft
[COLOR_standard__string__Object__to_s
]))(var162
) /* to_s on <var162:Array[Object]>*/;
852 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var165
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
859 var170
= standard___standard__NativeString___to_s_with_length(var168
, var169
);
863 var171
= NEW_standard__Array(&type_standard__Array__standard__Object
);
864 { /* var171 = array_instance Array[Object] */
866 var173
= NEW_standard__NativeArray(var172
, &type_standard__NativeArray__standard__Object
);
867 ((struct instance_standard__NativeArray
*)var173
)->values
[0] = (val
*) var_sig
;
868 ((struct instance_standard__NativeArray
*)var173
)->values
[1] = (val
*) var167
;
870 ((void (*)(val
* self
, val
* p0
, long p1
))(var171
->class->vft
[COLOR_standard__array__Array__with_native
]))(var171
, var173
, var172
) /* with_native on <var171:Array[Object]>*/;
874 var174
= ((val
* (*)(val
* self
))(var171
->class->vft
[COLOR_standard__string__Object__to_s
]))(var171
) /* to_s on <var171:Array[Object]>*/;
877 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var174
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
880 if (var_ret
== NULL
) {
881 var176
= 0; /* is null */
883 var176
= 1; /* arg is null and recv is not */
886 { /* Inline kernel#Object#!= (var_ret,var175) on <var_ret:nullable MType> */
889 var179
= ((short int (*)(val
* self
, val
* p0
))(var_ret
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ret
, var_other
) /* == on <var_ret:nullable MType(MType)>*/;
894 RET_LABEL178
:(void)0;
900 var181
= nit___nit__AbstractCompilerVisitor___new_var(var_v
, var_ret
);
903 { /* Inline abstract_compiler#StaticFrame#returnvar= (var_frame,var181) on <var_frame:StaticFrame> */
904 var_frame
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___returnvar
].val
= var181
; /* _returnvar on <var_frame:StaticFrame> */
905 RET_LABEL182
:(void)0;
913 var185
= "RET_LABEL";
915 var187
= standard___standard__NativeString___to_s_with_length(var185
, var186
);
920 var188
= nit___nit__AbstractCompilerVisitor___get_name(var_v
, var184
);
923 { /* Inline abstract_compiler#StaticFrame#returnlabel= (var_frame,var188) on <var_frame:StaticFrame> */
924 var_frame
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___returnlabel
].val
= var188
; /* _returnlabel on <var_frame:StaticFrame> */
925 RET_LABEL189
:(void)0;
929 { /* Inline separate_compiler#SeparateRuntimeFunction#is_thunk (self) on <self:SeparateRuntimeFunction> */
930 var192
= self
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___is_thunk
].s
; /* _is_thunk on <self:SeparateRuntimeFunction> */
932 RET_LABEL191
:(void)0;
937 var193
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__call(var_v
, var_mmethoddef
, var_recv
, var_arguments
);
941 if (var_ret
== NULL
) {
942 var195
= 0; /* is null */
944 var195
= 1; /* arg is null and recv is not */
947 { /* Inline kernel#Object#!= (var_ret,var194) on <var_ret:nullable MType> */
950 var198
= ((short int (*)(val
* self
, val
* p0
))(var_ret
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ret
, var_other
) /* == on <var_ret:nullable MType(MType)>*/;
955 RET_LABEL197
:(void)0;
961 if (var_subret
== NULL
) {
962 var201
= 0; /* is null */
964 var201
= 1; /* arg is null and recv is not */
967 { /* Inline kernel#Object#!= (var_subret,var200) on <var_subret:nullable RuntimeVariable> */
970 var204
= ((short int (*)(val
* self
, val
* p0
))(var_subret
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_subret
, var_other
) /* == on <var_subret:nullable RuntimeVariable(RuntimeVariable)>*/;
975 RET_LABEL203
:(void)0;
979 if (unlikely(!var201
)) {
980 PRINT_ERROR("Runtime error: %s", "Assert failed");
981 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1931);
985 { /* Inline abstract_compiler#StaticFrame#returnvar (var_frame) on <var_frame:StaticFrame> */
986 var208
= var_frame
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___returnvar
].val
; /* _returnvar on <var_frame:StaticFrame> */
988 RET_LABEL207
:(void)0;
991 if (unlikely(var206
== NULL
)) {
992 PRINT_ERROR("Runtime error: %s", "Cast failed");
993 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1932);
997 nit___nit__AbstractCompilerVisitor___assign(var_v
, var206
, var_subret
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
1003 var209
= nit__abstract_compiler___MMethodDef___compile_inside_to_c(var_mmethoddef
, var_v
, var_arguments
);
1007 { /* Inline abstract_compiler#StaticFrame#returnlabel (var_frame) on <var_frame:StaticFrame> */
1008 var212
= var_frame
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___returnlabel
].val
; /* _returnlabel on <var_frame:StaticFrame> */
1010 RET_LABEL211
:(void)0;
1013 if (unlikely(var210
== NULL
)) {
1014 PRINT_ERROR("Runtime error: %s", "Cast failed");
1015 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1938);
1019 var214
= varonce213
;
1023 var217
= standard___standard__NativeString___to_s_with_length(var215
, var216
);
1025 varonce213
= var214
;
1027 var218
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1028 { /* var218 = array_instance Array[Object] */
1030 var220
= NEW_standard__NativeArray(var219
, &type_standard__NativeArray__standard__Object
);
1031 ((struct instance_standard__NativeArray
*)var220
)->values
[0] = (val
*) var210
;
1032 ((struct instance_standard__NativeArray
*)var220
)->values
[1] = (val
*) var214
;
1034 ((void (*)(val
* self
, val
* p0
, long p1
))(var218
->class->vft
[COLOR_standard__array__Array__with_native
]))(var218
, var220
, var219
) /* with_native on <var218:Array[Object]>*/;
1038 var221
= ((val
* (*)(val
* self
))(var218
->class->vft
[COLOR_standard__string__Object__to_s
]))(var218
) /* to_s on <var218:Array[Object]>*/;
1041 nit___nit__AbstractCompilerVisitor___add(var_v
, var221
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1044 if (var_ret
== NULL
) {
1045 var223
= 0; /* is null */
1047 var223
= 1; /* arg is null and recv is not */
1050 { /* Inline kernel#Object#!= (var_ret,var222) on <var_ret:nullable MType> */
1053 var226
= ((short int (*)(val
* self
, val
* p0
))(var_ret
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ret
, var_other
) /* == on <var_ret:nullable MType(MType)>*/;
1058 RET_LABEL225
:(void)0;
1064 var229
= varonce228
;
1068 var232
= standard___standard__NativeString___to_s_with_length(var230
, var231
);
1070 varonce228
= var229
;
1073 { /* Inline abstract_compiler#StaticFrame#returnvar (var_frame) on <var_frame:StaticFrame> */
1074 var235
= var_frame
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___returnvar
].val
; /* _returnvar on <var_frame:StaticFrame> */
1076 RET_LABEL234
:(void)0;
1079 if (unlikely(var233
== NULL
)) {
1080 PRINT_ERROR("Runtime error: %s", "Cast failed");
1081 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1940);
1085 var237
= varonce236
;
1089 var240
= standard___standard__NativeString___to_s_with_length(var238
, var239
);
1091 varonce236
= var237
;
1093 var241
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1094 { /* var241 = array_instance Array[Object] */
1096 var243
= NEW_standard__NativeArray(var242
, &type_standard__NativeArray__standard__Object
);
1097 ((struct instance_standard__NativeArray
*)var243
)->values
[0] = (val
*) var229
;
1098 ((struct instance_standard__NativeArray
*)var243
)->values
[1] = (val
*) var233
;
1099 ((struct instance_standard__NativeArray
*)var243
)->values
[2] = (val
*) var237
;
1101 ((void (*)(val
* self
, val
* p0
, long p1
))(var241
->class->vft
[COLOR_standard__array__Array__with_native
]))(var241
, var243
, var242
) /* with_native on <var241:Array[Object]>*/;
1105 var244
= ((val
* (*)(val
* self
))(var241
->class->vft
[COLOR_standard__string__Object__to_s
]))(var241
) /* to_s on <var241:Array[Object]>*/;
1108 nit___nit__AbstractCompilerVisitor___add(var_v
, var244
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1113 var246
= varonce245
;
1117 var249
= standard___standard__NativeString___to_s_with_length(var247
, var248
);
1119 varonce245
= var246
;
1122 nit___nit__AbstractCompilerVisitor___add(var_v
, var246
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1125 { /* Inline abstract_compiler#AbstractCompiler#names (var_compiler) on <var_compiler:AbstractCompiler> */
1126 var252
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___names
].val
; /* _names on <var_compiler:AbstractCompiler> */
1127 if (unlikely(var252
== NULL
)) {
1128 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
1129 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 471);
1133 RET_LABEL251
:(void)0;
1137 var253
= nit___nit__AbstractRuntimeFunction___c_name(self
);
1140 var254
= nit___nit__MPropDef___nit__model_base__MEntity__full_name(var_mmethoddef
);
1143 var256
= varonce255
;
1147 var259
= standard___standard__NativeString___to_s_with_length(var257
, var258
);
1149 varonce255
= var256
;
1152 { /* Inline model#MPropDef#location (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
1153 var262
= var_mmethoddef
->attrs
[COLOR_nit__model__MPropDef___location
].val
; /* _location on <var_mmethoddef:MMethodDef> */
1154 if (unlikely(var262
== NULL
)) {
1155 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
1156 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2016);
1160 RET_LABEL261
:(void)0;
1164 { /* Inline location#Location#file (var260) on <var260:Location> */
1165 var265
= var260
->attrs
[COLOR_nit__location__Location___file
].val
; /* _file on <var260:Location> */
1167 RET_LABEL264
:(void)0;
1170 if (var263
== NULL
) {
1171 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1172 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1943);
1175 { /* Inline location#SourceFile#filename (var263) on <var263:nullable SourceFile> */
1176 if (unlikely(var263
== NULL
)) {
1177 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1178 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location
, 22);
1181 var268
= var263
->attrs
[COLOR_nit__location__SourceFile___filename
].val
; /* _filename on <var263:nullable SourceFile> */
1182 if (unlikely(var268
== NULL
)) {
1183 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
1184 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location
, 22);
1188 RET_LABEL267
:(void)0;
1192 var270
= varonce269
;
1196 var273
= standard___standard__NativeString___to_s_with_length(var271
, var272
);
1198 varonce269
= var270
;
1201 { /* Inline model#MPropDef#location (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
1202 var276
= var_mmethoddef
->attrs
[COLOR_nit__model__MPropDef___location
].val
; /* _location on <var_mmethoddef:MMethodDef> */
1203 if (unlikely(var276
== NULL
)) {
1204 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
1205 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2016);
1209 RET_LABEL275
:(void)0;
1213 { /* Inline location#Location#line_start (var274) on <var274:Location> */
1214 var279
= var274
->attrs
[COLOR_nit__location__Location___line_start
].l
; /* _line_start on <var274:Location> */
1216 RET_LABEL278
:(void)0;
1220 var281
= varonce280
;
1224 var284
= standard___standard__NativeString___to_s_with_length(var282
, var283
);
1226 varonce280
= var281
;
1228 var285
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1229 { /* var285 = array_instance Array[Object] */
1231 var287
= NEW_standard__NativeArray(var286
, &type_standard__NativeArray__standard__Object
);
1232 ((struct instance_standard__NativeArray
*)var287
)->values
[0] = (val
*) var254
;
1233 ((struct instance_standard__NativeArray
*)var287
)->values
[1] = (val
*) var256
;
1234 ((struct instance_standard__NativeArray
*)var287
)->values
[2] = (val
*) var266
;
1235 ((struct instance_standard__NativeArray
*)var287
)->values
[3] = (val
*) var270
;
1236 var288
= BOX_standard__Int(var277
); /* autobox from Int to Object */
1237 ((struct instance_standard__NativeArray
*)var287
)->values
[4] = (val
*) var288
;
1238 ((struct instance_standard__NativeArray
*)var287
)->values
[5] = (val
*) var281
;
1240 ((void (*)(val
* self
, val
* p0
, long p1
))(var285
->class->vft
[COLOR_standard__array__Array__with_native
]))(var285
, var287
, var286
) /* with_native on <var285:Array[Object]>*/;
1244 var289
= ((val
* (*)(val
* self
))(var285
->class->vft
[COLOR_standard__string__Object__to_s
]))(var285
) /* to_s on <var285:Array[Object]>*/;
1247 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var250
, var253
, var289
); /* Direct call hash_collection#HashMap#[]= on <var250:HashMap[String, String]>*/
1251 /* method separate_compiler#SeparateRuntimeFunction#init for (self: SeparateRuntimeFunction) */
1252 void nit___nit__SeparateRuntimeFunction___standard__kernel__Object__init(val
* self
) {
1254 ((void (*)(val
* self
))(self
->class->vft
[COLOR_nit___nit__SeparateRuntimeFunction___standard__kernel__Object__init
]))(self
) /* init on <self:SeparateRuntimeFunction>*/;
1258 /* method separate_compiler#MEntity#const_color for (self: MEntity): String */
1259 val
* nit__separate_compiler___MEntity___const_color(val
* self
) {
1260 val
* var
/* : String */;
1261 short int var1
/* : Bool */;
1262 val
* var2
/* : String */;
1263 val
* var3
/* : String */;
1264 static val
* varonce
;
1265 val
* var5
/* : String */;
1266 char* var6
/* : NativeString */;
1267 long var7
/* : Int */;
1268 val
* var8
/* : FlatString */;
1269 val
* var9
/* : String */;
1270 val
* var10
/* : Array[Object] */;
1271 long var11
/* : Int */;
1272 val
* var12
/* : NativeArray[Object] */;
1273 val
* var13
/* : String */;
1274 var1
= self
->attrs
[COLOR_nit__separate_compiler__MEntity___const_color
].val
!= NULL
; /* _const_color on <self:MEntity> */
1276 var2
= self
->attrs
[COLOR_nit__separate_compiler__MEntity___const_color
].val
; /* _const_color on <self:MEntity> */
1277 if (unlikely(var2
== NULL
)) {
1278 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _const_color");
1279 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1948);
1289 var8
= standard___standard__NativeString___to_s_with_length(var6
, var7
);
1294 var9
= ((val
* (*)(val
* self
))(self
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(self
) /* c_name on <self:MEntity>*/;
1296 var10
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1297 { /* var10 = array_instance Array[Object] */
1299 var12
= NEW_standard__NativeArray(var11
, &type_standard__NativeArray__standard__Object
);
1300 ((struct instance_standard__NativeArray
*)var12
)->values
[0] = (val
*) var5
;
1301 ((struct instance_standard__NativeArray
*)var12
)->values
[1] = (val
*) var9
;
1303 ((void (*)(val
* self
, val
* p0
, long p1
))(var10
->class->vft
[COLOR_standard__array__Array__with_native
]))(var10
, var12
, var11
) /* with_native on <var10:Array[Object]>*/;
1307 var13
= ((val
* (*)(val
* self
))(var10
->class->vft
[COLOR_standard__string__Object__to_s
]))(var10
) /* to_s on <var10:Array[Object]>*/;
1313 self
->attrs
[COLOR_nit__separate_compiler__MEntity___const_color
].val
= var3
; /* _const_color on <self:MEntity> */
1320 /* method separate_compiler#AMethPropdef#can_inline for (self: AMethPropdef): Bool */
1321 short int nit__separate_compiler___AMethPropdef___nit__abstract_compiler__APropdef__can_inline(val
* self
) {
1322 short int var
/* : Bool */;
1323 val
* var1
/* : nullable MPropDef */;
1324 val
* var3
/* : nullable MPropDef */;
1325 val
* var_m
/* var m: nullable MMethodDef */;
1326 short int var4
/* : Bool */;
1327 short int var5
/* : Bool */;
1328 val
* var6
/* : null */;
1329 short int var7
/* : Bool */;
1330 short int var8
/* : Bool */;
1331 val
* var_other
/* var other: nullable Object */;
1332 short int var10
/* : Bool */;
1333 short int var11
/* : Bool */;
1334 short int var_
/* var : Bool */;
1335 val
* var12
/* : MProperty */;
1336 val
* var14
/* : MProperty */;
1337 short int var15
/* : Bool */;
1338 short int var17
/* : Bool */;
1339 short int var_18
/* var : Bool */;
1340 short int var19
/* : Bool */;
1341 short int var21
/* : Bool */;
1342 short int var22
/* : Bool */;
1343 short int var23
/* : Bool */;
1345 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
1346 var3
= self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
1353 if (var_m
== NULL
) {
1354 var7
= 0; /* is null */
1356 var7
= 1; /* arg is null and recv is not */
1359 { /* Inline kernel#Object#!= (var_m,var6) on <var_m:nullable MMethodDef> */
1362 var10
= ((short int (*)(val
* self
, val
* p0
))(var_m
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_m
, var_other
) /* == on <var_m:nullable MMethodDef(MMethodDef)>*/;
1374 { /* Inline model#MPropDef#mproperty (var_m) on <var_m:nullable MMethodDef(MMethodDef)> */
1375 var14
= var_m
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_m:nullable MMethodDef(MMethodDef)> */
1376 if (unlikely(var14
== NULL
)) {
1377 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1378 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
1382 RET_LABEL13
:(void)0;
1386 { /* Inline model#MMethod#is_init (var12) on <var12:MProperty(MMethod)> */
1387 var17
= var12
->attrs
[COLOR_nit__model__MMethod___is_init
].s
; /* _is_init on <var12:MProperty(MMethod)> */
1389 RET_LABEL16
:(void)0;
1399 { /* Inline model#MMethodDef#is_extern (var_m) on <var_m:nullable MMethodDef(MMethodDef)> */
1400 var21
= var_m
->attrs
[COLOR_nit__model__MMethodDef___is_extern
].s
; /* _is_extern on <var_m:nullable MMethodDef(MMethodDef)> */
1402 RET_LABEL20
:(void)0;
1416 var23
= ((short int (*)(val
* self
))(self
->class->vft
[COLOR_nit__separate_compiler___AMethPropdef___nit__abstract_compiler__APropdef__can_inline
]))(self
) /* can_inline on <self:AMethPropdef>*/;