1 #include "nitc__typing.sep.0.h"
2 /* method typing$PostTypingVisitor$type_visitor for (self: PostTypingVisitor): TypeVisitor */
3 val
* nitc__typing___nitc__typing__PostTypingVisitor___type_visitor(val
* self
) {
4 val
* var
/* : TypeVisitor */;
5 val
* var1
/* : TypeVisitor */;
6 var1
= self
->attrs
[COLOR_nitc__typing__PostTypingVisitor___type_visitor
].val
; /* _type_visitor on <self:PostTypingVisitor> */
7 if (unlikely(var1
== NULL
)) {
8 if(catchStack
.cursor
>= 0){
9 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
11 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_visitor");
12 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 801);
19 /* method typing$PostTypingVisitor$type_visitor= for (self: PostTypingVisitor, TypeVisitor) */
20 void nitc__typing___nitc__typing__PostTypingVisitor___type_visitor_61d(val
* self
, val
* p0
) {
21 self
->attrs
[COLOR_nitc__typing__PostTypingVisitor___type_visitor
].val
= p0
; /* _type_visitor on <self:PostTypingVisitor> */
24 /* method typing$PostTypingVisitor$visit for (self: PostTypingVisitor, ANode) */
25 void nitc__typing___nitc__typing__PostTypingVisitor___nitc__parser_nodes__Visitor__visit(val
* self
, val
* p0
) {
26 val
* var_n
/* var n: ANode */;
27 val
* var
/* : TypeVisitor */;
28 val
* var2
/* : TypeVisitor */;
29 short int var3
/* : Bool */;
30 short int var4
/* : Bool */;
31 short int var5
/* : Bool */;
34 short int var_
/* var : Bool */;
35 val
* var6
/* : nullable MType */;
36 short int var7
/* : Bool */;
37 short int var8
/* : Bool */;
38 val
* var_other
/* var other: nullable Object */;
39 short int var10
/* : Bool */;
40 short int var12
/* : Bool */;
41 short int var_13
/* var : Bool */;
42 short int var14
/* : Bool */;
43 short int var16
/* : Bool */;
44 short int var17
/* : Bool */;
47 ((void(*)(val
* self
, val
* p0
))(var_n
->class->vft
[COLOR_nitc__parser_nodes__ANode__visit_all
]))(var_n
, self
); /* visit_all on <var_n:ANode>*/
50 { /* Inline typing$PostTypingVisitor$type_visitor (self) on <self:PostTypingVisitor> */
51 var2
= self
->attrs
[COLOR_nitc__typing__PostTypingVisitor___type_visitor
].val
; /* _type_visitor on <self:PostTypingVisitor> */
52 if (unlikely(var2
== NULL
)) {
53 if(catchStack
.cursor
>= 0){
54 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
56 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_visitor");
57 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 801);
65 ((void(*)(val
* self
, val
* p0
))(var_n
->class->vft
[COLOR_nitc__typing__ANode__accept_post_typing
]))(var_n
, var
); /* accept_post_typing on <var_n:ANode>*/
67 /* <var_n:ANode> isa AExpr */
68 cltype
= type_nitc__AExpr
.color
;
69 idtype
= type_nitc__AExpr
.id
;
70 if(cltype
>= var_n
->type
->table_size
) {
73 var5
= var_n
->type
->type_table
[cltype
] == idtype
;
78 var6
= ((val
*(*)(val
* self
))(var_n
->class->vft
[COLOR_nitc__typing__AExpr__mtype
]))(var_n
); /* mtype on <var_n:ANode(AExpr)>*/
81 var7
= 1; /* is null */
83 var7
= 0; /* arg is null but recv is not */
86 { /* Inline kernel$Object$== (var6,((val*)NULL)) on <var6:nullable MType> */
87 var_other
= ((val
*)NULL
);
89 { /* Inline kernel$Object$is_same_instance (var6,var_other) on <var6:nullable MType(MType)> */
90 var12
= var6
== var_other
;
109 { /* Inline typing$AExpr$is_typed (var_n) on <var_n:ANode(AExpr)> */
110 var16
= var_n
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
; /* _is_typed on <var_n:ANode(AExpr)> */
122 { /* Inline modelbuilder_base$ANode$is_broken= (var_n,1) on <var_n:ANode(AExpr)> */
123 var_n
->attrs
[COLOR_nitc__modelbuilder_base__ANode___is_broken
].s
= 1; /* _is_broken on <var_n:ANode(AExpr)> */
131 /* method typing$PostTypingVisitor$init for (self: PostTypingVisitor) */
132 void nitc__typing___nitc__typing__PostTypingVisitor___core__kernel__Object__init(val
* self
) {
134 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc__typing___nitc__typing__PostTypingVisitor___core__kernel__Object__init
]))(self
); /* init on <self:PostTypingVisitor>*/
138 /* method typing$ANode$accept_post_typing for (self: ANode, TypeVisitor) */
139 void nitc__typing___ANode___accept_post_typing(val
* self
, val
* p0
) {
140 val
* var_v
/* var v: TypeVisitor */;
144 /* method typing$ANode$bad_expr_message for (self: ANode, AExpr): nullable String */
145 val
* nitc__typing___ANode___bad_expr_message(val
* self
, val
* p0
) {
146 val
* var
/* : nullable String */;
147 val
* var_child
/* var child: AExpr */;
154 /* method typing$AAttrPropdef$do_typing for (self: AAttrPropdef, ModelBuilder) */
155 void nitc__typing___AAttrPropdef___APropdef__do_typing(val
* self
, val
* p0
) {
156 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
157 short int var
/* : Bool */;
158 short int var2
/* : Bool */;
159 short int var3
/* : Bool */;
160 val
* var4
/* : nullable MMethodDef */;
161 val
* var6
/* : nullable MMethodDef */;
162 val
* var_mpropdef
/* var mpropdef: nullable MMethodDef */;
163 short int var7
/* : Bool */;
164 short int var8
/* : Bool */;
165 short int var9
/* : Bool */;
166 val
* var_other
/* var other: nullable Object */;
167 short int var11
/* : Bool */;
168 short int var13
/* : Bool */;
169 short int var_
/* var : Bool */;
170 val
* var14
/* : nullable MSignature */;
171 val
* var16
/* : nullable MSignature */;
172 short int var17
/* : Bool */;
173 short int var18
/* : Bool */;
174 short int var20
/* : Bool */;
175 short int var22
/* : Bool */;
176 val
* var23
/* : TypeVisitor */;
177 val
* var24
/* : MClassDef */;
178 val
* var26
/* : MClassDef */;
179 val
* var27
/* : MModule */;
180 val
* var29
/* : MModule */;
181 val
* var_v
/* var v: TypeVisitor */;
182 val
* var30
/* : Variable */;
183 val
* var32
/* : Variable */;
184 val
* var34
/* : nullable AExpr */;
185 val
* var36
/* : nullable AExpr */;
186 val
* var_nexpr
/* var nexpr: nullable AExpr */;
187 short int var37
/* : Bool */;
188 short int var38
/* : Bool */;
189 val
* var_other40
/* var other: nullable Object */;
190 short int var41
/* : Bool */;
191 short int var42
/* : Bool */;
192 val
* var43
/* : nullable MType */;
193 val
* var45
/* : nullable MType */;
194 val
* var_mtype
/* var mtype: nullable MType */;
195 val
* var46
/* : nullable MType */;
196 val
* var47
/* : nullable AExpr */;
197 val
* var49
/* : nullable AExpr */;
198 val
* var_nblock
/* var nblock: nullable AExpr */;
199 short int var50
/* : Bool */;
200 short int var51
/* : Bool */;
201 short int var53
/* : Bool */;
202 short int var54
/* : Bool */;
203 val
* var55
/* : nullable FlowContext */;
204 val
* var57
/* : nullable FlowContext */;
205 short int var58
/* : Bool */;
206 short int var59
/* : Bool */;
208 val
* var60
/* : String */;
209 char* var61
/* : CString */;
210 val
* var62
/* : String */;
211 val
* var63
/* : nullable Int */;
212 val
* var64
/* : nullable Int */;
213 val
* var65
/* : nullable Bool */;
214 val
* var66
/* : nullable Bool */;
215 var_modelbuilder
= p0
;
217 { /* Inline modelize_property$AAttrPropdef$has_value (self) on <self:AAttrPropdef> */
218 var2
= self
->attrs
[COLOR_nitc__modelize_property__AAttrPropdef___has_value
].s
; /* _has_value on <self:AAttrPropdef> */
229 { /* Inline modelize_property$AAttrPropdef$mreadpropdef (self) on <self:AAttrPropdef> */
230 var6
= self
->attrs
[COLOR_nitc__modelize_property__AAttrPropdef___mreadpropdef
].val
; /* _mreadpropdef on <self:AAttrPropdef> */
236 if (var_mpropdef
== NULL
) {
237 var8
= 1; /* is null */
239 var8
= 0; /* arg is null but recv is not */
242 { /* Inline kernel$Object$== (var_mpropdef,((val*)NULL)) on <var_mpropdef:nullable MMethodDef> */
243 var_other
= ((val
*)NULL
);
245 { /* Inline kernel$Object$is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
246 var13
= var_mpropdef
== var_other
;
263 { /* Inline model$MMethodDef$msignature (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
264 var16
= var_mpropdef
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
270 var17
= 1; /* is null */
272 var17
= 0; /* arg is null but recv is not */
275 { /* Inline kernel$Object$== (var14,((val*)NULL)) on <var14:nullable MSignature> */
276 var_other
= ((val
*)NULL
);
278 { /* Inline kernel$Object$is_same_instance (var14,var_other) on <var14:nullable MSignature(MSignature)> */
279 var22
= var14
== var_other
;
297 var23
= NEW_nitc__typing__TypeVisitor(&type_nitc__typing__TypeVisitor
);
299 { /* Inline model$MPropDef$mclassdef (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
300 var26
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
301 if (unlikely(var26
== NULL
)) {
302 if(catchStack
.cursor
>= 0){
303 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
305 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
306 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2354);
314 { /* Inline model$MClassDef$mmodule (var24) on <var24:MClassDef> */
315 var29
= var24
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <var24:MClassDef> */
316 if (unlikely(var29
== NULL
)) {
317 if(catchStack
.cursor
>= 0){
318 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
320 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
321 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 588);
329 ((void(*)(val
* self
, val
* p0
))(var23
->class->vft
[COLOR_nitc__typing__TypeVisitor__modelbuilder_61d
]))(var23
, var_modelbuilder
); /* modelbuilder= on <var23:TypeVisitor>*/
332 ((void(*)(val
* self
, val
* p0
))(var23
->class->vft
[COLOR_nitc__typing__TypeVisitor__mmodule_61d
]))(var23
, var27
); /* mmodule= on <var23:TypeVisitor>*/
335 ((void(*)(val
* self
, val
* p0
))(var23
->class->vft
[COLOR_nitc__typing__TypeVisitor__mpropdef_61d
]))(var23
, var_mpropdef
); /* mpropdef= on <var23:TypeVisitor>*/
338 ((void(*)(val
* self
))(var23
->class->vft
[COLOR_core__kernel__Object__init
]))(var23
); /* init on <var23:TypeVisitor>*/
342 { /* Inline typing$TypeVisitor$selfvariable (var_v) on <var_v:TypeVisitor> */
343 var32
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___selfvariable
].val
; /* _selfvariable on <var_v:TypeVisitor> */
344 if (unlikely(var32
== NULL
)) {
345 if(catchStack
.cursor
>= 0){
346 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
348 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable");
349 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 51);
357 { /* Inline typing$APropdef$selfvariable= (self,var30) on <self:AAttrPropdef> */
358 self
->attrs
[COLOR_nitc__typing__APropdef___selfvariable
].val
= var30
; /* _selfvariable on <self:AAttrPropdef> */
363 { /* Inline parser_nodes$AAttrPropdef$n_expr (self) on <self:AAttrPropdef> */
364 var36
= self
->attrs
[COLOR_nitc__parser_nodes__AAttrPropdef___n_expr
].val
; /* _n_expr on <self:AAttrPropdef> */
370 if (var_nexpr
== NULL
) {
371 var37
= 0; /* is null */
373 var37
= 1; /* arg is null and recv is not */
376 { /* Inline kernel$Object$!= (var_nexpr,((val*)NULL)) on <var_nexpr:nullable AExpr> */
377 var_other40
= ((val
*)NULL
);
379 var41
= ((short int(*)(val
* self
, val
* p0
))(var_nexpr
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_nexpr
, var_other40
); /* == on <var_nexpr:nullable AExpr(AExpr)>*/
390 { /* Inline modelize_property$AAttrPropdef$mtype (self) on <self:AAttrPropdef> */
391 var45
= self
->attrs
[COLOR_nitc__modelize_property__AAttrPropdef___mtype
].val
; /* _mtype on <self:AAttrPropdef> */
398 var46
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(var_v
, var_nexpr
, var_mtype
);
403 { /* Inline parser_nodes$AAttrPropdef$n_block (self) on <self:AAttrPropdef> */
404 var49
= self
->attrs
[COLOR_nitc__parser_nodes__AAttrPropdef___n_block
].val
; /* _n_block on <self:AAttrPropdef> */
410 if (var_nblock
== NULL
) {
411 var50
= 0; /* is null */
413 var50
= 1; /* arg is null and recv is not */
416 { /* Inline kernel$Object$!= (var_nblock,((val*)NULL)) on <var_nblock:nullable AExpr> */
417 var_other40
= ((val
*)NULL
);
419 var53
= ((short int(*)(val
* self
, val
* p0
))(var_nblock
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_nblock
, var_other40
); /* == on <var_nblock:nullable AExpr(AExpr)>*/
430 nitc__typing___nitc__typing__TypeVisitor___visit_stmt(var_v
, var_nblock
); /* Direct call typing$TypeVisitor$visit_stmt on <var_v:TypeVisitor>*/
433 { /* Inline flow$AExpr$after_flow_context (var_nblock) on <var_nblock:nullable AExpr(AExpr)> */
434 var57
= var_nblock
->attrs
[COLOR_nitc__flow__AExpr___after_flow_context
].val
; /* _after_flow_context on <var_nblock:nullable AExpr(AExpr)> */
440 if(catchStack
.cursor
>= 0){
441 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
443 PRINT_ERROR("Runtime error: %s", "Receiver is null");
444 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 840);
447 var58
= nitc___nitc__FlowContext___is_unreachable(var55
);
451 if (likely(varonce
!=NULL
)) {
454 var61
= "Error: reached end of block; expected `return`.";
455 var63
= (val
*)(47l<<2|1);
456 var64
= (val
*)(47l<<2|1);
457 var65
= (val
*)((long)(0)<<2|3);
458 var66
= (val
*)((long)(0)<<2|3);
459 var62
= core__flat___CString___to_s_unsafe(var61
, var63
, var64
, var65
, var66
);
464 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var60
); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
472 /* method typing$AExpr$mtype for (self: AExpr): nullable MType */
473 val
* nitc__typing___AExpr___mtype(val
* self
) {
474 val
* var
/* : nullable MType */;
475 val
* var1
/* : nullable MType */;
476 var1
= self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
; /* _mtype on <self:AExpr> */
481 /* method typing$AExpr$mtype= for (self: AExpr, nullable MType) */
482 void nitc__typing___AExpr___mtype_61d(val
* self
, val
* p0
) {
483 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= p0
; /* _mtype on <self:AExpr> */
486 /* method typing$AExpr$is_typed for (self: AExpr): Bool */
487 short int nitc__typing___AExpr___is_typed(val
* self
) {
488 short int var
/* : Bool */;
489 short int var1
/* : Bool */;
490 var1
= self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
; /* _is_typed on <self:AExpr> */
495 /* method typing$AExpr$is_typed= for (self: AExpr, Bool) */
496 void nitc__typing___AExpr___is_typed_61d(val
* self
, short int p0
) {
497 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= p0
; /* _is_typed on <self:AExpr> */
500 /* method typing$AExpr$implicit_cast_to for (self: AExpr): nullable MType */
501 val
* nitc__typing___AExpr___implicit_cast_to(val
* self
) {
502 val
* var
/* : nullable MType */;
503 val
* var1
/* : nullable MType */;
504 var1
= self
->attrs
[COLOR_nitc__typing__AExpr___implicit_cast_to
].val
; /* _implicit_cast_to on <self:AExpr> */
509 /* method typing$AExpr$implicit_cast_to= for (self: AExpr, nullable MType) */
510 void nitc__typing___AExpr___implicit_cast_to_61d(val
* self
, val
* p0
) {
511 self
->attrs
[COLOR_nitc__typing__AExpr___implicit_cast_to
].val
= p0
; /* _implicit_cast_to on <self:AExpr> */
514 /* method typing$AExpr$its_variable for (self: AExpr): nullable Variable */
515 val
* nitc__typing___AExpr___its_variable(val
* self
) {
516 val
* var
/* : nullable Variable */;
522 /* method typing$AExpr$accept_typing for (self: AExpr, TypeVisitor) */
523 void nitc__typing___AExpr___accept_typing(val
* self
, val
* p0
) {
524 val
* var_v
/* var v: TypeVisitor */;
525 val
* var
/* : NativeArray[String] */;
527 static val
* varonce1
;
528 val
* var2
/* : String */;
529 char* var3
/* : CString */;
530 val
* var4
/* : String */;
531 val
* var5
/* : nullable Int */;
532 val
* var6
/* : nullable Int */;
533 val
* var7
/* : nullable Bool */;
534 val
* var8
/* : nullable Bool */;
535 val
* var9
/* : String */;
536 val
* var10
/* : String */;
538 if (unlikely(varonce
==NULL
)) {
539 var
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
540 if (likely(varonce1
!=NULL
)) {
543 var3
= "no implemented accept_typing for ";
544 var5
= (val
*)(33l<<2|1);
545 var6
= (val
*)(33l<<2|1);
546 var7
= (val
*)((long)(0)<<2|3);
547 var8
= (val
*)((long)(0)<<2|3);
548 var4
= core__flat___CString___to_s_unsafe(var3
, var5
, var6
, var7
, var8
);
552 ((struct instance_core__NativeArray
*)var
)->values
[0]=var2
;
558 var9
= core__abstract_text___Object___class_name(self
);
560 ((struct instance_core__NativeArray
*)var
)->values
[1]=var9
;
562 var10
= ((val
*(*)(val
* self
))(var
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var
); /* native_to_s on <var:NativeArray[String]>*/
566 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var10
); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
570 /* method typing$AExpr$comprehension for (self: AExpr): nullable AArrayExpr */
571 val
* nitc__typing___AExpr___comprehension(val
* self
) {
572 val
* var
/* : nullable AArrayExpr */;
573 val
* var1
/* : nullable AArrayExpr */;
574 var1
= self
->attrs
[COLOR_nitc__typing__AExpr___comprehension
].val
; /* _comprehension on <self:AExpr> */
579 /* method typing$AExpr$comprehension= for (self: AExpr, nullable AArrayExpr) */
580 void nitc__typing___AExpr___comprehension_61d(val
* self
, val
* p0
) {
581 self
->attrs
[COLOR_nitc__typing__AExpr___comprehension
].val
= p0
; /* _comprehension on <self:AExpr> */
584 /* method typing$AExpr$vararg_decl for (self: AExpr): Int */
585 long nitc__typing___AExpr___vararg_decl(val
* self
) {
586 long var
/* : Int */;
587 long var1
/* : Int */;
588 var1
= self
->attrs
[COLOR_nitc__typing__AExpr___vararg_decl
].l
; /* _vararg_decl on <self:AExpr> */
593 /* method typing$AExpr$vararg_decl= for (self: AExpr, Int) */
594 void nitc__typing___AExpr___vararg_decl_61d(val
* self
, long p0
) {
595 self
->attrs
[COLOR_nitc__typing__AExpr___vararg_decl
].l
= p0
; /* _vararg_decl on <self:AExpr> */
598 /* method typing$ABlockExpr$accept_typing for (self: ABlockExpr, TypeVisitor) */
599 void nitc__typing___ABlockExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
600 val
* var_v
/* var v: TypeVisitor */;
601 val
* var
/* : ANodes[AExpr] */;
602 val
* var2
/* : ANodes[AExpr] */;
603 val
* var_
/* var : ANodes[AExpr] */;
604 val
* var3
/* : Iterator[ANode] */;
605 val
* var_4
/* var : Iterator[AExpr] */;
606 short int var5
/* : Bool */;
607 val
* var6
/* : nullable Object */;
608 val
* var_e
/* var e: AExpr */;
611 { /* Inline parser_nodes$ABlockExpr$n_expr (self) on <self:ABlockExpr> */
612 var2
= self
->attrs
[COLOR_nitc__parser_nodes__ABlockExpr___n_expr
].val
; /* _n_expr on <self:ABlockExpr> */
613 if (unlikely(var2
== NULL
)) {
614 if(catchStack
.cursor
>= 0){
615 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
617 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
618 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1811);
627 var3
= nitc___nitc__ANodes___core__abstract_collection__Collection__iterator(var_
);
632 var5
= ((short int(*)(val
* self
))((((long)var_4
&3)?class_info
[((long)var_4
&3)]:var_4
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_4
); /* is_ok on <var_4:Iterator[AExpr]>*/
639 var6
= ((val
*(*)(val
* self
))((((long)var_4
&3)?class_info
[((long)var_4
&3)]:var_4
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_4
); /* item on <var_4:Iterator[AExpr]>*/
643 nitc__typing___nitc__typing__TypeVisitor___visit_stmt(var_v
, var_e
); /* Direct call typing$TypeVisitor$visit_stmt on <var_v:TypeVisitor>*/
646 ((void(*)(val
* self
))((((long)var_4
&3)?class_info
[((long)var_4
&3)]:var_4
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_4
); /* next on <var_4:Iterator[AExpr]>*/
649 BREAK_label
: (void)0;
651 ((void(*)(val
* self
))((((long)var_4
&3)?class_info
[((long)var_4
&3)]:var_4
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_4
); /* finish on <var_4:Iterator[AExpr]>*/
654 { /* Inline typing$AExpr$is_typed= (self,1) on <self:ABlockExpr> */
655 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ABlockExpr> */
661 /* method typing$ABlockExpr$mtype for (self: ABlockExpr): nullable MType */
662 val
* nitc__typing___ABlockExpr___AExpr__mtype(val
* self
) {
663 val
* var
/* : nullable MType */;
664 val
* var1
/* : ANodes[AExpr] */;
665 val
* var3
/* : ANodes[AExpr] */;
666 short int var4
/* : Bool */;
667 val
* var5
/* : ANodes[AExpr] */;
668 val
* var7
/* : ANodes[AExpr] */;
669 val
* var8
/* : nullable Object */;
670 val
* var9
/* : nullable MType */;
672 { /* Inline parser_nodes$ABlockExpr$n_expr (self) on <self:ABlockExpr> */
673 var3
= self
->attrs
[COLOR_nitc__parser_nodes__ABlockExpr___n_expr
].val
; /* _n_expr on <self:ABlockExpr> */
674 if (unlikely(var3
== NULL
)) {
675 if(catchStack
.cursor
>= 0){
676 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
678 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
679 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1811);
687 var4
= nitc___nitc__ANodes___core__abstract_collection__Collection__is_empty(var1
);
695 { /* Inline parser_nodes$ABlockExpr$n_expr (self) on <self:ABlockExpr> */
696 var7
= self
->attrs
[COLOR_nitc__parser_nodes__ABlockExpr___n_expr
].val
; /* _n_expr on <self:ABlockExpr> */
697 if (unlikely(var7
== NULL
)) {
698 if(catchStack
.cursor
>= 0){
699 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
701 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
702 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1811);
710 var8
= core___core__SequenceRead___last(var5
);
713 var9
= ((val
*(*)(val
* self
))(var8
->class->vft
[COLOR_nitc__typing__AExpr__mtype
]))(var8
); /* mtype on <var8:nullable Object(AExpr)>*/
720 /* method typing$AVardeclExpr$accept_typing for (self: AVardeclExpr, TypeVisitor) */
721 void nitc__typing___AVardeclExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
722 val
* var_v
/* var v: TypeVisitor */;
723 val
* var
/* : nullable Variable */;
724 val
* var2
/* : nullable Variable */;
725 val
* var_variable
/* var variable: nullable Variable */;
726 short int var3
/* : Bool */;
727 short int var4
/* : Bool */;
728 val
* var_other
/* var other: nullable Object */;
729 short int var6
/* : Bool */;
730 short int var8
/* : Bool */;
731 val
* var9
/* : nullable AType */;
732 val
* var11
/* : nullable AType */;
733 val
* var_ntype
/* var ntype: nullable AType */;
734 short int var12
/* : Bool */;
735 short int var13
/* : Bool */;
736 short int var15
/* : Bool */;
737 short int var17
/* : Bool */;
738 val
* var_mtype
/* var mtype: nullable MType */;
739 val
* var18
/* : nullable MType */;
740 short int var19
/* : Bool */;
741 short int var20
/* : Bool */;
742 short int var22
/* : Bool */;
743 short int var24
/* : Bool */;
744 val
* var25
/* : nullable AExpr */;
745 val
* var27
/* : nullable AExpr */;
746 val
* var_nexpr
/* var nexpr: nullable AExpr */;
747 short int var28
/* : Bool */;
748 short int var29
/* : Bool */;
749 val
* var_other31
/* var other: nullable Object */;
750 short int var32
/* : Bool */;
751 short int var33
/* : Bool */;
752 short int var34
/* : Bool */;
753 short int var35
/* : Bool */;
754 short int var37
/* : Bool */;
755 short int var38
/* : Bool */;
756 val
* var39
/* : nullable MType */;
757 val
* var_etype
/* var etype: nullable MType */;
758 short int var40
/* : Bool */;
759 short int var41
/* : Bool */;
760 short int var43
/* : Bool */;
761 short int var45
/* : Bool */;
762 short int var46
/* : Bool */;
763 short int var47
/* : Bool */;
764 short int var49
/* : Bool */;
765 short int var50
/* : Bool */;
766 val
* var51
/* : ModelBuilder */;
767 val
* var53
/* : ModelBuilder */;
769 val
* var54
/* : String */;
770 char* var55
/* : CString */;
771 val
* var56
/* : String */;
772 val
* var57
/* : nullable Int */;
773 val
* var58
/* : nullable Int */;
774 val
* var59
/* : nullable Bool */;
775 val
* var60
/* : nullable Bool */;
776 val
* var62
/* : NativeArray[String] */;
777 static val
* varonce61
;
778 static val
* varonce63
;
779 val
* var64
/* : String */;
780 char* var65
/* : CString */;
781 val
* var66
/* : String */;
782 val
* var67
/* : nullable Int */;
783 val
* var68
/* : nullable Int */;
784 val
* var69
/* : nullable Bool */;
785 val
* var70
/* : nullable Bool */;
786 static val
* varonce71
;
787 val
* var72
/* : String */;
788 char* var73
/* : CString */;
789 val
* var74
/* : String */;
790 val
* var75
/* : nullable Int */;
791 val
* var76
/* : nullable Int */;
792 val
* var77
/* : nullable Bool */;
793 val
* var78
/* : nullable Bool */;
794 val
* var79
/* : String */;
795 val
* var81
/* : String */;
796 val
* var82
/* : String */;
797 val
* var83
/* : nullable MType */;
798 short int var84
/* : Bool */;
799 short int var85
/* : Bool */;
800 short int var87
/* : Bool */;
801 short int var89
/* : Bool */;
802 val
* var_decltype
/* var decltype: nullable MType */;
803 short int var90
/* : Bool */;
804 short int var91
/* : Bool */;
805 short int var92
/* : Bool */;
806 short int var94
/* : Bool */;
807 short int var96
/* : Bool */;
808 short int var_
/* var : Bool */;
809 short int var97
/* : Bool */;
812 static val
* varonce98
;
813 val
* var99
/* : String */;
814 char* var100
/* : CString */;
815 val
* var101
/* : String */;
816 val
* var102
/* : nullable Int */;
817 val
* var103
/* : nullable Int */;
818 val
* var104
/* : nullable Bool */;
819 val
* var105
/* : nullable Bool */;
820 val
* var106
/* : nullable MClass */;
821 val
* var_objclass
/* var objclass: nullable MClass */;
822 short int var107
/* : Bool */;
823 short int var108
/* : Bool */;
824 short int var110
/* : Bool */;
825 short int var112
/* : Bool */;
826 val
* var113
/* : MClassType */;
827 val
* var115
/* : MClassType */;
828 val
* var116
/* : MType */;
829 short int var117
/* : Bool */;
830 short int var118
/* : Bool */;
831 short int var120
/* : Bool */;
832 short int var122
/* : Bool */;
835 { /* Inline scope$AVardeclExpr$variable (self) on <self:AVardeclExpr> */
836 var2
= self
->attrs
[COLOR_nitc__scope__AVardeclExpr___variable
].val
; /* _variable on <self:AVardeclExpr> */
842 if (var_variable
== NULL
) {
843 var3
= 1; /* is null */
845 var3
= 0; /* arg is null but recv is not */
848 { /* Inline kernel$Object$== (var_variable,((val*)NULL)) on <var_variable:nullable Variable> */
849 var_other
= ((val
*)NULL
);
851 { /* Inline kernel$Object$is_same_instance (var_variable,var_other) on <var_variable:nullable Variable(Variable)> */
852 var8
= var_variable
== var_other
;
869 { /* Inline parser_nodes$AVardeclExpr$n_type (self) on <self:AVardeclExpr> */
870 var11
= self
->attrs
[COLOR_nitc__parser_nodes__AVardeclExpr___n_type
].val
; /* _n_type on <self:AVardeclExpr> */
876 if (var_ntype
== NULL
) {
877 var12
= 1; /* is null */
879 var12
= 0; /* arg is null but recv is not */
882 { /* Inline kernel$Object$== (var_ntype,((val*)NULL)) on <var_ntype:nullable AType> */
883 var_other
= ((val
*)NULL
);
885 { /* Inline kernel$Object$is_same_instance (var_ntype,var_other) on <var_ntype:nullable AType(AType)> */
886 var17
= var_ntype
== var_other
;
899 var_mtype
= ((val
*)NULL
);
902 var18
= nitc__typing___nitc__typing__TypeVisitor___resolve_mtype(var_v
, var_ntype
);
905 if (var_mtype
== NULL
) {
906 var19
= 1; /* is null */
908 var19
= 0; /* arg is null but recv is not */
911 { /* Inline kernel$Object$== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
912 var_other
= ((val
*)NULL
);
914 { /* Inline kernel$Object$is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
915 var24
= var_mtype
== var_other
;
933 { /* Inline parser_nodes$AVardeclExpr$n_expr (self) on <self:AVardeclExpr> */
934 var27
= self
->attrs
[COLOR_nitc__parser_nodes__AVardeclExpr___n_expr
].val
; /* _n_expr on <self:AVardeclExpr> */
940 if (var_nexpr
== NULL
) {
941 var28
= 0; /* is null */
943 var28
= 1; /* arg is null and recv is not */
946 { /* Inline kernel$Object$!= (var_nexpr,((val*)NULL)) on <var_nexpr:nullable AExpr> */
947 var_other31
= ((val
*)NULL
);
949 var32
= ((short int(*)(val
* self
, val
* p0
))(var_nexpr
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_nexpr
, var_other31
); /* == on <var_nexpr:nullable AExpr(AExpr)>*/
959 if (var_mtype
== NULL
) {
960 var34
= 0; /* is null */
962 var34
= 1; /* arg is null and recv is not */
965 { /* Inline kernel$Object$!= (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
966 var_other31
= ((val
*)NULL
);
968 var37
= ((short int(*)(val
* self
, val
* p0
))(var_mtype
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_mtype
, var_other31
); /* == on <var_mtype:nullable MType(MType)>*/
979 var39
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(var_v
, var_nexpr
, var_mtype
);
982 if (var_etype
== NULL
) {
983 var40
= 0; /* <var_mtype:nullable MType(MType)> cannot be null */
985 { /* Inline kernel$Object$== (var_etype,var_mtype) on <var_etype:nullable MType> */
986 var_other
= var_mtype
;
988 { /* Inline kernel$Object$is_same_instance (var_etype,var_other) on <var_etype:nullable MType(MType)> */
989 var45
= var_etype
== var_other
;
1002 if (var_ntype
== NULL
) {
1003 var46
= 0; /* is null */
1005 var46
= 1; /* arg is null and recv is not */
1008 { /* Inline kernel$Object$!= (var_ntype,((val*)NULL)) on <var_ntype:nullable AType> */
1009 var_other31
= ((val
*)NULL
);
1011 var49
= ((short int(*)(val
* self
, val
* p0
))(var_ntype
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_ntype
, var_other31
); /* == on <var_ntype:nullable AType(AType)>*/
1016 RET_LABEL48
:(void)0;
1020 if (unlikely(!var46
)) {
1021 if(catchStack
.cursor
>= 0){
1022 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1024 PRINT_ERROR("Runtime error: %s", "Assert failed");
1025 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 938);
1029 { /* Inline typing$TypeVisitor$modelbuilder (var_v) on <var_v:TypeVisitor> */
1030 var53
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <var_v:TypeVisitor> */
1031 if (unlikely(var53
== NULL
)) {
1032 if(catchStack
.cursor
>= 0){
1033 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1035 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1036 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
1040 RET_LABEL52
:(void)0;
1043 if (likely(varonce
!=NULL
)) {
1046 var55
= "useless-type";
1047 var57
= (val
*)(12l<<2|1);
1048 var58
= (val
*)(12l<<2|1);
1049 var59
= (val
*)((long)(0)<<2|3);
1050 var60
= (val
*)((long)(0)<<2|3);
1051 var56
= core__flat___CString___to_s_unsafe(var55
, var57
, var58
, var59
, var60
);
1055 if (unlikely(varonce61
==NULL
)) {
1056 var62
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
1057 if (likely(varonce63
!=NULL
)) {
1060 var65
= "Warning: useless type definition for variable `";
1061 var67
= (val
*)(47l<<2|1);
1062 var68
= (val
*)(47l<<2|1);
1063 var69
= (val
*)((long)(0)<<2|3);
1064 var70
= (val
*)((long)(0)<<2|3);
1065 var66
= core__flat___CString___to_s_unsafe(var65
, var67
, var68
, var69
, var70
);
1069 ((struct instance_core__NativeArray
*)var62
)->values
[0]=var64
;
1070 if (likely(varonce71
!=NULL
)) {
1074 var75
= (val
*)(1l<<2|1);
1075 var76
= (val
*)(1l<<2|1);
1076 var77
= (val
*)((long)(0)<<2|3);
1077 var78
= (val
*)((long)(0)<<2|3);
1078 var74
= core__flat___CString___to_s_unsafe(var73
, var75
, var76
, var77
, var78
);
1082 ((struct instance_core__NativeArray
*)var62
)->values
[2]=var72
;
1088 { /* Inline scope$Variable$name (var_variable) on <var_variable:nullable Variable(Variable)> */
1089 var81
= var_variable
->attrs
[COLOR_nitc__scope__Variable___name
].val
; /* _name on <var_variable:nullable Variable(Variable)> */
1090 if (unlikely(var81
== NULL
)) {
1091 if(catchStack
.cursor
>= 0){
1092 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1094 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1095 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope
, 36);
1099 RET_LABEL80
:(void)0;
1102 ((struct instance_core__NativeArray
*)var62
)->values
[1]=var79
;
1104 var82
= ((val
*(*)(val
* self
))(var62
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var62
); /* native_to_s on <var62:NativeArray[String]>*/
1108 nitc___nitc__ModelBuilder___advice(var51
, var_ntype
, var54
, var82
); /* Direct call modelbuilder_base$ModelBuilder$advice on <var51:ModelBuilder>*/
1114 var83
= nitc__typing___nitc__typing__TypeVisitor___visit_expr(var_v
, var_nexpr
);
1117 if (var_mtype
== NULL
) {
1118 var84
= 1; /* is null */
1120 var84
= 0; /* arg is null but recv is not */
1123 { /* Inline kernel$Object$== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
1124 var_other
= ((val
*)NULL
);
1126 { /* Inline kernel$Object$is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
1127 var89
= var_mtype
== var_other
;
1130 RET_LABEL88
:(void)0;
1135 RET_LABEL86
:(void)0;
1146 var_decltype
= var_mtype
;
1147 if (var_mtype
== NULL
) {
1148 var91
= 1; /* is null */
1150 var91
= 0; /* arg is null but recv is not */
1153 { /* Inline kernel$Object$== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
1154 var_other
= ((val
*)NULL
);
1156 { /* Inline kernel$Object$is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
1157 var96
= var_mtype
== var_other
;
1160 RET_LABEL95
:(void)0;
1165 RET_LABEL93
:(void)0;
1173 /* <var_mtype:nullable MType(MType)> isa MNullType */
1174 cltype
= type_nitc__MNullType
.color
;
1175 idtype
= type_nitc__MNullType
.id
;
1176 if(cltype
>= var_mtype
->type
->table_size
) {
1179 var97
= var_mtype
->type
->type_table
[cltype
] == idtype
;
1184 if (likely(varonce98
!=NULL
)) {
1188 var102
= (val
*)(6l<<2|1);
1189 var103
= (val
*)(6l<<2|1);
1190 var104
= (val
*)((long)(0)<<2|3);
1191 var105
= (val
*)((long)(0)<<2|3);
1192 var101
= core__flat___CString___to_s_unsafe(var100
, var102
, var103
, var104
, var105
);
1197 var106
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v
, self
, var99
);
1199 var_objclass
= var106
;
1200 if (var_objclass
== NULL
) {
1201 var107
= 1; /* is null */
1203 var107
= 0; /* arg is null but recv is not */
1206 { /* Inline kernel$Object$== (var_objclass,((val*)NULL)) on <var_objclass:nullable MClass> */
1207 var_other
= ((val
*)NULL
);
1209 { /* Inline kernel$Object$is_same_instance (var_objclass,var_other) on <var_objclass:nullable MClass(MClass)> */
1210 var112
= var_objclass
== var_other
;
1213 RET_LABEL111
:(void)0;
1218 RET_LABEL109
:(void)0;
1227 { /* Inline model$MClass$mclass_type (var_objclass) on <var_objclass:nullable MClass(MClass)> */
1228 var115
= var_objclass
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_objclass:nullable MClass(MClass)> */
1229 if (unlikely(var115
== NULL
)) {
1230 if(catchStack
.cursor
>= 0){
1231 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1233 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
1234 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 520);
1238 RET_LABEL114
:(void)0;
1242 var116
= nitc___nitc__MType___as_nullable(var113
);
1244 var_decltype
= var116
;
1245 if (var_mtype
== NULL
) {
1246 var117
= 1; /* is null */
1248 var117
= 0; /* arg is null but recv is not */
1251 { /* Inline kernel$Object$== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType(nullable MNullType)> */
1252 var_other
= ((val
*)NULL
);
1254 { /* Inline kernel$Object$is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MNullType)> */
1255 var122
= var_mtype
== var_other
;
1258 RET_LABEL121
:(void)0;
1263 RET_LABEL119
:(void)0;
1268 var_mtype
= var_decltype
;
1274 { /* Inline typing$Variable$declared_type= (var_variable,var_decltype) on <var_variable:nullable Variable(Variable)> */
1275 var_variable
->attrs
[COLOR_nitc__typing__Variable___declared_type
].val
= var_decltype
; /* _declared_type on <var_variable:nullable Variable(Variable)> */
1276 RET_LABEL123
:(void)0;
1280 nitc__typing___nitc__typing__TypeVisitor___set_variable(var_v
, self
, var_variable
, var_mtype
); /* Direct call typing$TypeVisitor$set_variable on <var_v:TypeVisitor>*/
1283 { /* Inline typing$AExpr$mtype= (self,var_mtype) on <self:AVardeclExpr> */
1284 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var_mtype
; /* _mtype on <self:AVardeclExpr> */
1285 RET_LABEL124
:(void)0;
1289 { /* Inline typing$AExpr$is_typed= (self,1) on <self:AVardeclExpr> */
1290 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:AVardeclExpr> */
1291 RET_LABEL125
:(void)0;
1296 /* method typing$AVarExpr$its_variable for (self: AVarExpr): nullable Variable */
1297 val
* nitc__typing___AVarExpr___AExpr__its_variable(val
* self
) {
1298 val
* var
/* : nullable Variable */;
1299 val
* var1
/* : nullable Variable */;
1300 val
* var3
/* : nullable Variable */;
1302 { /* Inline scope$AVarFormExpr$variable (self) on <self:AVarExpr> */
1303 var3
= self
->attrs
[COLOR_nitc__scope__AVarFormExpr___variable
].val
; /* _variable on <self:AVarExpr> */
1313 /* method typing$AVarExpr$accept_typing for (self: AVarExpr, TypeVisitor) */
1314 void nitc__typing___AVarExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
1315 val
* var_v
/* var v: TypeVisitor */;
1316 val
* var
/* : nullable Variable */;
1317 val
* var2
/* : nullable Variable */;
1318 val
* var_variable
/* var variable: nullable Variable */;
1319 short int var3
/* : Bool */;
1320 short int var4
/* : Bool */;
1321 val
* var_other
/* var other: nullable Object */;
1322 short int var6
/* : Bool */;
1323 short int var8
/* : Bool */;
1324 val
* var9
/* : nullable MType */;
1325 val
* var_mtype
/* var mtype: nullable MType */;
1326 short int var10
/* : Bool */;
1327 short int var11
/* : Bool */;
1328 val
* var_other13
/* var other: nullable Object */;
1329 short int var14
/* : Bool */;
1330 short int var15
/* : Bool */;
1333 { /* Inline scope$AVarFormExpr$variable (self) on <self:AVarExpr> */
1334 var2
= self
->attrs
[COLOR_nitc__scope__AVarFormExpr___variable
].val
; /* _variable on <self:AVarExpr> */
1340 if (var_variable
== NULL
) {
1341 var3
= 1; /* is null */
1343 var3
= 0; /* arg is null but recv is not */
1346 { /* Inline kernel$Object$== (var_variable,((val*)NULL)) on <var_variable:nullable Variable> */
1347 var_other
= ((val
*)NULL
);
1349 { /* Inline kernel$Object$is_same_instance (var_variable,var_other) on <var_variable:nullable Variable(Variable)> */
1350 var8
= var_variable
== var_other
;
1367 var9
= nitc__typing___nitc__typing__TypeVisitor___get_variable(var_v
, self
, var_variable
);
1370 if (var_mtype
== NULL
) {
1371 var10
= 0; /* is null */
1373 var10
= 1; /* arg is null and recv is not */
1376 { /* Inline kernel$Object$!= (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
1377 var_other13
= ((val
*)NULL
);
1379 var14
= ((short int(*)(val
* self
, val
* p0
))(var_mtype
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_mtype
, var_other13
); /* == on <var_mtype:nullable MType(MType)>*/
1384 RET_LABEL12
:(void)0;
1392 { /* Inline typing$AExpr$mtype= (self,var_mtype) on <self:AVarExpr> */
1393 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var_mtype
; /* _mtype on <self:AVarExpr> */
1394 RET_LABEL16
:(void)0;
1399 /* method typing$AVarAssignExpr$accept_typing for (self: AVarAssignExpr, TypeVisitor) */
1400 void nitc__typing___AVarAssignExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
1401 val
* var_v
/* var v: TypeVisitor */;
1402 val
* var
/* : nullable Variable */;
1403 val
* var2
/* : nullable Variable */;
1404 val
* var_variable
/* var variable: nullable Variable */;
1405 short int var3
/* : Bool */;
1406 short int var4
/* : Bool */;
1407 val
* var_other
/* var other: nullable Object */;
1408 short int var6
/* : Bool */;
1409 short int var7
/* : Bool */;
1410 val
* var8
/* : AExpr */;
1411 val
* var10
/* : AExpr */;
1412 val
* var11
/* : nullable MType */;
1413 val
* var13
/* : nullable MType */;
1414 val
* var14
/* : nullable MType */;
1415 val
* var_mtype
/* var mtype: nullable MType */;
1418 { /* Inline scope$AVarFormExpr$variable (self) on <self:AVarAssignExpr> */
1419 var2
= self
->attrs
[COLOR_nitc__scope__AVarFormExpr___variable
].val
; /* _variable on <self:AVarAssignExpr> */
1425 if (var_variable
== NULL
) {
1426 var3
= 0; /* is null */
1428 var3
= 1; /* arg is null and recv is not */
1431 { /* Inline kernel$Object$!= (var_variable,((val*)NULL)) on <var_variable:nullable Variable> */
1432 var_other
= ((val
*)NULL
);
1434 var6
= ((short int(*)(val
* self
, val
* p0
))(var_variable
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_variable
, var_other
); /* == on <var_variable:nullable Variable(Variable)>*/
1443 if (unlikely(!var3
)) {
1444 if(catchStack
.cursor
>= 0){
1445 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1447 PRINT_ERROR("Runtime error: %s", "Assert failed");
1448 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 987);
1452 { /* Inline parser_nodes$AAssignFormExpr$n_value (self) on <self:AVarAssignExpr> */
1453 var10
= self
->attrs
[COLOR_nitc__parser_nodes__AAssignFormExpr___n_value
].val
; /* _n_value on <self:AVarAssignExpr> */
1454 if (unlikely(var10
== NULL
)) {
1455 if(catchStack
.cursor
>= 0){
1456 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1458 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
1459 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2073);
1467 { /* Inline typing$Variable$declared_type (var_variable) on <var_variable:nullable Variable(Variable)> */
1468 var13
= var_variable
->attrs
[COLOR_nitc__typing__Variable___declared_type
].val
; /* _declared_type on <var_variable:nullable Variable(Variable)> */
1470 RET_LABEL12
:(void)0;
1474 var14
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(var_v
, var8
, var11
);
1478 nitc__typing___nitc__typing__TypeVisitor___set_variable(var_v
, self
, var_variable
, var_mtype
); /* Direct call typing$TypeVisitor$set_variable on <var_v:TypeVisitor>*/
1481 { /* Inline typing$AExpr$is_typed= (self,1) on <self:AVarAssignExpr> */
1482 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:AVarAssignExpr> */
1483 RET_LABEL15
:(void)0;
1488 /* method typing$AReassignFormExpr$reassign_callsite for (self: AReassignFormExpr): nullable CallSite */
1489 val
* nitc__typing___AReassignFormExpr___reassign_callsite(val
* self
) {
1490 val
* var
/* : nullable CallSite */;
1491 val
* var1
/* : nullable CallSite */;
1492 var1
= self
->attrs
[COLOR_nitc__typing__AReassignFormExpr___reassign_callsite
].val
; /* _reassign_callsite on <self:AReassignFormExpr> */
1497 /* method typing$AReassignFormExpr$reassign_callsite= for (self: AReassignFormExpr, nullable CallSite) */
1498 void nitc__typing___AReassignFormExpr___reassign_callsite_61d(val
* self
, val
* p0
) {
1499 self
->attrs
[COLOR_nitc__typing__AReassignFormExpr___reassign_callsite
].val
= p0
; /* _reassign_callsite on <self:AReassignFormExpr> */
1502 /* method typing$AReassignFormExpr$read_type for (self: AReassignFormExpr): nullable MType */
1503 val
* nitc__typing___AReassignFormExpr___read_type(val
* self
) {
1504 val
* var
/* : nullable MType */;
1505 val
* var1
/* : nullable MType */;
1506 var1
= self
->attrs
[COLOR_nitc__typing__AReassignFormExpr___read_type
].val
; /* _read_type on <self:AReassignFormExpr> */
1511 /* method typing$AReassignFormExpr$read_type= for (self: AReassignFormExpr, nullable MType) */
1512 void nitc__typing___AReassignFormExpr___read_type_61d(val
* self
, val
* p0
) {
1513 self
->attrs
[COLOR_nitc__typing__AReassignFormExpr___read_type
].val
= p0
; /* _read_type on <self:AReassignFormExpr> */
1516 /* method typing$AReassignFormExpr$resolve_reassignment for (self: AReassignFormExpr, TypeVisitor, MType, MType): nullable MType */
1517 val
* nitc__typing___AReassignFormExpr___resolve_reassignment(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1518 val
* var
/* : nullable MType */;
1519 val
* var_v
/* var v: TypeVisitor */;
1520 val
* var_readtype
/* var readtype: MType */;
1521 val
* var_writetype
/* var writetype: MType */;
1522 val
* var1
/* : AAssignOp */;
1523 val
* var3
/* : AAssignOp */;
1524 val
* var4
/* : String */;
1525 val
* var_reassign_name
/* var reassign_name: String */;
1526 val
* var6
/* : AAssignOp */;
1527 val
* var8
/* : AAssignOp */;
1528 val
* var9
/* : nullable CallSite */;
1529 val
* var_callsite
/* var callsite: nullable CallSite */;
1530 short int var10
/* : Bool */;
1531 short int var11
/* : Bool */;
1532 val
* var_other
/* var other: nullable Object */;
1533 short int var13
/* : Bool */;
1534 short int var15
/* : Bool */;
1535 val
* var17
/* : MSignature */;
1536 val
* var19
/* : MSignature */;
1537 val
* var_msignature
/* var msignature: MSignature */;
1538 val
* var20
/* : nullable MType */;
1539 val
* var22
/* : nullable MType */;
1540 val
* var_rettype
/* var rettype: nullable MType */;
1541 short int var23
/* : Bool */;
1542 long var24
/* : Int */;
1543 short int var25
/* : Bool */;
1544 short int var27
/* : Bool */;
1545 short int var_
/* var : Bool */;
1546 short int var28
/* : Bool */;
1547 short int var29
/* : Bool */;
1548 val
* var_other31
/* var other: nullable Object */;
1549 short int var32
/* : Bool */;
1550 short int var33
/* : Bool */;
1551 val
* var34
/* : AExpr */;
1552 val
* var36
/* : AExpr */;
1553 val
* var37
/* : Array[MParameter] */;
1554 val
* var39
/* : Array[MParameter] */;
1555 val
* var40
/* : nullable Object */;
1556 val
* var41
/* : MType */;
1557 val
* var43
/* : MType */;
1558 val
* var44
/* : nullable MType */;
1559 val
* var_value_type
/* var value_type: nullable MType */;
1560 short int var45
/* : Bool */;
1561 short int var46
/* : Bool */;
1562 short int var48
/* : Bool */;
1563 short int var50
/* : Bool */;
1564 val
* var51
/* : nullable MType */;
1569 { /* Inline parser_nodes$AReassignFormExpr$n_assign_op (self) on <self:AReassignFormExpr> */
1570 var3
= self
->attrs
[COLOR_nitc__parser_nodes__AReassignFormExpr___n_assign_op
].val
; /* _n_assign_op on <self:AReassignFormExpr> */
1571 if (unlikely(var3
== NULL
)) {
1572 if(catchStack
.cursor
>= 0){
1573 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1575 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign_op");
1576 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2081);
1584 var4
= ((val
*(*)(val
* self
))(var1
->class->vft
[COLOR_nitc__parser_nodes__AAssignOp__operator
]))(var1
); /* operator on <var1:AAssignOp>*/
1586 var_reassign_name
= var4
;
1588 { /* Inline typing$AReassignFormExpr$read_type= (self,var_readtype) on <self:AReassignFormExpr> */
1589 self
->attrs
[COLOR_nitc__typing__AReassignFormExpr___read_type
].val
= var_readtype
; /* _read_type on <self:AReassignFormExpr> */
1594 { /* Inline parser_nodes$AReassignFormExpr$n_assign_op (self) on <self:AReassignFormExpr> */
1595 var8
= self
->attrs
[COLOR_nitc__parser_nodes__AReassignFormExpr___n_assign_op
].val
; /* _n_assign_op on <self:AReassignFormExpr> */
1596 if (unlikely(var8
== NULL
)) {
1597 if(catchStack
.cursor
>= 0){
1598 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1600 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign_op");
1601 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2081);
1609 var9
= nitc__typing___nitc__typing__TypeVisitor___get_method(var_v
, var6
, var_readtype
, var_reassign_name
, 0);
1611 var_callsite
= var9
;
1612 if (var_callsite
== NULL
) {
1613 var10
= 1; /* is null */
1615 var10
= 0; /* arg is null but recv is not */
1618 { /* Inline kernel$Object$== (var_callsite,((val*)NULL)) on <var_callsite:nullable CallSite> */
1619 var_other
= ((val
*)NULL
);
1621 { /* Inline kernel$Object$is_same_instance (var_callsite,var_other) on <var_callsite:nullable CallSite(CallSite)> */
1622 var15
= var_callsite
== var_other
;
1625 RET_LABEL14
:(void)0;
1630 RET_LABEL12
:(void)0;
1640 { /* Inline typing$AReassignFormExpr$reassign_callsite= (self,var_callsite) on <self:AReassignFormExpr> */
1641 self
->attrs
[COLOR_nitc__typing__AReassignFormExpr___reassign_callsite
].val
= var_callsite
; /* _reassign_callsite on <self:AReassignFormExpr> */
1642 RET_LABEL16
:(void)0;
1646 { /* Inline typing$CallSite$msignature (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
1647 var19
= var_callsite
->attrs
[COLOR_nitc__typing__CallSite___msignature
].val
; /* _msignature on <var_callsite:nullable CallSite(CallSite)> */
1648 if (unlikely(var19
== NULL
)) {
1649 if(catchStack
.cursor
>= 0){
1650 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1652 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
1653 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 663);
1657 RET_LABEL18
:(void)0;
1660 var_msignature
= var17
;
1662 { /* Inline model$MSignature$return_mtype (var_msignature) on <var_msignature:MSignature> */
1663 var22
= var_msignature
->attrs
[COLOR_nitc__model__MSignature___return_mtype
].val
; /* _return_mtype on <var_msignature:MSignature> */
1665 RET_LABEL21
:(void)0;
1668 var_rettype
= var20
;
1670 var24
= nitc___nitc__MSignature___arity(var_msignature
);
1673 { /* Inline kernel$Int$== (var24,1l) on <var24:Int> */
1674 var27
= var24
== 1l;
1677 RET_LABEL26
:(void)0;
1682 if (var_rettype
== NULL
) {
1683 var28
= 0; /* is null */
1685 var28
= 1; /* arg is null and recv is not */
1688 { /* Inline kernel$Object$!= (var_rettype,((val*)NULL)) on <var_rettype:nullable MType> */
1689 var_other31
= ((val
*)NULL
);
1691 var32
= ((short int(*)(val
* self
, val
* p0
))(var_rettype
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_rettype
, var_other31
); /* == on <var_rettype:nullable MType(MType)>*/
1696 RET_LABEL30
:(void)0;
1704 if (unlikely(!var23
)) {
1705 if(catchStack
.cursor
>= 0){
1706 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1708 PRINT_ERROR("Runtime error: %s", "Assert failed");
1709 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1020);
1713 { /* Inline parser_nodes$AReassignFormExpr$n_value (self) on <self:AReassignFormExpr> */
1714 var36
= self
->attrs
[COLOR_nitc__parser_nodes__AReassignFormExpr___n_value
].val
; /* _n_value on <self:AReassignFormExpr> */
1715 if (unlikely(var36
== NULL
)) {
1716 if(catchStack
.cursor
>= 0){
1717 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1719 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
1720 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2084);
1724 RET_LABEL35
:(void)0;
1728 { /* Inline model$MSignature$mparameters (var_msignature) on <var_msignature:MSignature> */
1729 var39
= var_msignature
->attrs
[COLOR_nitc__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
1730 if (unlikely(var39
== NULL
)) {
1731 if(catchStack
.cursor
>= 0){
1732 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1734 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
1735 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1879);
1739 RET_LABEL38
:(void)0;
1743 var40
= core___core__SequenceRead___Collection__first(var37
);
1746 { /* Inline model$MParameter$mtype (var40) on <var40:nullable Object(MParameter)> */
1747 var43
= var40
->attrs
[COLOR_nitc__model__MParameter___mtype
].val
; /* _mtype on <var40:nullable Object(MParameter)> */
1748 if (unlikely(var43
== NULL
)) {
1749 if(catchStack
.cursor
>= 0){
1750 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1752 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1753 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1996);
1757 RET_LABEL42
:(void)0;
1761 var44
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(var_v
, var34
, var41
);
1763 var_value_type
= var44
;
1764 if (var_value_type
== NULL
) {
1765 var45
= 1; /* is null */
1767 var45
= 0; /* arg is null but recv is not */
1770 { /* Inline kernel$Object$== (var_value_type,((val*)NULL)) on <var_value_type:nullable MType> */
1771 var_other
= ((val
*)NULL
);
1773 { /* Inline kernel$Object$is_same_instance (var_value_type,var_other) on <var_value_type:nullable MType(MType)> */
1774 var50
= var_value_type
== var_other
;
1777 RET_LABEL49
:(void)0;
1782 RET_LABEL47
:(void)0;
1792 var51
= nitc__typing___nitc__typing__TypeVisitor___check_subtype(var_v
, self
, var_rettype
, var_writetype
, 0);
1799 /* method typing$AVarReassignExpr$accept_typing for (self: AVarReassignExpr, TypeVisitor) */
1800 void nitc__typing___AVarReassignExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
1801 val
* var_v
/* var v: TypeVisitor */;
1802 val
* var
/* : nullable Variable */;
1803 val
* var2
/* : nullable Variable */;
1804 val
* var_variable
/* var variable: nullable Variable */;
1805 short int var3
/* : Bool */;
1806 short int var4
/* : Bool */;
1807 val
* var_other
/* var other: nullable Object */;
1808 short int var6
/* : Bool */;
1809 short int var7
/* : Bool */;
1810 val
* var8
/* : nullable MType */;
1811 val
* var_readtype
/* var readtype: nullable MType */;
1812 short int var9
/* : Bool */;
1813 short int var10
/* : Bool */;
1814 val
* var_other12
/* var other: nullable Object */;
1815 short int var13
/* : Bool */;
1816 short int var15
/* : Bool */;
1817 val
* var17
/* : nullable MType */;
1818 val
* var19
/* : nullable MType */;
1819 val
* var_writetype
/* var writetype: nullable MType */;
1820 short int var20
/* : Bool */;
1821 short int var21
/* : Bool */;
1822 short int var23
/* : Bool */;
1823 short int var25
/* : Bool */;
1824 val
* var26
/* : nullable MType */;
1825 val
* var_rettype
/* var rettype: nullable MType */;
1826 short int var27
/* : Bool */;
1827 short int var28
/* : Bool */;
1828 short int var30
/* : Bool */;
1829 short int var31
/* : Bool */;
1832 { /* Inline scope$AVarFormExpr$variable (self) on <self:AVarReassignExpr> */
1833 var2
= self
->attrs
[COLOR_nitc__scope__AVarFormExpr___variable
].val
; /* _variable on <self:AVarReassignExpr> */
1839 if (var_variable
== NULL
) {
1840 var3
= 0; /* is null */
1842 var3
= 1; /* arg is null and recv is not */
1845 { /* Inline kernel$Object$!= (var_variable,((val*)NULL)) on <var_variable:nullable Variable> */
1846 var_other
= ((val
*)NULL
);
1848 var6
= ((short int(*)(val
* self
, val
* p0
))(var_variable
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_variable
, var_other
); /* == on <var_variable:nullable Variable(Variable)>*/
1857 if (unlikely(!var3
)) {
1858 if(catchStack
.cursor
>= 0){
1859 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1861 PRINT_ERROR("Runtime error: %s", "Assert failed");
1862 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1034);
1866 var8
= nitc__typing___nitc__typing__TypeVisitor___get_variable(var_v
, self
, var_variable
);
1868 var_readtype
= var8
;
1869 if (var_readtype
== NULL
) {
1870 var9
= 1; /* is null */
1872 var9
= 0; /* arg is null but recv is not */
1875 { /* Inline kernel$Object$== (var_readtype,((val*)NULL)) on <var_readtype:nullable MType> */
1876 var_other12
= ((val
*)NULL
);
1878 { /* Inline kernel$Object$is_same_instance (var_readtype,var_other12) on <var_readtype:nullable MType(MType)> */
1879 var15
= var_readtype
== var_other12
;
1882 RET_LABEL14
:(void)0;
1887 RET_LABEL11
:(void)0;
1896 { /* Inline typing$AReassignFormExpr$read_type= (self,var_readtype) on <self:AVarReassignExpr> */
1897 self
->attrs
[COLOR_nitc__typing__AReassignFormExpr___read_type
].val
= var_readtype
; /* _read_type on <self:AVarReassignExpr> */
1898 RET_LABEL16
:(void)0;
1902 { /* Inline typing$Variable$declared_type (var_variable) on <var_variable:nullable Variable(Variable)> */
1903 var19
= var_variable
->attrs
[COLOR_nitc__typing__Variable___declared_type
].val
; /* _declared_type on <var_variable:nullable Variable(Variable)> */
1905 RET_LABEL18
:(void)0;
1908 var_writetype
= var17
;
1909 if (var_writetype
== NULL
) {
1910 var20
= 1; /* is null */
1912 var20
= 0; /* arg is null but recv is not */
1915 { /* Inline kernel$Object$== (var_writetype,((val*)NULL)) on <var_writetype:nullable MType> */
1916 var_other12
= ((val
*)NULL
);
1918 { /* Inline kernel$Object$is_same_instance (var_writetype,var_other12) on <var_writetype:nullable MType(MType)> */
1919 var25
= var_writetype
== var_other12
;
1922 RET_LABEL24
:(void)0;
1927 RET_LABEL22
:(void)0;
1936 var26
= nitc__typing___AReassignFormExpr___resolve_reassignment(self
, var_v
, var_readtype
, var_writetype
);
1938 var_rettype
= var26
;
1940 nitc__typing___nitc__typing__TypeVisitor___set_variable(var_v
, self
, var_variable
, var_rettype
); /* Direct call typing$TypeVisitor$set_variable on <var_v:TypeVisitor>*/
1942 if (var_rettype
== NULL
) {
1943 var27
= 0; /* is null */
1945 var27
= 1; /* arg is null and recv is not */
1948 { /* Inline kernel$Object$!= (var_rettype,((val*)NULL)) on <var_rettype:nullable MType> */
1949 var_other
= ((val
*)NULL
);
1951 var30
= ((short int(*)(val
* self
, val
* p0
))(var_rettype
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_rettype
, var_other
); /* == on <var_rettype:nullable MType(MType)>*/
1956 RET_LABEL29
:(void)0;
1961 { /* Inline typing$AExpr$is_typed= (self,var27) on <self:AVarReassignExpr> */
1962 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= var27
; /* _is_typed on <self:AVarReassignExpr> */
1963 RET_LABEL32
:(void)0;
1968 /* method typing$AContinueExpr$accept_typing for (self: AContinueExpr, TypeVisitor) */
1969 void nitc__typing___AContinueExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
1970 val
* var_v
/* var v: TypeVisitor */;
1971 val
* var
/* : nullable AExpr */;
1972 val
* var2
/* : nullable AExpr */;
1973 val
* var_nexpr
/* var nexpr: nullable AExpr */;
1974 short int var3
/* : Bool */;
1975 short int var4
/* : Bool */;
1976 val
* var_other
/* var other: nullable Object */;
1977 short int var6
/* : Bool */;
1978 short int var7
/* : Bool */;
1979 val
* var8
/* : nullable MType */;
1982 { /* Inline parser_nodes$AEscapeExpr$n_expr (self) on <self:AContinueExpr> */
1983 var2
= self
->attrs
[COLOR_nitc__parser_nodes__AEscapeExpr___n_expr
].val
; /* _n_expr on <self:AContinueExpr> */
1989 if (var_nexpr
== NULL
) {
1990 var3
= 0; /* is null */
1992 var3
= 1; /* arg is null and recv is not */
1995 { /* Inline kernel$Object$!= (var_nexpr,((val*)NULL)) on <var_nexpr:nullable AExpr> */
1996 var_other
= ((val
*)NULL
);
1998 var6
= ((short int(*)(val
* self
, val
* p0
))(var_nexpr
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_nexpr
, var_other
); /* == on <var_nexpr:nullable AExpr(AExpr)>*/
2009 var8
= nitc__typing___nitc__typing__TypeVisitor___visit_expr(var_v
, var_nexpr
);
2014 { /* Inline typing$AExpr$is_typed= (self,1) on <self:AContinueExpr> */
2015 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:AContinueExpr> */
2021 /* method typing$ABreakExpr$accept_typing for (self: ABreakExpr, TypeVisitor) */
2022 void nitc__typing___ABreakExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
2023 val
* var_v
/* var v: TypeVisitor */;
2024 val
* var
/* : nullable AExpr */;
2025 val
* var2
/* : nullable AExpr */;
2026 val
* var_nexpr
/* var nexpr: nullable AExpr */;
2027 short int var3
/* : Bool */;
2028 short int var4
/* : Bool */;
2029 val
* var_other
/* var other: nullable Object */;
2030 short int var6
/* : Bool */;
2031 short int var7
/* : Bool */;
2032 val
* var8
/* : nullable MType */;
2035 { /* Inline parser_nodes$AEscapeExpr$n_expr (self) on <self:ABreakExpr> */
2036 var2
= self
->attrs
[COLOR_nitc__parser_nodes__AEscapeExpr___n_expr
].val
; /* _n_expr on <self:ABreakExpr> */
2042 if (var_nexpr
== NULL
) {
2043 var3
= 0; /* is null */
2045 var3
= 1; /* arg is null and recv is not */
2048 { /* Inline kernel$Object$!= (var_nexpr,((val*)NULL)) on <var_nexpr:nullable AExpr> */
2049 var_other
= ((val
*)NULL
);
2051 var6
= ((short int(*)(val
* self
, val
* p0
))(var_nexpr
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_nexpr
, var_other
); /* == on <var_nexpr:nullable AExpr(AExpr)>*/
2062 var8
= nitc__typing___nitc__typing__TypeVisitor___visit_expr(var_v
, var_nexpr
);
2067 { /* Inline typing$AExpr$is_typed= (self,1) on <self:ABreakExpr> */
2068 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ABreakExpr> */
2074 /* method typing$AReturnExpr$accept_typing for (self: AReturnExpr, TypeVisitor) */
2075 void nitc__typing___AReturnExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
2076 val
* var_v
/* var v: TypeVisitor */;
2077 val
* var
/* : nullable AExpr */;
2078 val
* var2
/* : nullable AExpr */;
2079 val
* var_nexpr
/* var nexpr: nullable AExpr */;
2080 val
* var3
/* : nullable MPropDef */;
2081 val
* var5
/* : nullable MPropDef */;
2082 val
* var_mpropdef
/* var mpropdef: nullable MPropDef */;
2083 short int var6
/* : Bool */;
2086 val
* var7
/* : nullable MSignature */;
2087 val
* var9
/* : nullable MSignature */;
2088 val
* var10
/* : nullable MType */;
2089 val
* var12
/* : nullable MType */;
2090 val
* var_ret_type
/* var ret_type: nullable Object */;
2091 short int var13
/* : Bool */;
2094 val
* var16
/* : nullable MType */;
2095 val
* var18
/* : nullable MType */;
2096 short int var19
/* : Bool */;
2097 short int var20
/* : Bool */;
2098 val
* var_other
/* var other: nullable Object */;
2099 short int var22
/* : Bool */;
2100 short int var23
/* : Bool */;
2101 short int var24
/* : Bool */;
2102 short int var25
/* : Bool */;
2103 short int var27
/* : Bool */;
2104 short int var28
/* : Bool */;
2105 val
* var29
/* : nullable MType */;
2106 val
* var30
/* : nullable MType */;
2107 static val
* varonce
;
2108 val
* var31
/* : String */;
2109 char* var32
/* : CString */;
2110 val
* var33
/* : String */;
2111 val
* var34
/* : nullable Int */;
2112 val
* var35
/* : nullable Int */;
2113 val
* var36
/* : nullable Bool */;
2114 val
* var37
/* : nullable Bool */;
2115 short int var38
/* : Bool */;
2116 short int var39
/* : Bool */;
2117 short int var41
/* : Bool */;
2118 short int var42
/* : Bool */;
2119 static val
* varonce43
;
2120 val
* var44
/* : String */;
2121 char* var45
/* : CString */;
2122 val
* var46
/* : String */;
2123 val
* var47
/* : nullable Int */;
2124 val
* var48
/* : nullable Int */;
2125 val
* var49
/* : nullable Bool */;
2126 val
* var50
/* : nullable Bool */;
2129 { /* Inline parser_nodes$AEscapeExpr$n_expr (self) on <self:AReturnExpr> */
2130 var2
= self
->attrs
[COLOR_nitc__parser_nodes__AEscapeExpr___n_expr
].val
; /* _n_expr on <self:AReturnExpr> */
2137 { /* Inline typing$TypeVisitor$mpropdef (var_v) on <var_v:TypeVisitor> */
2138 var5
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___mpropdef
].val
; /* _mpropdef on <var_v:TypeVisitor> */
2143 var_mpropdef
= var3
;
2144 /* <var_mpropdef:nullable MPropDef> isa MMethodDef */
2145 cltype
= type_nitc__MMethodDef
.color
;
2146 idtype
= type_nitc__MMethodDef
.id
;
2147 if(var_mpropdef
== NULL
) {
2150 if(cltype
>= var_mpropdef
->type
->table_size
) {
2153 var6
= var_mpropdef
->type
->type_table
[cltype
] == idtype
;
2158 { /* Inline model$MMethodDef$msignature (var_mpropdef) on <var_mpropdef:nullable MPropDef(MMethodDef)> */
2159 var9
= var_mpropdef
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:nullable MPropDef(MMethodDef)> */
2165 if(catchStack
.cursor
>= 0){
2166 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2168 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2169 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1082);
2172 { /* Inline model$MSignature$return_mtype (var7) on <var7:nullable MSignature> */
2173 if (unlikely(var7
== NULL
)) {
2174 if(catchStack
.cursor
>= 0){
2175 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2177 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2178 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1891);
2181 var12
= var7
->attrs
[COLOR_nitc__model__MSignature___return_mtype
].val
; /* _return_mtype on <var7:nullable MSignature> */
2183 RET_LABEL11
:(void)0;
2186 var_ret_type
= var10
;
2188 /* <var_mpropdef:nullable MPropDef> isa MAttributeDef */
2189 cltype14
= type_nitc__MAttributeDef
.color
;
2190 idtype15
= type_nitc__MAttributeDef
.id
;
2191 if(var_mpropdef
== NULL
) {
2194 if(cltype14
>= var_mpropdef
->type
->table_size
) {
2197 var13
= var_mpropdef
->type
->type_table
[cltype14
] == idtype15
;
2202 { /* Inline model$MAttributeDef$static_mtype (var_mpropdef) on <var_mpropdef:nullable MPropDef(MAttributeDef)> */
2203 var18
= var_mpropdef
->attrs
[COLOR_nitc__model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var_mpropdef:nullable MPropDef(MAttributeDef)> */
2205 RET_LABEL17
:(void)0;
2208 var_ret_type
= var16
;
2210 if(catchStack
.cursor
>= 0){
2211 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2213 PRINT_ERROR("Runtime error: %s", "Aborted");
2214 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1086);
2218 if (var_nexpr
== NULL
) {
2219 var19
= 0; /* is null */
2221 var19
= 1; /* arg is null and recv is not */
2224 { /* Inline kernel$Object$!= (var_nexpr,((val*)NULL)) on <var_nexpr:nullable AExpr> */
2225 var_other
= ((val
*)NULL
);
2227 var22
= ((short int(*)(val
* self
, val
* p0
))(var_nexpr
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_nexpr
, var_other
); /* == on <var_nexpr:nullable AExpr(AExpr)>*/
2232 RET_LABEL21
:(void)0;
2237 if (var_ret_type
== NULL
) {
2238 var24
= 0; /* is null */
2240 var24
= 1; /* arg is null and recv is not */
2243 { /* Inline kernel$Object$!= (var_ret_type,((val*)NULL)) on <var_ret_type:nullable Object(nullable MType)> */
2244 var_other
= ((val
*)NULL
);
2246 var27
= ((short int(*)(val
* self
, val
* p0
))(var_ret_type
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_ret_type
, var_other
); /* == on <var_ret_type:nullable Object(MType)>*/
2251 RET_LABEL26
:(void)0;
2257 var29
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(var_v
, var_nexpr
, var_ret_type
);
2261 var30
= nitc__typing___nitc__typing__TypeVisitor___visit_expr(var_v
, var_nexpr
);
2263 if (likely(varonce
!=NULL
)) {
2266 var32
= "Error: `return` with value in a procedure.";
2267 var34
= (val
*)(42l<<2|1);
2268 var35
= (val
*)(42l<<2|1);
2269 var36
= (val
*)((long)(0)<<2|3);
2270 var37
= (val
*)((long)(0)<<2|3);
2271 var33
= core__flat___CString___to_s_unsafe(var32
, var34
, var35
, var36
, var37
);
2276 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, var_nexpr
, var31
); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
2281 if (var_ret_type
== NULL
) {
2282 var38
= 0; /* is null */
2284 var38
= 1; /* arg is null and recv is not */
2287 { /* Inline kernel$Object$!= (var_ret_type,((val*)NULL)) on <var_ret_type:nullable Object(nullable MType)> */
2288 var_other
= ((val
*)NULL
);
2290 var41
= ((short int(*)(val
* self
, val
* p0
))(var_ret_type
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_ret_type
, var_other
); /* == on <var_ret_type:nullable Object(MType)>*/
2295 RET_LABEL40
:(void)0;
2300 if (likely(varonce43
!=NULL
)) {
2303 var45
= "Error: `return` without value in a function.";
2304 var47
= (val
*)(44l<<2|1);
2305 var48
= (val
*)(44l<<2|1);
2306 var49
= (val
*)((long)(0)<<2|3);
2307 var50
= (val
*)((long)(0)<<2|3);
2308 var46
= core__flat___CString___to_s_unsafe(var45
, var47
, var48
, var49
, var50
);
2313 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var44
); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
2320 { /* Inline typing$AExpr$is_typed= (self,1) on <self:AReturnExpr> */
2321 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:AReturnExpr> */
2322 RET_LABEL51
:(void)0;
2327 /* method typing$AAbortExpr$accept_typing for (self: AAbortExpr, TypeVisitor) */
2328 void nitc__typing___AAbortExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
2329 val
* var_v
/* var v: TypeVisitor */;
2332 { /* Inline typing$AExpr$is_typed= (self,1) on <self:AAbortExpr> */
2333 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:AAbortExpr> */
2339 /* method typing$AIfExpr$accept_typing for (self: AIfExpr, TypeVisitor) */
2340 void nitc__typing___AIfExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
2341 val
* var_v
/* var v: TypeVisitor */;
2342 val
* var
/* : AExpr */;
2343 val
* var2
/* : AExpr */;
2344 val
* var3
/* : nullable MType */;
2345 val
* var4
/* : nullable AExpr */;
2346 val
* var6
/* : nullable AExpr */;
2347 val
* var7
/* : nullable AExpr */;
2348 val
* var9
/* : nullable AExpr */;
2349 short int var11
/* : Bool */;
2350 val
* var12
/* : nullable AExpr */;
2351 val
* var14
/* : nullable AExpr */;
2352 short int var15
/* : Bool */;
2353 short int var16
/* : Bool */;
2354 val
* var_other
/* var other: nullable Object */;
2355 short int var18
/* : Bool */;
2356 short int var19
/* : Bool */;
2357 short int var_
/* var : Bool */;
2358 val
* var20
/* : nullable AExpr */;
2359 val
* var22
/* : nullable AExpr */;
2360 short int var23
/* : Bool */;
2361 short int var24
/* : Bool */;
2362 val
* var_other26
/* var other: nullable Object */;
2363 short int var27
/* : Bool */;
2364 short int var29
/* : Bool */;
2365 val
* var30
/* : nullable AExpr */;
2366 val
* var32
/* : nullable AExpr */;
2367 val
* var33
/* : nullable MType */;
2370 { /* Inline parser_nodes$AIfExpr$n_expr (self) on <self:AIfExpr> */
2371 var2
= self
->attrs
[COLOR_nitc__parser_nodes__AIfExpr___n_expr
].val
; /* _n_expr on <self:AIfExpr> */
2372 if (unlikely(var2
== NULL
)) {
2373 if(catchStack
.cursor
>= 0){
2374 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2376 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2377 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1924);
2385 var3
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_bool(var_v
, var
);
2388 { /* Inline parser_nodes$AIfExpr$n_then (self) on <self:AIfExpr> */
2389 var6
= self
->attrs
[COLOR_nitc__parser_nodes__AIfExpr___n_then
].val
; /* _n_then on <self:AIfExpr> */
2395 nitc__typing___nitc__typing__TypeVisitor___visit_stmt(var_v
, var4
); /* Direct call typing$TypeVisitor$visit_stmt on <var_v:TypeVisitor>*/
2398 { /* Inline parser_nodes$AIfExpr$n_else (self) on <self:AIfExpr> */
2399 var9
= self
->attrs
[COLOR_nitc__parser_nodes__AIfExpr___n_else
].val
; /* _n_else on <self:AIfExpr> */
2405 nitc__typing___nitc__typing__TypeVisitor___visit_stmt(var_v
, var7
); /* Direct call typing$TypeVisitor$visit_stmt on <var_v:TypeVisitor>*/
2408 { /* Inline typing$AExpr$is_typed= (self,1) on <self:AIfExpr> */
2409 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:AIfExpr> */
2410 RET_LABEL10
:(void)0;
2414 { /* Inline parser_nodes$AIfExpr$n_then (self) on <self:AIfExpr> */
2415 var14
= self
->attrs
[COLOR_nitc__parser_nodes__AIfExpr___n_then
].val
; /* _n_then on <self:AIfExpr> */
2417 RET_LABEL13
:(void)0;
2420 if (var12
== NULL
) {
2421 var15
= 0; /* is null */
2423 var15
= 1; /* arg is null and recv is not */
2426 { /* Inline kernel$Object$!= (var12,((val*)NULL)) on <var12:nullable AExpr> */
2427 var_other
= ((val
*)NULL
);
2429 var18
= ((short int(*)(val
* self
, val
* p0
))(var12
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var12
, var_other
); /* == on <var12:nullable AExpr(AExpr)>*/
2434 RET_LABEL17
:(void)0;
2441 { /* Inline parser_nodes$AIfExpr$n_else (self) on <self:AIfExpr> */
2442 var22
= self
->attrs
[COLOR_nitc__parser_nodes__AIfExpr___n_else
].val
; /* _n_else on <self:AIfExpr> */
2444 RET_LABEL21
:(void)0;
2447 if (var20
== NULL
) {
2448 var23
= 1; /* is null */
2450 var23
= 0; /* arg is null but recv is not */
2453 { /* Inline kernel$Object$== (var20,((val*)NULL)) on <var20:nullable AExpr> */
2454 var_other26
= ((val
*)NULL
);
2456 { /* Inline kernel$Object$is_same_instance (var20,var_other26) on <var20:nullable AExpr(AExpr)> */
2457 var29
= var20
== var_other26
;
2460 RET_LABEL28
:(void)0;
2465 RET_LABEL25
:(void)0;
2475 { /* Inline parser_nodes$AIfExpr$n_then (self) on <self:AIfExpr> */
2476 var32
= self
->attrs
[COLOR_nitc__parser_nodes__AIfExpr___n_then
].val
; /* _n_then on <self:AIfExpr> */
2478 RET_LABEL31
:(void)0;
2481 if (var30
== NULL
) {
2482 if(catchStack
.cursor
>= 0){
2483 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2485 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2486 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1122);
2489 var33
= ((val
*(*)(val
* self
))(var30
->class->vft
[COLOR_nitc__typing__AExpr__mtype
]))(var30
); /* mtype on <var30:nullable AExpr>*/
2492 { /* Inline typing$AExpr$mtype= (self,var33) on <self:AIfExpr> */
2493 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var33
; /* _mtype on <self:AIfExpr> */
2494 RET_LABEL34
:(void)0;
2501 /* method typing$AIfexprExpr$accept_typing for (self: AIfexprExpr, TypeVisitor) */
2502 void nitc__typing___AIfexprExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
2503 val
* var_v
/* var v: TypeVisitor */;
2504 val
* var
/* : AExpr */;
2505 val
* var2
/* : AExpr */;
2506 val
* var3
/* : nullable MType */;
2507 val
* var4
/* : AExpr */;
2508 val
* var6
/* : AExpr */;
2509 val
* var7
/* : nullable MType */;
2510 val
* var_t1
/* var t1: nullable MType */;
2511 val
* var8
/* : AExpr */;
2512 val
* var10
/* : AExpr */;
2513 val
* var11
/* : nullable MType */;
2514 val
* var_t2
/* var t2: nullable MType */;
2515 short int var12
/* : Bool */;
2516 short int var13
/* : Bool */;
2517 short int var14
/* : Bool */;
2518 val
* var_other
/* var other: nullable Object */;
2519 short int var16
/* : Bool */;
2520 short int var18
/* : Bool */;
2521 short int var_
/* var : Bool */;
2522 short int var19
/* : Bool */;
2523 short int var20
/* : Bool */;
2524 short int var22
/* : Bool */;
2525 short int var24
/* : Bool */;
2526 val
* var25
/* : Array[MType] */;
2527 val
* var_26
/* var : Array[MType] */;
2528 val
* var27
/* : nullable MType */;
2529 val
* var_t
/* var t: nullable MType */;
2530 short int var28
/* : Bool */;
2531 short int var29
/* : Bool */;
2532 short int var31
/* : Bool */;
2533 short int var33
/* : Bool */;
2534 val
* var34
/* : NativeArray[String] */;
2535 static val
* varonce
;
2536 static val
* varonce35
;
2537 val
* var36
/* : String */;
2538 char* var37
/* : CString */;
2539 val
* var38
/* : String */;
2540 val
* var39
/* : nullable Int */;
2541 val
* var40
/* : nullable Int */;
2542 val
* var41
/* : nullable Bool */;
2543 val
* var42
/* : nullable Bool */;
2544 static val
* varonce43
;
2545 val
* var44
/* : String */;
2546 char* var45
/* : CString */;
2547 val
* var46
/* : String */;
2548 val
* var47
/* : nullable Int */;
2549 val
* var48
/* : nullable Int */;
2550 val
* var49
/* : nullable Bool */;
2551 val
* var50
/* : nullable Bool */;
2552 static val
* varonce51
;
2553 val
* var52
/* : String */;
2554 char* var53
/* : CString */;
2555 val
* var54
/* : String */;
2556 val
* var55
/* : nullable Int */;
2557 val
* var56
/* : nullable Int */;
2558 val
* var57
/* : nullable Bool */;
2559 val
* var58
/* : nullable Bool */;
2560 val
* var59
/* : String */;
2561 val
* var60
/* : String */;
2562 val
* var61
/* : String */;
2565 { /* Inline parser_nodes$AIfexprExpr$n_expr (self) on <self:AIfexprExpr> */
2566 var2
= self
->attrs
[COLOR_nitc__parser_nodes__AIfexprExpr___n_expr
].val
; /* _n_expr on <self:AIfexprExpr> */
2567 if (unlikely(var2
== NULL
)) {
2568 if(catchStack
.cursor
>= 0){
2569 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2571 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2572 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1947);
2580 var3
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_bool(var_v
, var
);
2583 { /* Inline parser_nodes$AIfexprExpr$n_then (self) on <self:AIfexprExpr> */
2584 var6
= self
->attrs
[COLOR_nitc__parser_nodes__AIfexprExpr___n_then
].val
; /* _n_then on <self:AIfexprExpr> */
2585 if (unlikely(var6
== NULL
)) {
2586 if(catchStack
.cursor
>= 0){
2587 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2589 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_then");
2590 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1953);
2598 var7
= nitc__typing___nitc__typing__TypeVisitor___visit_expr(var_v
, var4
);
2602 { /* Inline parser_nodes$AIfexprExpr$n_else (self) on <self:AIfexprExpr> */
2603 var10
= self
->attrs
[COLOR_nitc__parser_nodes__AIfexprExpr___n_else
].val
; /* _n_else on <self:AIfexprExpr> */
2604 if (unlikely(var10
== NULL
)) {
2605 if(catchStack
.cursor
>= 0){
2606 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2608 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_else");
2609 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1959);
2617 var11
= nitc__typing___nitc__typing__TypeVisitor___visit_expr(var_v
, var8
);
2620 if (var_t1
== NULL
) {
2621 var13
= 1; /* is null */
2623 var13
= 0; /* arg is null but recv is not */
2626 { /* Inline kernel$Object$== (var_t1,((val*)NULL)) on <var_t1:nullable MType> */
2627 var_other
= ((val
*)NULL
);
2629 { /* Inline kernel$Object$is_same_instance (var_t1,var_other) on <var_t1:nullable MType(MType)> */
2630 var18
= var_t1
== var_other
;
2633 RET_LABEL17
:(void)0;
2638 RET_LABEL15
:(void)0;
2646 if (var_t2
== NULL
) {
2647 var19
= 1; /* is null */
2649 var19
= 0; /* arg is null but recv is not */
2652 { /* Inline kernel$Object$== (var_t2,((val*)NULL)) on <var_t2:nullable MType> */
2653 var_other
= ((val
*)NULL
);
2655 { /* Inline kernel$Object$is_same_instance (var_t2,var_other) on <var_t2:nullable MType(MType)> */
2656 var24
= var_t2
== var_other
;
2659 RET_LABEL23
:(void)0;
2664 RET_LABEL21
:(void)0;
2674 var25
= NEW_core__Array(&type_core__Array__nitc__MType
);
2676 core___core__Array___with_capacity(var25
, 2l); /* Direct call array$Array$with_capacity on <var25:Array[MType]>*/
2680 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_26
, var_t1
); /* Direct call array$AbstractArray$push on <var_26:Array[MType]>*/
2683 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_26
, var_t2
); /* Direct call array$AbstractArray$push on <var_26:Array[MType]>*/
2686 var27
= nitc__typing___nitc__typing__TypeVisitor___merge_types(var_v
, self
, var_26
);
2689 if (var_t
== NULL
) {
2690 var28
= 1; /* is null */
2692 var28
= 0; /* arg is null but recv is not */
2695 { /* Inline kernel$Object$== (var_t,((val*)NULL)) on <var_t:nullable MType> */
2696 var_other
= ((val
*)NULL
);
2698 { /* Inline kernel$Object$is_same_instance (var_t,var_other) on <var_t:nullable MType(MType)> */
2699 var33
= var_t
== var_other
;
2702 RET_LABEL32
:(void)0;
2707 RET_LABEL30
:(void)0;
2712 if (unlikely(varonce
==NULL
)) {
2713 var34
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
2714 if (likely(varonce35
!=NULL
)) {
2717 var37
= "Type Error: ambiguous type `";
2718 var39
= (val
*)(28l<<2|1);
2719 var40
= (val
*)(28l<<2|1);
2720 var41
= (val
*)((long)(0)<<2|3);
2721 var42
= (val
*)((long)(0)<<2|3);
2722 var38
= core__flat___CString___to_s_unsafe(var37
, var39
, var40
, var41
, var42
);
2726 ((struct instance_core__NativeArray
*)var34
)->values
[0]=var36
;
2727 if (likely(varonce43
!=NULL
)) {
2731 var47
= (val
*)(6l<<2|1);
2732 var48
= (val
*)(6l<<2|1);
2733 var49
= (val
*)((long)(0)<<2|3);
2734 var50
= (val
*)((long)(0)<<2|3);
2735 var46
= core__flat___CString___to_s_unsafe(var45
, var47
, var48
, var49
, var50
);
2739 ((struct instance_core__NativeArray
*)var34
)->values
[2]=var44
;
2740 if (likely(varonce51
!=NULL
)) {
2744 var55
= (val
*)(2l<<2|1);
2745 var56
= (val
*)(2l<<2|1);
2746 var57
= (val
*)((long)(0)<<2|3);
2747 var58
= (val
*)((long)(0)<<2|3);
2748 var54
= core__flat___CString___to_s_unsafe(var53
, var55
, var56
, var57
, var58
);
2752 ((struct instance_core__NativeArray
*)var34
)->values
[4]=var52
;
2758 var59
= ((val
*(*)(val
* self
))(var_t1
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_t1
); /* to_s on <var_t1:nullable MType(MType)>*/
2760 ((struct instance_core__NativeArray
*)var34
)->values
[1]=var59
;
2762 var60
= ((val
*(*)(val
* self
))(var_t2
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_t2
); /* to_s on <var_t2:nullable MType(MType)>*/
2764 ((struct instance_core__NativeArray
*)var34
)->values
[3]=var60
;
2766 var61
= ((val
*(*)(val
* self
))(var34
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var34
); /* native_to_s on <var34:NativeArray[String]>*/
2770 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var61
); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
2775 { /* Inline typing$AExpr$mtype= (self,var_t) on <self:AIfexprExpr> */
2776 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var_t
; /* _mtype on <self:AIfexprExpr> */
2777 RET_LABEL62
:(void)0;
2782 /* method typing$ADoExpr$accept_typing for (self: ADoExpr, TypeVisitor) */
2783 void nitc__typing___ADoExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
2784 val
* var_v
/* var v: TypeVisitor */;
2785 val
* var
/* : nullable AExpr */;
2786 val
* var2
/* : nullable AExpr */;
2787 val
* var3
/* : nullable AExpr */;
2788 val
* var5
/* : nullable AExpr */;
2791 { /* Inline parser_nodes$ADoExpr$n_block (self) on <self:ADoExpr> */
2792 var2
= self
->attrs
[COLOR_nitc__parser_nodes__ADoExpr___n_block
].val
; /* _n_block on <self:ADoExpr> */
2798 nitc__typing___nitc__typing__TypeVisitor___visit_stmt(var_v
, var
); /* Direct call typing$TypeVisitor$visit_stmt on <var_v:TypeVisitor>*/
2801 { /* Inline parser_nodes$ADoExpr$n_catch (self) on <self:ADoExpr> */
2802 var5
= self
->attrs
[COLOR_nitc__parser_nodes__ADoExpr___n_catch
].val
; /* _n_catch on <self:ADoExpr> */
2808 nitc__typing___nitc__typing__TypeVisitor___visit_stmt(var_v
, var3
); /* Direct call typing$TypeVisitor$visit_stmt on <var_v:TypeVisitor>*/
2811 { /* Inline typing$AExpr$is_typed= (self,1) on <self:ADoExpr> */
2812 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ADoExpr> */
2818 /* method typing$AWhileExpr$accept_typing for (self: AWhileExpr, TypeVisitor) */
2819 void nitc__typing___AWhileExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
2820 val
* var_v
/* var v: TypeVisitor */;
2821 val
* var
/* : AExpr */;
2822 val
* var3
/* : AExpr */;
2823 val
* var4
/* : nullable MType */;
2824 val
* var5
/* : nullable AExpr */;
2825 val
* var7
/* : nullable AExpr */;
2828 { /* Inline typing$TypeVisitor$has_loop= (var_v,1) on <var_v:TypeVisitor> */
2829 var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___has_loop
].s
= 1; /* _has_loop on <var_v:TypeVisitor> */
2834 { /* Inline parser_nodes$AWhileExpr$n_expr (self) on <self:AWhileExpr> */
2835 var3
= self
->attrs
[COLOR_nitc__parser_nodes__AWhileExpr___n_expr
].val
; /* _n_expr on <self:AWhileExpr> */
2836 if (unlikely(var3
== NULL
)) {
2837 if(catchStack
.cursor
>= 0){
2838 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2840 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2841 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1971);
2849 var4
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_bool(var_v
, var
);
2852 { /* Inline parser_nodes$AWhileExpr$n_block (self) on <self:AWhileExpr> */
2853 var7
= self
->attrs
[COLOR_nitc__parser_nodes__AWhileExpr___n_block
].val
; /* _n_block on <self:AWhileExpr> */
2859 nitc__typing___nitc__typing__TypeVisitor___visit_stmt(var_v
, var5
); /* Direct call typing$TypeVisitor$visit_stmt on <var_v:TypeVisitor>*/
2862 { /* Inline typing$AExpr$is_typed= (self,1) on <self:AWhileExpr> */
2863 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:AWhileExpr> */
2869 /* method typing$ALoopExpr$accept_typing for (self: ALoopExpr, TypeVisitor) */
2870 void nitc__typing___ALoopExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
2871 val
* var_v
/* var v: TypeVisitor */;
2872 val
* var
/* : nullable AExpr */;
2873 val
* var3
/* : nullable AExpr */;
2876 { /* Inline typing$TypeVisitor$has_loop= (var_v,1) on <var_v:TypeVisitor> */
2877 var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___has_loop
].s
= 1; /* _has_loop on <var_v:TypeVisitor> */
2882 { /* Inline parser_nodes$ALoopExpr$n_block (self) on <self:ALoopExpr> */
2883 var3
= self
->attrs
[COLOR_nitc__parser_nodes__ALoopExpr___n_block
].val
; /* _n_block on <self:ALoopExpr> */
2889 nitc__typing___nitc__typing__TypeVisitor___visit_stmt(var_v
, var
); /* Direct call typing$TypeVisitor$visit_stmt on <var_v:TypeVisitor>*/
2892 { /* Inline typing$AExpr$is_typed= (self,1) on <self:ALoopExpr> */
2893 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ALoopExpr> */
2899 /* method typing$AForExpr$accept_typing for (self: AForExpr, TypeVisitor) */
2900 void nitc__typing___AForExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
2901 val
* var_v
/* var v: TypeVisitor */;
2902 val
* var
/* : ANodes[AForGroup] */;
2903 val
* var3
/* : ANodes[AForGroup] */;
2904 val
* var_
/* var : ANodes[AForGroup] */;
2905 val
* var4
/* : Iterator[ANode] */;
2906 val
* var_5
/* var : Iterator[AForGroup] */;
2907 short int var6
/* : Bool */;
2908 val
* var7
/* : nullable Object */;
2909 val
* var_g
/* var g: AForGroup */;
2910 val
* var8
/* : AExpr */;
2911 val
* var10
/* : AExpr */;
2912 val
* var11
/* : nullable MType */;
2913 val
* var_mtype
/* var mtype: nullable MType */;
2914 short int var12
/* : Bool */;
2915 short int var13
/* : Bool */;
2916 val
* var_other
/* var other: nullable Object */;
2917 short int var15
/* : Bool */;
2918 short int var17
/* : Bool */;
2919 short int var18
/* : Bool */;
2920 short int var20
/* : Bool */;
2921 val
* var22
/* : nullable AExpr */;
2922 val
* var24
/* : nullable AExpr */;
2923 val
* var25
/* : nullable AExpr */;
2924 val
* var27
/* : nullable AExpr */;
2925 val
* var28
/* : nullable MType */;
2928 { /* Inline typing$TypeVisitor$has_loop= (var_v,1) on <var_v:TypeVisitor> */
2929 var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___has_loop
].s
= 1; /* _has_loop on <var_v:TypeVisitor> */
2934 { /* Inline parser_nodes$AForExpr$n_groups (self) on <self:AForExpr> */
2935 var3
= self
->attrs
[COLOR_nitc__parser_nodes__AForExpr___n_groups
].val
; /* _n_groups on <self:AForExpr> */
2936 if (unlikely(var3
== NULL
)) {
2937 if(catchStack
.cursor
>= 0){
2938 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2940 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_groups");
2941 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2001);
2950 var4
= nitc___nitc__ANodes___core__abstract_collection__Collection__iterator(var_
);
2955 var6
= ((short int(*)(val
* self
))((((long)var_5
&3)?class_info
[((long)var_5
&3)]:var_5
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_5
); /* is_ok on <var_5:Iterator[AForGroup]>*/
2962 var7
= ((val
*(*)(val
* self
))((((long)var_5
&3)?class_info
[((long)var_5
&3)]:var_5
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_5
); /* item on <var_5:Iterator[AForGroup]>*/
2966 { /* Inline parser_nodes$AForGroup$n_expr (var_g) on <var_g:AForGroup> */
2967 var10
= var_g
->attrs
[COLOR_nitc__parser_nodes__AForGroup___n_expr
].val
; /* _n_expr on <var_g:AForGroup> */
2968 if (unlikely(var10
== NULL
)) {
2969 if(catchStack
.cursor
>= 0){
2970 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2972 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2973 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2024);
2981 var11
= nitc__typing___nitc__typing__TypeVisitor___visit_expr(var_v
, var8
);
2984 if (var_mtype
== NULL
) {
2985 var12
= 1; /* is null */
2987 var12
= 0; /* arg is null but recv is not */
2990 { /* Inline kernel$Object$== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
2991 var_other
= ((val
*)NULL
);
2993 { /* Inline kernel$Object$is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
2994 var17
= var_mtype
== var_other
;
2997 RET_LABEL16
:(void)0;
3002 RET_LABEL14
:(void)0;
3011 nitc__typing___AForGroup___do_type_iterator(var_g
, var_v
, var_mtype
); /* Direct call typing$AForGroup$do_type_iterator on <var_g:AForGroup>*/
3014 { /* Inline modelbuilder_base$ANode$is_broken (var_g) on <var_g:AForGroup> */
3015 var20
= var_g
->attrs
[COLOR_nitc__modelbuilder_base__ANode___is_broken
].s
; /* _is_broken on <var_g:AForGroup> */
3017 RET_LABEL19
:(void)0;
3022 { /* Inline modelbuilder_base$ANode$is_broken= (self,1) on <self:AForExpr> */
3023 self
->attrs
[COLOR_nitc__modelbuilder_base__ANode___is_broken
].s
= 1; /* _is_broken on <self:AForExpr> */
3024 RET_LABEL21
:(void)0;
3030 ((void(*)(val
* self
))((((long)var_5
&3)?class_info
[((long)var_5
&3)]:var_5
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_5
); /* next on <var_5:Iterator[AForGroup]>*/
3033 BREAK_label
: (void)0;
3035 ((void(*)(val
* self
))((((long)var_5
&3)?class_info
[((long)var_5
&3)]:var_5
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_5
); /* finish on <var_5:Iterator[AForGroup]>*/
3038 { /* Inline parser_nodes$AForExpr$n_block (self) on <self:AForExpr> */
3039 var24
= self
->attrs
[COLOR_nitc__parser_nodes__AForExpr___n_block
].val
; /* _n_block on <self:AForExpr> */
3041 RET_LABEL23
:(void)0;
3045 nitc__typing___nitc__typing__TypeVisitor___visit_stmt(var_v
, var22
); /* Direct call typing$TypeVisitor$visit_stmt on <var_v:TypeVisitor>*/
3048 { /* Inline parser_nodes$AForExpr$n_block (self) on <self:AForExpr> */
3049 var27
= self
->attrs
[COLOR_nitc__parser_nodes__AForExpr___n_block
].val
; /* _n_block on <self:AForExpr> */
3051 RET_LABEL26
:(void)0;
3054 if (var25
== NULL
) {
3055 if(catchStack
.cursor
>= 0){
3056 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3058 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3059 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1189);
3062 var28
= ((val
*(*)(val
* self
))(var25
->class->vft
[COLOR_nitc__typing__AExpr__mtype
]))(var25
); /* mtype on <var25:nullable AExpr>*/
3065 { /* Inline typing$AExpr$mtype= (self,var28) on <self:AForExpr> */
3066 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var28
; /* _mtype on <self:AForExpr> */
3067 RET_LABEL29
:(void)0;
3071 { /* Inline typing$AExpr$is_typed= (self,1) on <self:AForExpr> */
3072 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:AForExpr> */
3073 RET_LABEL30
:(void)0;
3078 /* method typing$AForGroup$coltype= for (self: AForGroup, nullable MClassType) */
3079 void nitc__typing___AForGroup___coltype_61d(val
* self
, val
* p0
) {
3080 self
->attrs
[COLOR_nitc__typing__AForGroup___coltype
].val
= p0
; /* _coltype on <self:AForGroup> */
3083 /* method typing$AForGroup$method_iterator for (self: AForGroup): nullable CallSite */
3084 val
* nitc__typing___AForGroup___method_iterator(val
* self
) {
3085 val
* var
/* : nullable CallSite */;
3086 val
* var1
/* : nullable CallSite */;
3087 var1
= self
->attrs
[COLOR_nitc__typing__AForGroup___method_iterator
].val
; /* _method_iterator on <self:AForGroup> */
3092 /* method typing$AForGroup$method_iterator= for (self: AForGroup, nullable CallSite) */
3093 void nitc__typing___AForGroup___method_iterator_61d(val
* self
, val
* p0
) {
3094 self
->attrs
[COLOR_nitc__typing__AForGroup___method_iterator
].val
= p0
; /* _method_iterator on <self:AForGroup> */
3097 /* method typing$AForGroup$method_is_ok for (self: AForGroup): nullable CallSite */
3098 val
* nitc__typing___AForGroup___method_is_ok(val
* self
) {
3099 val
* var
/* : nullable CallSite */;
3100 val
* var1
/* : nullable CallSite */;
3101 var1
= self
->attrs
[COLOR_nitc__typing__AForGroup___method_is_ok
].val
; /* _method_is_ok on <self:AForGroup> */
3106 /* method typing$AForGroup$method_is_ok= for (self: AForGroup, nullable CallSite) */
3107 void nitc__typing___AForGroup___method_is_ok_61d(val
* self
, val
* p0
) {
3108 self
->attrs
[COLOR_nitc__typing__AForGroup___method_is_ok
].val
= p0
; /* _method_is_ok on <self:AForGroup> */
3111 /* method typing$AForGroup$method_item for (self: AForGroup): nullable CallSite */
3112 val
* nitc__typing___AForGroup___method_item(val
* self
) {
3113 val
* var
/* : nullable CallSite */;
3114 val
* var1
/* : nullable CallSite */;
3115 var1
= self
->attrs
[COLOR_nitc__typing__AForGroup___method_item
].val
; /* _method_item on <self:AForGroup> */
3120 /* method typing$AForGroup$method_item= for (self: AForGroup, nullable CallSite) */
3121 void nitc__typing___AForGroup___method_item_61d(val
* self
, val
* p0
) {
3122 self
->attrs
[COLOR_nitc__typing__AForGroup___method_item
].val
= p0
; /* _method_item on <self:AForGroup> */
3125 /* method typing$AForGroup$method_next for (self: AForGroup): nullable CallSite */
3126 val
* nitc__typing___AForGroup___method_next(val
* self
) {
3127 val
* var
/* : nullable CallSite */;
3128 val
* var1
/* : nullable CallSite */;
3129 var1
= self
->attrs
[COLOR_nitc__typing__AForGroup___method_next
].val
; /* _method_next on <self:AForGroup> */
3134 /* method typing$AForGroup$method_next= for (self: AForGroup, nullable CallSite) */
3135 void nitc__typing___AForGroup___method_next_61d(val
* self
, val
* p0
) {
3136 self
->attrs
[COLOR_nitc__typing__AForGroup___method_next
].val
= p0
; /* _method_next on <self:AForGroup> */
3139 /* method typing$AForGroup$method_key for (self: AForGroup): nullable CallSite */
3140 val
* nitc__typing___AForGroup___method_key(val
* self
) {
3141 val
* var
/* : nullable CallSite */;
3142 val
* var1
/* : nullable CallSite */;
3143 var1
= self
->attrs
[COLOR_nitc__typing__AForGroup___method_key
].val
; /* _method_key on <self:AForGroup> */
3148 /* method typing$AForGroup$method_key= for (self: AForGroup, nullable CallSite) */
3149 void nitc__typing___AForGroup___method_key_61d(val
* self
, val
* p0
) {
3150 self
->attrs
[COLOR_nitc__typing__AForGroup___method_key
].val
= p0
; /* _method_key on <self:AForGroup> */
3153 /* method typing$AForGroup$method_finish for (self: AForGroup): nullable CallSite */
3154 val
* nitc__typing___AForGroup___method_finish(val
* self
) {
3155 val
* var
/* : nullable CallSite */;
3156 val
* var1
/* : nullable CallSite */;
3157 var1
= self
->attrs
[COLOR_nitc__typing__AForGroup___method_finish
].val
; /* _method_finish on <self:AForGroup> */
3162 /* method typing$AForGroup$method_finish= for (self: AForGroup, nullable CallSite) */
3163 void nitc__typing___AForGroup___method_finish_61d(val
* self
, val
* p0
) {
3164 self
->attrs
[COLOR_nitc__typing__AForGroup___method_finish
].val
= p0
; /* _method_finish on <self:AForGroup> */
3167 /* method typing$AForGroup$method_lt for (self: AForGroup): nullable CallSite */
3168 val
* nitc__typing___AForGroup___method_lt(val
* self
) {
3169 val
* var
/* : nullable CallSite */;
3170 val
* var1
/* : nullable CallSite */;
3171 var1
= self
->attrs
[COLOR_nitc__typing__AForGroup___method_lt
].val
; /* _method_lt on <self:AForGroup> */
3176 /* method typing$AForGroup$method_lt= for (self: AForGroup, nullable CallSite) */
3177 void nitc__typing___AForGroup___method_lt_61d(val
* self
, val
* p0
) {
3178 self
->attrs
[COLOR_nitc__typing__AForGroup___method_lt
].val
= p0
; /* _method_lt on <self:AForGroup> */
3181 /* method typing$AForGroup$method_successor for (self: AForGroup): nullable CallSite */
3182 val
* nitc__typing___AForGroup___method_successor(val
* self
) {
3183 val
* var
/* : nullable CallSite */;
3184 val
* var1
/* : nullable CallSite */;
3185 var1
= self
->attrs
[COLOR_nitc__typing__AForGroup___method_successor
].val
; /* _method_successor on <self:AForGroup> */
3190 /* method typing$AForGroup$method_successor= for (self: AForGroup, nullable CallSite) */
3191 void nitc__typing___AForGroup___method_successor_61d(val
* self
, val
* p0
) {
3192 self
->attrs
[COLOR_nitc__typing__AForGroup___method_successor
].val
= p0
; /* _method_successor on <self:AForGroup> */
3195 /* method typing$AForGroup$do_type_iterator for (self: AForGroup, TypeVisitor, MType) */
3196 void nitc__typing___AForGroup___do_type_iterator(val
* self
, val
* p0
, val
* p1
) {
3197 val
* var_v
/* var v: TypeVisitor */;
3198 val
* var_mtype
/* var mtype: MType */;
3199 short int var
/* : Bool */;
3202 static val
* varonce
;
3203 val
* var1
/* : String */;
3204 char* var2
/* : CString */;
3205 val
* var3
/* : String */;
3206 val
* var4
/* : nullable Int */;
3207 val
* var5
/* : nullable Int */;
3208 val
* var6
/* : nullable Bool */;
3209 val
* var7
/* : nullable Bool */;
3210 static val
* varonce8
;
3211 val
* var9
/* : String */;
3212 char* var10
/* : CString */;
3213 val
* var11
/* : String */;
3214 val
* var12
/* : nullable Int */;
3215 val
* var13
/* : nullable Int */;
3216 val
* var14
/* : nullable Bool */;
3217 val
* var15
/* : nullable Bool */;
3218 val
* var16
/* : nullable MClass */;
3219 val
* var_objcla
/* var objcla: nullable MClass */;
3220 short int var17
/* : Bool */;
3221 short int var18
/* : Bool */;
3222 val
* var_other
/* var other: nullable Object */;
3223 short int var20
/* : Bool */;
3224 short int var22
/* : Bool */;
3225 static val
* varonce23
;
3226 val
* var24
/* : String */;
3227 char* var25
/* : CString */;
3228 val
* var26
/* : String */;
3229 val
* var27
/* : nullable Int */;
3230 val
* var28
/* : nullable Int */;
3231 val
* var29
/* : nullable Bool */;
3232 val
* var30
/* : nullable Bool */;
3233 val
* var31
/* : AExpr */;
3234 val
* var33
/* : AExpr */;
3235 short int var34
/* : Bool */;
3238 val
* var37
/* : nullable CallSite */;
3239 val
* var_itdef
/* var itdef: nullable CallSite */;
3240 short int var38
/* : Bool */;
3241 short int var39
/* : Bool */;
3242 short int var41
/* : Bool */;
3243 short int var43
/* : Bool */;
3244 val
* var45
/* : NativeArray[String] */;
3245 static val
* varonce44
;
3246 static val
* varonce46
;
3247 val
* var47
/* : String */;
3248 char* var48
/* : CString */;
3249 val
* var49
/* : String */;
3250 val
* var50
/* : nullable Int */;
3251 val
* var51
/* : nullable Int */;
3252 val
* var52
/* : nullable Bool */;
3253 val
* var53
/* : nullable Bool */;
3254 static val
* varonce54
;
3255 val
* var55
/* : String */;
3256 char* var56
/* : CString */;
3257 val
* var57
/* : String */;
3258 val
* var58
/* : nullable Int */;
3259 val
* var59
/* : nullable Int */;
3260 val
* var60
/* : nullable Bool */;
3261 val
* var61
/* : nullable Bool */;
3262 val
* var62
/* : String */;
3263 val
* var63
/* : String */;
3264 val
* var65
/* : MSignature */;
3265 val
* var67
/* : MSignature */;
3266 val
* var68
/* : nullable MType */;
3267 val
* var70
/* : nullable MType */;
3268 val
* var_ittype
/* var ittype: nullable MType */;
3269 short int var71
/* : Bool */;
3270 short int var72
/* : Bool */;
3271 short int var74
/* : Bool */;
3272 short int var76
/* : Bool */;
3273 static val
* varonce77
;
3274 val
* var78
/* : String */;
3275 char* var79
/* : CString */;
3276 val
* var80
/* : String */;
3277 val
* var81
/* : nullable Int */;
3278 val
* var82
/* : nullable Int */;
3279 val
* var83
/* : nullable Bool */;
3280 val
* var84
/* : nullable Bool */;
3281 static val
* varonce85
;
3282 val
* var86
/* : String */;
3283 char* var87
/* : CString */;
3284 val
* var88
/* : String */;
3285 val
* var89
/* : nullable Int */;
3286 val
* var90
/* : nullable Int */;
3287 val
* var91
/* : nullable Bool */;
3288 val
* var92
/* : nullable Bool */;
3289 val
* var93
/* : nullable MClass */;
3290 val
* var_colit_cla
/* var colit_cla: nullable MClass */;
3291 static val
* varonce94
;
3292 val
* var95
/* : String */;
3293 char* var96
/* : CString */;
3294 val
* var97
/* : String */;
3295 val
* var98
/* : nullable Int */;
3296 val
* var99
/* : nullable Int */;
3297 val
* var100
/* : nullable Bool */;
3298 val
* var101
/* : nullable Bool */;
3299 val
* var102
/* : nullable MClass */;
3300 val
* var_mapit_cla
/* var mapit_cla: nullable MClass */;
3301 short int var_is_col
/* var is_col: Bool */;
3302 short int var_is_map
/* var is_map: Bool */;
3303 short int var103
/* : Bool */;
3304 short int var104
/* : Bool */;
3305 short int var105
/* : Bool */;
3306 val
* var_other107
/* var other: nullable Object */;
3307 short int var108
/* : Bool */;
3308 short int var109
/* : Bool */;
3309 short int var_
/* var : Bool */;
3310 val
* var110
/* : Array[MType] */;
3311 val
* var_111
/* var : Array[MType] */;
3312 val
* var112
/* : MClassType */;
3313 val
* var114
/* : MClassType */;
3314 val
* var115
/* : MType */;
3315 val
* var116
/* : MClassType */;
3316 short int var117
/* : Bool */;
3317 val
* var118
/* : MModule */;
3318 val
* var120
/* : MModule */;
3319 val
* var121
/* : nullable MClassType */;
3320 val
* var123
/* : nullable MClassType */;
3321 val
* var124
/* : MClassType */;
3322 val
* var_coltype
/* var coltype: MClassType */;
3323 val
* var125
/* : nullable Array[Variable] */;
3324 val
* var127
/* : nullable Array[Variable] */;
3325 val
* var_variables
/* var variables: nullable Array[Variable] */;
3326 long var128
/* : Int */;
3327 long var130
/* : Int */;
3328 short int var131
/* : Bool */;
3329 short int var133
/* : Bool */;
3330 short int var134
/* : Bool */;
3331 static val
* varonce135
;
3332 val
* var136
/* : String */;
3333 char* var137
/* : CString */;
3334 val
* var138
/* : String */;
3335 val
* var139
/* : nullable Int */;
3336 val
* var140
/* : nullable Int */;
3337 val
* var141
/* : nullable Bool */;
3338 val
* var142
/* : nullable Bool */;
3339 val
* var143
/* : nullable Object */;
3340 val
* var144
/* : Array[MType] */;
3341 val
* var145
/* : nullable Object */;
3342 short int var147
/* : Bool */;
3343 short int var148
/* : Bool */;
3344 short int var149
/* : Bool */;
3345 short int var151
/* : Bool */;
3346 short int var152
/* : Bool */;
3347 short int var_153
/* var : Bool */;
3348 val
* var154
/* : Array[MType] */;
3349 val
* var_155
/* var : Array[MType] */;
3350 val
* var156
/* : MClassType */;
3351 val
* var158
/* : MClassType */;
3352 val
* var159
/* : MType */;
3353 val
* var160
/* : MClassType */;
3354 val
* var162
/* : MClassType */;
3355 val
* var163
/* : MType */;
3356 val
* var164
/* : MClassType */;
3357 short int var165
/* : Bool */;
3358 val
* var166
/* : MModule */;
3359 val
* var168
/* : MModule */;
3360 val
* var169
/* : nullable MClassType */;
3361 val
* var171
/* : nullable MClassType */;
3362 val
* var172
/* : MClassType */;
3363 val
* var_coltype173
/* var coltype: MClassType */;
3364 val
* var174
/* : nullable Array[Variable] */;
3365 val
* var176
/* : nullable Array[Variable] */;
3366 val
* var_variables177
/* var variables: nullable Array[Variable] */;
3367 long var178
/* : Int */;
3368 long var180
/* : Int */;
3369 short int var181
/* : Bool */;
3370 short int var183
/* : Bool */;
3371 short int var184
/* : Bool */;
3372 static val
* varonce185
;
3373 val
* var186
/* : String */;
3374 char* var187
/* : CString */;
3375 val
* var188
/* : String */;
3376 val
* var189
/* : nullable Int */;
3377 val
* var190
/* : nullable Int */;
3378 val
* var191
/* : nullable Bool */;
3379 val
* var192
/* : nullable Bool */;
3380 val
* var193
/* : nullable Object */;
3381 val
* var194
/* : Array[MType] */;
3382 val
* var195
/* : nullable Object */;
3383 val
* var197
/* : nullable Object */;
3384 val
* var198
/* : Array[MType] */;
3385 val
* var199
/* : nullable Object */;
3386 short int var201
/* : Bool */;
3387 short int var202
/* : Bool */;
3388 short int var_203
/* var : Bool */;
3389 short int var204
/* : Bool */;
3390 static val
* varonce205
;
3391 val
* var206
/* : String */;
3392 char* var207
/* : CString */;
3393 val
* var208
/* : String */;
3394 val
* var209
/* : nullable Int */;
3395 val
* var210
/* : nullable Int */;
3396 val
* var211
/* : nullable Bool */;
3397 val
* var212
/* : nullable Bool */;
3398 short int var213
/* : Bool */;
3399 val
* var214
/* : MType */;
3400 val
* var215
/* : MType */;
3401 short int var216
/* : Bool */;
3404 const char* var_class_name
;
3405 static val
* varonce220
;
3406 val
* var221
/* : String */;
3407 char* var222
/* : CString */;
3408 val
* var223
/* : String */;
3409 val
* var224
/* : nullable Int */;
3410 val
* var225
/* : nullable Int */;
3411 val
* var226
/* : nullable Bool */;
3412 val
* var227
/* : nullable Bool */;
3413 val
* var228
/* : nullable CallSite */;
3414 val
* var_ikdef
/* var ikdef: nullable CallSite */;
3415 short int var229
/* : Bool */;
3416 short int var230
/* : Bool */;
3417 short int var232
/* : Bool */;
3418 short int var234
/* : Bool */;
3419 val
* var236
/* : NativeArray[String] */;
3420 static val
* varonce235
;
3421 static val
* varonce237
;
3422 val
* var238
/* : String */;
3423 char* var239
/* : CString */;
3424 val
* var240
/* : String */;
3425 val
* var241
/* : nullable Int */;
3426 val
* var242
/* : nullable Int */;
3427 val
* var243
/* : nullable Bool */;
3428 val
* var244
/* : nullable Bool */;
3429 static val
* varonce245
;
3430 val
* var246
/* : String */;
3431 char* var247
/* : CString */;
3432 val
* var248
/* : String */;
3433 val
* var249
/* : nullable Int */;
3434 val
* var250
/* : nullable Int */;
3435 val
* var251
/* : nullable Bool */;
3436 val
* var252
/* : nullable Bool */;
3437 val
* var253
/* : String */;
3438 val
* var254
/* : String */;
3439 static val
* varonce256
;
3440 val
* var257
/* : String */;
3441 char* var258
/* : CString */;
3442 val
* var259
/* : String */;
3443 val
* var260
/* : nullable Int */;
3444 val
* var261
/* : nullable Int */;
3445 val
* var262
/* : nullable Bool */;
3446 val
* var263
/* : nullable Bool */;
3447 val
* var264
/* : nullable CallSite */;
3448 val
* var_itemdef
/* var itemdef: nullable CallSite */;
3449 short int var265
/* : Bool */;
3450 short int var266
/* : Bool */;
3451 short int var268
/* : Bool */;
3452 short int var270
/* : Bool */;
3453 val
* var272
/* : NativeArray[String] */;
3454 static val
* varonce271
;
3455 static val
* varonce273
;
3456 val
* var274
/* : String */;
3457 char* var275
/* : CString */;
3458 val
* var276
/* : String */;
3459 val
* var277
/* : nullable Int */;
3460 val
* var278
/* : nullable Int */;
3461 val
* var279
/* : nullable Bool */;
3462 val
* var280
/* : nullable Bool */;
3463 static val
* varonce281
;
3464 val
* var282
/* : String */;
3465 char* var283
/* : CString */;
3466 val
* var284
/* : String */;
3467 val
* var285
/* : nullable Int */;
3468 val
* var286
/* : nullable Int */;
3469 val
* var287
/* : nullable Bool */;
3470 val
* var288
/* : nullable Bool */;
3471 val
* var289
/* : String */;
3472 val
* var290
/* : String */;
3473 static val
* varonce292
;
3474 val
* var293
/* : String */;
3475 char* var294
/* : CString */;
3476 val
* var295
/* : String */;
3477 val
* var296
/* : nullable Int */;
3478 val
* var297
/* : nullable Int */;
3479 val
* var298
/* : nullable Bool */;
3480 val
* var299
/* : nullable Bool */;
3481 val
* var300
/* : nullable CallSite */;
3482 val
* var_nextdef
/* var nextdef: nullable CallSite */;
3483 short int var301
/* : Bool */;
3484 short int var302
/* : Bool */;
3485 short int var304
/* : Bool */;
3486 short int var306
/* : Bool */;
3487 val
* var308
/* : NativeArray[String] */;
3488 static val
* varonce307
;
3489 static val
* varonce309
;
3490 val
* var310
/* : String */;
3491 char* var311
/* : CString */;
3492 val
* var312
/* : String */;
3493 val
* var313
/* : nullable Int */;
3494 val
* var314
/* : nullable Int */;
3495 val
* var315
/* : nullable Bool */;
3496 val
* var316
/* : nullable Bool */;
3497 static val
* varonce317
;
3498 val
* var318
/* : String */;
3499 char* var319
/* : CString */;
3500 val
* var320
/* : String */;
3501 val
* var321
/* : nullable Int */;
3502 val
* var322
/* : nullable Int */;
3503 val
* var323
/* : nullable Bool */;
3504 val
* var324
/* : nullable Bool */;
3505 val
* var325
/* : String */;
3506 val
* var326
/* : String */;
3507 static val
* varonce328
;
3508 val
* var329
/* : String */;
3509 char* var330
/* : CString */;
3510 val
* var331
/* : String */;
3511 val
* var332
/* : nullable Int */;
3512 val
* var333
/* : nullable Int */;
3513 val
* var334
/* : nullable Bool */;
3514 val
* var335
/* : nullable Bool */;
3515 val
* var336
/* : nullable CallSite */;
3516 static val
* varonce338
;
3517 val
* var339
/* : String */;
3518 char* var340
/* : CString */;
3519 val
* var341
/* : String */;
3520 val
* var342
/* : nullable Int */;
3521 val
* var343
/* : nullable Int */;
3522 val
* var344
/* : nullable Bool */;
3523 val
* var345
/* : nullable Bool */;
3524 val
* var346
/* : nullable CallSite */;
3525 val
* var_keydef
/* var keydef: nullable CallSite */;
3526 short int var347
/* : Bool */;
3527 short int var348
/* : Bool */;
3528 short int var350
/* : Bool */;
3529 short int var352
/* : Bool */;
3530 val
* var354
/* : NativeArray[String] */;
3531 static val
* varonce353
;
3532 static val
* varonce355
;
3533 val
* var356
/* : String */;
3534 char* var357
/* : CString */;
3535 val
* var358
/* : String */;
3536 val
* var359
/* : nullable Int */;
3537 val
* var360
/* : nullable Int */;
3538 val
* var361
/* : nullable Bool */;
3539 val
* var362
/* : nullable Bool */;
3540 static val
* varonce363
;
3541 val
* var364
/* : String */;
3542 char* var365
/* : CString */;
3543 val
* var366
/* : String */;
3544 val
* var367
/* : nullable Int */;
3545 val
* var368
/* : nullable Int */;
3546 val
* var369
/* : nullable Bool */;
3547 val
* var370
/* : nullable Bool */;
3548 val
* var371
/* : String */;
3549 val
* var372
/* : String */;
3550 short int var374
/* : Bool */;
3551 val
* var375
/* : nullable Array[Variable] */;
3552 val
* var377
/* : nullable Array[Variable] */;
3553 long var378
/* : Int */;
3554 long var380
/* : Int */;
3555 short int var381
/* : Bool */;
3556 short int var383
/* : Bool */;
3557 short int var_384
/* var : Bool */;
3558 val
* var385
/* : AExpr */;
3559 val
* var387
/* : AExpr */;
3560 short int var388
/* : Bool */;
3563 val
* var391
/* : nullable Array[Variable] */;
3564 val
* var393
/* : nullable Array[Variable] */;
3565 val
* var394
/* : nullable Object */;
3566 val
* var_variable
/* var variable: Variable */;
3567 val
* var395
/* : nullable MType */;
3568 val
* var397
/* : nullable MType */;
3569 val
* var_vtype
/* var vtype: MType */;
3570 val
* var398
/* : AExpr */;
3571 val
* var400
/* : AExpr */;
3572 short int var401
/* : Bool */;
3575 static val
* varonce404
;
3576 val
* var405
/* : String */;
3577 char* var406
/* : CString */;
3578 val
* var407
/* : String */;
3579 val
* var408
/* : nullable Int */;
3580 val
* var409
/* : nullable Int */;
3581 val
* var410
/* : nullable Bool */;
3582 val
* var411
/* : nullable Bool */;
3583 val
* var412
/* : nullable CallSite */;
3584 static val
* varonce414
;
3585 val
* var415
/* : String */;
3586 char* var416
/* : CString */;
3587 val
* var417
/* : String */;
3588 val
* var418
/* : nullable Int */;
3589 val
* var419
/* : nullable Int */;
3590 val
* var420
/* : nullable Bool */;
3591 val
* var421
/* : nullable Bool */;
3592 val
* var422
/* : nullable CallSite */;
3593 static val
* varonce424
;
3594 val
* var425
/* : String */;
3595 char* var426
/* : CString */;
3596 val
* var427
/* : String */;
3597 val
* var428
/* : nullable Int */;
3598 val
* var429
/* : nullable Int */;
3599 val
* var430
/* : nullable Bool */;
3600 val
* var431
/* : nullable Bool */;
3601 val
* var432
/* : nullable CallSite */;
3604 /* <var_mtype:MType> isa MNullType */
3605 cltype
= type_nitc__MNullType
.color
;
3606 idtype
= type_nitc__MNullType
.id
;
3607 if(cltype
>= var_mtype
->type
->table_size
) {
3610 var
= var_mtype
->type
->type_table
[cltype
] == idtype
;
3613 if (likely(varonce
!=NULL
)) {
3616 var2
= "Type Error: `for` cannot iterate over `null`.";
3617 var4
= (val
*)(45l<<2|1);
3618 var5
= (val
*)(45l<<2|1);
3619 var6
= (val
*)((long)(0)<<2|3);
3620 var7
= (val
*)((long)(0)<<2|3);
3621 var3
= core__flat___CString___to_s_unsafe(var2
, var4
, var5
, var6
, var7
);
3626 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var1
); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
3631 if (likely(varonce8
!=NULL
)) {
3635 var12
= (val
*)(6l<<2|1);
3636 var13
= (val
*)(6l<<2|1);
3637 var14
= (val
*)((long)(0)<<2|3);
3638 var15
= (val
*)((long)(0)<<2|3);
3639 var11
= core__flat___CString___to_s_unsafe(var10
, var12
, var13
, var14
, var15
);
3644 var16
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v
, self
, var9
);
3647 if (var_objcla
== NULL
) {
3648 var17
= 1; /* is null */
3650 var17
= 0; /* arg is null but recv is not */
3653 { /* Inline kernel$Object$== (var_objcla,((val*)NULL)) on <var_objcla:nullable MClass> */
3654 var_other
= ((val
*)NULL
);
3656 { /* Inline kernel$Object$is_same_instance (var_objcla,var_other) on <var_objcla:nullable MClass(MClass)> */
3657 var22
= var_objcla
== var_other
;
3660 RET_LABEL21
:(void)0;
3665 RET_LABEL19
:(void)0;
3673 if (likely(varonce23
!=NULL
)) {
3677 var27
= (val
*)(8l<<2|1);
3678 var28
= (val
*)(8l<<2|1);
3679 var29
= (val
*)((long)(0)<<2|3);
3680 var30
= (val
*)((long)(0)<<2|3);
3681 var26
= core__flat___CString___to_s_unsafe(var25
, var27
, var28
, var29
, var30
);
3686 { /* Inline parser_nodes$AForGroup$n_expr (self) on <self:AForGroup> */
3687 var33
= self
->attrs
[COLOR_nitc__parser_nodes__AForGroup___n_expr
].val
; /* _n_expr on <self:AForGroup> */
3688 if (unlikely(var33
== NULL
)) {
3689 if(catchStack
.cursor
>= 0){
3690 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3692 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3693 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2024);
3697 RET_LABEL32
:(void)0;
3700 /* <var31:AExpr> isa ASelfExpr */
3701 cltype35
= type_nitc__ASelfExpr
.color
;
3702 idtype36
= type_nitc__ASelfExpr
.id
;
3703 if(cltype35
>= var31
->type
->table_size
) {
3706 var34
= var31
->type
->type_table
[cltype35
] == idtype36
;
3709 var37
= nitc__typing___nitc__typing__TypeVisitor___get_method(var_v
, self
, var_mtype
, var24
, var34
);
3712 if (var_itdef
== NULL
) {
3713 var38
= 1; /* is null */
3715 var38
= 0; /* arg is null but recv is not */
3718 { /* Inline kernel$Object$== (var_itdef,((val*)NULL)) on <var_itdef:nullable CallSite> */
3719 var_other
= ((val
*)NULL
);
3721 { /* Inline kernel$Object$is_same_instance (var_itdef,var_other) on <var_itdef:nullable CallSite(CallSite)> */
3722 var43
= var_itdef
== var_other
;
3725 RET_LABEL42
:(void)0;
3730 RET_LABEL40
:(void)0;
3735 if (unlikely(varonce44
==NULL
)) {
3736 var45
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
3737 if (likely(varonce46
!=NULL
)) {
3740 var48
= "Type Error: `for` expects a type providing an `iterator` method, got `";
3741 var50
= (val
*)(70l<<2|1);
3742 var51
= (val
*)(70l<<2|1);
3743 var52
= (val
*)((long)(0)<<2|3);
3744 var53
= (val
*)((long)(0)<<2|3);
3745 var49
= core__flat___CString___to_s_unsafe(var48
, var50
, var51
, var52
, var53
);
3749 ((struct instance_core__NativeArray
*)var45
)->values
[0]=var47
;
3750 if (likely(varonce54
!=NULL
)) {
3754 var58
= (val
*)(2l<<2|1);
3755 var59
= (val
*)(2l<<2|1);
3756 var60
= (val
*)((long)(0)<<2|3);
3757 var61
= (val
*)((long)(0)<<2|3);
3758 var57
= core__flat___CString___to_s_unsafe(var56
, var58
, var59
, var60
, var61
);
3762 ((struct instance_core__NativeArray
*)var45
)->values
[2]=var55
;
3768 var62
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MType>*/
3770 ((struct instance_core__NativeArray
*)var45
)->values
[1]=var62
;
3772 var63
= ((val
*(*)(val
* self
))(var45
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var45
); /* native_to_s on <var45:NativeArray[String]>*/
3776 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var63
); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
3782 { /* Inline typing$AForGroup$method_iterator= (self,var_itdef) on <self:AForGroup> */
3783 self
->attrs
[COLOR_nitc__typing__AForGroup___method_iterator
].val
= var_itdef
; /* _method_iterator on <self:AForGroup> */
3784 RET_LABEL64
:(void)0;
3788 { /* Inline typing$CallSite$msignature (var_itdef) on <var_itdef:nullable CallSite(CallSite)> */
3789 var67
= var_itdef
->attrs
[COLOR_nitc__typing__CallSite___msignature
].val
; /* _msignature on <var_itdef:nullable CallSite(CallSite)> */
3790 if (unlikely(var67
== NULL
)) {
3791 if(catchStack
.cursor
>= 0){
3792 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3794 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
3795 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 663);
3799 RET_LABEL66
:(void)0;
3803 { /* Inline model$MSignature$return_mtype (var65) on <var65:MSignature> */
3804 var70
= var65
->attrs
[COLOR_nitc__model__MSignature___return_mtype
].val
; /* _return_mtype on <var65:MSignature> */
3806 RET_LABEL69
:(void)0;
3810 if (var_ittype
== NULL
) {
3811 var71
= 1; /* is null */
3813 var71
= 0; /* arg is null but recv is not */
3816 { /* Inline kernel$Object$== (var_ittype,((val*)NULL)) on <var_ittype:nullable MType> */
3817 var_other
= ((val
*)NULL
);
3819 { /* Inline kernel$Object$is_same_instance (var_ittype,var_other) on <var_ittype:nullable MType(MType)> */
3820 var76
= var_ittype
== var_other
;
3823 RET_LABEL75
:(void)0;
3828 RET_LABEL73
:(void)0;
3833 if (likely(varonce77
!=NULL
)) {
3836 var79
= "Type Error: `for` expects the method `iterator` to return an `Iterator` or `MapIterator` type.";
3837 var81
= (val
*)(94l<<2|1);
3838 var82
= (val
*)(94l<<2|1);
3839 var83
= (val
*)((long)(0)<<2|3);
3840 var84
= (val
*)((long)(0)<<2|3);
3841 var80
= core__flat___CString___to_s_unsafe(var79
, var81
, var82
, var83
, var84
);
3846 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var78
); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
3851 if (likely(varonce85
!=NULL
)) {
3855 var89
= (val
*)(8l<<2|1);
3856 var90
= (val
*)(8l<<2|1);
3857 var91
= (val
*)((long)(0)<<2|3);
3858 var92
= (val
*)((long)(0)<<2|3);
3859 var88
= core__flat___CString___to_s_unsafe(var87
, var89
, var90
, var91
, var92
);
3864 var93
= nitc__typing___nitc__typing__TypeVisitor___try_get_mclass(var_v
, self
, var86
);
3866 var_colit_cla
= var93
;
3867 if (likely(varonce94
!=NULL
)) {
3870 var96
= "MapIterator";
3871 var98
= (val
*)(11l<<2|1);
3872 var99
= (val
*)(11l<<2|1);
3873 var100
= (val
*)((long)(0)<<2|3);
3874 var101
= (val
*)((long)(0)<<2|3);
3875 var97
= core__flat___CString___to_s_unsafe(var96
, var98
, var99
, var100
, var101
);
3880 var102
= nitc__typing___nitc__typing__TypeVisitor___try_get_mclass(var_v
, self
, var95
);
3882 var_mapit_cla
= var102
;
3885 if (var_colit_cla
== NULL
) {
3886 var104
= 0; /* is null */
3888 var104
= 1; /* arg is null and recv is not */
3891 { /* Inline kernel$Object$!= (var_colit_cla,((val*)NULL)) on <var_colit_cla:nullable MClass> */
3892 var_other107
= ((val
*)NULL
);
3894 var108
= ((short int(*)(val
* self
, val
* p0
))(var_colit_cla
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_colit_cla
, var_other107
); /* == on <var_colit_cla:nullable MClass(MClass)>*/
3899 RET_LABEL106
:(void)0;
3905 var110
= NEW_core__Array(&type_core__Array__nitc__MType
);
3907 core___core__Array___with_capacity(var110
, 1l); /* Direct call array$Array$with_capacity on <var110:Array[MType]>*/
3911 { /* Inline model$MClass$mclass_type (var_objcla) on <var_objcla:nullable MClass(MClass)> */
3912 var114
= var_objcla
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_objcla:nullable MClass(MClass)> */
3913 if (unlikely(var114
== NULL
)) {
3914 if(catchStack
.cursor
>= 0){
3915 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3917 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
3918 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 520);
3922 RET_LABEL113
:(void)0;
3926 var115
= nitc___nitc__MType___as_nullable(var112
);
3929 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_111
, var115
); /* Direct call array$AbstractArray$push on <var_111:Array[MType]>*/
3932 var116
= nitc___nitc__MClass___get_mtype(var_colit_cla
, var_111
);
3935 var117
= nitc__typing___nitc__typing__TypeVisitor___is_subtype(var_v
, var_ittype
, var116
);
3943 { /* Inline typing$TypeVisitor$mmodule (var_v) on <var_v:TypeVisitor> */
3944 var120
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
3945 if (unlikely(var120
== NULL
)) {
3946 if(catchStack
.cursor
>= 0){
3947 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3949 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3950 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 37);
3954 RET_LABEL119
:(void)0;
3958 { /* Inline typing$TypeVisitor$anchor (var_v) on <var_v:TypeVisitor> */
3959 var123
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___anchor
].val
; /* _anchor on <var_v:TypeVisitor> */
3961 RET_LABEL122
:(void)0;
3965 var124
= nitc___nitc__MType___supertype_to(var_ittype
, var118
, var121
, var_colit_cla
);
3967 var_coltype
= var124
;
3969 { /* Inline scope$AForGroup$variables (self) on <self:AForGroup> */
3970 var127
= self
->attrs
[COLOR_nitc__scope__AForGroup___variables
].val
; /* _variables on <self:AForGroup> */
3972 RET_LABEL126
:(void)0;
3975 var_variables
= var125
;
3976 if (var_variables
== NULL
) {
3977 if(catchStack
.cursor
>= 0){
3978 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3980 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3981 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1243);
3984 { /* Inline array$AbstractArrayRead$length (var_variables) on <var_variables:nullable Array[Variable]> */
3985 if (unlikely(var_variables
== NULL
)) {
3986 if(catchStack
.cursor
>= 0){
3987 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3989 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3990 PRINT_ERROR(" (%s:%d)\n", FILE_core__array
, 26);
3993 var130
= var_variables
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_variables:nullable Array[Variable]> */
3995 RET_LABEL129
:(void)0;
3999 { /* Inline kernel$Int$!= (var128,1l) on <var128:Int> */
4000 var133
= var128
== 1l;
4004 RET_LABEL132
:(void)0;
4008 if (likely(varonce135
!=NULL
)) {
4009 var136
= varonce135
;
4011 var137
= "Type Error: `for` expects only one variable when using `Iterator`.";
4012 var139
= (val
*)(66l<<2|1);
4013 var140
= (val
*)(66l<<2|1);
4014 var141
= (val
*)((long)(0)<<2|3);
4015 var142
= (val
*)((long)(0)<<2|3);
4016 var138
= core__flat___CString___to_s_unsafe(var137
, var139
, var140
, var141
, var142
);
4018 varonce135
= var136
;
4021 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var136
); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
4024 if (var_variables
== NULL
) {
4025 if(catchStack
.cursor
>= 0){
4026 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4028 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4029 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1246);
4032 var143
= core___core__SequenceRead___Collection__first(var_variables
);
4035 var144
= ((val
*(*)(val
* self
))(var_coltype
->class->vft
[COLOR_nitc__model__MClassType__arguments
]))(var_coltype
); /* arguments on <var_coltype:MClassType>*/
4038 var145
= core___core__SequenceRead___Collection__first(var144
);
4041 { /* Inline typing$Variable$declared_type= (var143,var145) on <var143:nullable Object(Variable)> */
4042 var143
->attrs
[COLOR_nitc__typing__Variable___declared_type
].val
= var145
; /* _declared_type on <var143:nullable Object(Variable)> */
4043 RET_LABEL146
:(void)0;
4050 if (var_mapit_cla
== NULL
) {
4051 var148
= 0; /* is null */
4053 var148
= 1; /* arg is null and recv is not */
4056 { /* Inline kernel$Object$!= (var_mapit_cla,((val*)NULL)) on <var_mapit_cla:nullable MClass> */
4057 var_other107
= ((val
*)NULL
);
4059 var151
= ((short int(*)(val
* self
, val
* p0
))(var_mapit_cla
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_mapit_cla
, var_other107
); /* == on <var_mapit_cla:nullable MClass(MClass)>*/
4064 RET_LABEL150
:(void)0;
4070 var154
= NEW_core__Array(&type_core__Array__nitc__MType
);
4072 core___core__Array___with_capacity(var154
, 2l); /* Direct call array$Array$with_capacity on <var154:Array[MType]>*/
4076 { /* Inline model$MClass$mclass_type (var_objcla) on <var_objcla:nullable MClass(MClass)> */
4077 var158
= var_objcla
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_objcla:nullable MClass(MClass)> */
4078 if (unlikely(var158
== NULL
)) {
4079 if(catchStack
.cursor
>= 0){
4080 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4082 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
4083 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 520);
4087 RET_LABEL157
:(void)0;
4091 var159
= nitc___nitc__MType___as_nullable(var156
);
4094 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_155
, var159
); /* Direct call array$AbstractArray$push on <var_155:Array[MType]>*/
4097 { /* Inline model$MClass$mclass_type (var_objcla) on <var_objcla:nullable MClass(MClass)> */
4098 var162
= var_objcla
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_objcla:nullable MClass(MClass)> */
4099 if (unlikely(var162
== NULL
)) {
4100 if(catchStack
.cursor
>= 0){
4101 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4103 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
4104 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 520);
4108 RET_LABEL161
:(void)0;
4112 var163
= nitc___nitc__MType___as_nullable(var160
);
4115 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_155
, var163
); /* Direct call array$AbstractArray$push on <var_155:Array[MType]>*/
4118 var164
= nitc___nitc__MClass___get_mtype(var_mapit_cla
, var_155
);
4121 var165
= nitc__typing___nitc__typing__TypeVisitor___is_subtype(var_v
, var_ittype
, var164
);
4129 { /* Inline typing$TypeVisitor$mmodule (var_v) on <var_v:TypeVisitor> */
4130 var168
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
4131 if (unlikely(var168
== NULL
)) {
4132 if(catchStack
.cursor
>= 0){
4133 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4135 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4136 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 37);
4140 RET_LABEL167
:(void)0;
4144 { /* Inline typing$TypeVisitor$anchor (var_v) on <var_v:TypeVisitor> */
4145 var171
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___anchor
].val
; /* _anchor on <var_v:TypeVisitor> */
4147 RET_LABEL170
:(void)0;
4151 var172
= nitc___nitc__MType___supertype_to(var_ittype
, var166
, var169
, var_mapit_cla
);
4153 var_coltype173
= var172
;
4155 { /* Inline scope$AForGroup$variables (self) on <self:AForGroup> */
4156 var176
= self
->attrs
[COLOR_nitc__scope__AForGroup___variables
].val
; /* _variables on <self:AForGroup> */
4158 RET_LABEL175
:(void)0;
4161 var_variables177
= var174
;
4162 if (var_variables177
== NULL
) {
4163 if(catchStack
.cursor
>= 0){
4164 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4166 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4167 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1255);
4170 { /* Inline array$AbstractArrayRead$length (var_variables177) on <var_variables177:nullable Array[Variable]> */
4171 if (unlikely(var_variables177
== NULL
)) {
4172 if(catchStack
.cursor
>= 0){
4173 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4175 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4176 PRINT_ERROR(" (%s:%d)\n", FILE_core__array
, 26);
4179 var180
= var_variables177
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_variables177:nullable Array[Variable]> */
4181 RET_LABEL179
:(void)0;
4185 { /* Inline kernel$Int$!= (var178,2l) on <var178:Int> */
4186 var183
= var178
== 2l;
4190 RET_LABEL182
:(void)0;
4194 if (likely(varonce185
!=NULL
)) {
4195 var186
= varonce185
;
4197 var187
= "Type Error: `for` expects two variables when using `MapIterator`.";
4198 var189
= (val
*)(65l<<2|1);
4199 var190
= (val
*)(65l<<2|1);
4200 var191
= (val
*)((long)(0)<<2|3);
4201 var192
= (val
*)((long)(0)<<2|3);
4202 var188
= core__flat___CString___to_s_unsafe(var187
, var189
, var190
, var191
, var192
);
4204 varonce185
= var186
;
4207 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var186
); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
4210 if (var_variables177
== NULL
) {
4211 if(catchStack
.cursor
>= 0){
4212 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4214 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4215 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1258);
4218 var193
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_variables177
, 0l);
4221 var194
= ((val
*(*)(val
* self
))(var_coltype173
->class->vft
[COLOR_nitc__model__MClassType__arguments
]))(var_coltype173
); /* arguments on <var_coltype173:MClassType>*/
4224 var195
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var194
, 0l);
4227 { /* Inline typing$Variable$declared_type= (var193,var195) on <var193:nullable Object(Variable)> */
4228 var193
->attrs
[COLOR_nitc__typing__Variable___declared_type
].val
= var195
; /* _declared_type on <var193:nullable Object(Variable)> */
4229 RET_LABEL196
:(void)0;
4232 if (var_variables177
== NULL
) {
4233 if(catchStack
.cursor
>= 0){
4234 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4236 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4237 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1259);
4240 var197
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_variables177
, 1l);
4243 var198
= ((val
*(*)(val
* self
))(var_coltype173
->class->vft
[COLOR_nitc__model__MClassType__arguments
]))(var_coltype173
); /* arguments on <var_coltype173:MClassType>*/
4246 var199
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var198
, 1l);
4249 { /* Inline typing$Variable$declared_type= (var197,var199) on <var197:nullable Object(Variable)> */
4250 var197
->attrs
[COLOR_nitc__typing__Variable___declared_type
].val
= var199
; /* _declared_type on <var197:nullable Object(Variable)> */
4251 RET_LABEL200
:(void)0;
4258 var202
= !var_is_col
;
4261 var204
= !var_is_map
;
4267 if (likely(varonce205
!=NULL
)) {
4268 var206
= varonce205
;
4270 var207
= "Type Error: `for` expects the method `iterator` to return an `Iterator` or `MapIterator` type.";
4271 var209
= (val
*)(94l<<2|1);
4272 var210
= (val
*)(94l<<2|1);
4273 var211
= (val
*)((long)(0)<<2|3);
4274 var212
= (val
*)((long)(0)<<2|3);
4275 var208
= core__flat___CString___to_s_unsafe(var207
, var209
, var210
, var211
, var212
);
4277 varonce205
= var206
;
4280 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var206
); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
4286 var213
= ((short int(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(var_mtype
); /* need_anchor on <var_mtype:MType>*/
4290 var214
= nitc__typing___nitc__typing__TypeVisitor___anchor_to(var_v
, var_mtype
);
4296 var215
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model__MType__undecorate
]))(var_mtype
); /* undecorate on <var_mtype:MType>*/
4299 /* <var_mtype:MType> isa MClassType */
4300 cltype217
= type_nitc__MClassType
.color
;
4301 idtype218
= type_nitc__MClassType
.id
;
4302 if(cltype217
>= var_mtype
->type
->table_size
) {
4305 var216
= var_mtype
->type
->type_table
[cltype217
] == idtype218
;
4307 if (unlikely(!var216
)) {
4308 var_class_name
= var_mtype
== NULL ?
"null" : var_mtype
->type
->name
;
4309 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
4310 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1273);
4314 { /* Inline typing$AForGroup$coltype= (self,var_mtype) on <self:AForGroup> */
4315 self
->attrs
[COLOR_nitc__typing__AForGroup___coltype
].val
= var_mtype
; /* _coltype on <self:AForGroup> */
4316 RET_LABEL219
:(void)0;
4319 if (likely(varonce220
!=NULL
)) {
4320 var221
= varonce220
;
4323 var224
= (val
*)(5l<<2|1);
4324 var225
= (val
*)(5l<<2|1);
4325 var226
= (val
*)((long)(0)<<2|3);
4326 var227
= (val
*)((long)(0)<<2|3);
4327 var223
= core__flat___CString___to_s_unsafe(var222
, var224
, var225
, var226
, var227
);
4329 varonce220
= var221
;
4332 var228
= nitc__typing___nitc__typing__TypeVisitor___get_method(var_v
, self
, var_ittype
, var221
, 0);
4335 if (var_ikdef
== NULL
) {
4336 var229
= 1; /* is null */
4338 var229
= 0; /* arg is null but recv is not */
4341 { /* Inline kernel$Object$== (var_ikdef,((val*)NULL)) on <var_ikdef:nullable CallSite> */
4342 var_other
= ((val
*)NULL
);
4344 { /* Inline kernel$Object$is_same_instance (var_ikdef,var_other) on <var_ikdef:nullable CallSite(CallSite)> */
4345 var234
= var_ikdef
== var_other
;
4348 RET_LABEL233
:(void)0;
4353 RET_LABEL231
:(void)0;
4358 if (unlikely(varonce235
==NULL
)) {
4359 var236
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4360 if (likely(varonce237
!=NULL
)) {
4361 var238
= varonce237
;
4363 var239
= "Type Error: `for` expects a method `is_ok` in type `";
4364 var241
= (val
*)(52l<<2|1);
4365 var242
= (val
*)(52l<<2|1);
4366 var243
= (val
*)((long)(0)<<2|3);
4367 var244
= (val
*)((long)(0)<<2|3);
4368 var240
= core__flat___CString___to_s_unsafe(var239
, var241
, var242
, var243
, var244
);
4370 varonce237
= var238
;
4372 ((struct instance_core__NativeArray
*)var236
)->values
[0]=var238
;
4373 if (likely(varonce245
!=NULL
)) {
4374 var246
= varonce245
;
4377 var249
= (val
*)(2l<<2|1);
4378 var250
= (val
*)(2l<<2|1);
4379 var251
= (val
*)((long)(0)<<2|3);
4380 var252
= (val
*)((long)(0)<<2|3);
4381 var248
= core__flat___CString___to_s_unsafe(var247
, var249
, var250
, var251
, var252
);
4383 varonce245
= var246
;
4385 ((struct instance_core__NativeArray
*)var236
)->values
[2]=var246
;
4387 var236
= varonce235
;
4391 var253
= ((val
*(*)(val
* self
))(var_ittype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_ittype
); /* to_s on <var_ittype:nullable MType(MType)>*/
4393 ((struct instance_core__NativeArray
*)var236
)->values
[1]=var253
;
4395 var254
= ((val
*(*)(val
* self
))(var236
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var236
); /* native_to_s on <var236:NativeArray[String]>*/
4397 varonce235
= var236
;
4399 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var254
); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
4405 { /* Inline typing$AForGroup$method_is_ok= (self,var_ikdef) on <self:AForGroup> */
4406 self
->attrs
[COLOR_nitc__typing__AForGroup___method_is_ok
].val
= var_ikdef
; /* _method_is_ok on <self:AForGroup> */
4407 RET_LABEL255
:(void)0;
4410 if (likely(varonce256
!=NULL
)) {
4411 var257
= varonce256
;
4414 var260
= (val
*)(4l<<2|1);
4415 var261
= (val
*)(4l<<2|1);
4416 var262
= (val
*)((long)(0)<<2|3);
4417 var263
= (val
*)((long)(0)<<2|3);
4418 var259
= core__flat___CString___to_s_unsafe(var258
, var260
, var261
, var262
, var263
);
4420 varonce256
= var257
;
4423 var264
= nitc__typing___nitc__typing__TypeVisitor___get_method(var_v
, self
, var_ittype
, var257
, 0);
4425 var_itemdef
= var264
;
4426 if (var_itemdef
== NULL
) {
4427 var265
= 1; /* is null */
4429 var265
= 0; /* arg is null but recv is not */
4432 { /* Inline kernel$Object$== (var_itemdef,((val*)NULL)) on <var_itemdef:nullable CallSite> */
4433 var_other
= ((val
*)NULL
);
4435 { /* Inline kernel$Object$is_same_instance (var_itemdef,var_other) on <var_itemdef:nullable CallSite(CallSite)> */
4436 var270
= var_itemdef
== var_other
;
4439 RET_LABEL269
:(void)0;
4444 RET_LABEL267
:(void)0;
4449 if (unlikely(varonce271
==NULL
)) {
4450 var272
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4451 if (likely(varonce273
!=NULL
)) {
4452 var274
= varonce273
;
4454 var275
= "Type Error: `for` expects a method `item` in type `";
4455 var277
= (val
*)(51l<<2|1);
4456 var278
= (val
*)(51l<<2|1);
4457 var279
= (val
*)((long)(0)<<2|3);
4458 var280
= (val
*)((long)(0)<<2|3);
4459 var276
= core__flat___CString___to_s_unsafe(var275
, var277
, var278
, var279
, var280
);
4461 varonce273
= var274
;
4463 ((struct instance_core__NativeArray
*)var272
)->values
[0]=var274
;
4464 if (likely(varonce281
!=NULL
)) {
4465 var282
= varonce281
;
4468 var285
= (val
*)(2l<<2|1);
4469 var286
= (val
*)(2l<<2|1);
4470 var287
= (val
*)((long)(0)<<2|3);
4471 var288
= (val
*)((long)(0)<<2|3);
4472 var284
= core__flat___CString___to_s_unsafe(var283
, var285
, var286
, var287
, var288
);
4474 varonce281
= var282
;
4476 ((struct instance_core__NativeArray
*)var272
)->values
[2]=var282
;
4478 var272
= varonce271
;
4482 var289
= ((val
*(*)(val
* self
))(var_ittype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_ittype
); /* to_s on <var_ittype:nullable MType(MType)>*/
4484 ((struct instance_core__NativeArray
*)var272
)->values
[1]=var289
;
4486 var290
= ((val
*(*)(val
* self
))(var272
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var272
); /* native_to_s on <var272:NativeArray[String]>*/
4488 varonce271
= var272
;
4490 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var290
); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
4496 { /* Inline typing$AForGroup$method_item= (self,var_itemdef) on <self:AForGroup> */
4497 self
->attrs
[COLOR_nitc__typing__AForGroup___method_item
].val
= var_itemdef
; /* _method_item on <self:AForGroup> */
4498 RET_LABEL291
:(void)0;
4501 if (likely(varonce292
!=NULL
)) {
4502 var293
= varonce292
;
4505 var296
= (val
*)(4l<<2|1);
4506 var297
= (val
*)(4l<<2|1);
4507 var298
= (val
*)((long)(0)<<2|3);
4508 var299
= (val
*)((long)(0)<<2|3);
4509 var295
= core__flat___CString___to_s_unsafe(var294
, var296
, var297
, var298
, var299
);
4511 varonce292
= var293
;
4514 var300
= nitc__typing___nitc__typing__TypeVisitor___get_method(var_v
, self
, var_ittype
, var293
, 0);
4516 var_nextdef
= var300
;
4517 if (var_nextdef
== NULL
) {
4518 var301
= 1; /* is null */
4520 var301
= 0; /* arg is null but recv is not */
4523 { /* Inline kernel$Object$== (var_nextdef,((val*)NULL)) on <var_nextdef:nullable CallSite> */
4524 var_other
= ((val
*)NULL
);
4526 { /* Inline kernel$Object$is_same_instance (var_nextdef,var_other) on <var_nextdef:nullable CallSite(CallSite)> */
4527 var306
= var_nextdef
== var_other
;
4530 RET_LABEL305
:(void)0;
4535 RET_LABEL303
:(void)0;
4540 if (unlikely(varonce307
==NULL
)) {
4541 var308
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4542 if (likely(varonce309
!=NULL
)) {
4543 var310
= varonce309
;
4545 var311
= "Type Error: `for` expects a method `next` in type ";
4546 var313
= (val
*)(50l<<2|1);
4547 var314
= (val
*)(50l<<2|1);
4548 var315
= (val
*)((long)(0)<<2|3);
4549 var316
= (val
*)((long)(0)<<2|3);
4550 var312
= core__flat___CString___to_s_unsafe(var311
, var313
, var314
, var315
, var316
);
4552 varonce309
= var310
;
4554 ((struct instance_core__NativeArray
*)var308
)->values
[0]=var310
;
4555 if (likely(varonce317
!=NULL
)) {
4556 var318
= varonce317
;
4559 var321
= (val
*)(1l<<2|1);
4560 var322
= (val
*)(1l<<2|1);
4561 var323
= (val
*)((long)(0)<<2|3);
4562 var324
= (val
*)((long)(0)<<2|3);
4563 var320
= core__flat___CString___to_s_unsafe(var319
, var321
, var322
, var323
, var324
);
4565 varonce317
= var318
;
4567 ((struct instance_core__NativeArray
*)var308
)->values
[2]=var318
;
4569 var308
= varonce307
;
4573 var325
= ((val
*(*)(val
* self
))(var_ittype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_ittype
); /* to_s on <var_ittype:nullable MType(MType)>*/
4575 ((struct instance_core__NativeArray
*)var308
)->values
[1]=var325
;
4577 var326
= ((val
*(*)(val
* self
))(var308
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var308
); /* native_to_s on <var308:NativeArray[String]>*/
4579 varonce307
= var308
;
4581 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var326
); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
4587 { /* Inline typing$AForGroup$method_next= (self,var_nextdef) on <self:AForGroup> */
4588 self
->attrs
[COLOR_nitc__typing__AForGroup___method_next
].val
= var_nextdef
; /* _method_next on <self:AForGroup> */
4589 RET_LABEL327
:(void)0;
4592 if (likely(varonce328
!=NULL
)) {
4593 var329
= varonce328
;
4596 var332
= (val
*)(6l<<2|1);
4597 var333
= (val
*)(6l<<2|1);
4598 var334
= (val
*)((long)(0)<<2|3);
4599 var335
= (val
*)((long)(0)<<2|3);
4600 var331
= core__flat___CString___to_s_unsafe(var330
, var332
, var333
, var334
, var335
);
4602 varonce328
= var329
;
4605 var336
= nitc__typing___nitc__typing__TypeVisitor___try_get_method(var_v
, self
, var_ittype
, var329
, 0);
4608 { /* Inline typing$AForGroup$method_finish= (self,var336) on <self:AForGroup> */
4609 self
->attrs
[COLOR_nitc__typing__AForGroup___method_finish
].val
= var336
; /* _method_finish on <self:AForGroup> */
4610 RET_LABEL337
:(void)0;
4614 if (likely(varonce338
!=NULL
)) {
4615 var339
= varonce338
;
4618 var342
= (val
*)(3l<<2|1);
4619 var343
= (val
*)(3l<<2|1);
4620 var344
= (val
*)((long)(0)<<2|3);
4621 var345
= (val
*)((long)(0)<<2|3);
4622 var341
= core__flat___CString___to_s_unsafe(var340
, var342
, var343
, var344
, var345
);
4624 varonce338
= var339
;
4627 var346
= nitc__typing___nitc__typing__TypeVisitor___get_method(var_v
, self
, var_ittype
, var339
, 0);
4629 var_keydef
= var346
;
4630 if (var_keydef
== NULL
) {
4631 var347
= 1; /* is null */
4633 var347
= 0; /* arg is null but recv is not */
4636 { /* Inline kernel$Object$== (var_keydef,((val*)NULL)) on <var_keydef:nullable CallSite> */
4637 var_other
= ((val
*)NULL
);
4639 { /* Inline kernel$Object$is_same_instance (var_keydef,var_other) on <var_keydef:nullable CallSite(CallSite)> */
4640 var352
= var_keydef
== var_other
;
4643 RET_LABEL351
:(void)0;
4648 RET_LABEL349
:(void)0;
4653 if (unlikely(varonce353
==NULL
)) {
4654 var354
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4655 if (likely(varonce355
!=NULL
)) {
4656 var356
= varonce355
;
4658 var357
= "Type Error: `for` expects a method `key` in type `";
4659 var359
= (val
*)(50l<<2|1);
4660 var360
= (val
*)(50l<<2|1);
4661 var361
= (val
*)((long)(0)<<2|3);
4662 var362
= (val
*)((long)(0)<<2|3);
4663 var358
= core__flat___CString___to_s_unsafe(var357
, var359
, var360
, var361
, var362
);
4665 varonce355
= var356
;
4667 ((struct instance_core__NativeArray
*)var354
)->values
[0]=var356
;
4668 if (likely(varonce363
!=NULL
)) {
4669 var364
= varonce363
;
4672 var367
= (val
*)(2l<<2|1);
4673 var368
= (val
*)(2l<<2|1);
4674 var369
= (val
*)((long)(0)<<2|3);
4675 var370
= (val
*)((long)(0)<<2|3);
4676 var366
= core__flat___CString___to_s_unsafe(var365
, var367
, var368
, var369
, var370
);
4678 varonce363
= var364
;
4680 ((struct instance_core__NativeArray
*)var354
)->values
[2]=var364
;
4682 var354
= varonce353
;
4686 var371
= ((val
*(*)(val
* self
))(var_ittype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_ittype
); /* to_s on <var_ittype:nullable MType(MType)>*/
4688 ((struct instance_core__NativeArray
*)var354
)->values
[1]=var371
;
4690 var372
= ((val
*(*)(val
* self
))(var354
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var354
); /* native_to_s on <var354:NativeArray[String]>*/
4692 varonce353
= var354
;
4694 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var372
); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
4700 { /* Inline typing$AForGroup$method_key= (self,var_keydef) on <self:AForGroup> */
4701 self
->attrs
[COLOR_nitc__typing__AForGroup___method_key
].val
= var_keydef
; /* _method_key on <self:AForGroup> */
4702 RET_LABEL373
:(void)0;
4708 { /* Inline scope$AForGroup$variables (self) on <self:AForGroup> */
4709 var377
= self
->attrs
[COLOR_nitc__scope__AForGroup___variables
].val
; /* _variables on <self:AForGroup> */
4711 RET_LABEL376
:(void)0;
4714 if (var375
== NULL
) {
4715 if(catchStack
.cursor
>= 0){
4716 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4718 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4719 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1308);
4722 { /* Inline array$AbstractArrayRead$length (var375) on <var375:nullable Array[Variable]> */
4723 if (unlikely(var375
== NULL
)) {
4724 if(catchStack
.cursor
>= 0){
4725 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4727 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4728 PRINT_ERROR(" (%s:%d)\n", FILE_core__array
, 26);
4731 var380
= var375
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var375:nullable Array[Variable]> */
4733 RET_LABEL379
:(void)0;
4737 { /* Inline kernel$Int$== (var378,1l) on <var378:Int> */
4738 var383
= var378
== 1l;
4741 RET_LABEL382
:(void)0;
4747 { /* Inline parser_nodes$AForGroup$n_expr (self) on <self:AForGroup> */
4748 var387
= self
->attrs
[COLOR_nitc__parser_nodes__AForGroup___n_expr
].val
; /* _n_expr on <self:AForGroup> */
4749 if (unlikely(var387
== NULL
)) {
4750 if(catchStack
.cursor
>= 0){
4751 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4753 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4754 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2024);
4758 RET_LABEL386
:(void)0;
4761 /* <var385:AExpr> isa ARangeExpr */
4762 cltype389
= type_nitc__ARangeExpr
.color
;
4763 idtype390
= type_nitc__ARangeExpr
.id
;
4764 if(cltype389
>= var385
->type
->table_size
) {
4767 var388
= var385
->type
->type_table
[cltype389
] == idtype390
;
4775 { /* Inline scope$AForGroup$variables (self) on <self:AForGroup> */
4776 var393
= self
->attrs
[COLOR_nitc__scope__AForGroup___variables
].val
; /* _variables on <self:AForGroup> */
4778 RET_LABEL392
:(void)0;
4781 if (var391
== NULL
) {
4782 if(catchStack
.cursor
>= 0){
4783 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4785 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4786 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1309);
4789 var394
= core___core__SequenceRead___Collection__first(var391
);
4791 var_variable
= var394
;
4793 { /* Inline typing$Variable$declared_type (var_variable) on <var_variable:Variable> */
4794 var397
= var_variable
->attrs
[COLOR_nitc__typing__Variable___declared_type
].val
; /* _declared_type on <var_variable:Variable> */
4796 RET_LABEL396
:(void)0;
4799 if (unlikely(var395
== NULL
)) {
4800 if(catchStack
.cursor
>= 0){
4801 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4803 PRINT_ERROR("Runtime error: %s", "Cast failed");
4804 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1310);
4809 { /* Inline parser_nodes$AForGroup$n_expr (self) on <self:AForGroup> */
4810 var400
= self
->attrs
[COLOR_nitc__parser_nodes__AForGroup___n_expr
].val
; /* _n_expr on <self:AForGroup> */
4811 if (unlikely(var400
== NULL
)) {
4812 if(catchStack
.cursor
>= 0){
4813 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4815 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4816 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2024);
4820 RET_LABEL399
:(void)0;
4823 /* <var398:AExpr> isa AOrangeExpr */
4824 cltype402
= type_nitc__AOrangeExpr
.color
;
4825 idtype403
= type_nitc__AOrangeExpr
.id
;
4826 if(cltype402
>= var398
->type
->table_size
) {
4829 var401
= var398
->type
->type_table
[cltype402
] == idtype403
;
4832 if (likely(varonce404
!=NULL
)) {
4833 var405
= varonce404
;
4836 var408
= (val
*)(1l<<2|1);
4837 var409
= (val
*)(1l<<2|1);
4838 var410
= (val
*)((long)(0)<<2|3);
4839 var411
= (val
*)((long)(0)<<2|3);
4840 var407
= core__flat___CString___to_s_unsafe(var406
, var408
, var409
, var410
, var411
);
4842 varonce404
= var405
;
4845 var412
= nitc__typing___nitc__typing__TypeVisitor___get_method(var_v
, self
, var_vtype
, var405
, 0);
4848 { /* Inline typing$AForGroup$method_lt= (self,var412) on <self:AForGroup> */
4849 self
->attrs
[COLOR_nitc__typing__AForGroup___method_lt
].val
= var412
; /* _method_lt on <self:AForGroup> */
4850 RET_LABEL413
:(void)0;
4854 if (likely(varonce414
!=NULL
)) {
4855 var415
= varonce414
;
4858 var418
= (val
*)(2l<<2|1);
4859 var419
= (val
*)(2l<<2|1);
4860 var420
= (val
*)((long)(0)<<2|3);
4861 var421
= (val
*)((long)(0)<<2|3);
4862 var417
= core__flat___CString___to_s_unsafe(var416
, var418
, var419
, var420
, var421
);
4864 varonce414
= var415
;
4867 var422
= nitc__typing___nitc__typing__TypeVisitor___get_method(var_v
, self
, var_vtype
, var415
, 0);
4870 { /* Inline typing$AForGroup$method_lt= (self,var422) on <self:AForGroup> */
4871 self
->attrs
[COLOR_nitc__typing__AForGroup___method_lt
].val
= var422
; /* _method_lt on <self:AForGroup> */
4872 RET_LABEL423
:(void)0;
4876 if (likely(varonce424
!=NULL
)) {
4877 var425
= varonce424
;
4879 var426
= "successor";
4880 var428
= (val
*)(9l<<2|1);
4881 var429
= (val
*)(9l<<2|1);
4882 var430
= (val
*)((long)(0)<<2|3);
4883 var431
= (val
*)((long)(0)<<2|3);
4884 var427
= core__flat___CString___to_s_unsafe(var426
, var428
, var429
, var430
, var431
);
4886 varonce424
= var425
;
4889 var432
= nitc__typing___nitc__typing__TypeVisitor___get_method(var_v
, self
, var_vtype
, var425
, 0);
4892 { /* Inline typing$AForGroup$method_successor= (self,var432) on <self:AForGroup> */
4893 self
->attrs
[COLOR_nitc__typing__AForGroup___method_successor
].val
= var432
; /* _method_successor on <self:AForGroup> */
4894 RET_LABEL433
:(void)0;
4901 /* method typing$AWithExpr$method_start for (self: AWithExpr): nullable CallSite */
4902 val
* nitc__typing___AWithExpr___method_start(val
* self
) {
4903 val
* var
/* : nullable CallSite */;
4904 val
* var1
/* : nullable CallSite */;
4905 var1
= self
->attrs
[COLOR_nitc__typing__AWithExpr___method_start
].val
; /* _method_start on <self:AWithExpr> */
4910 /* method typing$AWithExpr$method_start= for (self: AWithExpr, nullable CallSite) */
4911 void nitc__typing___AWithExpr___method_start_61d(val
* self
, val
* p0
) {
4912 self
->attrs
[COLOR_nitc__typing__AWithExpr___method_start
].val
= p0
; /* _method_start on <self:AWithExpr> */
4915 /* method typing$AWithExpr$method_finish for (self: AWithExpr): nullable CallSite */
4916 val
* nitc__typing___AWithExpr___method_finish(val
* self
) {
4917 val
* var
/* : nullable CallSite */;
4918 val
* var1
/* : nullable CallSite */;
4919 var1
= self
->attrs
[COLOR_nitc__typing__AWithExpr___method_finish
].val
; /* _method_finish on <self:AWithExpr> */
4924 /* method typing$AWithExpr$method_finish= for (self: AWithExpr, nullable CallSite) */
4925 void nitc__typing___AWithExpr___method_finish_61d(val
* self
, val
* p0
) {
4926 self
->attrs
[COLOR_nitc__typing__AWithExpr___method_finish
].val
= p0
; /* _method_finish on <self:AWithExpr> */
4929 /* method typing$AWithExpr$accept_typing for (self: AWithExpr, TypeVisitor) */
4930 void nitc__typing___AWithExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
4931 val
* var_v
/* var v: TypeVisitor */;
4932 val
* var
/* : AExpr */;
4933 val
* var2
/* : AExpr */;
4934 val
* var3
/* : nullable MType */;
4935 val
* var_mtype
/* var mtype: nullable MType */;
4936 short int var4
/* : Bool */;
4937 short int var5
/* : Bool */;
4938 val
* var_other
/* var other: nullable Object */;
4939 short int var7
/* : Bool */;
4940 short int var9
/* : Bool */;
4941 static val
* varonce
;
4942 val
* var10
/* : String */;
4943 char* var11
/* : CString */;
4944 val
* var12
/* : String */;
4945 val
* var13
/* : nullable Int */;
4946 val
* var14
/* : nullable Int */;
4947 val
* var15
/* : nullable Bool */;
4948 val
* var16
/* : nullable Bool */;
4949 val
* var17
/* : AExpr */;
4950 val
* var19
/* : AExpr */;
4951 short int var20
/* : Bool */;
4954 val
* var21
/* : nullable CallSite */;
4955 static val
* varonce23
;
4956 val
* var24
/* : String */;
4957 char* var25
/* : CString */;
4958 val
* var26
/* : String */;
4959 val
* var27
/* : nullable Int */;
4960 val
* var28
/* : nullable Int */;
4961 val
* var29
/* : nullable Bool */;
4962 val
* var30
/* : nullable Bool */;
4963 val
* var31
/* : AExpr */;
4964 val
* var33
/* : AExpr */;
4965 short int var34
/* : Bool */;
4968 val
* var37
/* : nullable CallSite */;
4969 val
* var39
/* : nullable AExpr */;
4970 val
* var41
/* : nullable AExpr */;
4971 val
* var42
/* : nullable AExpr */;
4972 val
* var44
/* : nullable AExpr */;
4973 val
* var45
/* : nullable MType */;
4976 { /* Inline parser_nodes$AWithExpr$n_expr (self) on <self:AWithExpr> */
4977 var2
= self
->attrs
[COLOR_nitc__parser_nodes__AWithExpr___n_expr
].val
; /* _n_expr on <self:AWithExpr> */
4978 if (unlikely(var2
== NULL
)) {
4979 if(catchStack
.cursor
>= 0){
4980 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4982 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4983 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2036);
4991 var3
= nitc__typing___nitc__typing__TypeVisitor___visit_expr(var_v
, var
);
4994 if (var_mtype
== NULL
) {
4995 var4
= 1; /* is null */
4997 var4
= 0; /* arg is null but recv is not */
5000 { /* Inline kernel$Object$== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
5001 var_other
= ((val
*)NULL
);
5003 { /* Inline kernel$Object$is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
5004 var9
= var_mtype
== var_other
;
5020 if (likely(varonce
!=NULL
)) {
5024 var13
= (val
*)(5l<<2|1);
5025 var14
= (val
*)(5l<<2|1);
5026 var15
= (val
*)((long)(0)<<2|3);
5027 var16
= (val
*)((long)(0)<<2|3);
5028 var12
= core__flat___CString___to_s_unsafe(var11
, var13
, var14
, var15
, var16
);
5033 { /* Inline parser_nodes$AWithExpr$n_expr (self) on <self:AWithExpr> */
5034 var19
= self
->attrs
[COLOR_nitc__parser_nodes__AWithExpr___n_expr
].val
; /* _n_expr on <self:AWithExpr> */
5035 if (unlikely(var19
== NULL
)) {
5036 if(catchStack
.cursor
>= 0){
5037 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5039 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5040 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2036);
5044 RET_LABEL18
:(void)0;
5047 /* <var17:AExpr> isa ASelfExpr */
5048 cltype
= type_nitc__ASelfExpr
.color
;
5049 idtype
= type_nitc__ASelfExpr
.id
;
5050 if(cltype
>= var17
->type
->table_size
) {
5053 var20
= var17
->type
->type_table
[cltype
] == idtype
;
5056 var21
= nitc__typing___nitc__typing__TypeVisitor___get_method(var_v
, self
, var_mtype
, var10
, var20
);
5059 { /* Inline typing$AWithExpr$method_start= (self,var21) on <self:AWithExpr> */
5060 self
->attrs
[COLOR_nitc__typing__AWithExpr___method_start
].val
= var21
; /* _method_start on <self:AWithExpr> */
5061 RET_LABEL22
:(void)0;
5064 if (likely(varonce23
!=NULL
)) {
5068 var27
= (val
*)(6l<<2|1);
5069 var28
= (val
*)(6l<<2|1);
5070 var29
= (val
*)((long)(0)<<2|3);
5071 var30
= (val
*)((long)(0)<<2|3);
5072 var26
= core__flat___CString___to_s_unsafe(var25
, var27
, var28
, var29
, var30
);
5077 { /* Inline parser_nodes$AWithExpr$n_expr (self) on <self:AWithExpr> */
5078 var33
= self
->attrs
[COLOR_nitc__parser_nodes__AWithExpr___n_expr
].val
; /* _n_expr on <self:AWithExpr> */
5079 if (unlikely(var33
== NULL
)) {
5080 if(catchStack
.cursor
>= 0){
5081 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5083 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5084 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2036);
5088 RET_LABEL32
:(void)0;
5091 /* <var31:AExpr> isa ASelfExpr */
5092 cltype35
= type_nitc__ASelfExpr
.color
;
5093 idtype36
= type_nitc__ASelfExpr
.id
;
5094 if(cltype35
>= var31
->type
->table_size
) {
5097 var34
= var31
->type
->type_table
[cltype35
] == idtype36
;
5100 var37
= nitc__typing___nitc__typing__TypeVisitor___get_method(var_v
, self
, var_mtype
, var24
, var34
);
5103 { /* Inline typing$AWithExpr$method_finish= (self,var37) on <self:AWithExpr> */
5104 self
->attrs
[COLOR_nitc__typing__AWithExpr___method_finish
].val
= var37
; /* _method_finish on <self:AWithExpr> */
5105 RET_LABEL38
:(void)0;
5109 { /* Inline parser_nodes$AWithExpr$n_block (self) on <self:AWithExpr> */
5110 var41
= self
->attrs
[COLOR_nitc__parser_nodes__AWithExpr___n_block
].val
; /* _n_block on <self:AWithExpr> */
5112 RET_LABEL40
:(void)0;
5116 nitc__typing___nitc__typing__TypeVisitor___visit_stmt(var_v
, var39
); /* Direct call typing$TypeVisitor$visit_stmt on <var_v:TypeVisitor>*/
5119 { /* Inline parser_nodes$AWithExpr$n_block (self) on <self:AWithExpr> */
5120 var44
= self
->attrs
[COLOR_nitc__parser_nodes__AWithExpr___n_block
].val
; /* _n_block on <self:AWithExpr> */
5122 RET_LABEL43
:(void)0;
5125 if (var42
== NULL
) {
5126 if(catchStack
.cursor
>= 0){
5127 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5129 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5130 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1336);
5133 var45
= ((val
*(*)(val
* self
))(var42
->class->vft
[COLOR_nitc__typing__AExpr__mtype
]))(var42
); /* mtype on <var42:nullable AExpr>*/
5136 { /* Inline typing$AExpr$mtype= (self,var45) on <self:AWithExpr> */
5137 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var45
; /* _mtype on <self:AWithExpr> */
5138 RET_LABEL46
:(void)0;
5142 { /* Inline typing$AExpr$is_typed= (self,1) on <self:AWithExpr> */
5143 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:AWithExpr> */
5144 RET_LABEL47
:(void)0;
5149 /* method typing$AAssertExpr$accept_typing for (self: AAssertExpr, TypeVisitor) */
5150 void nitc__typing___AAssertExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
5151 val
* var_v
/* var v: TypeVisitor */;
5152 val
* var
/* : AExpr */;
5153 val
* var2
/* : AExpr */;
5154 val
* var3
/* : nullable MType */;
5155 val
* var4
/* : nullable AExpr */;
5156 val
* var6
/* : nullable AExpr */;
5159 { /* Inline parser_nodes$AAssertExpr$n_expr (self) on <self:AAssertExpr> */
5160 var2
= self
->attrs
[COLOR_nitc__parser_nodes__AAssertExpr___n_expr
].val
; /* _n_expr on <self:AAssertExpr> */
5161 if (unlikely(var2
== NULL
)) {
5162 if(catchStack
.cursor
>= 0){
5163 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5165 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5166 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2056);
5174 var3
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_bool(var_v
, var
);
5177 { /* Inline parser_nodes$AAssertExpr$n_else (self) on <self:AAssertExpr> */
5178 var6
= self
->attrs
[COLOR_nitc__parser_nodes__AAssertExpr___n_else
].val
; /* _n_else on <self:AAssertExpr> */
5184 nitc__typing___nitc__typing__TypeVisitor___visit_stmt(var_v
, var4
); /* Direct call typing$TypeVisitor$visit_stmt on <var_v:TypeVisitor>*/
5187 { /* Inline typing$AExpr$is_typed= (self,1) on <self:AAssertExpr> */
5188 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:AAssertExpr> */
5194 /* method typing$AOrExpr$accept_typing for (self: AOrExpr, TypeVisitor) */
5195 void nitc__typing___AOrExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
5196 val
* var_v
/* var v: TypeVisitor */;
5197 val
* var
/* : AExpr */;
5198 val
* var2
/* : AExpr */;
5199 val
* var3
/* : nullable MType */;
5200 val
* var4
/* : AExpr */;
5201 val
* var6
/* : AExpr */;
5202 val
* var7
/* : nullable MType */;
5203 val
* var8
/* : nullable MType */;
5206 { /* Inline parser_nodes$ABinBoolExpr$n_expr (self) on <self:AOrExpr> */
5207 var2
= self
->attrs
[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr
].val
; /* _n_expr on <self:AOrExpr> */
5208 if (unlikely(var2
== NULL
)) {
5209 if(catchStack
.cursor
>= 0){
5210 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5212 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5213 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2131);
5221 var3
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_bool(var_v
, var
);
5224 { /* Inline parser_nodes$ABinBoolExpr$n_expr2 (self) on <self:AOrExpr> */
5225 var6
= self
->attrs
[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr2
].val
; /* _n_expr2 on <self:AOrExpr> */
5226 if (unlikely(var6
== NULL
)) {
5227 if(catchStack
.cursor
>= 0){
5228 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5230 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
5231 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2137);
5239 var7
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_bool(var_v
, var4
);
5242 var8
= nitc__typing___nitc__typing__TypeVisitor___type_bool(var_v
, self
);
5245 { /* Inline typing$AExpr$mtype= (self,var8) on <self:AOrExpr> */
5246 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var8
; /* _mtype on <self:AOrExpr> */
5252 /* method typing$AImpliesExpr$accept_typing for (self: AImpliesExpr, TypeVisitor) */
5253 void nitc__typing___AImpliesExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
5254 val
* var_v
/* var v: TypeVisitor */;
5255 val
* var
/* : AExpr */;
5256 val
* var2
/* : AExpr */;
5257 val
* var3
/* : nullable MType */;
5258 val
* var4
/* : AExpr */;
5259 val
* var6
/* : AExpr */;
5260 val
* var7
/* : nullable MType */;
5261 val
* var8
/* : nullable MType */;
5264 { /* Inline parser_nodes$ABinBoolExpr$n_expr (self) on <self:AImpliesExpr> */
5265 var2
= self
->attrs
[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr
].val
; /* _n_expr on <self:AImpliesExpr> */
5266 if (unlikely(var2
== NULL
)) {
5267 if(catchStack
.cursor
>= 0){
5268 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5270 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5271 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2131);
5279 var3
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_bool(var_v
, var
);
5282 { /* Inline parser_nodes$ABinBoolExpr$n_expr2 (self) on <self:AImpliesExpr> */
5283 var6
= self
->attrs
[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr2
].val
; /* _n_expr2 on <self:AImpliesExpr> */
5284 if (unlikely(var6
== NULL
)) {
5285 if(catchStack
.cursor
>= 0){
5286 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5288 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
5289 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2137);
5297 var7
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_bool(var_v
, var4
);
5300 var8
= nitc__typing___nitc__typing__TypeVisitor___type_bool(var_v
, self
);
5303 { /* Inline typing$AExpr$mtype= (self,var8) on <self:AImpliesExpr> */
5304 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var8
; /* _mtype on <self:AImpliesExpr> */
5310 /* method typing$AAndExpr$accept_typing for (self: AAndExpr, TypeVisitor) */
5311 void nitc__typing___AAndExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
5312 val
* var_v
/* var v: TypeVisitor */;
5313 val
* var
/* : AExpr */;
5314 val
* var2
/* : AExpr */;
5315 val
* var3
/* : nullable MType */;
5316 val
* var4
/* : AExpr */;
5317 val
* var6
/* : AExpr */;
5318 val
* var7
/* : nullable MType */;
5319 val
* var8
/* : nullable MType */;
5322 { /* Inline parser_nodes$ABinBoolExpr$n_expr (self) on <self:AAndExpr> */
5323 var2
= self
->attrs
[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr
].val
; /* _n_expr on <self:AAndExpr> */
5324 if (unlikely(var2
== NULL
)) {
5325 if(catchStack
.cursor
>= 0){
5326 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5328 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5329 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2131);
5337 var3
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_bool(var_v
, var
);
5340 { /* Inline parser_nodes$ABinBoolExpr$n_expr2 (self) on <self:AAndExpr> */
5341 var6
= self
->attrs
[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr2
].val
; /* _n_expr2 on <self:AAndExpr> */
5342 if (unlikely(var6
== NULL
)) {
5343 if(catchStack
.cursor
>= 0){
5344 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5346 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
5347 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2137);
5355 var7
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_bool(var_v
, var4
);
5358 var8
= nitc__typing___nitc__typing__TypeVisitor___type_bool(var_v
, self
);
5361 { /* Inline typing$AExpr$mtype= (self,var8) on <self:AAndExpr> */
5362 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var8
; /* _mtype on <self:AAndExpr> */
5368 /* method typing$ANotExpr$accept_typing for (self: ANotExpr, TypeVisitor) */
5369 void nitc__typing___ANotExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
5370 val
* var_v
/* var v: TypeVisitor */;
5371 val
* var
/* : AExpr */;
5372 val
* var2
/* : AExpr */;
5373 val
* var3
/* : nullable MType */;
5374 val
* var4
/* : nullable MType */;
5377 { /* Inline parser_nodes$ANotExpr$n_expr (self) on <self:ANotExpr> */
5378 var2
= self
->attrs
[COLOR_nitc__parser_nodes__ANotExpr___n_expr
].val
; /* _n_expr on <self:ANotExpr> */
5379 if (unlikely(var2
== NULL
)) {
5380 if(catchStack
.cursor
>= 0){
5381 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5383 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5384 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2171);
5392 var3
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_bool(var_v
, var
);
5395 var4
= nitc__typing___nitc__typing__TypeVisitor___type_bool(var_v
, self
);
5398 { /* Inline typing$AExpr$mtype= (self,var4) on <self:ANotExpr> */
5399 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var4
; /* _mtype on <self:ANotExpr> */
5405 /* method typing$AOrElseExpr$accept_typing for (self: AOrElseExpr, TypeVisitor) */
5406 void nitc__typing___AOrElseExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
5407 val
* var_v
/* var v: TypeVisitor */;
5408 val
* var
/* : AExpr */;
5409 val
* var2
/* : AExpr */;
5410 val
* var3
/* : nullable MType */;
5411 val
* var_t1
/* var t1: nullable MType */;
5412 val
* var4
/* : AExpr */;
5413 val
* var6
/* : AExpr */;
5414 val
* var7
/* : nullable MType */;
5415 val
* var_t2
/* var t2: nullable MType */;
5416 short int var8
/* : Bool */;
5417 short int var9
/* : Bool */;
5418 short int var10
/* : Bool */;
5419 val
* var_other
/* var other: nullable Object */;
5420 short int var12
/* : Bool */;
5421 short int var14
/* : Bool */;
5422 short int var_
/* var : Bool */;
5423 short int var15
/* : Bool */;
5424 short int var16
/* : Bool */;
5425 short int var18
/* : Bool */;
5426 short int var20
/* : Bool */;
5427 short int var21
/* : Bool */;
5430 short int var23
/* : Bool */;
5431 val
* var24
/* : MType */;
5432 val
* var25
/* : Array[MType] */;
5433 val
* var_26
/* var : Array[MType] */;
5434 val
* var27
/* : nullable MType */;
5435 val
* var_t
/* var t: nullable MType */;
5436 short int var28
/* : Bool */;
5437 short int var29
/* : Bool */;
5438 short int var31
/* : Bool */;
5439 short int var33
/* : Bool */;
5440 static val
* varonce
;
5441 val
* var34
/* : String */;
5442 char* var35
/* : CString */;
5443 val
* var36
/* : String */;
5444 val
* var37
/* : nullable Int */;
5445 val
* var38
/* : nullable Int */;
5446 val
* var39
/* : nullable Bool */;
5447 val
* var40
/* : nullable Bool */;
5448 val
* var41
/* : nullable MClass */;
5449 val
* var_c
/* var c: nullable MClass */;
5450 short int var42
/* : Bool */;
5451 short int var43
/* : Bool */;
5452 short int var45
/* : Bool */;
5453 short int var47
/* : Bool */;
5454 val
* var48
/* : MClassType */;
5455 val
* var50
/* : MClassType */;
5456 short int var51
/* : Bool */;
5457 val
* var52
/* : MType */;
5460 { /* Inline parser_nodes$ABinBoolExpr$n_expr (self) on <self:AOrElseExpr> */
5461 var2
= self
->attrs
[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr
].val
; /* _n_expr on <self:AOrElseExpr> */
5462 if (unlikely(var2
== NULL
)) {
5463 if(catchStack
.cursor
>= 0){
5464 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5466 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5467 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2131);
5475 var3
= nitc__typing___nitc__typing__TypeVisitor___visit_expr(var_v
, var
);
5479 { /* Inline parser_nodes$ABinBoolExpr$n_expr2 (self) on <self:AOrElseExpr> */
5480 var6
= self
->attrs
[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr2
].val
; /* _n_expr2 on <self:AOrElseExpr> */
5481 if (unlikely(var6
== NULL
)) {
5482 if(catchStack
.cursor
>= 0){
5483 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5485 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
5486 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2137);
5494 var7
= nitc__typing___nitc__typing__TypeVisitor___visit_expr(var_v
, var4
);
5497 if (var_t1
== NULL
) {
5498 var9
= 1; /* is null */
5500 var9
= 0; /* arg is null but recv is not */
5503 { /* Inline kernel$Object$== (var_t1,((val*)NULL)) on <var_t1:nullable MType> */
5504 var_other
= ((val
*)NULL
);
5506 { /* Inline kernel$Object$is_same_instance (var_t1,var_other) on <var_t1:nullable MType(MType)> */
5507 var14
= var_t1
== var_other
;
5510 RET_LABEL13
:(void)0;
5515 RET_LABEL11
:(void)0;
5523 if (var_t2
== NULL
) {
5524 var15
= 1; /* is null */
5526 var15
= 0; /* arg is null but recv is not */
5529 { /* Inline kernel$Object$== (var_t2,((val*)NULL)) on <var_t2:nullable MType> */
5530 var_other
= ((val
*)NULL
);
5532 { /* Inline kernel$Object$is_same_instance (var_t2,var_other) on <var_t2:nullable MType(MType)> */
5533 var20
= var_t2
== var_other
;
5536 RET_LABEL19
:(void)0;
5541 RET_LABEL17
:(void)0;
5551 /* <var_t1:nullable MType(MType)> isa MNullType */
5552 cltype
= type_nitc__MNullType
.color
;
5553 idtype
= type_nitc__MNullType
.id
;
5554 if(cltype
>= var_t1
->type
->table_size
) {
5557 var21
= var_t1
->type
->type_table
[cltype
] == idtype
;
5561 { /* Inline typing$AExpr$mtype= (self,var_t2) on <self:AOrElseExpr> */
5562 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var_t2
; /* _mtype on <self:AOrElseExpr> */
5563 RET_LABEL22
:(void)0;
5569 var23
= nitc__typing___nitc__typing__TypeVisitor___can_be_null(var_v
, var_t1
);
5573 var24
= ((val
*(*)(val
* self
))(var_t1
->class->vft
[COLOR_nitc__model__MType__as_notnull
]))(var_t1
); /* as_notnull on <var_t1:nullable MType(MType)>*/
5579 var25
= NEW_core__Array(&type_core__Array__nitc__MType
);
5581 core___core__Array___with_capacity(var25
, 2l); /* Direct call array$Array$with_capacity on <var25:Array[MType]>*/
5585 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_26
, var_t1
); /* Direct call array$AbstractArray$push on <var_26:Array[MType]>*/
5588 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_26
, var_t2
); /* Direct call array$AbstractArray$push on <var_26:Array[MType]>*/
5591 var27
= nitc__typing___nitc__typing__TypeVisitor___merge_types(var_v
, self
, var_26
);
5594 if (var_t
== NULL
) {
5595 var28
= 1; /* is null */
5597 var28
= 0; /* arg is null but recv is not */
5600 { /* Inline kernel$Object$== (var_t,((val*)NULL)) on <var_t:nullable MType> */
5601 var_other
= ((val
*)NULL
);
5603 { /* Inline kernel$Object$is_same_instance (var_t,var_other) on <var_t:nullable MType(MType)> */
5604 var33
= var_t
== var_other
;
5607 RET_LABEL32
:(void)0;
5612 RET_LABEL30
:(void)0;
5617 if (likely(varonce
!=NULL
)) {
5621 var37
= (val
*)(6l<<2|1);
5622 var38
= (val
*)(6l<<2|1);
5623 var39
= (val
*)((long)(0)<<2|3);
5624 var40
= (val
*)((long)(0)<<2|3);
5625 var36
= core__flat___CString___to_s_unsafe(var35
, var37
, var38
, var39
, var40
);
5630 var41
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v
, self
, var34
);
5633 if (var_c
== NULL
) {
5634 var42
= 1; /* is null */
5636 var42
= 0; /* arg is null but recv is not */
5639 { /* Inline kernel$Object$== (var_c,((val*)NULL)) on <var_c:nullable MClass> */
5640 var_other
= ((val
*)NULL
);
5642 { /* Inline kernel$Object$is_same_instance (var_c,var_other) on <var_c:nullable MClass(MClass)> */
5643 var47
= var_c
== var_other
;
5646 RET_LABEL46
:(void)0;
5651 RET_LABEL44
:(void)0;
5660 { /* Inline model$MClass$mclass_type (var_c) on <var_c:nullable MClass(MClass)> */
5661 var50
= var_c
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_c:nullable MClass(MClass)> */
5662 if (unlikely(var50
== NULL
)) {
5663 if(catchStack
.cursor
>= 0){
5664 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5666 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
5667 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 520);
5671 RET_LABEL49
:(void)0;
5676 var51
= nitc__typing___nitc__typing__TypeVisitor___can_be_null(var_v
, var_t2
);
5680 var52
= nitc___nitc__MType___as_nullable(var_t
);
5688 { /* Inline typing$AExpr$mtype= (self,var_t) on <self:AOrElseExpr> */
5689 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var_t
; /* _mtype on <self:AOrElseExpr> */
5690 RET_LABEL53
:(void)0;
5695 /* method typing$AOrElseExpr$accept_post_typing for (self: AOrElseExpr, TypeVisitor) */
5696 void nitc__typing___AOrElseExpr___ANode__accept_post_typing(val
* self
, val
* p0
) {
5697 val
* var_v
/* var v: TypeVisitor */;
5698 val
* var
/* : AExpr */;
5699 val
* var2
/* : AExpr */;
5700 val
* var3
/* : nullable MType */;
5701 val
* var_t1
/* var t1: nullable MType */;
5702 short int var4
/* : Bool */;
5703 short int var5
/* : Bool */;
5704 val
* var_other
/* var other: nullable Object */;
5705 short int var7
/* : Bool */;
5706 short int var9
/* : Bool */;
5707 val
* var10
/* : AExpr */;
5708 val
* var12
/* : AExpr */;
5709 short int var13
/* : Bool */;
5712 { /* Inline parser_nodes$ABinBoolExpr$n_expr (self) on <self:AOrElseExpr> */
5713 var2
= self
->attrs
[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr
].val
; /* _n_expr on <self:AOrElseExpr> */
5714 if (unlikely(var2
== NULL
)) {
5715 if(catchStack
.cursor
>= 0){
5716 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5718 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5719 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2131);
5727 var3
= ((val
*(*)(val
* self
))(var
->class->vft
[COLOR_nitc__typing__AExpr__mtype
]))(var
); /* mtype on <var:AExpr>*/
5730 if (var_t1
== NULL
) {
5731 var4
= 1; /* is null */
5733 var4
= 0; /* arg is null but recv is not */
5736 { /* Inline kernel$Object$== (var_t1,((val*)NULL)) on <var_t1:nullable MType> */
5737 var_other
= ((val
*)NULL
);
5739 { /* Inline kernel$Object$is_same_instance (var_t1,var_other) on <var_t1:nullable MType(MType)> */
5740 var9
= var_t1
== var_other
;
5756 { /* Inline parser_nodes$ABinBoolExpr$n_expr (self) on <self:AOrElseExpr> */
5757 var12
= self
->attrs
[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr
].val
; /* _n_expr on <self:AOrElseExpr> */
5758 if (unlikely(var12
== NULL
)) {
5759 if(catchStack
.cursor
>= 0){
5760 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5762 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5763 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2131);
5767 RET_LABEL11
:(void)0;
5771 var13
= nitc__typing___nitc__typing__TypeVisitor___check_can_be_null(var_v
, var10
, var_t1
);
5776 /* method typing$ATrueExpr$accept_typing for (self: ATrueExpr, TypeVisitor) */
5777 void nitc__typing___ATrueExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
5778 val
* var_v
/* var v: TypeVisitor */;
5779 val
* var
/* : nullable MType */;
5782 var
= nitc__typing___nitc__typing__TypeVisitor___type_bool(var_v
, self
);
5785 { /* Inline typing$AExpr$mtype= (self,var) on <self:ATrueExpr> */
5786 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var
; /* _mtype on <self:ATrueExpr> */
5792 /* method typing$AFalseExpr$accept_typing for (self: AFalseExpr, TypeVisitor) */
5793 void nitc__typing___AFalseExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
5794 val
* var_v
/* var v: TypeVisitor */;
5795 val
* var
/* : nullable MType */;
5798 var
= nitc__typing___nitc__typing__TypeVisitor___type_bool(var_v
, self
);
5801 { /* Inline typing$AExpr$mtype= (self,var) on <self:AFalseExpr> */
5802 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var
; /* _mtype on <self:AFalseExpr> */
5808 /* method typing$AIntegerExpr$accept_typing for (self: AIntegerExpr, TypeVisitor) */
5809 void nitc__typing___AIntegerExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
5810 val
* var_v
/* var v: TypeVisitor */;
5811 val
* var_mclass
/* var mclass: nullable MClass */;
5812 val
* var
/* : nullable Numeric */;
5813 val
* var2
/* : nullable Numeric */;
5814 short int var3
/* : Bool */;
5817 static val
* varonce
;
5818 val
* var4
/* : String */;
5819 char* var5
/* : CString */;
5820 val
* var6
/* : String */;
5821 val
* var7
/* : nullable Int */;
5822 val
* var8
/* : nullable Int */;
5823 val
* var9
/* : nullable Bool */;
5824 val
* var10
/* : nullable Bool */;
5825 val
* var11
/* : nullable MClass */;
5826 val
* var12
/* : nullable Numeric */;
5827 val
* var14
/* : nullable Numeric */;
5828 short int var15
/* : Bool */;
5831 static val
* varonce18
;
5832 val
* var19
/* : String */;
5833 char* var20
/* : CString */;
5834 val
* var21
/* : String */;
5835 val
* var22
/* : nullable Int */;
5836 val
* var23
/* : nullable Int */;
5837 val
* var24
/* : nullable Bool */;
5838 val
* var25
/* : nullable Bool */;
5839 val
* var26
/* : nullable MClass */;
5840 val
* var27
/* : nullable Numeric */;
5841 val
* var29
/* : nullable Numeric */;
5842 short int var30
/* : Bool */;
5845 static val
* varonce33
;
5846 val
* var34
/* : String */;
5847 char* var35
/* : CString */;
5848 val
* var36
/* : String */;
5849 val
* var37
/* : nullable Int */;
5850 val
* var38
/* : nullable Int */;
5851 val
* var39
/* : nullable Bool */;
5852 val
* var40
/* : nullable Bool */;
5853 val
* var41
/* : nullable MClass */;
5854 val
* var42
/* : nullable Numeric */;
5855 val
* var44
/* : nullable Numeric */;
5856 short int var45
/* : Bool */;
5859 static val
* varonce48
;
5860 val
* var49
/* : String */;
5861 char* var50
/* : CString */;
5862 val
* var51
/* : String */;
5863 val
* var52
/* : nullable Int */;
5864 val
* var53
/* : nullable Int */;
5865 val
* var54
/* : nullable Bool */;
5866 val
* var55
/* : nullable Bool */;
5867 val
* var56
/* : nullable MClass */;
5868 val
* var57
/* : nullable Numeric */;
5869 val
* var59
/* : nullable Numeric */;
5870 short int var60
/* : Bool */;
5873 static val
* varonce63
;
5874 val
* var64
/* : String */;
5875 char* var65
/* : CString */;
5876 val
* var66
/* : String */;
5877 val
* var67
/* : nullable Int */;
5878 val
* var68
/* : nullable Int */;
5879 val
* var69
/* : nullable Bool */;
5880 val
* var70
/* : nullable Bool */;
5881 val
* var71
/* : nullable MClass */;
5882 val
* var72
/* : nullable Numeric */;
5883 val
* var74
/* : nullable Numeric */;
5884 short int var75
/* : Bool */;
5887 static val
* varonce78
;
5888 val
* var79
/* : String */;
5889 char* var80
/* : CString */;
5890 val
* var81
/* : String */;
5891 val
* var82
/* : nullable Int */;
5892 val
* var83
/* : nullable Int */;
5893 val
* var84
/* : nullable Bool */;
5894 val
* var85
/* : nullable Bool */;
5895 val
* var86
/* : nullable MClass */;
5896 val
* var87
/* : nullable Numeric */;
5897 val
* var89
/* : nullable Numeric */;
5898 short int var90
/* : Bool */;
5901 static val
* varonce93
;
5902 val
* var94
/* : String */;
5903 char* var95
/* : CString */;
5904 val
* var96
/* : String */;
5905 val
* var97
/* : nullable Int */;
5906 val
* var98
/* : nullable Int */;
5907 val
* var99
/* : nullable Bool */;
5908 val
* var100
/* : nullable Bool */;
5909 val
* var101
/* : nullable MClass */;
5910 short int var102
/* : Bool */;
5911 short int var103
/* : Bool */;
5912 val
* var_other
/* var other: nullable Object */;
5913 short int var105
/* : Bool */;
5914 short int var107
/* : Bool */;
5915 val
* var108
/* : MClassType */;
5916 val
* var110
/* : MClassType */;
5918 var_mclass
= ((val
*)NULL
);
5920 { /* Inline literal$AIntegerExpr$value (self) on <self:AIntegerExpr> */
5921 var2
= self
->attrs
[COLOR_nitc__literal__AIntegerExpr___value
].val
; /* _value on <self:AIntegerExpr> */
5926 /* <var:nullable Numeric> isa Byte */
5927 cltype
= type_core__Byte
.color
;
5928 idtype
= type_core__Byte
.id
;
5932 if(cltype
>= (((long)var
&3)?type_info
[((long)var
&3)]:var
->type
)->table_size
) {
5935 var3
= (((long)var
&3)?type_info
[((long)var
&3)]:var
->type
)->type_table
[cltype
] == idtype
;
5939 if (likely(varonce
!=NULL
)) {
5943 var7
= (val
*)(4l<<2|1);
5944 var8
= (val
*)(4l<<2|1);
5945 var9
= (val
*)((long)(0)<<2|3);
5946 var10
= (val
*)((long)(0)<<2|3);
5947 var6
= core__flat___CString___to_s_unsafe(var5
, var7
, var8
, var9
, var10
);
5952 var11
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v
, self
, var4
);
5957 { /* Inline literal$AIntegerExpr$value (self) on <self:AIntegerExpr> */
5958 var14
= self
->attrs
[COLOR_nitc__literal__AIntegerExpr___value
].val
; /* _value on <self:AIntegerExpr> */
5960 RET_LABEL13
:(void)0;
5963 /* <var12:nullable Numeric> isa Int */
5964 cltype16
= type_core__Int
.color
;
5965 idtype17
= type_core__Int
.id
;
5969 if(cltype16
>= (((long)var12
&3)?type_info
[((long)var12
&3)]:var12
->type
)->table_size
) {
5972 var15
= (((long)var12
&3)?type_info
[((long)var12
&3)]:var12
->type
)->type_table
[cltype16
] == idtype17
;
5976 if (likely(varonce18
!=NULL
)) {
5980 var22
= (val
*)(3l<<2|1);
5981 var23
= (val
*)(3l<<2|1);
5982 var24
= (val
*)((long)(0)<<2|3);
5983 var25
= (val
*)((long)(0)<<2|3);
5984 var21
= core__flat___CString___to_s_unsafe(var20
, var22
, var23
, var24
, var25
);
5989 var26
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v
, self
, var19
);
5994 { /* Inline literal$AIntegerExpr$value (self) on <self:AIntegerExpr> */
5995 var29
= self
->attrs
[COLOR_nitc__literal__AIntegerExpr___value
].val
; /* _value on <self:AIntegerExpr> */
5997 RET_LABEL28
:(void)0;
6000 /* <var27:nullable Numeric> isa Int8 */
6001 cltype31
= type_core__Int8
.color
;
6002 idtype32
= type_core__Int8
.id
;
6006 if(cltype31
>= (((long)var27
&3)?type_info
[((long)var27
&3)]:var27
->type
)->table_size
) {
6009 var30
= (((long)var27
&3)?type_info
[((long)var27
&3)]:var27
->type
)->type_table
[cltype31
] == idtype32
;
6013 if (likely(varonce33
!=NULL
)) {
6017 var37
= (val
*)(4l<<2|1);
6018 var38
= (val
*)(4l<<2|1);
6019 var39
= (val
*)((long)(0)<<2|3);
6020 var40
= (val
*)((long)(0)<<2|3);
6021 var36
= core__flat___CString___to_s_unsafe(var35
, var37
, var38
, var39
, var40
);
6026 var41
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v
, self
, var34
);
6031 { /* Inline literal$AIntegerExpr$value (self) on <self:AIntegerExpr> */
6032 var44
= self
->attrs
[COLOR_nitc__literal__AIntegerExpr___value
].val
; /* _value on <self:AIntegerExpr> */
6034 RET_LABEL43
:(void)0;
6037 /* <var42:nullable Numeric> isa Int16 */
6038 cltype46
= type_core__Int16
.color
;
6039 idtype47
= type_core__Int16
.id
;
6043 if(cltype46
>= (((long)var42
&3)?type_info
[((long)var42
&3)]:var42
->type
)->table_size
) {
6046 var45
= (((long)var42
&3)?type_info
[((long)var42
&3)]:var42
->type
)->type_table
[cltype46
] == idtype47
;
6050 if (likely(varonce48
!=NULL
)) {
6054 var52
= (val
*)(5l<<2|1);
6055 var53
= (val
*)(5l<<2|1);
6056 var54
= (val
*)((long)(0)<<2|3);
6057 var55
= (val
*)((long)(0)<<2|3);
6058 var51
= core__flat___CString___to_s_unsafe(var50
, var52
, var53
, var54
, var55
);
6063 var56
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v
, self
, var49
);
6068 { /* Inline literal$AIntegerExpr$value (self) on <self:AIntegerExpr> */
6069 var59
= self
->attrs
[COLOR_nitc__literal__AIntegerExpr___value
].val
; /* _value on <self:AIntegerExpr> */
6071 RET_LABEL58
:(void)0;
6074 /* <var57:nullable Numeric> isa UInt16 */
6075 cltype61
= type_core__UInt16
.color
;
6076 idtype62
= type_core__UInt16
.id
;
6080 if(cltype61
>= (((long)var57
&3)?type_info
[((long)var57
&3)]:var57
->type
)->table_size
) {
6083 var60
= (((long)var57
&3)?type_info
[((long)var57
&3)]:var57
->type
)->type_table
[cltype61
] == idtype62
;
6087 if (likely(varonce63
!=NULL
)) {
6091 var67
= (val
*)(6l<<2|1);
6092 var68
= (val
*)(6l<<2|1);
6093 var69
= (val
*)((long)(0)<<2|3);
6094 var70
= (val
*)((long)(0)<<2|3);
6095 var66
= core__flat___CString___to_s_unsafe(var65
, var67
, var68
, var69
, var70
);
6100 var71
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v
, self
, var64
);
6105 { /* Inline literal$AIntegerExpr$value (self) on <self:AIntegerExpr> */
6106 var74
= self
->attrs
[COLOR_nitc__literal__AIntegerExpr___value
].val
; /* _value on <self:AIntegerExpr> */
6108 RET_LABEL73
:(void)0;
6111 /* <var72:nullable Numeric> isa Int32 */
6112 cltype76
= type_core__Int32
.color
;
6113 idtype77
= type_core__Int32
.id
;
6117 if(cltype76
>= (((long)var72
&3)?type_info
[((long)var72
&3)]:var72
->type
)->table_size
) {
6120 var75
= (((long)var72
&3)?type_info
[((long)var72
&3)]:var72
->type
)->type_table
[cltype76
] == idtype77
;
6124 if (likely(varonce78
!=NULL
)) {
6128 var82
= (val
*)(5l<<2|1);
6129 var83
= (val
*)(5l<<2|1);
6130 var84
= (val
*)((long)(0)<<2|3);
6131 var85
= (val
*)((long)(0)<<2|3);
6132 var81
= core__flat___CString___to_s_unsafe(var80
, var82
, var83
, var84
, var85
);
6137 var86
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v
, self
, var79
);
6142 { /* Inline literal$AIntegerExpr$value (self) on <self:AIntegerExpr> */
6143 var89
= self
->attrs
[COLOR_nitc__literal__AIntegerExpr___value
].val
; /* _value on <self:AIntegerExpr> */
6145 RET_LABEL88
:(void)0;
6148 /* <var87:nullable Numeric> isa UInt32 */
6149 cltype91
= type_core__UInt32
.color
;
6150 idtype92
= type_core__UInt32
.id
;
6154 if(cltype91
>= (((long)var87
&3)?type_info
[((long)var87
&3)]:var87
->type
)->table_size
) {
6157 var90
= (((long)var87
&3)?type_info
[((long)var87
&3)]:var87
->type
)->type_table
[cltype91
] == idtype92
;
6161 if (likely(varonce93
!=NULL
)) {
6165 var97
= (val
*)(6l<<2|1);
6166 var98
= (val
*)(6l<<2|1);
6167 var99
= (val
*)((long)(0)<<2|3);
6168 var100
= (val
*)((long)(0)<<2|3);
6169 var96
= core__flat___CString___to_s_unsafe(var95
, var97
, var98
, var99
, var100
);
6174 var101
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v
, self
, var94
);
6176 var_mclass
= var101
;
6185 if (var_mclass
== NULL
) {
6186 var102
= 1; /* is null */
6188 var102
= 0; /* arg is null but recv is not */
6191 { /* Inline kernel$Object$== (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
6192 var_other
= ((val
*)NULL
);
6194 { /* Inline kernel$Object$is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
6195 var107
= var_mclass
== var_other
;
6198 RET_LABEL106
:(void)0;
6203 RET_LABEL104
:(void)0;
6212 { /* Inline model$MClass$mclass_type (var_mclass) on <var_mclass:nullable MClass(MClass)> */
6213 var110
= var_mclass
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:nullable MClass(MClass)> */
6214 if (unlikely(var110
== NULL
)) {
6215 if(catchStack
.cursor
>= 0){
6216 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6218 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
6219 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 520);
6223 RET_LABEL109
:(void)0;
6227 { /* Inline typing$AExpr$mtype= (self,var108) on <self:AIntegerExpr> */
6228 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var108
; /* _mtype on <self:AIntegerExpr> */
6229 RET_LABEL111
:(void)0;
6234 /* method typing$AFloatExpr$accept_typing for (self: AFloatExpr, TypeVisitor) */
6235 void nitc__typing___AFloatExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
6236 val
* var_v
/* var v: TypeVisitor */;
6237 static val
* varonce
;
6238 val
* var
/* : String */;
6239 char* var1
/* : CString */;
6240 val
* var2
/* : String */;
6241 val
* var3
/* : nullable Int */;
6242 val
* var4
/* : nullable Int */;
6243 val
* var5
/* : nullable Bool */;
6244 val
* var6
/* : nullable Bool */;
6245 val
* var7
/* : nullable MClass */;
6246 val
* var_mclass
/* var mclass: nullable MClass */;
6247 short int var8
/* : Bool */;
6248 short int var9
/* : Bool */;
6249 val
* var_other
/* var other: nullable Object */;
6250 short int var11
/* : Bool */;
6251 short int var13
/* : Bool */;
6252 val
* var14
/* : MClassType */;
6253 val
* var16
/* : MClassType */;
6255 if (likely(varonce
!=NULL
)) {
6259 var3
= (val
*)(5l<<2|1);
6260 var4
= (val
*)(5l<<2|1);
6261 var5
= (val
*)((long)(0)<<2|3);
6262 var6
= (val
*)((long)(0)<<2|3);
6263 var2
= core__flat___CString___to_s_unsafe(var1
, var3
, var4
, var5
, var6
);
6268 var7
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v
, self
, var
);
6271 if (var_mclass
== NULL
) {
6272 var8
= 1; /* is null */
6274 var8
= 0; /* arg is null but recv is not */
6277 { /* Inline kernel$Object$== (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
6278 var_other
= ((val
*)NULL
);
6280 { /* Inline kernel$Object$is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
6281 var13
= var_mclass
== var_other
;
6284 RET_LABEL12
:(void)0;
6289 RET_LABEL10
:(void)0;
6298 { /* Inline model$MClass$mclass_type (var_mclass) on <var_mclass:nullable MClass(MClass)> */
6299 var16
= var_mclass
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:nullable MClass(MClass)> */
6300 if (unlikely(var16
== NULL
)) {
6301 if(catchStack
.cursor
>= 0){
6302 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6304 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
6305 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 520);
6309 RET_LABEL15
:(void)0;
6313 { /* Inline typing$AExpr$mtype= (self,var14) on <self:AFloatExpr> */
6314 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var14
; /* _mtype on <self:AFloatExpr> */
6315 RET_LABEL17
:(void)0;
6320 /* method typing$ACharExpr$accept_typing for (self: ACharExpr, TypeVisitor) */
6321 void nitc__typing___ACharExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
6322 val
* var_v
/* var v: TypeVisitor */;
6323 val
* var_mclass
/* var mclass: nullable MClass */;
6324 short int var
/* : Bool */;
6325 static val
* varonce
;
6326 val
* var1
/* : String */;
6327 char* var2
/* : CString */;
6328 val
* var3
/* : String */;
6329 val
* var4
/* : nullable Int */;
6330 val
* var5
/* : nullable Int */;
6331 val
* var6
/* : nullable Bool */;
6332 val
* var7
/* : nullable Bool */;
6333 val
* var8
/* : nullable MClass */;
6334 short int var9
/* : Bool */;
6335 static val
* varonce10
;
6336 val
* var11
/* : String */;
6337 char* var12
/* : CString */;
6338 val
* var13
/* : String */;
6339 val
* var14
/* : nullable Int */;
6340 val
* var15
/* : nullable Int */;
6341 val
* var16
/* : nullable Bool */;
6342 val
* var17
/* : nullable Bool */;
6343 val
* var18
/* : nullable MClass */;
6344 static val
* varonce19
;
6345 val
* var20
/* : String */;
6346 char* var21
/* : CString */;
6347 val
* var22
/* : String */;
6348 val
* var23
/* : nullable Int */;
6349 val
* var24
/* : nullable Int */;
6350 val
* var25
/* : nullable Bool */;
6351 val
* var26
/* : nullable Bool */;
6352 val
* var27
/* : nullable MClass */;
6353 short int var28
/* : Bool */;
6354 short int var29
/* : Bool */;
6355 val
* var_other
/* var other: nullable Object */;
6356 short int var31
/* : Bool */;
6357 short int var33
/* : Bool */;
6358 val
* var34
/* : MClassType */;
6359 val
* var36
/* : MClassType */;
6361 var_mclass
= ((val
*)NULL
);
6363 var
= nitc__literal___ACharExpr___is_ascii(self
);
6366 if (likely(varonce
!=NULL
)) {
6370 var4
= (val
*)(4l<<2|1);
6371 var5
= (val
*)(4l<<2|1);
6372 var6
= (val
*)((long)(0)<<2|3);
6373 var7
= (val
*)((long)(0)<<2|3);
6374 var3
= core__flat___CString___to_s_unsafe(var2
, var4
, var5
, var6
, var7
);
6379 var8
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v
, self
, var1
);
6384 var9
= nitc__literal___ACharExpr___is_code_point(self
);
6387 if (likely(varonce10
!=NULL
)) {
6391 var14
= (val
*)(3l<<2|1);
6392 var15
= (val
*)(3l<<2|1);
6393 var16
= (val
*)((long)(0)<<2|3);
6394 var17
= (val
*)((long)(0)<<2|3);
6395 var13
= core__flat___CString___to_s_unsafe(var12
, var14
, var15
, var16
, var17
);
6400 var18
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v
, self
, var11
);
6404 if (likely(varonce19
!=NULL
)) {
6408 var23
= (val
*)(4l<<2|1);
6409 var24
= (val
*)(4l<<2|1);
6410 var25
= (val
*)((long)(0)<<2|3);
6411 var26
= (val
*)((long)(0)<<2|3);
6412 var22
= core__flat___CString___to_s_unsafe(var21
, var23
, var24
, var25
, var26
);
6417 var27
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v
, self
, var20
);
6422 if (var_mclass
== NULL
) {
6423 var28
= 1; /* is null */
6425 var28
= 0; /* arg is null but recv is not */
6428 { /* Inline kernel$Object$== (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
6429 var_other
= ((val
*)NULL
);
6431 { /* Inline kernel$Object$is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
6432 var33
= var_mclass
== var_other
;
6435 RET_LABEL32
:(void)0;
6440 RET_LABEL30
:(void)0;
6449 { /* Inline model$MClass$mclass_type (var_mclass) on <var_mclass:nullable MClass(MClass)> */
6450 var36
= var_mclass
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:nullable MClass(MClass)> */
6451 if (unlikely(var36
== NULL
)) {
6452 if(catchStack
.cursor
>= 0){
6453 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6455 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
6456 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 520);
6460 RET_LABEL35
:(void)0;
6464 { /* Inline typing$AExpr$mtype= (self,var34) on <self:ACharExpr> */
6465 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var34
; /* _mtype on <self:ACharExpr> */
6466 RET_LABEL37
:(void)0;
6471 /* method typing$AugmentedStringFormExpr$to_re for (self: AugmentedStringFormExpr): nullable CallSite */
6472 val
* nitc__typing___AugmentedStringFormExpr___to_re(val
* self
) {
6473 val
* var
/* : nullable CallSite */;
6474 val
* var1
/* : nullable CallSite */;
6475 var1
= self
->attrs
[COLOR_nitc__typing__AugmentedStringFormExpr___to_re
].val
; /* _to_re on <self:AugmentedStringFormExpr> */
6480 /* method typing$AugmentedStringFormExpr$to_re= for (self: AugmentedStringFormExpr, nullable CallSite) */
6481 void nitc__typing___AugmentedStringFormExpr___to_re_61d(val
* self
, val
* p0
) {
6482 self
->attrs
[COLOR_nitc__typing__AugmentedStringFormExpr___to_re
].val
= p0
; /* _to_re on <self:AugmentedStringFormExpr> */
6485 /* method typing$AugmentedStringFormExpr$ignore_case for (self: AugmentedStringFormExpr): nullable CallSite */
6486 val
* nitc__typing___AugmentedStringFormExpr___ignore_case(val
* self
) {
6487 val
* var
/* : nullable CallSite */;
6488 val
* var1
/* : nullable CallSite */;
6489 var1
= self
->attrs
[COLOR_nitc__typing__AugmentedStringFormExpr___ignore_case
].val
; /* _ignore_case on <self:AugmentedStringFormExpr> */
6494 /* method typing$AugmentedStringFormExpr$ignore_case= for (self: AugmentedStringFormExpr, nullable CallSite) */
6495 void nitc__typing___AugmentedStringFormExpr___ignore_case_61d(val
* self
, val
* p0
) {
6496 self
->attrs
[COLOR_nitc__typing__AugmentedStringFormExpr___ignore_case
].val
= p0
; /* _ignore_case on <self:AugmentedStringFormExpr> */
6499 /* method typing$AugmentedStringFormExpr$newline for (self: AugmentedStringFormExpr): nullable CallSite */
6500 val
* nitc__typing___AugmentedStringFormExpr___newline(val
* self
) {
6501 val
* var
/* : nullable CallSite */;
6502 val
* var1
/* : nullable CallSite */;
6503 var1
= self
->attrs
[COLOR_nitc__typing__AugmentedStringFormExpr___newline
].val
; /* _newline on <self:AugmentedStringFormExpr> */
6508 /* method typing$AugmentedStringFormExpr$newline= for (self: AugmentedStringFormExpr, nullable CallSite) */
6509 void nitc__typing___AugmentedStringFormExpr___newline_61d(val
* self
, val
* p0
) {
6510 self
->attrs
[COLOR_nitc__typing__AugmentedStringFormExpr___newline
].val
= p0
; /* _newline on <self:AugmentedStringFormExpr> */
6513 /* method typing$AugmentedStringFormExpr$extended for (self: AugmentedStringFormExpr): nullable CallSite */
6514 val
* nitc__typing___AugmentedStringFormExpr___extended(val
* self
) {
6515 val
* var
/* : nullable CallSite */;
6516 val
* var1
/* : nullable CallSite */;
6517 var1
= self
->attrs
[COLOR_nitc__typing__AugmentedStringFormExpr___extended
].val
; /* _extended on <self:AugmentedStringFormExpr> */
6522 /* method typing$AugmentedStringFormExpr$extended= for (self: AugmentedStringFormExpr, nullable CallSite) */
6523 void nitc__typing___AugmentedStringFormExpr___extended_61d(val
* self
, val
* p0
) {
6524 self
->attrs
[COLOR_nitc__typing__AugmentedStringFormExpr___extended
].val
= p0
; /* _extended on <self:AugmentedStringFormExpr> */
6527 /* method typing$AugmentedStringFormExpr$to_bytes_with_copy for (self: AugmentedStringFormExpr): nullable CallSite */
6528 val
* nitc__typing___AugmentedStringFormExpr___to_bytes_with_copy(val
* self
) {
6529 val
* var
/* : nullable CallSite */;
6530 val
* var1
/* : nullable CallSite */;
6531 var1
= self
->attrs
[COLOR_nitc__typing__AugmentedStringFormExpr___to_bytes_with_copy
].val
; /* _to_bytes_with_copy on <self:AugmentedStringFormExpr> */
6536 /* method typing$AugmentedStringFormExpr$to_bytes_with_copy= for (self: AugmentedStringFormExpr, nullable CallSite) */
6537 void nitc__typing___AugmentedStringFormExpr___to_bytes_with_copy_61d(val
* self
, val
* p0
) {
6538 self
->attrs
[COLOR_nitc__typing__AugmentedStringFormExpr___to_bytes_with_copy
].val
= p0
; /* _to_bytes_with_copy on <self:AugmentedStringFormExpr> */
6541 /* method typing$AugmentedStringFormExpr$accept_typing for (self: AugmentedStringFormExpr, TypeVisitor) */
6542 void nitc__typing___AugmentedStringFormExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
6543 val
* var_v
/* var v: TypeVisitor */;
6544 static val
* varonce
;
6545 val
* var
/* : String */;
6546 char* var1
/* : CString */;
6547 val
* var2
/* : String */;
6548 val
* var3
/* : nullable Int */;
6549 val
* var4
/* : nullable Int */;
6550 val
* var5
/* : nullable Bool */;
6551 val
* var6
/* : nullable Bool */;
6552 val
* var7
/* : nullable MClass */;
6553 val
* var_mclass
/* var mclass: nullable MClass */;
6554 short int var8
/* : Bool */;
6555 short int var9
/* : Bool */;
6556 val
* var_other
/* var other: nullable Object */;
6557 short int var11
/* : Bool */;
6558 short int var13
/* : Bool */;
6559 short int var14
/* : Bool */;
6560 val
* var15
/* : MModule */;
6561 val
* var17
/* : MModule */;
6562 val
* var18
/* : MClassType */;
6563 static val
* varonce19
;
6564 val
* var20
/* : String */;
6565 char* var21
/* : CString */;
6566 val
* var22
/* : String */;
6567 val
* var23
/* : nullable Int */;
6568 val
* var24
/* : nullable Int */;
6569 val
* var25
/* : nullable Bool */;
6570 val
* var26
/* : nullable Bool */;
6571 val
* var27
/* : nullable CallSite */;
6572 static val
* varonce29
;
6573 val
* var30
/* : String */;
6574 char* var31
/* : CString */;
6575 val
* var32
/* : String */;
6576 val
* var33
/* : nullable Int */;
6577 val
* var34
/* : nullable Int */;
6578 val
* var35
/* : nullable Bool */;
6579 val
* var36
/* : nullable Bool */;
6580 val
* var37
/* : nullable MClass */;
6581 short int var38
/* : Bool */;
6582 val
* var39
/* : MClassType */;
6583 val
* var41
/* : MClassType */;
6584 static val
* varonce42
;
6585 val
* var43
/* : String */;
6586 char* var44
/* : CString */;
6587 val
* var45
/* : String */;
6588 val
* var46
/* : nullable Int */;
6589 val
* var47
/* : nullable Int */;
6590 val
* var48
/* : nullable Bool */;
6591 val
* var49
/* : nullable Bool */;
6592 val
* var50
/* : nullable CallSite */;
6593 val
* var52
/* : String */;
6594 val
* var53
/* : SequenceRead[Char] */;
6595 val
* var_
/* var : SequenceRead[Char] */;
6596 val
* var54
/* : Iterator[nullable Object] */;
6597 val
* var_55
/* var : IndexedIterator[Char] */;
6598 short int var56
/* : Bool */;
6599 val
* var57
/* : nullable Object */;
6600 uint32_t var58
/* : Char */;
6601 uint32_t var_i
/* var i: Char */;
6602 static val
* varonce59
;
6603 val
* var60
/* : String */;
6604 char* var61
/* : CString */;
6605 val
* var62
/* : String */;
6606 val
* var63
/* : nullable Int */;
6607 val
* var64
/* : nullable Int */;
6608 val
* var65
/* : nullable Bool */;
6609 val
* var66
/* : nullable Bool */;
6610 val
* var67
/* : nullable MClass */;
6611 short int var68
/* : Bool */;
6612 short int var69
/* : Bool */;
6613 short int var71
/* : Bool */;
6614 short int var73
/* : Bool */;
6615 static val
* varonce74
;
6616 val
* var75
/* : String */;
6617 char* var76
/* : CString */;
6618 val
* var77
/* : String */;
6619 val
* var78
/* : nullable Int */;
6620 val
* var79
/* : nullable Int */;
6621 val
* var80
/* : nullable Bool */;
6622 val
* var81
/* : nullable Bool */;
6623 static val
* varonce82
;
6624 val
* var83
/* : String */;
6625 char* var84
/* : CString */;
6626 val
* var85
/* : String */;
6627 val
* var86
/* : nullable Int */;
6628 val
* var87
/* : nullable Int */;
6629 val
* var88
/* : nullable Bool */;
6630 val
* var89
/* : nullable Bool */;
6631 val
* var_service
/* var service: String */;
6632 short int var90
/* : Bool */;
6633 short int var92
/* : Bool */;
6634 static val
* varonce93
;
6635 val
* var94
/* : String */;
6636 char* var95
/* : CString */;
6637 val
* var96
/* : String */;
6638 val
* var97
/* : nullable Int */;
6639 val
* var98
/* : nullable Int */;
6640 val
* var99
/* : nullable Bool */;
6641 val
* var100
/* : nullable Bool */;
6642 val
* var101
/* : MClassType */;
6643 val
* var103
/* : MClassType */;
6644 val
* var104
/* : nullable CallSite */;
6645 short int var106
/* : Bool */;
6646 short int var108
/* : Bool */;
6647 static val
* varonce109
;
6648 val
* var110
/* : String */;
6649 char* var111
/* : CString */;
6650 val
* var112
/* : String */;
6651 val
* var113
/* : nullable Int */;
6652 val
* var114
/* : nullable Int */;
6653 val
* var115
/* : nullable Bool */;
6654 val
* var116
/* : nullable Bool */;
6655 val
* var117
/* : MClassType */;
6656 val
* var119
/* : MClassType */;
6657 val
* var120
/* : nullable CallSite */;
6658 short int var122
/* : Bool */;
6659 short int var124
/* : Bool */;
6660 static val
* varonce125
;
6661 val
* var126
/* : String */;
6662 char* var127
/* : CString */;
6663 val
* var128
/* : String */;
6664 val
* var129
/* : nullable Int */;
6665 val
* var130
/* : nullable Int */;
6666 val
* var131
/* : nullable Bool */;
6667 val
* var132
/* : nullable Bool */;
6668 val
* var133
/* : MClassType */;
6669 val
* var135
/* : MClassType */;
6670 val
* var136
/* : nullable CallSite */;
6671 val
* var139
/* : NativeArray[String] */;
6672 static val
* varonce138
;
6673 static val
* varonce140
;
6674 val
* var141
/* : String */;
6675 char* var142
/* : CString */;
6676 val
* var143
/* : String */;
6677 val
* var144
/* : nullable Int */;
6678 val
* var145
/* : nullable Int */;
6679 val
* var146
/* : nullable Bool */;
6680 val
* var147
/* : nullable Bool */;
6681 static val
* varonce148
;
6682 val
* var149
/* : String */;
6683 char* var150
/* : CString */;
6684 val
* var151
/* : String */;
6685 val
* var152
/* : nullable Int */;
6686 val
* var153
/* : nullable Int */;
6687 val
* var154
/* : nullable Bool */;
6688 val
* var155
/* : nullable Bool */;
6689 val
* var156
/* : String */;
6690 val
* var157
/* : String */;
6691 short int var158
/* : Bool */;
6692 short int var159
/* : Bool */;
6693 short int var161
/* : Bool */;
6694 short int var163
/* : Bool */;
6695 val
* var164
/* : MClassType */;
6696 val
* var166
/* : MClassType */;
6698 if (likely(varonce
!=NULL
)) {
6702 var3
= (val
*)(6l<<2|1);
6703 var4
= (val
*)(6l<<2|1);
6704 var5
= (val
*)((long)(0)<<2|3);
6705 var6
= (val
*)((long)(0)<<2|3);
6706 var2
= core__flat___CString___to_s_unsafe(var1
, var3
, var4
, var5
, var6
);
6711 var7
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v
, self
, var
);
6714 if (var_mclass
== NULL
) {
6715 var8
= 1; /* is null */
6717 var8
= 0; /* arg is null but recv is not */
6720 { /* Inline kernel$Object$== (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
6721 var_other
= ((val
*)NULL
);
6723 { /* Inline kernel$Object$is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
6724 var13
= var_mclass
== var_other
;
6727 RET_LABEL12
:(void)0;
6732 RET_LABEL10
:(void)0;
6741 var14
= nitc___nitc__AugmentedStringFormExpr___is_bytestring(self
);
6745 { /* Inline typing$TypeVisitor$mmodule (var_v) on <var_v:TypeVisitor> */
6746 var17
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
6747 if (unlikely(var17
== NULL
)) {
6748 if(catchStack
.cursor
>= 0){
6749 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6751 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
6752 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 37);
6756 RET_LABEL16
:(void)0;
6760 var18
= nitc__model___MModule___c_string_type(var15
);
6762 if (likely(varonce19
!=NULL
)) {
6765 var21
= "to_bytes_with_copy";
6766 var23
= (val
*)(18l<<2|1);
6767 var24
= (val
*)(18l<<2|1);
6768 var25
= (val
*)((long)(0)<<2|3);
6769 var26
= (val
*)((long)(0)<<2|3);
6770 var22
= core__flat___CString___to_s_unsafe(var21
, var23
, var24
, var25
, var26
);
6775 var27
= nitc__typing___nitc__typing__TypeVisitor___get_method(var_v
, self
, var18
, var20
, 0);
6778 { /* Inline typing$AugmentedStringFormExpr$to_bytes_with_copy= (self,var27) on <self:AugmentedStringFormExpr> */
6779 self
->attrs
[COLOR_nitc__typing__AugmentedStringFormExpr___to_bytes_with_copy
].val
= var27
; /* _to_bytes_with_copy on <self:AugmentedStringFormExpr> */
6780 RET_LABEL28
:(void)0;
6783 if (likely(varonce29
!=NULL
)) {
6787 var33
= (val
*)(5l<<2|1);
6788 var34
= (val
*)(5l<<2|1);
6789 var35
= (val
*)((long)(0)<<2|3);
6790 var36
= (val
*)((long)(0)<<2|3);
6791 var32
= core__flat___CString___to_s_unsafe(var31
, var33
, var34
, var35
, var36
);
6796 var37
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v
, self
, var30
);
6801 var38
= nitc___nitc__AugmentedStringFormExpr___is_re(self
);
6805 { /* Inline model$MClass$mclass_type (var_mclass) on <var_mclass:nullable MClass(MClass)> */
6806 var41
= var_mclass
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:nullable MClass(MClass)> */
6807 if (unlikely(var41
== NULL
)) {
6808 if(catchStack
.cursor
>= 0){
6809 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6811 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
6812 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 520);
6816 RET_LABEL40
:(void)0;
6819 if (likely(varonce42
!=NULL
)) {
6823 var46
= (val
*)(5l<<2|1);
6824 var47
= (val
*)(5l<<2|1);
6825 var48
= (val
*)((long)(0)<<2|3);
6826 var49
= (val
*)((long)(0)<<2|3);
6827 var45
= core__flat___CString___to_s_unsafe(var44
, var46
, var47
, var48
, var49
);
6832 var50
= nitc__typing___nitc__typing__TypeVisitor___get_method(var_v
, self
, var39
, var43
, 0);
6835 { /* Inline typing$AugmentedStringFormExpr$to_re= (self,var50) on <self:AugmentedStringFormExpr> */
6836 self
->attrs
[COLOR_nitc__typing__AugmentedStringFormExpr___to_re
].val
= var50
; /* _to_re on <self:AugmentedStringFormExpr> */
6837 RET_LABEL51
:(void)0;
6841 var52
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__literal__AAugmentedLiteral__suffix
]))(self
); /* suffix on <self:AugmentedStringFormExpr>*/
6844 var53
= ((val
*(*)(val
* self
))(var52
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(var52
); /* chars on <var52:String>*/
6848 var54
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:SequenceRead[Char]>*/
6853 var56
= ((short int(*)(val
* self
))((((long)var_55
&3)?class_info
[((long)var_55
&3)]:var_55
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_55
); /* is_ok on <var_55:IndexedIterator[Char]>*/
6860 var57
= ((val
*(*)(val
* self
))((((long)var_55
&3)?class_info
[((long)var_55
&3)]:var_55
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_55
); /* item on <var_55:IndexedIterator[Char]>*/
6862 var58
= (uint32_t)((long)(var57
)>>2);
6864 if (likely(varonce59
!=NULL
)) {
6868 var63
= (val
*)(5l<<2|1);
6869 var64
= (val
*)(5l<<2|1);
6870 var65
= (val
*)((long)(0)<<2|3);
6871 var66
= (val
*)((long)(0)<<2|3);
6872 var62
= core__flat___CString___to_s_unsafe(var61
, var63
, var64
, var65
, var66
);
6877 var67
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v
, self
, var60
);
6880 if (var_mclass
== NULL
) {
6881 var68
= 1; /* is null */
6883 var68
= 0; /* arg is null but recv is not */
6886 { /* Inline kernel$Object$== (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
6887 var_other
= ((val
*)NULL
);
6889 { /* Inline kernel$Object$is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
6890 var73
= var_mclass
== var_other
;
6893 RET_LABEL72
:(void)0;
6898 RET_LABEL70
:(void)0;
6903 if (likely(varonce74
!=NULL
)) {
6906 var76
= "Error: `Regex` class unknown";
6907 var78
= (val
*)(28l<<2|1);
6908 var79
= (val
*)(28l<<2|1);
6909 var80
= (val
*)((long)(0)<<2|3);
6910 var81
= (val
*)((long)(0)<<2|3);
6911 var77
= core__flat___CString___to_s_unsafe(var76
, var78
, var79
, var80
, var81
);
6916 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var75
); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
6921 if (likely(varonce82
!=NULL
)) {
6925 var86
= (val
*)(0l<<2|1);
6926 var87
= (val
*)(0l<<2|1);
6927 var88
= (val
*)((long)(0)<<2|3);
6928 var89
= (val
*)((long)(0)<<2|3);
6929 var85
= core__flat___CString___to_s_unsafe(var84
, var86
, var87
, var88
, var89
);
6933 var_service
= var83
;
6935 { /* Inline kernel$Char$== (var_i,'i') on <var_i:Char> */
6936 var92
= var_i
== 'i';
6939 RET_LABEL91
:(void)0;
6943 if (likely(varonce93
!=NULL
)) {
6946 var95
= "ignore_case=";
6947 var97
= (val
*)(12l<<2|1);
6948 var98
= (val
*)(12l<<2|1);
6949 var99
= (val
*)((long)(0)<<2|3);
6950 var100
= (val
*)((long)(0)<<2|3);
6951 var96
= core__flat___CString___to_s_unsafe(var95
, var97
, var98
, var99
, var100
);
6955 var_service
= var94
;
6957 { /* Inline model$MClass$mclass_type (var_mclass) on <var_mclass:nullable MClass(MClass)> */
6958 var103
= var_mclass
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:nullable MClass(MClass)> */
6959 if (unlikely(var103
== NULL
)) {
6960 if(catchStack
.cursor
>= 0){
6961 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6963 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
6964 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 520);
6968 RET_LABEL102
:(void)0;
6972 var104
= nitc__typing___nitc__typing__TypeVisitor___get_method(var_v
, self
, var101
, var_service
, 0);
6975 { /* Inline typing$AugmentedStringFormExpr$ignore_case= (self,var104) on <self:AugmentedStringFormExpr> */
6976 self
->attrs
[COLOR_nitc__typing__AugmentedStringFormExpr___ignore_case
].val
= var104
; /* _ignore_case on <self:AugmentedStringFormExpr> */
6977 RET_LABEL105
:(void)0;
6982 { /* Inline kernel$Char$== (var_i,'m') on <var_i:Char> */
6983 var108
= var_i
== 'm';
6986 RET_LABEL107
:(void)0;
6990 if (likely(varonce109
!=NULL
)) {
6991 var110
= varonce109
;
6993 var111
= "newline=";
6994 var113
= (val
*)(8l<<2|1);
6995 var114
= (val
*)(8l<<2|1);
6996 var115
= (val
*)((long)(0)<<2|3);
6997 var116
= (val
*)((long)(0)<<2|3);
6998 var112
= core__flat___CString___to_s_unsafe(var111
, var113
, var114
, var115
, var116
);
7000 varonce109
= var110
;
7002 var_service
= var110
;
7004 { /* Inline model$MClass$mclass_type (var_mclass) on <var_mclass:nullable MClass(MClass)> */
7005 var119
= var_mclass
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:nullable MClass(MClass)> */
7006 if (unlikely(var119
== NULL
)) {
7007 if(catchStack
.cursor
>= 0){
7008 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7010 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
7011 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 520);
7015 RET_LABEL118
:(void)0;
7019 var120
= nitc__typing___nitc__typing__TypeVisitor___get_method(var_v
, self
, var117
, var_service
, 0);
7022 { /* Inline typing$AugmentedStringFormExpr$newline= (self,var120) on <self:AugmentedStringFormExpr> */
7023 self
->attrs
[COLOR_nitc__typing__AugmentedStringFormExpr___newline
].val
= var120
; /* _newline on <self:AugmentedStringFormExpr> */
7024 RET_LABEL121
:(void)0;
7029 { /* Inline kernel$Char$== (var_i,'b') on <var_i:Char> */
7030 var124
= var_i
== 'b';
7033 RET_LABEL123
:(void)0;
7037 if (likely(varonce125
!=NULL
)) {
7038 var126
= varonce125
;
7040 var127
= "extended=";
7041 var129
= (val
*)(9l<<2|1);
7042 var130
= (val
*)(9l<<2|1);
7043 var131
= (val
*)((long)(0)<<2|3);
7044 var132
= (val
*)((long)(0)<<2|3);
7045 var128
= core__flat___CString___to_s_unsafe(var127
, var129
, var130
, var131
, var132
);
7047 varonce125
= var126
;
7049 var_service
= var126
;
7051 { /* Inline model$MClass$mclass_type (var_mclass) on <var_mclass:nullable MClass(MClass)> */
7052 var135
= var_mclass
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:nullable MClass(MClass)> */
7053 if (unlikely(var135
== NULL
)) {
7054 if(catchStack
.cursor
>= 0){
7055 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7057 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
7058 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 520);
7062 RET_LABEL134
:(void)0;
7066 var136
= nitc__typing___nitc__typing__TypeVisitor___get_method(var_v
, self
, var133
, var_service
, 0);
7069 { /* Inline typing$AugmentedStringFormExpr$extended= (self,var136) on <self:AugmentedStringFormExpr> */
7070 self
->attrs
[COLOR_nitc__typing__AugmentedStringFormExpr___extended
].val
= var136
; /* _extended on <self:AugmentedStringFormExpr> */
7071 RET_LABEL137
:(void)0;
7075 if (unlikely(varonce138
==NULL
)) {
7076 var139
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
7077 if (likely(varonce140
!=NULL
)) {
7078 var141
= varonce140
;
7080 var142
= "Type Error: Unrecognized suffix ";
7081 var144
= (val
*)(32l<<2|1);
7082 var145
= (val
*)(32l<<2|1);
7083 var146
= (val
*)((long)(0)<<2|3);
7084 var147
= (val
*)((long)(0)<<2|3);
7085 var143
= core__flat___CString___to_s_unsafe(var142
, var144
, var145
, var146
, var147
);
7087 varonce140
= var141
;
7089 ((struct instance_core__NativeArray
*)var139
)->values
[0]=var141
;
7090 if (likely(varonce148
!=NULL
)) {
7091 var149
= varonce148
;
7093 var150
= " in prefixed Regex";
7094 var152
= (val
*)(18l<<2|1);
7095 var153
= (val
*)(18l<<2|1);
7096 var154
= (val
*)((long)(0)<<2|3);
7097 var155
= (val
*)((long)(0)<<2|3);
7098 var151
= core__flat___CString___to_s_unsafe(var150
, var152
, var153
, var154
, var155
);
7100 varonce148
= var149
;
7102 ((struct instance_core__NativeArray
*)var139
)->values
[2]=var149
;
7104 var139
= varonce138
;
7107 var156
= core__abstract_text___Char___Object__to_s(var_i
);
7108 ((struct instance_core__NativeArray
*)var139
)->values
[1]=var156
;
7110 var157
= ((val
*(*)(val
* self
))(var139
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var139
); /* native_to_s on <var139:NativeArray[String]>*/
7112 varonce138
= var139
;
7114 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var157
); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
7116 if(catchStack
.cursor
>= 0){
7117 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7119 PRINT_ERROR("Runtime error: %s", "Aborted");
7120 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1530);
7126 ((void(*)(val
* self
))((((long)var_55
&3)?class_info
[((long)var_55
&3)]:var_55
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_55
); /* next on <var_55:IndexedIterator[Char]>*/
7129 BREAK_label
: (void)0;
7131 ((void(*)(val
* self
))((((long)var_55
&3)?class_info
[((long)var_55
&3)]:var_55
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_55
); /* finish on <var_55:IndexedIterator[Char]>*/
7136 if (var_mclass
== NULL
) {
7137 var158
= 1; /* is null */
7139 var158
= 0; /* arg is null but recv is not */
7142 { /* Inline kernel$Object$== (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
7143 var_other
= ((val
*)NULL
);
7145 { /* Inline kernel$Object$is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
7146 var163
= var_mclass
== var_other
;
7149 RET_LABEL162
:(void)0;
7154 RET_LABEL160
:(void)0;
7163 { /* Inline model$MClass$mclass_type (var_mclass) on <var_mclass:nullable MClass(MClass)> */
7164 var166
= var_mclass
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:nullable MClass(MClass)> */
7165 if (unlikely(var166
== NULL
)) {
7166 if(catchStack
.cursor
>= 0){
7167 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7169 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
7170 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 520);
7174 RET_LABEL165
:(void)0;
7178 { /* Inline typing$AExpr$mtype= (self,var164) on <self:AugmentedStringFormExpr> */
7179 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var164
; /* _mtype on <self:AugmentedStringFormExpr> */
7180 RET_LABEL167
:(void)0;
7185 /* method typing$ASuperstringExpr$accept_typing for (self: ASuperstringExpr, TypeVisitor) */
7186 void nitc__typing___ASuperstringExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
7187 val
* var_v
/* var v: TypeVisitor */;
7188 static val
* varonce
;
7189 val
* var
/* : String */;
7190 char* var1
/* : CString */;
7191 val
* var2
/* : String */;
7192 val
* var3
/* : nullable Int */;
7193 val
* var4
/* : nullable Int */;
7194 val
* var5
/* : nullable Bool */;
7195 val
* var6
/* : nullable Bool */;
7196 val
* var7
/* : nullable MClass */;
7197 val
* var_objclass
/* var objclass: nullable MClass */;
7198 short int var8
/* : Bool */;
7199 short int var9
/* : Bool */;
7200 val
* var_other
/* var other: nullable Object */;
7201 short int var11
/* : Bool */;
7202 short int var13
/* : Bool */;
7203 val
* var14
/* : MClassType */;
7204 val
* var16
/* : MClassType */;
7205 val
* var_objtype
/* var objtype: MClassType */;
7206 val
* var17
/* : ANodes[AExpr] */;
7207 val
* var19
/* : ANodes[AExpr] */;
7208 val
* var_
/* var : ANodes[AExpr] */;
7209 val
* var20
/* : Iterator[ANode] */;
7210 val
* var_21
/* var : Iterator[AExpr] */;
7211 short int var22
/* : Bool */;
7212 val
* var23
/* : nullable Object */;
7213 val
* var_nexpr
/* var nexpr: AExpr */;
7214 val
* var24
/* : nullable MType */;
7217 ((void(*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nitc__typing___ASuperstringExpr___AExpr__accept_typing
]))(self
, p0
); /* accept_typing on <self:ASuperstringExpr>*/
7219 if (likely(varonce
!=NULL
)) {
7223 var3
= (val
*)(6l<<2|1);
7224 var4
= (val
*)(6l<<2|1);
7225 var5
= (val
*)((long)(0)<<2|3);
7226 var6
= (val
*)((long)(0)<<2|3);
7227 var2
= core__flat___CString___to_s_unsafe(var1
, var3
, var4
, var5
, var6
);
7232 var7
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v
, self
, var
);
7234 var_objclass
= var7
;
7235 if (var_objclass
== NULL
) {
7236 var8
= 1; /* is null */
7238 var8
= 0; /* arg is null but recv is not */
7241 { /* Inline kernel$Object$== (var_objclass,((val*)NULL)) on <var_objclass:nullable MClass> */
7242 var_other
= ((val
*)NULL
);
7244 { /* Inline kernel$Object$is_same_instance (var_objclass,var_other) on <var_objclass:nullable MClass(MClass)> */
7245 var13
= var_objclass
== var_other
;
7248 RET_LABEL12
:(void)0;
7253 RET_LABEL10
:(void)0;
7262 { /* Inline model$MClass$mclass_type (var_objclass) on <var_objclass:nullable MClass(MClass)> */
7263 var16
= var_objclass
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_objclass:nullable MClass(MClass)> */
7264 if (unlikely(var16
== NULL
)) {
7265 if(catchStack
.cursor
>= 0){
7266 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7268 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
7269 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 520);
7273 RET_LABEL15
:(void)0;
7276 var_objtype
= var14
;
7278 { /* Inline parser_nodes$ASuperstringExpr$n_exprs (self) on <self:ASuperstringExpr> */
7279 var19
= self
->attrs
[COLOR_nitc__parser_nodes__ASuperstringExpr___n_exprs
].val
; /* _n_exprs on <self:ASuperstringExpr> */
7280 if (unlikely(var19
== NULL
)) {
7281 if(catchStack
.cursor
>= 0){
7282 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7284 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
7285 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2645);
7289 RET_LABEL18
:(void)0;
7294 var20
= nitc___nitc__ANodes___core__abstract_collection__Collection__iterator(var_
);
7299 var22
= ((short int(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_21
); /* is_ok on <var_21:Iterator[AExpr]>*/
7306 var23
= ((val
*(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_21
); /* item on <var_21:Iterator[AExpr]>*/
7310 var24
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(var_v
, var_nexpr
, var_objtype
);
7313 ((void(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_21
); /* next on <var_21:Iterator[AExpr]>*/
7316 BREAK_label
: (void)0;
7318 ((void(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_21
); /* finish on <var_21:Iterator[AExpr]>*/
7322 /* method typing$AArrayExpr$with_capacity_callsite for (self: AArrayExpr): nullable CallSite */
7323 val
* nitc__typing___AArrayExpr___with_capacity_callsite(val
* self
) {
7324 val
* var
/* : nullable CallSite */;
7325 val
* var1
/* : nullable CallSite */;
7326 var1
= self
->attrs
[COLOR_nitc__typing__AArrayExpr___with_capacity_callsite
].val
; /* _with_capacity_callsite on <self:AArrayExpr> */
7331 /* method typing$AArrayExpr$with_capacity_callsite= for (self: AArrayExpr, nullable CallSite) */
7332 void nitc__typing___AArrayExpr___with_capacity_callsite_61d(val
* self
, val
* p0
) {
7333 self
->attrs
[COLOR_nitc__typing__AArrayExpr___with_capacity_callsite
].val
= p0
; /* _with_capacity_callsite on <self:AArrayExpr> */
7336 /* method typing$AArrayExpr$push_callsite for (self: AArrayExpr): nullable CallSite */
7337 val
* nitc__typing___AArrayExpr___push_callsite(val
* self
) {
7338 val
* var
/* : nullable CallSite */;
7339 val
* var1
/* : nullable CallSite */;
7340 var1
= self
->attrs
[COLOR_nitc__typing__AArrayExpr___push_callsite
].val
; /* _push_callsite on <self:AArrayExpr> */
7345 /* method typing$AArrayExpr$push_callsite= for (self: AArrayExpr, nullable CallSite) */
7346 void nitc__typing___AArrayExpr___push_callsite_61d(val
* self
, val
* p0
) {
7347 self
->attrs
[COLOR_nitc__typing__AArrayExpr___push_callsite
].val
= p0
; /* _push_callsite on <self:AArrayExpr> */
7350 /* method typing$AArrayExpr$element_mtype for (self: AArrayExpr): nullable MType */
7351 val
* nitc__typing___AArrayExpr___element_mtype(val
* self
) {
7352 val
* var
/* : nullable MType */;
7353 val
* var1
/* : nullable MType */;
7354 var1
= self
->attrs
[COLOR_nitc__typing__AArrayExpr___element_mtype
].val
; /* _element_mtype on <self:AArrayExpr> */
7359 /* method typing$AArrayExpr$element_mtype= for (self: AArrayExpr, nullable MType) */
7360 void nitc__typing___AArrayExpr___element_mtype_61d(val
* self
, val
* p0
) {
7361 self
->attrs
[COLOR_nitc__typing__AArrayExpr___element_mtype
].val
= p0
; /* _element_mtype on <self:AArrayExpr> */
7364 /* method typing$AArrayExpr$set_comprehension for (self: AArrayExpr, nullable AExpr) */
7365 void nitc__typing___AArrayExpr___set_comprehension(val
* self
, val
* p0
) {
7366 val
* var_n
/* var n: nullable AExpr */;
7367 short int var
/* : Bool */;
7368 short int var1
/* : Bool */;
7369 val
* var_other
/* var other: nullable Object */;
7370 short int var3
/* : Bool */;
7371 short int var5
/* : Bool */;
7372 short int var6
/* : Bool */;
7375 val
* var7
/* : nullable AExpr */;
7376 val
* var9
/* : nullable AExpr */;
7377 short int var10
/* : Bool */;
7380 val
* var13
/* : nullable AExpr */;
7381 val
* var15
/* : nullable AExpr */;
7382 val
* var16
/* : nullable AExpr */;
7383 val
* var18
/* : nullable AExpr */;
7385 if (var_n
== NULL
) {
7386 var
= 1; /* is null */
7388 var
= 0; /* arg is null but recv is not */
7391 { /* Inline kernel$Object$== (var_n,((val*)NULL)) on <var_n:nullable AExpr> */
7392 var_other
= ((val
*)NULL
);
7394 { /* Inline kernel$Object$is_same_instance (var_n,var_other) on <var_n:nullable AExpr(AExpr)> */
7395 var5
= var_n
== var_other
;
7410 /* <var_n:nullable AExpr(AExpr)> isa AForExpr */
7411 cltype
= type_nitc__AForExpr
.color
;
7412 idtype
= type_nitc__AForExpr
.id
;
7413 if(cltype
>= var_n
->type
->table_size
) {
7416 var6
= var_n
->type
->type_table
[cltype
] == idtype
;
7420 { /* Inline parser_nodes$AForExpr$n_block (var_n) on <var_n:nullable AExpr(AForExpr)> */
7421 var9
= var_n
->attrs
[COLOR_nitc__parser_nodes__AForExpr___n_block
].val
; /* _n_block on <var_n:nullable AExpr(AForExpr)> */
7427 nitc__typing___AArrayExpr___set_comprehension(self
, var7
); /* Direct call typing$AArrayExpr$set_comprehension on <self:AArrayExpr>*/
7430 /* <var_n:nullable AExpr(AExpr)> isa AIfExpr */
7431 cltype11
= type_nitc__AIfExpr
.color
;
7432 idtype12
= type_nitc__AIfExpr
.id
;
7433 if(cltype11
>= var_n
->type
->table_size
) {
7436 var10
= var_n
->type
->type_table
[cltype11
] == idtype12
;
7440 { /* Inline parser_nodes$AIfExpr$n_then (var_n) on <var_n:nullable AExpr(AIfExpr)> */
7441 var15
= var_n
->attrs
[COLOR_nitc__parser_nodes__AIfExpr___n_then
].val
; /* _n_then on <var_n:nullable AExpr(AIfExpr)> */
7443 RET_LABEL14
:(void)0;
7447 nitc__typing___AArrayExpr___set_comprehension(self
, var13
); /* Direct call typing$AArrayExpr$set_comprehension on <self:AArrayExpr>*/
7450 { /* Inline parser_nodes$AIfExpr$n_else (var_n) on <var_n:nullable AExpr(AIfExpr)> */
7451 var18
= var_n
->attrs
[COLOR_nitc__parser_nodes__AIfExpr___n_else
].val
; /* _n_else on <var_n:nullable AExpr(AIfExpr)> */
7453 RET_LABEL17
:(void)0;
7457 nitc__typing___AArrayExpr___set_comprehension(self
, var16
); /* Direct call typing$AArrayExpr$set_comprehension on <self:AArrayExpr>*/
7461 { /* Inline typing$AExpr$comprehension= (var_n,self) on <var_n:nullable AExpr(AExpr)> */
7462 var_n
->attrs
[COLOR_nitc__typing__AExpr___comprehension
].val
= self
; /* _comprehension on <var_n:nullable AExpr(AExpr)> */
7463 RET_LABEL19
:(void)0;
7471 /* method typing$AArrayExpr$accept_typing for (self: AArrayExpr, TypeVisitor) */
7472 void nitc__typing___AArrayExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
7473 val
* var_v
/* var v: TypeVisitor */;
7474 val
* var_mtype
/* var mtype: nullable MType */;
7475 val
* var
/* : nullable AType */;
7476 val
* var2
/* : nullable AType */;
7477 val
* var_ntype
/* var ntype: nullable AType */;
7478 short int var3
/* : Bool */;
7479 short int var4
/* : Bool */;
7480 val
* var_other
/* var other: nullable Object */;
7481 short int var6
/* : Bool */;
7482 short int var7
/* : Bool */;
7483 val
* var8
/* : nullable MType */;
7484 short int var9
/* : Bool */;
7485 short int var10
/* : Bool */;
7486 val
* var_other12
/* var other: nullable Object */;
7487 short int var13
/* : Bool */;
7488 short int var15
/* : Bool */;
7489 val
* var16
/* : Array[nullable MType] */;
7490 val
* var_mtypes
/* var mtypes: Array[nullable MType] */;
7491 short int var_useless
/* var useless: Bool */;
7492 val
* var17
/* : ANodes[AExpr] */;
7493 val
* var19
/* : ANodes[AExpr] */;
7494 val
* var_
/* var : ANodes[AExpr] */;
7495 val
* var20
/* : Iterator[ANode] */;
7496 val
* var_21
/* var : Iterator[AExpr] */;
7497 short int var22
/* : Bool */;
7498 val
* var23
/* : nullable Object */;
7499 val
* var_e
/* var e: AExpr */;
7500 val
* var24
/* : nullable MType */;
7501 val
* var_t
/* var t: nullable MType */;
7502 short int var25
/* : Bool */;
7503 short int var26
/* : Bool */;
7504 short int var28
/* : Bool */;
7505 short int var30
/* : Bool */;
7506 short int var31
/* : Bool */;
7507 short int var32
/* : Bool */;
7508 short int var34
/* : Bool */;
7509 short int var35
/* : Bool */;
7510 val
* var36
/* : nullable MType */;
7511 short int var37
/* : Bool */;
7512 short int var38
/* : Bool */;
7513 short int var40
/* : Bool */;
7514 short int var42
/* : Bool */;
7515 short int var43
/* : Bool */;
7516 short int var45
/* : Bool */;
7517 short int var47
/* : Bool */;
7518 short int var48
/* : Bool */;
7519 short int var49
/* : Bool */;
7520 short int var51
/* : Bool */;
7521 short int var53
/* : Bool */;
7522 val
* var54
/* : nullable MType */;
7523 val
* var56
/* : nullable MType */;
7524 short int var57
/* : Bool */;
7525 short int var58
/* : Bool */;
7526 short int var60
/* : Bool */;
7527 short int var61
/* : Bool */;
7528 val
* var62
/* : nullable MType */;
7529 val
* var64
/* : nullable MType */;
7530 val
* var65
/* : nullable MType */;
7531 short int var66
/* : Bool */;
7532 short int var67
/* : Bool */;
7533 short int var68
/* : Bool */;
7534 short int var70
/* : Bool */;
7535 short int var72
/* : Bool */;
7536 short int var_73
/* var : Bool */;
7537 short int var74
/* : Bool */;
7540 val
* var75
/* : NativeArray[String] */;
7541 static val
* varonce
;
7542 static val
* varonce76
;
7543 val
* var77
/* : String */;
7544 char* var78
/* : CString */;
7545 val
* var79
/* : String */;
7546 val
* var80
/* : nullable Int */;
7547 val
* var81
/* : nullable Int */;
7548 val
* var82
/* : nullable Bool */;
7549 val
* var83
/* : nullable Bool */;
7550 static val
* varonce84
;
7551 val
* var85
/* : String */;
7552 char* var86
/* : CString */;
7553 val
* var87
/* : String */;
7554 val
* var88
/* : nullable Int */;
7555 val
* var89
/* : nullable Int */;
7556 val
* var90
/* : nullable Bool */;
7557 val
* var91
/* : nullable Bool */;
7558 val
* var92
/* : String */;
7559 val
* var93
/* : String */;
7560 short int var94
/* : Bool */;
7561 short int var95
/* : Bool */;
7562 short int var97
/* : Bool */;
7563 short int var98
/* : Bool */;
7564 val
* var99
/* : ModelBuilder */;
7565 val
* var101
/* : ModelBuilder */;
7566 static val
* varonce102
;
7567 val
* var103
/* : String */;
7568 char* var104
/* : CString */;
7569 val
* var105
/* : String */;
7570 val
* var106
/* : nullable Int */;
7571 val
* var107
/* : nullable Int */;
7572 val
* var108
/* : nullable Bool */;
7573 val
* var109
/* : nullable Bool */;
7574 val
* var111
/* : NativeArray[String] */;
7575 static val
* varonce110
;
7576 static val
* varonce112
;
7577 val
* var113
/* : String */;
7578 char* var114
/* : CString */;
7579 val
* var115
/* : String */;
7580 val
* var116
/* : nullable Int */;
7581 val
* var117
/* : nullable Int */;
7582 val
* var118
/* : nullable Bool */;
7583 val
* var119
/* : nullable Bool */;
7584 static val
* varonce120
;
7585 val
* var121
/* : String */;
7586 char* var122
/* : CString */;
7587 val
* var123
/* : String */;
7588 val
* var124
/* : nullable Int */;
7589 val
* var125
/* : nullable Int */;
7590 val
* var126
/* : nullable Bool */;
7591 val
* var127
/* : nullable Bool */;
7592 val
* var128
/* : String */;
7593 val
* var129
/* : String */;
7594 static val
* varonce131
;
7595 val
* var132
/* : String */;
7596 char* var133
/* : CString */;
7597 val
* var134
/* : String */;
7598 val
* var135
/* : nullable Int */;
7599 val
* var136
/* : nullable Int */;
7600 val
* var137
/* : nullable Bool */;
7601 val
* var138
/* : nullable Bool */;
7602 val
* var139
/* : nullable MClass */;
7603 val
* var_mclass
/* var mclass: nullable MClass */;
7604 short int var140
/* : Bool */;
7605 short int var141
/* : Bool */;
7606 short int var143
/* : Bool */;
7607 short int var145
/* : Bool */;
7608 val
* var146
/* : Array[MType] */;
7609 val
* var_147
/* var : Array[MType] */;
7610 val
* var148
/* : MClassType */;
7611 val
* var_array_mtype
/* var array_mtype: MClassType */;
7612 static val
* varonce149
;
7613 val
* var150
/* : String */;
7614 char* var151
/* : CString */;
7615 val
* var152
/* : String */;
7616 val
* var153
/* : nullable Int */;
7617 val
* var154
/* : nullable Int */;
7618 val
* var155
/* : nullable Bool */;
7619 val
* var156
/* : nullable Bool */;
7620 val
* var157
/* : nullable CallSite */;
7621 static val
* varonce159
;
7622 val
* var160
/* : String */;
7623 char* var161
/* : CString */;
7624 val
* var162
/* : String */;
7625 val
* var163
/* : nullable Int */;
7626 val
* var164
/* : nullable Int */;
7627 val
* var165
/* : nullable Bool */;
7628 val
* var166
/* : nullable Bool */;
7629 val
* var167
/* : nullable CallSite */;
7631 var_mtype
= ((val
*)NULL
);
7633 { /* Inline parser_nodes$AArrayExpr$n_type (self) on <self:AArrayExpr> */
7634 var2
= self
->attrs
[COLOR_nitc__parser_nodes__AArrayExpr___n_type
].val
; /* _n_type on <self:AArrayExpr> */
7640 if (var_ntype
== NULL
) {
7641 var3
= 0; /* is null */
7643 var3
= 1; /* arg is null and recv is not */
7646 { /* Inline kernel$Object$!= (var_ntype,((val*)NULL)) on <var_ntype:nullable AType> */
7647 var_other
= ((val
*)NULL
);
7649 var6
= ((short int(*)(val
* self
, val
* p0
))(var_ntype
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_ntype
, var_other
); /* == on <var_ntype:nullable AType(AType)>*/
7660 var8
= nitc__typing___nitc__typing__TypeVisitor___resolve_mtype(var_v
, var_ntype
);
7663 if (var_mtype
== NULL
) {
7664 var9
= 1; /* is null */
7666 var9
= 0; /* arg is null but recv is not */
7669 { /* Inline kernel$Object$== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
7670 var_other12
= ((val
*)NULL
);
7672 { /* Inline kernel$Object$is_same_instance (var_mtype,var_other12) on <var_mtype:nullable MType(MType)> */
7673 var15
= var_mtype
== var_other12
;
7676 RET_LABEL14
:(void)0;
7681 RET_LABEL11
:(void)0;
7691 var16
= NEW_core__Array(&type_core__Array__nullable__nitc__MType
);
7693 core___core__Array___core__kernel__Object__init(var16
); /* Direct call array$Array$init on <var16:Array[nullable MType]>*/
7698 { /* Inline parser_nodes$AArrayExpr$n_exprs (self) on <self:AArrayExpr> */
7699 var19
= self
->attrs
[COLOR_nitc__parser_nodes__AArrayExpr___n_exprs
].val
; /* _n_exprs on <self:AArrayExpr> */
7700 if (unlikely(var19
== NULL
)) {
7701 if(catchStack
.cursor
>= 0){
7702 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7704 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
7705 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2541);
7709 RET_LABEL18
:(void)0;
7714 var20
= nitc___nitc__ANodes___core__abstract_collection__Collection__iterator(var_
);
7719 var22
= ((short int(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_21
); /* is_ok on <var_21:Iterator[AExpr]>*/
7726 var23
= ((val
*(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_21
); /* item on <var_21:Iterator[AExpr]>*/
7730 var24
= nitc__typing___nitc__typing__TypeVisitor___visit_expr(var_v
, var_e
);
7733 if (var_t
== NULL
) {
7734 var25
= 1; /* is null */
7736 var25
= 0; /* arg is null but recv is not */
7739 { /* Inline kernel$Object$== (var_t,((val*)NULL)) on <var_t:nullable MType> */
7740 var_other12
= ((val
*)NULL
);
7742 { /* Inline kernel$Object$is_same_instance (var_t,var_other12) on <var_t:nullable MType(MType)> */
7743 var30
= var_t
== var_other12
;
7746 RET_LABEL29
:(void)0;
7751 RET_LABEL27
:(void)0;
7760 nitc__typing___AArrayExpr___set_comprehension(self
, var_e
); /* Direct call typing$AArrayExpr$set_comprehension on <self:AArrayExpr>*/
7762 if (var_mtype
== NULL
) {
7763 var31
= 0; /* is null */
7765 var31
= 1; /* arg is null and recv is not */
7768 { /* Inline kernel$Object$!= (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
7769 var_other
= ((val
*)NULL
);
7771 var34
= ((short int(*)(val
* self
, val
* p0
))(var_mtype
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_mtype
, var_other
); /* == on <var_mtype:nullable MType(MType)>*/
7776 RET_LABEL33
:(void)0;
7782 var36
= nitc__typing___nitc__typing__TypeVisitor___check_subtype(var_v
, var_e
, var_t
, var_mtype
, 0);
7784 if (var36
== NULL
) {
7785 var37
= 1; /* is null */
7787 var37
= 0; /* arg is null but recv is not */
7790 { /* Inline kernel$Object$== (var36,((val*)NULL)) on <var36:nullable MType> */
7791 var_other12
= ((val
*)NULL
);
7793 { /* Inline kernel$Object$is_same_instance (var36,var_other12) on <var36:nullable MType(MType)> */
7794 var42
= var36
== var_other12
;
7797 RET_LABEL41
:(void)0;
7802 RET_LABEL39
:(void)0;
7811 { /* Inline kernel$Object$== (var_t,var_mtype) on <var_t:nullable MType(MType)> */
7812 var_other12
= var_mtype
;
7814 { /* Inline kernel$Object$is_same_instance (var_t,var_other12) on <var_t:nullable MType(MType)> */
7815 var47
= var_t
== var_other12
;
7818 RET_LABEL46
:(void)0;
7823 RET_LABEL44
:(void)0;
7832 core___core__Array___core__abstract_collection__SimpleCollection__add(var_mtypes
, var_t
); /* Direct call array$Array$add on <var_mtypes:Array[nullable MType]>*/
7836 ((void(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_21
); /* next on <var_21:Iterator[AExpr]>*/
7839 BREAK_label
: (void)0;
7841 ((void(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_21
); /* finish on <var_21:Iterator[AExpr]>*/
7843 if (var_mtype
== NULL
) {
7844 var48
= 1; /* is null */
7846 var48
= 0; /* arg is null but recv is not */
7849 { /* Inline kernel$Object$== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
7850 var_other12
= ((val
*)NULL
);
7852 { /* Inline kernel$Object$is_same_instance (var_mtype,var_other12) on <var_mtype:nullable MType(MType)> */
7853 var53
= var_mtype
== var_other12
;
7856 RET_LABEL52
:(void)0;
7861 RET_LABEL50
:(void)0;
7867 { /* Inline typing$AArrayExpr$element_mtype (self) on <self:AArrayExpr> */
7868 var56
= self
->attrs
[COLOR_nitc__typing__AArrayExpr___element_mtype
].val
; /* _element_mtype on <self:AArrayExpr> */
7870 RET_LABEL55
:(void)0;
7873 if (var54
== NULL
) {
7874 var57
= 0; /* is null */
7876 var57
= 1; /* arg is null and recv is not */
7879 { /* Inline kernel$Object$!= (var54,((val*)NULL)) on <var54:nullable MType> */
7880 var_other
= ((val
*)NULL
);
7882 var60
= ((short int(*)(val
* self
, val
* p0
))(var54
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var54
, var_other
); /* == on <var54:nullable MType(MType)>*/
7887 RET_LABEL59
:(void)0;
7893 { /* Inline typing$AArrayExpr$element_mtype (self) on <self:AArrayExpr> */
7894 var64
= self
->attrs
[COLOR_nitc__typing__AArrayExpr___element_mtype
].val
; /* _element_mtype on <self:AArrayExpr> */
7896 RET_LABEL63
:(void)0;
7900 core___core__Array___core__abstract_collection__SimpleCollection__add(var_mtypes
, var62
); /* Direct call array$Array$add on <var_mtypes:Array[nullable MType]>*/
7905 var65
= nitc__typing___nitc__typing__TypeVisitor___merge_types(var_v
, self
, var_mtypes
);
7910 if (var_mtype
== NULL
) {
7911 var67
= 1; /* is null */
7913 var67
= 0; /* arg is null but recv is not */
7916 { /* Inline kernel$Object$== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
7917 var_other12
= ((val
*)NULL
);
7919 { /* Inline kernel$Object$is_same_instance (var_mtype,var_other12) on <var_mtype:nullable MType(MType)> */
7920 var72
= var_mtype
== var_other12
;
7923 RET_LABEL71
:(void)0;
7928 RET_LABEL69
:(void)0;
7936 /* <var_mtype:nullable MType(MType)> isa MNullType */
7937 cltype
= type_nitc__MNullType
.color
;
7938 idtype
= type_nitc__MNullType
.id
;
7939 if(cltype
>= var_mtype
->type
->table_size
) {
7942 var74
= var_mtype
->type
->type_table
[cltype
] == idtype
;
7947 if (unlikely(varonce
==NULL
)) {
7948 var75
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
7949 if (likely(varonce76
!=NULL
)) {
7952 var78
= "Type Error: ambiguous array type ";
7953 var80
= (val
*)(33l<<2|1);
7954 var81
= (val
*)(33l<<2|1);
7955 var82
= (val
*)((long)(0)<<2|3);
7956 var83
= (val
*)((long)(0)<<2|3);
7957 var79
= core__flat___CString___to_s_unsafe(var78
, var80
, var81
, var82
, var83
);
7961 ((struct instance_core__NativeArray
*)var75
)->values
[0]=var77
;
7966 if (likely(varonce84
!=NULL
)) {
7970 var88
= (val
*)(1l<<2|1);
7971 var89
= (val
*)(1l<<2|1);
7972 var90
= (val
*)((long)(0)<<2|3);
7973 var91
= (val
*)((long)(0)<<2|3);
7974 var87
= core__flat___CString___to_s_unsafe(var86
, var88
, var89
, var90
, var91
);
7979 var92
= core__abstract_text___Collection___join(var_mtypes
, var85
, ((val
*)NULL
));
7981 ((struct instance_core__NativeArray
*)var75
)->values
[1]=var92
;
7983 var93
= ((val
*(*)(val
* self
))(var75
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var75
); /* native_to_s on <var75:NativeArray[String]>*/
7987 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var93
); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
7993 if (var_ntype
== NULL
) {
7994 var94
= 0; /* is null */
7996 var94
= 1; /* arg is null and recv is not */
7999 { /* Inline kernel$Object$!= (var_ntype,((val*)NULL)) on <var_ntype:nullable AType> */
8000 var_other
= ((val
*)NULL
);
8002 var97
= ((short int(*)(val
* self
, val
* p0
))(var_ntype
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_ntype
, var_other
); /* == on <var_ntype:nullable AType(AType)>*/
8007 RET_LABEL96
:(void)0;
8011 if (unlikely(!var94
)) {
8012 if(catchStack
.cursor
>= 0){
8013 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8015 PRINT_ERROR("Runtime error: %s", "Assert failed");
8016 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1611);
8020 { /* Inline typing$TypeVisitor$modelbuilder (var_v) on <var_v:TypeVisitor> */
8021 var101
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <var_v:TypeVisitor> */
8022 if (unlikely(var101
== NULL
)) {
8023 if(catchStack
.cursor
>= 0){
8024 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8026 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8027 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
8031 RET_LABEL100
:(void)0;
8034 if (likely(varonce102
!=NULL
)) {
8035 var103
= varonce102
;
8037 var104
= "useless-type";
8038 var106
= (val
*)(12l<<2|1);
8039 var107
= (val
*)(12l<<2|1);
8040 var108
= (val
*)((long)(0)<<2|3);
8041 var109
= (val
*)((long)(0)<<2|3);
8042 var105
= core__flat___CString___to_s_unsafe(var104
, var106
, var107
, var108
, var109
);
8044 varonce102
= var103
;
8046 if (unlikely(varonce110
==NULL
)) {
8047 var111
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
8048 if (likely(varonce112
!=NULL
)) {
8049 var113
= varonce112
;
8051 var114
= "Warning: useless type declaration `";
8052 var116
= (val
*)(35l<<2|1);
8053 var117
= (val
*)(35l<<2|1);
8054 var118
= (val
*)((long)(0)<<2|3);
8055 var119
= (val
*)((long)(0)<<2|3);
8056 var115
= core__flat___CString___to_s_unsafe(var114
, var116
, var117
, var118
, var119
);
8058 varonce112
= var113
;
8060 ((struct instance_core__NativeArray
*)var111
)->values
[0]=var113
;
8061 if (likely(varonce120
!=NULL
)) {
8062 var121
= varonce120
;
8064 var122
= "` in literal Array since it can be inferred from the elements type.";
8065 var124
= (val
*)(67l<<2|1);
8066 var125
= (val
*)(67l<<2|1);
8067 var126
= (val
*)((long)(0)<<2|3);
8068 var127
= (val
*)((long)(0)<<2|3);
8069 var123
= core__flat___CString___to_s_unsafe(var122
, var124
, var125
, var126
, var127
);
8071 varonce120
= var121
;
8073 ((struct instance_core__NativeArray
*)var111
)->values
[2]=var121
;
8075 var111
= varonce110
;
8079 var128
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:nullable MType(MType)>*/
8081 ((struct instance_core__NativeArray
*)var111
)->values
[1]=var128
;
8083 var129
= ((val
*(*)(val
* self
))(var111
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var111
); /* native_to_s on <var111:NativeArray[String]>*/
8085 varonce110
= var111
;
8087 nitc___nitc__ModelBuilder___warning(var99
, var_ntype
, var103
, var129
); /* Direct call modelbuilder_base$ModelBuilder$warning on <var99:ModelBuilder>*/
8092 { /* Inline typing$AArrayExpr$element_mtype= (self,var_mtype) on <self:AArrayExpr> */
8093 self
->attrs
[COLOR_nitc__typing__AArrayExpr___element_mtype
].val
= var_mtype
; /* _element_mtype on <self:AArrayExpr> */
8094 RET_LABEL130
:(void)0;
8097 if (likely(varonce131
!=NULL
)) {
8098 var132
= varonce131
;
8101 var135
= (val
*)(5l<<2|1);
8102 var136
= (val
*)(5l<<2|1);
8103 var137
= (val
*)((long)(0)<<2|3);
8104 var138
= (val
*)((long)(0)<<2|3);
8105 var134
= core__flat___CString___to_s_unsafe(var133
, var135
, var136
, var137
, var138
);
8107 varonce131
= var132
;
8110 var139
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v
, self
, var132
);
8112 var_mclass
= var139
;
8113 if (var_mclass
== NULL
) {
8114 var140
= 1; /* is null */
8116 var140
= 0; /* arg is null but recv is not */
8119 { /* Inline kernel$Object$== (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
8120 var_other12
= ((val
*)NULL
);
8122 { /* Inline kernel$Object$is_same_instance (var_mclass,var_other12) on <var_mclass:nullable MClass(MClass)> */
8123 var145
= var_mclass
== var_other12
;
8126 RET_LABEL144
:(void)0;
8131 RET_LABEL142
:(void)0;
8139 var146
= NEW_core__Array(&type_core__Array__nitc__MType
);
8141 core___core__Array___with_capacity(var146
, 1l); /* Direct call array$Array$with_capacity on <var146:Array[MType]>*/
8145 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_147
, var_mtype
); /* Direct call array$AbstractArray$push on <var_147:Array[MType]>*/
8148 var148
= nitc___nitc__MClass___get_mtype(var_mclass
, var_147
);
8150 var_array_mtype
= var148
;
8151 if (likely(varonce149
!=NULL
)) {
8152 var150
= varonce149
;
8154 var151
= "with_capacity";
8155 var153
= (val
*)(13l<<2|1);
8156 var154
= (val
*)(13l<<2|1);
8157 var155
= (val
*)((long)(0)<<2|3);
8158 var156
= (val
*)((long)(0)<<2|3);
8159 var152
= core__flat___CString___to_s_unsafe(var151
, var153
, var154
, var155
, var156
);
8161 varonce149
= var150
;
8164 var157
= nitc__typing___nitc__typing__TypeVisitor___get_method(var_v
, self
, var_array_mtype
, var150
, 0);
8167 { /* Inline typing$AArrayExpr$with_capacity_callsite= (self,var157) on <self:AArrayExpr> */
8168 self
->attrs
[COLOR_nitc__typing__AArrayExpr___with_capacity_callsite
].val
= var157
; /* _with_capacity_callsite on <self:AArrayExpr> */
8169 RET_LABEL158
:(void)0;
8172 if (likely(varonce159
!=NULL
)) {
8173 var160
= varonce159
;
8176 var163
= (val
*)(4l<<2|1);
8177 var164
= (val
*)(4l<<2|1);
8178 var165
= (val
*)((long)(0)<<2|3);
8179 var166
= (val
*)((long)(0)<<2|3);
8180 var162
= core__flat___CString___to_s_unsafe(var161
, var163
, var164
, var165
, var166
);
8182 varonce159
= var160
;
8185 var167
= nitc__typing___nitc__typing__TypeVisitor___get_method(var_v
, self
, var_array_mtype
, var160
, 0);
8188 { /* Inline typing$AArrayExpr$push_callsite= (self,var167) on <self:AArrayExpr> */
8189 self
->attrs
[COLOR_nitc__typing__AArrayExpr___push_callsite
].val
= var167
; /* _push_callsite on <self:AArrayExpr> */
8190 RET_LABEL168
:(void)0;
8194 { /* Inline typing$AExpr$mtype= (self,var_array_mtype) on <self:AArrayExpr> */
8195 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var_array_mtype
; /* _mtype on <self:AArrayExpr> */
8196 RET_LABEL169
:(void)0;
8201 /* method typing$ARangeExpr$init_callsite for (self: ARangeExpr): nullable CallSite */
8202 val
* nitc__typing___ARangeExpr___init_callsite(val
* self
) {
8203 val
* var
/* : nullable CallSite */;
8204 val
* var1
/* : nullable CallSite */;
8205 var1
= self
->attrs
[COLOR_nitc__typing__ARangeExpr___init_callsite
].val
; /* _init_callsite on <self:ARangeExpr> */
8210 /* method typing$ARangeExpr$init_callsite= for (self: ARangeExpr, nullable CallSite) */
8211 void nitc__typing___ARangeExpr___init_callsite_61d(val
* self
, val
* p0
) {
8212 self
->attrs
[COLOR_nitc__typing__ARangeExpr___init_callsite
].val
= p0
; /* _init_callsite on <self:ARangeExpr> */
8215 /* method typing$ARangeExpr$accept_typing for (self: ARangeExpr, TypeVisitor) */
8216 void nitc__typing___ARangeExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
8217 val
* var_v
/* var v: TypeVisitor */;
8218 static val
* varonce
;
8219 val
* var
/* : String */;
8220 char* var1
/* : CString */;
8221 val
* var2
/* : String */;
8222 val
* var3
/* : nullable Int */;
8223 val
* var4
/* : nullable Int */;
8224 val
* var5
/* : nullable Bool */;
8225 val
* var6
/* : nullable Bool */;
8226 val
* var7
/* : nullable MClass */;
8227 val
* var_discrete_class
/* var discrete_class: nullable MClass */;
8228 short int var8
/* : Bool */;
8229 short int var9
/* : Bool */;
8230 val
* var_other
/* var other: nullable Object */;
8231 short int var11
/* : Bool */;
8232 short int var13
/* : Bool */;
8233 val
* var14
/* : MClassDef */;
8234 val
* var16
/* : MClassDef */;
8235 val
* var17
/* : MClassType */;
8236 val
* var19
/* : MClassType */;
8237 val
* var_discrete_type
/* var discrete_type: MClassType */;
8238 val
* var20
/* : AExpr */;
8239 val
* var22
/* : AExpr */;
8240 val
* var23
/* : nullable MType */;
8241 val
* var_t1
/* var t1: nullable MType */;
8242 val
* var24
/* : AExpr */;
8243 val
* var26
/* : AExpr */;
8244 val
* var27
/* : nullable MType */;
8245 val
* var_t2
/* var t2: nullable MType */;
8246 short int var28
/* : Bool */;
8247 short int var29
/* : Bool */;
8248 short int var30
/* : Bool */;
8249 short int var32
/* : Bool */;
8250 short int var34
/* : Bool */;
8251 short int var_
/* var : Bool */;
8252 short int var35
/* : Bool */;
8253 short int var36
/* : Bool */;
8254 short int var38
/* : Bool */;
8255 short int var40
/* : Bool */;
8256 static val
* varonce41
;
8257 val
* var42
/* : String */;
8258 char* var43
/* : CString */;
8259 val
* var44
/* : String */;
8260 val
* var45
/* : nullable Int */;
8261 val
* var46
/* : nullable Int */;
8262 val
* var47
/* : nullable Bool */;
8263 val
* var48
/* : nullable Bool */;
8264 val
* var49
/* : nullable MClass */;
8265 val
* var_mclass
/* var mclass: nullable MClass */;
8266 short int var50
/* : Bool */;
8267 short int var51
/* : Bool */;
8268 short int var53
/* : Bool */;
8269 short int var55
/* : Bool */;
8270 short int var56
/* : Bool */;
8271 val
* var57
/* : Array[MType] */;
8272 val
* var_58
/* var : Array[MType] */;
8273 val
* var59
/* : MClassType */;
8274 val
* var_mtype
/* var mtype: nullable Object */;
8275 short int var60
/* : Bool */;
8276 val
* var61
/* : Array[MType] */;
8277 val
* var_62
/* var : Array[MType] */;
8278 val
* var63
/* : MClassType */;
8279 val
* var65
/* : NativeArray[String] */;
8280 static val
* varonce64
;
8281 static val
* varonce66
;
8282 val
* var67
/* : String */;
8283 char* var68
/* : CString */;
8284 val
* var69
/* : String */;
8285 val
* var70
/* : nullable Int */;
8286 val
* var71
/* : nullable Int */;
8287 val
* var72
/* : nullable Bool */;
8288 val
* var73
/* : nullable Bool */;
8289 static val
* varonce74
;
8290 val
* var75
/* : String */;
8291 char* var76
/* : CString */;
8292 val
* var77
/* : String */;
8293 val
* var78
/* : nullable Int */;
8294 val
* var79
/* : nullable Int */;
8295 val
* var80
/* : nullable Bool */;
8296 val
* var81
/* : nullable Bool */;
8297 static val
* varonce82
;
8298 val
* var83
/* : String */;
8299 char* var84
/* : CString */;
8300 val
* var85
/* : String */;
8301 val
* var86
/* : nullable Int */;
8302 val
* var87
/* : nullable Int */;
8303 val
* var88
/* : nullable Bool */;
8304 val
* var89
/* : nullable Bool */;
8305 val
* var90
/* : String */;
8306 val
* var91
/* : String */;
8307 val
* var92
/* : String */;
8308 short int var94
/* : Bool */;
8311 static val
* varonce95
;
8312 val
* var96
/* : String */;
8313 char* var97
/* : CString */;
8314 val
* var98
/* : String */;
8315 val
* var99
/* : nullable Int */;
8316 val
* var100
/* : nullable Int */;
8317 val
* var101
/* : nullable Bool */;
8318 val
* var102
/* : nullable Bool */;
8319 val
* var103
/* : nullable CallSite */;
8320 val
* var_callsite
/* var callsite: nullable Object */;
8321 short int var104
/* : Bool */;
8324 static val
* varonce107
;
8325 val
* var108
/* : String */;
8326 char* var109
/* : CString */;
8327 val
* var110
/* : String */;
8328 val
* var111
/* : nullable Int */;
8329 val
* var112
/* : nullable Int */;
8330 val
* var113
/* : nullable Bool */;
8331 val
* var114
/* : nullable Bool */;
8332 val
* var115
/* : nullable CallSite */;
8334 if (likely(varonce
!=NULL
)) {
8338 var3
= (val
*)(8l<<2|1);
8339 var4
= (val
*)(8l<<2|1);
8340 var5
= (val
*)((long)(0)<<2|3);
8341 var6
= (val
*)((long)(0)<<2|3);
8342 var2
= core__flat___CString___to_s_unsafe(var1
, var3
, var4
, var5
, var6
);
8347 var7
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v
, self
, var
);
8349 var_discrete_class
= var7
;
8350 if (var_discrete_class
== NULL
) {
8351 var8
= 1; /* is null */
8353 var8
= 0; /* arg is null but recv is not */
8356 { /* Inline kernel$Object$== (var_discrete_class,((val*)NULL)) on <var_discrete_class:nullable MClass> */
8357 var_other
= ((val
*)NULL
);
8359 { /* Inline kernel$Object$is_same_instance (var_discrete_class,var_other) on <var_discrete_class:nullable MClass(MClass)> */
8360 var13
= var_discrete_class
== var_other
;
8363 RET_LABEL12
:(void)0;
8368 RET_LABEL10
:(void)0;
8377 { /* Inline model$MClass$intro (var_discrete_class) on <var_discrete_class:nullable MClass(MClass)> */
8378 var16
= var_discrete_class
->attrs
[COLOR_nitc__model__MClass___intro
].val
; /* _intro on <var_discrete_class:nullable MClass(MClass)> */
8379 if (unlikely(var16
== NULL
)) {
8380 if(catchStack
.cursor
>= 0){
8381 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8383 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
8384 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 496);
8388 RET_LABEL15
:(void)0;
8392 { /* Inline model$MClassDef$bound_mtype (var14) on <var14:MClassDef> */
8393 var19
= var14
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var14:MClassDef> */
8394 if (unlikely(var19
== NULL
)) {
8395 if(catchStack
.cursor
>= 0){
8396 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8398 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
8399 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 594);
8403 RET_LABEL18
:(void)0;
8406 var_discrete_type
= var17
;
8408 { /* Inline parser_nodes$ARangeExpr$n_expr (self) on <self:ARangeExpr> */
8409 var22
= self
->attrs
[COLOR_nitc__parser_nodes__ARangeExpr___n_expr
].val
; /* _n_expr on <self:ARangeExpr> */
8410 if (unlikely(var22
== NULL
)) {
8411 if(catchStack
.cursor
>= 0){
8412 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8414 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
8415 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2502);
8419 RET_LABEL21
:(void)0;
8423 var23
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(var_v
, var20
, var_discrete_type
);
8427 { /* Inline parser_nodes$ARangeExpr$n_expr2 (self) on <self:ARangeExpr> */
8428 var26
= self
->attrs
[COLOR_nitc__parser_nodes__ARangeExpr___n_expr2
].val
; /* _n_expr2 on <self:ARangeExpr> */
8429 if (unlikely(var26
== NULL
)) {
8430 if(catchStack
.cursor
>= 0){
8431 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8433 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
8434 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2508);
8438 RET_LABEL25
:(void)0;
8442 var27
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(var_v
, var24
, var_discrete_type
);
8445 if (var_t1
== NULL
) {
8446 var29
= 1; /* is null */
8448 var29
= 0; /* arg is null but recv is not */
8451 { /* Inline kernel$Object$== (var_t1,((val*)NULL)) on <var_t1:nullable MType> */
8452 var_other
= ((val
*)NULL
);
8454 { /* Inline kernel$Object$is_same_instance (var_t1,var_other) on <var_t1:nullable MType(MType)> */
8455 var34
= var_t1
== var_other
;
8458 RET_LABEL33
:(void)0;
8463 RET_LABEL31
:(void)0;
8471 if (var_t2
== NULL
) {
8472 var35
= 1; /* is null */
8474 var35
= 0; /* arg is null but recv is not */
8477 { /* Inline kernel$Object$== (var_t2,((val*)NULL)) on <var_t2:nullable MType> */
8478 var_other
= ((val
*)NULL
);
8480 { /* Inline kernel$Object$is_same_instance (var_t2,var_other) on <var_t2:nullable MType(MType)> */
8481 var40
= var_t2
== var_other
;
8484 RET_LABEL39
:(void)0;
8489 RET_LABEL37
:(void)0;
8499 if (likely(varonce41
!=NULL
)) {
8503 var45
= (val
*)(5l<<2|1);
8504 var46
= (val
*)(5l<<2|1);
8505 var47
= (val
*)((long)(0)<<2|3);
8506 var48
= (val
*)((long)(0)<<2|3);
8507 var44
= core__flat___CString___to_s_unsafe(var43
, var45
, var46
, var47
, var48
);
8512 var49
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v
, self
, var42
);
8515 if (var_mclass
== NULL
) {
8516 var50
= 1; /* is null */
8518 var50
= 0; /* arg is null but recv is not */
8521 { /* Inline kernel$Object$== (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
8522 var_other
= ((val
*)NULL
);
8524 { /* Inline kernel$Object$is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
8525 var55
= var_mclass
== var_other
;
8528 RET_LABEL54
:(void)0;
8533 RET_LABEL52
:(void)0;
8542 var56
= nitc__typing___nitc__typing__TypeVisitor___is_subtype(var_v
, var_t1
, var_t2
);
8545 var57
= NEW_core__Array(&type_core__Array__nitc__MType
);
8547 core___core__Array___with_capacity(var57
, 1l); /* Direct call array$Array$with_capacity on <var57:Array[MType]>*/
8551 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_58
, var_t2
); /* Direct call array$AbstractArray$push on <var_58:Array[MType]>*/
8554 var59
= nitc___nitc__MClass___get_mtype(var_mclass
, var_58
);
8559 var60
= nitc__typing___nitc__typing__TypeVisitor___is_subtype(var_v
, var_t2
, var_t1
);
8562 var61
= NEW_core__Array(&type_core__Array__nitc__MType
);
8564 core___core__Array___with_capacity(var61
, 1l); /* Direct call array$Array$with_capacity on <var61:Array[MType]>*/
8568 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_62
, var_t1
); /* Direct call array$AbstractArray$push on <var_62:Array[MType]>*/
8571 var63
= nitc___nitc__MClass___get_mtype(var_mclass
, var_62
);
8575 if (unlikely(varonce64
==NULL
)) {
8576 var65
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
8577 if (likely(varonce66
!=NULL
)) {
8580 var68
= "Type Error: cannot create range: `";
8581 var70
= (val
*)(34l<<2|1);
8582 var71
= (val
*)(34l<<2|1);
8583 var72
= (val
*)((long)(0)<<2|3);
8584 var73
= (val
*)((long)(0)<<2|3);
8585 var69
= core__flat___CString___to_s_unsafe(var68
, var70
, var71
, var72
, var73
);
8589 ((struct instance_core__NativeArray
*)var65
)->values
[0]=var67
;
8590 if (likely(varonce74
!=NULL
)) {
8594 var78
= (val
*)(6l<<2|1);
8595 var79
= (val
*)(6l<<2|1);
8596 var80
= (val
*)((long)(0)<<2|3);
8597 var81
= (val
*)((long)(0)<<2|3);
8598 var77
= core__flat___CString___to_s_unsafe(var76
, var78
, var79
, var80
, var81
);
8602 ((struct instance_core__NativeArray
*)var65
)->values
[2]=var75
;
8603 if (likely(varonce82
!=NULL
)) {
8607 var86
= (val
*)(2l<<2|1);
8608 var87
= (val
*)(2l<<2|1);
8609 var88
= (val
*)((long)(0)<<2|3);
8610 var89
= (val
*)((long)(0)<<2|3);
8611 var85
= core__flat___CString___to_s_unsafe(var84
, var86
, var87
, var88
, var89
);
8615 ((struct instance_core__NativeArray
*)var65
)->values
[4]=var83
;
8621 var90
= ((val
*(*)(val
* self
))(var_t1
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_t1
); /* to_s on <var_t1:nullable MType(MType)>*/
8623 ((struct instance_core__NativeArray
*)var65
)->values
[1]=var90
;
8625 var91
= ((val
*(*)(val
* self
))(var_t2
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_t2
); /* to_s on <var_t2:nullable MType(MType)>*/
8627 ((struct instance_core__NativeArray
*)var65
)->values
[3]=var91
;
8629 var92
= ((val
*(*)(val
* self
))(var65
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var65
); /* native_to_s on <var65:NativeArray[String]>*/
8633 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var92
); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
8639 { /* Inline typing$AExpr$mtype= (self,var_mtype) on <self:ARangeExpr> */
8640 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var_mtype
; /* _mtype on <self:ARangeExpr> */
8641 RET_LABEL93
:(void)0;
8644 /* <self:ARangeExpr> isa ACrangeExpr */
8645 cltype
= type_nitc__ACrangeExpr
.color
;
8646 idtype
= type_nitc__ACrangeExpr
.id
;
8647 if(cltype
>= self
->type
->table_size
) {
8650 var94
= self
->type
->type_table
[cltype
] == idtype
;
8653 if (likely(varonce95
!=NULL
)) {
8657 var99
= (val
*)(4l<<2|1);
8658 var100
= (val
*)(4l<<2|1);
8659 var101
= (val
*)((long)(0)<<2|3);
8660 var102
= (val
*)((long)(0)<<2|3);
8661 var98
= core__flat___CString___to_s_unsafe(var97
, var99
, var100
, var101
, var102
);
8666 var103
= nitc__typing___nitc__typing__TypeVisitor___get_method(var_v
, self
, var_mtype
, var96
, 0);
8668 var_callsite
= var103
;
8670 /* <self:ARangeExpr> isa AOrangeExpr */
8671 cltype105
= type_nitc__AOrangeExpr
.color
;
8672 idtype106
= type_nitc__AOrangeExpr
.id
;
8673 if(cltype105
>= self
->type
->table_size
) {
8676 var104
= self
->type
->type_table
[cltype105
] == idtype106
;
8679 if (likely(varonce107
!=NULL
)) {
8680 var108
= varonce107
;
8682 var109
= "without_last";
8683 var111
= (val
*)(12l<<2|1);
8684 var112
= (val
*)(12l<<2|1);
8685 var113
= (val
*)((long)(0)<<2|3);
8686 var114
= (val
*)((long)(0)<<2|3);
8687 var110
= core__flat___CString___to_s_unsafe(var109
, var111
, var112
, var113
, var114
);
8689 varonce107
= var108
;
8692 var115
= nitc__typing___nitc__typing__TypeVisitor___get_method(var_v
, self
, var_mtype
, var108
, 0);
8694 var_callsite
= var115
;
8696 if(catchStack
.cursor
>= 0){
8697 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8699 PRINT_ERROR("Runtime error: %s", "Aborted");
8700 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1660);
8705 { /* Inline typing$ARangeExpr$init_callsite= (self,var_callsite) on <self:ARangeExpr> */
8706 self
->attrs
[COLOR_nitc__typing__ARangeExpr___init_callsite
].val
= var_callsite
; /* _init_callsite on <self:ARangeExpr> */
8707 RET_LABEL116
:(void)0;
8712 /* method typing$ANullExpr$accept_typing for (self: ANullExpr, TypeVisitor) */
8713 void nitc__typing___ANullExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
8714 val
* var_v
/* var v: TypeVisitor */;
8715 val
* var
/* : MModule */;
8716 val
* var2
/* : MModule */;
8717 val
* var3
/* : Model */;
8718 val
* var5
/* : Model */;
8719 val
* var6
/* : MNullType */;
8720 val
* var8
/* : MNullType */;
8723 { /* Inline typing$TypeVisitor$mmodule (var_v) on <var_v:TypeVisitor> */
8724 var2
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
8725 if (unlikely(var2
== NULL
)) {
8726 if(catchStack
.cursor
>= 0){
8727 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8729 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
8730 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 37);
8738 { /* Inline mmodule$MModule$model (var) on <var:MModule> */
8739 var5
= var
->attrs
[COLOR_nitc__mmodule__MModule___model
].val
; /* _model on <var:MModule> */
8740 if (unlikely(var5
== NULL
)) {
8741 if(catchStack
.cursor
>= 0){
8742 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8744 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
8745 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 77);
8753 { /* Inline model$Model$null_type (var3) on <var3:Model> */
8754 var8
= var3
->attrs
[COLOR_nitc__model__Model___null_type
].val
; /* _null_type on <var3:Model> */
8755 if (unlikely(var8
== NULL
)) {
8756 if(catchStack
.cursor
>= 0){
8757 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8759 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _null_type");
8760 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 103);
8768 { /* Inline typing$AExpr$mtype= (self,var6) on <self:ANullExpr> */
8769 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var6
; /* _mtype on <self:ANullExpr> */
8775 /* method typing$AIsaExpr$cast_type for (self: AIsaExpr): nullable MType */
8776 val
* nitc__typing___AIsaExpr___cast_type(val
* self
) {
8777 val
* var
/* : nullable MType */;
8778 val
* var1
/* : nullable MType */;
8779 var1
= self
->attrs
[COLOR_nitc__typing__AIsaExpr___cast_type
].val
; /* _cast_type on <self:AIsaExpr> */
8784 /* method typing$AIsaExpr$cast_type= for (self: AIsaExpr, nullable MType) */
8785 void nitc__typing___AIsaExpr___cast_type_61d(val
* self
, val
* p0
) {
8786 self
->attrs
[COLOR_nitc__typing__AIsaExpr___cast_type
].val
= p0
; /* _cast_type on <self:AIsaExpr> */
8789 /* method typing$AIsaExpr$accept_typing for (self: AIsaExpr, TypeVisitor) */
8790 void nitc__typing___AIsaExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
8791 val
* var_v
/* var v: TypeVisitor */;
8792 val
* var
/* : AExpr */;
8793 val
* var2
/* : AExpr */;
8794 val
* var3
/* : nullable MType */;
8795 val
* var4
/* : AType */;
8796 val
* var6
/* : AType */;
8797 val
* var7
/* : nullable MType */;
8798 val
* var_mtype
/* var mtype: nullable MType */;
8799 val
* var9
/* : AExpr */;
8800 val
* var11
/* : AExpr */;
8801 val
* var12
/* : nullable Variable */;
8802 val
* var_variable
/* var variable: nullable Variable */;
8803 short int var13
/* : Bool */;
8804 short int var14
/* : Bool */;
8805 val
* var_other
/* var other: nullable Object */;
8806 short int var16
/* : Bool */;
8807 short int var17
/* : Bool */;
8808 val
* var18
/* : AExpr */;
8809 val
* var20
/* : AExpr */;
8810 val
* var21
/* : nullable MType */;
8811 val
* var_orig
/* var orig: nullable MType */;
8812 short int var22
/* : Bool */;
8813 short int var23
/* : Bool */;
8814 short int var24
/* : Bool */;
8815 short int var25
/* : Bool */;
8816 val
* var_other27
/* var other: nullable Object */;
8817 short int var28
/* : Bool */;
8818 short int var30
/* : Bool */;
8819 short int var_
/* var : Bool */;
8820 short int var31
/* : Bool */;
8821 short int var32
/* : Bool */;
8822 short int var34
/* : Bool */;
8823 short int var36
/* : Bool */;
8824 short int var_37
/* var : Bool */;
8825 short int var38
/* : Bool */;
8826 short int var39
/* : Bool */;
8827 val
* var40
/* : nullable FlowContext */;
8828 val
* var42
/* : nullable FlowContext */;
8829 val
* var43
/* : FlowContext */;
8830 val
* var45
/* : FlowContext */;
8831 val
* var46
/* : nullable MType */;
8834 { /* Inline parser_nodes$AIsaExpr$n_expr (self) on <self:AIsaExpr> */
8835 var2
= self
->attrs
[COLOR_nitc__parser_nodes__AIsaExpr___n_expr
].val
; /* _n_expr on <self:AIsaExpr> */
8836 if (unlikely(var2
== NULL
)) {
8837 if(catchStack
.cursor
>= 0){
8838 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8840 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
8841 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2234);
8849 var3
= nitc__typing___nitc__typing__TypeVisitor___visit_expr(var_v
, var
);
8852 { /* Inline parser_nodes$AIsaExpr$n_type (self) on <self:AIsaExpr> */
8853 var6
= self
->attrs
[COLOR_nitc__parser_nodes__AIsaExpr___n_type
].val
; /* _n_type on <self:AIsaExpr> */
8854 if (unlikely(var6
== NULL
)) {
8855 if(catchStack
.cursor
>= 0){
8856 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8858 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
8859 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2240);
8867 var7
= nitc__typing___nitc__typing__TypeVisitor___resolve_mtype(var_v
, var4
);
8871 { /* Inline typing$AIsaExpr$cast_type= (self,var_mtype) on <self:AIsaExpr> */
8872 self
->attrs
[COLOR_nitc__typing__AIsaExpr___cast_type
].val
= var_mtype
; /* _cast_type on <self:AIsaExpr> */
8877 { /* Inline parser_nodes$AIsaExpr$n_expr (self) on <self:AIsaExpr> */
8878 var11
= self
->attrs
[COLOR_nitc__parser_nodes__AIsaExpr___n_expr
].val
; /* _n_expr on <self:AIsaExpr> */
8879 if (unlikely(var11
== NULL
)) {
8880 if(catchStack
.cursor
>= 0){
8881 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8883 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
8884 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2234);
8888 RET_LABEL10
:(void)0;
8892 var12
= ((val
*(*)(val
* self
))(var9
->class->vft
[COLOR_nitc__typing__AExpr__its_variable
]))(var9
); /* its_variable on <var9:AExpr>*/
8894 var_variable
= var12
;
8895 if (var_variable
== NULL
) {
8896 var13
= 0; /* is null */
8898 var13
= 1; /* arg is null and recv is not */
8901 { /* Inline kernel$Object$!= (var_variable,((val*)NULL)) on <var_variable:nullable Variable> */
8902 var_other
= ((val
*)NULL
);
8904 var16
= ((short int(*)(val
* self
, val
* p0
))(var_variable
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_variable
, var_other
); /* == on <var_variable:nullable Variable(Variable)>*/
8909 RET_LABEL15
:(void)0;
8915 { /* Inline parser_nodes$AIsaExpr$n_expr (self) on <self:AIsaExpr> */
8916 var20
= self
->attrs
[COLOR_nitc__parser_nodes__AIsaExpr___n_expr
].val
; /* _n_expr on <self:AIsaExpr> */
8917 if (unlikely(var20
== NULL
)) {
8918 if(catchStack
.cursor
>= 0){
8919 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8921 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
8922 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2234);
8926 RET_LABEL19
:(void)0;
8930 var21
= ((val
*(*)(val
* self
))(var18
->class->vft
[COLOR_nitc__typing__AExpr__mtype
]))(var18
); /* mtype on <var18:AExpr>*/
8933 if (var_mtype
== NULL
) {
8934 var24
= 1; /* is null */
8936 var24
= 0; /* arg is null but recv is not */
8939 { /* Inline kernel$Object$== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
8940 var_other27
= ((val
*)NULL
);
8942 { /* Inline kernel$Object$is_same_instance (var_mtype,var_other27) on <var_mtype:nullable MType(MType)> */
8943 var30
= var_mtype
== var_other27
;
8946 RET_LABEL29
:(void)0;
8951 RET_LABEL26
:(void)0;
8959 if (var_orig
== NULL
) {
8960 var31
= 1; /* is null */
8962 var31
= 0; /* arg is null but recv is not */
8965 { /* Inline kernel$Object$== (var_orig,((val*)NULL)) on <var_orig:nullable MType> */
8966 var_other27
= ((val
*)NULL
);
8968 { /* Inline kernel$Object$is_same_instance (var_orig,var_other27) on <var_orig:nullable MType(MType)> */
8969 var36
= var_orig
== var_other27
;
8972 RET_LABEL35
:(void)0;
8977 RET_LABEL33
:(void)0;
8988 var38
= nitc__typing___nitc__typing__TypeVisitor___is_subtype(var_v
, var_orig
, var_mtype
);
8995 { /* Inline flow$AExpr$after_flow_context (self) on <self:AIsaExpr> */
8996 var42
= self
->attrs
[COLOR_nitc__flow__AExpr___after_flow_context
].val
; /* _after_flow_context on <self:AIsaExpr> */
8998 RET_LABEL41
:(void)0;
9001 if (var40
== NULL
) {
9002 if(catchStack
.cursor
>= 0){
9003 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9005 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9006 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1694);
9009 { /* Inline flow$FlowContext$when_true (var40) on <var40:nullable FlowContext> */
9010 if (unlikely(var40
== NULL
)) {
9011 if(catchStack
.cursor
>= 0){
9012 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9014 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9015 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow
, 225);
9018 var45
= var40
->attrs
[COLOR_nitc__flow__FlowContext___when_true
].val
; /* _when_true on <var40:nullable FlowContext> */
9019 if (unlikely(var45
== NULL
)) {
9020 if(catchStack
.cursor
>= 0){
9021 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9023 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true");
9024 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow
, 225);
9028 RET_LABEL44
:(void)0;
9032 nitc__typing___FlowContext___set_var(var43
, var_v
, var_variable
, var_mtype
); /* Direct call typing$FlowContext$set_var on <var43:FlowContext>*/
9039 var46
= nitc__typing___nitc__typing__TypeVisitor___type_bool(var_v
, self
);
9042 { /* Inline typing$AExpr$mtype= (self,var46) on <self:AIsaExpr> */
9043 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var46
; /* _mtype on <self:AIsaExpr> */
9044 RET_LABEL47
:(void)0;
9049 /* method typing$AIsaExpr$accept_post_typing for (self: AIsaExpr, TypeVisitor) */
9050 void nitc__typing___AIsaExpr___ANode__accept_post_typing(val
* self
, val
* p0
) {
9051 val
* var_v
/* var v: TypeVisitor */;
9052 val
* var
/* : AExpr */;
9053 val
* var2
/* : AExpr */;
9054 val
* var3
/* : AType */;
9055 val
* var5
/* : AType */;
9056 val
* var6
/* : nullable MType */;
9059 { /* Inline parser_nodes$AIsaExpr$n_expr (self) on <self:AIsaExpr> */
9060 var2
= self
->attrs
[COLOR_nitc__parser_nodes__AIsaExpr___n_expr
].val
; /* _n_expr on <self:AIsaExpr> */
9061 if (unlikely(var2
== NULL
)) {
9062 if(catchStack
.cursor
>= 0){
9063 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9065 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
9066 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2234);
9074 { /* Inline parser_nodes$AIsaExpr$n_type (self) on <self:AIsaExpr> */
9075 var5
= self
->attrs
[COLOR_nitc__parser_nodes__AIsaExpr___n_type
].val
; /* _n_type on <self:AIsaExpr> */
9076 if (unlikely(var5
== NULL
)) {
9077 if(catchStack
.cursor
>= 0){
9078 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9080 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
9081 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2240);
9089 var6
= nitc__typing___nitc__typing__TypeVisitor___check_expr_cast(var_v
, self
, var
, var3
);
9093 /* method typing$AAsCastExpr$accept_typing for (self: AAsCastExpr, TypeVisitor) */
9094 void nitc__typing___AAsCastExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
9095 val
* var_v
/* var v: TypeVisitor */;
9096 val
* var
/* : AExpr */;
9097 val
* var2
/* : AExpr */;
9098 val
* var3
/* : nullable MType */;
9099 val
* var4
/* : AType */;
9100 val
* var6
/* : AType */;
9101 val
* var7
/* : nullable MType */;
9104 { /* Inline parser_nodes$AAsCastForm$n_expr (self) on <self:AAsCastExpr> */
9105 var2
= self
->attrs
[COLOR_nitc__parser_nodes__AAsCastForm___n_expr
].val
; /* _n_expr on <self:AAsCastExpr> */
9106 if (unlikely(var2
== NULL
)) {
9107 if(catchStack
.cursor
>= 0){
9108 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9110 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
9111 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2667);
9119 var3
= nitc__typing___nitc__typing__TypeVisitor___visit_expr(var_v
, var
);
9122 { /* Inline parser_nodes$AAsCastExpr$n_type (self) on <self:AAsCastExpr> */
9123 var6
= self
->attrs
[COLOR_nitc__parser_nodes__AAsCastExpr___n_type
].val
; /* _n_type on <self:AAsCastExpr> */
9124 if (unlikely(var6
== NULL
)) {
9125 if(catchStack
.cursor
>= 0){
9126 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9128 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
9129 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2684);
9137 var7
= nitc__typing___nitc__typing__TypeVisitor___resolve_mtype(var_v
, var4
);
9140 { /* Inline typing$AExpr$mtype= (self,var7) on <self:AAsCastExpr> */
9141 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var7
; /* _mtype on <self:AAsCastExpr> */
9147 /* method typing$AAsCastExpr$accept_post_typing for (self: AAsCastExpr, TypeVisitor) */
9148 void nitc__typing___AAsCastExpr___ANode__accept_post_typing(val
* self
, val
* p0
) {
9149 val
* var_v
/* var v: TypeVisitor */;
9150 val
* var
/* : AExpr */;
9151 val
* var2
/* : AExpr */;
9152 val
* var3
/* : AType */;
9153 val
* var5
/* : AType */;
9154 val
* var6
/* : nullable MType */;
9157 { /* Inline parser_nodes$AAsCastForm$n_expr (self) on <self:AAsCastExpr> */
9158 var2
= self
->attrs
[COLOR_nitc__parser_nodes__AAsCastForm___n_expr
].val
; /* _n_expr on <self:AAsCastExpr> */
9159 if (unlikely(var2
== NULL
)) {
9160 if(catchStack
.cursor
>= 0){
9161 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9163 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
9164 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2667);
9172 { /* Inline parser_nodes$AAsCastExpr$n_type (self) on <self:AAsCastExpr> */
9173 var5
= self
->attrs
[COLOR_nitc__parser_nodes__AAsCastExpr___n_type
].val
; /* _n_type on <self:AAsCastExpr> */
9174 if (unlikely(var5
== NULL
)) {
9175 if(catchStack
.cursor
>= 0){
9176 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9178 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
9179 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2684);
9187 var6
= nitc__typing___nitc__typing__TypeVisitor___check_expr_cast(var_v
, self
, var
, var3
);
9191 /* method typing$AAsNotnullExpr$accept_typing for (self: AAsNotnullExpr, TypeVisitor) */
9192 void nitc__typing___AAsNotnullExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
9193 val
* var_v
/* var v: TypeVisitor */;
9194 val
* var
/* : AExpr */;
9195 val
* var2
/* : AExpr */;
9196 val
* var3
/* : nullable MType */;
9197 val
* var_mtype
/* var mtype: nullable MType */;
9198 short int var4
/* : Bool */;
9199 short int var5
/* : Bool */;
9200 val
* var_other
/* var other: nullable Object */;
9201 short int var7
/* : Bool */;
9202 short int var9
/* : Bool */;
9203 short int var10
/* : Bool */;
9206 static val
* varonce
;
9207 val
* var11
/* : String */;
9208 char* var12
/* : CString */;
9209 val
* var13
/* : String */;
9210 val
* var14
/* : nullable Int */;
9211 val
* var15
/* : nullable Int */;
9212 val
* var16
/* : nullable Bool */;
9213 val
* var17
/* : nullable Bool */;
9214 short int var18
/* : Bool */;
9215 val
* var19
/* : MType */;
9218 { /* Inline parser_nodes$AAsCastForm$n_expr (self) on <self:AAsNotnullExpr> */
9219 var2
= self
->attrs
[COLOR_nitc__parser_nodes__AAsCastForm___n_expr
].val
; /* _n_expr on <self:AAsNotnullExpr> */
9220 if (unlikely(var2
== NULL
)) {
9221 if(catchStack
.cursor
>= 0){
9222 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9224 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
9225 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2667);
9233 var3
= nitc__typing___nitc__typing__TypeVisitor___visit_expr(var_v
, var
);
9236 if (var_mtype
== NULL
) {
9237 var4
= 1; /* is null */
9239 var4
= 0; /* arg is null but recv is not */
9242 { /* Inline kernel$Object$== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
9243 var_other
= ((val
*)NULL
);
9245 { /* Inline kernel$Object$is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
9246 var9
= var_mtype
== var_other
;
9262 /* <var_mtype:nullable MType(MType)> isa MNullType */
9263 cltype
= type_nitc__MNullType
.color
;
9264 idtype
= type_nitc__MNullType
.id
;
9265 if(cltype
>= var_mtype
->type
->table_size
) {
9268 var10
= var_mtype
->type
->type_table
[cltype
] == idtype
;
9271 if (likely(varonce
!=NULL
)) {
9274 var12
= "Type Error: `as(not null)` on `null`.";
9275 var14
= (val
*)(37l<<2|1);
9276 var15
= (val
*)(37l<<2|1);
9277 var16
= (val
*)((long)(0)<<2|3);
9278 var17
= (val
*)((long)(0)<<2|3);
9279 var13
= core__flat___CString___to_s_unsafe(var12
, var14
, var15
, var16
, var17
);
9284 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var11
); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
9290 var18
= nitc__typing___nitc__typing__TypeVisitor___can_be_null(var_v
, var_mtype
);
9294 var19
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model__MType__as_notnull
]))(var_mtype
); /* as_notnull on <var_mtype:nullable MType(MType)>*/
9300 { /* Inline typing$AExpr$mtype= (self,var_mtype) on <self:AAsNotnullExpr> */
9301 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var_mtype
; /* _mtype on <self:AAsNotnullExpr> */
9302 RET_LABEL20
:(void)0;
9307 /* method typing$AAsNotnullExpr$accept_post_typing for (self: AAsNotnullExpr, TypeVisitor) */
9308 void nitc__typing___AAsNotnullExpr___ANode__accept_post_typing(val
* self
, val
* p0
) {
9309 val
* var_v
/* var v: TypeVisitor */;
9310 val
* var
/* : AExpr */;
9311 val
* var2
/* : AExpr */;
9312 val
* var3
/* : nullable MType */;
9313 val
* var_mtype
/* var mtype: nullable MType */;
9314 short int var4
/* : Bool */;
9315 short int var5
/* : Bool */;
9316 val
* var_other
/* var other: nullable Object */;
9317 short int var7
/* : Bool */;
9318 short int var9
/* : Bool */;
9319 val
* var10
/* : AExpr */;
9320 val
* var12
/* : AExpr */;
9321 short int var13
/* : Bool */;
9324 { /* Inline parser_nodes$AAsCastForm$n_expr (self) on <self:AAsNotnullExpr> */
9325 var2
= self
->attrs
[COLOR_nitc__parser_nodes__AAsCastForm___n_expr
].val
; /* _n_expr on <self:AAsNotnullExpr> */
9326 if (unlikely(var2
== NULL
)) {
9327 if(catchStack
.cursor
>= 0){
9328 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9330 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
9331 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2667);
9339 var3
= ((val
*(*)(val
* self
))(var
->class->vft
[COLOR_nitc__typing__AExpr__mtype
]))(var
); /* mtype on <var:AExpr>*/
9342 if (var_mtype
== NULL
) {
9343 var4
= 1; /* is null */
9345 var4
= 0; /* arg is null but recv is not */
9348 { /* Inline kernel$Object$== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
9349 var_other
= ((val
*)NULL
);
9351 { /* Inline kernel$Object$is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
9352 var9
= var_mtype
== var_other
;
9369 { /* Inline parser_nodes$AAsCastForm$n_expr (self) on <self:AAsNotnullExpr> */
9370 var12
= self
->attrs
[COLOR_nitc__parser_nodes__AAsCastForm___n_expr
].val
; /* _n_expr on <self:AAsNotnullExpr> */
9371 if (unlikely(var12
== NULL
)) {
9372 if(catchStack
.cursor
>= 0){
9373 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9375 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
9376 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2667);
9380 RET_LABEL11
:(void)0;
9384 var13
= nitc__typing___nitc__typing__TypeVisitor___check_can_be_null(var_v
, var10
, var_mtype
);
9388 /* method typing$AParExpr$accept_typing for (self: AParExpr, TypeVisitor) */
9389 void nitc__typing___AParExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
9390 val
* var_v
/* var v: TypeVisitor */;
9391 val
* var
/* : AExpr */;
9392 val
* var2
/* : AExpr */;
9393 val
* var3
/* : nullable MType */;
9396 { /* Inline parser_nodes$AParExpr$n_expr (self) on <self:AParExpr> */
9397 var2
= self
->attrs
[COLOR_nitc__parser_nodes__AParExpr___n_expr
].val
; /* _n_expr on <self:AParExpr> */
9398 if (unlikely(var2
== NULL
)) {
9399 if(catchStack
.cursor
>= 0){
9400 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9402 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
9403 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2656);
9411 var3
= nitc__typing___nitc__typing__TypeVisitor___visit_expr(var_v
, var
);
9414 { /* Inline typing$AExpr$mtype= (self,var3) on <self:AParExpr> */
9415 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var3
; /* _mtype on <self:AParExpr> */
9421 /* method typing$AOnceExpr$accept_typing for (self: AOnceExpr, TypeVisitor) */
9422 void nitc__typing___AOnceExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
9423 val
* var_v
/* var v: TypeVisitor */;
9424 val
* var
/* : AExpr */;
9425 val
* var2
/* : AExpr */;
9426 val
* var3
/* : nullable MType */;
9429 { /* Inline parser_nodes$AOnceExpr$n_expr (self) on <self:AOnceExpr> */
9430 var2
= self
->attrs
[COLOR_nitc__parser_nodes__AOnceExpr___n_expr
].val
; /* _n_expr on <self:AOnceExpr> */
9431 if (unlikely(var2
== NULL
)) {
9432 if(catchStack
.cursor
>= 0){
9433 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9435 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
9436 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2095);
9444 var3
= nitc__typing___nitc__typing__TypeVisitor___visit_expr(var_v
, var
);
9447 { /* Inline typing$AExpr$mtype= (self,var3) on <self:AOnceExpr> */
9448 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var3
; /* _mtype on <self:AOnceExpr> */
9454 /* method typing$ASelfExpr$its_variable for (self: ASelfExpr): nullable Variable */
9455 val
* nitc__typing___ASelfExpr___AExpr__its_variable(val
* self
) {
9456 val
* var
/* : nullable Variable */;
9457 val
* var1
/* : nullable Variable */;
9458 var1
= self
->attrs
[COLOR_nitc__typing__ASelfExpr___its_variable
].val
; /* _its_variable on <self:ASelfExpr> */
9463 /* method typing$ASelfExpr$its_variable= for (self: ASelfExpr, nullable Variable) */
9464 void nitc__typing___ASelfExpr___its_variable_61d(val
* self
, val
* p0
) {
9465 self
->attrs
[COLOR_nitc__typing__ASelfExpr___its_variable
].val
= p0
; /* _its_variable on <self:ASelfExpr> */
9468 /* method typing$ASelfExpr$accept_typing for (self: ASelfExpr, TypeVisitor) */
9469 void nitc__typing___ASelfExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
9470 val
* var_v
/* var v: TypeVisitor */;
9471 short int var
/* : Bool */;
9472 short int var1
/* : Bool */;
9473 short int var3
/* : Bool */;
9474 short int var_
/* var : Bool */;
9475 short int var4
/* : Bool */;
9478 short int var5
/* : Bool */;
9479 static val
* varonce
;
9480 val
* var6
/* : String */;
9481 char* var7
/* : CString */;
9482 val
* var8
/* : String */;
9483 val
* var9
/* : nullable Int */;
9484 val
* var10
/* : nullable Int */;
9485 val
* var11
/* : nullable Bool */;
9486 val
* var12
/* : nullable Bool */;
9487 val
* var13
/* : Variable */;
9488 val
* var15
/* : Variable */;
9489 val
* var_variable
/* var variable: Variable */;
9490 val
* var17
/* : nullable MType */;
9493 { /* Inline typing$TypeVisitor$is_toplevel_context (var_v) on <var_v:TypeVisitor> */
9494 var3
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___is_toplevel_context
].s
; /* _is_toplevel_context on <var_v:TypeVisitor> */
9501 /* <self:ASelfExpr> isa AImplicitSelfExpr */
9502 cltype
= type_nitc__AImplicitSelfExpr
.color
;
9503 idtype
= type_nitc__AImplicitSelfExpr
.id
;
9504 if(cltype
>= self
->type
->table_size
) {
9507 var4
= self
->type
->type_table
[cltype
] == idtype
;
9515 if (likely(varonce
!=NULL
)) {
9518 var7
= "Error: `self` cannot be used in top-level method.";
9519 var9
= (val
*)(49l<<2|1);
9520 var10
= (val
*)(49l<<2|1);
9521 var11
= (val
*)((long)(0)<<2|3);
9522 var12
= (val
*)((long)(0)<<2|3);
9523 var8
= core__flat___CString___to_s_unsafe(var7
, var9
, var10
, var11
, var12
);
9528 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var6
); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
9533 { /* Inline typing$TypeVisitor$selfvariable (var_v) on <var_v:TypeVisitor> */
9534 var15
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___selfvariable
].val
; /* _selfvariable on <var_v:TypeVisitor> */
9535 if (unlikely(var15
== NULL
)) {
9536 if(catchStack
.cursor
>= 0){
9537 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9539 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable");
9540 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 51);
9544 RET_LABEL14
:(void)0;
9547 var_variable
= var13
;
9549 { /* Inline typing$ASelfExpr$its_variable= (self,var_variable) on <self:ASelfExpr> */
9550 self
->attrs
[COLOR_nitc__typing__ASelfExpr___its_variable
].val
= var_variable
; /* _its_variable on <self:ASelfExpr> */
9551 RET_LABEL16
:(void)0;
9555 var17
= nitc__typing___nitc__typing__TypeVisitor___get_variable(var_v
, self
, var_variable
);
9558 { /* Inline typing$AExpr$mtype= (self,var17) on <self:ASelfExpr> */
9559 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var17
; /* _mtype on <self:ASelfExpr> */
9560 RET_LABEL18
:(void)0;
9565 /* method typing$AImplicitSelfExpr$is_sys for (self: AImplicitSelfExpr): Bool */
9566 short int nitc__typing___AImplicitSelfExpr___is_sys(val
* self
) {
9567 short int var
/* : Bool */;
9568 short int var1
/* : Bool */;
9569 var1
= self
->attrs
[COLOR_nitc__typing__AImplicitSelfExpr___is_sys
].s
; /* _is_sys on <self:AImplicitSelfExpr> */
9574 /* method typing$AImplicitSelfExpr$is_sys= for (self: AImplicitSelfExpr, Bool) */
9575 void nitc__typing___AImplicitSelfExpr___is_sys_61d(val
* self
, short int p0
) {
9576 self
->attrs
[COLOR_nitc__typing__AImplicitSelfExpr___is_sys
].s
= p0
; /* _is_sys on <self:AImplicitSelfExpr> */
9579 /* method typing$ASendExpr$callsite for (self: ASendExpr): nullable CallSite */
9580 val
* nitc__typing___ASendExpr___callsite(val
* self
) {
9581 val
* var
/* : nullable CallSite */;
9582 val
* var1
/* : nullable CallSite */;
9583 var1
= self
->attrs
[COLOR_nitc__typing__ASendExpr___callsite
].val
; /* _callsite on <self:ASendExpr> */
9588 /* method typing$ASendExpr$callsite= for (self: ASendExpr, nullable CallSite) */
9589 void nitc__typing___ASendExpr___callsite_61d(val
* self
, val
* p0
) {
9590 self
->attrs
[COLOR_nitc__typing__ASendExpr___callsite
].val
= p0
; /* _callsite on <self:ASendExpr> */
9593 /* method typing$ASendExpr$bad_expr_message for (self: ASendExpr, AExpr): nullable String */
9594 val
* nitc__typing___ASendExpr___ANode__bad_expr_message(val
* self
, val
* p0
) {
9595 val
* var
/* : nullable String */;
9596 val
* var_child
/* var child: AExpr */;
9597 val
* var1
/* : AExpr */;
9598 val
* var3
/* : AExpr */;
9599 short int var4
/* : Bool */;
9600 val
* var_other
/* var other: nullable Object */;
9601 short int var6
/* : Bool */;
9602 short int var8
/* : Bool */;
9603 val
* var9
/* : NativeArray[String] */;
9604 static val
* varonce
;
9605 static val
* varonce10
;
9606 val
* var11
/* : String */;
9607 char* var12
/* : CString */;
9608 val
* var13
/* : String */;
9609 val
* var14
/* : nullable Int */;
9610 val
* var15
/* : nullable Int */;
9611 val
* var16
/* : nullable Bool */;
9612 val
* var17
/* : nullable Bool */;
9613 static val
* varonce18
;
9614 val
* var19
/* : String */;
9615 char* var20
/* : CString */;
9616 val
* var21
/* : String */;
9617 val
* var22
/* : nullable Int */;
9618 val
* var23
/* : nullable Int */;
9619 val
* var24
/* : nullable Bool */;
9620 val
* var25
/* : nullable Bool */;
9621 val
* var26
/* : String */;
9622 val
* var27
/* : String */;
9625 { /* Inline parser_nodes$ASendExpr$n_expr (self) on <self:ASendExpr> */
9626 var3
= self
->attrs
[COLOR_nitc__parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <self:ASendExpr> */
9627 if (unlikely(var3
== NULL
)) {
9628 if(catchStack
.cursor
>= 0){
9629 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9631 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
9632 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2103);
9640 { /* Inline kernel$Object$== (var_child,var1) on <var_child:AExpr> */
9643 { /* Inline kernel$Object$is_same_instance (var_child,var_other) on <var_child:AExpr> */
9644 var8
= var_child
== var_other
;
9656 if (unlikely(varonce
==NULL
)) {
9657 var9
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
9658 if (likely(varonce10
!=NULL
)) {
9661 var12
= "to be the receiver of `";
9662 var14
= (val
*)(23l<<2|1);
9663 var15
= (val
*)(23l<<2|1);
9664 var16
= (val
*)((long)(0)<<2|3);
9665 var17
= (val
*)((long)(0)<<2|3);
9666 var13
= core__flat___CString___to_s_unsafe(var12
, var14
, var15
, var16
, var17
);
9670 ((struct instance_core__NativeArray
*)var9
)->values
[0]=var11
;
9671 if (likely(varonce18
!=NULL
)) {
9675 var22
= (val
*)(1l<<2|1);
9676 var23
= (val
*)(1l<<2|1);
9677 var24
= (val
*)((long)(0)<<2|3);
9678 var25
= (val
*)((long)(0)<<2|3);
9679 var21
= core__flat___CString___to_s_unsafe(var20
, var22
, var23
, var24
, var25
);
9683 ((struct instance_core__NativeArray
*)var9
)->values
[2]=var19
;
9689 var26
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__typing__ASendExpr__property_name
]))(self
); /* property_name on <self:ASendExpr>*/
9691 ((struct instance_core__NativeArray
*)var9
)->values
[1]=var26
;
9693 var27
= ((val
*(*)(val
* self
))(var9
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var9
); /* native_to_s on <var9:NativeArray[String]>*/