1 #include "typing.sep.0.h"
2 /* method typing#AForExpr#method_next= for (self: AForExpr, nullable CallSite) */
3 void typing__AForExpr__method_next_61d(val
* self
, val
* p0
) {
4 self
->attrs
[COLOR_typing__AForExpr___method_next
].val
= p0
; /* _method_next on <self:AForExpr> */
7 /* method typing#AForExpr#method_next= for (self: Object, nullable CallSite) */
8 void VIRTUAL_typing__AForExpr__method_next_61d(val
* self
, val
* p0
) {
9 { /* Inline typing#AForExpr#method_next= (self,p0) on <self:Object(AForExpr)> */
10 self
->attrs
[COLOR_typing__AForExpr___method_next
].val
= p0
; /* _method_next on <self:Object(AForExpr)> */
15 /* method typing#AForExpr#method_key for (self: AForExpr): nullable CallSite */
16 val
* typing__AForExpr__method_key(val
* self
) {
17 val
* var
/* : nullable CallSite */;
18 val
* var1
/* : nullable CallSite */;
19 var1
= self
->attrs
[COLOR_typing__AForExpr___method_key
].val
; /* _method_key on <self:AForExpr> */
24 /* method typing#AForExpr#method_key for (self: Object): nullable CallSite */
25 val
* VIRTUAL_typing__AForExpr__method_key(val
* self
) {
26 val
* var
/* : nullable CallSite */;
27 val
* var1
/* : nullable CallSite */;
28 val
* var3
/* : nullable CallSite */;
29 { /* Inline typing#AForExpr#method_key (self) on <self:Object(AForExpr)> */
30 var3
= self
->attrs
[COLOR_typing__AForExpr___method_key
].val
; /* _method_key on <self:Object(AForExpr)> */
38 /* method typing#AForExpr#method_key= for (self: AForExpr, nullable CallSite) */
39 void typing__AForExpr__method_key_61d(val
* self
, val
* p0
) {
40 self
->attrs
[COLOR_typing__AForExpr___method_key
].val
= p0
; /* _method_key on <self:AForExpr> */
43 /* method typing#AForExpr#method_key= for (self: Object, nullable CallSite) */
44 void VIRTUAL_typing__AForExpr__method_key_61d(val
* self
, val
* p0
) {
45 { /* Inline typing#AForExpr#method_key= (self,p0) on <self:Object(AForExpr)> */
46 self
->attrs
[COLOR_typing__AForExpr___method_key
].val
= p0
; /* _method_key on <self:Object(AForExpr)> */
51 /* method typing#AForExpr#method_finish for (self: AForExpr): nullable CallSite */
52 val
* typing__AForExpr__method_finish(val
* self
) {
53 val
* var
/* : nullable CallSite */;
54 val
* var1
/* : nullable CallSite */;
55 var1
= self
->attrs
[COLOR_typing__AForExpr___method_finish
].val
; /* _method_finish on <self:AForExpr> */
60 /* method typing#AForExpr#method_finish for (self: Object): nullable CallSite */
61 val
* VIRTUAL_typing__AForExpr__method_finish(val
* self
) {
62 val
* var
/* : nullable CallSite */;
63 val
* var1
/* : nullable CallSite */;
64 val
* var3
/* : nullable CallSite */;
65 { /* Inline typing#AForExpr#method_finish (self) on <self:Object(AForExpr)> */
66 var3
= self
->attrs
[COLOR_typing__AForExpr___method_finish
].val
; /* _method_finish on <self:Object(AForExpr)> */
74 /* method typing#AForExpr#method_finish= for (self: AForExpr, nullable CallSite) */
75 void typing__AForExpr__method_finish_61d(val
* self
, val
* p0
) {
76 self
->attrs
[COLOR_typing__AForExpr___method_finish
].val
= p0
; /* _method_finish on <self:AForExpr> */
79 /* method typing#AForExpr#method_finish= for (self: Object, nullable CallSite) */
80 void VIRTUAL_typing__AForExpr__method_finish_61d(val
* self
, val
* p0
) {
81 { /* Inline typing#AForExpr#method_finish= (self,p0) on <self:Object(AForExpr)> */
82 self
->attrs
[COLOR_typing__AForExpr___method_finish
].val
= p0
; /* _method_finish on <self:Object(AForExpr)> */
87 /* method typing#AForExpr#method_lt for (self: AForExpr): nullable CallSite */
88 val
* typing__AForExpr__method_lt(val
* self
) {
89 val
* var
/* : nullable CallSite */;
90 val
* var1
/* : nullable CallSite */;
91 var1
= self
->attrs
[COLOR_typing__AForExpr___method_lt
].val
; /* _method_lt on <self:AForExpr> */
96 /* method typing#AForExpr#method_lt for (self: Object): nullable CallSite */
97 val
* VIRTUAL_typing__AForExpr__method_lt(val
* self
) {
98 val
* var
/* : nullable CallSite */;
99 val
* var1
/* : nullable CallSite */;
100 val
* var3
/* : nullable CallSite */;
101 { /* Inline typing#AForExpr#method_lt (self) on <self:Object(AForExpr)> */
102 var3
= self
->attrs
[COLOR_typing__AForExpr___method_lt
].val
; /* _method_lt on <self:Object(AForExpr)> */
110 /* method typing#AForExpr#method_lt= for (self: AForExpr, nullable CallSite) */
111 void typing__AForExpr__method_lt_61d(val
* self
, val
* p0
) {
112 self
->attrs
[COLOR_typing__AForExpr___method_lt
].val
= p0
; /* _method_lt on <self:AForExpr> */
115 /* method typing#AForExpr#method_lt= for (self: Object, nullable CallSite) */
116 void VIRTUAL_typing__AForExpr__method_lt_61d(val
* self
, val
* p0
) {
117 { /* Inline typing#AForExpr#method_lt= (self,p0) on <self:Object(AForExpr)> */
118 self
->attrs
[COLOR_typing__AForExpr___method_lt
].val
= p0
; /* _method_lt on <self:Object(AForExpr)> */
123 /* method typing#AForExpr#method_successor for (self: AForExpr): nullable CallSite */
124 val
* typing__AForExpr__method_successor(val
* self
) {
125 val
* var
/* : nullable CallSite */;
126 val
* var1
/* : nullable CallSite */;
127 var1
= self
->attrs
[COLOR_typing__AForExpr___method_successor
].val
; /* _method_successor on <self:AForExpr> */
132 /* method typing#AForExpr#method_successor for (self: Object): nullable CallSite */
133 val
* VIRTUAL_typing__AForExpr__method_successor(val
* self
) {
134 val
* var
/* : nullable CallSite */;
135 val
* var1
/* : nullable CallSite */;
136 val
* var3
/* : nullable CallSite */;
137 { /* Inline typing#AForExpr#method_successor (self) on <self:Object(AForExpr)> */
138 var3
= self
->attrs
[COLOR_typing__AForExpr___method_successor
].val
; /* _method_successor on <self:Object(AForExpr)> */
146 /* method typing#AForExpr#method_successor= for (self: AForExpr, nullable CallSite) */
147 void typing__AForExpr__method_successor_61d(val
* self
, val
* p0
) {
148 self
->attrs
[COLOR_typing__AForExpr___method_successor
].val
= p0
; /* _method_successor on <self:AForExpr> */
151 /* method typing#AForExpr#method_successor= for (self: Object, nullable CallSite) */
152 void VIRTUAL_typing__AForExpr__method_successor_61d(val
* self
, val
* p0
) {
153 { /* Inline typing#AForExpr#method_successor= (self,p0) on <self:Object(AForExpr)> */
154 self
->attrs
[COLOR_typing__AForExpr___method_successor
].val
= p0
; /* _method_successor on <self:Object(AForExpr)> */
159 /* method typing#AForExpr#do_type_iterator for (self: AForExpr, TypeVisitor, MType) */
160 void typing__AForExpr__do_type_iterator(val
* self
, val
* p0
, val
* p1
) {
161 val
* var_v
/* var v: TypeVisitor */;
162 val
* var_mtype
/* var mtype: MType */;
163 short int var
/* : Bool */;
167 val
* var1
/* : String */;
168 char* var2
/* : NativeString */;
169 long var3
/* : Int */;
170 val
* var4
/* : FlatString */;
171 static val
* varonce5
;
172 val
* var6
/* : String */;
173 char* var7
/* : NativeString */;
174 long var8
/* : Int */;
175 val
* var9
/* : FlatString */;
176 val
* var10
/* : nullable MClass */;
177 val
* var_objcla
/* var objcla: nullable MClass */;
178 val
* var11
/* : null */;
179 short int var12
/* : Bool */;
180 short int var13
/* : Bool */;
181 val
* var_other
/* var other: nullable Object */;
182 short int var15
/* : Bool */;
183 short int var17
/* : Bool */;
184 static val
* varonce18
;
185 val
* var19
/* : String */;
186 char* var20
/* : NativeString */;
187 long var21
/* : Int */;
188 val
* var22
/* : FlatString */;
189 val
* var23
/* : AExpr */;
190 val
* var25
/* : AExpr */;
191 short int var26
/* : Bool */;
194 val
* var29
/* : nullable CallSite */;
195 val
* var_itdef
/* var itdef: nullable CallSite */;
196 val
* var30
/* : null */;
197 short int var31
/* : Bool */;
198 short int var32
/* : Bool */;
199 short int var34
/* : Bool */;
200 short int var36
/* : Bool */;
201 static val
* varonce37
;
202 val
* var38
/* : String */;
203 char* var39
/* : NativeString */;
204 long var40
/* : Int */;
205 val
* var41
/* : FlatString */;
206 static val
* varonce42
;
207 val
* var43
/* : String */;
208 char* var44
/* : NativeString */;
209 long var45
/* : Int */;
210 val
* var46
/* : FlatString */;
211 val
* var47
/* : Array[Object] */;
212 long var48
/* : Int */;
213 val
* var49
/* : NativeArray[Object] */;
214 val
* var50
/* : String */;
215 val
* var52
/* : MSignature */;
216 val
* var54
/* : MSignature */;
217 val
* var55
/* : nullable MType */;
218 val
* var57
/* : nullable MType */;
219 val
* var_ittype
/* var ittype: nullable MType */;
220 val
* var58
/* : null */;
221 short int var59
/* : Bool */;
222 short int var60
/* : Bool */;
223 short int var62
/* : Bool */;
224 short int var64
/* : Bool */;
225 static val
* varonce65
;
226 val
* var66
/* : String */;
227 char* var67
/* : NativeString */;
228 long var68
/* : Int */;
229 val
* var69
/* : FlatString */;
230 static val
* varonce70
;
231 val
* var71
/* : String */;
232 char* var72
/* : NativeString */;
233 long var73
/* : Int */;
234 val
* var74
/* : FlatString */;
235 val
* var75
/* : nullable MClass */;
236 val
* var_colit_cla
/* var colit_cla: nullable MClass */;
237 static val
* varonce76
;
238 val
* var77
/* : String */;
239 char* var78
/* : NativeString */;
240 long var79
/* : Int */;
241 val
* var80
/* : FlatString */;
242 val
* var81
/* : nullable MClass */;
243 val
* var_mapit_cla
/* var mapit_cla: nullable MClass */;
244 short int var82
/* : Bool */;
245 short int var_is_col
/* var is_col: Bool */;
246 short int var83
/* : Bool */;
247 short int var_is_map
/* var is_map: Bool */;
248 short int var84
/* : Bool */;
249 val
* var85
/* : null */;
250 short int var86
/* : Bool */;
251 short int var87
/* : Bool */;
252 val
* var_other89
/* var other: nullable Object */;
253 short int var90
/* : Bool */;
254 short int var91
/* : Bool */;
255 short int var92
/* : Bool */;
256 short int var_
/* var : Bool */;
257 val
* var93
/* : Array[MType] */;
258 long var94
/* : Int */;
259 val
* var_95
/* var : Array[MType] */;
260 val
* var96
/* : MClassType */;
261 val
* var98
/* : MClassType */;
262 val
* var99
/* : MType */;
263 val
* var100
/* : MClassType */;
264 short int var101
/* : Bool */;
265 val
* var102
/* : MModule */;
266 val
* var104
/* : MModule */;
267 val
* var105
/* : nullable MClassType */;
268 val
* var107
/* : nullable MClassType */;
269 val
* var108
/* : MClassType */;
270 val
* var_coltype
/* var coltype: MClassType */;
271 val
* var109
/* : nullable Array[Variable] */;
272 val
* var111
/* : nullable Array[Variable] */;
273 val
* var_variables
/* var variables: nullable Array[Variable] */;
274 long var112
/* : Int */;
275 long var114
/* : Int */;
276 long var115
/* : Int */;
277 short int var116
/* : Bool */;
278 short int var117
/* : Bool */;
279 short int var119
/* : Bool */;
280 short int var120
/* : Bool */;
281 static val
* varonce121
;
282 val
* var122
/* : String */;
283 char* var123
/* : NativeString */;
284 long var124
/* : Int */;
285 val
* var125
/* : FlatString */;
286 val
* var126
/* : nullable Object */;
287 val
* var127
/* : Array[MType] */;
288 val
* var129
/* : Array[MType] */;
289 val
* var130
/* : nullable Object */;
290 short int var132
/* : Bool */;
291 short int var133
/* : Bool */;
292 val
* var134
/* : null */;
293 short int var135
/* : Bool */;
294 short int var136
/* : Bool */;
295 short int var138
/* : Bool */;
296 short int var139
/* : Bool */;
297 short int var140
/* : Bool */;
298 short int var_141
/* var : Bool */;
299 val
* var142
/* : Array[MType] */;
300 long var143
/* : Int */;
301 val
* var_144
/* var : Array[MType] */;
302 val
* var145
/* : MClassType */;
303 val
* var147
/* : MClassType */;
304 val
* var148
/* : MClassType */;
305 val
* var150
/* : MClassType */;
306 val
* var151
/* : MType */;
307 val
* var152
/* : MClassType */;
308 short int var153
/* : Bool */;
309 val
* var154
/* : MModule */;
310 val
* var156
/* : MModule */;
311 val
* var157
/* : nullable MClassType */;
312 val
* var159
/* : nullable MClassType */;
313 val
* var160
/* : MClassType */;
314 val
* var_coltype161
/* var coltype: MClassType */;
315 val
* var162
/* : nullable Array[Variable] */;
316 val
* var164
/* : nullable Array[Variable] */;
317 val
* var_variables165
/* var variables: nullable Array[Variable] */;
318 long var166
/* : Int */;
319 long var168
/* : Int */;
320 long var169
/* : Int */;
321 short int var170
/* : Bool */;
322 short int var171
/* : Bool */;
323 short int var173
/* : Bool */;
324 short int var174
/* : Bool */;
325 static val
* varonce175
;
326 val
* var176
/* : String */;
327 char* var177
/* : NativeString */;
328 long var178
/* : Int */;
329 val
* var179
/* : FlatString */;
330 long var180
/* : Int */;
331 val
* var181
/* : nullable Object */;
332 val
* var182
/* : Array[MType] */;
333 val
* var184
/* : Array[MType] */;
334 long var185
/* : Int */;
335 val
* var186
/* : nullable Object */;
336 long var188
/* : Int */;
337 val
* var189
/* : nullable Object */;
338 val
* var190
/* : Array[MType] */;
339 val
* var192
/* : Array[MType] */;
340 long var193
/* : Int */;
341 val
* var194
/* : nullable Object */;
342 short int var196
/* : Bool */;
343 short int var197
/* : Bool */;
344 short int var198
/* : Bool */;
345 short int var_199
/* var : Bool */;
346 short int var200
/* : Bool */;
347 static val
* varonce201
;
348 val
* var202
/* : String */;
349 char* var203
/* : NativeString */;
350 long var204
/* : Int */;
351 val
* var205
/* : FlatString */;
352 short int var206
/* : Bool */;
353 val
* var207
/* : MType */;
354 val
* var208
/* : MType */;
355 short int var209
/* : Bool */;
358 const char* var_class_name
;
359 static val
* varonce213
;
360 val
* var214
/* : String */;
361 char* var215
/* : NativeString */;
362 long var216
/* : Int */;
363 val
* var217
/* : FlatString */;
364 short int var218
/* : Bool */;
365 val
* var219
/* : nullable CallSite */;
366 val
* var_ikdef
/* var ikdef: nullable CallSite */;
367 val
* var220
/* : null */;
368 short int var221
/* : Bool */;
369 short int var222
/* : Bool */;
370 short int var224
/* : Bool */;
371 short int var226
/* : Bool */;
372 static val
* varonce227
;
373 val
* var228
/* : String */;
374 char* var229
/* : NativeString */;
375 long var230
/* : Int */;
376 val
* var231
/* : FlatString */;
377 static val
* varonce232
;
378 val
* var233
/* : String */;
379 char* var234
/* : NativeString */;
380 long var235
/* : Int */;
381 val
* var236
/* : FlatString */;
382 val
* var237
/* : Array[Object] */;
383 long var238
/* : Int */;
384 val
* var239
/* : NativeArray[Object] */;
385 val
* var240
/* : String */;
386 static val
* varonce242
;
387 val
* var243
/* : String */;
388 char* var244
/* : NativeString */;
389 long var245
/* : Int */;
390 val
* var246
/* : FlatString */;
391 short int var247
/* : Bool */;
392 val
* var248
/* : nullable CallSite */;
393 val
* var_itemdef
/* var itemdef: nullable CallSite */;
394 val
* var249
/* : null */;
395 short int var250
/* : Bool */;
396 short int var251
/* : Bool */;
397 short int var253
/* : Bool */;
398 short int var255
/* : Bool */;
399 static val
* varonce256
;
400 val
* var257
/* : String */;
401 char* var258
/* : NativeString */;
402 long var259
/* : Int */;
403 val
* var260
/* : FlatString */;
404 static val
* varonce261
;
405 val
* var262
/* : String */;
406 char* var263
/* : NativeString */;
407 long var264
/* : Int */;
408 val
* var265
/* : FlatString */;
409 val
* var266
/* : Array[Object] */;
410 long var267
/* : Int */;
411 val
* var268
/* : NativeArray[Object] */;
412 val
* var269
/* : String */;
413 static val
* varonce271
;
414 val
* var272
/* : String */;
415 char* var273
/* : NativeString */;
416 long var274
/* : Int */;
417 val
* var275
/* : FlatString */;
418 short int var276
/* : Bool */;
419 val
* var277
/* : nullable CallSite */;
420 val
* var_nextdef
/* var nextdef: nullable CallSite */;
421 val
* var278
/* : null */;
422 short int var279
/* : Bool */;
423 short int var280
/* : Bool */;
424 short int var282
/* : Bool */;
425 short int var284
/* : Bool */;
426 static val
* varonce285
;
427 val
* var286
/* : String */;
428 char* var287
/* : NativeString */;
429 long var288
/* : Int */;
430 val
* var289
/* : FlatString */;
431 static val
* varonce290
;
432 val
* var291
/* : String */;
433 char* var292
/* : NativeString */;
434 long var293
/* : Int */;
435 val
* var294
/* : FlatString */;
436 val
* var295
/* : Array[Object] */;
437 long var296
/* : Int */;
438 val
* var297
/* : NativeArray[Object] */;
439 val
* var298
/* : String */;
440 static val
* varonce300
;
441 val
* var301
/* : String */;
442 char* var302
/* : NativeString */;
443 long var303
/* : Int */;
444 val
* var304
/* : FlatString */;
445 short int var305
/* : Bool */;
446 val
* var306
/* : nullable CallSite */;
447 static val
* varonce308
;
448 val
* var309
/* : String */;
449 char* var310
/* : NativeString */;
450 long var311
/* : Int */;
451 val
* var312
/* : FlatString */;
452 short int var313
/* : Bool */;
453 val
* var314
/* : nullable CallSite */;
454 val
* var_keydef
/* var keydef: nullable CallSite */;
455 val
* var315
/* : null */;
456 short int var316
/* : Bool */;
457 short int var317
/* : Bool */;
458 short int var319
/* : Bool */;
459 short int var321
/* : Bool */;
460 static val
* varonce322
;
461 val
* var323
/* : String */;
462 char* var324
/* : NativeString */;
463 long var325
/* : Int */;
464 val
* var326
/* : FlatString */;
465 static val
* varonce327
;
466 val
* var328
/* : String */;
467 char* var329
/* : NativeString */;
468 long var330
/* : Int */;
469 val
* var331
/* : FlatString */;
470 val
* var332
/* : Array[Object] */;
471 long var333
/* : Int */;
472 val
* var334
/* : NativeArray[Object] */;
473 val
* var335
/* : String */;
474 short int var337
/* : Bool */;
475 val
* var338
/* : nullable Array[Variable] */;
476 val
* var340
/* : nullable Array[Variable] */;
477 long var341
/* : Int */;
478 long var343
/* : Int */;
479 long var344
/* : Int */;
480 short int var345
/* : Bool */;
481 short int var346
/* : Bool */;
482 short int var348
/* : Bool */;
483 short int var_349
/* var : Bool */;
484 val
* var350
/* : AExpr */;
485 val
* var352
/* : AExpr */;
486 short int var353
/* : Bool */;
489 val
* var356
/* : nullable Array[Variable] */;
490 val
* var358
/* : nullable Array[Variable] */;
491 val
* var359
/* : nullable Object */;
492 val
* var_variable
/* var variable: Variable */;
493 val
* var360
/* : nullable MType */;
494 val
* var362
/* : nullable MType */;
495 val
* var_vtype
/* var vtype: MType */;
496 val
* var363
/* : AExpr */;
497 val
* var365
/* : AExpr */;
498 short int var366
/* : Bool */;
501 static val
* varonce369
;
502 val
* var370
/* : String */;
503 char* var371
/* : NativeString */;
504 long var372
/* : Int */;
505 val
* var373
/* : FlatString */;
506 short int var374
/* : Bool */;
507 val
* var375
/* : nullable CallSite */;
508 static val
* varonce377
;
509 val
* var378
/* : String */;
510 char* var379
/* : NativeString */;
511 long var380
/* : Int */;
512 val
* var381
/* : FlatString */;
513 short int var382
/* : Bool */;
514 val
* var383
/* : nullable CallSite */;
515 static val
* varonce385
;
516 val
* var386
/* : String */;
517 char* var387
/* : NativeString */;
518 long var388
/* : Int */;
519 val
* var389
/* : FlatString */;
520 short int var390
/* : Bool */;
521 val
* var391
/* : nullable CallSite */;
524 /* <var_mtype:MType> isa MNullType */
525 cltype
= type_model__MNullType
.color
;
526 idtype
= type_model__MNullType
.id
;
527 if(cltype
>= var_mtype
->type
->table_size
) {
530 var
= var_mtype
->type
->type_table
[cltype
] == idtype
;
536 var2
= "Type error: \'for\' cannot iterate over \'null\'";
538 var4
= string__NativeString__to_s_with_length(var2
, var3
);
543 typing__TypeVisitor__error(var_v
, self
, var1
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
553 var9
= string__NativeString__to_s_with_length(var7
, var8
);
558 var10
= typing__TypeVisitor__get_mclass(var_v
, self
, var6
);
562 if (var_objcla
== NULL
) {
563 var12
= 1; /* is null */
565 var12
= 0; /* arg is null but recv is not */
568 { /* Inline kernel#Object#== (var_objcla,var11) on <var_objcla:nullable MClass> */
571 { /* Inline kernel#Object#is_same_instance (var_objcla,var_other) on <var_objcla:nullable MClass(MClass)> */
572 var17
= var_objcla
== var_other
;
593 var22
= string__NativeString__to_s_with_length(var20
, var21
);
598 { /* Inline parser_nodes#AForExpr#n_expr (self) on <self:AForExpr> */
599 var25
= self
->attrs
[COLOR_parser_nodes__AForExpr___n_expr
].val
; /* _n_expr on <self:AForExpr> */
600 if (unlikely(var25
== NULL
)) {
601 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
602 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1427);
609 /* <var23:AExpr> isa ASelfExpr */
610 cltype27
= type_parser_nodes__ASelfExpr
.color
;
611 idtype28
= type_parser_nodes__ASelfExpr
.id
;
612 if(cltype27
>= var23
->type
->table_size
) {
615 var26
= var23
->type
->type_table
[cltype27
] == idtype28
;
618 var29
= typing__TypeVisitor__get_method(var_v
, self
, var_mtype
, var19
, var26
);
622 if (var_itdef
== NULL
) {
623 var31
= 1; /* is null */
625 var31
= 0; /* arg is null but recv is not */
628 { /* Inline kernel#Object#== (var_itdef,var30) on <var_itdef:nullable CallSite> */
631 { /* Inline kernel#Object#is_same_instance (var_itdef,var_other) on <var_itdef:nullable CallSite(CallSite)> */
632 var36
= var_itdef
== var_other
;
648 var39
= "Type Error: \'for\' expects a type providing \'iterator\' method, got \'";
650 var41
= string__NativeString__to_s_with_length(var39
, var40
);
659 var46
= string__NativeString__to_s_with_length(var44
, var45
);
663 var47
= NEW_array__Array(&type_array__Arraykernel__Object
);
664 { /* var47 = array_instance Array[Object] */
666 var49
= NEW_array__NativeArray(var48
, &type_array__NativeArraykernel__Object
);
667 ((struct instance_array__NativeArray
*)var49
)->values
[0] = (val
*) var38
;
668 ((struct instance_array__NativeArray
*)var49
)->values
[1] = (val
*) var_mtype
;
669 ((struct instance_array__NativeArray
*)var49
)->values
[2] = (val
*) var43
;
671 ((void (*)(val
*, val
*, long))(var47
->class->vft
[COLOR_array__Array__with_native
]))(var47
, var49
, var48
) /* with_native on <var47:Array[Object]>*/;
675 var50
= ((val
* (*)(val
*))(var47
->class->vft
[COLOR_string__Object__to_s
]))(var47
) /* to_s on <var47:Array[Object]>*/;
678 typing__TypeVisitor__error(var_v
, self
, var50
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
684 { /* Inline typing#AForExpr#method_iterator= (self,var_itdef) on <self:AForExpr> */
685 self
->attrs
[COLOR_typing__AForExpr___method_iterator
].val
= var_itdef
; /* _method_iterator on <self:AForExpr> */
690 { /* Inline typing#CallSite#msignature (var_itdef) on <var_itdef:nullable CallSite(CallSite)> */
691 var54
= var_itdef
->attrs
[COLOR_typing__CallSite___msignature
].val
; /* _msignature on <var_itdef:nullable CallSite(CallSite)> */
692 if (unlikely(var54
== NULL
)) {
693 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
694 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 490);
702 { /* Inline model#MSignature#return_mtype (var52) on <var52:MSignature> */
703 var57
= var52
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <var52:MSignature> */
710 if (var_ittype
== NULL
) {
711 var59
= 1; /* is null */
713 var59
= 0; /* arg is null but recv is not */
716 { /* Inline kernel#Object#== (var_ittype,var58) on <var_ittype:nullable MType> */
719 { /* Inline kernel#Object#is_same_instance (var_ittype,var_other) on <var_ittype:nullable MType(MType)> */
720 var64
= var_ittype
== var_other
;
736 var67
= "Type Error: \'for\' expects method \'iterator\' to return an \'Iterator\' or \'MapIterator\' type\'.";
738 var69
= string__NativeString__to_s_with_length(var67
, var68
);
743 typing__TypeVisitor__error(var_v
, self
, var66
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
753 var74
= string__NativeString__to_s_with_length(var72
, var73
);
758 var75
= typing__TypeVisitor__try_get_mclass(var_v
, self
, var71
);
760 var_colit_cla
= var75
;
764 var78
= "MapIterator";
766 var80
= string__NativeString__to_s_with_length(var78
, var79
);
771 var81
= typing__TypeVisitor__try_get_mclass(var_v
, self
, var77
);
773 var_mapit_cla
= var81
;
779 if (var_colit_cla
== NULL
) {
780 var86
= 0; /* is null */
782 var86
= 1; /* arg is null and recv is not */
785 { /* Inline kernel#Object#!= (var_colit_cla,var85) on <var_colit_cla:nullable MClass> */
788 var91
= ((short int (*)(val
*, val
*))(var_colit_cla
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_colit_cla
, var_other89
) /* == on <var_colit_cla:nullable MClass(MClass)>*/;
800 var93
= NEW_array__Array(&type_array__Arraymodel__MType
);
803 array__Array__with_capacity(var93
, var94
); /* Direct call array#Array#with_capacity on <var93:Array[MType]>*/
807 { /* Inline model#MClass#mclass_type (var_objcla) on <var_objcla:nullable MClass(MClass)> */
808 var98
= var_objcla
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var_objcla:nullable MClass(MClass)> */
809 if (unlikely(var98
== NULL
)) {
810 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
811 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
819 var99
= model__MType__as_nullable(var96
);
822 array__AbstractArray__push(var_95
, var99
); /* Direct call array#AbstractArray#push on <var_95:Array[MType]>*/
825 var100
= model__MClass__get_mtype(var_colit_cla
, var_95
);
828 var101
= typing__TypeVisitor__is_subtype(var_v
, var_ittype
, var100
);
836 { /* Inline typing#TypeVisitor#mmodule (var_v) on <var_v:TypeVisitor> */
837 var104
= var_v
->attrs
[COLOR_typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
838 if (unlikely(var104
== NULL
)) {
839 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
840 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 36);
844 RET_LABEL103
:(void)0;
848 { /* Inline typing#TypeVisitor#anchor (var_v) on <var_v:TypeVisitor> */
849 var107
= var_v
->attrs
[COLOR_typing__TypeVisitor___anchor
].val
; /* _anchor on <var_v:TypeVisitor> */
851 RET_LABEL106
:(void)0;
855 var108
= model__MType__supertype_to(var_ittype
, var102
, var105
, var_colit_cla
);
857 var_coltype
= var108
;
859 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
860 var111
= self
->attrs
[COLOR_scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
862 RET_LABEL110
:(void)0;
865 var_variables
= var109
;
866 if (var_variables
== NULL
) {
867 PRINT_ERROR("Runtime error: %s", "Receiver is null");
868 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 956);
871 { /* Inline array#AbstractArrayRead#length (var_variables) on <var_variables:nullable Array[Variable]> */
872 if (unlikely(var_variables
== NULL
)) {
873 PRINT_ERROR("Runtime error: %s", "Receiver is null");
874 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 24);
877 var114
= var_variables
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_variables:nullable Array[Variable]> */
879 RET_LABEL113
:(void)0;
884 { /* Inline kernel#Int#!= (var112,var115) on <var112:Int> */
885 var119
= var112
== var115
;
889 RET_LABEL118
:(void)0;
897 var123
= "Type Error: \'for\' expects only one variable when using \'Iterator\'.";
899 var125
= string__NativeString__to_s_with_length(var123
, var124
);
904 typing__TypeVisitor__error(var_v
, self
, var122
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
907 if (var_variables
== NULL
) {
908 PRINT_ERROR("Runtime error: %s", "Receiver is null");
909 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 959);
912 var126
= abstract_collection__SequenceRead__first(var_variables
);
915 { /* Inline model#MClassType#arguments (var_coltype) on <var_coltype:MClassType> */
916 var129
= var_coltype
->attrs
[COLOR_model__MClassType___arguments
].val
; /* _arguments on <var_coltype:MClassType> */
917 if (unlikely(var129
== NULL
)) {
918 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
919 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 996);
923 RET_LABEL128
:(void)0;
927 var130
= abstract_collection__SequenceRead__first(var127
);
930 { /* Inline typing#Variable#declared_type= (var126,var130) on <var126:nullable Object(Variable)> */
931 var126
->attrs
[COLOR_typing__Variable___declared_type
].val
= var130
; /* _declared_type on <var126:nullable Object(Variable)> */
932 RET_LABEL131
:(void)0;
941 if (var_mapit_cla
== NULL
) {
942 var135
= 0; /* is null */
944 var135
= 1; /* arg is null and recv is not */
947 { /* Inline kernel#Object#!= (var_mapit_cla,var134) on <var_mapit_cla:nullable MClass> */
948 var_other89
= var134
;
950 var139
= ((short int (*)(val
*, val
*))(var_mapit_cla
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mapit_cla
, var_other89
) /* == on <var_mapit_cla:nullable MClass(MClass)>*/;
956 RET_LABEL137
:(void)0;
962 var142
= NEW_array__Array(&type_array__Arraymodel__MType
);
965 array__Array__with_capacity(var142
, var143
); /* Direct call array#Array#with_capacity on <var142:Array[MType]>*/
969 { /* Inline model#MClass#mclass_type (var_objcla) on <var_objcla:nullable MClass(MClass)> */
970 var147
= var_objcla
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var_objcla:nullable MClass(MClass)> */
971 if (unlikely(var147
== NULL
)) {
972 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
973 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
977 RET_LABEL146
:(void)0;
981 array__AbstractArray__push(var_144
, var145
); /* Direct call array#AbstractArray#push on <var_144:Array[MType]>*/
984 { /* Inline model#MClass#mclass_type (var_objcla) on <var_objcla:nullable MClass(MClass)> */
985 var150
= var_objcla
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var_objcla:nullable MClass(MClass)> */
986 if (unlikely(var150
== NULL
)) {
987 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
988 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
992 RET_LABEL149
:(void)0;
996 var151
= model__MType__as_nullable(var148
);
999 array__AbstractArray__push(var_144
, var151
); /* Direct call array#AbstractArray#push on <var_144:Array[MType]>*/
1002 var152
= model__MClass__get_mtype(var_mapit_cla
, var_144
);
1005 var153
= typing__TypeVisitor__is_subtype(var_v
, var_ittype
, var152
);
1013 { /* Inline typing#TypeVisitor#mmodule (var_v) on <var_v:TypeVisitor> */
1014 var156
= var_v
->attrs
[COLOR_typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
1015 if (unlikely(var156
== NULL
)) {
1016 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
1017 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 36);
1021 RET_LABEL155
:(void)0;
1025 { /* Inline typing#TypeVisitor#anchor (var_v) on <var_v:TypeVisitor> */
1026 var159
= var_v
->attrs
[COLOR_typing__TypeVisitor___anchor
].val
; /* _anchor on <var_v:TypeVisitor> */
1028 RET_LABEL158
:(void)0;
1032 var160
= model__MType__supertype_to(var_ittype
, var154
, var157
, var_mapit_cla
);
1034 var_coltype161
= var160
;
1036 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
1037 var164
= self
->attrs
[COLOR_scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
1039 RET_LABEL163
:(void)0;
1042 var_variables165
= var162
;
1043 if (var_variables165
== NULL
) {
1044 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1045 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 968);
1048 { /* Inline array#AbstractArrayRead#length (var_variables165) on <var_variables165:nullable Array[Variable]> */
1049 if (unlikely(var_variables165
== NULL
)) {
1050 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1051 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 24);
1054 var168
= var_variables165
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_variables165:nullable Array[Variable]> */
1056 RET_LABEL167
:(void)0;
1061 { /* Inline kernel#Int#!= (var166,var169) on <var166:Int> */
1062 var173
= var166
== var169
;
1066 RET_LABEL172
:(void)0;
1072 var176
= varonce175
;
1074 var177
= "Type Error: \'for\' expects two variables when using \'MapIterator\'.";
1076 var179
= string__NativeString__to_s_with_length(var177
, var178
);
1078 varonce175
= var176
;
1081 typing__TypeVisitor__error(var_v
, self
, var176
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
1085 if (var_variables165
== NULL
) {
1086 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1087 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 971);
1090 var181
= array__Array___91d_93d(var_variables165
, var180
);
1093 { /* Inline model#MClassType#arguments (var_coltype161) on <var_coltype161:MClassType> */
1094 var184
= var_coltype161
->attrs
[COLOR_model__MClassType___arguments
].val
; /* _arguments on <var_coltype161:MClassType> */
1095 if (unlikely(var184
== NULL
)) {
1096 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
1097 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 996);
1101 RET_LABEL183
:(void)0;
1106 var186
= array__Array___91d_93d(var182
, var185
);
1109 { /* Inline typing#Variable#declared_type= (var181,var186) on <var181:nullable Object(Variable)> */
1110 var181
->attrs
[COLOR_typing__Variable___declared_type
].val
= var186
; /* _declared_type on <var181:nullable Object(Variable)> */
1111 RET_LABEL187
:(void)0;
1115 if (var_variables165
== NULL
) {
1116 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1117 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 972);
1120 var189
= array__Array___91d_93d(var_variables165
, var188
);
1123 { /* Inline model#MClassType#arguments (var_coltype161) on <var_coltype161:MClassType> */
1124 var192
= var_coltype161
->attrs
[COLOR_model__MClassType___arguments
].val
; /* _arguments on <var_coltype161:MClassType> */
1125 if (unlikely(var192
== NULL
)) {
1126 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
1127 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 996);
1131 RET_LABEL191
:(void)0;
1136 var194
= array__Array___91d_93d(var190
, var193
);
1139 { /* Inline typing#Variable#declared_type= (var189,var194) on <var189:nullable Object(Variable)> */
1140 var189
->attrs
[COLOR_typing__Variable___declared_type
].val
= var194
; /* _declared_type on <var189:nullable Object(Variable)> */
1141 RET_LABEL195
:(void)0;
1146 var_is_map
= var196
;
1149 var198
= !var_is_col
;
1152 var200
= !var_is_map
;
1159 var202
= varonce201
;
1161 var203
= "Type Error: \'for\' expects method \'iterator\' to return an \'Iterator\' or \'MapIterator\' type\'.";
1163 var205
= string__NativeString__to_s_with_length(var203
, var204
);
1165 varonce201
= var202
;
1168 typing__TypeVisitor__error(var_v
, self
, var202
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
1174 var206
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
1178 var207
= typing__TypeVisitor__anchor_to(var_v
, var_mtype
);
1184 var208
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__as_notnullable
]))(var_mtype
) /* as_notnullable on <var_mtype:MType>*/;
1187 /* <var_mtype:MType> isa MClassType */
1188 cltype210
= type_model__MClassType
.color
;
1189 idtype211
= type_model__MClassType
.id
;
1190 if(cltype210
>= var_mtype
->type
->table_size
) {
1193 var209
= var_mtype
->type
->type_table
[cltype210
] == idtype211
;
1195 if (unlikely(!var209
)) {
1196 var_class_name
= var_mtype
== NULL ?
"null" : var_mtype
->type
->name
;
1197 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
1198 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 986);
1202 { /* Inline typing#AForExpr#coltype= (self,var_mtype) on <self:AForExpr> */
1203 self
->attrs
[COLOR_typing__AForExpr___coltype
].val
= var_mtype
; /* _coltype on <self:AForExpr> */
1204 RET_LABEL212
:(void)0;
1208 var214
= varonce213
;
1212 var217
= string__NativeString__to_s_with_length(var215
, var216
);
1214 varonce213
= var214
;
1218 var219
= typing__TypeVisitor__get_method(var_v
, self
, var_ittype
, var214
, var218
);
1222 if (var_ikdef
== NULL
) {
1223 var221
= 1; /* is null */
1225 var221
= 0; /* arg is null but recv is not */
1228 { /* Inline kernel#Object#== (var_ikdef,var220) on <var_ikdef:nullable CallSite> */
1231 { /* Inline kernel#Object#is_same_instance (var_ikdef,var_other) on <var_ikdef:nullable CallSite(CallSite)> */
1232 var226
= var_ikdef
== var_other
;
1235 RET_LABEL225
:(void)0;
1240 RET_LABEL223
:(void)0;
1246 var228
= varonce227
;
1248 var229
= "Type Error: \'for\' expects a method \'is_ok\' in \'Iterator\' type ";
1250 var231
= string__NativeString__to_s_with_length(var229
, var230
);
1252 varonce227
= var228
;
1255 var233
= varonce232
;
1259 var236
= string__NativeString__to_s_with_length(var234
, var235
);
1261 varonce232
= var233
;
1263 var237
= NEW_array__Array(&type_array__Arraykernel__Object
);
1264 { /* var237 = array_instance Array[Object] */
1266 var239
= NEW_array__NativeArray(var238
, &type_array__NativeArraykernel__Object
);
1267 ((struct instance_array__NativeArray
*)var239
)->values
[0] = (val
*) var228
;
1268 ((struct instance_array__NativeArray
*)var239
)->values
[1] = (val
*) var_ittype
;
1269 ((struct instance_array__NativeArray
*)var239
)->values
[2] = (val
*) var233
;
1271 ((void (*)(val
*, val
*, long))(var237
->class->vft
[COLOR_array__Array__with_native
]))(var237
, var239
, var238
) /* with_native on <var237:Array[Object]>*/;
1275 var240
= ((val
* (*)(val
*))(var237
->class->vft
[COLOR_string__Object__to_s
]))(var237
) /* to_s on <var237:Array[Object]>*/;
1278 typing__TypeVisitor__error(var_v
, self
, var240
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
1284 { /* Inline typing#AForExpr#method_is_ok= (self,var_ikdef) on <self:AForExpr> */
1285 self
->attrs
[COLOR_typing__AForExpr___method_is_ok
].val
= var_ikdef
; /* _method_is_ok on <self:AForExpr> */
1286 RET_LABEL241
:(void)0;
1290 var243
= varonce242
;
1294 var246
= string__NativeString__to_s_with_length(var244
, var245
);
1296 varonce242
= var243
;
1300 var248
= typing__TypeVisitor__get_method(var_v
, self
, var_ittype
, var243
, var247
);
1302 var_itemdef
= var248
;
1304 if (var_itemdef
== NULL
) {
1305 var250
= 1; /* is null */
1307 var250
= 0; /* arg is null but recv is not */
1310 { /* Inline kernel#Object#== (var_itemdef,var249) on <var_itemdef:nullable CallSite> */
1313 { /* Inline kernel#Object#is_same_instance (var_itemdef,var_other) on <var_itemdef:nullable CallSite(CallSite)> */
1314 var255
= var_itemdef
== var_other
;
1317 RET_LABEL254
:(void)0;
1322 RET_LABEL252
:(void)0;
1328 var257
= varonce256
;
1330 var258
= "Type Error: \'for\' expects a method \'item\' in \'Iterator\' type ";
1332 var260
= string__NativeString__to_s_with_length(var258
, var259
);
1334 varonce256
= var257
;
1337 var262
= varonce261
;
1341 var265
= string__NativeString__to_s_with_length(var263
, var264
);
1343 varonce261
= var262
;
1345 var266
= NEW_array__Array(&type_array__Arraykernel__Object
);
1346 { /* var266 = array_instance Array[Object] */
1348 var268
= NEW_array__NativeArray(var267
, &type_array__NativeArraykernel__Object
);
1349 ((struct instance_array__NativeArray
*)var268
)->values
[0] = (val
*) var257
;
1350 ((struct instance_array__NativeArray
*)var268
)->values
[1] = (val
*) var_ittype
;
1351 ((struct instance_array__NativeArray
*)var268
)->values
[2] = (val
*) var262
;
1353 ((void (*)(val
*, val
*, long))(var266
->class->vft
[COLOR_array__Array__with_native
]))(var266
, var268
, var267
) /* with_native on <var266:Array[Object]>*/;
1357 var269
= ((val
* (*)(val
*))(var266
->class->vft
[COLOR_string__Object__to_s
]))(var266
) /* to_s on <var266:Array[Object]>*/;
1360 typing__TypeVisitor__error(var_v
, self
, var269
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
1366 { /* Inline typing#AForExpr#method_item= (self,var_itemdef) on <self:AForExpr> */
1367 self
->attrs
[COLOR_typing__AForExpr___method_item
].val
= var_itemdef
; /* _method_item on <self:AForExpr> */
1368 RET_LABEL270
:(void)0;
1372 var272
= varonce271
;
1376 var275
= string__NativeString__to_s_with_length(var273
, var274
);
1378 varonce271
= var272
;
1382 var277
= typing__TypeVisitor__get_method(var_v
, self
, var_ittype
, var272
, var276
);
1384 var_nextdef
= var277
;
1386 if (var_nextdef
== NULL
) {
1387 var279
= 1; /* is null */
1389 var279
= 0; /* arg is null but recv is not */
1392 { /* Inline kernel#Object#== (var_nextdef,var278) on <var_nextdef:nullable CallSite> */
1395 { /* Inline kernel#Object#is_same_instance (var_nextdef,var_other) on <var_nextdef:nullable CallSite(CallSite)> */
1396 var284
= var_nextdef
== var_other
;
1399 RET_LABEL283
:(void)0;
1404 RET_LABEL281
:(void)0;
1410 var286
= varonce285
;
1412 var287
= "Type Error: \'for\' expects a method \'next\' in \'Iterator\' type ";
1414 var289
= string__NativeString__to_s_with_length(var287
, var288
);
1416 varonce285
= var286
;
1419 var291
= varonce290
;
1423 var294
= string__NativeString__to_s_with_length(var292
, var293
);
1425 varonce290
= var291
;
1427 var295
= NEW_array__Array(&type_array__Arraykernel__Object
);
1428 { /* var295 = array_instance Array[Object] */
1430 var297
= NEW_array__NativeArray(var296
, &type_array__NativeArraykernel__Object
);
1431 ((struct instance_array__NativeArray
*)var297
)->values
[0] = (val
*) var286
;
1432 ((struct instance_array__NativeArray
*)var297
)->values
[1] = (val
*) var_ittype
;
1433 ((struct instance_array__NativeArray
*)var297
)->values
[2] = (val
*) var291
;
1435 ((void (*)(val
*, val
*, long))(var295
->class->vft
[COLOR_array__Array__with_native
]))(var295
, var297
, var296
) /* with_native on <var295:Array[Object]>*/;
1439 var298
= ((val
* (*)(val
*))(var295
->class->vft
[COLOR_string__Object__to_s
]))(var295
) /* to_s on <var295:Array[Object]>*/;
1442 typing__TypeVisitor__error(var_v
, self
, var298
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
1448 { /* Inline typing#AForExpr#method_next= (self,var_nextdef) on <self:AForExpr> */
1449 self
->attrs
[COLOR_typing__AForExpr___method_next
].val
= var_nextdef
; /* _method_next on <self:AForExpr> */
1450 RET_LABEL299
:(void)0;
1454 var301
= varonce300
;
1458 var304
= string__NativeString__to_s_with_length(var302
, var303
);
1460 varonce300
= var301
;
1464 var306
= typing__TypeVisitor__try_get_method(var_v
, self
, var_ittype
, var301
, var305
);
1467 { /* Inline typing#AForExpr#method_finish= (self,var306) on <self:AForExpr> */
1468 self
->attrs
[COLOR_typing__AForExpr___method_finish
].val
= var306
; /* _method_finish on <self:AForExpr> */
1469 RET_LABEL307
:(void)0;
1474 var309
= varonce308
;
1478 var312
= string__NativeString__to_s_with_length(var310
, var311
);
1480 varonce308
= var309
;
1484 var314
= typing__TypeVisitor__get_method(var_v
, self
, var_ittype
, var309
, var313
);
1486 var_keydef
= var314
;
1488 if (var_keydef
== NULL
) {
1489 var316
= 1; /* is null */
1491 var316
= 0; /* arg is null but recv is not */
1494 { /* Inline kernel#Object#== (var_keydef,var315) on <var_keydef:nullable CallSite> */
1497 { /* Inline kernel#Object#is_same_instance (var_keydef,var_other) on <var_keydef:nullable CallSite(CallSite)> */
1498 var321
= var_keydef
== var_other
;
1501 RET_LABEL320
:(void)0;
1506 RET_LABEL318
:(void)0;
1512 var323
= varonce322
;
1514 var324
= "Type Error: \'for\' expects a method \'key\' in \'Iterator\' type ";
1516 var326
= string__NativeString__to_s_with_length(var324
, var325
);
1518 varonce322
= var323
;
1521 var328
= varonce327
;
1525 var331
= string__NativeString__to_s_with_length(var329
, var330
);
1527 varonce327
= var328
;
1529 var332
= NEW_array__Array(&type_array__Arraykernel__Object
);
1530 { /* var332 = array_instance Array[Object] */
1532 var334
= NEW_array__NativeArray(var333
, &type_array__NativeArraykernel__Object
);
1533 ((struct instance_array__NativeArray
*)var334
)->values
[0] = (val
*) var323
;
1534 ((struct instance_array__NativeArray
*)var334
)->values
[1] = (val
*) var_ittype
;
1535 ((struct instance_array__NativeArray
*)var334
)->values
[2] = (val
*) var328
;
1537 ((void (*)(val
*, val
*, long))(var332
->class->vft
[COLOR_array__Array__with_native
]))(var332
, var334
, var333
) /* with_native on <var332:Array[Object]>*/;
1541 var335
= ((val
* (*)(val
*))(var332
->class->vft
[COLOR_string__Object__to_s
]))(var332
) /* to_s on <var332:Array[Object]>*/;
1544 typing__TypeVisitor__error(var_v
, self
, var335
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
1550 { /* Inline typing#AForExpr#method_key= (self,var_keydef) on <self:AForExpr> */
1551 self
->attrs
[COLOR_typing__AForExpr___method_key
].val
= var_keydef
; /* _method_key on <self:AForExpr> */
1552 RET_LABEL336
:(void)0;
1558 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
1559 var340
= self
->attrs
[COLOR_scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
1561 RET_LABEL339
:(void)0;
1564 if (var338
== NULL
) {
1565 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1566 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1021);
1569 { /* Inline array#AbstractArrayRead#length (var338) on <var338:nullable Array[Variable]> */
1570 if (unlikely(var338
== NULL
)) {
1571 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1572 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 24);
1575 var343
= var338
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var338:nullable Array[Variable]> */
1577 RET_LABEL342
:(void)0;
1582 { /* Inline kernel#Int#== (var341,var344) on <var341:Int> */
1583 var348
= var341
== var344
;
1586 RET_LABEL347
:(void)0;
1593 { /* Inline parser_nodes#AForExpr#n_expr (self) on <self:AForExpr> */
1594 var352
= self
->attrs
[COLOR_parser_nodes__AForExpr___n_expr
].val
; /* _n_expr on <self:AForExpr> */
1595 if (unlikely(var352
== NULL
)) {
1596 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1597 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1427);
1601 RET_LABEL351
:(void)0;
1604 /* <var350:AExpr> isa ARangeExpr */
1605 cltype354
= type_parser_nodes__ARangeExpr
.color
;
1606 idtype355
= type_parser_nodes__ARangeExpr
.id
;
1607 if(cltype354
>= var350
->type
->table_size
) {
1610 var353
= var350
->type
->type_table
[cltype354
] == idtype355
;
1618 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
1619 var358
= self
->attrs
[COLOR_scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
1621 RET_LABEL357
:(void)0;
1624 if (var356
== NULL
) {
1625 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1626 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1022);
1629 var359
= abstract_collection__SequenceRead__first(var356
);
1631 var_variable
= var359
;
1633 { /* Inline typing#Variable#declared_type (var_variable) on <var_variable:Variable> */
1634 var362
= var_variable
->attrs
[COLOR_typing__Variable___declared_type
].val
; /* _declared_type on <var_variable:Variable> */
1636 RET_LABEL361
:(void)0;
1639 if (unlikely(var360
== NULL
)) {
1640 PRINT_ERROR("Runtime error: %s", "Cast failed");
1641 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1023);
1646 { /* Inline parser_nodes#AForExpr#n_expr (self) on <self:AForExpr> */
1647 var365
= self
->attrs
[COLOR_parser_nodes__AForExpr___n_expr
].val
; /* _n_expr on <self:AForExpr> */
1648 if (unlikely(var365
== NULL
)) {
1649 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1650 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1427);
1654 RET_LABEL364
:(void)0;
1657 /* <var363:AExpr> isa AOrangeExpr */
1658 cltype367
= type_parser_nodes__AOrangeExpr
.color
;
1659 idtype368
= type_parser_nodes__AOrangeExpr
.id
;
1660 if(cltype367
>= var363
->type
->table_size
) {
1663 var366
= var363
->type
->type_table
[cltype367
] == idtype368
;
1667 var370
= varonce369
;
1671 var373
= string__NativeString__to_s_with_length(var371
, var372
);
1673 varonce369
= var370
;
1677 var375
= typing__TypeVisitor__get_method(var_v
, self
, var_vtype
, var370
, var374
);
1680 { /* Inline typing#AForExpr#method_lt= (self,var375) on <self:AForExpr> */
1681 self
->attrs
[COLOR_typing__AForExpr___method_lt
].val
= var375
; /* _method_lt on <self:AForExpr> */
1682 RET_LABEL376
:(void)0;
1687 var378
= varonce377
;
1691 var381
= string__NativeString__to_s_with_length(var379
, var380
);
1693 varonce377
= var378
;
1697 var383
= typing__TypeVisitor__get_method(var_v
, self
, var_vtype
, var378
, var382
);
1700 { /* Inline typing#AForExpr#method_lt= (self,var383) on <self:AForExpr> */
1701 self
->attrs
[COLOR_typing__AForExpr___method_lt
].val
= var383
; /* _method_lt on <self:AForExpr> */
1702 RET_LABEL384
:(void)0;
1707 var386
= varonce385
;
1709 var387
= "successor";
1711 var389
= string__NativeString__to_s_with_length(var387
, var388
);
1713 varonce385
= var386
;
1717 var391
= typing__TypeVisitor__get_method(var_v
, self
, var_vtype
, var386
, var390
);
1720 { /* Inline typing#AForExpr#method_successor= (self,var391) on <self:AForExpr> */
1721 self
->attrs
[COLOR_typing__AForExpr___method_successor
].val
= var391
; /* _method_successor on <self:AForExpr> */
1722 RET_LABEL392
:(void)0;
1729 /* method typing#AForExpr#do_type_iterator for (self: Object, TypeVisitor, MType) */
1730 void VIRTUAL_typing__AForExpr__do_type_iterator(val
* self
, val
* p0
, val
* p1
) {
1731 typing__AForExpr__do_type_iterator(self
, p0
, p1
); /* Direct call typing#AForExpr#do_type_iterator on <self:Object(AForExpr)>*/
1734 /* method typing#AForExpr#accept_typing for (self: AForExpr, TypeVisitor) */
1735 void typing__AForExpr__accept_typing(val
* self
, val
* p0
) {
1736 val
* var_v
/* var v: TypeVisitor */;
1737 val
* var
/* : AExpr */;
1738 val
* var2
/* : AExpr */;
1739 val
* var3
/* : nullable MType */;
1740 val
* var_mtype
/* var mtype: nullable MType */;
1741 val
* var4
/* : null */;
1742 short int var5
/* : Bool */;
1743 short int var6
/* : Bool */;
1744 val
* var_other
/* var other: nullable Object */;
1745 short int var8
/* : Bool */;
1746 short int var10
/* : Bool */;
1747 val
* var11
/* : nullable AExpr */;
1748 val
* var13
/* : nullable AExpr */;
1749 short int var14
/* : Bool */;
1752 { /* Inline parser_nodes#AForExpr#n_expr (self) on <self:AForExpr> */
1753 var2
= self
->attrs
[COLOR_parser_nodes__AForExpr___n_expr
].val
; /* _n_expr on <self:AForExpr> */
1754 if (unlikely(var2
== NULL
)) {
1755 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1756 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1427);
1764 var3
= typing__TypeVisitor__visit_expr(var_v
, var
);
1768 if (var_mtype
== NULL
) {
1769 var5
= 1; /* is null */
1771 var5
= 0; /* arg is null but recv is not */
1774 { /* Inline kernel#Object#== (var_mtype,var4) on <var_mtype:nullable MType> */
1777 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
1778 var10
= var_mtype
== var_other
;
1795 typing__AForExpr__do_type_iterator(self
, var_v
, var_mtype
); /* Direct call typing#AForExpr#do_type_iterator on <self:AForExpr>*/
1798 { /* Inline parser_nodes#AForExpr#n_block (self) on <self:AForExpr> */
1799 var13
= self
->attrs
[COLOR_parser_nodes__AForExpr___n_block
].val
; /* _n_block on <self:AForExpr> */
1801 RET_LABEL12
:(void)0;
1805 typing__TypeVisitor__visit_stmt(var_v
, var11
); /* Direct call typing#TypeVisitor#visit_stmt on <var_v:TypeVisitor>*/
1809 { /* Inline typing#AExpr#is_typed= (self,var14) on <self:AForExpr> */
1810 self
->attrs
[COLOR_typing__AExpr___is_typed
].s
= var14
; /* _is_typed on <self:AForExpr> */
1811 RET_LABEL15
:(void)0;
1816 /* method typing#AForExpr#accept_typing for (self: Object, TypeVisitor) */
1817 void VIRTUAL_typing__AForExpr__accept_typing(val
* self
, val
* p0
) {
1818 typing__AForExpr__accept_typing(self
, p0
); /* Direct call typing#AForExpr#accept_typing on <self:Object(AForExpr)>*/
1821 /* method typing#AAssertExpr#accept_typing for (self: AAssertExpr, TypeVisitor) */
1822 void typing__AAssertExpr__accept_typing(val
* self
, val
* p0
) {
1823 val
* var_v
/* var v: TypeVisitor */;
1824 val
* var
/* : AExpr */;
1825 val
* var2
/* : AExpr */;
1826 val
* var3
/* : nullable MType */;
1827 val
* var4
/* : nullable AExpr */;
1828 val
* var6
/* : nullable AExpr */;
1829 short int var7
/* : Bool */;
1832 { /* Inline parser_nodes#AAssertExpr#n_expr (self) on <self:AAssertExpr> */
1833 var2
= self
->attrs
[COLOR_parser_nodes__AAssertExpr___n_expr
].val
; /* _n_expr on <self:AAssertExpr> */
1834 if (unlikely(var2
== NULL
)) {
1835 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1836 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1437);
1844 var3
= typing__TypeVisitor__visit_expr_bool(var_v
, var
);
1847 { /* Inline parser_nodes#AAssertExpr#n_else (self) on <self:AAssertExpr> */
1848 var6
= self
->attrs
[COLOR_parser_nodes__AAssertExpr___n_else
].val
; /* _n_else on <self:AAssertExpr> */
1854 typing__TypeVisitor__visit_stmt(var_v
, var4
); /* Direct call typing#TypeVisitor#visit_stmt on <var_v:TypeVisitor>*/
1858 { /* Inline typing#AExpr#is_typed= (self,var7) on <self:AAssertExpr> */
1859 self
->attrs
[COLOR_typing__AExpr___is_typed
].s
= var7
; /* _is_typed on <self:AAssertExpr> */
1865 /* method typing#AAssertExpr#accept_typing for (self: Object, TypeVisitor) */
1866 void VIRTUAL_typing__AAssertExpr__accept_typing(val
* self
, val
* p0
) {
1867 typing__AAssertExpr__accept_typing(self
, p0
); /* Direct call typing#AAssertExpr#accept_typing on <self:Object(AAssertExpr)>*/
1870 /* method typing#AOrExpr#accept_typing for (self: AOrExpr, TypeVisitor) */
1871 void typing__AOrExpr__accept_typing(val
* self
, val
* p0
) {
1872 val
* var_v
/* var v: TypeVisitor */;
1873 val
* var
/* : AExpr */;
1874 val
* var2
/* : AExpr */;
1875 val
* var3
/* : nullable MType */;
1876 val
* var4
/* : AExpr */;
1877 val
* var6
/* : AExpr */;
1878 val
* var7
/* : nullable MType */;
1879 val
* var8
/* : nullable MType */;
1882 { /* Inline parser_nodes#AOrExpr#n_expr (self) on <self:AOrExpr> */
1883 var2
= self
->attrs
[COLOR_parser_nodes__AOrExpr___n_expr
].val
; /* _n_expr on <self:AOrExpr> */
1884 if (unlikely(var2
== NULL
)) {
1885 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1886 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1486);
1894 var3
= typing__TypeVisitor__visit_expr_bool(var_v
, var
);
1897 { /* Inline parser_nodes#AOrExpr#n_expr2 (self) on <self:AOrExpr> */
1898 var6
= self
->attrs
[COLOR_parser_nodes__AOrExpr___n_expr2
].val
; /* _n_expr2 on <self:AOrExpr> */
1899 if (unlikely(var6
== NULL
)) {
1900 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
1901 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1487);
1909 var7
= typing__TypeVisitor__visit_expr_bool(var_v
, var4
);
1912 var8
= typing__TypeVisitor__type_bool(var_v
, self
);
1915 { /* Inline typing#AExpr#mtype= (self,var8) on <self:AOrExpr> */
1916 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var8
; /* _mtype on <self:AOrExpr> */
1922 /* method typing#AOrExpr#accept_typing for (self: Object, TypeVisitor) */
1923 void VIRTUAL_typing__AOrExpr__accept_typing(val
* self
, val
* p0
) {
1924 typing__AOrExpr__accept_typing(self
, p0
); /* Direct call typing#AOrExpr#accept_typing on <self:Object(AOrExpr)>*/
1927 /* method typing#AImpliesExpr#accept_typing for (self: AImpliesExpr, TypeVisitor) */
1928 void typing__AImpliesExpr__accept_typing(val
* self
, val
* p0
) {
1929 val
* var_v
/* var v: TypeVisitor */;
1930 val
* var
/* : AExpr */;
1931 val
* var2
/* : AExpr */;
1932 val
* var3
/* : nullable MType */;
1933 val
* var4
/* : AExpr */;
1934 val
* var6
/* : AExpr */;
1935 val
* var7
/* : nullable MType */;
1936 val
* var8
/* : nullable MType */;
1939 { /* Inline parser_nodes#AImpliesExpr#n_expr (self) on <self:AImpliesExpr> */
1940 var2
= self
->attrs
[COLOR_parser_nodes__AImpliesExpr___n_expr
].val
; /* _n_expr on <self:AImpliesExpr> */
1941 if (unlikely(var2
== NULL
)) {
1942 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1943 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1507);
1951 var3
= typing__TypeVisitor__visit_expr_bool(var_v
, var
);
1954 { /* Inline parser_nodes#AImpliesExpr#n_expr2 (self) on <self:AImpliesExpr> */
1955 var6
= self
->attrs
[COLOR_parser_nodes__AImpliesExpr___n_expr2
].val
; /* _n_expr2 on <self:AImpliesExpr> */
1956 if (unlikely(var6
== NULL
)) {
1957 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
1958 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1508);
1966 var7
= typing__TypeVisitor__visit_expr_bool(var_v
, var4
);
1969 var8
= typing__TypeVisitor__type_bool(var_v
, self
);
1972 { /* Inline typing#AExpr#mtype= (self,var8) on <self:AImpliesExpr> */
1973 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var8
; /* _mtype on <self:AImpliesExpr> */
1979 /* method typing#AImpliesExpr#accept_typing for (self: Object, TypeVisitor) */
1980 void VIRTUAL_typing__AImpliesExpr__accept_typing(val
* self
, val
* p0
) {
1981 typing__AImpliesExpr__accept_typing(self
, p0
); /* Direct call typing#AImpliesExpr#accept_typing on <self:Object(AImpliesExpr)>*/
1984 /* method typing#AAndExpr#accept_typing for (self: AAndExpr, TypeVisitor) */
1985 void typing__AAndExpr__accept_typing(val
* self
, val
* p0
) {
1986 val
* var_v
/* var v: TypeVisitor */;
1987 val
* var
/* : AExpr */;
1988 val
* var2
/* : AExpr */;
1989 val
* var3
/* : nullable MType */;
1990 val
* var4
/* : AExpr */;
1991 val
* var6
/* : AExpr */;
1992 val
* var7
/* : nullable MType */;
1993 val
* var8
/* : nullable MType */;
1996 { /* Inline parser_nodes#AAndExpr#n_expr (self) on <self:AAndExpr> */
1997 var2
= self
->attrs
[COLOR_parser_nodes__AAndExpr___n_expr
].val
; /* _n_expr on <self:AAndExpr> */
1998 if (unlikely(var2
== NULL
)) {
1999 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2000 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1493);
2008 var3
= typing__TypeVisitor__visit_expr_bool(var_v
, var
);
2011 { /* Inline parser_nodes#AAndExpr#n_expr2 (self) on <self:AAndExpr> */
2012 var6
= self
->attrs
[COLOR_parser_nodes__AAndExpr___n_expr2
].val
; /* _n_expr2 on <self:AAndExpr> */
2013 if (unlikely(var6
== NULL
)) {
2014 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
2015 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1494);
2023 var7
= typing__TypeVisitor__visit_expr_bool(var_v
, var4
);
2026 var8
= typing__TypeVisitor__type_bool(var_v
, self
);
2029 { /* Inline typing#AExpr#mtype= (self,var8) on <self:AAndExpr> */
2030 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var8
; /* _mtype on <self:AAndExpr> */
2036 /* method typing#AAndExpr#accept_typing for (self: Object, TypeVisitor) */
2037 void VIRTUAL_typing__AAndExpr__accept_typing(val
* self
, val
* p0
) {
2038 typing__AAndExpr__accept_typing(self
, p0
); /* Direct call typing#AAndExpr#accept_typing on <self:Object(AAndExpr)>*/
2041 /* method typing#ANotExpr#accept_typing for (self: ANotExpr, TypeVisitor) */
2042 void typing__ANotExpr__accept_typing(val
* self
, val
* p0
) {
2043 val
* var_v
/* var v: TypeVisitor */;
2044 val
* var
/* : AExpr */;
2045 val
* var2
/* : AExpr */;
2046 val
* var3
/* : nullable MType */;
2047 val
* var4
/* : nullable MType */;
2050 { /* Inline parser_nodes#ANotExpr#n_expr (self) on <self:ANotExpr> */
2051 var2
= self
->attrs
[COLOR_parser_nodes__ANotExpr___n_expr
].val
; /* _n_expr on <self:ANotExpr> */
2052 if (unlikely(var2
== NULL
)) {
2053 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2054 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1515);
2062 var3
= typing__TypeVisitor__visit_expr_bool(var_v
, var
);
2065 var4
= typing__TypeVisitor__type_bool(var_v
, self
);
2068 { /* Inline typing#AExpr#mtype= (self,var4) on <self:ANotExpr> */
2069 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var4
; /* _mtype on <self:ANotExpr> */
2075 /* method typing#ANotExpr#accept_typing for (self: Object, TypeVisitor) */
2076 void VIRTUAL_typing__ANotExpr__accept_typing(val
* self
, val
* p0
) {
2077 typing__ANotExpr__accept_typing(self
, p0
); /* Direct call typing#ANotExpr#accept_typing on <self:Object(ANotExpr)>*/
2080 /* method typing#AOrElseExpr#accept_typing for (self: AOrElseExpr, TypeVisitor) */
2081 void typing__AOrElseExpr__accept_typing(val
* self
, val
* p0
) {
2082 val
* var_v
/* var v: TypeVisitor */;
2083 val
* var
/* : AExpr */;
2084 val
* var2
/* : AExpr */;
2085 val
* var3
/* : nullable MType */;
2086 val
* var_t1
/* var t1: nullable MType */;
2087 val
* var4
/* : AExpr */;
2088 val
* var6
/* : AExpr */;
2089 val
* var7
/* : nullable MType */;
2090 val
* var_t2
/* var t2: nullable MType */;
2091 short int var8
/* : Bool */;
2092 val
* var9
/* : null */;
2093 short int var10
/* : Bool */;
2094 short int var11
/* : Bool */;
2095 val
* var_other
/* var other: nullable Object */;
2096 short int var13
/* : Bool */;
2097 short int var15
/* : Bool */;
2098 short int var_
/* var : Bool */;
2099 val
* var16
/* : null */;
2100 short int var17
/* : Bool */;
2101 short int var18
/* : Bool */;
2102 short int var20
/* : Bool */;
2103 short int var22
/* : Bool */;
2104 val
* var23
/* : MType */;
2105 val
* var24
/* : Array[MType] */;
2106 long var25
/* : Int */;
2107 val
* var_26
/* var : Array[MType] */;
2108 val
* var27
/* : nullable MType */;
2109 val
* var_t
/* var t: nullable MType */;
2110 val
* var28
/* : null */;
2111 short int var29
/* : Bool */;
2112 short int var30
/* : Bool */;
2113 short int var32
/* : Bool */;
2114 short int var34
/* : Bool */;
2115 val
* var35
/* : MModule */;
2116 val
* var37
/* : MModule */;
2117 val
* var38
/* : MClassType */;
2118 short int var39
/* : Bool */;
2121 val
* var40
/* : MType */;
2124 { /* Inline parser_nodes#AOrElseExpr#n_expr (self) on <self:AOrElseExpr> */
2125 var2
= self
->attrs
[COLOR_parser_nodes__AOrElseExpr___n_expr
].val
; /* _n_expr on <self:AOrElseExpr> */
2126 if (unlikely(var2
== NULL
)) {
2127 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2128 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1500);
2136 var3
= typing__TypeVisitor__visit_expr(var_v
, var
);
2140 { /* Inline parser_nodes#AOrElseExpr#n_expr2 (self) on <self:AOrElseExpr> */
2141 var6
= self
->attrs
[COLOR_parser_nodes__AOrElseExpr___n_expr2
].val
; /* _n_expr2 on <self:AOrElseExpr> */
2142 if (unlikely(var6
== NULL
)) {
2143 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
2144 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1501);
2152 var7
= typing__TypeVisitor__visit_expr(var_v
, var4
);
2156 if (var_t1
== NULL
) {
2157 var10
= 1; /* is null */
2159 var10
= 0; /* arg is null but recv is not */
2162 { /* Inline kernel#Object#== (var_t1,var9) on <var_t1:nullable MType> */
2165 { /* Inline kernel#Object#is_same_instance (var_t1,var_other) on <var_t1:nullable MType(MType)> */
2166 var15
= var_t1
== var_other
;
2169 RET_LABEL14
:(void)0;
2174 RET_LABEL12
:(void)0;
2183 if (var_t2
== NULL
) {
2184 var17
= 1; /* is null */
2186 var17
= 0; /* arg is null but recv is not */
2189 { /* Inline kernel#Object#== (var_t2,var16) on <var_t2:nullable MType> */
2192 { /* Inline kernel#Object#is_same_instance (var_t2,var_other) on <var_t2:nullable MType(MType)> */
2193 var22
= var_t2
== var_other
;
2196 RET_LABEL21
:(void)0;
2201 RET_LABEL19
:(void)0;
2212 var23
= ((val
* (*)(val
*))(var_t1
->class->vft
[COLOR_model__MType__as_notnullable
]))(var_t1
) /* as_notnullable on <var_t1:nullable MType(MType)>*/;
2215 var24
= NEW_array__Array(&type_array__Arraymodel__MType
);
2218 array__Array__with_capacity(var24
, var25
); /* Direct call array#Array#with_capacity on <var24:Array[MType]>*/
2222 array__AbstractArray__push(var_26
, var_t1
); /* Direct call array#AbstractArray#push on <var_26:Array[MType]>*/
2225 array__AbstractArray__push(var_26
, var_t2
); /* Direct call array#AbstractArray#push on <var_26:Array[MType]>*/
2228 var27
= typing__TypeVisitor__merge_types(var_v
, self
, var_26
);
2232 if (var_t
== NULL
) {
2233 var29
= 1; /* is null */
2235 var29
= 0; /* arg is null but recv is not */
2238 { /* Inline kernel#Object#== (var_t,var28) on <var_t:nullable MType> */
2241 { /* Inline kernel#Object#is_same_instance (var_t,var_other) on <var_t:nullable MType(MType)> */
2242 var34
= var_t
== var_other
;
2245 RET_LABEL33
:(void)0;
2250 RET_LABEL31
:(void)0;
2256 { /* Inline typing#TypeVisitor#mmodule (var_v) on <var_v:TypeVisitor> */
2257 var37
= var_v
->attrs
[COLOR_typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
2258 if (unlikely(var37
== NULL
)) {
2259 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2260 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 36);
2264 RET_LABEL36
:(void)0;
2268 var38
= model__MModule__object_type(var35
);
2271 /* <var_t2:nullable MType(MType)> isa MNullableType */
2272 cltype
= type_model__MNullableType
.color
;
2273 idtype
= type_model__MNullableType
.id
;
2274 if(cltype
>= var_t2
->type
->table_size
) {
2277 var39
= var_t2
->type
->type_table
[cltype
] == idtype
;
2281 var40
= model__MType__as_nullable(var_t
);
2289 { /* Inline typing#AExpr#mtype= (self,var_t) on <self:AOrElseExpr> */
2290 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var_t
; /* _mtype on <self:AOrElseExpr> */
2291 RET_LABEL41
:(void)0;
2296 /* method typing#AOrElseExpr#accept_typing for (self: Object, TypeVisitor) */
2297 void VIRTUAL_typing__AOrElseExpr__accept_typing(val
* self
, val
* p0
) {
2298 typing__AOrElseExpr__accept_typing(self
, p0
); /* Direct call typing#AOrElseExpr#accept_typing on <self:Object(AOrElseExpr)>*/
2301 /* method typing#ATrueExpr#accept_typing for (self: ATrueExpr, TypeVisitor) */
2302 void typing__ATrueExpr__accept_typing(val
* self
, val
* p0
) {
2303 val
* var_v
/* var v: TypeVisitor */;
2304 val
* var
/* : nullable MType */;
2307 var
= typing__TypeVisitor__type_bool(var_v
, self
);
2310 { /* Inline typing#AExpr#mtype= (self,var) on <self:ATrueExpr> */
2311 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var
; /* _mtype on <self:ATrueExpr> */
2317 /* method typing#ATrueExpr#accept_typing for (self: Object, TypeVisitor) */
2318 void VIRTUAL_typing__ATrueExpr__accept_typing(val
* self
, val
* p0
) {
2319 typing__ATrueExpr__accept_typing(self
, p0
); /* Direct call typing#ATrueExpr#accept_typing on <self:Object(ATrueExpr)>*/
2322 /* method typing#AFalseExpr#accept_typing for (self: AFalseExpr, TypeVisitor) */
2323 void typing__AFalseExpr__accept_typing(val
* self
, val
* p0
) {
2324 val
* var_v
/* var v: TypeVisitor */;
2325 val
* var
/* : nullable MType */;
2328 var
= typing__TypeVisitor__type_bool(var_v
, self
);
2331 { /* Inline typing#AExpr#mtype= (self,var) on <self:AFalseExpr> */
2332 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var
; /* _mtype on <self:AFalseExpr> */
2338 /* method typing#AFalseExpr#accept_typing for (self: Object, TypeVisitor) */
2339 void VIRTUAL_typing__AFalseExpr__accept_typing(val
* self
, val
* p0
) {
2340 typing__AFalseExpr__accept_typing(self
, p0
); /* Direct call typing#AFalseExpr#accept_typing on <self:Object(AFalseExpr)>*/
2343 /* method typing#AIntExpr#accept_typing for (self: AIntExpr, TypeVisitor) */
2344 void typing__AIntExpr__accept_typing(val
* self
, val
* p0
) {
2345 val
* var_v
/* var v: TypeVisitor */;
2346 static val
* varonce
;
2347 val
* var
/* : String */;
2348 char* var1
/* : NativeString */;
2349 long var2
/* : Int */;
2350 val
* var3
/* : FlatString */;
2351 val
* var4
/* : nullable MClass */;
2352 val
* var_mclass
/* var mclass: nullable MClass */;
2353 val
* var5
/* : null */;
2354 short int var6
/* : Bool */;
2355 short int var7
/* : Bool */;
2356 val
* var_other
/* var other: nullable Object */;
2357 short int var9
/* : Bool */;
2358 short int var11
/* : Bool */;
2359 val
* var12
/* : MClassType */;
2360 val
* var14
/* : MClassType */;
2367 var3
= string__NativeString__to_s_with_length(var1
, var2
);
2372 var4
= typing__TypeVisitor__get_mclass(var_v
, self
, var
);
2376 if (var_mclass
== NULL
) {
2377 var6
= 1; /* is null */
2379 var6
= 0; /* arg is null but recv is not */
2382 { /* Inline kernel#Object#== (var_mclass,var5) on <var_mclass:nullable MClass> */
2385 { /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
2386 var11
= var_mclass
== var_other
;
2389 RET_LABEL10
:(void)0;
2403 { /* Inline model#MClass#mclass_type (var_mclass) on <var_mclass:nullable MClass(MClass)> */
2404 var14
= var_mclass
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:nullable MClass(MClass)> */
2405 if (unlikely(var14
== NULL
)) {
2406 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
2407 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
2411 RET_LABEL13
:(void)0;
2415 { /* Inline typing#AExpr#mtype= (self,var12) on <self:AIntExpr> */
2416 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var12
; /* _mtype on <self:AIntExpr> */
2417 RET_LABEL15
:(void)0;
2422 /* method typing#AIntExpr#accept_typing for (self: Object, TypeVisitor) */
2423 void VIRTUAL_typing__AIntExpr__accept_typing(val
* self
, val
* p0
) {
2424 typing__AIntExpr__accept_typing(self
, p0
); /* Direct call typing#AIntExpr#accept_typing on <self:Object(AIntExpr)>*/
2427 /* method typing#AFloatExpr#accept_typing for (self: AFloatExpr, TypeVisitor) */
2428 void typing__AFloatExpr__accept_typing(val
* self
, val
* p0
) {
2429 val
* var_v
/* var v: TypeVisitor */;
2430 static val
* varonce
;
2431 val
* var
/* : String */;
2432 char* var1
/* : NativeString */;
2433 long var2
/* : Int */;
2434 val
* var3
/* : FlatString */;
2435 val
* var4
/* : nullable MClass */;
2436 val
* var_mclass
/* var mclass: nullable MClass */;
2437 val
* var5
/* : null */;
2438 short int var6
/* : Bool */;
2439 short int var7
/* : Bool */;
2440 val
* var_other
/* var other: nullable Object */;
2441 short int var9
/* : Bool */;
2442 short int var11
/* : Bool */;
2443 val
* var12
/* : MClassType */;
2444 val
* var14
/* : MClassType */;
2451 var3
= string__NativeString__to_s_with_length(var1
, var2
);
2456 var4
= typing__TypeVisitor__get_mclass(var_v
, self
, var
);
2460 if (var_mclass
== NULL
) {
2461 var6
= 1; /* is null */
2463 var6
= 0; /* arg is null but recv is not */
2466 { /* Inline kernel#Object#== (var_mclass,var5) on <var_mclass:nullable MClass> */
2469 { /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
2470 var11
= var_mclass
== var_other
;
2473 RET_LABEL10
:(void)0;
2487 { /* Inline model#MClass#mclass_type (var_mclass) on <var_mclass:nullable MClass(MClass)> */
2488 var14
= var_mclass
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:nullable MClass(MClass)> */
2489 if (unlikely(var14
== NULL
)) {
2490 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
2491 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
2495 RET_LABEL13
:(void)0;
2499 { /* Inline typing#AExpr#mtype= (self,var12) on <self:AFloatExpr> */
2500 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var12
; /* _mtype on <self:AFloatExpr> */
2501 RET_LABEL15
:(void)0;
2506 /* method typing#AFloatExpr#accept_typing for (self: Object, TypeVisitor) */
2507 void VIRTUAL_typing__AFloatExpr__accept_typing(val
* self
, val
* p0
) {
2508 typing__AFloatExpr__accept_typing(self
, p0
); /* Direct call typing#AFloatExpr#accept_typing on <self:Object(AFloatExpr)>*/
2511 /* method typing#ACharExpr#accept_typing for (self: ACharExpr, TypeVisitor) */
2512 void typing__ACharExpr__accept_typing(val
* self
, val
* p0
) {
2513 val
* var_v
/* var v: TypeVisitor */;
2514 static val
* varonce
;
2515 val
* var
/* : String */;
2516 char* var1
/* : NativeString */;
2517 long var2
/* : Int */;
2518 val
* var3
/* : FlatString */;
2519 val
* var4
/* : nullable MClass */;
2520 val
* var_mclass
/* var mclass: nullable MClass */;
2521 val
* var5
/* : null */;
2522 short int var6
/* : Bool */;
2523 short int var7
/* : Bool */;
2524 val
* var_other
/* var other: nullable Object */;
2525 short int var9
/* : Bool */;
2526 short int var11
/* : Bool */;
2527 val
* var12
/* : MClassType */;
2528 val
* var14
/* : MClassType */;
2535 var3
= string__NativeString__to_s_with_length(var1
, var2
);
2540 var4
= typing__TypeVisitor__get_mclass(var_v
, self
, var
);
2544 if (var_mclass
== NULL
) {
2545 var6
= 1; /* is null */
2547 var6
= 0; /* arg is null but recv is not */
2550 { /* Inline kernel#Object#== (var_mclass,var5) on <var_mclass:nullable MClass> */
2553 { /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
2554 var11
= var_mclass
== var_other
;
2557 RET_LABEL10
:(void)0;
2571 { /* Inline model#MClass#mclass_type (var_mclass) on <var_mclass:nullable MClass(MClass)> */
2572 var14
= var_mclass
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:nullable MClass(MClass)> */
2573 if (unlikely(var14
== NULL
)) {
2574 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
2575 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
2579 RET_LABEL13
:(void)0;
2583 { /* Inline typing#AExpr#mtype= (self,var12) on <self:ACharExpr> */
2584 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var12
; /* _mtype on <self:ACharExpr> */
2585 RET_LABEL15
:(void)0;
2590 /* method typing#ACharExpr#accept_typing for (self: Object, TypeVisitor) */
2591 void VIRTUAL_typing__ACharExpr__accept_typing(val
* self
, val
* p0
) {
2592 typing__ACharExpr__accept_typing(self
, p0
); /* Direct call typing#ACharExpr#accept_typing on <self:Object(ACharExpr)>*/
2595 /* method typing#AStringFormExpr#accept_typing for (self: AStringFormExpr, TypeVisitor) */
2596 void typing__AStringFormExpr__accept_typing(val
* self
, val
* p0
) {
2597 val
* var_v
/* var v: TypeVisitor */;
2598 static val
* varonce
;
2599 val
* var
/* : String */;
2600 char* var1
/* : NativeString */;
2601 long var2
/* : Int */;
2602 val
* var3
/* : FlatString */;
2603 val
* var4
/* : nullable MClass */;
2604 val
* var_mclass
/* var mclass: nullable MClass */;
2605 val
* var5
/* : null */;
2606 short int var6
/* : Bool */;
2607 short int var7
/* : Bool */;
2608 val
* var_other
/* var other: nullable Object */;
2609 short int var9
/* : Bool */;
2610 short int var11
/* : Bool */;
2611 val
* var12
/* : MClassType */;
2612 val
* var14
/* : MClassType */;
2619 var3
= string__NativeString__to_s_with_length(var1
, var2
);
2624 var4
= typing__TypeVisitor__get_mclass(var_v
, self
, var
);
2628 if (var_mclass
== NULL
) {
2629 var6
= 1; /* is null */
2631 var6
= 0; /* arg is null but recv is not */
2634 { /* Inline kernel#Object#== (var_mclass,var5) on <var_mclass:nullable MClass> */
2637 { /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
2638 var11
= var_mclass
== var_other
;
2641 RET_LABEL10
:(void)0;
2655 { /* Inline model#MClass#mclass_type (var_mclass) on <var_mclass:nullable MClass(MClass)> */
2656 var14
= var_mclass
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:nullable MClass(MClass)> */
2657 if (unlikely(var14
== NULL
)) {
2658 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
2659 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
2663 RET_LABEL13
:(void)0;
2667 { /* Inline typing#AExpr#mtype= (self,var12) on <self:AStringFormExpr> */
2668 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var12
; /* _mtype on <self:AStringFormExpr> */
2669 RET_LABEL15
:(void)0;
2674 /* method typing#AStringFormExpr#accept_typing for (self: Object, TypeVisitor) */
2675 void VIRTUAL_typing__AStringFormExpr__accept_typing(val
* self
, val
* p0
) {
2676 typing__AStringFormExpr__accept_typing(self
, p0
); /* Direct call typing#AStringFormExpr#accept_typing on <self:Object(AStringFormExpr)>*/
2679 /* method typing#ASuperstringExpr#accept_typing for (self: ASuperstringExpr, TypeVisitor) */
2680 void typing__ASuperstringExpr__accept_typing(val
* self
, val
* p0
) {
2681 val
* var_v
/* var v: TypeVisitor */;
2682 static val
* varonce
;
2683 val
* var
/* : String */;
2684 char* var1
/* : NativeString */;
2685 long var2
/* : Int */;
2686 val
* var3
/* : FlatString */;
2687 val
* var4
/* : nullable MClass */;
2688 val
* var_mclass
/* var mclass: nullable MClass */;
2689 val
* var5
/* : null */;
2690 short int var6
/* : Bool */;
2691 short int var7
/* : Bool */;
2692 val
* var_other
/* var other: nullable Object */;
2693 short int var9
/* : Bool */;
2694 short int var11
/* : Bool */;
2695 val
* var12
/* : MClassType */;
2696 val
* var14
/* : MClassType */;
2697 val
* var16
/* : ANodes[AExpr] */;
2698 val
* var18
/* : ANodes[AExpr] */;
2699 val
* var_
/* var : ANodes[AExpr] */;
2700 val
* var19
/* : Iterator[ANode] */;
2701 val
* var_20
/* var : Iterator[AExpr] */;
2702 short int var21
/* : Bool */;
2703 val
* var22
/* : nullable Object */;
2704 val
* var_nexpr
/* var nexpr: AExpr */;
2705 val
* var23
/* : MModule */;
2706 val
* var25
/* : MModule */;
2707 val
* var26
/* : MClassType */;
2708 val
* var27
/* : nullable MType */;
2715 var3
= string__NativeString__to_s_with_length(var1
, var2
);
2720 var4
= typing__TypeVisitor__get_mclass(var_v
, self
, var
);
2724 if (var_mclass
== NULL
) {
2725 var6
= 1; /* is null */
2727 var6
= 0; /* arg is null but recv is not */
2730 { /* Inline kernel#Object#== (var_mclass,var5) on <var_mclass:nullable MClass> */
2733 { /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
2734 var11
= var_mclass
== var_other
;
2737 RET_LABEL10
:(void)0;
2751 { /* Inline model#MClass#mclass_type (var_mclass) on <var_mclass:nullable MClass(MClass)> */
2752 var14
= var_mclass
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:nullable MClass(MClass)> */
2753 if (unlikely(var14
== NULL
)) {
2754 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
2755 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
2759 RET_LABEL13
:(void)0;
2763 { /* Inline typing#AExpr#mtype= (self,var12) on <self:ASuperstringExpr> */
2764 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var12
; /* _mtype on <self:ASuperstringExpr> */
2765 RET_LABEL15
:(void)0;
2769 { /* Inline parser_nodes#ASuperstringExpr#n_exprs (self) on <self:ASuperstringExpr> */
2770 var18
= self
->attrs
[COLOR_parser_nodes__ASuperstringExpr___n_exprs
].val
; /* _n_exprs on <self:ASuperstringExpr> */
2771 if (unlikely(var18
== NULL
)) {
2772 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
2773 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1861);
2777 RET_LABEL17
:(void)0;
2782 var19
= parser_nodes__ANodes__iterator(var_
);
2787 var21
= ((short int (*)(val
*))(var_20
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_20
) /* is_ok on <var_20:Iterator[AExpr]>*/;
2791 var22
= ((val
* (*)(val
*))(var_20
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_20
) /* item on <var_20:Iterator[AExpr]>*/;
2795 { /* Inline typing#TypeVisitor#mmodule (var_v) on <var_v:TypeVisitor> */
2796 var25
= var_v
->attrs
[COLOR_typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
2797 if (unlikely(var25
== NULL
)) {
2798 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2799 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 36);
2803 RET_LABEL24
:(void)0;
2807 var26
= model__MModule__object_type(var23
);
2810 var27
= typing__TypeVisitor__visit_expr_subtype(var_v
, var_nexpr
, var26
);
2813 ((void (*)(val
*))(var_20
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_20
) /* next on <var_20:Iterator[AExpr]>*/;
2819 BREAK_label
: (void)0;
2821 { /* Inline abstract_collection#Iterator#finish (var_20) on <var_20:Iterator[AExpr]> */
2822 RET_LABEL28
:(void)0;
2827 /* method typing#ASuperstringExpr#accept_typing for (self: Object, TypeVisitor) */
2828 void VIRTUAL_typing__ASuperstringExpr__accept_typing(val
* self
, val
* p0
) {
2829 typing__ASuperstringExpr__accept_typing(self
, p0
); /* Direct call typing#ASuperstringExpr#accept_typing on <self:Object(ASuperstringExpr)>*/
2832 /* method typing#AArrayExpr#with_capacity_callsite for (self: AArrayExpr): nullable CallSite */
2833 val
* typing__AArrayExpr__with_capacity_callsite(val
* self
) {
2834 val
* var
/* : nullable CallSite */;
2835 val
* var1
/* : nullable CallSite */;
2836 var1
= self
->attrs
[COLOR_typing__AArrayExpr___with_capacity_callsite
].val
; /* _with_capacity_callsite on <self:AArrayExpr> */
2841 /* method typing#AArrayExpr#with_capacity_callsite for (self: Object): nullable CallSite */
2842 val
* VIRTUAL_typing__AArrayExpr__with_capacity_callsite(val
* self
) {
2843 val
* var
/* : nullable CallSite */;
2844 val
* var1
/* : nullable CallSite */;
2845 val
* var3
/* : nullable CallSite */;
2846 { /* Inline typing#AArrayExpr#with_capacity_callsite (self) on <self:Object(AArrayExpr)> */
2847 var3
= self
->attrs
[COLOR_typing__AArrayExpr___with_capacity_callsite
].val
; /* _with_capacity_callsite on <self:Object(AArrayExpr)> */
2855 /* method typing#AArrayExpr#with_capacity_callsite= for (self: AArrayExpr, nullable CallSite) */
2856 void typing__AArrayExpr__with_capacity_callsite_61d(val
* self
, val
* p0
) {
2857 self
->attrs
[COLOR_typing__AArrayExpr___with_capacity_callsite
].val
= p0
; /* _with_capacity_callsite on <self:AArrayExpr> */
2860 /* method typing#AArrayExpr#with_capacity_callsite= for (self: Object, nullable CallSite) */
2861 void VIRTUAL_typing__AArrayExpr__with_capacity_callsite_61d(val
* self
, val
* p0
) {
2862 { /* Inline typing#AArrayExpr#with_capacity_callsite= (self,p0) on <self:Object(AArrayExpr)> */
2863 self
->attrs
[COLOR_typing__AArrayExpr___with_capacity_callsite
].val
= p0
; /* _with_capacity_callsite on <self:Object(AArrayExpr)> */
2868 /* method typing#AArrayExpr#push_callsite for (self: AArrayExpr): nullable CallSite */
2869 val
* typing__AArrayExpr__push_callsite(val
* self
) {
2870 val
* var
/* : nullable CallSite */;
2871 val
* var1
/* : nullable CallSite */;
2872 var1
= self
->attrs
[COLOR_typing__AArrayExpr___push_callsite
].val
; /* _push_callsite on <self:AArrayExpr> */
2877 /* method typing#AArrayExpr#push_callsite for (self: Object): nullable CallSite */
2878 val
* VIRTUAL_typing__AArrayExpr__push_callsite(val
* self
) {
2879 val
* var
/* : nullable CallSite */;
2880 val
* var1
/* : nullable CallSite */;
2881 val
* var3
/* : nullable CallSite */;
2882 { /* Inline typing#AArrayExpr#push_callsite (self) on <self:Object(AArrayExpr)> */
2883 var3
= self
->attrs
[COLOR_typing__AArrayExpr___push_callsite
].val
; /* _push_callsite on <self:Object(AArrayExpr)> */
2891 /* method typing#AArrayExpr#push_callsite= for (self: AArrayExpr, nullable CallSite) */
2892 void typing__AArrayExpr__push_callsite_61d(val
* self
, val
* p0
) {
2893 self
->attrs
[COLOR_typing__AArrayExpr___push_callsite
].val
= p0
; /* _push_callsite on <self:AArrayExpr> */
2896 /* method typing#AArrayExpr#push_callsite= for (self: Object, nullable CallSite) */
2897 void VIRTUAL_typing__AArrayExpr__push_callsite_61d(val
* self
, val
* p0
) {
2898 { /* Inline typing#AArrayExpr#push_callsite= (self,p0) on <self:Object(AArrayExpr)> */
2899 self
->attrs
[COLOR_typing__AArrayExpr___push_callsite
].val
= p0
; /* _push_callsite on <self:Object(AArrayExpr)> */
2904 /* method typing#AArrayExpr#accept_typing for (self: AArrayExpr, TypeVisitor) */
2905 void typing__AArrayExpr__accept_typing(val
* self
, val
* p0
) {
2906 val
* var_v
/* var v: TypeVisitor */;
2907 val
* var
/* : null */;
2908 val
* var_mtype
/* var mtype: nullable MType */;
2909 val
* var1
/* : nullable AType */;
2910 val
* var3
/* : nullable AType */;
2911 val
* var_ntype
/* var ntype: nullable AType */;
2912 val
* var4
/* : null */;
2913 short int var5
/* : Bool */;
2914 short int var6
/* : Bool */;
2915 val
* var_other
/* var other: nullable Object */;
2916 short int var8
/* : Bool */;
2917 short int var9
/* : Bool */;
2918 short int var10
/* : Bool */;
2919 val
* var11
/* : nullable MType */;
2920 val
* var12
/* : null */;
2921 short int var13
/* : Bool */;
2922 short int var14
/* : Bool */;
2923 val
* var_other16
/* var other: nullable Object */;
2924 short int var17
/* : Bool */;
2925 short int var19
/* : Bool */;
2926 val
* var20
/* : Array[nullable MType] */;
2927 val
* var_mtypes
/* var mtypes: Array[nullable MType] */;
2928 short int var21
/* : Bool */;
2929 short int var_useless
/* var useless: Bool */;
2930 val
* var22
/* : AExprs */;
2931 val
* var24
/* : AExprs */;
2932 val
* var25
/* : ANodes[AExpr] */;
2933 val
* var27
/* : ANodes[AExpr] */;
2934 val
* var_
/* var : ANodes[AExpr] */;
2935 val
* var28
/* : Iterator[ANode] */;
2936 val
* var_29
/* var : Iterator[AExpr] */;
2937 short int var30
/* : Bool */;
2938 val
* var31
/* : nullable Object */;
2939 val
* var_e
/* var e: AExpr */;
2940 val
* var32
/* : nullable MType */;
2941 val
* var_t
/* var t: nullable MType */;
2942 val
* var33
/* : null */;
2943 short int var34
/* : Bool */;
2944 short int var35
/* : Bool */;
2945 short int var37
/* : Bool */;
2946 short int var39
/* : Bool */;
2947 val
* var40
/* : null */;
2948 short int var41
/* : Bool */;
2949 short int var42
/* : Bool */;
2950 short int var44
/* : Bool */;
2951 short int var45
/* : Bool */;
2952 short int var46
/* : Bool */;
2953 val
* var47
/* : nullable MType */;
2954 val
* var48
/* : null */;
2955 short int var49
/* : Bool */;
2956 short int var50
/* : Bool */;
2957 short int var52
/* : Bool */;
2958 short int var54
/* : Bool */;
2959 short int var55
/* : Bool */;
2960 short int var56
/* : Bool */;
2961 short int var58
/* : Bool */;
2962 short int var60
/* : Bool */;
2963 short int var61
/* : Bool */;
2964 val
* var63
/* : null */;
2965 short int var64
/* : Bool */;
2966 short int var65
/* : Bool */;
2967 short int var67
/* : Bool */;
2968 short int var69
/* : Bool */;
2969 val
* var70
/* : nullable MType */;
2970 val
* var71
/* : null */;
2971 short int var72
/* : Bool */;
2972 short int var73
/* : Bool */;
2973 short int var75
/* : Bool */;
2974 short int var77
/* : Bool */;
2975 static val
* varonce
;
2976 val
* var78
/* : String */;
2977 char* var79
/* : NativeString */;
2978 long var80
/* : Int */;
2979 val
* var81
/* : FlatString */;
2980 static val
* varonce82
;
2981 val
* var83
/* : String */;
2982 char* var84
/* : NativeString */;
2983 long var85
/* : Int */;
2984 val
* var86
/* : FlatString */;
2985 val
* var87
/* : String */;
2986 val
* var88
/* : Array[Object] */;
2987 long var89
/* : Int */;
2988 val
* var90
/* : NativeArray[Object] */;
2989 val
* var91
/* : String */;
2990 val
* var92
/* : null */;
2991 short int var93
/* : Bool */;
2992 short int var94
/* : Bool */;
2993 short int var96
/* : Bool */;
2994 short int var97
/* : Bool */;
2995 short int var98
/* : Bool */;
2996 val
* var99
/* : ModelBuilder */;
2997 val
* var101
/* : ModelBuilder */;
2998 static val
* varonce102
;
2999 val
* var103
/* : String */;
3000 char* var104
/* : NativeString */;
3001 long var105
/* : Int */;
3002 val
* var106
/* : FlatString */;
3003 static val
* varonce107
;
3004 val
* var108
/* : String */;
3005 char* var109
/* : NativeString */;
3006 long var110
/* : Int */;
3007 val
* var111
/* : FlatString */;
3008 static val
* varonce112
;
3009 val
* var113
/* : String */;
3010 char* var114
/* : NativeString */;
3011 long var115
/* : Int */;
3012 val
* var116
/* : FlatString */;
3013 val
* var117
/* : Array[Object] */;
3014 long var118
/* : Int */;
3015 val
* var119
/* : NativeArray[Object] */;
3016 val
* var120
/* : String */;
3017 static val
* varonce121
;
3018 val
* var122
/* : String */;
3019 char* var123
/* : NativeString */;
3020 long var124
/* : Int */;
3021 val
* var125
/* : FlatString */;
3022 val
* var126
/* : nullable MClass */;
3023 val
* var_mclass
/* var mclass: nullable MClass */;
3024 val
* var127
/* : null */;
3025 short int var128
/* : Bool */;
3026 short int var129
/* : Bool */;
3027 short int var131
/* : Bool */;
3028 short int var133
/* : Bool */;
3029 val
* var134
/* : Array[MType] */;
3030 long var135
/* : Int */;
3031 val
* var_136
/* var : Array[MType] */;
3032 val
* var137
/* : MClassType */;
3033 val
* var_array_mtype
/* var array_mtype: MClassType */;
3034 static val
* varonce138
;
3035 val
* var139
/* : String */;
3036 char* var140
/* : NativeString */;
3037 long var141
/* : Int */;
3038 val
* var142
/* : FlatString */;
3039 short int var143
/* : Bool */;
3040 val
* var144
/* : nullable CallSite */;
3041 static val
* varonce146
;
3042 val
* var147
/* : String */;
3043 char* var148
/* : NativeString */;
3044 long var149
/* : Int */;
3045 val
* var150
/* : FlatString */;
3046 short int var151
/* : Bool */;
3047 val
* var152
/* : nullable CallSite */;
3052 { /* Inline parser_nodes#AArrayExpr#n_type (self) on <self:AArrayExpr> */
3053 var3
= self
->attrs
[COLOR_parser_nodes__AArrayExpr___n_type
].val
; /* _n_type on <self:AArrayExpr> */
3060 if (var_ntype
== NULL
) {
3061 var5
= 0; /* is null */
3063 var5
= 1; /* arg is null and recv is not */
3066 { /* Inline kernel#Object#!= (var_ntype,var4) on <var_ntype:nullable AType> */
3069 var9
= ((short int (*)(val
*, val
*))(var_ntype
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ntype
, var_other
) /* == on <var_ntype:nullable AType(AType)>*/;
3081 var11
= typing__TypeVisitor__resolve_mtype(var_v
, var_ntype
);
3085 if (var_mtype
== NULL
) {
3086 var13
= 1; /* is null */
3088 var13
= 0; /* arg is null but recv is not */
3091 { /* Inline kernel#Object#== (var_mtype,var12) on <var_mtype:nullable MType> */
3092 var_other16
= var12
;
3094 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other16) on <var_mtype:nullable MType(MType)> */
3095 var19
= var_mtype
== var_other16
;
3098 RET_LABEL18
:(void)0;
3103 RET_LABEL15
:(void)0;
3113 var20
= NEW_array__Array(&type_array__Arraynullable_model__MType
);
3115 ((void (*)(val
*))(var20
->class->vft
[COLOR_kernel__Object__init
]))(var20
) /* init on <var20:Array[nullable MType]>*/;
3119 var_useless
= var21
;
3121 { /* Inline parser_nodes#AArrayExpr#n_exprs (self) on <self:AArrayExpr> */
3122 var24
= self
->attrs
[COLOR_parser_nodes__AArrayExpr___n_exprs
].val
; /* _n_exprs on <self:AArrayExpr> */
3123 if (unlikely(var24
== NULL
)) {
3124 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
3125 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1776);
3129 RET_LABEL23
:(void)0;
3133 { /* Inline parser_nodes#AExprs#n_exprs (var22) on <var22:AExprs> */
3134 var27
= var22
->attrs
[COLOR_parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var22:AExprs> */
3135 if (unlikely(var27
== NULL
)) {
3136 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
3137 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1946);
3141 RET_LABEL26
:(void)0;
3146 var28
= parser_nodes__ANodes__iterator(var_
);
3151 var30
= ((short int (*)(val
*))(var_29
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_29
) /* is_ok on <var_29:Iterator[AExpr]>*/;
3155 var31
= ((val
* (*)(val
*))(var_29
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_29
) /* item on <var_29:Iterator[AExpr]>*/;
3159 var32
= typing__TypeVisitor__visit_expr(var_v
, var_e
);
3163 if (var_t
== NULL
) {
3164 var34
= 1; /* is null */
3166 var34
= 0; /* arg is null but recv is not */
3169 { /* Inline kernel#Object#== (var_t,var33) on <var_t:nullable MType> */
3170 var_other16
= var33
;
3172 { /* Inline kernel#Object#is_same_instance (var_t,var_other16) on <var_t:nullable MType(MType)> */
3173 var39
= var_t
== var_other16
;
3176 RET_LABEL38
:(void)0;
3181 RET_LABEL36
:(void)0;
3190 if (var_mtype
== NULL
) {
3191 var41
= 0; /* is null */
3193 var41
= 1; /* arg is null and recv is not */
3196 { /* Inline kernel#Object#!= (var_mtype,var40) on <var_mtype:nullable MType> */
3199 var45
= ((short int (*)(val
*, val
*))(var_mtype
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mtype
, var_other
) /* == on <var_mtype:nullable MType(MType)>*/;
3205 RET_LABEL43
:(void)0;
3211 var47
= typing__TypeVisitor__check_subtype(var_v
, var_e
, var_t
, var_mtype
);
3214 if (var47
== NULL
) {
3215 var49
= 1; /* is null */
3217 var49
= 0; /* arg is null but recv is not */
3220 { /* Inline kernel#Object#== (var47,var48) on <var47:nullable MType> */
3221 var_other16
= var48
;
3223 { /* Inline kernel#Object#is_same_instance (var47,var_other16) on <var47:nullable MType(MType)> */
3224 var54
= var47
== var_other16
;
3227 RET_LABEL53
:(void)0;
3232 RET_LABEL51
:(void)0;
3241 { /* Inline kernel#Object#== (var_t,var_mtype) on <var_t:nullable MType(MType)> */
3242 var_other16
= var_mtype
;
3244 { /* Inline kernel#Object#is_same_instance (var_t,var_other16) on <var_t:nullable MType(MType)> */
3245 var60
= var_t
== var_other16
;
3248 RET_LABEL59
:(void)0;
3253 RET_LABEL57
:(void)0;
3259 var_useless
= var61
;
3264 array__Array__add(var_mtypes
, var_t
); /* Direct call array#Array#add on <var_mtypes:Array[nullable MType]>*/
3268 ((void (*)(val
*))(var_29
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_29
) /* next on <var_29:Iterator[AExpr]>*/;
3274 BREAK_label
: (void)0;
3276 { /* Inline abstract_collection#Iterator#finish (var_29) on <var_29:Iterator[AExpr]> */
3277 RET_LABEL62
:(void)0;
3281 if (var_mtype
== NULL
) {
3282 var64
= 1; /* is null */
3284 var64
= 0; /* arg is null but recv is not */
3287 { /* Inline kernel#Object#== (var_mtype,var63) on <var_mtype:nullable MType> */
3288 var_other16
= var63
;
3290 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other16) on <var_mtype:nullable MType(MType)> */
3291 var69
= var_mtype
== var_other16
;
3294 RET_LABEL68
:(void)0;
3299 RET_LABEL66
:(void)0;
3305 var70
= typing__TypeVisitor__merge_types(var_v
, self
, var_mtypes
);
3311 if (var_mtype
== NULL
) {
3312 var72
= 1; /* is null */
3314 var72
= 0; /* arg is null but recv is not */
3317 { /* Inline kernel#Object#== (var_mtype,var71) on <var_mtype:nullable MType> */
3318 var_other16
= var71
;
3320 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other16) on <var_mtype:nullable MType(MType)> */
3321 var77
= var_mtype
== var_other16
;
3324 RET_LABEL76
:(void)0;
3329 RET_LABEL74
:(void)0;
3337 var79
= "Type Error: ambiguous array type ";
3339 var81
= string__NativeString__to_s_with_length(var79
, var80
);
3348 var86
= string__NativeString__to_s_with_length(var84
, var85
);
3353 var87
= string__Collection__join(var_mtypes
, var83
);
3355 var88
= NEW_array__Array(&type_array__Arraykernel__Object
);
3356 { /* var88 = array_instance Array[Object] */
3358 var90
= NEW_array__NativeArray(var89
, &type_array__NativeArraykernel__Object
);
3359 ((struct instance_array__NativeArray
*)var90
)->values
[0] = (val
*) var78
;
3360 ((struct instance_array__NativeArray
*)var90
)->values
[1] = (val
*) var87
;
3362 ((void (*)(val
*, val
*, long))(var88
->class->vft
[COLOR_array__Array__with_native
]))(var88
, var90
, var89
) /* with_native on <var88:Array[Object]>*/;
3366 var91
= ((val
* (*)(val
*))(var88
->class->vft
[COLOR_string__Object__to_s
]))(var88
) /* to_s on <var88:Array[Object]>*/;
3369 typing__TypeVisitor__error(var_v
, self
, var91
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
3376 if (var_ntype
== NULL
) {
3377 var93
= 0; /* is null */
3379 var93
= 1; /* arg is null and recv is not */
3382 { /* Inline kernel#Object#!= (var_ntype,var92) on <var_ntype:nullable AType> */
3385 var97
= ((short int (*)(val
*, val
*))(var_ntype
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ntype
, var_other
) /* == on <var_ntype:nullable AType(AType)>*/;
3391 RET_LABEL95
:(void)0;
3395 if (unlikely(!var93
)) {
3396 PRINT_ERROR("Runtime error: %s", "Assert failed");
3397 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1213);
3401 { /* Inline typing#TypeVisitor#modelbuilder (var_v) on <var_v:TypeVisitor> */
3402 var101
= var_v
->attrs
[COLOR_typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <var_v:TypeVisitor> */
3403 if (unlikely(var101
== NULL
)) {
3404 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3405 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 34);
3409 RET_LABEL100
:(void)0;
3413 var103
= varonce102
;
3415 var104
= "useless-type";
3417 var106
= string__NativeString__to_s_with_length(var104
, var105
);
3419 varonce102
= var103
;
3422 var108
= varonce107
;
3424 var109
= "Warning: useless type declaration `";
3426 var111
= string__NativeString__to_s_with_length(var109
, var110
);
3428 varonce107
= var108
;
3431 var113
= varonce112
;
3433 var114
= "` in literal Array since it can be inferred from the elements type.";
3435 var116
= string__NativeString__to_s_with_length(var114
, var115
);
3437 varonce112
= var113
;
3439 var117
= NEW_array__Array(&type_array__Arraykernel__Object
);
3440 { /* var117 = array_instance Array[Object] */
3442 var119
= NEW_array__NativeArray(var118
, &type_array__NativeArraykernel__Object
);
3443 ((struct instance_array__NativeArray
*)var119
)->values
[0] = (val
*) var108
;
3444 ((struct instance_array__NativeArray
*)var119
)->values
[1] = (val
*) var_mtype
;
3445 ((struct instance_array__NativeArray
*)var119
)->values
[2] = (val
*) var113
;
3447 ((void (*)(val
*, val
*, long))(var117
->class->vft
[COLOR_array__Array__with_native
]))(var117
, var119
, var118
) /* with_native on <var117:Array[Object]>*/;
3451 var120
= ((val
* (*)(val
*))(var117
->class->vft
[COLOR_string__Object__to_s
]))(var117
) /* to_s on <var117:Array[Object]>*/;
3454 modelbuilder__ModelBuilder__warning(var99
, var_ntype
, var103
, var120
); /* Direct call modelbuilder#ModelBuilder#warning on <var99:ModelBuilder>*/
3459 var122
= varonce121
;
3463 var125
= string__NativeString__to_s_with_length(var123
, var124
);
3465 varonce121
= var122
;
3468 var126
= typing__TypeVisitor__get_mclass(var_v
, self
, var122
);
3470 var_mclass
= var126
;
3472 if (var_mclass
== NULL
) {
3473 var128
= 1; /* is null */
3475 var128
= 0; /* arg is null but recv is not */
3478 { /* Inline kernel#Object#== (var_mclass,var127) on <var_mclass:nullable MClass> */
3479 var_other16
= var127
;
3481 { /* Inline kernel#Object#is_same_instance (var_mclass,var_other16) on <var_mclass:nullable MClass(MClass)> */
3482 var133
= var_mclass
== var_other16
;
3485 RET_LABEL132
:(void)0;
3490 RET_LABEL130
:(void)0;
3498 var134
= NEW_array__Array(&type_array__Arraymodel__MType
);
3501 array__Array__with_capacity(var134
, var135
); /* Direct call array#Array#with_capacity on <var134:Array[MType]>*/
3505 array__AbstractArray__push(var_136
, var_mtype
); /* Direct call array#AbstractArray#push on <var_136:Array[MType]>*/
3508 var137
= model__MClass__get_mtype(var_mclass
, var_136
);
3510 var_array_mtype
= var137
;
3512 var139
= varonce138
;
3514 var140
= "with_capacity";
3516 var142
= string__NativeString__to_s_with_length(var140
, var141
);
3518 varonce138
= var139
;
3522 var144
= typing__TypeVisitor__get_method(var_v
, self
, var_array_mtype
, var139
, var143
);
3525 { /* Inline typing#AArrayExpr#with_capacity_callsite= (self,var144) on <self:AArrayExpr> */
3526 self
->attrs
[COLOR_typing__AArrayExpr___with_capacity_callsite
].val
= var144
; /* _with_capacity_callsite on <self:AArrayExpr> */
3527 RET_LABEL145
:(void)0;
3531 var147
= varonce146
;
3535 var150
= string__NativeString__to_s_with_length(var148
, var149
);
3537 varonce146
= var147
;
3541 var152
= typing__TypeVisitor__get_method(var_v
, self
, var_array_mtype
, var147
, var151
);
3544 { /* Inline typing#AArrayExpr#push_callsite= (self,var152) on <self:AArrayExpr> */
3545 self
->attrs
[COLOR_typing__AArrayExpr___push_callsite
].val
= var152
; /* _push_callsite on <self:AArrayExpr> */
3546 RET_LABEL153
:(void)0;
3550 { /* Inline typing#AExpr#mtype= (self,var_array_mtype) on <self:AArrayExpr> */
3551 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var_array_mtype
; /* _mtype on <self:AArrayExpr> */
3552 RET_LABEL154
:(void)0;
3557 /* method typing#AArrayExpr#accept_typing for (self: Object, TypeVisitor) */
3558 void VIRTUAL_typing__AArrayExpr__accept_typing(val
* self
, val
* p0
) {
3559 typing__AArrayExpr__accept_typing(self
, p0
); /* Direct call typing#AArrayExpr#accept_typing on <self:Object(AArrayExpr)>*/
3562 /* method typing#ARangeExpr#init_callsite for (self: ARangeExpr): nullable CallSite */
3563 val
* typing__ARangeExpr__init_callsite(val
* self
) {
3564 val
* var
/* : nullable CallSite */;
3565 val
* var1
/* : nullable CallSite */;
3566 var1
= self
->attrs
[COLOR_typing__ARangeExpr___init_callsite
].val
; /* _init_callsite on <self:ARangeExpr> */
3571 /* method typing#ARangeExpr#init_callsite for (self: Object): nullable CallSite */
3572 val
* VIRTUAL_typing__ARangeExpr__init_callsite(val
* self
) {
3573 val
* var
/* : nullable CallSite */;
3574 val
* var1
/* : nullable CallSite */;
3575 val
* var3
/* : nullable CallSite */;
3576 { /* Inline typing#ARangeExpr#init_callsite (self) on <self:Object(ARangeExpr)> */
3577 var3
= self
->attrs
[COLOR_typing__ARangeExpr___init_callsite
].val
; /* _init_callsite on <self:Object(ARangeExpr)> */
3585 /* method typing#ARangeExpr#init_callsite= for (self: ARangeExpr, nullable CallSite) */
3586 void typing__ARangeExpr__init_callsite_61d(val
* self
, val
* p0
) {
3587 self
->attrs
[COLOR_typing__ARangeExpr___init_callsite
].val
= p0
; /* _init_callsite on <self:ARangeExpr> */
3590 /* method typing#ARangeExpr#init_callsite= for (self: Object, nullable CallSite) */
3591 void VIRTUAL_typing__ARangeExpr__init_callsite_61d(val
* self
, val
* p0
) {
3592 { /* Inline typing#ARangeExpr#init_callsite= (self,p0) on <self:Object(ARangeExpr)> */
3593 self
->attrs
[COLOR_typing__ARangeExpr___init_callsite
].val
= p0
; /* _init_callsite on <self:Object(ARangeExpr)> */
3598 /* method typing#ARangeExpr#accept_typing for (self: ARangeExpr, TypeVisitor) */
3599 void typing__ARangeExpr__accept_typing(val
* self
, val
* p0
) {
3600 val
* var_v
/* var v: TypeVisitor */;
3601 static val
* varonce
;
3602 val
* var
/* : String */;
3603 char* var1
/* : NativeString */;
3604 long var2
/* : Int */;
3605 val
* var3
/* : FlatString */;
3606 val
* var4
/* : nullable MClass */;
3607 val
* var_discrete_class
/* var discrete_class: nullable MClass */;
3608 val
* var5
/* : null */;
3609 short int var6
/* : Bool */;
3610 short int var7
/* : Bool */;
3611 val
* var_other
/* var other: nullable Object */;
3612 short int var9
/* : Bool */;
3613 short int var11
/* : Bool */;
3614 val
* var12
/* : MClassDef */;
3615 val
* var14
/* : MClassDef */;
3616 val
* var15
/* : MClassType */;
3617 val
* var17
/* : MClassType */;
3618 val
* var_discrete_type
/* var discrete_type: MClassType */;
3619 val
* var18
/* : AExpr */;
3620 val
* var20
/* : AExpr */;
3621 val
* var21
/* : nullable MType */;
3622 val
* var_t1
/* var t1: nullable MType */;
3623 val
* var22
/* : AExpr */;
3624 val
* var24
/* : AExpr */;
3625 val
* var25
/* : nullable MType */;
3626 val
* var_t2
/* var t2: nullable MType */;
3627 short int var26
/* : Bool */;
3628 val
* var27
/* : null */;
3629 short int var28
/* : Bool */;
3630 short int var29
/* : Bool */;
3631 short int var31
/* : Bool */;
3632 short int var33
/* : Bool */;
3633 short int var_
/* var : Bool */;
3634 val
* var34
/* : null */;
3635 short int var35
/* : Bool */;
3636 short int var36
/* : Bool */;
3637 short int var38
/* : Bool */;
3638 short int var40
/* : Bool */;
3639 static val
* varonce41
;
3640 val
* var42
/* : String */;
3641 char* var43
/* : NativeString */;
3642 long var44
/* : Int */;
3643 val
* var45
/* : FlatString */;
3644 val
* var46
/* : nullable MClass */;
3645 val
* var_mclass
/* var mclass: nullable MClass */;
3646 val
* var47
/* : null */;
3647 short int var48
/* : Bool */;
3648 short int var49
/* : Bool */;
3649 short int var51
/* : Bool */;
3650 short int var53
/* : Bool */;
3651 short int var54
/* : Bool */;
3652 val
* var55
/* : Array[MType] */;
3653 long var56
/* : Int */;
3654 val
* var_57
/* var : Array[MType] */;
3655 val
* var58
/* : MClassType */;
3656 val
* var_mtype
/* var mtype: nullable Object */;
3657 short int var59
/* : Bool */;
3658 val
* var60
/* : Array[MType] */;
3659 long var61
/* : Int */;
3660 val
* var_62
/* var : Array[MType] */;
3661 val
* var63
/* : MClassType */;
3662 static val
* varonce64
;
3663 val
* var65
/* : String */;
3664 char* var66
/* : NativeString */;
3665 long var67
/* : Int */;
3666 val
* var68
/* : FlatString */;
3667 static val
* varonce69
;
3668 val
* var70
/* : String */;
3669 char* var71
/* : NativeString */;
3670 long var72
/* : Int */;
3671 val
* var73
/* : FlatString */;
3672 val
* var74
/* : Array[Object] */;
3673 long var75
/* : Int */;
3674 val
* var76
/* : NativeArray[Object] */;
3675 val
* var77
/* : String */;
3676 short int var79
/* : Bool */;
3679 static val
* varonce80
;
3680 val
* var81
/* : String */;
3681 char* var82
/* : NativeString */;
3682 long var83
/* : Int */;
3683 val
* var84
/* : FlatString */;
3684 short int var85
/* : Bool */;
3685 val
* var86
/* : nullable CallSite */;
3686 val
* var_callsite
/* var callsite: nullable Object */;
3687 short int var87
/* : Bool */;
3690 static val
* varonce90
;
3691 val
* var91
/* : String */;
3692 char* var92
/* : NativeString */;
3693 long var93
/* : Int */;
3694 val
* var94
/* : FlatString */;
3695 short int var95
/* : Bool */;
3696 val
* var96
/* : nullable CallSite */;
3703 var3
= string__NativeString__to_s_with_length(var1
, var2
);
3708 var4
= typing__TypeVisitor__get_mclass(var_v
, self
, var
);
3710 var_discrete_class
= var4
;
3712 if (var_discrete_class
== NULL
) {
3713 var6
= 1; /* is null */
3715 var6
= 0; /* arg is null but recv is not */
3718 { /* Inline kernel#Object#== (var_discrete_class,var5) on <var_discrete_class:nullable MClass> */
3721 { /* Inline kernel#Object#is_same_instance (var_discrete_class,var_other) on <var_discrete_class:nullable MClass(MClass)> */
3722 var11
= var_discrete_class
== var_other
;
3725 RET_LABEL10
:(void)0;
3739 { /* Inline model#MClass#intro (var_discrete_class) on <var_discrete_class:nullable MClass(MClass)> */
3740 var14
= var_discrete_class
->attrs
[COLOR_model__MClass___intro
].val
; /* _intro on <var_discrete_class:nullable MClass(MClass)> */
3741 if (unlikely(var14
== NULL
)) {
3742 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3743 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 420);
3747 RET_LABEL13
:(void)0;
3751 { /* Inline model#MClassDef#bound_mtype (var12) on <var12:MClassDef> */
3752 var17
= var12
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var12:MClassDef> */
3753 if (unlikely(var17
== NULL
)) {
3754 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3755 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
3759 RET_LABEL16
:(void)0;
3762 var_discrete_type
= var15
;
3764 { /* Inline parser_nodes#ARangeExpr#n_expr (self) on <self:ARangeExpr> */
3765 var20
= self
->attrs
[COLOR_parser_nodes__ARangeExpr___n_expr
].val
; /* _n_expr on <self:ARangeExpr> */
3766 if (unlikely(var20
== NULL
)) {
3767 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3768 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1754);
3772 RET_LABEL19
:(void)0;
3776 var21
= typing__TypeVisitor__visit_expr_subtype(var_v
, var18
, var_discrete_type
);
3780 { /* Inline parser_nodes#ARangeExpr#n_expr2 (self) on <self:ARangeExpr> */
3781 var24
= self
->attrs
[COLOR_parser_nodes__ARangeExpr___n_expr2
].val
; /* _n_expr2 on <self:ARangeExpr> */
3782 if (unlikely(var24
== NULL
)) {
3783 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
3784 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1755);
3788 RET_LABEL23
:(void)0;
3792 var25
= typing__TypeVisitor__visit_expr_subtype(var_v
, var22
, var_discrete_type
);
3796 if (var_t1
== NULL
) {
3797 var28
= 1; /* is null */
3799 var28
= 0; /* arg is null but recv is not */
3802 { /* Inline kernel#Object#== (var_t1,var27) on <var_t1:nullable MType> */
3805 { /* Inline kernel#Object#is_same_instance (var_t1,var_other) on <var_t1:nullable MType(MType)> */
3806 var33
= var_t1
== var_other
;
3809 RET_LABEL32
:(void)0;
3814 RET_LABEL30
:(void)0;
3823 if (var_t2
== NULL
) {
3824 var35
= 1; /* is null */
3826 var35
= 0; /* arg is null but recv is not */
3829 { /* Inline kernel#Object#== (var_t2,var34) on <var_t2:nullable MType> */
3832 { /* Inline kernel#Object#is_same_instance (var_t2,var_other) on <var_t2:nullable MType(MType)> */
3833 var40
= var_t2
== var_other
;
3836 RET_LABEL39
:(void)0;
3841 RET_LABEL37
:(void)0;
3856 var45
= string__NativeString__to_s_with_length(var43
, var44
);
3861 var46
= typing__TypeVisitor__get_mclass(var_v
, self
, var42
);
3865 if (var_mclass
== NULL
) {
3866 var48
= 1; /* is null */
3868 var48
= 0; /* arg is null but recv is not */
3871 { /* Inline kernel#Object#== (var_mclass,var47) on <var_mclass:nullable MClass> */
3874 { /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
3875 var53
= var_mclass
== var_other
;
3878 RET_LABEL52
:(void)0;
3883 RET_LABEL50
:(void)0;
3892 var54
= typing__TypeVisitor__is_subtype(var_v
, var_t1
, var_t2
);
3895 var55
= NEW_array__Array(&type_array__Arraymodel__MType
);
3898 array__Array__with_capacity(var55
, var56
); /* Direct call array#Array#with_capacity on <var55:Array[MType]>*/
3902 array__AbstractArray__push(var_57
, var_t2
); /* Direct call array#AbstractArray#push on <var_57:Array[MType]>*/
3905 var58
= model__MClass__get_mtype(var_mclass
, var_57
);
3910 var59
= typing__TypeVisitor__is_subtype(var_v
, var_t2
, var_t1
);
3913 var60
= NEW_array__Array(&type_array__Arraymodel__MType
);
3916 array__Array__with_capacity(var60
, var61
); /* Direct call array#Array#with_capacity on <var60:Array[MType]>*/
3920 array__AbstractArray__push(var_62
, var_t1
); /* Direct call array#AbstractArray#push on <var_62:Array[MType]>*/
3923 var63
= model__MClass__get_mtype(var_mclass
, var_62
);
3930 var66
= "Type Error: Cannot create range: ";
3932 var68
= string__NativeString__to_s_with_length(var66
, var67
);
3941 var73
= string__NativeString__to_s_with_length(var71
, var72
);
3945 var74
= NEW_array__Array(&type_array__Arraykernel__Object
);
3946 { /* var74 = array_instance Array[Object] */
3948 var76
= NEW_array__NativeArray(var75
, &type_array__NativeArraykernel__Object
);
3949 ((struct instance_array__NativeArray
*)var76
)->values
[0] = (val
*) var65
;
3950 ((struct instance_array__NativeArray
*)var76
)->values
[1] = (val
*) var_t1
;
3951 ((struct instance_array__NativeArray
*)var76
)->values
[2] = (val
*) var70
;
3952 ((struct instance_array__NativeArray
*)var76
)->values
[3] = (val
*) var_t2
;
3954 ((void (*)(val
*, val
*, long))(var74
->class->vft
[COLOR_array__Array__with_native
]))(var74
, var76
, var75
) /* with_native on <var74:Array[Object]>*/;
3958 var77
= ((val
* (*)(val
*))(var74
->class->vft
[COLOR_string__Object__to_s
]))(var74
) /* to_s on <var74:Array[Object]>*/;
3961 typing__TypeVisitor__error(var_v
, self
, var77
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
3967 { /* Inline typing#AExpr#mtype= (self,var_mtype) on <self:ARangeExpr> */
3968 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var_mtype
; /* _mtype on <self:ARangeExpr> */
3969 RET_LABEL78
:(void)0;
3972 /* <self:ARangeExpr> isa ACrangeExpr */
3973 cltype
= type_parser_nodes__ACrangeExpr
.color
;
3974 idtype
= type_parser_nodes__ACrangeExpr
.id
;
3975 if(cltype
>= self
->type
->table_size
) {
3978 var79
= self
->type
->type_table
[cltype
] == idtype
;
3986 var84
= string__NativeString__to_s_with_length(var82
, var83
);
3992 var86
= typing__TypeVisitor__get_method(var_v
, self
, var_mtype
, var81
, var85
);
3994 var_callsite
= var86
;
3996 /* <self:ARangeExpr> isa AOrangeExpr */
3997 cltype88
= type_parser_nodes__AOrangeExpr
.color
;
3998 idtype89
= type_parser_nodes__AOrangeExpr
.id
;
3999 if(cltype88
>= self
->type
->table_size
) {
4002 var87
= self
->type
->type_table
[cltype88
] == idtype89
;
4008 var92
= "without_last";
4010 var94
= string__NativeString__to_s_with_length(var92
, var93
);
4016 var96
= typing__TypeVisitor__get_method(var_v
, self
, var_mtype
, var91
, var95
);
4018 var_callsite
= var96
;
4020 PRINT_ERROR("Runtime error: %s", "Aborted");
4021 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1259);
4026 { /* Inline typing#ARangeExpr#init_callsite= (self,var_callsite) on <self:ARangeExpr> */
4027 self
->attrs
[COLOR_typing__ARangeExpr___init_callsite
].val
= var_callsite
; /* _init_callsite on <self:ARangeExpr> */
4028 RET_LABEL97
:(void)0;
4033 /* method typing#ARangeExpr#accept_typing for (self: Object, TypeVisitor) */
4034 void VIRTUAL_typing__ARangeExpr__accept_typing(val
* self
, val
* p0
) {
4035 typing__ARangeExpr__accept_typing(self
, p0
); /* Direct call typing#ARangeExpr#accept_typing on <self:Object(ARangeExpr)>*/
4038 /* method typing#ANullExpr#accept_typing for (self: ANullExpr, TypeVisitor) */
4039 void typing__ANullExpr__accept_typing(val
* self
, val
* p0
) {
4040 val
* var_v
/* var v: TypeVisitor */;
4041 val
* var
/* : MModule */;
4042 val
* var2
/* : MModule */;
4043 val
* var3
/* : Model */;
4044 val
* var5
/* : Model */;
4045 val
* var6
/* : MNullType */;
4046 val
* var8
/* : MNullType */;
4049 { /* Inline typing#TypeVisitor#mmodule (var_v) on <var_v:TypeVisitor> */
4050 var2
= var_v
->attrs
[COLOR_typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
4051 if (unlikely(var2
== NULL
)) {
4052 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4053 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 36);
4061 { /* Inline mmodule#MModule#model (var) on <var:MModule> */
4062 var5
= var
->attrs
[COLOR_mmodule__MModule___model
].val
; /* _model on <var:MModule> */
4063 if (unlikely(var5
== NULL
)) {
4064 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
4065 PRINT_ERROR(" (%s:%d)\n", "model/mmodule.nit", 72);
4073 { /* Inline model#Model#null_type (var3) on <var3:Model> */
4074 var8
= var3
->attrs
[COLOR_model__Model___null_type
].val
; /* _null_type on <var3:Model> */
4075 if (unlikely(var8
== NULL
)) {
4076 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _null_type");
4077 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 102);
4085 { /* Inline typing#AExpr#mtype= (self,var6) on <self:ANullExpr> */
4086 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var6
; /* _mtype on <self:ANullExpr> */
4092 /* method typing#ANullExpr#accept_typing for (self: Object, TypeVisitor) */
4093 void VIRTUAL_typing__ANullExpr__accept_typing(val
* self
, val
* p0
) {
4094 typing__ANullExpr__accept_typing(self
, p0
); /* Direct call typing#ANullExpr#accept_typing on <self:Object(ANullExpr)>*/
4097 /* method typing#AIsaExpr#cast_type for (self: AIsaExpr): nullable MType */
4098 val
* typing__AIsaExpr__cast_type(val
* self
) {
4099 val
* var
/* : nullable MType */;
4100 val
* var1
/* : nullable MType */;
4101 var1
= self
->attrs
[COLOR_typing__AIsaExpr___cast_type
].val
; /* _cast_type on <self:AIsaExpr> */
4106 /* method typing#AIsaExpr#cast_type for (self: Object): nullable MType */
4107 val
* VIRTUAL_typing__AIsaExpr__cast_type(val
* self
) {
4108 val
* var
/* : nullable MType */;
4109 val
* var1
/* : nullable MType */;
4110 val
* var3
/* : nullable MType */;
4111 { /* Inline typing#AIsaExpr#cast_type (self) on <self:Object(AIsaExpr)> */
4112 var3
= self
->attrs
[COLOR_typing__AIsaExpr___cast_type
].val
; /* _cast_type on <self:Object(AIsaExpr)> */
4120 /* method typing#AIsaExpr#cast_type= for (self: AIsaExpr, nullable MType) */
4121 void typing__AIsaExpr__cast_type_61d(val
* self
, val
* p0
) {
4122 self
->attrs
[COLOR_typing__AIsaExpr___cast_type
].val
= p0
; /* _cast_type on <self:AIsaExpr> */
4125 /* method typing#AIsaExpr#cast_type= for (self: Object, nullable MType) */
4126 void VIRTUAL_typing__AIsaExpr__cast_type_61d(val
* self
, val
* p0
) {
4127 { /* Inline typing#AIsaExpr#cast_type= (self,p0) on <self:Object(AIsaExpr)> */
4128 self
->attrs
[COLOR_typing__AIsaExpr___cast_type
].val
= p0
; /* _cast_type on <self:Object(AIsaExpr)> */
4133 /* method typing#AIsaExpr#accept_typing for (self: AIsaExpr, TypeVisitor) */
4134 void typing__AIsaExpr__accept_typing(val
* self
, val
* p0
) {
4135 val
* var_v
/* var v: TypeVisitor */;
4136 val
* var
/* : AExpr */;
4137 val
* var2
/* : AExpr */;
4138 val
* var3
/* : AType */;
4139 val
* var5
/* : AType */;
4140 val
* var6
/* : nullable MType */;
4141 val
* var_mtype
/* var mtype: nullable MType */;
4142 val
* var8
/* : AExpr */;
4143 val
* var10
/* : AExpr */;
4144 val
* var11
/* : nullable Variable */;
4145 val
* var_variable
/* var variable: nullable Variable */;
4146 val
* var12
/* : null */;
4147 short int var13
/* : Bool */;
4148 short int var14
/* : Bool */;
4149 val
* var_other
/* var other: nullable Object */;
4150 short int var16
/* : Bool */;
4151 short int var17
/* : Bool */;
4152 short int var18
/* : Bool */;
4153 val
* var19
/* : nullable FlowContext */;
4154 val
* var21
/* : nullable FlowContext */;
4155 val
* var22
/* : FlowContext */;
4156 val
* var24
/* : FlowContext */;
4157 val
* var25
/* : nullable MType */;
4160 { /* Inline parser_nodes#AIsaExpr#n_expr (self) on <self:AIsaExpr> */
4161 var2
= self
->attrs
[COLOR_parser_nodes__AIsaExpr___n_expr
].val
; /* _n_expr on <self:AIsaExpr> */
4162 if (unlikely(var2
== NULL
)) {
4163 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4164 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1561);
4172 { /* Inline parser_nodes#AIsaExpr#n_type (self) on <self:AIsaExpr> */
4173 var5
= self
->attrs
[COLOR_parser_nodes__AIsaExpr___n_type
].val
; /* _n_type on <self:AIsaExpr> */
4174 if (unlikely(var5
== NULL
)) {
4175 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
4176 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1562);
4184 var6
= typing__TypeVisitor__visit_expr_cast(var_v
, self
, var
, var3
);
4188 { /* Inline typing#AIsaExpr#cast_type= (self,var_mtype) on <self:AIsaExpr> */
4189 self
->attrs
[COLOR_typing__AIsaExpr___cast_type
].val
= var_mtype
; /* _cast_type on <self:AIsaExpr> */
4194 { /* Inline parser_nodes#AIsaExpr#n_expr (self) on <self:AIsaExpr> */
4195 var10
= self
->attrs
[COLOR_parser_nodes__AIsaExpr___n_expr
].val
; /* _n_expr on <self:AIsaExpr> */
4196 if (unlikely(var10
== NULL
)) {
4197 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4198 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1561);
4206 var11
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_typing__AExpr__its_variable
]))(var8
) /* its_variable on <var8:AExpr>*/;
4208 var_variable
= var11
;
4210 if (var_variable
== NULL
) {
4211 var13
= 0; /* is null */
4213 var13
= 1; /* arg is null and recv is not */
4216 { /* Inline kernel#Object#!= (var_variable,var12) on <var_variable:nullable Variable> */
4219 var17
= ((short int (*)(val
*, val
*))(var_variable
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_variable
, var_other
) /* == on <var_variable:nullable Variable(Variable)>*/;
4225 RET_LABEL15
:(void)0;
4231 { /* Inline flow#AExpr#after_flow_context (self) on <self:AIsaExpr> */
4232 var21
= self
->attrs
[COLOR_flow__AExpr___after_flow_context
].val
; /* _after_flow_context on <self:AIsaExpr> */
4234 RET_LABEL20
:(void)0;
4237 if (var19
== NULL
) {
4238 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4239 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1287);
4242 { /* Inline flow#FlowContext#when_true (var19) on <var19:nullable FlowContext> */
4243 if (unlikely(var19
== NULL
)) {
4244 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4245 PRINT_ERROR(" (%s:%d)\n", "semantize/flow.nit", 225);
4248 var24
= var19
->attrs
[COLOR_flow__FlowContext___when_true
].val
; /* _when_true on <var19:nullable FlowContext> */
4249 if (unlikely(var24
== NULL
)) {
4250 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true");
4251 PRINT_ERROR(" (%s:%d)\n", "semantize/flow.nit", 225);
4255 RET_LABEL23
:(void)0;
4259 typing__FlowContext__set_var(var22
, var_variable
, var_mtype
); /* Direct call typing#FlowContext#set_var on <var22:FlowContext>*/
4264 var25
= typing__TypeVisitor__type_bool(var_v
, self
);
4267 { /* Inline typing#AExpr#mtype= (self,var25) on <self:AIsaExpr> */
4268 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var25
; /* _mtype on <self:AIsaExpr> */
4269 RET_LABEL26
:(void)0;
4274 /* method typing#AIsaExpr#accept_typing for (self: Object, TypeVisitor) */
4275 void VIRTUAL_typing__AIsaExpr__accept_typing(val
* self
, val
* p0
) {
4276 typing__AIsaExpr__accept_typing(self
, p0
); /* Direct call typing#AIsaExpr#accept_typing on <self:Object(AIsaExpr)>*/
4279 /* method typing#AAsCastExpr#accept_typing for (self: AAsCastExpr, TypeVisitor) */
4280 void typing__AAsCastExpr__accept_typing(val
* self
, val
* p0
) {
4281 val
* var_v
/* var v: TypeVisitor */;
4282 val
* var
/* : AExpr */;
4283 val
* var2
/* : AExpr */;
4284 val
* var3
/* : AType */;
4285 val
* var5
/* : AType */;
4286 val
* var6
/* : nullable MType */;
4289 { /* Inline parser_nodes#AAsCastExpr#n_expr (self) on <self:AAsCastExpr> */
4290 var2
= self
->attrs
[COLOR_parser_nodes__AAsCastExpr___n_expr
].val
; /* _n_expr on <self:AAsCastExpr> */
4291 if (unlikely(var2
== NULL
)) {
4292 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4293 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1875);
4301 { /* Inline parser_nodes#AAsCastExpr#n_type (self) on <self:AAsCastExpr> */
4302 var5
= self
->attrs
[COLOR_parser_nodes__AAsCastExpr___n_type
].val
; /* _n_type on <self:AAsCastExpr> */
4303 if (unlikely(var5
== NULL
)) {
4304 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
4305 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1878);
4313 var6
= typing__TypeVisitor__visit_expr_cast(var_v
, self
, var
, var3
);
4316 { /* Inline typing#AExpr#mtype= (self,var6) on <self:AAsCastExpr> */
4317 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var6
; /* _mtype on <self:AAsCastExpr> */
4323 /* method typing#AAsCastExpr#accept_typing for (self: Object, TypeVisitor) */
4324 void VIRTUAL_typing__AAsCastExpr__accept_typing(val
* self
, val
* p0
) {
4325 typing__AAsCastExpr__accept_typing(self
, p0
); /* Direct call typing#AAsCastExpr#accept_typing on <self:Object(AAsCastExpr)>*/
4328 /* method typing#AAsNotnullExpr#accept_typing for (self: AAsNotnullExpr, TypeVisitor) */
4329 void typing__AAsNotnullExpr__accept_typing(val
* self
, val
* p0
) {
4330 val
* var_v
/* var v: TypeVisitor */;
4331 val
* var
/* : AExpr */;
4332 val
* var2
/* : AExpr */;
4333 val
* var3
/* : nullable MType */;
4334 val
* var_mtype
/* var mtype: nullable MType */;
4335 val
* var4
/* : null */;
4336 short int var5
/* : Bool */;
4337 short int var6
/* : Bool */;
4338 val
* var_other
/* var other: nullable Object */;
4339 short int var8
/* : Bool */;
4340 short int var10
/* : Bool */;
4341 short int var11
/* : Bool */;
4344 static val
* varonce
;
4345 val
* var12
/* : String */;
4346 char* var13
/* : NativeString */;
4347 long var14
/* : Int */;
4348 val
* var15
/* : FlatString */;
4349 short int var16
/* : Bool */;
4352 val
* var19
/* : MType */;
4353 val
* var21
/* : MType */;
4354 short int var24
/* : Bool */;
4357 val
* var27
/* : ModelBuilder */;
4358 val
* var29
/* : ModelBuilder */;
4359 static val
* varonce30
;
4360 val
* var31
/* : String */;
4361 char* var32
/* : NativeString */;
4362 long var33
/* : Int */;
4363 val
* var34
/* : FlatString */;
4364 static val
* varonce35
;
4365 val
* var36
/* : String */;
4366 char* var37
/* : NativeString */;
4367 long var38
/* : Int */;
4368 val
* var39
/* : FlatString */;
4369 static val
* varonce40
;
4370 val
* var41
/* : String */;
4371 char* var42
/* : NativeString */;
4372 long var43
/* : Int */;
4373 val
* var44
/* : FlatString */;
4374 val
* var45
/* : Array[Object] */;
4375 long var46
/* : Int */;
4376 val
* var47
/* : NativeArray[Object] */;
4377 val
* var48
/* : String */;
4378 short int var49
/* : Bool */;
4379 val
* var50
/* : MType */;
4380 val
* var_u
/* var u: MType */;
4381 short int var51
/* : Bool */;
4384 short int var54
/* : Bool */;
4385 val
* var55
/* : ModelBuilder */;
4386 val
* var57
/* : ModelBuilder */;
4387 static val
* varonce58
;
4388 val
* var59
/* : String */;
4389 char* var60
/* : NativeString */;
4390 long var61
/* : Int */;
4391 val
* var62
/* : FlatString */;
4392 static val
* varonce63
;
4393 val
* var64
/* : String */;
4394 char* var65
/* : NativeString */;
4395 long var66
/* : Int */;
4396 val
* var67
/* : FlatString */;
4397 static val
* varonce68
;
4398 val
* var69
/* : String */;
4399 char* var70
/* : NativeString */;
4400 long var71
/* : Int */;
4401 val
* var72
/* : FlatString */;
4402 static val
* varonce73
;
4403 val
* var74
/* : String */;
4404 char* var75
/* : NativeString */;
4405 long var76
/* : Int */;
4406 val
* var77
/* : FlatString */;
4407 val
* var78
/* : Array[Object] */;
4408 long var79
/* : Int */;
4409 val
* var80
/* : NativeArray[Object] */;
4410 val
* var81
/* : String */;
4413 { /* Inline parser_nodes#AAsNotnullExpr#n_expr (self) on <self:AAsNotnullExpr> */
4414 var2
= self
->attrs
[COLOR_parser_nodes__AAsNotnullExpr___n_expr
].val
; /* _n_expr on <self:AAsNotnullExpr> */
4415 if (unlikely(var2
== NULL
)) {
4416 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4417 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1885);
4425 var3
= typing__TypeVisitor__visit_expr(var_v
, var
);
4429 if (var_mtype
== NULL
) {
4430 var5
= 1; /* is null */
4432 var5
= 0; /* arg is null but recv is not */
4435 { /* Inline kernel#Object#== (var_mtype,var4) on <var_mtype:nullable MType> */
4438 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
4439 var10
= var_mtype
== var_other
;
4455 /* <var_mtype:nullable MType(MType)> isa MNullType */
4456 cltype
= type_model__MNullType
.color
;
4457 idtype
= type_model__MNullType
.id
;
4458 if(cltype
>= var_mtype
->type
->table_size
) {
4461 var11
= var_mtype
->type
->type_table
[cltype
] == idtype
;
4467 var13
= "Type error: as(not null) on null";
4469 var15
= string__NativeString__to_s_with_length(var13
, var14
);
4474 typing__TypeVisitor__error(var_v
, self
, var12
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
4479 /* <var_mtype:nullable MType(MType)> isa MNullableType */
4480 cltype17
= type_model__MNullableType
.color
;
4481 idtype18
= type_model__MNullableType
.id
;
4482 if(cltype17
>= var_mtype
->type
->table_size
) {
4485 var16
= var_mtype
->type
->type_table
[cltype17
] == idtype18
;
4489 { /* Inline model#MNullableType#mtype (var_mtype) on <var_mtype:nullable MType(MNullableType)> */
4490 var21
= var_mtype
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <var_mtype:nullable MType(MNullableType)> */
4491 if (unlikely(var21
== NULL
)) {
4492 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
4493 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1388);
4497 RET_LABEL20
:(void)0;
4501 { /* Inline typing#AExpr#mtype= (self,var19) on <self:AAsNotnullExpr> */
4502 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var19
; /* _mtype on <self:AAsNotnullExpr> */
4503 RET_LABEL22
:(void)0;
4510 { /* Inline typing#AExpr#mtype= (self,var_mtype) on <self:AAsNotnullExpr> */
4511 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var_mtype
; /* _mtype on <self:AAsNotnullExpr> */
4512 RET_LABEL23
:(void)0;
4515 /* <var_mtype:nullable MType(MType)> isa MClassType */
4516 cltype25
= type_model__MClassType
.color
;
4517 idtype26
= type_model__MClassType
.id
;
4518 if(cltype25
>= var_mtype
->type
->table_size
) {
4521 var24
= var_mtype
->type
->type_table
[cltype25
] == idtype26
;
4525 { /* Inline typing#TypeVisitor#modelbuilder (var_v) on <var_v:TypeVisitor> */
4526 var29
= var_v
->attrs
[COLOR_typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <var_v:TypeVisitor> */
4527 if (unlikely(var29
== NULL
)) {
4528 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4529 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 34);
4533 RET_LABEL28
:(void)0;
4539 var32
= "useless-type-test";
4541 var34
= string__NativeString__to_s_with_length(var32
, var33
);
4548 var37
= "Warning: expression is already not null, since it is a `";
4550 var39
= string__NativeString__to_s_with_length(var37
, var38
);
4559 var44
= string__NativeString__to_s_with_length(var42
, var43
);
4563 var45
= NEW_array__Array(&type_array__Arraykernel__Object
);
4564 { /* var45 = array_instance Array[Object] */
4566 var47
= NEW_array__NativeArray(var46
, &type_array__NativeArraykernel__Object
);
4567 ((struct instance_array__NativeArray
*)var47
)->values
[0] = (val
*) var36
;
4568 ((struct instance_array__NativeArray
*)var47
)->values
[1] = (val
*) var_mtype
;
4569 ((struct instance_array__NativeArray
*)var47
)->values
[2] = (val
*) var41
;
4571 ((void (*)(val
*, val
*, long))(var45
->class->vft
[COLOR_array__Array__with_native
]))(var45
, var47
, var46
) /* with_native on <var45:Array[Object]>*/;
4575 var48
= ((val
* (*)(val
*))(var45
->class->vft
[COLOR_string__Object__to_s
]))(var45
) /* to_s on <var45:Array[Object]>*/;
4578 modelbuilder__ModelBuilder__warning(var27
, self
, var31
, var48
); /* Direct call modelbuilder#ModelBuilder#warning on <var27:ModelBuilder>*/
4584 var49
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:nullable MType(MType)>*/;
4586 if (unlikely(!var49
)) {
4587 PRINT_ERROR("Runtime error: %s", "Assert failed");
4588 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1321);
4592 var50
= typing__TypeVisitor__anchor_to(var_v
, var_mtype
);
4595 /* <var_u:MType> isa MNullableType */
4596 cltype52
= type_model__MNullableType
.color
;
4597 idtype53
= type_model__MNullableType
.id
;
4598 if(cltype52
>= var_u
->type
->table_size
) {
4601 var51
= var_u
->type
->type_table
[cltype52
] == idtype53
;
4606 { /* Inline typing#TypeVisitor#modelbuilder (var_v) on <var_v:TypeVisitor> */
4607 var57
= var_v
->attrs
[COLOR_typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <var_v:TypeVisitor> */
4608 if (unlikely(var57
== NULL
)) {
4609 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4610 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 34);
4614 RET_LABEL56
:(void)0;
4620 var60
= "useless-type-test";
4622 var62
= string__NativeString__to_s_with_length(var60
, var61
);
4629 var65
= "Warning: expression is already not null, since it is a `";
4631 var67
= string__NativeString__to_s_with_length(var65
, var66
);
4640 var72
= string__NativeString__to_s_with_length(var70
, var71
);
4649 var77
= string__NativeString__to_s_with_length(var75
, var76
);
4653 var78
= NEW_array__Array(&type_array__Arraykernel__Object
);
4654 { /* var78 = array_instance Array[Object] */
4656 var80
= NEW_array__NativeArray(var79
, &type_array__NativeArraykernel__Object
);
4657 ((struct instance_array__NativeArray
*)var80
)->values
[0] = (val
*) var64
;
4658 ((struct instance_array__NativeArray
*)var80
)->values
[1] = (val
*) var_mtype
;
4659 ((struct instance_array__NativeArray
*)var80
)->values
[2] = (val
*) var69
;
4660 ((struct instance_array__NativeArray
*)var80
)->values
[3] = (val
*) var_u
;
4661 ((struct instance_array__NativeArray
*)var80
)->values
[4] = (val
*) var74
;
4663 ((void (*)(val
*, val
*, long))(var78
->class->vft
[COLOR_array__Array__with_native
]))(var78
, var80
, var79
) /* with_native on <var78:Array[Object]>*/;
4667 var81
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_string__Object__to_s
]))(var78
) /* to_s on <var78:Array[Object]>*/;
4670 modelbuilder__ModelBuilder__warning(var55
, self
, var59
, var81
); /* Direct call modelbuilder#ModelBuilder#warning on <var55:ModelBuilder>*/
4677 /* method typing#AAsNotnullExpr#accept_typing for (self: Object, TypeVisitor) */
4678 void VIRTUAL_typing__AAsNotnullExpr__accept_typing(val
* self
, val
* p0
) {
4679 typing__AAsNotnullExpr__accept_typing(self
, p0
); /* Direct call typing#AAsNotnullExpr#accept_typing on <self:Object(AAsNotnullExpr)>*/
4682 /* method typing#AParExpr#accept_typing for (self: AParExpr, TypeVisitor) */
4683 void typing__AParExpr__accept_typing(val
* self
, val
* p0
) {
4684 val
* var_v
/* var v: TypeVisitor */;
4685 val
* var
/* : AExpr */;
4686 val
* var2
/* : AExpr */;
4687 val
* var3
/* : nullable MType */;
4690 { /* Inline parser_nodes#AParExpr#n_expr (self) on <self:AParExpr> */
4691 var2
= self
->attrs
[COLOR_parser_nodes__AParExpr___n_expr
].val
; /* _n_expr on <self:AParExpr> */
4692 if (unlikely(var2
== NULL
)) {
4693 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4694 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1868);
4702 var3
= typing__TypeVisitor__visit_expr(var_v
, var
);
4705 { /* Inline typing#AExpr#mtype= (self,var3) on <self:AParExpr> */
4706 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var3
; /* _mtype on <self:AParExpr> */
4712 /* method typing#AParExpr#accept_typing for (self: Object, TypeVisitor) */
4713 void VIRTUAL_typing__AParExpr__accept_typing(val
* self
, val
* p0
) {
4714 typing__AParExpr__accept_typing(self
, p0
); /* Direct call typing#AParExpr#accept_typing on <self:Object(AParExpr)>*/
4717 /* method typing#AOnceExpr#accept_typing for (self: AOnceExpr, TypeVisitor) */
4718 void typing__AOnceExpr__accept_typing(val
* self
, val
* p0
) {
4719 val
* var_v
/* var v: TypeVisitor */;
4720 val
* var
/* : AExpr */;
4721 val
* var2
/* : AExpr */;
4722 val
* var3
/* : nullable MType */;
4725 { /* Inline parser_nodes#AOnceExpr#n_expr (self) on <self:AOnceExpr> */
4726 var2
= self
->attrs
[COLOR_parser_nodes__AOnceExpr___n_expr
].val
; /* _n_expr on <self:AOnceExpr> */
4727 if (unlikely(var2
== NULL
)) {
4728 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4729 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1459);
4737 var3
= typing__TypeVisitor__visit_expr(var_v
, var
);
4740 { /* Inline typing#AExpr#mtype= (self,var3) on <self:AOnceExpr> */
4741 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var3
; /* _mtype on <self:AOnceExpr> */
4747 /* method typing#AOnceExpr#accept_typing for (self: Object, TypeVisitor) */
4748 void VIRTUAL_typing__AOnceExpr__accept_typing(val
* self
, val
* p0
) {
4749 typing__AOnceExpr__accept_typing(self
, p0
); /* Direct call typing#AOnceExpr#accept_typing on <self:Object(AOnceExpr)>*/
4752 /* method typing#ASelfExpr#its_variable for (self: ASelfExpr): nullable Variable */
4753 val
* typing__ASelfExpr__its_variable(val
* self
) {
4754 val
* var
/* : nullable Variable */;
4755 val
* var1
/* : nullable Variable */;
4756 var1
= self
->attrs
[COLOR_typing__ASelfExpr___its_variable
].val
; /* _its_variable on <self:ASelfExpr> */
4761 /* method typing#ASelfExpr#its_variable for (self: Object): nullable Variable */
4762 val
* VIRTUAL_typing__ASelfExpr__its_variable(val
* self
) {
4763 val
* var
/* : nullable Variable */;
4764 val
* var1
/* : nullable Variable */;
4765 val
* var3
/* : nullable Variable */;
4766 { /* Inline typing#ASelfExpr#its_variable (self) on <self:Object(ASelfExpr)> */
4767 var3
= self
->attrs
[COLOR_typing__ASelfExpr___its_variable
].val
; /* _its_variable on <self:Object(ASelfExpr)> */
4775 /* method typing#ASelfExpr#its_variable= for (self: ASelfExpr, nullable Variable) */
4776 void typing__ASelfExpr__its_variable_61d(val
* self
, val
* p0
) {
4777 self
->attrs
[COLOR_typing__ASelfExpr___its_variable
].val
= p0
; /* _its_variable on <self:ASelfExpr> */
4780 /* method typing#ASelfExpr#its_variable= for (self: Object, nullable Variable) */
4781 void VIRTUAL_typing__ASelfExpr__its_variable_61d(val
* self
, val
* p0
) {
4782 { /* Inline typing#ASelfExpr#its_variable= (self,p0) on <self:Object(ASelfExpr)> */
4783 self
->attrs
[COLOR_typing__ASelfExpr___its_variable
].val
= p0
; /* _its_variable on <self:Object(ASelfExpr)> */
4788 /* method typing#ASelfExpr#accept_typing for (self: ASelfExpr, TypeVisitor) */
4789 void typing__ASelfExpr__accept_typing(val
* self
, val
* p0
) {
4790 val
* var_v
/* var v: TypeVisitor */;
4791 short int var
/* : Bool */;
4792 short int var1
/* : Bool */;
4793 short int var3
/* : Bool */;
4794 short int var_
/* var : Bool */;
4795 short int var4
/* : Bool */;
4798 short int var5
/* : Bool */;
4799 static val
* varonce
;
4800 val
* var6
/* : String */;
4801 char* var7
/* : NativeString */;
4802 long var8
/* : Int */;
4803 val
* var9
/* : FlatString */;
4804 val
* var10
/* : Variable */;
4805 val
* var12
/* : Variable */;
4806 val
* var_variable
/* var variable: Variable */;
4807 val
* var14
/* : nullable MType */;
4810 { /* Inline typing#TypeVisitor#is_toplevel_context (var_v) on <var_v:TypeVisitor> */
4811 var3
= var_v
->attrs
[COLOR_typing__TypeVisitor___is_toplevel_context
].s
; /* _is_toplevel_context on <var_v:TypeVisitor> */
4818 /* <self:ASelfExpr> isa AImplicitSelfExpr */
4819 cltype
= type_parser_nodes__AImplicitSelfExpr
.color
;
4820 idtype
= type_parser_nodes__AImplicitSelfExpr
.id
;
4821 if(cltype
>= self
->type
->table_size
) {
4824 var4
= self
->type
->type_table
[cltype
] == idtype
;
4835 var7
= "Error: self cannot be used in top-level method.";
4837 var9
= string__NativeString__to_s_with_length(var7
, var8
);
4842 typing__TypeVisitor__error(var_v
, self
, var6
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
4847 { /* Inline typing#TypeVisitor#selfvariable (var_v) on <var_v:TypeVisitor> */
4848 var12
= var_v
->attrs
[COLOR_typing__TypeVisitor___selfvariable
].val
; /* _selfvariable on <var_v:TypeVisitor> */
4849 if (unlikely(var12
== NULL
)) {
4850 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable");
4851 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 50);
4855 RET_LABEL11
:(void)0;
4858 var_variable
= var10
;
4860 { /* Inline typing#ASelfExpr#its_variable= (self,var_variable) on <self:ASelfExpr> */
4861 self
->attrs
[COLOR_typing__ASelfExpr___its_variable
].val
= var_variable
; /* _its_variable on <self:ASelfExpr> */
4862 RET_LABEL13
:(void)0;
4866 var14
= typing__TypeVisitor__get_variable(var_v
, self
, var_variable
);
4869 { /* Inline typing#AExpr#mtype= (self,var14) on <self:ASelfExpr> */
4870 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var14
; /* _mtype on <self:ASelfExpr> */
4871 RET_LABEL15
:(void)0;
4876 /* method typing#ASelfExpr#accept_typing for (self: Object, TypeVisitor) */
4877 void VIRTUAL_typing__ASelfExpr__accept_typing(val
* self
, val
* p0
) {
4878 typing__ASelfExpr__accept_typing(self
, p0
); /* Direct call typing#ASelfExpr#accept_typing on <self:Object(ASelfExpr)>*/
4881 /* method typing#ASendExpr#callsite for (self: ASendExpr): nullable CallSite */
4882 val
* typing__ASendExpr__callsite(val
* self
) {
4883 val
* var
/* : nullable CallSite */;
4884 val
* var1
/* : nullable CallSite */;
4885 var1
= self
->attrs
[COLOR_typing__ASendExpr___callsite
].val
; /* _callsite on <self:ASendExpr> */
4890 /* method typing#ASendExpr#callsite for (self: Object): nullable CallSite */
4891 val
* VIRTUAL_typing__ASendExpr__callsite(val
* self
) {
4892 val
* var
/* : nullable CallSite */;
4893 val
* var1
/* : nullable CallSite */;
4894 val
* var3
/* : nullable CallSite */;
4895 { /* Inline typing#ASendExpr#callsite (self) on <self:Object(ASendExpr)> */
4896 var3
= self
->attrs
[COLOR_typing__ASendExpr___callsite
].val
; /* _callsite on <self:Object(ASendExpr)> */
4904 /* method typing#ASendExpr#callsite= for (self: ASendExpr, nullable CallSite) */
4905 void typing__ASendExpr__callsite_61d(val
* self
, val
* p0
) {
4906 self
->attrs
[COLOR_typing__ASendExpr___callsite
].val
= p0
; /* _callsite on <self:ASendExpr> */
4909 /* method typing#ASendExpr#callsite= for (self: Object, nullable CallSite) */
4910 void VIRTUAL_typing__ASendExpr__callsite_61d(val
* self
, val
* p0
) {
4911 { /* Inline typing#ASendExpr#callsite= (self,p0) on <self:Object(ASendExpr)> */
4912 self
->attrs
[COLOR_typing__ASendExpr___callsite
].val
= p0
; /* _callsite on <self:Object(ASendExpr)> */
4917 /* method typing#ASendExpr#accept_typing for (self: ASendExpr, TypeVisitor) */
4918 void typing__ASendExpr__accept_typing(val
* self
, val
* p0
) {
4919 val
* var_v
/* var v: TypeVisitor */;
4920 val
* var
/* : AExpr */;
4921 val
* var2
/* : AExpr */;
4922 val
* var3
/* : nullable MType */;
4923 val
* var_recvtype
/* var recvtype: nullable MType */;
4924 val
* var4
/* : String */;
4925 val
* var_name
/* var name: String */;
4926 val
* var5
/* : null */;
4927 short int var6
/* : Bool */;
4928 short int var7
/* : Bool */;
4929 val
* var_other
/* var other: nullable Object */;
4930 short int var9
/* : Bool */;
4931 short int var11
/* : Bool */;
4932 short int var12
/* : Bool */;
4935 static val
* varonce
;
4936 val
* var13
/* : String */;
4937 char* var14
/* : NativeString */;
4938 long var15
/* : Int */;
4939 val
* var16
/* : FlatString */;
4940 static val
* varonce17
;
4941 val
* var18
/* : String */;
4942 char* var19
/* : NativeString */;
4943 long var20
/* : Int */;
4944 val
* var21
/* : FlatString */;
4945 val
* var22
/* : Array[Object] */;
4946 long var23
/* : Int */;
4947 val
* var24
/* : NativeArray[Object] */;
4948 val
* var25
/* : String */;
4949 val
* var26
/* : AExpr */;
4950 val
* var28
/* : AExpr */;
4951 short int var29
/* : Bool */;
4954 val
* var32
/* : nullable CallSite */;
4955 val
* var_callsite
/* var callsite: nullable CallSite */;
4956 val
* var33
/* : null */;
4957 short int var34
/* : Bool */;
4958 short int var35
/* : Bool */;
4959 short int var37
/* : Bool */;
4960 short int var39
/* : Bool */;
4961 val
* var41
/* : MSignature */;
4962 val
* var43
/* : MSignature */;
4963 val
* var_msignature
/* var msignature: MSignature */;
4964 val
* var44
/* : Array[AExpr] */;
4965 val
* var_args
/* var args: Array[AExpr] */;
4966 short int var45
/* : Bool */;
4967 val
* var46
/* : MMethod */;
4968 val
* var48
/* : MMethod */;
4969 short int var49
/* : Bool */;
4970 short int var51
/* : Bool */;
4971 val
* var52
/* : nullable MPropDef */;
4972 val
* var54
/* : nullable MPropDef */;
4973 val
* var_vmpropdef
/* var vmpropdef: nullable MPropDef */;
4974 short int var55
/* : Bool */;
4975 short int var56
/* : Bool */;
4978 short int var_
/* var : Bool */;
4979 val
* var59
/* : MProperty */;
4980 val
* var61
/* : MProperty */;
4981 short int var62
/* : Bool */;
4982 short int var64
/* : Bool */;
4983 short int var65
/* : Bool */;
4984 static val
* varonce66
;
4985 val
* var67
/* : String */;
4986 char* var68
/* : NativeString */;
4987 long var69
/* : Int */;
4988 val
* var70
/* : FlatString */;
4989 short int var71
/* : Bool */;
4990 short int var72
/* : Bool */;
4991 short int var73
/* : Bool */;
4994 short int var_76
/* var : Bool */;
4995 val
* var77
/* : MProperty */;
4996 val
* var79
/* : MProperty */;
4997 short int var80
/* : Bool */;
4998 short int var82
/* : Bool */;
4999 short int var_83
/* var : Bool */;
5000 val
* var84
/* : MMethod */;
5001 val
* var86
/* : MMethod */;
5002 short int var87
/* : Bool */;
5003 short int var89
/* : Bool */;
5004 short int var90
/* : Bool */;
5005 static val
* varonce91
;
5006 val
* var92
/* : String */;
5007 char* var93
/* : NativeString */;
5008 long var94
/* : Int */;
5009 val
* var95
/* : FlatString */;
5010 static val
* varonce96
;
5011 val
* var97
/* : String */;
5012 char* var98
/* : NativeString */;
5013 long var99
/* : Int */;
5014 val
* var100
/* : FlatString */;
5015 val
* var101
/* : MMethod */;
5016 val
* var103
/* : MMethod */;
5017 val
* var104
/* : Array[Object] */;
5018 long var105
/* : Int */;
5019 val
* var106
/* : NativeArray[Object] */;
5020 val
* var107
/* : String */;
5021 val
* var108
/* : nullable MType */;
5022 val
* var110
/* : nullable MType */;
5023 val
* var_ret
/* var ret: nullable MType */;
5024 val
* var111
/* : null */;
5025 short int var112
/* : Bool */;
5026 short int var113
/* : Bool */;
5027 val
* var_other115
/* var other: nullable Object */;
5028 short int var116
/* : Bool */;
5029 short int var117
/* : Bool */;
5030 short int var118
/* : Bool */;
5031 short int var120
/* : Bool */;
5034 { /* Inline parser_nodes#ASendExpr#n_expr (self) on <self:ASendExpr> */
5035 var2
= self
->attrs
[COLOR_parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <self:ASendExpr> */
5036 if (unlikely(var2
== NULL
)) {
5037 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5038 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1466);
5046 var3
= typing__TypeVisitor__visit_expr(var_v
, var
);
5048 var_recvtype
= var3
;
5050 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendExpr__property_name
]))(self
) /* property_name on <self:ASendExpr>*/;
5054 if (var_recvtype
== NULL
) {
5055 var6
= 1; /* is null */
5057 var6
= 0; /* arg is null but recv is not */
5060 { /* Inline kernel#Object#== (var_recvtype,var5) on <var_recvtype:nullable MType> */
5063 { /* Inline kernel#Object#is_same_instance (var_recvtype,var_other) on <var_recvtype:nullable MType(MType)> */
5064 var11
= var_recvtype
== var_other
;
5067 RET_LABEL10
:(void)0;
5080 /* <var_recvtype:nullable MType(MType)> isa MNullType */
5081 cltype
= type_model__MNullType
.color
;
5082 idtype
= type_model__MNullType
.id
;
5083 if(cltype
>= var_recvtype
->type
->table_size
) {
5086 var12
= var_recvtype
->type
->type_table
[cltype
] == idtype
;
5092 var14
= "Error: Method \'";
5094 var16
= string__NativeString__to_s_with_length(var14
, var15
);
5101 var19
= "\' call on \'null\'.";
5103 var21
= string__NativeString__to_s_with_length(var19
, var20
);
5107 var22
= NEW_array__Array(&type_array__Arraykernel__Object
);
5108 { /* var22 = array_instance Array[Object] */
5110 var24
= NEW_array__NativeArray(var23
, &type_array__NativeArraykernel__Object
);
5111 ((struct instance_array__NativeArray
*)var24
)->values
[0] = (val
*) var13
;
5112 ((struct instance_array__NativeArray
*)var24
)->values
[1] = (val
*) var_name
;
5113 ((struct instance_array__NativeArray
*)var24
)->values
[2] = (val
*) var18
;
5115 ((void (*)(val
*, val
*, long))(var22
->class->vft
[COLOR_array__Array__with_native
]))(var22
, var24
, var23
) /* with_native on <var22:Array[Object]>*/;
5119 var25
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_string__Object__to_s
]))(var22
) /* to_s on <var22:Array[Object]>*/;
5122 typing__TypeVisitor__error(var_v
, self
, var25
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
5128 { /* Inline parser_nodes#ASendExpr#n_expr (self) on <self:ASendExpr> */
5129 var28
= self
->attrs
[COLOR_parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <self:ASendExpr> */
5130 if (unlikely(var28
== NULL
)) {
5131 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5132 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1466);
5136 RET_LABEL27
:(void)0;
5139 /* <var26:AExpr> isa ASelfExpr */
5140 cltype30
= type_parser_nodes__ASelfExpr
.color
;
5141 idtype31
= type_parser_nodes__ASelfExpr
.id
;
5142 if(cltype30
>= var26
->type
->table_size
) {
5145 var29
= var26
->type
->type_table
[cltype30
] == idtype31
;
5148 var32
= typing__TypeVisitor__get_method(var_v
, self
, var_recvtype
, var_name
, var29
);
5150 var_callsite
= var32
;
5152 if (var_callsite
== NULL
) {
5153 var34
= 1; /* is null */
5155 var34
= 0; /* arg is null but recv is not */
5158 { /* Inline kernel#Object#== (var_callsite,var33) on <var_callsite:nullable CallSite> */
5161 { /* Inline kernel#Object#is_same_instance (var_callsite,var_other) on <var_callsite:nullable CallSite(CallSite)> */
5162 var39
= var_callsite
== var_other
;
5165 RET_LABEL38
:(void)0;
5170 RET_LABEL36
:(void)0;
5179 { /* Inline typing#ASendExpr#callsite= (self,var_callsite) on <self:ASendExpr> */
5180 self
->attrs
[COLOR_typing__ASendExpr___callsite
].val
= var_callsite
; /* _callsite on <self:ASendExpr> */
5181 RET_LABEL40
:(void)0;
5185 { /* Inline typing#CallSite#msignature (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
5186 var43
= var_callsite
->attrs
[COLOR_typing__CallSite___msignature
].val
; /* _msignature on <var_callsite:nullable CallSite(CallSite)> */
5187 if (unlikely(var43
== NULL
)) {
5188 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
5189 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 490);
5193 RET_LABEL42
:(void)0;
5196 var_msignature
= var41
;
5198 var44
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendExpr__compute_raw_arguments
]))(self
) /* compute_raw_arguments on <self:ASendExpr>*/;
5202 var45
= typing__CallSite__check_signature(var_callsite
, var_v
, var_args
);
5205 { /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
5206 var48
= var_callsite
->attrs
[COLOR_typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:nullable CallSite(CallSite)> */
5207 if (unlikely(var48
== NULL
)) {
5208 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5209 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 483);
5213 RET_LABEL47
:(void)0;
5217 { /* Inline model#MMethod#is_init (var46) on <var46:MMethod> */
5218 var51
= var46
->attrs
[COLOR_model__MMethod___is_init
].s
; /* _is_init on <var46:MMethod> */
5220 RET_LABEL50
:(void)0;
5225 { /* Inline typing#TypeVisitor#mpropdef (var_v) on <var_v:TypeVisitor> */
5226 var54
= var_v
->attrs
[COLOR_typing__TypeVisitor___mpropdef
].val
; /* _mpropdef on <var_v:TypeVisitor> */
5228 RET_LABEL53
:(void)0;
5231 var_vmpropdef
= var52
;
5232 /* <var_vmpropdef:nullable MPropDef> isa MMethodDef */
5233 cltype57
= type_model__MMethodDef
.color
;
5234 idtype58
= type_model__MMethodDef
.id
;
5235 if(var_vmpropdef
== NULL
) {
5238 if(cltype57
>= var_vmpropdef
->type
->table_size
) {
5241 var56
= var_vmpropdef
->type
->type_table
[cltype57
] == idtype58
;
5247 { /* Inline model#MPropDef#mproperty (var_vmpropdef) on <var_vmpropdef:nullable MPropDef(MMethodDef)> */
5248 var61
= var_vmpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_vmpropdef:nullable MPropDef(MMethodDef)> */
5249 if (unlikely(var61
== NULL
)) {
5250 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5251 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
5255 RET_LABEL60
:(void)0;
5259 { /* Inline model#MMethod#is_init (var59) on <var59:MProperty(MMethod)> */
5260 var64
= var59
->attrs
[COLOR_model__MMethod___is_init
].s
; /* _is_init on <var59:MProperty(MMethod)> */
5262 RET_LABEL63
:(void)0;
5274 var68
= "Can call a init only in another init";
5276 var70
= string__NativeString__to_s_with_length(var68
, var69
);
5281 typing__TypeVisitor__error(var_v
, self
, var67
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
5285 /* <var_vmpropdef:nullable MPropDef> isa MMethodDef */
5286 cltype74
= type_model__MMethodDef
.color
;
5287 idtype75
= type_model__MMethodDef
.id
;
5288 if(var_vmpropdef
== NULL
) {
5291 if(cltype74
>= var_vmpropdef
->type
->table_size
) {
5294 var73
= var_vmpropdef
->type
->type_table
[cltype74
] == idtype75
;
5300 { /* Inline model#MPropDef#mproperty (var_vmpropdef) on <var_vmpropdef:nullable MPropDef(MMethodDef)> */
5301 var79
= var_vmpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_vmpropdef:nullable MPropDef(MMethodDef)> */
5302 if (unlikely(var79
== NULL
)) {
5303 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5304 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
5308 RET_LABEL78
:(void)0;
5312 { /* Inline model#MMethod#is_root_init (var77) on <var77:MProperty(MMethod)> */
5313 var82
= var77
->attrs
[COLOR_model__MMethod___is_root_init
].s
; /* _is_root_init on <var77:MProperty(MMethod)> */
5315 RET_LABEL81
:(void)0;
5325 { /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
5326 var86
= var_callsite
->attrs
[COLOR_typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:nullable CallSite(CallSite)> */
5327 if (unlikely(var86
== NULL
)) {
5328 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5329 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 483);
5333 RET_LABEL85
:(void)0;
5337 { /* Inline model#MMethod#is_root_init (var84) on <var84:MMethod> */
5338 var89
= var84
->attrs
[COLOR_model__MMethod___is_root_init
].s
; /* _is_root_init on <var84:MMethod> */
5340 RET_LABEL88
:(void)0;
5354 var95
= string__NativeString__to_s_with_length(var93
, var94
);
5361 var98
= " cannot call a factory ";
5363 var100
= string__NativeString__to_s_with_length(var98
, var99
);
5368 { /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
5369 var103
= var_callsite
->attrs
[COLOR_typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:nullable CallSite(CallSite)> */
5370 if (unlikely(var103
== NULL
)) {
5371 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5372 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 483);
5376 RET_LABEL102
:(void)0;
5379 var104
= NEW_array__Array(&type_array__Arraykernel__Object
);
5380 { /* var104 = array_instance Array[Object] */
5382 var106
= NEW_array__NativeArray(var105
, &type_array__NativeArraykernel__Object
);
5383 ((struct instance_array__NativeArray
*)var106
)->values
[0] = (val
*) var92
;
5384 ((struct instance_array__NativeArray
*)var106
)->values
[1] = (val
*) var_vmpropdef
;
5385 ((struct instance_array__NativeArray
*)var106
)->values
[2] = (val
*) var97
;
5386 ((struct instance_array__NativeArray
*)var106
)->values
[3] = (val
*) var101
;
5388 ((void (*)(val
*, val
*, long))(var104
->class->vft
[COLOR_array__Array__with_native
]))(var104
, var106
, var105
) /* with_native on <var104:Array[Object]>*/;
5392 var107
= ((val
* (*)(val
*))(var104
->class->vft
[COLOR_string__Object__to_s
]))(var104
) /* to_s on <var104:Array[Object]>*/;
5395 typing__TypeVisitor__error(var_v
, self
, var107
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
5402 { /* Inline model#MSignature#return_mtype (var_msignature) on <var_msignature:MSignature> */
5403 var110
= var_msignature
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <var_msignature:MSignature> */
5405 RET_LABEL109
:(void)0;
5410 if (var_ret
== NULL
) {
5411 var112
= 0; /* is null */
5413 var112
= 1; /* arg is null and recv is not */
5416 { /* Inline kernel#Object#!= (var_ret,var111) on <var_ret:nullable MType> */
5417 var_other115
= var111
;
5419 var117
= ((short int (*)(val
*, val
*))(var_ret
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ret
, var_other115
) /* == on <var_ret:nullable MType(MType)>*/;
5425 RET_LABEL114
:(void)0;
5431 { /* Inline typing#AExpr#mtype= (self,var_ret) on <self:ASendExpr> */
5432 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var_ret
; /* _mtype on <self:ASendExpr> */
5433 RET_LABEL119
:(void)0;
5439 { /* Inline typing#AExpr#is_typed= (self,var120) on <self:ASendExpr> */
5440 self
->attrs
[COLOR_typing__AExpr___is_typed
].s
= var120
; /* _is_typed on <self:ASendExpr> */
5441 RET_LABEL121
:(void)0;
5447 /* method typing#ASendExpr#accept_typing for (self: Object, TypeVisitor) */
5448 void VIRTUAL_typing__ASendExpr__accept_typing(val
* self
, val
* p0
) {
5449 typing__ASendExpr__accept_typing(self
, p0
); /* Direct call typing#ASendExpr#accept_typing on <self:Object(ASendExpr)>*/
5452 /* method typing#ASendExpr#raw_arguments for (self: ASendExpr): Array[AExpr] */
5453 val
* typing__ASendExpr__raw_arguments(val
* self
) {
5454 val
* var
/* : Array[AExpr] */;
5455 val
* var1
/* : Array[AExpr] */;
5457 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendExpr__compute_raw_arguments
]))(self
) /* compute_raw_arguments on <self:ASendExpr>*/;
5464 /* method typing#ASendExpr#raw_arguments for (self: Object): Array[AExpr] */
5465 val
* VIRTUAL_typing__ASendExpr__raw_arguments(val
* self
) {
5466 val
* var
/* : Array[AExpr] */;
5467 val
* var1
/* : Array[AExpr] */;
5468 var1
= typing__ASendExpr__raw_arguments(self
);
5473 /* method typing#ABinopExpr#compute_raw_arguments for (self: ABinopExpr): Array[AExpr] */
5474 val
* typing__ABinopExpr__compute_raw_arguments(val
* self
) {
5475 val
* var
/* : Array[AExpr] */;
5476 val
* var1
/* : Array[AExpr] */;
5477 long var2
/* : Int */;
5478 val
* var_
/* var : Array[AExpr] */;
5479 val
* var3
/* : AExpr */;
5480 val
* var5
/* : AExpr */;
5481 var1
= NEW_array__Array(&type_array__Arrayparser_nodes__AExpr
);
5484 array__Array__with_capacity(var1
, var2
); /* Direct call array#Array#with_capacity on <var1:Array[AExpr]>*/
5488 { /* Inline parser_nodes#ABinopExpr#n_expr2 (self) on <self:ABinopExpr> */
5489 var5
= self
->attrs
[COLOR_parser_nodes__ABinopExpr___n_expr2
].val
; /* _n_expr2 on <self:ABinopExpr> */
5490 if (unlikely(var5
== NULL
)) {
5491 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
5492 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1473);
5500 array__AbstractArray__push(var_
, var3
); /* Direct call array#AbstractArray#push on <var_:Array[AExpr]>*/
5507 /* method typing#ABinopExpr#compute_raw_arguments for (self: Object): Array[AExpr] */
5508 val
* VIRTUAL_typing__ABinopExpr__compute_raw_arguments(val
* self
) {
5509 val
* var
/* : Array[AExpr] */;
5510 val
* var1
/* : Array[AExpr] */;
5511 var1
= typing__ABinopExpr__compute_raw_arguments(self
);
5516 /* method typing#AEqExpr#property_name for (self: AEqExpr): String */
5517 val
* typing__AEqExpr__property_name(val
* self
) {
5518 val
* var
/* : String */;
5519 static val
* varonce
;
5520 val
* var1
/* : String */;
5521 char* var2
/* : NativeString */;
5522 long var3
/* : Int */;
5523 val
* var4
/* : FlatString */;
5529 var4
= string__NativeString__to_s_with_length(var2
, var3
);
5538 /* method typing#AEqExpr#property_name for (self: Object): String */
5539 val
* VIRTUAL_typing__AEqExpr__property_name(val
* self
) {
5540 val
* var
/* : String */;
5541 val
* var1
/* : String */;
5542 var1
= typing__AEqExpr__property_name(self
);
5547 /* method typing#AEqExpr#accept_typing for (self: AEqExpr, TypeVisitor) */
5548 void typing__AEqExpr__accept_typing(val
* self
, val
* p0
) {
5549 val
* var_v
/* var v: TypeVisitor */;
5552 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AEqExpr__accept_typing
]))(self
, p0
) /* accept_typing on <self:AEqExpr>*/;
5555 typing__TypeVisitor__null_test(var_v
, self
); /* Direct call typing#TypeVisitor#null_test on <var_v:TypeVisitor>*/
5559 /* method typing#AEqExpr#accept_typing for (self: Object, TypeVisitor) */
5560 void VIRTUAL_typing__AEqExpr__accept_typing(val
* self
, val
* p0
) {
5561 typing__AEqExpr__accept_typing(self
, p0
); /* Direct call typing#AEqExpr#accept_typing on <self:Object(AEqExpr)>*/
5564 /* method typing#ANeExpr#property_name for (self: ANeExpr): String */
5565 val
* typing__ANeExpr__property_name(val
* self
) {
5566 val
* var
/* : String */;
5567 static val
* varonce
;
5568 val
* var1
/* : String */;
5569 char* var2
/* : NativeString */;
5570 long var3
/* : Int */;
5571 val
* var4
/* : FlatString */;
5577 var4
= string__NativeString__to_s_with_length(var2
, var3
);
5586 /* method typing#ANeExpr#property_name for (self: Object): String */
5587 val
* VIRTUAL_typing__ANeExpr__property_name(val
* self
) {
5588 val
* var
/* : String */;
5589 val
* var1
/* : String */;
5590 var1
= typing__ANeExpr__property_name(self
);
5595 /* method typing#ANeExpr#accept_typing for (self: ANeExpr, TypeVisitor) */
5596 void typing__ANeExpr__accept_typing(val
* self
, val
* p0
) {
5597 val
* var_v
/* var v: TypeVisitor */;
5600 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__ANeExpr__accept_typing
]))(self
, p0
) /* accept_typing on <self:ANeExpr>*/;
5603 typing__TypeVisitor__null_test(var_v
, self
); /* Direct call typing#TypeVisitor#null_test on <var_v:TypeVisitor>*/
5607 /* method typing#ANeExpr#accept_typing for (self: Object, TypeVisitor) */
5608 void VIRTUAL_typing__ANeExpr__accept_typing(val
* self
, val
* p0
) {
5609 typing__ANeExpr__accept_typing(self
, p0
); /* Direct call typing#ANeExpr#accept_typing on <self:Object(ANeExpr)>*/
5612 /* method typing#ALtExpr#property_name for (self: ALtExpr): String */
5613 val
* typing__ALtExpr__property_name(val
* self
) {
5614 val
* var
/* : String */;
5615 static val
* varonce
;
5616 val
* var1
/* : String */;
5617 char* var2
/* : NativeString */;
5618 long var3
/* : Int */;
5619 val
* var4
/* : FlatString */;
5625 var4
= string__NativeString__to_s_with_length(var2
, var3
);
5634 /* method typing#ALtExpr#property_name for (self: Object): String */
5635 val
* VIRTUAL_typing__ALtExpr__property_name(val
* self
) {
5636 val
* var
/* : String */;
5637 val
* var1
/* : String */;
5638 var1
= typing__ALtExpr__property_name(self
);
5643 /* method typing#ALeExpr#property_name for (self: ALeExpr): String */
5644 val
* typing__ALeExpr__property_name(val
* self
) {
5645 val
* var
/* : String */;
5646 static val
* varonce
;
5647 val
* var1
/* : String */;
5648 char* var2
/* : NativeString */;
5649 long var3
/* : Int */;
5650 val
* var4
/* : FlatString */;
5656 var4
= string__NativeString__to_s_with_length(var2
, var3
);
5665 /* method typing#ALeExpr#property_name for (self: Object): String */
5666 val
* VIRTUAL_typing__ALeExpr__property_name(val
* self
) {
5667 val
* var
/* : String */;
5668 val
* var1
/* : String */;
5669 var1
= typing__ALeExpr__property_name(self
);
5674 /* method typing#ALlExpr#property_name for (self: ALlExpr): String */
5675 val
* typing__ALlExpr__property_name(val
* self
) {
5676 val
* var
/* : String */;
5677 static val
* varonce
;
5678 val
* var1
/* : String */;
5679 char* var2
/* : NativeString */;
5680 long var3
/* : Int */;
5681 val
* var4
/* : FlatString */;
5687 var4
= string__NativeString__to_s_with_length(var2
, var3
);
5696 /* method typing#ALlExpr#property_name for (self: Object): String */
5697 val
* VIRTUAL_typing__ALlExpr__property_name(val
* self
) {
5698 val
* var
/* : String */;
5699 val
* var1
/* : String */;
5700 var1
= typing__ALlExpr__property_name(self
);
5705 /* method typing#AGtExpr#property_name for (self: AGtExpr): String */
5706 val
* typing__AGtExpr__property_name(val
* self
) {
5707 val
* var
/* : String */;
5708 static val
* varonce
;
5709 val
* var1
/* : String */;
5710 char* var2
/* : NativeString */;
5711 long var3
/* : Int */;
5712 val
* var4
/* : FlatString */;
5718 var4
= string__NativeString__to_s_with_length(var2
, var3
);
5727 /* method typing#AGtExpr#property_name for (self: Object): String */
5728 val
* VIRTUAL_typing__AGtExpr__property_name(val
* self
) {
5729 val
* var
/* : String */;
5730 val
* var1
/* : String */;
5731 var1
= typing__AGtExpr__property_name(self
);
5736 /* method typing#AGeExpr#property_name for (self: AGeExpr): String */
5737 val
* typing__AGeExpr__property_name(val
* self
) {
5738 val
* var
/* : String */;
5739 static val
* varonce
;
5740 val
* var1
/* : String */;
5741 char* var2
/* : NativeString */;
5742 long var3
/* : Int */;
5743 val
* var4
/* : FlatString */;
5749 var4
= string__NativeString__to_s_with_length(var2
, var3
);
5758 /* method typing#AGeExpr#property_name for (self: Object): String */
5759 val
* VIRTUAL_typing__AGeExpr__property_name(val
* self
) {
5760 val
* var
/* : String */;
5761 val
* var1
/* : String */;
5762 var1
= typing__AGeExpr__property_name(self
);
5767 /* method typing#AGgExpr#property_name for (self: AGgExpr): String */
5768 val
* typing__AGgExpr__property_name(val
* self
) {
5769 val
* var
/* : String */;
5770 static val
* varonce
;
5771 val
* var1
/* : String */;
5772 char* var2
/* : NativeString */;
5773 long var3
/* : Int */;
5774 val
* var4
/* : FlatString */;
5780 var4
= string__NativeString__to_s_with_length(var2
, var3
);
5789 /* method typing#AGgExpr#property_name for (self: Object): String */
5790 val
* VIRTUAL_typing__AGgExpr__property_name(val
* self
) {
5791 val
* var
/* : String */;
5792 val
* var1
/* : String */;
5793 var1
= typing__AGgExpr__property_name(self
);
5798 /* method typing#APlusExpr#property_name for (self: APlusExpr): String */
5799 val
* typing__APlusExpr__property_name(val
* self
) {
5800 val
* var
/* : String */;
5801 static val
* varonce
;
5802 val
* var1
/* : String */;
5803 char* var2
/* : NativeString */;
5804 long var3
/* : Int */;
5805 val
* var4
/* : FlatString */;
5811 var4
= string__NativeString__to_s_with_length(var2
, var3
);
5820 /* method typing#APlusExpr#property_name for (self: Object): String */
5821 val
* VIRTUAL_typing__APlusExpr__property_name(val
* self
) {
5822 val
* var
/* : String */;
5823 val
* var1
/* : String */;
5824 var1
= typing__APlusExpr__property_name(self
);
5829 /* method typing#AMinusExpr#property_name for (self: AMinusExpr): String */
5830 val
* typing__AMinusExpr__property_name(val
* self
) {
5831 val
* var
/* : String */;
5832 static val
* varonce
;
5833 val
* var1
/* : String */;
5834 char* var2
/* : NativeString */;
5835 long var3
/* : Int */;
5836 val
* var4
/* : FlatString */;
5842 var4
= string__NativeString__to_s_with_length(var2
, var3
);
5851 /* method typing#AMinusExpr#property_name for (self: Object): String */
5852 val
* VIRTUAL_typing__AMinusExpr__property_name(val
* self
) {
5853 val
* var
/* : String */;
5854 val
* var1
/* : String */;
5855 var1
= typing__AMinusExpr__property_name(self
);
5860 /* method typing#AStarshipExpr#property_name for (self: AStarshipExpr): String */
5861 val
* typing__AStarshipExpr__property_name(val
* self
) {
5862 val
* var
/* : String */;
5863 static val
* varonce
;
5864 val
* var1
/* : String */;
5865 char* var2
/* : NativeString */;
5866 long var3
/* : Int */;
5867 val
* var4
/* : FlatString */;
5873 var4
= string__NativeString__to_s_with_length(var2
, var3
);
5882 /* method typing#AStarshipExpr#property_name for (self: Object): String */
5883 val
* VIRTUAL_typing__AStarshipExpr__property_name(val
* self
) {
5884 val
* var
/* : String */;
5885 val
* var1
/* : String */;
5886 var1
= typing__AStarshipExpr__property_name(self
);
5891 /* method typing#AStarExpr#property_name for (self: AStarExpr): String */
5892 val
* typing__AStarExpr__property_name(val
* self
) {
5893 val
* var
/* : String */;
5894 static val
* varonce
;
5895 val
* var1
/* : String */;
5896 char* var2
/* : NativeString */;
5897 long var3
/* : Int */;
5898 val
* var4
/* : FlatString */;
5904 var4
= string__NativeString__to_s_with_length(var2
, var3
);
5913 /* method typing#AStarExpr#property_name for (self: Object): String */
5914 val
* VIRTUAL_typing__AStarExpr__property_name(val
* self
) {
5915 val
* var
/* : String */;
5916 val
* var1
/* : String */;
5917 var1
= typing__AStarExpr__property_name(self
);
5922 /* method typing#AStarstarExpr#property_name for (self: AStarstarExpr): String */
5923 val
* typing__AStarstarExpr__property_name(val
* self
) {
5924 val
* var
/* : String */;
5925 static val
* varonce
;
5926 val
* var1
/* : String */;
5927 char* var2
/* : NativeString */;
5928 long var3
/* : Int */;
5929 val
* var4
/* : FlatString */;
5935 var4
= string__NativeString__to_s_with_length(var2
, var3
);
5944 /* method typing#AStarstarExpr#property_name for (self: Object): String */
5945 val
* VIRTUAL_typing__AStarstarExpr__property_name(val
* self
) {
5946 val
* var
/* : String */;
5947 val
* var1
/* : String */;
5948 var1
= typing__AStarstarExpr__property_name(self
);
5953 /* method typing#ASlashExpr#property_name for (self: ASlashExpr): String */
5954 val
* typing__ASlashExpr__property_name(val
* self
) {
5955 val
* var
/* : String */;
5956 static val
* varonce
;
5957 val
* var1
/* : String */;
5958 char* var2
/* : NativeString */;
5959 long var3
/* : Int */;
5960 val
* var4
/* : FlatString */;
5966 var4
= string__NativeString__to_s_with_length(var2
, var3
);
5975 /* method typing#ASlashExpr#property_name for (self: Object): String */
5976 val
* VIRTUAL_typing__ASlashExpr__property_name(val
* self
) {
5977 val
* var
/* : String */;
5978 val
* var1
/* : String */;
5979 var1
= typing__ASlashExpr__property_name(self
);
5984 /* method typing#APercentExpr#property_name for (self: APercentExpr): String */
5985 val
* typing__APercentExpr__property_name(val
* self
) {
5986 val
* var
/* : String */;
5987 static val
* varonce
;
5988 val
* var1
/* : String */;
5989 char* var2
/* : NativeString */;
5990 long var3
/* : Int */;
5991 val
* var4
/* : FlatString */;
5997 var4
= string__NativeString__to_s_with_length(var2
, var3
);
6006 /* method typing#APercentExpr#property_name for (self: Object): String */
6007 val
* VIRTUAL_typing__APercentExpr__property_name(val
* self
) {
6008 val
* var
/* : String */;
6009 val
* var1
/* : String */;
6010 var1
= typing__APercentExpr__property_name(self
);
6015 /* method typing#AUminusExpr#property_name for (self: AUminusExpr): String */
6016 val
* typing__AUminusExpr__property_name(val
* self
) {
6017 val
* var
/* : String */;
6018 static val
* varonce
;
6019 val
* var1
/* : String */;
6020 char* var2
/* : NativeString */;
6021 long var3
/* : Int */;
6022 val
* var4
/* : FlatString */;
6028 var4
= string__NativeString__to_s_with_length(var2
, var3
);
6037 /* method typing#AUminusExpr#property_name for (self: Object): String */
6038 val
* VIRTUAL_typing__AUminusExpr__property_name(val
* self
) {
6039 val
* var
/* : String */;
6040 val
* var1
/* : String */;
6041 var1
= typing__AUminusExpr__property_name(self
);
6046 /* method typing#AUminusExpr#compute_raw_arguments for (self: AUminusExpr): Array[AExpr] */
6047 val
* typing__AUminusExpr__compute_raw_arguments(val
* self
) {
6048 val
* var
/* : Array[AExpr] */;
6049 val
* var1
/* : Array[AExpr] */;
6050 var1
= NEW_array__Array(&type_array__Arrayparser_nodes__AExpr
);
6052 ((void (*)(val
*))(var1
->class->vft
[COLOR_kernel__Object__init
]))(var1
) /* init on <var1:Array[AExpr]>*/;
6059 /* method typing#AUminusExpr#compute_raw_arguments for (self: Object): Array[AExpr] */
6060 val
* VIRTUAL_typing__AUminusExpr__compute_raw_arguments(val
* self
) {
6061 val
* var
/* : Array[AExpr] */;
6062 val
* var1
/* : Array[AExpr] */;
6063 var1
= typing__AUminusExpr__compute_raw_arguments(self
);
6068 /* method typing#ACallExpr#property_name for (self: ACallExpr): String */
6069 val
* typing__ACallExpr__property_name(val
* self
) {
6070 val
* var
/* : String */;
6071 val
* var1
/* : TId */;
6072 val
* var3
/* : TId */;
6073 val
* var4
/* : String */;
6075 { /* Inline parser_nodes#ACallFormExpr#n_id (self) on <self:ACallExpr> */
6076 var3
= self
->attrs
[COLOR_parser_nodes__ACallFormExpr___n_id
].val
; /* _n_id on <self:ACallExpr> */
6077 if (unlikely(var3
== NULL
)) {
6078 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
6079 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1644);
6087 var4
= lexer_work__Token__text(var1
);
6094 /* method typing#ACallExpr#property_name for (self: Object): String */
6095 val
* VIRTUAL_typing__ACallExpr__property_name(val
* self
) {
6096 val
* var
/* : String */;
6097 val
* var1
/* : String */;
6098 var1
= typing__ACallExpr__property_name(self
);
6103 /* method typing#ACallExpr#compute_raw_arguments for (self: ACallExpr): Array[AExpr] */
6104 val
* typing__ACallExpr__compute_raw_arguments(val
* self
) {
6105 val
* var
/* : Array[AExpr] */;
6106 val
* var1
/* : AExprs */;
6107 val
* var3
/* : AExprs */;
6108 val
* var4
/* : Array[AExpr] */;
6110 { /* Inline parser_nodes#ACallFormExpr#n_args (self) on <self:ACallExpr> */
6111 var3
= self
->attrs
[COLOR_parser_nodes__ACallFormExpr___n_args
].val
; /* _n_args on <self:ACallExpr> */
6112 if (unlikely(var3
== NULL
)) {
6113 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
6114 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1647);
6122 var4
= typing__AExprs__to_a(var1
);
6129 /* method typing#ACallExpr#compute_raw_arguments for (self: Object): Array[AExpr] */
6130 val
* VIRTUAL_typing__ACallExpr__compute_raw_arguments(val
* self
) {
6131 val
* var
/* : Array[AExpr] */;
6132 val
* var1
/* : Array[AExpr] */;
6133 var1
= typing__ACallExpr__compute_raw_arguments(self
);
6138 /* method typing#ACallAssignExpr#property_name for (self: ACallAssignExpr): String */
6139 val
* typing__ACallAssignExpr__property_name(val
* self
) {
6140 val
* var
/* : String */;
6141 val
* var1
/* : TId */;
6142 val
* var3
/* : TId */;
6143 val
* var4
/* : String */;
6144 static val
* varonce
;
6145 val
* var5
/* : String */;
6146 char* var6
/* : NativeString */;
6147 long var7
/* : Int */;
6148 val
* var8
/* : FlatString */;
6149 val
* var9
/* : String */;
6151 { /* Inline parser_nodes#ACallFormExpr#n_id (self) on <self:ACallAssignExpr> */
6152 var3
= self
->attrs
[COLOR_parser_nodes__ACallFormExpr___n_id
].val
; /* _n_id on <self:ACallAssignExpr> */
6153 if (unlikely(var3
== NULL
)) {
6154 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
6155 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1644);
6163 var4
= lexer_work__Token__text(var1
);
6170 var8
= string__NativeString__to_s_with_length(var6
, var7
);
6175 var9
= string__FlatString___43d(var4
, var5
);
6182 /* method typing#ACallAssignExpr#property_name for (self: Object): String */
6183 val
* VIRTUAL_typing__ACallAssignExpr__property_name(val
* self
) {
6184 val
* var
/* : String */;
6185 val
* var1
/* : String */;
6186 var1
= typing__ACallAssignExpr__property_name(self
);
6191 /* method typing#ACallAssignExpr#compute_raw_arguments for (self: ACallAssignExpr): Array[AExpr] */
6192 val
* typing__ACallAssignExpr__compute_raw_arguments(val
* self
) {
6193 val
* var
/* : Array[AExpr] */;
6194 val
* var1
/* : AExprs */;
6195 val
* var3
/* : AExprs */;
6196 val
* var4
/* : Array[AExpr] */;
6197 val
* var_res
/* var res: Array[AExpr] */;
6198 val
* var5
/* : AExpr */;
6199 val
* var7
/* : AExpr */;
6201 { /* Inline parser_nodes#ACallFormExpr#n_args (self) on <self:ACallAssignExpr> */
6202 var3
= self
->attrs
[COLOR_parser_nodes__ACallFormExpr___n_args
].val
; /* _n_args on <self:ACallAssignExpr> */
6203 if (unlikely(var3
== NULL
)) {
6204 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
6205 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1647);
6213 var4
= typing__AExprs__to_a(var1
);
6217 { /* Inline parser_nodes#AAssignFormExpr#n_value (self) on <self:ACallAssignExpr> */
6218 var7
= self
->attrs
[COLOR_parser_nodes__AAssignFormExpr___n_value
].val
; /* _n_value on <self:ACallAssignExpr> */
6219 if (unlikely(var7
== NULL
)) {
6220 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
6221 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1445);
6229 array__Array__add(var_res
, var5
); /* Direct call array#Array#add on <var_res:Array[AExpr]>*/
6236 /* method typing#ACallAssignExpr#compute_raw_arguments for (self: Object): Array[AExpr] */
6237 val
* VIRTUAL_typing__ACallAssignExpr__compute_raw_arguments(val
* self
) {
6238 val
* var
/* : Array[AExpr] */;
6239 val
* var1
/* : Array[AExpr] */;
6240 var1
= typing__ACallAssignExpr__compute_raw_arguments(self
);
6245 /* method typing#ABraExpr#property_name for (self: ABraExpr): String */
6246 val
* typing__ABraExpr__property_name(val
* self
) {
6247 val
* var
/* : String */;
6248 static val
* varonce
;
6249 val
* var1
/* : String */;
6250 char* var2
/* : NativeString */;
6251 long var3
/* : Int */;
6252 val
* var4
/* : FlatString */;
6258 var4
= string__NativeString__to_s_with_length(var2
, var3
);
6267 /* method typing#ABraExpr#property_name for (self: Object): String */
6268 val
* VIRTUAL_typing__ABraExpr__property_name(val
* self
) {
6269 val
* var
/* : String */;
6270 val
* var1
/* : String */;
6271 var1
= typing__ABraExpr__property_name(self
);
6276 /* method typing#ABraExpr#compute_raw_arguments for (self: ABraExpr): Array[AExpr] */
6277 val
* typing__ABraExpr__compute_raw_arguments(val
* self
) {
6278 val
* var
/* : Array[AExpr] */;
6279 val
* var1
/* : AExprs */;
6280 val
* var3
/* : AExprs */;
6281 val
* var4
/* : Array[AExpr] */;
6283 { /* Inline parser_nodes#ABraFormExpr#n_args (self) on <self:ABraExpr> */
6284 var3
= self
->attrs
[COLOR_parser_nodes__ABraFormExpr___n_args
].val
; /* _n_args on <self:ABraExpr> */
6285 if (unlikely(var3
== NULL
)) {
6286 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
6287 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1705);
6295 var4
= typing__AExprs__to_a(var1
);
6302 /* method typing#ABraExpr#compute_raw_arguments for (self: Object): Array[AExpr] */
6303 val
* VIRTUAL_typing__ABraExpr__compute_raw_arguments(val
* self
) {
6304 val
* var
/* : Array[AExpr] */;
6305 val
* var1
/* : Array[AExpr] */;
6306 var1
= typing__ABraExpr__compute_raw_arguments(self
);
6311 /* method typing#ABraAssignExpr#property_name for (self: ABraAssignExpr): String */
6312 val
* typing__ABraAssignExpr__property_name(val
* self
) {
6313 val
* var
/* : String */;
6314 static val
* varonce
;
6315 val
* var1
/* : String */;
6316 char* var2
/* : NativeString */;
6317 long var3
/* : Int */;
6318 val
* var4
/* : FlatString */;
6324 var4
= string__NativeString__to_s_with_length(var2
, var3
);
6333 /* method typing#ABraAssignExpr#property_name for (self: Object): String */
6334 val
* VIRTUAL_typing__ABraAssignExpr__property_name(val
* self
) {
6335 val
* var
/* : String */;
6336 val
* var1
/* : String */;
6337 var1
= typing__ABraAssignExpr__property_name(self
);
6342 /* method typing#ABraAssignExpr#compute_raw_arguments for (self: ABraAssignExpr): Array[AExpr] */
6343 val
* typing__ABraAssignExpr__compute_raw_arguments(val
* self
) {
6344 val
* var
/* : Array[AExpr] */;
6345 val
* var1
/* : AExprs */;
6346 val
* var3
/* : AExprs */;
6347 val
* var4
/* : Array[AExpr] */;
6348 val
* var_res
/* var res: Array[AExpr] */;
6349 val
* var5
/* : AExpr */;
6350 val
* var7
/* : AExpr */;
6352 { /* Inline parser_nodes#ABraFormExpr#n_args (self) on <self:ABraAssignExpr> */
6353 var3
= self
->attrs
[COLOR_parser_nodes__ABraFormExpr___n_args
].val
; /* _n_args on <self:ABraAssignExpr> */
6354 if (unlikely(var3
== NULL
)) {
6355 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
6356 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1705);
6364 var4
= typing__AExprs__to_a(var1
);
6368 { /* Inline parser_nodes#AAssignFormExpr#n_value (self) on <self:ABraAssignExpr> */
6369 var7
= self
->attrs
[COLOR_parser_nodes__AAssignFormExpr___n_value
].val
; /* _n_value on <self:ABraAssignExpr> */
6370 if (unlikely(var7
== NULL
)) {
6371 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
6372 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1445);
6380 array__Array__add(var_res
, var5
); /* Direct call array#Array#add on <var_res:Array[AExpr]>*/
6387 /* method typing#ABraAssignExpr#compute_raw_arguments for (self: Object): Array[AExpr] */
6388 val
* VIRTUAL_typing__ABraAssignExpr__compute_raw_arguments(val
* self
) {
6389 val
* var
/* : Array[AExpr] */;
6390 val
* var1
/* : Array[AExpr] */;
6391 var1
= typing__ABraAssignExpr__compute_raw_arguments(self
);
6396 /* method typing#ASendReassignFormExpr#write_callsite for (self: ASendReassignFormExpr): nullable CallSite */
6397 val
* typing__ASendReassignFormExpr__write_callsite(val
* self
) {
6398 val
* var
/* : nullable CallSite */;
6399 val
* var1
/* : nullable CallSite */;
6400 var1
= self
->attrs
[COLOR_typing__ASendReassignFormExpr___write_callsite
].val
; /* _write_callsite on <self:ASendReassignFormExpr> */
6405 /* method typing#ASendReassignFormExpr#write_callsite for (self: Object): nullable CallSite */
6406 val
* VIRTUAL_typing__ASendReassignFormExpr__write_callsite(val
* self
) {
6407 val
* var
/* : nullable CallSite */;
6408 val
* var1
/* : nullable CallSite */;
6409 val
* var3
/* : nullable CallSite */;
6410 { /* Inline typing#ASendReassignFormExpr#write_callsite (self) on <self:Object(ASendReassignFormExpr)> */
6411 var3
= self
->attrs
[COLOR_typing__ASendReassignFormExpr___write_callsite
].val
; /* _write_callsite on <self:Object(ASendReassignFormExpr)> */
6419 /* method typing#ASendReassignFormExpr#write_callsite= for (self: ASendReassignFormExpr, nullable CallSite) */
6420 void typing__ASendReassignFormExpr__write_callsite_61d(val
* self
, val
* p0
) {
6421 self
->attrs
[COLOR_typing__ASendReassignFormExpr___write_callsite
].val
= p0
; /* _write_callsite on <self:ASendReassignFormExpr> */
6424 /* method typing#ASendReassignFormExpr#write_callsite= for (self: Object, nullable CallSite) */
6425 void VIRTUAL_typing__ASendReassignFormExpr__write_callsite_61d(val
* self
, val
* p0
) {
6426 { /* Inline typing#ASendReassignFormExpr#write_callsite= (self,p0) on <self:Object(ASendReassignFormExpr)> */
6427 self
->attrs
[COLOR_typing__ASendReassignFormExpr___write_callsite
].val
= p0
; /* _write_callsite on <self:Object(ASendReassignFormExpr)> */
6432 /* method typing#ASendReassignFormExpr#accept_typing for (self: ASendReassignFormExpr, TypeVisitor) */
6433 void typing__ASendReassignFormExpr__accept_typing(val
* self
, val
* p0
) {
6434 val
* var_v
/* var v: TypeVisitor */;
6435 val
* var
/* : AExpr */;
6436 val
* var2
/* : AExpr */;
6437 val
* var3
/* : nullable MType */;
6438 val
* var_recvtype
/* var recvtype: nullable MType */;
6439 val
* var4
/* : String */;
6440 val
* var_name
/* var name: String */;
6441 val
* var5
/* : null */;
6442 short int var6
/* : Bool */;
6443 short int var7
/* : Bool */;
6444 val
* var_other
/* var other: nullable Object */;
6445 short int var9
/* : Bool */;
6446 short int var11
/* : Bool */;
6447 short int var12
/* : Bool */;
6450 static val
* varonce
;
6451 val
* var13
/* : String */;
6452 char* var14
/* : NativeString */;
6453 long var15
/* : Int */;
6454 val
* var16
/* : FlatString */;
6455 static val
* varonce17
;
6456 val
* var18
/* : String */;
6457 char* var19
/* : NativeString */;
6458 long var20
/* : Int */;
6459 val
* var21
/* : FlatString */;
6460 val
* var22
/* : Array[Object] */;
6461 long var23
/* : Int */;
6462 val
* var24
/* : NativeArray[Object] */;
6463 val
* var25
/* : String */;
6464 val
* var26
/* : AExpr */;
6465 val
* var28
/* : AExpr */;
6466 short int var29
/* : Bool */;
6469 short int var_for_self
/* var for_self: Bool */;
6470 val
* var32
/* : nullable CallSite */;
6471 val
* var_callsite
/* var callsite: nullable CallSite */;
6472 val
* var33
/* : null */;
6473 short int var34
/* : Bool */;
6474 short int var35
/* : Bool */;
6475 short int var37
/* : Bool */;
6476 short int var39
/* : Bool */;
6477 val
* var41
/* : Array[AExpr] */;
6478 val
* var_args
/* var args: Array[AExpr] */;
6479 short int var42
/* : Bool */;
6480 val
* var43
/* : MSignature */;
6481 val
* var45
/* : MSignature */;
6482 val
* var46
/* : nullable MType */;
6483 val
* var48
/* : nullable MType */;
6484 val
* var_readtype
/* var readtype: nullable MType */;
6485 val
* var49
/* : null */;
6486 short int var50
/* : Bool */;
6487 short int var51
/* : Bool */;
6488 short int var53
/* : Bool */;
6489 short int var55
/* : Bool */;
6490 static val
* varonce56
;
6491 val
* var57
/* : String */;
6492 char* var58
/* : NativeString */;
6493 long var59
/* : Int */;
6494 val
* var60
/* : FlatString */;
6495 static val
* varonce61
;
6496 val
* var62
/* : String */;
6497 char* var63
/* : NativeString */;
6498 long var64
/* : Int */;
6499 val
* var65
/* : FlatString */;
6500 val
* var66
/* : Array[Object] */;
6501 long var67
/* : Int */;
6502 val
* var68
/* : NativeArray[Object] */;
6503 val
* var69
/* : String */;
6504 static val
* varonce70
;
6505 val
* var71
/* : String */;
6506 char* var72
/* : NativeString */;
6507 long var73
/* : Int */;
6508 val
* var74
/* : FlatString */;
6509 val
* var75
/* : String */;
6510 val
* var76
/* : AExpr */;
6511 val
* var78
/* : AExpr */;
6512 short int var79
/* : Bool */;
6515 val
* var82
/* : nullable CallSite */;
6516 val
* var_wcallsite
/* var wcallsite: nullable CallSite */;
6517 val
* var83
/* : null */;
6518 short int var84
/* : Bool */;
6519 short int var85
/* : Bool */;
6520 short int var87
/* : Bool */;
6521 short int var89
/* : Bool */;
6522 val
* var91
/* : MSignature */;
6523 val
* var93
/* : MSignature */;
6524 val
* var94
/* : Array[MParameter] */;
6525 val
* var96
/* : Array[MParameter] */;
6526 val
* var97
/* : nullable Object */;
6527 val
* var98
/* : MType */;
6528 val
* var100
/* : MType */;
6529 val
* var101
/* : nullable MType */;
6530 val
* var_wtype
/* var wtype: nullable MType */;
6531 val
* var102
/* : null */;
6532 short int var103
/* : Bool */;
6533 short int var104
/* : Bool */;
6534 short int var106
/* : Bool */;
6535 short int var108
/* : Bool */;
6536 val
* var109
/* : Array[nullable Object] */;
6537 val
* var110
/* : AExpr */;
6538 val
* var112
/* : AExpr */;
6539 short int var113
/* : Bool */;
6540 short int var114
/* : Bool */;
6543 { /* Inline parser_nodes#ASendExpr#n_expr (self) on <self:ASendReassignFormExpr> */
6544 var2
= self
->attrs
[COLOR_parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <self:ASendReassignFormExpr> */
6545 if (unlikely(var2
== NULL
)) {
6546 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
6547 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1466);
6555 var3
= typing__TypeVisitor__visit_expr(var_v
, var
);
6557 var_recvtype
= var3
;
6559 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendExpr__property_name
]))(self
) /* property_name on <self:ASendReassignFormExpr>*/;
6563 if (var_recvtype
== NULL
) {
6564 var6
= 1; /* is null */
6566 var6
= 0; /* arg is null but recv is not */
6569 { /* Inline kernel#Object#== (var_recvtype,var5) on <var_recvtype:nullable MType> */
6572 { /* Inline kernel#Object#is_same_instance (var_recvtype,var_other) on <var_recvtype:nullable MType(MType)> */
6573 var11
= var_recvtype
== var_other
;
6576 RET_LABEL10
:(void)0;
6589 /* <var_recvtype:nullable MType(MType)> isa MNullType */
6590 cltype
= type_model__MNullType
.color
;
6591 idtype
= type_model__MNullType
.id
;
6592 if(cltype
>= var_recvtype
->type
->table_size
) {
6595 var12
= var_recvtype
->type
->type_table
[cltype
] == idtype
;
6601 var14
= "Error: Method \'";
6603 var16
= string__NativeString__to_s_with_length(var14
, var15
);
6610 var19
= "\' call on \'null\'.";
6612 var21
= string__NativeString__to_s_with_length(var19
, var20
);
6616 var22
= NEW_array__Array(&type_array__Arraykernel__Object
);
6617 { /* var22 = array_instance Array[Object] */
6619 var24
= NEW_array__NativeArray(var23
, &type_array__NativeArraykernel__Object
);
6620 ((struct instance_array__NativeArray
*)var24
)->values
[0] = (val
*) var13
;
6621 ((struct instance_array__NativeArray
*)var24
)->values
[1] = (val
*) var_name
;
6622 ((struct instance_array__NativeArray
*)var24
)->values
[2] = (val
*) var18
;
6624 ((void (*)(val
*, val
*, long))(var22
->class->vft
[COLOR_array__Array__with_native
]))(var22
, var24
, var23
) /* with_native on <var22:Array[Object]>*/;
6628 var25
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_string__Object__to_s
]))(var22
) /* to_s on <var22:Array[Object]>*/;
6631 typing__TypeVisitor__error(var_v
, self
, var25
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
6637 { /* Inline parser_nodes#ASendExpr#n_expr (self) on <self:ASendReassignFormExpr> */
6638 var28
= self
->attrs
[COLOR_parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <self:ASendReassignFormExpr> */
6639 if (unlikely(var28
== NULL
)) {
6640 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
6641 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1466);
6645 RET_LABEL27
:(void)0;
6648 /* <var26:AExpr> isa ASelfExpr */
6649 cltype30
= type_parser_nodes__ASelfExpr
.color
;
6650 idtype31
= type_parser_nodes__ASelfExpr
.id
;
6651 if(cltype30
>= var26
->type
->table_size
) {
6654 var29
= var26
->type
->type_table
[cltype30
] == idtype31
;
6656 var_for_self
= var29
;
6658 var32
= typing__TypeVisitor__get_method(var_v
, self
, var_recvtype
, var_name
, var_for_self
);
6660 var_callsite
= var32
;
6662 if (var_callsite
== NULL
) {
6663 var34
= 1; /* is null */
6665 var34
= 0; /* arg is null but recv is not */
6668 { /* Inline kernel#Object#== (var_callsite,var33) on <var_callsite:nullable CallSite> */
6671 { /* Inline kernel#Object#is_same_instance (var_callsite,var_other) on <var_callsite:nullable CallSite(CallSite)> */
6672 var39
= var_callsite
== var_other
;
6675 RET_LABEL38
:(void)0;
6680 RET_LABEL36
:(void)0;
6689 { /* Inline typing#ASendExpr#callsite= (self,var_callsite) on <self:ASendReassignFormExpr> */
6690 self
->attrs
[COLOR_typing__ASendExpr___callsite
].val
= var_callsite
; /* _callsite on <self:ASendReassignFormExpr> */
6691 RET_LABEL40
:(void)0;
6695 var41
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendExpr__compute_raw_arguments
]))(self
) /* compute_raw_arguments on <self:ASendReassignFormExpr>*/;
6699 var42
= typing__CallSite__check_signature(var_callsite
, var_v
, var_args
);
6702 { /* Inline typing#CallSite#msignature (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
6703 var45
= var_callsite
->attrs
[COLOR_typing__CallSite___msignature
].val
; /* _msignature on <var_callsite:nullable CallSite(CallSite)> */
6704 if (unlikely(var45
== NULL
)) {
6705 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
6706 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 490);
6710 RET_LABEL44
:(void)0;
6714 { /* Inline model#MSignature#return_mtype (var43) on <var43:MSignature> */
6715 var48
= var43
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <var43:MSignature> */
6717 RET_LABEL47
:(void)0;
6720 var_readtype
= var46
;
6722 if (var_readtype
== NULL
) {
6723 var50
= 1; /* is null */
6725 var50
= 0; /* arg is null but recv is not */
6728 { /* Inline kernel#Object#== (var_readtype,var49) on <var_readtype:nullable MType> */
6731 { /* Inline kernel#Object#is_same_instance (var_readtype,var_other) on <var_readtype:nullable MType(MType)> */
6732 var55
= var_readtype
== var_other
;
6735 RET_LABEL54
:(void)0;
6740 RET_LABEL52
:(void)0;
6750 var60
= string__NativeString__to_s_with_length(var58
, var59
);
6757 var63
= " is not a function";
6759 var65
= string__NativeString__to_s_with_length(var63
, var64
);
6763 var66
= NEW_array__Array(&type_array__Arraykernel__Object
);
6764 { /* var66 = array_instance Array[Object] */
6766 var68
= NEW_array__NativeArray(var67
, &type_array__NativeArraykernel__Object
);
6767 ((struct instance_array__NativeArray
*)var68
)->values
[0] = (val
*) var57
;
6768 ((struct instance_array__NativeArray
*)var68
)->values
[1] = (val
*) var_name
;
6769 ((struct instance_array__NativeArray
*)var68
)->values
[2] = (val
*) var62
;
6771 ((void (*)(val
*, val
*, long))(var66
->class->vft
[COLOR_array__Array__with_native
]))(var66
, var68
, var67
) /* with_native on <var66:Array[Object]>*/;
6775 var69
= ((val
* (*)(val
*))(var66
->class->vft
[COLOR_string__Object__to_s
]))(var66
) /* to_s on <var66:Array[Object]>*/;
6778 typing__TypeVisitor__error(var_v
, self
, var69
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
6788 var74
= string__NativeString__to_s_with_length(var72
, var73
);
6793 var75
= string__FlatString___43d(var_name
, var71
);
6796 { /* Inline parser_nodes#ASendExpr#n_expr (self) on <self:ASendReassignFormExpr> */
6797 var78
= self
->attrs
[COLOR_parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <self:ASendReassignFormExpr> */
6798 if (unlikely(var78
== NULL
)) {
6799 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
6800 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1466);
6804 RET_LABEL77
:(void)0;
6807 /* <var76:AExpr> isa ASelfExpr */
6808 cltype80
= type_parser_nodes__ASelfExpr
.color
;
6809 idtype81
= type_parser_nodes__ASelfExpr
.id
;
6810 if(cltype80
>= var76
->type
->table_size
) {
6813 var79
= var76
->type
->type_table
[cltype80
] == idtype81
;
6816 var82
= typing__TypeVisitor__get_method(var_v
, self
, var_recvtype
, var75
, var79
);
6818 var_wcallsite
= var82
;
6820 if (var_wcallsite
== NULL
) {
6821 var84
= 1; /* is null */
6823 var84
= 0; /* arg is null but recv is not */
6826 { /* Inline kernel#Object#== (var_wcallsite,var83) on <var_wcallsite:nullable CallSite> */
6829 { /* Inline kernel#Object#is_same_instance (var_wcallsite,var_other) on <var_wcallsite:nullable CallSite(CallSite)> */
6830 var89
= var_wcallsite
== var_other
;
6833 RET_LABEL88
:(void)0;
6838 RET_LABEL86
:(void)0;
6847 { /* Inline typing#ASendReassignFormExpr#write_callsite= (self,var_wcallsite) on <self:ASendReassignFormExpr> */
6848 self
->attrs
[COLOR_typing__ASendReassignFormExpr___write_callsite
].val
= var_wcallsite
; /* _write_callsite on <self:ASendReassignFormExpr> */
6849 RET_LABEL90
:(void)0;
6853 { /* Inline typing#CallSite#msignature (var_wcallsite) on <var_wcallsite:nullable CallSite(CallSite)> */
6854 var93
= var_wcallsite
->attrs
[COLOR_typing__CallSite___msignature
].val
; /* _msignature on <var_wcallsite:nullable CallSite(CallSite)> */
6855 if (unlikely(var93
== NULL
)) {
6856 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
6857 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 490);
6861 RET_LABEL92
:(void)0;
6865 { /* Inline model#MSignature#mparameters (var91) on <var91:MSignature> */
6866 var96
= var91
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var91:MSignature> */
6867 if (unlikely(var96
== NULL
)) {
6868 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
6869 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
6873 RET_LABEL95
:(void)0;
6877 var97
= abstract_collection__SequenceRead__last(var94
);
6880 { /* Inline model#MParameter#mtype (var97) on <var97:nullable Object(MParameter)> */
6881 var100
= var97
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var97:nullable Object(MParameter)> */
6882 if (unlikely(var100
== NULL
)) {
6883 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6884 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
6888 RET_LABEL99
:(void)0;
6892 var101
= typing__AReassignFormExpr__resolve_reassignment(self
, var_v
, var_readtype
, var98
);
6896 if (var_wtype
== NULL
) {
6897 var103
= 1; /* is null */
6899 var103
= 0; /* arg is null but recv is not */
6902 { /* Inline kernel#Object#== (var_wtype,var102) on <var_wtype:nullable MType> */
6905 { /* Inline kernel#Object#is_same_instance (var_wtype,var_other) on <var_wtype:nullable MType(MType)> */
6906 var108
= var_wtype
== var_other
;
6909 RET_LABEL107
:(void)0;
6914 RET_LABEL105
:(void)0;
6923 var109
= array__Collection__to_a(var_args
);
6927 { /* Inline parser_nodes#AReassignFormExpr#n_value (self) on <self:ASendReassignFormExpr> */
6928 var112
= self
->attrs
[COLOR_parser_nodes__AReassignFormExpr___n_value
].val
; /* _n_value on <self:ASendReassignFormExpr> */
6929 if (unlikely(var112
== NULL
)) {
6930 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
6931 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1452);
6935 RET_LABEL111
:(void)0;
6939 array__Array__add(var_args
, var110
); /* Direct call array#Array#add on <var_args:Array[AExpr]>*/
6942 var113
= typing__CallSite__check_signature(var_wcallsite
, var_v
, var_args
);
6946 { /* Inline typing#AExpr#is_typed= (self,var114) on <self:ASendReassignFormExpr> */
6947 self
->attrs
[COLOR_typing__AExpr___is_typed
].s
= var114
; /* _is_typed on <self:ASendReassignFormExpr> */
6948 RET_LABEL115
:(void)0;
6953 /* method typing#ASendReassignFormExpr#accept_typing for (self: Object, TypeVisitor) */
6954 void VIRTUAL_typing__ASendReassignFormExpr__accept_typing(val
* self
, val
* p0
) {
6955 typing__ASendReassignFormExpr__accept_typing(self
, p0
); /* Direct call typing#ASendReassignFormExpr#accept_typing on <self:Object(ASendReassignFormExpr)>*/
6958 /* method typing#ACallReassignExpr#property_name for (self: ACallReassignExpr): String */
6959 val
* typing__ACallReassignExpr__property_name(val
* self
) {
6960 val
* var
/* : String */;
6961 val
* var1
/* : TId */;
6962 val
* var3
/* : TId */;
6963 val
* var4
/* : String */;
6965 { /* Inline parser_nodes#ACallFormExpr#n_id (self) on <self:ACallReassignExpr> */
6966 var3
= self
->attrs
[COLOR_parser_nodes__ACallFormExpr___n_id
].val
; /* _n_id on <self:ACallReassignExpr> */
6967 if (unlikely(var3
== NULL
)) {
6968 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
6969 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1644);
6977 var4
= lexer_work__Token__text(var1
);
6984 /* method typing#ACallReassignExpr#property_name for (self: Object): String */
6985 val
* VIRTUAL_typing__ACallReassignExpr__property_name(val
* self
) {
6986 val
* var
/* : String */;
6987 val
* var1
/* : String */;
6988 var1
= typing__ACallReassignExpr__property_name(self
);
6993 /* method typing#ACallReassignExpr#compute_raw_arguments for (self: ACallReassignExpr): Array[AExpr] */
6994 val
* typing__ACallReassignExpr__compute_raw_arguments(val
* self
) {
6995 val
* var
/* : Array[AExpr] */;
6996 val
* var1
/* : AExprs */;
6997 val
* var3
/* : AExprs */;
6998 val
* var4
/* : Array[AExpr] */;
7000 { /* Inline parser_nodes#ACallFormExpr#n_args (self) on <self:ACallReassignExpr> */
7001 var3
= self
->attrs
[COLOR_parser_nodes__ACallFormExpr___n_args
].val
; /* _n_args on <self:ACallReassignExpr> */
7002 if (unlikely(var3
== NULL
)) {
7003 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
7004 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1647);
7012 var4
= typing__AExprs__to_a(var1
);
7019 /* method typing#ACallReassignExpr#compute_raw_arguments for (self: Object): Array[AExpr] */
7020 val
* VIRTUAL_typing__ACallReassignExpr__compute_raw_arguments(val
* self
) {
7021 val
* var
/* : Array[AExpr] */;
7022 val
* var1
/* : Array[AExpr] */;
7023 var1
= typing__ACallReassignExpr__compute_raw_arguments(self
);
7028 /* method typing#ABraReassignExpr#property_name for (self: ABraReassignExpr): String */
7029 val
* typing__ABraReassignExpr__property_name(val
* self
) {
7030 val
* var
/* : String */;
7031 static val
* varonce
;
7032 val
* var1
/* : String */;
7033 char* var2
/* : NativeString */;
7034 long var3
/* : Int */;
7035 val
* var4
/* : FlatString */;
7041 var4
= string__NativeString__to_s_with_length(var2
, var3
);
7050 /* method typing#ABraReassignExpr#property_name for (self: Object): String */
7051 val
* VIRTUAL_typing__ABraReassignExpr__property_name(val
* self
) {
7052 val
* var
/* : String */;
7053 val
* var1
/* : String */;
7054 var1
= typing__ABraReassignExpr__property_name(self
);
7059 /* method typing#ABraReassignExpr#compute_raw_arguments for (self: ABraReassignExpr): Array[AExpr] */
7060 val
* typing__ABraReassignExpr__compute_raw_arguments(val
* self
) {
7061 val
* var
/* : Array[AExpr] */;
7062 val
* var1
/* : AExprs */;
7063 val
* var3
/* : AExprs */;
7064 val
* var4
/* : Array[AExpr] */;
7066 { /* Inline parser_nodes#ABraFormExpr#n_args (self) on <self:ABraReassignExpr> */
7067 var3
= self
->attrs
[COLOR_parser_nodes__ABraFormExpr___n_args
].val
; /* _n_args on <self:ABraReassignExpr> */
7068 if (unlikely(var3
== NULL
)) {
7069 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
7070 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1705);
7078 var4
= typing__AExprs__to_a(var1
);
7085 /* method typing#ABraReassignExpr#compute_raw_arguments for (self: Object): Array[AExpr] */
7086 val
* VIRTUAL_typing__ABraReassignExpr__compute_raw_arguments(val
* self
) {
7087 val
* var
/* : Array[AExpr] */;
7088 val
* var1
/* : Array[AExpr] */;
7089 var1
= typing__ABraReassignExpr__compute_raw_arguments(self
);
7094 /* method typing#AInitExpr#property_name for (self: AInitExpr): String */
7095 val
* typing__AInitExpr__property_name(val
* self
) {
7096 val
* var
/* : String */;
7097 static val
* varonce
;
7098 val
* var1
/* : String */;
7099 char* var2
/* : NativeString */;
7100 long var3
/* : Int */;
7101 val
* var4
/* : FlatString */;
7107 var4
= string__NativeString__to_s_with_length(var2
, var3
);
7116 /* method typing#AInitExpr#property_name for (self: Object): String */
7117 val
* VIRTUAL_typing__AInitExpr__property_name(val
* self
) {
7118 val
* var
/* : String */;
7119 val
* var1
/* : String */;
7120 var1
= typing__AInitExpr__property_name(self
);
7125 /* method typing#AInitExpr#compute_raw_arguments for (self: AInitExpr): Array[AExpr] */
7126 val
* typing__AInitExpr__compute_raw_arguments(val
* self
) {
7127 val
* var
/* : Array[AExpr] */;
7128 val
* var1
/* : AExprs */;
7129 val
* var3
/* : AExprs */;
7130 val
* var4
/* : Array[AExpr] */;
7132 { /* Inline parser_nodes#AInitExpr#n_args (self) on <self:AInitExpr> */
7133 var3
= self
->attrs
[COLOR_parser_nodes__AInitExpr___n_args
].val
; /* _n_args on <self:AInitExpr> */
7134 if (unlikely(var3
== NULL
)) {
7135 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
7136 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1699);
7144 var4
= typing__AExprs__to_a(var1
);
7151 /* method typing#AInitExpr#compute_raw_arguments for (self: Object): Array[AExpr] */
7152 val
* VIRTUAL_typing__AInitExpr__compute_raw_arguments(val
* self
) {
7153 val
* var
/* : Array[AExpr] */;
7154 val
* var1
/* : Array[AExpr] */;
7155 var1
= typing__AInitExpr__compute_raw_arguments(self
);
7160 /* method typing#AExprs#to_a for (self: AExprs): Array[AExpr] */
7161 val
* typing__AExprs__to_a(val
* self
) {
7162 val
* var
/* : Array[AExpr] */;
7163 val
* var1
/* : ANodes[AExpr] */;
7164 val
* var3
/* : ANodes[AExpr] */;
7165 val
* var4
/* : Array[nullable Object] */;
7167 { /* Inline parser_nodes#AExprs#n_exprs (self) on <self:AExprs> */
7168 var3
= self
->attrs
[COLOR_parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <self:AExprs> */
7169 if (unlikely(var3
== NULL
)) {
7170 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
7171 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1946);
7179 var4
= array__Collection__to_a(var1
);
7186 /* method typing#AExprs#to_a for (self: Object): Array[AExpr] */
7187 val
* VIRTUAL_typing__AExprs__to_a(val
* self
) {
7188 val
* var
/* : Array[AExpr] */;
7189 val
* var1
/* : Array[AExpr] */;
7190 var1
= typing__AExprs__to_a(self
);
7195 /* method typing#ASuperExpr#callsite for (self: ASuperExpr): nullable CallSite */
7196 val
* typing__ASuperExpr__callsite(val
* self
) {
7197 val
* var
/* : nullable CallSite */;
7198 val
* var1
/* : nullable CallSite */;
7199 var1
= self
->attrs
[COLOR_typing__ASuperExpr___callsite
].val
; /* _callsite on <self:ASuperExpr> */
7204 /* method typing#ASuperExpr#callsite for (self: Object): nullable CallSite */
7205 val
* VIRTUAL_typing__ASuperExpr__callsite(val
* self
) {
7206 val
* var
/* : nullable CallSite */;
7207 val
* var1
/* : nullable CallSite */;
7208 val
* var3
/* : nullable CallSite */;
7209 { /* Inline typing#ASuperExpr#callsite (self) on <self:Object(ASuperExpr)> */
7210 var3
= self
->attrs
[COLOR_typing__ASuperExpr___callsite
].val
; /* _callsite on <self:Object(ASuperExpr)> */
7218 /* method typing#ASuperExpr#callsite= for (self: ASuperExpr, nullable CallSite) */
7219 void typing__ASuperExpr__callsite_61d(val
* self
, val
* p0
) {
7220 self
->attrs
[COLOR_typing__ASuperExpr___callsite
].val
= p0
; /* _callsite on <self:ASuperExpr> */
7223 /* method typing#ASuperExpr#callsite= for (self: Object, nullable CallSite) */
7224 void VIRTUAL_typing__ASuperExpr__callsite_61d(val
* self
, val
* p0
) {
7225 { /* Inline typing#ASuperExpr#callsite= (self,p0) on <self:Object(ASuperExpr)> */
7226 self
->attrs
[COLOR_typing__ASuperExpr___callsite
].val
= p0
; /* _callsite on <self:Object(ASuperExpr)> */
7231 /* method typing#ASuperExpr#mpropdef for (self: ASuperExpr): nullable MMethodDef */
7232 val
* typing__ASuperExpr__mpropdef(val
* self
) {
7233 val
* var
/* : nullable MMethodDef */;
7234 val
* var1
/* : nullable MMethodDef */;
7235 var1
= self
->attrs
[COLOR_typing__ASuperExpr___mpropdef
].val
; /* _mpropdef on <self:ASuperExpr> */
7240 /* method typing#ASuperExpr#mpropdef for (self: Object): nullable MMethodDef */
7241 val
* VIRTUAL_typing__ASuperExpr__mpropdef(val
* self
) {
7242 val
* var
/* : nullable MMethodDef */;
7243 val
* var1
/* : nullable MMethodDef */;
7244 val
* var3
/* : nullable MMethodDef */;
7245 { /* Inline typing#ASuperExpr#mpropdef (self) on <self:Object(ASuperExpr)> */
7246 var3
= self
->attrs
[COLOR_typing__ASuperExpr___mpropdef
].val
; /* _mpropdef on <self:Object(ASuperExpr)> */
7254 /* method typing#ASuperExpr#mpropdef= for (self: ASuperExpr, nullable MMethodDef) */
7255 void typing__ASuperExpr__mpropdef_61d(val
* self
, val
* p0
) {
7256 self
->attrs
[COLOR_typing__ASuperExpr___mpropdef
].val
= p0
; /* _mpropdef on <self:ASuperExpr> */
7259 /* method typing#ASuperExpr#mpropdef= for (self: Object, nullable MMethodDef) */
7260 void VIRTUAL_typing__ASuperExpr__mpropdef_61d(val
* self
, val
* p0
) {
7261 { /* Inline typing#ASuperExpr#mpropdef= (self,p0) on <self:Object(ASuperExpr)> */
7262 self
->attrs
[COLOR_typing__ASuperExpr___mpropdef
].val
= p0
; /* _mpropdef on <self:Object(ASuperExpr)> */
7267 /* method typing#ASuperExpr#accept_typing for (self: ASuperExpr, TypeVisitor) */
7268 void typing__ASuperExpr__accept_typing(val
* self
, val
* p0
) {
7269 val
* var_v
/* var v: TypeVisitor */;
7270 val
* var
/* : nullable MClassType */;
7271 val
* var2
/* : nullable MClassType */;
7272 val
* var_anchor
/* var anchor: nullable MClassType */;
7273 val
* var3
/* : null */;
7274 short int var4
/* : Bool */;
7275 short int var5
/* : Bool */;
7276 val
* var_other
/* var other: nullable Object */;
7277 short int var7
/* : Bool */;
7278 short int var8
/* : Bool */;
7279 short int var9
/* : Bool */;
7280 val
* var10
/* : Variable */;
7281 val
* var12
/* : Variable */;
7282 val
* var13
/* : nullable MType */;
7283 val
* var_recvtype
/* var recvtype: nullable MType */;
7284 val
* var14
/* : null */;
7285 short int var15
/* : Bool */;
7286 short int var16
/* : Bool */;
7287 short int var18
/* : Bool */;
7288 short int var19
/* : Bool */;
7289 short int var20
/* : Bool */;
7290 val
* var21
/* : nullable MPropDef */;
7291 val
* var23
/* : nullable MPropDef */;
7292 val
* var24
/* : MProperty */;
7293 val
* var26
/* : MProperty */;
7294 val
* var_mproperty
/* var mproperty: MProperty */;
7295 short int var27
/* : Bool */;
7298 short int var28
/* : Bool */;
7299 static val
* varonce
;
7300 val
* var29
/* : String */;
7301 char* var30
/* : NativeString */;
7302 long var31
/* : Int */;
7303 val
* var32
/* : FlatString */;
7304 val
* var33
/* : MModule */;
7305 val
* var35
/* : MModule */;
7306 val
* var36
/* : Array[MPropDef] */;
7307 val
* var_superprops
/* var superprops: Array[MMethodDef] */;
7308 long var37
/* : Int */;
7309 long var39
/* : Int */;
7310 long var40
/* : Int */;
7311 short int var41
/* : Bool */;
7312 short int var42
/* : Bool */;
7313 short int var44
/* : Bool */;
7314 short int var45
/* : Bool */;
7315 short int var46
/* : Bool */;
7316 short int var48
/* : Bool */;
7317 short int var_
/* var : Bool */;
7318 val
* var49
/* : nullable MPropDef */;
7319 val
* var51
/* : nullable MPropDef */;
7320 short int var52
/* : Bool */;
7321 static val
* varonce53
;
7322 val
* var54
/* : String */;
7323 char* var55
/* : NativeString */;
7324 long var56
/* : Int */;
7325 val
* var57
/* : FlatString */;
7326 static val
* varonce58
;
7327 val
* var59
/* : String */;
7328 char* var60
/* : NativeString */;
7329 long var61
/* : Int */;
7330 val
* var62
/* : FlatString */;
7331 val
* var63
/* : Array[Object] */;
7332 long var64
/* : Int */;
7333 val
* var65
/* : NativeArray[Object] */;
7334 val
* var66
/* : String */;
7335 val
* var67
/* : nullable Object */;
7336 val
* var_superprop
/* var superprop: MMethodDef */;
7337 val
* var68
/* : nullable MSignature */;
7338 val
* var70
/* : nullable MSignature */;
7339 val
* var_msignature
/* var msignature: MSignature */;
7340 short int var71
/* : Bool */;
7341 val
* var72
/* : MType */;
7342 short int var73
/* : Bool */;
7345 const char* var_class_name
;
7346 val
* var76
/* : AExprs */;
7347 val
* var78
/* : AExprs */;
7348 val
* var79
/* : Array[AExpr] */;
7349 val
* var_args
/* var args: Array[AExpr] */;
7350 long var80
/* : Int */;
7351 long var82
/* : Int */;
7352 long var83
/* : Int */;
7353 short int var84
/* : Bool */;
7354 short int var86
/* : Bool */;
7357 const char* var_class_name89
;
7358 short int var90
/* : Bool */;
7359 val
* var91
/* : String */;
7360 val
* var93
/* : String */;
7361 short int var94
/* : Bool */;
7362 val
* var95
/* : nullable MType */;
7363 val
* var97
/* : nullable MType */;
7364 short int var99
/* : Bool */;
7365 val
* var101
/* : nullable MPropDef */;
7366 val
* var103
/* : nullable MPropDef */;
7367 short int var104
/* : Bool */;
7368 val
* var106
/* : nullable MPropDef */;
7369 val
* var108
/* : nullable MPropDef */;
7370 short int var109
/* : Bool */;
7373 const char* var_class_name112
;
7376 { /* Inline typing#TypeVisitor#anchor (var_v) on <var_v:TypeVisitor> */
7377 var2
= var_v
->attrs
[COLOR_typing__TypeVisitor___anchor
].val
; /* _anchor on <var_v:TypeVisitor> */
7384 if (var_anchor
== NULL
) {
7385 var4
= 0; /* is null */
7387 var4
= 1; /* arg is null and recv is not */
7390 { /* Inline kernel#Object#!= (var_anchor,var3) on <var_anchor:nullable MClassType> */
7393 var8
= ((short int (*)(val
*, val
*))(var_anchor
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_anchor
, var_other
) /* == on <var_anchor:nullable MClassType(MClassType)>*/;
7403 if (unlikely(!var4
)) {
7404 PRINT_ERROR("Runtime error: %s", "Assert failed");
7405 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1585);
7409 { /* Inline typing#TypeVisitor#selfvariable (var_v) on <var_v:TypeVisitor> */
7410 var12
= var_v
->attrs
[COLOR_typing__TypeVisitor___selfvariable
].val
; /* _selfvariable on <var_v:TypeVisitor> */
7411 if (unlikely(var12
== NULL
)) {
7412 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable");
7413 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 50);
7417 RET_LABEL11
:(void)0;
7421 var13
= typing__TypeVisitor__get_variable(var_v
, self
, var10
);
7423 var_recvtype
= var13
;
7425 if (var_recvtype
== NULL
) {
7426 var15
= 0; /* is null */
7428 var15
= 1; /* arg is null and recv is not */
7431 { /* Inline kernel#Object#!= (var_recvtype,var14) on <var_recvtype:nullable MType> */
7434 var19
= ((short int (*)(val
*, val
*))(var_recvtype
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_recvtype
, var_other
) /* == on <var_recvtype:nullable MType(MType)>*/;
7440 RET_LABEL17
:(void)0;
7444 if (unlikely(!var15
)) {
7445 PRINT_ERROR("Runtime error: %s", "Assert failed");
7446 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1587);
7450 { /* Inline typing#TypeVisitor#mpropdef (var_v) on <var_v:TypeVisitor> */
7451 var23
= var_v
->attrs
[COLOR_typing__TypeVisitor___mpropdef
].val
; /* _mpropdef on <var_v:TypeVisitor> */
7453 RET_LABEL22
:(void)0;
7456 if (var21
== NULL
) {
7457 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7458 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1588);
7461 { /* Inline model#MPropDef#mproperty (var21) on <var21:nullable MPropDef> */
7462 if (unlikely(var21
== NULL
)) {
7463 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7464 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
7467 var26
= var21
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var21:nullable MPropDef> */
7468 if (unlikely(var26
== NULL
)) {
7469 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
7470 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
7474 RET_LABEL25
:(void)0;
7477 var_mproperty
= var24
;
7478 /* <var_mproperty:MProperty> isa MMethod */
7479 cltype
= type_model__MMethod
.color
;
7480 idtype
= type_model__MMethod
.id
;
7481 if(cltype
>= var_mproperty
->type
->table_size
) {
7484 var27
= var_mproperty
->type
->type_table
[cltype
] == idtype
;
7491 var30
= "Error: super only usable in a method";
7493 var32
= string__NativeString__to_s_with_length(var30
, var31
);
7498 typing__TypeVisitor__error(var_v
, self
, var29
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
7504 { /* Inline typing#TypeVisitor#mmodule (var_v) on <var_v:TypeVisitor> */
7505 var35
= var_v
->attrs
[COLOR_typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
7506 if (unlikely(var35
== NULL
)) {
7507 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
7508 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 36);
7512 RET_LABEL34
:(void)0;
7516 var36
= model__MProperty__lookup_super_definitions(var_mproperty
, var33
, var_anchor
);
7518 var_superprops
= var36
;
7520 { /* Inline array#AbstractArrayRead#length (var_superprops) on <var_superprops:Array[MMethodDef]> */
7521 var39
= var_superprops
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_superprops:Array[MMethodDef]> */
7523 RET_LABEL38
:(void)0;
7528 { /* Inline kernel#Int#== (var37,var40) on <var37:Int> */
7529 var44
= var37
== var40
;
7532 RET_LABEL43
:(void)0;
7538 { /* Inline model#MMethod#is_init (var_mproperty) on <var_mproperty:MProperty(MMethod)> */
7539 var48
= var_mproperty
->attrs
[COLOR_model__MMethod___is_init
].s
; /* _is_init on <var_mproperty:MProperty(MMethod)> */
7541 RET_LABEL47
:(void)0;
7547 { /* Inline typing#TypeVisitor#mpropdef (var_v) on <var_v:TypeVisitor> */
7548 var51
= var_v
->attrs
[COLOR_typing__TypeVisitor___mpropdef
].val
; /* _mpropdef on <var_v:TypeVisitor> */
7550 RET_LABEL50
:(void)0;
7553 if (var49
== NULL
) {
7554 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7555 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1595);
7558 var52
= model__MPropDef__is_intro(var49
);
7566 typing__ASuperExpr__process_superinit(self
, var_v
); /* Direct call typing#ASuperExpr#process_superinit on <self:ASuperExpr>*/
7574 var55
= "Error: No super method to call for ";
7576 var57
= string__NativeString__to_s_with_length(var55
, var56
);
7585 var62
= string__NativeString__to_s_with_length(var60
, var61
);
7589 var63
= NEW_array__Array(&type_array__Arraykernel__Object
);
7590 { /* var63 = array_instance Array[Object] */
7592 var65
= NEW_array__NativeArray(var64
, &type_array__NativeArraykernel__Object
);
7593 ((struct instance_array__NativeArray
*)var65
)->values
[0] = (val
*) var54
;
7594 ((struct instance_array__NativeArray
*)var65
)->values
[1] = (val
*) var_mproperty
;
7595 ((struct instance_array__NativeArray
*)var65
)->values
[2] = (val
*) var59
;
7597 ((void (*)(val
*, val
*, long))(var63
->class->vft
[COLOR_array__Array__with_native
]))(var63
, var65
, var64
) /* with_native on <var63:Array[Object]>*/;
7601 var66
= ((val
* (*)(val
*))(var63
->class->vft
[COLOR_string__Object__to_s
]))(var63
) /* to_s on <var63:Array[Object]>*/;
7604 typing__TypeVisitor__error(var_v
, self
, var66
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
7610 var67
= abstract_collection__SequenceRead__first(var_superprops
);
7612 var_superprop
= var67
;
7614 { /* Inline model#MMethodDef#msignature (var_superprop) on <var_superprop:MMethodDef> */
7615 var70
= var_superprop
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var_superprop:MMethodDef> */
7617 RET_LABEL69
:(void)0;
7620 if (unlikely(var68
== NULL
)) {
7621 PRINT_ERROR("Runtime error: %s", "Cast failed");
7622 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1605);
7625 var_msignature
= var68
;
7628 var72
= typing__TypeVisitor__resolve_for(var_v
, var_msignature
, var_recvtype
, var71
);
7630 /* <var72:MType> isa MSignature */
7631 cltype74
= type_model__MSignature
.color
;
7632 idtype75
= type_model__MSignature
.id
;
7633 if(cltype74
>= var72
->type
->table_size
) {
7636 var73
= var72
->type
->type_table
[cltype74
] == idtype75
;
7638 if (unlikely(!var73
)) {
7639 var_class_name
= var72
== NULL ?
"null" : var72
->type
->name
;
7640 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MSignature", var_class_name
);
7641 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1606);
7644 var_msignature
= var72
;
7646 { /* Inline parser_nodes#ASuperExpr#n_args (self) on <self:ASuperExpr> */
7647 var78
= self
->attrs
[COLOR_parser_nodes__ASuperExpr___n_args
].val
; /* _n_args on <self:ASuperExpr> */
7648 if (unlikely(var78
== NULL
)) {
7649 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
7650 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1691);
7654 RET_LABEL77
:(void)0;
7658 var79
= typing__AExprs__to_a(var76
);
7662 { /* Inline array#AbstractArrayRead#length (var_args) on <var_args:Array[AExpr]> */
7663 var82
= var_args
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_args:Array[AExpr]> */
7665 RET_LABEL81
:(void)0;
7670 { /* Inline kernel#Int#> (var80,var83) on <var80:Int> */
7671 /* Covariant cast for argument 0 (i) <var83:Int> isa OTHER */
7672 /* <var83:Int> isa OTHER */
7673 var86
= 1; /* easy <var83:Int> isa OTHER*/
7674 if (unlikely(!var86
)) {
7675 var_class_name89
= type_kernel__Int
.name
;
7676 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name89
);
7677 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
7680 var90
= var80
> var83
;
7683 RET_LABEL85
:(void)0;
7688 { /* Inline model#MProperty#name (var_mproperty) on <var_mproperty:MProperty(MMethod)> */
7689 var93
= var_mproperty
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var_mproperty:MProperty(MMethod)> */
7690 if (unlikely(var93
== NULL
)) {
7691 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
7692 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
7696 RET_LABEL92
:(void)0;
7700 var94
= typing__TypeVisitor__check_signature(var_v
, self
, var_args
, var91
, var_msignature
);
7705 { /* Inline model#MSignature#return_mtype (var_msignature) on <var_msignature:MSignature> */
7706 var97
= var_msignature
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <var_msignature:MSignature> */
7708 RET_LABEL96
:(void)0;
7712 { /* Inline typing#AExpr#mtype= (self,var95) on <self:ASuperExpr> */
7713 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var95
; /* _mtype on <self:ASuperExpr> */
7714 RET_LABEL98
:(void)0;
7719 { /* Inline typing#AExpr#is_typed= (self,var99) on <self:ASuperExpr> */
7720 self
->attrs
[COLOR_typing__AExpr___is_typed
].s
= var99
; /* _is_typed on <self:ASuperExpr> */
7721 RET_LABEL100
:(void)0;
7725 { /* Inline typing#TypeVisitor#mpropdef (var_v) on <var_v:TypeVisitor> */
7726 var103
= var_v
->attrs
[COLOR_typing__TypeVisitor___mpropdef
].val
; /* _mpropdef on <var_v:TypeVisitor> */
7728 RET_LABEL102
:(void)0;
7732 if (var101
== NULL
) {
7733 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7734 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1613);
7737 { /* Inline modelize_property#MPropDef#has_supercall= (var101,var104) on <var101:nullable MPropDef> */
7738 if (unlikely(var101
== NULL
)) {
7739 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7740 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 288);
7743 var101
->attrs
[COLOR_modelize_property__MPropDef___has_supercall
].s
= var104
; /* _has_supercall on <var101:nullable MPropDef> */
7744 RET_LABEL105
:(void)0;
7748 { /* Inline typing#TypeVisitor#mpropdef (var_v) on <var_v:TypeVisitor> */
7749 var108
= var_v
->attrs
[COLOR_typing__TypeVisitor___mpropdef
].val
; /* _mpropdef on <var_v:TypeVisitor> */
7751 RET_LABEL107
:(void)0;
7754 /* <var106:nullable MPropDef> isa MMethodDef */
7755 cltype110
= type_model__MMethodDef
.color
;
7756 idtype111
= type_model__MMethodDef
.id
;
7757 if(var106
== NULL
) {
7760 if(cltype110
>= var106
->type
->table_size
) {
7763 var109
= var106
->type
->type_table
[cltype110
] == idtype111
;
7766 if (unlikely(!var109
)) {
7767 var_class_name112
= var106
== NULL ?
"null" : var106
->type
->name
;
7768 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MMethodDef", var_class_name112
);
7769 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1614);
7773 { /* Inline typing#ASuperExpr#mpropdef= (self,var106) on <self:ASuperExpr> */
7774 self
->attrs
[COLOR_typing__ASuperExpr___mpropdef
].val
= var106
; /* _mpropdef on <self:ASuperExpr> */
7775 RET_LABEL113
:(void)0;
7780 /* method typing#ASuperExpr#accept_typing for (self: Object, TypeVisitor) */
7781 void VIRTUAL_typing__ASuperExpr__accept_typing(val
* self
, val
* p0
) {
7782 typing__ASuperExpr__accept_typing(self
, p0
); /* Direct call typing#ASuperExpr#accept_typing on <self:Object(ASuperExpr)>*/
7785 /* method typing#ASuperExpr#process_superinit for (self: ASuperExpr, TypeVisitor) */
7786 void typing__ASuperExpr__process_superinit(val
* self
, val
* p0
) {
7787 val
* var_v
/* var v: TypeVisitor */;
7788 val
* var
/* : nullable MClassType */;
7789 val
* var2
/* : nullable MClassType */;
7790 val
* var_anchor
/* var anchor: nullable MClassType */;
7791 val
* var3
/* : null */;
7792 short int var4
/* : Bool */;
7793 short int var5
/* : Bool */;
7794 val
* var_other
/* var other: nullable Object */;
7795 short int var7
/* : Bool */;
7796 short int var8
/* : Bool */;
7797 short int var9
/* : Bool */;
7798 val
* var10
/* : Variable */;
7799 val
* var12
/* : Variable */;
7800 val
* var13
/* : nullable MType */;
7801 val
* var_recvtype
/* var recvtype: nullable MType */;
7802 val
* var14
/* : null */;
7803 short int var15
/* : Bool */;
7804 short int var16
/* : Bool */;
7805 short int var18
/* : Bool */;
7806 short int var19
/* : Bool */;
7807 short int var20
/* : Bool */;
7808 val
* var21
/* : nullable MPropDef */;
7809 val
* var23
/* : nullable MPropDef */;
7810 val
* var_mpropdef
/* var mpropdef: nullable MPropDef */;
7811 short int var24
/* : Bool */;
7814 val
* var25
/* : MProperty */;
7815 val
* var27
/* : MProperty */;
7816 val
* var_mproperty
/* var mproperty: MMethod */;
7817 val
* var28
/* : null */;
7818 val
* var_superprop
/* var superprop: nullable MMethodDef */;
7819 val
* var29
/* : MClassDef */;
7820 val
* var31
/* : MClassDef */;
7821 val
* var32
/* : Array[MClassType] */;
7822 val
* var34
/* : Array[MClassType] */;
7823 val
* var_
/* var : Array[MClassType] */;
7824 val
* var35
/* : ArrayIterator[nullable Object] */;
7825 val
* var_36
/* var : ArrayIterator[MClassType] */;
7826 short int var37
/* : Bool */;
7827 val
* var38
/* : nullable Object */;
7828 val
* var_msupertype
/* var msupertype: MClassType */;
7829 val
* var39
/* : MModule */;
7830 val
* var41
/* : MModule */;
7831 val
* var42
/* : MClassType */;
7832 val
* var43
/* : ModelBuilder */;
7833 val
* var45
/* : ModelBuilder */;
7834 val
* var46
/* : ToolContext */;
7835 val
* var48
/* : ToolContext */;
7836 long var49
/* : Int */;
7837 long var51
/* : Int */;
7838 long var_errcount
/* var errcount: Int */;
7839 val
* var52
/* : String */;
7840 val
* var54
/* : String */;
7841 val
* var55
/* : nullable MProperty */;
7842 short int var56
/* : Bool */;
7845 const char* var_class_name
;
7846 val
* var_candidate
/* var candidate: nullable MMethod */;
7847 val
* var59
/* : null */;
7848 short int var60
/* : Bool */;
7849 short int var61
/* : Bool */;
7850 val
* var_other63
/* var other: nullable Object */;
7851 short int var64
/* : Bool */;
7852 short int var66
/* : Bool */;
7853 val
* var67
/* : ModelBuilder */;
7854 val
* var69
/* : ModelBuilder */;
7855 val
* var70
/* : ToolContext */;
7856 val
* var72
/* : ToolContext */;
7857 long var73
/* : Int */;
7858 long var75
/* : Int */;
7859 short int var76
/* : Bool */;
7860 short int var78
/* : Bool */;
7863 const char* var_class_name81
;
7864 short int var82
/* : Bool */;
7865 short int var83
/* : Bool */;
7866 val
* var84
/* : null */;
7867 short int var85
/* : Bool */;
7868 short int var86
/* : Bool */;
7869 short int var88
/* : Bool */;
7870 short int var89
/* : Bool */;
7871 short int var90
/* : Bool */;
7872 short int var_91
/* var : Bool */;
7873 short int var92
/* : Bool */;
7874 short int var94
/* : Bool */;
7875 short int var95
/* : Bool */;
7876 short int var96
/* : Bool */;
7877 val
* var97
/* : null */;
7878 short int var98
/* : Bool */;
7879 short int var99
/* : Bool */;
7880 short int var101
/* : Bool */;
7881 short int var102
/* : Bool */;
7882 short int var103
/* : Bool */;
7883 short int var_104
/* var : Bool */;
7884 val
* var105
/* : MProperty */;
7885 val
* var107
/* : MProperty */;
7886 short int var108
/* : Bool */;
7887 short int var109
/* : Bool */;
7888 short int var111
/* : Bool */;
7889 short int var112
/* : Bool */;
7890 short int var113
/* : Bool */;
7891 short int var_114
/* var : Bool */;
7892 val
* var115
/* : MProperty */;
7893 val
* var117
/* : MProperty */;
7894 short int var118
/* : Bool */;
7895 short int var120
/* : Bool */;
7896 short int var121
/* : Bool */;
7897 static val
* varonce
;
7898 val
* var122
/* : String */;
7899 char* var123
/* : NativeString */;
7900 long var124
/* : Int */;
7901 val
* var125
/* : FlatString */;
7902 static val
* varonce126
;
7903 val
* var127
/* : String */;
7904 char* var128
/* : NativeString */;
7905 long var129
/* : Int */;
7906 val
* var130
/* : FlatString */;
7907 val
* var131
/* : String */;
7908 static val
* varonce132
;
7909 val
* var133
/* : String */;
7910 char* var134
/* : NativeString */;
7911 long var135
/* : Int */;
7912 val
* var136
/* : FlatString */;
7913 val
* var137
/* : MProperty */;
7914 val
* var139
/* : MProperty */;
7915 val
* var140
/* : String */;
7916 val
* var141
/* : Array[Object] */;
7917 long var142
/* : Int */;
7918 val
* var143
/* : NativeArray[Object] */;
7919 val
* var144
/* : String */;
7920 val
* var145
/* : MModule */;
7921 val
* var147
/* : MModule */;
7922 val
* var148
/* : Array[MPropDef] */;
7923 val
* var_candidatedefs
/* var candidatedefs: Array[MMethodDef] */;
7924 short int var149
/* : Bool */;
7925 val
* var150
/* : null */;
7926 short int var151
/* : Bool */;
7927 short int var152
/* : Bool */;
7928 short int var154
/* : Bool */;
7929 short int var155
/* : Bool */;
7930 short int var156
/* : Bool */;
7931 short int var_157
/* var : Bool */;
7932 val
* var158
/* : MProperty */;
7933 val
* var160
/* : MProperty */;
7934 short int var161
/* : Bool */;
7935 short int var162
/* : Bool */;
7936 short int var164
/* : Bool */;
7937 short int var166
/* : Bool */;
7938 val
* var167
/* : nullable Object */;
7939 short int var168
/* : Bool */;
7940 short int var169
/* : Bool */;
7941 short int var171
/* : Bool */;
7942 short int var173
/* : Bool */;
7943 long var174
/* : Int */;
7944 long var176
/* : Int */;
7945 long var177
/* : Int */;
7946 short int var178
/* : Bool */;
7947 short int var180
/* : Bool */;
7950 const char* var_class_name183
;
7951 short int var184
/* : Bool */;
7952 static val
* varonce185
;
7953 val
* var186
/* : String */;
7954 char* var187
/* : NativeString */;
7955 long var188
/* : Int */;
7956 val
* var189
/* : FlatString */;
7957 static val
* varonce190
;
7958 val
* var191
/* : String */;
7959 char* var192
/* : NativeString */;
7960 long var193
/* : Int */;
7961 val
* var194
/* : FlatString */;
7962 static val
* varonce195
;
7963 val
* var196
/* : String */;
7964 char* var197
/* : NativeString */;
7965 long var198
/* : Int */;
7966 val
* var199
/* : FlatString */;
7967 static val
* varonce200
;
7968 val
* var201
/* : String */;
7969 char* var202
/* : NativeString */;
7970 long var203
/* : Int */;
7971 val
* var204
/* : FlatString */;
7972 val
* var205
/* : String */;
7973 val
* var206
/* : Array[Object] */;
7974 long var207
/* : Int */;
7975 val
* var208
/* : NativeArray[Object] */;
7976 val
* var209
/* : String */;
7977 val
* var210
/* : nullable Object */;
7978 val
* var213
/* : null */;
7979 short int var214
/* : Bool */;
7980 short int var215
/* : Bool */;
7981 short int var217
/* : Bool */;
7982 short int var219
/* : Bool */;
7983 static val
* varonce220
;
7984 val
* var221
/* : String */;
7985 char* var222
/* : NativeString */;
7986 long var223
/* : Int */;
7987 val
* var224
/* : FlatString */;
7988 static val
* varonce225
;
7989 val
* var226
/* : String */;
7990 char* var227
/* : NativeString */;
7991 long var228
/* : Int */;
7992 val
* var229
/* : FlatString */;
7993 val
* var230
/* : Array[Object] */;
7994 long var231
/* : Int */;
7995 val
* var232
/* : NativeArray[Object] */;
7996 val
* var233
/* : String */;
7997 val
* var234
/* : MSignature */;
7998 val
* var235
/* : nullable MSignature */;
7999 val
* var237
/* : nullable MSignature */;
8000 val
* var238
/* : nullable MSignature */;
8001 val
* var240
/* : nullable MSignature */;
8002 val
* var_msignature
/* var msignature: MSignature */;
8003 short int var241
/* : Bool */;
8004 val
* var242
/* : MType */;
8005 short int var243
/* : Bool */;
8008 const char* var_class_name246
;
8009 val
* var247
/* : CallSite */;
8010 val
* var248
/* : MModule */;
8011 val
* var250
/* : MModule */;
8012 val
* var251
/* : nullable MClassType */;
8013 val
* var253
/* : nullable MClassType */;
8014 short int var254
/* : Bool */;
8015 val
* var255
/* : MProperty */;
8016 val
* var257
/* : MProperty */;
8017 short int var258
/* : Bool */;
8018 val
* var_callsite
/* var callsite: CallSite */;
8019 val
* var260
/* : AExprs */;
8020 val
* var262
/* : AExprs */;
8021 val
* var263
/* : Array[AExpr] */;
8022 val
* var_args
/* var args: Array[AExpr] */;
8023 long var264
/* : Int */;
8024 long var266
/* : Int */;
8025 long var267
/* : Int */;
8026 short int var268
/* : Bool */;
8027 short int var270
/* : Bool */;
8030 const char* var_class_name273
;
8031 short int var274
/* : Bool */;
8032 short int var275
/* : Bool */;
8033 val
* var276
/* : nullable MSignature */;
8034 val
* var278
/* : nullable MSignature */;
8035 long var279
/* : Int */;
8036 long var280
/* : Int */;
8037 short int var281
/* : Bool */;
8038 short int var283
/* : Bool */;
8041 const char* var_class_name286
;
8042 short int var287
/* : Bool */;
8043 static val
* varonce288
;
8044 val
* var289
/* : String */;
8045 char* var290
/* : NativeString */;
8046 long var291
/* : Int */;
8047 val
* var292
/* : FlatString */;
8048 val
* var293
/* : nullable MSignature */;
8049 val
* var295
/* : nullable MSignature */;
8050 long var296
/* : Int */;
8051 static val
* varonce297
;
8052 val
* var298
/* : String */;
8053 char* var299
/* : NativeString */;
8054 long var300
/* : Int */;
8055 val
* var301
/* : FlatString */;
8056 long var302
/* : Int */;
8057 static val
* varonce303
;
8058 val
* var304
/* : String */;
8059 char* var305
/* : NativeString */;
8060 long var306
/* : Int */;
8061 val
* var307
/* : FlatString */;
8062 val
* var308
/* : Array[Object] */;
8063 long var309
/* : Int */;
8064 val
* var310
/* : NativeArray[Object] */;
8065 val
* var311
/* : Object */;
8066 val
* var312
/* : Object */;
8067 val
* var313
/* : String */;
8068 long var314
/* : Int */;
8069 long var_i
/* var i: Int */;
8070 val
* var315
/* : Array[MParameter] */;
8071 val
* var317
/* : Array[MParameter] */;
8072 val
* var_318
/* var : Array[MParameter] */;
8073 val
* var319
/* : ArrayIterator[nullable Object] */;
8074 val
* var_320
/* var : ArrayIterator[MParameter] */;
8075 short int var321
/* : Bool */;
8076 val
* var322
/* : nullable Object */;
8077 val
* var_sp
/* var sp: MParameter */;
8078 val
* var323
/* : nullable MSignature */;
8079 val
* var325
/* : nullable MSignature */;
8080 val
* var326
/* : Array[MParameter] */;
8081 val
* var328
/* : Array[MParameter] */;
8082 val
* var329
/* : nullable Object */;
8083 val
* var_p
/* var p: MParameter */;
8084 val
* var330
/* : MType */;
8085 val
* var332
/* : MType */;
8086 val
* var333
/* : MType */;
8087 val
* var335
/* : MType */;
8088 short int var336
/* : Bool */;
8089 short int var337
/* : Bool */;
8090 static val
* varonce338
;
8091 val
* var339
/* : String */;
8092 char* var340
/* : NativeString */;
8093 long var341
/* : Int */;
8094 val
* var342
/* : FlatString */;
8095 static val
* varonce343
;
8096 val
* var344
/* : String */;
8097 char* var345
/* : NativeString */;
8098 long var346
/* : Int */;
8099 val
* var347
/* : FlatString */;
8100 val
* var348
/* : MType */;
8101 val
* var350
/* : MType */;
8102 static val
* varonce351
;
8103 val
* var352
/* : String */;
8104 char* var353
/* : NativeString */;
8105 long var354
/* : Int */;
8106 val
* var355
/* : FlatString */;
8107 val
* var356
/* : String */;
8108 val
* var358
/* : String */;
8109 static val
* varonce359
;
8110 val
* var360
/* : String */;
8111 char* var361
/* : NativeString */;
8112 long var362
/* : Int */;
8113 val
* var363
/* : FlatString */;
8114 val
* var364
/* : MType */;
8115 val
* var366
/* : MType */;
8116 static val
* varonce367
;
8117 val
* var368
/* : String */;
8118 char* var369
/* : NativeString */;
8119 long var370
/* : Int */;
8120 val
* var371
/* : FlatString */;
8121 val
* var372
/* : Array[Object] */;
8122 long var373
/* : Int */;
8123 val
* var374
/* : NativeArray[Object] */;
8124 val
* var375
/* : Object */;
8125 val
* var376
/* : String */;
8126 long var377
/* : Int */;
8127 long var378
/* : Int */;
8128 short int var380
/* : Bool */;
8131 const char* var_class_name383
;
8132 long var384
/* : Int */;
8133 short int var387
/* : Bool */;
8136 { /* Inline typing#TypeVisitor#anchor (var_v) on <var_v:TypeVisitor> */
8137 var2
= var_v
->attrs
[COLOR_typing__TypeVisitor___anchor
].val
; /* _anchor on <var_v:TypeVisitor> */
8144 if (var_anchor
== NULL
) {
8145 var4
= 0; /* is null */
8147 var4
= 1; /* arg is null and recv is not */
8150 { /* Inline kernel#Object#!= (var_anchor,var3) on <var_anchor:nullable MClassType> */
8153 var8
= ((short int (*)(val
*, val
*))(var_anchor
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_anchor
, var_other
) /* == on <var_anchor:nullable MClassType(MClassType)>*/;
8163 if (unlikely(!var4
)) {
8164 PRINT_ERROR("Runtime error: %s", "Assert failed");
8165 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1620);
8169 { /* Inline typing#TypeVisitor#selfvariable (var_v) on <var_v:TypeVisitor> */
8170 var12
= var_v
->attrs
[COLOR_typing__TypeVisitor___selfvariable
].val
; /* _selfvariable on <var_v:TypeVisitor> */
8171 if (unlikely(var12
== NULL
)) {
8172 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable");
8173 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 50);
8177 RET_LABEL11
:(void)0;
8181 var13
= typing__TypeVisitor__get_variable(var_v
, self
, var10
);
8183 var_recvtype
= var13
;
8185 if (var_recvtype
== NULL
) {
8186 var15
= 0; /* is null */
8188 var15
= 1; /* arg is null and recv is not */
8191 { /* Inline kernel#Object#!= (var_recvtype,var14) on <var_recvtype:nullable MType> */
8194 var19
= ((short int (*)(val
*, val
*))(var_recvtype
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_recvtype
, var_other
) /* == on <var_recvtype:nullable MType(MType)>*/;
8200 RET_LABEL17
:(void)0;
8204 if (unlikely(!var15
)) {
8205 PRINT_ERROR("Runtime error: %s", "Assert failed");
8206 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1622);
8210 { /* Inline typing#TypeVisitor#mpropdef (var_v) on <var_v:TypeVisitor> */
8211 var23
= var_v
->attrs
[COLOR_typing__TypeVisitor___mpropdef
].val
; /* _mpropdef on <var_v:TypeVisitor> */
8213 RET_LABEL22
:(void)0;
8216 var_mpropdef
= var21
;
8217 /* <var_mpropdef:nullable MPropDef> isa MMethodDef */
8218 cltype
= type_model__MMethodDef
.color
;
8219 idtype
= type_model__MMethodDef
.id
;
8220 if(var_mpropdef
== NULL
) {
8223 if(cltype
>= var_mpropdef
->type
->table_size
) {
8226 var24
= var_mpropdef
->type
->type_table
[cltype
] == idtype
;
8229 if (unlikely(!var24
)) {
8230 PRINT_ERROR("Runtime error: %s", "Assert failed");
8231 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1624);
8235 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MPropDef(MMethodDef)> */
8236 var27
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MPropDef(MMethodDef)> */
8237 if (unlikely(var27
== NULL
)) {
8238 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8239 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
8243 RET_LABEL26
:(void)0;
8246 var_mproperty
= var25
;
8248 var_superprop
= var28
;
8250 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MPropDef(MMethodDef)> */
8251 var31
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:nullable MPropDef(MMethodDef)> */
8252 if (unlikely(var31
== NULL
)) {
8253 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
8254 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
8258 RET_LABEL30
:(void)0;
8262 { /* Inline model#MClassDef#supertypes (var29) on <var29:MClassDef> */
8263 var34
= var29
->attrs
[COLOR_model__MClassDef___supertypes
].val
; /* _supertypes on <var29:MClassDef> */
8264 if (unlikely(var34
== NULL
)) {
8265 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
8266 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 534);
8270 RET_LABEL33
:(void)0;
8275 var35
= array__AbstractArrayRead__iterator(var_
);
8280 var37
= array__ArrayIterator__is_ok(var_36
);
8284 var38
= array__ArrayIterator__item(var_36
);
8286 var_msupertype
= var38
;
8288 { /* Inline typing#TypeVisitor#mmodule (var_v) on <var_v:TypeVisitor> */
8289 var41
= var_v
->attrs
[COLOR_typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
8290 if (unlikely(var41
== NULL
)) {
8291 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
8292 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 36);
8296 RET_LABEL40
:(void)0;
8300 var42
= model__MClassType__anchor_to(var_msupertype
, var39
, var_anchor
);
8302 var_msupertype
= var42
;
8304 { /* Inline typing#TypeVisitor#modelbuilder (var_v) on <var_v:TypeVisitor> */
8305 var45
= var_v
->attrs
[COLOR_typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <var_v:TypeVisitor> */
8306 if (unlikely(var45
== NULL
)) {
8307 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8308 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 34);
8312 RET_LABEL44
:(void)0;
8316 { /* Inline modelbuilder#ModelBuilder#toolcontext (var43) on <var43:ModelBuilder> */
8317 var48
= var43
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var43:ModelBuilder> */
8318 if (unlikely(var48
== NULL
)) {
8319 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8320 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
8324 RET_LABEL47
:(void)0;
8328 { /* Inline toolcontext#ToolContext#error_count (var46) on <var46:ToolContext> */
8329 var51
= var46
->attrs
[COLOR_toolcontext__ToolContext___error_count
].l
; /* _error_count on <var46:ToolContext> */
8331 RET_LABEL50
:(void)0;
8334 var_errcount
= var49
;
8336 { /* Inline model#MProperty#name (var_mproperty) on <var_mproperty:MMethod> */
8337 var54
= var_mproperty
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var_mproperty:MMethod> */
8338 if (unlikely(var54
== NULL
)) {
8339 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
8340 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
8344 RET_LABEL53
:(void)0;
8348 var55
= typing__TypeVisitor__try_get_mproperty_by_name2(var_v
, self
, var_msupertype
, var52
);
8350 /* <var55:nullable MProperty> isa nullable MMethod */
8351 cltype57
= type_nullable_model__MMethod
.color
;
8352 idtype58
= type_nullable_model__MMethod
.id
;
8356 if(cltype57
>= var55
->type
->table_size
) {
8359 var56
= var55
->type
->type_table
[cltype57
] == idtype58
;
8362 if (unlikely(!var56
)) {
8363 var_class_name
= var55
== NULL ?
"null" : var55
->type
->name
;
8364 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name
);
8365 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1630);
8368 var_candidate
= var55
;
8370 if (var_candidate
== NULL
) {
8371 var60
= 1; /* is null */
8373 var60
= 0; /* arg is null but recv is not */
8376 { /* Inline kernel#Object#== (var_candidate,var59) on <var_candidate:nullable MMethod> */
8377 var_other63
= var59
;
8379 { /* Inline kernel#Object#is_same_instance (var_candidate,var_other63) on <var_candidate:nullable MMethod(MMethod)> */
8380 var66
= var_candidate
== var_other63
;
8383 RET_LABEL65
:(void)0;
8388 RET_LABEL62
:(void)0;
8394 { /* Inline typing#TypeVisitor#modelbuilder (var_v) on <var_v:TypeVisitor> */
8395 var69
= var_v
->attrs
[COLOR_typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <var_v:TypeVisitor> */
8396 if (unlikely(var69
== NULL
)) {
8397 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8398 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 34);
8402 RET_LABEL68
:(void)0;
8406 { /* Inline modelbuilder#ModelBuilder#toolcontext (var67) on <var67:ModelBuilder> */
8407 var72
= var67
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var67:ModelBuilder> */
8408 if (unlikely(var72
== NULL
)) {
8409 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8410 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
8414 RET_LABEL71
:(void)0;
8418 { /* Inline toolcontext#ToolContext#error_count (var70) on <var70:ToolContext> */
8419 var75
= var70
->attrs
[COLOR_toolcontext__ToolContext___error_count
].l
; /* _error_count on <var70:ToolContext> */
8421 RET_LABEL74
:(void)0;
8425 { /* Inline kernel#Int#> (var73,var_errcount) on <var73:Int> */
8426 /* Covariant cast for argument 0 (i) <var_errcount:Int> isa OTHER */
8427 /* <var_errcount:Int> isa OTHER */
8428 var78
= 1; /* easy <var_errcount:Int> isa OTHER*/
8429 if (unlikely(!var78
)) {
8430 var_class_name81
= type_kernel__Int
.name
;
8431 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name81
);
8432 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
8435 var82
= var73
> var_errcount
;
8438 RET_LABEL77
:(void)0;
8449 if (var_superprop
== NULL
) {
8450 var85
= 0; /* is null */
8452 var85
= 1; /* arg is null and recv is not */
8455 { /* Inline kernel#Object#!= (var_superprop,var84) on <var_superprop:nullable MMethodDef> */
8458 var89
= ((short int (*)(val
*, val
*))(var_superprop
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_superprop
, var_other
) /* == on <var_superprop:nullable MMethodDef(MMethodDef)>*/;
8464 RET_LABEL87
:(void)0;
8471 { /* Inline model#MMethod#is_root_init (var_candidate) on <var_candidate:nullable MMethod(MMethod)> */
8472 var94
= var_candidate
->attrs
[COLOR_model__MMethod___is_root_init
].s
; /* _is_root_init on <var_candidate:nullable MMethod(MMethod)> */
8474 RET_LABEL93
:(void)0;
8486 if (var_superprop
== NULL
) {
8487 var98
= 0; /* is null */
8489 var98
= 1; /* arg is null and recv is not */
8492 { /* Inline kernel#Object#!= (var_superprop,var97) on <var_superprop:nullable MMethodDef> */
8495 var102
= ((short int (*)(val
*, val
*))(var_superprop
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_superprop
, var_other
) /* == on <var_superprop:nullable MMethodDef(MMethodDef)>*/;
8501 RET_LABEL100
:(void)0;
8508 { /* Inline model#MPropDef#mproperty (var_superprop) on <var_superprop:nullable MMethodDef(MMethodDef)> */
8509 var107
= var_superprop
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_superprop:nullable MMethodDef(MMethodDef)> */
8510 if (unlikely(var107
== NULL
)) {
8511 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8512 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
8516 RET_LABEL106
:(void)0;
8520 { /* Inline kernel#Object#!= (var105,var_candidate) on <var105:MProperty(MMethod)> */
8521 var_other
= var_candidate
;
8523 var112
= ((short int (*)(val
*, val
*))(var105
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var105
, var_other
) /* == on <var105:MProperty(MMethod)>*/;
8529 RET_LABEL110
:(void)0;
8540 { /* Inline model#MPropDef#mproperty (var_superprop) on <var_superprop:nullable MMethodDef(MMethodDef)> */
8541 var117
= var_superprop
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_superprop:nullable MMethodDef(MMethodDef)> */
8542 if (unlikely(var117
== NULL
)) {
8543 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8544 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
8548 RET_LABEL116
:(void)0;
8552 { /* Inline model#MMethod#is_root_init (var115) on <var115:MProperty(MMethod)> */
8553 var120
= var115
->attrs
[COLOR_model__MMethod___is_root_init
].s
; /* _is_root_init on <var115:MProperty(MMethod)> */
8555 RET_LABEL119
:(void)0;
8567 var123
= "Error: conflicting super constructor to call for ";
8569 var125
= string__NativeString__to_s_with_length(var123
, var124
);
8574 var127
= varonce126
;
8578 var130
= string__NativeString__to_s_with_length(var128
, var129
);
8580 varonce126
= var127
;
8583 var131
= model__MProperty__full_name(var_candidate
);
8586 var133
= varonce132
;
8590 var136
= string__NativeString__to_s_with_length(var134
, var135
);
8592 varonce132
= var133
;
8595 { /* Inline model#MPropDef#mproperty (var_superprop) on <var_superprop:nullable MMethodDef(MMethodDef)> */
8596 var139
= var_superprop
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_superprop:nullable MMethodDef(MMethodDef)> */
8597 if (unlikely(var139
== NULL
)) {
8598 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8599 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
8603 RET_LABEL138
:(void)0;
8607 var140
= model__MProperty__full_name(var137
);
8609 var141
= NEW_array__Array(&type_array__Arraykernel__Object
);
8610 { /* var141 = array_instance Array[Object] */
8612 var143
= NEW_array__NativeArray(var142
, &type_array__NativeArraykernel__Object
);
8613 ((struct instance_array__NativeArray
*)var143
)->values
[0] = (val
*) var122
;
8614 ((struct instance_array__NativeArray
*)var143
)->values
[1] = (val
*) var_mproperty
;
8615 ((struct instance_array__NativeArray
*)var143
)->values
[2] = (val
*) var127
;
8616 ((struct instance_array__NativeArray
*)var143
)->values
[3] = (val
*) var131
;
8617 ((struct instance_array__NativeArray
*)var143
)->values
[4] = (val
*) var133
;
8618 ((struct instance_array__NativeArray
*)var143
)->values
[5] = (val
*) var140
;
8620 ((void (*)(val
*, val
*, long))(var141
->class->vft
[COLOR_array__Array__with_native
]))(var141
, var143
, var142
) /* with_native on <var141:Array[Object]>*/;
8624 var144
= ((val
* (*)(val
*))(var141
->class->vft
[COLOR_string__Object__to_s
]))(var141
) /* to_s on <var141:Array[Object]>*/;
8627 typing__TypeVisitor__error(var_v
, self
, var144
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
8633 { /* Inline typing#TypeVisitor#mmodule (var_v) on <var_v:TypeVisitor> */
8634 var147
= var_v
->attrs
[COLOR_typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
8635 if (unlikely(var147
== NULL
)) {
8636 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
8637 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 36);
8641 RET_LABEL146
:(void)0;
8645 var148
= model__MProperty__lookup_definitions(var_candidate
, var145
, var_anchor
);
8647 var_candidatedefs
= var148
;
8649 if (var_superprop
== NULL
) {
8650 var151
= 0; /* is null */
8652 var151
= 1; /* arg is null and recv is not */
8655 { /* Inline kernel#Object#!= (var_superprop,var150) on <var_superprop:nullable MMethodDef> */
8658 var155
= ((short int (*)(val
*, val
*))(var_superprop
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_superprop
, var_other
) /* == on <var_superprop:nullable MMethodDef(MMethodDef)>*/;
8664 RET_LABEL153
:(void)0;
8671 { /* Inline model#MPropDef#mproperty (var_superprop) on <var_superprop:nullable MMethodDef(MMethodDef)> */
8672 var160
= var_superprop
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_superprop:nullable MMethodDef(MMethodDef)> */
8673 if (unlikely(var160
== NULL
)) {
8674 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8675 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
8679 RET_LABEL159
:(void)0;
8683 { /* Inline kernel#Object#== (var158,var_candidate) on <var158:MProperty(MMethod)> */
8684 var_other63
= var_candidate
;
8686 { /* Inline kernel#Object#is_same_instance (var158,var_other63) on <var158:MProperty(MMethod)> */
8687 var166
= var158
== var_other63
;
8690 RET_LABEL165
:(void)0;
8695 RET_LABEL163
:(void)0;
8705 var167
= abstract_collection__SequenceRead__first(var_candidatedefs
);
8708 { /* Inline kernel#Object#== (var_superprop,var167) on <var_superprop:nullable MMethodDef(MMethodDef)> */
8709 var_other63
= var167
;
8711 { /* Inline kernel#Object#is_same_instance (var_superprop,var_other63) on <var_superprop:nullable MMethodDef(MMethodDef)> */
8712 var173
= var_superprop
== var_other63
;
8715 RET_LABEL172
:(void)0;
8720 RET_LABEL170
:(void)0;
8729 array__Array__add(var_candidatedefs
, var_superprop
); /* Direct call array#Array#add on <var_candidatedefs:Array[MMethodDef]>*/
8734 { /* Inline array#AbstractArrayRead#length (var_candidatedefs) on <var_candidatedefs:Array[MMethodDef]> */
8735 var176
= var_candidatedefs
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_candidatedefs:Array[MMethodDef]> */
8737 RET_LABEL175
:(void)0;
8742 { /* Inline kernel#Int#> (var174,var177) on <var174:Int> */
8743 /* Covariant cast for argument 0 (i) <var177:Int> isa OTHER */
8744 /* <var177:Int> isa OTHER */
8745 var180
= 1; /* easy <var177:Int> isa OTHER*/
8746 if (unlikely(!var180
)) {
8747 var_class_name183
= type_kernel__Int
.name
;
8748 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name183
);
8749 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
8752 var184
= var174
> var177
;
8755 RET_LABEL179
:(void)0;
8760 var186
= varonce185
;
8762 var187
= "Error: conflicting property definitions for property ";
8764 var189
= string__NativeString__to_s_with_length(var187
, var188
);
8766 varonce185
= var186
;
8769 var191
= varonce190
;
8773 var194
= string__NativeString__to_s_with_length(var192
, var193
);
8775 varonce190
= var191
;
8778 var196
= varonce195
;
8782 var199
= string__NativeString__to_s_with_length(var197
, var198
);
8784 varonce195
= var196
;
8787 var201
= varonce200
;
8791 var204
= string__NativeString__to_s_with_length(var202
, var203
);
8793 varonce200
= var201
;
8796 var205
= string__Collection__join(var_candidatedefs
, var201
);
8798 var206
= NEW_array__Array(&type_array__Arraykernel__Object
);
8799 { /* var206 = array_instance Array[Object] */
8801 var208
= NEW_array__NativeArray(var207
, &type_array__NativeArraykernel__Object
);
8802 ((struct instance_array__NativeArray
*)var208
)->values
[0] = (val
*) var186
;
8803 ((struct instance_array__NativeArray
*)var208
)->values
[1] = (val
*) var_mproperty
;
8804 ((struct instance_array__NativeArray
*)var208
)->values
[2] = (val
*) var191
;
8805 ((struct instance_array__NativeArray
*)var208
)->values
[3] = (val
*) var_recvtype
;
8806 ((struct instance_array__NativeArray
*)var208
)->values
[4] = (val
*) var196
;
8807 ((struct instance_array__NativeArray
*)var208
)->values
[5] = (val
*) var205
;
8809 ((void (*)(val
*, val
*, long))(var206
->class->vft
[COLOR_array__Array__with_native
]))(var206
, var208
, var207
) /* with_native on <var206:Array[Object]>*/;
8813 var209
= ((val
* (*)(val
*))(var206
->class->vft
[COLOR_string__Object__to_s
]))(var206
) /* to_s on <var206:Array[Object]>*/;
8816 typing__TypeVisitor__error(var_v
, self
, var209
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
8822 var210
= abstract_collection__SequenceRead__first(var_candidatedefs
);
8824 var_superprop
= var210
;
8825 BREAK_label
: (void)0;
8827 array__ArrayIterator__next(var_36
); /* Direct call array#ArrayIterator#next on <var_36:ArrayIterator[MClassType]>*/
8830 goto BREAK_label211
;
8833 BREAK_label211
: (void)0;
8835 { /* Inline abstract_collection#Iterator#finish (var_36) on <var_36:ArrayIterator[MClassType]> */
8836 RET_LABEL212
:(void)0;
8840 if (var_superprop
== NULL
) {
8841 var214
= 1; /* is null */
8843 var214
= 0; /* arg is null but recv is not */
8846 { /* Inline kernel#Object#== (var_superprop,var213) on <var_superprop:nullable MMethodDef> */
8847 var_other63
= var213
;
8849 { /* Inline kernel#Object#is_same_instance (var_superprop,var_other63) on <var_superprop:nullable MMethodDef(MMethodDef)> */
8850 var219
= var_superprop
== var_other63
;
8853 RET_LABEL218
:(void)0;
8858 RET_LABEL216
:(void)0;
8864 var221
= varonce220
;
8866 var222
= "Error: No super method to call for ";
8868 var224
= string__NativeString__to_s_with_length(var222
, var223
);
8870 varonce220
= var221
;
8873 var226
= varonce225
;
8877 var229
= string__NativeString__to_s_with_length(var227
, var228
);
8879 varonce225
= var226
;
8881 var230
= NEW_array__Array(&type_array__Arraykernel__Object
);
8882 { /* var230 = array_instance Array[Object] */
8884 var232
= NEW_array__NativeArray(var231
, &type_array__NativeArraykernel__Object
);
8885 ((struct instance_array__NativeArray
*)var232
)->values
[0] = (val
*) var221
;
8886 ((struct instance_array__NativeArray
*)var232
)->values
[1] = (val
*) var_mproperty
;
8887 ((struct instance_array__NativeArray
*)var232
)->values
[2] = (val
*) var226
;
8889 ((void (*)(val
*, val
*, long))(var230
->class->vft
[COLOR_array__Array__with_native
]))(var230
, var232
, var231
) /* with_native on <var230:Array[Object]>*/;
8893 var233
= ((val
* (*)(val
*))(var230
->class->vft
[COLOR_string__Object__to_s
]))(var230
) /* to_s on <var230:Array[Object]>*/;
8896 typing__TypeVisitor__error(var_v
, self
, var233
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
8902 { /* Inline model#MMethodDef#new_msignature (var_superprop) on <var_superprop:nullable MMethodDef(MMethodDef)> */
8903 var237
= var_superprop
->attrs
[COLOR_model__MMethodDef___new_msignature
].val
; /* _new_msignature on <var_superprop:nullable MMethodDef(MMethodDef)> */
8905 RET_LABEL236
:(void)0;
8912 { /* Inline model#MMethodDef#msignature (var_superprop) on <var_superprop:nullable MMethodDef(MMethodDef)> */
8913 var240
= var_superprop
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var_superprop:nullable MMethodDef(MMethodDef)> */
8915 RET_LABEL239
:(void)0;
8918 if (unlikely(var238
== NULL
)) {
8919 PRINT_ERROR("Runtime error: %s", "Cast failed");
8920 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1658);
8925 var_msignature
= var234
;
8928 var242
= typing__TypeVisitor__resolve_for(var_v
, var_msignature
, var_recvtype
, var241
);
8930 /* <var242:MType> isa MSignature */
8931 cltype244
= type_model__MSignature
.color
;
8932 idtype245
= type_model__MSignature
.id
;
8933 if(cltype244
>= var242
->type
->table_size
) {
8936 var243
= var242
->type
->type_table
[cltype244
] == idtype245
;
8938 if (unlikely(!var243
)) {
8939 var_class_name246
= var242
== NULL ?
"null" : var242
->type
->name
;
8940 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MSignature", var_class_name246
);
8941 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1659);
8944 var_msignature
= var242
;
8945 var247
= NEW_typing__CallSite(&type_typing__CallSite
);
8947 { /* Inline typing#TypeVisitor#mmodule (var_v) on <var_v:TypeVisitor> */
8948 var250
= var_v
->attrs
[COLOR_typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
8949 if (unlikely(var250
== NULL
)) {
8950 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
8951 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 36);
8955 RET_LABEL249
:(void)0;
8959 { /* Inline typing#TypeVisitor#anchor (var_v) on <var_v:TypeVisitor> */
8960 var253
= var_v
->attrs
[COLOR_typing__TypeVisitor___anchor
].val
; /* _anchor on <var_v:TypeVisitor> */
8962 RET_LABEL252
:(void)0;
8967 { /* Inline model#MPropDef#mproperty (var_superprop) on <var_superprop:nullable MMethodDef(MMethodDef)> */
8968 var257
= var_superprop
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_superprop:nullable MMethodDef(MMethodDef)> */
8969 if (unlikely(var257
== NULL
)) {
8970 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8971 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
8975 RET_LABEL256
:(void)0;
8980 ((void (*)(val
*, val
*))(var247
->class->vft
[COLOR_typing__CallSite__node_61d
]))(var247
, self
) /* node= on <var247:CallSite>*/;
8983 ((void (*)(val
*, val
*))(var247
->class->vft
[COLOR_typing__CallSite__recv_61d
]))(var247
, var_recvtype
) /* recv= on <var247:CallSite>*/;
8986 ((void (*)(val
*, val
*))(var247
->class->vft
[COLOR_typing__CallSite__mmodule_61d
]))(var247
, var248
) /* mmodule= on <var247:CallSite>*/;
8989 ((void (*)(val
*, val
*))(var247
->class->vft
[COLOR_typing__CallSite__anchor_61d
]))(var247
, var251
) /* anchor= on <var247:CallSite>*/;
8992 ((void (*)(val
*, short int))(var247
->class->vft
[COLOR_typing__CallSite__recv_is_self_61d
]))(var247
, var254
) /* recv_is_self= on <var247:CallSite>*/;
8995 ((void (*)(val
*, val
*))(var247
->class->vft
[COLOR_typing__CallSite__mproperty_61d
]))(var247
, var255
) /* mproperty= on <var247:CallSite>*/;
8998 ((void (*)(val
*, val
*))(var247
->class->vft
[COLOR_typing__CallSite__mpropdef_61d
]))(var247
, var_superprop
) /* mpropdef= on <var247:CallSite>*/;
9001 ((void (*)(val
*, val
*))(var247
->class->vft
[COLOR_typing__CallSite__msignature_61d
]))(var247
, var_msignature
) /* msignature= on <var247:CallSite>*/;
9004 ((void (*)(val
*, short int))(var247
->class->vft
[COLOR_typing__CallSite__erasure_cast_61d
]))(var247
, var258
) /* erasure_cast= on <var247:CallSite>*/;
9007 ((void (*)(val
*))(var247
->class->vft
[COLOR_kernel__Object__init
]))(var247
) /* init on <var247:CallSite>*/;
9009 var_callsite
= var247
;
9011 { /* Inline typing#ASuperExpr#callsite= (self,var_callsite) on <self:ASuperExpr> */
9012 self
->attrs
[COLOR_typing__ASuperExpr___callsite
].val
= var_callsite
; /* _callsite on <self:ASuperExpr> */
9013 RET_LABEL259
:(void)0;
9017 { /* Inline parser_nodes#ASuperExpr#n_args (self) on <self:ASuperExpr> */
9018 var262
= self
->attrs
[COLOR_parser_nodes__ASuperExpr___n_args
].val
; /* _n_args on <self:ASuperExpr> */
9019 if (unlikely(var262
== NULL
)) {
9020 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
9021 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1691);
9025 RET_LABEL261
:(void)0;
9029 var263
= typing__AExprs__to_a(var260
);
9033 { /* Inline array#AbstractArrayRead#length (var_args) on <var_args:Array[AExpr]> */
9034 var266
= var_args
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_args:Array[AExpr]> */
9036 RET_LABEL265
:(void)0;
9041 { /* Inline kernel#Int#> (var264,var267) on <var264:Int> */
9042 /* Covariant cast for argument 0 (i) <var267:Int> isa OTHER */
9043 /* <var267:Int> isa OTHER */
9044 var270
= 1; /* easy <var267:Int> isa OTHER*/
9045 if (unlikely(!var270
)) {
9046 var_class_name273
= type_kernel__Int
.name
;
9047 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name273
);
9048 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
9051 var274
= var264
> var267
;
9054 RET_LABEL269
:(void)0;
9059 var275
= typing__CallSite__check_signature(var_callsite
, var_v
, var_args
);
9063 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:nullable MPropDef(MMethodDef)> */
9064 var278
= var_mpropdef
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:nullable MPropDef(MMethodDef)> */
9066 RET_LABEL277
:(void)0;
9069 if (var276
== NULL
) {
9070 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9071 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1669);
9074 var279
= model__MSignature__arity(var276
);
9077 var280
= model__MSignature__arity(var_msignature
);
9080 { /* Inline kernel#Int#< (var279,var280) on <var279:Int> */
9081 /* Covariant cast for argument 0 (i) <var280:Int> isa OTHER */
9082 /* <var280:Int> isa OTHER */
9083 var283
= 1; /* easy <var280:Int> isa OTHER*/
9084 if (unlikely(!var283
)) {
9085 var_class_name286
= type_kernel__Int
.name
;
9086 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name286
);
9087 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
9090 var287
= var279
< var280
;
9093 RET_LABEL282
:(void)0;
9098 var289
= varonce288
;
9100 var290
= "Error: Not enough implicit arguments to pass. Got ";
9102 var292
= string__NativeString__to_s_with_length(var290
, var291
);
9104 varonce288
= var289
;
9107 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:nullable MPropDef(MMethodDef)> */
9108 var295
= var_mpropdef
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:nullable MPropDef(MMethodDef)> */
9110 RET_LABEL294
:(void)0;
9113 if (var293
== NULL
) {
9114 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9115 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1670);
9118 var296
= model__MSignature__arity(var293
);
9121 var298
= varonce297
;
9123 var299
= ", expected at least ";
9125 var301
= string__NativeString__to_s_with_length(var299
, var300
);
9127 varonce297
= var298
;
9130 var302
= model__MSignature__arity(var_msignature
);
9133 var304
= varonce303
;
9135 var305
= ". Signature is ";
9137 var307
= string__NativeString__to_s_with_length(var305
, var306
);
9139 varonce303
= var304
;
9141 var308
= NEW_array__Array(&type_array__Arraykernel__Object
);
9142 { /* var308 = array_instance Array[Object] */
9144 var310
= NEW_array__NativeArray(var309
, &type_array__NativeArraykernel__Object
);
9145 ((struct instance_array__NativeArray
*)var310
)->values
[0] = (val
*) var289
;
9146 var311
= BOX_kernel__Int(var296
); /* autobox from Int to Object */
9147 ((struct instance_array__NativeArray
*)var310
)->values
[1] = (val
*) var311
;
9148 ((struct instance_array__NativeArray
*)var310
)->values
[2] = (val
*) var298
;
9149 var312
= BOX_kernel__Int(var302
); /* autobox from Int to Object */
9150 ((struct instance_array__NativeArray
*)var310
)->values
[3] = (val
*) var312
;
9151 ((struct instance_array__NativeArray
*)var310
)->values
[4] = (val
*) var304
;
9152 ((struct instance_array__NativeArray
*)var310
)->values
[5] = (val
*) var_msignature
;
9154 ((void (*)(val
*, val
*, long))(var308
->class->vft
[COLOR_array__Array__with_native
]))(var308
, var310
, var309
) /* with_native on <var308:Array[Object]>*/;
9158 var313
= ((val
* (*)(val
*))(var308
->class->vft
[COLOR_string__Object__to_s
]))(var308
) /* to_s on <var308:Array[Object]>*/;
9161 typing__TypeVisitor__error(var_v
, self
, var313
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
9169 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:MSignature> */
9170 var317
= var_msignature
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
9171 if (unlikely(var317
== NULL
)) {
9172 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
9173 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
9177 RET_LABEL316
:(void)0;
9182 var319
= array__AbstractArrayRead__iterator(var_318
);
9187 var321
= array__ArrayIterator__is_ok(var_320
);
9191 var322
= array__ArrayIterator__item(var_320
);
9195 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:nullable MPropDef(MMethodDef)> */
9196 var325
= var_mpropdef
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:nullable MPropDef(MMethodDef)> */
9198 RET_LABEL324
:(void)0;
9201 if (var323
== NULL
) {
9202 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9203 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 1676);
9206 { /* Inline model#MSignature#mparameters (var323) on <var323:nullable MSignature> */
9207 if (unlikely(var323
== NULL
)) {
9208 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9209 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
9212 var328
= var323
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var323:nullable MSignature> */
9213 if (unlikely(var328
== NULL
)) {
9214 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
9215 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
9219 RET_LABEL327
:(void)0;
9223 var329
= array__Array___91d_93d(var326
, var_i
);
9227 { /* Inline model#MParameter#mtype (var_p) on <var_p:MParameter> */
9228 var332
= var_p
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var_p:MParameter> */
9229 if (unlikely(var332
== NULL
)) {
9230 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9231 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
9235 RET_LABEL331
:(void)0;
9239 { /* Inline model#MParameter#mtype (var_sp) on <var_sp:MParameter> */
9240 var335
= var_sp
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var_sp:MParameter> */
9241 if (unlikely(var335
== NULL
)) {
9242 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9243 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
9247 RET_LABEL334
:(void)0;
9251 var336
= typing__TypeVisitor__is_subtype(var_v
, var330
, var333
);
9256 var339
= varonce338
;
9258 var340
= "Type error: expected argument #";
9260 var342
= string__NativeString__to_s_with_length(var340
, var341
);
9262 varonce338
= var339
;
9265 var344
= varonce343
;
9267 var345
= " of type ";
9269 var347
= string__NativeString__to_s_with_length(var345
, var346
);
9271 varonce343
= var344
;
9274 { /* Inline model#MParameter#mtype (var_sp) on <var_sp:MParameter> */
9275 var350
= var_sp
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var_sp:MParameter> */
9276 if (unlikely(var350
== NULL
)) {
9277 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9278 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
9282 RET_LABEL349
:(void)0;
9286 var352
= varonce351
;
9288 var353
= ", got implicit argument ";
9290 var355
= string__NativeString__to_s_with_length(var353
, var354
);
9292 varonce351
= var352
;
9295 { /* Inline model#MParameter#name (var_p) on <var_p:MParameter> */
9296 var358
= var_p
->attrs
[COLOR_model__MParameter___name
].val
; /* _name on <var_p:MParameter> */
9297 if (unlikely(var358
== NULL
)) {
9298 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
9299 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1562);
9303 RET_LABEL357
:(void)0;
9307 var360
= varonce359
;
9309 var361
= " of type ";
9311 var363
= string__NativeString__to_s_with_length(var361
, var362
);
9313 varonce359
= var360
;
9316 { /* Inline model#MParameter#mtype (var_p) on <var_p:MParameter> */
9317 var366
= var_p
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var_p:MParameter> */
9318 if (unlikely(var366
== NULL
)) {
9319 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9320 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
9324 RET_LABEL365
:(void)0;
9328 var368
= varonce367
;
9330 var369
= ". Signature is ";
9332 var371
= string__NativeString__to_s_with_length(var369
, var370
);
9334 varonce367
= var368
;
9336 var372
= NEW_array__Array(&type_array__Arraykernel__Object
);
9337 { /* var372 = array_instance Array[Object] */
9339 var374
= NEW_array__NativeArray(var373
, &type_array__NativeArraykernel__Object
);
9340 ((struct instance_array__NativeArray
*)var374
)->values
[0] = (val
*) var339
;
9341 var375
= BOX_kernel__Int(var_i
); /* autobox from Int to Object */
9342 ((struct instance_array__NativeArray
*)var374
)->values
[1] = (val
*) var375
;
9343 ((struct instance_array__NativeArray
*)var374
)->values
[2] = (val
*) var344
;
9344 ((struct instance_array__NativeArray
*)var374
)->values
[3] = (val
*) var348
;
9345 ((struct instance_array__NativeArray
*)var374
)->values
[4] = (val
*) var352
;
9346 ((struct instance_array__NativeArray
*)var374
)->values
[5] = (val
*) var356
;
9347 ((struct instance_array__NativeArray
*)var374
)->values
[6] = (val
*) var360
;
9348 ((struct instance_array__NativeArray
*)var374
)->values
[7] = (val
*) var364
;
9349 ((struct instance_array__NativeArray
*)var374
)->values
[8] = (val
*) var368
;
9350 ((struct instance_array__NativeArray
*)var374
)->values
[9] = (val
*) var_msignature
;
9352 ((void (*)(val
*, val
*, long))(var372
->class->vft
[COLOR_array__Array__with_native
]))(var372
, var374
, var373
) /* with_native on <var372:Array[Object]>*/;
9356 var376
= ((val
* (*)(val
*))(var372
->class->vft
[COLOR_string__Object__to_s
]))(var372
) /* to_s on <var372:Array[Object]>*/;
9359 typing__TypeVisitor__error(var_v
, self
, var376
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
9366 { /* Inline kernel#Int#+ (var_i,var377) on <var_i:Int> */
9367 /* Covariant cast for argument 0 (i) <var377:Int> isa OTHER */
9368 /* <var377:Int> isa OTHER */
9369 var380
= 1; /* easy <var377:Int> isa OTHER*/
9370 if (unlikely(!var380
)) {
9371 var_class_name383
= type_kernel__Int
.name
;
9372 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name383
);
9373 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
9376 var384
= var_i
+ var377
;
9379 RET_LABEL379
:(void)0;
9384 array__ArrayIterator__next(var_320
); /* Direct call array#ArrayIterator#next on <var_320:ArrayIterator[MParameter]>*/
9387 goto BREAK_label385
;
9390 BREAK_label385
: (void)0;
9392 { /* Inline abstract_collection#Iterator#finish (var_320) on <var_320:ArrayIterator[MParameter]> */
9393 RET_LABEL386
:(void)0;
9399 { /* Inline typing#AExpr#is_typed= (self,var387) on <self:ASuperExpr> */
9400 self
->attrs
[COLOR_typing__AExpr___is_typed
].s
= var387
; /* _is_typed on <self:ASuperExpr> */
9401 RET_LABEL388
:(void)0;
9406 /* method typing#ASuperExpr#process_superinit for (self: Object, TypeVisitor) */
9407 void VIRTUAL_typing__ASuperExpr__process_superinit(val
* self
, val
* p0
) {
9408 typing__ASuperExpr__process_superinit(self
, p0
); /* Direct call typing#ASuperExpr#process_superinit on <self:Object(ASuperExpr)>*/
9411 /* method typing#ANewExpr#callsite for (self: ANewExpr): nullable CallSite */
9412 val
* typing__ANewExpr__callsite(val
* self
) {
9413 val
* var
/* : nullable CallSite */;
9414 val
* var1
/* : nullable CallSite */;
9415 var1
= self
->attrs
[COLOR_typing__ANewExpr___callsite
].val
; /* _callsite on <self:ANewExpr> */
9420 /* method typing#ANewExpr#callsite for (self: Object): nullable CallSite */
9421 val
* VIRTUAL_typing__ANewExpr__callsite(val
* self
) {
9422 val
* var
/* : nullable CallSite */;
9423 val
* var1
/* : nullable CallSite */;
9424 val
* var3
/* : nullable CallSite */;
9425 { /* Inline typing#ANewExpr#callsite (self) on <self:Object(ANewExpr)> */
9426 var3
= self
->attrs
[COLOR_typing__ANewExpr___callsite
].val
; /* _callsite on <self:Object(ANewExpr)> */
9434 /* method typing#ANewExpr#callsite= for (self: ANewExpr, nullable CallSite) */
9435 void typing__ANewExpr__callsite_61d(val
* self
, val
* p0
) {
9436 self
->attrs
[COLOR_typing__ANewExpr___callsite
].val
= p0
; /* _callsite on <self:ANewExpr> */
9439 /* method typing#ANewExpr#callsite= for (self: Object, nullable CallSite) */
9440 void VIRTUAL_typing__ANewExpr__callsite_61d(val
* self
, val
* p0
) {
9441 { /* Inline typing#ANewExpr#callsite= (self,p0) on <self:Object(ANewExpr)> */
9442 self
->attrs
[COLOR_typing__ANewExpr___callsite
].val
= p0
; /* _callsite on <self:Object(ANewExpr)> */
9447 /* method typing#ANewExpr#recvtype for (self: ANewExpr): nullable MClassType */
9448 val
* typing__ANewExpr__recvtype(val
* self
) {
9449 val
* var
/* : nullable MClassType */;
9450 val
* var1
/* : nullable MClassType */;
9451 var1
= self
->attrs
[COLOR_typing__ANewExpr___recvtype
].val
; /* _recvtype on <self:ANewExpr> */
9456 /* method typing#ANewExpr#recvtype for (self: Object): nullable MClassType */
9457 val
* VIRTUAL_typing__ANewExpr__recvtype(val
* self
) {
9458 val
* var
/* : nullable MClassType */;
9459 val
* var1
/* : nullable MClassType */;
9460 val
* var3
/* : nullable MClassType */;
9461 { /* Inline typing#ANewExpr#recvtype (self) on <self:Object(ANewExpr)> */
9462 var3
= self
->attrs
[COLOR_typing__ANewExpr___recvtype
].val
; /* _recvtype on <self:Object(ANewExpr)> */
9470 /* method typing#ANewExpr#recvtype= for (self: ANewExpr, nullable MClassType) */
9471 void typing__ANewExpr__recvtype_61d(val
* self
, val
* p0
) {
9472 self
->attrs
[COLOR_typing__ANewExpr___recvtype
].val
= p0
; /* _recvtype on <self:ANewExpr> */
9475 /* method typing#ANewExpr#recvtype= for (self: Object, nullable MClassType) */
9476 void VIRTUAL_typing__ANewExpr__recvtype_61d(val
* self
, val
* p0
) {
9477 { /* Inline typing#ANewExpr#recvtype= (self,p0) on <self:Object(ANewExpr)> */
9478 self
->attrs
[COLOR_typing__ANewExpr___recvtype
].val
= p0
; /* _recvtype on <self:Object(ANewExpr)> */