1 #include "nit__typing.sep.0.h"
2 /* method typing#AVarReassignExpr#accept_typing for (self: AVarReassignExpr, TypeVisitor) */
3 void nit__typing___AVarReassignExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
4 val
* var_v
/* var v: TypeVisitor */;
5 val
* var
/* : nullable Variable */;
6 val
* var2
/* : nullable Variable */;
7 val
* var_variable
/* var variable: nullable Variable */;
8 short int var3
/* : Bool */;
9 short int var4
/* : Bool */;
10 val
* var_other
/* var other: nullable Object */;
11 short int var6
/* : Bool */;
12 short int var7
/* : Bool */;
13 val
* var8
/* : nullable MType */;
14 val
* var_readtype
/* var readtype: nullable MType */;
15 short int var9
/* : Bool */;
16 short int var10
/* : Bool */;
17 val
* var_other12
/* var other: nullable Object */;
18 short int var13
/* : Bool */;
19 short int var15
/* : Bool */;
20 val
* var17
/* : nullable MType */;
21 val
* var19
/* : nullable MType */;
22 val
* var_writetype
/* var writetype: nullable MType */;
23 short int var20
/* : Bool */;
24 short int var21
/* : Bool */;
25 short int var23
/* : Bool */;
26 short int var25
/* : Bool */;
27 val
* var26
/* : nullable MType */;
28 val
* var_rettype
/* var rettype: nullable MType */;
29 short int var27
/* : Bool */;
30 short int var28
/* : Bool */;
31 short int var30
/* : Bool */;
32 short int var31
/* : Bool */;
35 { /* Inline scope#AVarFormExpr#variable (self) on <self:AVarReassignExpr> */
36 var2
= self
->attrs
[COLOR_nit__scope__AVarFormExpr___variable
].val
; /* _variable on <self:AVarReassignExpr> */
42 if (var_variable
== NULL
) {
43 var3
= 0; /* is null */
45 var3
= 1; /* arg is null and recv is not */
48 { /* Inline kernel#Object#!= (var_variable,((val*)NULL)) on <var_variable:nullable Variable> */
49 var_other
= ((val
*)NULL
);
51 var6
= ((short int(*)(val
* self
, val
* p0
))(var_variable
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_variable
, var_other
); /* == on <var_variable:nullable Variable(Variable)>*/
60 if (unlikely(!var3
)) {
61 PRINT_ERROR("Runtime error: %s", "Assert failed");
62 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 949);
66 var8
= nit__typing___nit__typing__TypeVisitor___get_variable(var_v
, self
, var_variable
);
69 if (var_readtype
== NULL
) {
70 var9
= 1; /* is null */
72 var9
= 0; /* arg is null but recv is not */
75 { /* Inline kernel#Object#== (var_readtype,((val*)NULL)) on <var_readtype:nullable MType> */
76 var_other12
= ((val
*)NULL
);
78 { /* Inline kernel#Object#is_same_instance (var_readtype,var_other12) on <var_readtype:nullable MType(MType)> */
79 var15
= var_readtype
== var_other12
;
96 { /* Inline typing#AReassignFormExpr#read_type= (self,var_readtype) on <self:AVarReassignExpr> */
97 self
->attrs
[COLOR_nit__typing__AReassignFormExpr___read_type
].val
= var_readtype
; /* _read_type on <self:AVarReassignExpr> */
102 { /* Inline typing#Variable#declared_type (var_variable) on <var_variable:nullable Variable(Variable)> */
103 var19
= var_variable
->attrs
[COLOR_nit__typing__Variable___declared_type
].val
; /* _declared_type on <var_variable:nullable Variable(Variable)> */
108 var_writetype
= var17
;
109 if (var_writetype
== NULL
) {
110 var20
= 1; /* is null */
112 var20
= 0; /* arg is null but recv is not */
115 { /* Inline kernel#Object#== (var_writetype,((val*)NULL)) on <var_writetype:nullable MType> */
116 var_other12
= ((val
*)NULL
);
118 { /* Inline kernel#Object#is_same_instance (var_writetype,var_other12) on <var_writetype:nullable MType(MType)> */
119 var25
= var_writetype
== var_other12
;
136 var26
= nit__typing___AReassignFormExpr___resolve_reassignment(self
, var_v
, var_readtype
, var_writetype
);
140 nit__typing___nit__typing__TypeVisitor___set_variable(var_v
, self
, var_variable
, var_rettype
); /* Direct call typing#TypeVisitor#set_variable on <var_v:TypeVisitor>*/
142 if (var_rettype
== NULL
) {
143 var27
= 0; /* is null */
145 var27
= 1; /* arg is null and recv is not */
148 { /* Inline kernel#Object#!= (var_rettype,((val*)NULL)) on <var_rettype:nullable MType> */
149 var_other
= ((val
*)NULL
);
151 var30
= ((short int(*)(val
* self
, val
* p0
))(var_rettype
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_rettype
, var_other
); /* == on <var_rettype:nullable MType(MType)>*/
161 { /* Inline typing#AExpr#is_typed= (self,var27) on <self:AVarReassignExpr> */
162 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= var27
; /* _is_typed on <self:AVarReassignExpr> */
168 /* method typing#AContinueExpr#accept_typing for (self: AContinueExpr, TypeVisitor) */
169 void nit__typing___AContinueExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
170 val
* var_v
/* var v: TypeVisitor */;
171 val
* var
/* : nullable AExpr */;
172 val
* var2
/* : nullable AExpr */;
173 val
* var_nexpr
/* var nexpr: nullable AExpr */;
174 short int var3
/* : Bool */;
175 short int var4
/* : Bool */;
176 val
* var_other
/* var other: nullable Object */;
177 short int var6
/* : Bool */;
178 short int var7
/* : Bool */;
179 val
* var8
/* : nullable MType */;
182 { /* Inline parser_nodes#AEscapeExpr#n_expr (self) on <self:AContinueExpr> */
183 var2
= self
->attrs
[COLOR_nit__parser_nodes__AEscapeExpr___n_expr
].val
; /* _n_expr on <self:AContinueExpr> */
189 if (var_nexpr
== NULL
) {
190 var3
= 0; /* is null */
192 var3
= 1; /* arg is null and recv is not */
195 { /* Inline kernel#Object#!= (var_nexpr,((val*)NULL)) on <var_nexpr:nullable AExpr> */
196 var_other
= ((val
*)NULL
);
198 var6
= ((short int(*)(val
* self
, val
* p0
))(var_nexpr
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nexpr
, var_other
); /* == on <var_nexpr:nullable AExpr(AExpr)>*/
209 var8
= nit__typing___nit__typing__TypeVisitor___visit_expr(var_v
, var_nexpr
);
214 { /* Inline typing#AExpr#is_typed= (self,1) on <self:AContinueExpr> */
215 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:AContinueExpr> */
221 /* method typing#ABreakExpr#accept_typing for (self: ABreakExpr, TypeVisitor) */
222 void nit__typing___ABreakExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
223 val
* var_v
/* var v: TypeVisitor */;
224 val
* var
/* : nullable AExpr */;
225 val
* var2
/* : nullable AExpr */;
226 val
* var_nexpr
/* var nexpr: nullable AExpr */;
227 short int var3
/* : Bool */;
228 short int var4
/* : Bool */;
229 val
* var_other
/* var other: nullable Object */;
230 short int var6
/* : Bool */;
231 short int var7
/* : Bool */;
232 val
* var8
/* : nullable MType */;
235 { /* Inline parser_nodes#AEscapeExpr#n_expr (self) on <self:ABreakExpr> */
236 var2
= self
->attrs
[COLOR_nit__parser_nodes__AEscapeExpr___n_expr
].val
; /* _n_expr on <self:ABreakExpr> */
242 if (var_nexpr
== NULL
) {
243 var3
= 0; /* is null */
245 var3
= 1; /* arg is null and recv is not */
248 { /* Inline kernel#Object#!= (var_nexpr,((val*)NULL)) on <var_nexpr:nullable AExpr> */
249 var_other
= ((val
*)NULL
);
251 var6
= ((short int(*)(val
* self
, val
* p0
))(var_nexpr
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nexpr
, var_other
); /* == on <var_nexpr:nullable AExpr(AExpr)>*/
262 var8
= nit__typing___nit__typing__TypeVisitor___visit_expr(var_v
, var_nexpr
);
267 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ABreakExpr> */
268 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ABreakExpr> */
274 /* method typing#AReturnExpr#accept_typing for (self: AReturnExpr, TypeVisitor) */
275 void nit__typing___AReturnExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
276 val
* var_v
/* var v: TypeVisitor */;
277 val
* var
/* : nullable AExpr */;
278 val
* var2
/* : nullable AExpr */;
279 val
* var_nexpr
/* var nexpr: nullable AExpr */;
280 val
* var3
/* : nullable MPropDef */;
281 val
* var5
/* : nullable MPropDef */;
282 val
* var_mpropdef
/* var mpropdef: nullable MPropDef */;
283 short int var6
/* : Bool */;
286 val
* var7
/* : nullable MSignature */;
287 val
* var9
/* : nullable MSignature */;
288 val
* var10
/* : nullable MType */;
289 val
* var12
/* : nullable MType */;
290 val
* var_ret_type
/* var ret_type: nullable Object */;
291 short int var13
/* : Bool */;
294 val
* var16
/* : nullable MType */;
295 val
* var18
/* : nullable MType */;
296 short int var19
/* : Bool */;
297 short int var20
/* : Bool */;
298 val
* var_other
/* var other: nullable Object */;
299 short int var22
/* : Bool */;
300 short int var23
/* : Bool */;
301 short int var24
/* : Bool */;
302 short int var25
/* : Bool */;
303 short int var27
/* : Bool */;
304 short int var28
/* : Bool */;
305 val
* var29
/* : nullable MType */;
306 val
* var30
/* : nullable MType */;
308 val
* var31
/* : String */;
309 char* var32
/* : NativeString */;
310 val
* var33
/* : FlatString */;
311 short int var34
/* : Bool */;
312 short int var35
/* : Bool */;
313 short int var37
/* : Bool */;
314 short int var38
/* : Bool */;
315 static val
* varonce39
;
316 val
* var40
/* : String */;
317 char* var41
/* : NativeString */;
318 val
* var42
/* : FlatString */;
321 { /* Inline parser_nodes#AReturnExpr#n_expr (self) on <self:AReturnExpr> */
322 var2
= self
->attrs
[COLOR_nit__parser_nodes__AReturnExpr___n_expr
].val
; /* _n_expr on <self:AReturnExpr> */
329 { /* Inline typing#TypeVisitor#mpropdef (var_v) on <var_v:TypeVisitor> */
330 var5
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___mpropdef
].val
; /* _mpropdef on <var_v:TypeVisitor> */
336 /* <var_mpropdef:nullable MPropDef> isa MMethodDef */
337 cltype
= type_nit__MMethodDef
.color
;
338 idtype
= type_nit__MMethodDef
.id
;
339 if(var_mpropdef
== NULL
) {
342 if(cltype
>= var_mpropdef
->type
->table_size
) {
345 var6
= var_mpropdef
->type
->type_table
[cltype
] == idtype
;
350 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:nullable MPropDef(MMethodDef)> */
351 var9
= var_mpropdef
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:nullable MPropDef(MMethodDef)> */
357 PRINT_ERROR("Runtime error: %s", "Receiver is null");
358 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 997);
361 { /* Inline model#MSignature#return_mtype (var7) on <var7:nullable MSignature> */
362 if (unlikely(var7
== NULL
)) {
363 PRINT_ERROR("Runtime error: %s", "Receiver is null");
364 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1768);
367 var12
= var7
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var7:nullable MSignature> */
372 var_ret_type
= var10
;
374 /* <var_mpropdef:nullable MPropDef> isa MAttributeDef */
375 cltype14
= type_nit__MAttributeDef
.color
;
376 idtype15
= type_nit__MAttributeDef
.id
;
377 if(var_mpropdef
== NULL
) {
380 if(cltype14
>= var_mpropdef
->type
->table_size
) {
383 var13
= var_mpropdef
->type
->type_table
[cltype14
] == idtype15
;
388 { /* Inline model#MAttributeDef#static_mtype (var_mpropdef) on <var_mpropdef:nullable MPropDef(MAttributeDef)> */
389 var18
= var_mpropdef
->attrs
[COLOR_nit__model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var_mpropdef:nullable MPropDef(MAttributeDef)> */
394 var_ret_type
= var16
;
396 PRINT_ERROR("Runtime error: %s", "Aborted");
397 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1001);
401 if (var_nexpr
== NULL
) {
402 var19
= 0; /* is null */
404 var19
= 1; /* arg is null and recv is not */
407 { /* Inline kernel#Object#!= (var_nexpr,((val*)NULL)) on <var_nexpr:nullable AExpr> */
408 var_other
= ((val
*)NULL
);
410 var22
= ((short int(*)(val
* self
, val
* p0
))(var_nexpr
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nexpr
, var_other
); /* == on <var_nexpr:nullable AExpr(AExpr)>*/
420 if (var_ret_type
== NULL
) {
421 var24
= 0; /* is null */
423 var24
= 1; /* arg is null and recv is not */
426 { /* Inline kernel#Object#!= (var_ret_type,((val*)NULL)) on <var_ret_type:nullable Object(nullable MType)> */
427 var_other
= ((val
*)NULL
);
429 var27
= ((short int(*)(val
* self
, val
* p0
))(var_ret_type
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ret_type
, var_other
); /* == on <var_ret_type:nullable MType(MType)>*/
440 var29
= nit__typing___nit__typing__TypeVisitor___visit_expr_subtype(var_v
, var_nexpr
, var_ret_type
);
444 var30
= nit__typing___nit__typing__TypeVisitor___visit_expr(var_v
, var_nexpr
);
446 if (likely(varonce
!=NULL
)) {
449 var32
= "Error: `return` with value in a procedure.";
450 var33
= standard___standard__NativeString___to_s_with_length(var32
, 42l);
455 nit__typing___nit__typing__TypeVisitor___error(var_v
, var_nexpr
, var31
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
460 if (var_ret_type
== NULL
) {
461 var34
= 0; /* is null */
463 var34
= 1; /* arg is null and recv is not */
466 { /* Inline kernel#Object#!= (var_ret_type,((val*)NULL)) on <var_ret_type:nullable Object(nullable MType)> */
467 var_other
= ((val
*)NULL
);
469 var37
= ((short int(*)(val
* self
, val
* p0
))(var_ret_type
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ret_type
, var_other
); /* == on <var_ret_type:nullable MType(MType)>*/
479 if (likely(varonce39
!=NULL
)) {
482 var41
= "Error: `return` without value in a function.";
483 var42
= standard___standard__NativeString___to_s_with_length(var41
, 44l);
488 nit__typing___nit__typing__TypeVisitor___error(var_v
, self
, var40
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
495 { /* Inline typing#AExpr#is_typed= (self,1) on <self:AReturnExpr> */
496 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:AReturnExpr> */
502 /* method typing#AAbortExpr#accept_typing for (self: AAbortExpr, TypeVisitor) */
503 void nit__typing___AAbortExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
504 val
* var_v
/* var v: TypeVisitor */;
507 { /* Inline typing#AExpr#is_typed= (self,1) on <self:AAbortExpr> */
508 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:AAbortExpr> */
514 /* method typing#AIfExpr#accept_typing for (self: AIfExpr, TypeVisitor) */
515 void nit__typing___AIfExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
516 val
* var_v
/* var v: TypeVisitor */;
517 val
* var
/* : AExpr */;
518 val
* var2
/* : AExpr */;
519 val
* var3
/* : nullable MType */;
520 val
* var4
/* : nullable AExpr */;
521 val
* var6
/* : nullable AExpr */;
522 val
* var7
/* : nullable AExpr */;
523 val
* var9
/* : nullable AExpr */;
524 short int var11
/* : Bool */;
525 val
* var12
/* : nullable AExpr */;
526 val
* var14
/* : nullable AExpr */;
527 short int var15
/* : Bool */;
528 short int var16
/* : Bool */;
529 val
* var_other
/* var other: nullable Object */;
530 short int var18
/* : Bool */;
531 short int var19
/* : Bool */;
532 short int var_
/* var : Bool */;
533 val
* var20
/* : nullable AExpr */;
534 val
* var22
/* : nullable AExpr */;
535 short int var23
/* : Bool */;
536 short int var24
/* : Bool */;
537 val
* var_other26
/* var other: nullable Object */;
538 short int var27
/* : Bool */;
539 short int var29
/* : Bool */;
540 val
* var30
/* : nullable AExpr */;
541 val
* var32
/* : nullable AExpr */;
542 val
* var33
/* : nullable MType */;
545 { /* Inline parser_nodes#AIfExpr#n_expr (self) on <self:AIfExpr> */
546 var2
= self
->attrs
[COLOR_nit__parser_nodes__AIfExpr___n_expr
].val
; /* _n_expr on <self:AIfExpr> */
547 if (unlikely(var2
== NULL
)) {
548 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
549 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1857);
557 var3
= nit__typing___nit__typing__TypeVisitor___visit_expr_bool(var_v
, var
);
560 { /* Inline parser_nodes#AIfExpr#n_then (self) on <self:AIfExpr> */
561 var6
= self
->attrs
[COLOR_nit__parser_nodes__AIfExpr___n_then
].val
; /* _n_then on <self:AIfExpr> */
567 nit__typing___nit__typing__TypeVisitor___visit_stmt(var_v
, var4
); /* Direct call typing#TypeVisitor#visit_stmt on <var_v:TypeVisitor>*/
570 { /* Inline parser_nodes#AIfExpr#n_else (self) on <self:AIfExpr> */
571 var9
= self
->attrs
[COLOR_nit__parser_nodes__AIfExpr___n_else
].val
; /* _n_else on <self:AIfExpr> */
577 nit__typing___nit__typing__TypeVisitor___visit_stmt(var_v
, var7
); /* Direct call typing#TypeVisitor#visit_stmt on <var_v:TypeVisitor>*/
580 { /* Inline typing#AExpr#is_typed= (self,1) on <self:AIfExpr> */
581 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:AIfExpr> */
586 { /* Inline parser_nodes#AIfExpr#n_then (self) on <self:AIfExpr> */
587 var14
= self
->attrs
[COLOR_nit__parser_nodes__AIfExpr___n_then
].val
; /* _n_then on <self:AIfExpr> */
593 var15
= 0; /* is null */
595 var15
= 1; /* arg is null and recv is not */
598 { /* Inline kernel#Object#!= (var12,((val*)NULL)) on <var12:nullable AExpr> */
599 var_other
= ((val
*)NULL
);
601 var18
= ((short int(*)(val
* self
, val
* p0
))(var12
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var12
, var_other
); /* == on <var12:nullable AExpr(AExpr)>*/
613 { /* Inline parser_nodes#AIfExpr#n_else (self) on <self:AIfExpr> */
614 var22
= self
->attrs
[COLOR_nit__parser_nodes__AIfExpr___n_else
].val
; /* _n_else on <self:AIfExpr> */
620 var23
= 1; /* is null */
622 var23
= 0; /* arg is null but recv is not */
625 { /* Inline kernel#Object#== (var20,((val*)NULL)) on <var20:nullable AExpr> */
626 var_other26
= ((val
*)NULL
);
628 { /* Inline kernel#Object#is_same_instance (var20,var_other26) on <var20:nullable AExpr(AExpr)> */
629 var29
= var20
== var_other26
;
647 { /* Inline parser_nodes#AIfExpr#n_then (self) on <self:AIfExpr> */
648 var32
= self
->attrs
[COLOR_nit__parser_nodes__AIfExpr___n_then
].val
; /* _n_then on <self:AIfExpr> */
654 PRINT_ERROR("Runtime error: %s", "Receiver is null");
655 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1037);
658 var33
= ((val
*(*)(val
* self
))(var30
->class->vft
[COLOR_nit__typing__AExpr__mtype
]))(var30
); /* mtype on <var30:nullable AExpr>*/
661 { /* Inline typing#AExpr#mtype= (self,var33) on <self:AIfExpr> */
662 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var33
; /* _mtype on <self:AIfExpr> */
670 /* method typing#AIfexprExpr#accept_typing for (self: AIfexprExpr, TypeVisitor) */
671 void nit__typing___AIfexprExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
672 val
* var_v
/* var v: TypeVisitor */;
673 val
* var
/* : AExpr */;
674 val
* var2
/* : AExpr */;
675 val
* var3
/* : nullable MType */;
676 val
* var4
/* : AExpr */;
677 val
* var6
/* : AExpr */;
678 val
* var7
/* : nullable MType */;
679 val
* var_t1
/* var t1: nullable MType */;
680 val
* var8
/* : AExpr */;
681 val
* var10
/* : AExpr */;
682 val
* var11
/* : nullable MType */;
683 val
* var_t2
/* var t2: nullable MType */;
684 short int var12
/* : Bool */;
685 short int var13
/* : Bool */;
686 short int var14
/* : Bool */;
687 val
* var_other
/* var other: nullable Object */;
688 short int var16
/* : Bool */;
689 short int var18
/* : Bool */;
690 short int var_
/* var : Bool */;
691 short int var19
/* : Bool */;
692 short int var20
/* : Bool */;
693 short int var22
/* : Bool */;
694 short int var24
/* : Bool */;
695 val
* var25
/* : Array[MType] */;
696 val
* var_26
/* var : Array[MType] */;
697 val
* var27
/* : nullable MType */;
698 val
* var_t
/* var t: nullable MType */;
699 short int var28
/* : Bool */;
700 short int var29
/* : Bool */;
701 short int var31
/* : Bool */;
702 short int var33
/* : Bool */;
703 val
* var34
/* : NativeArray[String] */;
705 static val
* varonce35
;
706 val
* var36
/* : String */;
707 char* var37
/* : NativeString */;
708 val
* var38
/* : FlatString */;
709 static val
* varonce39
;
710 val
* var40
/* : String */;
711 char* var41
/* : NativeString */;
712 val
* var42
/* : FlatString */;
713 static val
* varonce43
;
714 val
* var44
/* : String */;
715 char* var45
/* : NativeString */;
716 val
* var46
/* : FlatString */;
717 val
* var47
/* : String */;
718 val
* var48
/* : String */;
719 val
* var49
/* : String */;
722 { /* Inline parser_nodes#AIfexprExpr#n_expr (self) on <self:AIfexprExpr> */
723 var2
= self
->attrs
[COLOR_nit__parser_nodes__AIfexprExpr___n_expr
].val
; /* _n_expr on <self:AIfexprExpr> */
724 if (unlikely(var2
== NULL
)) {
725 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
726 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1880);
734 var3
= nit__typing___nit__typing__TypeVisitor___visit_expr_bool(var_v
, var
);
737 { /* Inline parser_nodes#AIfexprExpr#n_then (self) on <self:AIfexprExpr> */
738 var6
= self
->attrs
[COLOR_nit__parser_nodes__AIfexprExpr___n_then
].val
; /* _n_then on <self:AIfexprExpr> */
739 if (unlikely(var6
== NULL
)) {
740 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_then");
741 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1886);
749 var7
= nit__typing___nit__typing__TypeVisitor___visit_expr(var_v
, var4
);
753 { /* Inline parser_nodes#AIfexprExpr#n_else (self) on <self:AIfexprExpr> */
754 var10
= self
->attrs
[COLOR_nit__parser_nodes__AIfexprExpr___n_else
].val
; /* _n_else on <self:AIfexprExpr> */
755 if (unlikely(var10
== NULL
)) {
756 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_else");
757 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1892);
765 var11
= nit__typing___nit__typing__TypeVisitor___visit_expr(var_v
, var8
);
768 if (var_t1
== NULL
) {
769 var13
= 1; /* is null */
771 var13
= 0; /* arg is null but recv is not */
774 { /* Inline kernel#Object#== (var_t1,((val*)NULL)) on <var_t1:nullable MType> */
775 var_other
= ((val
*)NULL
);
777 { /* Inline kernel#Object#is_same_instance (var_t1,var_other) on <var_t1:nullable MType(MType)> */
778 var18
= var_t1
== var_other
;
794 if (var_t2
== NULL
) {
795 var19
= 1; /* is null */
797 var19
= 0; /* arg is null but recv is not */
800 { /* Inline kernel#Object#== (var_t2,((val*)NULL)) on <var_t2:nullable MType> */
801 var_other
= ((val
*)NULL
);
803 { /* Inline kernel#Object#is_same_instance (var_t2,var_other) on <var_t2:nullable MType(MType)> */
804 var24
= var_t2
== var_other
;
822 var25
= NEW_standard__Array(&type_standard__Array__nit__MType
);
824 standard___standard__Array___with_capacity(var25
, 2l); /* Direct call array#Array#with_capacity on <var25:Array[MType]>*/
828 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_26
, var_t1
); /* Direct call array#AbstractArray#push on <var_26:Array[MType]>*/
831 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_26
, var_t2
); /* Direct call array#AbstractArray#push on <var_26:Array[MType]>*/
834 var27
= nit__typing___nit__typing__TypeVisitor___merge_types(var_v
, self
, var_26
);
838 var28
= 1; /* is null */
840 var28
= 0; /* arg is null but recv is not */
843 { /* Inline kernel#Object#== (var_t,((val*)NULL)) on <var_t:nullable MType> */
844 var_other
= ((val
*)NULL
);
846 { /* Inline kernel#Object#is_same_instance (var_t,var_other) on <var_t:nullable MType(MType)> */
847 var33
= var_t
== var_other
;
860 if (unlikely(varonce
==NULL
)) {
861 var34
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
862 if (likely(varonce35
!=NULL
)) {
865 var37
= "Type Error: ambiguous type `";
866 var38
= standard___standard__NativeString___to_s_with_length(var37
, 28l);
870 ((struct instance_standard__NativeArray
*)var34
)->values
[0]=var36
;
871 if (likely(varonce39
!=NULL
)) {
875 var42
= standard___standard__NativeString___to_s_with_length(var41
, 6l);
879 ((struct instance_standard__NativeArray
*)var34
)->values
[2]=var40
;
880 if (likely(varonce43
!=NULL
)) {
884 var46
= standard___standard__NativeString___to_s_with_length(var45
, 2l);
888 ((struct instance_standard__NativeArray
*)var34
)->values
[4]=var44
;
894 var47
= ((val
*(*)(val
* self
))(var_t1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_t1
); /* to_s on <var_t1:nullable MType(MType)>*/
896 ((struct instance_standard__NativeArray
*)var34
)->values
[1]=var47
;
898 var48
= ((val
*(*)(val
* self
))(var_t2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_t2
); /* to_s on <var_t2:nullable MType(MType)>*/
900 ((struct instance_standard__NativeArray
*)var34
)->values
[3]=var48
;
902 var49
= ((val
*(*)(val
* self
))(var34
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var34
); /* native_to_s on <var34:NativeArray[String]>*/
906 nit__typing___nit__typing__TypeVisitor___error(var_v
, self
, var49
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
911 { /* Inline typing#AExpr#mtype= (self,var_t) on <self:AIfexprExpr> */
912 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var_t
; /* _mtype on <self:AIfexprExpr> */
918 /* method typing#ADoExpr#accept_typing for (self: ADoExpr, TypeVisitor) */
919 void nit__typing___ADoExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
920 val
* var_v
/* var v: TypeVisitor */;
921 val
* var
/* : nullable AExpr */;
922 val
* var2
/* : nullable AExpr */;
925 { /* Inline parser_nodes#ADoExpr#n_block (self) on <self:ADoExpr> */
926 var2
= self
->attrs
[COLOR_nit__parser_nodes__ADoExpr___n_block
].val
; /* _n_block on <self:ADoExpr> */
932 nit__typing___nit__typing__TypeVisitor___visit_stmt(var_v
, var
); /* Direct call typing#TypeVisitor#visit_stmt on <var_v:TypeVisitor>*/
935 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ADoExpr> */
936 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ADoExpr> */
942 /* method typing#AWhileExpr#accept_typing for (self: AWhileExpr, TypeVisitor) */
943 void nit__typing___AWhileExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
944 val
* var_v
/* var v: TypeVisitor */;
945 val
* var
/* : AExpr */;
946 val
* var3
/* : AExpr */;
947 val
* var4
/* : nullable MType */;
948 val
* var5
/* : nullable AExpr */;
949 val
* var7
/* : nullable AExpr */;
952 { /* Inline typing#TypeVisitor#has_loop= (var_v,1) on <var_v:TypeVisitor> */
953 var_v
->attrs
[COLOR_nit__typing__TypeVisitor___has_loop
].s
= 1; /* _has_loop on <var_v:TypeVisitor> */
958 { /* Inline parser_nodes#AWhileExpr#n_expr (self) on <self:AWhileExpr> */
959 var3
= self
->attrs
[COLOR_nit__parser_nodes__AWhileExpr___n_expr
].val
; /* _n_expr on <self:AWhileExpr> */
960 if (unlikely(var3
== NULL
)) {
961 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
962 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1904);
970 var4
= nit__typing___nit__typing__TypeVisitor___visit_expr_bool(var_v
, var
);
973 { /* Inline parser_nodes#AWhileExpr#n_block (self) on <self:AWhileExpr> */
974 var7
= self
->attrs
[COLOR_nit__parser_nodes__AWhileExpr___n_block
].val
; /* _n_block on <self:AWhileExpr> */
980 nit__typing___nit__typing__TypeVisitor___visit_stmt(var_v
, var5
); /* Direct call typing#TypeVisitor#visit_stmt on <var_v:TypeVisitor>*/
983 { /* Inline typing#AExpr#is_typed= (self,1) on <self:AWhileExpr> */
984 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:AWhileExpr> */
990 /* method typing#ALoopExpr#accept_typing for (self: ALoopExpr, TypeVisitor) */
991 void nit__typing___ALoopExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
992 val
* var_v
/* var v: TypeVisitor */;
993 val
* var
/* : nullable AExpr */;
994 val
* var3
/* : nullable AExpr */;
997 { /* Inline typing#TypeVisitor#has_loop= (var_v,1) on <var_v:TypeVisitor> */
998 var_v
->attrs
[COLOR_nit__typing__TypeVisitor___has_loop
].s
= 1; /* _has_loop on <var_v:TypeVisitor> */
1003 { /* Inline parser_nodes#ALoopExpr#n_block (self) on <self:ALoopExpr> */
1004 var3
= self
->attrs
[COLOR_nit__parser_nodes__ALoopExpr___n_block
].val
; /* _n_block on <self:ALoopExpr> */
1010 nit__typing___nit__typing__TypeVisitor___visit_stmt(var_v
, var
); /* Direct call typing#TypeVisitor#visit_stmt on <var_v:TypeVisitor>*/
1013 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ALoopExpr> */
1014 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ALoopExpr> */
1020 /* method typing#AForExpr#coltype= for (self: AForExpr, nullable MClassType) */
1021 void nit__typing___AForExpr___coltype_61d(val
* self
, val
* p0
) {
1022 self
->attrs
[COLOR_nit__typing__AForExpr___coltype
].val
= p0
; /* _coltype on <self:AForExpr> */
1025 /* method typing#AForExpr#method_iterator for (self: AForExpr): nullable CallSite */
1026 val
* nit__typing___AForExpr___method_iterator(val
* self
) {
1027 val
* var
/* : nullable CallSite */;
1028 val
* var1
/* : nullable CallSite */;
1029 var1
= self
->attrs
[COLOR_nit__typing__AForExpr___method_iterator
].val
; /* _method_iterator on <self:AForExpr> */
1034 /* method typing#AForExpr#method_iterator= for (self: AForExpr, nullable CallSite) */
1035 void nit__typing___AForExpr___method_iterator_61d(val
* self
, val
* p0
) {
1036 self
->attrs
[COLOR_nit__typing__AForExpr___method_iterator
].val
= p0
; /* _method_iterator on <self:AForExpr> */
1039 /* method typing#AForExpr#method_is_ok for (self: AForExpr): nullable CallSite */
1040 val
* nit__typing___AForExpr___method_is_ok(val
* self
) {
1041 val
* var
/* : nullable CallSite */;
1042 val
* var1
/* : nullable CallSite */;
1043 var1
= self
->attrs
[COLOR_nit__typing__AForExpr___method_is_ok
].val
; /* _method_is_ok on <self:AForExpr> */
1048 /* method typing#AForExpr#method_is_ok= for (self: AForExpr, nullable CallSite) */
1049 void nit__typing___AForExpr___method_is_ok_61d(val
* self
, val
* p0
) {
1050 self
->attrs
[COLOR_nit__typing__AForExpr___method_is_ok
].val
= p0
; /* _method_is_ok on <self:AForExpr> */
1053 /* method typing#AForExpr#method_item for (self: AForExpr): nullable CallSite */
1054 val
* nit__typing___AForExpr___method_item(val
* self
) {
1055 val
* var
/* : nullable CallSite */;
1056 val
* var1
/* : nullable CallSite */;
1057 var1
= self
->attrs
[COLOR_nit__typing__AForExpr___method_item
].val
; /* _method_item on <self:AForExpr> */
1062 /* method typing#AForExpr#method_item= for (self: AForExpr, nullable CallSite) */
1063 void nit__typing___AForExpr___method_item_61d(val
* self
, val
* p0
) {
1064 self
->attrs
[COLOR_nit__typing__AForExpr___method_item
].val
= p0
; /* _method_item on <self:AForExpr> */
1067 /* method typing#AForExpr#method_next for (self: AForExpr): nullable CallSite */
1068 val
* nit__typing___AForExpr___method_next(val
* self
) {
1069 val
* var
/* : nullable CallSite */;
1070 val
* var1
/* : nullable CallSite */;
1071 var1
= self
->attrs
[COLOR_nit__typing__AForExpr___method_next
].val
; /* _method_next on <self:AForExpr> */
1076 /* method typing#AForExpr#method_next= for (self: AForExpr, nullable CallSite) */
1077 void nit__typing___AForExpr___method_next_61d(val
* self
, val
* p0
) {
1078 self
->attrs
[COLOR_nit__typing__AForExpr___method_next
].val
= p0
; /* _method_next on <self:AForExpr> */
1081 /* method typing#AForExpr#method_key for (self: AForExpr): nullable CallSite */
1082 val
* nit__typing___AForExpr___method_key(val
* self
) {
1083 val
* var
/* : nullable CallSite */;
1084 val
* var1
/* : nullable CallSite */;
1085 var1
= self
->attrs
[COLOR_nit__typing__AForExpr___method_key
].val
; /* _method_key on <self:AForExpr> */
1090 /* method typing#AForExpr#method_key= for (self: AForExpr, nullable CallSite) */
1091 void nit__typing___AForExpr___method_key_61d(val
* self
, val
* p0
) {
1092 self
->attrs
[COLOR_nit__typing__AForExpr___method_key
].val
= p0
; /* _method_key on <self:AForExpr> */
1095 /* method typing#AForExpr#method_finish for (self: AForExpr): nullable CallSite */
1096 val
* nit__typing___AForExpr___method_finish(val
* self
) {
1097 val
* var
/* : nullable CallSite */;
1098 val
* var1
/* : nullable CallSite */;
1099 var1
= self
->attrs
[COLOR_nit__typing__AForExpr___method_finish
].val
; /* _method_finish on <self:AForExpr> */
1104 /* method typing#AForExpr#method_finish= for (self: AForExpr, nullable CallSite) */
1105 void nit__typing___AForExpr___method_finish_61d(val
* self
, val
* p0
) {
1106 self
->attrs
[COLOR_nit__typing__AForExpr___method_finish
].val
= p0
; /* _method_finish on <self:AForExpr> */
1109 /* method typing#AForExpr#method_lt for (self: AForExpr): nullable CallSite */
1110 val
* nit__typing___AForExpr___method_lt(val
* self
) {
1111 val
* var
/* : nullable CallSite */;
1112 val
* var1
/* : nullable CallSite */;
1113 var1
= self
->attrs
[COLOR_nit__typing__AForExpr___method_lt
].val
; /* _method_lt on <self:AForExpr> */
1118 /* method typing#AForExpr#method_lt= for (self: AForExpr, nullable CallSite) */
1119 void nit__typing___AForExpr___method_lt_61d(val
* self
, val
* p0
) {
1120 self
->attrs
[COLOR_nit__typing__AForExpr___method_lt
].val
= p0
; /* _method_lt on <self:AForExpr> */
1123 /* method typing#AForExpr#method_successor for (self: AForExpr): nullable CallSite */
1124 val
* nit__typing___AForExpr___method_successor(val
* self
) {
1125 val
* var
/* : nullable CallSite */;
1126 val
* var1
/* : nullable CallSite */;
1127 var1
= self
->attrs
[COLOR_nit__typing__AForExpr___method_successor
].val
; /* _method_successor on <self:AForExpr> */
1132 /* method typing#AForExpr#method_successor= for (self: AForExpr, nullable CallSite) */
1133 void nit__typing___AForExpr___method_successor_61d(val
* self
, val
* p0
) {
1134 self
->attrs
[COLOR_nit__typing__AForExpr___method_successor
].val
= p0
; /* _method_successor on <self:AForExpr> */
1137 /* method typing#AForExpr#do_type_iterator for (self: AForExpr, TypeVisitor, MType) */
1138 void nit__typing___AForExpr___do_type_iterator(val
* self
, val
* p0
, val
* p1
) {
1139 val
* var_v
/* var v: TypeVisitor */;
1140 val
* var_mtype
/* var mtype: MType */;
1141 short int var
/* : Bool */;
1144 static val
* varonce
;
1145 val
* var1
/* : String */;
1146 char* var2
/* : NativeString */;
1147 val
* var3
/* : FlatString */;
1148 static val
* varonce4
;
1149 val
* var5
/* : String */;
1150 char* var6
/* : NativeString */;
1151 val
* var7
/* : FlatString */;
1152 val
* var8
/* : nullable MClass */;
1153 val
* var_objcla
/* var objcla: nullable MClass */;
1154 short int var9
/* : Bool */;
1155 short int var10
/* : Bool */;
1156 val
* var_other
/* var other: nullable Object */;
1157 short int var12
/* : Bool */;
1158 short int var14
/* : Bool */;
1159 static val
* varonce15
;
1160 val
* var16
/* : String */;
1161 char* var17
/* : NativeString */;
1162 val
* var18
/* : FlatString */;
1163 val
* var19
/* : AExpr */;
1164 val
* var21
/* : AExpr */;
1165 short int var22
/* : Bool */;
1168 val
* var25
/* : nullable CallSite */;
1169 val
* var_itdef
/* var itdef: nullable CallSite */;
1170 short int var26
/* : Bool */;
1171 short int var27
/* : Bool */;
1172 short int var29
/* : Bool */;
1173 short int var31
/* : Bool */;
1174 val
* var33
/* : NativeArray[String] */;
1175 static val
* varonce32
;
1176 static val
* varonce34
;
1177 val
* var35
/* : String */;
1178 char* var36
/* : NativeString */;
1179 val
* var37
/* : FlatString */;
1180 static val
* varonce38
;
1181 val
* var39
/* : String */;
1182 char* var40
/* : NativeString */;
1183 val
* var41
/* : FlatString */;
1184 val
* var42
/* : String */;
1185 val
* var43
/* : String */;
1186 val
* var45
/* : MSignature */;
1187 val
* var47
/* : MSignature */;
1188 val
* var48
/* : nullable MType */;
1189 val
* var50
/* : nullable MType */;
1190 val
* var_ittype
/* var ittype: nullable MType */;
1191 short int var51
/* : Bool */;
1192 short int var52
/* : Bool */;
1193 short int var54
/* : Bool */;
1194 short int var56
/* : Bool */;
1195 static val
* varonce57
;
1196 val
* var58
/* : String */;
1197 char* var59
/* : NativeString */;
1198 val
* var60
/* : FlatString */;
1199 static val
* varonce61
;
1200 val
* var62
/* : String */;
1201 char* var63
/* : NativeString */;
1202 val
* var64
/* : FlatString */;
1203 val
* var65
/* : nullable MClass */;
1204 val
* var_colit_cla
/* var colit_cla: nullable MClass */;
1205 static val
* varonce66
;
1206 val
* var67
/* : String */;
1207 char* var68
/* : NativeString */;
1208 val
* var69
/* : FlatString */;
1209 val
* var70
/* : nullable MClass */;
1210 val
* var_mapit_cla
/* var mapit_cla: nullable MClass */;
1211 short int var_is_col
/* var is_col: Bool */;
1212 short int var_is_map
/* var is_map: Bool */;
1213 short int var71
/* : Bool */;
1214 short int var72
/* : Bool */;
1215 short int var73
/* : Bool */;
1216 val
* var_other75
/* var other: nullable Object */;
1217 short int var76
/* : Bool */;
1218 short int var77
/* : Bool */;
1219 short int var_
/* var : Bool */;
1220 val
* var78
/* : Array[MType] */;
1221 val
* var_79
/* var : Array[MType] */;
1222 val
* var80
/* : MClassType */;
1223 val
* var82
/* : MClassType */;
1224 val
* var83
/* : MType */;
1225 val
* var84
/* : MClassType */;
1226 short int var85
/* : Bool */;
1227 val
* var86
/* : MModule */;
1228 val
* var88
/* : MModule */;
1229 val
* var89
/* : nullable MClassType */;
1230 val
* var91
/* : nullable MClassType */;
1231 val
* var92
/* : MClassType */;
1232 val
* var_coltype
/* var coltype: MClassType */;
1233 val
* var93
/* : nullable Array[Variable] */;
1234 val
* var95
/* : nullable Array[Variable] */;
1235 val
* var_variables
/* var variables: nullable Array[Variable] */;
1236 long var96
/* : Int */;
1237 long var98
/* : Int */;
1238 short int var99
/* : Bool */;
1239 short int var101
/* : Bool */;
1240 short int var102
/* : Bool */;
1241 static val
* varonce103
;
1242 val
* var104
/* : String */;
1243 char* var105
/* : NativeString */;
1244 val
* var106
/* : FlatString */;
1245 val
* var107
/* : nullable Object */;
1246 val
* var108
/* : Array[MType] */;
1247 val
* var109
/* : nullable Object */;
1248 short int var111
/* : Bool */;
1249 short int var112
/* : Bool */;
1250 short int var113
/* : Bool */;
1251 short int var115
/* : Bool */;
1252 short int var116
/* : Bool */;
1253 short int var_117
/* var : Bool */;
1254 val
* var118
/* : Array[MType] */;
1255 val
* var_119
/* var : Array[MType] */;
1256 val
* var120
/* : MClassType */;
1257 val
* var122
/* : MClassType */;
1258 val
* var123
/* : MType */;
1259 val
* var124
/* : MClassType */;
1260 val
* var126
/* : MClassType */;
1261 val
* var127
/* : MType */;
1262 val
* var128
/* : MClassType */;
1263 short int var129
/* : Bool */;
1264 val
* var130
/* : MModule */;
1265 val
* var132
/* : MModule */;
1266 val
* var133
/* : nullable MClassType */;
1267 val
* var135
/* : nullable MClassType */;
1268 val
* var136
/* : MClassType */;
1269 val
* var_coltype137
/* var coltype: MClassType */;
1270 val
* var138
/* : nullable Array[Variable] */;
1271 val
* var140
/* : nullable Array[Variable] */;
1272 val
* var_variables141
/* var variables: nullable Array[Variable] */;
1273 long var142
/* : Int */;
1274 long var144
/* : Int */;
1275 short int var145
/* : Bool */;
1276 short int var147
/* : Bool */;
1277 short int var148
/* : Bool */;
1278 static val
* varonce149
;
1279 val
* var150
/* : String */;
1280 char* var151
/* : NativeString */;
1281 val
* var152
/* : FlatString */;
1282 val
* var153
/* : nullable Object */;
1283 val
* var154
/* : Array[MType] */;
1284 val
* var155
/* : nullable Object */;
1285 val
* var157
/* : nullable Object */;
1286 val
* var158
/* : Array[MType] */;
1287 val
* var159
/* : nullable Object */;
1288 short int var161
/* : Bool */;
1289 short int var162
/* : Bool */;
1290 short int var_163
/* var : Bool */;
1291 short int var164
/* : Bool */;
1292 static val
* varonce165
;
1293 val
* var166
/* : String */;
1294 char* var167
/* : NativeString */;
1295 val
* var168
/* : FlatString */;
1296 short int var169
/* : Bool */;
1297 val
* var170
/* : MType */;
1298 val
* var171
/* : MType */;
1299 short int var172
/* : Bool */;
1302 const char* var_class_name
;
1303 static val
* varonce176
;
1304 val
* var177
/* : String */;
1305 char* var178
/* : NativeString */;
1306 val
* var179
/* : FlatString */;
1307 val
* var180
/* : nullable CallSite */;
1308 val
* var_ikdef
/* var ikdef: nullable CallSite */;
1309 short int var181
/* : Bool */;
1310 short int var182
/* : Bool */;
1311 short int var184
/* : Bool */;
1312 short int var186
/* : Bool */;
1313 val
* var188
/* : NativeArray[String] */;
1314 static val
* varonce187
;
1315 static val
* varonce189
;
1316 val
* var190
/* : String */;
1317 char* var191
/* : NativeString */;
1318 val
* var192
/* : FlatString */;
1319 static val
* varonce193
;
1320 val
* var194
/* : String */;
1321 char* var195
/* : NativeString */;
1322 val
* var196
/* : FlatString */;
1323 val
* var197
/* : String */;
1324 val
* var198
/* : String */;
1325 static val
* varonce200
;
1326 val
* var201
/* : String */;
1327 char* var202
/* : NativeString */;
1328 val
* var203
/* : FlatString */;
1329 val
* var204
/* : nullable CallSite */;
1330 val
* var_itemdef
/* var itemdef: nullable CallSite */;
1331 short int var205
/* : Bool */;
1332 short int var206
/* : Bool */;
1333 short int var208
/* : Bool */;
1334 short int var210
/* : Bool */;
1335 val
* var212
/* : NativeArray[String] */;
1336 static val
* varonce211
;
1337 static val
* varonce213
;
1338 val
* var214
/* : String */;
1339 char* var215
/* : NativeString */;
1340 val
* var216
/* : FlatString */;
1341 static val
* varonce217
;
1342 val
* var218
/* : String */;
1343 char* var219
/* : NativeString */;
1344 val
* var220
/* : FlatString */;
1345 val
* var221
/* : String */;
1346 val
* var222
/* : String */;
1347 static val
* varonce224
;
1348 val
* var225
/* : String */;
1349 char* var226
/* : NativeString */;
1350 val
* var227
/* : FlatString */;
1351 val
* var228
/* : nullable CallSite */;
1352 val
* var_nextdef
/* var nextdef: nullable CallSite */;
1353 short int var229
/* : Bool */;
1354 short int var230
/* : Bool */;
1355 short int var232
/* : Bool */;
1356 short int var234
/* : Bool */;
1357 val
* var236
/* : NativeArray[String] */;
1358 static val
* varonce235
;
1359 static val
* varonce237
;
1360 val
* var238
/* : String */;
1361 char* var239
/* : NativeString */;
1362 val
* var240
/* : FlatString */;
1363 static val
* varonce241
;
1364 val
* var242
/* : String */;
1365 char* var243
/* : NativeString */;
1366 val
* var244
/* : FlatString */;
1367 val
* var245
/* : String */;
1368 val
* var246
/* : String */;
1369 static val
* varonce248
;
1370 val
* var249
/* : String */;
1371 char* var250
/* : NativeString */;
1372 val
* var251
/* : FlatString */;
1373 val
* var252
/* : nullable CallSite */;
1374 static val
* varonce254
;
1375 val
* var255
/* : String */;
1376 char* var256
/* : NativeString */;
1377 val
* var257
/* : FlatString */;
1378 val
* var258
/* : nullable CallSite */;
1379 val
* var_keydef
/* var keydef: nullable CallSite */;
1380 short int var259
/* : Bool */;
1381 short int var260
/* : Bool */;
1382 short int var262
/* : Bool */;
1383 short int var264
/* : Bool */;
1384 val
* var266
/* : NativeArray[String] */;
1385 static val
* varonce265
;
1386 static val
* varonce267
;
1387 val
* var268
/* : String */;
1388 char* var269
/* : NativeString */;
1389 val
* var270
/* : FlatString */;
1390 static val
* varonce271
;
1391 val
* var272
/* : String */;
1392 char* var273
/* : NativeString */;
1393 val
* var274
/* : FlatString */;
1394 val
* var275
/* : String */;
1395 val
* var276
/* : String */;
1396 short int var278
/* : Bool */;
1397 val
* var279
/* : nullable Array[Variable] */;
1398 val
* var281
/* : nullable Array[Variable] */;
1399 long var282
/* : Int */;
1400 long var284
/* : Int */;
1401 short int var285
/* : Bool */;
1402 short int var287
/* : Bool */;
1403 short int var_288
/* var : Bool */;
1404 val
* var289
/* : AExpr */;
1405 val
* var291
/* : AExpr */;
1406 short int var292
/* : Bool */;
1409 val
* var295
/* : nullable Array[Variable] */;
1410 val
* var297
/* : nullable Array[Variable] */;
1411 val
* var298
/* : nullable Object */;
1412 val
* var_variable
/* var variable: Variable */;
1413 val
* var299
/* : nullable MType */;
1414 val
* var301
/* : nullable MType */;
1415 val
* var_vtype
/* var vtype: MType */;
1416 val
* var302
/* : AExpr */;
1417 val
* var304
/* : AExpr */;
1418 short int var305
/* : Bool */;
1421 static val
* varonce308
;
1422 val
* var309
/* : String */;
1423 char* var310
/* : NativeString */;
1424 val
* var311
/* : FlatString */;
1425 val
* var312
/* : nullable CallSite */;
1426 static val
* varonce314
;
1427 val
* var315
/* : String */;
1428 char* var316
/* : NativeString */;
1429 val
* var317
/* : FlatString */;
1430 val
* var318
/* : nullable CallSite */;
1431 static val
* varonce320
;
1432 val
* var321
/* : String */;
1433 char* var322
/* : NativeString */;
1434 val
* var323
/* : FlatString */;
1435 val
* var324
/* : nullable CallSite */;
1438 /* <var_mtype:MType> isa MNullType */
1439 cltype
= type_nit__MNullType
.color
;
1440 idtype
= type_nit__MNullType
.id
;
1441 if(cltype
>= var_mtype
->type
->table_size
) {
1444 var
= var_mtype
->type
->type_table
[cltype
] == idtype
;
1447 if (likely(varonce
!=NULL
)) {
1450 var2
= "Type Error: `for` cannot iterate over `null`.";
1451 var3
= standard___standard__NativeString___to_s_with_length(var2
, 45l);
1456 nit__typing___nit__typing__TypeVisitor___error(var_v
, self
, var1
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
1461 if (likely(varonce4
!=NULL
)) {
1465 var7
= standard___standard__NativeString___to_s_with_length(var6
, 6l);
1470 var8
= nit__typing___nit__typing__TypeVisitor___get_mclass(var_v
, self
, var5
);
1473 if (var_objcla
== NULL
) {
1474 var9
= 1; /* is null */
1476 var9
= 0; /* arg is null but recv is not */
1479 { /* Inline kernel#Object#== (var_objcla,((val*)NULL)) on <var_objcla:nullable MClass> */
1480 var_other
= ((val
*)NULL
);
1482 { /* Inline kernel#Object#is_same_instance (var_objcla,var_other) on <var_objcla:nullable MClass(MClass)> */
1483 var14
= var_objcla
== var_other
;
1486 RET_LABEL13
:(void)0;
1491 RET_LABEL11
:(void)0;
1499 if (likely(varonce15
!=NULL
)) {
1503 var18
= standard___standard__NativeString___to_s_with_length(var17
, 8l);
1508 { /* Inline parser_nodes#AForExpr#n_expr (self) on <self:AForExpr> */
1509 var21
= self
->attrs
[COLOR_nit__parser_nodes__AForExpr___n_expr
].val
; /* _n_expr on <self:AForExpr> */
1510 if (unlikely(var21
== NULL
)) {
1511 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1512 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1940);
1516 RET_LABEL20
:(void)0;
1519 /* <var19:AExpr> isa ASelfExpr */
1520 cltype23
= type_nit__ASelfExpr
.color
;
1521 idtype24
= type_nit__ASelfExpr
.id
;
1522 if(cltype23
>= var19
->type
->table_size
) {
1525 var22
= var19
->type
->type_table
[cltype23
] == idtype24
;
1528 var25
= nit__typing___nit__typing__TypeVisitor___get_method(var_v
, self
, var_mtype
, var16
, var22
);
1531 if (var_itdef
== NULL
) {
1532 var26
= 1; /* is null */
1534 var26
= 0; /* arg is null but recv is not */
1537 { /* Inline kernel#Object#== (var_itdef,((val*)NULL)) on <var_itdef:nullable CallSite> */
1538 var_other
= ((val
*)NULL
);
1540 { /* Inline kernel#Object#is_same_instance (var_itdef,var_other) on <var_itdef:nullable CallSite(CallSite)> */
1541 var31
= var_itdef
== var_other
;
1544 RET_LABEL30
:(void)0;
1549 RET_LABEL28
:(void)0;
1554 if (unlikely(varonce32
==NULL
)) {
1555 var33
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1556 if (likely(varonce34
!=NULL
)) {
1559 var36
= "Type Error: `for` expects a type providing an `iterator` method, got `";
1560 var37
= standard___standard__NativeString___to_s_with_length(var36
, 70l);
1564 ((struct instance_standard__NativeArray
*)var33
)->values
[0]=var35
;
1565 if (likely(varonce38
!=NULL
)) {
1569 var41
= standard___standard__NativeString___to_s_with_length(var40
, 2l);
1573 ((struct instance_standard__NativeArray
*)var33
)->values
[2]=var39
;
1579 var42
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MType>*/
1581 ((struct instance_standard__NativeArray
*)var33
)->values
[1]=var42
;
1583 var43
= ((val
*(*)(val
* self
))(var33
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var33
); /* native_to_s on <var33:NativeArray[String]>*/
1587 nit__typing___nit__typing__TypeVisitor___error(var_v
, self
, var43
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
1593 { /* Inline typing#AForExpr#method_iterator= (self,var_itdef) on <self:AForExpr> */
1594 self
->attrs
[COLOR_nit__typing__AForExpr___method_iterator
].val
= var_itdef
; /* _method_iterator on <self:AForExpr> */
1595 RET_LABEL44
:(void)0;
1599 { /* Inline typing#CallSite#msignature (var_itdef) on <var_itdef:nullable CallSite(CallSite)> */
1600 var47
= var_itdef
->attrs
[COLOR_nit__typing__CallSite___msignature
].val
; /* _msignature on <var_itdef:nullable CallSite(CallSite)> */
1601 if (unlikely(var47
== NULL
)) {
1602 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
1603 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 631);
1607 RET_LABEL46
:(void)0;
1611 { /* Inline model#MSignature#return_mtype (var45) on <var45:MSignature> */
1612 var50
= var45
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var45:MSignature> */
1614 RET_LABEL49
:(void)0;
1618 if (var_ittype
== NULL
) {
1619 var51
= 1; /* is null */
1621 var51
= 0; /* arg is null but recv is not */
1624 { /* Inline kernel#Object#== (var_ittype,((val*)NULL)) on <var_ittype:nullable MType> */
1625 var_other
= ((val
*)NULL
);
1627 { /* Inline kernel#Object#is_same_instance (var_ittype,var_other) on <var_ittype:nullable MType(MType)> */
1628 var56
= var_ittype
== var_other
;
1631 RET_LABEL55
:(void)0;
1636 RET_LABEL53
:(void)0;
1641 if (likely(varonce57
!=NULL
)) {
1644 var59
= "Type Error: `for` expects the method `iterator` to return an `Iterator` or `MapIterator` type.";
1645 var60
= standard___standard__NativeString___to_s_with_length(var59
, 94l);
1650 nit__typing___nit__typing__TypeVisitor___error(var_v
, self
, var58
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
1655 if (likely(varonce61
!=NULL
)) {
1659 var64
= standard___standard__NativeString___to_s_with_length(var63
, 8l);
1664 var65
= nit__typing___nit__typing__TypeVisitor___try_get_mclass(var_v
, self
, var62
);
1666 var_colit_cla
= var65
;
1667 if (likely(varonce66
!=NULL
)) {
1670 var68
= "MapIterator";
1671 var69
= standard___standard__NativeString___to_s_with_length(var68
, 11l);
1676 var70
= nit__typing___nit__typing__TypeVisitor___try_get_mclass(var_v
, self
, var67
);
1678 var_mapit_cla
= var70
;
1681 if (var_colit_cla
== NULL
) {
1682 var72
= 0; /* is null */
1684 var72
= 1; /* arg is null and recv is not */
1687 { /* Inline kernel#Object#!= (var_colit_cla,((val*)NULL)) on <var_colit_cla:nullable MClass> */
1688 var_other75
= ((val
*)NULL
);
1690 var76
= ((short int(*)(val
* self
, val
* p0
))(var_colit_cla
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_colit_cla
, var_other75
); /* == on <var_colit_cla:nullable MClass(MClass)>*/
1695 RET_LABEL74
:(void)0;
1701 var78
= NEW_standard__Array(&type_standard__Array__nit__MType
);
1703 standard___standard__Array___with_capacity(var78
, 1l); /* Direct call array#Array#with_capacity on <var78:Array[MType]>*/
1707 { /* Inline model#MClass#mclass_type (var_objcla) on <var_objcla:nullable MClass(MClass)> */
1708 var82
= var_objcla
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_objcla:nullable MClass(MClass)> */
1709 if (unlikely(var82
== NULL
)) {
1710 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
1711 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
1715 RET_LABEL81
:(void)0;
1719 var83
= nit___nit__MType___as_nullable(var80
);
1722 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_79
, var83
); /* Direct call array#AbstractArray#push on <var_79:Array[MType]>*/
1725 var84
= nit___nit__MClass___get_mtype(var_colit_cla
, var_79
);
1728 var85
= nit__typing___nit__typing__TypeVisitor___is_subtype(var_v
, var_ittype
, var84
);
1736 { /* Inline typing#TypeVisitor#mmodule (var_v) on <var_v:TypeVisitor> */
1737 var88
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
1738 if (unlikely(var88
== NULL
)) {
1739 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
1740 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 36);
1744 RET_LABEL87
:(void)0;
1748 { /* Inline typing#TypeVisitor#anchor (var_v) on <var_v:TypeVisitor> */
1749 var91
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___anchor
].val
; /* _anchor on <var_v:TypeVisitor> */
1751 RET_LABEL90
:(void)0;
1755 var92
= nit___nit__MType___supertype_to(var_ittype
, var86
, var89
, var_colit_cla
);
1757 var_coltype
= var92
;
1759 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
1760 var95
= self
->attrs
[COLOR_nit__scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
1762 RET_LABEL94
:(void)0;
1765 var_variables
= var93
;
1766 if (var_variables
== NULL
) {
1767 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1768 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1138);
1771 { /* Inline array#AbstractArrayRead#length (var_variables) on <var_variables:nullable Array[Variable]> */
1772 if (unlikely(var_variables
== NULL
)) {
1773 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1774 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array
, 26);
1777 var98
= var_variables
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_variables:nullable Array[Variable]> */
1779 RET_LABEL97
:(void)0;
1783 { /* Inline kernel#Int#!= (var96,1l) on <var96:Int> */
1784 var101
= var96
== 1l;
1788 RET_LABEL100
:(void)0;
1792 if (likely(varonce103
!=NULL
)) {
1793 var104
= varonce103
;
1795 var105
= "Type Error: `for` expects only one variable when using `Iterator`.";
1796 var106
= standard___standard__NativeString___to_s_with_length(var105
, 66l);
1798 varonce103
= var104
;
1801 nit__typing___nit__typing__TypeVisitor___error(var_v
, self
, var104
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
1804 if (var_variables
== NULL
) {
1805 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1806 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1141);
1809 var107
= standard___standard__SequenceRead___Collection__first(var_variables
);
1812 var108
= ((val
*(*)(val
* self
))(var_coltype
->class->vft
[COLOR_nit__model__MClassType__arguments
]))(var_coltype
); /* arguments on <var_coltype:MClassType>*/
1815 var109
= standard___standard__SequenceRead___Collection__first(var108
);
1818 { /* Inline typing#Variable#declared_type= (var107,var109) on <var107:nullable Object(Variable)> */
1819 var107
->attrs
[COLOR_nit__typing__Variable___declared_type
].val
= var109
; /* _declared_type on <var107:nullable Object(Variable)> */
1820 RET_LABEL110
:(void)0;
1827 if (var_mapit_cla
== NULL
) {
1828 var112
= 0; /* is null */
1830 var112
= 1; /* arg is null and recv is not */
1833 { /* Inline kernel#Object#!= (var_mapit_cla,((val*)NULL)) on <var_mapit_cla:nullable MClass> */
1834 var_other75
= ((val
*)NULL
);
1836 var115
= ((short int(*)(val
* self
, val
* p0
))(var_mapit_cla
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mapit_cla
, var_other75
); /* == on <var_mapit_cla:nullable MClass(MClass)>*/
1841 RET_LABEL114
:(void)0;
1847 var118
= NEW_standard__Array(&type_standard__Array__nit__MType
);
1849 standard___standard__Array___with_capacity(var118
, 2l); /* Direct call array#Array#with_capacity on <var118:Array[MType]>*/
1853 { /* Inline model#MClass#mclass_type (var_objcla) on <var_objcla:nullable MClass(MClass)> */
1854 var122
= var_objcla
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_objcla:nullable MClass(MClass)> */
1855 if (unlikely(var122
== NULL
)) {
1856 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
1857 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
1861 RET_LABEL121
:(void)0;
1865 var123
= nit___nit__MType___as_nullable(var120
);
1868 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_119
, var123
); /* Direct call array#AbstractArray#push on <var_119:Array[MType]>*/
1871 { /* Inline model#MClass#mclass_type (var_objcla) on <var_objcla:nullable MClass(MClass)> */
1872 var126
= var_objcla
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_objcla:nullable MClass(MClass)> */
1873 if (unlikely(var126
== NULL
)) {
1874 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
1875 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
1879 RET_LABEL125
:(void)0;
1883 var127
= nit___nit__MType___as_nullable(var124
);
1886 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_119
, var127
); /* Direct call array#AbstractArray#push on <var_119:Array[MType]>*/
1889 var128
= nit___nit__MClass___get_mtype(var_mapit_cla
, var_119
);
1892 var129
= nit__typing___nit__typing__TypeVisitor___is_subtype(var_v
, var_ittype
, var128
);
1900 { /* Inline typing#TypeVisitor#mmodule (var_v) on <var_v:TypeVisitor> */
1901 var132
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
1902 if (unlikely(var132
== NULL
)) {
1903 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
1904 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 36);
1908 RET_LABEL131
:(void)0;
1912 { /* Inline typing#TypeVisitor#anchor (var_v) on <var_v:TypeVisitor> */
1913 var135
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___anchor
].val
; /* _anchor on <var_v:TypeVisitor> */
1915 RET_LABEL134
:(void)0;
1919 var136
= nit___nit__MType___supertype_to(var_ittype
, var130
, var133
, var_mapit_cla
);
1921 var_coltype137
= var136
;
1923 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
1924 var140
= self
->attrs
[COLOR_nit__scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
1926 RET_LABEL139
:(void)0;
1929 var_variables141
= var138
;
1930 if (var_variables141
== NULL
) {
1931 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1932 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1150);
1935 { /* Inline array#AbstractArrayRead#length (var_variables141) on <var_variables141:nullable Array[Variable]> */
1936 if (unlikely(var_variables141
== NULL
)) {
1937 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1938 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array
, 26);
1941 var144
= var_variables141
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_variables141:nullable Array[Variable]> */
1943 RET_LABEL143
:(void)0;
1947 { /* Inline kernel#Int#!= (var142,2l) on <var142:Int> */
1948 var147
= var142
== 2l;
1952 RET_LABEL146
:(void)0;
1956 if (likely(varonce149
!=NULL
)) {
1957 var150
= varonce149
;
1959 var151
= "Type Error: `for` expects two variables when using `MapIterator`.";
1960 var152
= standard___standard__NativeString___to_s_with_length(var151
, 65l);
1962 varonce149
= var150
;
1965 nit__typing___nit__typing__TypeVisitor___error(var_v
, self
, var150
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
1968 if (var_variables141
== NULL
) {
1969 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1970 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1153);
1973 var153
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_variables141
, 0l);
1976 var154
= ((val
*(*)(val
* self
))(var_coltype137
->class->vft
[COLOR_nit__model__MClassType__arguments
]))(var_coltype137
); /* arguments on <var_coltype137:MClassType>*/
1979 var155
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var154
, 0l);
1982 { /* Inline typing#Variable#declared_type= (var153,var155) on <var153:nullable Object(Variable)> */
1983 var153
->attrs
[COLOR_nit__typing__Variable___declared_type
].val
= var155
; /* _declared_type on <var153:nullable Object(Variable)> */
1984 RET_LABEL156
:(void)0;
1987 if (var_variables141
== NULL
) {
1988 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1989 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1154);
1992 var157
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_variables141
, 1l);
1995 var158
= ((val
*(*)(val
* self
))(var_coltype137
->class->vft
[COLOR_nit__model__MClassType__arguments
]))(var_coltype137
); /* arguments on <var_coltype137:MClassType>*/
1998 var159
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var158
, 1l);
2001 { /* Inline typing#Variable#declared_type= (var157,var159) on <var157:nullable Object(Variable)> */
2002 var157
->attrs
[COLOR_nit__typing__Variable___declared_type
].val
= var159
; /* _declared_type on <var157:nullable Object(Variable)> */
2003 RET_LABEL160
:(void)0;
2010 var162
= !var_is_col
;
2013 var164
= !var_is_map
;
2019 if (likely(varonce165
!=NULL
)) {
2020 var166
= varonce165
;
2022 var167
= "Type Error: `for` expects the method `iterator` to return an `Iterator` or `MapIterator` type.";
2023 var168
= standard___standard__NativeString___to_s_with_length(var167
, 94l);
2025 varonce165
= var166
;
2028 nit__typing___nit__typing__TypeVisitor___error(var_v
, self
, var166
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
2034 var169
= ((short int(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_mtype
); /* need_anchor on <var_mtype:MType>*/
2038 var170
= nit__typing___nit__typing__TypeVisitor___anchor_to(var_v
, var_mtype
);
2044 var171
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model__MType__undecorate
]))(var_mtype
); /* undecorate on <var_mtype:MType>*/
2047 /* <var_mtype:MType> isa MClassType */
2048 cltype173
= type_nit__MClassType
.color
;
2049 idtype174
= type_nit__MClassType
.id
;
2050 if(cltype173
>= var_mtype
->type
->table_size
) {
2053 var172
= var_mtype
->type
->type_table
[cltype173
] == idtype174
;
2055 if (unlikely(!var172
)) {
2056 var_class_name
= var_mtype
== NULL ?
"null" : var_mtype
->type
->name
;
2057 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
2058 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1168);
2062 { /* Inline typing#AForExpr#coltype= (self,var_mtype) on <self:AForExpr> */
2063 self
->attrs
[COLOR_nit__typing__AForExpr___coltype
].val
= var_mtype
; /* _coltype on <self:AForExpr> */
2064 RET_LABEL175
:(void)0;
2067 if (likely(varonce176
!=NULL
)) {
2068 var177
= varonce176
;
2071 var179
= standard___standard__NativeString___to_s_with_length(var178
, 5l);
2073 varonce176
= var177
;
2076 var180
= nit__typing___nit__typing__TypeVisitor___get_method(var_v
, self
, var_ittype
, var177
, 0);
2079 if (var_ikdef
== NULL
) {
2080 var181
= 1; /* is null */
2082 var181
= 0; /* arg is null but recv is not */
2085 { /* Inline kernel#Object#== (var_ikdef,((val*)NULL)) on <var_ikdef:nullable CallSite> */
2086 var_other
= ((val
*)NULL
);
2088 { /* Inline kernel#Object#is_same_instance (var_ikdef,var_other) on <var_ikdef:nullable CallSite(CallSite)> */
2089 var186
= var_ikdef
== var_other
;
2092 RET_LABEL185
:(void)0;
2097 RET_LABEL183
:(void)0;
2102 if (unlikely(varonce187
==NULL
)) {
2103 var188
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2104 if (likely(varonce189
!=NULL
)) {
2105 var190
= varonce189
;
2107 var191
= "Type Error: `for` expects a method `is_ok` in type `";
2108 var192
= standard___standard__NativeString___to_s_with_length(var191
, 52l);
2110 varonce189
= var190
;
2112 ((struct instance_standard__NativeArray
*)var188
)->values
[0]=var190
;
2113 if (likely(varonce193
!=NULL
)) {
2114 var194
= varonce193
;
2117 var196
= standard___standard__NativeString___to_s_with_length(var195
, 2l);
2119 varonce193
= var194
;
2121 ((struct instance_standard__NativeArray
*)var188
)->values
[2]=var194
;
2123 var188
= varonce187
;
2127 var197
= ((val
*(*)(val
* self
))(var_ittype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_ittype
); /* to_s on <var_ittype:nullable MType(MType)>*/
2129 ((struct instance_standard__NativeArray
*)var188
)->values
[1]=var197
;
2131 var198
= ((val
*(*)(val
* self
))(var188
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var188
); /* native_to_s on <var188:NativeArray[String]>*/
2133 varonce187
= var188
;
2135 nit__typing___nit__typing__TypeVisitor___error(var_v
, self
, var198
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
2141 { /* Inline typing#AForExpr#method_is_ok= (self,var_ikdef) on <self:AForExpr> */
2142 self
->attrs
[COLOR_nit__typing__AForExpr___method_is_ok
].val
= var_ikdef
; /* _method_is_ok on <self:AForExpr> */
2143 RET_LABEL199
:(void)0;
2146 if (likely(varonce200
!=NULL
)) {
2147 var201
= varonce200
;
2150 var203
= standard___standard__NativeString___to_s_with_length(var202
, 4l);
2152 varonce200
= var201
;
2155 var204
= nit__typing___nit__typing__TypeVisitor___get_method(var_v
, self
, var_ittype
, var201
, 0);
2157 var_itemdef
= var204
;
2158 if (var_itemdef
== NULL
) {
2159 var205
= 1; /* is null */
2161 var205
= 0; /* arg is null but recv is not */
2164 { /* Inline kernel#Object#== (var_itemdef,((val*)NULL)) on <var_itemdef:nullable CallSite> */
2165 var_other
= ((val
*)NULL
);
2167 { /* Inline kernel#Object#is_same_instance (var_itemdef,var_other) on <var_itemdef:nullable CallSite(CallSite)> */
2168 var210
= var_itemdef
== var_other
;
2171 RET_LABEL209
:(void)0;
2176 RET_LABEL207
:(void)0;
2181 if (unlikely(varonce211
==NULL
)) {
2182 var212
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2183 if (likely(varonce213
!=NULL
)) {
2184 var214
= varonce213
;
2186 var215
= "Type Error: `for` expects a method `item` in type `";
2187 var216
= standard___standard__NativeString___to_s_with_length(var215
, 51l);
2189 varonce213
= var214
;
2191 ((struct instance_standard__NativeArray
*)var212
)->values
[0]=var214
;
2192 if (likely(varonce217
!=NULL
)) {
2193 var218
= varonce217
;
2196 var220
= standard___standard__NativeString___to_s_with_length(var219
, 2l);
2198 varonce217
= var218
;
2200 ((struct instance_standard__NativeArray
*)var212
)->values
[2]=var218
;
2202 var212
= varonce211
;
2206 var221
= ((val
*(*)(val
* self
))(var_ittype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_ittype
); /* to_s on <var_ittype:nullable MType(MType)>*/
2208 ((struct instance_standard__NativeArray
*)var212
)->values
[1]=var221
;
2210 var222
= ((val
*(*)(val
* self
))(var212
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var212
); /* native_to_s on <var212:NativeArray[String]>*/
2212 varonce211
= var212
;
2214 nit__typing___nit__typing__TypeVisitor___error(var_v
, self
, var222
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
2220 { /* Inline typing#AForExpr#method_item= (self,var_itemdef) on <self:AForExpr> */
2221 self
->attrs
[COLOR_nit__typing__AForExpr___method_item
].val
= var_itemdef
; /* _method_item on <self:AForExpr> */
2222 RET_LABEL223
:(void)0;
2225 if (likely(varonce224
!=NULL
)) {
2226 var225
= varonce224
;
2229 var227
= standard___standard__NativeString___to_s_with_length(var226
, 4l);
2231 varonce224
= var225
;
2234 var228
= nit__typing___nit__typing__TypeVisitor___get_method(var_v
, self
, var_ittype
, var225
, 0);
2236 var_nextdef
= var228
;
2237 if (var_nextdef
== NULL
) {
2238 var229
= 1; /* is null */
2240 var229
= 0; /* arg is null but recv is not */
2243 { /* Inline kernel#Object#== (var_nextdef,((val*)NULL)) on <var_nextdef:nullable CallSite> */
2244 var_other
= ((val
*)NULL
);
2246 { /* Inline kernel#Object#is_same_instance (var_nextdef,var_other) on <var_nextdef:nullable CallSite(CallSite)> */
2247 var234
= var_nextdef
== var_other
;
2250 RET_LABEL233
:(void)0;
2255 RET_LABEL231
:(void)0;
2260 if (unlikely(varonce235
==NULL
)) {
2261 var236
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2262 if (likely(varonce237
!=NULL
)) {
2263 var238
= varonce237
;
2265 var239
= "Type Error: `for` expects a method `next` in type ";
2266 var240
= standard___standard__NativeString___to_s_with_length(var239
, 50l);
2268 varonce237
= var238
;
2270 ((struct instance_standard__NativeArray
*)var236
)->values
[0]=var238
;
2271 if (likely(varonce241
!=NULL
)) {
2272 var242
= varonce241
;
2275 var244
= standard___standard__NativeString___to_s_with_length(var243
, 1l);
2277 varonce241
= var242
;
2279 ((struct instance_standard__NativeArray
*)var236
)->values
[2]=var242
;
2281 var236
= varonce235
;
2285 var245
= ((val
*(*)(val
* self
))(var_ittype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_ittype
); /* to_s on <var_ittype:nullable MType(MType)>*/
2287 ((struct instance_standard__NativeArray
*)var236
)->values
[1]=var245
;
2289 var246
= ((val
*(*)(val
* self
))(var236
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var236
); /* native_to_s on <var236:NativeArray[String]>*/
2291 varonce235
= var236
;
2293 nit__typing___nit__typing__TypeVisitor___error(var_v
, self
, var246
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
2299 { /* Inline typing#AForExpr#method_next= (self,var_nextdef) on <self:AForExpr> */
2300 self
->attrs
[COLOR_nit__typing__AForExpr___method_next
].val
= var_nextdef
; /* _method_next on <self:AForExpr> */
2301 RET_LABEL247
:(void)0;
2304 if (likely(varonce248
!=NULL
)) {
2305 var249
= varonce248
;
2308 var251
= standard___standard__NativeString___to_s_with_length(var250
, 6l);
2310 varonce248
= var249
;
2313 var252
= nit__typing___nit__typing__TypeVisitor___try_get_method(var_v
, self
, var_ittype
, var249
, 0);
2316 { /* Inline typing#AForExpr#method_finish= (self,var252) on <self:AForExpr> */
2317 self
->attrs
[COLOR_nit__typing__AForExpr___method_finish
].val
= var252
; /* _method_finish on <self:AForExpr> */
2318 RET_LABEL253
:(void)0;
2322 if (likely(varonce254
!=NULL
)) {
2323 var255
= varonce254
;
2326 var257
= standard___standard__NativeString___to_s_with_length(var256
, 3l);
2328 varonce254
= var255
;
2331 var258
= nit__typing___nit__typing__TypeVisitor___get_method(var_v
, self
, var_ittype
, var255
, 0);
2333 var_keydef
= var258
;
2334 if (var_keydef
== NULL
) {
2335 var259
= 1; /* is null */
2337 var259
= 0; /* arg is null but recv is not */
2340 { /* Inline kernel#Object#== (var_keydef,((val*)NULL)) on <var_keydef:nullable CallSite> */
2341 var_other
= ((val
*)NULL
);
2343 { /* Inline kernel#Object#is_same_instance (var_keydef,var_other) on <var_keydef:nullable CallSite(CallSite)> */
2344 var264
= var_keydef
== var_other
;
2347 RET_LABEL263
:(void)0;
2352 RET_LABEL261
:(void)0;
2357 if (unlikely(varonce265
==NULL
)) {
2358 var266
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2359 if (likely(varonce267
!=NULL
)) {
2360 var268
= varonce267
;
2362 var269
= "Type Error: `for` expects a method `key` in type `";
2363 var270
= standard___standard__NativeString___to_s_with_length(var269
, 50l);
2365 varonce267
= var268
;
2367 ((struct instance_standard__NativeArray
*)var266
)->values
[0]=var268
;
2368 if (likely(varonce271
!=NULL
)) {
2369 var272
= varonce271
;
2372 var274
= standard___standard__NativeString___to_s_with_length(var273
, 2l);
2374 varonce271
= var272
;
2376 ((struct instance_standard__NativeArray
*)var266
)->values
[2]=var272
;
2378 var266
= varonce265
;
2382 var275
= ((val
*(*)(val
* self
))(var_ittype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_ittype
); /* to_s on <var_ittype:nullable MType(MType)>*/
2384 ((struct instance_standard__NativeArray
*)var266
)->values
[1]=var275
;
2386 var276
= ((val
*(*)(val
* self
))(var266
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var266
); /* native_to_s on <var266:NativeArray[String]>*/
2388 varonce265
= var266
;
2390 nit__typing___nit__typing__TypeVisitor___error(var_v
, self
, var276
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
2396 { /* Inline typing#AForExpr#method_key= (self,var_keydef) on <self:AForExpr> */
2397 self
->attrs
[COLOR_nit__typing__AForExpr___method_key
].val
= var_keydef
; /* _method_key on <self:AForExpr> */
2398 RET_LABEL277
:(void)0;
2404 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
2405 var281
= self
->attrs
[COLOR_nit__scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
2407 RET_LABEL280
:(void)0;
2410 if (var279
== NULL
) {
2411 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2412 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1203);
2415 { /* Inline array#AbstractArrayRead#length (var279) on <var279:nullable Array[Variable]> */
2416 if (unlikely(var279
== NULL
)) {
2417 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2418 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array
, 26);
2421 var284
= var279
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var279:nullable Array[Variable]> */
2423 RET_LABEL283
:(void)0;
2427 { /* Inline kernel#Int#== (var282,1l) on <var282:Int> */
2428 var287
= var282
== 1l;
2431 RET_LABEL286
:(void)0;
2437 { /* Inline parser_nodes#AForExpr#n_expr (self) on <self:AForExpr> */
2438 var291
= self
->attrs
[COLOR_nit__parser_nodes__AForExpr___n_expr
].val
; /* _n_expr on <self:AForExpr> */
2439 if (unlikely(var291
== NULL
)) {
2440 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2441 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1940);
2445 RET_LABEL290
:(void)0;
2448 /* <var289:AExpr> isa ARangeExpr */
2449 cltype293
= type_nit__ARangeExpr
.color
;
2450 idtype294
= type_nit__ARangeExpr
.id
;
2451 if(cltype293
>= var289
->type
->table_size
) {
2454 var292
= var289
->type
->type_table
[cltype293
] == idtype294
;
2462 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
2463 var297
= self
->attrs
[COLOR_nit__scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
2465 RET_LABEL296
:(void)0;
2468 if (var295
== NULL
) {
2469 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2470 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1204);
2473 var298
= standard___standard__SequenceRead___Collection__first(var295
);
2475 var_variable
= var298
;
2477 { /* Inline typing#Variable#declared_type (var_variable) on <var_variable:Variable> */
2478 var301
= var_variable
->attrs
[COLOR_nit__typing__Variable___declared_type
].val
; /* _declared_type on <var_variable:Variable> */
2480 RET_LABEL300
:(void)0;
2483 if (unlikely(var299
== NULL
)) {
2484 PRINT_ERROR("Runtime error: %s", "Cast failed");
2485 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1205);
2490 { /* Inline parser_nodes#AForExpr#n_expr (self) on <self:AForExpr> */
2491 var304
= self
->attrs
[COLOR_nit__parser_nodes__AForExpr___n_expr
].val
; /* _n_expr on <self:AForExpr> */
2492 if (unlikely(var304
== NULL
)) {
2493 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2494 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1940);
2498 RET_LABEL303
:(void)0;
2501 /* <var302:AExpr> isa AOrangeExpr */
2502 cltype306
= type_nit__AOrangeExpr
.color
;
2503 idtype307
= type_nit__AOrangeExpr
.id
;
2504 if(cltype306
>= var302
->type
->table_size
) {
2507 var305
= var302
->type
->type_table
[cltype306
] == idtype307
;
2510 if (likely(varonce308
!=NULL
)) {
2511 var309
= varonce308
;
2514 var311
= standard___standard__NativeString___to_s_with_length(var310
, 1l);
2516 varonce308
= var309
;
2519 var312
= nit__typing___nit__typing__TypeVisitor___get_method(var_v
, self
, var_vtype
, var309
, 0);
2522 { /* Inline typing#AForExpr#method_lt= (self,var312) on <self:AForExpr> */
2523 self
->attrs
[COLOR_nit__typing__AForExpr___method_lt
].val
= var312
; /* _method_lt on <self:AForExpr> */
2524 RET_LABEL313
:(void)0;
2528 if (likely(varonce314
!=NULL
)) {
2529 var315
= varonce314
;
2532 var317
= standard___standard__NativeString___to_s_with_length(var316
, 2l);
2534 varonce314
= var315
;
2537 var318
= nit__typing___nit__typing__TypeVisitor___get_method(var_v
, self
, var_vtype
, var315
, 0);
2540 { /* Inline typing#AForExpr#method_lt= (self,var318) on <self:AForExpr> */
2541 self
->attrs
[COLOR_nit__typing__AForExpr___method_lt
].val
= var318
; /* _method_lt on <self:AForExpr> */
2542 RET_LABEL319
:(void)0;
2546 if (likely(varonce320
!=NULL
)) {
2547 var321
= varonce320
;
2549 var322
= "successor";
2550 var323
= standard___standard__NativeString___to_s_with_length(var322
, 9l);
2552 varonce320
= var321
;
2555 var324
= nit__typing___nit__typing__TypeVisitor___get_method(var_v
, self
, var_vtype
, var321
, 0);
2558 { /* Inline typing#AForExpr#method_successor= (self,var324) on <self:AForExpr> */
2559 self
->attrs
[COLOR_nit__typing__AForExpr___method_successor
].val
= var324
; /* _method_successor on <self:AForExpr> */
2560 RET_LABEL325
:(void)0;
2567 /* method typing#AForExpr#accept_typing for (self: AForExpr, TypeVisitor) */
2568 void nit__typing___AForExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
2569 val
* var_v
/* var v: TypeVisitor */;
2570 val
* var
/* : AExpr */;
2571 val
* var3
/* : AExpr */;
2572 val
* var4
/* : nullable MType */;
2573 val
* var_mtype
/* var mtype: nullable MType */;
2574 short int var5
/* : Bool */;
2575 short int var6
/* : Bool */;
2576 val
* var_other
/* var other: nullable Object */;
2577 short int var8
/* : Bool */;
2578 short int var10
/* : Bool */;
2579 val
* var11
/* : nullable AExpr */;
2580 val
* var13
/* : nullable AExpr */;
2581 val
* var14
/* : nullable AExpr */;
2582 val
* var16
/* : nullable AExpr */;
2583 val
* var17
/* : nullable MType */;
2586 { /* Inline typing#TypeVisitor#has_loop= (var_v,1) on <var_v:TypeVisitor> */
2587 var_v
->attrs
[COLOR_nit__typing__TypeVisitor___has_loop
].s
= 1; /* _has_loop on <var_v:TypeVisitor> */
2592 { /* Inline parser_nodes#AForExpr#n_expr (self) on <self:AForExpr> */
2593 var3
= self
->attrs
[COLOR_nit__parser_nodes__AForExpr___n_expr
].val
; /* _n_expr on <self:AForExpr> */
2594 if (unlikely(var3
== NULL
)) {
2595 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2596 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1940);
2604 var4
= nit__typing___nit__typing__TypeVisitor___visit_expr(var_v
, var
);
2607 if (var_mtype
== NULL
) {
2608 var5
= 1; /* is null */
2610 var5
= 0; /* arg is null but recv is not */
2613 { /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
2614 var_other
= ((val
*)NULL
);
2616 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
2617 var10
= var_mtype
== var_other
;
2634 nit__typing___AForExpr___do_type_iterator(self
, var_v
, var_mtype
); /* Direct call typing#AForExpr#do_type_iterator on <self:AForExpr>*/
2637 { /* Inline parser_nodes#AForExpr#n_block (self) on <self:AForExpr> */
2638 var13
= self
->attrs
[COLOR_nit__parser_nodes__AForExpr___n_block
].val
; /* _n_block on <self:AForExpr> */
2640 RET_LABEL12
:(void)0;
2644 nit__typing___nit__typing__TypeVisitor___visit_stmt(var_v
, var11
); /* Direct call typing#TypeVisitor#visit_stmt on <var_v:TypeVisitor>*/
2647 { /* Inline parser_nodes#AForExpr#n_block (self) on <self:AForExpr> */
2648 var16
= self
->attrs
[COLOR_nit__parser_nodes__AForExpr___n_block
].val
; /* _n_block on <self:AForExpr> */
2650 RET_LABEL15
:(void)0;
2653 if (var14
== NULL
) {
2654 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2655 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1227);
2658 var17
= ((val
*(*)(val
* self
))(var14
->class->vft
[COLOR_nit__typing__AExpr__mtype
]))(var14
); /* mtype on <var14:nullable AExpr>*/
2661 { /* Inline typing#AExpr#mtype= (self,var17) on <self:AForExpr> */
2662 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var17
; /* _mtype on <self:AForExpr> */
2663 RET_LABEL18
:(void)0;
2667 { /* Inline typing#AExpr#is_typed= (self,1) on <self:AForExpr> */
2668 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:AForExpr> */
2669 RET_LABEL19
:(void)0;
2674 /* method typing#AWithExpr#method_start for (self: AWithExpr): nullable CallSite */
2675 val
* nit__typing___AWithExpr___method_start(val
* self
) {
2676 val
* var
/* : nullable CallSite */;
2677 val
* var1
/* : nullable CallSite */;
2678 var1
= self
->attrs
[COLOR_nit__typing__AWithExpr___method_start
].val
; /* _method_start on <self:AWithExpr> */
2683 /* method typing#AWithExpr#method_start= for (self: AWithExpr, nullable CallSite) */
2684 void nit__typing___AWithExpr___method_start_61d(val
* self
, val
* p0
) {
2685 self
->attrs
[COLOR_nit__typing__AWithExpr___method_start
].val
= p0
; /* _method_start on <self:AWithExpr> */
2688 /* method typing#AWithExpr#method_finish for (self: AWithExpr): nullable CallSite */
2689 val
* nit__typing___AWithExpr___method_finish(val
* self
) {
2690 val
* var
/* : nullable CallSite */;
2691 val
* var1
/* : nullable CallSite */;
2692 var1
= self
->attrs
[COLOR_nit__typing__AWithExpr___method_finish
].val
; /* _method_finish on <self:AWithExpr> */
2697 /* method typing#AWithExpr#method_finish= for (self: AWithExpr, nullable CallSite) */
2698 void nit__typing___AWithExpr___method_finish_61d(val
* self
, val
* p0
) {
2699 self
->attrs
[COLOR_nit__typing__AWithExpr___method_finish
].val
= p0
; /* _method_finish on <self:AWithExpr> */
2702 /* method typing#AWithExpr#accept_typing for (self: AWithExpr, TypeVisitor) */
2703 void nit__typing___AWithExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
2704 val
* var_v
/* var v: TypeVisitor */;
2705 val
* var
/* : AExpr */;
2706 val
* var2
/* : AExpr */;
2707 val
* var3
/* : nullable MType */;
2708 val
* var_mtype
/* var mtype: nullable MType */;
2709 short int var4
/* : Bool */;
2710 short int var5
/* : Bool */;
2711 val
* var_other
/* var other: nullable Object */;
2712 short int var7
/* : Bool */;
2713 short int var9
/* : Bool */;
2714 static val
* varonce
;
2715 val
* var10
/* : String */;
2716 char* var11
/* : NativeString */;
2717 val
* var12
/* : FlatString */;
2718 val
* var13
/* : AExpr */;
2719 val
* var15
/* : AExpr */;
2720 short int var16
/* : Bool */;
2723 val
* var17
/* : nullable CallSite */;
2724 static val
* varonce19
;
2725 val
* var20
/* : String */;
2726 char* var21
/* : NativeString */;
2727 val
* var22
/* : FlatString */;
2728 val
* var23
/* : AExpr */;
2729 val
* var25
/* : AExpr */;
2730 short int var26
/* : Bool */;
2733 val
* var29
/* : nullable CallSite */;
2734 val
* var31
/* : nullable AExpr */;
2735 val
* var33
/* : nullable AExpr */;
2736 val
* var34
/* : nullable AExpr */;
2737 val
* var36
/* : nullable AExpr */;
2738 val
* var37
/* : nullable MType */;
2741 { /* Inline parser_nodes#AWithExpr#n_expr (self) on <self:AWithExpr> */
2742 var2
= self
->attrs
[COLOR_nit__parser_nodes__AWithExpr___n_expr
].val
; /* _n_expr on <self:AWithExpr> */
2743 if (unlikely(var2
== NULL
)) {
2744 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2745 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1958);
2753 var3
= nit__typing___nit__typing__TypeVisitor___visit_expr(var_v
, var
);
2756 if (var_mtype
== NULL
) {
2757 var4
= 1; /* is null */
2759 var4
= 0; /* arg is null but recv is not */
2762 { /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
2763 var_other
= ((val
*)NULL
);
2765 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
2766 var9
= var_mtype
== var_other
;
2782 if (likely(varonce
!=NULL
)) {
2786 var12
= standard___standard__NativeString___to_s_with_length(var11
, 5l);
2791 { /* Inline parser_nodes#AWithExpr#n_expr (self) on <self:AWithExpr> */
2792 var15
= self
->attrs
[COLOR_nit__parser_nodes__AWithExpr___n_expr
].val
; /* _n_expr on <self:AWithExpr> */
2793 if (unlikely(var15
== NULL
)) {
2794 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2795 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1958);
2799 RET_LABEL14
:(void)0;
2802 /* <var13:AExpr> isa ASelfExpr */
2803 cltype
= type_nit__ASelfExpr
.color
;
2804 idtype
= type_nit__ASelfExpr
.id
;
2805 if(cltype
>= var13
->type
->table_size
) {
2808 var16
= var13
->type
->type_table
[cltype
] == idtype
;
2811 var17
= nit__typing___nit__typing__TypeVisitor___get_method(var_v
, self
, var_mtype
, var10
, var16
);
2814 { /* Inline typing#AWithExpr#method_start= (self,var17) on <self:AWithExpr> */
2815 self
->attrs
[COLOR_nit__typing__AWithExpr___method_start
].val
= var17
; /* _method_start on <self:AWithExpr> */
2816 RET_LABEL18
:(void)0;
2819 if (likely(varonce19
!=NULL
)) {
2823 var22
= standard___standard__NativeString___to_s_with_length(var21
, 6l);
2828 { /* Inline parser_nodes#AWithExpr#n_expr (self) on <self:AWithExpr> */
2829 var25
= self
->attrs
[COLOR_nit__parser_nodes__AWithExpr___n_expr
].val
; /* _n_expr on <self:AWithExpr> */
2830 if (unlikely(var25
== NULL
)) {
2831 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2832 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1958);
2836 RET_LABEL24
:(void)0;
2839 /* <var23:AExpr> isa ASelfExpr */
2840 cltype27
= type_nit__ASelfExpr
.color
;
2841 idtype28
= type_nit__ASelfExpr
.id
;
2842 if(cltype27
>= var23
->type
->table_size
) {
2845 var26
= var23
->type
->type_table
[cltype27
] == idtype28
;
2848 var29
= nit__typing___nit__typing__TypeVisitor___get_method(var_v
, self
, var_mtype
, var20
, var26
);
2851 { /* Inline typing#AWithExpr#method_finish= (self,var29) on <self:AWithExpr> */
2852 self
->attrs
[COLOR_nit__typing__AWithExpr___method_finish
].val
= var29
; /* _method_finish on <self:AWithExpr> */
2853 RET_LABEL30
:(void)0;
2857 { /* Inline parser_nodes#AWithExpr#n_block (self) on <self:AWithExpr> */
2858 var33
= self
->attrs
[COLOR_nit__parser_nodes__AWithExpr___n_block
].val
; /* _n_block on <self:AWithExpr> */
2860 RET_LABEL32
:(void)0;
2864 nit__typing___nit__typing__TypeVisitor___visit_stmt(var_v
, var31
); /* Direct call typing#TypeVisitor#visit_stmt on <var_v:TypeVisitor>*/
2867 { /* Inline parser_nodes#AWithExpr#n_block (self) on <self:AWithExpr> */
2868 var36
= self
->attrs
[COLOR_nit__parser_nodes__AWithExpr___n_block
].val
; /* _n_block on <self:AWithExpr> */
2870 RET_LABEL35
:(void)0;
2873 if (var34
== NULL
) {
2874 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2875 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1245);
2878 var37
= ((val
*(*)(val
* self
))(var34
->class->vft
[COLOR_nit__typing__AExpr__mtype
]))(var34
); /* mtype on <var34:nullable AExpr>*/
2881 { /* Inline typing#AExpr#mtype= (self,var37) on <self:AWithExpr> */
2882 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var37
; /* _mtype on <self:AWithExpr> */
2883 RET_LABEL38
:(void)0;
2887 { /* Inline typing#AExpr#is_typed= (self,1) on <self:AWithExpr> */
2888 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:AWithExpr> */
2889 RET_LABEL39
:(void)0;
2894 /* method typing#AAssertExpr#accept_typing for (self: AAssertExpr, TypeVisitor) */
2895 void nit__typing___AAssertExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
2896 val
* var_v
/* var v: TypeVisitor */;
2897 val
* var
/* : AExpr */;
2898 val
* var2
/* : AExpr */;
2899 val
* var3
/* : nullable MType */;
2900 val
* var4
/* : nullable AExpr */;
2901 val
* var6
/* : nullable AExpr */;
2904 { /* Inline parser_nodes#AAssertExpr#n_expr (self) on <self:AAssertExpr> */
2905 var2
= self
->attrs
[COLOR_nit__parser_nodes__AAssertExpr___n_expr
].val
; /* _n_expr on <self:AAssertExpr> */
2906 if (unlikely(var2
== NULL
)) {
2907 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2908 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1978);
2916 var3
= nit__typing___nit__typing__TypeVisitor___visit_expr_bool(var_v
, var
);
2919 { /* Inline parser_nodes#AAssertExpr#n_else (self) on <self:AAssertExpr> */
2920 var6
= self
->attrs
[COLOR_nit__parser_nodes__AAssertExpr___n_else
].val
; /* _n_else on <self:AAssertExpr> */
2926 nit__typing___nit__typing__TypeVisitor___visit_stmt(var_v
, var4
); /* Direct call typing#TypeVisitor#visit_stmt on <var_v:TypeVisitor>*/
2929 { /* Inline typing#AExpr#is_typed= (self,1) on <self:AAssertExpr> */
2930 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:AAssertExpr> */
2936 /* method typing#AOrExpr#accept_typing for (self: AOrExpr, TypeVisitor) */
2937 void nit__typing___AOrExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
2938 val
* var_v
/* var v: TypeVisitor */;
2939 val
* var
/* : AExpr */;
2940 val
* var2
/* : AExpr */;
2941 val
* var3
/* : nullable MType */;
2942 val
* var4
/* : AExpr */;
2943 val
* var6
/* : AExpr */;
2944 val
* var7
/* : nullable MType */;
2945 val
* var8
/* : nullable MType */;
2948 { /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on <self:AOrExpr> */
2949 var2
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr
].val
; /* _n_expr on <self:AOrExpr> */
2950 if (unlikely(var2
== NULL
)) {
2951 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2952 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2053);
2960 var3
= nit__typing___nit__typing__TypeVisitor___visit_expr_bool(var_v
, var
);
2963 { /* Inline parser_nodes#ABinBoolExpr#n_expr2 (self) on <self:AOrExpr> */
2964 var6
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2
].val
; /* _n_expr2 on <self:AOrExpr> */
2965 if (unlikely(var6
== NULL
)) {
2966 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
2967 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2059);
2975 var7
= nit__typing___nit__typing__TypeVisitor___visit_expr_bool(var_v
, var4
);
2978 var8
= nit__typing___nit__typing__TypeVisitor___type_bool(var_v
, self
);
2981 { /* Inline typing#AExpr#mtype= (self,var8) on <self:AOrExpr> */
2982 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var8
; /* _mtype on <self:AOrExpr> */
2988 /* method typing#AImpliesExpr#accept_typing for (self: AImpliesExpr, TypeVisitor) */
2989 void nit__typing___AImpliesExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
2990 val
* var_v
/* var v: TypeVisitor */;
2991 val
* var
/* : AExpr */;
2992 val
* var2
/* : AExpr */;
2993 val
* var3
/* : nullable MType */;
2994 val
* var4
/* : AExpr */;
2995 val
* var6
/* : AExpr */;
2996 val
* var7
/* : nullable MType */;
2997 val
* var8
/* : nullable MType */;
3000 { /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on <self:AImpliesExpr> */
3001 var2
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr
].val
; /* _n_expr on <self:AImpliesExpr> */
3002 if (unlikely(var2
== NULL
)) {
3003 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3004 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2053);
3012 var3
= nit__typing___nit__typing__TypeVisitor___visit_expr_bool(var_v
, var
);
3015 { /* Inline parser_nodes#ABinBoolExpr#n_expr2 (self) on <self:AImpliesExpr> */
3016 var6
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2
].val
; /* _n_expr2 on <self:AImpliesExpr> */
3017 if (unlikely(var6
== NULL
)) {
3018 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
3019 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2059);
3027 var7
= nit__typing___nit__typing__TypeVisitor___visit_expr_bool(var_v
, var4
);
3030 var8
= nit__typing___nit__typing__TypeVisitor___type_bool(var_v
, self
);
3033 { /* Inline typing#AExpr#mtype= (self,var8) on <self:AImpliesExpr> */
3034 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var8
; /* _mtype on <self:AImpliesExpr> */
3040 /* method typing#AAndExpr#accept_typing for (self: AAndExpr, TypeVisitor) */
3041 void nit__typing___AAndExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
3042 val
* var_v
/* var v: TypeVisitor */;
3043 val
* var
/* : AExpr */;
3044 val
* var2
/* : AExpr */;
3045 val
* var3
/* : nullable MType */;
3046 val
* var4
/* : AExpr */;
3047 val
* var6
/* : AExpr */;
3048 val
* var7
/* : nullable MType */;
3049 val
* var8
/* : nullable MType */;
3052 { /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on <self:AAndExpr> */
3053 var2
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr
].val
; /* _n_expr on <self:AAndExpr> */
3054 if (unlikely(var2
== NULL
)) {
3055 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3056 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2053);
3064 var3
= nit__typing___nit__typing__TypeVisitor___visit_expr_bool(var_v
, var
);
3067 { /* Inline parser_nodes#ABinBoolExpr#n_expr2 (self) on <self:AAndExpr> */
3068 var6
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2
].val
; /* _n_expr2 on <self:AAndExpr> */
3069 if (unlikely(var6
== NULL
)) {
3070 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
3071 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2059);
3079 var7
= nit__typing___nit__typing__TypeVisitor___visit_expr_bool(var_v
, var4
);
3082 var8
= nit__typing___nit__typing__TypeVisitor___type_bool(var_v
, self
);
3085 { /* Inline typing#AExpr#mtype= (self,var8) on <self:AAndExpr> */
3086 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var8
; /* _mtype on <self:AAndExpr> */
3092 /* method typing#ANotExpr#accept_typing for (self: ANotExpr, TypeVisitor) */
3093 void nit__typing___ANotExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
3094 val
* var_v
/* var v: TypeVisitor */;
3095 val
* var
/* : AExpr */;
3096 val
* var2
/* : AExpr */;
3097 val
* var3
/* : nullable MType */;
3098 val
* var4
/* : nullable MType */;
3101 { /* Inline parser_nodes#ANotExpr#n_expr (self) on <self:ANotExpr> */
3102 var2
= self
->attrs
[COLOR_nit__parser_nodes__ANotExpr___n_expr
].val
; /* _n_expr on <self:ANotExpr> */
3103 if (unlikely(var2
== NULL
)) {
3104 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3105 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2093);
3113 var3
= nit__typing___nit__typing__TypeVisitor___visit_expr_bool(var_v
, var
);
3116 var4
= nit__typing___nit__typing__TypeVisitor___type_bool(var_v
, self
);
3119 { /* Inline typing#AExpr#mtype= (self,var4) on <self:ANotExpr> */
3120 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var4
; /* _mtype on <self:ANotExpr> */
3126 /* method typing#AOrElseExpr#accept_typing for (self: AOrElseExpr, TypeVisitor) */
3127 void nit__typing___AOrElseExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
3128 val
* var_v
/* var v: TypeVisitor */;
3129 val
* var
/* : AExpr */;
3130 val
* var2
/* : AExpr */;
3131 val
* var3
/* : nullable MType */;
3132 val
* var_t1
/* var t1: nullable MType */;
3133 val
* var4
/* : AExpr */;
3134 val
* var6
/* : AExpr */;
3135 val
* var7
/* : nullable MType */;
3136 val
* var_t2
/* var t2: nullable MType */;
3137 short int var8
/* : Bool */;
3138 short int var9
/* : Bool */;
3139 short int var10
/* : Bool */;
3140 val
* var_other
/* var other: nullable Object */;
3141 short int var12
/* : Bool */;
3142 short int var14
/* : Bool */;
3143 short int var_
/* var : Bool */;
3144 short int var15
/* : Bool */;
3145 short int var16
/* : Bool */;
3146 short int var18
/* : Bool */;
3147 short int var20
/* : Bool */;
3148 short int var21
/* : Bool */;
3151 val
* var22
/* : AExpr */;
3152 val
* var24
/* : AExpr */;
3153 static val
* varonce
;
3154 val
* var25
/* : String */;
3155 char* var26
/* : NativeString */;
3156 val
* var27
/* : FlatString */;
3157 val
* var28
/* : AExpr */;
3158 val
* var30
/* : AExpr */;
3159 short int var31
/* : Bool */;
3160 val
* var32
/* : MType */;
3161 val
* var33
/* : Array[MType] */;
3162 val
* var_34
/* var : Array[MType] */;
3163 val
* var35
/* : nullable MType */;
3164 val
* var_t
/* var t: nullable MType */;
3165 short int var36
/* : Bool */;
3166 short int var37
/* : Bool */;
3167 short int var39
/* : Bool */;
3168 short int var41
/* : Bool */;
3169 static val
* varonce42
;
3170 val
* var43
/* : String */;
3171 char* var44
/* : NativeString */;
3172 val
* var45
/* : FlatString */;
3173 val
* var46
/* : nullable MClass */;
3174 val
* var_c
/* var c: nullable MClass */;
3175 short int var47
/* : Bool */;
3176 short int var48
/* : Bool */;
3177 short int var50
/* : Bool */;
3178 short int var52
/* : Bool */;
3179 val
* var53
/* : MClassType */;
3180 val
* var55
/* : MClassType */;
3181 short int var56
/* : Bool */;
3182 val
* var57
/* : MType */;
3185 { /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on <self:AOrElseExpr> */
3186 var2
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr
].val
; /* _n_expr on <self:AOrElseExpr> */
3187 if (unlikely(var2
== NULL
)) {
3188 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3189 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2053);
3197 var3
= nit__typing___nit__typing__TypeVisitor___visit_expr(var_v
, var
);
3201 { /* Inline parser_nodes#ABinBoolExpr#n_expr2 (self) on <self:AOrElseExpr> */
3202 var6
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2
].val
; /* _n_expr2 on <self:AOrElseExpr> */
3203 if (unlikely(var6
== NULL
)) {
3204 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
3205 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2059);
3213 var7
= nit__typing___nit__typing__TypeVisitor___visit_expr(var_v
, var4
);
3216 if (var_t1
== NULL
) {
3217 var9
= 1; /* is null */
3219 var9
= 0; /* arg is null but recv is not */
3222 { /* Inline kernel#Object#== (var_t1,((val*)NULL)) on <var_t1:nullable MType> */
3223 var_other
= ((val
*)NULL
);
3225 { /* Inline kernel#Object#is_same_instance (var_t1,var_other) on <var_t1:nullable MType(MType)> */
3226 var14
= var_t1
== var_other
;
3229 RET_LABEL13
:(void)0;
3234 RET_LABEL11
:(void)0;
3242 if (var_t2
== NULL
) {
3243 var15
= 1; /* is null */
3245 var15
= 0; /* arg is null but recv is not */
3248 { /* Inline kernel#Object#== (var_t2,((val*)NULL)) on <var_t2:nullable MType> */
3249 var_other
= ((val
*)NULL
);
3251 { /* Inline kernel#Object#is_same_instance (var_t2,var_other) on <var_t2:nullable MType(MType)> */
3252 var20
= var_t2
== var_other
;
3255 RET_LABEL19
:(void)0;
3260 RET_LABEL17
:(void)0;
3270 /* <var_t1:nullable MType(MType)> isa MNullType */
3271 cltype
= type_nit__MNullType
.color
;
3272 idtype
= type_nit__MNullType
.id
;
3273 if(cltype
>= var_t1
->type
->table_size
) {
3276 var21
= var_t1
->type
->type_table
[cltype
] == idtype
;
3280 { /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on <self:AOrElseExpr> */
3281 var24
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr
].val
; /* _n_expr on <self:AOrElseExpr> */
3282 if (unlikely(var24
== NULL
)) {
3283 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3284 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2053);
3288 RET_LABEL23
:(void)0;
3291 if (likely(varonce
!=NULL
)) {
3294 var26
= "Type Error: `or else` on `null`.";
3295 var27
= standard___standard__NativeString___to_s_with_length(var26
, 32l);
3300 nit__typing___nit__typing__TypeVisitor___error(var_v
, var22
, var25
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
3304 { /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on <self:AOrElseExpr> */
3305 var30
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr
].val
; /* _n_expr on <self:AOrElseExpr> */
3306 if (unlikely(var30
== NULL
)) {
3307 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3308 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2053);
3312 RET_LABEL29
:(void)0;
3316 var31
= nit__typing___nit__typing__TypeVisitor___check_can_be_null(var_v
, var28
, var_t1
);
3320 var32
= ((val
*(*)(val
* self
))(var_t1
->class->vft
[COLOR_nit__model__MType__as_notnull
]))(var_t1
); /* as_notnull on <var_t1:nullable MType(MType)>*/
3326 var33
= NEW_standard__Array(&type_standard__Array__nit__MType
);
3328 standard___standard__Array___with_capacity(var33
, 2l); /* Direct call array#Array#with_capacity on <var33:Array[MType]>*/
3332 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_34
, var_t1
); /* Direct call array#AbstractArray#push on <var_34:Array[MType]>*/
3335 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_34
, var_t2
); /* Direct call array#AbstractArray#push on <var_34:Array[MType]>*/
3338 var35
= nit__typing___nit__typing__TypeVisitor___merge_types(var_v
, self
, var_34
);
3341 if (var_t
== NULL
) {
3342 var36
= 1; /* is null */
3344 var36
= 0; /* arg is null but recv is not */
3347 { /* Inline kernel#Object#== (var_t,((val*)NULL)) on <var_t:nullable MType> */
3348 var_other
= ((val
*)NULL
);
3350 { /* Inline kernel#Object#is_same_instance (var_t,var_other) on <var_t:nullable MType(MType)> */
3351 var41
= var_t
== var_other
;
3354 RET_LABEL40
:(void)0;
3359 RET_LABEL38
:(void)0;
3364 if (likely(varonce42
!=NULL
)) {
3368 var45
= standard___standard__NativeString___to_s_with_length(var44
, 6l);
3373 var46
= nit__typing___nit__typing__TypeVisitor___get_mclass(var_v
, self
, var43
);
3376 if (var_c
== NULL
) {
3377 var47
= 1; /* is null */
3379 var47
= 0; /* arg is null but recv is not */
3382 { /* Inline kernel#Object#== (var_c,((val*)NULL)) on <var_c:nullable MClass> */
3383 var_other
= ((val
*)NULL
);
3385 { /* Inline kernel#Object#is_same_instance (var_c,var_other) on <var_c:nullable MClass(MClass)> */
3386 var52
= var_c
== var_other
;
3389 RET_LABEL51
:(void)0;
3394 RET_LABEL49
:(void)0;
3403 { /* Inline model#MClass#mclass_type (var_c) on <var_c:nullable MClass(MClass)> */
3404 var55
= var_c
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_c:nullable MClass(MClass)> */
3405 if (unlikely(var55
== NULL
)) {
3406 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
3407 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
3411 RET_LABEL54
:(void)0;
3416 var56
= nit__typing___nit__typing__TypeVisitor___can_be_null(var_v
, var_t2
);
3420 var57
= nit___nit__MType___as_nullable(var_t
);
3428 { /* Inline typing#AExpr#mtype= (self,var_t) on <self:AOrElseExpr> */
3429 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var_t
; /* _mtype on <self:AOrElseExpr> */
3430 RET_LABEL58
:(void)0;
3435 /* method typing#ATrueExpr#accept_typing for (self: ATrueExpr, TypeVisitor) */
3436 void nit__typing___ATrueExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
3437 val
* var_v
/* var v: TypeVisitor */;
3438 val
* var
/* : nullable MType */;
3441 var
= nit__typing___nit__typing__TypeVisitor___type_bool(var_v
, self
);
3444 { /* Inline typing#AExpr#mtype= (self,var) on <self:ATrueExpr> */
3445 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var
; /* _mtype on <self:ATrueExpr> */
3451 /* method typing#AFalseExpr#accept_typing for (self: AFalseExpr, TypeVisitor) */
3452 void nit__typing___AFalseExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
3453 val
* var_v
/* var v: TypeVisitor */;
3454 val
* var
/* : nullable MType */;
3457 var
= nit__typing___nit__typing__TypeVisitor___type_bool(var_v
, self
);
3460 { /* Inline typing#AExpr#mtype= (self,var) on <self:AFalseExpr> */
3461 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var
; /* _mtype on <self:AFalseExpr> */
3467 /* method typing#AIntExpr#accept_typing for (self: AIntExpr, TypeVisitor) */
3468 void nit__typing___AIntExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
3469 val
* var_v
/* var v: TypeVisitor */;
3470 static val
* varonce
;
3471 val
* var
/* : String */;
3472 char* var1
/* : NativeString */;
3473 val
* var2
/* : FlatString */;
3474 val
* var3
/* : nullable MClass */;
3475 val
* var_mclass
/* var mclass: nullable MClass */;
3476 short int var4
/* : Bool */;
3477 short int var5
/* : Bool */;
3478 val
* var_other
/* var other: nullable Object */;
3479 short int var7
/* : Bool */;
3480 short int var9
/* : Bool */;
3481 val
* var10
/* : MClassType */;
3482 val
* var12
/* : MClassType */;
3484 if (likely(varonce
!=NULL
)) {
3488 var2
= standard___standard__NativeString___to_s_with_length(var1
, 3l);
3493 var3
= nit__typing___nit__typing__TypeVisitor___get_mclass(var_v
, self
, var
);
3496 if (var_mclass
== NULL
) {
3497 var4
= 1; /* is null */
3499 var4
= 0; /* arg is null but recv is not */
3502 { /* Inline kernel#Object#== (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
3503 var_other
= ((val
*)NULL
);
3505 { /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
3506 var9
= var_mclass
== var_other
;
3523 { /* Inline model#MClass#mclass_type (var_mclass) on <var_mclass:nullable MClass(MClass)> */
3524 var12
= var_mclass
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:nullable MClass(MClass)> */
3525 if (unlikely(var12
== NULL
)) {
3526 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
3527 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
3531 RET_LABEL11
:(void)0;
3535 { /* Inline typing#AExpr#mtype= (self,var10) on <self:AIntExpr> */
3536 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var10
; /* _mtype on <self:AIntExpr> */
3537 RET_LABEL13
:(void)0;
3542 /* method typing#AByteExpr#accept_typing for (self: AByteExpr, TypeVisitor) */
3543 void nit__typing___AByteExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
3544 val
* var_v
/* var v: TypeVisitor */;
3545 static val
* varonce
;
3546 val
* var
/* : String */;
3547 char* var1
/* : NativeString */;
3548 val
* var2
/* : FlatString */;
3549 val
* var3
/* : nullable MClass */;
3550 val
* var_mclass
/* var mclass: nullable MClass */;
3551 short int var4
/* : Bool */;
3552 short int var5
/* : Bool */;
3553 val
* var_other
/* var other: nullable Object */;
3554 short int var7
/* : Bool */;
3555 short int var9
/* : Bool */;
3556 val
* var10
/* : MClassType */;
3557 val
* var12
/* : MClassType */;
3559 if (likely(varonce
!=NULL
)) {
3563 var2
= standard___standard__NativeString___to_s_with_length(var1
, 4l);
3568 var3
= nit__typing___nit__typing__TypeVisitor___get_mclass(var_v
, self
, var
);
3571 if (var_mclass
== NULL
) {
3572 var4
= 1; /* is null */
3574 var4
= 0; /* arg is null but recv is not */
3577 { /* Inline kernel#Object#== (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
3578 var_other
= ((val
*)NULL
);
3580 { /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
3581 var9
= var_mclass
== var_other
;
3598 { /* Inline model#MClass#mclass_type (var_mclass) on <var_mclass:nullable MClass(MClass)> */
3599 var12
= var_mclass
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:nullable MClass(MClass)> */
3600 if (unlikely(var12
== NULL
)) {
3601 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
3602 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
3606 RET_LABEL11
:(void)0;
3610 { /* Inline typing#AExpr#mtype= (self,var10) on <self:AByteExpr> */
3611 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var10
; /* _mtype on <self:AByteExpr> */
3612 RET_LABEL13
:(void)0;
3617 /* method typing#AFloatExpr#accept_typing for (self: AFloatExpr, TypeVisitor) */
3618 void nit__typing___AFloatExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
3619 val
* var_v
/* var v: TypeVisitor */;
3620 static val
* varonce
;
3621 val
* var
/* : String */;
3622 char* var1
/* : NativeString */;
3623 val
* var2
/* : FlatString */;
3624 val
* var3
/* : nullable MClass */;
3625 val
* var_mclass
/* var mclass: nullable MClass */;
3626 short int var4
/* : Bool */;
3627 short int var5
/* : Bool */;
3628 val
* var_other
/* var other: nullable Object */;
3629 short int var7
/* : Bool */;
3630 short int var9
/* : Bool */;
3631 val
* var10
/* : MClassType */;
3632 val
* var12
/* : MClassType */;
3634 if (likely(varonce
!=NULL
)) {
3638 var2
= standard___standard__NativeString___to_s_with_length(var1
, 5l);
3643 var3
= nit__typing___nit__typing__TypeVisitor___get_mclass(var_v
, self
, var
);
3646 if (var_mclass
== NULL
) {
3647 var4
= 1; /* is null */
3649 var4
= 0; /* arg is null but recv is not */
3652 { /* Inline kernel#Object#== (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
3653 var_other
= ((val
*)NULL
);
3655 { /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
3656 var9
= var_mclass
== var_other
;
3673 { /* Inline model#MClass#mclass_type (var_mclass) on <var_mclass:nullable MClass(MClass)> */
3674 var12
= var_mclass
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:nullable MClass(MClass)> */
3675 if (unlikely(var12
== NULL
)) {
3676 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
3677 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
3681 RET_LABEL11
:(void)0;
3685 { /* Inline typing#AExpr#mtype= (self,var10) on <self:AFloatExpr> */
3686 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var10
; /* _mtype on <self:AFloatExpr> */
3687 RET_LABEL13
:(void)0;
3692 /* method typing#ACharExpr#accept_typing for (self: ACharExpr, TypeVisitor) */
3693 void nit__typing___ACharExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
3694 val
* var_v
/* var v: TypeVisitor */;
3695 static val
* varonce
;
3696 val
* var
/* : String */;
3697 char* var1
/* : NativeString */;
3698 val
* var2
/* : FlatString */;
3699 val
* var3
/* : nullable MClass */;
3700 val
* var_mclass
/* var mclass: nullable MClass */;
3701 short int var4
/* : Bool */;
3702 short int var5
/* : Bool */;
3703 val
* var_other
/* var other: nullable Object */;
3704 short int var7
/* : Bool */;
3705 short int var9
/* : Bool */;
3706 val
* var10
/* : MClassType */;
3707 val
* var12
/* : MClassType */;
3709 if (likely(varonce
!=NULL
)) {
3713 var2
= standard___standard__NativeString___to_s_with_length(var1
, 4l);
3718 var3
= nit__typing___nit__typing__TypeVisitor___get_mclass(var_v
, self
, var
);
3721 if (var_mclass
== NULL
) {
3722 var4
= 1; /* is null */
3724 var4
= 0; /* arg is null but recv is not */
3727 { /* Inline kernel#Object#== (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
3728 var_other
= ((val
*)NULL
);
3730 { /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
3731 var9
= var_mclass
== var_other
;
3748 { /* Inline model#MClass#mclass_type (var_mclass) on <var_mclass:nullable MClass(MClass)> */
3749 var12
= var_mclass
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:nullable MClass(MClass)> */
3750 if (unlikely(var12
== NULL
)) {
3751 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
3752 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
3756 RET_LABEL11
:(void)0;
3760 { /* Inline typing#AExpr#mtype= (self,var10) on <self:ACharExpr> */
3761 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var10
; /* _mtype on <self:ACharExpr> */
3762 RET_LABEL13
:(void)0;
3767 /* method typing#AStringFormExpr#accept_typing for (self: AStringFormExpr, TypeVisitor) */
3768 void nit__typing___AStringFormExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
3769 val
* var_v
/* var v: TypeVisitor */;
3770 static val
* varonce
;
3771 val
* var
/* : String */;
3772 char* var1
/* : NativeString */;
3773 val
* var2
/* : FlatString */;
3774 val
* var3
/* : nullable MClass */;
3775 val
* var_mclass
/* var mclass: nullable MClass */;
3776 short int var4
/* : Bool */;
3777 short int var5
/* : Bool */;
3778 val
* var_other
/* var other: nullable Object */;
3779 short int var7
/* : Bool */;
3780 short int var9
/* : Bool */;
3781 val
* var10
/* : MClassType */;
3782 val
* var12
/* : MClassType */;
3784 if (likely(varonce
!=NULL
)) {
3788 var2
= standard___standard__NativeString___to_s_with_length(var1
, 6l);
3793 var3
= nit__typing___nit__typing__TypeVisitor___get_mclass(var_v
, self
, var
);
3796 if (var_mclass
== NULL
) {
3797 var4
= 1; /* is null */
3799 var4
= 0; /* arg is null but recv is not */
3802 { /* Inline kernel#Object#== (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
3803 var_other
= ((val
*)NULL
);
3805 { /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
3806 var9
= var_mclass
== var_other
;
3823 { /* Inline model#MClass#mclass_type (var_mclass) on <var_mclass:nullable MClass(MClass)> */
3824 var12
= var_mclass
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:nullable MClass(MClass)> */
3825 if (unlikely(var12
== NULL
)) {
3826 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
3827 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
3831 RET_LABEL11
:(void)0;
3835 { /* Inline typing#AExpr#mtype= (self,var10) on <self:AStringFormExpr> */
3836 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var10
; /* _mtype on <self:AStringFormExpr> */
3837 RET_LABEL13
:(void)0;
3842 /* method typing#ASuperstringExpr#accept_typing for (self: ASuperstringExpr, TypeVisitor) */
3843 void nit__typing___ASuperstringExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
3844 val
* var_v
/* var v: TypeVisitor */;
3845 static val
* varonce
;
3846 val
* var
/* : String */;
3847 char* var1
/* : NativeString */;
3848 val
* var2
/* : FlatString */;
3849 val
* var3
/* : nullable MClass */;
3850 val
* var_mclass
/* var mclass: nullable MClass */;
3851 short int var4
/* : Bool */;
3852 short int var5
/* : Bool */;
3853 val
* var_other
/* var other: nullable Object */;
3854 short int var7
/* : Bool */;
3855 short int var9
/* : Bool */;
3856 val
* var10
/* : MClassType */;
3857 val
* var12
/* : MClassType */;
3858 static val
* varonce14
;
3859 val
* var15
/* : String */;
3860 char* var16
/* : NativeString */;
3861 val
* var17
/* : FlatString */;
3862 val
* var18
/* : nullable MClass */;
3863 val
* var_objclass
/* var objclass: nullable MClass */;
3864 short int var19
/* : Bool */;
3865 short int var20
/* : Bool */;
3866 short int var22
/* : Bool */;
3867 short int var24
/* : Bool */;
3868 val
* var25
/* : MClassType */;
3869 val
* var27
/* : MClassType */;
3870 val
* var_objtype
/* var objtype: MClassType */;
3871 val
* var28
/* : ANodes[AExpr] */;
3872 val
* var30
/* : ANodes[AExpr] */;
3873 val
* var_
/* var : ANodes[AExpr] */;
3874 val
* var31
/* : Iterator[ANode] */;
3875 val
* var_32
/* var : Iterator[AExpr] */;
3876 short int var33
/* : Bool */;
3877 val
* var34
/* : nullable Object */;
3878 val
* var_nexpr
/* var nexpr: AExpr */;
3879 val
* var35
/* : nullable MType */;
3881 if (likely(varonce
!=NULL
)) {
3885 var2
= standard___standard__NativeString___to_s_with_length(var1
, 6l);
3890 var3
= nit__typing___nit__typing__TypeVisitor___get_mclass(var_v
, self
, var
);
3893 if (var_mclass
== NULL
) {
3894 var4
= 1; /* is null */
3896 var4
= 0; /* arg is null but recv is not */
3899 { /* Inline kernel#Object#== (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
3900 var_other
= ((val
*)NULL
);
3902 { /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
3903 var9
= var_mclass
== var_other
;
3920 { /* Inline model#MClass#mclass_type (var_mclass) on <var_mclass:nullable MClass(MClass)> */
3921 var12
= var_mclass
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:nullable MClass(MClass)> */
3922 if (unlikely(var12
== NULL
)) {
3923 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
3924 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
3928 RET_LABEL11
:(void)0;
3932 { /* Inline typing#AExpr#mtype= (self,var10) on <self:ASuperstringExpr> */
3933 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var10
; /* _mtype on <self:ASuperstringExpr> */
3934 RET_LABEL13
:(void)0;
3937 if (likely(varonce14
!=NULL
)) {
3941 var17
= standard___standard__NativeString___to_s_with_length(var16
, 6l);
3946 var18
= nit__typing___nit__typing__TypeVisitor___get_mclass(var_v
, self
, var15
);
3948 var_objclass
= var18
;
3949 if (var_objclass
== NULL
) {
3950 var19
= 1; /* is null */
3952 var19
= 0; /* arg is null but recv is not */
3955 { /* Inline kernel#Object#== (var_objclass,((val*)NULL)) on <var_objclass:nullable MClass> */
3956 var_other
= ((val
*)NULL
);
3958 { /* Inline kernel#Object#is_same_instance (var_objclass,var_other) on <var_objclass:nullable MClass(MClass)> */
3959 var24
= var_objclass
== var_other
;
3962 RET_LABEL23
:(void)0;
3967 RET_LABEL21
:(void)0;
3976 { /* Inline model#MClass#mclass_type (var_objclass) on <var_objclass:nullable MClass(MClass)> */
3977 var27
= var_objclass
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_objclass:nullable MClass(MClass)> */
3978 if (unlikely(var27
== NULL
)) {
3979 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
3980 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
3984 RET_LABEL26
:(void)0;
3987 var_objtype
= var25
;
3989 { /* Inline parser_nodes#ASuperstringExpr#n_exprs (self) on <self:ASuperstringExpr> */
3990 var30
= self
->attrs
[COLOR_nit__parser_nodes__ASuperstringExpr___n_exprs
].val
; /* _n_exprs on <self:ASuperstringExpr> */
3991 if (unlikely(var30
== NULL
)) {
3992 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
3993 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2626);
3997 RET_LABEL29
:(void)0;
4002 var31
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_
);
4007 var33
= ((short int(*)(val
* self
))((((long)var_32
&3)?class_info
[((long)var_32
&3)]:var_32
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_32
); /* is_ok on <var_32:Iterator[AExpr]>*/
4011 var34
= ((val
*(*)(val
* self
))((((long)var_32
&3)?class_info
[((long)var_32
&3)]:var_32
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_32
); /* item on <var_32:Iterator[AExpr]>*/
4015 var35
= nit__typing___nit__typing__TypeVisitor___visit_expr_subtype(var_v
, var_nexpr
, var_objtype
);
4018 ((void(*)(val
* self
))((((long)var_32
&3)?class_info
[((long)var_32
&3)]:var_32
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_32
); /* next on <var_32:Iterator[AExpr]>*/
4024 BREAK_label
: (void)0;
4026 ((void(*)(val
* self
))((((long)var_32
&3)?class_info
[((long)var_32
&3)]:var_32
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_32
); /* finish on <var_32:Iterator[AExpr]>*/
4030 /* method typing#AArrayExpr#with_capacity_callsite for (self: AArrayExpr): nullable CallSite */
4031 val
* nit__typing___AArrayExpr___with_capacity_callsite(val
* self
) {
4032 val
* var
/* : nullable CallSite */;
4033 val
* var1
/* : nullable CallSite */;
4034 var1
= self
->attrs
[COLOR_nit__typing__AArrayExpr___with_capacity_callsite
].val
; /* _with_capacity_callsite on <self:AArrayExpr> */
4039 /* method typing#AArrayExpr#with_capacity_callsite= for (self: AArrayExpr, nullable CallSite) */
4040 void nit__typing___AArrayExpr___with_capacity_callsite_61d(val
* self
, val
* p0
) {
4041 self
->attrs
[COLOR_nit__typing__AArrayExpr___with_capacity_callsite
].val
= p0
; /* _with_capacity_callsite on <self:AArrayExpr> */
4044 /* method typing#AArrayExpr#push_callsite for (self: AArrayExpr): nullable CallSite */
4045 val
* nit__typing___AArrayExpr___push_callsite(val
* self
) {
4046 val
* var
/* : nullable CallSite */;
4047 val
* var1
/* : nullable CallSite */;
4048 var1
= self
->attrs
[COLOR_nit__typing__AArrayExpr___push_callsite
].val
; /* _push_callsite on <self:AArrayExpr> */
4053 /* method typing#AArrayExpr#push_callsite= for (self: AArrayExpr, nullable CallSite) */
4054 void nit__typing___AArrayExpr___push_callsite_61d(val
* self
, val
* p0
) {
4055 self
->attrs
[COLOR_nit__typing__AArrayExpr___push_callsite
].val
= p0
; /* _push_callsite on <self:AArrayExpr> */
4058 /* method typing#AArrayExpr#element_mtype for (self: AArrayExpr): nullable MType */
4059 val
* nit__typing___AArrayExpr___element_mtype(val
* self
) {
4060 val
* var
/* : nullable MType */;
4061 val
* var1
/* : nullable MType */;
4062 var1
= self
->attrs
[COLOR_nit__typing__AArrayExpr___element_mtype
].val
; /* _element_mtype on <self:AArrayExpr> */
4067 /* method typing#AArrayExpr#element_mtype= for (self: AArrayExpr, nullable MType) */
4068 void nit__typing___AArrayExpr___element_mtype_61d(val
* self
, val
* p0
) {
4069 self
->attrs
[COLOR_nit__typing__AArrayExpr___element_mtype
].val
= p0
; /* _element_mtype on <self:AArrayExpr> */
4072 /* method typing#AArrayExpr#set_comprehension for (self: AArrayExpr, nullable AExpr) */
4073 void nit__typing___AArrayExpr___set_comprehension(val
* self
, val
* p0
) {
4074 val
* var_n
/* var n: nullable AExpr */;
4075 short int var
/* : Bool */;
4076 short int var1
/* : Bool */;
4077 val
* var_other
/* var other: nullable Object */;
4078 short int var3
/* : Bool */;
4079 short int var5
/* : Bool */;
4080 short int var6
/* : Bool */;
4083 val
* var7
/* : nullable AExpr */;
4084 val
* var9
/* : nullable AExpr */;
4085 short int var10
/* : Bool */;
4088 val
* var13
/* : nullable AExpr */;
4089 val
* var15
/* : nullable AExpr */;
4090 val
* var16
/* : nullable AExpr */;
4091 val
* var18
/* : nullable AExpr */;
4093 if (var_n
== NULL
) {
4094 var
= 1; /* is null */
4096 var
= 0; /* arg is null but recv is not */
4099 { /* Inline kernel#Object#== (var_n,((val*)NULL)) on <var_n:nullable AExpr> */
4100 var_other
= ((val
*)NULL
);
4102 { /* Inline kernel#Object#is_same_instance (var_n,var_other) on <var_n:nullable AExpr(AExpr)> */
4103 var5
= var_n
== var_other
;
4118 /* <var_n:nullable AExpr(AExpr)> isa AForExpr */
4119 cltype
= type_nit__AForExpr
.color
;
4120 idtype
= type_nit__AForExpr
.id
;
4121 if(cltype
>= var_n
->type
->table_size
) {
4124 var6
= var_n
->type
->type_table
[cltype
] == idtype
;
4128 { /* Inline parser_nodes#AForExpr#n_block (var_n) on <var_n:nullable AExpr(AForExpr)> */
4129 var9
= var_n
->attrs
[COLOR_nit__parser_nodes__AForExpr___n_block
].val
; /* _n_block on <var_n:nullable AExpr(AForExpr)> */
4135 nit__typing___AArrayExpr___set_comprehension(self
, var7
); /* Direct call typing#AArrayExpr#set_comprehension on <self:AArrayExpr>*/
4138 /* <var_n:nullable AExpr(AExpr)> isa AIfExpr */
4139 cltype11
= type_nit__AIfExpr
.color
;
4140 idtype12
= type_nit__AIfExpr
.id
;
4141 if(cltype11
>= var_n
->type
->table_size
) {
4144 var10
= var_n
->type
->type_table
[cltype11
] == idtype12
;
4148 { /* Inline parser_nodes#AIfExpr#n_then (var_n) on <var_n:nullable AExpr(AIfExpr)> */
4149 var15
= var_n
->attrs
[COLOR_nit__parser_nodes__AIfExpr___n_then
].val
; /* _n_then on <var_n:nullable AExpr(AIfExpr)> */
4151 RET_LABEL14
:(void)0;
4155 nit__typing___AArrayExpr___set_comprehension(self
, var13
); /* Direct call typing#AArrayExpr#set_comprehension on <self:AArrayExpr>*/
4158 { /* Inline parser_nodes#AIfExpr#n_else (var_n) on <var_n:nullable AExpr(AIfExpr)> */
4159 var18
= var_n
->attrs
[COLOR_nit__parser_nodes__AIfExpr___n_else
].val
; /* _n_else on <var_n:nullable AExpr(AIfExpr)> */
4161 RET_LABEL17
:(void)0;
4165 nit__typing___AArrayExpr___set_comprehension(self
, var16
); /* Direct call typing#AArrayExpr#set_comprehension on <self:AArrayExpr>*/
4169 { /* Inline typing#AExpr#comprehension= (var_n,self) on <var_n:nullable AExpr(AExpr)> */
4170 var_n
->attrs
[COLOR_nit__typing__AExpr___comprehension
].val
= self
; /* _comprehension on <var_n:nullable AExpr(AExpr)> */
4171 RET_LABEL19
:(void)0;
4179 /* method typing#AArrayExpr#accept_typing for (self: AArrayExpr, TypeVisitor) */
4180 void nit__typing___AArrayExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
4181 val
* var_v
/* var v: TypeVisitor */;
4182 val
* var_mtype
/* var mtype: nullable MType */;
4183 val
* var
/* : nullable AType */;
4184 val
* var2
/* : nullable AType */;
4185 val
* var_ntype
/* var ntype: nullable AType */;
4186 short int var3
/* : Bool */;
4187 short int var4
/* : Bool */;
4188 val
* var_other
/* var other: nullable Object */;
4189 short int var6
/* : Bool */;
4190 short int var7
/* : Bool */;
4191 val
* var8
/* : nullable MType */;
4192 short int var9
/* : Bool */;
4193 short int var10
/* : Bool */;
4194 val
* var_other12
/* var other: nullable Object */;
4195 short int var13
/* : Bool */;
4196 short int var15
/* : Bool */;
4197 val
* var16
/* : Array[nullable MType] */;
4198 val
* var_mtypes
/* var mtypes: Array[nullable MType] */;
4199 short int var_useless
/* var useless: Bool */;
4200 val
* var17
/* : ANodes[AExpr] */;
4201 val
* var19
/* : ANodes[AExpr] */;
4202 val
* var_
/* var : ANodes[AExpr] */;
4203 val
* var20
/* : Iterator[ANode] */;
4204 val
* var_21
/* var : Iterator[AExpr] */;
4205 short int var22
/* : Bool */;
4206 val
* var23
/* : nullable Object */;
4207 val
* var_e
/* var e: AExpr */;
4208 val
* var24
/* : nullable MType */;
4209 val
* var_t
/* var t: nullable MType */;
4210 short int var25
/* : Bool */;
4211 short int var26
/* : Bool */;
4212 short int var28
/* : Bool */;
4213 short int var30
/* : Bool */;
4214 short int var31
/* : Bool */;
4215 short int var32
/* : Bool */;
4216 short int var34
/* : Bool */;
4217 short int var35
/* : Bool */;
4218 val
* var36
/* : nullable MType */;
4219 short int var37
/* : Bool */;
4220 short int var38
/* : Bool */;
4221 short int var40
/* : Bool */;
4222 short int var42
/* : Bool */;
4223 short int var43
/* : Bool */;
4224 short int var45
/* : Bool */;
4225 short int var47
/* : Bool */;
4226 short int var48
/* : Bool */;
4227 short int var49
/* : Bool */;
4228 short int var51
/* : Bool */;
4229 short int var53
/* : Bool */;
4230 val
* var54
/* : nullable MType */;
4231 val
* var56
/* : nullable MType */;
4232 short int var57
/* : Bool */;
4233 short int var58
/* : Bool */;
4234 short int var60
/* : Bool */;
4235 short int var61
/* : Bool */;
4236 val
* var62
/* : nullable MType */;
4237 val
* var64
/* : nullable MType */;
4238 val
* var65
/* : nullable MType */;
4239 short int var66
/* : Bool */;
4240 short int var67
/* : Bool */;
4241 short int var68
/* : Bool */;
4242 short int var70
/* : Bool */;
4243 short int var72
/* : Bool */;
4244 short int var_73
/* var : Bool */;
4245 short int var74
/* : Bool */;
4248 val
* var75
/* : NativeArray[String] */;
4249 static val
* varonce
;
4250 static val
* varonce76
;
4251 val
* var77
/* : String */;
4252 char* var78
/* : NativeString */;
4253 val
* var79
/* : FlatString */;
4254 static val
* varonce80
;
4255 val
* var81
/* : String */;
4256 char* var82
/* : NativeString */;
4257 val
* var83
/* : FlatString */;
4258 val
* var84
/* : String */;
4259 val
* var85
/* : String */;
4260 short int var86
/* : Bool */;
4261 short int var87
/* : Bool */;
4262 short int var89
/* : Bool */;
4263 short int var90
/* : Bool */;
4264 val
* var91
/* : ModelBuilder */;
4265 val
* var93
/* : ModelBuilder */;
4266 static val
* varonce94
;
4267 val
* var95
/* : String */;
4268 char* var96
/* : NativeString */;
4269 val
* var97
/* : FlatString */;
4270 val
* var99
/* : NativeArray[String] */;
4271 static val
* varonce98
;
4272 static val
* varonce100
;
4273 val
* var101
/* : String */;
4274 char* var102
/* : NativeString */;
4275 val
* var103
/* : FlatString */;
4276 static val
* varonce104
;
4277 val
* var105
/* : String */;
4278 char* var106
/* : NativeString */;
4279 val
* var107
/* : FlatString */;
4280 val
* var108
/* : String */;
4281 val
* var109
/* : String */;
4282 static val
* varonce111
;
4283 val
* var112
/* : String */;
4284 char* var113
/* : NativeString */;
4285 val
* var114
/* : FlatString */;
4286 val
* var115
/* : nullable MClass */;
4287 val
* var_mclass
/* var mclass: nullable MClass */;
4288 short int var116
/* : Bool */;
4289 short int var117
/* : Bool */;
4290 short int var119
/* : Bool */;
4291 short int var121
/* : Bool */;
4292 val
* var122
/* : Array[MType] */;
4293 val
* var_123
/* var : Array[MType] */;
4294 val
* var124
/* : MClassType */;
4295 val
* var_array_mtype
/* var array_mtype: MClassType */;
4296 static val
* varonce125
;
4297 val
* var126
/* : String */;
4298 char* var127
/* : NativeString */;
4299 val
* var128
/* : FlatString */;
4300 val
* var129
/* : nullable CallSite */;
4301 static val
* varonce131
;
4302 val
* var132
/* : String */;
4303 char* var133
/* : NativeString */;
4304 val
* var134
/* : FlatString */;
4305 val
* var135
/* : nullable CallSite */;
4307 var_mtype
= ((val
*)NULL
);
4309 { /* Inline parser_nodes#AArrayExpr#n_type (self) on <self:AArrayExpr> */
4310 var2
= self
->attrs
[COLOR_nit__parser_nodes__AArrayExpr___n_type
].val
; /* _n_type on <self:AArrayExpr> */
4316 if (var_ntype
== NULL
) {
4317 var3
= 0; /* is null */
4319 var3
= 1; /* arg is null and recv is not */
4322 { /* Inline kernel#Object#!= (var_ntype,((val*)NULL)) on <var_ntype:nullable AType> */
4323 var_other
= ((val
*)NULL
);
4325 var6
= ((short int(*)(val
* self
, val
* p0
))(var_ntype
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ntype
, var_other
); /* == on <var_ntype:nullable AType(AType)>*/
4336 var8
= nit__typing___nit__typing__TypeVisitor___resolve_mtype(var_v
, var_ntype
);
4339 if (var_mtype
== NULL
) {
4340 var9
= 1; /* is null */
4342 var9
= 0; /* arg is null but recv is not */
4345 { /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
4346 var_other12
= ((val
*)NULL
);
4348 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other12) on <var_mtype:nullable MType(MType)> */
4349 var15
= var_mtype
== var_other12
;
4352 RET_LABEL14
:(void)0;
4357 RET_LABEL11
:(void)0;
4367 var16
= NEW_standard__Array(&type_standard__Array__nullable__nit__MType
);
4369 standard___standard__Array___standard__kernel__Object__init(var16
); /* Direct call array#Array#init on <var16:Array[nullable MType]>*/
4374 { /* Inline parser_nodes#AArrayExpr#n_exprs (self) on <self:AArrayExpr> */
4375 var19
= self
->attrs
[COLOR_nit__parser_nodes__AArrayExpr___n_exprs
].val
; /* _n_exprs on <self:AArrayExpr> */
4376 if (unlikely(var19
== NULL
)) {
4377 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
4378 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2456);
4382 RET_LABEL18
:(void)0;
4387 var20
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_
);
4392 var22
= ((short int(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_21
); /* is_ok on <var_21:Iterator[AExpr]>*/
4396 var23
= ((val
*(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_21
); /* item on <var_21:Iterator[AExpr]>*/
4400 var24
= nit__typing___nit__typing__TypeVisitor___visit_expr(var_v
, var_e
);
4403 if (var_t
== NULL
) {
4404 var25
= 1; /* is null */
4406 var25
= 0; /* arg is null but recv is not */
4409 { /* Inline kernel#Object#== (var_t,((val*)NULL)) on <var_t:nullable MType> */
4410 var_other12
= ((val
*)NULL
);
4412 { /* Inline kernel#Object#is_same_instance (var_t,var_other12) on <var_t:nullable MType(MType)> */
4413 var30
= var_t
== var_other12
;
4416 RET_LABEL29
:(void)0;
4421 RET_LABEL27
:(void)0;
4430 nit__typing___AArrayExpr___set_comprehension(self
, var_e
); /* Direct call typing#AArrayExpr#set_comprehension on <self:AArrayExpr>*/
4432 if (var_mtype
== NULL
) {
4433 var31
= 0; /* is null */
4435 var31
= 1; /* arg is null and recv is not */
4438 { /* Inline kernel#Object#!= (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
4439 var_other
= ((val
*)NULL
);
4441 var34
= ((short int(*)(val
* self
, val
* p0
))(var_mtype
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mtype
, var_other
); /* == on <var_mtype:nullable MType(MType)>*/
4446 RET_LABEL33
:(void)0;
4452 var36
= nit__typing___nit__typing__TypeVisitor___check_subtype(var_v
, var_e
, var_t
, var_mtype
, 0);
4454 if (var36
== NULL
) {
4455 var37
= 1; /* is null */
4457 var37
= 0; /* arg is null but recv is not */
4460 { /* Inline kernel#Object#== (var36,((val*)NULL)) on <var36:nullable MType> */
4461 var_other12
= ((val
*)NULL
);
4463 { /* Inline kernel#Object#is_same_instance (var36,var_other12) on <var36:nullable MType(MType)> */
4464 var42
= var36
== var_other12
;
4467 RET_LABEL41
:(void)0;
4472 RET_LABEL39
:(void)0;
4481 { /* Inline kernel#Object#== (var_t,var_mtype) on <var_t:nullable MType(MType)> */
4482 var_other12
= var_mtype
;
4484 { /* Inline kernel#Object#is_same_instance (var_t,var_other12) on <var_t:nullable MType(MType)> */
4485 var47
= var_t
== var_other12
;
4488 RET_LABEL46
:(void)0;
4493 RET_LABEL44
:(void)0;
4502 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_mtypes
, var_t
); /* Direct call array#Array#add on <var_mtypes:Array[nullable MType]>*/
4506 ((void(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_21
); /* next on <var_21:Iterator[AExpr]>*/
4512 BREAK_label
: (void)0;
4514 ((void(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_21
); /* finish on <var_21:Iterator[AExpr]>*/
4516 if (var_mtype
== NULL
) {
4517 var48
= 1; /* is null */
4519 var48
= 0; /* arg is null but recv is not */
4522 { /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
4523 var_other12
= ((val
*)NULL
);
4525 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other12) on <var_mtype:nullable MType(MType)> */
4526 var53
= var_mtype
== var_other12
;
4529 RET_LABEL52
:(void)0;
4534 RET_LABEL50
:(void)0;
4540 { /* Inline typing#AArrayExpr#element_mtype (self) on <self:AArrayExpr> */
4541 var56
= self
->attrs
[COLOR_nit__typing__AArrayExpr___element_mtype
].val
; /* _element_mtype on <self:AArrayExpr> */
4543 RET_LABEL55
:(void)0;
4546 if (var54
== NULL
) {
4547 var57
= 0; /* is null */
4549 var57
= 1; /* arg is null and recv is not */
4552 { /* Inline kernel#Object#!= (var54,((val*)NULL)) on <var54:nullable MType> */
4553 var_other
= ((val
*)NULL
);
4555 var60
= ((short int(*)(val
* self
, val
* p0
))(var54
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var54
, var_other
); /* == on <var54:nullable MType(MType)>*/
4560 RET_LABEL59
:(void)0;
4566 { /* Inline typing#AArrayExpr#element_mtype (self) on <self:AArrayExpr> */
4567 var64
= self
->attrs
[COLOR_nit__typing__AArrayExpr___element_mtype
].val
; /* _element_mtype on <self:AArrayExpr> */
4569 RET_LABEL63
:(void)0;
4573 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_mtypes
, var62
); /* Direct call array#Array#add on <var_mtypes:Array[nullable MType]>*/
4578 var65
= nit__typing___nit__typing__TypeVisitor___merge_types(var_v
, self
, var_mtypes
);
4583 if (var_mtype
== NULL
) {
4584 var67
= 1; /* is null */
4586 var67
= 0; /* arg is null but recv is not */
4589 { /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
4590 var_other12
= ((val
*)NULL
);
4592 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other12) on <var_mtype:nullable MType(MType)> */
4593 var72
= var_mtype
== var_other12
;
4596 RET_LABEL71
:(void)0;
4601 RET_LABEL69
:(void)0;
4609 /* <var_mtype:nullable MType(MType)> isa MNullType */
4610 cltype
= type_nit__MNullType
.color
;
4611 idtype
= type_nit__MNullType
.id
;
4612 if(cltype
>= var_mtype
->type
->table_size
) {
4615 var74
= var_mtype
->type
->type_table
[cltype
] == idtype
;
4620 if (unlikely(varonce
==NULL
)) {
4621 var75
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
4622 if (likely(varonce76
!=NULL
)) {
4625 var78
= "Type Error: ambiguous array type ";
4626 var79
= standard___standard__NativeString___to_s_with_length(var78
, 33l);
4630 ((struct instance_standard__NativeArray
*)var75
)->values
[0]=var77
;
4635 if (likely(varonce80
!=NULL
)) {
4639 var83
= standard___standard__NativeString___to_s_with_length(var82
, 1l);
4644 var84
= standard__string___Collection___join(var_mtypes
, var81
);
4646 ((struct instance_standard__NativeArray
*)var75
)->values
[1]=var84
;
4648 var85
= ((val
*(*)(val
* self
))(var75
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var75
); /* native_to_s on <var75:NativeArray[String]>*/
4652 nit__typing___nit__typing__TypeVisitor___error(var_v
, self
, var85
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
4658 if (var_ntype
== NULL
) {
4659 var86
= 0; /* is null */
4661 var86
= 1; /* arg is null and recv is not */
4664 { /* Inline kernel#Object#!= (var_ntype,((val*)NULL)) on <var_ntype:nullable AType> */
4665 var_other
= ((val
*)NULL
);
4667 var89
= ((short int(*)(val
* self
, val
* p0
))(var_ntype
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ntype
, var_other
); /* == on <var_ntype:nullable AType(AType)>*/
4672 RET_LABEL88
:(void)0;
4676 if (unlikely(!var86
)) {
4677 PRINT_ERROR("Runtime error: %s", "Assert failed");
4678 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1459);
4682 { /* Inline typing#TypeVisitor#modelbuilder (var_v) on <var_v:TypeVisitor> */
4683 var93
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <var_v:TypeVisitor> */
4684 if (unlikely(var93
== NULL
)) {
4685 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4686 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 34);
4690 RET_LABEL92
:(void)0;
4693 if (likely(varonce94
!=NULL
)) {
4696 var96
= "useless-type";
4697 var97
= standard___standard__NativeString___to_s_with_length(var96
, 12l);
4701 if (unlikely(varonce98
==NULL
)) {
4702 var99
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
4703 if (likely(varonce100
!=NULL
)) {
4704 var101
= varonce100
;
4706 var102
= "Warning: useless type declaration `";
4707 var103
= standard___standard__NativeString___to_s_with_length(var102
, 35l);
4709 varonce100
= var101
;
4711 ((struct instance_standard__NativeArray
*)var99
)->values
[0]=var101
;
4712 if (likely(varonce104
!=NULL
)) {
4713 var105
= varonce104
;
4715 var106
= "` in literal Array since it can be inferred from the elements type.";
4716 var107
= standard___standard__NativeString___to_s_with_length(var106
, 67l);
4718 varonce104
= var105
;
4720 ((struct instance_standard__NativeArray
*)var99
)->values
[2]=var105
;
4726 var108
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:nullable MType(MType)>*/
4728 ((struct instance_standard__NativeArray
*)var99
)->values
[1]=var108
;
4730 var109
= ((val
*(*)(val
* self
))(var99
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var99
); /* native_to_s on <var99:NativeArray[String]>*/
4734 nit___nit__ModelBuilder___warning(var91
, var_ntype
, var95
, var109
); /* Direct call modelbuilder_base#ModelBuilder#warning on <var91:ModelBuilder>*/
4739 { /* Inline typing#AArrayExpr#element_mtype= (self,var_mtype) on <self:AArrayExpr> */
4740 self
->attrs
[COLOR_nit__typing__AArrayExpr___element_mtype
].val
= var_mtype
; /* _element_mtype on <self:AArrayExpr> */
4741 RET_LABEL110
:(void)0;
4744 if (likely(varonce111
!=NULL
)) {
4745 var112
= varonce111
;
4748 var114
= standard___standard__NativeString___to_s_with_length(var113
, 5l);
4750 varonce111
= var112
;
4753 var115
= nit__typing___nit__typing__TypeVisitor___get_mclass(var_v
, self
, var112
);
4755 var_mclass
= var115
;
4756 if (var_mclass
== NULL
) {
4757 var116
= 1; /* is null */
4759 var116
= 0; /* arg is null but recv is not */
4762 { /* Inline kernel#Object#== (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
4763 var_other12
= ((val
*)NULL
);
4765 { /* Inline kernel#Object#is_same_instance (var_mclass,var_other12) on <var_mclass:nullable MClass(MClass)> */
4766 var121
= var_mclass
== var_other12
;
4769 RET_LABEL120
:(void)0;
4774 RET_LABEL118
:(void)0;
4782 var122
= NEW_standard__Array(&type_standard__Array__nit__MType
);
4784 standard___standard__Array___with_capacity(var122
, 1l); /* Direct call array#Array#with_capacity on <var122:Array[MType]>*/
4788 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_123
, var_mtype
); /* Direct call array#AbstractArray#push on <var_123:Array[MType]>*/
4791 var124
= nit___nit__MClass___get_mtype(var_mclass
, var_123
);
4793 var_array_mtype
= var124
;
4794 if (likely(varonce125
!=NULL
)) {
4795 var126
= varonce125
;
4797 var127
= "with_capacity";
4798 var128
= standard___standard__NativeString___to_s_with_length(var127
, 13l);
4800 varonce125
= var126
;
4803 var129
= nit__typing___nit__typing__TypeVisitor___get_method(var_v
, self
, var_array_mtype
, var126
, 0);
4806 { /* Inline typing#AArrayExpr#with_capacity_callsite= (self,var129) on <self:AArrayExpr> */
4807 self
->attrs
[COLOR_nit__typing__AArrayExpr___with_capacity_callsite
].val
= var129
; /* _with_capacity_callsite on <self:AArrayExpr> */
4808 RET_LABEL130
:(void)0;
4811 if (likely(varonce131
!=NULL
)) {
4812 var132
= varonce131
;
4815 var134
= standard___standard__NativeString___to_s_with_length(var133
, 4l);
4817 varonce131
= var132
;
4820 var135
= nit__typing___nit__typing__TypeVisitor___get_method(var_v
, self
, var_array_mtype
, var132
, 0);
4823 { /* Inline typing#AArrayExpr#push_callsite= (self,var135) on <self:AArrayExpr> */
4824 self
->attrs
[COLOR_nit__typing__AArrayExpr___push_callsite
].val
= var135
; /* _push_callsite on <self:AArrayExpr> */
4825 RET_LABEL136
:(void)0;
4829 { /* Inline typing#AExpr#mtype= (self,var_array_mtype) on <self:AArrayExpr> */
4830 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var_array_mtype
; /* _mtype on <self:AArrayExpr> */
4831 RET_LABEL137
:(void)0;
4836 /* method typing#ARangeExpr#init_callsite for (self: ARangeExpr): nullable CallSite */
4837 val
* nit__typing___ARangeExpr___init_callsite(val
* self
) {
4838 val
* var
/* : nullable CallSite */;
4839 val
* var1
/* : nullable CallSite */;
4840 var1
= self
->attrs
[COLOR_nit__typing__ARangeExpr___init_callsite
].val
; /* _init_callsite on <self:ARangeExpr> */
4845 /* method typing#ARangeExpr#init_callsite= for (self: ARangeExpr, nullable CallSite) */
4846 void nit__typing___ARangeExpr___init_callsite_61d(val
* self
, val
* p0
) {
4847 self
->attrs
[COLOR_nit__typing__ARangeExpr___init_callsite
].val
= p0
; /* _init_callsite on <self:ARangeExpr> */
4850 /* method typing#ARangeExpr#accept_typing for (self: ARangeExpr, TypeVisitor) */
4851 void nit__typing___ARangeExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
4852 val
* var_v
/* var v: TypeVisitor */;
4853 static val
* varonce
;
4854 val
* var
/* : String */;
4855 char* var1
/* : NativeString */;
4856 val
* var2
/* : FlatString */;
4857 val
* var3
/* : nullable MClass */;
4858 val
* var_discrete_class
/* var discrete_class: nullable MClass */;
4859 short int var4
/* : Bool */;
4860 short int var5
/* : Bool */;
4861 val
* var_other
/* var other: nullable Object */;
4862 short int var7
/* : Bool */;
4863 short int var9
/* : Bool */;
4864 val
* var10
/* : MClassDef */;
4865 val
* var12
/* : MClassDef */;
4866 val
* var13
/* : MClassType */;
4867 val
* var15
/* : MClassType */;
4868 val
* var_discrete_type
/* var discrete_type: MClassType */;
4869 val
* var16
/* : AExpr */;
4870 val
* var18
/* : AExpr */;
4871 val
* var19
/* : nullable MType */;
4872 val
* var_t1
/* var t1: nullable MType */;
4873 val
* var20
/* : AExpr */;
4874 val
* var22
/* : AExpr */;
4875 val
* var23
/* : nullable MType */;
4876 val
* var_t2
/* var t2: nullable MType */;
4877 short int var24
/* : Bool */;
4878 short int var25
/* : Bool */;
4879 short int var26
/* : Bool */;
4880 short int var28
/* : Bool */;
4881 short int var30
/* : Bool */;
4882 short int var_
/* var : Bool */;
4883 short int var31
/* : Bool */;
4884 short int var32
/* : Bool */;
4885 short int var34
/* : Bool */;
4886 short int var36
/* : Bool */;
4887 static val
* varonce37
;
4888 val
* var38
/* : String */;
4889 char* var39
/* : NativeString */;
4890 val
* var40
/* : FlatString */;
4891 val
* var41
/* : nullable MClass */;
4892 val
* var_mclass
/* var mclass: nullable MClass */;
4893 short int var42
/* : Bool */;
4894 short int var43
/* : Bool */;
4895 short int var45
/* : Bool */;
4896 short int var47
/* : Bool */;
4897 short int var48
/* : Bool */;
4898 val
* var49
/* : Array[MType] */;
4899 val
* var_50
/* var : Array[MType] */;
4900 val
* var51
/* : MClassType */;
4901 val
* var_mtype
/* var mtype: nullable Object */;
4902 short int var52
/* : Bool */;
4903 val
* var53
/* : Array[MType] */;
4904 val
* var_54
/* var : Array[MType] */;
4905 val
* var55
/* : MClassType */;
4906 val
* var57
/* : NativeArray[String] */;
4907 static val
* varonce56
;
4908 static val
* varonce58
;
4909 val
* var59
/* : String */;
4910 char* var60
/* : NativeString */;
4911 val
* var61
/* : FlatString */;
4912 static val
* varonce62
;
4913 val
* var63
/* : String */;
4914 char* var64
/* : NativeString */;
4915 val
* var65
/* : FlatString */;
4916 static val
* varonce66
;
4917 val
* var67
/* : String */;
4918 char* var68
/* : NativeString */;
4919 val
* var69
/* : FlatString */;
4920 val
* var70
/* : String */;
4921 val
* var71
/* : String */;
4922 val
* var72
/* : String */;
4923 short int var74
/* : Bool */;
4926 static val
* varonce75
;
4927 val
* var76
/* : String */;
4928 char* var77
/* : NativeString */;
4929 val
* var78
/* : FlatString */;
4930 val
* var79
/* : nullable CallSite */;
4931 val
* var_callsite
/* var callsite: nullable Object */;
4932 short int var80
/* : Bool */;
4935 static val
* varonce83
;
4936 val
* var84
/* : String */;
4937 char* var85
/* : NativeString */;
4938 val
* var86
/* : FlatString */;
4939 val
* var87
/* : nullable CallSite */;
4941 if (likely(varonce
!=NULL
)) {
4945 var2
= standard___standard__NativeString___to_s_with_length(var1
, 8l);
4950 var3
= nit__typing___nit__typing__TypeVisitor___get_mclass(var_v
, self
, var
);
4952 var_discrete_class
= var3
;
4953 if (var_discrete_class
== NULL
) {
4954 var4
= 1; /* is null */
4956 var4
= 0; /* arg is null but recv is not */
4959 { /* Inline kernel#Object#== (var_discrete_class,((val*)NULL)) on <var_discrete_class:nullable MClass> */
4960 var_other
= ((val
*)NULL
);
4962 { /* Inline kernel#Object#is_same_instance (var_discrete_class,var_other) on <var_discrete_class:nullable MClass(MClass)> */
4963 var9
= var_discrete_class
== var_other
;
4980 { /* Inline model#MClass#intro (var_discrete_class) on <var_discrete_class:nullable MClass(MClass)> */
4981 var12
= var_discrete_class
->attrs
[COLOR_nit__model__MClass___intro
].val
; /* _intro on <var_discrete_class:nullable MClass(MClass)> */
4982 if (unlikely(var12
== NULL
)) {
4983 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
4984 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 460);
4988 RET_LABEL11
:(void)0;
4992 { /* Inline model#MClassDef#bound_mtype (var10) on <var10:MClassDef> */
4993 var15
= var10
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var10:MClassDef> */
4994 if (unlikely(var15
== NULL
)) {
4995 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
4996 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
5000 RET_LABEL14
:(void)0;
5003 var_discrete_type
= var13
;
5005 { /* Inline parser_nodes#ARangeExpr#n_expr (self) on <self:ARangeExpr> */
5006 var18
= self
->attrs
[COLOR_nit__parser_nodes__ARangeExpr___n_expr
].val
; /* _n_expr on <self:ARangeExpr> */
5007 if (unlikely(var18
== NULL
)) {
5008 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5009 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2417);
5013 RET_LABEL17
:(void)0;
5017 var19
= nit__typing___nit__typing__TypeVisitor___visit_expr_subtype(var_v
, var16
, var_discrete_type
);
5021 { /* Inline parser_nodes#ARangeExpr#n_expr2 (self) on <self:ARangeExpr> */
5022 var22
= self
->attrs
[COLOR_nit__parser_nodes__ARangeExpr___n_expr2
].val
; /* _n_expr2 on <self:ARangeExpr> */
5023 if (unlikely(var22
== NULL
)) {
5024 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
5025 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2423);
5029 RET_LABEL21
:(void)0;
5033 var23
= nit__typing___nit__typing__TypeVisitor___visit_expr_subtype(var_v
, var20
, var_discrete_type
);
5036 if (var_t1
== NULL
) {
5037 var25
= 1; /* is null */
5039 var25
= 0; /* arg is null but recv is not */
5042 { /* Inline kernel#Object#== (var_t1,((val*)NULL)) on <var_t1:nullable MType> */
5043 var_other
= ((val
*)NULL
);
5045 { /* Inline kernel#Object#is_same_instance (var_t1,var_other) on <var_t1:nullable MType(MType)> */
5046 var30
= var_t1
== var_other
;
5049 RET_LABEL29
:(void)0;
5054 RET_LABEL27
:(void)0;
5062 if (var_t2
== NULL
) {
5063 var31
= 1; /* is null */
5065 var31
= 0; /* arg is null but recv is not */
5068 { /* Inline kernel#Object#== (var_t2,((val*)NULL)) on <var_t2:nullable MType> */
5069 var_other
= ((val
*)NULL
);
5071 { /* Inline kernel#Object#is_same_instance (var_t2,var_other) on <var_t2:nullable MType(MType)> */
5072 var36
= var_t2
== var_other
;
5075 RET_LABEL35
:(void)0;
5080 RET_LABEL33
:(void)0;
5090 if (likely(varonce37
!=NULL
)) {
5094 var40
= standard___standard__NativeString___to_s_with_length(var39
, 5l);
5099 var41
= nit__typing___nit__typing__TypeVisitor___get_mclass(var_v
, self
, var38
);
5102 if (var_mclass
== NULL
) {
5103 var42
= 1; /* is null */
5105 var42
= 0; /* arg is null but recv is not */
5108 { /* Inline kernel#Object#== (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
5109 var_other
= ((val
*)NULL
);
5111 { /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
5112 var47
= var_mclass
== var_other
;
5115 RET_LABEL46
:(void)0;
5120 RET_LABEL44
:(void)0;
5129 var48
= nit__typing___nit__typing__TypeVisitor___is_subtype(var_v
, var_t1
, var_t2
);
5132 var49
= NEW_standard__Array(&type_standard__Array__nit__MType
);
5134 standard___standard__Array___with_capacity(var49
, 1l); /* Direct call array#Array#with_capacity on <var49:Array[MType]>*/
5138 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_50
, var_t2
); /* Direct call array#AbstractArray#push on <var_50:Array[MType]>*/
5141 var51
= nit___nit__MClass___get_mtype(var_mclass
, var_50
);
5146 var52
= nit__typing___nit__typing__TypeVisitor___is_subtype(var_v
, var_t2
, var_t1
);
5149 var53
= NEW_standard__Array(&type_standard__Array__nit__MType
);
5151 standard___standard__Array___with_capacity(var53
, 1l); /* Direct call array#Array#with_capacity on <var53:Array[MType]>*/
5155 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_54
, var_t1
); /* Direct call array#AbstractArray#push on <var_54:Array[MType]>*/
5158 var55
= nit___nit__MClass___get_mtype(var_mclass
, var_54
);
5162 if (unlikely(varonce56
==NULL
)) {
5163 var57
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
5164 if (likely(varonce58
!=NULL
)) {
5167 var60
= "Type Error: cannot create range: `";
5168 var61
= standard___standard__NativeString___to_s_with_length(var60
, 34l);
5172 ((struct instance_standard__NativeArray
*)var57
)->values
[0]=var59
;
5173 if (likely(varonce62
!=NULL
)) {
5177 var65
= standard___standard__NativeString___to_s_with_length(var64
, 6l);
5181 ((struct instance_standard__NativeArray
*)var57
)->values
[2]=var63
;
5182 if (likely(varonce66
!=NULL
)) {
5186 var69
= standard___standard__NativeString___to_s_with_length(var68
, 2l);
5190 ((struct instance_standard__NativeArray
*)var57
)->values
[4]=var67
;
5196 var70
= ((val
*(*)(val
* self
))(var_t1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_t1
); /* to_s on <var_t1:nullable MType(MType)>*/
5198 ((struct instance_standard__NativeArray
*)var57
)->values
[1]=var70
;
5200 var71
= ((val
*(*)(val
* self
))(var_t2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_t2
); /* to_s on <var_t2:nullable MType(MType)>*/
5202 ((struct instance_standard__NativeArray
*)var57
)->values
[3]=var71
;
5204 var72
= ((val
*(*)(val
* self
))(var57
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var57
); /* native_to_s on <var57:NativeArray[String]>*/
5208 nit__typing___nit__typing__TypeVisitor___error(var_v
, self
, var72
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
5214 { /* Inline typing#AExpr#mtype= (self,var_mtype) on <self:ARangeExpr> */
5215 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var_mtype
; /* _mtype on <self:ARangeExpr> */
5216 RET_LABEL73
:(void)0;
5219 /* <self:ARangeExpr> isa ACrangeExpr */
5220 cltype
= type_nit__ACrangeExpr
.color
;
5221 idtype
= type_nit__ACrangeExpr
.id
;
5222 if(cltype
>= self
->type
->table_size
) {
5225 var74
= self
->type
->type_table
[cltype
] == idtype
;
5228 if (likely(varonce75
!=NULL
)) {
5232 var78
= standard___standard__NativeString___to_s_with_length(var77
, 4l);
5237 var79
= nit__typing___nit__typing__TypeVisitor___get_method(var_v
, self
, var_mtype
, var76
, 0);
5239 var_callsite
= var79
;
5241 /* <self:ARangeExpr> isa AOrangeExpr */
5242 cltype81
= type_nit__AOrangeExpr
.color
;
5243 idtype82
= type_nit__AOrangeExpr
.id
;
5244 if(cltype81
>= self
->type
->table_size
) {
5247 var80
= self
->type
->type_table
[cltype81
] == idtype82
;
5250 if (likely(varonce83
!=NULL
)) {
5253 var85
= "without_last";
5254 var86
= standard___standard__NativeString___to_s_with_length(var85
, 12l);
5259 var87
= nit__typing___nit__typing__TypeVisitor___get_method(var_v
, self
, var_mtype
, var84
, 0);
5261 var_callsite
= var87
;
5263 PRINT_ERROR("Runtime error: %s", "Aborted");
5264 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1508);
5269 { /* Inline typing#ARangeExpr#init_callsite= (self,var_callsite) on <self:ARangeExpr> */
5270 self
->attrs
[COLOR_nit__typing__ARangeExpr___init_callsite
].val
= var_callsite
; /* _init_callsite on <self:ARangeExpr> */
5271 RET_LABEL88
:(void)0;
5276 /* method typing#ANullExpr#accept_typing for (self: ANullExpr, TypeVisitor) */
5277 void nit__typing___ANullExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
5278 val
* var_v
/* var v: TypeVisitor */;
5279 val
* var
/* : MModule */;
5280 val
* var2
/* : MModule */;
5281 val
* var3
/* : Model */;
5282 val
* var5
/* : Model */;
5283 val
* var6
/* : MNullType */;
5284 val
* var8
/* : MNullType */;
5287 { /* Inline typing#TypeVisitor#mmodule (var_v) on <var_v:TypeVisitor> */
5288 var2
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
5289 if (unlikely(var2
== NULL
)) {
5290 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5291 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 36);
5299 { /* Inline mmodule#MModule#model (var) on <var:MModule> */
5300 var5
= var
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <var:MModule> */
5301 if (unlikely(var5
== NULL
)) {
5302 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
5303 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
5311 { /* Inline model#Model#null_type (var3) on <var3:Model> */
5312 var8
= var3
->attrs
[COLOR_nit__model__Model___null_type
].val
; /* _null_type on <var3:Model> */
5313 if (unlikely(var8
== NULL
)) {
5314 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _null_type");
5315 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 94);
5323 { /* Inline typing#AExpr#mtype= (self,var6) on <self:ANullExpr> */
5324 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var6
; /* _mtype on <self:ANullExpr> */
5330 /* method typing#AIsaExpr#cast_type for (self: AIsaExpr): nullable MType */
5331 val
* nit__typing___AIsaExpr___cast_type(val
* self
) {
5332 val
* var
/* : nullable MType */;
5333 val
* var1
/* : nullable MType */;
5334 var1
= self
->attrs
[COLOR_nit__typing__AIsaExpr___cast_type
].val
; /* _cast_type on <self:AIsaExpr> */
5339 /* method typing#AIsaExpr#cast_type= for (self: AIsaExpr, nullable MType) */
5340 void nit__typing___AIsaExpr___cast_type_61d(val
* self
, val
* p0
) {
5341 self
->attrs
[COLOR_nit__typing__AIsaExpr___cast_type
].val
= p0
; /* _cast_type on <self:AIsaExpr> */
5344 /* method typing#AIsaExpr#accept_typing for (self: AIsaExpr, TypeVisitor) */
5345 void nit__typing___AIsaExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
5346 val
* var_v
/* var v: TypeVisitor */;
5347 val
* var
/* : AExpr */;
5348 val
* var2
/* : AExpr */;
5349 val
* var3
/* : AType */;
5350 val
* var5
/* : AType */;
5351 val
* var6
/* : nullable MType */;
5352 val
* var_mtype
/* var mtype: nullable MType */;
5353 val
* var8
/* : AExpr */;
5354 val
* var10
/* : AExpr */;
5355 val
* var11
/* : nullable Variable */;
5356 val
* var_variable
/* var variable: nullable Variable */;
5357 short int var12
/* : Bool */;
5358 short int var13
/* : Bool */;
5359 val
* var_other
/* var other: nullable Object */;
5360 short int var15
/* : Bool */;
5361 short int var16
/* : Bool */;
5362 val
* var17
/* : nullable FlowContext */;
5363 val
* var19
/* : nullable FlowContext */;
5364 val
* var20
/* : FlowContext */;
5365 val
* var22
/* : FlowContext */;
5366 val
* var23
/* : nullable MType */;
5369 { /* Inline parser_nodes#AIsaExpr#n_expr (self) on <self:AIsaExpr> */
5370 var2
= self
->attrs
[COLOR_nit__parser_nodes__AIsaExpr___n_expr
].val
; /* _n_expr on <self:AIsaExpr> */
5371 if (unlikely(var2
== NULL
)) {
5372 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5373 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2149);
5381 { /* Inline parser_nodes#AIsaExpr#n_type (self) on <self:AIsaExpr> */
5382 var5
= self
->attrs
[COLOR_nit__parser_nodes__AIsaExpr___n_type
].val
; /* _n_type on <self:AIsaExpr> */
5383 if (unlikely(var5
== NULL
)) {
5384 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
5385 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2155);
5393 var6
= nit__typing___nit__typing__TypeVisitor___visit_expr_cast(var_v
, self
, var
, var3
);
5397 { /* Inline typing#AIsaExpr#cast_type= (self,var_mtype) on <self:AIsaExpr> */
5398 self
->attrs
[COLOR_nit__typing__AIsaExpr___cast_type
].val
= var_mtype
; /* _cast_type on <self:AIsaExpr> */
5403 { /* Inline parser_nodes#AIsaExpr#n_expr (self) on <self:AIsaExpr> */
5404 var10
= self
->attrs
[COLOR_nit__parser_nodes__AIsaExpr___n_expr
].val
; /* _n_expr on <self:AIsaExpr> */
5405 if (unlikely(var10
== NULL
)) {
5406 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5407 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2149);
5415 var11
= ((val
*(*)(val
* self
))(var8
->class->vft
[COLOR_nit__typing__AExpr__its_variable
]))(var8
); /* its_variable on <var8:AExpr>*/
5417 var_variable
= var11
;
5418 if (var_variable
== NULL
) {
5419 var12
= 0; /* is null */
5421 var12
= 1; /* arg is null and recv is not */
5424 { /* Inline kernel#Object#!= (var_variable,((val*)NULL)) on <var_variable:nullable Variable> */
5425 var_other
= ((val
*)NULL
);
5427 var15
= ((short int(*)(val
* self
, val
* p0
))(var_variable
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_variable
, var_other
); /* == on <var_variable:nullable Variable(Variable)>*/
5432 RET_LABEL14
:(void)0;
5438 { /* Inline flow#AExpr#after_flow_context (self) on <self:AIsaExpr> */
5439 var19
= self
->attrs
[COLOR_nit__flow__AExpr___after_flow_context
].val
; /* _after_flow_context on <self:AIsaExpr> */
5441 RET_LABEL18
:(void)0;
5444 if (var17
== NULL
) {
5445 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5446 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1536);
5449 { /* Inline flow#FlowContext#when_true (var17) on <var17:nullable FlowContext> */
5450 if (unlikely(var17
== NULL
)) {
5451 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5452 PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow
, 225);
5455 var22
= var17
->attrs
[COLOR_nit__flow__FlowContext___when_true
].val
; /* _when_true on <var17:nullable FlowContext> */
5456 if (unlikely(var22
== NULL
)) {
5457 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true");
5458 PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow
, 225);
5462 RET_LABEL21
:(void)0;
5466 nit__typing___FlowContext___set_var(var20
, var_v
, var_variable
, var_mtype
); /* Direct call typing#FlowContext#set_var on <var20:FlowContext>*/
5471 var23
= nit__typing___nit__typing__TypeVisitor___type_bool(var_v
, self
);
5474 { /* Inline typing#AExpr#mtype= (self,var23) on <self:AIsaExpr> */
5475 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var23
; /* _mtype on <self:AIsaExpr> */
5476 RET_LABEL24
:(void)0;
5481 /* method typing#AAsCastExpr#accept_typing for (self: AAsCastExpr, TypeVisitor) */
5482 void nit__typing___AAsCastExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
5483 val
* var_v
/* var v: TypeVisitor */;
5484 val
* var
/* : AExpr */;
5485 val
* var2
/* : AExpr */;
5486 val
* var3
/* : AType */;
5487 val
* var5
/* : AType */;
5488 val
* var6
/* : nullable MType */;
5491 { /* Inline parser_nodes#AAsCastForm#n_expr (self) on <self:AAsCastExpr> */
5492 var2
= self
->attrs
[COLOR_nit__parser_nodes__AAsCastForm___n_expr
].val
; /* _n_expr on <self:AAsCastExpr> */
5493 if (unlikely(var2
== NULL
)) {
5494 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5495 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2648);
5503 { /* Inline parser_nodes#AAsCastExpr#n_type (self) on <self:AAsCastExpr> */
5504 var5
= self
->attrs
[COLOR_nit__parser_nodes__AAsCastExpr___n_type
].val
; /* _n_type on <self:AAsCastExpr> */
5505 if (unlikely(var5
== NULL
)) {
5506 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
5507 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2665);
5515 var6
= nit__typing___nit__typing__TypeVisitor___visit_expr_cast(var_v
, self
, var
, var3
);
5518 { /* Inline typing#AExpr#mtype= (self,var6) on <self:AAsCastExpr> */
5519 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var6
; /* _mtype on <self:AAsCastExpr> */
5525 /* method typing#AAsNotnullExpr#accept_typing for (self: AAsNotnullExpr, TypeVisitor) */
5526 void nit__typing___AAsNotnullExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
5527 val
* var_v
/* var v: TypeVisitor */;
5528 val
* var
/* : AExpr */;
5529 val
* var2
/* : AExpr */;
5530 val
* var3
/* : nullable MType */;
5531 val
* var_mtype
/* var mtype: nullable MType */;
5532 short int var4
/* : Bool */;
5533 short int var5
/* : Bool */;
5534 val
* var_other
/* var other: nullable Object */;
5535 short int var7
/* : Bool */;
5536 short int var9
/* : Bool */;
5537 short int var10
/* : Bool */;
5540 static val
* varonce
;
5541 val
* var11
/* : String */;
5542 char* var12
/* : NativeString */;
5543 val
* var13
/* : FlatString */;
5544 val
* var14
/* : AExpr */;
5545 val
* var16
/* : AExpr */;
5546 short int var17
/* : Bool */;
5547 val
* var18
/* : MType */;
5550 { /* Inline parser_nodes#AAsCastForm#n_expr (self) on <self:AAsNotnullExpr> */
5551 var2
= self
->attrs
[COLOR_nit__parser_nodes__AAsCastForm___n_expr
].val
; /* _n_expr on <self:AAsNotnullExpr> */
5552 if (unlikely(var2
== NULL
)) {
5553 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5554 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2648);
5562 var3
= nit__typing___nit__typing__TypeVisitor___visit_expr(var_v
, var
);
5565 if (var_mtype
== NULL
) {
5566 var4
= 1; /* is null */
5568 var4
= 0; /* arg is null but recv is not */
5571 { /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
5572 var_other
= ((val
*)NULL
);
5574 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
5575 var9
= var_mtype
== var_other
;
5591 /* <var_mtype:nullable MType(MType)> isa MNullType */
5592 cltype
= type_nit__MNullType
.color
;
5593 idtype
= type_nit__MNullType
.id
;
5594 if(cltype
>= var_mtype
->type
->table_size
) {
5597 var10
= var_mtype
->type
->type_table
[cltype
] == idtype
;
5600 if (likely(varonce
!=NULL
)) {
5603 var12
= "Type Error: `as(not null)` on `null`.";
5604 var13
= standard___standard__NativeString___to_s_with_length(var12
, 37l);
5609 nit__typing___nit__typing__TypeVisitor___error(var_v
, self
, var11
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
5615 { /* Inline parser_nodes#AAsCastForm#n_expr (self) on <self:AAsNotnullExpr> */
5616 var16
= self
->attrs
[COLOR_nit__parser_nodes__AAsCastForm___n_expr
].val
; /* _n_expr on <self:AAsNotnullExpr> */
5617 if (unlikely(var16
== NULL
)) {
5618 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5619 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2648);
5623 RET_LABEL15
:(void)0;
5627 var17
= nit__typing___nit__typing__TypeVisitor___check_can_be_null(var_v
, var14
, var_mtype
);
5631 var18
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model__MType__as_notnull
]))(var_mtype
); /* as_notnull on <var_mtype:nullable MType(MType)>*/
5637 { /* Inline typing#AExpr#mtype= (self,var_mtype) on <self:AAsNotnullExpr> */
5638 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var_mtype
; /* _mtype on <self:AAsNotnullExpr> */
5639 RET_LABEL19
:(void)0;
5644 /* method typing#AParExpr#accept_typing for (self: AParExpr, TypeVisitor) */
5645 void nit__typing___AParExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
5646 val
* var_v
/* var v: TypeVisitor */;
5647 val
* var
/* : AExpr */;
5648 val
* var2
/* : AExpr */;
5649 val
* var3
/* : nullable MType */;
5652 { /* Inline parser_nodes#AParExpr#n_expr (self) on <self:AParExpr> */
5653 var2
= self
->attrs
[COLOR_nit__parser_nodes__AParExpr___n_expr
].val
; /* _n_expr on <self:AParExpr> */
5654 if (unlikely(var2
== NULL
)) {
5655 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5656 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2637);
5664 var3
= nit__typing___nit__typing__TypeVisitor___visit_expr(var_v
, var
);
5667 { /* Inline typing#AExpr#mtype= (self,var3) on <self:AParExpr> */
5668 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var3
; /* _mtype on <self:AParExpr> */
5674 /* method typing#AOnceExpr#accept_typing for (self: AOnceExpr, TypeVisitor) */
5675 void nit__typing___AOnceExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
5676 val
* var_v
/* var v: TypeVisitor */;
5677 val
* var
/* : AExpr */;
5678 val
* var2
/* : AExpr */;
5679 val
* var3
/* : nullable MType */;
5682 { /* Inline parser_nodes#AOnceExpr#n_expr (self) on <self:AOnceExpr> */
5683 var2
= self
->attrs
[COLOR_nit__parser_nodes__AOnceExpr___n_expr
].val
; /* _n_expr on <self:AOnceExpr> */
5684 if (unlikely(var2
== NULL
)) {
5685 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5686 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2017);
5694 var3
= nit__typing___nit__typing__TypeVisitor___visit_expr(var_v
, var
);
5697 { /* Inline typing#AExpr#mtype= (self,var3) on <self:AOnceExpr> */
5698 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var3
; /* _mtype on <self:AOnceExpr> */
5704 /* method typing#ASelfExpr#its_variable for (self: ASelfExpr): nullable Variable */
5705 val
* nit__typing___ASelfExpr___AExpr__its_variable(val
* self
) {
5706 val
* var
/* : nullable Variable */;
5707 val
* var1
/* : nullable Variable */;
5708 var1
= self
->attrs
[COLOR_nit__typing__ASelfExpr___its_variable
].val
; /* _its_variable on <self:ASelfExpr> */
5713 /* method typing#ASelfExpr#its_variable= for (self: ASelfExpr, nullable Variable) */
5714 void nit__typing___ASelfExpr___its_variable_61d(val
* self
, val
* p0
) {
5715 self
->attrs
[COLOR_nit__typing__ASelfExpr___its_variable
].val
= p0
; /* _its_variable on <self:ASelfExpr> */
5718 /* method typing#ASelfExpr#accept_typing for (self: ASelfExpr, TypeVisitor) */
5719 void nit__typing___ASelfExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
5720 val
* var_v
/* var v: TypeVisitor */;
5721 short int var
/* : Bool */;
5722 short int var1
/* : Bool */;
5723 short int var3
/* : Bool */;
5724 short int var_
/* var : Bool */;
5725 short int var4
/* : Bool */;
5728 short int var5
/* : Bool */;
5729 static val
* varonce
;
5730 val
* var6
/* : String */;
5731 char* var7
/* : NativeString */;
5732 val
* var8
/* : FlatString */;
5733 val
* var9
/* : Variable */;
5734 val
* var11
/* : Variable */;
5735 val
* var_variable
/* var variable: Variable */;
5736 val
* var13
/* : nullable MType */;
5739 { /* Inline typing#TypeVisitor#is_toplevel_context (var_v) on <var_v:TypeVisitor> */
5740 var3
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___is_toplevel_context
].s
; /* _is_toplevel_context on <var_v:TypeVisitor> */
5747 /* <self:ASelfExpr> isa AImplicitSelfExpr */
5748 cltype
= type_nit__AImplicitSelfExpr
.color
;
5749 idtype
= type_nit__AImplicitSelfExpr
.id
;
5750 if(cltype
>= self
->type
->table_size
) {
5753 var4
= self
->type
->type_table
[cltype
] == idtype
;
5761 if (likely(varonce
!=NULL
)) {
5764 var7
= "Error: `self` cannot be used in top-level method.";
5765 var8
= standard___standard__NativeString___to_s_with_length(var7
, 49l);
5770 nit__typing___nit__typing__TypeVisitor___error(var_v
, self
, var6
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
5775 { /* Inline typing#TypeVisitor#selfvariable (var_v) on <var_v:TypeVisitor> */
5776 var11
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___selfvariable
].val
; /* _selfvariable on <var_v:TypeVisitor> */
5777 if (unlikely(var11
== NULL
)) {
5778 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable");
5779 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 50);
5783 RET_LABEL10
:(void)0;
5786 var_variable
= var9
;
5788 { /* Inline typing#ASelfExpr#its_variable= (self,var_variable) on <self:ASelfExpr> */
5789 self
->attrs
[COLOR_nit__typing__ASelfExpr___its_variable
].val
= var_variable
; /* _its_variable on <self:ASelfExpr> */
5790 RET_LABEL12
:(void)0;
5794 var13
= nit__typing___nit__typing__TypeVisitor___get_variable(var_v
, self
, var_variable
);
5797 { /* Inline typing#AExpr#mtype= (self,var13) on <self:ASelfExpr> */
5798 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var13
; /* _mtype on <self:ASelfExpr> */
5799 RET_LABEL14
:(void)0;
5804 /* method typing#AImplicitSelfExpr#is_sys for (self: AImplicitSelfExpr): Bool */
5805 short int nit__typing___AImplicitSelfExpr___is_sys(val
* self
) {
5806 short int var
/* : Bool */;
5807 short int var1
/* : Bool */;
5808 var1
= self
->attrs
[COLOR_nit__typing__AImplicitSelfExpr___is_sys
].s
; /* _is_sys on <self:AImplicitSelfExpr> */
5813 /* method typing#AImplicitSelfExpr#is_sys= for (self: AImplicitSelfExpr, Bool) */
5814 void nit__typing___AImplicitSelfExpr___is_sys_61d(val
* self
, short int p0
) {
5815 self
->attrs
[COLOR_nit__typing__AImplicitSelfExpr___is_sys
].s
= p0
; /* _is_sys on <self:AImplicitSelfExpr> */
5818 /* method typing#ASendExpr#callsite for (self: ASendExpr): nullable CallSite */
5819 val
* nit__typing___ASendExpr___callsite(val
* self
) {
5820 val
* var
/* : nullable CallSite */;
5821 val
* var1
/* : nullable CallSite */;
5822 var1
= self
->attrs
[COLOR_nit__typing__ASendExpr___callsite
].val
; /* _callsite on <self:ASendExpr> */
5827 /* method typing#ASendExpr#callsite= for (self: ASendExpr, nullable CallSite) */
5828 void nit__typing___ASendExpr___callsite_61d(val
* self
, val
* p0
) {
5829 self
->attrs
[COLOR_nit__typing__ASendExpr___callsite
].val
= p0
; /* _callsite on <self:ASendExpr> */
5832 /* method typing#ASendExpr#accept_typing for (self: ASendExpr, TypeVisitor) */
5833 void nit__typing___ASendExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
5834 val
* var_v
/* var v: TypeVisitor */;
5835 val
* var
/* : AExpr */;
5836 val
* var2
/* : AExpr */;
5837 val
* var_nrecv
/* var nrecv: AExpr */;
5838 val
* var3
/* : nullable MType */;
5839 val
* var_recvtype
/* var recvtype: nullable MType */;
5840 val
* var4
/* : String */;
5841 val
* var_name
/* var name: String */;
5842 val
* var5
/* : ANode */;
5843 val
* var_node
/* var node: ANode */;
5844 short int var6
/* : Bool */;
5845 short int var7
/* : Bool */;
5846 val
* var_other
/* var other: nullable Object */;
5847 short int var9
/* : Bool */;
5848 short int var11
/* : Bool */;
5849 val
* var_callsite
/* var callsite: nullable Object */;
5850 val
* var12
/* : MType */;
5851 val
* var_unsafe_type
/* var unsafe_type: MType */;
5852 val
* var13
/* : nullable MProperty */;
5853 val
* var_mproperty
/* var mproperty: nullable MProperty */;
5854 short int var14
/* : Bool */;
5855 short int var15
/* : Bool */;
5856 short int var16
/* : Bool */;
5857 short int var18
/* : Bool */;
5858 short int var20
/* : Bool */;
5859 short int var_
/* var : Bool */;
5860 short int var21
/* : Bool */;
5863 static val
* varonce
;
5864 val
* var22
/* : String */;
5865 char* var23
/* : NativeString */;
5866 val
* var24
/* : FlatString */;
5867 val
* var25
/* : nullable MClass */;
5868 val
* var_sysclass
/* var sysclass: nullable MClass */;
5869 short int var26
/* : Bool */;
5870 short int var27
/* : Bool */;
5871 val
* var_other29
/* var other: nullable Object */;
5872 short int var30
/* : Bool */;
5873 short int var31
/* : Bool */;
5874 val
* var32
/* : MClassType */;
5875 val
* var34
/* : MClassType */;
5876 val
* var_systype
/* var systype: MClassType */;
5877 val
* var35
/* : nullable MProperty */;
5878 short int var36
/* : Bool */;
5879 short int var37
/* : Bool */;
5880 short int var39
/* : Bool */;
5881 short int var40
/* : Bool */;
5882 val
* var41
/* : nullable CallSite */;
5883 short int var42
/* : Bool */;
5884 short int var43
/* : Bool */;
5885 short int var45
/* : Bool */;
5886 short int var47
/* : Bool */;
5887 short int var51
/* : Bool */;
5888 short int var52
/* : Bool */;
5889 short int var54
/* : Bool */;
5890 short int var56
/* : Bool */;
5891 short int var57
/* : Bool */;
5894 val
* var60
/* : nullable CallSite */;
5895 short int var61
/* : Bool */;
5896 short int var62
/* : Bool */;
5897 short int var64
/* : Bool */;
5898 short int var66
/* : Bool */;
5899 val
* var68
/* : MSignature */;
5900 val
* var70
/* : MSignature */;
5901 val
* var_msignature
/* var msignature: MSignature */;
5902 val
* var71
/* : Array[AExpr] */;
5903 val
* var_args
/* var args: Array[AExpr] */;
5904 short int var72
/* : Bool */;
5905 val
* var73
/* : MMethod */;
5906 val
* var75
/* : MMethod */;
5907 short int var76
/* : Bool */;
5908 short int var78
/* : Bool */;
5909 val
* var79
/* : nullable MPropDef */;
5910 val
* var81
/* : nullable MPropDef */;
5911 val
* var_vmpropdef
/* var vmpropdef: nullable MPropDef */;
5912 short int var82
/* : Bool */;
5913 short int var83
/* : Bool */;
5916 short int var_86
/* var : Bool */;
5917 val
* var87
/* : MProperty */;
5918 val
* var89
/* : MProperty */;
5919 short int var90
/* : Bool */;
5920 short int var92
/* : Bool */;
5921 short int var93
/* : Bool */;
5922 static val
* varonce94
;
5923 val
* var95
/* : String */;
5924 char* var96
/* : NativeString */;
5925 val
* var97
/* : FlatString */;
5926 short int var98
/* : Bool */;
5927 short int var99
/* : Bool */;
5928 short int var100
/* : Bool */;
5931 short int var_103
/* var : Bool */;
5932 val
* var104
/* : MProperty */;
5933 val
* var106
/* : MProperty */;
5934 short int var107
/* : Bool */;
5935 short int var109
/* : Bool */;
5936 short int var_110
/* var : Bool */;
5937 val
* var111
/* : MMethod */;
5938 val
* var113
/* : MMethod */;
5939 short int var114
/* : Bool */;
5940 short int var116
/* : Bool */;
5941 short int var117
/* : Bool */;
5942 val
* var119
/* : NativeArray[String] */;
5943 static val
* varonce118
;
5944 static val
* varonce120
;
5945 val
* var121
/* : String */;
5946 char* var122
/* : NativeString */;
5947 val
* var123
/* : FlatString */;
5948 static val
* varonce124
;
5949 val
* var125
/* : String */;
5950 char* var126
/* : NativeString */;
5951 val
* var127
/* : FlatString */;
5952 static val
* varonce128
;
5953 val
* var129
/* : String */;
5954 char* var130
/* : NativeString */;
5955 val
* var131
/* : FlatString */;
5956 val
* var132
/* : String */;
5957 val
* var133
/* : MMethod */;
5958 val
* var135
/* : MMethod */;
5959 val
* var136
/* : String */;
5960 val
* var137
/* : String */;
5961 val
* var138
/* : nullable MType */;
5962 val
* var140
/* : nullable MType */;
5963 val
* var_ret
/* var ret: nullable MType */;
5964 short int var141
/* : Bool */;
5965 short int var142
/* : Bool */;
5966 short int var144
/* : Bool */;
5967 short int var145
/* : Bool */;
5970 { /* Inline parser_nodes#ASendExpr#n_expr (self) on <self:ASendExpr> */
5971 var2
= self
->attrs
[COLOR_nit__parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <self:ASendExpr> */
5972 if (unlikely(var2
== NULL
)) {
5973 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5974 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2025);
5983 var3
= nit__typing___nit__typing__TypeVisitor___visit_expr(var_v
, var_nrecv
);
5985 var_recvtype
= var3
;
5987 var4
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nit__typing__ASendExpr__property_name
]))(self
); /* property_name on <self:ASendExpr>*/
5991 var5
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nit__typing__ASendExpr__property_node
]))(self
); /* property_node on <self:ASendExpr>*/
5994 if (var_recvtype
== NULL
) {
5995 var6
= 1; /* is null */
5997 var6
= 0; /* arg is null but recv is not */
6000 { /* Inline kernel#Object#== (var_recvtype,((val*)NULL)) on <var_recvtype:nullable MType> */
6001 var_other
= ((val
*)NULL
);
6003 { /* Inline kernel#Object#is_same_instance (var_recvtype,var_other) on <var_recvtype:nullable MType(MType)> */
6004 var11
= var_recvtype
== var_other
;
6007 RET_LABEL10
:(void)0;
6020 var_callsite
= ((val
*)NULL
);
6022 var12
= nit__typing___nit__typing__TypeVisitor___anchor_to(var_v
, var_recvtype
);
6024 var_unsafe_type
= var12
;
6026 var13
= nit__typing___nit__typing__TypeVisitor___try_get_mproperty_by_name2(var_v
, var_node
, var_unsafe_type
, var_name
);
6028 var_mproperty
= var13
;
6029 if (var_mproperty
== NULL
) {
6030 var15
= 1; /* is null */
6032 var15
= 0; /* arg is null but recv is not */
6035 { /* Inline kernel#Object#== (var_mproperty,((val*)NULL)) on <var_mproperty:nullable MProperty> */
6036 var_other
= ((val
*)NULL
);
6038 { /* Inline kernel#Object#is_same_instance (var_mproperty,var_other) on <var_mproperty:nullable MProperty(MProperty)> */
6039 var20
= var_mproperty
== var_other
;
6042 RET_LABEL19
:(void)0;
6047 RET_LABEL17
:(void)0;
6053 /* <var_nrecv:AExpr> isa AImplicitSelfExpr */
6054 cltype
= type_nit__AImplicitSelfExpr
.color
;
6055 idtype
= type_nit__AImplicitSelfExpr
.id
;
6056 if(cltype
>= var_nrecv
->type
->table_size
) {
6059 var21
= var_nrecv
->type
->type_table
[cltype
] == idtype
;
6066 if (likely(varonce
!=NULL
)) {
6070 var24
= standard___standard__NativeString___to_s_with_length(var23
, 3l);
6075 var25
= nit__typing___nit__typing__TypeVisitor___try_get_mclass(var_v
, var_node
, var22
);
6077 var_sysclass
= var25
;
6078 if (var_sysclass
== NULL
) {
6079 var26
= 0; /* is null */
6081 var26
= 1; /* arg is null and recv is not */
6084 { /* Inline kernel#Object#!= (var_sysclass,((val*)NULL)) on <var_sysclass:nullable MClass> */
6085 var_other29
= ((val
*)NULL
);
6087 var30
= ((short int(*)(val
* self
, val
* p0
))(var_sysclass
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_sysclass
, var_other29
); /* == on <var_sysclass:nullable MClass(MClass)>*/
6092 RET_LABEL28
:(void)0;
6098 { /* Inline model#MClass#mclass_type (var_sysclass) on <var_sysclass:nullable MClass(MClass)> */
6099 var34
= var_sysclass
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_sysclass:nullable MClass(MClass)> */
6100 if (unlikely(var34
== NULL
)) {
6101 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
6102 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
6106 RET_LABEL33
:(void)0;
6109 var_systype
= var32
;
6111 var35
= nit__typing___nit__typing__TypeVisitor___try_get_mproperty_by_name2(var_v
, var_node
, var_systype
, var_name
);
6113 var_mproperty
= var35
;
6114 if (var_mproperty
== NULL
) {
6115 var36
= 0; /* is null */
6117 var36
= 1; /* arg is null and recv is not */
6120 { /* Inline kernel#Object#!= (var_mproperty,((val*)NULL)) on <var_mproperty:nullable MProperty> */
6121 var_other29
= ((val
*)NULL
);
6123 var39
= ((short int(*)(val
* self
, val
* p0
))(var_mproperty
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mproperty
, var_other29
); /* == on <var_mproperty:nullable MProperty(MProperty)>*/
6128 RET_LABEL38
:(void)0;
6134 var41
= nit__typing___nit__typing__TypeVisitor___get_method(var_v
, var_node
, var_systype
, var_name
, 0);
6136 var_callsite
= var41
;
6137 if (var_callsite
== NULL
) {
6138 var42
= 1; /* is null */
6140 var42
= 0; /* arg is null but recv is not */
6143 { /* Inline kernel#Object#== (var_callsite,((val*)NULL)) on <var_callsite:nullable Object(nullable CallSite)> */
6144 var_other
= ((val
*)NULL
);
6146 { /* Inline kernel#Object#is_same_instance (var_callsite,var_other) on <var_callsite:nullable CallSite(CallSite)> */
6147 var47
= var_callsite
== var_other
;
6150 RET_LABEL46
:(void)0;
6155 RET_LABEL44
:(void)0;
6164 { /* Inline typing#AImplicitSelfExpr#is_sys= (var_nrecv,1) on <var_nrecv:AExpr(AImplicitSelfExpr)> */
6165 var_nrecv
->attrs
[COLOR_nit__typing__AImplicitSelfExpr___is_sys
].s
= 1; /* _is_sys on <var_nrecv:AExpr(AImplicitSelfExpr)> */
6166 RET_LABEL48
:(void)0;
6170 { /* Inline typing#ASelfExpr#its_variable= (var_nrecv,((val*)NULL)) on <var_nrecv:AExpr(AImplicitSelfExpr)> */
6171 var_nrecv
->attrs
[COLOR_nit__typing__ASelfExpr___its_variable
].val
= ((val
*)NULL
); /* _its_variable on <var_nrecv:AExpr(AImplicitSelfExpr)> */
6172 RET_LABEL49
:(void)0;
6176 { /* Inline typing#AExpr#mtype= (var_nrecv,var_systype) on <var_nrecv:AExpr(AImplicitSelfExpr)> */
6177 var_nrecv
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var_systype
; /* _mtype on <var_nrecv:AExpr(AImplicitSelfExpr)> */
6178 RET_LABEL50
:(void)0;
6181 var_recvtype
= var_systype
;
6188 if (var_callsite
== NULL
) {
6189 var51
= 1; /* is null */
6191 var51
= 0; /* arg is null but recv is not */
6194 { /* Inline kernel#Object#== (var_callsite,((val*)NULL)) on <var_callsite:nullable Object(nullable CallSite)> */
6195 var_other
= ((val
*)NULL
);
6197 { /* Inline kernel#Object#is_same_instance (var_callsite,var_other) on <var_callsite:nullable CallSite(CallSite)> */
6198 var56
= var_callsite
== var_other
;
6201 RET_LABEL55
:(void)0;
6206 RET_LABEL53
:(void)0;
6211 /* <var_nrecv:AExpr> isa ASelfExpr */
6212 cltype58
= type_nit__ASelfExpr
.color
;
6213 idtype59
= type_nit__ASelfExpr
.id
;
6214 if(cltype58
>= var_nrecv
->type
->table_size
) {
6217 var57
= var_nrecv
->type
->type_table
[cltype58
] == idtype59
;
6220 var60
= nit__typing___nit__typing__TypeVisitor___get_method(var_v
, var_node
, var_recvtype
, var_name
, var57
);
6222 var_callsite
= var60
;
6223 if (var_callsite
== NULL
) {
6224 var61
= 1; /* is null */
6226 var61
= 0; /* arg is null but recv is not */
6229 { /* Inline kernel#Object#== (var_callsite,((val*)NULL)) on <var_callsite:nullable Object(nullable CallSite)> */
6230 var_other
= ((val
*)NULL
);
6232 { /* Inline kernel#Object#is_same_instance (var_callsite,var_other) on <var_callsite:nullable CallSite(CallSite)> */
6233 var66
= var_callsite
== var_other
;
6236 RET_LABEL65
:(void)0;
6241 RET_LABEL63
:(void)0;
6252 { /* Inline typing#ASendExpr#callsite= (self,var_callsite) on <self:ASendExpr> */
6253 self
->attrs
[COLOR_nit__typing__ASendExpr___callsite
].val
= var_callsite
; /* _callsite on <self:ASendExpr> */
6254 RET_LABEL67
:(void)0;
6258 { /* Inline typing#CallSite#msignature (var_callsite) on <var_callsite:nullable Object(CallSite)> */
6259 var70
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___msignature
].val
; /* _msignature on <var_callsite:nullable Object(CallSite)> */
6260 if (unlikely(var70
== NULL
)) {
6261 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
6262 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 631);
6266 RET_LABEL69
:(void)0;
6269 var_msignature
= var68
;
6271 var71
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nit__typing__ASendExpr__compute_raw_arguments
]))(self
); /* compute_raw_arguments on <self:ASendExpr>*/
6275 var72
= nit___nit__CallSite___check_signature(var_callsite
, var_v
, var_args
);
6278 { /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:nullable Object(CallSite)> */
6279 var75
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:nullable Object(CallSite)> */
6280 if (unlikely(var75
== NULL
)) {
6281 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6282 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 624);
6286 RET_LABEL74
:(void)0;
6290 { /* Inline model#MMethod#is_init (var73) on <var73:MMethod> */
6291 var78
= var73
->attrs
[COLOR_nit__model__MMethod___is_init
].s
; /* _is_init on <var73:MMethod> */
6293 RET_LABEL77
:(void)0;
6298 { /* Inline typing#TypeVisitor#mpropdef (var_v) on <var_v:TypeVisitor> */
6299 var81
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___mpropdef
].val
; /* _mpropdef on <var_v:TypeVisitor> */
6301 RET_LABEL80
:(void)0;
6304 var_vmpropdef
= var79
;
6305 /* <var_vmpropdef:nullable MPropDef> isa MMethodDef */
6306 cltype84
= type_nit__MMethodDef
.color
;
6307 idtype85
= type_nit__MMethodDef
.id
;
6308 if(var_vmpropdef
== NULL
) {
6311 if(cltype84
>= var_vmpropdef
->type
->table_size
) {
6314 var83
= var_vmpropdef
->type
->type_table
[cltype84
] == idtype85
;
6320 { /* Inline model#MPropDef#mproperty (var_vmpropdef) on <var_vmpropdef:nullable MPropDef(MMethodDef)> */
6321 var89
= var_vmpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_vmpropdef:nullable MPropDef(MMethodDef)> */
6322 if (unlikely(var89
== NULL
)) {
6323 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6324 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
6328 RET_LABEL88
:(void)0;
6332 { /* Inline model#MMethod#is_init (var87) on <var87:MProperty(MMethod)> */
6333 var92
= var87
->attrs
[COLOR_nit__model__MMethod___is_init
].s
; /* _is_init on <var87:MProperty(MMethod)> */
6335 RET_LABEL91
:(void)0;
6344 if (likely(varonce94
!=NULL
)) {
6347 var96
= "Error: an `init` can only be called from another `init`.";
6348 var97
= standard___standard__NativeString___to_s_with_length(var96
, 56l);
6353 nit__typing___nit__typing__TypeVisitor___error(var_v
, var_node
, var95
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
6357 /* <var_vmpropdef:nullable MPropDef> isa MMethodDef */
6358 cltype101
= type_nit__MMethodDef
.color
;
6359 idtype102
= type_nit__MMethodDef
.id
;
6360 if(var_vmpropdef
== NULL
) {
6363 if(cltype101
>= var_vmpropdef
->type
->table_size
) {
6366 var100
= var_vmpropdef
->type
->type_table
[cltype101
] == idtype102
;
6372 { /* Inline model#MPropDef#mproperty (var_vmpropdef) on <var_vmpropdef:nullable MPropDef(MMethodDef)> */
6373 var106
= var_vmpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_vmpropdef:nullable MPropDef(MMethodDef)> */
6374 if (unlikely(var106
== NULL
)) {
6375 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6376 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
6380 RET_LABEL105
:(void)0;
6384 { /* Inline model#MMethod#is_root_init (var104) on <var104:MProperty(MMethod)> */
6385 var109
= var104
->attrs
[COLOR_nit__model__MMethod___is_root_init
].s
; /* _is_root_init on <var104:MProperty(MMethod)> */
6387 RET_LABEL108
:(void)0;
6397 { /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:nullable Object(CallSite)> */
6398 var113
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:nullable Object(CallSite)> */
6399 if (unlikely(var113
== NULL
)) {
6400 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6401 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 624);
6405 RET_LABEL112
:(void)0;
6409 { /* Inline model#MMethod#is_root_init (var111) on <var111:MMethod> */
6410 var116
= var111
->attrs
[COLOR_nit__model__MMethod___is_root_init
].s
; /* _is_root_init on <var111:MMethod> */
6412 RET_LABEL115
:(void)0;
6421 if (unlikely(varonce118
==NULL
)) {
6422 var119
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
6423 if (likely(varonce120
!=NULL
)) {
6424 var121
= varonce120
;
6426 var122
= "Error: `";
6427 var123
= standard___standard__NativeString___to_s_with_length(var122
, 8l);
6429 varonce120
= var121
;
6431 ((struct instance_standard__NativeArray
*)var119
)->values
[0]=var121
;
6432 if (likely(varonce124
!=NULL
)) {
6433 var125
= varonce124
;
6435 var126
= "` cannot call a factory `";
6436 var127
= standard___standard__NativeString___to_s_with_length(var126
, 25l);
6438 varonce124
= var125
;
6440 ((struct instance_standard__NativeArray
*)var119
)->values
[2]=var125
;
6441 if (likely(varonce128
!=NULL
)) {
6442 var129
= varonce128
;
6445 var131
= standard___standard__NativeString___to_s_with_length(var130
, 2l);
6447 varonce128
= var129
;
6449 ((struct instance_standard__NativeArray
*)var119
)->values
[4]=var129
;
6451 var119
= varonce118
;
6455 var132
= ((val
*(*)(val
* self
))(var_vmpropdef
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_vmpropdef
); /* to_s on <var_vmpropdef:nullable MPropDef(MMethodDef)>*/
6457 ((struct instance_standard__NativeArray
*)var119
)->values
[1]=var132
;
6459 { /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:nullable Object(CallSite)> */
6460 var135
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:nullable Object(CallSite)> */
6461 if (unlikely(var135
== NULL
)) {
6462 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6463 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 624);
6467 RET_LABEL134
:(void)0;
6471 var136
= ((val
*(*)(val
* self
))(var133
->class->vft
[COLOR_standard__string__Object__to_s
]))(var133
); /* to_s on <var133:MMethod>*/
6473 ((struct instance_standard__NativeArray
*)var119
)->values
[3]=var136
;
6475 var137
= ((val
*(*)(val
* self
))(var119
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var119
); /* native_to_s on <var119:NativeArray[String]>*/
6477 varonce118
= var119
;
6479 nit__typing___nit__typing__TypeVisitor___error(var_v
, var_node
, var137
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
6486 { /* Inline model#MSignature#return_mtype (var_msignature) on <var_msignature:MSignature> */
6487 var140
= var_msignature
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var_msignature:MSignature> */
6489 RET_LABEL139
:(void)0;
6493 if (var_ret
== NULL
) {
6494 var141
= 0; /* is null */
6496 var141
= 1; /* arg is null and recv is not */
6499 { /* Inline kernel#Object#!= (var_ret,((val*)NULL)) on <var_ret:nullable MType> */
6500 var_other29
= ((val
*)NULL
);
6502 var144
= ((short int(*)(val
* self
, val
* p0
))(var_ret
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ret
, var_other29
); /* == on <var_ret:nullable MType(MType)>*/
6507 RET_LABEL143
:(void)0;
6513 { /* Inline typing#AExpr#mtype= (self,var_ret) on <self:ASendExpr> */
6514 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var_ret
; /* _mtype on <self:ASendExpr> */
6515 RET_LABEL146
:(void)0;
6520 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ASendExpr> */
6521 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ASendExpr> */
6522 RET_LABEL147
:(void)0;
6528 /* method typing#ASendExpr#property_node for (self: ASendExpr): ANode */
6529 val
* nit__typing___ASendExpr___property_node(val
* self
) {
6530 val
* var
/* : ANode */;
6536 /* method typing#ASendExpr#raw_arguments for (self: ASendExpr): Array[AExpr] */
6537 val
* nit__typing___ASendExpr___raw_arguments(val
* self
) {
6538 val
* var
/* : Array[AExpr] */;
6539 val
* var1
/* : Array[AExpr] */;
6541 var1
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nit__typing__ASendExpr__compute_raw_arguments
]))(self
); /* compute_raw_arguments on <self:ASendExpr>*/
6548 /* method typing#ABinopExpr#compute_raw_arguments for (self: ABinopExpr): Array[AExpr] */
6549 val
* nit__typing___ABinopExpr___ASendExpr__compute_raw_arguments(val
* self
) {
6550 val
* var
/* : Array[AExpr] */;
6551 val
* var1
/* : Array[AExpr] */;
6552 val
* var_
/* var : Array[AExpr] */;
6553 val
* var2
/* : AExpr */;
6554 val
* var4
/* : AExpr */;
6555 var1
= NEW_standard__Array(&type_standard__Array__nit__AExpr
);
6557 standard___standard__Array___with_capacity(var1
, 1l); /* Direct call array#Array#with_capacity on <var1:Array[AExpr]>*/
6561 { /* Inline parser_nodes#ABinopExpr#n_expr2 (self) on <self:ABinopExpr> */
6562 var4
= self
->attrs
[COLOR_nit__parser_nodes__ABinopExpr___n_expr2
].val
; /* _n_expr2 on <self:ABinopExpr> */
6563 if (unlikely(var4
== NULL
)) {
6564 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
6565 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2036);
6573 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var2
); /* Direct call array#AbstractArray#push on <var_:Array[AExpr]>*/
6580 /* method typing#ABinopExpr#property_name for (self: ABinopExpr): String */
6581 val
* nit__typing___ABinopExpr___ASendExpr__property_name(val
* self
) {
6582 val
* var
/* : String */;
6583 val
* var1
/* : String */;
6585 var1
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nit__parser_nodes__ABinopExpr__operator
]))(self
); /* operator on <self:ABinopExpr>*/
6592 /* method typing#ABinopExpr#property_node for (self: ABinopExpr): ANode */
6593 val
* nit__typing___ABinopExpr___ASendExpr__property_node(val
* self
) {
6594 val
* var
/* : ANode */;
6595 val
* var1
/* : Token */;
6596 val
* var3
/* : Token */;
6598 { /* Inline parser_nodes#ABinopExpr#n_op (self) on <self:ABinopExpr> */
6599 var3
= self
->attrs
[COLOR_nit__parser_nodes__ABinopExpr___n_op
].val
; /* _n_op on <self:ABinopExpr> */
6600 if (unlikely(var3
== NULL
)) {
6601 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
6602 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2033);
6614 /* method typing#AEqExpr#accept_typing for (self: AEqExpr, TypeVisitor) */
6615 void nit__typing___AEqExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
6616 val
* var_v
/* var v: TypeVisitor */;
6619 ((void(*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nit__typing___AEqExpr___AExpr__accept_typing
]))(self
, p0
); /* accept_typing on <self:AEqExpr>*/
6622 nit__typing___nit__typing__TypeVisitor___null_test(var_v
, self
); /* Direct call typing#TypeVisitor#null_test on <var_v:TypeVisitor>*/
6626 /* method typing#ANeExpr#accept_typing for (self: ANeExpr, TypeVisitor) */
6627 void nit__typing___ANeExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
6628 val
* var_v
/* var v: TypeVisitor */;
6631 ((void(*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nit__typing___ANeExpr___AExpr__accept_typing
]))(self
, p0
); /* accept_typing on <self:ANeExpr>*/
6634 nit__typing___nit__typing__TypeVisitor___null_test(var_v
, self
); /* Direct call typing#TypeVisitor#null_test on <var_v:TypeVisitor>*/
6638 /* method typing#AUnaryopExpr#property_name for (self: AUnaryopExpr): String */
6639 val
* nit__typing___AUnaryopExpr___ASendExpr__property_name(val
* self
) {
6640 val
* var
/* : String */;
6641 val
* var1
/* : NativeArray[String] */;
6642 static val
* varonce
;
6643 static val
* varonce2
;
6644 val
* var3
/* : String */;
6645 char* var4
/* : NativeString */;
6646 val
* var5
/* : FlatString */;
6647 val
* var6
/* : String */;
6648 val
* var7
/* : String */;
6649 if (unlikely(varonce
==NULL
)) {
6650 var1
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
6651 if (likely(varonce2
!=NULL
)) {
6655 var5
= standard___standard__NativeString___to_s_with_length(var4
, 6l);
6659 ((struct instance_standard__NativeArray
*)var1
)->values
[0]=var3
;
6665 var6
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nit__parser_nodes__AUnaryopExpr__operator
]))(self
); /* operator on <self:AUnaryopExpr>*/
6667 ((struct instance_standard__NativeArray
*)var1
)->values
[1]=var6
;
6669 var7
= ((val
*(*)(val
* self
))(var1
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var1
); /* native_to_s on <var1:NativeArray[String]>*/
6677 /* method typing#AUnaryopExpr#compute_raw_arguments for (self: AUnaryopExpr): Array[AExpr] */
6678 val
* nit__typing___AUnaryopExpr___ASendExpr__compute_raw_arguments(val
* self
) {
6679 val
* var
/* : Array[AExpr] */;
6680 val
* var1
/* : Array[AExpr] */;
6681 var1
= NEW_standard__Array(&type_standard__Array__nit__AExpr
);
6683 standard___standard__Array___standard__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[AExpr]>*/
6690 /* method typing#ACallExpr#property_name for (self: ACallExpr): String */
6691 val
* nit__typing___ACallExpr___ASendExpr__property_name(val
* self
) {
6692 val
* var
/* : String */;
6693 val
* var1
/* : TId */;
6694 val
* var3
/* : TId */;
6695 val
* var4
/* : String */;
6697 { /* Inline parser_nodes#ACallFormExpr#n_id (self) on <self:ACallExpr> */
6698 var3
= self
->attrs
[COLOR_nit__parser_nodes__ACallFormExpr___n_id
].val
; /* _n_id on <self:ACallExpr> */
6699 if (unlikely(var3
== NULL
)) {
6700 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
6701 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2292);
6709 var4
= nit__lexer_work___Token___text(var1
);
6716 /* method typing#ACallExpr#property_node for (self: ACallExpr): ANode */
6717 val
* nit__typing___ACallExpr___ASendExpr__property_node(val
* self
) {
6718 val
* var
/* : ANode */;
6719 val
* var1
/* : TId */;
6720 val
* var3
/* : TId */;
6722 { /* Inline parser_nodes#ACallFormExpr#n_id (self) on <self:ACallExpr> */
6723 var3
= self
->attrs
[COLOR_nit__parser_nodes__ACallFormExpr___n_id
].val
; /* _n_id on <self:ACallExpr> */
6724 if (unlikely(var3
== NULL
)) {
6725 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
6726 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2292);
6738 /* method typing#ACallExpr#compute_raw_arguments for (self: ACallExpr): Array[AExpr] */
6739 val
* nit__typing___ACallExpr___ASendExpr__compute_raw_arguments(val
* self
) {
6740 val
* var
/* : Array[AExpr] */;
6741 val
* var1
/* : AExprs */;
6742 val
* var3
/* : AExprs */;
6743 val
* var4
/* : Array[AExpr] */;
6745 { /* Inline parser_nodes#ACallFormExpr#n_args (self) on <self:ACallExpr> */
6746 var3
= self
->attrs
[COLOR_nit__parser_nodes__ACallFormExpr___n_args
].val
; /* _n_args on <self:ACallExpr> */
6747 if (unlikely(var3
== NULL
)) {
6748 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
6749 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2295);
6757 var4
= nit__typing___AExprs___to_a(var1
);
6764 /* method typing#ACallAssignExpr#property_name for (self: ACallAssignExpr): String */
6765 val
* nit__typing___ACallAssignExpr___ASendExpr__property_name(val
* self
) {
6766 val
* var
/* : String */;
6767 val
* var1
/* : TId */;
6768 val
* var3
/* : TId */;
6769 val
* var4
/* : String */;
6770 static val
* varonce
;
6771 val
* var5
/* : String */;
6772 char* var6
/* : NativeString */;
6773 val
* var7
/* : FlatString */;
6774 val
* var8
/* : String */;
6776 { /* Inline parser_nodes#ACallFormExpr#n_id (self) on <self:ACallAssignExpr> */
6777 var3
= self
->attrs
[COLOR_nit__parser_nodes__ACallFormExpr___n_id
].val
; /* _n_id on <self:ACallAssignExpr> */
6778 if (unlikely(var3
== NULL
)) {
6779 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
6780 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2292);
6788 var4
= nit__lexer_work___Token___text(var1
);
6790 if (likely(varonce
!=NULL
)) {
6794 var7
= standard___standard__NativeString___to_s_with_length(var6
, 1l);
6799 var8
= ((val
*(*)(val
* self
, val
* p0
))(var4
->class->vft
[COLOR_standard__string__String___43d
]))(var4
, var5
); /* + on <var4:String>*/
6806 /* method typing#ACallAssignExpr#property_node for (self: ACallAssignExpr): ANode */
6807 val
* nit__typing___ACallAssignExpr___ASendExpr__property_node(val
* self
) {
6808 val
* var
/* : ANode */;
6809 val
* var1
/* : TId */;
6810 val
* var3
/* : TId */;
6812 { /* Inline parser_nodes#ACallFormExpr#n_id (self) on <self:ACallAssignExpr> */
6813 var3
= self
->attrs
[COLOR_nit__parser_nodes__ACallFormExpr___n_id
].val
; /* _n_id on <self:ACallAssignExpr> */
6814 if (unlikely(var3
== NULL
)) {
6815 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
6816 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2292);
6828 /* method typing#ACallAssignExpr#compute_raw_arguments for (self: ACallAssignExpr): Array[AExpr] */
6829 val
* nit__typing___ACallAssignExpr___ASendExpr__compute_raw_arguments(val
* self
) {
6830 val
* var
/* : Array[AExpr] */;
6831 val
* var1
/* : AExprs */;
6832 val
* var3
/* : AExprs */;
6833 val
* var4
/* : Array[AExpr] */;
6834 val
* var_res
/* var res: Array[AExpr] */;
6835 val
* var5
/* : AExpr */;
6836 val
* var7
/* : AExpr */;
6838 { /* Inline parser_nodes#ACallFormExpr#n_args (self) on <self:ACallAssignExpr> */
6839 var3
= self
->attrs
[COLOR_nit__parser_nodes__ACallFormExpr___n_args
].val
; /* _n_args on <self:ACallAssignExpr> */
6840 if (unlikely(var3
== NULL
)) {
6841 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
6842 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2295);
6850 var4
= nit__typing___AExprs___to_a(var1
);
6854 { /* Inline parser_nodes#AAssignFormExpr#n_value (self) on <self:ACallAssignExpr> */
6855 var7
= self
->attrs
[COLOR_nit__parser_nodes__AAssignFormExpr___n_value
].val
; /* _n_value on <self:ACallAssignExpr> */
6856 if (unlikely(var7
== NULL
)) {
6857 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
6858 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1995);
6866 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res
, var5
); /* Direct call array#Array#add on <var_res:Array[AExpr]>*/
6873 /* method typing#ABraExpr#property_name for (self: ABraExpr): String */
6874 val
* nit__typing___ABraExpr___ASendExpr__property_name(val
* self
) {
6875 val
* var
/* : String */;
6876 static val
* varonce
;
6877 val
* var1
/* : String */;
6878 char* var2
/* : NativeString */;
6879 val
* var3
/* : FlatString */;
6880 if (likely(varonce
!=NULL
)) {
6884 var3
= standard___standard__NativeString___to_s_with_length(var2
, 2l);
6893 /* method typing#ABraExpr#compute_raw_arguments for (self: ABraExpr): Array[AExpr] */
6894 val
* nit__typing___ABraExpr___ASendExpr__compute_raw_arguments(val
* self
) {
6895 val
* var
/* : Array[AExpr] */;
6896 val
* var1
/* : AExprs */;
6897 val
* var3
/* : AExprs */;
6898 val
* var4
/* : Array[AExpr] */;
6900 { /* Inline parser_nodes#ABraFormExpr#n_args (self) on <self:ABraExpr> */
6901 var3
= self
->attrs
[COLOR_nit__parser_nodes__ABraFormExpr___n_args
].val
; /* _n_args on <self:ABraExpr> */
6902 if (unlikely(var3
== NULL
)) {
6903 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
6904 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2364);
6912 var4
= nit__typing___AExprs___to_a(var1
);
6919 /* method typing#ABraAssignExpr#property_name for (self: ABraAssignExpr): String */
6920 val
* nit__typing___ABraAssignExpr___ASendExpr__property_name(val
* self
) {
6921 val
* var
/* : String */;
6922 static val
* varonce
;
6923 val
* var1
/* : String */;
6924 char* var2
/* : NativeString */;
6925 val
* var3
/* : FlatString */;
6926 if (likely(varonce
!=NULL
)) {
6930 var3
= standard___standard__NativeString___to_s_with_length(var2
, 3l);
6939 /* method typing#ABraAssignExpr#compute_raw_arguments for (self: ABraAssignExpr): Array[AExpr] */
6940 val
* nit__typing___ABraAssignExpr___ASendExpr__compute_raw_arguments(val
* self
) {
6941 val
* var
/* : Array[AExpr] */;
6942 val
* var1
/* : AExprs */;
6943 val
* var3
/* : AExprs */;
6944 val
* var4
/* : Array[AExpr] */;
6945 val
* var_res
/* var res: Array[AExpr] */;
6946 val
* var5
/* : AExpr */;
6947 val
* var7
/* : AExpr */;
6949 { /* Inline parser_nodes#ABraFormExpr#n_args (self) on <self:ABraAssignExpr> */
6950 var3
= self
->attrs
[COLOR_nit__parser_nodes__ABraFormExpr___n_args
].val
; /* _n_args on <self:ABraAssignExpr> */
6951 if (unlikely(var3
== NULL
)) {
6952 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
6953 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2364);
6961 var4
= nit__typing___AExprs___to_a(var1
);
6965 { /* Inline parser_nodes#AAssignFormExpr#n_value (self) on <self:ABraAssignExpr> */
6966 var7
= self
->attrs
[COLOR_nit__parser_nodes__AAssignFormExpr___n_value
].val
; /* _n_value on <self:ABraAssignExpr> */
6967 if (unlikely(var7
== NULL
)) {
6968 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
6969 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1995);
6977 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res
, var5
); /* Direct call array#Array#add on <var_res:Array[AExpr]>*/
6984 /* method typing#ASendReassignFormExpr#write_callsite for (self: ASendReassignFormExpr): nullable CallSite */
6985 val
* nit__typing___ASendReassignFormExpr___write_callsite(val
* self
) {
6986 val
* var
/* : nullable CallSite */;
6987 val
* var1
/* : nullable CallSite */;
6988 var1
= self
->attrs
[COLOR_nit__typing__ASendReassignFormExpr___write_callsite
].val
; /* _write_callsite on <self:ASendReassignFormExpr> */
6993 /* method typing#ASendReassignFormExpr#write_callsite= for (self: ASendReassignFormExpr, nullable CallSite) */
6994 void nit__typing___ASendReassignFormExpr___write_callsite_61d(val
* self
, val
* p0
) {
6995 self
->attrs
[COLOR_nit__typing__ASendReassignFormExpr___write_callsite
].val
= p0
; /* _write_callsite on <self:ASendReassignFormExpr> */
6998 /* method typing#ASendReassignFormExpr#accept_typing for (self: ASendReassignFormExpr, TypeVisitor) */
6999 void nit__typing___ASendReassignFormExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
7000 val
* var_v
/* var v: TypeVisitor */;
7001 val
* var
/* : AExpr */;
7002 val
* var2
/* : AExpr */;
7003 val
* var3
/* : nullable MType */;
7004 val
* var_recvtype
/* var recvtype: nullable MType */;
7005 val
* var4
/* : String */;
7006 val
* var_name
/* var name: String */;
7007 val
* var5
/* : ANode */;
7008 val
* var_node
/* var node: ANode */;
7009 short int var6
/* : Bool */;
7010 short int var7
/* : Bool */;
7011 val
* var_other
/* var other: nullable Object */;
7012 short int var9
/* : Bool */;
7013 short int var11
/* : Bool */;
7014 val
* var12
/* : AExpr */;
7015 val
* var14
/* : AExpr */;
7016 short int var15
/* : Bool */;
7019 short int var_for_self
/* var for_self: Bool */;
7020 val
* var16
/* : nullable CallSite */;
7021 val
* var_callsite
/* var callsite: nullable CallSite */;
7022 short int var17
/* : Bool */;
7023 short int var18
/* : Bool */;
7024 short int var20
/* : Bool */;
7025 short int var22
/* : Bool */;
7026 val
* var24
/* : Array[AExpr] */;
7027 val
* var_args
/* var args: Array[AExpr] */;
7028 short int var25
/* : Bool */;
7029 val
* var26
/* : MSignature */;
7030 val
* var28
/* : MSignature */;
7031 val
* var29
/* : nullable MType */;
7032 val
* var31
/* : nullable MType */;
7033 val
* var_readtype
/* var readtype: nullable MType */;
7034 short int var32
/* : Bool */;
7035 short int var33
/* : Bool */;
7036 short int var35
/* : Bool */;
7037 short int var37
/* : Bool */;
7038 val
* var38
/* : NativeArray[String] */;
7039 static val
* varonce
;
7040 static val
* varonce39
;
7041 val
* var40
/* : String */;
7042 char* var41
/* : NativeString */;
7043 val
* var42
/* : FlatString */;
7044 static val
* varonce43
;
7045 val
* var44
/* : String */;
7046 char* var45
/* : NativeString */;
7047 val
* var46
/* : FlatString */;
7048 val
* var47
/* : String */;
7049 static val
* varonce48
;
7050 val
* var49
/* : String */;
7051 char* var50
/* : NativeString */;
7052 val
* var51
/* : FlatString */;
7053 val
* var52
/* : String */;
7054 val
* var53
/* : AExpr */;
7055 val
* var55
/* : AExpr */;
7056 short int var56
/* : Bool */;
7059 val
* var59
/* : nullable CallSite */;
7060 val
* var_wcallsite
/* var wcallsite: nullable CallSite */;
7061 short int var60
/* : Bool */;
7062 short int var61
/* : Bool */;
7063 short int var63
/* : Bool */;
7064 short int var65
/* : Bool */;
7065 val
* var67
/* : MSignature */;
7066 val
* var69
/* : MSignature */;
7067 val
* var70
/* : Array[MParameter] */;
7068 val
* var72
/* : Array[MParameter] */;
7069 val
* var73
/* : nullable Object */;
7070 val
* var74
/* : MType */;
7071 val
* var76
/* : MType */;
7072 val
* var77
/* : nullable MType */;
7073 val
* var_wtype
/* var wtype: nullable MType */;
7074 short int var78
/* : Bool */;
7075 short int var79
/* : Bool */;
7076 short int var81
/* : Bool */;
7077 short int var83
/* : Bool */;
7078 val
* var84
/* : Array[nullable Object] */;
7079 val
* var85
/* : AExpr */;
7080 val
* var87
/* : AExpr */;
7081 short int var88
/* : Bool */;
7084 { /* Inline parser_nodes#ASendExpr#n_expr (self) on <self:ASendReassignFormExpr> */
7085 var2
= self
->attrs
[COLOR_nit__parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <self:ASendReassignFormExpr> */
7086 if (unlikely(var2
== NULL
)) {
7087 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
7088 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2025);
7096 var3
= nit__typing___nit__typing__TypeVisitor___visit_expr(var_v
, var
);
7098 var_recvtype
= var3
;
7100 var4
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nit__typing__ASendExpr__property_name
]))(self
); /* property_name on <self:ASendReassignFormExpr>*/
7104 var5
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nit__typing__ASendExpr__property_node
]))(self
); /* property_node on <self:ASendReassignFormExpr>*/
7107 if (var_recvtype
== NULL
) {
7108 var6
= 1; /* is null */
7110 var6
= 0; /* arg is null but recv is not */
7113 { /* Inline kernel#Object#== (var_recvtype,((val*)NULL)) on <var_recvtype:nullable MType> */
7114 var_other
= ((val
*)NULL
);
7116 { /* Inline kernel#Object#is_same_instance (var_recvtype,var_other) on <var_recvtype:nullable MType(MType)> */
7117 var11
= var_recvtype
== var_other
;
7120 RET_LABEL10
:(void)0;
7134 { /* Inline parser_nodes#ASendExpr#n_expr (self) on <self:ASendReassignFormExpr> */
7135 var14
= self
->attrs
[COLOR_nit__parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <self:ASendReassignFormExpr> */
7136 if (unlikely(var14
== NULL
)) {
7137 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
7138 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2025);
7142 RET_LABEL13
:(void)0;
7145 /* <var12:AExpr> isa ASelfExpr */
7146 cltype
= type_nit__ASelfExpr
.color
;
7147 idtype
= type_nit__ASelfExpr
.id
;
7148 if(cltype
>= var12
->type
->table_size
) {
7151 var15
= var12
->type
->type_table
[cltype
] == idtype
;
7153 var_for_self
= var15
;
7155 var16
= nit__typing___nit__typing__TypeVisitor___get_method(var_v
, var_node
, var_recvtype
, var_name
, var_for_self
);
7157 var_callsite
= var16
;
7158 if (var_callsite
== NULL
) {
7159 var17
= 1; /* is null */
7161 var17
= 0; /* arg is null but recv is not */
7164 { /* Inline kernel#Object#== (var_callsite,((val*)NULL)) on <var_callsite:nullable CallSite> */
7165 var_other
= ((val
*)NULL
);
7167 { /* Inline kernel#Object#is_same_instance (var_callsite,var_other) on <var_callsite:nullable CallSite(CallSite)> */
7168 var22
= var_callsite
== var_other
;
7171 RET_LABEL21
:(void)0;
7176 RET_LABEL19
:(void)0;
7185 { /* Inline typing#ASendExpr#callsite= (self,var_callsite) on <self:ASendReassignFormExpr> */
7186 self
->attrs
[COLOR_nit__typing__ASendExpr___callsite
].val
= var_callsite
; /* _callsite on <self:ASendReassignFormExpr> */
7187 RET_LABEL23
:(void)0;
7191 var24
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nit__typing__ASendExpr__compute_raw_arguments
]))(self
); /* compute_raw_arguments on <self:ASendReassignFormExpr>*/
7195 var25
= nit___nit__CallSite___check_signature(var_callsite
, var_v
, var_args
);
7198 { /* Inline typing#CallSite#msignature (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
7199 var28
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___msignature
].val
; /* _msignature on <var_callsite:nullable CallSite(CallSite)> */
7200 if (unlikely(var28
== NULL
)) {
7201 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
7202 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 631);
7206 RET_LABEL27
:(void)0;
7210 { /* Inline model#MSignature#return_mtype (var26) on <var26:MSignature> */
7211 var31
= var26
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var26:MSignature> */
7213 RET_LABEL30
:(void)0;
7216 var_readtype
= var29
;
7217 if (var_readtype
== NULL
) {
7218 var32
= 1; /* is null */
7220 var32
= 0; /* arg is null but recv is not */
7223 { /* Inline kernel#Object#== (var_readtype,((val*)NULL)) on <var_readtype:nullable MType> */
7224 var_other
= ((val
*)NULL
);
7226 { /* Inline kernel#Object#is_same_instance (var_readtype,var_other) on <var_readtype:nullable MType(MType)> */
7227 var37
= var_readtype
== var_other
;
7230 RET_LABEL36
:(void)0;
7235 RET_LABEL34
:(void)0;
7240 if (unlikely(varonce
==NULL
)) {
7241 var38
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
7242 if (likely(varonce39
!=NULL
)) {
7246 var42
= standard___standard__NativeString___to_s_with_length(var41
, 8l);
7250 ((struct instance_standard__NativeArray
*)var38
)->values
[0]=var40
;
7251 if (likely(varonce43
!=NULL
)) {
7254 var45
= "` is not a function.";
7255 var46
= standard___standard__NativeString___to_s_with_length(var45
, 20l);
7259 ((struct instance_standard__NativeArray
*)var38
)->values
[2]=var44
;
7264 ((struct instance_standard__NativeArray
*)var38
)->values
[1]=var_name
;
7266 var47
= ((val
*(*)(val
* self
))(var38
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var38
); /* native_to_s on <var38:NativeArray[String]>*/
7270 nit__typing___nit__typing__TypeVisitor___error(var_v
, var_node
, var47
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
7275 if (likely(varonce48
!=NULL
)) {
7279 var51
= standard___standard__NativeString___to_s_with_length(var50
, 1l);
7284 var52
= ((val
*(*)(val
* self
, val
* p0
))(var_name
->class->vft
[COLOR_standard__string__String___43d
]))(var_name
, var49
); /* + on <var_name:String>*/
7287 { /* Inline parser_nodes#ASendExpr#n_expr (self) on <self:ASendReassignFormExpr> */
7288 var55
= self
->attrs
[COLOR_nit__parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <self:ASendReassignFormExpr> */
7289 if (unlikely(var55
== NULL
)) {
7290 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
7291 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2025);
7295 RET_LABEL54
:(void)0;
7298 /* <var53:AExpr> isa ASelfExpr */
7299 cltype57
= type_nit__ASelfExpr
.color
;
7300 idtype58
= type_nit__ASelfExpr
.id
;
7301 if(cltype57
>= var53
->type
->table_size
) {
7304 var56
= var53
->type
->type_table
[cltype57
] == idtype58
;
7307 var59
= nit__typing___nit__typing__TypeVisitor___get_method(var_v
, var_node
, var_recvtype
, var52
, var56
);
7309 var_wcallsite
= var59
;
7310 if (var_wcallsite
== NULL
) {
7311 var60
= 1; /* is null */
7313 var60
= 0; /* arg is null but recv is not */
7316 { /* Inline kernel#Object#== (var_wcallsite,((val*)NULL)) on <var_wcallsite:nullable CallSite> */
7317 var_other
= ((val
*)NULL
);
7319 { /* Inline kernel#Object#is_same_instance (var_wcallsite,var_other) on <var_wcallsite:nullable CallSite(CallSite)> */
7320 var65
= var_wcallsite
== var_other
;
7323 RET_LABEL64
:(void)0;
7328 RET_LABEL62
:(void)0;
7337 { /* Inline typing#ASendReassignFormExpr#write_callsite= (self,var_wcallsite) on <self:ASendReassignFormExpr> */
7338 self
->attrs
[COLOR_nit__typing__ASendReassignFormExpr___write_callsite
].val
= var_wcallsite
; /* _write_callsite on <self:ASendReassignFormExpr> */
7339 RET_LABEL66
:(void)0;
7343 { /* Inline typing#CallSite#msignature (var_wcallsite) on <var_wcallsite:nullable CallSite(CallSite)> */
7344 var69
= var_wcallsite
->attrs
[COLOR_nit__typing__CallSite___msignature
].val
; /* _msignature on <var_wcallsite:nullable CallSite(CallSite)> */
7345 if (unlikely(var69
== NULL
)) {
7346 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
7347 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 631);
7351 RET_LABEL68
:(void)0;
7355 { /* Inline model#MSignature#mparameters (var67) on <var67:MSignature> */
7356 var72
= var67
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var67:MSignature> */
7357 if (unlikely(var72
== NULL
)) {
7358 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
7359 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1756);
7363 RET_LABEL71
:(void)0;
7367 var73
= standard___standard__SequenceRead___last(var70
);
7370 { /* Inline model#MParameter#mtype (var73) on <var73:nullable Object(MParameter)> */
7371 var76
= var73
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var73:nullable Object(MParameter)> */
7372 if (unlikely(var76
== NULL
)) {
7373 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7374 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1879);
7378 RET_LABEL75
:(void)0;
7382 var77
= nit__typing___AReassignFormExpr___resolve_reassignment(self
, var_v
, var_readtype
, var74
);
7385 if (var_wtype
== NULL
) {
7386 var78
= 1; /* is null */
7388 var78
= 0; /* arg is null but recv is not */
7391 { /* Inline kernel#Object#== (var_wtype,((val*)NULL)) on <var_wtype:nullable MType> */
7392 var_other
= ((val
*)NULL
);
7394 { /* Inline kernel#Object#is_same_instance (var_wtype,var_other) on <var_wtype:nullable MType(MType)> */
7395 var83
= var_wtype
== var_other
;
7398 RET_LABEL82
:(void)0;
7403 RET_LABEL80
:(void)0;
7412 var84
= standard__array___Collection___to_a(var_args
);
7416 { /* Inline parser_nodes#AReassignFormExpr#n_value (self) on <self:ASendReassignFormExpr> */
7417 var87
= self
->attrs
[COLOR_nit__parser_nodes__AReassignFormExpr___n_value
].val
; /* _n_value on <self:ASendReassignFormExpr> */
7418 if (unlikely(var87
== NULL
)) {
7419 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
7420 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2006);
7424 RET_LABEL86
:(void)0;
7428 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_args
, var85
); /* Direct call array#Array#add on <var_args:Array[AExpr]>*/
7431 var88
= nit___nit__CallSite___check_signature(var_wcallsite
, var_v
, var_args
);
7434 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ASendReassignFormExpr> */
7435 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ASendReassignFormExpr> */
7436 RET_LABEL89
:(void)0;
7441 /* method typing#ACallReassignExpr#property_name for (self: ACallReassignExpr): String */
7442 val
* nit__typing___ACallReassignExpr___ASendExpr__property_name(val
* self
) {
7443 val
* var
/* : String */;
7444 val
* var1
/* : TId */;
7445 val
* var3
/* : TId */;
7446 val
* var4
/* : String */;
7448 { /* Inline parser_nodes#ACallFormExpr#n_id (self) on <self:ACallReassignExpr> */
7449 var3
= self
->attrs
[COLOR_nit__parser_nodes__ACallFormExpr___n_id
].val
; /* _n_id on <self:ACallReassignExpr> */
7450 if (unlikely(var3
== NULL
)) {
7451 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
7452 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2292);
7460 var4
= nit__lexer_work___Token___text(var1
);
7467 /* method typing#ACallReassignExpr#property_node for (self: ACallReassignExpr): ANode */
7468 val
* nit__typing___ACallReassignExpr___ASendExpr__property_node(val
* self
) {
7469 val
* var
/* : ANode */;
7470 val
* var1
/* : TId */;
7471 val
* var3
/* : TId */;
7473 { /* Inline parser_nodes#ACallFormExpr#n_id (self) on <self:ACallReassignExpr> */
7474 var3
= self
->attrs
[COLOR_nit__parser_nodes__ACallFormExpr___n_id
].val
; /* _n_id on <self:ACallReassignExpr> */
7475 if (unlikely(var3
== NULL
)) {
7476 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
7477 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2292);
7489 /* method typing#ACallReassignExpr#compute_raw_arguments for (self: ACallReassignExpr): Array[AExpr] */
7490 val
* nit__typing___ACallReassignExpr___ASendExpr__compute_raw_arguments(val
* self
) {
7491 val
* var
/* : Array[AExpr] */;
7492 val
* var1
/* : AExprs */;
7493 val
* var3
/* : AExprs */;
7494 val
* var4
/* : Array[AExpr] */;
7496 { /* Inline parser_nodes#ACallFormExpr#n_args (self) on <self:ACallReassignExpr> */
7497 var3
= self
->attrs
[COLOR_nit__parser_nodes__ACallFormExpr___n_args
].val
; /* _n_args on <self:ACallReassignExpr> */
7498 if (unlikely(var3
== NULL
)) {
7499 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
7500 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2295);
7508 var4
= nit__typing___AExprs___to_a(var1
);
7515 /* method typing#ABraReassignExpr#property_name for (self: ABraReassignExpr): String */
7516 val
* nit__typing___ABraReassignExpr___ASendExpr__property_name(val
* self
) {
7517 val
* var
/* : String */;
7518 static val
* varonce
;
7519 val
* var1
/* : String */;
7520 char* var2
/* : NativeString */;
7521 val
* var3
/* : FlatString */;
7522 if (likely(varonce
!=NULL
)) {
7526 var3
= standard___standard__NativeString___to_s_with_length(var2
, 2l);
7535 /* method typing#ABraReassignExpr#compute_raw_arguments for (self: ABraReassignExpr): Array[AExpr] */
7536 val
* nit__typing___ABraReassignExpr___ASendExpr__compute_raw_arguments(val
* self
) {
7537 val
* var
/* : Array[AExpr] */;
7538 val
* var1
/* : AExprs */;
7539 val
* var3
/* : AExprs */;
7540 val
* var4
/* : Array[AExpr] */;
7542 { /* Inline parser_nodes#ABraFormExpr#n_args (self) on <self:ABraReassignExpr> */
7543 var3
= self
->attrs
[COLOR_nit__parser_nodes__ABraFormExpr___n_args
].val
; /* _n_args on <self:ABraReassignExpr> */
7544 if (unlikely(var3
== NULL
)) {
7545 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
7546 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2364);
7554 var4
= nit__typing___AExprs___to_a(var1
);
7561 /* method typing#AInitExpr#property_name for (self: AInitExpr): String */
7562 val
* nit__typing___AInitExpr___ASendExpr__property_name(val
* self
) {
7563 val
* var
/* : String */;
7564 static val
* varonce
;
7565 val
* var1
/* : String */;
7566 char* var2
/* : NativeString */;
7567 val
* var3
/* : FlatString */;
7568 if (likely(varonce
!=NULL
)) {
7572 var3
= standard___standard__NativeString___to_s_with_length(var2
, 4l);
7581 /* method typing#AInitExpr#property_node for (self: AInitExpr): ANode */
7582 val
* nit__typing___AInitExpr___ASendExpr__property_node(val
* self
) {
7583 val
* var
/* : ANode */;
7584 val
* var1
/* : TKwinit */;
7585 val
* var3
/* : TKwinit */;
7587 { /* Inline parser_nodes#AInitExpr#n_kwinit (self) on <self:AInitExpr> */
7588 var3
= self
->attrs
[COLOR_nit__parser_nodes__AInitExpr___n_kwinit
].val
; /* _n_kwinit on <self:AInitExpr> */
7589 if (unlikely(var3
== NULL
)) {
7590 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwinit");
7591 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2353);
7603 /* method typing#AInitExpr#compute_raw_arguments for (self: AInitExpr): Array[AExpr] */
7604 val
* nit__typing___AInitExpr___ASendExpr__compute_raw_arguments(val
* self
) {
7605 val
* var
/* : Array[AExpr] */;
7606 val
* var1
/* : AExprs */;
7607 val
* var3
/* : AExprs */;
7608 val
* var4
/* : Array[AExpr] */;
7610 { /* Inline parser_nodes#AInitExpr#n_args (self) on <self:AInitExpr> */
7611 var3
= self
->attrs
[COLOR_nit__parser_nodes__AInitExpr___n_args
].val
; /* _n_args on <self:AInitExpr> */
7612 if (unlikely(var3
== NULL
)) {
7613 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
7614 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2356);
7622 var4
= nit__typing___AExprs___to_a(var1
);
7629 /* method typing#AExprs#to_a for (self: AExprs): Array[AExpr] */
7630 val
* nit__typing___AExprs___to_a(val
* self
) {
7631 val
* var
/* : Array[AExpr] */;
7632 val
* var1
/* : ANodes[AExpr] */;
7633 val
* var3
/* : ANodes[AExpr] */;
7634 val
* var4
/* : Array[nullable Object] */;
7636 { /* Inline parser_nodes#AExprs#n_exprs (self) on <self:AExprs> */
7637 var3
= self
->attrs
[COLOR_nit__parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <self:AExprs> */
7638 if (unlikely(var3
== NULL
)) {
7639 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
7640 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2771);
7648 var4
= standard__array___Collection___to_a(var1
);
7655 /* method typing#ASuperExpr#callsite for (self: ASuperExpr): nullable CallSite */
7656 val
* nit__typing___ASuperExpr___callsite(val
* self
) {
7657 val
* var
/* : nullable CallSite */;
7658 val
* var1
/* : nullable CallSite */;
7659 var1
= self
->attrs
[COLOR_nit__typing__ASuperExpr___callsite
].val
; /* _callsite on <self:ASuperExpr> */
7664 /* method typing#ASuperExpr#callsite= for (self: ASuperExpr, nullable CallSite) */
7665 void nit__typing___ASuperExpr___callsite_61d(val
* self
, val
* p0
) {
7666 self
->attrs
[COLOR_nit__typing__ASuperExpr___callsite
].val
= p0
; /* _callsite on <self:ASuperExpr> */
7669 /* method typing#ASuperExpr#mpropdef for (self: ASuperExpr): nullable MMethodDef */
7670 val
* nit__typing___ASuperExpr___mpropdef(val
* self
) {
7671 val
* var
/* : nullable MMethodDef */;
7672 val
* var1
/* : nullable MMethodDef */;
7673 var1
= self
->attrs
[COLOR_nit__typing__ASuperExpr___mpropdef
].val
; /* _mpropdef on <self:ASuperExpr> */
7678 /* method typing#ASuperExpr#mpropdef= for (self: ASuperExpr, nullable MMethodDef) */
7679 void nit__typing___ASuperExpr___mpropdef_61d(val
* self
, val
* p0
) {
7680 self
->attrs
[COLOR_nit__typing__ASuperExpr___mpropdef
].val
= p0
; /* _mpropdef on <self:ASuperExpr> */
7683 /* method typing#ASuperExpr#accept_typing for (self: ASuperExpr, TypeVisitor) */
7684 void nit__typing___ASuperExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
7685 val
* var_v
/* var v: TypeVisitor */;
7686 val
* var
/* : nullable MClassType */;
7687 val
* var2
/* : nullable MClassType */;
7688 val
* var_anchor
/* var anchor: nullable MClassType */;
7689 short int var3
/* : Bool */;
7690 short int var4
/* : Bool */;
7691 val
* var_other
/* var other: nullable Object */;
7692 short int var6
/* : Bool */;
7693 short int var7
/* : Bool */;
7694 val
* var8
/* : Variable */;
7695 val
* var10
/* : Variable */;
7696 val
* var11
/* : nullable MType */;
7697 val
* var_recvtype
/* var recvtype: nullable MType */;
7698 short int var12
/* : Bool */;
7699 short int var13
/* : Bool */;
7700 short int var15
/* : Bool */;
7701 short int var16
/* : Bool */;
7702 val
* var17
/* : nullable MPropDef */;
7703 val
* var19
/* : nullable MPropDef */;
7704 val
* var20
/* : MProperty */;
7705 val
* var22
/* : MProperty */;
7706 val
* var_mproperty
/* var mproperty: MProperty */;
7707 short int var23
/* : Bool */;
7710 short int var24
/* : Bool */;
7711 static val
* varonce
;
7712 val
* var25
/* : String */;
7713 char* var26
/* : NativeString */;
7714 val
* var27
/* : FlatString */;
7715 val
* var28
/* : MModule */;
7716 val
* var30
/* : MModule */;
7717 val
* var31
/* : Array[MPropDef] */;
7718 val
* var_superprops
/* var superprops: Array[MMethodDef] */;
7719 long var32
/* : Int */;
7720 long var34
/* : Int */;
7721 short int var35
/* : Bool */;
7722 short int var37
/* : Bool */;
7723 short int var38
/* : Bool */;
7724 short int var39
/* : Bool */;
7725 short int var41
/* : Bool */;
7726 short int var_
/* var : Bool */;
7727 val
* var42
/* : nullable MPropDef */;
7728 val
* var44
/* : nullable MPropDef */;
7729 short int var45
/* : Bool */;
7730 val
* var47
/* : NativeArray[String] */;
7731 static val
* varonce46
;
7732 static val
* varonce48
;
7733 val
* var49
/* : String */;
7734 char* var50
/* : NativeString */;
7735 val
* var51
/* : FlatString */;
7736 static val
* varonce52
;
7737 val
* var53
/* : String */;
7738 char* var54
/* : NativeString */;
7739 val
* var55
/* : FlatString */;
7740 val
* var56
/* : String */;
7741 val
* var57
/* : String */;
7742 val
* var58
/* : nullable Object */;
7743 val
* var_superprop
/* var superprop: MMethodDef */;
7744 val
* var59
/* : nullable MSignature */;
7745 val
* var61
/* : nullable MSignature */;
7746 val
* var_msignature
/* var msignature: MSignature */;
7747 val
* var62
/* : MType */;
7748 short int var63
/* : Bool */;
7751 const char* var_class_name
;
7752 val
* var66
/* : AExprs */;
7753 val
* var68
/* : AExprs */;
7754 val
* var69
/* : Array[AExpr] */;
7755 val
* var_args
/* var args: Array[AExpr] */;
7756 long var70
/* : Int */;
7757 long var72
/* : Int */;
7758 short int var73
/* : Bool */;
7759 short int var75
/* : Bool */;
7762 const char* var_class_name78
;
7763 short int var79
/* : Bool */;
7764 val
* var80
/* : nullable SignatureMap */;
7765 val
* var82
/* : nullable MType */;
7766 val
* var84
/* : nullable MType */;
7767 val
* var87
/* : nullable MPropDef */;
7768 val
* var89
/* : nullable MPropDef */;
7769 val
* var91
/* : nullable MPropDef */;
7770 val
* var93
/* : nullable MPropDef */;
7771 short int var94
/* : Bool */;
7774 const char* var_class_name97
;
7777 { /* Inline typing#TypeVisitor#anchor (var_v) on <var_v:TypeVisitor> */
7778 var2
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___anchor
].val
; /* _anchor on <var_v:TypeVisitor> */
7784 if (var_anchor
== NULL
) {
7785 var3
= 0; /* is null */
7787 var3
= 1; /* arg is null and recv is not */
7790 { /* Inline kernel#Object#!= (var_anchor,((val*)NULL)) on <var_anchor:nullable MClassType> */
7791 var_other
= ((val
*)NULL
);
7793 var6
= ((short int(*)(val
* self
, val
* p0
))(var_anchor
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_anchor
, var_other
); /* == on <var_anchor:nullable MClassType(MClassType)>*/
7802 if (unlikely(!var3
)) {
7803 PRINT_ERROR("Runtime error: %s", "Assert failed");
7804 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1822);
7808 { /* Inline typing#TypeVisitor#selfvariable (var_v) on <var_v:TypeVisitor> */
7809 var10
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___selfvariable
].val
; /* _selfvariable on <var_v:TypeVisitor> */
7810 if (unlikely(var10
== NULL
)) {
7811 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable");
7812 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 50);
7820 var11
= nit__typing___nit__typing__TypeVisitor___get_variable(var_v
, self
, var8
);
7822 var_recvtype
= var11
;
7823 if (var_recvtype
== NULL
) {
7824 var12
= 0; /* is null */
7826 var12
= 1; /* arg is null and recv is not */
7829 { /* Inline kernel#Object#!= (var_recvtype,((val*)NULL)) on <var_recvtype:nullable MType> */
7830 var_other
= ((val
*)NULL
);
7832 var15
= ((short int(*)(val
* self
, val
* p0
))(var_recvtype
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_recvtype
, var_other
); /* == on <var_recvtype:nullable MType(MType)>*/
7837 RET_LABEL14
:(void)0;
7841 if (unlikely(!var12
)) {
7842 PRINT_ERROR("Runtime error: %s", "Assert failed");
7843 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1824);
7847 { /* Inline typing#TypeVisitor#mpropdef (var_v) on <var_v:TypeVisitor> */
7848 var19
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___mpropdef
].val
; /* _mpropdef on <var_v:TypeVisitor> */
7850 RET_LABEL18
:(void)0;
7853 if (var17
== NULL
) {
7854 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7855 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1825);
7858 { /* Inline model#MPropDef#mproperty (var17) on <var17:nullable MPropDef> */
7859 if (unlikely(var17
== NULL
)) {
7860 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7861 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
7864 var22
= var17
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var17:nullable MPropDef> */
7865 if (unlikely(var22
== NULL
)) {
7866 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
7867 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
7871 RET_LABEL21
:(void)0;
7874 var_mproperty
= var20
;
7875 /* <var_mproperty:MProperty> isa MMethod */
7876 cltype
= type_nit__MMethod
.color
;
7877 idtype
= type_nit__MMethod
.id
;
7878 if(cltype
>= var_mproperty
->type
->table_size
) {
7881 var23
= var_mproperty
->type
->type_table
[cltype
] == idtype
;
7885 if (likely(varonce
!=NULL
)) {
7888 var26
= "Error: `super` only usable in a `method`.";
7889 var27
= standard___standard__NativeString___to_s_with_length(var26
, 41l);
7894 nit__typing___nit__typing__TypeVisitor___error(var_v
, self
, var25
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
7900 { /* Inline typing#TypeVisitor#mmodule (var_v) on <var_v:TypeVisitor> */
7901 var30
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
7902 if (unlikely(var30
== NULL
)) {
7903 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
7904 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 36);
7908 RET_LABEL29
:(void)0;
7912 var31
= nit___nit__MProperty___lookup_super_definitions(var_mproperty
, var28
, var_anchor
);
7914 var_superprops
= var31
;
7916 { /* Inline array#AbstractArrayRead#length (var_superprops) on <var_superprops:Array[MMethodDef]> */
7917 var34
= var_superprops
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_superprops:Array[MMethodDef]> */
7919 RET_LABEL33
:(void)0;
7923 { /* Inline kernel#Int#== (var32,0l) on <var32:Int> */
7924 var37
= var32
== 0l;
7927 RET_LABEL36
:(void)0;
7932 { /* Inline model#MMethod#is_init (var_mproperty) on <var_mproperty:MProperty(MMethod)> */
7933 var41
= var_mproperty
->attrs
[COLOR_nit__model__MMethod___is_init
].s
; /* _is_init on <var_mproperty:MProperty(MMethod)> */
7935 RET_LABEL40
:(void)0;
7941 { /* Inline typing#TypeVisitor#mpropdef (var_v) on <var_v:TypeVisitor> */
7942 var44
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___mpropdef
].val
; /* _mpropdef on <var_v:TypeVisitor> */
7944 RET_LABEL43
:(void)0;
7947 if (var42
== NULL
) {
7948 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7949 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1832);
7952 var45
= nit___nit__MPropDef___is_intro(var42
);
7960 nit__typing___ASuperExpr___process_superinit(self
, var_v
); /* Direct call typing#ASuperExpr#process_superinit on <self:ASuperExpr>*/
7965 if (unlikely(varonce46
==NULL
)) {
7966 var47
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
7967 if (likely(varonce48
!=NULL
)) {
7970 var50
= "Error: no super method to call for `";
7971 var51
= standard___standard__NativeString___to_s_with_length(var50
, 36l);
7975 ((struct instance_standard__NativeArray
*)var47
)->values
[0]=var49
;
7976 if (likely(varonce52
!=NULL
)) {
7980 var55
= standard___standard__NativeString___to_s_with_length(var54
, 2l);
7984 ((struct instance_standard__NativeArray
*)var47
)->values
[2]=var53
;
7990 var56
= ((val
*(*)(val
* self
))(var_mproperty
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mproperty
); /* to_s on <var_mproperty:MProperty(MMethod)>*/
7992 ((struct instance_standard__NativeArray
*)var47
)->values
[1]=var56
;
7994 var57
= ((val
*(*)(val
* self
))(var47
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var47
); /* native_to_s on <var47:NativeArray[String]>*/
7998 nit__typing___nit__typing__TypeVisitor___error(var_v
, self
, var57
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
8004 var58
= standard___standard__SequenceRead___Collection__first(var_superprops
);
8006 var_superprop
= var58
;
8008 { /* Inline model#MMethodDef#msignature (var_superprop) on <var_superprop:MMethodDef> */
8009 var61
= var_superprop
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var_superprop:MMethodDef> */
8011 RET_LABEL60
:(void)0;
8014 if (unlikely(var59
== NULL
)) {
8015 PRINT_ERROR("Runtime error: %s", "Cast failed");
8016 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1842);
8019 var_msignature
= var59
;
8021 var62
= nit__typing___nit__typing__TypeVisitor___resolve_for(var_v
, var_msignature
, var_recvtype
, 1);
8023 /* <var62:MType> isa MSignature */
8024 cltype64
= type_nit__MSignature
.color
;
8025 idtype65
= type_nit__MSignature
.id
;
8026 if(cltype64
>= var62
->type
->table_size
) {
8029 var63
= var62
->type
->type_table
[cltype64
] == idtype65
;
8031 if (unlikely(!var63
)) {
8032 var_class_name
= var62
== NULL ?
"null" : var62
->type
->name
;
8033 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MSignature", var_class_name
);
8034 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1843);
8037 var_msignature
= var62
;
8039 { /* Inline parser_nodes#ASuperExpr#n_args (self) on <self:ASuperExpr> */
8040 var68
= self
->attrs
[COLOR_nit__parser_nodes__ASuperExpr___n_args
].val
; /* _n_args on <self:ASuperExpr> */
8041 if (unlikely(var68
== NULL
)) {
8042 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
8043 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2344);
8047 RET_LABEL67
:(void)0;
8051 var69
= nit__typing___AExprs___to_a(var66
);
8055 { /* Inline array#AbstractArrayRead#length (var_args) on <var_args:Array[AExpr]> */
8056 var72
= var_args
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_args:Array[AExpr]> */
8058 RET_LABEL71
:(void)0;
8062 { /* Inline kernel#Int#> (var70,0l) on <var70:Int> */
8063 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
8064 /* <0l:Int> isa OTHER */
8065 var75
= 1; /* easy <0l:Int> isa OTHER*/
8066 if (unlikely(!var75
)) {
8067 var_class_name78
= type_standard__Int
.name
;
8068 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name78
);
8069 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 536);
8075 RET_LABEL74
:(void)0;
8080 var80
= nit__typing___nit__typing__TypeVisitor___check_signature(var_v
, self
, var_args
, var_mproperty
, var_msignature
);
8083 { /* Inline typing#ASuperExpr#signaturemap= (self,var80) on <self:ASuperExpr> */
8084 self
->attrs
[COLOR_nit__typing__ASuperExpr___signaturemap
].val
= var80
; /* _signaturemap on <self:ASuperExpr> */
8085 RET_LABEL81
:(void)0;
8091 { /* Inline model#MSignature#return_mtype (var_msignature) on <var_msignature:MSignature> */
8092 var84
= var_msignature
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var_msignature:MSignature> */
8094 RET_LABEL83
:(void)0;
8098 { /* Inline typing#AExpr#mtype= (self,var82) on <self:ASuperExpr> */
8099 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var82
; /* _mtype on <self:ASuperExpr> */
8100 RET_LABEL85
:(void)0;
8104 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ASuperExpr> */
8105 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ASuperExpr> */
8106 RET_LABEL86
:(void)0;
8110 { /* Inline typing#TypeVisitor#mpropdef (var_v) on <var_v:TypeVisitor> */
8111 var89
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___mpropdef
].val
; /* _mpropdef on <var_v:TypeVisitor> */
8113 RET_LABEL88
:(void)0;
8116 if (var87
== NULL
) {
8117 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8118 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1850);
8121 { /* Inline modelize_property#MPropDef#has_supercall= (var87,1) on <var87:nullable MPropDef> */
8122 if (unlikely(var87
== NULL
)) {
8123 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8124 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 482);
8127 var87
->attrs
[COLOR_nit__modelize_property__MPropDef___has_supercall
].s
= 1; /* _has_supercall on <var87:nullable MPropDef> */
8128 RET_LABEL90
:(void)0;
8132 { /* Inline typing#TypeVisitor#mpropdef (var_v) on <var_v:TypeVisitor> */
8133 var93
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___mpropdef
].val
; /* _mpropdef on <var_v:TypeVisitor> */
8135 RET_LABEL92
:(void)0;
8138 /* <var91:nullable MPropDef> isa MMethodDef */
8139 cltype95
= type_nit__MMethodDef
.color
;
8140 idtype96
= type_nit__MMethodDef
.id
;
8144 if(cltype95
>= var91
->type
->table_size
) {
8147 var94
= var91
->type
->type_table
[cltype95
] == idtype96
;
8150 if (unlikely(!var94
)) {
8151 var_class_name97
= var91
== NULL ?
"null" : var91
->type
->name
;
8152 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MMethodDef", var_class_name97
);
8153 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1851);
8157 { /* Inline typing#ASuperExpr#mpropdef= (self,var91) on <self:ASuperExpr> */
8158 self
->attrs
[COLOR_nit__typing__ASuperExpr___mpropdef
].val
= var91
; /* _mpropdef on <self:ASuperExpr> */
8159 RET_LABEL98
:(void)0;
8164 /* method typing#ASuperExpr#signaturemap for (self: ASuperExpr): nullable SignatureMap */
8165 val
* nit__typing___ASuperExpr___signaturemap(val
* self
) {
8166 val
* var
/* : nullable SignatureMap */;
8167 val
* var1
/* : nullable SignatureMap */;
8168 var1
= self
->attrs
[COLOR_nit__typing__ASuperExpr___signaturemap
].val
; /* _signaturemap on <self:ASuperExpr> */
8173 /* method typing#ASuperExpr#signaturemap= for (self: ASuperExpr, nullable SignatureMap) */
8174 void nit__typing___ASuperExpr___signaturemap_61d(val
* self
, val
* p0
) {
8175 self
->attrs
[COLOR_nit__typing__ASuperExpr___signaturemap
].val
= p0
; /* _signaturemap on <self:ASuperExpr> */
8178 /* method typing#ASuperExpr#process_superinit for (self: ASuperExpr, TypeVisitor) */
8179 void nit__typing___ASuperExpr___process_superinit(val
* self
, val
* p0
) {
8180 val
* var_v
/* var v: TypeVisitor */;
8181 val
* var
/* : nullable MClassType */;
8182 val
* var2
/* : nullable MClassType */;
8183 val
* var_anchor
/* var anchor: nullable MClassType */;
8184 short int var3
/* : Bool */;
8185 short int var4
/* : Bool */;
8186 val
* var_other
/* var other: nullable Object */;
8187 short int var6
/* : Bool */;
8188 short int var7
/* : Bool */;
8189 val
* var8
/* : Variable */;
8190 val
* var10
/* : Variable */;
8191 val
* var11
/* : nullable MType */;
8192 val
* var_recvtype
/* var recvtype: nullable MType */;
8193 short int var12
/* : Bool */;
8194 short int var13
/* : Bool */;
8195 short int var15
/* : Bool */;
8196 short int var16
/* : Bool */;
8197 val
* var17
/* : nullable MPropDef */;
8198 val
* var19
/* : nullable MPropDef */;
8199 val
* var_mpropdef
/* var mpropdef: nullable MPropDef */;
8200 short int var20
/* : Bool */;
8203 val
* var21
/* : MProperty */;
8204 val
* var23
/* : MProperty */;
8205 val
* var_mproperty
/* var mproperty: MMethod */;
8206 val
* var_superprop
/* var superprop: nullable MMethodDef */;
8207 val
* var24
/* : MClassDef */;
8208 val
* var26
/* : MClassDef */;
8209 val
* var27
/* : Array[MClassType] */;
8210 val
* var29
/* : Array[MClassType] */;
8211 val
* var_
/* var : Array[MClassType] */;
8212 val
* var30
/* : ArrayIterator[nullable Object] */;
8213 val
* var_31
/* var : ArrayIterator[MClassType] */;
8214 short int var32
/* : Bool */;
8215 val
* var33
/* : nullable Object */;
8216 val
* var_msupertype
/* var msupertype: MClassType */;
8217 val
* var34
/* : MModule */;
8218 val
* var36
/* : MModule */;
8219 val
* var37
/* : MClassType */;
8220 val
* var38
/* : ModelBuilder */;
8221 val
* var40
/* : ModelBuilder */;
8222 val
* var41
/* : ToolContext */;
8223 val
* var43
/* : ToolContext */;
8224 long var44
/* : Int */;
8225 long var46
/* : Int */;
8226 long var_errcount
/* var errcount: Int */;
8227 val
* var47
/* : String */;
8228 val
* var49
/* : String */;
8229 val
* var50
/* : nullable MProperty */;
8230 short int var51
/* : Bool */;
8233 const char* var_class_name
;
8234 val
* var_candidate
/* var candidate: nullable MMethod */;
8235 short int var54
/* : Bool */;
8236 short int var55
/* : Bool */;
8237 val
* var_other57
/* var other: nullable Object */;
8238 short int var58
/* : Bool */;
8239 short int var60
/* : Bool */;
8240 val
* var61
/* : ModelBuilder */;
8241 val
* var63
/* : ModelBuilder */;
8242 val
* var64
/* : ToolContext */;
8243 val
* var66
/* : ToolContext */;
8244 long var67
/* : Int */;
8245 long var69
/* : Int */;
8246 short int var70
/* : Bool */;
8247 short int var72
/* : Bool */;
8250 const char* var_class_name75
;
8251 short int var76
/* : Bool */;
8252 short int var77
/* : Bool */;
8253 short int var78
/* : Bool */;
8254 short int var79
/* : Bool */;
8255 short int var81
/* : Bool */;
8256 short int var82
/* : Bool */;
8257 short int var_83
/* var : Bool */;
8258 short int var84
/* : Bool */;
8259 short int var86
/* : Bool */;
8260 short int var87
/* : Bool */;
8261 short int var88
/* : Bool */;
8262 short int var89
/* : Bool */;
8263 short int var90
/* : Bool */;
8264 short int var92
/* : Bool */;
8265 short int var93
/* : Bool */;
8266 short int var_94
/* var : Bool */;
8267 val
* var95
/* : MProperty */;
8268 val
* var97
/* : MProperty */;
8269 short int var98
/* : Bool */;
8270 short int var100
/* : Bool */;
8271 short int var101
/* : Bool */;
8272 short int var_102
/* var : Bool */;
8273 val
* var103
/* : MProperty */;
8274 val
* var105
/* : MProperty */;
8275 short int var106
/* : Bool */;
8276 short int var108
/* : Bool */;
8277 short int var109
/* : Bool */;
8278 val
* var110
/* : NativeArray[String] */;
8279 static val
* varonce
;
8280 static val
* varonce111
;
8281 val
* var112
/* : String */;
8282 char* var113
/* : NativeString */;
8283 val
* var114
/* : FlatString */;
8284 static val
* varonce115
;
8285 val
* var116
/* : String */;
8286 char* var117
/* : NativeString */;
8287 val
* var118
/* : FlatString */;
8288 static val
* varonce119
;
8289 val
* var120
/* : String */;
8290 char* var121
/* : NativeString */;
8291 val
* var122
/* : FlatString */;
8292 static val
* varonce123
;
8293 val
* var124
/* : String */;
8294 char* var125
/* : NativeString */;
8295 val
* var126
/* : FlatString */;
8296 val
* var127
/* : String */;
8297 val
* var128
/* : String */;
8298 val
* var129
/* : MProperty */;
8299 val
* var131
/* : MProperty */;
8300 val
* var132
/* : String */;
8301 val
* var133
/* : String */;
8302 val
* var134
/* : MModule */;
8303 val
* var136
/* : MModule */;
8304 val
* var137
/* : Array[MPropDef] */;
8305 val
* var_candidatedefs
/* var candidatedefs: Array[MMethodDef] */;
8306 short int var138
/* : Bool */;
8307 short int var139
/* : Bool */;
8308 short int var140
/* : Bool */;
8309 short int var142
/* : Bool */;
8310 short int var143
/* : Bool */;
8311 short int var_144
/* var : Bool */;
8312 val
* var145
/* : MProperty */;
8313 val
* var147
/* : MProperty */;
8314 short int var148
/* : Bool */;
8315 short int var150
/* : Bool */;
8316 short int var152
/* : Bool */;
8317 val
* var153
/* : nullable Object */;
8318 short int var154
/* : Bool */;
8319 short int var156
/* : Bool */;
8320 short int var158
/* : Bool */;
8321 long var159
/* : Int */;
8322 long var161
/* : Int */;
8323 short int var162
/* : Bool */;
8324 short int var164
/* : Bool */;
8327 const char* var_class_name167
;
8328 short int var168
/* : Bool */;
8329 val
* var170
/* : NativeArray[String] */;
8330 static val
* varonce169
;
8331 static val
* varonce171
;
8332 val
* var172
/* : String */;
8333 char* var173
/* : NativeString */;
8334 val
* var174
/* : FlatString */;
8335 static val
* varonce175
;
8336 val
* var176
/* : String */;
8337 char* var177
/* : NativeString */;
8338 val
* var178
/* : FlatString */;
8339 static val
* varonce179
;
8340 val
* var180
/* : String */;
8341 char* var181
/* : NativeString */;
8342 val
* var182
/* : FlatString */;
8343 val
* var183
/* : String */;
8344 val
* var184
/* : String */;
8345 static val
* varonce185
;
8346 val
* var186
/* : String */;
8347 char* var187
/* : NativeString */;
8348 val
* var188
/* : FlatString */;
8349 val
* var189
/* : String */;
8350 val
* var190
/* : String */;
8351 val
* var191
/* : nullable Object */;
8352 short int var193
/* : Bool */;
8353 short int var194
/* : Bool */;
8354 short int var196
/* : Bool */;
8355 short int var198
/* : Bool */;
8356 val
* var200
/* : NativeArray[String] */;
8357 static val
* varonce199
;
8358 static val
* varonce201
;
8359 val
* var202
/* : String */;
8360 char* var203
/* : NativeString */;
8361 val
* var204
/* : FlatString */;
8362 static val
* varonce205
;
8363 val
* var206
/* : String */;
8364 char* var207
/* : NativeString */;
8365 val
* var208
/* : FlatString */;
8366 val
* var209
/* : String */;
8367 val
* var210
/* : String */;
8368 val
* var211
/* : MSignature */;
8369 val
* var212
/* : nullable MSignature */;
8370 val
* var214
/* : nullable MSignature */;
8371 val
* var215
/* : nullable MSignature */;
8372 val
* var217
/* : nullable MSignature */;
8373 val
* var_msignature
/* var msignature: MSignature */;
8374 val
* var218
/* : MType */;
8375 short int var219
/* : Bool */;
8378 const char* var_class_name222
;
8379 val
* var223
/* : CallSite */;
8380 val
* var224
/* : MModule */;
8381 val
* var226
/* : MModule */;
8382 val
* var227
/* : nullable MClassType */;
8383 val
* var229
/* : nullable MClassType */;
8384 val
* var230
/* : MProperty */;
8385 val
* var232
/* : MProperty */;
8386 val
* var_callsite
/* var callsite: CallSite */;
8387 val
* var234
/* : AExprs */;
8388 val
* var236
/* : AExprs */;
8389 val
* var237
/* : Array[AExpr] */;
8390 val
* var_args
/* var args: Array[AExpr] */;
8391 long var238
/* : Int */;
8392 long var240
/* : Int */;
8393 short int var241
/* : Bool */;
8394 short int var243
/* : Bool */;
8397 const char* var_class_name246
;
8398 short int var247
/* : Bool */;
8399 short int var248
/* : Bool */;
8400 val
* var249
/* : nullable MSignature */;
8401 val
* var251
/* : nullable MSignature */;
8402 long var252
/* : Int */;
8403 long var253
/* : Int */;
8404 short int var254
/* : Bool */;
8405 short int var256
/* : Bool */;
8408 const char* var_class_name259
;
8409 short int var260
/* : Bool */;
8410 val
* var262
/* : NativeArray[String] */;
8411 static val
* varonce261
;
8412 static val
* varonce263
;
8413 val
* var264
/* : String */;
8414 char* var265
/* : NativeString */;
8415 val
* var266
/* : FlatString */;
8416 static val
* varonce267
;
8417 val
* var268
/* : String */;
8418 char* var269
/* : NativeString */;
8419 val
* var270
/* : FlatString */;
8420 static val
* varonce271
;
8421 val
* var272
/* : String */;
8422 char* var273
/* : NativeString */;
8423 val
* var274
/* : FlatString */;
8424 static val
* varonce275
;
8425 val
* var276
/* : String */;
8426 char* var277
/* : NativeString */;
8427 val
* var278
/* : FlatString */;
8428 val
* var279
/* : nullable MSignature */;
8429 val
* var281
/* : nullable MSignature */;
8430 long var282
/* : Int */;
8431 val
* var283
/* : String */;
8432 long var284
/* : Int */;
8433 val
* var285
/* : String */;
8434 val
* var286
/* : String */;
8435 val
* var287
/* : String */;
8436 long var_i
/* var i: Int */;
8437 val
* var288
/* : Array[MParameter] */;
8438 val
* var290
/* : Array[MParameter] */;
8439 val
* var_291
/* var : Array[MParameter] */;
8440 val
* var292
/* : ArrayIterator[nullable Object] */;
8441 val
* var_293
/* var : ArrayIterator[MParameter] */;
8442 short int var294
/* : Bool */;
8443 val
* var295
/* : nullable Object */;
8444 val
* var_sp
/* var sp: MParameter */;
8445 val
* var296
/* : nullable MSignature */;
8446 val
* var298
/* : nullable MSignature */;
8447 val
* var299
/* : Array[MParameter] */;
8448 val
* var301
/* : Array[MParameter] */;
8449 val
* var302
/* : nullable Object */;
8450 val
* var_p
/* var p: MParameter */;
8451 val
* var303
/* : MType */;
8452 val
* var305
/* : MType */;
8453 val
* var306
/* : MType */;
8454 val
* var308
/* : MType */;
8455 short int var309
/* : Bool */;
8456 short int var310
/* : Bool */;
8457 val
* var312
/* : NativeArray[String] */;
8458 static val
* varonce311
;
8459 static val
* varonce313
;
8460 val
* var314
/* : String */;
8461 char* var315
/* : NativeString */;
8462 val
* var316
/* : FlatString */;
8463 static val
* varonce317
;
8464 val
* var318
/* : String */;
8465 char* var319
/* : NativeString */;
8466 val
* var320
/* : FlatString */;
8467 static val
* varonce321
;
8468 val
* var322
/* : String */;
8469 char* var323
/* : NativeString */;
8470 val
* var324
/* : FlatString */;
8471 static val
* varonce325
;
8472 val
* var326
/* : String */;
8473 char* var327
/* : NativeString */;
8474 val
* var328
/* : FlatString */;
8475 static val
* varonce329
;
8476 val
* var330
/* : String */;
8477 char* var331
/* : NativeString */;
8478 val
* var332
/* : FlatString */;
8479 val
* var333
/* : String */;
8480 val
* var334
/* : MType */;
8481 val
* var336
/* : MType */;
8482 val
* var337
/* : String */;
8483 val
* var338
/* : String */;
8484 val
* var340
/* : String */;
8485 val
* var341
/* : MType */;
8486 val
* var343
/* : MType */;
8487 val
* var344
/* : String */;
8488 val
* var345
/* : String */;
8489 val
* var346
/* : String */;
8490 long var347
/* : Int */;
8491 short int var349
/* : Bool */;
8494 const char* var_class_name352
;
8495 long var353
/* : Int */;
8498 { /* Inline typing#TypeVisitor#anchor (var_v) on <var_v:TypeVisitor> */
8499 var2
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___anchor
].val
; /* _anchor on <var_v:TypeVisitor> */
8505 if (var_anchor
== NULL
) {
8506 var3
= 0; /* is null */
8508 var3
= 1; /* arg is null and recv is not */
8511 { /* Inline kernel#Object#!= (var_anchor,((val*)NULL)) on <var_anchor:nullable MClassType> */
8512 var_other
= ((val
*)NULL
);
8514 var6
= ((short int(*)(val
* self
, val
* p0
))(var_anchor
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_anchor
, var_other
); /* == on <var_anchor:nullable MClassType(MClassType)>*/
8523 if (unlikely(!var3
)) {
8524 PRINT_ERROR("Runtime error: %s", "Assert failed");
8525 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1861);
8529 { /* Inline typing#TypeVisitor#selfvariable (var_v) on <var_v:TypeVisitor> */
8530 var10
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___selfvariable
].val
; /* _selfvariable on <var_v:TypeVisitor> */
8531 if (unlikely(var10
== NULL
)) {
8532 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable");
8533 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 50);
8541 var11
= nit__typing___nit__typing__TypeVisitor___get_variable(var_v
, self
, var8
);
8543 var_recvtype
= var11
;
8544 if (var_recvtype
== NULL
) {
8545 var12
= 0; /* is null */
8547 var12
= 1; /* arg is null and recv is not */
8550 { /* Inline kernel#Object#!= (var_recvtype,((val*)NULL)) on <var_recvtype:nullable MType> */
8551 var_other
= ((val
*)NULL
);
8553 var15
= ((short int(*)(val
* self
, val
* p0
))(var_recvtype
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_recvtype
, var_other
); /* == on <var_recvtype:nullable MType(MType)>*/
8558 RET_LABEL14
:(void)0;
8562 if (unlikely(!var12
)) {
8563 PRINT_ERROR("Runtime error: %s", "Assert failed");
8564 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1863);
8568 { /* Inline typing#TypeVisitor#mpropdef (var_v) on <var_v:TypeVisitor> */
8569 var19
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___mpropdef
].val
; /* _mpropdef on <var_v:TypeVisitor> */
8571 RET_LABEL18
:(void)0;
8574 var_mpropdef
= var17
;
8575 /* <var_mpropdef:nullable MPropDef> isa MMethodDef */
8576 cltype
= type_nit__MMethodDef
.color
;
8577 idtype
= type_nit__MMethodDef
.id
;
8578 if(var_mpropdef
== NULL
) {
8581 if(cltype
>= var_mpropdef
->type
->table_size
) {
8584 var20
= var_mpropdef
->type
->type_table
[cltype
] == idtype
;
8587 if (unlikely(!var20
)) {
8588 PRINT_ERROR("Runtime error: %s", "Assert failed");
8589 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1865);
8593 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MPropDef(MMethodDef)> */
8594 var23
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MPropDef(MMethodDef)> */
8595 if (unlikely(var23
== NULL
)) {
8596 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8597 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
8601 RET_LABEL22
:(void)0;
8604 var_mproperty
= var21
;
8605 var_superprop
= ((val
*)NULL
);
8607 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MPropDef(MMethodDef)> */
8608 var26
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:nullable MPropDef(MMethodDef)> */
8609 if (unlikely(var26
== NULL
)) {
8610 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
8611 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
8615 RET_LABEL25
:(void)0;
8619 { /* Inline model#MClassDef#supertypes (var24) on <var24:MClassDef> */
8620 var29
= var24
->attrs
[COLOR_nit__model__MClassDef___supertypes
].val
; /* _supertypes on <var24:MClassDef> */
8621 if (unlikely(var29
== NULL
)) {
8622 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
8623 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 627);
8627 RET_LABEL28
:(void)0;
8632 var30
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
8637 var32
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_31
);
8641 var33
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_31
);
8643 var_msupertype
= var33
;
8645 { /* Inline typing#TypeVisitor#mmodule (var_v) on <var_v:TypeVisitor> */
8646 var36
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
8647 if (unlikely(var36
== NULL
)) {
8648 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
8649 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 36);
8653 RET_LABEL35
:(void)0;
8657 var37
= nit___nit__MClassType___MType__anchor_to(var_msupertype
, var34
, var_anchor
);
8659 var_msupertype
= var37
;
8661 { /* Inline typing#TypeVisitor#modelbuilder (var_v) on <var_v:TypeVisitor> */
8662 var40
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <var_v:TypeVisitor> */
8663 if (unlikely(var40
== NULL
)) {
8664 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8665 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 34);
8669 RET_LABEL39
:(void)0;
8673 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var38) on <var38:ModelBuilder> */
8674 var43
= var38
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var38:ModelBuilder> */
8675 if (unlikely(var43
== NULL
)) {
8676 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8677 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
8681 RET_LABEL42
:(void)0;
8685 { /* Inline toolcontext#ToolContext#error_count (var41) on <var41:ToolContext> */
8686 var46
= var41
->attrs
[COLOR_nit__toolcontext__ToolContext___error_count
].l
; /* _error_count on <var41:ToolContext> */
8688 RET_LABEL45
:(void)0;
8691 var_errcount
= var44
;
8693 { /* Inline model#MProperty#name (var_mproperty) on <var_mproperty:MMethod> */
8694 var49
= var_mproperty
->attrs
[COLOR_nit__model__MProperty___name
].val
; /* _name on <var_mproperty:MMethod> */
8695 if (unlikely(var49
== NULL
)) {
8696 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
8697 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1933);
8701 RET_LABEL48
:(void)0;
8705 var50
= nit__typing___nit__typing__TypeVisitor___try_get_mproperty_by_name2(var_v
, self
, var_msupertype
, var47
);
8707 /* <var50:nullable MProperty> isa nullable MMethod */
8708 cltype52
= type_nullable__nit__MMethod
.color
;
8709 idtype53
= type_nullable__nit__MMethod
.id
;
8713 if(cltype52
>= var50
->type
->table_size
) {
8716 var51
= var50
->type
->type_table
[cltype52
] == idtype53
;
8719 if (unlikely(!var51
)) {
8720 var_class_name
= var50
== NULL ?
"null" : var50
->type
->name
;
8721 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name
);
8722 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1871);
8725 var_candidate
= var50
;
8726 if (var_candidate
== NULL
) {
8727 var54
= 1; /* is null */
8729 var54
= 0; /* arg is null but recv is not */
8732 { /* Inline kernel#Object#== (var_candidate,((val*)NULL)) on <var_candidate:nullable MMethod> */
8733 var_other57
= ((val
*)NULL
);
8735 { /* Inline kernel#Object#is_same_instance (var_candidate,var_other57) on <var_candidate:nullable MMethod(MMethod)> */
8736 var60
= var_candidate
== var_other57
;
8739 RET_LABEL59
:(void)0;
8744 RET_LABEL56
:(void)0;
8750 { /* Inline typing#TypeVisitor#modelbuilder (var_v) on <var_v:TypeVisitor> */
8751 var63
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <var_v:TypeVisitor> */
8752 if (unlikely(var63
== NULL
)) {
8753 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8754 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 34);
8758 RET_LABEL62
:(void)0;
8762 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var61) on <var61:ModelBuilder> */
8763 var66
= var61
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var61:ModelBuilder> */
8764 if (unlikely(var66
== NULL
)) {
8765 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8766 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
8770 RET_LABEL65
:(void)0;
8774 { /* Inline toolcontext#ToolContext#error_count (var64) on <var64:ToolContext> */
8775 var69
= var64
->attrs
[COLOR_nit__toolcontext__ToolContext___error_count
].l
; /* _error_count on <var64:ToolContext> */
8777 RET_LABEL68
:(void)0;
8781 { /* Inline kernel#Int#> (var67,var_errcount) on <var67:Int> */
8782 /* Covariant cast for argument 0 (i) <var_errcount:Int> isa OTHER */
8783 /* <var_errcount:Int> isa OTHER */
8784 var72
= 1; /* easy <var_errcount:Int> isa OTHER*/
8785 if (unlikely(!var72
)) {
8786 var_class_name75
= type_standard__Int
.name
;
8787 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name75
);
8788 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 536);
8791 var76
= var67
> var_errcount
;
8794 RET_LABEL71
:(void)0;
8804 if (var_superprop
== NULL
) {
8805 var78
= 0; /* is null */
8807 var78
= 1; /* arg is null and recv is not */
8810 { /* Inline kernel#Object#!= (var_superprop,((val*)NULL)) on <var_superprop:nullable MMethodDef> */
8811 var_other
= ((val
*)NULL
);
8813 var81
= ((short int(*)(val
* self
, val
* p0
))(var_superprop
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_superprop
, var_other
); /* == on <var_superprop:nullable MMethodDef(MMethodDef)>*/
8818 RET_LABEL80
:(void)0;
8825 { /* Inline model#MMethod#is_root_init (var_candidate) on <var_candidate:nullable MMethod(MMethod)> */
8826 var86
= var_candidate
->attrs
[COLOR_nit__model__MMethod___is_root_init
].s
; /* _is_root_init on <var_candidate:nullable MMethod(MMethod)> */
8828 RET_LABEL85
:(void)0;
8839 if (var_superprop
== NULL
) {
8840 var89
= 0; /* is null */
8842 var89
= 1; /* arg is null and recv is not */
8845 { /* Inline kernel#Object#!= (var_superprop,((val*)NULL)) on <var_superprop:nullable MMethodDef> */
8846 var_other
= ((val
*)NULL
);
8848 var92
= ((short int(*)(val
* self
, val
* p0
))(var_superprop
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_superprop
, var_other
); /* == on <var_superprop:nullable MMethodDef(MMethodDef)>*/
8853 RET_LABEL91
:(void)0;
8860 { /* Inline model#MPropDef#mproperty (var_superprop) on <var_superprop:nullable MMethodDef(MMethodDef)> */
8861 var97
= var_superprop
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_superprop:nullable MMethodDef(MMethodDef)> */
8862 if (unlikely(var97
== NULL
)) {
8863 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8864 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
8868 RET_LABEL96
:(void)0;
8872 { /* Inline kernel#Object#!= (var95,var_candidate) on <var95:MProperty(MMethod)> */
8873 var_other
= var_candidate
;
8875 var100
= ((short int(*)(val
* self
, val
* p0
))(var95
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var95
, var_other
); /* == on <var95:MProperty(MMethod)>*/
8880 RET_LABEL99
:(void)0;
8890 { /* Inline model#MPropDef#mproperty (var_superprop) on <var_superprop:nullable MMethodDef(MMethodDef)> */
8891 var105
= var_superprop
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_superprop:nullable MMethodDef(MMethodDef)> */
8892 if (unlikely(var105
== NULL
)) {
8893 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8894 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
8898 RET_LABEL104
:(void)0;
8902 { /* Inline model#MMethod#is_root_init (var103) on <var103:MProperty(MMethod)> */
8903 var108
= var103
->attrs
[COLOR_nit__model__MMethod___is_root_init
].s
; /* _is_root_init on <var103:MProperty(MMethod)> */
8905 RET_LABEL107
:(void)0;
8914 if (unlikely(varonce
==NULL
)) {
8915 var110
= NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String
);
8916 if (likely(varonce111
!=NULL
)) {
8917 var112
= varonce111
;
8919 var113
= "Error: conflicting super constructor to call for `";
8920 var114
= standard___standard__NativeString___to_s_with_length(var113
, 50l);
8922 varonce111
= var112
;
8924 ((struct instance_standard__NativeArray
*)var110
)->values
[0]=var112
;
8925 if (likely(varonce115
!=NULL
)) {
8926 var116
= varonce115
;
8929 var118
= standard___standard__NativeString___to_s_with_length(var117
, 4l);
8931 varonce115
= var116
;
8933 ((struct instance_standard__NativeArray
*)var110
)->values
[2]=var116
;
8934 if (likely(varonce119
!=NULL
)) {
8935 var120
= varonce119
;
8938 var122
= standard___standard__NativeString___to_s_with_length(var121
, 4l);
8940 varonce119
= var120
;
8942 ((struct instance_standard__NativeArray
*)var110
)->values
[4]=var120
;
8943 if (likely(varonce123
!=NULL
)) {
8944 var124
= varonce123
;
8947 var126
= standard___standard__NativeString___to_s_with_length(var125
, 1l);
8949 varonce123
= var124
;
8951 ((struct instance_standard__NativeArray
*)var110
)->values
[6]=var124
;
8957 var127
= ((val
*(*)(val
* self
))(var_mproperty
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mproperty
); /* to_s on <var_mproperty:MMethod>*/
8959 ((struct instance_standard__NativeArray
*)var110
)->values
[1]=var127
;
8961 var128
= nit___nit__MProperty___nit__model_base__MEntity__full_name(var_candidate
);
8963 ((struct instance_standard__NativeArray
*)var110
)->values
[3]=var128
;
8965 { /* Inline model#MPropDef#mproperty (var_superprop) on <var_superprop:nullable MMethodDef(MMethodDef)> */
8966 var131
= var_superprop
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_superprop:nullable MMethodDef(MMethodDef)> */
8967 if (unlikely(var131
== NULL
)) {
8968 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8969 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
8973 RET_LABEL130
:(void)0;
8977 var132
= nit___nit__MProperty___nit__model_base__MEntity__full_name(var129
);
8979 ((struct instance_standard__NativeArray
*)var110
)->values
[5]=var132
;
8981 var133
= ((val
*(*)(val
* self
))(var110
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var110
); /* native_to_s on <var110:NativeArray[String]>*/
8985 nit__typing___nit__typing__TypeVisitor___error(var_v
, self
, var133
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
8991 { /* Inline typing#TypeVisitor#mmodule (var_v) on <var_v:TypeVisitor> */
8992 var136
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
8993 if (unlikely(var136
== NULL
)) {
8994 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
8995 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 36);
8999 RET_LABEL135
:(void)0;
9003 var137
= nit___nit__MProperty___lookup_definitions(var_candidate
, var134
, var_anchor
);
9005 var_candidatedefs
= var137
;
9006 if (var_superprop
== NULL
) {
9007 var139
= 0; /* is null */
9009 var139
= 1; /* arg is null and recv is not */
9012 { /* Inline kernel#Object#!= (var_superprop,((val*)NULL)) on <var_superprop:nullable MMethodDef> */
9013 var_other
= ((val
*)NULL
);
9015 var142
= ((short int(*)(val
* self
, val
* p0
))(var_superprop
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_superprop
, var_other
); /* == on <var_superprop:nullable MMethodDef(MMethodDef)>*/
9020 RET_LABEL141
:(void)0;
9027 { /* Inline model#MPropDef#mproperty (var_superprop) on <var_superprop:nullable MMethodDef(MMethodDef)> */
9028 var147
= var_superprop
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_superprop:nullable MMethodDef(MMethodDef)> */
9029 if (unlikely(var147
== NULL
)) {
9030 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
9031 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
9035 RET_LABEL146
:(void)0;
9039 { /* Inline kernel#Object#== (var145,var_candidate) on <var145:MProperty(MMethod)> */
9040 var_other57
= var_candidate
;
9042 { /* Inline kernel#Object#is_same_instance (var145,var_other57) on <var145:MProperty(MMethod)> */
9043 var152
= var145
== var_other57
;
9046 RET_LABEL151
:(void)0;
9051 RET_LABEL149
:(void)0;
9060 var153
= standard___standard__SequenceRead___Collection__first(var_candidatedefs
);
9063 { /* Inline kernel#Object#== (var_superprop,var153) on <var_superprop:nullable MMethodDef(MMethodDef)> */
9064 var_other57
= var153
;
9066 { /* Inline kernel#Object#is_same_instance (var_superprop,var_other57) on <var_superprop:nullable MMethodDef(MMethodDef)> */
9067 var158
= var_superprop
== var_other57
;
9070 RET_LABEL157
:(void)0;
9075 RET_LABEL155
:(void)0;
9083 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_candidatedefs
, var_superprop
); /* Direct call array#Array#add on <var_candidatedefs:Array[MMethodDef]>*/
9088 { /* Inline array#AbstractArrayRead#length (var_candidatedefs) on <var_candidatedefs:Array[MMethodDef]> */
9089 var161
= var_candidatedefs
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_candidatedefs:Array[MMethodDef]> */
9091 RET_LABEL160
:(void)0;
9095 { /* Inline kernel#Int#> (var159,1l) on <var159:Int> */
9096 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
9097 /* <1l:Int> isa OTHER */
9098 var164
= 1; /* easy <1l:Int> isa OTHER*/
9099 if (unlikely(!var164
)) {
9100 var_class_name167
= type_standard__Int
.name
;
9101 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name167
);
9102 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 536);
9105 var168
= var159
> 1l;
9108 RET_LABEL163
:(void)0;
9112 if (unlikely(varonce169
==NULL
)) {
9113 var170
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String
);
9114 if (likely(varonce171
!=NULL
)) {
9115 var172
= varonce171
;
9117 var173
= "Error: conflicting property definitions for property `";
9118 var174
= standard___standard__NativeString___to_s_with_length(var173
, 54l);
9120 varonce171
= var172
;
9122 ((struct instance_standard__NativeArray
*)var170
)->values
[0]=var172
;
9123 if (likely(varonce175
!=NULL
)) {
9124 var176
= varonce175
;
9127 var178
= standard___standard__NativeString___to_s_with_length(var177
, 6l);
9129 varonce175
= var176
;
9131 ((struct instance_standard__NativeArray
*)var170
)->values
[2]=var176
;
9132 if (likely(varonce179
!=NULL
)) {
9133 var180
= varonce179
;
9136 var182
= standard___standard__NativeString___to_s_with_length(var181
, 3l);
9138 varonce179
= var180
;
9140 ((struct instance_standard__NativeArray
*)var170
)->values
[4]=var180
;
9142 var170
= varonce169
;
9146 var183
= ((val
*(*)(val
* self
))(var_mproperty
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mproperty
); /* to_s on <var_mproperty:MMethod>*/
9148 ((struct instance_standard__NativeArray
*)var170
)->values
[1]=var183
;
9150 var184
= ((val
*(*)(val
* self
))(var_recvtype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_recvtype
); /* to_s on <var_recvtype:nullable MType(MType)>*/
9152 ((struct instance_standard__NativeArray
*)var170
)->values
[3]=var184
;
9153 if (likely(varonce185
!=NULL
)) {
9154 var186
= varonce185
;
9157 var188
= standard___standard__NativeString___to_s_with_length(var187
, 2l);
9159 varonce185
= var186
;
9162 var189
= standard__string___Collection___join(var_candidatedefs
, var186
);
9164 ((struct instance_standard__NativeArray
*)var170
)->values
[5]=var189
;
9166 var190
= ((val
*(*)(val
* self
))(var170
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var170
); /* native_to_s on <var170:NativeArray[String]>*/
9168 varonce169
= var170
;
9170 nit__typing___nit__typing__TypeVisitor___error(var_v
, self
, var190
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
9176 var191
= standard___standard__SequenceRead___Collection__first(var_candidatedefs
);
9178 var_superprop
= var191
;
9179 BREAK_label
: (void)0;
9181 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_31
); /* Direct call array#ArrayIterator#next on <var_31:ArrayIterator[MClassType]>*/
9184 goto BREAK_label192
;
9187 BREAK_label192
: (void)0;
9189 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_31
); /* Direct call array#ArrayIterator#finish on <var_31:ArrayIterator[MClassType]>*/
9191 if (var_superprop
== NULL
) {
9192 var193
= 1; /* is null */
9194 var193
= 0; /* arg is null but recv is not */
9197 { /* Inline kernel#Object#== (var_superprop,((val*)NULL)) on <var_superprop:nullable MMethodDef> */
9198 var_other57
= ((val
*)NULL
);
9200 { /* Inline kernel#Object#is_same_instance (var_superprop,var_other57) on <var_superprop:nullable MMethodDef(MMethodDef)> */
9201 var198
= var_superprop
== var_other57
;
9204 RET_LABEL197
:(void)0;
9209 RET_LABEL195
:(void)0;
9214 if (unlikely(varonce199
==NULL
)) {
9215 var200
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
9216 if (likely(varonce201
!=NULL
)) {
9217 var202
= varonce201
;
9219 var203
= "Error: no super method to call for `";
9220 var204
= standard___standard__NativeString___to_s_with_length(var203
, 36l);
9222 varonce201
= var202
;
9224 ((struct instance_standard__NativeArray
*)var200
)->values
[0]=var202
;
9225 if (likely(varonce205
!=NULL
)) {
9226 var206
= varonce205
;
9229 var208
= standard___standard__NativeString___to_s_with_length(var207
, 2l);
9231 varonce205
= var206
;
9233 ((struct instance_standard__NativeArray
*)var200
)->values
[2]=var206
;
9235 var200
= varonce199
;
9239 var209
= ((val
*(*)(val
* self
))(var_mproperty
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mproperty
); /* to_s on <var_mproperty:MMethod>*/
9241 ((struct instance_standard__NativeArray
*)var200
)->values
[1]=var209
;
9243 var210
= ((val
*(*)(val
* self
))(var200
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var200
); /* native_to_s on <var200:NativeArray[String]>*/
9245 varonce199
= var200
;
9247 nit__typing___nit__typing__TypeVisitor___error(var_v
, self
, var210
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
9253 { /* Inline model#MMethodDef#new_msignature (var_superprop) on <var_superprop:nullable MMethodDef(MMethodDef)> */
9254 var214
= var_superprop
->attrs
[COLOR_nit__model__MMethodDef___new_msignature
].val
; /* _new_msignature on <var_superprop:nullable MMethodDef(MMethodDef)> */
9256 RET_LABEL213
:(void)0;
9263 { /* Inline model#MMethodDef#msignature (var_superprop) on <var_superprop:nullable MMethodDef(MMethodDef)> */
9264 var217
= var_superprop
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var_superprop:nullable MMethodDef(MMethodDef)> */
9266 RET_LABEL216
:(void)0;
9269 if (unlikely(var215
== NULL
)) {
9270 PRINT_ERROR("Runtime error: %s", "Cast failed");
9271 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1899);
9276 var_msignature
= var211
;
9278 var218
= nit__typing___nit__typing__TypeVisitor___resolve_for(var_v
, var_msignature
, var_recvtype
, 1);
9280 /* <var218:MType> isa MSignature */
9281 cltype220
= type_nit__MSignature
.color
;
9282 idtype221
= type_nit__MSignature
.id
;
9283 if(cltype220
>= var218
->type
->table_size
) {
9286 var219
= var218
->type
->type_table
[cltype220
] == idtype221
;
9288 if (unlikely(!var219
)) {
9289 var_class_name222
= var218
== NULL ?
"null" : var218
->type
->name
;
9290 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MSignature", var_class_name222
);
9291 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1900);
9294 var_msignature
= var218
;
9295 var223
= NEW_nit__CallSite(&type_nit__CallSite
);
9297 { /* Inline typing#TypeVisitor#mmodule (var_v) on <var_v:TypeVisitor> */
9298 var226
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
9299 if (unlikely(var226
== NULL
)) {
9300 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
9301 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 36);
9305 RET_LABEL225
:(void)0;
9309 { /* Inline typing#TypeVisitor#anchor (var_v) on <var_v:TypeVisitor> */
9310 var229
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___anchor
].val
; /* _anchor on <var_v:TypeVisitor> */
9312 RET_LABEL228
:(void)0;
9316 { /* Inline model#MPropDef#mproperty (var_superprop) on <var_superprop:nullable MMethodDef(MMethodDef)> */
9317 var232
= var_superprop
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_superprop:nullable MMethodDef(MMethodDef)> */
9318 if (unlikely(var232
== NULL
)) {
9319 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
9320 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
9324 RET_LABEL231
:(void)0;
9328 ((void(*)(val
* self
, val
* p0
))(var223
->class->vft
[COLOR_nit__typing__CallSite__node_61d
]))(var223
, self
); /* node= on <var223:CallSite>*/
9331 ((void(*)(val
* self
, val
* p0
))(var223
->class->vft
[COLOR_nit__typing__CallSite__recv_61d
]))(var223
, var_recvtype
); /* recv= on <var223:CallSite>*/
9334 ((void(*)(val
* self
, val
* p0
))(var223
->class->vft
[COLOR_nit__typing__CallSite__mmodule_61d
]))(var223
, var224
); /* mmodule= on <var223:CallSite>*/
9337 ((void(*)(val
* self
, val
* p0
))(var223
->class->vft
[COLOR_nit__typing__CallSite__anchor_61d
]))(var223
, var227
); /* anchor= on <var223:CallSite>*/
9340 ((void(*)(val
* self
, short int p0
))(var223
->class->vft
[COLOR_nit__typing__CallSite__recv_is_self_61d
]))(var223
, 1); /* recv_is_self= on <var223:CallSite>*/
9343 ((void(*)(val
* self
, val
* p0
))(var223
->class->vft
[COLOR_nit__typing__CallSite__mproperty_61d
]))(var223
, var230
); /* mproperty= on <var223:CallSite>*/
9346 ((void(*)(val
* self
, val
* p0
))(var223
->class->vft
[COLOR_nit__typing__CallSite__mpropdef_61d
]))(var223
, var_superprop
); /* mpropdef= on <var223:CallSite>*/
9349 ((void(*)(val
* self
, val
* p0
))(var223
->class->vft
[COLOR_nit__typing__CallSite__msignature_61d
]))(var223
, var_msignature
); /* msignature= on <var223:CallSite>*/
9352 ((void(*)(val
* self
, short int p0
))(var223
->class->vft
[COLOR_nit__typing__CallSite__erasure_cast_61d
]))(var223
, 0); /* erasure_cast= on <var223:CallSite>*/
9355 ((void(*)(val
* self
))(var223
->class->vft
[COLOR_standard__kernel__Object__init
]))(var223
); /* init on <var223:CallSite>*/
9357 var_callsite
= var223
;
9359 { /* Inline typing#ASuperExpr#callsite= (self,var_callsite) on <self:ASuperExpr> */
9360 self
->attrs
[COLOR_nit__typing__ASuperExpr___callsite
].val
= var_callsite
; /* _callsite on <self:ASuperExpr> */
9361 RET_LABEL233
:(void)0;
9365 { /* Inline parser_nodes#ASuperExpr#n_args (self) on <self:ASuperExpr> */
9366 var236
= self
->attrs
[COLOR_nit__parser_nodes__ASuperExpr___n_args
].val
; /* _n_args on <self:ASuperExpr> */
9367 if (unlikely(var236
== NULL
)) {
9368 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
9369 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2344);
9373 RET_LABEL235
:(void)0;
9377 var237
= nit__typing___AExprs___to_a(var234
);
9381 { /* Inline array#AbstractArrayRead#length (var_args) on <var_args:Array[AExpr]> */
9382 var240
= var_args
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_args:Array[AExpr]> */
9384 RET_LABEL239
:(void)0;
9388 { /* Inline kernel#Int#> (var238,0l) on <var238:Int> */
9389 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
9390 /* <0l:Int> isa OTHER */
9391 var243
= 1; /* easy <0l:Int> isa OTHER*/
9392 if (unlikely(!var243
)) {
9393 var_class_name246
= type_standard__Int
.name
;
9394 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name246
);
9395 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 536);
9398 var247
= var238
> 0l;
9401 RET_LABEL242
:(void)0;
9406 var248
= nit___nit__CallSite___check_signature(var_callsite
, var_v
, var_args
);
9410 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:nullable MPropDef(MMethodDef)> */
9411 var251
= var_mpropdef
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:nullable MPropDef(MMethodDef)> */
9413 RET_LABEL250
:(void)0;
9416 if (var249
== NULL
) {
9417 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9418 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1910);
9421 var252
= nit___nit__MSignature___arity(var249
);
9424 var253
= nit___nit__MSignature___arity(var_msignature
);
9427 { /* Inline kernel#Int#< (var252,var253) on <var252:Int> */
9428 /* Covariant cast for argument 0 (i) <var253:Int> isa OTHER */
9429 /* <var253:Int> isa OTHER */
9430 var256
= 1; /* easy <var253:Int> isa OTHER*/
9431 if (unlikely(!var256
)) {
9432 var_class_name259
= type_standard__Int
.name
;
9433 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name259
);
9434 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
9437 var260
= var252
< var253
;
9440 RET_LABEL255
:(void)0;
9444 if (unlikely(varonce261
==NULL
)) {
9445 var262
= NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String
);
9446 if (likely(varonce263
!=NULL
)) {
9447 var264
= varonce263
;
9449 var265
= "Error: not enough implicit arguments to pass. Got `";
9450 var266
= standard___standard__NativeString___to_s_with_length(var265
, 51l);
9452 varonce263
= var264
;
9454 ((struct instance_standard__NativeArray
*)var262
)->values
[0]=var264
;
9455 if (likely(varonce267
!=NULL
)) {
9456 var268
= varonce267
;
9458 var269
= "`, expected at least `";
9459 var270
= standard___standard__NativeString___to_s_with_length(var269
, 22l);
9461 varonce267
= var268
;
9463 ((struct instance_standard__NativeArray
*)var262
)->values
[2]=var268
;
9464 if (likely(varonce271
!=NULL
)) {
9465 var272
= varonce271
;
9467 var273
= "`. Signature is `";
9468 var274
= standard___standard__NativeString___to_s_with_length(var273
, 17l);
9470 varonce271
= var272
;
9472 ((struct instance_standard__NativeArray
*)var262
)->values
[4]=var272
;
9473 if (likely(varonce275
!=NULL
)) {
9474 var276
= varonce275
;
9477 var278
= standard___standard__NativeString___to_s_with_length(var277
, 2l);
9479 varonce275
= var276
;
9481 ((struct instance_standard__NativeArray
*)var262
)->values
[6]=var276
;
9483 var262
= varonce261
;
9487 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:nullable MPropDef(MMethodDef)> */
9488 var281
= var_mpropdef
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:nullable MPropDef(MMethodDef)> */
9490 RET_LABEL280
:(void)0;
9493 if (var279
== NULL
) {
9494 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9495 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1911);
9498 var282
= nit___nit__MSignature___arity(var279
);
9500 var283
= standard__string___Int___Object__to_s(var282
);
9501 ((struct instance_standard__NativeArray
*)var262
)->values
[1]=var283
;
9503 var284
= nit___nit__MSignature___arity(var_msignature
);
9505 var285
= standard__string___Int___Object__to_s(var284
);
9506 ((struct instance_standard__NativeArray
*)var262
)->values
[3]=var285
;
9508 var286
= ((val
*(*)(val
* self
))(var_msignature
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_msignature
); /* to_s on <var_msignature:MSignature>*/
9510 ((struct instance_standard__NativeArray
*)var262
)->values
[5]=var286
;
9512 var287
= ((val
*(*)(val
* self
))(var262
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var262
); /* native_to_s on <var262:NativeArray[String]>*/
9514 varonce261
= var262
;
9516 nit__typing___nit__typing__TypeVisitor___error(var_v
, self
, var287
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
9523 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:MSignature> */
9524 var290
= var_msignature
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
9525 if (unlikely(var290
== NULL
)) {
9526 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
9527 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1756);
9531 RET_LABEL289
:(void)0;
9536 var292
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_291
);
9541 var294
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_293
);
9545 var295
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_293
);
9549 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:nullable MPropDef(MMethodDef)> */
9550 var298
= var_mpropdef
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:nullable MPropDef(MMethodDef)> */
9552 RET_LABEL297
:(void)0;
9555 if (var296
== NULL
) {
9556 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9557 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 1917);
9560 { /* Inline model#MSignature#mparameters (var296) on <var296:nullable MSignature> */
9561 if (unlikely(var296
== NULL
)) {
9562 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9563 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1756);
9566 var301
= var296
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var296:nullable MSignature> */
9567 if (unlikely(var301
== NULL
)) {
9568 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
9569 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1756);
9573 RET_LABEL300
:(void)0;
9577 var302
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var299
, var_i
);
9581 { /* Inline model#MParameter#mtype (var_p) on <var_p:MParameter> */
9582 var305
= var_p
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var_p:MParameter> */
9583 if (unlikely(var305
== NULL
)) {
9584 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9585 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1879);
9589 RET_LABEL304
:(void)0;
9593 { /* Inline model#MParameter#mtype (var_sp) on <var_sp:MParameter> */
9594 var308
= var_sp
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var_sp:MParameter> */
9595 if (unlikely(var308
== NULL
)) {
9596 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9597 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1879);
9601 RET_LABEL307
:(void)0;
9605 var309
= nit__typing___nit__typing__TypeVisitor___is_subtype(var_v
, var303
, var306
);
9609 if (unlikely(varonce311
==NULL
)) {
9610 var312
= NEW_standard__NativeArray(10l, &type_standard__NativeArray__standard__String
);
9611 if (likely(varonce313
!=NULL
)) {
9612 var314
= varonce313
;
9614 var315
= "Type Error: expected argument #";
9615 var316
= standard___standard__NativeString___to_s_with_length(var315
, 31l);
9617 varonce313
= var314
;
9619 ((struct instance_standard__NativeArray
*)var312
)->values
[0]=var314
;
9620 if (likely(varonce317
!=NULL
)) {
9621 var318
= varonce317
;
9623 var319
= " of type `";
9624 var320
= standard___standard__NativeString___to_s_with_length(var319
, 10l);
9626 varonce317
= var318
;
9628 ((struct instance_standard__NativeArray
*)var312
)->values
[2]=var318
;
9629 if (likely(varonce321
!=NULL
)) {
9630 var322
= varonce321
;
9632 var323
= "`, got implicit argument `";
9633 var324
= standard___standard__NativeString___to_s_with_length(var323
, 26l);
9635 varonce321
= var322
;
9637 ((struct instance_standard__NativeArray
*)var312
)->values
[4]=var322
;
9638 if (likely(varonce325
!=NULL
)) {
9639 var326
= varonce325
;
9641 var327
= "` of type `";
9642 var328
= standard___standard__NativeString___to_s_with_length(var327
, 11l);
9644 varonce325
= var326
;
9646 ((struct instance_standard__NativeArray
*)var312
)->values
[6]=var326
;
9647 if (likely(varonce329
!=NULL
)) {
9648 var330
= varonce329
;
9650 var331
= "`. Signature is ";
9651 var332
= standard___standard__NativeString___to_s_with_length(var331
, 16l);
9653 varonce329
= var330
;
9655 ((struct instance_standard__NativeArray
*)var312
)->values
[8]=var330
;
9657 var312
= varonce311
;
9660 var333
= standard__string___Int___Object__to_s(var_i
);
9661 ((struct instance_standard__NativeArray
*)var312
)->values
[1]=var333
;
9663 { /* Inline model#MParameter#mtype (var_sp) on <var_sp:MParameter> */
9664 var336
= var_sp
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var_sp:MParameter> */
9665 if (unlikely(var336
== NULL
)) {
9666 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9667 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1879);
9671 RET_LABEL335
:(void)0;
9675 var337
= ((val
*(*)(val
* self
))(var334
->class->vft
[COLOR_standard__string__Object__to_s
]))(var334
); /* to_s on <var334:MType>*/
9677 ((struct instance_standard__NativeArray
*)var312
)->values
[3]=var337
;
9679 { /* Inline model#MParameter#name (var_p) on <var_p:MParameter> */
9680 var340
= var_p
->attrs
[COLOR_nit__model__MParameter___name
].val
; /* _name on <var_p:MParameter> */
9681 if (unlikely(var340
== NULL
)) {
9682 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
9683 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1876);
9687 RET_LABEL339
:(void)0;
9690 ((struct instance_standard__NativeArray
*)var312
)->values
[5]=var338
;
9692 { /* Inline model#MParameter#mtype (var_p) on <var_p:MParameter> */
9693 var343
= var_p
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var_p:MParameter> */
9694 if (unlikely(var343
== NULL
)) {
9695 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9696 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1879);
9700 RET_LABEL342
:(void)0;
9704 var344
= ((val
*(*)(val
* self
))(var341
->class->vft
[COLOR_standard__string__Object__to_s
]))(var341
); /* to_s on <var341:MType>*/
9706 ((struct instance_standard__NativeArray
*)var312
)->values
[7]=var344
;
9708 var345
= ((val
*(*)(val
* self
))(var_msignature
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_msignature
); /* to_s on <var_msignature:MSignature>*/
9710 ((struct instance_standard__NativeArray
*)var312
)->values
[9]=var345
;
9712 var346
= ((val
*(*)(val
* self
))(var312
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var312
); /* native_to_s on <var312:NativeArray[String]>*/
9714 varonce311
= var312
;
9716 nit__typing___nit__typing__TypeVisitor___error(var_v
, self
, var346
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
9722 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
9723 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
9724 /* <1l:Int> isa OTHER */
9725 var349
= 1; /* easy <1l:Int> isa OTHER*/
9726 if (unlikely(!var349
)) {
9727 var_class_name352
= type_standard__Int
.name
;
9728 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name352
);
9729 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
9732 var353
= var_i
+ 1l;
9735 RET_LABEL348
:(void)0;
9740 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_293
); /* Direct call array#ArrayIterator#next on <var_293:ArrayIterator[MParameter]>*/
9743 goto BREAK_label354
;
9746 BREAK_label354
: (void)0;
9748 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_293
); /* Direct call array#ArrayIterator#finish on <var_293:ArrayIterator[MParameter]>*/
9752 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ASuperExpr> */
9753 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ASuperExpr> */
9754 RET_LABEL355
:(void)0;
9759 /* method typing#ANewExpr#callsite for (self: ANewExpr): nullable CallSite */
9760 val
* nit__typing___ANewExpr___callsite(val
* self
) {
9761 val
* var
/* : nullable CallSite */;
9762 val
* var1
/* : nullable CallSite */;
9763 var1
= self
->attrs
[COLOR_nit__typing__ANewExpr___callsite
].val
; /* _callsite on <self:ANewExpr> */
9768 /* method typing#ANewExpr#callsite= for (self: ANewExpr, nullable CallSite) */
9769 void nit__typing___ANewExpr___callsite_61d(val
* self
, val
* p0
) {
9770 self
->attrs
[COLOR_nit__typing__ANewExpr___callsite
].val
= p0
; /* _callsite on <self:ANewExpr> */
9773 /* method typing#ANewExpr#recvtype for (self: ANewExpr): nullable MClassType */
9774 val
* nit__typing___ANewExpr___recvtype(val
* self
) {
9775 val
* var
/* : nullable MClassType */;
9776 val
* var1
/* : nullable MClassType */;
9777 var1
= self
->attrs
[COLOR_nit__typing__ANewExpr___recvtype
].val
; /* _recvtype on <self:ANewExpr> */
9782 /* method typing#ANewExpr#recvtype= for (self: ANewExpr, nullable MClassType) */
9783 void nit__typing___ANewExpr___recvtype_61d(val
* self
, val
* p0
) {
9784 self
->attrs
[COLOR_nit__typing__ANewExpr___recvtype
].val
= p0
; /* _recvtype on <self:ANewExpr> */