1 #include "nitc__typing.sep.0.h"
2 /* method typing$ToolContext$typing_phase for (self: ToolContext): Phase */
3 val
* nitc__typing___ToolContext___typing_phase(val
* self
) {
4 val
* var
/* : Phase */;
5 val
* var1
/* : Phase */;
6 var1
= self
->attrs
[COLOR_nitc__typing__ToolContext___typing_phase
].val
; /* _typing_phase on <self:ToolContext> */
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 _typing_phase");
12 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 26);
19 /* method typing$TypingPhase$process_npropdef for (self: TypingPhase, APropdef) */
20 void nitc__typing___nitc__typing__TypingPhase___nitc__phase__Phase__process_npropdef(val
* self
, val
* p0
) {
21 val
* var_npropdef
/* var npropdef: APropdef */;
22 val
* var
/* : ToolContext */;
23 val
* var2
/* : ToolContext */;
24 val
* var3
/* : ModelBuilder */;
27 { /* Inline phase$Phase$toolcontext (self) on <self:TypingPhase> */
28 var2
= self
->attrs
[COLOR_nitc__phase__Phase___toolcontext
].val
; /* _toolcontext on <self:TypingPhase> */
29 if (unlikely(var2
== NULL
)) {
30 if(catchStack
.cursor
>= 0){
31 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
33 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
34 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase
, 210);
42 var3
= nitc__modelbuilder_base___ToolContext___modelbuilder(var
);
45 ((void(*)(val
* self
, val
* p0
))(var_npropdef
->class->vft
[COLOR_nitc__typing__APropdef__do_typing
]))(var_npropdef
, var3
); /* do_typing on <var_npropdef:APropdef>*/
49 /* method typing$TypeVisitor$modelbuilder for (self: TypeVisitor): ModelBuilder */
50 val
* nitc__typing___nitc__typing__TypeVisitor___modelbuilder(val
* self
) {
51 val
* var
/* : ModelBuilder */;
52 val
* var1
/* : ModelBuilder */;
53 var1
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
54 if (unlikely(var1
== NULL
)) {
55 if(catchStack
.cursor
>= 0){
56 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
58 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
59 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
66 /* method typing$TypeVisitor$modelbuilder= for (self: TypeVisitor, ModelBuilder) */
67 void nitc__typing___nitc__typing__TypeVisitor___modelbuilder_61d(val
* self
, val
* p0
) {
68 self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
= p0
; /* _modelbuilder on <self:TypeVisitor> */
71 /* method typing$TypeVisitor$mmodule for (self: TypeVisitor): MModule */
72 val
* nitc__typing___nitc__typing__TypeVisitor___mmodule(val
* self
) {
73 val
* var
/* : MModule */;
74 val
* var1
/* : MModule */;
75 var1
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <self:TypeVisitor> */
76 if (unlikely(var1
== NULL
)) {
77 if(catchStack
.cursor
>= 0){
78 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
80 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
81 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 37);
88 /* method typing$TypeVisitor$mmodule= for (self: TypeVisitor, MModule) */
89 void nitc__typing___nitc__typing__TypeVisitor___mmodule_61d(val
* self
, val
* p0
) {
90 self
->attrs
[COLOR_nitc__typing__TypeVisitor___mmodule
].val
= p0
; /* _mmodule on <self:TypeVisitor> */
93 /* method typing$TypeVisitor$anchor for (self: TypeVisitor): nullable MClassType */
94 val
* nitc__typing___nitc__typing__TypeVisitor___anchor(val
* self
) {
95 val
* var
/* : nullable MClassType */;
96 val
* var1
/* : nullable MClassType */;
97 var1
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___anchor
].val
; /* _anchor on <self:TypeVisitor> */
102 /* method typing$TypeVisitor$anchor= for (self: TypeVisitor, nullable MClassType) */
103 void nitc__typing___nitc__typing__TypeVisitor___anchor_61d(val
* self
, val
* p0
) {
104 self
->attrs
[COLOR_nitc__typing__TypeVisitor___anchor
].val
= p0
; /* _anchor on <self:TypeVisitor> */
107 /* method typing$TypeVisitor$mclassdef for (self: TypeVisitor): nullable MClassDef */
108 val
* nitc__typing___nitc__typing__TypeVisitor___mclassdef(val
* self
) {
109 val
* var
/* : nullable MClassDef */;
110 val
* var1
/* : nullable MClassDef */;
111 var1
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___mclassdef
].val
; /* _mclassdef on <self:TypeVisitor> */
116 /* method typing$TypeVisitor$mclassdef= for (self: TypeVisitor, nullable MClassDef) */
117 void nitc__typing___nitc__typing__TypeVisitor___mclassdef_61d(val
* self
, val
* p0
) {
118 self
->attrs
[COLOR_nitc__typing__TypeVisitor___mclassdef
].val
= p0
; /* _mclassdef on <self:TypeVisitor> */
121 /* method typing$TypeVisitor$mpropdef for (self: TypeVisitor): nullable MPropDef */
122 val
* nitc__typing___nitc__typing__TypeVisitor___mpropdef(val
* self
) {
123 val
* var
/* : nullable MPropDef */;
124 val
* var1
/* : nullable MPropDef */;
125 var1
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___mpropdef
].val
; /* _mpropdef on <self:TypeVisitor> */
130 /* method typing$TypeVisitor$mpropdef= for (self: TypeVisitor, nullable MPropDef) */
131 void nitc__typing___nitc__typing__TypeVisitor___mpropdef_61d(val
* self
, val
* p0
) {
132 self
->attrs
[COLOR_nitc__typing__TypeVisitor___mpropdef
].val
= p0
; /* _mpropdef on <self:TypeVisitor> */
135 /* method typing$TypeVisitor$selfvariable for (self: TypeVisitor): Variable */
136 val
* nitc__typing___nitc__typing__TypeVisitor___selfvariable(val
* self
) {
137 val
* var
/* : Variable */;
138 val
* var1
/* : Variable */;
139 var1
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___selfvariable
].val
; /* _selfvariable on <self:TypeVisitor> */
140 if (unlikely(var1
== NULL
)) {
141 if(catchStack
.cursor
>= 0){
142 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
144 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable");
145 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 51);
152 /* method typing$TypeVisitor$selfvariable= for (self: TypeVisitor, Variable) */
153 void nitc__typing___nitc__typing__TypeVisitor___selfvariable_61d(val
* self
, val
* p0
) {
154 self
->attrs
[COLOR_nitc__typing__TypeVisitor___selfvariable
].val
= p0
; /* _selfvariable on <self:TypeVisitor> */
157 /* method typing$TypeVisitor$is_toplevel_context for (self: TypeVisitor): Bool */
158 short int nitc__typing___nitc__typing__TypeVisitor___is_toplevel_context(val
* self
) {
159 short int var
/* : Bool */;
160 short int var1
/* : Bool */;
161 var1
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___is_toplevel_context
].s
; /* _is_toplevel_context on <self:TypeVisitor> */
166 /* method typing$TypeVisitor$is_toplevel_context= for (self: TypeVisitor, Bool) */
167 void nitc__typing___nitc__typing__TypeVisitor___is_toplevel_context_61d(val
* self
, short int p0
) {
168 self
->attrs
[COLOR_nitc__typing__TypeVisitor___is_toplevel_context
].s
= p0
; /* _is_toplevel_context on <self:TypeVisitor> */
171 /* method typing$TypeVisitor$init for (self: TypeVisitor) */
172 void nitc__typing___nitc__typing__TypeVisitor___core__kernel__Object__init(val
* self
) {
173 val
* var
/* : nullable MPropDef */;
174 val
* var2
/* : nullable MPropDef */;
175 val
* var_mpropdef
/* var mpropdef: nullable MPropDef */;
176 short int var3
/* : Bool */;
177 short int var4
/* : Bool */;
178 val
* var_other
/* var other: nullable Object */;
179 short int var6
/* : Bool */;
180 short int var7
/* : Bool */;
181 val
* var9
/* : MClassDef */;
182 val
* var11
/* : MClassDef */;
183 val
* var_mclassdef
/* var mclassdef: MClassDef */;
184 val
* var13
/* : MClassType */;
185 val
* var15
/* : MClassType */;
186 val
* var17
/* : MClass */;
187 val
* var19
/* : MClass */;
188 val
* var_mclass
/* var mclass: MClass */;
189 val
* var20
/* : Variable */;
191 val
* var21
/* : String */;
192 char* var22
/* : CString */;
193 val
* var23
/* : String */;
194 val
* var24
/* : nullable Int */;
195 val
* var25
/* : nullable Int */;
196 val
* var26
/* : nullable Bool */;
197 val
* var27
/* : nullable Bool */;
198 val
* var_selfvariable
/* var selfvariable: Variable */;
199 val
* var29
/* : MClassType */;
200 val
* var31
/* : MClassType */;
201 val
* var33
/* : MProperty */;
202 val
* var35
/* : MProperty */;
203 val
* var_mprop
/* var mprop: MProperty */;
204 short int var36
/* : Bool */;
205 short int var37
/* : Bool */;
208 short int var_
/* var : Bool */;
209 short int var38
/* : Bool */;
210 short int var40
/* : Bool */;
212 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc__typing___nitc__typing__TypeVisitor___core__kernel__Object__init
]))(self
); /* init on <self:TypeVisitor>*/
215 { /* Inline typing$TypeVisitor$mpropdef (self) on <self:TypeVisitor> */
216 var2
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___mpropdef
].val
; /* _mpropdef on <self:TypeVisitor> */
222 if (var_mpropdef
== NULL
) {
223 var3
= 0; /* is null */
225 var3
= 1; /* arg is null and recv is not */
228 { /* Inline kernel$Object$!= (var_mpropdef,((val*)NULL)) on <var_mpropdef:nullable MPropDef> */
229 var_other
= ((val
*)NULL
);
231 var6
= ((short int(*)(val
* self
, val
* p0
))(var_mpropdef
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_mpropdef
, var_other
); /* == on <var_mpropdef:nullable MPropDef(MPropDef)>*/
242 { /* Inline typing$TypeVisitor$mpropdef= (self,var_mpropdef) on <self:TypeVisitor> */
243 self
->attrs
[COLOR_nitc__typing__TypeVisitor___mpropdef
].val
= var_mpropdef
; /* _mpropdef on <self:TypeVisitor> */
248 { /* Inline model$MPropDef$mclassdef (var_mpropdef) on <var_mpropdef:nullable MPropDef(MPropDef)> */
249 var11
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:nullable MPropDef(MPropDef)> */
250 if (unlikely(var11
== NULL
)) {
251 if(catchStack
.cursor
>= 0){
252 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
254 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
255 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2354);
262 var_mclassdef
= var9
;
264 { /* Inline typing$TypeVisitor$mclassdef= (self,var_mclassdef) on <self:TypeVisitor> */
265 self
->attrs
[COLOR_nitc__typing__TypeVisitor___mclassdef
].val
= var_mclassdef
; /* _mclassdef on <self:TypeVisitor> */
270 { /* Inline model$MClassDef$bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
271 var15
= var_mclassdef
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
272 if (unlikely(var15
== NULL
)) {
273 if(catchStack
.cursor
>= 0){
274 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
276 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
277 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 594);
285 { /* Inline typing$TypeVisitor$anchor= (self,var13) on <self:TypeVisitor> */
286 self
->attrs
[COLOR_nitc__typing__TypeVisitor___anchor
].val
= var13
; /* _anchor on <self:TypeVisitor> */
291 { /* Inline model$MClassDef$mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
292 var19
= var_mclassdef
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
293 if (unlikely(var19
== NULL
)) {
294 if(catchStack
.cursor
>= 0){
295 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
297 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
298 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 591);
306 var20
= NEW_nitc__Variable(&type_nitc__Variable
);
307 if (likely(varonce
!=NULL
)) {
311 var24
= (val
*)(4l<<2|1);
312 var25
= (val
*)(4l<<2|1);
313 var26
= (val
*)((long)(0)<<2|3);
314 var27
= (val
*)((long)(0)<<2|3);
315 var23
= core__flat___CString___to_s_unsafe(var22
, var24
, var25
, var26
, var27
);
320 ((void(*)(val
* self
, val
* p0
))(var20
->class->vft
[COLOR_nitc__scope__Variable__name_61d
]))(var20
, var21
); /* name= on <var20:Variable>*/
323 ((void(*)(val
* self
))(var20
->class->vft
[COLOR_core__kernel__Object__init
]))(var20
); /* init on <var20:Variable>*/
325 var_selfvariable
= var20
;
327 { /* Inline typing$TypeVisitor$selfvariable= (self,var_selfvariable) on <self:TypeVisitor> */
328 self
->attrs
[COLOR_nitc__typing__TypeVisitor___selfvariable
].val
= var_selfvariable
; /* _selfvariable on <self:TypeVisitor> */
333 { /* Inline model$MClass$mclass_type (var_mclass) on <var_mclass:MClass> */
334 var31
= var_mclass
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:MClass> */
335 if (unlikely(var31
== NULL
)) {
336 if(catchStack
.cursor
>= 0){
337 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
339 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
340 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 520);
348 { /* Inline typing$Variable$declared_type= (var_selfvariable,var29) on <var_selfvariable:Variable> */
349 var_selfvariable
->attrs
[COLOR_nitc__typing__Variable___declared_type
].val
= var29
; /* _declared_type on <var_selfvariable:Variable> */
354 { /* Inline model$MPropDef$mproperty (var_mpropdef) on <var_mpropdef:nullable MPropDef(MPropDef)> */
355 var35
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MPropDef(MPropDef)> */
356 if (unlikely(var35
== NULL
)) {
357 if(catchStack
.cursor
>= 0){
358 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
360 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
361 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2357);
369 /* <var_mprop:MProperty> isa MMethod */
370 cltype
= type_nitc__MMethod
.color
;
371 idtype
= type_nitc__MMethod
.id
;
372 if(cltype
>= var_mprop
->type
->table_size
) {
375 var37
= var_mprop
->type
->type_table
[cltype
] == idtype
;
380 { /* Inline model$MMethod$is_new (var_mprop) on <var_mprop:MProperty(MMethod)> */
381 var40
= var_mprop
->attrs
[COLOR_nitc__model__MMethod___is_new
].s
; /* _is_new on <var_mprop:MProperty(MMethod)> */
392 { /* Inline typing$TypeVisitor$is_toplevel_context= (self,1) on <self:TypeVisitor> */
393 self
->attrs
[COLOR_nitc__typing__TypeVisitor___is_toplevel_context
].s
= 1; /* _is_toplevel_context on <self:TypeVisitor> */
403 /* method typing$TypeVisitor$anchor_to for (self: TypeVisitor, MType): MType */
404 val
* nitc__typing___nitc__typing__TypeVisitor___anchor_to(val
* self
, val
* p0
) {
405 val
* var
/* : MType */;
406 val
* var_mtype
/* var mtype: MType */;
407 val
* var1
/* : nullable MClassType */;
408 val
* var3
/* : nullable MClassType */;
409 val
* var_anchor
/* var anchor: nullable MClassType */;
410 short int var4
/* : Bool */;
411 short int var5
/* : Bool */;
412 val
* var_other
/* var other: nullable Object */;
413 short int var7
/* : Bool */;
414 short int var9
/* : Bool */;
415 short int var10
/* : Bool */;
416 short int var11
/* : Bool */;
417 val
* var12
/* : MModule */;
418 val
* var14
/* : MModule */;
419 val
* var15
/* : MType */;
422 { /* Inline typing$TypeVisitor$anchor (self) on <self:TypeVisitor> */
423 var3
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___anchor
].val
; /* _anchor on <self:TypeVisitor> */
429 if (var_anchor
== NULL
) {
430 var4
= 1; /* is null */
432 var4
= 0; /* arg is null but recv is not */
435 { /* Inline kernel$Object$== (var_anchor,((val*)NULL)) on <var_anchor:nullable MClassType> */
436 var_other
= ((val
*)NULL
);
438 { /* Inline kernel$Object$is_same_instance (var_anchor,var_other) on <var_anchor:nullable MClassType(MClassType)> */
439 var9
= var_anchor
== var_other
;
453 var10
= ((short int(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(var_mtype
); /* need_anchor on <var_mtype:MType>*/
456 if (unlikely(!var11
)) {
457 if(catchStack
.cursor
>= 0){
458 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
460 PRINT_ERROR("Runtime error: %s", "Assert failed");
461 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 86);
469 { /* Inline typing$TypeVisitor$mmodule (self) on <self:TypeVisitor> */
470 var14
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <self:TypeVisitor> */
471 if (unlikely(var14
== NULL
)) {
472 if(catchStack
.cursor
>= 0){
473 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
475 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
476 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 37);
484 var15
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_mtype
->class->vft
[COLOR_nitc__model__MType__anchor_to
]))(var_mtype
, var12
, var_anchor
); /* anchor_to on <var_mtype:MType>*/
491 /* method typing$TypeVisitor$is_subtype for (self: TypeVisitor, MType, MType): Bool */
492 short int nitc__typing___nitc__typing__TypeVisitor___is_subtype(val
* self
, val
* p0
, val
* p1
) {
493 short int var
/* : Bool */;
494 val
* var_sub
/* var sub: MType */;
495 val
* var_sup
/* var sup: MType */;
496 val
* var1
/* : MModule */;
497 val
* var3
/* : MModule */;
498 val
* var4
/* : nullable MClassType */;
499 val
* var6
/* : nullable MClassType */;
500 short int var7
/* : Bool */;
504 { /* Inline typing$TypeVisitor$mmodule (self) on <self:TypeVisitor> */
505 var3
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <self:TypeVisitor> */
506 if (unlikely(var3
== NULL
)) {
507 if(catchStack
.cursor
>= 0){
508 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
510 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
511 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 37);
519 { /* Inline typing$TypeVisitor$anchor (self) on <self:TypeVisitor> */
520 var6
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___anchor
].val
; /* _anchor on <self:TypeVisitor> */
526 var7
= nitc___nitc__MType___is_subtype(var_sub
, var1
, var4
, var_sup
);
533 /* method typing$TypeVisitor$resolve_for for (self: TypeVisitor, MType, MType, Bool): MType */
534 val
* nitc__typing___nitc__typing__TypeVisitor___resolve_for(val
* self
, val
* p0
, val
* p1
, short int p2
) {
535 val
* var
/* : MType */;
536 val
* var_mtype
/* var mtype: MType */;
537 val
* var_subtype
/* var subtype: MType */;
538 short int var_for_self
/* var for_self: Bool */;
539 val
* var1
/* : nullable MClassType */;
540 val
* var3
/* : nullable MClassType */;
541 val
* var4
/* : MModule */;
542 val
* var6
/* : MModule */;
543 short int var7
/* : Bool */;
544 val
* var8
/* : MType */;
545 val
* var_res
/* var res: MType */;
550 { /* Inline typing$TypeVisitor$anchor (self) on <self:TypeVisitor> */
551 var3
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___anchor
].val
; /* _anchor on <self:TypeVisitor> */
557 { /* Inline typing$TypeVisitor$mmodule (self) on <self:TypeVisitor> */
558 var6
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <self:TypeVisitor> */
559 if (unlikely(var6
== NULL
)) {
560 if(catchStack
.cursor
>= 0){
561 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
563 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
564 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 37);
571 var7
= !var_for_self
;
573 var8
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(var_mtype
->class->vft
[COLOR_nitc__model__MType__resolve_for
]))(var_mtype
, var_subtype
, var1
, var4
, var7
); /* resolve_for on <var_mtype:MType>*/
581 /* method typing$TypeVisitor$check_subtype for (self: TypeVisitor, ANode, MType, MType, Bool): nullable MType */
582 val
* nitc__typing___nitc__typing__TypeVisitor___check_subtype(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
583 val
* var
/* : nullable MType */;
584 val
* var_node
/* var node: ANode */;
585 val
* var_sub
/* var sub: MType */;
586 val
* var_sup
/* var sup: MType */;
587 short int var_autocast
/* var autocast: Bool */;
588 short int var1
/* : Bool */;
589 short int var2
/* : Bool */;
590 short int var_
/* var : Bool */;
591 val
* var3
/* : MType */;
592 short int var4
/* : Bool */;
593 short int var5
/* : Bool */;
596 short int var6
/* : Bool */;
597 val
* var7
/* : MType */;
598 val
* var_u
/* var u: MType */;
599 val
* var8
/* : ModelBuilder */;
600 val
* var10
/* : ModelBuilder */;
601 val
* var11
/* : NativeArray[String] */;
603 static val
* varonce12
;
604 val
* var13
/* : String */;
605 char* var14
/* : CString */;
606 val
* var15
/* : String */;
607 val
* var16
/* : nullable Int */;
608 val
* var17
/* : nullable Int */;
609 val
* var18
/* : nullable Bool */;
610 val
* var19
/* : nullable Bool */;
611 static val
* varonce20
;
612 val
* var21
/* : String */;
613 char* var22
/* : CString */;
614 val
* var23
/* : String */;
615 val
* var24
/* : nullable Int */;
616 val
* var25
/* : nullable Int */;
617 val
* var26
/* : nullable Bool */;
618 val
* var27
/* : nullable Bool */;
619 static val
* varonce28
;
620 val
* var29
/* : String */;
621 char* var30
/* : CString */;
622 val
* var31
/* : String */;
623 val
* var32
/* : nullable Int */;
624 val
* var33
/* : nullable Int */;
625 val
* var34
/* : nullable Bool */;
626 val
* var35
/* : nullable Bool */;
627 static val
* varonce36
;
628 val
* var37
/* : String */;
629 char* var38
/* : CString */;
630 val
* var39
/* : String */;
631 val
* var40
/* : nullable Int */;
632 val
* var41
/* : nullable Int */;
633 val
* var42
/* : nullable Bool */;
634 val
* var43
/* : nullable Bool */;
635 val
* var44
/* : String */;
636 val
* var45
/* : String */;
637 val
* var46
/* : String */;
638 val
* var47
/* : String */;
639 val
* var48
/* : ModelBuilder */;
640 val
* var50
/* : ModelBuilder */;
641 val
* var52
/* : NativeArray[String] */;
642 static val
* varonce51
;
643 static val
* varonce53
;
644 val
* var54
/* : String */;
645 char* var55
/* : CString */;
646 val
* var56
/* : String */;
647 val
* var57
/* : nullable Int */;
648 val
* var58
/* : nullable Int */;
649 val
* var59
/* : nullable Bool */;
650 val
* var60
/* : nullable Bool */;
651 static val
* varonce61
;
652 val
* var62
/* : String */;
653 char* var63
/* : CString */;
654 val
* var64
/* : String */;
655 val
* var65
/* : nullable Int */;
656 val
* var66
/* : nullable Int */;
657 val
* var67
/* : nullable Bool */;
658 val
* var68
/* : nullable Bool */;
659 static val
* varonce69
;
660 val
* var70
/* : String */;
661 char* var71
/* : CString */;
662 val
* var72
/* : String */;
663 val
* var73
/* : nullable Int */;
664 val
* var74
/* : nullable Int */;
665 val
* var75
/* : nullable Bool */;
666 val
* var76
/* : nullable Bool */;
667 val
* var77
/* : String */;
668 val
* var78
/* : String */;
669 val
* var79
/* : String */;
675 var1
= nitc__typing___nitc__typing__TypeVisitor___is_subtype(self
, var_sub
, var_sup
);
685 var3
= nitc__typing___nitc__typing__TypeVisitor___anchor_to(self
, var_sup
);
688 var4
= nitc__typing___nitc__typing__TypeVisitor___is_subtype(self
, var_sub
, var3
);
699 /* <var_sup:MType> isa MErrorType */
700 cltype
= type_nitc__MErrorType
.color
;
701 idtype
= type_nitc__MErrorType
.id
;
702 if(cltype
>= var_sup
->type
->table_size
) {
705 var5
= var_sup
->type
->type_table
[cltype
] == idtype
;
713 var6
= ((short int(*)(val
* self
))(var_sub
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(var_sub
); /* need_anchor on <var_sub:MType>*/
717 var7
= nitc__typing___nitc__typing__TypeVisitor___anchor_to(self
, var_sub
);
721 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
722 var10
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
723 if (unlikely(var10
== NULL
)) {
724 if(catchStack
.cursor
>= 0){
725 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
727 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
728 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
735 if (unlikely(varonce
==NULL
)) {
736 var11
= NEW_core__NativeArray((int)7l, &type_core__NativeArray__core__String
);
737 if (likely(varonce12
!=NULL
)) {
740 var14
= "Type Error: expected `";
741 var16
= (val
*)(22l<<2|1);
742 var17
= (val
*)(22l<<2|1);
743 var18
= (val
*)((long)(0)<<2|3);
744 var19
= (val
*)((long)(0)<<2|3);
745 var15
= core__flat___CString___to_s_unsafe(var14
, var16
, var17
, var18
, var19
);
749 ((struct instance_core__NativeArray
*)var11
)->values
[0]=var13
;
750 if (likely(varonce20
!=NULL
)) {
754 var24
= (val
*)(8l<<2|1);
755 var25
= (val
*)(8l<<2|1);
756 var26
= (val
*)((long)(0)<<2|3);
757 var27
= (val
*)((long)(0)<<2|3);
758 var23
= core__flat___CString___to_s_unsafe(var22
, var24
, var25
, var26
, var27
);
762 ((struct instance_core__NativeArray
*)var11
)->values
[2]=var21
;
763 if (likely(varonce28
!=NULL
)) {
767 var32
= (val
*)(2l<<2|1);
768 var33
= (val
*)(2l<<2|1);
769 var34
= (val
*)((long)(0)<<2|3);
770 var35
= (val
*)((long)(0)<<2|3);
771 var31
= core__flat___CString___to_s_unsafe(var30
, var32
, var33
, var34
, var35
);
775 ((struct instance_core__NativeArray
*)var11
)->values
[4]=var29
;
776 if (likely(varonce36
!=NULL
)) {
780 var40
= (val
*)(2l<<2|1);
781 var41
= (val
*)(2l<<2|1);
782 var42
= (val
*)((long)(0)<<2|3);
783 var43
= (val
*)((long)(0)<<2|3);
784 var39
= core__flat___CString___to_s_unsafe(var38
, var40
, var41
, var42
, var43
);
788 ((struct instance_core__NativeArray
*)var11
)->values
[6]=var37
;
794 var44
= ((val
*(*)(val
* self
))(var_sup
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_sup
); /* to_s on <var_sup:MType>*/
796 ((struct instance_core__NativeArray
*)var11
)->values
[1]=var44
;
798 var45
= ((val
*(*)(val
* self
))(var_sub
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_sub
); /* to_s on <var_sub:MType>*/
800 ((struct instance_core__NativeArray
*)var11
)->values
[3]=var45
;
802 var46
= ((val
*(*)(val
* self
))(var_u
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_u
); /* to_s on <var_u:MType>*/
804 ((struct instance_core__NativeArray
*)var11
)->values
[5]=var46
;
806 var47
= ((val
*(*)(val
* self
))(var11
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var11
); /* native_to_s on <var11:NativeArray[String]>*/
810 nitc___nitc__ModelBuilder___error(var8
, var_node
, var47
); /* Direct call modelbuilder_base$ModelBuilder$error on <var8:ModelBuilder>*/
814 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
815 var50
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
816 if (unlikely(var50
== NULL
)) {
817 if(catchStack
.cursor
>= 0){
818 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
820 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
821 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
828 if (unlikely(varonce51
==NULL
)) {
829 var52
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
830 if (likely(varonce53
!=NULL
)) {
833 var55
= "Type Error: expected `";
834 var57
= (val
*)(22l<<2|1);
835 var58
= (val
*)(22l<<2|1);
836 var59
= (val
*)((long)(0)<<2|3);
837 var60
= (val
*)((long)(0)<<2|3);
838 var56
= core__flat___CString___to_s_unsafe(var55
, var57
, var58
, var59
, var60
);
842 ((struct instance_core__NativeArray
*)var52
)->values
[0]=var54
;
843 if (likely(varonce61
!=NULL
)) {
847 var65
= (val
*)(8l<<2|1);
848 var66
= (val
*)(8l<<2|1);
849 var67
= (val
*)((long)(0)<<2|3);
850 var68
= (val
*)((long)(0)<<2|3);
851 var64
= core__flat___CString___to_s_unsafe(var63
, var65
, var66
, var67
, var68
);
855 ((struct instance_core__NativeArray
*)var52
)->values
[2]=var62
;
856 if (likely(varonce69
!=NULL
)) {
860 var73
= (val
*)(2l<<2|1);
861 var74
= (val
*)(2l<<2|1);
862 var75
= (val
*)((long)(0)<<2|3);
863 var76
= (val
*)((long)(0)<<2|3);
864 var72
= core__flat___CString___to_s_unsafe(var71
, var73
, var74
, var75
, var76
);
868 ((struct instance_core__NativeArray
*)var52
)->values
[4]=var70
;
874 var77
= ((val
*(*)(val
* self
))(var_sup
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_sup
); /* to_s on <var_sup:MType>*/
876 ((struct instance_core__NativeArray
*)var52
)->values
[1]=var77
;
878 var78
= ((val
*(*)(val
* self
))(var_sub
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_sub
); /* to_s on <var_sub:MType>*/
880 ((struct instance_core__NativeArray
*)var52
)->values
[3]=var78
;
882 var79
= ((val
*(*)(val
* self
))(var52
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var52
); /* native_to_s on <var52:NativeArray[String]>*/
886 nitc___nitc__ModelBuilder___error(var48
, var_node
, var79
); /* Direct call modelbuilder_base$ModelBuilder$error on <var48:ModelBuilder>*/
894 /* method typing$TypeVisitor$visit_stmt for (self: TypeVisitor, nullable AExpr) */
895 void nitc__typing___nitc__typing__TypeVisitor___visit_stmt(val
* self
, val
* p0
) {
896 val
* var_nexpr
/* var nexpr: nullable AExpr */;
897 short int var
/* : Bool */;
898 short int var1
/* : Bool */;
899 val
* var_other
/* var other: nullable Object */;
900 short int var3
/* : Bool */;
901 short int var5
/* : Bool */;
903 if (var_nexpr
== NULL
) {
904 var
= 1; /* is null */
906 var
= 0; /* arg is null but recv is not */
909 { /* Inline kernel$Object$== (var_nexpr,((val*)NULL)) on <var_nexpr:nullable AExpr> */
910 var_other
= ((val
*)NULL
);
912 { /* Inline kernel$Object$is_same_instance (var_nexpr,var_other) on <var_nexpr:nullable AExpr(AExpr)> */
913 var5
= var_nexpr
== var_other
;
930 ((void(*)(val
* self
, val
* p0
))(var_nexpr
->class->vft
[COLOR_nitc__typing__AExpr__accept_typing
]))(var_nexpr
, self
); /* accept_typing on <var_nexpr:nullable AExpr(AExpr)>*/
934 /* method typing$TypeVisitor$visit_expr for (self: TypeVisitor, AExpr): nullable MType */
935 val
* nitc__typing___nitc__typing__TypeVisitor___visit_expr(val
* self
, val
* p0
) {
936 val
* var
/* : nullable MType */;
937 val
* var_nexpr
/* var nexpr: AExpr */;
938 val
* var1
/* : nullable MType */;
939 val
* var_mtype
/* var mtype: nullable MType */;
940 short int var2
/* : Bool */;
941 short int var3
/* : Bool */;
942 val
* var_other
/* var other: nullable Object */;
943 short int var5
/* : Bool */;
944 short int var6
/* : Bool */;
945 short int var7
/* : Bool */;
946 short int var9
/* : Bool */;
947 short int var10
/* : Bool */;
948 val
* var11
/* : ModelBuilder */;
949 val
* var13
/* : ModelBuilder */;
950 val
* var14
/* : ToolContext */;
951 val
* var16
/* : ToolContext */;
952 long var17
/* : Int */;
953 long var19
/* : Int */;
954 short int var20
/* : Bool */;
955 short int var22
/* : Bool */;
958 const char* var_class_name
;
959 short int var23
/* : Bool */;
960 short int var24
/* : Bool */;
961 val
* var25
/* : ModelBuilder */;
962 val
* var27
/* : ModelBuilder */;
963 val
* var28
/* : ToolContext */;
964 val
* var30
/* : ToolContext */;
965 long var31
/* : Int */;
966 long var33
/* : Int */;
967 short int var34
/* : Bool */;
968 short int var36
/* : Bool */;
971 const char* var_class_name39
;
972 short int var40
/* : Bool */;
974 val
* var41
/* : String */;
975 char* var42
/* : CString */;
976 val
* var43
/* : String */;
977 val
* var44
/* : nullable Int */;
978 val
* var45
/* : nullable Int */;
979 val
* var46
/* : nullable Bool */;
980 val
* var47
/* : nullable Bool */;
981 val
* var_more_message
/* var more_message: nullable Object */;
982 val
* var48
/* : nullable ANode */;
983 val
* var50
/* : nullable ANode */;
984 val
* var_p
/* var p: nullable ANode */;
985 short int var51
/* : Bool */;
986 short int var52
/* : Bool */;
987 short int var54
/* : Bool */;
988 short int var55
/* : Bool */;
989 val
* var56
/* : nullable String */;
990 short int var57
/* : Bool */;
991 short int var58
/* : Bool */;
992 static val
* varonce59
;
993 val
* var60
/* : String */;
994 char* var61
/* : CString */;
995 val
* var62
/* : String */;
996 val
* var63
/* : nullable Int */;
997 val
* var64
/* : nullable Int */;
998 val
* var65
/* : nullable Bool */;
999 val
* var66
/* : nullable Bool */;
1000 static val
* varonce67
;
1001 val
* var68
/* : String */;
1002 char* var69
/* : CString */;
1003 val
* var70
/* : String */;
1004 val
* var71
/* : nullable Int */;
1005 val
* var72
/* : nullable Int */;
1006 val
* var73
/* : nullable Bool */;
1007 val
* var74
/* : nullable Bool */;
1008 val
* var75
/* : Text */;
1009 val
* var77
/* : NativeArray[String] */;
1010 static val
* varonce76
;
1011 static val
* varonce78
;
1012 val
* var79
/* : String */;
1013 char* var80
/* : CString */;
1014 val
* var81
/* : String */;
1015 val
* var82
/* : nullable Int */;
1016 val
* var83
/* : nullable Int */;
1017 val
* var84
/* : nullable Bool */;
1018 val
* var85
/* : nullable Bool */;
1019 static val
* varonce86
;
1020 val
* var87
/* : String */;
1021 char* var88
/* : CString */;
1022 val
* var89
/* : String */;
1023 val
* var90
/* : nullable Int */;
1024 val
* var91
/* : nullable Int */;
1025 val
* var92
/* : nullable Bool */;
1026 val
* var93
/* : nullable Bool */;
1027 val
* var94
/* : String */;
1030 ((void(*)(val
* self
, val
* p0
))(var_nexpr
->class->vft
[COLOR_nitc__typing__AExpr__accept_typing
]))(var_nexpr
, self
); /* accept_typing on <var_nexpr:AExpr>*/
1033 var1
= ((val
*(*)(val
* self
))(var_nexpr
->class->vft
[COLOR_nitc__typing__AExpr__mtype
]))(var_nexpr
); /* mtype on <var_nexpr:AExpr>*/
1036 if (var_mtype
== NULL
) {
1037 var2
= 0; /* is null */
1039 var2
= 1; /* arg is null and recv is not */
1042 { /* Inline kernel$Object$!= (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
1043 var_other
= ((val
*)NULL
);
1045 var5
= ((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)>*/
1060 { /* Inline typing$AExpr$is_typed (var_nexpr) on <var_nexpr:AExpr> */
1061 var9
= var_nexpr
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
; /* _is_typed on <var_nexpr:AExpr> */
1069 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
1070 var13
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
1071 if (unlikely(var13
== NULL
)) {
1072 if(catchStack
.cursor
>= 0){
1073 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1075 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1076 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
1080 RET_LABEL12
:(void)0;
1084 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var11) on <var11:ModelBuilder> */
1085 var16
= var11
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var11:ModelBuilder> */
1086 if (unlikely(var16
== NULL
)) {
1087 if(catchStack
.cursor
>= 0){
1088 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1090 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1091 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
1095 RET_LABEL15
:(void)0;
1099 { /* Inline toolcontext$ToolContext$error_count (var14) on <var14:ToolContext> */
1100 var19
= var14
->attrs
[COLOR_nitc__toolcontext__ToolContext___error_count
].l
; /* _error_count on <var14:ToolContext> */
1102 RET_LABEL18
:(void)0;
1106 { /* Inline kernel$Int$> (var17,0l) on <var17:Int> */
1107 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
1108 /* <0l:Int> isa OTHER */
1109 var22
= 1; /* easy <0l:Int> isa OTHER*/
1110 if (unlikely(!var22
)) {
1111 var_class_name
= type_core__Int
.name
;
1112 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1113 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
1119 RET_LABEL21
:(void)0;
1125 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
1126 var27
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
1127 if (unlikely(var27
== NULL
)) {
1128 if(catchStack
.cursor
>= 0){
1129 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1131 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1132 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
1136 RET_LABEL26
:(void)0;
1140 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var25) on <var25:ModelBuilder> */
1141 var30
= var25
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var25:ModelBuilder> */
1142 if (unlikely(var30
== NULL
)) {
1143 if(catchStack
.cursor
>= 0){
1144 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1146 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1147 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
1151 RET_LABEL29
:(void)0;
1155 { /* Inline toolcontext$ToolContext$verbose_level (var28) on <var28:ToolContext> */
1156 var33
= var28
->attrs
[COLOR_nitc__toolcontext__ToolContext___verbose_level
].l
; /* _verbose_level on <var28:ToolContext> */
1158 RET_LABEL32
:(void)0;
1162 { /* Inline kernel$Int$> (var31,1l) on <var31:Int> */
1163 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1164 /* <1l:Int> isa OTHER */
1165 var36
= 1; /* easy <1l:Int> isa OTHER*/
1166 if (unlikely(!var36
)) {
1167 var_class_name39
= type_core__Int
.name
;
1168 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39
);
1169 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
1175 RET_LABEL35
:(void)0;
1179 if (likely(varonce
!=NULL
)) {
1182 var42
= "No return type but no error.";
1183 var44
= (val
*)(28l<<2|1);
1184 var45
= (val
*)(28l<<2|1);
1185 var46
= (val
*)((long)(0)<<2|3);
1186 var47
= (val
*)((long)(0)<<2|3);
1187 var43
= core__flat___CString___to_s_unsafe(var42
, var44
, var45
, var46
, var47
);
1192 nitc___nitc__ANode___debug(var_nexpr
, var41
); /* Direct call parser_nodes$ANode$debug on <var_nexpr:AExpr>*/
1202 var_more_message
= ((val
*)NULL
);
1204 { /* Inline parser_nodes$ANode$parent (var_nexpr) on <var_nexpr:AExpr> */
1205 var50
= var_nexpr
->attrs
[COLOR_nitc__parser_nodes__ANode___parent
].val
; /* _parent on <var_nexpr:AExpr> */
1207 RET_LABEL49
:(void)0;
1211 if (var_p
== NULL
) {
1212 var51
= 0; /* is null */
1214 var51
= 1; /* arg is null and recv is not */
1217 { /* Inline kernel$Object$!= (var_p,((val*)NULL)) on <var_p:nullable ANode> */
1218 var_other
= ((val
*)NULL
);
1220 var54
= ((short int(*)(val
* self
, val
* p0
))(var_p
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_p
, var_other
); /* == on <var_p:nullable ANode(ANode)>*/
1225 RET_LABEL53
:(void)0;
1231 var56
= ((val
*(*)(val
* self
, val
* p0
))(var_p
->class->vft
[COLOR_nitc__typing__ANode__bad_expr_message
]))(var_p
, var_nexpr
); /* bad_expr_message on <var_p:nullable ANode(ANode)>*/
1233 var_more_message
= var56
;
1236 if (var_more_message
== NULL
) {
1237 var57
= 1; /* is null */
1239 var57
= 0; /* arg is null but recv is not */
1242 var58
= ((short int(*)(val
* self
, val
* p0
))(var_more_message
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_more_message
, ((val
*)NULL
)); /* == on <var_more_message:nullable Object(nullable String)>*/
1246 if (likely(varonce59
!=NULL
)) {
1250 var63
= (val
*)(0l<<2|1);
1251 var64
= (val
*)(0l<<2|1);
1252 var65
= (val
*)((long)(0)<<2|3);
1253 var66
= (val
*)((long)(0)<<2|3);
1254 var62
= core__flat___CString___to_s_unsafe(var61
, var63
, var64
, var65
, var66
);
1258 var_more_message
= var60
;
1260 if (likely(varonce67
!=NULL
)) {
1264 var71
= (val
*)(1l<<2|1);
1265 var72
= (val
*)(1l<<2|1);
1266 var73
= (val
*)((long)(0)<<2|3);
1267 var74
= (val
*)((long)(0)<<2|3);
1268 var70
= core__flat___CString___to_s_unsafe(var69
, var71
, var72
, var73
, var74
);
1273 var75
= ((val
*(*)(val
* self
, val
* p0
))(var68
->class->vft
[COLOR_core__abstract_text__Text___43d
]))(var68
, var_more_message
); /* + on <var68:String>*/
1275 var_more_message
= var75
;
1277 if (unlikely(varonce76
==NULL
)) {
1278 var77
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
1279 if (likely(varonce78
!=NULL
)) {
1282 var80
= "Error: expected an expression";
1283 var82
= (val
*)(29l<<2|1);
1284 var83
= (val
*)(29l<<2|1);
1285 var84
= (val
*)((long)(0)<<2|3);
1286 var85
= (val
*)((long)(0)<<2|3);
1287 var81
= core__flat___CString___to_s_unsafe(var80
, var82
, var83
, var84
, var85
);
1291 ((struct instance_core__NativeArray
*)var77
)->values
[0]=var79
;
1292 if (likely(varonce86
!=NULL
)) {
1296 var90
= (val
*)(1l<<2|1);
1297 var91
= (val
*)(1l<<2|1);
1298 var92
= (val
*)((long)(0)<<2|3);
1299 var93
= (val
*)((long)(0)<<2|3);
1300 var89
= core__flat___CString___to_s_unsafe(var88
, var90
, var91
, var92
, var93
);
1304 ((struct instance_core__NativeArray
*)var77
)->values
[2]=var87
;
1309 ((struct instance_core__NativeArray
*)var77
)->values
[1]=var_more_message
;
1311 var94
= ((val
*(*)(val
* self
))(var77
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var77
); /* native_to_s on <var77:NativeArray[String]>*/
1315 nitc__typing___nitc__typing__TypeVisitor___error(self
, var_nexpr
, var94
); /* Direct call typing$TypeVisitor$error on <self:TypeVisitor>*/
1322 /* method typing$TypeVisitor$visit_expr_subtype for (self: TypeVisitor, AExpr, nullable MType): nullable MType */
1323 val
* nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(val
* self
, val
* p0
, val
* p1
) {
1324 val
* var
/* : nullable MType */;
1325 val
* var_nexpr
/* var nexpr: AExpr */;
1326 val
* var_sup
/* var sup: nullable MType */;
1327 val
* var1
/* : nullable MType */;
1328 val
* var_sub
/* var sub: nullable MType */;
1329 short int var2
/* : Bool */;
1330 short int var3
/* : Bool */;
1331 val
* var_other
/* var other: nullable Object */;
1332 short int var5
/* : Bool */;
1333 short int var7
/* : Bool */;
1334 short int var8
/* : Bool */;
1335 short int var9
/* : Bool */;
1336 short int var11
/* : Bool */;
1337 short int var13
/* : Bool */;
1338 val
* var14
/* : nullable MType */;
1339 val
* var_res
/* var res: nullable MType */;
1340 short int var15
/* : Bool */;
1341 short int var16
/* : Bool */;
1342 val
* var_other18
/* var other: nullable Object */;
1343 short int var19
/* : Bool */;
1344 short int var20
/* : Bool */;
1348 var1
= nitc__typing___nitc__typing__TypeVisitor___visit_expr(self
, var_nexpr
);
1351 if (var_sub
== NULL
) {
1352 var2
= 1; /* is null */
1354 var2
= 0; /* arg is null but recv is not */
1357 { /* Inline kernel$Object$== (var_sub,((val*)NULL)) on <var_sub:nullable MType> */
1358 var_other
= ((val
*)NULL
);
1360 { /* Inline kernel$Object$is_same_instance (var_sub,var_other) on <var_sub:nullable MType(MType)> */
1361 var7
= var_sub
== var_other
;
1378 if (var_sup
== NULL
) {
1379 var8
= 1; /* is null */
1381 var8
= 0; /* arg is null but recv is not */
1384 { /* Inline kernel$Object$== (var_sup,((val*)NULL)) on <var_sup:nullable MType> */
1385 var_other
= ((val
*)NULL
);
1387 { /* Inline kernel$Object$is_same_instance (var_sup,var_other) on <var_sup:nullable MType(MType)> */
1388 var13
= var_sup
== var_other
;
1391 RET_LABEL12
:(void)0;
1396 RET_LABEL10
:(void)0;
1406 var14
= nitc__typing___nitc__typing__TypeVisitor___check_subtype(self
, var_nexpr
, var_sub
, var_sup
, 1);
1409 if (var_res
== NULL
) {
1410 var15
= 1; /* <var_sub:nullable MType(MType)> cannot be null */
1412 { /* Inline kernel$Object$!= (var_res,var_sub) on <var_res:nullable MType> */
1413 var_other18
= var_sub
;
1415 var19
= ((short int(*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_res
, var_other18
); /* == on <var_res:nullable MType(MType)>*/
1420 RET_LABEL17
:(void)0;
1426 { /* Inline typing$AExpr$implicit_cast_to= (var_nexpr,var_res) on <var_nexpr:AExpr> */
1427 var_nexpr
->attrs
[COLOR_nitc__typing__AExpr___implicit_cast_to
].val
= var_res
; /* _implicit_cast_to on <var_nexpr:AExpr> */
1428 RET_LABEL21
:(void)0;
1438 /* method typing$TypeVisitor$visit_expr_bool for (self: TypeVisitor, AExpr): nullable MType */
1439 val
* nitc__typing___nitc__typing__TypeVisitor___visit_expr_bool(val
* self
, val
* p0
) {
1440 val
* var
/* : nullable MType */;
1441 val
* var_nexpr
/* var nexpr: AExpr */;
1442 val
* var1
/* : nullable MType */;
1443 val
* var2
/* : nullable MType */;
1446 var1
= nitc__typing___nitc__typing__TypeVisitor___type_bool(self
, var_nexpr
);
1449 var2
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(self
, var_nexpr
, var1
);
1456 /* method typing$TypeVisitor$check_expr_cast for (self: TypeVisitor, ANode, AExpr, AType): nullable MType */
1457 val
* nitc__typing___nitc__typing__TypeVisitor___check_expr_cast(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1458 val
* var
/* : nullable MType */;
1459 val
* var_node
/* var node: ANode */;
1460 val
* var_nexpr
/* var nexpr: AExpr */;
1461 val
* var_ntype
/* var ntype: AType */;
1462 val
* var1
/* : nullable MType */;
1463 val
* var_sub
/* var sub: nullable MType */;
1464 short int var2
/* : Bool */;
1465 short int var3
/* : Bool */;
1466 val
* var_other
/* var other: nullable Object */;
1467 short int var5
/* : Bool */;
1468 short int var7
/* : Bool */;
1469 val
* var8
/* : nullable MType */;
1470 val
* var10
/* : nullable MType */;
1471 val
* var_sup
/* var sup: nullable MType */;
1472 short int var11
/* : Bool */;
1473 short int var12
/* : Bool */;
1474 short int var14
/* : Bool */;
1475 short int var16
/* : Bool */;
1476 short int var17
/* : Bool */;
1477 short int var19
/* : Bool */;
1478 short int var21
/* : Bool */;
1479 val
* var22
/* : ModelBuilder */;
1480 val
* var24
/* : ModelBuilder */;
1481 static val
* varonce
;
1482 val
* var25
/* : String */;
1483 char* var26
/* : CString */;
1484 val
* var27
/* : String */;
1485 val
* var28
/* : nullable Int */;
1486 val
* var29
/* : nullable Int */;
1487 val
* var30
/* : nullable Bool */;
1488 val
* var31
/* : nullable Bool */;
1489 val
* var33
/* : NativeArray[String] */;
1490 static val
* varonce32
;
1491 static val
* varonce34
;
1492 val
* var35
/* : String */;
1493 char* var36
/* : CString */;
1494 val
* var37
/* : String */;
1495 val
* var38
/* : nullable Int */;
1496 val
* var39
/* : nullable Int */;
1497 val
* var40
/* : nullable Bool */;
1498 val
* var41
/* : nullable Bool */;
1499 static val
* varonce42
;
1500 val
* var43
/* : String */;
1501 char* var44
/* : CString */;
1502 val
* var45
/* : String */;
1503 val
* var46
/* : nullable Int */;
1504 val
* var47
/* : nullable Int */;
1505 val
* var48
/* : nullable Bool */;
1506 val
* var49
/* : nullable Bool */;
1507 val
* var50
/* : String */;
1508 val
* var51
/* : String */;
1509 short int var52
/* : Bool */;
1510 val
* var53
/* : ModelBuilder */;
1511 val
* var55
/* : ModelBuilder */;
1512 static val
* varonce56
;
1513 val
* var57
/* : String */;
1514 char* var58
/* : CString */;
1515 val
* var59
/* : String */;
1516 val
* var60
/* : nullable Int */;
1517 val
* var61
/* : nullable Int */;
1518 val
* var62
/* : nullable Bool */;
1519 val
* var63
/* : nullable Bool */;
1520 val
* var65
/* : NativeArray[String] */;
1521 static val
* varonce64
;
1522 static val
* varonce66
;
1523 val
* var67
/* : String */;
1524 char* var68
/* : CString */;
1525 val
* var69
/* : String */;
1526 val
* var70
/* : nullable Int */;
1527 val
* var71
/* : nullable Int */;
1528 val
* var72
/* : nullable Bool */;
1529 val
* var73
/* : nullable Bool */;
1530 static val
* varonce74
;
1531 val
* var75
/* : String */;
1532 char* var76
/* : CString */;
1533 val
* var77
/* : String */;
1534 val
* var78
/* : nullable Int */;
1535 val
* var79
/* : nullable Int */;
1536 val
* var80
/* : nullable Bool */;
1537 val
* var81
/* : nullable Bool */;
1538 static val
* varonce82
;
1539 val
* var83
/* : String */;
1540 char* var84
/* : CString */;
1541 val
* var85
/* : String */;
1542 val
* var86
/* : nullable Int */;
1543 val
* var87
/* : nullable Int */;
1544 val
* var88
/* : nullable Bool */;
1545 val
* var89
/* : nullable Bool */;
1546 val
* var90
/* : String */;
1547 val
* var91
/* : String */;
1548 val
* var92
/* : String */;
1553 var1
= ((val
*(*)(val
* self
))(var_nexpr
->class->vft
[COLOR_nitc__typing__AExpr__mtype
]))(var_nexpr
); /* mtype on <var_nexpr:AExpr>*/
1556 if (var_sub
== NULL
) {
1557 var2
= 1; /* is null */
1559 var2
= 0; /* arg is null but recv is not */
1562 { /* Inline kernel$Object$== (var_sub,((val*)NULL)) on <var_sub:nullable MType> */
1563 var_other
= ((val
*)NULL
);
1565 { /* Inline kernel$Object$is_same_instance (var_sub,var_other) on <var_sub:nullable MType(MType)> */
1566 var7
= var_sub
== var_other
;
1584 { /* Inline modelbuilder_base$AType$mtype (var_ntype) on <var_ntype:AType> */
1585 var10
= var_ntype
->attrs
[COLOR_nitc__modelbuilder_base__AType___mtype
].val
; /* _mtype on <var_ntype:AType> */
1591 if (var_sup
== NULL
) {
1592 var11
= 1; /* is null */
1594 var11
= 0; /* arg is null but recv is not */
1597 { /* Inline kernel$Object$== (var_sup,((val*)NULL)) on <var_sup:nullable MType> */
1598 var_other
= ((val
*)NULL
);
1600 { /* Inline kernel$Object$is_same_instance (var_sup,var_other) on <var_sup:nullable MType(MType)> */
1601 var16
= var_sup
== var_other
;
1604 RET_LABEL15
:(void)0;
1609 RET_LABEL13
:(void)0;
1619 { /* Inline kernel$Object$== (var_sup,var_sub) on <var_sup:nullable MType(MType)> */
1620 var_other
= var_sub
;
1622 { /* Inline kernel$Object$is_same_instance (var_sup,var_other) on <var_sup:nullable MType(MType)> */
1623 var21
= var_sup
== var_other
;
1626 RET_LABEL20
:(void)0;
1631 RET_LABEL18
:(void)0;
1636 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
1637 var24
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
1638 if (unlikely(var24
== NULL
)) {
1639 if(catchStack
.cursor
>= 0){
1640 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1642 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1643 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
1647 RET_LABEL23
:(void)0;
1650 if (likely(varonce
!=NULL
)) {
1653 var26
= "useless-type-test";
1654 var28
= (val
*)(17l<<2|1);
1655 var29
= (val
*)(17l<<2|1);
1656 var30
= (val
*)((long)(0)<<2|3);
1657 var31
= (val
*)((long)(0)<<2|3);
1658 var27
= core__flat___CString___to_s_unsafe(var26
, var28
, var29
, var30
, var31
);
1662 if (unlikely(varonce32
==NULL
)) {
1663 var33
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
1664 if (likely(varonce34
!=NULL
)) {
1667 var36
= "Warning: expression is already a `";
1668 var38
= (val
*)(34l<<2|1);
1669 var39
= (val
*)(34l<<2|1);
1670 var40
= (val
*)((long)(0)<<2|3);
1671 var41
= (val
*)((long)(0)<<2|3);
1672 var37
= core__flat___CString___to_s_unsafe(var36
, var38
, var39
, var40
, var41
);
1676 ((struct instance_core__NativeArray
*)var33
)->values
[0]=var35
;
1677 if (likely(varonce42
!=NULL
)) {
1681 var46
= (val
*)(2l<<2|1);
1682 var47
= (val
*)(2l<<2|1);
1683 var48
= (val
*)((long)(0)<<2|3);
1684 var49
= (val
*)((long)(0)<<2|3);
1685 var45
= core__flat___CString___to_s_unsafe(var44
, var46
, var47
, var48
, var49
);
1689 ((struct instance_core__NativeArray
*)var33
)->values
[2]=var43
;
1695 var50
= ((val
*(*)(val
* self
))(var_sup
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_sup
); /* to_s on <var_sup:nullable MType(MType)>*/
1697 ((struct instance_core__NativeArray
*)var33
)->values
[1]=var50
;
1699 var51
= ((val
*(*)(val
* self
))(var33
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var33
); /* native_to_s on <var33:NativeArray[String]>*/
1703 nitc___nitc__ModelBuilder___warning(var22
, var_node
, var25
, var51
); /* Direct call modelbuilder_base$ModelBuilder$warning on <var22:ModelBuilder>*/
1707 var52
= nitc__typing___nitc__typing__TypeVisitor___is_subtype(self
, var_sub
, var_sup
);
1711 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
1712 var55
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
1713 if (unlikely(var55
== NULL
)) {
1714 if(catchStack
.cursor
>= 0){
1715 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1717 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1718 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
1722 RET_LABEL54
:(void)0;
1725 if (likely(varonce56
!=NULL
)) {
1728 var58
= "useless-type-test";
1729 var60
= (val
*)(17l<<2|1);
1730 var61
= (val
*)(17l<<2|1);
1731 var62
= (val
*)((long)(0)<<2|3);
1732 var63
= (val
*)((long)(0)<<2|3);
1733 var59
= core__flat___CString___to_s_unsafe(var58
, var60
, var61
, var62
, var63
);
1737 if (unlikely(varonce64
==NULL
)) {
1738 var65
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
1739 if (likely(varonce66
!=NULL
)) {
1742 var68
= "Warning: expression is already a `";
1743 var70
= (val
*)(34l<<2|1);
1744 var71
= (val
*)(34l<<2|1);
1745 var72
= (val
*)((long)(0)<<2|3);
1746 var73
= (val
*)((long)(0)<<2|3);
1747 var69
= core__flat___CString___to_s_unsafe(var68
, var70
, var71
, var72
, var73
);
1751 ((struct instance_core__NativeArray
*)var65
)->values
[0]=var67
;
1752 if (likely(varonce74
!=NULL
)) {
1755 var76
= "` since it is a `";
1756 var78
= (val
*)(17l<<2|1);
1757 var79
= (val
*)(17l<<2|1);
1758 var80
= (val
*)((long)(0)<<2|3);
1759 var81
= (val
*)((long)(0)<<2|3);
1760 var77
= core__flat___CString___to_s_unsafe(var76
, var78
, var79
, var80
, var81
);
1764 ((struct instance_core__NativeArray
*)var65
)->values
[2]=var75
;
1765 if (likely(varonce82
!=NULL
)) {
1769 var86
= (val
*)(2l<<2|1);
1770 var87
= (val
*)(2l<<2|1);
1771 var88
= (val
*)((long)(0)<<2|3);
1772 var89
= (val
*)((long)(0)<<2|3);
1773 var85
= core__flat___CString___to_s_unsafe(var84
, var86
, var87
, var88
, var89
);
1777 ((struct instance_core__NativeArray
*)var65
)->values
[4]=var83
;
1783 var90
= ((val
*(*)(val
* self
))(var_sup
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_sup
); /* to_s on <var_sup:nullable MType(MType)>*/
1785 ((struct instance_core__NativeArray
*)var65
)->values
[1]=var90
;
1787 var91
= ((val
*(*)(val
* self
))(var_sub
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_sub
); /* to_s on <var_sub:nullable MType(MType)>*/
1789 ((struct instance_core__NativeArray
*)var65
)->values
[3]=var91
;
1791 var92
= ((val
*(*)(val
* self
))(var65
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var65
); /* native_to_s on <var65:NativeArray[String]>*/
1795 nitc___nitc__ModelBuilder___warning(var53
, var_node
, var57
, var92
); /* Direct call modelbuilder_base$ModelBuilder$warning on <var53:ModelBuilder>*/
1805 /* method typing$TypeVisitor$can_be_null for (self: TypeVisitor, MType): Bool */
1806 short int nitc__typing___nitc__typing__TypeVisitor___can_be_null(val
* self
, val
* p0
) {
1807 short int var
/* : Bool */;
1808 val
* var_mtype
/* var mtype: MType */;
1809 short int var1
/* : Bool */;
1810 short int var2
/* : Bool */;
1813 short int var_
/* var : Bool */;
1814 short int var3
/* : Bool */;
1817 short int var6
/* : Bool */;
1820 val
* var9
/* : MType */;
1821 val
* var_x
/* var x: MType */;
1822 short int var10
/* : Bool */;
1823 short int var11
/* : Bool */;
1826 short int var_14
/* var : Bool */;
1827 short int var15
/* : Bool */;
1831 /* <var_mtype:MType> isa MNullableType */
1832 cltype
= type_nitc__MNullableType
.color
;
1833 idtype
= type_nitc__MNullableType
.id
;
1834 if(cltype
>= var_mtype
->type
->table_size
) {
1837 var2
= var_mtype
->type
->type_table
[cltype
] == idtype
;
1843 /* <var_mtype:MType> isa MNullType */
1844 cltype4
= type_nitc__MNullType
.color
;
1845 idtype5
= type_nitc__MNullType
.id
;
1846 if(cltype4
>= var_mtype
->type
->table_size
) {
1849 var3
= var_mtype
->type
->type_table
[cltype4
] == idtype5
;
1858 /* <var_mtype:MType> isa MFormalType */
1859 cltype7
= type_nitc__MFormalType
.color
;
1860 idtype8
= type_nitc__MFormalType
.id
;
1861 if(cltype7
>= var_mtype
->type
->table_size
) {
1864 var6
= var_mtype
->type
->type_table
[cltype7
] == idtype8
;
1868 var9
= nitc__typing___nitc__typing__TypeVisitor___anchor_to(self
, var_mtype
);
1871 /* <var_x:MType> isa MNullableType */
1872 cltype12
= type_nitc__MNullableType
.color
;
1873 idtype13
= type_nitc__MNullableType
.id
;
1874 if(cltype12
>= var_x
->type
->table_size
) {
1877 var11
= var_x
->type
->type_table
[cltype12
] == idtype13
;
1883 /* <var_x:MType> isa MNullType */
1884 cltype16
= type_nitc__MNullType
.color
;
1885 idtype17
= type_nitc__MNullType
.id
;
1886 if(cltype16
>= var_x
->type
->table_size
) {
1889 var15
= var_x
->type
->type_table
[cltype16
] == idtype17
;
1905 /* method typing$TypeVisitor$check_can_be_null for (self: TypeVisitor, ANode, MType): Bool */
1906 short int nitc__typing___nitc__typing__TypeVisitor___check_can_be_null(val
* self
, val
* p0
, val
* p1
) {
1907 short int var
/* : Bool */;
1908 val
* var_anode
/* var anode: ANode */;
1909 val
* var_mtype
/* var mtype: MType */;
1910 short int var1
/* : Bool */;
1913 val
* var2
/* : ModelBuilder */;
1914 val
* var4
/* : ModelBuilder */;
1915 static val
* varonce
;
1916 val
* var5
/* : String */;
1917 char* var6
/* : CString */;
1918 val
* var7
/* : String */;
1919 val
* var8
/* : nullable Int */;
1920 val
* var9
/* : nullable Int */;
1921 val
* var10
/* : nullable Bool */;
1922 val
* var11
/* : nullable Bool */;
1923 static val
* varonce12
;
1924 val
* var13
/* : String */;
1925 char* var14
/* : CString */;
1926 val
* var15
/* : String */;
1927 val
* var16
/* : nullable Int */;
1928 val
* var17
/* : nullable Int */;
1929 val
* var18
/* : nullable Bool */;
1930 val
* var19
/* : nullable Bool */;
1931 short int var20
/* : Bool */;
1932 short int var21
/* : Bool */;
1935 val
* var24
/* : MType */;
1936 val
* var_res
/* var res: MType */;
1937 val
* var25
/* : ModelBuilder */;
1938 val
* var27
/* : ModelBuilder */;
1939 static val
* varonce28
;
1940 val
* var29
/* : String */;
1941 char* var30
/* : CString */;
1942 val
* var31
/* : String */;
1943 val
* var32
/* : nullable Int */;
1944 val
* var33
/* : nullable Int */;
1945 val
* var34
/* : nullable Bool */;
1946 val
* var35
/* : nullable Bool */;
1947 val
* var37
/* : NativeArray[String] */;
1948 static val
* varonce36
;
1949 static val
* varonce38
;
1950 val
* var39
/* : String */;
1951 char* var40
/* : CString */;
1952 val
* var41
/* : String */;
1953 val
* var42
/* : nullable Int */;
1954 val
* var43
/* : nullable Int */;
1955 val
* var44
/* : nullable Bool */;
1956 val
* var45
/* : nullable Bool */;
1957 static val
* varonce46
;
1958 val
* var47
/* : String */;
1959 char* var48
/* : CString */;
1960 val
* var49
/* : String */;
1961 val
* var50
/* : nullable Int */;
1962 val
* var51
/* : nullable Int */;
1963 val
* var52
/* : nullable Bool */;
1964 val
* var53
/* : nullable Bool */;
1965 static val
* varonce54
;
1966 val
* var55
/* : String */;
1967 char* var56
/* : CString */;
1968 val
* var57
/* : String */;
1969 val
* var58
/* : nullable Int */;
1970 val
* var59
/* : nullable Int */;
1971 val
* var60
/* : nullable Bool */;
1972 val
* var61
/* : nullable Bool */;
1973 val
* var62
/* : String */;
1974 val
* var63
/* : String */;
1975 val
* var64
/* : String */;
1976 val
* var65
/* : ModelBuilder */;
1977 val
* var67
/* : ModelBuilder */;
1978 static val
* varonce68
;
1979 val
* var69
/* : String */;
1980 char* var70
/* : CString */;
1981 val
* var71
/* : String */;
1982 val
* var72
/* : nullable Int */;
1983 val
* var73
/* : nullable Int */;
1984 val
* var74
/* : nullable Bool */;
1985 val
* var75
/* : nullable Bool */;
1986 val
* var77
/* : NativeArray[String] */;
1987 static val
* varonce76
;
1988 static val
* varonce78
;
1989 val
* var79
/* : String */;
1990 char* var80
/* : CString */;
1991 val
* var81
/* : String */;
1992 val
* var82
/* : nullable Int */;
1993 val
* var83
/* : nullable Int */;
1994 val
* var84
/* : nullable Bool */;
1995 val
* var85
/* : nullable Bool */;
1996 static val
* varonce86
;
1997 val
* var87
/* : String */;
1998 char* var88
/* : CString */;
1999 val
* var89
/* : String */;
2000 val
* var90
/* : nullable Int */;
2001 val
* var91
/* : nullable Int */;
2002 val
* var92
/* : nullable Bool */;
2003 val
* var93
/* : nullable Bool */;
2004 val
* var94
/* : String */;
2005 val
* var95
/* : String */;
2008 /* <var_mtype:MType> isa MNullType */
2009 cltype
= type_nitc__MNullType
.color
;
2010 idtype
= type_nitc__MNullType
.id
;
2011 if(cltype
>= var_mtype
->type
->table_size
) {
2014 var1
= var_mtype
->type
->type_table
[cltype
] == idtype
;
2018 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
2019 var4
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
2020 if (unlikely(var4
== NULL
)) {
2021 if(catchStack
.cursor
>= 0){
2022 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2024 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2025 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
2032 if (likely(varonce
!=NULL
)) {
2035 var6
= "useless-null-test";
2036 var8
= (val
*)(17l<<2|1);
2037 var9
= (val
*)(17l<<2|1);
2038 var10
= (val
*)((long)(0)<<2|3);
2039 var11
= (val
*)((long)(0)<<2|3);
2040 var7
= core__flat___CString___to_s_unsafe(var6
, var8
, var9
, var10
, var11
);
2044 if (likely(varonce12
!=NULL
)) {
2047 var14
= "Warning: expression is always `null`.";
2048 var16
= (val
*)(37l<<2|1);
2049 var17
= (val
*)(37l<<2|1);
2050 var18
= (val
*)((long)(0)<<2|3);
2051 var19
= (val
*)((long)(0)<<2|3);
2052 var15
= core__flat___CString___to_s_unsafe(var14
, var16
, var17
, var18
, var19
);
2057 nitc___nitc__ModelBuilder___warning(var2
, var_anode
, var5
, var13
); /* Direct call modelbuilder_base$ModelBuilder$warning on <var2:ModelBuilder>*/
2064 var20
= nitc__typing___nitc__typing__TypeVisitor___can_be_null(self
, var_mtype
);
2071 /* <var_mtype:MType> isa MFormalType */
2072 cltype22
= type_nitc__MFormalType
.color
;
2073 idtype23
= type_nitc__MFormalType
.id
;
2074 if(cltype22
>= var_mtype
->type
->table_size
) {
2077 var21
= var_mtype
->type
->type_table
[cltype22
] == idtype23
;
2081 var24
= nitc__typing___nitc__typing__TypeVisitor___anchor_to(self
, var_mtype
);
2085 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
2086 var27
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
2087 if (unlikely(var27
== NULL
)) {
2088 if(catchStack
.cursor
>= 0){
2089 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2091 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2092 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
2096 RET_LABEL26
:(void)0;
2099 if (likely(varonce28
!=NULL
)) {
2102 var30
= "useless-null-test";
2103 var32
= (val
*)(17l<<2|1);
2104 var33
= (val
*)(17l<<2|1);
2105 var34
= (val
*)((long)(0)<<2|3);
2106 var35
= (val
*)((long)(0)<<2|3);
2107 var31
= core__flat___CString___to_s_unsafe(var30
, var32
, var33
, var34
, var35
);
2111 if (unlikely(varonce36
==NULL
)) {
2112 var37
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
2113 if (likely(varonce38
!=NULL
)) {
2116 var40
= "Warning: expression is not null, since it is a `";
2117 var42
= (val
*)(48l<<2|1);
2118 var43
= (val
*)(48l<<2|1);
2119 var44
= (val
*)((long)(0)<<2|3);
2120 var45
= (val
*)((long)(0)<<2|3);
2121 var41
= core__flat___CString___to_s_unsafe(var40
, var42
, var43
, var44
, var45
);
2125 ((struct instance_core__NativeArray
*)var37
)->values
[0]=var39
;
2126 if (likely(varonce46
!=NULL
)) {
2130 var50
= (val
*)(2l<<2|1);
2131 var51
= (val
*)(2l<<2|1);
2132 var52
= (val
*)((long)(0)<<2|3);
2133 var53
= (val
*)((long)(0)<<2|3);
2134 var49
= core__flat___CString___to_s_unsafe(var48
, var50
, var51
, var52
, var53
);
2138 ((struct instance_core__NativeArray
*)var37
)->values
[2]=var47
;
2139 if (likely(varonce54
!=NULL
)) {
2143 var58
= (val
*)(2l<<2|1);
2144 var59
= (val
*)(2l<<2|1);
2145 var60
= (val
*)((long)(0)<<2|3);
2146 var61
= (val
*)((long)(0)<<2|3);
2147 var57
= core__flat___CString___to_s_unsafe(var56
, var58
, var59
, var60
, var61
);
2151 ((struct instance_core__NativeArray
*)var37
)->values
[4]=var55
;
2157 var62
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MType(MFormalType)>*/
2159 ((struct instance_core__NativeArray
*)var37
)->values
[1]=var62
;
2161 var63
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res
); /* to_s on <var_res:MType>*/
2163 ((struct instance_core__NativeArray
*)var37
)->values
[3]=var63
;
2165 var64
= ((val
*(*)(val
* self
))(var37
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var37
); /* native_to_s on <var37:NativeArray[String]>*/
2169 nitc___nitc__ModelBuilder___warning(var25
, var_anode
, var29
, var64
); /* Direct call modelbuilder_base$ModelBuilder$warning on <var25:ModelBuilder>*/
2173 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
2174 var67
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
2175 if (unlikely(var67
== NULL
)) {
2176 if(catchStack
.cursor
>= 0){
2177 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2179 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2180 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
2184 RET_LABEL66
:(void)0;
2187 if (likely(varonce68
!=NULL
)) {
2190 var70
= "useless-null-test";
2191 var72
= (val
*)(17l<<2|1);
2192 var73
= (val
*)(17l<<2|1);
2193 var74
= (val
*)((long)(0)<<2|3);
2194 var75
= (val
*)((long)(0)<<2|3);
2195 var71
= core__flat___CString___to_s_unsafe(var70
, var72
, var73
, var74
, var75
);
2199 if (unlikely(varonce76
==NULL
)) {
2200 var77
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
2201 if (likely(varonce78
!=NULL
)) {
2204 var80
= "Warning: expression is not null, since it is a `";
2205 var82
= (val
*)(48l<<2|1);
2206 var83
= (val
*)(48l<<2|1);
2207 var84
= (val
*)((long)(0)<<2|3);
2208 var85
= (val
*)((long)(0)<<2|3);
2209 var81
= core__flat___CString___to_s_unsafe(var80
, var82
, var83
, var84
, var85
);
2213 ((struct instance_core__NativeArray
*)var77
)->values
[0]=var79
;
2214 if (likely(varonce86
!=NULL
)) {
2218 var90
= (val
*)(2l<<2|1);
2219 var91
= (val
*)(2l<<2|1);
2220 var92
= (val
*)((long)(0)<<2|3);
2221 var93
= (val
*)((long)(0)<<2|3);
2222 var89
= core__flat___CString___to_s_unsafe(var88
, var90
, var91
, var92
, var93
);
2226 ((struct instance_core__NativeArray
*)var77
)->values
[2]=var87
;
2232 var94
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MType>*/
2234 ((struct instance_core__NativeArray
*)var77
)->values
[1]=var94
;
2236 var95
= ((val
*(*)(val
* self
))(var77
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var77
); /* native_to_s on <var77:NativeArray[String]>*/
2240 nitc___nitc__ModelBuilder___warning(var65
, var_anode
, var69
, var95
); /* Direct call modelbuilder_base$ModelBuilder$warning on <var65:ModelBuilder>*/
2248 /* method typing$TypeVisitor$null_test for (self: TypeVisitor, ABinopExpr) */
2249 void nitc__typing___nitc__typing__TypeVisitor___null_test(val
* self
, val
* p0
) {
2250 val
* var_anode
/* var anode: ABinopExpr */;
2251 val
* var
/* : AExpr */;
2252 val
* var2
/* : AExpr */;
2253 val
* var3
/* : nullable MType */;
2254 val
* var_mtype
/* var mtype: nullable MType */;
2255 val
* var4
/* : AExpr */;
2256 val
* var6
/* : AExpr */;
2257 val
* var7
/* : nullable MType */;
2258 val
* var_mtype2
/* var mtype2: nullable MType */;
2259 short int var8
/* : Bool */;
2260 short int var9
/* : Bool */;
2261 short int var10
/* : Bool */;
2262 val
* var_other
/* var other: nullable Object */;
2263 short int var12
/* : Bool */;
2264 short int var14
/* : Bool */;
2265 short int var_
/* var : Bool */;
2266 short int var15
/* : Bool */;
2267 short int var16
/* : Bool */;
2268 short int var18
/* : Bool */;
2269 short int var20
/* : Bool */;
2270 short int var21
/* : Bool */;
2273 short int var22
/* : Bool */;
2274 short int var23
/* : Bool */;
2275 short int var24
/* : Bool */;
2276 short int var25
/* : Bool */;
2279 val
* var28
/* : MType */;
2280 val
* var29
/* : AExpr */;
2281 val
* var31
/* : AExpr */;
2282 val
* var32
/* : nullable Variable */;
2283 val
* var_variable
/* var variable: nullable Variable */;
2284 short int var33
/* : Bool */;
2285 short int var34
/* : Bool */;
2286 short int var36
/* : Bool */;
2287 short int var38
/* : Bool */;
2288 short int var39
/* : Bool */;
2291 val
* var42
/* : nullable FlowContext */;
2292 val
* var44
/* : nullable FlowContext */;
2293 val
* var45
/* : FlowContext */;
2294 val
* var47
/* : FlowContext */;
2295 val
* var48
/* : nullable FlowContext */;
2296 val
* var50
/* : nullable FlowContext */;
2297 val
* var51
/* : FlowContext */;
2298 val
* var53
/* : FlowContext */;
2299 short int var54
/* : Bool */;
2302 val
* var57
/* : nullable FlowContext */;
2303 val
* var59
/* : nullable FlowContext */;
2304 val
* var60
/* : FlowContext */;
2305 val
* var62
/* : FlowContext */;
2306 val
* var63
/* : nullable FlowContext */;
2307 val
* var65
/* : nullable FlowContext */;
2308 val
* var66
/* : FlowContext */;
2309 val
* var68
/* : FlowContext */;
2312 { /* Inline parser_nodes$ASendExpr$n_expr (var_anode) on <var_anode:ABinopExpr> */
2313 var2
= var_anode
->attrs
[COLOR_nitc__parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <var_anode:ABinopExpr> */
2314 if (unlikely(var2
== NULL
)) {
2315 if(catchStack
.cursor
>= 0){
2316 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2318 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2319 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2103);
2327 var3
= ((val
*(*)(val
* self
))(var
->class->vft
[COLOR_nitc__typing__AExpr__mtype
]))(var
); /* mtype on <var:AExpr>*/
2331 { /* Inline parser_nodes$ABinopExpr$n_expr2 (var_anode) on <var_anode:ABinopExpr> */
2332 var6
= var_anode
->attrs
[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2
].val
; /* _n_expr2 on <var_anode:ABinopExpr> */
2333 if (unlikely(var6
== NULL
)) {
2334 if(catchStack
.cursor
>= 0){
2335 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2337 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
2338 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2114);
2346 var7
= ((val
*(*)(val
* self
))(var4
->class->vft
[COLOR_nitc__typing__AExpr__mtype
]))(var4
); /* mtype on <var4:AExpr>*/
2349 if (var_mtype
== NULL
) {
2350 var9
= 1; /* is null */
2352 var9
= 0; /* arg is null but recv is not */
2355 { /* Inline kernel$Object$== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
2356 var_other
= ((val
*)NULL
);
2358 { /* Inline kernel$Object$is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
2359 var14
= var_mtype
== var_other
;
2362 RET_LABEL13
:(void)0;
2367 RET_LABEL11
:(void)0;
2375 if (var_mtype2
== NULL
) {
2376 var15
= 1; /* is null */
2378 var15
= 0; /* arg is null but recv is not */
2381 { /* Inline kernel$Object$== (var_mtype2,((val*)NULL)) on <var_mtype2:nullable MType> */
2382 var_other
= ((val
*)NULL
);
2384 { /* Inline kernel$Object$is_same_instance (var_mtype2,var_other) on <var_mtype2:nullable MType(MType)> */
2385 var20
= var_mtype2
== var_other
;
2388 RET_LABEL19
:(void)0;
2393 RET_LABEL17
:(void)0;
2403 /* <var_mtype2:nullable MType(MType)> isa MNullType */
2404 cltype
= type_nitc__MNullType
.color
;
2405 idtype
= type_nitc__MNullType
.id
;
2406 if(cltype
>= var_mtype2
->type
->table_size
) {
2409 var21
= var_mtype2
->type
->type_table
[cltype
] == idtype
;
2417 var23
= nitc__typing___nitc__typing__TypeVisitor___can_be_null(self
, var_mtype
);
2424 /* <var_mtype:nullable MType(MType)> isa MNullType */
2425 cltype26
= type_nitc__MNullType
.color
;
2426 idtype27
= type_nitc__MNullType
.id
;
2427 if(cltype26
>= var_mtype
->type
->table_size
) {
2430 var25
= var_mtype
->type
->type_table
[cltype26
] == idtype27
;
2433 var_mtype
= ((val
*)NULL
);
2436 var28
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model__MType__as_notnull
]))(var_mtype
); /* as_notnull on <var_mtype:nullable MType(MType)>*/
2441 { /* Inline parser_nodes$ASendExpr$n_expr (var_anode) on <var_anode:ABinopExpr> */
2442 var31
= var_anode
->attrs
[COLOR_nitc__parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <var_anode:ABinopExpr> */
2443 if (unlikely(var31
== NULL
)) {
2444 if(catchStack
.cursor
>= 0){
2445 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2447 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2448 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2103);
2452 RET_LABEL30
:(void)0;
2456 var32
= ((val
*(*)(val
* self
))(var29
->class->vft
[COLOR_nitc__typing__AExpr__its_variable
]))(var29
); /* its_variable on <var29:AExpr>*/
2458 var_variable
= var32
;
2459 if (var_variable
== NULL
) {
2460 var33
= 1; /* is null */
2462 var33
= 0; /* arg is null but recv is not */
2465 { /* Inline kernel$Object$== (var_variable,((val*)NULL)) on <var_variable:nullable Variable> */
2466 var_other
= ((val
*)NULL
);
2468 { /* Inline kernel$Object$is_same_instance (var_variable,var_other) on <var_variable:nullable Variable(Variable)> */
2469 var38
= var_variable
== var_other
;
2472 RET_LABEL37
:(void)0;
2477 RET_LABEL35
:(void)0;
2485 /* <var_anode:ABinopExpr> isa AEqExpr */
2486 cltype40
= type_nitc__AEqExpr
.color
;
2487 idtype41
= type_nitc__AEqExpr
.id
;
2488 if(cltype40
>= var_anode
->type
->table_size
) {
2491 var39
= var_anode
->type
->type_table
[cltype40
] == idtype41
;
2495 { /* Inline flow$AExpr$after_flow_context (var_anode) on <var_anode:ABinopExpr(AEqExpr)> */
2496 var44
= var_anode
->attrs
[COLOR_nitc__flow__AExpr___after_flow_context
].val
; /* _after_flow_context on <var_anode:ABinopExpr(AEqExpr)> */
2498 RET_LABEL43
:(void)0;
2501 if (var42
== NULL
) {
2502 if(catchStack
.cursor
>= 0){
2503 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2505 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2506 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 269);
2509 { /* Inline flow$FlowContext$when_true (var42) on <var42:nullable FlowContext> */
2510 if (unlikely(var42
== NULL
)) {
2511 if(catchStack
.cursor
>= 0){
2512 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2514 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2515 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow
, 225);
2518 var47
= var42
->attrs
[COLOR_nitc__flow__FlowContext___when_true
].val
; /* _when_true on <var42:nullable FlowContext> */
2519 if (unlikely(var47
== NULL
)) {
2520 if(catchStack
.cursor
>= 0){
2521 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2523 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true");
2524 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow
, 225);
2528 RET_LABEL46
:(void)0;
2532 nitc__typing___FlowContext___set_var(var45
, self
, var_variable
, var_mtype2
); /* Direct call typing$FlowContext$set_var on <var45:FlowContext>*/
2535 { /* Inline flow$AExpr$after_flow_context (var_anode) on <var_anode:ABinopExpr(AEqExpr)> */
2536 var50
= var_anode
->attrs
[COLOR_nitc__flow__AExpr___after_flow_context
].val
; /* _after_flow_context on <var_anode:ABinopExpr(AEqExpr)> */
2538 RET_LABEL49
:(void)0;
2541 if (var48
== NULL
) {
2542 if(catchStack
.cursor
>= 0){
2543 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2545 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2546 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 270);
2549 { /* Inline flow$FlowContext$when_false (var48) on <var48:nullable FlowContext> */
2550 if (unlikely(var48
== NULL
)) {
2551 if(catchStack
.cursor
>= 0){
2552 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2554 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2555 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow
, 228);
2558 var53
= var48
->attrs
[COLOR_nitc__flow__FlowContext___when_false
].val
; /* _when_false on <var48:nullable FlowContext> */
2559 if (unlikely(var53
== NULL
)) {
2560 if(catchStack
.cursor
>= 0){
2561 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2563 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false");
2564 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow
, 228);
2568 RET_LABEL52
:(void)0;
2572 nitc__typing___FlowContext___set_var(var51
, self
, var_variable
, var_mtype
); /* Direct call typing$FlowContext$set_var on <var51:FlowContext>*/
2575 /* <var_anode:ABinopExpr> isa ANeExpr */
2576 cltype55
= type_nitc__ANeExpr
.color
;
2577 idtype56
= type_nitc__ANeExpr
.id
;
2578 if(cltype55
>= var_anode
->type
->table_size
) {
2581 var54
= var_anode
->type
->type_table
[cltype55
] == idtype56
;
2585 { /* Inline flow$AExpr$after_flow_context (var_anode) on <var_anode:ABinopExpr(ANeExpr)> */
2586 var59
= var_anode
->attrs
[COLOR_nitc__flow__AExpr___after_flow_context
].val
; /* _after_flow_context on <var_anode:ABinopExpr(ANeExpr)> */
2588 RET_LABEL58
:(void)0;
2591 if (var57
== NULL
) {
2592 if(catchStack
.cursor
>= 0){
2593 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2595 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2596 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 272);
2599 { /* Inline flow$FlowContext$when_false (var57) on <var57:nullable FlowContext> */
2600 if (unlikely(var57
== NULL
)) {
2601 if(catchStack
.cursor
>= 0){
2602 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2604 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2605 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow
, 228);
2608 var62
= var57
->attrs
[COLOR_nitc__flow__FlowContext___when_false
].val
; /* _when_false on <var57:nullable FlowContext> */
2609 if (unlikely(var62
== NULL
)) {
2610 if(catchStack
.cursor
>= 0){
2611 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2613 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false");
2614 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow
, 228);
2618 RET_LABEL61
:(void)0;
2622 nitc__typing___FlowContext___set_var(var60
, self
, var_variable
, var_mtype2
); /* Direct call typing$FlowContext$set_var on <var60:FlowContext>*/
2625 { /* Inline flow$AExpr$after_flow_context (var_anode) on <var_anode:ABinopExpr(ANeExpr)> */
2626 var65
= var_anode
->attrs
[COLOR_nitc__flow__AExpr___after_flow_context
].val
; /* _after_flow_context on <var_anode:ABinopExpr(ANeExpr)> */
2628 RET_LABEL64
:(void)0;
2631 if (var63
== NULL
) {
2632 if(catchStack
.cursor
>= 0){
2633 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2635 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2636 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 273);
2639 { /* Inline flow$FlowContext$when_true (var63) on <var63:nullable FlowContext> */
2640 if (unlikely(var63
== NULL
)) {
2641 if(catchStack
.cursor
>= 0){
2642 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2644 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2645 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow
, 225);
2648 var68
= var63
->attrs
[COLOR_nitc__flow__FlowContext___when_true
].val
; /* _when_true on <var63:nullable FlowContext> */
2649 if (unlikely(var68
== NULL
)) {
2650 if(catchStack
.cursor
>= 0){
2651 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2653 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true");
2654 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow
, 225);
2658 RET_LABEL67
:(void)0;
2662 nitc__typing___FlowContext___set_var(var66
, self
, var_variable
, var_mtype
); /* Direct call typing$FlowContext$set_var on <var66:FlowContext>*/
2665 if(catchStack
.cursor
>= 0){
2666 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2668 PRINT_ERROR("Runtime error: %s", "Aborted");
2669 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 275);
2675 /* method typing$TypeVisitor$try_get_mproperty_by_name2 for (self: TypeVisitor, ANode, MType, String): nullable MProperty */
2676 val
* nitc__typing___nitc__typing__TypeVisitor___try_get_mproperty_by_name2(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2677 val
* var
/* : nullable MProperty */;
2678 val
* var_anode
/* var anode: ANode */;
2679 val
* var_mtype
/* var mtype: MType */;
2680 val
* var_name
/* var name: String */;
2681 val
* var1
/* : ModelBuilder */;
2682 val
* var3
/* : ModelBuilder */;
2683 val
* var4
/* : MModule */;
2684 val
* var6
/* : MModule */;
2685 val
* var7
/* : nullable MProperty */;
2690 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
2691 var3
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
2692 if (unlikely(var3
== NULL
)) {
2693 if(catchStack
.cursor
>= 0){
2694 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2696 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2697 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
2705 { /* Inline typing$TypeVisitor$mmodule (self) on <self:TypeVisitor> */
2706 var6
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <self:TypeVisitor> */
2707 if (unlikely(var6
== NULL
)) {
2708 if(catchStack
.cursor
>= 0){
2709 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2711 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2712 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 37);
2720 var7
= nitc___nitc__ModelBuilder___try_get_mproperty_by_name2(var1
, var_anode
, var4
, var_mtype
, var_name
);
2727 /* method typing$TypeVisitor$resolve_mtype for (self: TypeVisitor, AType): nullable MType */
2728 val
* nitc__typing___nitc__typing__TypeVisitor___resolve_mtype(val
* self
, val
* p0
) {
2729 val
* var
/* : nullable MType */;
2730 val
* var_node
/* var node: AType */;
2731 val
* var1
/* : ModelBuilder */;
2732 val
* var3
/* : ModelBuilder */;
2733 val
* var4
/* : MModule */;
2734 val
* var6
/* : MModule */;
2735 val
* var7
/* : nullable MClassDef */;
2736 val
* var9
/* : nullable MClassDef */;
2737 val
* var10
/* : nullable MType */;
2740 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
2741 var3
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
2742 if (unlikely(var3
== NULL
)) {
2743 if(catchStack
.cursor
>= 0){
2744 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2746 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2747 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
2755 { /* Inline typing$TypeVisitor$mmodule (self) on <self:TypeVisitor> */
2756 var6
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <self:TypeVisitor> */
2757 if (unlikely(var6
== NULL
)) {
2758 if(catchStack
.cursor
>= 0){
2759 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2761 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2762 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 37);
2770 { /* Inline typing$TypeVisitor$mclassdef (self) on <self:TypeVisitor> */
2771 var9
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___mclassdef
].val
; /* _mclassdef on <self:TypeVisitor> */
2777 var10
= nitc___nitc__ModelBuilder___resolve_mtype(var1
, var4
, var7
, var_node
);
2784 /* method typing$TypeVisitor$try_get_mclass for (self: TypeVisitor, ANode, String): nullable MClass */
2785 val
* nitc__typing___nitc__typing__TypeVisitor___try_get_mclass(val
* self
, val
* p0
, val
* p1
) {
2786 val
* var
/* : nullable MClass */;
2787 val
* var_node
/* var node: ANode */;
2788 val
* var_name
/* var name: String */;
2789 val
* var1
/* : ModelBuilder */;
2790 val
* var3
/* : ModelBuilder */;
2791 val
* var4
/* : MModule */;
2792 val
* var6
/* : MModule */;
2793 val
* var7
/* : nullable MClass */;
2794 val
* var_mclass
/* var mclass: nullable MClass */;
2798 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
2799 var3
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
2800 if (unlikely(var3
== NULL
)) {
2801 if(catchStack
.cursor
>= 0){
2802 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2804 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2805 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
2813 { /* Inline typing$TypeVisitor$mmodule (self) on <self:TypeVisitor> */
2814 var6
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <self:TypeVisitor> */
2815 if (unlikely(var6
== NULL
)) {
2816 if(catchStack
.cursor
>= 0){
2817 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2819 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2820 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 37);
2828 var7
= nitc___nitc__ModelBuilder___try_get_mclass_by_name(var1
, var_node
, var4
, var_name
);
2836 /* method typing$TypeVisitor$get_mclass for (self: TypeVisitor, ANode, String): nullable MClass */
2837 val
* nitc__typing___nitc__typing__TypeVisitor___get_mclass(val
* self
, val
* p0
, val
* p1
) {
2838 val
* var
/* : nullable MClass */;
2839 val
* var_node
/* var node: ANode */;
2840 val
* var_name
/* var name: String */;
2841 val
* var1
/* : ModelBuilder */;
2842 val
* var3
/* : ModelBuilder */;
2843 val
* var4
/* : MModule */;
2844 val
* var6
/* : MModule */;
2845 val
* var7
/* : nullable MClass */;
2846 val
* var_mclass
/* var mclass: nullable MClass */;
2850 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
2851 var3
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
2852 if (unlikely(var3
== NULL
)) {
2853 if(catchStack
.cursor
>= 0){
2854 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2856 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2857 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
2865 { /* Inline typing$TypeVisitor$mmodule (self) on <self:TypeVisitor> */
2866 var6
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <self:TypeVisitor> */
2867 if (unlikely(var6
== NULL
)) {
2868 if(catchStack
.cursor
>= 0){
2869 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2871 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2872 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 37);
2880 var7
= nitc___nitc__ModelBuilder___get_mclass_by_name(var1
, var_node
, var4
, var_name
);
2888 /* method typing$TypeVisitor$type_bool for (self: TypeVisitor, ANode): nullable MType */
2889 val
* nitc__typing___nitc__typing__TypeVisitor___type_bool(val
* self
, val
* p0
) {
2890 val
* var
/* : nullable MType */;
2891 val
* var_node
/* var node: ANode */;
2892 static val
* varonce
;
2893 val
* var1
/* : String */;
2894 char* var2
/* : CString */;
2895 val
* var3
/* : String */;
2896 val
* var4
/* : nullable Int */;
2897 val
* var5
/* : nullable Int */;
2898 val
* var6
/* : nullable Bool */;
2899 val
* var7
/* : nullable Bool */;
2900 val
* var8
/* : nullable MClass */;
2901 val
* var_mclass
/* var mclass: nullable MClass */;
2902 short int var9
/* : Bool */;
2903 short int var10
/* : Bool */;
2904 val
* var_other
/* var other: nullable Object */;
2905 short int var12
/* : Bool */;
2906 short int var14
/* : Bool */;
2907 val
* var15
/* : MClassType */;
2908 val
* var17
/* : MClassType */;
2910 if (likely(varonce
!=NULL
)) {
2914 var4
= (val
*)(4l<<2|1);
2915 var5
= (val
*)(4l<<2|1);
2916 var6
= (val
*)((long)(0)<<2|3);
2917 var7
= (val
*)((long)(0)<<2|3);
2918 var3
= core__flat___CString___to_s_unsafe(var2
, var4
, var5
, var6
, var7
);
2923 var8
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(self
, var_node
, var1
);
2926 if (var_mclass
== NULL
) {
2927 var9
= 1; /* is null */
2929 var9
= 0; /* arg is null but recv is not */
2932 { /* Inline kernel$Object$== (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
2933 var_other
= ((val
*)NULL
);
2935 { /* Inline kernel$Object$is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
2936 var14
= var_mclass
== var_other
;
2939 RET_LABEL13
:(void)0;
2944 RET_LABEL11
:(void)0;
2954 { /* Inline model$MClass$mclass_type (var_mclass) on <var_mclass:nullable MClass(MClass)> */
2955 var17
= var_mclass
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:nullable MClass(MClass)> */
2956 if (unlikely(var17
== NULL
)) {
2957 if(catchStack
.cursor
>= 0){
2958 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2960 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
2961 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 520);
2965 RET_LABEL16
:(void)0;
2973 /* method typing$TypeVisitor$get_method for (self: TypeVisitor, ANode, MType, String, Bool): nullable CallSite */
2974 val
* nitc__typing___nitc__typing__TypeVisitor___get_method(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
2975 val
* var
/* : nullable CallSite */;
2976 val
* var_node
/* var node: ANode */;
2977 val
* var_recvtype
/* var recvtype: MType */;
2978 val
* var_name
/* var name: String */;
2979 short int var_recv_is_self
/* var recv_is_self: Bool */;
2980 val
* var1
/* : MType */;
2981 val
* var_unsafe_type
/* var unsafe_type: MType */;
2982 short int var2
/* : Bool */;
2985 static val
* varonce
;
2986 val
* var3
/* : String */;
2987 char* var4
/* : CString */;
2988 val
* var5
/* : String */;
2989 val
* var6
/* : nullable Int */;
2990 val
* var7
/* : nullable Int */;
2991 val
* var8
/* : nullable Bool */;
2992 val
* var9
/* : nullable Bool */;
2993 val
* var10
/* : nullable MClass */;
2994 val
* var_objclass
/* var objclass: nullable MClass */;
2995 short int var11
/* : Bool */;
2996 short int var12
/* : Bool */;
2997 val
* var_other
/* var other: nullable Object */;
2998 short int var14
/* : Bool */;
2999 short int var16
/* : Bool */;
3000 val
* var17
/* : MClassType */;
3001 val
* var19
/* : MClassType */;
3002 val
* var20
/* : nullable MProperty */;
3003 val
* var_mproperty
/* var mproperty: nullable MProperty */;
3004 short int var21
/* : Bool */;
3005 static val
* varonce22
;
3006 val
* var23
/* : String */;
3007 char* var24
/* : CString */;
3008 val
* var25
/* : String */;
3009 val
* var26
/* : nullable Int */;
3010 val
* var27
/* : nullable Int */;
3011 val
* var28
/* : nullable Bool */;
3012 val
* var29
/* : nullable Bool */;
3013 short int var30
/* : Bool */;
3014 short int var_
/* var : Bool */;
3015 short int var31
/* : Bool */;
3016 short int var32
/* : Bool */;
3017 short int var34
/* : Bool */;
3018 short int var36
/* : Bool */;
3019 static val
* varonce37
;
3020 val
* var38
/* : String */;
3021 char* var39
/* : CString */;
3022 val
* var40
/* : String */;
3023 val
* var41
/* : nullable Int */;
3024 val
* var42
/* : nullable Int */;
3025 val
* var43
/* : nullable Bool */;
3026 val
* var44
/* : nullable Bool */;
3027 val
* var45
/* : nullable MProperty */;
3028 short int var46
/* : Bool */;
3029 short int var47
/* : Bool */;
3030 short int var49
/* : Bool */;
3031 short int var51
/* : Bool */;
3032 val
* var52
/* : ModelBuilder */;
3033 val
* var54
/* : ModelBuilder */;
3034 val
* var56
/* : NativeArray[String] */;
3035 static val
* varonce55
;
3036 static val
* varonce57
;
3037 val
* var58
/* : String */;
3038 char* var59
/* : CString */;
3039 val
* var60
/* : String */;
3040 val
* var61
/* : nullable Int */;
3041 val
* var62
/* : nullable Int */;
3042 val
* var63
/* : nullable Bool */;
3043 val
* var64
/* : nullable Bool */;
3044 static val
* varonce65
;
3045 val
* var66
/* : String */;
3046 char* var67
/* : CString */;
3047 val
* var68
/* : String */;
3048 val
* var69
/* : nullable Int */;
3049 val
* var70
/* : nullable Int */;
3050 val
* var71
/* : nullable Bool */;
3051 val
* var72
/* : nullable Bool */;
3052 static val
* varonce73
;
3053 val
* var74
/* : String */;
3054 char* var75
/* : CString */;
3055 val
* var76
/* : String */;
3056 val
* var77
/* : nullable Int */;
3057 val
* var78
/* : nullable Int */;
3058 val
* var79
/* : nullable Bool */;
3059 val
* var80
/* : nullable Bool */;
3060 val
* var81
/* : String */;
3061 val
* var82
/* : String */;
3062 short int var83
/* : Bool */;
3063 val
* var84
/* : ModelBuilder */;
3064 val
* var86
/* : ModelBuilder */;
3065 val
* var88
/* : NativeArray[String] */;
3066 static val
* varonce87
;
3067 static val
* varonce89
;
3068 val
* var90
/* : String */;
3069 char* var91
/* : CString */;
3070 val
* var92
/* : String */;
3071 val
* var93
/* : nullable Int */;
3072 val
* var94
/* : nullable Int */;
3073 val
* var95
/* : nullable Bool */;
3074 val
* var96
/* : nullable Bool */;
3075 static val
* varonce97
;
3076 val
* var98
/* : String */;
3077 char* var99
/* : CString */;
3078 val
* var100
/* : String */;
3079 val
* var101
/* : nullable Int */;
3080 val
* var102
/* : nullable Int */;
3081 val
* var103
/* : nullable Bool */;
3082 val
* var104
/* : nullable Bool */;
3083 static val
* varonce105
;
3084 val
* var106
/* : String */;
3085 char* var107
/* : CString */;
3086 val
* var108
/* : String */;
3087 val
* var109
/* : nullable Int */;
3088 val
* var110
/* : nullable Int */;
3089 val
* var111
/* : nullable Bool */;
3090 val
* var112
/* : nullable Bool */;
3091 static val
* varonce113
;
3092 val
* var114
/* : String */;
3093 char* var115
/* : CString */;
3094 val
* var116
/* : String */;
3095 val
* var117
/* : nullable Int */;
3096 val
* var118
/* : nullable Int */;
3097 val
* var119
/* : nullable Bool */;
3098 val
* var120
/* : nullable Bool */;
3099 val
* var121
/* : String */;
3100 val
* var122
/* : String */;
3101 val
* var123
/* : String */;
3102 val
* var124
/* : ModelBuilder */;
3103 val
* var126
/* : ModelBuilder */;
3104 val
* var128
/* : NativeArray[String] */;
3105 static val
* varonce127
;
3106 static val
* varonce129
;
3107 val
* var130
/* : String */;
3108 char* var131
/* : CString */;
3109 val
* var132
/* : String */;
3110 val
* var133
/* : nullable Int */;
3111 val
* var134
/* : nullable Int */;
3112 val
* var135
/* : nullable Bool */;
3113 val
* var136
/* : nullable Bool */;
3114 static val
* varonce137
;
3115 val
* var138
/* : String */;
3116 char* var139
/* : CString */;
3117 val
* var140
/* : String */;
3118 val
* var141
/* : nullable Int */;
3119 val
* var142
/* : nullable Int */;
3120 val
* var143
/* : nullable Bool */;
3121 val
* var144
/* : nullable Bool */;
3122 static val
* varonce145
;
3123 val
* var146
/* : String */;
3124 char* var147
/* : CString */;
3125 val
* var148
/* : String */;
3126 val
* var149
/* : nullable Int */;
3127 val
* var150
/* : nullable Int */;
3128 val
* var151
/* : nullable Bool */;
3129 val
* var152
/* : nullable Bool */;
3130 val
* var153
/* : String */;
3131 val
* var154
/* : String */;
3132 short int var155
/* : Bool */;
3135 short int var158
/* : Bool */;
3136 short int var159
/* : Bool */;
3139 short int var_162
/* var : Bool */;
3140 short int var163
/* : Bool */;
3141 short int var164
/* : Bool */;
3142 val
* var166
/* : NativeArray[String] */;
3143 static val
* varonce165
;
3144 static val
* varonce167
;
3145 val
* var168
/* : String */;
3146 char* var169
/* : CString */;
3147 val
* var170
/* : String */;
3148 val
* var171
/* : nullable Int */;
3149 val
* var172
/* : nullable Int */;
3150 val
* var173
/* : nullable Bool */;
3151 val
* var174
/* : nullable Bool */;
3152 static val
* varonce175
;
3153 val
* var176
/* : String */;
3154 char* var177
/* : CString */;
3155 val
* var178
/* : String */;
3156 val
* var179
/* : nullable Int */;
3157 val
* var180
/* : nullable Int */;
3158 val
* var181
/* : nullable Bool */;
3159 val
* var182
/* : nullable Bool */;
3160 val
* var183
/* : String */;
3161 short int var184
/* : Bool */;
3162 short int var185
/* : Bool */;
3165 short int var_188
/* var : Bool */;
3166 short int var189
/* : Bool */;
3167 short int var190
/* : Bool */;
3168 val
* var191
/* : ModelBuilder */;
3169 val
* var193
/* : ModelBuilder */;
3170 static val
* varonce194
;
3171 val
* var195
/* : String */;
3172 char* var196
/* : CString */;
3173 val
* var197
/* : String */;
3174 val
* var198
/* : nullable Int */;
3175 val
* var199
/* : nullable Int */;
3176 val
* var200
/* : nullable Bool */;
3177 val
* var201
/* : nullable Bool */;
3178 val
* var203
/* : NativeArray[String] */;
3179 static val
* varonce202
;
3180 static val
* varonce204
;
3181 val
* var205
/* : String */;
3182 char* var206
/* : CString */;
3183 val
* var207
/* : String */;
3184 val
* var208
/* : nullable Int */;
3185 val
* var209
/* : nullable Int */;
3186 val
* var210
/* : nullable Bool */;
3187 val
* var211
/* : nullable Bool */;
3188 static val
* varonce212
;
3189 val
* var213
/* : String */;
3190 char* var214
/* : CString */;
3191 val
* var215
/* : String */;
3192 val
* var216
/* : nullable Int */;
3193 val
* var217
/* : nullable Int */;
3194 val
* var218
/* : nullable Bool */;
3195 val
* var219
/* : nullable Bool */;
3196 val
* var220
/* : String */;
3197 val
* var221
/* : String */;
3198 short int var222
/* : Bool */;
3199 short int var223
/* : Bool */;
3200 short int var224
/* : Bool */;
3201 short int var226
/* : Bool */;
3202 short int var_227
/* var : Bool */;
3203 short int var_228
/* var : Bool */;
3204 short int var229
/* : Bool */;
3205 short int var231
/* : Bool */;
3206 short int var232
/* : Bool */;
3207 val
* var234
/* : NativeArray[String] */;
3208 static val
* varonce233
;
3209 static val
* varonce235
;
3210 val
* var236
/* : String */;
3211 char* var237
/* : CString */;
3212 val
* var238
/* : String */;
3213 val
* var239
/* : nullable Int */;
3214 val
* var240
/* : nullable Int */;
3215 val
* var241
/* : nullable Bool */;
3216 val
* var242
/* : nullable Bool */;
3217 static val
* varonce243
;
3218 val
* var244
/* : String */;
3219 char* var245
/* : CString */;
3220 val
* var246
/* : String */;
3221 val
* var247
/* : nullable Int */;
3222 val
* var248
/* : nullable Int */;
3223 val
* var249
/* : nullable Bool */;
3224 val
* var250
/* : nullable Bool */;
3225 val
* var251
/* : String */;
3226 short int var252
/* : Bool */;
3227 short int var253
/* : Bool */;
3228 short int var_254
/* var : Bool */;
3229 short int var255
/* : Bool */;
3230 short int var257
/* : Bool */;
3231 val
* var259
/* : NativeArray[String] */;
3232 static val
* varonce258
;
3233 static val
* varonce260
;
3234 val
* var261
/* : String */;
3235 char* var262
/* : CString */;
3236 val
* var263
/* : String */;
3237 val
* var264
/* : nullable Int */;
3238 val
* var265
/* : nullable Int */;
3239 val
* var266
/* : nullable Bool */;
3240 val
* var267
/* : nullable Bool */;
3241 static val
* varonce268
;
3242 val
* var269
/* : String */;
3243 char* var270
/* : CString */;
3244 val
* var271
/* : String */;
3245 val
* var272
/* : nullable Int */;
3246 val
* var273
/* : nullable Int */;
3247 val
* var274
/* : nullable Bool */;
3248 val
* var275
/* : nullable Bool */;
3249 val
* var276
/* : String */;
3250 short int var277
/* : Bool */;
3251 short int var278
/* : Bool */;
3252 short int var279
/* : Bool */;
3253 val
* var280
/* : MVisibility */;
3254 val
* var282
/* : MVisibility */;
3255 val
* var283
/* : Sys */;
3256 val
* var284
/* : MVisibility */;
3257 short int var285
/* : Bool */;
3258 short int var287
/* : Bool */;
3259 short int var289
/* : Bool */;
3260 short int var_290
/* var : Bool */;
3261 short int var291
/* : Bool */;
3262 short int var_292
/* var : Bool */;
3263 val
* var293
/* : MModule */;
3264 val
* var295
/* : MModule */;
3265 val
* var296
/* : MClassDef */;
3266 val
* var298
/* : MClassDef */;
3267 val
* var299
/* : MModule */;
3268 val
* var301
/* : MModule */;
3269 val
* var302
/* : MVisibility */;
3270 val
* var303
/* : Sys */;
3271 val
* var304
/* : MVisibility */;
3272 short int var305
/* : Bool */;
3273 short int var_306
/* var : Bool */;
3274 val
* var307
/* : ModelBuilder */;
3275 val
* var309
/* : ModelBuilder */;
3276 val
* var310
/* : ToolContext */;
3277 val
* var312
/* : ToolContext */;
3278 val
* var313
/* : OptionBool */;
3279 val
* var315
/* : OptionBool */;
3280 val
* var316
/* : nullable Object */;
3281 val
* var318
/* : nullable Object */;
3282 short int var319
/* : Bool */;
3283 short int var320
/* : Bool */;
3284 val
* var321
/* : ModelBuilder */;
3285 val
* var323
/* : ModelBuilder */;
3286 val
* var325
/* : NativeArray[String] */;
3287 static val
* varonce324
;
3288 static val
* varonce326
;
3289 val
* var327
/* : String */;
3290 char* var328
/* : CString */;
3291 val
* var329
/* : String */;
3292 val
* var330
/* : nullable Int */;
3293 val
* var331
/* : nullable Int */;
3294 val
* var332
/* : nullable Bool */;
3295 val
* var333
/* : nullable Bool */;
3296 static val
* varonce334
;
3297 val
* var335
/* : String */;
3298 char* var336
/* : CString */;
3299 val
* var337
/* : String */;
3300 val
* var338
/* : nullable Int */;
3301 val
* var339
/* : nullable Int */;
3302 val
* var340
/* : nullable Bool */;
3303 val
* var341
/* : nullable Bool */;
3304 val
* var342
/* : String */;
3305 val
* var343
/* : nullable MDeprecationInfo */;
3306 val
* var345
/* : nullable MDeprecationInfo */;
3307 val
* var_info
/* var info: nullable MDeprecationInfo */;
3308 short int var346
/* : Bool */;
3309 short int var347
/* : Bool */;
3310 short int var348
/* : Bool */;
3311 val
* var_other350
/* var other: nullable Object */;
3312 short int var351
/* : Bool */;
3313 short int var352
/* : Bool */;
3314 short int var_353
/* var : Bool */;
3315 val
* var354
/* : nullable MPropDef */;
3316 val
* var356
/* : nullable MPropDef */;
3317 val
* var357
/* : MProperty */;
3318 val
* var359
/* : MProperty */;
3319 val
* var360
/* : nullable MDeprecationInfo */;
3320 val
* var362
/* : nullable MDeprecationInfo */;
3321 short int var363
/* : Bool */;
3322 short int var364
/* : Bool */;
3323 short int var366
/* : Bool */;
3324 short int var368
/* : Bool */;
3325 val
* var369
/* : nullable MDoc */;
3326 val
* var371
/* : nullable MDoc */;
3327 val
* var_mdoc
/* var mdoc: nullable MDoc */;
3328 short int var372
/* : Bool */;
3329 short int var373
/* : Bool */;
3330 short int var375
/* : Bool */;
3331 short int var376
/* : Bool */;
3332 val
* var377
/* : ModelBuilder */;
3333 val
* var379
/* : ModelBuilder */;
3334 static val
* varonce380
;
3335 val
* var381
/* : String */;
3336 char* var382
/* : CString */;
3337 val
* var383
/* : String */;
3338 val
* var384
/* : nullable Int */;
3339 val
* var385
/* : nullable Int */;
3340 val
* var386
/* : nullable Bool */;
3341 val
* var387
/* : nullable Bool */;
3342 val
* var389
/* : NativeArray[String] */;
3343 static val
* varonce388
;
3344 static val
* varonce390
;
3345 val
* var391
/* : String */;
3346 char* var392
/* : CString */;
3347 val
* var393
/* : String */;
3348 val
* var394
/* : nullable Int */;
3349 val
* var395
/* : nullable Int */;
3350 val
* var396
/* : nullable Bool */;
3351 val
* var397
/* : nullable Bool */;
3352 static val
* varonce398
;
3353 val
* var399
/* : String */;
3354 char* var400
/* : CString */;
3355 val
* var401
/* : String */;
3356 val
* var402
/* : nullable Int */;
3357 val
* var403
/* : nullable Int */;
3358 val
* var404
/* : nullable Bool */;
3359 val
* var405
/* : nullable Bool */;
3360 val
* var406
/* : Array[String] */;
3361 val
* var408
/* : Array[String] */;
3362 val
* var409
/* : nullable Object */;
3363 val
* var410
/* : String */;
3364 val
* var411
/* : ModelBuilder */;
3365 val
* var413
/* : ModelBuilder */;
3366 static val
* varonce414
;
3367 val
* var415
/* : String */;
3368 char* var416
/* : CString */;
3369 val
* var417
/* : String */;
3370 val
* var418
/* : nullable Int */;
3371 val
* var419
/* : nullable Int */;
3372 val
* var420
/* : nullable Bool */;
3373 val
* var421
/* : nullable Bool */;
3374 val
* var423
/* : NativeArray[String] */;
3375 static val
* varonce422
;
3376 static val
* varonce424
;
3377 val
* var425
/* : String */;
3378 char* var426
/* : CString */;
3379 val
* var427
/* : String */;
3380 val
* var428
/* : nullable Int */;
3381 val
* var429
/* : nullable Int */;
3382 val
* var430
/* : nullable Bool */;
3383 val
* var431
/* : nullable Bool */;
3384 static val
* varonce432
;
3385 val
* var433
/* : String */;
3386 char* var434
/* : CString */;
3387 val
* var435
/* : String */;
3388 val
* var436
/* : nullable Int */;
3389 val
* var437
/* : nullable Int */;
3390 val
* var438
/* : nullable Bool */;
3391 val
* var439
/* : nullable Bool */;
3392 val
* var440
/* : String */;
3393 val
* var441
/* : MModule */;
3394 val
* var443
/* : MModule */;
3395 val
* var444
/* : Array[MPropDef] */;
3396 val
* var_propdefs
/* var propdefs: Array[MMethodDef] */;
3397 long var445
/* : Int */;
3398 long var447
/* : Int */;
3399 short int var448
/* : Bool */;
3400 short int var450
/* : Bool */;
3401 val
* var451
/* : ModelBuilder */;
3402 val
* var453
/* : ModelBuilder */;
3403 val
* var455
/* : NativeArray[String] */;
3404 static val
* varonce454
;
3405 static val
* varonce456
;
3406 val
* var457
/* : String */;
3407 char* var458
/* : CString */;
3408 val
* var459
/* : String */;
3409 val
* var460
/* : nullable Int */;
3410 val
* var461
/* : nullable Int */;
3411 val
* var462
/* : nullable Bool */;
3412 val
* var463
/* : nullable Bool */;
3413 static val
* varonce464
;
3414 val
* var465
/* : String */;
3415 char* var466
/* : CString */;
3416 val
* var467
/* : String */;
3417 val
* var468
/* : nullable Int */;
3418 val
* var469
/* : nullable Int */;
3419 val
* var470
/* : nullable Bool */;
3420 val
* var471
/* : nullable Bool */;
3421 static val
* varonce472
;
3422 val
* var473
/* : String */;
3423 char* var474
/* : CString */;
3424 val
* var475
/* : String */;
3425 val
* var476
/* : nullable Int */;
3426 val
* var477
/* : nullable Int */;
3427 val
* var478
/* : nullable Bool */;
3428 val
* var479
/* : nullable Bool */;
3429 val
* var480
/* : String */;
3430 val
* var481
/* : String */;
3431 long var482
/* : Int */;
3432 long var484
/* : Int */;
3433 short int var485
/* : Bool */;
3434 short int var487
/* : Bool */;
3435 val
* var488
/* : nullable Object */;
3436 val
* var_mpropdef
/* var mpropdef: nullable Object */;
3437 val
* var489
/* : ModelBuilder */;
3438 val
* var491
/* : ModelBuilder */;
3439 static val
* varonce492
;
3440 val
* var493
/* : String */;
3441 char* var494
/* : CString */;
3442 val
* var495
/* : String */;
3443 val
* var496
/* : nullable Int */;
3444 val
* var497
/* : nullable Int */;
3445 val
* var498
/* : nullable Bool */;
3446 val
* var499
/* : nullable Bool */;
3447 val
* var501
/* : NativeArray[String] */;
3448 static val
* varonce500
;
3449 static val
* varonce502
;
3450 val
* var503
/* : String */;
3451 char* var504
/* : CString */;
3452 val
* var505
/* : String */;
3453 val
* var506
/* : nullable Int */;
3454 val
* var507
/* : nullable Int */;
3455 val
* var508
/* : nullable Bool */;
3456 val
* var509
/* : nullable Bool */;
3457 static val
* varonce510
;
3458 val
* var511
/* : String */;
3459 char* var512
/* : CString */;
3460 val
* var513
/* : String */;
3461 val
* var514
/* : nullable Int */;
3462 val
* var515
/* : nullable Int */;
3463 val
* var516
/* : nullable Bool */;
3464 val
* var517
/* : nullable Bool */;
3465 static val
* varonce518
;
3466 val
* var519
/* : String */;
3467 char* var520
/* : CString */;
3468 val
* var521
/* : String */;
3469 val
* var522
/* : nullable Int */;
3470 val
* var523
/* : nullable Int */;
3471 val
* var524
/* : nullable Bool */;
3472 val
* var525
/* : nullable Bool */;
3473 val
* var526
/* : String */;
3474 static val
* varonce527
;
3475 val
* var528
/* : String */;
3476 char* var529
/* : CString */;
3477 val
* var530
/* : String */;
3478 val
* var531
/* : nullable Int */;
3479 val
* var532
/* : nullable Int */;
3480 val
* var533
/* : nullable Bool */;
3481 val
* var534
/* : nullable Bool */;
3482 val
* var535
/* : String */;
3483 val
* var536
/* : String */;
3484 val
* var537
/* : MPropDef */;
3485 val
* var539
/* : MPropDef */;
3486 val
* var540
/* : nullable MSignature */;
3487 val
* var541
/* : nullable MSignature */;
3488 val
* var543
/* : nullable MSignature */;
3489 val
* var544
/* : nullable MSignature */;
3490 val
* var546
/* : nullable MSignature */;
3491 val
* var_msignature
/* var msignature: nullable MSignature */;
3492 short int var547
/* : Bool */;
3493 short int var548
/* : Bool */;
3494 short int var550
/* : Bool */;
3495 short int var552
/* : Bool */;
3496 val
* var553
/* : MType */;
3497 short int var554
/* : Bool */;
3500 const char* var_class_name
;
3501 short int var_erasure_cast
/* var erasure_cast: Bool */;
3502 val
* var557
/* : nullable MSignature */;
3503 val
* var559
/* : nullable MSignature */;
3504 val
* var560
/* : nullable MType */;
3505 val
* var562
/* : nullable MType */;
3506 val
* var_rettype
/* var rettype: nullable MType */;
3507 short int var563
/* : Bool */;
3508 short int var564
/* : Bool */;
3509 short int var_565
/* var : Bool */;
3510 short int var566
/* : Bool */;
3511 short int var567
/* : Bool */;
3512 short int var569
/* : Bool */;
3513 short int var570
/* : Bool */;
3514 val
* var571
/* : MType */;
3515 short int var572
/* : Bool */;
3518 val
* var575
/* : nullable MType */;
3519 val
* var577
/* : nullable MType */;
3520 val
* var_erased_rettype
/* var erased_rettype: nullable MType */;
3521 short int var578
/* : Bool */;
3522 short int var579
/* : Bool */;
3523 short int var581
/* : Bool */;
3524 short int var582
/* : Bool */;
3525 val
* var583
/* : CallSite */;
3526 val
* var584
/* : Location */;
3527 val
* var585
/* : MModule */;
3528 val
* var587
/* : MModule */;
3529 val
* var588
/* : nullable MClassType */;
3530 val
* var590
/* : nullable MClassType */;
3531 val
* var_callsite
/* var callsite: CallSite */;
3535 var_recv_is_self
= p3
;
3537 var1
= nitc__typing___nitc__typing__TypeVisitor___anchor_to(self
, var_recvtype
);
3539 var_unsafe_type
= var1
;
3540 /* <var_recvtype:MType> isa MNullType */
3541 cltype
= type_nitc__MNullType
.color
;
3542 idtype
= type_nitc__MNullType
.id
;
3543 if(cltype
>= var_recvtype
->type
->table_size
) {
3546 var2
= var_recvtype
->type
->type_table
[cltype
] == idtype
;
3549 if (likely(varonce
!=NULL
)) {
3553 var6
= (val
*)(6l<<2|1);
3554 var7
= (val
*)(6l<<2|1);
3555 var8
= (val
*)((long)(0)<<2|3);
3556 var9
= (val
*)((long)(0)<<2|3);
3557 var5
= core__flat___CString___to_s_unsafe(var4
, var6
, var7
, var8
, var9
);
3562 var10
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(self
, var_node
, var3
);
3564 var_objclass
= var10
;
3565 if (var_objclass
== NULL
) {
3566 var11
= 1; /* is null */
3568 var11
= 0; /* arg is null but recv is not */
3571 { /* Inline kernel$Object$== (var_objclass,((val*)NULL)) on <var_objclass:nullable MClass> */
3572 var_other
= ((val
*)NULL
);
3574 { /* Inline kernel$Object$is_same_instance (var_objclass,var_other) on <var_objclass:nullable MClass(MClass)> */
3575 var16
= var_objclass
== var_other
;
3578 RET_LABEL15
:(void)0;
3583 RET_LABEL13
:(void)0;
3593 { /* Inline model$MClass$mclass_type (var_objclass) on <var_objclass:nullable MClass(MClass)> */
3594 var19
= var_objclass
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_objclass:nullable MClass(MClass)> */
3595 if (unlikely(var19
== NULL
)) {
3596 if(catchStack
.cursor
>= 0){
3597 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3599 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
3600 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 520);
3604 RET_LABEL18
:(void)0;
3607 var_unsafe_type
= var17
;
3611 var20
= nitc__typing___nitc__typing__TypeVisitor___try_get_mproperty_by_name2(self
, var_node
, var_unsafe_type
, var_name
);
3613 var_mproperty
= var20
;
3614 if (likely(varonce22
!=NULL
)) {
3618 var26
= (val
*)(3l<<2|1);
3619 var27
= (val
*)(3l<<2|1);
3620 var28
= (val
*)((long)(0)<<2|3);
3621 var29
= (val
*)((long)(0)<<2|3);
3622 var25
= core__flat___CString___to_s_unsafe(var24
, var26
, var27
, var28
, var29
);
3627 var30
= ((short int(*)(val
* self
, val
* p0
))(var_name
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_name
, var23
); /* == on <var_name:String>*/
3631 if (var_mproperty
== NULL
) {
3632 var31
= 1; /* is null */
3634 var31
= 0; /* arg is null but recv is not */
3637 { /* Inline kernel$Object$== (var_mproperty,((val*)NULL)) on <var_mproperty:nullable MProperty> */
3638 var_other
= ((val
*)NULL
);
3640 { /* Inline kernel$Object$is_same_instance (var_mproperty,var_other) on <var_mproperty:nullable MProperty(MProperty)> */
3641 var36
= var_mproperty
== var_other
;
3644 RET_LABEL35
:(void)0;
3649 RET_LABEL33
:(void)0;
3658 if (likely(varonce37
!=NULL
)) {
3662 var41
= (val
*)(4l<<2|1);
3663 var42
= (val
*)(4l<<2|1);
3664 var43
= (val
*)((long)(0)<<2|3);
3665 var44
= (val
*)((long)(0)<<2|3);
3666 var40
= core__flat___CString___to_s_unsafe(var39
, var41
, var42
, var43
, var44
);
3672 var45
= nitc__typing___nitc__typing__TypeVisitor___try_get_mproperty_by_name2(self
, var_node
, var_unsafe_type
, var_name
);
3674 var_mproperty
= var45
;
3677 if (var_mproperty
== NULL
) {
3678 var46
= 1; /* is null */
3680 var46
= 0; /* arg is null but recv is not */
3683 { /* Inline kernel$Object$== (var_mproperty,((val*)NULL)) on <var_mproperty:nullable MProperty> */
3684 var_other
= ((val
*)NULL
);
3686 { /* Inline kernel$Object$is_same_instance (var_mproperty,var_other) on <var_mproperty:nullable MProperty(MProperty)> */
3687 var51
= var_mproperty
== var_other
;
3690 RET_LABEL50
:(void)0;
3695 RET_LABEL48
:(void)0;
3700 if (var_recv_is_self
){
3702 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
3703 var54
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
3704 if (unlikely(var54
== NULL
)) {
3705 if(catchStack
.cursor
>= 0){
3706 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3708 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3709 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
3713 RET_LABEL53
:(void)0;
3716 if (unlikely(varonce55
==NULL
)) {
3717 var56
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
3718 if (likely(varonce57
!=NULL
)) {
3721 var59
= "Error: method or variable `";
3722 var61
= (val
*)(27l<<2|1);
3723 var62
= (val
*)(27l<<2|1);
3724 var63
= (val
*)((long)(0)<<2|3);
3725 var64
= (val
*)((long)(0)<<2|3);
3726 var60
= core__flat___CString___to_s_unsafe(var59
, var61
, var62
, var63
, var64
);
3730 ((struct instance_core__NativeArray
*)var56
)->values
[0]=var58
;
3731 if (likely(varonce65
!=NULL
)) {
3734 var67
= "` unknown in `";
3735 var69
= (val
*)(14l<<2|1);
3736 var70
= (val
*)(14l<<2|1);
3737 var71
= (val
*)((long)(0)<<2|3);
3738 var72
= (val
*)((long)(0)<<2|3);
3739 var68
= core__flat___CString___to_s_unsafe(var67
, var69
, var70
, var71
, var72
);
3743 ((struct instance_core__NativeArray
*)var56
)->values
[2]=var66
;
3744 if (likely(varonce73
!=NULL
)) {
3748 var77
= (val
*)(2l<<2|1);
3749 var78
= (val
*)(2l<<2|1);
3750 var79
= (val
*)((long)(0)<<2|3);
3751 var80
= (val
*)((long)(0)<<2|3);
3752 var76
= core__flat___CString___to_s_unsafe(var75
, var77
, var78
, var79
, var80
);
3756 ((struct instance_core__NativeArray
*)var56
)->values
[4]=var74
;
3761 ((struct instance_core__NativeArray
*)var56
)->values
[1]=var_name
;
3763 var81
= ((val
*(*)(val
* self
))(var_recvtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_recvtype
); /* to_s on <var_recvtype:MType>*/
3765 ((struct instance_core__NativeArray
*)var56
)->values
[3]=var81
;
3767 var82
= ((val
*(*)(val
* self
))(var56
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var56
); /* native_to_s on <var56:NativeArray[String]>*/
3771 nitc___nitc__ModelBuilder___error(var52
, var_node
, var82
); /* Direct call modelbuilder_base$ModelBuilder$error on <var52:ModelBuilder>*/
3775 var83
= ((short int(*)(val
* self
))(var_recvtype
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(var_recvtype
); /* need_anchor on <var_recvtype:MType>*/
3779 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
3780 var86
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
3781 if (unlikely(var86
== NULL
)) {
3782 if(catchStack
.cursor
>= 0){
3783 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3785 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3786 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
3790 RET_LABEL85
:(void)0;
3793 if (unlikely(varonce87
==NULL
)) {
3794 var88
= NEW_core__NativeArray((int)7l, &type_core__NativeArray__core__String
);
3795 if (likely(varonce89
!=NULL
)) {
3798 var91
= "Error: method `";
3799 var93
= (val
*)(15l<<2|1);
3800 var94
= (val
*)(15l<<2|1);
3801 var95
= (val
*)((long)(0)<<2|3);
3802 var96
= (val
*)((long)(0)<<2|3);
3803 var92
= core__flat___CString___to_s_unsafe(var91
, var93
, var94
, var95
, var96
);
3807 ((struct instance_core__NativeArray
*)var88
)->values
[0]=var90
;
3808 if (likely(varonce97
!=NULL
)) {
3811 var99
= "` does not exists in `";
3812 var101
= (val
*)(22l<<2|1);
3813 var102
= (val
*)(22l<<2|1);
3814 var103
= (val
*)((long)(0)<<2|3);
3815 var104
= (val
*)((long)(0)<<2|3);
3816 var100
= core__flat___CString___to_s_unsafe(var99
, var101
, var102
, var103
, var104
);
3820 ((struct instance_core__NativeArray
*)var88
)->values
[2]=var98
;
3821 if (likely(varonce105
!=NULL
)) {
3822 var106
= varonce105
;
3825 var109
= (val
*)(2l<<2|1);
3826 var110
= (val
*)(2l<<2|1);
3827 var111
= (val
*)((long)(0)<<2|3);
3828 var112
= (val
*)((long)(0)<<2|3);
3829 var108
= core__flat___CString___to_s_unsafe(var107
, var109
, var110
, var111
, var112
);
3831 varonce105
= var106
;
3833 ((struct instance_core__NativeArray
*)var88
)->values
[4]=var106
;
3834 if (likely(varonce113
!=NULL
)) {
3835 var114
= varonce113
;
3838 var117
= (val
*)(2l<<2|1);
3839 var118
= (val
*)(2l<<2|1);
3840 var119
= (val
*)((long)(0)<<2|3);
3841 var120
= (val
*)((long)(0)<<2|3);
3842 var116
= core__flat___CString___to_s_unsafe(var115
, var117
, var118
, var119
, var120
);
3844 varonce113
= var114
;
3846 ((struct instance_core__NativeArray
*)var88
)->values
[6]=var114
;
3851 ((struct instance_core__NativeArray
*)var88
)->values
[1]=var_name
;
3853 var121
= ((val
*(*)(val
* self
))(var_recvtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_recvtype
); /* to_s on <var_recvtype:MType>*/
3855 ((struct instance_core__NativeArray
*)var88
)->values
[3]=var121
;
3857 var122
= ((val
*(*)(val
* self
))(var_unsafe_type
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_unsafe_type
); /* to_s on <var_unsafe_type:MType>*/
3859 ((struct instance_core__NativeArray
*)var88
)->values
[5]=var122
;
3861 var123
= ((val
*(*)(val
* self
))(var88
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var88
); /* native_to_s on <var88:NativeArray[String]>*/
3865 nitc___nitc__ModelBuilder___error(var84
, var_node
, var123
); /* Direct call modelbuilder_base$ModelBuilder$error on <var84:ModelBuilder>*/
3869 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
3870 var126
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
3871 if (unlikely(var126
== NULL
)) {
3872 if(catchStack
.cursor
>= 0){
3873 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3875 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3876 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
3880 RET_LABEL125
:(void)0;
3883 if (unlikely(varonce127
==NULL
)) {
3884 var128
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
3885 if (likely(varonce129
!=NULL
)) {
3886 var130
= varonce129
;
3888 var131
= "Error: method `";
3889 var133
= (val
*)(15l<<2|1);
3890 var134
= (val
*)(15l<<2|1);
3891 var135
= (val
*)((long)(0)<<2|3);
3892 var136
= (val
*)((long)(0)<<2|3);
3893 var132
= core__flat___CString___to_s_unsafe(var131
, var133
, var134
, var135
, var136
);
3895 varonce129
= var130
;
3897 ((struct instance_core__NativeArray
*)var128
)->values
[0]=var130
;
3898 if (likely(varonce137
!=NULL
)) {
3899 var138
= varonce137
;
3901 var139
= "` does not exists in `";
3902 var141
= (val
*)(22l<<2|1);
3903 var142
= (val
*)(22l<<2|1);
3904 var143
= (val
*)((long)(0)<<2|3);
3905 var144
= (val
*)((long)(0)<<2|3);
3906 var140
= core__flat___CString___to_s_unsafe(var139
, var141
, var142
, var143
, var144
);
3908 varonce137
= var138
;
3910 ((struct instance_core__NativeArray
*)var128
)->values
[2]=var138
;
3911 if (likely(varonce145
!=NULL
)) {
3912 var146
= varonce145
;
3915 var149
= (val
*)(2l<<2|1);
3916 var150
= (val
*)(2l<<2|1);
3917 var151
= (val
*)((long)(0)<<2|3);
3918 var152
= (val
*)((long)(0)<<2|3);
3919 var148
= core__flat___CString___to_s_unsafe(var147
, var149
, var150
, var151
, var152
);
3921 varonce145
= var146
;
3923 ((struct instance_core__NativeArray
*)var128
)->values
[4]=var146
;
3925 var128
= varonce127
;
3928 ((struct instance_core__NativeArray
*)var128
)->values
[1]=var_name
;
3930 var153
= ((val
*(*)(val
* self
))(var_recvtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_recvtype
); /* to_s on <var_recvtype:MType>*/
3932 ((struct instance_core__NativeArray
*)var128
)->values
[3]=var153
;
3934 var154
= ((val
*(*)(val
* self
))(var128
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var128
); /* native_to_s on <var128:NativeArray[String]>*/
3936 varonce127
= var128
;
3938 nitc___nitc__ModelBuilder___error(var124
, var_node
, var154
); /* Direct call modelbuilder_base$ModelBuilder$error on <var124:ModelBuilder>*/
3946 /* <var_mproperty:nullable MProperty(MProperty)> isa MMethod */
3947 cltype156
= type_nitc__MMethod
.color
;
3948 idtype157
= type_nitc__MMethod
.id
;
3949 if(cltype156
>= var_mproperty
->type
->table_size
) {
3952 var155
= var_mproperty
->type
->type_table
[cltype156
] == idtype157
;
3954 if (unlikely(!var155
)) {
3955 if(catchStack
.cursor
>= 0){
3956 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3958 PRINT_ERROR("Runtime error: %s", "Assert failed");
3959 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 336);
3962 /* <var_recvtype:MType> isa MNullType */
3963 cltype160
= type_nitc__MNullType
.color
;
3964 idtype161
= type_nitc__MNullType
.id
;
3965 if(cltype160
>= var_recvtype
->type
->table_size
) {
3968 var159
= var_recvtype
->type
->type_table
[cltype160
] == idtype161
;
3973 var163
= nitc___nitc__MMethod___is_null_safe(var_mproperty
);
3981 if (unlikely(varonce165
==NULL
)) {
3982 var166
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
3983 if (likely(varonce167
!=NULL
)) {
3984 var168
= varonce167
;
3986 var169
= "Error: method `";
3987 var171
= (val
*)(15l<<2|1);
3988 var172
= (val
*)(15l<<2|1);
3989 var173
= (val
*)((long)(0)<<2|3);
3990 var174
= (val
*)((long)(0)<<2|3);
3991 var170
= core__flat___CString___to_s_unsafe(var169
, var171
, var172
, var173
, var174
);
3993 varonce167
= var168
;
3995 ((struct instance_core__NativeArray
*)var166
)->values
[0]=var168
;
3996 if (likely(varonce175
!=NULL
)) {
3997 var176
= varonce175
;
3999 var177
= "` called on `null`.";
4000 var179
= (val
*)(19l<<2|1);
4001 var180
= (val
*)(19l<<2|1);
4002 var181
= (val
*)((long)(0)<<2|3);
4003 var182
= (val
*)((long)(0)<<2|3);
4004 var178
= core__flat___CString___to_s_unsafe(var177
, var179
, var180
, var181
, var182
);
4006 varonce175
= var176
;
4008 ((struct instance_core__NativeArray
*)var166
)->values
[2]=var176
;
4010 var166
= varonce165
;
4013 ((struct instance_core__NativeArray
*)var166
)->values
[1]=var_name
;
4015 var183
= ((val
*(*)(val
* self
))(var166
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var166
); /* native_to_s on <var166:NativeArray[String]>*/
4017 varonce165
= var166
;
4019 nitc__typing___nitc__typing__TypeVisitor___error(self
, var_node
, var183
); /* Direct call typing$TypeVisitor$error on <self:TypeVisitor>*/
4024 /* <var_unsafe_type:MType> isa MNullableType */
4025 cltype186
= type_nitc__MNullableType
.color
;
4026 idtype187
= type_nitc__MNullableType
.id
;
4027 if(cltype186
>= var_unsafe_type
->type
->table_size
) {
4030 var185
= var_unsafe_type
->type
->type_table
[cltype186
] == idtype187
;
4035 var189
= nitc___nitc__MMethod___is_null_safe(var_mproperty
);
4044 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
4045 var193
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
4046 if (unlikely(var193
== NULL
)) {
4047 if(catchStack
.cursor
>= 0){
4048 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4050 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4051 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
4055 RET_LABEL192
:(void)0;
4058 if (likely(varonce194
!=NULL
)) {
4059 var195
= varonce194
;
4061 var196
= "call-on-nullable";
4062 var198
= (val
*)(16l<<2|1);
4063 var199
= (val
*)(16l<<2|1);
4064 var200
= (val
*)((long)(0)<<2|3);
4065 var201
= (val
*)((long)(0)<<2|3);
4066 var197
= core__flat___CString___to_s_unsafe(var196
, var198
, var199
, var200
, var201
);
4068 varonce194
= var195
;
4070 if (unlikely(varonce202
==NULL
)) {
4071 var203
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4072 if (likely(varonce204
!=NULL
)) {
4073 var205
= varonce204
;
4075 var206
= "Warning: method call on a nullable receiver `";
4076 var208
= (val
*)(45l<<2|1);
4077 var209
= (val
*)(45l<<2|1);
4078 var210
= (val
*)((long)(0)<<2|3);
4079 var211
= (val
*)((long)(0)<<2|3);
4080 var207
= core__flat___CString___to_s_unsafe(var206
, var208
, var209
, var210
, var211
);
4082 varonce204
= var205
;
4084 ((struct instance_core__NativeArray
*)var203
)->values
[0]=var205
;
4085 if (likely(varonce212
!=NULL
)) {
4086 var213
= varonce212
;
4089 var216
= (val
*)(2l<<2|1);
4090 var217
= (val
*)(2l<<2|1);
4091 var218
= (val
*)((long)(0)<<2|3);
4092 var219
= (val
*)((long)(0)<<2|3);
4093 var215
= core__flat___CString___to_s_unsafe(var214
, var216
, var217
, var218
, var219
);
4095 varonce212
= var213
;
4097 ((struct instance_core__NativeArray
*)var203
)->values
[2]=var213
;
4099 var203
= varonce202
;
4103 var220
= ((val
*(*)(val
* self
))(var_recvtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_recvtype
); /* to_s on <var_recvtype:MType>*/
4105 ((struct instance_core__NativeArray
*)var203
)->values
[1]=var220
;
4107 var221
= ((val
*(*)(val
* self
))(var203
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var203
); /* native_to_s on <var203:NativeArray[String]>*/
4109 varonce202
= var203
;
4111 nitc___nitc__ModelBuilder___advice(var191
, var_node
, var195
, var221
); /* Direct call modelbuilder_base$ModelBuilder$advice on <var191:ModelBuilder>*/
4117 { /* Inline typing$TypeVisitor$is_toplevel_context (self) on <self:TypeVisitor> */
4118 var226
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___is_toplevel_context
].s
; /* _is_toplevel_context on <self:TypeVisitor> */
4120 RET_LABEL225
:(void)0;
4125 var223
= var_recv_is_self
;
4132 { /* Inline model$MMethod$is_toplevel (var_mproperty) on <var_mproperty:nullable MProperty(MMethod)> */
4133 var231
= var_mproperty
->attrs
[COLOR_nitc__model__MMethod___is_toplevel
].s
; /* _is_toplevel on <var_mproperty:nullable MProperty(MMethod)> */
4135 RET_LABEL230
:(void)0;
4144 if (unlikely(varonce233
==NULL
)) {
4145 var234
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4146 if (likely(varonce235
!=NULL
)) {
4147 var236
= varonce235
;
4149 var237
= "Error: `";
4150 var239
= (val
*)(8l<<2|1);
4151 var240
= (val
*)(8l<<2|1);
4152 var241
= (val
*)((long)(0)<<2|3);
4153 var242
= (val
*)((long)(0)<<2|3);
4154 var238
= core__flat___CString___to_s_unsafe(var237
, var239
, var240
, var241
, var242
);
4156 varonce235
= var236
;
4158 ((struct instance_core__NativeArray
*)var234
)->values
[0]=var236
;
4159 if (likely(varonce243
!=NULL
)) {
4160 var244
= varonce243
;
4162 var245
= "` is not a top-level method, thus need a receiver.";
4163 var247
= (val
*)(50l<<2|1);
4164 var248
= (val
*)(50l<<2|1);
4165 var249
= (val
*)((long)(0)<<2|3);
4166 var250
= (val
*)((long)(0)<<2|3);
4167 var246
= core__flat___CString___to_s_unsafe(var245
, var247
, var248
, var249
, var250
);
4169 varonce243
= var244
;
4171 ((struct instance_core__NativeArray
*)var234
)->values
[2]=var244
;
4173 var234
= varonce233
;
4176 ((struct instance_core__NativeArray
*)var234
)->values
[1]=var_name
;
4178 var251
= ((val
*(*)(val
* self
))(var234
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var234
); /* native_to_s on <var234:NativeArray[String]>*/
4180 varonce233
= var234
;
4182 nitc__typing___nitc__typing__TypeVisitor___error(self
, var_node
, var251
); /* Direct call typing$TypeVisitor$error on <self:TypeVisitor>*/
4186 var253
= !var_recv_is_self
;
4190 { /* Inline model$MMethod$is_toplevel (var_mproperty) on <var_mproperty:nullable MProperty(MMethod)> */
4191 var257
= var_mproperty
->attrs
[COLOR_nitc__model__MMethod___is_toplevel
].s
; /* _is_toplevel on <var_mproperty:nullable MProperty(MMethod)> */
4193 RET_LABEL256
:(void)0;
4201 if (unlikely(varonce258
==NULL
)) {
4202 var259
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4203 if (likely(varonce260
!=NULL
)) {
4204 var261
= varonce260
;
4206 var262
= "Error: cannot call `";
4207 var264
= (val
*)(20l<<2|1);
4208 var265
= (val
*)(20l<<2|1);
4209 var266
= (val
*)((long)(0)<<2|3);
4210 var267
= (val
*)((long)(0)<<2|3);
4211 var263
= core__flat___CString___to_s_unsafe(var262
, var264
, var265
, var266
, var267
);
4213 varonce260
= var261
;
4215 ((struct instance_core__NativeArray
*)var259
)->values
[0]=var261
;
4216 if (likely(varonce268
!=NULL
)) {
4217 var269
= varonce268
;
4219 var270
= "`, a top-level method, with a receiver.";
4220 var272
= (val
*)(39l<<2|1);
4221 var273
= (val
*)(39l<<2|1);
4222 var274
= (val
*)((long)(0)<<2|3);
4223 var275
= (val
*)((long)(0)<<2|3);
4224 var271
= core__flat___CString___to_s_unsafe(var270
, var272
, var273
, var274
, var275
);
4226 varonce268
= var269
;
4228 ((struct instance_core__NativeArray
*)var259
)->values
[2]=var269
;
4230 var259
= varonce258
;
4233 ((struct instance_core__NativeArray
*)var259
)->values
[1]=var_name
;
4235 var276
= ((val
*(*)(val
* self
))(var259
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var259
); /* native_to_s on <var259:NativeArray[String]>*/
4237 varonce258
= var259
;
4239 nitc__typing___nitc__typing__TypeVisitor___error(self
, var_node
, var276
); /* Direct call typing$TypeVisitor$error on <self:TypeVisitor>*/
4244 { /* Inline model$MProperty$visibility (var_mproperty) on <var_mproperty:nullable MProperty(MMethod)> */
4245 var282
= var_mproperty
->attrs
[COLOR_nitc__model__MProperty___visibility
].val
; /* _visibility on <var_mproperty:nullable MProperty(MMethod)> */
4246 if (unlikely(var282
== NULL
)) {
4247 if(catchStack
.cursor
>= 0){
4248 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4250 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
4251 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2078);
4255 RET_LABEL281
:(void)0;
4260 var284
= nitc__model_base___core__Sys___protected_visibility(var283
);
4263 { /* Inline kernel$Object$== (var280,var284) on <var280:MVisibility> */
4266 { /* Inline kernel$Object$is_same_instance (var280,var_other) on <var280:MVisibility> */
4267 var289
= var280
== var_other
;
4270 RET_LABEL288
:(void)0;
4275 RET_LABEL286
:(void)0;
4280 var291
= !var_recv_is_self
;
4288 { /* Inline typing$TypeVisitor$mmodule (self) on <self:TypeVisitor> */
4289 var295
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <self:TypeVisitor> */
4290 if (unlikely(var295
== NULL
)) {
4291 if(catchStack
.cursor
>= 0){
4292 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4294 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4295 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 37);
4299 RET_LABEL294
:(void)0;
4303 { /* Inline model$MProperty$intro_mclassdef (var_mproperty) on <var_mproperty:nullable MProperty(MMethod)> */
4304 var298
= var_mproperty
->attrs
[COLOR_nitc__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_mproperty:nullable MProperty(MMethod)> */
4305 if (unlikely(var298
== NULL
)) {
4306 if(catchStack
.cursor
>= 0){
4307 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4309 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
4310 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2042);
4314 RET_LABEL297
:(void)0;
4318 { /* Inline model$MClassDef$mmodule (var296) on <var296:MClassDef> */
4319 var301
= var296
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <var296:MClassDef> */
4320 if (unlikely(var301
== NULL
)) {
4321 if(catchStack
.cursor
>= 0){
4322 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4324 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4325 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 588);
4329 RET_LABEL300
:(void)0;
4333 var302
= nitc___nitc__MModule___visibility_for(var293
, var299
);
4337 var304
= nitc__model_base___core__Sys___intrude_visibility(var303
);
4340 var305
= nitc___nitc__MVisibility___core__kernel__Comparable___60d(var302
, var304
);
4349 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
4350 var309
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
4351 if (unlikely(var309
== NULL
)) {
4352 if(catchStack
.cursor
>= 0){
4353 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4355 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4356 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
4360 RET_LABEL308
:(void)0;
4364 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var307) on <var307:ModelBuilder> */
4365 var312
= var307
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var307:ModelBuilder> */
4366 if (unlikely(var312
== NULL
)) {
4367 if(catchStack
.cursor
>= 0){
4368 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4370 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4371 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
4375 RET_LABEL311
:(void)0;
4379 { /* Inline modelbuilder$ToolContext$opt_ignore_visibility (var310) on <var310:ToolContext> */
4380 var315
= var310
->attrs
[COLOR_nitc__modelbuilder__ToolContext___opt_ignore_visibility
].val
; /* _opt_ignore_visibility on <var310:ToolContext> */
4381 if (unlikely(var315
== NULL
)) {
4382 if(catchStack
.cursor
>= 0){
4383 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4385 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_ignore_visibility");
4386 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder
, 27);
4390 RET_LABEL314
:(void)0;
4394 { /* Inline opts$Option$value (var313) on <var313:OptionBool> */
4395 var318
= var313
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var313:OptionBool> */
4397 RET_LABEL317
:(void)0;
4400 var319
= (short int)((long)(var316
)>>2);
4408 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
4409 var323
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
4410 if (unlikely(var323
== NULL
)) {
4411 if(catchStack
.cursor
>= 0){
4412 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4414 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4415 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
4419 RET_LABEL322
:(void)0;
4422 if (unlikely(varonce324
==NULL
)) {
4423 var325
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4424 if (likely(varonce326
!=NULL
)) {
4425 var327
= varonce326
;
4427 var328
= "Error: method `";
4428 var330
= (val
*)(15l<<2|1);
4429 var331
= (val
*)(15l<<2|1);
4430 var332
= (val
*)((long)(0)<<2|3);
4431 var333
= (val
*)((long)(0)<<2|3);
4432 var329
= core__flat___CString___to_s_unsafe(var328
, var330
, var331
, var332
, var333
);
4434 varonce326
= var327
;
4436 ((struct instance_core__NativeArray
*)var325
)->values
[0]=var327
;
4437 if (likely(varonce334
!=NULL
)) {
4438 var335
= varonce334
;
4440 var336
= "` is protected and can only accessed by `self`.";
4441 var338
= (val
*)(47l<<2|1);
4442 var339
= (val
*)(47l<<2|1);
4443 var340
= (val
*)((long)(0)<<2|3);
4444 var341
= (val
*)((long)(0)<<2|3);
4445 var337
= core__flat___CString___to_s_unsafe(var336
, var338
, var339
, var340
, var341
);
4447 varonce334
= var335
;
4449 ((struct instance_core__NativeArray
*)var325
)->values
[2]=var335
;
4451 var325
= varonce324
;
4454 ((struct instance_core__NativeArray
*)var325
)->values
[1]=var_name
;
4456 var342
= ((val
*(*)(val
* self
))(var325
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var325
); /* native_to_s on <var325:NativeArray[String]>*/
4458 varonce324
= var325
;
4460 nitc___nitc__ModelBuilder___error(var321
, var_node
, var342
); /* Direct call modelbuilder_base$ModelBuilder$error on <var321:ModelBuilder>*/
4467 { /* Inline mdoc$MEntity$deprecation (var_mproperty) on <var_mproperty:nullable MProperty(MMethod)> */
4468 var345
= var_mproperty
->attrs
[COLOR_nitc__mdoc__MEntity___deprecation
].val
; /* _deprecation on <var_mproperty:nullable MProperty(MMethod)> */
4470 RET_LABEL344
:(void)0;
4474 if (var_info
== NULL
) {
4475 var347
= 0; /* is null */
4477 var347
= 1; /* arg is null and recv is not */
4480 { /* Inline kernel$Object$!= (var_info,((val*)NULL)) on <var_info:nullable MDeprecationInfo> */
4481 var_other350
= ((val
*)NULL
);
4483 var351
= ((short int(*)(val
* self
, val
* p0
))(var_info
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_info
, var_other350
); /* == on <var_info:nullable MDeprecationInfo(MDeprecationInfo)>*/
4488 RET_LABEL349
:(void)0;
4495 { /* Inline typing$TypeVisitor$mpropdef (self) on <self:TypeVisitor> */
4496 var356
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___mpropdef
].val
; /* _mpropdef on <self:TypeVisitor> */
4498 RET_LABEL355
:(void)0;
4501 if (var354
== NULL
) {
4502 if(catchStack
.cursor
>= 0){
4503 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4505 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4506 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 359);
4509 { /* Inline model$MPropDef$mproperty (var354) on <var354:nullable MPropDef> */
4510 if (unlikely(var354
== NULL
)) {
4511 if(catchStack
.cursor
>= 0){
4512 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4514 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4515 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2357);
4518 var359
= var354
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var354:nullable MPropDef> */
4519 if (unlikely(var359
== NULL
)) {
4520 if(catchStack
.cursor
>= 0){
4521 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4523 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
4524 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2357);
4528 RET_LABEL358
:(void)0;
4532 { /* Inline mdoc$MEntity$deprecation (var357) on <var357:MProperty> */
4533 var362
= var357
->attrs
[COLOR_nitc__mdoc__MEntity___deprecation
].val
; /* _deprecation on <var357:MProperty> */
4535 RET_LABEL361
:(void)0;
4538 if (var360
== NULL
) {
4539 var363
= 1; /* is null */
4541 var363
= 0; /* arg is null but recv is not */
4544 { /* Inline kernel$Object$== (var360,((val*)NULL)) on <var360:nullable MDeprecationInfo> */
4545 var_other
= ((val
*)NULL
);
4547 { /* Inline kernel$Object$is_same_instance (var360,var_other) on <var360:nullable MDeprecationInfo(MDeprecationInfo)> */
4548 var368
= var360
== var_other
;
4551 RET_LABEL367
:(void)0;
4556 RET_LABEL365
:(void)0;
4566 { /* Inline mdoc$MDeprecationInfo$mdoc (var_info) on <var_info:nullable MDeprecationInfo(MDeprecationInfo)> */
4567 var371
= var_info
->attrs
[COLOR_nitc__mdoc__MDeprecationInfo___mdoc
].val
; /* _mdoc on <var_info:nullable MDeprecationInfo(MDeprecationInfo)> */
4569 RET_LABEL370
:(void)0;
4573 if (var_mdoc
== NULL
) {
4574 var372
= 0; /* is null */
4576 var372
= 1; /* arg is null and recv is not */
4579 { /* Inline kernel$Object$!= (var_mdoc,((val*)NULL)) on <var_mdoc:nullable MDoc> */
4580 var_other350
= ((val
*)NULL
);
4582 var375
= ((short int(*)(val
* self
, val
* p0
))(var_mdoc
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_mdoc
, var_other350
); /* == on <var_mdoc:nullable MDoc(MDoc)>*/
4587 RET_LABEL374
:(void)0;
4593 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
4594 var379
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
4595 if (unlikely(var379
== NULL
)) {
4596 if(catchStack
.cursor
>= 0){
4597 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4599 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4600 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
4604 RET_LABEL378
:(void)0;
4607 if (likely(varonce380
!=NULL
)) {
4608 var381
= varonce380
;
4610 var382
= "deprecated-method";
4611 var384
= (val
*)(17l<<2|1);
4612 var385
= (val
*)(17l<<2|1);
4613 var386
= (val
*)((long)(0)<<2|3);
4614 var387
= (val
*)((long)(0)<<2|3);
4615 var383
= core__flat___CString___to_s_unsafe(var382
, var384
, var385
, var386
, var387
);
4617 varonce380
= var381
;
4619 if (unlikely(varonce388
==NULL
)) {
4620 var389
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
4621 if (likely(varonce390
!=NULL
)) {
4622 var391
= varonce390
;
4624 var392
= "Deprecation Warning: method `";
4625 var394
= (val
*)(29l<<2|1);
4626 var395
= (val
*)(29l<<2|1);
4627 var396
= (val
*)((long)(0)<<2|3);
4628 var397
= (val
*)((long)(0)<<2|3);
4629 var393
= core__flat___CString___to_s_unsafe(var392
, var394
, var395
, var396
, var397
);
4631 varonce390
= var391
;
4633 ((struct instance_core__NativeArray
*)var389
)->values
[0]=var391
;
4634 if (likely(varonce398
!=NULL
)) {
4635 var399
= varonce398
;
4637 var400
= "` is deprecated: ";
4638 var402
= (val
*)(17l<<2|1);
4639 var403
= (val
*)(17l<<2|1);
4640 var404
= (val
*)((long)(0)<<2|3);
4641 var405
= (val
*)((long)(0)<<2|3);
4642 var401
= core__flat___CString___to_s_unsafe(var400
, var402
, var403
, var404
, var405
);
4644 varonce398
= var399
;
4646 ((struct instance_core__NativeArray
*)var389
)->values
[2]=var399
;
4648 var389
= varonce388
;
4651 ((struct instance_core__NativeArray
*)var389
)->values
[1]=var_name
;
4653 { /* Inline mdoc$MDoc$content (var_mdoc) on <var_mdoc:nullable MDoc(MDoc)> */
4654 var408
= var_mdoc
->attrs
[COLOR_nitc__mdoc__MDoc___content
].val
; /* _content on <var_mdoc:nullable MDoc(MDoc)> */
4655 if (unlikely(var408
== NULL
)) {
4656 if(catchStack
.cursor
>= 0){
4657 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4659 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content");
4660 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mdoc
, 23);
4664 RET_LABEL407
:(void)0;
4668 var409
= core___core__SequenceRead___Collection__first(var406
);
4670 ((struct instance_core__NativeArray
*)var389
)->values
[3]=var409
;
4672 var410
= ((val
*(*)(val
* self
))(var389
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var389
); /* native_to_s on <var389:NativeArray[String]>*/
4674 varonce388
= var389
;
4676 nitc___nitc__ModelBuilder___warning(var377
, var_node
, var381
, var410
); /* Direct call modelbuilder_base$ModelBuilder$warning on <var377:ModelBuilder>*/
4680 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
4681 var413
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
4682 if (unlikely(var413
== NULL
)) {
4683 if(catchStack
.cursor
>= 0){
4684 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4686 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4687 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
4691 RET_LABEL412
:(void)0;
4694 if (likely(varonce414
!=NULL
)) {
4695 var415
= varonce414
;
4697 var416
= "deprecated-method";
4698 var418
= (val
*)(17l<<2|1);
4699 var419
= (val
*)(17l<<2|1);
4700 var420
= (val
*)((long)(0)<<2|3);
4701 var421
= (val
*)((long)(0)<<2|3);
4702 var417
= core__flat___CString___to_s_unsafe(var416
, var418
, var419
, var420
, var421
);
4704 varonce414
= var415
;
4706 if (unlikely(varonce422
==NULL
)) {
4707 var423
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4708 if (likely(varonce424
!=NULL
)) {
4709 var425
= varonce424
;
4711 var426
= "Deprecation Warning: method `";
4712 var428
= (val
*)(29l<<2|1);
4713 var429
= (val
*)(29l<<2|1);
4714 var430
= (val
*)((long)(0)<<2|3);
4715 var431
= (val
*)((long)(0)<<2|3);
4716 var427
= core__flat___CString___to_s_unsafe(var426
, var428
, var429
, var430
, var431
);
4718 varonce424
= var425
;
4720 ((struct instance_core__NativeArray
*)var423
)->values
[0]=var425
;
4721 if (likely(varonce432
!=NULL
)) {
4722 var433
= varonce432
;
4724 var434
= "` is deprecated.";
4725 var436
= (val
*)(16l<<2|1);
4726 var437
= (val
*)(16l<<2|1);
4727 var438
= (val
*)((long)(0)<<2|3);
4728 var439
= (val
*)((long)(0)<<2|3);
4729 var435
= core__flat___CString___to_s_unsafe(var434
, var436
, var437
, var438
, var439
);
4731 varonce432
= var433
;
4733 ((struct instance_core__NativeArray
*)var423
)->values
[2]=var433
;
4735 var423
= varonce422
;
4738 ((struct instance_core__NativeArray
*)var423
)->values
[1]=var_name
;
4740 var440
= ((val
*(*)(val
* self
))(var423
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var423
); /* native_to_s on <var423:NativeArray[String]>*/
4742 varonce422
= var423
;
4744 nitc___nitc__ModelBuilder___warning(var411
, var_node
, var415
, var440
); /* Direct call modelbuilder_base$ModelBuilder$warning on <var411:ModelBuilder>*/
4750 { /* Inline typing$TypeVisitor$mmodule (self) on <self:TypeVisitor> */
4751 var443
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <self:TypeVisitor> */
4752 if (unlikely(var443
== NULL
)) {
4753 if(catchStack
.cursor
>= 0){
4754 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4756 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4757 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 37);
4761 RET_LABEL442
:(void)0;
4765 var444
= nitc___nitc__MProperty___lookup_definitions(var_mproperty
, var441
, var_unsafe_type
);
4767 var_propdefs
= var444
;
4769 { /* Inline array$AbstractArrayRead$length (var_propdefs) on <var_propdefs:Array[MMethodDef]> */
4770 var447
= var_propdefs
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_propdefs:Array[MMethodDef]> */
4772 RET_LABEL446
:(void)0;
4776 { /* Inline kernel$Int$== (var445,0l) on <var445:Int> */
4777 var450
= var445
== 0l;
4780 RET_LABEL449
:(void)0;
4785 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
4786 var453
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
4787 if (unlikely(var453
== NULL
)) {
4788 if(catchStack
.cursor
>= 0){
4789 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4791 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4792 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
4796 RET_LABEL452
:(void)0;
4799 if (unlikely(varonce454
==NULL
)) {
4800 var455
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
4801 if (likely(varonce456
!=NULL
)) {
4802 var457
= varonce456
;
4804 var458
= "Type Error: no definition found for property `";
4805 var460
= (val
*)(46l<<2|1);
4806 var461
= (val
*)(46l<<2|1);
4807 var462
= (val
*)((long)(0)<<2|3);
4808 var463
= (val
*)((long)(0)<<2|3);
4809 var459
= core__flat___CString___to_s_unsafe(var458
, var460
, var461
, var462
, var463
);
4811 varonce456
= var457
;
4813 ((struct instance_core__NativeArray
*)var455
)->values
[0]=var457
;
4814 if (likely(varonce464
!=NULL
)) {
4815 var465
= varonce464
;
4818 var468
= (val
*)(6l<<2|1);
4819 var469
= (val
*)(6l<<2|1);
4820 var470
= (val
*)((long)(0)<<2|3);
4821 var471
= (val
*)((long)(0)<<2|3);
4822 var467
= core__flat___CString___to_s_unsafe(var466
, var468
, var469
, var470
, var471
);
4824 varonce464
= var465
;
4826 ((struct instance_core__NativeArray
*)var455
)->values
[2]=var465
;
4827 if (likely(varonce472
!=NULL
)) {
4828 var473
= varonce472
;
4831 var476
= (val
*)(2l<<2|1);
4832 var477
= (val
*)(2l<<2|1);
4833 var478
= (val
*)((long)(0)<<2|3);
4834 var479
= (val
*)((long)(0)<<2|3);
4835 var475
= core__flat___CString___to_s_unsafe(var474
, var476
, var477
, var478
, var479
);
4837 varonce472
= var473
;
4839 ((struct instance_core__NativeArray
*)var455
)->values
[4]=var473
;
4841 var455
= varonce454
;
4844 ((struct instance_core__NativeArray
*)var455
)->values
[1]=var_name
;
4846 var480
= ((val
*(*)(val
* self
))(var_unsafe_type
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_unsafe_type
); /* to_s on <var_unsafe_type:MType>*/
4848 ((struct instance_core__NativeArray
*)var455
)->values
[3]=var480
;
4850 var481
= ((val
*(*)(val
* self
))(var455
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var455
); /* native_to_s on <var455:NativeArray[String]>*/
4852 varonce454
= var455
;
4854 nitc___nitc__ModelBuilder___error(var451
, var_node
, var481
); /* Direct call modelbuilder_base$ModelBuilder$error on <var451:ModelBuilder>*/
4860 { /* Inline array$AbstractArrayRead$length (var_propdefs) on <var_propdefs:Array[MMethodDef]> */
4861 var484
= var_propdefs
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_propdefs:Array[MMethodDef]> */
4863 RET_LABEL483
:(void)0;
4867 { /* Inline kernel$Int$== (var482,1l) on <var482:Int> */
4868 var487
= var482
== 1l;
4871 RET_LABEL486
:(void)0;
4876 var488
= core___core__SequenceRead___Collection__first(var_propdefs
);
4878 var_mpropdef
= var488
;
4881 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
4882 var491
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
4883 if (unlikely(var491
== NULL
)) {
4884 if(catchStack
.cursor
>= 0){
4885 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4887 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4888 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
4892 RET_LABEL490
:(void)0;
4895 if (likely(varonce492
!=NULL
)) {
4896 var493
= varonce492
;
4898 var494
= "property-conflict";
4899 var496
= (val
*)(17l<<2|1);
4900 var497
= (val
*)(17l<<2|1);
4901 var498
= (val
*)((long)(0)<<2|3);
4902 var499
= (val
*)((long)(0)<<2|3);
4903 var495
= core__flat___CString___to_s_unsafe(var494
, var496
, var497
, var498
, var499
);
4905 varonce492
= var493
;
4907 if (unlikely(varonce500
==NULL
)) {
4908 var501
= NEW_core__NativeArray((int)6l, &type_core__NativeArray__core__String
);
4909 if (likely(varonce502
!=NULL
)) {
4910 var503
= varonce502
;
4912 var504
= "Warning: conflicting property definitions for property `";
4913 var506
= (val
*)(56l<<2|1);
4914 var507
= (val
*)(56l<<2|1);
4915 var508
= (val
*)((long)(0)<<2|3);
4916 var509
= (val
*)((long)(0)<<2|3);
4917 var505
= core__flat___CString___to_s_unsafe(var504
, var506
, var507
, var508
, var509
);
4919 varonce502
= var503
;
4921 ((struct instance_core__NativeArray
*)var501
)->values
[0]=var503
;
4922 if (likely(varonce510
!=NULL
)) {
4923 var511
= varonce510
;
4926 var514
= (val
*)(6l<<2|1);
4927 var515
= (val
*)(6l<<2|1);
4928 var516
= (val
*)((long)(0)<<2|3);
4929 var517
= (val
*)((long)(0)<<2|3);
4930 var513
= core__flat___CString___to_s_unsafe(var512
, var514
, var515
, var516
, var517
);
4932 varonce510
= var511
;
4934 ((struct instance_core__NativeArray
*)var501
)->values
[2]=var511
;
4935 if (likely(varonce518
!=NULL
)) {
4936 var519
= varonce518
;
4939 var522
= (val
*)(3l<<2|1);
4940 var523
= (val
*)(3l<<2|1);
4941 var524
= (val
*)((long)(0)<<2|3);
4942 var525
= (val
*)((long)(0)<<2|3);
4943 var521
= core__flat___CString___to_s_unsafe(var520
, var522
, var523
, var524
, var525
);
4945 varonce518
= var519
;
4947 ((struct instance_core__NativeArray
*)var501
)->values
[4]=var519
;
4949 var501
= varonce500
;
4952 ((struct instance_core__NativeArray
*)var501
)->values
[1]=var_name
;
4954 var526
= ((val
*(*)(val
* self
))(var_unsafe_type
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_unsafe_type
); /* to_s on <var_unsafe_type:MType>*/
4956 ((struct instance_core__NativeArray
*)var501
)->values
[3]=var526
;
4957 if (likely(varonce527
!=NULL
)) {
4958 var528
= varonce527
;
4961 var531
= (val
*)(1l<<2|1);
4962 var532
= (val
*)(1l<<2|1);
4963 var533
= (val
*)((long)(0)<<2|3);
4964 var534
= (val
*)((long)(0)<<2|3);
4965 var530
= core__flat___CString___to_s_unsafe(var529
, var531
, var532
, var533
, var534
);
4967 varonce527
= var528
;
4970 var535
= core__abstract_text___Collection___join(var_propdefs
, var528
, ((val
*)NULL
));
4972 ((struct instance_core__NativeArray
*)var501
)->values
[5]=var535
;
4974 var536
= ((val
*(*)(val
* self
))(var501
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var501
); /* native_to_s on <var501:NativeArray[String]>*/
4976 varonce500
= var501
;
4978 nitc___nitc__ModelBuilder___warning(var489
, var_node
, var493
, var536
); /* Direct call modelbuilder_base$ModelBuilder$warning on <var489:ModelBuilder>*/
4981 { /* Inline model$MProperty$intro (var_mproperty) on <var_mproperty:nullable MProperty(MMethod)> */
4982 var539
= var_mproperty
->attrs
[COLOR_nitc__model__MProperty___intro
].val
; /* _intro on <var_mproperty:nullable MProperty(MMethod)> */
4983 if (unlikely(var539
== NULL
)) {
4984 if(catchStack
.cursor
>= 0){
4985 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4987 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
4988 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2097);
4992 RET_LABEL538
:(void)0;
4995 var_mpropdef
= var537
;
4999 { /* Inline model$MMethodDef$new_msignature (var_mpropdef) on <var_mpropdef:nullable Object(MMethodDef)> */
5000 var543
= var_mpropdef
->attrs
[COLOR_nitc__model__MMethodDef___new_msignature
].val
; /* _new_msignature on <var_mpropdef:nullable Object(MMethodDef)> */
5002 RET_LABEL542
:(void)0;
5009 { /* Inline model$MMethodDef$msignature (var_mpropdef) on <var_mpropdef:nullable Object(MMethodDef)> */
5010 var546
= var_mpropdef
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:nullable Object(MMethodDef)> */
5012 RET_LABEL545
:(void)0;
5017 var_msignature
= var540
;
5018 if (var_msignature
== NULL
) {
5019 var547
= 1; /* is null */
5021 var547
= 0; /* arg is null but recv is not */
5024 { /* Inline kernel$Object$== (var_msignature,((val*)NULL)) on <var_msignature:nullable MSignature> */
5025 var_other
= ((val
*)NULL
);
5027 { /* Inline kernel$Object$is_same_instance (var_msignature,var_other) on <var_msignature:nullable MSignature(MSignature)> */
5028 var552
= var_msignature
== var_other
;
5031 RET_LABEL551
:(void)0;
5036 RET_LABEL549
:(void)0;
5046 var553
= nitc__typing___nitc__typing__TypeVisitor___resolve_for(self
, var_msignature
, var_recvtype
, var_recv_is_self
);
5048 /* <var553:MType> isa MSignature */
5049 cltype555
= type_nitc__MSignature
.color
;
5050 idtype556
= type_nitc__MSignature
.id
;
5051 if(cltype555
>= var553
->type
->table_size
) {
5054 var554
= var553
->type
->type_table
[cltype555
] == idtype556
;
5056 if (unlikely(!var554
)) {
5057 var_class_name
= var553
== NULL ?
"null" : var553
->type
->name
;
5058 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MSignature", var_class_name
);
5059 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 383);
5062 var_msignature
= var553
;
5063 var_erasure_cast
= 0;
5065 { /* Inline model$MMethodDef$msignature (var_mpropdef) on <var_mpropdef:nullable Object(MMethodDef)> */
5066 var559
= var_mpropdef
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:nullable Object(MMethodDef)> */
5068 RET_LABEL558
:(void)0;
5071 if (var557
== NULL
) {
5072 if(catchStack
.cursor
>= 0){
5073 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5075 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5076 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 386);
5079 { /* Inline model$MSignature$return_mtype (var557) on <var557:nullable MSignature> */
5080 if (unlikely(var557
== NULL
)) {
5081 if(catchStack
.cursor
>= 0){
5082 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5084 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5085 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1891);
5088 var562
= var557
->attrs
[COLOR_nitc__model__MSignature___return_mtype
].val
; /* _return_mtype on <var557:nullable MSignature> */
5090 RET_LABEL561
:(void)0;
5093 var_rettype
= var560
;
5094 var564
= !var_recv_is_self
;
5097 if (var_rettype
== NULL
) {
5098 var566
= 0; /* is null */
5100 var566
= 1; /* arg is null and recv is not */
5103 { /* Inline kernel$Object$!= (var_rettype,((val*)NULL)) on <var_rettype:nullable MType> */
5104 var_other350
= ((val
*)NULL
);
5106 var569
= ((short int(*)(val
* self
, val
* p0
))(var_rettype
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_rettype
, var_other350
); /* == on <var_rettype:nullable MType(MType)>*/
5111 RET_LABEL568
:(void)0;
5121 var571
= ((val
*(*)(val
* self
))(var_rettype
->class->vft
[COLOR_nitc__model__MType__undecorate
]))(var_rettype
); /* undecorate on <var_rettype:nullable MType(MType)>*/
5123 var_rettype
= var571
;
5124 /* <var_rettype:nullable MType(MType)> isa MParameterType */
5125 cltype573
= type_nitc__MParameterType
.color
;
5126 idtype574
= type_nitc__MParameterType
.id
;
5127 if(cltype573
>= var_rettype
->type
->table_size
) {
5130 var572
= var_rettype
->type
->type_table
[cltype573
] == idtype574
;
5134 { /* Inline model$MSignature$return_mtype (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
5135 var577
= var_msignature
->attrs
[COLOR_nitc__model__MSignature___return_mtype
].val
; /* _return_mtype on <var_msignature:nullable MSignature(MSignature)> */
5137 RET_LABEL576
:(void)0;
5140 var_erased_rettype
= var575
;
5141 if (var_erased_rettype
== NULL
) {
5142 var578
= 0; /* is null */
5144 var578
= 1; /* arg is null and recv is not */
5147 { /* Inline kernel$Object$!= (var_erased_rettype,((val*)NULL)) on <var_erased_rettype:nullable MType> */
5148 var_other350
= ((val
*)NULL
);
5150 var581
= ((short int(*)(val
* self
, val
* p0
))(var_erased_rettype
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_erased_rettype
, var_other350
); /* == on <var_erased_rettype:nullable MType(MType)>*/
5155 RET_LABEL580
:(void)0;
5159 if (unlikely(!var578
)) {
5160 if(catchStack
.cursor
>= 0){
5161 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5163 PRINT_ERROR("Runtime error: %s", "Assert failed");
5164 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 391);
5167 var_erasure_cast
= 1;
5172 var583
= NEW_nitc__CallSite(&type_nitc__CallSite
);
5174 var584
= ((val
*(*)(val
* self
))(var_node
->class->vft
[COLOR_nitc__parser_nodes__ANode__hot_location
]))(var_node
); /* hot_location on <var_node:ANode>*/
5177 { /* Inline typing$TypeVisitor$mmodule (self) on <self:TypeVisitor> */
5178 var587
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <self:TypeVisitor> */
5179 if (unlikely(var587
== NULL
)) {
5180 if(catchStack
.cursor
>= 0){
5181 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5183 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5184 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 37);
5188 RET_LABEL586
:(void)0;
5192 { /* Inline typing$TypeVisitor$anchor (self) on <self:TypeVisitor> */
5193 var590
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___anchor
].val
; /* _anchor on <self:TypeVisitor> */
5195 RET_LABEL589
:(void)0;
5199 ((void(*)(val
* self
, val
* p0
))(var583
->class->vft
[COLOR_nitc__typing__CallSite__location_61d
]))(var583
, var584
); /* location= on <var583:CallSite>*/
5202 ((void(*)(val
* self
, val
* p0
))(var583
->class->vft
[COLOR_nitc__typing__CallSite__recv_61d
]))(var583
, var_recvtype
); /* recv= on <var583:CallSite>*/
5205 ((void(*)(val
* self
, val
* p0
))(var583
->class->vft
[COLOR_nitc__typing__CallSite__mmodule_61d
]))(var583
, var585
); /* mmodule= on <var583:CallSite>*/
5208 ((void(*)(val
* self
, val
* p0
))(var583
->class->vft
[COLOR_nitc__typing__CallSite__anchor_61d
]))(var583
, var588
); /* anchor= on <var583:CallSite>*/
5211 ((void(*)(val
* self
, short int p0
))(var583
->class->vft
[COLOR_nitc__typing__CallSite__recv_is_self_61d
]))(var583
, var_recv_is_self
); /* recv_is_self= on <var583:CallSite>*/
5214 ((void(*)(val
* self
, val
* p0
))(var583
->class->vft
[COLOR_nitc__typing__CallSite__mproperty_61d
]))(var583
, var_mproperty
); /* mproperty= on <var583:CallSite>*/
5217 ((void(*)(val
* self
, val
* p0
))(var583
->class->vft
[COLOR_nitc__typing__CallSite__mpropdef_61d
]))(var583
, var_mpropdef
); /* mpropdef= on <var583:CallSite>*/
5220 ((void(*)(val
* self
, val
* p0
))(var583
->class->vft
[COLOR_nitc__typing__CallSite__msignature_61d
]))(var583
, var_msignature
); /* msignature= on <var583:CallSite>*/
5223 ((void(*)(val
* self
, short int p0
))(var583
->class->vft
[COLOR_nitc__typing__CallSite__erasure_cast_61d
]))(var583
, var_erasure_cast
); /* erasure_cast= on <var583:CallSite>*/
5226 ((void(*)(val
* self
))(var583
->class->vft
[COLOR_core__kernel__Object__init
]))(var583
); /* init on <var583:CallSite>*/
5228 var_callsite
= var583
;
5234 /* method typing$TypeVisitor$try_get_method for (self: TypeVisitor, ANode, MType, String, Bool): nullable CallSite */
5235 val
* nitc__typing___nitc__typing__TypeVisitor___try_get_method(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
5236 val
* var
/* : nullable CallSite */;
5237 val
* var_node
/* var node: ANode */;
5238 val
* var_recvtype
/* var recvtype: MType */;
5239 val
* var_name
/* var name: String */;
5240 short int var_recv_is_self
/* var recv_is_self: Bool */;
5241 val
* var1
/* : MType */;
5242 val
* var_unsafe_type
/* var unsafe_type: MType */;
5243 val
* var2
/* : nullable MProperty */;
5244 val
* var_mproperty
/* var mproperty: nullable MProperty */;
5245 short int var3
/* : Bool */;
5246 short int var4
/* : Bool */;
5247 val
* var_other
/* var other: nullable Object */;
5248 short int var6
/* : Bool */;
5249 short int var8
/* : Bool */;
5250 val
* var9
/* : nullable CallSite */;
5254 var_recv_is_self
= p3
;
5256 var1
= nitc__typing___nitc__typing__TypeVisitor___anchor_to(self
, var_recvtype
);
5258 var_unsafe_type
= var1
;
5260 var2
= nitc__typing___nitc__typing__TypeVisitor___try_get_mproperty_by_name2(self
, var_node
, var_unsafe_type
, var_name
);
5262 var_mproperty
= var2
;
5263 if (var_mproperty
== NULL
) {
5264 var3
= 1; /* is null */
5266 var3
= 0; /* arg is null but recv is not */
5269 { /* Inline kernel$Object$== (var_mproperty,((val*)NULL)) on <var_mproperty:nullable MProperty> */
5270 var_other
= ((val
*)NULL
);
5272 { /* Inline kernel$Object$is_same_instance (var_mproperty,var_other) on <var_mproperty:nullable MProperty(MProperty)> */
5273 var8
= var_mproperty
== var_other
;
5291 var9
= nitc__typing___nitc__typing__TypeVisitor___get_method(self
, var_node
, var_recvtype
, var_name
, var_recv_is_self
);
5298 /* method typing$TypeVisitor$check_signature for (self: TypeVisitor, ANode, Array[AExpr], MProperty, MSignature): nullable SignatureMap */
5299 val
* nitc__typing___nitc__typing__TypeVisitor___check_signature(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
5300 val
* var
/* : nullable SignatureMap */;
5301 val
* var_node
/* var node: ANode */;
5302 val
* var_args
/* var args: Array[AExpr] */;
5303 val
* var_mproperty
/* var mproperty: MProperty */;
5304 val
* var_msignature
/* var msignature: MSignature */;
5305 long var1
/* : Int */;
5306 long var3
/* : Int */;
5307 long var_vararg_rank
/* var vararg_rank: Int */;
5308 short int var4
/* : Bool */;
5309 short int var6
/* : Bool */;
5312 const char* var_class_name
;
5313 short int var7
/* : Bool */;
5314 long var8
/* : Int */;
5315 long var10
/* : Int */;
5316 long var11
/* : Int */;
5317 short int var12
/* : Bool */;
5318 short int var14
/* : Bool */;
5321 const char* var_class_name17
;
5322 short int var18
/* : Bool */;
5323 val
* var19
/* : ModelBuilder */;
5324 val
* var21
/* : ModelBuilder */;
5325 val
* var22
/* : NativeArray[String] */;
5326 static val
* varonce
;
5327 static val
* varonce23
;
5328 val
* var24
/* : String */;
5329 char* var25
/* : CString */;
5330 val
* var26
/* : String */;
5331 val
* var27
/* : nullable Int */;
5332 val
* var28
/* : nullable Int */;
5333 val
* var29
/* : nullable Bool */;
5334 val
* var30
/* : nullable Bool */;
5335 static val
* varonce31
;
5336 val
* var32
/* : String */;
5337 char* var33
/* : CString */;
5338 val
* var34
/* : String */;
5339 val
* var35
/* : nullable Int */;
5340 val
* var36
/* : nullable Int */;
5341 val
* var37
/* : nullable Bool */;
5342 val
* var38
/* : nullable Bool */;
5343 static val
* varonce39
;
5344 val
* var40
/* : String */;
5345 char* var41
/* : CString */;
5346 val
* var42
/* : String */;
5347 val
* var43
/* : nullable Int */;
5348 val
* var44
/* : nullable Int */;
5349 val
* var45
/* : nullable Bool */;
5350 val
* var46
/* : nullable Bool */;
5351 static val
* varonce47
;
5352 val
* var48
/* : String */;
5353 char* var49
/* : CString */;
5354 val
* var50
/* : String */;
5355 val
* var51
/* : nullable Int */;
5356 val
* var52
/* : nullable Int */;
5357 val
* var53
/* : nullable Bool */;
5358 val
* var54
/* : nullable Bool */;
5359 static val
* varonce55
;
5360 val
* var56
/* : String */;
5361 char* var57
/* : CString */;
5362 val
* var58
/* : String */;
5363 val
* var59
/* : nullable Int */;
5364 val
* var60
/* : nullable Int */;
5365 val
* var61
/* : nullable Bool */;
5366 val
* var62
/* : nullable Bool */;
5367 long var63
/* : Int */;
5368 val
* var64
/* : String */;
5369 val
* var65
/* : String */;
5370 val
* var66
/* : String */;
5371 long var67
/* : Int */;
5372 long var69
/* : Int */;
5373 val
* var70
/* : String */;
5374 val
* var71
/* : String */;
5375 val
* var72
/* : String */;
5376 long var73
/* : Int */;
5377 long var75
/* : Int */;
5378 long var76
/* : Int */;
5379 short int var77
/* : Bool */;
5380 short int var79
/* : Bool */;
5381 short int var80
/* : Bool */;
5382 long var81
/* : Int */;
5383 long var83
/* : Int */;
5384 long var84
/* : Int */;
5385 short int var85
/* : Bool */;
5386 short int var87
/* : Bool */;
5389 const char* var_class_name90
;
5390 short int var91
/* : Bool */;
5391 val
* var92
/* : ModelBuilder */;
5392 val
* var94
/* : ModelBuilder */;
5393 val
* var96
/* : NativeArray[String] */;
5394 static val
* varonce95
;
5395 static val
* varonce97
;
5396 val
* var98
/* : String */;
5397 char* var99
/* : CString */;
5398 val
* var100
/* : String */;
5399 val
* var101
/* : nullable Int */;
5400 val
* var102
/* : nullable Int */;
5401 val
* var103
/* : nullable Bool */;
5402 val
* var104
/* : nullable Bool */;
5403 static val
* varonce105
;
5404 val
* var106
/* : String */;
5405 char* var107
/* : CString */;
5406 val
* var108
/* : String */;
5407 val
* var109
/* : nullable Int */;
5408 val
* var110
/* : nullable Int */;
5409 val
* var111
/* : nullable Bool */;
5410 val
* var112
/* : nullable Bool */;
5411 static val
* varonce113
;
5412 val
* var114
/* : String */;
5413 char* var115
/* : CString */;
5414 val
* var116
/* : String */;
5415 val
* var117
/* : nullable Int */;
5416 val
* var118
/* : nullable Int */;
5417 val
* var119
/* : nullable Bool */;
5418 val
* var120
/* : nullable Bool */;
5419 static val
* varonce121
;
5420 val
* var122
/* : String */;
5421 char* var123
/* : CString */;
5422 val
* var124
/* : String */;
5423 val
* var125
/* : nullable Int */;
5424 val
* var126
/* : nullable Int */;
5425 val
* var127
/* : nullable Bool */;
5426 val
* var128
/* : nullable Bool */;
5427 static val
* varonce129
;
5428 val
* var130
/* : String */;
5429 char* var131
/* : CString */;
5430 val
* var132
/* : String */;
5431 val
* var133
/* : nullable Int */;
5432 val
* var134
/* : nullable Int */;
5433 val
* var135
/* : nullable Bool */;
5434 val
* var136
/* : nullable Bool */;
5435 long var137
/* : Int */;
5436 val
* var138
/* : String */;
5437 val
* var139
/* : String */;
5438 val
* var140
/* : String */;
5439 long var141
/* : Int */;
5440 long var143
/* : Int */;
5441 val
* var144
/* : String */;
5442 val
* var145
/* : String */;
5443 val
* var146
/* : String */;
5444 val
* var147
/* : SignatureMap */;
5445 val
* var_map
/* var map: SignatureMap */;
5446 val
* var149
/* : String */;
5447 val
* var151
/* : String */;
5448 val
* var152
/* : SequenceRead[Char] */;
5449 val
* var153
/* : nullable Object */;
5450 short int var154
/* : Bool */;
5451 short int var156
/* : Bool */;
5452 uint32_t var157
/* : Char */;
5453 short int var_last_is_padded
/* var last_is_padded: Bool */;
5454 long var158
/* : Int */;
5455 long var160
/* : Int */;
5456 long var_nbargs
/* var nbargs: Int */;
5457 long var161
/* : Int */;
5458 short int var163
/* : Bool */;
5461 const char* var_class_name166
;
5462 long var167
/* : Int */;
5463 val
* var168
/* : nullable Object */;
5464 short int var169
/* : Bool */;
5467 short int var172
/* : Bool */;
5468 val
* var173
/* : ArrayMap[Int, Int] */;
5469 val
* var175
/* : ArrayMap[Int, Int] */;
5470 long var176
/* : Int */;
5471 long var177
/* : Int */;
5472 short int var179
/* : Bool */;
5475 const char* var_class_name182
;
5476 long var183
/* : Int */;
5477 long var184
/* : Int */;
5478 long var186
/* : Int */;
5479 long var187
/* : Int */;
5480 short int var189
/* : Bool */;
5483 const char* var_class_name192
;
5484 long var193
/* : Int */;
5485 val
* var194
/* : nullable Object */;
5486 val
* var195
/* : nullable Object */;
5487 val
* var196
/* : nullable Object */;
5488 val
* var197
/* : Array[MParameter] */;
5489 val
* var199
/* : Array[MParameter] */;
5490 val
* var200
/* : nullable Object */;
5491 val
* var201
/* : MType */;
5492 val
* var203
/* : MType */;
5493 val
* var204
/* : nullable MType */;
5494 long var_i
/* var i: Int */;
5495 long var205
/* : Int */;
5496 long var207
/* : Int */;
5497 long var_
/* var : Int */;
5498 short int var208
/* : Bool */;
5499 short int var210
/* : Bool */;
5502 const char* var_class_name213
;
5503 short int var214
/* : Bool */;
5504 val
* var215
/* : nullable Object */;
5505 val
* var_e
/* var e: AExpr */;
5506 short int var216
/* : Bool */;
5509 short int var219
/* : Bool */;
5510 val
* var221
/* : TId */;
5511 val
* var223
/* : TId */;
5512 val
* var224
/* : String */;
5513 val
* var_name
/* var name: String */;
5514 val
* var225
/* : nullable MParameter */;
5515 val
* var_param
/* var param: nullable MParameter */;
5516 short int var226
/* : Bool */;
5517 short int var227
/* : Bool */;
5518 val
* var_other
/* var other: nullable Object */;
5519 short int var229
/* : Bool */;
5520 short int var231
/* : Bool */;
5521 val
* var232
/* : ModelBuilder */;
5522 val
* var234
/* : ModelBuilder */;
5523 val
* var235
/* : TId */;
5524 val
* var237
/* : TId */;
5525 val
* var239
/* : NativeArray[String] */;
5526 static val
* varonce238
;
5527 static val
* varonce240
;
5528 val
* var241
/* : String */;
5529 char* var242
/* : CString */;
5530 val
* var243
/* : String */;
5531 val
* var244
/* : nullable Int */;
5532 val
* var245
/* : nullable Int */;
5533 val
* var246
/* : nullable Bool */;
5534 val
* var247
/* : nullable Bool */;
5535 static val
* varonce248
;
5536 val
* var249
/* : String */;
5537 char* var250
/* : CString */;
5538 val
* var251
/* : String */;
5539 val
* var252
/* : nullable Int */;
5540 val
* var253
/* : nullable Int */;
5541 val
* var254
/* : nullable Bool */;
5542 val
* var255
/* : nullable Bool */;
5543 static val
* varonce256
;
5544 val
* var257
/* : String */;
5545 char* var258
/* : CString */;
5546 val
* var259
/* : String */;
5547 val
* var260
/* : nullable Int */;
5548 val
* var261
/* : nullable Int */;
5549 val
* var262
/* : nullable Bool */;
5550 val
* var263
/* : nullable Bool */;
5551 val
* var264
/* : String */;
5552 val
* var265
/* : String */;
5553 val
* var266
/* : String */;
5554 val
* var267
/* : Array[MParameter] */;
5555 val
* var269
/* : Array[MParameter] */;
5556 long var270
/* : Int */;
5557 long var_idx
/* var idx: Int */;
5558 val
* var271
/* : ArrayMap[Int, Int] */;
5559 val
* var273
/* : ArrayMap[Int, Int] */;
5560 val
* var274
/* : nullable Object */;
5561 val
* var275
/* : nullable Object */;
5562 val
* var_prev
/* var prev: nullable Int */;
5563 short int var276
/* : Bool */;
5564 short int var277
/* : Bool */;
5565 short int var279
/* : Bool */;
5566 short int var280
/* : Bool */;
5567 val
* var281
/* : ModelBuilder */;
5568 val
* var283
/* : ModelBuilder */;
5569 val
* var285
/* : NativeArray[String] */;
5570 static val
* varonce284
;
5571 static val
* varonce286
;
5572 val
* var287
/* : String */;
5573 char* var288
/* : CString */;
5574 val
* var289
/* : String */;
5575 val
* var290
/* : nullable Int */;
5576 val
* var291
/* : nullable Int */;
5577 val
* var292
/* : nullable Bool */;
5578 val
* var293
/* : nullable Bool */;
5579 static val
* varonce294
;
5580 val
* var295
/* : String */;
5581 char* var296
/* : CString */;
5582 val
* var297
/* : String */;
5583 val
* var298
/* : nullable Int */;
5584 val
* var299
/* : nullable Int */;
5585 val
* var300
/* : nullable Bool */;
5586 val
* var301
/* : nullable Bool */;
5587 static val
* varonce302
;
5588 val
* var303
/* : String */;
5589 char* var304
/* : CString */;
5590 val
* var305
/* : String */;
5591 val
* var306
/* : nullable Int */;
5592 val
* var307
/* : nullable Int */;
5593 val
* var308
/* : nullable Bool */;
5594 val
* var309
/* : nullable Bool */;
5595 static val
* varonce310
;
5596 val
* var311
/* : String */;
5597 char* var312
/* : CString */;
5598 val
* var313
/* : String */;
5599 val
* var314
/* : nullable Int */;
5600 val
* var315
/* : nullable Int */;
5601 val
* var316
/* : nullable Bool */;
5602 val
* var317
/* : nullable Bool */;
5603 val
* var318
/* : String */;
5604 long var319
/* : Int */;
5605 val
* var320
/* : String */;
5606 val
* var321
/* : String */;
5607 val
* var322
/* : String */;
5608 val
* var323
/* : ArrayMap[Int, Int] */;
5609 val
* var325
/* : ArrayMap[Int, Int] */;
5610 val
* var326
/* : nullable Object */;
5611 val
* var327
/* : nullable Object */;
5612 val
* var328
/* : AExpr */;
5613 val
* var330
/* : AExpr */;
5614 val
* var331
/* : MType */;
5615 val
* var333
/* : MType */;
5616 val
* var334
/* : nullable MType */;
5617 long var336
/* : Int */;
5618 long var_min_arity
/* var min_arity: Int */;
5619 long var337
/* : Int */;
5620 long var339
/* : Int */;
5621 long var340
/* : Int */;
5622 long var341
/* : Int */;
5623 short int var343
/* : Bool */;
5626 const char* var_class_name346
;
5627 long var347
/* : Int */;
5628 long var_vararg_decl
/* var vararg_decl: Int */;
5629 long var_j
/* var j: Int */;
5630 long var_i348
/* var i: Int */;
5631 long var349
/* : Int */;
5632 long var_350
/* var : Int */;
5633 short int var351
/* : Bool */;
5634 short int var353
/* : Bool */;
5637 const char* var_class_name356
;
5638 short int var357
/* : Bool */;
5639 val
* var359
/* : ArrayMap[Int, Int] */;
5640 val
* var361
/* : ArrayMap[Int, Int] */;
5641 short int var362
/* : Bool */;
5642 val
* var363
/* : nullable Object */;
5643 val
* var365
/* : Array[MParameter] */;
5644 val
* var367
/* : Array[MParameter] */;
5645 val
* var368
/* : nullable Object */;
5646 val
* var_param369
/* var param: MParameter */;
5647 short int var370
/* : Bool */;
5648 short int var371
/* : Bool */;
5649 short int var373
/* : Bool */;
5652 const char* var_class_name376
;
5653 short int var377
/* : Bool */;
5654 short int var_378
/* var : Bool */;
5655 val
* var379
/* : nullable Object */;
5656 short int var380
/* : Bool */;
5659 long var383
/* : Int */;
5660 short int var385
/* : Bool */;
5663 const char* var_class_name388
;
5664 long var389
/* : Int */;
5665 short int var391
/* : Bool */;
5666 short int var393
/* : Bool */;
5669 const char* var_class_name396
;
5670 short int var397
/* : Bool */;
5671 val
* var398
/* : MType */;
5672 val
* var400
/* : MType */;
5673 short int var401
/* : Bool */;
5676 short int var404
/* : Bool */;
5677 long var405
/* : Int */;
5678 short int var407
/* : Bool */;
5681 const char* var_class_name410
;
5682 long var411
/* : Int */;
5683 long var412
/* : Int */;
5684 short int var414
/* : Bool */;
5687 const char* var_class_name417
;
5688 long var418
/* : Int */;
5689 val
* var419
/* : nullable Object */;
5690 val
* var_arg
/* var arg: AExpr */;
5691 val
* var420
/* : ArrayMap[Int, Int] */;
5692 val
* var422
/* : ArrayMap[Int, Int] */;
5693 val
* var423
/* : nullable Object */;
5694 val
* var424
/* : nullable Object */;
5695 long var425
/* : Int */;
5696 short int var427
/* : Bool */;
5699 const char* var_class_name430
;
5700 long var431
/* : Int */;
5701 short int var432
/* : Bool */;
5702 short int var434
/* : Bool */;
5703 long var435
/* : Int */;
5704 short int var437
/* : Bool */;
5707 const char* var_class_name440
;
5708 long var441
/* : Int */;
5709 short int var442
/* : Bool */;
5710 short int var444
/* : Bool */;
5711 short int var445
/* : Bool */;
5712 val
* var446
/* : MType */;
5713 val
* var448
/* : MType */;
5714 val
* var_paramtype
/* var paramtype: MType */;
5715 val
* var449
/* : nullable MType */;
5716 short int var450
/* : Bool */;
5717 long var451
/* : Int */;
5718 short int var452
/* : Bool */;
5719 short int var454
/* : Bool */;
5722 const char* var_class_name457
;
5723 short int var458
/* : Bool */;
5724 long var459
/* : Int */;
5725 short int var461
/* : Bool */;
5728 const char* var_class_name464
;
5729 long var465
/* : Int */;
5730 long var466
/* : Int */;
5731 short int var467
/* : Bool */;
5732 short int var469
/* : Bool */;
5735 const char* var_class_name472
;
5736 short int var473
/* : Bool */;
5737 val
* var474
/* : ModelBuilder */;
5738 val
* var476
/* : ModelBuilder */;
5739 val
* var478
/* : NativeArray[String] */;
5740 static val
* varonce477
;
5741 static val
* varonce479
;
5742 val
* var480
/* : String */;
5743 char* var481
/* : CString */;
5744 val
* var482
/* : String */;
5745 val
* var483
/* : nullable Int */;
5746 val
* var484
/* : nullable Int */;
5747 val
* var485
/* : nullable Bool */;
5748 val
* var486
/* : nullable Bool */;
5749 static val
* varonce487
;
5750 val
* var488
/* : String */;
5751 char* var489
/* : CString */;
5752 val
* var490
/* : String */;
5753 val
* var491
/* : nullable Int */;
5754 val
* var492
/* : nullable Int */;
5755 val
* var493
/* : nullable Bool */;
5756 val
* var494
/* : nullable Bool */;
5757 static val
* varonce495
;
5758 val
* var496
/* : String */;
5759 char* var497
/* : CString */;
5760 val
* var498
/* : String */;
5761 val
* var499
/* : nullable Int */;
5762 val
* var500
/* : nullable Int */;
5763 val
* var501
/* : nullable Bool */;
5764 val
* var502
/* : nullable Bool */;
5765 static val
* varonce503
;
5766 val
* var504
/* : String */;
5767 char* var505
/* : CString */;
5768 val
* var506
/* : String */;
5769 val
* var507
/* : nullable Int */;
5770 val
* var508
/* : nullable Int */;
5771 val
* var509
/* : nullable Bool */;
5772 val
* var510
/* : nullable Bool */;
5773 static val
* varonce511
;
5774 val
* var512
/* : String */;
5775 char* var513
/* : CString */;
5776 val
* var514
/* : String */;
5777 val
* var515
/* : nullable Int */;
5778 val
* var516
/* : nullable Int */;
5779 val
* var517
/* : nullable Bool */;
5780 val
* var518
/* : nullable Bool */;
5781 val
* var519
/* : String */;
5782 val
* var520
/* : String */;
5783 val
* var521
/* : String */;
5784 long var522
/* : Int */;
5785 long var524
/* : Int */;
5786 val
* var525
/* : String */;
5787 val
* var526
/* : String */;
5788 val
* var527
/* : String */;
5789 val
* var528
/* : ModelBuilder */;
5790 val
* var530
/* : ModelBuilder */;
5791 val
* var532
/* : NativeArray[String] */;
5792 static val
* varonce531
;
5793 static val
* varonce533
;
5794 val
* var534
/* : String */;
5795 char* var535
/* : CString */;
5796 val
* var536
/* : String */;
5797 val
* var537
/* : nullable Int */;
5798 val
* var538
/* : nullable Int */;
5799 val
* var539
/* : nullable Bool */;
5800 val
* var540
/* : nullable Bool */;
5801 static val
* varonce541
;
5802 val
* var542
/* : String */;
5803 char* var543
/* : CString */;
5804 val
* var544
/* : String */;
5805 val
* var545
/* : nullable Int */;
5806 val
* var546
/* : nullable Int */;
5807 val
* var547
/* : nullable Bool */;
5808 val
* var548
/* : nullable Bool */;
5809 static val
* varonce549
;
5810 val
* var550
/* : String */;
5811 char* var551
/* : CString */;
5812 val
* var552
/* : String */;
5813 val
* var553
/* : nullable Int */;
5814 val
* var554
/* : nullable Int */;
5815 val
* var555
/* : nullable Bool */;
5816 val
* var556
/* : nullable Bool */;
5817 static val
* varonce557
;
5818 val
* var558
/* : String */;
5819 char* var559
/* : CString */;
5820 val
* var560
/* : String */;
5821 val
* var561
/* : nullable Int */;
5822 val
* var562
/* : nullable Int */;
5823 val
* var563
/* : nullable Bool */;
5824 val
* var564
/* : nullable Bool */;
5825 static val
* varonce565
;
5826 val
* var566
/* : String */;
5827 char* var567
/* : CString */;
5828 val
* var568
/* : String */;
5829 val
* var569
/* : nullable Int */;
5830 val
* var570
/* : nullable Int */;
5831 val
* var571
/* : nullable Bool */;
5832 val
* var572
/* : nullable Bool */;
5833 val
* var573
/* : String */;
5834 val
* var574
/* : String */;
5835 val
* var575
/* : String */;
5836 long var576
/* : Int */;
5837 long var578
/* : Int */;
5838 val
* var579
/* : String */;
5839 val
* var580
/* : String */;
5840 val
* var581
/* : String */;
5841 short int var582
/* : Bool */;
5842 short int var584
/* : Bool */;
5845 const char* var_class_name587
;
5846 short int var588
/* : Bool */;
5847 val
* var589
/* : Array[MParameter] */;
5848 val
* var591
/* : Array[MParameter] */;
5849 val
* var592
/* : nullable Object */;
5850 val
* var593
/* : MType */;
5851 val
* var595
/* : MType */;
5852 val
* var_paramtype596
/* var paramtype: MType */;
5853 val
* var597
/* : nullable Object */;
5854 val
* var_first
/* var first: AExpr */;
5855 short int var598
/* : Bool */;
5856 short int var600
/* : Bool */;
5857 val
* var601
/* : Array[MParameter] */;
5858 val
* var603
/* : Array[MParameter] */;
5859 val
* var604
/* : nullable Object */;
5860 short int var605
/* : Bool */;
5861 short int var606
/* : Bool */;
5862 long var607
/* : Int */;
5863 short int var609
/* : Bool */;
5866 const char* var_class_name612
;
5867 long var613
/* : Int */;
5868 long var_i615
/* var i: Int */;
5869 long var616
/* : Int */;
5870 short int var618
/* : Bool */;
5873 const char* var_class_name621
;
5874 long var622
/* : Int */;
5875 long var_623
/* var : Int */;
5876 short int var624
/* : Bool */;
5877 short int var626
/* : Bool */;
5880 const char* var_class_name629
;
5881 short int var630
/* : Bool */;
5882 val
* var632
/* : nullable Object */;
5883 val
* var633
/* : nullable MType */;
5884 long var634
/* : Int */;
5888 var_msignature
= p3
;
5890 { /* Inline model$MSignature$vararg_rank (var_msignature) on <var_msignature:MSignature> */
5891 var3
= var_msignature
->attrs
[COLOR_nitc__model__MSignature___vararg_rank
].l
; /* _vararg_rank on <var_msignature:MSignature> */
5896 var_vararg_rank
= var1
;
5898 { /* Inline kernel$Int$>= (var_vararg_rank,0l) on <var_vararg_rank:Int> */
5899 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
5900 /* <0l:Int> isa OTHER */
5901 var6
= 1; /* easy <0l:Int> isa OTHER*/
5902 if (unlikely(!var6
)) {
5903 var_class_name
= type_core__Int
.name
;
5904 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5905 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 726);
5908 var7
= var_vararg_rank
>= 0l;
5916 { /* Inline array$AbstractArrayRead$length (var_args) on <var_args:Array[AExpr]> */
5917 var10
= var_args
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_args:Array[AExpr]> */
5923 var11
= nitc___nitc__MSignature___arity(var_msignature
);
5926 { /* Inline kernel$Int$< (var8,var11) on <var8:Int> */
5927 /* Covariant cast for argument 0 (i) <var11:Int> isa OTHER */
5928 /* <var11:Int> isa OTHER */
5929 var14
= 1; /* easy <var11:Int> isa OTHER*/
5930 if (unlikely(!var14
)) {
5931 var_class_name17
= type_core__Int
.name
;
5932 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17
);
5933 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
5936 var18
= var8
< var11
;
5939 RET_LABEL13
:(void)0;
5944 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
5945 var21
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
5946 if (unlikely(var21
== NULL
)) {
5947 if(catchStack
.cursor
>= 0){
5948 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5950 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5951 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
5955 RET_LABEL20
:(void)0;
5958 if (unlikely(varonce
==NULL
)) {
5959 var22
= NEW_core__NativeArray((int)10l, &type_core__NativeArray__core__String
);
5960 if (likely(varonce23
!=NULL
)) {
5963 var25
= "Error: expected at least ";
5964 var27
= (val
*)(25l<<2|1);
5965 var28
= (val
*)(25l<<2|1);
5966 var29
= (val
*)((long)(0)<<2|3);
5967 var30
= (val
*)((long)(0)<<2|3);
5968 var26
= core__flat___CString___to_s_unsafe(var25
, var27
, var28
, var29
, var30
);
5972 ((struct instance_core__NativeArray
*)var22
)->values
[0]=var24
;
5973 if (likely(varonce31
!=NULL
)) {
5976 var33
= " argument(s) for `";
5977 var35
= (val
*)(18l<<2|1);
5978 var36
= (val
*)(18l<<2|1);
5979 var37
= (val
*)((long)(0)<<2|3);
5980 var38
= (val
*)((long)(0)<<2|3);
5981 var34
= core__flat___CString___to_s_unsafe(var33
, var35
, var36
, var37
, var38
);
5985 ((struct instance_core__NativeArray
*)var22
)->values
[2]=var32
;
5986 if (likely(varonce39
!=NULL
)) {
5990 var43
= (val
*)(7l<<2|1);
5991 var44
= (val
*)(7l<<2|1);
5992 var45
= (val
*)((long)(0)<<2|3);
5993 var46
= (val
*)((long)(0)<<2|3);
5994 var42
= core__flat___CString___to_s_unsafe(var41
, var43
, var44
, var45
, var46
);
5998 ((struct instance_core__NativeArray
*)var22
)->values
[5]=var40
;
5999 if (likely(varonce47
!=NULL
)) {
6002 var49
= ". See introduction at `";
6003 var51
= (val
*)(23l<<2|1);
6004 var52
= (val
*)(23l<<2|1);
6005 var53
= (val
*)((long)(0)<<2|3);
6006 var54
= (val
*)((long)(0)<<2|3);
6007 var50
= core__flat___CString___to_s_unsafe(var49
, var51
, var52
, var53
, var54
);
6011 ((struct instance_core__NativeArray
*)var22
)->values
[7]=var48
;
6012 if (likely(varonce55
!=NULL
)) {
6016 var59
= (val
*)(2l<<2|1);
6017 var60
= (val
*)(2l<<2|1);
6018 var61
= (val
*)((long)(0)<<2|3);
6019 var62
= (val
*)((long)(0)<<2|3);
6020 var58
= core__flat___CString___to_s_unsafe(var57
, var59
, var60
, var61
, var62
);
6024 ((struct instance_core__NativeArray
*)var22
)->values
[9]=var56
;
6030 var63
= nitc___nitc__MSignature___arity(var_msignature
);
6032 var64
= core__flat___Int___core__abstract_text__Object__to_s(var63
);
6033 ((struct instance_core__NativeArray
*)var22
)->values
[1]=var64
;
6035 var65
= ((val
*(*)(val
* self
))(var_mproperty
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mproperty
); /* to_s on <var_mproperty:MProperty>*/
6037 ((struct instance_core__NativeArray
*)var22
)->values
[3]=var65
;
6039 var66
= ((val
*(*)(val
* self
))(var_msignature
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_msignature
); /* to_s on <var_msignature:MSignature>*/
6041 ((struct instance_core__NativeArray
*)var22
)->values
[4]=var66
;
6043 { /* Inline array$AbstractArrayRead$length (var_args) on <var_args:Array[AExpr]> */
6044 var69
= var_args
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_args:Array[AExpr]> */
6046 RET_LABEL68
:(void)0;
6049 var70
= core__flat___Int___core__abstract_text__Object__to_s(var67
);
6050 ((struct instance_core__NativeArray
*)var22
)->values
[6]=var70
;
6052 var71
= nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var_mproperty
);
6054 ((struct instance_core__NativeArray
*)var22
)->values
[8]=var71
;
6056 var72
= ((val
*(*)(val
* self
))(var22
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var22
); /* native_to_s on <var22:NativeArray[String]>*/
6060 nitc___nitc__ModelBuilder___error(var19
, var_node
, var72
); /* Direct call modelbuilder_base$ModelBuilder$error on <var19:ModelBuilder>*/
6068 { /* Inline array$AbstractArrayRead$length (var_args) on <var_args:Array[AExpr]> */
6069 var75
= var_args
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_args:Array[AExpr]> */
6071 RET_LABEL74
:(void)0;
6075 var76
= nitc___nitc__MSignature___arity(var_msignature
);
6078 { /* Inline kernel$Int$!= (var73,var76) on <var73:Int> */
6079 var79
= var73
== var76
;
6083 RET_LABEL78
:(void)0;
6088 { /* Inline array$AbstractArrayRead$length (var_args) on <var_args:Array[AExpr]> */
6089 var83
= var_args
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_args:Array[AExpr]> */
6091 RET_LABEL82
:(void)0;
6095 var84
= nitc___nitc__MSignature___arity(var_msignature
);
6098 { /* Inline kernel$Int$> (var81,var84) on <var81:Int> */
6099 /* Covariant cast for argument 0 (i) <var84:Int> isa OTHER */
6100 /* <var84:Int> isa OTHER */
6101 var87
= 1; /* easy <var84:Int> isa OTHER*/
6102 if (unlikely(!var87
)) {
6103 var_class_name90
= type_core__Int
.name
;
6104 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name90
);
6105 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
6108 var91
= var81
> var84
;
6111 RET_LABEL86
:(void)0;
6116 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
6117 var94
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
6118 if (unlikely(var94
== NULL
)) {
6119 if(catchStack
.cursor
>= 0){
6120 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6122 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6123 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
6127 RET_LABEL93
:(void)0;
6130 if (unlikely(varonce95
==NULL
)) {
6131 var96
= NEW_core__NativeArray((int)10l, &type_core__NativeArray__core__String
);
6132 if (likely(varonce97
!=NULL
)) {
6135 var99
= "Error: expected ";
6136 var101
= (val
*)(16l<<2|1);
6137 var102
= (val
*)(16l<<2|1);
6138 var103
= (val
*)((long)(0)<<2|3);
6139 var104
= (val
*)((long)(0)<<2|3);
6140 var100
= core__flat___CString___to_s_unsafe(var99
, var101
, var102
, var103
, var104
);
6144 ((struct instance_core__NativeArray
*)var96
)->values
[0]=var98
;
6145 if (likely(varonce105
!=NULL
)) {
6146 var106
= varonce105
;
6148 var107
= " argument(s) for `";
6149 var109
= (val
*)(18l<<2|1);
6150 var110
= (val
*)(18l<<2|1);
6151 var111
= (val
*)((long)(0)<<2|3);
6152 var112
= (val
*)((long)(0)<<2|3);
6153 var108
= core__flat___CString___to_s_unsafe(var107
, var109
, var110
, var111
, var112
);
6155 varonce105
= var106
;
6157 ((struct instance_core__NativeArray
*)var96
)->values
[2]=var106
;
6158 if (likely(varonce113
!=NULL
)) {
6159 var114
= varonce113
;
6162 var117
= (val
*)(7l<<2|1);
6163 var118
= (val
*)(7l<<2|1);
6164 var119
= (val
*)((long)(0)<<2|3);
6165 var120
= (val
*)((long)(0)<<2|3);
6166 var116
= core__flat___CString___to_s_unsafe(var115
, var117
, var118
, var119
, var120
);
6168 varonce113
= var114
;
6170 ((struct instance_core__NativeArray
*)var96
)->values
[5]=var114
;
6171 if (likely(varonce121
!=NULL
)) {
6172 var122
= varonce121
;
6174 var123
= ". See introduction at `";
6175 var125
= (val
*)(23l<<2|1);
6176 var126
= (val
*)(23l<<2|1);
6177 var127
= (val
*)((long)(0)<<2|3);
6178 var128
= (val
*)((long)(0)<<2|3);
6179 var124
= core__flat___CString___to_s_unsafe(var123
, var125
, var126
, var127
, var128
);
6181 varonce121
= var122
;
6183 ((struct instance_core__NativeArray
*)var96
)->values
[7]=var122
;
6184 if (likely(varonce129
!=NULL
)) {
6185 var130
= varonce129
;
6188 var133
= (val
*)(2l<<2|1);
6189 var134
= (val
*)(2l<<2|1);
6190 var135
= (val
*)((long)(0)<<2|3);
6191 var136
= (val
*)((long)(0)<<2|3);
6192 var132
= core__flat___CString___to_s_unsafe(var131
, var133
, var134
, var135
, var136
);
6194 varonce129
= var130
;
6196 ((struct instance_core__NativeArray
*)var96
)->values
[9]=var130
;
6202 var137
= nitc___nitc__MSignature___arity(var_msignature
);
6204 var138
= core__flat___Int___core__abstract_text__Object__to_s(var137
);
6205 ((struct instance_core__NativeArray
*)var96
)->values
[1]=var138
;
6207 var139
= ((val
*(*)(val
* self
))(var_mproperty
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mproperty
); /* to_s on <var_mproperty:MProperty>*/
6209 ((struct instance_core__NativeArray
*)var96
)->values
[3]=var139
;
6211 var140
= ((val
*(*)(val
* self
))(var_msignature
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_msignature
); /* to_s on <var_msignature:MSignature>*/
6213 ((struct instance_core__NativeArray
*)var96
)->values
[4]=var140
;
6215 { /* Inline array$AbstractArrayRead$length (var_args) on <var_args:Array[AExpr]> */
6216 var143
= var_args
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_args:Array[AExpr]> */
6218 RET_LABEL142
:(void)0;
6221 var144
= core__flat___Int___core__abstract_text__Object__to_s(var141
);
6222 ((struct instance_core__NativeArray
*)var96
)->values
[6]=var144
;
6224 var145
= nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var_mproperty
);
6226 ((struct instance_core__NativeArray
*)var96
)->values
[8]=var145
;
6228 var146
= ((val
*(*)(val
* self
))(var96
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var96
); /* native_to_s on <var96:NativeArray[String]>*/
6232 nitc___nitc__ModelBuilder___error(var92
, var_node
, var146
); /* Direct call modelbuilder_base$ModelBuilder$error on <var92:ModelBuilder>*/
6241 var147
= NEW_nitc__SignatureMap(&type_nitc__SignatureMap
);
6243 { /* Inline kernel$Object$init (var147) on <var147:SignatureMap> */
6244 RET_LABEL148
:(void)0;
6249 { /* Inline model$MProperty$name (var_mproperty) on <var_mproperty:MProperty> */
6250 var151
= var_mproperty
->attrs
[COLOR_nitc__model__MProperty___name
].val
; /* _name on <var_mproperty:MProperty> */
6251 if (unlikely(var151
== NULL
)) {
6252 if(catchStack
.cursor
>= 0){
6253 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6255 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
6256 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2047);
6260 RET_LABEL150
:(void)0;
6264 var152
= ((val
*(*)(val
* self
))(var149
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(var149
); /* chars on <var149:String>*/
6267 var153
= ((val
*(*)(val
* self
))((((long)var152
&3)?class_info
[((long)var152
&3)]:var152
->class)->vft
[COLOR_core__abstract_collection__SequenceRead__last
]))(var152
); /* last on <var152:SequenceRead[Char]>*/
6270 { /* Inline kernel$Char$== (var153,'=') on <var153:nullable Object(Char)> */
6271 var157
= (uint32_t)((long)(var153
)>>2);
6272 var156
= var157
== '=';
6275 RET_LABEL155
:(void)0;
6278 var_last_is_padded
= var154
;
6280 { /* Inline array$AbstractArrayRead$length (var_args) on <var_args:Array[AExpr]> */
6281 var160
= var_args
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_args:Array[AExpr]> */
6283 RET_LABEL159
:(void)0;
6286 var_nbargs
= var158
;
6287 if (var_last_is_padded
){
6289 { /* Inline kernel$Int$- (var_nbargs,1l) on <var_nbargs:Int> */
6290 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
6291 /* <1l:Int> isa OTHER */
6292 var163
= 1; /* easy <1l:Int> isa OTHER*/
6293 if (unlikely(!var163
)) {
6294 var_class_name166
= type_core__Int
.name
;
6295 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name166
);
6296 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
6299 var167
= var_nbargs
- 1l;
6302 RET_LABEL162
:(void)0;
6305 var_nbargs
= var161
;
6307 var168
= core___core__SequenceRead___last(var_args
);
6309 /* <var168:nullable Object(AExpr)> isa ANamedargExpr */
6310 cltype170
= type_nitc__ANamedargExpr
.color
;
6311 idtype171
= type_nitc__ANamedargExpr
.id
;
6312 if(cltype170
>= var168
->type
->table_size
) {
6315 var169
= var168
->type
->type_table
[cltype170
] == idtype171
;
6318 if (unlikely(!var172
)) {
6319 if(catchStack
.cursor
>= 0){
6320 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6322 PRINT_ERROR("Runtime error: %s", "Assert failed");
6323 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 442);
6327 { /* Inline typing$SignatureMap$map (var_map) on <var_map:SignatureMap> */
6328 var175
= var_map
->attrs
[COLOR_nitc__typing__SignatureMap___map
].val
; /* _map on <var_map:SignatureMap> */
6329 if (unlikely(var175
== NULL
)) {
6330 if(catchStack
.cursor
>= 0){
6331 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6333 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
6334 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 632);
6338 RET_LABEL174
:(void)0;
6342 var176
= nitc___nitc__MSignature___arity(var_msignature
);
6345 { /* Inline kernel$Int$- (var176,1l) on <var176:Int> */
6346 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
6347 /* <1l:Int> isa OTHER */
6348 var179
= 1; /* easy <1l:Int> isa OTHER*/
6349 if (unlikely(!var179
)) {
6350 var_class_name182
= type_core__Int
.name
;
6351 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name182
);
6352 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
6355 var183
= var176
- 1l;
6358 RET_LABEL178
:(void)0;
6362 { /* Inline array$AbstractArrayRead$length (var_args) on <var_args:Array[AExpr]> */
6363 var186
= var_args
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_args:Array[AExpr]> */
6365 RET_LABEL185
:(void)0;
6369 { /* Inline kernel$Int$- (var184,1l) on <var184:Int> */
6370 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
6371 /* <1l:Int> isa OTHER */
6372 var189
= 1; /* easy <1l:Int> isa OTHER*/
6373 if (unlikely(!var189
)) {
6374 var_class_name192
= type_core__Int
.name
;
6375 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name192
);
6376 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
6379 var193
= var184
- 1l;
6382 RET_LABEL188
:(void)0;
6386 var194
= (val
*)(var177
<<2|1);
6387 var195
= (val
*)(var187
<<2|1);
6388 core___core__ArrayMap___core__abstract_collection__Map___91d_93d_61d(var173
, var194
, var195
); /* Direct call array$ArrayMap$[]= on <var173:ArrayMap[Int, Int]>*/
6391 var196
= core___core__SequenceRead___last(var_args
);
6394 { /* Inline model$MSignature$mparameters (var_msignature) on <var_msignature:MSignature> */
6395 var199
= var_msignature
->attrs
[COLOR_nitc__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
6396 if (unlikely(var199
== NULL
)) {
6397 if(catchStack
.cursor
>= 0){
6398 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6400 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
6401 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1879);
6405 RET_LABEL198
:(void)0;
6409 var200
= core___core__SequenceRead___last(var197
);
6412 { /* Inline model$MParameter$mtype (var200) on <var200:nullable Object(MParameter)> */
6413 var203
= var200
->attrs
[COLOR_nitc__model__MParameter___mtype
].val
; /* _mtype on <var200:nullable Object(MParameter)> */
6414 if (unlikely(var203
== NULL
)) {
6415 if(catchStack
.cursor
>= 0){
6416 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6418 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6419 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1996);
6423 RET_LABEL202
:(void)0;
6427 var204
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(self
, var196
, var201
);
6433 { /* Inline array$AbstractArrayRead$length (var_args) on <var_args:Array[AExpr]> */
6434 var207
= var_args
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_args:Array[AExpr]> */
6436 RET_LABEL206
:(void)0;
6442 { /* Inline kernel$Int$< (var_i,var_) on <var_i:Int> */
6443 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
6444 /* <var_:Int> isa OTHER */
6445 var210
= 1; /* easy <var_:Int> isa OTHER*/
6446 if (unlikely(!var210
)) {
6447 var_class_name213
= type_core__Int
.name
;
6448 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name213
);
6449 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
6452 var214
= var_i
< var_
;
6455 RET_LABEL209
:(void)0;
6463 var215
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_args
, var_i
);
6466 /* <var_e:AExpr> isa ANamedargExpr */
6467 cltype217
= type_nitc__ANamedargExpr
.color
;
6468 idtype218
= type_nitc__ANamedargExpr
.id
;
6469 if(cltype217
>= var_e
->type
->table_size
) {
6472 var216
= var_e
->type
->type_table
[cltype217
] == idtype218
;
6476 goto BREAK_label220
;
6480 { /* Inline parser_nodes$ANamedargExpr$n_id (var_e) on <var_e:AExpr(ANamedargExpr)> */
6481 var223
= var_e
->attrs
[COLOR_nitc__parser_nodes__ANamedargExpr___n_id
].val
; /* _n_id on <var_e:AExpr(ANamedargExpr)> */
6482 if (unlikely(var223
== NULL
)) {
6483 if(catchStack
.cursor
>= 0){
6484 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6486 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
6487 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2722);
6491 RET_LABEL222
:(void)0;
6495 var224
= nitc__lexer_work___Token___text(var221
);
6499 var225
= nitc___nitc__MSignature___mparameter_by_name(var_msignature
, var_name
);
6502 if (var_param
== NULL
) {
6503 var226
= 1; /* is null */
6505 var226
= 0; /* arg is null but recv is not */
6508 { /* Inline kernel$Object$== (var_param,((val*)NULL)) on <var_param:nullable MParameter> */
6509 var_other
= ((val
*)NULL
);
6511 { /* Inline kernel$Object$is_same_instance (var_param,var_other) on <var_param:nullable MParameter(MParameter)> */
6512 var231
= var_param
== var_other
;
6515 RET_LABEL230
:(void)0;
6520 RET_LABEL228
:(void)0;
6526 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
6527 var234
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
6528 if (unlikely(var234
== NULL
)) {
6529 if(catchStack
.cursor
>= 0){
6530 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6532 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6533 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
6537 RET_LABEL233
:(void)0;
6541 { /* Inline parser_nodes$ANamedargExpr$n_id (var_e) on <var_e:AExpr(ANamedargExpr)> */
6542 var237
= var_e
->attrs
[COLOR_nitc__parser_nodes__ANamedargExpr___n_id
].val
; /* _n_id on <var_e:AExpr(ANamedargExpr)> */
6543 if (unlikely(var237
== NULL
)) {
6544 if(catchStack
.cursor
>= 0){
6545 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6547 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
6548 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2722);
6552 RET_LABEL236
:(void)0;
6555 if (unlikely(varonce238
==NULL
)) {
6556 var239
= NEW_core__NativeArray((int)6l, &type_core__NativeArray__core__String
);
6557 if (likely(varonce240
!=NULL
)) {
6558 var241
= varonce240
;
6560 var242
= "Error: no parameter `";
6561 var244
= (val
*)(21l<<2|1);
6562 var245
= (val
*)(21l<<2|1);
6563 var246
= (val
*)((long)(0)<<2|3);
6564 var247
= (val
*)((long)(0)<<2|3);
6565 var243
= core__flat___CString___to_s_unsafe(var242
, var244
, var245
, var246
, var247
);
6567 varonce240
= var241
;
6569 ((struct instance_core__NativeArray
*)var239
)->values
[0]=var241
;
6570 if (likely(varonce248
!=NULL
)) {
6571 var249
= varonce248
;
6574 var252
= (val
*)(7l<<2|1);
6575 var253
= (val
*)(7l<<2|1);
6576 var254
= (val
*)((long)(0)<<2|3);
6577 var255
= (val
*)((long)(0)<<2|3);
6578 var251
= core__flat___CString___to_s_unsafe(var250
, var252
, var253
, var254
, var255
);
6580 varonce248
= var249
;
6582 ((struct instance_core__NativeArray
*)var239
)->values
[2]=var249
;
6583 if (likely(varonce256
!=NULL
)) {
6584 var257
= varonce256
;
6587 var260
= (val
*)(2l<<2|1);
6588 var261
= (val
*)(2l<<2|1);
6589 var262
= (val
*)((long)(0)<<2|3);
6590 var263
= (val
*)((long)(0)<<2|3);
6591 var259
= core__flat___CString___to_s_unsafe(var258
, var260
, var261
, var262
, var263
);
6593 varonce256
= var257
;
6595 ((struct instance_core__NativeArray
*)var239
)->values
[5]=var257
;
6597 var239
= varonce238
;
6600 ((struct instance_core__NativeArray
*)var239
)->values
[1]=var_name
;
6602 var264
= ((val
*(*)(val
* self
))(var_mproperty
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mproperty
); /* to_s on <var_mproperty:MProperty>*/
6604 ((struct instance_core__NativeArray
*)var239
)->values
[3]=var264
;
6606 var265
= ((val
*(*)(val
* self
))(var_msignature
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_msignature
); /* to_s on <var_msignature:MSignature>*/
6608 ((struct instance_core__NativeArray
*)var239
)->values
[4]=var265
;
6610 var266
= ((val
*(*)(val
* self
))(var239
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var239
); /* native_to_s on <var239:NativeArray[String]>*/
6612 varonce238
= var239
;
6614 nitc___nitc__ModelBuilder___error(var232
, var235
, var266
); /* Direct call modelbuilder_base$ModelBuilder$error on <var232:ModelBuilder>*/
6621 { /* Inline model$MSignature$mparameters (var_msignature) on <var_msignature:MSignature> */
6622 var269
= var_msignature
->attrs
[COLOR_nitc__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
6623 if (unlikely(var269
== NULL
)) {
6624 if(catchStack
.cursor
>= 0){
6625 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6627 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
6628 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1879);
6632 RET_LABEL268
:(void)0;
6636 var270
= core___core__AbstractArrayRead___core__abstract_collection__SequenceRead__index_of(var267
, var_param
);
6640 { /* Inline typing$SignatureMap$map (var_map) on <var_map:SignatureMap> */
6641 var273
= var_map
->attrs
[COLOR_nitc__typing__SignatureMap___map
].val
; /* _map on <var_map:SignatureMap> */
6642 if (unlikely(var273
== NULL
)) {
6643 if(catchStack
.cursor
>= 0){
6644 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6646 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
6647 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 632);
6651 RET_LABEL272
:(void)0;
6655 var275
= (val
*)(var_idx
<<2|1);
6656 var274
= core___core__MapRead___get_or_null(var271
, var275
);
6659 if (var_prev
== NULL
) {
6660 var276
= 0; /* is null */
6662 var276
= 1; /* arg is null and recv is not */
6665 { /* Inline kernel$Int$!= (var_prev,((val*)NULL)) on <var_prev:nullable Int> */
6666 var279
= 0; /* incompatible types Int vs. null; cannot be NULL */
6670 RET_LABEL278
:(void)0;
6676 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
6677 var283
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
6678 if (unlikely(var283
== NULL
)) {
6679 if(catchStack
.cursor
>= 0){
6680 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6682 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6683 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
6687 RET_LABEL282
:(void)0;
6690 if (unlikely(varonce284
==NULL
)) {
6691 var285
= NEW_core__NativeArray((int)8l, &type_core__NativeArray__core__String
);
6692 if (likely(varonce286
!=NULL
)) {
6693 var287
= varonce286
;
6695 var288
= "Error: parameter `";
6696 var290
= (val
*)(18l<<2|1);
6697 var291
= (val
*)(18l<<2|1);
6698 var292
= (val
*)((long)(0)<<2|3);
6699 var293
= (val
*)((long)(0)<<2|3);
6700 var289
= core__flat___CString___to_s_unsafe(var288
, var290
, var291
, var292
, var293
);
6702 varonce286
= var287
;
6704 ((struct instance_core__NativeArray
*)var285
)->values
[0]=var287
;
6705 if (likely(varonce294
!=NULL
)) {
6706 var295
= varonce294
;
6708 var296
= "` already associated with argument #";
6709 var298
= (val
*)(36l<<2|1);
6710 var299
= (val
*)(36l<<2|1);
6711 var300
= (val
*)((long)(0)<<2|3);
6712 var301
= (val
*)((long)(0)<<2|3);
6713 var297
= core__flat___CString___to_s_unsafe(var296
, var298
, var299
, var300
, var301
);
6715 varonce294
= var295
;
6717 ((struct instance_core__NativeArray
*)var285
)->values
[2]=var295
;
6718 if (likely(varonce302
!=NULL
)) {
6719 var303
= varonce302
;
6722 var306
= (val
*)(6l<<2|1);
6723 var307
= (val
*)(6l<<2|1);
6724 var308
= (val
*)((long)(0)<<2|3);
6725 var309
= (val
*)((long)(0)<<2|3);
6726 var305
= core__flat___CString___to_s_unsafe(var304
, var306
, var307
, var308
, var309
);
6728 varonce302
= var303
;
6730 ((struct instance_core__NativeArray
*)var285
)->values
[4]=var303
;
6731 if (likely(varonce310
!=NULL
)) {
6732 var311
= varonce310
;
6735 var314
= (val
*)(2l<<2|1);
6736 var315
= (val
*)(2l<<2|1);
6737 var316
= (val
*)((long)(0)<<2|3);
6738 var317
= (val
*)((long)(0)<<2|3);
6739 var313
= core__flat___CString___to_s_unsafe(var312
, var314
, var315
, var316
, var317
);
6741 varonce310
= var311
;
6743 ((struct instance_core__NativeArray
*)var285
)->values
[7]=var311
;
6745 var285
= varonce284
;
6748 ((struct instance_core__NativeArray
*)var285
)->values
[1]=var_name
;
6749 var319
= (long)(var_prev
)>>2;
6750 var318
= core__flat___Int___core__abstract_text__Object__to_s(var319
);
6751 ((struct instance_core__NativeArray
*)var285
)->values
[3]=var318
;
6753 var320
= ((val
*(*)(val
* self
))(var_mproperty
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mproperty
); /* to_s on <var_mproperty:MProperty>*/
6755 ((struct instance_core__NativeArray
*)var285
)->values
[5]=var320
;
6757 var321
= ((val
*(*)(val
* self
))(var_msignature
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_msignature
); /* to_s on <var_msignature:MSignature>*/
6759 ((struct instance_core__NativeArray
*)var285
)->values
[6]=var321
;
6761 var322
= ((val
*(*)(val
* self
))(var285
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var285
); /* native_to_s on <var285:NativeArray[String]>*/
6763 varonce284
= var285
;
6765 nitc___nitc__ModelBuilder___error(var281
, var_e
, var322
); /* Direct call modelbuilder_base$ModelBuilder$error on <var281:ModelBuilder>*/
6772 { /* Inline typing$SignatureMap$map (var_map) on <var_map:SignatureMap> */
6773 var325
= var_map
->attrs
[COLOR_nitc__typing__SignatureMap___map
].val
; /* _map on <var_map:SignatureMap> */
6774 if (unlikely(var325
== NULL
)) {
6775 if(catchStack
.cursor
>= 0){
6776 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6778 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
6779 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 632);
6783 RET_LABEL324
:(void)0;
6787 var326
= (val
*)(var_idx
<<2|1);
6788 var327
= (val
*)(var_i
<<2|1);
6789 core___core__ArrayMap___core__abstract_collection__Map___91d_93d_61d(var323
, var326
, var327
); /* Direct call array$ArrayMap$[]= on <var323:ArrayMap[Int, Int]>*/
6792 { /* Inline parser_nodes$ANamedargExpr$n_expr (var_e) on <var_e:AExpr(ANamedargExpr)> */
6793 var330
= var_e
->attrs
[COLOR_nitc__parser_nodes__ANamedargExpr___n_expr
].val
; /* _n_expr on <var_e:AExpr(ANamedargExpr)> */
6794 if (unlikely(var330
== NULL
)) {
6795 if(catchStack
.cursor
>= 0){
6796 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6798 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
6799 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2728);
6803 RET_LABEL329
:(void)0;
6807 { /* Inline model$MParameter$mtype (var_param) on <var_param:nullable MParameter(MParameter)> */
6808 var333
= var_param
->attrs
[COLOR_nitc__model__MParameter___mtype
].val
; /* _mtype on <var_param:nullable MParameter(MParameter)> */
6809 if (unlikely(var333
== NULL
)) {
6810 if(catchStack
.cursor
>= 0){
6811 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6813 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6814 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1996);
6818 RET_LABEL332
:(void)0;
6822 var334
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(self
, var328
, var331
);
6825 { /* Inline typing$AExpr$mtype= (var_e,var334) on <var_e:AExpr(ANamedargExpr)> */
6826 var_e
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var334
; /* _mtype on <var_e:AExpr(ANamedargExpr)> */
6827 RET_LABEL335
:(void)0;
6830 BREAK_label220
: (void)0;
6832 var336
= core___core__Int___Discrete__successor(var_i
, 1l);
6836 BREAK_label
: (void)0;
6839 { /* Inline array$AbstractArrayRead$length (var_args) on <var_args:Array[AExpr]> */
6840 var339
= var_args
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_args:Array[AExpr]> */
6842 RET_LABEL338
:(void)0;
6846 var340
= nitc___nitc__MSignature___arity(var_msignature
);
6849 { /* Inline kernel$Int$- (var337,var340) on <var337:Int> */
6850 /* Covariant cast for argument 0 (i) <var340:Int> isa OTHER */
6851 /* <var340:Int> isa OTHER */
6852 var343
= 1; /* easy <var340:Int> isa OTHER*/
6853 if (unlikely(!var343
)) {
6854 var_class_name346
= type_core__Int
.name
;
6855 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name346
);
6856 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
6859 var347
= var337
- var340
;
6862 RET_LABEL342
:(void)0;
6865 var_vararg_decl
= var341
;
6869 var349
= nitc___nitc__MSignature___arity(var_msignature
);
6874 { /* Inline kernel$Int$< (var_i348,var_350) on <var_i348:Int> */
6875 /* Covariant cast for argument 0 (i) <var_350:Int> isa OTHER */
6876 /* <var_350:Int> isa OTHER */
6877 var353
= 1; /* easy <var_350:Int> isa OTHER*/
6878 if (unlikely(!var353
)) {
6879 var_class_name356
= type_core__Int
.name
;
6880 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name356
);
6881 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
6884 var357
= var_i348
< var_350
;
6887 RET_LABEL352
:(void)0;
6892 goto BREAK_label358
;
6895 { /* Inline typing$SignatureMap$map (var_map) on <var_map:SignatureMap> */
6896 var361
= var_map
->attrs
[COLOR_nitc__typing__SignatureMap___map
].val
; /* _map on <var_map:SignatureMap> */
6897 if (unlikely(var361
== NULL
)) {
6898 if(catchStack
.cursor
>= 0){
6899 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6901 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
6902 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 632);
6906 RET_LABEL360
:(void)0;
6910 var363
= (val
*)(var_i348
<<2|1);
6911 var362
= core___core__CoupleMap___MapRead__has_key(var359
, var363
);
6914 goto BREAK_label364
;
6918 { /* Inline model$MSignature$mparameters (var_msignature) on <var_msignature:MSignature> */
6919 var367
= var_msignature
->attrs
[COLOR_nitc__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
6920 if (unlikely(var367
== NULL
)) {
6921 if(catchStack
.cursor
>= 0){
6922 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6924 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
6925 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1879);
6929 RET_LABEL366
:(void)0;
6933 var368
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var365
, var_i348
);
6935 var_param369
= var368
;
6938 { /* Inline kernel$Int$< (var_j,var_nbargs) on <var_j:Int> */
6939 /* Covariant cast for argument 0 (i) <var_nbargs:Int> isa OTHER */
6940 /* <var_nbargs:Int> isa OTHER */
6941 var373
= 1; /* easy <var_nbargs:Int> isa OTHER*/
6942 if (unlikely(!var373
)) {
6943 var_class_name376
= type_core__Int
.name
;
6944 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name376
);
6945 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
6948 var377
= var_j
< var_nbargs
;
6951 RET_LABEL372
:(void)0;
6957 var379
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_args
, var_j
);
6959 /* <var379:nullable Object(AExpr)> isa ANamedargExpr */
6960 cltype381
= type_nitc__ANamedargExpr
.color
;
6961 idtype382
= type_nitc__ANamedargExpr
.id
;
6962 if(cltype381
>= var379
->type
->table_size
) {
6965 var380
= var379
->type
->type_table
[cltype381
] == idtype382
;
6973 { /* Inline kernel$Int$+ (var_j,1l) on <var_j:Int> */
6974 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
6975 /* <1l:Int> isa OTHER */
6976 var385
= 1; /* easy <1l:Int> isa OTHER*/
6977 if (unlikely(!var385
)) {
6978 var_class_name388
= type_core__Int
.name
;
6979 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name388
);
6980 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
6983 var389
= var_j
+ 1l;
6986 RET_LABEL384
:(void)0;
6991 goto BREAK_label390
;
6994 BREAK_label390
: (void)0;
6996 { /* Inline kernel$Int$>= (var_j,var_nbargs) on <var_j:Int> */
6997 /* Covariant cast for argument 0 (i) <var_nbargs:Int> isa OTHER */
6998 /* <var_nbargs:Int> isa OTHER */
6999 var393
= 1; /* easy <var_nbargs:Int> isa OTHER*/
7000 if (unlikely(!var393
)) {
7001 var_class_name396
= type_core__Int
.name
;
7002 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name396
);
7003 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 726);
7006 var397
= var_j
>= var_nbargs
;
7009 RET_LABEL392
:(void)0;
7014 { /* Inline model$MParameter$mtype (var_param369) on <var_param369:MParameter> */
7015 var400
= var_param369
->attrs
[COLOR_nitc__model__MParameter___mtype
].val
; /* _mtype on <var_param369:MParameter> */
7016 if (unlikely(var400
== NULL
)) {
7017 if(catchStack
.cursor
>= 0){
7018 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7020 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7021 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1996);
7025 RET_LABEL399
:(void)0;
7028 /* <var398:MType> isa MNullableType */
7029 cltype402
= type_nitc__MNullableType
.color
;
7030 idtype403
= type_nitc__MNullableType
.id
;
7031 if(cltype402
>= var398
->type
->table_size
) {
7034 var401
= var398
->type
->type_table
[cltype402
] == idtype403
;
7039 { /* Inline kernel$Int$+ (var_j,1l) on <var_j:Int> */
7040 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
7041 /* <1l:Int> isa OTHER */
7042 var407
= 1; /* easy <1l:Int> isa OTHER*/
7043 if (unlikely(!var407
)) {
7044 var_class_name410
= type_core__Int
.name
;
7045 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name410
);
7046 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
7049 var411
= var_j
+ 1l;
7052 RET_LABEL406
:(void)0;
7055 var_min_arity
= var405
;
7059 { /* Inline kernel$Int$+ (var_j,1l) on <var_j:Int> */
7060 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
7061 /* <1l:Int> isa OTHER */
7062 var414
= 1; /* easy <1l:Int> isa OTHER*/
7063 if (unlikely(!var414
)) {
7064 var_class_name417
= type_core__Int
.name
;
7065 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name417
);
7066 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
7069 var418
= var_j
+ 1l;
7072 RET_LABEL413
:(void)0;
7076 goto BREAK_label364
;
7080 var419
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_args
, var_j
);
7084 { /* Inline typing$SignatureMap$map (var_map) on <var_map:SignatureMap> */
7085 var422
= var_map
->attrs
[COLOR_nitc__typing__SignatureMap___map
].val
; /* _map on <var_map:SignatureMap> */
7086 if (unlikely(var422
== NULL
)) {
7087 if(catchStack
.cursor
>= 0){
7088 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7090 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
7091 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 632);
7095 RET_LABEL421
:(void)0;
7099 var423
= (val
*)(var_i348
<<2|1);
7100 var424
= (val
*)(var_j
<<2|1);
7101 core___core__ArrayMap___core__abstract_collection__Map___91d_93d_61d(var420
, var423
, var424
); /* Direct call array$ArrayMap$[]= on <var420:ArrayMap[Int, Int]>*/
7104 { /* Inline kernel$Int$+ (var_j,1l) on <var_j:Int> */
7105 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
7106 /* <1l:Int> isa OTHER */
7107 var427
= 1; /* easy <1l:Int> isa OTHER*/
7108 if (unlikely(!var427
)) {
7109 var_class_name430
= type_core__Int
.name
;
7110 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name430
);
7111 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
7114 var431
= var_j
+ 1l;
7117 RET_LABEL426
:(void)0;
7122 { /* Inline kernel$Int$== (var_i348,var_vararg_rank) on <var_i348:Int> */
7123 var434
= var_i348
== var_vararg_rank
;
7126 RET_LABEL433
:(void)0;
7131 { /* Inline kernel$Int$+ (var_j,var_vararg_decl) on <var_j:Int> */
7132 /* Covariant cast for argument 0 (i) <var_vararg_decl:Int> isa OTHER */
7133 /* <var_vararg_decl:Int> isa OTHER */
7134 var437
= 1; /* easy <var_vararg_decl:Int> isa OTHER*/
7135 if (unlikely(!var437
)) {
7136 var_class_name440
= type_core__Int
.name
;
7137 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name440
);
7138 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
7141 var441
= var_j
+ var_vararg_decl
;
7144 RET_LABEL436
:(void)0;
7148 goto BREAK_label364
;
7152 { /* Inline model$MParameter$is_vararg (var_param369) on <var_param369:MParameter> */
7153 var444
= var_param369
->attrs
[COLOR_nitc__model__MParameter___is_vararg
].s
; /* _is_vararg on <var_param369:MParameter> */
7155 RET_LABEL443
:(void)0;
7161 { /* Inline model$MParameter$mtype (var_param369) on <var_param369:MParameter> */
7162 var448
= var_param369
->attrs
[COLOR_nitc__model__MParameter___mtype
].val
; /* _mtype on <var_param369:MParameter> */
7163 if (unlikely(var448
== NULL
)) {
7164 if(catchStack
.cursor
>= 0){
7165 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7167 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7168 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1996);
7172 RET_LABEL447
:(void)0;
7175 var_paramtype
= var446
;
7177 var449
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(self
, var_arg
, var_paramtype
);
7181 var450
= nitc__typing___nitc__typing__TypeVisitor___check_one_vararg(self
, var_arg
, var_param369
);
7184 BREAK_label364
: (void)0;
7186 var451
= core___core__Int___Discrete__successor(var_i348
, 1l);
7190 BREAK_label358
: (void)0;
7192 { /* Inline kernel$Int$> (var_min_arity,0l) on <var_min_arity:Int> */
7193 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
7194 /* <0l:Int> isa OTHER */
7195 var454
= 1; /* easy <0l:Int> isa OTHER*/
7196 if (unlikely(!var454
)) {
7197 var_class_name457
= type_core__Int
.name
;
7198 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name457
);
7199 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
7202 var458
= var_min_arity
> 0l;
7205 RET_LABEL453
:(void)0;
7209 if (var_last_is_padded
){
7211 { /* Inline kernel$Int$+ (var_min_arity,1l) on <var_min_arity:Int> */
7212 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
7213 /* <1l:Int> isa OTHER */
7214 var461
= 1; /* easy <1l:Int> isa OTHER*/
7215 if (unlikely(!var461
)) {
7216 var_class_name464
= type_core__Int
.name
;
7217 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name464
);
7218 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
7221 var465
= var_min_arity
+ 1l;
7224 RET_LABEL460
:(void)0;
7227 var_min_arity
= var459
;
7231 var466
= nitc___nitc__MSignature___arity(var_msignature
);
7234 { /* Inline kernel$Int$< (var_min_arity,var466) on <var_min_arity:Int> */
7235 /* Covariant cast for argument 0 (i) <var466:Int> isa OTHER */
7236 /* <var466:Int> isa OTHER */
7237 var469
= 1; /* easy <var466:Int> isa OTHER*/
7238 if (unlikely(!var469
)) {
7239 var_class_name472
= type_core__Int
.name
;
7240 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name472
);
7241 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
7244 var473
= var_min_arity
< var466
;
7247 RET_LABEL468
:(void)0;
7252 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
7253 var476
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
7254 if (unlikely(var476
== NULL
)) {
7255 if(catchStack
.cursor
>= 0){
7256 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7258 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
7259 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
7263 RET_LABEL475
:(void)0;
7266 if (unlikely(varonce477
==NULL
)) {
7267 var478
= NEW_core__NativeArray((int)10l, &type_core__NativeArray__core__String
);
7268 if (likely(varonce479
!=NULL
)) {
7269 var480
= varonce479
;
7271 var481
= "Error: expected at least ";
7272 var483
= (val
*)(25l<<2|1);
7273 var484
= (val
*)(25l<<2|1);
7274 var485
= (val
*)((long)(0)<<2|3);
7275 var486
= (val
*)((long)(0)<<2|3);
7276 var482
= core__flat___CString___to_s_unsafe(var481
, var483
, var484
, var485
, var486
);
7278 varonce479
= var480
;
7280 ((struct instance_core__NativeArray
*)var478
)->values
[0]=var480
;
7281 if (likely(varonce487
!=NULL
)) {
7282 var488
= varonce487
;
7284 var489
= " argument(s) for `";
7285 var491
= (val
*)(18l<<2|1);
7286 var492
= (val
*)(18l<<2|1);
7287 var493
= (val
*)((long)(0)<<2|3);
7288 var494
= (val
*)((long)(0)<<2|3);
7289 var490
= core__flat___CString___to_s_unsafe(var489
, var491
, var492
, var493
, var494
);
7291 varonce487
= var488
;
7293 ((struct instance_core__NativeArray
*)var478
)->values
[2]=var488
;
7294 if (likely(varonce495
!=NULL
)) {
7295 var496
= varonce495
;
7298 var499
= (val
*)(7l<<2|1);
7299 var500
= (val
*)(7l<<2|1);
7300 var501
= (val
*)((long)(0)<<2|3);
7301 var502
= (val
*)((long)(0)<<2|3);
7302 var498
= core__flat___CString___to_s_unsafe(var497
, var499
, var500
, var501
, var502
);
7304 varonce495
= var496
;
7306 ((struct instance_core__NativeArray
*)var478
)->values
[5]=var496
;
7307 if (likely(varonce503
!=NULL
)) {
7308 var504
= varonce503
;
7310 var505
= ". See introduction at `";
7311 var507
= (val
*)(23l<<2|1);
7312 var508
= (val
*)(23l<<2|1);
7313 var509
= (val
*)((long)(0)<<2|3);
7314 var510
= (val
*)((long)(0)<<2|3);
7315 var506
= core__flat___CString___to_s_unsafe(var505
, var507
, var508
, var509
, var510
);
7317 varonce503
= var504
;
7319 ((struct instance_core__NativeArray
*)var478
)->values
[7]=var504
;
7320 if (likely(varonce511
!=NULL
)) {
7321 var512
= varonce511
;
7324 var515
= (val
*)(2l<<2|1);
7325 var516
= (val
*)(2l<<2|1);
7326 var517
= (val
*)((long)(0)<<2|3);
7327 var518
= (val
*)((long)(0)<<2|3);
7328 var514
= core__flat___CString___to_s_unsafe(var513
, var515
, var516
, var517
, var518
);
7330 varonce511
= var512
;
7332 ((struct instance_core__NativeArray
*)var478
)->values
[9]=var512
;
7334 var478
= varonce477
;
7337 var519
= core__flat___Int___core__abstract_text__Object__to_s(var_min_arity
);
7338 ((struct instance_core__NativeArray
*)var478
)->values
[1]=var519
;
7340 var520
= ((val
*(*)(val
* self
))(var_mproperty
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mproperty
); /* to_s on <var_mproperty:MProperty>*/
7342 ((struct instance_core__NativeArray
*)var478
)->values
[3]=var520
;
7344 var521
= ((val
*(*)(val
* self
))(var_msignature
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_msignature
); /* to_s on <var_msignature:MSignature>*/
7346 ((struct instance_core__NativeArray
*)var478
)->values
[4]=var521
;
7348 { /* Inline array$AbstractArrayRead$length (var_args) on <var_args:Array[AExpr]> */
7349 var524
= var_args
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_args:Array[AExpr]> */
7351 RET_LABEL523
:(void)0;
7354 var525
= core__flat___Int___core__abstract_text__Object__to_s(var522
);
7355 ((struct instance_core__NativeArray
*)var478
)->values
[6]=var525
;
7357 var526
= nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var_mproperty
);
7359 ((struct instance_core__NativeArray
*)var478
)->values
[8]=var526
;
7361 var527
= ((val
*(*)(val
* self
))(var478
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var478
); /* native_to_s on <var478:NativeArray[String]>*/
7363 varonce477
= var478
;
7365 nitc___nitc__ModelBuilder___error(var474
, var_node
, var527
); /* Direct call modelbuilder_base$ModelBuilder$error on <var474:ModelBuilder>*/
7369 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
7370 var530
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
7371 if (unlikely(var530
== NULL
)) {
7372 if(catchStack
.cursor
>= 0){
7373 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7375 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
7376 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
7380 RET_LABEL529
:(void)0;
7383 if (unlikely(varonce531
==NULL
)) {
7384 var532
= NEW_core__NativeArray((int)10l, &type_core__NativeArray__core__String
);
7385 if (likely(varonce533
!=NULL
)) {
7386 var534
= varonce533
;
7388 var535
= "Error: expected ";
7389 var537
= (val
*)(16l<<2|1);
7390 var538
= (val
*)(16l<<2|1);
7391 var539
= (val
*)((long)(0)<<2|3);
7392 var540
= (val
*)((long)(0)<<2|3);
7393 var536
= core__flat___CString___to_s_unsafe(var535
, var537
, var538
, var539
, var540
);
7395 varonce533
= var534
;
7397 ((struct instance_core__NativeArray
*)var532
)->values
[0]=var534
;
7398 if (likely(varonce541
!=NULL
)) {
7399 var542
= varonce541
;
7401 var543
= " argument(s) for `";
7402 var545
= (val
*)(18l<<2|1);
7403 var546
= (val
*)(18l<<2|1);
7404 var547
= (val
*)((long)(0)<<2|3);
7405 var548
= (val
*)((long)(0)<<2|3);
7406 var544
= core__flat___CString___to_s_unsafe(var543
, var545
, var546
, var547
, var548
);
7408 varonce541
= var542
;
7410 ((struct instance_core__NativeArray
*)var532
)->values
[2]=var542
;
7411 if (likely(varonce549
!=NULL
)) {
7412 var550
= varonce549
;
7415 var553
= (val
*)(7l<<2|1);
7416 var554
= (val
*)(7l<<2|1);
7417 var555
= (val
*)((long)(0)<<2|3);
7418 var556
= (val
*)((long)(0)<<2|3);
7419 var552
= core__flat___CString___to_s_unsafe(var551
, var553
, var554
, var555
, var556
);
7421 varonce549
= var550
;
7423 ((struct instance_core__NativeArray
*)var532
)->values
[5]=var550
;
7424 if (likely(varonce557
!=NULL
)) {
7425 var558
= varonce557
;
7427 var559
= ". See introduction at `";
7428 var561
= (val
*)(23l<<2|1);
7429 var562
= (val
*)(23l<<2|1);
7430 var563
= (val
*)((long)(0)<<2|3);
7431 var564
= (val
*)((long)(0)<<2|3);
7432 var560
= core__flat___CString___to_s_unsafe(var559
, var561
, var562
, var563
, var564
);
7434 varonce557
= var558
;
7436 ((struct instance_core__NativeArray
*)var532
)->values
[7]=var558
;
7437 if (likely(varonce565
!=NULL
)) {
7438 var566
= varonce565
;
7441 var569
= (val
*)(2l<<2|1);
7442 var570
= (val
*)(2l<<2|1);
7443 var571
= (val
*)((long)(0)<<2|3);
7444 var572
= (val
*)((long)(0)<<2|3);
7445 var568
= core__flat___CString___to_s_unsafe(var567
, var569
, var570
, var571
, var572
);
7447 varonce565
= var566
;
7449 ((struct instance_core__NativeArray
*)var532
)->values
[9]=var566
;
7451 var532
= varonce531
;
7454 var573
= core__flat___Int___core__abstract_text__Object__to_s(var_min_arity
);
7455 ((struct instance_core__NativeArray
*)var532
)->values
[1]=var573
;
7457 var574
= ((val
*(*)(val
* self
))(var_mproperty
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mproperty
); /* to_s on <var_mproperty:MProperty>*/
7459 ((struct instance_core__NativeArray
*)var532
)->values
[3]=var574
;
7461 var575
= ((val
*(*)(val
* self
))(var_msignature
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_msignature
); /* to_s on <var_msignature:MSignature>*/
7463 ((struct instance_core__NativeArray
*)var532
)->values
[4]=var575
;
7465 { /* Inline array$AbstractArrayRead$length (var_args) on <var_args:Array[AExpr]> */
7466 var578
= var_args
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_args:Array[AExpr]> */
7468 RET_LABEL577
:(void)0;
7471 var579
= core__flat___Int___core__abstract_text__Object__to_s(var576
);
7472 ((struct instance_core__NativeArray
*)var532
)->values
[6]=var579
;
7474 var580
= nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var_mproperty
);
7476 ((struct instance_core__NativeArray
*)var532
)->values
[8]=var580
;
7478 var581
= ((val
*(*)(val
* self
))(var532
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var532
); /* native_to_s on <var532:NativeArray[String]>*/
7480 varonce531
= var532
;
7482 nitc___nitc__ModelBuilder___error(var528
, var_node
, var581
); /* Direct call modelbuilder_base$ModelBuilder$error on <var528:ModelBuilder>*/
7490 { /* Inline kernel$Int$>= (var_vararg_rank,0l) on <var_vararg_rank:Int> */
7491 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
7492 /* <0l:Int> isa OTHER */
7493 var584
= 1; /* easy <0l:Int> isa OTHER*/
7494 if (unlikely(!var584
)) {
7495 var_class_name587
= type_core__Int
.name
;
7496 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name587
);
7497 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 726);
7500 var588
= var_vararg_rank
>= 0l;
7503 RET_LABEL583
:(void)0;
7508 { /* Inline model$MSignature$mparameters (var_msignature) on <var_msignature:MSignature> */
7509 var591
= var_msignature
->attrs
[COLOR_nitc__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
7510 if (unlikely(var591
== NULL
)) {
7511 if(catchStack
.cursor
>= 0){
7512 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7514 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
7515 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1879);
7519 RET_LABEL590
:(void)0;
7523 var592
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var589
, var_vararg_rank
);
7526 { /* Inline model$MParameter$mtype (var592) on <var592:nullable Object(MParameter)> */
7527 var595
= var592
->attrs
[COLOR_nitc__model__MParameter___mtype
].val
; /* _mtype on <var592:nullable Object(MParameter)> */
7528 if (unlikely(var595
== NULL
)) {
7529 if(catchStack
.cursor
>= 0){
7530 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7532 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7533 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1996);
7537 RET_LABEL594
:(void)0;
7540 var_paramtype596
= var593
;
7542 var597
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_args
, var_vararg_rank
);
7546 { /* Inline kernel$Int$== (var_vararg_decl,0l) on <var_vararg_decl:Int> */
7547 var600
= var_vararg_decl
== 0l;
7550 RET_LABEL599
:(void)0;
7555 { /* Inline model$MSignature$mparameters (var_msignature) on <var_msignature:MSignature> */
7556 var603
= var_msignature
->attrs
[COLOR_nitc__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
7557 if (unlikely(var603
== NULL
)) {
7558 if(catchStack
.cursor
>= 0){
7559 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7561 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
7562 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1879);
7566 RET_LABEL602
:(void)0;
7570 var604
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var601
, var_vararg_rank
);
7573 var605
= nitc__typing___nitc__typing__TypeVisitor___check_one_vararg(self
, var_first
, var604
);
7583 { /* Inline kernel$Int$+ (var_vararg_decl,1l) on <var_vararg_decl:Int> */
7584 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
7585 /* <1l:Int> isa OTHER */
7586 var609
= 1; /* easy <1l:Int> isa OTHER*/
7587 if (unlikely(!var609
)) {
7588 var_class_name612
= type_core__Int
.name
;
7589 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name612
);
7590 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
7593 var613
= var_vararg_decl
+ 1l;
7596 RET_LABEL608
:(void)0;
7600 { /* Inline typing$AExpr$vararg_decl= (var_first,var607) on <var_first:AExpr> */
7601 var_first
->attrs
[COLOR_nitc__typing__AExpr___vararg_decl
].l
= var607
; /* _vararg_decl on <var_first:AExpr> */
7602 RET_LABEL614
:(void)0;
7605 var_i615
= var_vararg_rank
;
7607 { /* Inline kernel$Int$+ (var_vararg_rank,var_vararg_decl) on <var_vararg_rank:Int> */
7608 /* Covariant cast for argument 0 (i) <var_vararg_decl:Int> isa OTHER */
7609 /* <var_vararg_decl:Int> isa OTHER */
7610 var618
= 1; /* easy <var_vararg_decl:Int> isa OTHER*/
7611 if (unlikely(!var618
)) {
7612 var_class_name621
= type_core__Int
.name
;
7613 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name621
);
7614 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
7617 var622
= var_vararg_rank
+ var_vararg_decl
;
7620 RET_LABEL617
:(void)0;
7626 { /* Inline kernel$Int$<= (var_i615,var_623) on <var_i615:Int> */
7627 /* Covariant cast for argument 0 (i) <var_623:Int> isa OTHER */
7628 /* <var_623:Int> isa OTHER */
7629 var626
= 1; /* easy <var_623:Int> isa OTHER*/
7630 if (unlikely(!var626
)) {
7631 var_class_name629
= type_core__Int
.name
;
7632 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name629
);
7633 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 724);
7636 var630
= var_i615
<= var_623
;
7639 RET_LABEL625
:(void)0;
7644 goto BREAK_label631
;
7647 var632
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_args
, var_i615
);
7650 var633
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(self
, var632
, var_paramtype596
);
7653 var634
= core___core__Int___Discrete__successor(var_i615
, 1l);
7657 BREAK_label631
: (void)0;
7666 /* method typing$TypeVisitor$check_one_vararg for (self: TypeVisitor, AExpr, MParameter): Bool */
7667 short int nitc__typing___nitc__typing__TypeVisitor___check_one_vararg(val
* self
, val
* p0
, val
* p1
) {
7668 short int var
/* : Bool */;
7669 val
* var_arg
/* var arg: AExpr */;
7670 val
* var_param
/* var param: MParameter */;
7671 val
* var1
/* : MType */;
7672 val
* var3
/* : MType */;
7673 val
* var_paramtype
/* var paramtype: MType */;
7674 static val
* varonce
;
7675 val
* var4
/* : String */;
7676 char* var5
/* : CString */;
7677 val
* var6
/* : String */;
7678 val
* var7
/* : nullable Int */;
7679 val
* var8
/* : nullable Int */;
7680 val
* var9
/* : nullable Bool */;
7681 val
* var10
/* : nullable Bool */;
7682 val
* var11
/* : nullable MClass */;
7683 val
* var_mclass
/* var mclass: nullable MClass */;
7684 short int var12
/* : Bool */;
7685 short int var13
/* : Bool */;
7686 val
* var_other
/* var other: nullable Object */;
7687 short int var15
/* : Bool */;
7688 short int var17
/* : Bool */;
7689 val
* var18
/* : Array[MType] */;
7690 val
* var_
/* var : Array[MType] */;
7691 val
* var19
/* : MClassType */;
7692 val
* var_array_mtype
/* var array_mtype: MClassType */;
7693 short int var20
/* : Bool */;
7696 val
* var21
/* : AExpr */;
7697 val
* var23
/* : AExpr */;
7698 val
* var24
/* : nullable MType */;
7699 val
* var25
/* : AExpr */;
7700 val
* var27
/* : AExpr */;
7701 val
* var28
/* : nullable MType */;
7702 val
* var30
/* : nullable MType */;
7703 val
* var_t
/* var t: nullable MType */;
7704 short int var31
/* : Bool */;
7705 short int var32
/* : Bool */;
7706 short int var34
/* : Bool */;
7707 short int var36
/* : Bool */;
7708 short int var37
/* : Bool */;
7709 short int var38
/* : Bool */;
7710 short int var39
/* : Bool */;
7711 short int var_40
/* var : Bool */;
7712 short int var41
/* : Bool */;
7713 val
* var43
/* : NativeArray[String] */;
7714 static val
* varonce42
;
7715 static val
* varonce44
;
7716 val
* var45
/* : String */;
7717 char* var46
/* : CString */;
7718 val
* var47
/* : String */;
7719 val
* var48
/* : nullable Int */;
7720 val
* var49
/* : nullable Int */;
7721 val
* var50
/* : nullable Bool */;
7722 val
* var51
/* : nullable Bool */;
7723 static val
* varonce52
;
7724 val
* var53
/* : String */;
7725 char* var54
/* : CString */;
7726 val
* var55
/* : String */;
7727 val
* var56
/* : nullable Int */;
7728 val
* var57
/* : nullable Int */;
7729 val
* var58
/* : nullable Bool */;
7730 val
* var59
/* : nullable Bool */;
7731 static val
* varonce60
;
7732 val
* var61
/* : String */;
7733 char* var62
/* : CString */;
7734 val
* var63
/* : String */;
7735 val
* var64
/* : nullable Int */;
7736 val
* var65
/* : nullable Int */;
7737 val
* var66
/* : nullable Bool */;
7738 val
* var67
/* : nullable Bool */;
7739 val
* var68
/* : String */;
7740 val
* var69
/* : String */;
7741 val
* var70
/* : String */;
7742 val
* var72
/* : nullable MType */;
7746 { /* Inline model$MParameter$mtype (var_param) on <var_param:MParameter> */
7747 var3
= var_param
->attrs
[COLOR_nitc__model__MParameter___mtype
].val
; /* _mtype on <var_param:MParameter> */
7748 if (unlikely(var3
== NULL
)) {
7749 if(catchStack
.cursor
>= 0){
7750 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7752 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7753 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1996);
7760 var_paramtype
= var1
;
7761 if (likely(varonce
!=NULL
)) {
7765 var7
= (val
*)(5l<<2|1);
7766 var8
= (val
*)(5l<<2|1);
7767 var9
= (val
*)((long)(0)<<2|3);
7768 var10
= (val
*)((long)(0)<<2|3);
7769 var6
= core__flat___CString___to_s_unsafe(var5
, var7
, var8
, var9
, var10
);
7774 var11
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(self
, var_arg
, var4
);
7777 if (var_mclass
== NULL
) {
7778 var12
= 1; /* is null */
7780 var12
= 0; /* arg is null but recv is not */
7783 { /* Inline kernel$Object$== (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
7784 var_other
= ((val
*)NULL
);
7786 { /* Inline kernel$Object$is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
7787 var17
= var_mclass
== var_other
;
7790 RET_LABEL16
:(void)0;
7795 RET_LABEL14
:(void)0;
7804 var18
= NEW_core__Array(&type_core__Array__nitc__MType
);
7806 core___core__Array___with_capacity(var18
, 1l); /* Direct call array$Array$with_capacity on <var18:Array[MType]>*/
7810 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var_paramtype
); /* Direct call array$AbstractArray$push on <var_:Array[MType]>*/
7813 var19
= nitc___nitc__MClass___get_mtype(var_mclass
, var_
);
7815 var_array_mtype
= var19
;
7816 /* <var_arg:AExpr> isa AVarargExpr */
7817 cltype
= type_nitc__AVarargExpr
.color
;
7818 idtype
= type_nitc__AVarargExpr
.id
;
7819 if(cltype
>= var_arg
->type
->table_size
) {
7822 var20
= var_arg
->type
->type_table
[cltype
] == idtype
;
7826 { /* Inline parser_nodes$AVarargExpr$n_expr (var_arg) on <var_arg:AExpr(AVarargExpr)> */
7827 var23
= var_arg
->attrs
[COLOR_nitc__parser_nodes__AVarargExpr___n_expr
].val
; /* _n_expr on <var_arg:AExpr(AVarargExpr)> */
7828 if (unlikely(var23
== NULL
)) {
7829 if(catchStack
.cursor
>= 0){
7830 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7832 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
7833 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2711);
7837 RET_LABEL22
:(void)0;
7841 var24
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(self
, var21
, var_array_mtype
);
7844 { /* Inline parser_nodes$AVarargExpr$n_expr (var_arg) on <var_arg:AExpr(AVarargExpr)> */
7845 var27
= var_arg
->attrs
[COLOR_nitc__parser_nodes__AVarargExpr___n_expr
].val
; /* _n_expr on <var_arg:AExpr(AVarargExpr)> */
7846 if (unlikely(var27
== NULL
)) {
7847 if(catchStack
.cursor
>= 0){
7848 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7850 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
7851 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2711);
7855 RET_LABEL26
:(void)0;
7859 var28
= ((val
*(*)(val
* self
))(var25
->class->vft
[COLOR_nitc__typing__AExpr__mtype
]))(var25
); /* mtype on <var25:AExpr>*/
7862 { /* Inline typing$AExpr$mtype= (var_arg,var28) on <var_arg:AExpr(AVarargExpr)> */
7863 var_arg
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var28
; /* _mtype on <var_arg:AExpr(AVarargExpr)> */
7864 RET_LABEL29
:(void)0;
7869 var30
= nitc__typing___nitc__typing__TypeVisitor___visit_expr(self
, var_arg
);
7872 if (var_t
== NULL
) {
7873 var31
= 1; /* is null */
7875 var31
= 0; /* arg is null but recv is not */
7878 { /* Inline kernel$Object$== (var_t,((val*)NULL)) on <var_t:nullable MType> */
7879 var_other
= ((val
*)NULL
);
7881 { /* Inline kernel$Object$is_same_instance (var_t,var_other) on <var_t:nullable MType(MType)> */
7882 var36
= var_t
== var_other
;
7885 RET_LABEL35
:(void)0;
7890 RET_LABEL33
:(void)0;
7900 var38
= nitc__typing___nitc__typing__TypeVisitor___is_subtype(self
, var_t
, var_paramtype
);
7906 var41
= nitc__typing___nitc__typing__TypeVisitor___is_subtype(self
, var_t
, var_array_mtype
);
7913 if (unlikely(varonce42
==NULL
)) {
7914 var43
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
7915 if (likely(varonce44
!=NULL
)) {
7918 var46
= "Type Error: expected `";
7919 var48
= (val
*)(22l<<2|1);
7920 var49
= (val
*)(22l<<2|1);
7921 var50
= (val
*)((long)(0)<<2|3);
7922 var51
= (val
*)((long)(0)<<2|3);
7923 var47
= core__flat___CString___to_s_unsafe(var46
, var48
, var49
, var50
, var51
);
7927 ((struct instance_core__NativeArray
*)var43
)->values
[0]=var45
;
7928 if (likely(varonce52
!=NULL
)) {
7932 var56
= (val
*)(8l<<2|1);
7933 var57
= (val
*)(8l<<2|1);
7934 var58
= (val
*)((long)(0)<<2|3);
7935 var59
= (val
*)((long)(0)<<2|3);
7936 var55
= core__flat___CString___to_s_unsafe(var54
, var56
, var57
, var58
, var59
);
7940 ((struct instance_core__NativeArray
*)var43
)->values
[2]=var53
;
7941 if (likely(varonce60
!=NULL
)) {
7944 var62
= "`. Is an ellipsis `...` missing on the argument?";
7945 var64
= (val
*)(48l<<2|1);
7946 var65
= (val
*)(48l<<2|1);
7947 var66
= (val
*)((long)(0)<<2|3);
7948 var67
= (val
*)((long)(0)<<2|3);
7949 var63
= core__flat___CString___to_s_unsafe(var62
, var64
, var65
, var66
, var67
);
7953 ((struct instance_core__NativeArray
*)var43
)->values
[4]=var61
;
7959 var68
= ((val
*(*)(val
* self
))(var_paramtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_paramtype
); /* to_s on <var_paramtype:MType>*/
7961 ((struct instance_core__NativeArray
*)var43
)->values
[1]=var68
;
7963 var69
= ((val
*(*)(val
* self
))(var_t
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_t
); /* to_s on <var_t:nullable MType(MType)>*/
7965 ((struct instance_core__NativeArray
*)var43
)->values
[3]=var69
;
7967 var70
= ((val
*(*)(val
* self
))(var43
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var43
); /* native_to_s on <var43:NativeArray[String]>*/
7971 nitc__typing___nitc__typing__TypeVisitor___error(self
, var_arg
, var70
); /* Direct call typing$TypeVisitor$error on <self:TypeVisitor>*/
7978 { /* Inline typing$AExpr$vararg_decl= (var_arg,1l) on <var_arg:AExpr> */
7979 var_arg
->attrs
[COLOR_nitc__typing__AExpr___vararg_decl
].l
= 1l; /* _vararg_decl on <var_arg:AExpr> */
7980 RET_LABEL71
:(void)0;
7984 var72
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(self
, var_arg
, var_paramtype
);
7992 /* method typing$TypeVisitor$error for (self: TypeVisitor, ANode, String) */
7993 void nitc__typing___nitc__typing__TypeVisitor___error(val
* self
, val
* p0
, val
* p1
) {
7994 val
* var_node
/* var node: ANode */;
7995 val
* var_message
/* var message: String */;
7996 val
* var
/* : ModelBuilder */;
7997 val
* var2
/* : ModelBuilder */;
8001 { /* Inline typing$TypeVisitor$modelbuilder (self) on <self:TypeVisitor> */
8002 var2
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <self:TypeVisitor> */
8003 if (unlikely(var2
== NULL
)) {
8004 if(catchStack
.cursor
>= 0){
8005 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8007 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8008 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
8016 nitc___nitc__ModelBuilder___error(var
, var_node
, var_message
); /* Direct call modelbuilder_base$ModelBuilder$error on <var:ModelBuilder>*/
8020 /* method typing$TypeVisitor$get_variable for (self: TypeVisitor, AExpr, Variable): nullable MType */
8021 val
* nitc__typing___nitc__typing__TypeVisitor___get_variable(val
* self
, val
* p0
, val
* p1
) {
8022 val
* var
/* : nullable MType */;
8023 val
* var_node
/* var node: AExpr */;
8024 val
* var_variable
/* var variable: Variable */;
8025 short int var1
/* : Bool */;
8026 short int var3
/* : Bool */;
8027 short int var4
/* : Bool */;
8028 val
* var5
/* : nullable MType */;
8029 val
* var7
/* : nullable MType */;
8030 val
* var8
/* : nullable FlowContext */;
8031 val
* var10
/* : nullable FlowContext */;
8032 val
* var_flow
/* var flow: nullable FlowContext */;
8033 short int var11
/* : Bool */;
8034 short int var12
/* : Bool */;
8035 val
* var_other
/* var other: nullable Object */;
8036 short int var14
/* : Bool */;
8037 short int var16
/* : Bool */;
8038 val
* var17
/* : HashMap[Variable, nullable MType] */;
8039 val
* var19
/* : HashMap[Variable, nullable MType] */;
8040 short int var20
/* : Bool */;
8041 val
* var21
/* : HashMap[Variable, nullable MType] */;
8042 val
* var23
/* : HashMap[Variable, nullable MType] */;
8043 val
* var24
/* : nullable Object */;
8044 val
* var25
/* : Array[nullable MType] */;
8045 val
* var_mtypes
/* var mtypes: Array[nullable MType] */;
8046 long var26
/* : Int */;
8047 long var28
/* : Int */;
8048 short int var29
/* : Bool */;
8049 short int var31
/* : Bool */;
8050 val
* var32
/* : nullable MType */;
8051 val
* var34
/* : nullable MType */;
8052 long var35
/* : Int */;
8053 long var37
/* : Int */;
8054 short int var38
/* : Bool */;
8055 short int var40
/* : Bool */;
8056 val
* var41
/* : nullable Object */;
8057 val
* var42
/* : nullable MType */;
8058 val
* var_res
/* var res: nullable MType */;
8059 short int var43
/* : Bool */;
8060 short int var44
/* : Bool */;
8061 short int var46
/* : Bool */;
8062 short int var48
/* : Bool */;
8063 val
* var49
/* : nullable MType */;
8064 val
* var51
/* : nullable MType */;
8068 { /* Inline typing$Variable$is_adapted (var_variable) on <var_variable:Variable> */
8069 var3
= var_variable
->attrs
[COLOR_nitc__typing__Variable___is_adapted
].s
; /* _is_adapted on <var_variable:Variable> */
8077 { /* Inline typing$Variable$declared_type (var_variable) on <var_variable:Variable> */
8078 var7
= var_variable
->attrs
[COLOR_nitc__typing__Variable___declared_type
].val
; /* _declared_type on <var_variable:Variable> */
8088 { /* Inline flow$AExpr$after_flow_context (var_node) on <var_node:AExpr> */
8089 var10
= var_node
->attrs
[COLOR_nitc__flow__AExpr___after_flow_context
].val
; /* _after_flow_context on <var_node:AExpr> */
8095 if (var_flow
== NULL
) {
8096 var11
= 1; /* is null */
8098 var11
= 0; /* arg is null but recv is not */
8101 { /* Inline kernel$Object$== (var_flow,((val*)NULL)) on <var_flow:nullable FlowContext> */
8102 var_other
= ((val
*)NULL
);
8104 { /* Inline kernel$Object$is_same_instance (var_flow,var_other) on <var_flow:nullable FlowContext(FlowContext)> */
8105 var16
= var_flow
== var_other
;
8108 RET_LABEL15
:(void)0;
8113 RET_LABEL13
:(void)0;
8123 { /* Inline typing$FlowContext$vars (var_flow) on <var_flow:nullable FlowContext(FlowContext)> */
8124 var19
= var_flow
->attrs
[COLOR_nitc__typing__FlowContext___vars
].val
; /* _vars on <var_flow:nullable FlowContext(FlowContext)> */
8125 if (unlikely(var19
== NULL
)) {
8126 if(catchStack
.cursor
>= 0){
8127 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8129 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _vars");
8130 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 697);
8134 RET_LABEL18
:(void)0;
8138 var20
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var17
, var_variable
);
8142 { /* Inline typing$FlowContext$vars (var_flow) on <var_flow:nullable FlowContext(FlowContext)> */
8143 var23
= var_flow
->attrs
[COLOR_nitc__typing__FlowContext___vars
].val
; /* _vars on <var_flow:nullable FlowContext(FlowContext)> */
8144 if (unlikely(var23
== NULL
)) {
8145 if(catchStack
.cursor
>= 0){
8146 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8148 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _vars");
8149 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 697);
8153 RET_LABEL22
:(void)0;
8157 var24
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var21
, var_variable
);
8163 var25
= nitc__typing___FlowContext___collect_types(var_flow
, var_variable
);
8167 { /* Inline array$AbstractArrayRead$length (var_mtypes) on <var_mtypes:Array[nullable MType]> */
8168 var28
= var_mtypes
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_mtypes:Array[nullable MType]> */
8170 RET_LABEL27
:(void)0;
8174 { /* Inline kernel$Int$== (var26,0l) on <var26:Int> */
8175 var31
= var26
== 0l;
8178 RET_LABEL30
:(void)0;
8183 { /* Inline typing$Variable$declared_type (var_variable) on <var_variable:Variable> */
8184 var34
= var_variable
->attrs
[COLOR_nitc__typing__Variable___declared_type
].val
; /* _declared_type on <var_variable:Variable> */
8186 RET_LABEL33
:(void)0;
8193 { /* Inline array$AbstractArrayRead$length (var_mtypes) on <var_mtypes:Array[nullable MType]> */
8194 var37
= var_mtypes
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_mtypes:Array[nullable MType]> */
8196 RET_LABEL36
:(void)0;
8200 { /* Inline kernel$Int$== (var35,1l) on <var35:Int> */
8201 var40
= var35
== 1l;
8204 RET_LABEL39
:(void)0;
8209 var41
= core___core__SequenceRead___Collection__first(var_mtypes
);
8215 var42
= nitc__typing___nitc__typing__TypeVisitor___merge_types(self
, var_node
, var_mtypes
);
8218 if (var_res
== NULL
) {
8219 var43
= 1; /* is null */
8221 var43
= 0; /* arg is null but recv is not */
8224 { /* Inline kernel$Object$== (var_res,((val*)NULL)) on <var_res:nullable MType> */
8225 var_other
= ((val
*)NULL
);
8227 { /* Inline kernel$Object$is_same_instance (var_res,var_other) on <var_res:nullable MType(MType)> */
8228 var48
= var_res
== var_other
;
8231 RET_LABEL47
:(void)0;
8236 RET_LABEL45
:(void)0;
8242 { /* Inline typing$Variable$declared_type (var_variable) on <var_variable:Variable> */
8243 var51
= var_variable
->attrs
[COLOR_nitc__typing__Variable___declared_type
].val
; /* _declared_type on <var_variable:Variable> */
8245 RET_LABEL50
:(void)0;
8259 /* method typing$TypeVisitor$dirty for (self: TypeVisitor): Bool */
8260 short int nitc__typing___nitc__typing__TypeVisitor___dirty(val
* self
) {
8261 short int var
/* : Bool */;
8262 short int var1
/* : Bool */;
8263 var1
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___dirty
].s
; /* _dirty on <self:TypeVisitor> */
8268 /* method typing$TypeVisitor$dirty= for (self: TypeVisitor, Bool) */
8269 void nitc__typing___nitc__typing__TypeVisitor___dirty_61d(val
* self
, short int p0
) {
8270 self
->attrs
[COLOR_nitc__typing__TypeVisitor___dirty
].s
= p0
; /* _dirty on <self:TypeVisitor> */
8273 /* method typing$TypeVisitor$has_loop for (self: TypeVisitor): Bool */
8274 short int nitc__typing___nitc__typing__TypeVisitor___has_loop(val
* self
) {
8275 short int var
/* : Bool */;
8276 short int var1
/* : Bool */;
8277 var1
= self
->attrs
[COLOR_nitc__typing__TypeVisitor___has_loop
].s
; /* _has_loop on <self:TypeVisitor> */
8282 /* method typing$TypeVisitor$has_loop= for (self: TypeVisitor, Bool) */
8283 void nitc__typing___nitc__typing__TypeVisitor___has_loop_61d(val
* self
, short int p0
) {
8284 self
->attrs
[COLOR_nitc__typing__TypeVisitor___has_loop
].s
= p0
; /* _has_loop on <self:TypeVisitor> */
8287 /* method typing$TypeVisitor$set_variable for (self: TypeVisitor, AExpr, Variable, nullable MType) */
8288 void nitc__typing___nitc__typing__TypeVisitor___set_variable(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8289 val
* var_node
/* var node: AExpr */;
8290 val
* var_variable
/* var variable: Variable */;
8291 val
* var_mtype
/* var mtype: nullable MType */;
8292 val
* var
/* : nullable FlowContext */;
8293 val
* var2
/* : nullable FlowContext */;
8294 val
* var_flow
/* var flow: nullable FlowContext */;
8295 short int var3
/* : Bool */;
8296 short int var4
/* : Bool */;
8297 val
* var_other
/* var other: nullable Object */;
8298 short int var6
/* : Bool */;
8299 short int var7
/* : Bool */;
8304 { /* Inline flow$AExpr$after_flow_context (var_node) on <var_node:AExpr> */
8305 var2
= var_node
->attrs
[COLOR_nitc__flow__AExpr___after_flow_context
].val
; /* _after_flow_context on <var_node:AExpr> */
8311 if (var_flow
== NULL
) {
8312 var3
= 0; /* is null */
8314 var3
= 1; /* arg is null and recv is not */
8317 { /* Inline kernel$Object$!= (var_flow,((val*)NULL)) on <var_flow:nullable FlowContext> */
8318 var_other
= ((val
*)NULL
);
8320 var6
= ((short int(*)(val
* self
, val
* p0
))(var_flow
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_flow
, var_other
); /* == on <var_flow:nullable FlowContext(FlowContext)>*/
8329 if (unlikely(!var3
)) {
8330 if(catchStack
.cursor
>= 0){
8331 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8333 PRINT_ERROR("Runtime error: %s", "Assert failed");
8334 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 598);
8338 nitc__typing___FlowContext___set_var(var_flow
, self
, var_variable
, var_mtype
); /* Direct call typing$FlowContext$set_var on <var_flow:nullable FlowContext(FlowContext)>*/
8342 /* method typing$TypeVisitor$merge_types for (self: TypeVisitor, ANode, Array[nullable MType]): nullable MType */
8343 val
* nitc__typing___nitc__typing__TypeVisitor___merge_types(val
* self
, val
* p0
, val
* p1
) {
8344 val
* var
/* : nullable MType */;
8345 val
* var_node
/* var node: ANode */;
8346 val
* var_col
/* var col: Array[nullable MType] */;
8347 long var1
/* : Int */;
8348 long var3
/* : Int */;
8349 short int var4
/* : Bool */;
8350 short int var6
/* : Bool */;
8351 val
* var7
/* : nullable Object */;
8352 val
* var_
/* var : Array[nullable MType] */;
8353 val
* var8
/* : IndexedIterator[nullable Object] */;
8354 val
* var_9
/* var : IndexedIterator[nullable MType] */;
8355 short int var10
/* : Bool */;
8356 val
* var11
/* : nullable Object */;
8357 val
* var_t1
/* var t1: nullable MType */;
8358 short int var12
/* : Bool */;
8359 short int var13
/* : Bool */;
8360 val
* var_other
/* var other: nullable Object */;
8361 short int var15
/* : Bool */;
8362 short int var17
/* : Bool */;
8363 short int var_found
/* var found: Bool */;
8364 val
* var_19
/* var : Array[nullable MType] */;
8365 val
* var20
/* : IndexedIterator[nullable Object] */;
8366 val
* var_21
/* var : IndexedIterator[nullable MType] */;
8367 short int var22
/* : Bool */;
8368 val
* var24
/* : nullable Object */;
8369 val
* var_t2
/* var t2: nullable MType */;
8370 short int var25
/* : Bool */;
8371 short int var26
/* : Bool */;
8372 short int var28
/* : Bool */;
8373 short int var30
/* : Bool */;
8374 short int var32
/* : Bool */;
8375 short int var33
/* : Bool */;
8376 short int var_34
/* var : Bool */;
8377 short int var35
/* : Bool */;
8378 short int var36
/* : Bool */;
8379 val
* var37
/* : MType */;
8380 short int var38
/* : Bool */;
8381 short int var39
/* : Bool */;
8385 { /* Inline array$AbstractArrayRead$length (var_col) on <var_col:Array[nullable MType]> */
8386 var3
= var_col
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_col:Array[nullable MType]> */
8392 { /* Inline kernel$Int$== (var1,1l) on <var1:Int> */
8401 var7
= core___core__SequenceRead___Collection__first(var_col
);
8409 var8
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
8414 var10
= ((short int(*)(val
* self
))((((long)var_9
&3)?class_info
[((long)var_9
&3)]:var_9
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_9
); /* is_ok on <var_9:IndexedIterator[nullable MType]>*/
8421 var11
= ((val
*(*)(val
* self
))((((long)var_9
&3)?class_info
[((long)var_9
&3)]:var_9
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_9
); /* item on <var_9:IndexedIterator[nullable MType]>*/
8424 if (var_t1
== NULL
) {
8425 var12
= 1; /* is null */
8427 var12
= 0; /* arg is null but recv is not */
8430 { /* Inline kernel$Object$== (var_t1,((val*)NULL)) on <var_t1:nullable MType> */
8431 var_other
= ((val
*)NULL
);
8433 { /* Inline kernel$Object$is_same_instance (var_t1,var_other) on <var_t1:nullable MType(MType)> */
8434 var17
= var_t1
== var_other
;
8437 RET_LABEL16
:(void)0;
8442 RET_LABEL14
:(void)0;
8453 var20
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_19
);
8458 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:IndexedIterator[nullable MType]>*/
8465 var24
= ((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:IndexedIterator[nullable MType]>*/
8468 if (var_t2
== NULL
) {
8469 var25
= 1; /* is null */
8471 var25
= 0; /* arg is null but recv is not */
8474 { /* Inline kernel$Object$== (var_t2,((val*)NULL)) on <var_t2:nullable MType> */
8475 var_other
= ((val
*)NULL
);
8477 { /* Inline kernel$Object$is_same_instance (var_t2,var_other) on <var_t2:nullable MType(MType)> */
8478 var30
= var_t2
== var_other
;
8481 RET_LABEL29
:(void)0;
8486 RET_LABEL27
:(void)0;
8495 var33
= nitc__typing___nitc__typing__TypeVisitor___can_be_null(self
, var_t2
);
8500 var35
= nitc__typing___nitc__typing__TypeVisitor___can_be_null(self
, var_t1
);
8509 var37
= ((val
*(*)(val
* self
))(var_t1
->class->vft
[COLOR_nitc__model__MType__as_nullable
]))(var_t1
); /* as_nullable on <var_t1:nullable MType(MType)>*/
8515 var38
= nitc__typing___nitc__typing__TypeVisitor___is_subtype(self
, var_t2
, var_t1
);
8522 BREAK_label31
: (void)0;
8524 ((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:IndexedIterator[nullable MType]>*/
8527 BREAK_label23
: (void)0;
8529 ((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:IndexedIterator[nullable MType]>*/
8536 BREAK_label18
: (void)0;
8538 ((void(*)(val
* self
))((((long)var_9
&3)?class_info
[((long)var_9
&3)]:var_9
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_9
); /* next on <var_9:IndexedIterator[nullable MType]>*/
8541 BREAK_label
: (void)0;
8543 ((void(*)(val
* self
))((((long)var_9
&3)?class_info
[((long)var_9
&3)]:var_9
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_9
); /* finish on <var_9:IndexedIterator[nullable MType]>*/
8550 /* method typing$SignatureMap$map for (self: SignatureMap): ArrayMap[Int, Int] */
8551 val
* nitc___nitc__SignatureMap___map(val
* self
) {
8552 val
* var
/* : ArrayMap[Int, Int] */;
8553 val
* var1
/* : ArrayMap[Int, Int] */;
8554 var1
= self
->attrs
[COLOR_nitc__typing__SignatureMap___map
].val
; /* _map on <self:SignatureMap> */
8555 if (unlikely(var1
== NULL
)) {
8556 if(catchStack
.cursor
>= 0){
8557 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8559 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
8560 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 632);
8567 /* method typing$CallSite$location for (self: CallSite): Location */
8568 val
* nitc___nitc__CallSite___nitc__model_base__MEntity__location(val
* self
) {
8569 val
* var
/* : Location */;
8570 val
* var1
/* : Location */;
8571 var1
= self
->attrs
[COLOR_nitc__typing__CallSite___location
].val
; /* _location on <self:CallSite> */
8572 if (unlikely(var1
== NULL
)) {
8573 if(catchStack
.cursor
>= 0){
8574 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8576 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
8577 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 640);
8584 /* method typing$CallSite$location= for (self: CallSite, Location) */
8585 void nitc___nitc__CallSite___location_61d(val
* self
, val
* p0
) {
8586 self
->attrs
[COLOR_nitc__typing__CallSite___location
].val
= p0
; /* _location on <self:CallSite> */
8589 /* method typing$CallSite$recv for (self: CallSite): MType */
8590 val
* nitc___nitc__CallSite___recv(val
* self
) {
8591 val
* var
/* : MType */;
8592 val
* var1
/* : MType */;
8593 var1
= self
->attrs
[COLOR_nitc__typing__CallSite___recv
].val
; /* _recv on <self:CallSite> */
8594 if (unlikely(var1
== NULL
)) {
8595 if(catchStack
.cursor
>= 0){
8596 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8598 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _recv");
8599 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 642);
8606 /* method typing$CallSite$recv= for (self: CallSite, MType) */
8607 void nitc___nitc__CallSite___recv_61d(val
* self
, val
* p0
) {
8608 self
->attrs
[COLOR_nitc__typing__CallSite___recv
].val
= p0
; /* _recv on <self:CallSite> */
8611 /* method typing$CallSite$mmodule for (self: CallSite): MModule */
8612 val
* nitc___nitc__CallSite___mmodule(val
* self
) {
8613 val
* var
/* : MModule */;
8614 val
* var1
/* : MModule */;
8615 var1
= self
->attrs
[COLOR_nitc__typing__CallSite___mmodule
].val
; /* _mmodule on <self:CallSite> */
8616 if (unlikely(var1
== NULL
)) {
8617 if(catchStack
.cursor
>= 0){
8618 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8620 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
8621 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 645);
8628 /* method typing$CallSite$mmodule= for (self: CallSite, MModule) */
8629 void nitc___nitc__CallSite___mmodule_61d(val
* self
, val
* p0
) {
8630 self
->attrs
[COLOR_nitc__typing__CallSite___mmodule
].val
= p0
; /* _mmodule on <self:CallSite> */
8633 /* method typing$CallSite$anchor for (self: CallSite): nullable MClassType */
8634 val
* nitc___nitc__CallSite___anchor(val
* self
) {
8635 val
* var
/* : nullable MClassType */;
8636 val
* var1
/* : nullable MClassType */;
8637 var1
= self
->attrs
[COLOR_nitc__typing__CallSite___anchor
].val
; /* _anchor on <self:CallSite> */
8642 /* method typing$CallSite$anchor= for (self: CallSite, nullable MClassType) */
8643 void nitc___nitc__CallSite___anchor_61d(val
* self
, val
* p0
) {
8644 self
->attrs
[COLOR_nitc__typing__CallSite___anchor
].val
= p0
; /* _anchor on <self:CallSite> */
8647 /* method typing$CallSite$recv_is_self= for (self: CallSite, Bool) */
8648 void nitc___nitc__CallSite___recv_is_self_61d(val
* self
, short int p0
) {
8649 self
->attrs
[COLOR_nitc__typing__CallSite___recv_is_self
].s
= p0
; /* _recv_is_self on <self:CallSite> */
8652 /* method typing$CallSite$mproperty for (self: CallSite): MMethod */
8653 val
* nitc___nitc__CallSite___mproperty(val
* self
) {
8654 val
* var
/* : MMethod */;
8655 val
* var1
/* : MMethod */;
8656 var1
= self
->attrs
[COLOR_nitc__typing__CallSite___mproperty
].val
; /* _mproperty on <self:CallSite> */
8657 if (unlikely(var1
== NULL
)) {
8658 if(catchStack
.cursor
>= 0){
8659 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8661 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8662 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 656);
8669 /* method typing$CallSite$mproperty= for (self: CallSite, MMethod) */
8670 void nitc___nitc__CallSite___mproperty_61d(val
* self
, val
* p0
) {
8671 self
->attrs
[COLOR_nitc__typing__CallSite___mproperty
].val
= p0
; /* _mproperty on <self:CallSite> */
8674 /* method typing$CallSite$mpropdef for (self: CallSite): MMethodDef */
8675 val
* nitc___nitc__CallSite___mpropdef(val
* self
) {
8676 val
* var
/* : MMethodDef */;
8677 val
* var1
/* : MMethodDef */;
8678 var1
= self
->attrs
[COLOR_nitc__typing__CallSite___mpropdef
].val
; /* _mpropdef on <self:CallSite> */
8679 if (unlikely(var1
== NULL
)) {
8680 if(catchStack
.cursor
>= 0){
8681 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8683 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
8684 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 659);
8691 /* method typing$CallSite$mpropdef= for (self: CallSite, MMethodDef) */
8692 void nitc___nitc__CallSite___mpropdef_61d(val
* self
, val
* p0
) {
8693 self
->attrs
[COLOR_nitc__typing__CallSite___mpropdef
].val
= p0
; /* _mpropdef on <self:CallSite> */
8696 /* method typing$CallSite$msignature for (self: CallSite): MSignature */
8697 val
* nitc___nitc__CallSite___msignature(val
* self
) {
8698 val
* var
/* : MSignature */;
8699 val
* var1
/* : MSignature */;
8700 var1
= self
->attrs
[COLOR_nitc__typing__CallSite___msignature
].val
; /* _msignature on <self:CallSite> */
8701 if (unlikely(var1
== NULL
)) {
8702 if(catchStack
.cursor
>= 0){
8703 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8705 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
8706 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 663);
8713 /* method typing$CallSite$msignature= for (self: CallSite, MSignature) */
8714 void nitc___nitc__CallSite___msignature_61d(val
* self
, val
* p0
) {
8715 self
->attrs
[COLOR_nitc__typing__CallSite___msignature
].val
= p0
; /* _msignature on <self:CallSite> */
8718 /* method typing$CallSite$erasure_cast for (self: CallSite): Bool */
8719 short int nitc___nitc__CallSite___erasure_cast(val
* self
) {
8720 short int var
/* : Bool */;
8721 short int var1
/* : Bool */;
8722 var1
= self
->attrs
[COLOR_nitc__typing__CallSite___erasure_cast
].s
; /* _erasure_cast on <self:CallSite> */
8727 /* method typing$CallSite$erasure_cast= for (self: CallSite, Bool) */
8728 void nitc___nitc__CallSite___erasure_cast_61d(val
* self
, short int p0
) {
8729 self
->attrs
[COLOR_nitc__typing__CallSite___erasure_cast
].s
= p0
; /* _erasure_cast on <self:CallSite> */
8732 /* method typing$CallSite$signaturemap for (self: CallSite): nullable SignatureMap */
8733 val
* nitc___nitc__CallSite___signaturemap(val
* self
) {
8734 val
* var
/* : nullable SignatureMap */;
8735 val
* var1
/* : nullable SignatureMap */;
8736 var1
= self
->attrs
[COLOR_nitc__typing__CallSite___signaturemap
].val
; /* _signaturemap on <self:CallSite> */
8741 /* method typing$CallSite$signaturemap= for (self: CallSite, nullable SignatureMap) */
8742 void nitc___nitc__CallSite___signaturemap_61d(val
* self
, val
* p0
) {
8743 self
->attrs
[COLOR_nitc__typing__CallSite___signaturemap
].val
= p0
; /* _signaturemap on <self:CallSite> */
8746 /* method typing$CallSite$check_signature for (self: CallSite, TypeVisitor, ANode, Array[AExpr]): Bool */
8747 short int nitc___nitc__CallSite___check_signature(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8748 short int var
/* : Bool */;
8749 val
* var_v
/* var v: TypeVisitor */;
8750 val
* var_node
/* var node: ANode */;
8751 val
* var_args
/* var args: Array[AExpr] */;
8752 val
* var1
/* : MMethod */;
8753 val
* var3
/* : MMethod */;
8754 val
* var4
/* : MSignature */;
8755 val
* var6
/* : MSignature */;
8756 val
* var7
/* : nullable SignatureMap */;
8757 val
* var_map
/* var map: nullable SignatureMap */;
8758 short int var9
/* : Bool */;
8759 short int var10
/* : Bool */;
8760 val
* var_other
/* var other: nullable Object */;
8761 short int var12
/* : Bool */;
8762 short int var14
/* : Bool */;
8763 short int var16
/* : Bool */;
8764 short int var17
/* : Bool */;
8765 short int var19
/* : Bool */;
8766 short int var21
/* : Bool */;
8771 { /* Inline typing$CallSite$mproperty (self) on <self:CallSite> */
8772 var3
= self
->attrs
[COLOR_nitc__typing__CallSite___mproperty
].val
; /* _mproperty on <self:CallSite> */
8773 if (unlikely(var3
== NULL
)) {
8774 if(catchStack
.cursor
>= 0){
8775 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8777 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8778 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 656);
8786 { /* Inline typing$CallSite$msignature (self) on <self:CallSite> */
8787 var6
= self
->attrs
[COLOR_nitc__typing__CallSite___msignature
].val
; /* _msignature on <self:CallSite> */
8788 if (unlikely(var6
== NULL
)) {
8789 if(catchStack
.cursor
>= 0){
8790 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8792 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
8793 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 663);
8801 var7
= nitc__typing___nitc__typing__TypeVisitor___check_signature(var_v
, var_node
, var_args
, var1
, var4
);
8805 { /* Inline typing$CallSite$signaturemap= (self,var_map) on <self:CallSite> */
8806 self
->attrs
[COLOR_nitc__typing__CallSite___signaturemap
].val
= var_map
; /* _signaturemap on <self:CallSite> */
8810 if (var_map
== NULL
) {
8811 var9
= 1; /* is null */
8813 var9
= 0; /* arg is null but recv is not */
8816 { /* Inline kernel$Object$== (var_map,((val*)NULL)) on <var_map:nullable SignatureMap> */
8817 var_other
= ((val
*)NULL
);
8819 { /* Inline kernel$Object$is_same_instance (var_map,var_other) on <var_map:nullable SignatureMap(SignatureMap)> */
8820 var14
= var_map
== var_other
;
8823 RET_LABEL13
:(void)0;
8828 RET_LABEL11
:(void)0;
8834 { /* Inline model_base$MEntity$is_broken= (self,1) on <self:CallSite> */
8835 self
->attrs
[COLOR_nitc__model_base__MEntity___is_broken
].s
= 1; /* _is_broken on <self:CallSite> */
8836 RET_LABEL15
:(void)0;
8841 if (var_map
== NULL
) {
8842 var16
= 1; /* is null */
8844 var16
= 0; /* arg is null but recv is not */
8847 { /* Inline kernel$Object$== (var_map,((val*)NULL)) on <var_map:nullable SignatureMap> */
8848 var_other
= ((val
*)NULL
);
8850 { /* Inline kernel$Object$is_same_instance (var_map,var_other) on <var_map:nullable SignatureMap(SignatureMap)> */
8851 var21
= var_map
== var_other
;
8854 RET_LABEL20
:(void)0;
8859 RET_LABEL18
:(void)0;
8868 /* method typing$CallSite$init for (self: CallSite) */
8869 void nitc___nitc__CallSite___core__kernel__Object__init(val
* self
) {
8871 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc___nitc__CallSite___core__kernel__Object__init
]))(self
); /* init on <self:CallSite>*/
8875 /* method typing$Variable$declared_type for (self: Variable): nullable MType */
8876 val
* nitc__typing___Variable___declared_type(val
* self
) {
8877 val
* var
/* : nullable MType */;
8878 val
* var1
/* : nullable MType */;
8879 var1
= self
->attrs
[COLOR_nitc__typing__Variable___declared_type
].val
; /* _declared_type on <self:Variable> */
8884 /* method typing$Variable$declared_type= for (self: Variable, nullable MType) */
8885 void nitc__typing___Variable___declared_type_61d(val
* self
, val
* p0
) {
8886 self
->attrs
[COLOR_nitc__typing__Variable___declared_type
].val
= p0
; /* _declared_type on <self:Variable> */
8889 /* method typing$Variable$is_adapted for (self: Variable): Bool */
8890 short int nitc__typing___Variable___is_adapted(val
* self
) {
8891 short int var
/* : Bool */;
8892 short int var1
/* : Bool */;
8893 var1
= self
->attrs
[COLOR_nitc__typing__Variable___is_adapted
].s
; /* _is_adapted on <self:Variable> */
8898 /* method typing$Variable$is_adapted= for (self: Variable, Bool) */
8899 void nitc__typing___Variable___is_adapted_61d(val
* self
, short int p0
) {
8900 self
->attrs
[COLOR_nitc__typing__Variable___is_adapted
].s
= p0
; /* _is_adapted on <self:Variable> */
8903 /* method typing$FlowContext$vars for (self: FlowContext): HashMap[Variable, nullable MType] */
8904 val
* nitc__typing___FlowContext___vars(val
* self
) {
8905 val
* var
/* : HashMap[Variable, nullable MType] */;
8906 val
* var1
/* : HashMap[Variable, nullable MType] */;
8907 var1
= self
->attrs
[COLOR_nitc__typing__FlowContext___vars
].val
; /* _vars on <self:FlowContext> */
8908 if (unlikely(var1
== NULL
)) {
8909 if(catchStack
.cursor
>= 0){
8910 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8912 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _vars");
8913 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 697);
8920 /* method typing$FlowContext$set_var for (self: FlowContext, TypeVisitor, Variable, nullable MType) */
8921 void nitc__typing___FlowContext___set_var(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8922 val
* var_v
/* var v: TypeVisitor */;
8923 val
* var_variable
/* var variable: Variable */;
8924 val
* var_mtype
/* var mtype: nullable MType */;
8925 short int var
/* : Bool */;
8926 val
* var1
/* : nullable MType */;
8927 val
* var3
/* : nullable MType */;
8928 short int var4
/* : Bool */;
8929 short int var5
/* : Bool */;
8930 val
* var_other
/* var other: nullable Object */;
8931 short int var7
/* : Bool */;
8932 short int var9
/* : Bool */;
8933 short int var_
/* var : Bool */;
8934 short int var10
/* : Bool */;
8935 short int var12
/* : Bool */;
8936 short int var13
/* : Bool */;
8937 short int var14
/* : Bool */;
8938 val
* var15
/* : HashMap[Variable, nullable MType] */;
8939 val
* var17
/* : HashMap[Variable, nullable MType] */;
8940 short int var18
/* : Bool */;
8941 short int var_19
/* var : Bool */;
8942 val
* var20
/* : HashMap[Variable, nullable MType] */;
8943 val
* var22
/* : HashMap[Variable, nullable MType] */;
8944 val
* var23
/* : nullable Object */;
8945 short int var24
/* : Bool */;
8946 short int var25
/* : Bool */;
8947 short int var27
/* : Bool */;
8948 short int var29
/* : Bool */;
8949 val
* var30
/* : HashMap[Variable, nullable MType] */;
8950 val
* var32
/* : HashMap[Variable, nullable MType] */;
8955 { /* Inline typing$Variable$declared_type (var_variable) on <var_variable:Variable> */
8956 var3
= var_variable
->attrs
[COLOR_nitc__typing__Variable___declared_type
].val
; /* _declared_type on <var_variable:Variable> */
8962 var4
= (var_mtype
== NULL
);
8964 { /* Inline kernel$Object$== (var1,var_mtype) on <var1:nullable MType> */
8965 var_other
= var_mtype
;
8967 { /* Inline kernel$Object$is_same_instance (var1,var_other) on <var1:nullable MType(MType)> */
8968 var9
= var1
== var_other
;
8983 { /* Inline typing$Variable$is_adapted (var_variable) on <var_variable:Variable> */
8984 var12
= var_variable
->attrs
[COLOR_nitc__typing__Variable___is_adapted
].s
; /* _is_adapted on <var_variable:Variable> */
8986 RET_LABEL11
:(void)0;
8999 { /* Inline typing$FlowContext$vars (self) on <self:FlowContext> */
9000 var17
= self
->attrs
[COLOR_nitc__typing__FlowContext___vars
].val
; /* _vars on <self:FlowContext> */
9001 if (unlikely(var17
== NULL
)) {
9002 if(catchStack
.cursor
>= 0){
9003 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9005 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _vars");
9006 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 697);
9010 RET_LABEL16
:(void)0;
9014 var18
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var15
, var_variable
);
9019 { /* Inline typing$FlowContext$vars (self) on <self:FlowContext> */
9020 var22
= self
->attrs
[COLOR_nitc__typing__FlowContext___vars
].val
; /* _vars on <self:FlowContext> */
9021 if (unlikely(var22
== NULL
)) {
9022 if(catchStack
.cursor
>= 0){
9023 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9025 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _vars");
9026 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 697);
9030 RET_LABEL21
:(void)0;
9034 var23
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var20
, var_variable
);
9036 if (var23
== NULL
) {
9037 var24
= (var_mtype
== NULL
);
9039 { /* Inline kernel$Object$== (var23,var_mtype) on <var23:nullable Object(nullable MType)> */
9040 var_other
= var_mtype
;
9042 { /* Inline kernel$Object$is_same_instance (var23,var_other) on <var23:nullable Object(MType)> */
9043 var29
= var23
== var_other
;
9046 RET_LABEL28
:(void)0;
9051 RET_LABEL26
:(void)0;
9064 { /* Inline typing$FlowContext$vars (self) on <self:FlowContext> */
9065 var32
= self
->attrs
[COLOR_nitc__typing__FlowContext___vars
].val
; /* _vars on <self:FlowContext> */
9066 if (unlikely(var32
== NULL
)) {
9067 if(catchStack
.cursor
>= 0){
9068 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9070 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _vars");
9071 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 697);
9075 RET_LABEL31
:(void)0;
9079 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var30
, var_variable
, var_mtype
); /* Direct call hash_collection$HashMap$[]= on <var30:HashMap[Variable, nullable MType]>*/
9082 { /* Inline typing$TypeVisitor$dirty= (var_v,1) on <var_v:TypeVisitor> */
9083 var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___dirty
].s
= 1; /* _dirty on <var_v:TypeVisitor> */
9084 RET_LABEL33
:(void)0;
9088 { /* Inline typing$Variable$is_adapted= (var_variable,1) on <var_variable:Variable> */
9089 var_variable
->attrs
[COLOR_nitc__typing__Variable___is_adapted
].s
= 1; /* _is_adapted on <var_variable:Variable> */
9090 RET_LABEL34
:(void)0;
9095 /* method typing$FlowContext$collect_types for (self: FlowContext, Variable): Array[nullable MType] */
9096 val
* nitc__typing___FlowContext___collect_types(val
* self
, val
* p0
) {
9097 val
* var
/* : Array[nullable MType] */;
9098 val
* var_variable
/* var variable: Variable */;
9099 val
* var1
/* : Array[nullable MType] */;
9100 val
* var_res
/* var res: Array[nullable MType] */;
9101 val
* var2
/* : Array[FlowContext] */;
9102 val
* var_
/* var : Array[FlowContext] */;
9103 val
* var_todo
/* var todo: Array[FlowContext] */;
9104 val
* var3
/* : HashSet[FlowContext] */;
9105 val
* var_seen
/* var seen: HashSet[FlowContext] */;
9106 short int var4
/* : Bool */;
9107 short int var5
/* : Bool */;
9108 val
* var6
/* : nullable Object */;
9109 val
* var_f
/* var f: FlowContext */;
9110 short int var7
/* : Bool */;
9111 short int var8
/* : Bool */;
9112 val
* var9
/* : HashMap[Variable, nullable MType] */;
9113 val
* var11
/* : HashMap[Variable, nullable MType] */;
9114 short int var12
/* : Bool */;
9115 val
* var13
/* : HashMap[Variable, nullable MType] */;
9116 val
* var15
/* : HashMap[Variable, nullable MType] */;
9117 val
* var16
/* : nullable Object */;
9118 val
* var17
/* : Array[FlowContext] */;
9119 val
* var19
/* : Array[FlowContext] */;
9120 val
* var20
/* : Array[FlowContext] */;
9121 val
* var22
/* : Array[FlowContext] */;
9122 val
* var23
/* : Array[FlowContext] */;
9123 val
* var25
/* : Array[FlowContext] */;
9124 short int var26
/* : Bool */;
9125 val
* var27
/* : nullable MType */;
9126 val
* var29
/* : nullable MType */;
9128 var1
= NEW_core__Array(&type_core__Array__nullable__nitc__MType
);
9130 core___core__Array___core__kernel__Object__init(var1
); /* Direct call array$Array$init on <var1:Array[nullable MType]>*/
9133 var2
= NEW_core__Array(&type_core__Array__nitc__FlowContext
);
9135 core___core__Array___with_capacity(var2
, 1l); /* Direct call array$Array$with_capacity on <var2:Array[FlowContext]>*/
9139 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, self
); /* Direct call array$AbstractArray$push on <var_:Array[FlowContext]>*/
9142 var3
= NEW_core__HashSet(&type_core__HashSet__nitc__FlowContext
);
9144 core___core__HashSet___core__kernel__Object__init(var3
); /* Direct call hash_collection$HashSet$init on <var3:HashSet[FlowContext]>*/
9149 var4
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_todo
);
9154 var6
= core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_todo
);
9158 var7
= nitc___nitc__FlowContext___is_unreachable(var_f
);
9165 var8
= core___core__HashSet___core__abstract_collection__Collection__has(var_seen
, var_f
);
9172 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var_seen
, var_f
); /* Direct call hash_collection$HashSet$add on <var_seen:HashSet[FlowContext]>*/
9175 { /* Inline typing$FlowContext$vars (var_f) on <var_f:FlowContext> */
9176 var11
= var_f
->attrs
[COLOR_nitc__typing__FlowContext___vars
].val
; /* _vars on <var_f:FlowContext> */
9177 if (unlikely(var11
== NULL
)) {
9178 if(catchStack
.cursor
>= 0){
9179 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9181 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _vars");
9182 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 697);
9186 RET_LABEL10
:(void)0;
9190 var12
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var9
, var_variable
);
9194 { /* Inline typing$FlowContext$vars (var_f) on <var_f:FlowContext> */
9195 var15
= var_f
->attrs
[COLOR_nitc__typing__FlowContext___vars
].val
; /* _vars on <var_f:FlowContext> */
9196 if (unlikely(var15
== NULL
)) {
9197 if(catchStack
.cursor
>= 0){
9198 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9200 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _vars");
9201 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 697);
9205 RET_LABEL14
:(void)0;
9209 var16
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var13
, var_variable
);
9212 core___core__Array___core__abstract_collection__SimpleCollection__add(var_res
, var16
); /* Direct call array$Array$add on <var_res:Array[nullable MType]>*/
9216 { /* Inline flow$FlowContext$previous (var_f) on <var_f:FlowContext> */
9217 var19
= var_f
->attrs
[COLOR_nitc__flow__FlowContext___previous
].val
; /* _previous on <var_f:FlowContext> */
9218 if (unlikely(var19
== NULL
)) {
9219 if(catchStack
.cursor
>= 0){
9220 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9222 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _previous");
9223 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow
, 189);
9227 RET_LABEL18
:(void)0;
9231 core___core__Array___core__abstract_collection__SimpleCollection__add_all(var_todo
, var17
); /* Direct call array$Array$add_all on <var_todo:Array[FlowContext]>*/
9234 { /* Inline flow$FlowContext$loops (var_f) on <var_f:FlowContext> */
9235 var22
= var_f
->attrs
[COLOR_nitc__flow__FlowContext___loops
].val
; /* _loops on <var_f:FlowContext> */
9236 if (unlikely(var22
== NULL
)) {
9237 if(catchStack
.cursor
>= 0){
9238 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9240 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _loops");
9241 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow
, 192);
9245 RET_LABEL21
:(void)0;
9249 core___core__Array___core__abstract_collection__SimpleCollection__add_all(var_todo
, var20
); /* Direct call array$Array$add_all on <var_todo:Array[FlowContext]>*/
9252 { /* Inline flow$FlowContext$previous (var_f) on <var_f:FlowContext> */
9253 var25
= var_f
->attrs
[COLOR_nitc__flow__FlowContext___previous
].val
; /* _previous on <var_f:FlowContext> */
9254 if (unlikely(var25
== NULL
)) {
9255 if(catchStack
.cursor
>= 0){
9256 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9258 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _previous");
9259 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow
, 189);
9263 RET_LABEL24
:(void)0;
9267 var26
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var23
);
9271 { /* Inline typing$Variable$declared_type (var_variable) on <var_variable:Variable> */
9272 var29
= var_variable
->attrs
[COLOR_nitc__typing__Variable___declared_type
].val
; /* _declared_type on <var_variable:Variable> */
9274 RET_LABEL28
:(void)0;
9278 core___core__Array___core__abstract_collection__SimpleCollection__add(var_res
, var27
); /* Direct call array$Array$add on <var_res:Array[nullable MType]>*/
9286 BREAK_label
: (void)0;
9288 BREAK_label30
: (void)0;
9294 /* method typing$APropdef$do_typing for (self: APropdef, ModelBuilder) */
9295 void nitc__typing___APropdef___do_typing(val
* self
, val
* p0
) {
9296 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
9297 var_modelbuilder
= p0
;
9300 /* method typing$APropdef$selfvariable= for (self: APropdef, nullable Variable) */
9301 void nitc__typing___APropdef___selfvariable_61d(val
* self
, val
* p0
) {
9302 self
->attrs
[COLOR_nitc__typing__APropdef___selfvariable
].val
= p0
; /* _selfvariable on <self:APropdef> */
9305 /* method typing$AMethPropdef$do_typing for (self: AMethPropdef, ModelBuilder) */
9306 void nitc__typing___AMethPropdef___APropdef__do_typing(val
* self
, val
* p0
) {
9307 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
9308 val
* var
/* : nullable MPropDef */;
9309 val
* var2
/* : nullable MPropDef */;
9310 val
* var_mpropdef
/* var mpropdef: nullable MMethodDef */;
9311 short int var3
/* : Bool */;
9312 short int var4
/* : Bool */;
9313 val
* var_other
/* var other: nullable Object */;
9314 short int var6
/* : Bool */;
9315 short int var8
/* : Bool */;
9316 val
* var9
/* : TypeVisitor */;
9317 val
* var10
/* : MClassDef */;
9318 val
* var12
/* : MClassDef */;
9319 val
* var13
/* : MModule */;
9320 val
* var15
/* : MModule */;
9321 val
* var_v
/* var v: TypeVisitor */;
9322 val
* var16
/* : Variable */;
9323 val
* var18
/* : Variable */;
9324 val
* var20
/* : nullable MPropDef */;
9325 val
* var22
/* : nullable MPropDef */;
9326 val
* var_mmethoddef
/* var mmethoddef: MMethodDef */;
9327 val
* var23
/* : nullable MSignature */;
9328 val
* var25
/* : nullable MSignature */;
9329 val
* var_msignature
/* var msignature: nullable MSignature */;
9330 short int var26
/* : Bool */;
9331 short int var27
/* : Bool */;
9332 short int var29
/* : Bool */;
9333 short int var31
/* : Bool */;
9334 long var_i
/* var i: Int */;
9335 long var32
/* : Int */;
9336 long var_
/* var : Int */;
9337 short int var33
/* : Bool */;
9338 short int var35
/* : Bool */;
9341 const char* var_class_name
;
9342 short int var36
/* : Bool */;
9343 val
* var37
/* : Array[MParameter] */;
9344 val
* var39
/* : Array[MParameter] */;
9345 val
* var40
/* : nullable Object */;
9346 val
* var41
/* : MType */;
9347 val
* var43
/* : MType */;
9348 val
* var_mtype
/* var mtype: MType */;
9349 long var44
/* : Int */;
9350 long var46
/* : Int */;
9351 short int var47
/* : Bool */;
9352 short int var49
/* : Bool */;
9353 val
* var50
/* : nullable ASignature */;
9354 val
* var52
/* : nullable ASignature */;
9355 val
* var53
/* : ANodes[AParam] */;
9356 val
* var55
/* : ANodes[AParam] */;
9357 val
* var56
/* : ANode */;
9358 static val
* varonce
;
9359 val
* var57
/* : String */;
9360 char* var58
/* : CString */;
9361 val
* var59
/* : String */;
9362 val
* var60
/* : nullable Int */;
9363 val
* var61
/* : nullable Int */;
9364 val
* var62
/* : nullable Bool */;
9365 val
* var63
/* : nullable Bool */;
9366 val
* var64
/* : nullable MClass */;
9367 val
* var_arrayclass
/* var arrayclass: nullable MClass */;
9368 short int var65
/* : Bool */;
9369 short int var66
/* : Bool */;
9370 short int var68
/* : Bool */;
9371 short int var70
/* : Bool */;
9372 val
* var71
/* : Array[MType] */;
9373 val
* var_72
/* var : Array[MType] */;
9374 val
* var73
/* : MClassType */;
9375 val
* var74
/* : nullable ASignature */;
9376 val
* var76
/* : nullable ASignature */;
9377 val
* var77
/* : ANodes[AParam] */;
9378 val
* var79
/* : ANodes[AParam] */;
9379 val
* var80
/* : ANode */;
9380 val
* var81
/* : nullable Variable */;
9381 val
* var83
/* : nullable Variable */;
9382 val
* var_variable
/* var variable: nullable Variable */;
9383 short int var84
/* : Bool */;
9384 short int var85
/* : Bool */;
9385 val
* var_other87
/* var other: nullable Object */;
9386 short int var88
/* : Bool */;
9387 short int var89
/* : Bool */;
9388 long var91
/* : Int */;
9389 val
* var92
/* : nullable AExpr */;
9390 val
* var94
/* : nullable AExpr */;
9391 val
* var_nblock
/* var nblock: nullable AExpr */;
9392 short int var95
/* : Bool */;
9393 short int var96
/* : Bool */;
9394 short int var98
/* : Bool */;
9395 short int var100
/* : Bool */;
9396 short int var102
/* : Bool */;
9397 short int var103
/* : Bool */;
9398 short int var105
/* : Bool */;
9399 short int var106
/* : Bool */;
9400 short int var_107
/* var : Bool */;
9401 short int var108
/* : Bool */;
9402 short int var110
/* : Bool */;
9403 short int var111
/* : Bool */;
9404 val
* var113
/* : PostTypingVisitor */;
9405 val
* var_post_visitor
/* var post_visitor: PostTypingVisitor */;
9406 short int var114
/* : Bool */;
9407 val
* var115
/* : nullable FlowContext */;
9408 val
* var117
/* : nullable FlowContext */;
9409 short int var118
/* : Bool */;
9410 short int var119
/* : Bool */;
9411 short int var_120
/* var : Bool */;
9412 val
* var121
/* : nullable MType */;
9413 val
* var123
/* : nullable MType */;
9414 short int var124
/* : Bool */;
9415 short int var125
/* : Bool */;
9416 short int var127
/* : Bool */;
9417 short int var128
/* : Bool */;
9418 static val
* varonce129
;
9419 val
* var130
/* : String */;
9420 char* var131
/* : CString */;
9421 val
* var132
/* : String */;
9422 val
* var133
/* : nullable Int */;
9423 val
* var134
/* : nullable Int */;
9424 val
* var135
/* : nullable Bool */;
9425 val
* var136
/* : nullable Bool */;
9426 var_modelbuilder
= p0
;
9428 { /* Inline modelize_property$APropdef$mpropdef (self) on <self:AMethPropdef> */
9429 var2
= self
->attrs
[COLOR_nitc__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
9435 if (var_mpropdef
== NULL
) {
9436 var3
= 1; /* is null */
9438 var3
= 0; /* arg is null but recv is not */
9441 { /* Inline kernel$Object$== (var_mpropdef,((val*)NULL)) on <var_mpropdef:nullable MMethodDef> */
9442 var_other
= ((val
*)NULL
);
9444 { /* Inline kernel$Object$is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
9445 var8
= var_mpropdef
== var_other
;
9461 var9
= NEW_nitc__typing__TypeVisitor(&type_nitc__typing__TypeVisitor
);
9463 { /* Inline model$MPropDef$mclassdef (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
9464 var12
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
9465 if (unlikely(var12
== NULL
)) {
9466 if(catchStack
.cursor
>= 0){
9467 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9469 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
9470 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2354);
9474 RET_LABEL11
:(void)0;
9478 { /* Inline model$MClassDef$mmodule (var10) on <var10:MClassDef> */
9479 var15
= var10
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <var10:MClassDef> */
9480 if (unlikely(var15
== NULL
)) {
9481 if(catchStack
.cursor
>= 0){
9482 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9484 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
9485 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 588);
9489 RET_LABEL14
:(void)0;
9493 ((void(*)(val
* self
, val
* p0
))(var9
->class->vft
[COLOR_nitc__typing__TypeVisitor__modelbuilder_61d
]))(var9
, var_modelbuilder
); /* modelbuilder= on <var9:TypeVisitor>*/
9496 ((void(*)(val
* self
, val
* p0
))(var9
->class->vft
[COLOR_nitc__typing__TypeVisitor__mmodule_61d
]))(var9
, var13
); /* mmodule= on <var9:TypeVisitor>*/
9499 ((void(*)(val
* self
, val
* p0
))(var9
->class->vft
[COLOR_nitc__typing__TypeVisitor__mpropdef_61d
]))(var9
, var_mpropdef
); /* mpropdef= on <var9:TypeVisitor>*/
9502 ((void(*)(val
* self
))(var9
->class->vft
[COLOR_core__kernel__Object__init
]))(var9
); /* init on <var9:TypeVisitor>*/
9506 { /* Inline typing$TypeVisitor$selfvariable (var_v) on <var_v:TypeVisitor> */
9507 var18
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___selfvariable
].val
; /* _selfvariable on <var_v:TypeVisitor> */
9508 if (unlikely(var18
== NULL
)) {
9509 if(catchStack
.cursor
>= 0){
9510 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9512 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable");
9513 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 51);
9517 RET_LABEL17
:(void)0;
9521 { /* Inline typing$APropdef$selfvariable= (self,var16) on <self:AMethPropdef> */
9522 self
->attrs
[COLOR_nitc__typing__APropdef___selfvariable
].val
= var16
; /* _selfvariable on <self:AMethPropdef> */
9523 RET_LABEL19
:(void)0;
9527 { /* Inline modelize_property$APropdef$mpropdef (self) on <self:AMethPropdef> */
9528 var22
= self
->attrs
[COLOR_nitc__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
9530 RET_LABEL21
:(void)0;
9533 if (unlikely(var20
== NULL
)) {
9534 if(catchStack
.cursor
>= 0){
9535 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9537 PRINT_ERROR("Runtime error: %s", "Cast failed");
9538 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 765);
9541 var_mmethoddef
= var20
;
9543 { /* Inline model$MMethodDef$msignature (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
9544 var25
= var_mmethoddef
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var_mmethoddef:MMethodDef> */
9546 RET_LABEL24
:(void)0;
9549 var_msignature
= var23
;
9550 if (var_msignature
== NULL
) {
9551 var26
= 1; /* is null */
9553 var26
= 0; /* arg is null but recv is not */
9556 { /* Inline kernel$Object$== (var_msignature,((val*)NULL)) on <var_msignature:nullable MSignature> */
9557 var_other
= ((val
*)NULL
);
9559 { /* Inline kernel$Object$is_same_instance (var_msignature,var_other) on <var_msignature:nullable MSignature(MSignature)> */
9560 var31
= var_msignature
== var_other
;
9563 RET_LABEL30
:(void)0;
9568 RET_LABEL28
:(void)0;
9578 var32
= nitc___nitc__MSignature___arity(var_msignature
);
9583 { /* Inline kernel$Int$< (var_i,var_) on <var_i:Int> */
9584 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
9585 /* <var_:Int> isa OTHER */
9586 var35
= 1; /* easy <var_:Int> isa OTHER*/
9587 if (unlikely(!var35
)) {
9588 var_class_name
= type_core__Int
.name
;
9589 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
9590 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
9593 var36
= var_i
< var_
;
9596 RET_LABEL34
:(void)0;
9604 { /* Inline model$MSignature$mparameters (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
9605 var39
= var_msignature
->attrs
[COLOR_nitc__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:nullable MSignature(MSignature)> */
9606 if (unlikely(var39
== NULL
)) {
9607 if(catchStack
.cursor
>= 0){
9608 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9610 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
9611 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1879);
9615 RET_LABEL38
:(void)0;
9619 var40
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var37
, var_i
);
9622 { /* Inline model$MParameter$mtype (var40) on <var40:nullable Object(MParameter)> */
9623 var43
= var40
->attrs
[COLOR_nitc__model__MParameter___mtype
].val
; /* _mtype on <var40:nullable Object(MParameter)> */
9624 if (unlikely(var43
== NULL
)) {
9625 if(catchStack
.cursor
>= 0){
9626 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9628 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9629 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1996);
9633 RET_LABEL42
:(void)0;
9638 { /* Inline model$MSignature$vararg_rank (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
9639 var46
= var_msignature
->attrs
[COLOR_nitc__model__MSignature___vararg_rank
].l
; /* _vararg_rank on <var_msignature:nullable MSignature(MSignature)> */
9641 RET_LABEL45
:(void)0;
9645 { /* Inline kernel$Int$== (var44,var_i) on <var44:Int> */
9646 var49
= var44
== var_i
;
9649 RET_LABEL48
:(void)0;
9654 { /* Inline parser_nodes$AMethPropdef$n_signature (self) on <self:AMethPropdef> */
9655 var52
= self
->attrs
[COLOR_nitc__parser_nodes__AMethPropdef___n_signature
].val
; /* _n_signature on <self:AMethPropdef> */
9657 RET_LABEL51
:(void)0;
9660 if (var50
== NULL
) {
9661 if(catchStack
.cursor
>= 0){
9662 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9664 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9665 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 771);
9668 { /* Inline parser_nodes$ASignature$n_params (var50) on <var50:nullable ASignature> */
9669 if (unlikely(var50
== NULL
)) {
9670 if(catchStack
.cursor
>= 0){
9671 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9673 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9674 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1746);
9677 var55
= var50
->attrs
[COLOR_nitc__parser_nodes__ASignature___n_params
].val
; /* _n_params on <var50:nullable ASignature> */
9678 if (unlikely(var55
== NULL
)) {
9679 if(catchStack
.cursor
>= 0){
9680 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9682 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
9683 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1746);
9687 RET_LABEL54
:(void)0;
9691 var56
= nitc___nitc__ANodes___core__abstract_collection__SequenceRead___91d_93d(var53
, var_i
);
9693 if (likely(varonce
!=NULL
)) {
9697 var60
= (val
*)(5l<<2|1);
9698 var61
= (val
*)(5l<<2|1);
9699 var62
= (val
*)((long)(0)<<2|3);
9700 var63
= (val
*)((long)(0)<<2|3);
9701 var59
= core__flat___CString___to_s_unsafe(var58
, var60
, var61
, var62
, var63
);
9706 var64
= nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v
, var56
, var57
);
9708 var_arrayclass
= var64
;
9709 if (var_arrayclass
== NULL
) {
9710 var65
= 1; /* is null */
9712 var65
= 0; /* arg is null but recv is not */
9715 { /* Inline kernel$Object$== (var_arrayclass,((val*)NULL)) on <var_arrayclass:nullable MClass> */
9716 var_other
= ((val
*)NULL
);
9718 { /* Inline kernel$Object$is_same_instance (var_arrayclass,var_other) on <var_arrayclass:nullable MClass(MClass)> */
9719 var70
= var_arrayclass
== var_other
;
9722 RET_LABEL69
:(void)0;
9727 RET_LABEL67
:(void)0;
9735 var71
= NEW_core__Array(&type_core__Array__nitc__MType
);
9737 core___core__Array___with_capacity(var71
, 1l); /* Direct call array$Array$with_capacity on <var71:Array[MType]>*/
9741 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_72
, var_mtype
); /* Direct call array$AbstractArray$push on <var_72:Array[MType]>*/
9744 var73
= nitc___nitc__MClass___get_mtype(var_arrayclass
, var_72
);
9750 { /* Inline parser_nodes$AMethPropdef$n_signature (self) on <self:AMethPropdef> */
9751 var76
= self
->attrs
[COLOR_nitc__parser_nodes__AMethPropdef___n_signature
].val
; /* _n_signature on <self:AMethPropdef> */
9753 RET_LABEL75
:(void)0;
9756 if (var74
== NULL
) {
9757 if(catchStack
.cursor
>= 0){
9758 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9760 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9761 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 775);
9764 { /* Inline parser_nodes$ASignature$n_params (var74) on <var74:nullable ASignature> */
9765 if (unlikely(var74
== NULL
)) {
9766 if(catchStack
.cursor
>= 0){
9767 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9769 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9770 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1746);
9773 var79
= var74
->attrs
[COLOR_nitc__parser_nodes__ASignature___n_params
].val
; /* _n_params on <var74:nullable ASignature> */
9774 if (unlikely(var79
== NULL
)) {
9775 if(catchStack
.cursor
>= 0){
9776 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9778 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
9779 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1746);
9783 RET_LABEL78
:(void)0;
9787 var80
= nitc___nitc__ANodes___core__abstract_collection__SequenceRead___91d_93d(var77
, var_i
);
9790 { /* Inline scope$AParam$variable (var80) on <var80:ANode(AParam)> */
9791 var83
= var80
->attrs
[COLOR_nitc__scope__AParam___variable
].val
; /* _variable on <var80:ANode(AParam)> */
9793 RET_LABEL82
:(void)0;
9796 var_variable
= var81
;
9797 if (var_variable
== NULL
) {
9798 var84
= 0; /* is null */
9800 var84
= 1; /* arg is null and recv is not */
9803 { /* Inline kernel$Object$!= (var_variable,((val*)NULL)) on <var_variable:nullable Variable> */
9804 var_other87
= ((val
*)NULL
);
9806 var88
= ((short int(*)(val
* self
, val
* p0
))(var_variable
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_variable
, var_other87
); /* == on <var_variable:nullable Variable(Variable)>*/
9811 RET_LABEL86
:(void)0;
9815 if (unlikely(!var84
)) {
9816 if(catchStack
.cursor
>= 0){
9817 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9819 PRINT_ERROR("Runtime error: %s", "Assert failed");
9820 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 776);
9824 { /* Inline typing$Variable$declared_type= (var_variable,var_mtype) on <var_variable:nullable Variable(Variable)> */
9825 var_variable
->attrs
[COLOR_nitc__typing__Variable___declared_type
].val
= var_mtype
; /* _declared_type on <var_variable:nullable Variable(Variable)> */
9826 RET_LABEL90
:(void)0;
9830 var91
= core___core__Int___Discrete__successor(var_i
, 1l);
9834 BREAK_label
: (void)0;
9836 { /* Inline parser_nodes$AMethPropdef$n_block (self) on <self:AMethPropdef> */
9837 var94
= self
->attrs
[COLOR_nitc__parser_nodes__AMethPropdef___n_block
].val
; /* _n_block on <self:AMethPropdef> */
9839 RET_LABEL93
:(void)0;
9843 if (var_nblock
== NULL
) {
9844 var95
= 1; /* is null */
9846 var95
= 0; /* arg is null but recv is not */
9849 { /* Inline kernel$Object$== (var_nblock,((val*)NULL)) on <var_nblock:nullable AExpr> */
9850 var_other
= ((val
*)NULL
);
9852 { /* Inline kernel$Object$is_same_instance (var_nblock,var_other) on <var_nblock:nullable AExpr(AExpr)> */
9853 var100
= var_nblock
== var_other
;
9856 RET_LABEL99
:(void)0;
9861 RET_LABEL97
:(void)0;
9871 { /* Inline typing$TypeVisitor$dirty= (var_v,0) on <var_v:TypeVisitor> */
9872 var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___dirty
].s
= 0; /* _dirty on <var_v:TypeVisitor> */
9873 RET_LABEL101
:(void)0;
9877 nitc__typing___nitc__typing__TypeVisitor___visit_stmt(var_v
, var_nblock
); /* Direct call typing$TypeVisitor$visit_stmt on <var_v:TypeVisitor>*/
9880 { /* Inline typing$TypeVisitor$has_loop (var_v) on <var_v:TypeVisitor> */
9881 var105
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___has_loop
].s
; /* _has_loop on <var_v:TypeVisitor> */
9883 RET_LABEL104
:(void)0;
9892 { /* Inline typing$TypeVisitor$dirty (var_v) on <var_v:TypeVisitor> */
9893 var110
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___dirty
].s
; /* _dirty on <var_v:TypeVisitor> */
9895 RET_LABEL109
:(void)0;
9902 goto BREAK_label112
;
9906 BREAK_label112
: (void)0;
9907 var113
= NEW_nitc__typing__PostTypingVisitor(&type_nitc__typing__PostTypingVisitor
);
9909 ((void(*)(val
* self
, val
* p0
))(var113
->class->vft
[COLOR_nitc__typing__PostTypingVisitor__type_visitor_61d
]))(var113
, var_v
); /* type_visitor= on <var113:PostTypingVisitor>*/
9912 ((void(*)(val
* self
))(var113
->class->vft
[COLOR_core__kernel__Object__init
]))(var113
); /* init on <var113:PostTypingVisitor>*/
9914 var_post_visitor
= var113
;
9916 nitc___nitc__Visitor___enter_visit(var_post_visitor
, self
); /* Direct call parser_nodes$Visitor$enter_visit on <var_post_visitor:PostTypingVisitor>*/
9919 { /* Inline flow$AExpr$after_flow_context (var_nblock) on <var_nblock:nullable AExpr(AExpr)> */
9920 var117
= var_nblock
->attrs
[COLOR_nitc__flow__AExpr___after_flow_context
].val
; /* _after_flow_context on <var_nblock:nullable AExpr(AExpr)> */
9922 RET_LABEL116
:(void)0;
9925 if (var115
== NULL
) {
9926 if(catchStack
.cursor
>= 0){
9927 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9929 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9930 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 792);
9933 var118
= nitc___nitc__FlowContext___is_unreachable(var115
);
9939 { /* Inline model$MSignature$return_mtype (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
9940 var123
= var_msignature
->attrs
[COLOR_nitc__model__MSignature___return_mtype
].val
; /* _return_mtype on <var_msignature:nullable MSignature(MSignature)> */
9942 RET_LABEL122
:(void)0;
9945 if (var121
== NULL
) {
9946 var124
= 0; /* is null */
9948 var124
= 1; /* arg is null and recv is not */
9951 { /* Inline kernel$Object$!= (var121,((val*)NULL)) on <var121:nullable MType> */
9952 var_other87
= ((val
*)NULL
);
9954 var127
= ((short int(*)(val
* self
, val
* p0
))(var121
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var121
, var_other87
); /* == on <var121:nullable MType(MType)>*/
9959 RET_LABEL126
:(void)0;
9968 if (likely(varonce129
!=NULL
)) {
9969 var130
= varonce129
;
9971 var131
= "Error: reached end of function; expected `return` with a value.";
9972 var133
= (val
*)(63l<<2|1);
9973 var134
= (val
*)(63l<<2|1);
9974 var135
= (val
*)((long)(0)<<2|3);
9975 var136
= (val
*)((long)(0)<<2|3);
9976 var132
= core__flat___CString___to_s_unsafe(var131
, var133
, var134
, var135
, var136
);
9978 varonce129
= var130
;
9981 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var130
); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/