1 #include "nit__modelbuilder_base.sep.0.h"
2 /* method modelbuilder_base#ToolContext#modelbuilder for (self: ToolContext): ModelBuilder */
3 val
* nit__modelbuilder_base___ToolContext___modelbuilder(val
* self
) {
4 val
* var
/* : ModelBuilder */;
5 val
* var1
/* : nullable ModelBuilder */;
6 val
* var3
/* : nullable ModelBuilder */;
8 { /* Inline modelbuilder_base#ToolContext#modelbuilder_real (self) on <self:ToolContext> */
9 var3
= self
->attrs
[COLOR_nit__modelbuilder_base__ToolContext___modelbuilder_real
].val
; /* _modelbuilder_real on <self:ToolContext> */
14 if (unlikely(var1
== NULL
)) {
15 PRINT_ERROR("Runtime error: %s", "Cast failed");
16 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 36);
24 /* method modelbuilder_base#ToolContext#modelbuilder_real for (self: ToolContext): nullable ModelBuilder */
25 val
* nit__modelbuilder_base___ToolContext___modelbuilder_real(val
* self
) {
26 val
* var
/* : nullable ModelBuilder */;
27 val
* var1
/* : nullable ModelBuilder */;
28 var1
= self
->attrs
[COLOR_nit__modelbuilder_base__ToolContext___modelbuilder_real
].val
; /* _modelbuilder_real on <self:ToolContext> */
33 /* method modelbuilder_base#ToolContext#modelbuilder_real= for (self: ToolContext, nullable ModelBuilder) */
34 void nit__modelbuilder_base___ToolContext___modelbuilder_real_61d(val
* self
, val
* p0
) {
35 self
->attrs
[COLOR_nit__modelbuilder_base__ToolContext___modelbuilder_real
].val
= p0
; /* _modelbuilder_real on <self:ToolContext> */
38 /* method modelbuilder_base#ModelBuilder#model for (self: ModelBuilder): Model */
39 val
* nit___nit__ModelBuilder___model(val
* self
) {
40 val
* var
/* : Model */;
41 val
* var1
/* : Model */;
42 var1
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
43 if (unlikely(var1
== NULL
)) {
44 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
45 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 44);
52 /* method modelbuilder_base#ModelBuilder#model= for (self: ModelBuilder, Model) */
53 void nit___nit__ModelBuilder___model_61d(val
* self
, val
* p0
) {
54 self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___model
].val
= p0
; /* _model on <self:ModelBuilder> */
57 /* method modelbuilder_base#ModelBuilder#toolcontext for (self: ModelBuilder): ToolContext */
58 val
* nit___nit__ModelBuilder___toolcontext(val
* self
) {
59 val
* var
/* : ToolContext */;
60 val
* var1
/* : ToolContext */;
61 var1
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
62 if (unlikely(var1
== NULL
)) {
63 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
64 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
71 /* method modelbuilder_base#ModelBuilder#toolcontext= for (self: ModelBuilder, ToolContext) */
72 void nit___nit__ModelBuilder___toolcontext_61d(val
* self
, val
* p0
) {
73 self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
= p0
; /* _toolcontext on <self:ModelBuilder> */
76 /* method modelbuilder_base#ModelBuilder#init for (self: ModelBuilder) */
77 void nit___nit__ModelBuilder___standard__kernel__Object__init(val
* self
) {
78 val
* var
/* : ToolContext */;
79 val
* var2
/* : ToolContext */;
80 val
* var3
/* : nullable ModelBuilder */;
81 val
* var5
/* : nullable ModelBuilder */;
82 short int var6
/* : Bool */;
83 short int var7
/* : Bool */;
84 val
* var_other
/* var other: nullable Object */;
85 short int var9
/* : Bool */;
86 short int var11
/* : Bool */;
87 val
* var12
/* : ToolContext */;
88 val
* var14
/* : ToolContext */;
90 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
91 var2
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
92 if (unlikely(var2
== NULL
)) {
93 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
94 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
102 { /* Inline modelbuilder_base#ToolContext#modelbuilder_real (var) on <var:ToolContext> */
103 var5
= var
->attrs
[COLOR_nit__modelbuilder_base__ToolContext___modelbuilder_real
].val
; /* _modelbuilder_real on <var:ToolContext> */
109 var6
= 1; /* is null */
111 var6
= 0; /* arg is null but recv is not */
114 { /* Inline kernel#Object#== (var3,((val*)NULL)) on <var3:nullable ModelBuilder> */
115 var_other
= ((val
*)NULL
);
117 { /* Inline kernel#Object#is_same_instance (var3,var_other) on <var3:nullable ModelBuilder(ModelBuilder)> */
118 var11
= var3
== var_other
;
130 if (unlikely(!var6
)) {
131 PRINT_ERROR("Runtime error: %s", "Assert failed");
132 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 54);
136 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
137 var14
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
138 if (unlikely(var14
== NULL
)) {
139 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
140 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
148 { /* Inline modelbuilder_base#ToolContext#modelbuilder_real= (var12,self) on <var12:ToolContext> */
149 var12
->attrs
[COLOR_nit__modelbuilder_base__ToolContext___modelbuilder_real
].val
= self
; /* _modelbuilder_real on <var12:ToolContext> */
155 /* method modelbuilder_base#ModelBuilder#try_get_mclass_by_name for (self: ModelBuilder, ANode, MModule, String): nullable MClass */
156 val
* nit___nit__ModelBuilder___try_get_mclass_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
157 val
* var
/* : nullable MClass */;
158 val
* var_anode
/* var anode: ANode */;
159 val
* var_mmodule
/* var mmodule: MModule */;
160 val
* var_name
/* var name: String */;
161 val
* var1
/* : Model */;
162 val
* var3
/* : Model */;
163 val
* var4
/* : nullable Array[MClass] */;
164 val
* var_classes
/* var classes: nullable Array[MClass] */;
165 short int var5
/* : Bool */;
166 short int var6
/* : Bool */;
167 val
* var_res
/* var res: nullable MClass */;
168 val
* var_
/* var : Array[MClass] */;
169 val
* var7
/* : ArrayIterator[nullable Object] */;
170 val
* var_8
/* var : ArrayIterator[MClass] */;
171 short int var9
/* : Bool */;
172 val
* var10
/* : nullable Object */;
173 val
* var_mclass
/* var mclass: MClass */;
174 val
* var11
/* : POSetElement[MModule] */;
175 val
* var13
/* : POSetElement[MModule] */;
176 val
* var14
/* : MModule */;
177 val
* var16
/* : MModule */;
178 short int var17
/* : Bool */;
179 short int var18
/* : Bool */;
180 val
* var19
/* : MModule */;
181 val
* var21
/* : MModule */;
182 val
* var22
/* : MVisibility */;
183 val
* var24
/* : MVisibility */;
184 short int var25
/* : Bool */;
185 short int var26
/* : Bool */;
186 short int var27
/* : Bool */;
187 short int var28
/* : Bool */;
188 val
* var_other
/* var other: nullable Object */;
189 short int var30
/* : Bool */;
190 short int var32
/* : Bool */;
191 val
* var33
/* : NativeArray[String] */;
193 static val
* varonce34
;
194 val
* var35
/* : String */;
195 char* var36
/* : NativeString */;
196 val
* var37
/* : FlatString */;
197 static val
* varonce38
;
198 val
* var39
/* : String */;
199 char* var40
/* : NativeString */;
200 val
* var41
/* : FlatString */;
201 static val
* varonce42
;
202 val
* var43
/* : String */;
203 char* var44
/* : NativeString */;
204 val
* var45
/* : FlatString */;
205 static val
* varonce46
;
206 val
* var47
/* : String */;
207 char* var48
/* : NativeString */;
208 val
* var49
/* : FlatString */;
209 val
* var50
/* : String */;
210 val
* var51
/* : String */;
211 val
* var52
/* : String */;
216 { /* Inline modelbuilder_base#ModelBuilder#model (self) on <self:ModelBuilder> */
217 var3
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
218 if (unlikely(var3
== NULL
)) {
219 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
220 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 44);
228 var4
= nit__model___Model___get_mclasses_by_name(var1
, var_name
);
231 if (var_classes
== NULL
) {
232 var5
= 1; /* is null */
234 var5
= 0; /* arg is null but recv is not */
237 var6
= standard___standard__Array___standard__kernel__Object___61d_61d(var_classes
, ((val
*)NULL
));
245 var_res
= ((val
*)NULL
);
248 var7
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
253 var9
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_8
);
257 var10
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_8
);
261 { /* Inline mmodule#MModule#in_importation (var_mmodule) on <var_mmodule:MModule> */
262 var13
= var_mmodule
->attrs
[COLOR_nit__mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mmodule:MModule> */
263 if (unlikely(var13
== NULL
)) {
264 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
265 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 96);
273 { /* Inline model#MClass#intro_mmodule (var_mclass) on <var_mclass:MClass> */
274 var16
= var_mclass
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var_mclass:MClass> */
275 if (unlikely(var16
== NULL
)) {
276 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
277 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 357);
285 var17
= poset___poset__POSetElement____60d_61d(var11
, var14
);
293 { /* Inline model#MClass#intro_mmodule (var_mclass) on <var_mclass:MClass> */
294 var21
= var_mclass
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var_mclass:MClass> */
295 if (unlikely(var21
== NULL
)) {
296 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
297 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 357);
305 { /* Inline model#MClass#visibility (var_mclass) on <var_mclass:MClass> */
306 var24
= var_mclass
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <var_mclass:MClass> */
307 if (unlikely(var24
== NULL
)) {
308 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
309 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 440);
317 var25
= nit___nit__MModule___is_visible(var_mmodule
, var19
, var22
);
324 if (var_res
== NULL
) {
325 var27
= 1; /* is null */
327 var27
= 0; /* arg is null but recv is not */
330 { /* Inline kernel#Object#== (var_res,((val*)NULL)) on <var_res:nullable MClass> */
331 var_other
= ((val
*)NULL
);
333 { /* Inline kernel#Object#is_same_instance (var_res,var_other) on <var_res:nullable MClass(MClass)> */
334 var32
= var_res
== var_other
;
347 var_res
= var_mclass
;
349 if (unlikely(varonce
==NULL
)) {
350 var33
= NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String
);
351 if (likely(varonce34
!=NULL
)) {
354 var36
= "Error: ambiguous class name `";
355 var37
= standard___standard__NativeString___to_s_with_length(var36
, 29l);
359 ((struct instance_standard__NativeArray
*)var33
)->values
[0]=var35
;
360 if (likely(varonce38
!=NULL
)) {
363 var40
= "`; conflict between `";
364 var41
= standard___standard__NativeString___to_s_with_length(var40
, 21l);
368 ((struct instance_standard__NativeArray
*)var33
)->values
[2]=var39
;
369 if (likely(varonce42
!=NULL
)) {
373 var45
= standard___standard__NativeString___to_s_with_length(var44
, 7l);
377 ((struct instance_standard__NativeArray
*)var33
)->values
[4]=var43
;
378 if (likely(varonce46
!=NULL
)) {
382 var49
= standard___standard__NativeString___to_s_with_length(var48
, 2l);
386 ((struct instance_standard__NativeArray
*)var33
)->values
[6]=var47
;
391 ((struct instance_standard__NativeArray
*)var33
)->values
[1]=var_name
;
393 var50
= nit___nit__MClass___nit__model_base__MEntity__full_name(var_mclass
);
395 ((struct instance_standard__NativeArray
*)var33
)->values
[3]=var50
;
397 var51
= nit___nit__MClass___nit__model_base__MEntity__full_name(var_res
);
399 ((struct instance_standard__NativeArray
*)var33
)->values
[5]=var51
;
401 var52
= ((val
*(*)(val
* self
))(var33
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var33
); /* native_to_s on <var33:NativeArray[String]>*/
405 nit___nit__ModelBuilder___error(self
, var_anode
, var52
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
410 BREAK_label
: (void)0;
412 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_8
); /* Direct call array#ArrayIterator#next on <var_8:ArrayIterator[MClass]>*/
418 BREAK_label53
: (void)0;
420 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_8
); /* Direct call array#ArrayIterator#finish on <var_8:ArrayIterator[MClass]>*/
427 /* method modelbuilder_base#ModelBuilder#get_mclass_by_name for (self: ModelBuilder, ANode, MModule, String): nullable MClass */
428 val
* nit___nit__ModelBuilder___get_mclass_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
429 val
* var
/* : nullable MClass */;
430 val
* var_node
/* var node: ANode */;
431 val
* var_mmodule
/* var mmodule: MModule */;
432 val
* var_name
/* var name: String */;
433 val
* var1
/* : nullable MClass */;
434 val
* var_mclass
/* var mclass: nullable MClass */;
435 short int var2
/* : Bool */;
436 short int var3
/* : Bool */;
437 val
* var_other
/* var other: nullable Object */;
438 short int var5
/* : Bool */;
439 short int var7
/* : Bool */;
440 val
* var8
/* : NativeArray[String] */;
442 static val
* varonce9
;
443 val
* var10
/* : String */;
444 char* var11
/* : NativeString */;
445 val
* var12
/* : FlatString */;
446 static val
* varonce13
;
447 val
* var14
/* : String */;
448 char* var15
/* : NativeString */;
449 val
* var16
/* : FlatString */;
450 val
* var17
/* : String */;
455 var1
= nit___nit__ModelBuilder___try_get_mclass_by_name(self
, var_node
, var_mmodule
, var_name
);
458 if (var_mclass
== NULL
) {
459 var2
= 1; /* is null */
461 var2
= 0; /* arg is null but recv is not */
464 { /* Inline kernel#Object#== (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
465 var_other
= ((val
*)NULL
);
467 { /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
468 var7
= var_mclass
== var_other
;
481 if (unlikely(varonce
==NULL
)) {
482 var8
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
483 if (likely(varonce9
!=NULL
)) {
486 var11
= "Type Error: missing primitive class `";
487 var12
= standard___standard__NativeString___to_s_with_length(var11
, 37l);
491 ((struct instance_standard__NativeArray
*)var8
)->values
[0]=var10
;
492 if (likely(varonce13
!=NULL
)) {
496 var16
= standard___standard__NativeString___to_s_with_length(var15
, 2l);
500 ((struct instance_standard__NativeArray
*)var8
)->values
[2]=var14
;
505 ((struct instance_standard__NativeArray
*)var8
)->values
[1]=var_name
;
507 var17
= ((val
*(*)(val
* self
))(var8
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var8
); /* native_to_s on <var8:NativeArray[String]>*/
511 nit___nit__ModelBuilder___error(self
, var_node
, var17
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
520 /* method modelbuilder_base#ModelBuilder#try_get_mproperty_by_name2 for (self: ModelBuilder, ANode, MModule, MType, String): nullable MProperty */
521 val
* nit___nit__ModelBuilder___try_get_mproperty_by_name2(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
522 val
* var
/* : nullable MProperty */;
523 val
* var_anode
/* var anode: ANode */;
524 val
* var_mmodule
/* var mmodule: MModule */;
525 val
* var_mtype
/* var mtype: MType */;
526 val
* var_name
/* var name: String */;
527 val
* var1
/* : Model */;
528 val
* var3
/* : Model */;
529 val
* var4
/* : nullable Array[MProperty] */;
530 val
* var_props
/* var props: nullable Array[MProperty] */;
531 short int var5
/* : Bool */;
532 short int var6
/* : Bool */;
533 val
* var7
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
534 val
* var9
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
535 val
* var10
/* : nullable Object */;
536 val
* var_cache
/* var cache: nullable MProperty */;
537 short int var11
/* : Bool */;
538 short int var12
/* : Bool */;
539 val
* var_other
/* var other: nullable Object */;
540 short int var14
/* : Bool */;
541 short int var15
/* : Bool */;
542 val
* var_res
/* var res: nullable MProperty */;
543 val
* var_ress
/* var ress: nullable Array[MProperty] */;
544 val
* var_
/* var : Array[MProperty] */;
545 val
* var16
/* : ArrayIterator[nullable Object] */;
546 val
* var_17
/* var : ArrayIterator[MProperty] */;
547 short int var18
/* : Bool */;
548 val
* var19
/* : nullable Object */;
549 val
* var_mprop
/* var mprop: MProperty */;
550 short int var20
/* : Bool */;
551 short int var21
/* : Bool */;
552 val
* var22
/* : MClassDef */;
553 val
* var24
/* : MClassDef */;
554 val
* var25
/* : MModule */;
555 val
* var27
/* : MModule */;
556 val
* var28
/* : MVisibility */;
557 val
* var30
/* : MVisibility */;
558 short int var31
/* : Bool */;
559 short int var32
/* : Bool */;
560 short int var33
/* : Bool */;
561 short int var34
/* : Bool */;
562 short int var35
/* : Bool */;
565 short int var_36
/* var : Bool */;
566 short int var37
/* : Bool */;
567 short int var39
/* : Bool */;
568 short int var_40
/* var : Bool */;
569 short int var41
/* : Bool */;
570 short int var42
/* : Bool */;
573 short int var45
/* : Bool */;
574 short int var_46
/* var : Bool */;
575 val
* var47
/* : MClassDef */;
576 val
* var49
/* : MClassDef */;
577 val
* var50
/* : MClass */;
578 val
* var52
/* : MClass */;
579 val
* var53
/* : MClass */;
580 val
* var55
/* : MClass */;
581 short int var56
/* : Bool */;
582 short int var58
/* : Bool */;
583 short int var59
/* : Bool */;
584 short int var60
/* : Bool */;
585 short int var61
/* : Bool */;
586 val
* var_other63
/* var other: nullable Object */;
587 short int var64
/* : Bool */;
588 short int var66
/* : Bool */;
589 short int var67
/* : Bool */;
590 short int var68
/* : Bool */;
591 short int var69
/* : Bool */;
592 short int var70
/* : Bool */;
595 short int var_73
/* var : Bool */;
596 short int var74
/* : Bool */;
599 short int var_77
/* var : Bool */;
600 short int var78
/* : Bool */;
601 short int var80
/* : Bool */;
602 short int var_81
/* var : Bool */;
603 short int var82
/* : Bool */;
604 short int var84
/* : Bool */;
605 val
* var85
/* : MClassDef */;
606 val
* var87
/* : MClassDef */;
607 val
* var88
/* : MClassType */;
608 val
* var90
/* : MClassType */;
609 val
* var_restype
/* var restype: MClassType */;
610 val
* var91
/* : MClassDef */;
611 val
* var93
/* : MClassDef */;
612 val
* var94
/* : MClassType */;
613 val
* var96
/* : MClassType */;
614 val
* var_mproptype
/* var mproptype: MClassType */;
615 short int var97
/* : Bool */;
616 short int var98
/* : Bool */;
617 short int var99
/* : Bool */;
618 val
* var100
/* : Array[MProperty] */;
619 short int var102
/* : Bool */;
620 short int var103
/* : Bool */;
621 short int var104
/* : Bool */;
622 short int var105
/* : Bool */;
623 short int var107
/* : Bool */;
624 short int var108
/* : Bool */;
625 short int var_109
/* var : Bool */;
626 short int var110
/* : Bool */;
629 short int var_113
/* var : Bool */;
630 short int var114
/* : Bool */;
631 short int var116
/* : Bool */;
632 val
* var117
/* : MClassDef */;
633 val
* var119
/* : MClassDef */;
634 val
* var120
/* : MClassType */;
635 val
* var122
/* : MClassType */;
636 val
* var_restype123
/* var restype: MClassType */;
637 val
* var124
/* : Array[MProperty] */;
638 val
* var_ress2
/* var ress2: Array[MProperty] */;
639 val
* var_125
/* var : Array[MProperty] */;
640 val
* var126
/* : ArrayIterator[nullable Object] */;
641 val
* var_127
/* var : ArrayIterator[MProperty] */;
642 short int var128
/* : Bool */;
643 val
* var129
/* : nullable Object */;
644 val
* var_mprop130
/* var mprop: MProperty */;
645 val
* var131
/* : MClassDef */;
646 val
* var133
/* : MClassDef */;
647 val
* var134
/* : MClassType */;
648 val
* var136
/* : MClassType */;
649 val
* var_mproptype137
/* var mproptype: MClassType */;
650 short int var138
/* : Bool */;
651 short int var139
/* : Bool */;
652 short int var140
/* : Bool */;
653 short int var141
/* : Bool */;
656 short int var144
/* : Bool */;
657 short int var_145
/* var : Bool */;
658 short int var146
/* : Bool */;
659 short int var148
/* : Bool */;
660 short int var149
/* : Bool */;
661 short int var151
/* : Bool */;
662 short int var152
/* : Bool */;
663 short int var153
/* : Bool */;
664 short int var155
/* : Bool */;
665 short int var156
/* : Bool */;
666 long var157
/* : Int */;
667 long var159
/* : Int */;
668 short int var160
/* : Bool */;
669 short int var162
/* : Bool */;
672 const char* var_class_name
;
673 short int var165
/* : Bool */;
674 val
* var166
/* : Array[String] */;
675 val
* var_s
/* var s: Array[String] */;
676 val
* var_167
/* var : Array[MProperty] */;
677 val
* var168
/* : ArrayIterator[nullable Object] */;
678 val
* var_169
/* var : ArrayIterator[MProperty] */;
679 short int var170
/* : Bool */;
680 val
* var171
/* : nullable Object */;
681 val
* var_mprop172
/* var mprop: MProperty */;
682 val
* var173
/* : String */;
683 val
* var175
/* : NativeArray[String] */;
685 static val
* varonce176
;
686 val
* var177
/* : String */;
687 char* var178
/* : NativeString */;
688 val
* var179
/* : FlatString */;
689 static val
* varonce180
;
690 val
* var181
/* : String */;
691 char* var182
/* : NativeString */;
692 val
* var183
/* : FlatString */;
693 static val
* varonce184
;
694 val
* var185
/* : String */;
695 char* var186
/* : NativeString */;
696 val
* var187
/* : FlatString */;
697 static val
* varonce188
;
698 val
* var189
/* : String */;
699 char* var190
/* : NativeString */;
700 val
* var191
/* : FlatString */;
701 val
* var192
/* : String */;
702 static val
* varonce193
;
703 val
* var194
/* : String */;
704 char* var195
/* : NativeString */;
705 val
* var196
/* : FlatString */;
706 val
* var197
/* : String */;
707 val
* var198
/* : String */;
708 val
* var199
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
709 val
* var201
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
715 { /* Inline modelbuilder_base#ModelBuilder#model (self) on <self:ModelBuilder> */
716 var3
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
717 if (unlikely(var3
== NULL
)) {
718 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
719 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 44);
727 var4
= nit__model___Model___get_mproperties_by_name(var1
, var_name
);
730 if (var_props
== NULL
) {
731 var5
= 1; /* is null */
733 var5
= 0; /* arg is null but recv is not */
736 var6
= standard___standard__Array___standard__kernel__Object___61d_61d(var_props
, ((val
*)NULL
));
745 { /* Inline modelbuilder_base#ModelBuilder#try_get_mproperty_by_name2_cache (self) on <self:ModelBuilder> */
746 var9
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___try_get_mproperty_by_name2_cache
].val
; /* _try_get_mproperty_by_name2_cache on <self:ModelBuilder> */
747 if (unlikely(var9
== NULL
)) {
748 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _try_get_mproperty_by_name2_cache");
749 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 178);
757 var10
= more_collections___more_collections__HashMap3____91d_93d(var7
, var_mmodule
, var_mtype
, var_name
);
760 if (var_cache
== NULL
) {
761 var11
= 0; /* is null */
763 var11
= 1; /* arg is null and recv is not */
766 { /* Inline kernel#Object#!= (var_cache,((val*)NULL)) on <var_cache:nullable MProperty> */
767 var_other
= ((val
*)NULL
);
769 var14
= ((short int(*)(val
* self
, val
* p0
))(var_cache
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_cache
, var_other
); /* == on <var_cache:nullable MProperty(MProperty)>*/
783 var_res
= ((val
*)NULL
);
784 var_ress
= ((val
*)NULL
);
787 var16
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
792 var18
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_17
);
796 var19
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_17
);
800 var20
= nit___nit__MType___has_mproperty(var_mtype
, var_mmodule
, var_mprop
);
808 { /* Inline model#MProperty#intro_mclassdef (var_mprop) on <var_mprop:MProperty> */
809 var24
= var_mprop
->attrs
[COLOR_nit__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_mprop:MProperty> */
810 if (unlikely(var24
== NULL
)) {
811 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
812 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1928);
820 { /* Inline model#MClassDef#mmodule (var22) on <var22:MClassDef> */
821 var27
= var22
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var22:MClassDef> */
822 if (unlikely(var27
== NULL
)) {
823 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
824 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
832 { /* Inline model#MProperty#visibility (var_mprop) on <var_mprop:MProperty> */
833 var30
= var_mprop
->attrs
[COLOR_nit__model__MProperty___visibility
].val
; /* _visibility on <var_mprop:MProperty> */
834 if (unlikely(var30
== NULL
)) {
835 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
836 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1949);
844 var31
= nit___nit__MModule___is_visible(var_mmodule
, var25
, var28
);
851 /* <var_mprop:MProperty> isa MMethod */
852 cltype
= type_nit__MMethod
.color
;
853 idtype
= type_nit__MMethod
.id
;
854 if(cltype
>= var_mprop
->type
->table_size
) {
857 var35
= var_mprop
->type
->type_table
[cltype
] == idtype
;
862 { /* Inline model#MMethod#is_new (var_mprop) on <var_mprop:MProperty(MMethod)> */
863 var39
= var_mprop
->attrs
[COLOR_nit__model__MMethod___is_new
].s
; /* _is_new on <var_mprop:MProperty(MMethod)> */
874 /* <var_mtype:MType> isa MClassType */
875 cltype43
= type_nit__MClassType
.color
;
876 idtype44
= type_nit__MClassType
.id
;
877 if(cltype43
>= var_mtype
->type
->table_size
) {
880 var42
= var_mtype
->type
->type_table
[cltype43
] == idtype44
;
888 { /* Inline model#MProperty#intro_mclassdef (var_mprop) on <var_mprop:MProperty(MMethod)> */
889 var49
= var_mprop
->attrs
[COLOR_nit__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_mprop:MProperty(MMethod)> */
890 if (unlikely(var49
== NULL
)) {
891 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
892 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1928);
900 { /* Inline model#MClassDef#mclass (var47) on <var47:MClassDef> */
901 var52
= var47
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var47:MClassDef> */
902 if (unlikely(var52
== NULL
)) {
903 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
904 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
912 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
913 var55
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
914 if (unlikely(var55
== NULL
)) {
915 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
916 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
924 { /* Inline kernel#Object#!= (var50,var53) on <var50:MClass> */
927 var58
= ((short int(*)(val
* self
, val
* p0
))(var50
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var50
, var_other
); /* == on <var50:MClass>*/
945 if (var_res
== NULL
) {
946 var60
= 1; /* is null */
948 var60
= 0; /* arg is null but recv is not */
951 { /* Inline kernel#Object#== (var_res,((val*)NULL)) on <var_res:nullable MProperty> */
952 var_other63
= ((val
*)NULL
);
954 { /* Inline kernel#Object#is_same_instance (var_res,var_other63) on <var_res:nullable MProperty(MProperty)> */
955 var66
= var_res
== var_other63
;
972 /* <var_res:nullable MProperty(MProperty)> isa MMethod */
973 cltype71
= type_nit__MMethod
.color
;
974 idtype72
= type_nit__MMethod
.id
;
975 if(cltype71
>= var_res
->type
->table_size
) {
978 var70
= var_res
->type
->type_table
[cltype71
] == idtype72
;
982 /* <var_mprop:MProperty> isa MMethod */
983 cltype75
= type_nit__MMethod
.color
;
984 idtype76
= type_nit__MMethod
.id
;
985 if(cltype75
>= var_mprop
->type
->table_size
) {
988 var74
= var_mprop
->type
->type_table
[cltype75
] == idtype76
;
997 { /* Inline model#MMethod#is_init (var_res) on <var_res:nullable MProperty(MMethod)> */
998 var80
= var_res
->attrs
[COLOR_nit__model__MMethod___is_init
].s
; /* _is_init on <var_res:nullable MProperty(MMethod)> */
1000 RET_LABEL79
:(void)0;
1010 { /* Inline model#MMethod#is_init (var_mprop) on <var_mprop:MProperty(MMethod)> */
1011 var84
= var_mprop
->attrs
[COLOR_nit__model__MMethod___is_init
].s
; /* _is_init on <var_mprop:MProperty(MMethod)> */
1013 RET_LABEL83
:(void)0;
1022 { /* Inline model#MProperty#intro_mclassdef (var_res) on <var_res:nullable MProperty(MMethod)> */
1023 var87
= var_res
->attrs
[COLOR_nit__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_res:nullable MProperty(MMethod)> */
1024 if (unlikely(var87
== NULL
)) {
1025 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
1026 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1928);
1030 RET_LABEL86
:(void)0;
1034 { /* Inline model#MClassDef#bound_mtype (var85) on <var85:MClassDef> */
1035 var90
= var85
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var85:MClassDef> */
1036 if (unlikely(var90
== NULL
)) {
1037 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1038 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
1042 RET_LABEL89
:(void)0;
1045 var_restype
= var88
;
1047 { /* Inline model#MProperty#intro_mclassdef (var_mprop) on <var_mprop:MProperty(MMethod)> */
1048 var93
= var_mprop
->attrs
[COLOR_nit__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_mprop:MProperty(MMethod)> */
1049 if (unlikely(var93
== NULL
)) {
1050 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
1051 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1928);
1055 RET_LABEL92
:(void)0;
1059 { /* Inline model#MClassDef#bound_mtype (var91) on <var91:MClassDef> */
1060 var96
= var91
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var91:MClassDef> */
1061 if (unlikely(var96
== NULL
)) {
1062 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1063 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
1067 RET_LABEL95
:(void)0;
1070 var_mproptype
= var94
;
1072 var97
= nit___nit__MType___is_subtype(var_mproptype
, var_mmodule
, ((val
*)NULL
), var_restype
);
1075 var_res
= var_mprop
;
1081 if (var_ress
== NULL
) {
1082 var98
= 1; /* is null */
1084 var98
= 0; /* arg is null but recv is not */
1087 var99
= standard___standard__Array___standard__kernel__Object___61d_61d(var_ress
, ((val
*)NULL
));
1091 var100
= NEW_standard__Array(&type_standard__Array__nit__MProperty
);
1093 standard___standard__Array___standard__kernel__Object__init(var100
); /* Direct call array#Array#init on <var100:Array[MProperty]>*/
1097 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_ress
, var_res
); /* Direct call array#Array#add on <var_ress:nullable Array[MProperty](Array[MProperty])>*/
1102 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_ress
, var_mprop
); /* Direct call array#Array#add on <var_ress:nullable Array[MProperty](Array[MProperty])>*/
1104 BREAK_label
: (void)0;
1106 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_17
); /* Direct call array#ArrayIterator#next on <var_17:ArrayIterator[MProperty]>*/
1109 goto BREAK_label101
;
1112 BREAK_label101
: (void)0;
1114 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_17
); /* Direct call array#ArrayIterator#finish on <var_17:ArrayIterator[MProperty]>*/
1116 if (var_ress
== NULL
) {
1117 var104
= 0; /* is null */
1119 var104
= 1; /* arg is null and recv is not */
1122 { /* Inline kernel#Object#!= (var_ress,((val*)NULL)) on <var_ress:nullable Array[MProperty]> */
1123 var_other
= ((val
*)NULL
);
1125 var107
= ((short int(*)(val
* self
, val
* p0
))(var_ress
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ress
, var_other
); /* == on <var_ress:nullable Array[MProperty](Array[MProperty])>*/
1130 RET_LABEL106
:(void)0;
1136 /* <var_res:nullable MProperty> isa MMethod */
1137 cltype111
= type_nit__MMethod
.color
;
1138 idtype112
= type_nit__MMethod
.id
;
1139 if(var_res
== NULL
) {
1142 if(cltype111
>= var_res
->type
->table_size
) {
1145 var110
= var_res
->type
->type_table
[cltype111
] == idtype112
;
1155 { /* Inline model#MMethod#is_init (var_res) on <var_res:nullable MProperty(MMethod)> */
1156 var116
= var_res
->attrs
[COLOR_nit__model__MMethod___is_init
].s
; /* _is_init on <var_res:nullable MProperty(MMethod)> */
1158 RET_LABEL115
:(void)0;
1167 { /* Inline model#MProperty#intro_mclassdef (var_res) on <var_res:nullable MProperty(MMethod)> */
1168 var119
= var_res
->attrs
[COLOR_nit__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_res:nullable MProperty(MMethod)> */
1169 if (unlikely(var119
== NULL
)) {
1170 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
1171 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1928);
1175 RET_LABEL118
:(void)0;
1179 { /* Inline model#MClassDef#bound_mtype (var117) on <var117:MClassDef> */
1180 var122
= var117
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var117:MClassDef> */
1181 if (unlikely(var122
== NULL
)) {
1182 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1183 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
1187 RET_LABEL121
:(void)0;
1190 var_restype123
= var120
;
1191 var124
= NEW_standard__Array(&type_standard__Array__nit__MProperty
);
1193 standard___standard__Array___standard__kernel__Object__init(var124
); /* Direct call array#Array#init on <var124:Array[MProperty]>*/
1198 var126
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_125
);
1203 var128
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_127
);
1207 var129
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_127
);
1209 var_mprop130
= var129
;
1211 { /* Inline model#MProperty#intro_mclassdef (var_mprop130) on <var_mprop130:MProperty> */
1212 var133
= var_mprop130
->attrs
[COLOR_nit__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_mprop130:MProperty> */
1213 if (unlikely(var133
== NULL
)) {
1214 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
1215 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1928);
1219 RET_LABEL132
:(void)0;
1223 { /* Inline model#MClassDef#bound_mtype (var131) on <var131:MClassDef> */
1224 var136
= var131
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var131:MClassDef> */
1225 if (unlikely(var136
== NULL
)) {
1226 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1227 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
1231 RET_LABEL135
:(void)0;
1234 var_mproptype137
= var134
;
1236 var138
= nit___nit__MType___is_subtype(var_restype123
, var_mmodule
, ((val
*)NULL
), var_mproptype137
);
1241 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_ress2
, var_mprop130
); /* Direct call array#Array#add on <var_ress2:Array[MProperty]>*/
1244 /* <var_mprop130:MProperty> isa MMethod */
1245 cltype142
= type_nit__MMethod
.color
;
1246 idtype143
= type_nit__MMethod
.id
;
1247 if(cltype142
>= var_mprop130
->type
->table_size
) {
1250 var141
= var_mprop130
->type
->type_table
[cltype142
] == idtype143
;
1258 { /* Inline model#MMethod#is_init (var_mprop130) on <var_mprop130:MProperty(MMethod)> */
1259 var148
= var_mprop130
->attrs
[COLOR_nit__model__MMethod___is_init
].s
; /* _is_init on <var_mprop130:MProperty(MMethod)> */
1261 RET_LABEL147
:(void)0;
1269 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_ress2
, var_mprop130
); /* Direct call array#Array#add on <var_ress2:Array[MProperty]>*/
1275 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_127
); /* Direct call array#ArrayIterator#next on <var_127:ArrayIterator[MProperty]>*/
1278 goto BREAK_label150
;
1281 BREAK_label150
: (void)0;
1283 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_127
); /* Direct call array#ArrayIterator#finish on <var_127:ArrayIterator[MProperty]>*/
1286 var151
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_ress2
);
1289 var_ress
= ((val
*)NULL
);
1291 var_ress
= var_ress2
;
1293 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_ress
, var_res
); /* Direct call array#Array#add on <var_ress:nullable Array[MProperty](Array[MProperty])>*/
1298 if (var_ress
== NULL
) {
1299 var152
= 0; /* is null */
1301 var152
= 1; /* arg is null and recv is not */
1304 { /* Inline kernel#Object#!= (var_ress,((val*)NULL)) on <var_ress:nullable Array[MProperty]> */
1305 var_other
= ((val
*)NULL
);
1307 var155
= ((short int(*)(val
* self
, val
* p0
))(var_ress
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ress
, var_other
); /* == on <var_ress:nullable Array[MProperty](Array[MProperty])>*/
1312 RET_LABEL154
:(void)0;
1318 { /* Inline array#AbstractArrayRead#length (var_ress) on <var_ress:nullable Array[MProperty](Array[MProperty])> */
1319 var159
= var_ress
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_ress:nullable Array[MProperty](Array[MProperty])> */
1321 RET_LABEL158
:(void)0;
1325 { /* Inline kernel#Int#> (var157,1l) on <var157:Int> */
1326 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1327 /* <1l:Int> isa OTHER */
1328 var162
= 1; /* easy <1l:Int> isa OTHER*/
1329 if (unlikely(!var162
)) {
1330 var_class_name
= type_standard__Int
.name
;
1331 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1332 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 536);
1335 var165
= var157
> 1l;
1338 RET_LABEL161
:(void)0;
1341 if (unlikely(!var160
)) {
1342 PRINT_ERROR("Runtime error: %s", "Assert failed");
1343 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 168);
1346 var166
= NEW_standard__Array(&type_standard__Array__standard__String
);
1348 standard___standard__Array___standard__kernel__Object__init(var166
); /* Direct call array#Array#init on <var166:Array[String]>*/
1353 var168
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_167
);
1358 var170
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_169
);
1362 var171
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_169
);
1364 var_mprop172
= var171
;
1366 var173
= nit___nit__MProperty___nit__model_base__MEntity__full_name(var_mprop172
);
1369 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_s
, var173
); /* Direct call array#Array#add on <var_s:Array[String]>*/
1372 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_169
); /* Direct call array#ArrayIterator#next on <var_169:ArrayIterator[MProperty]>*/
1375 goto BREAK_label174
;
1378 BREAK_label174
: (void)0;
1380 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_169
); /* Direct call array#ArrayIterator#finish on <var_169:ArrayIterator[MProperty]>*/
1382 if (unlikely(varonce
==NULL
)) {
1383 var175
= NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String
);
1384 if (likely(varonce176
!=NULL
)) {
1385 var177
= varonce176
;
1387 var178
= "Error: ambiguous property name `";
1388 var179
= standard___standard__NativeString___to_s_with_length(var178
, 32l);
1390 varonce176
= var177
;
1392 ((struct instance_standard__NativeArray
*)var175
)->values
[0]=var177
;
1393 if (likely(varonce180
!=NULL
)) {
1394 var181
= varonce180
;
1397 var183
= standard___standard__NativeString___to_s_with_length(var182
, 7l);
1399 varonce180
= var181
;
1401 ((struct instance_standard__NativeArray
*)var175
)->values
[2]=var181
;
1402 if (likely(varonce184
!=NULL
)) {
1403 var185
= varonce184
;
1405 var186
= "`; conflict between ";
1406 var187
= standard___standard__NativeString___to_s_with_length(var186
, 20l);
1408 varonce184
= var185
;
1410 ((struct instance_standard__NativeArray
*)var175
)->values
[4]=var185
;
1411 if (likely(varonce188
!=NULL
)) {
1412 var189
= varonce188
;
1415 var191
= standard___standard__NativeString___to_s_with_length(var190
, 1l);
1417 varonce188
= var189
;
1419 ((struct instance_standard__NativeArray
*)var175
)->values
[6]=var189
;
1424 ((struct instance_standard__NativeArray
*)var175
)->values
[1]=var_name
;
1426 var192
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MType>*/
1428 ((struct instance_standard__NativeArray
*)var175
)->values
[3]=var192
;
1429 if (likely(varonce193
!=NULL
)) {
1430 var194
= varonce193
;
1433 var196
= standard___standard__NativeString___to_s_with_length(var195
, 5l);
1435 varonce193
= var194
;
1438 var197
= standard__string___Collection___join(var_s
, var194
);
1440 ((struct instance_standard__NativeArray
*)var175
)->values
[5]=var197
;
1442 var198
= ((val
*(*)(val
* self
))(var175
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var175
); /* native_to_s on <var175:NativeArray[String]>*/
1446 nit___nit__ModelBuilder___error(self
, var_anode
, var198
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
1451 { /* Inline modelbuilder_base#ModelBuilder#try_get_mproperty_by_name2_cache (self) on <self:ModelBuilder> */
1452 var201
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___try_get_mproperty_by_name2_cache
].val
; /* _try_get_mproperty_by_name2_cache on <self:ModelBuilder> */
1453 if (unlikely(var201
== NULL
)) {
1454 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _try_get_mproperty_by_name2_cache");
1455 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 178);
1459 RET_LABEL200
:(void)0;
1463 more_collections___more_collections__HashMap3____91d_93d_61d(var199
, var_mmodule
, var_mtype
, var_name
, var_res
); /* Direct call more_collections#HashMap3#[]= on <var199:HashMap3[MModule, MType, String, nullable MProperty]>*/
1470 /* method modelbuilder_base#ModelBuilder#try_get_mproperty_by_name2_cache for (self: ModelBuilder): HashMap3[MModule, MType, String, nullable MProperty] */
1471 val
* nit___nit__ModelBuilder___try_get_mproperty_by_name2_cache(val
* self
) {
1472 val
* var
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
1473 val
* var1
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
1474 var1
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___try_get_mproperty_by_name2_cache
].val
; /* _try_get_mproperty_by_name2_cache on <self:ModelBuilder> */
1475 if (unlikely(var1
== NULL
)) {
1476 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _try_get_mproperty_by_name2_cache");
1477 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 178);
1484 /* method modelbuilder_base#ModelBuilder#try_get_mproperty_by_name for (self: ModelBuilder, ANode, MClassDef, String): nullable MProperty */
1485 val
* nit___nit__ModelBuilder___try_get_mproperty_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1486 val
* var
/* : nullable MProperty */;
1487 val
* var_anode
/* var anode: ANode */;
1488 val
* var_mclassdef
/* var mclassdef: MClassDef */;
1489 val
* var_name
/* var name: String */;
1490 val
* var1
/* : MModule */;
1491 val
* var3
/* : MModule */;
1492 val
* var4
/* : MClassType */;
1493 val
* var6
/* : MClassType */;
1494 val
* var7
/* : nullable MProperty */;
1499 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
1500 var3
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
1501 if (unlikely(var3
== NULL
)) {
1502 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
1503 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
1511 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
1512 var6
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
1513 if (unlikely(var6
== NULL
)) {
1514 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1515 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
1523 var7
= nit___nit__ModelBuilder___try_get_mproperty_by_name2(self
, var_anode
, var1
, var4
, var_name
);
1530 /* method modelbuilder_base#ModelBuilder#error for (self: ModelBuilder, nullable ANode, String) */
1531 void nit___nit__ModelBuilder___error(val
* self
, val
* p0
, val
* p1
) {
1532 val
* var_n
/* var n: nullable ANode */;
1533 val
* var_text
/* var text: String */;
1534 val
* var_l
/* var l: nullable Object */;
1535 short int var
/* : Bool */;
1536 short int var1
/* : Bool */;
1537 val
* var_other
/* var other: nullable Object */;
1538 short int var3
/* : Bool */;
1539 short int var4
/* : Bool */;
1540 val
* var5
/* : Location */;
1541 val
* var6
/* : ToolContext */;
1542 val
* var8
/* : ToolContext */;
1543 val
* var9
/* : Message */;
1546 var_l
= ((val
*)NULL
);
1547 if (var_n
== NULL
) {
1548 var
= 0; /* is null */
1550 var
= 1; /* arg is null and recv is not */
1553 { /* Inline kernel#Object#!= (var_n,((val*)NULL)) on <var_n:nullable ANode> */
1554 var_other
= ((val
*)NULL
);
1556 var3
= ((short int(*)(val
* self
, val
* p0
))(var_n
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_n
, var_other
); /* == on <var_n:nullable ANode(ANode)>*/
1567 var5
= ((val
*(*)(val
* self
))(var_n
->class->vft
[COLOR_nit__parser_nodes__ANode__hot_location
]))(var_n
); /* hot_location on <var_n:nullable ANode(ANode)>*/
1573 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
1574 var8
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
1575 if (unlikely(var8
== NULL
)) {
1576 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1577 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1585 var9
= nit___nit__ToolContext___error(var6
, var_l
, var_text
);
1589 /* method modelbuilder_base#ModelBuilder#warning for (self: ModelBuilder, nullable ANode, String, String) */
1590 void nit___nit__ModelBuilder___warning(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1591 val
* var_n
/* var n: nullable ANode */;
1592 val
* var_tag
/* var tag: String */;
1593 val
* var_text
/* var text: String */;
1594 val
* var_l
/* var l: nullable Object */;
1595 short int var
/* : Bool */;
1596 short int var1
/* : Bool */;
1597 val
* var_other
/* var other: nullable Object */;
1598 short int var3
/* : Bool */;
1599 short int var4
/* : Bool */;
1600 val
* var5
/* : Location */;
1601 val
* var6
/* : ToolContext */;
1602 val
* var8
/* : ToolContext */;
1603 val
* var9
/* : nullable Message */;
1607 var_l
= ((val
*)NULL
);
1608 if (var_n
== NULL
) {
1609 var
= 0; /* is null */
1611 var
= 1; /* arg is null and recv is not */
1614 { /* Inline kernel#Object#!= (var_n,((val*)NULL)) on <var_n:nullable ANode> */
1615 var_other
= ((val
*)NULL
);
1617 var3
= ((short int(*)(val
* self
, val
* p0
))(var_n
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_n
, var_other
); /* == on <var_n:nullable ANode(ANode)>*/
1628 var5
= ((val
*(*)(val
* self
))(var_n
->class->vft
[COLOR_nit__parser_nodes__ANode__hot_location
]))(var_n
); /* hot_location on <var_n:nullable ANode(ANode)>*/
1634 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
1635 var8
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
1636 if (unlikely(var8
== NULL
)) {
1637 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1638 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1646 var9
= nit___nit__ToolContext___warning(var6
, var_l
, var_tag
, var_text
);
1650 /* method modelbuilder_base#ModelBuilder#advice for (self: ModelBuilder, nullable ANode, String, String) */
1651 void nit___nit__ModelBuilder___advice(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1652 val
* var_n
/* var n: nullable ANode */;
1653 val
* var_tag
/* var tag: String */;
1654 val
* var_text
/* var text: String */;
1655 val
* var_l
/* var l: nullable Object */;
1656 short int var
/* : Bool */;
1657 short int var1
/* : Bool */;
1658 val
* var_other
/* var other: nullable Object */;
1659 short int var3
/* : Bool */;
1660 short int var4
/* : Bool */;
1661 val
* var5
/* : Location */;
1662 val
* var6
/* : ToolContext */;
1663 val
* var8
/* : ToolContext */;
1664 val
* var9
/* : nullable Message */;
1668 var_l
= ((val
*)NULL
);
1669 if (var_n
== NULL
) {
1670 var
= 0; /* is null */
1672 var
= 1; /* arg is null and recv is not */
1675 { /* Inline kernel#Object#!= (var_n,((val*)NULL)) on <var_n:nullable ANode> */
1676 var_other
= ((val
*)NULL
);
1678 var3
= ((short int(*)(val
* self
, val
* p0
))(var_n
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_n
, var_other
); /* == on <var_n:nullable ANode(ANode)>*/
1689 var5
= ((val
*(*)(val
* self
))(var_n
->class->vft
[COLOR_nit__parser_nodes__ANode__hot_location
]))(var_n
); /* hot_location on <var_n:nullable ANode(ANode)>*/
1695 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
1696 var8
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
1697 if (unlikely(var8
== NULL
)) {
1698 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1699 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1707 var9
= nit___nit__ToolContext___advice(var6
, var_l
, var_tag
, var_text
);
1711 /* method modelbuilder_base#ModelBuilder#force_get_primitive_method for (self: ModelBuilder, nullable ANode, String, MClass, MModule): MMethod */
1712 val
* nit___nit__ModelBuilder___force_get_primitive_method(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
1713 val
* var
/* : MMethod */;
1714 val
* var_n
/* var n: nullable ANode */;
1715 val
* var_name
/* var name: String */;
1716 val
* var_recv
/* var recv: MClass */;
1717 val
* var_mmodule
/* var mmodule: MModule */;
1718 val
* var1
/* : nullable MMethod */;
1719 val
* var_res
/* var res: nullable MMethod */;
1720 short int var2
/* : Bool */;
1721 short int var3
/* : Bool */;
1722 val
* var_other
/* var other: nullable Object */;
1723 short int var5
/* : Bool */;
1724 short int var7
/* : Bool */;
1725 val
* var_l
/* var l: nullable Object */;
1726 short int var8
/* : Bool */;
1727 short int var9
/* : Bool */;
1728 val
* var_other11
/* var other: nullable Object */;
1729 short int var12
/* : Bool */;
1730 short int var13
/* : Bool */;
1731 val
* var14
/* : Location */;
1732 val
* var15
/* : ToolContext */;
1733 val
* var17
/* : ToolContext */;
1734 val
* var18
/* : NativeArray[String] */;
1735 static val
* varonce
;
1736 static val
* varonce19
;
1737 val
* var20
/* : String */;
1738 char* var21
/* : NativeString */;
1739 val
* var22
/* : FlatString */;
1740 static val
* varonce23
;
1741 val
* var24
/* : String */;
1742 char* var25
/* : NativeString */;
1743 val
* var26
/* : FlatString */;
1744 static val
* varonce27
;
1745 val
* var28
/* : String */;
1746 char* var29
/* : NativeString */;
1747 val
* var30
/* : FlatString */;
1748 val
* var31
/* : String */;
1749 val
* var32
/* : String */;
1755 var1
= nit__model___MModule___try_get_primitive_method(var_mmodule
, var_name
, var_recv
);
1758 if (var_res
== NULL
) {
1759 var2
= 1; /* is null */
1761 var2
= 0; /* arg is null but recv is not */
1764 { /* Inline kernel#Object#== (var_res,((val*)NULL)) on <var_res:nullable MMethod> */
1765 var_other
= ((val
*)NULL
);
1767 { /* Inline kernel#Object#is_same_instance (var_res,var_other) on <var_res:nullable MMethod(MMethod)> */
1768 var7
= var_res
== var_other
;
1781 var_l
= ((val
*)NULL
);
1782 if (var_n
== NULL
) {
1783 var8
= 0; /* is null */
1785 var8
= 1; /* arg is null and recv is not */
1788 { /* Inline kernel#Object#!= (var_n,((val*)NULL)) on <var_n:nullable ANode> */
1789 var_other11
= ((val
*)NULL
);
1791 var12
= ((short int(*)(val
* self
, val
* p0
))(var_n
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_n
, var_other11
); /* == on <var_n:nullable ANode(ANode)>*/
1796 RET_LABEL10
:(void)0;
1802 var14
= ((val
*(*)(val
* self
))(var_n
->class->vft
[COLOR_nit__parser_nodes__ANode__hot_location
]))(var_n
); /* hot_location on <var_n:nullable ANode(ANode)>*/
1808 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
1809 var17
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
1810 if (unlikely(var17
== NULL
)) {
1811 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1812 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1816 RET_LABEL16
:(void)0;
1819 if (unlikely(varonce
==NULL
)) {
1820 var18
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
1821 if (likely(varonce19
!=NULL
)) {
1824 var21
= "Fatal Error: `";
1825 var22
= standard___standard__NativeString___to_s_with_length(var21
, 14l);
1829 ((struct instance_standard__NativeArray
*)var18
)->values
[0]=var20
;
1830 if (likely(varonce23
!=NULL
)) {
1833 var25
= "` must have a property named `";
1834 var26
= standard___standard__NativeString___to_s_with_length(var25
, 30l);
1838 ((struct instance_standard__NativeArray
*)var18
)->values
[2]=var24
;
1839 if (likely(varonce27
!=NULL
)) {
1843 var30
= standard___standard__NativeString___to_s_with_length(var29
, 2l);
1847 ((struct instance_standard__NativeArray
*)var18
)->values
[4]=var28
;
1853 var31
= ((val
*(*)(val
* self
))(var_recv
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_recv
); /* to_s on <var_recv:MClass>*/
1855 ((struct instance_standard__NativeArray
*)var18
)->values
[1]=var31
;
1856 ((struct instance_standard__NativeArray
*)var18
)->values
[3]=var_name
;
1858 var32
= ((val
*(*)(val
* self
))(var18
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var18
); /* native_to_s on <var18:NativeArray[String]>*/
1862 nit___nit__ToolContext___fatal_error(var15
, var_l
, var32
); /* Direct call toolcontext#ToolContext#fatal_error on <var15:ToolContext>*/
1864 PRINT_ERROR("Runtime error: %s", "Aborted");
1865 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 222);
1874 /* method modelbuilder_base#ModelBuilder#resolve_mtype_unchecked for (self: ModelBuilder, MModule, nullable MClassDef, AType, Bool): nullable MType */
1875 val
* nit___nit__ModelBuilder___resolve_mtype_unchecked(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
1876 val
* var
/* : nullable MType */;
1877 val
* var_mmodule
/* var mmodule: MModule */;
1878 val
* var_mclassdef
/* var mclassdef: nullable MClassDef */;
1879 val
* var_ntype
/* var ntype: AType */;
1880 short int var_with_virtual
/* var with_virtual: Bool */;
1881 val
* var1
/* : TClassid */;
1882 val
* var3
/* : TClassid */;
1883 val
* var4
/* : String */;
1884 val
* var_name
/* var name: String */;
1885 short int var5
/* : Bool */;
1886 short int var6
/* : Bool */;
1887 short int var7
/* : Bool */;
1888 val
* var_other
/* var other: nullable Object */;
1889 short int var9
/* : Bool */;
1890 short int var10
/* : Bool */;
1891 short int var_
/* var : Bool */;
1892 val
* var11
/* : nullable MProperty */;
1893 short int var12
/* : Bool */;
1896 const char* var_class_name
;
1897 val
* var_prop
/* var prop: nullable MVirtualTypeProp */;
1898 short int var13
/* : Bool */;
1899 short int var14
/* : Bool */;
1900 short int var16
/* : Bool */;
1901 short int var17
/* : Bool */;
1902 val
* var18
/* : ANodes[AType] */;
1903 val
* var20
/* : ANodes[AType] */;
1904 short int var21
/* : Bool */;
1905 short int var22
/* : Bool */;
1906 val
* var23
/* : NativeArray[String] */;
1907 static val
* varonce
;
1908 static val
* varonce24
;
1909 val
* var25
/* : String */;
1910 char* var26
/* : NativeString */;
1911 val
* var27
/* : FlatString */;
1912 static val
* varonce28
;
1913 val
* var29
/* : String */;
1914 char* var30
/* : NativeString */;
1915 val
* var31
/* : FlatString */;
1916 val
* var32
/* : String */;
1917 val
* var33
/* : MVirtualType */;
1918 val
* var35
/* : MVirtualType */;
1919 val
* var_res
/* var res: MType */;
1920 val
* var36
/* : nullable TKwnullable */;
1921 val
* var38
/* : nullable TKwnullable */;
1922 short int var39
/* : Bool */;
1923 short int var40
/* : Bool */;
1924 short int var42
/* : Bool */;
1925 short int var43
/* : Bool */;
1926 val
* var44
/* : MType */;
1927 short int var46
/* : Bool */;
1928 short int var47
/* : Bool */;
1929 short int var49
/* : Bool */;
1930 short int var50
/* : Bool */;
1931 val
* var51
/* : MClass */;
1932 val
* var53
/* : MClass */;
1933 val
* var54
/* : Array[MParameterType] */;
1934 val
* var56
/* : Array[MParameterType] */;
1935 val
* var_57
/* var : Array[MParameterType] */;
1936 val
* var58
/* : ArrayIterator[nullable Object] */;
1937 val
* var_59
/* var : ArrayIterator[MParameterType] */;
1938 short int var60
/* : Bool */;
1939 val
* var61
/* : nullable Object */;
1940 val
* var_p
/* var p: MParameterType */;
1941 val
* var62
/* : String */;
1942 val
* var64
/* : String */;
1943 short int var65
/* : Bool */;
1944 short int var67
/* : Bool */;
1945 short int var68
/* : Bool */;
1946 val
* var69
/* : ANodes[AType] */;
1947 val
* var71
/* : ANodes[AType] */;
1948 short int var72
/* : Bool */;
1949 short int var73
/* : Bool */;
1950 val
* var75
/* : NativeArray[String] */;
1951 static val
* varonce74
;
1952 static val
* varonce76
;
1953 val
* var77
/* : String */;
1954 char* var78
/* : NativeString */;
1955 val
* var79
/* : FlatString */;
1956 static val
* varonce80
;
1957 val
* var81
/* : String */;
1958 char* var82
/* : NativeString */;
1959 val
* var83
/* : FlatString */;
1960 val
* var84
/* : String */;
1961 val
* var85
/* : nullable TKwnullable */;
1962 val
* var87
/* : nullable TKwnullable */;
1963 short int var88
/* : Bool */;
1964 short int var89
/* : Bool */;
1965 short int var91
/* : Bool */;
1966 short int var92
/* : Bool */;
1967 val
* var93
/* : MType */;
1968 val
* var96
/* : nullable MClass */;
1969 val
* var_mclass
/* var mclass: nullable MClass */;
1970 short int var97
/* : Bool */;
1971 short int var98
/* : Bool */;
1972 short int var100
/* : Bool */;
1973 short int var101
/* : Bool */;
1974 val
* var102
/* : ANodes[AType] */;
1975 val
* var104
/* : ANodes[AType] */;
1976 long var105
/* : Int */;
1977 long var_arity
/* var arity: Int */;
1978 long var106
/* : Int */;
1979 long var108
/* : Int */;
1980 short int var109
/* : Bool */;
1981 short int var111
/* : Bool */;
1982 short int var112
/* : Bool */;
1983 short int var113
/* : Bool */;
1984 short int var115
/* : Bool */;
1985 val
* var117
/* : NativeArray[String] */;
1986 static val
* varonce116
;
1987 static val
* varonce118
;
1988 val
* var119
/* : String */;
1989 char* var120
/* : NativeString */;
1990 val
* var121
/* : FlatString */;
1991 static val
* varonce122
;
1992 val
* var123
/* : String */;
1993 char* var124
/* : NativeString */;
1994 val
* var125
/* : FlatString */;
1995 val
* var126
/* : String */;
1996 val
* var127
/* : String */;
1997 long var128
/* : Int */;
1998 long var130
/* : Int */;
1999 short int var131
/* : Bool */;
2000 short int var133
/* : Bool */;
2001 val
* var135
/* : NativeArray[String] */;
2002 static val
* varonce134
;
2003 static val
* varonce136
;
2004 val
* var137
/* : String */;
2005 char* var138
/* : NativeString */;
2006 val
* var139
/* : FlatString */;
2007 static val
* varonce140
;
2008 val
* var141
/* : String */;
2009 char* var142
/* : NativeString */;
2010 val
* var143
/* : FlatString */;
2011 val
* var144
/* : String */;
2012 val
* var146
/* : NativeArray[String] */;
2013 static val
* varonce145
;
2014 static val
* varonce147
;
2015 val
* var148
/* : String */;
2016 char* var149
/* : NativeString */;
2017 val
* var150
/* : FlatString */;
2018 static val
* varonce151
;
2019 val
* var152
/* : String */;
2020 char* var153
/* : NativeString */;
2021 val
* var154
/* : FlatString */;
2022 static val
* varonce155
;
2023 val
* var156
/* : String */;
2024 char* var157
/* : NativeString */;
2025 val
* var158
/* : FlatString */;
2026 static val
* varonce159
;
2027 val
* var160
/* : String */;
2028 char* var161
/* : NativeString */;
2029 val
* var162
/* : FlatString */;
2030 long var163
/* : Int */;
2031 long var165
/* : Int */;
2032 val
* var166
/* : String */;
2033 val
* var167
/* : String */;
2034 val
* var168
/* : String */;
2035 val
* var169
/* : String */;
2036 short int var170
/* : Bool */;
2037 short int var172
/* : Bool */;
2038 val
* var173
/* : MClassType */;
2039 val
* var175
/* : MClassType */;
2040 val
* var176
/* : nullable TKwnullable */;
2041 val
* var178
/* : nullable TKwnullable */;
2042 short int var179
/* : Bool */;
2043 short int var180
/* : Bool */;
2044 short int var182
/* : Bool */;
2045 short int var183
/* : Bool */;
2046 val
* var184
/* : MType */;
2047 val
* var186
/* : Array[MType] */;
2048 val
* var_mtypes
/* var mtypes: Array[MType] */;
2049 val
* var187
/* : ANodes[AType] */;
2050 val
* var189
/* : ANodes[AType] */;
2051 val
* var_190
/* var : ANodes[AType] */;
2052 val
* var191
/* : Iterator[ANode] */;
2053 val
* var_192
/* var : Iterator[AType] */;
2054 short int var193
/* : Bool */;
2055 val
* var194
/* : nullable Object */;
2056 val
* var_nt
/* var nt: AType */;
2057 val
* var195
/* : nullable MType */;
2058 val
* var_mt
/* var mt: nullable MType */;
2059 short int var196
/* : Bool */;
2060 short int var197
/* : Bool */;
2061 val
* var_other199
/* var other: nullable Object */;
2062 short int var200
/* : Bool */;
2063 short int var202
/* : Bool */;
2064 val
* var204
/* : MClassType */;
2065 val
* var205
/* : nullable TKwnullable */;
2066 val
* var207
/* : nullable TKwnullable */;
2067 short int var208
/* : Bool */;
2068 short int var209
/* : Bool */;
2069 short int var211
/* : Bool */;
2070 short int var212
/* : Bool */;
2071 val
* var213
/* : MType */;
2072 val
* var216
/* : NativeArray[String] */;
2073 static val
* varonce215
;
2074 static val
* varonce217
;
2075 val
* var218
/* : String */;
2076 char* var219
/* : NativeString */;
2077 val
* var220
/* : FlatString */;
2078 static val
* varonce221
;
2079 val
* var222
/* : String */;
2080 char* var223
/* : NativeString */;
2081 val
* var224
/* : FlatString */;
2082 static val
* varonce225
;
2083 val
* var226
/* : String */;
2084 char* var227
/* : NativeString */;
2085 val
* var228
/* : FlatString */;
2086 val
* var229
/* : String */;
2087 val
* var230
/* : String */;
2091 var_with_virtual
= p3
;
2093 { /* Inline parser_nodes#AType#n_id (var_ntype) on <var_ntype:AType> */
2094 var3
= var_ntype
->attrs
[COLOR_nit__parser_nodes__AType___n_id
].val
; /* _n_id on <var_ntype:AType> */
2095 if (unlikely(var3
== NULL
)) {
2096 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
2097 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1723);
2105 var4
= nit__lexer_work___Token___text(var1
);
2108 if (var_mclassdef
== NULL
) {
2109 var6
= 0; /* is null */
2111 var6
= 1; /* arg is null and recv is not */
2114 { /* Inline kernel#Object#!= (var_mclassdef,((val*)NULL)) on <var_mclassdef:nullable MClassDef> */
2115 var_other
= ((val
*)NULL
);
2117 var9
= ((short int(*)(val
* self
, val
* p0
))(var_mclassdef
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mclassdef
, var_other
); /* == on <var_mclassdef:nullable MClassDef(MClassDef)>*/
2128 var5
= var_with_virtual
;
2134 var11
= nit___nit__ModelBuilder___try_get_mproperty_by_name(self
, var_ntype
, var_mclassdef
, var_name
);
2136 /* <var11:nullable MProperty> isa nullable MVirtualTypeProp */
2137 cltype
= type_nullable__nit__MVirtualTypeProp
.color
;
2138 idtype
= type_nullable__nit__MVirtualTypeProp
.id
;
2142 if(cltype
>= var11
->type
->table_size
) {
2145 var12
= var11
->type
->type_table
[cltype
] == idtype
;
2148 if (unlikely(!var12
)) {
2149 var_class_name
= var11
== NULL ?
"null" : var11
->type
->name
;
2150 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MVirtualTypeProp", var_class_name
);
2151 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 238);
2155 if (var_prop
== NULL
) {
2156 var13
= 0; /* is null */
2158 var13
= 1; /* arg is null and recv is not */
2161 { /* Inline kernel#Object#!= (var_prop,((val*)NULL)) on <var_prop:nullable MVirtualTypeProp> */
2162 var_other
= ((val
*)NULL
);
2164 var16
= ((short int(*)(val
* self
, val
* p0
))(var_prop
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_prop
, var_other
); /* == on <var_prop:nullable MVirtualTypeProp(MVirtualTypeProp)>*/
2169 RET_LABEL15
:(void)0;
2175 { /* Inline parser_nodes#AType#n_types (var_ntype) on <var_ntype:AType> */
2176 var20
= var_ntype
->attrs
[COLOR_nit__parser_nodes__AType___n_types
].val
; /* _n_types on <var_ntype:AType> */
2177 if (unlikely(var20
== NULL
)) {
2178 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types");
2179 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1729);
2183 RET_LABEL19
:(void)0;
2187 var21
= nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var18
);
2191 if (unlikely(varonce
==NULL
)) {
2192 var23
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2193 if (likely(varonce24
!=NULL
)) {
2196 var26
= "Type Error: formal type `";
2197 var27
= standard___standard__NativeString___to_s_with_length(var26
, 25l);
2201 ((struct instance_standard__NativeArray
*)var23
)->values
[0]=var25
;
2202 if (likely(varonce28
!=NULL
)) {
2205 var30
= "` cannot have formal parameters.";
2206 var31
= standard___standard__NativeString___to_s_with_length(var30
, 32l);
2210 ((struct instance_standard__NativeArray
*)var23
)->values
[2]=var29
;
2215 ((struct instance_standard__NativeArray
*)var23
)->values
[1]=var_name
;
2217 var32
= ((val
*(*)(val
* self
))(var23
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var23
); /* native_to_s on <var23:NativeArray[String]>*/
2221 nit___nit__ModelBuilder___error(self
, var_ntype
, var32
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
2226 { /* Inline model#MVirtualTypeProp#mvirtualtype (var_prop) on <var_prop:nullable MVirtualTypeProp(MVirtualTypeProp)> */
2227 var35
= var_prop
->attrs
[COLOR_nit__model__MVirtualTypeProp___mvirtualtype
].val
; /* _mvirtualtype on <var_prop:nullable MVirtualTypeProp(MVirtualTypeProp)> */
2228 if (unlikely(var35
== NULL
)) {
2229 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mvirtualtype");
2230 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2191);
2234 RET_LABEL34
:(void)0;
2239 { /* Inline parser_nodes#AType#n_kwnullable (var_ntype) on <var_ntype:AType> */
2240 var38
= var_ntype
->attrs
[COLOR_nit__parser_nodes__AType___n_kwnullable
].val
; /* _n_kwnullable on <var_ntype:AType> */
2242 RET_LABEL37
:(void)0;
2245 if (var36
== NULL
) {
2246 var39
= 0; /* is null */
2248 var39
= 1; /* arg is null and recv is not */
2251 { /* Inline kernel#Object#!= (var36,((val*)NULL)) on <var36:nullable TKwnullable> */
2252 var_other
= ((val
*)NULL
);
2254 var42
= ((short int(*)(val
* self
, val
* p0
))(var36
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var36
, var_other
); /* == on <var36:nullable TKwnullable(TKwnullable)>*/
2259 RET_LABEL41
:(void)0;
2265 var44
= nit___nit__MType___as_nullable(var_res
);
2271 { /* Inline modelbuilder_base#AType#mtype= (var_ntype,var_res) on <var_ntype:AType> */
2272 var_ntype
->attrs
[COLOR_nit__modelbuilder_base__AType___mtype
].val
= var_res
; /* _mtype on <var_ntype:AType> */
2273 RET_LABEL45
:(void)0;
2282 if (var_mclassdef
== NULL
) {
2283 var46
= 0; /* is null */
2285 var46
= 1; /* arg is null and recv is not */
2288 { /* Inline kernel#Object#!= (var_mclassdef,((val*)NULL)) on <var_mclassdef:nullable MClassDef> */
2289 var_other
= ((val
*)NULL
);
2291 var49
= ((short int(*)(val
* self
, val
* p0
))(var_mclassdef
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mclassdef
, var_other
); /* == on <var_mclassdef:nullable MClassDef(MClassDef)>*/
2296 RET_LABEL48
:(void)0;
2302 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
2303 var53
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:nullable MClassDef(MClassDef)> */
2304 if (unlikely(var53
== NULL
)) {
2305 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2306 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
2310 RET_LABEL52
:(void)0;
2314 { /* Inline model#MClass#mparameters (var51) on <var51:MClass> */
2315 var56
= var51
->attrs
[COLOR_nit__model__MClass___mparameters
].val
; /* _mparameters on <var51:MClass> */
2316 if (unlikely(var56
== NULL
)) {
2317 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
2318 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 382);
2322 RET_LABEL55
:(void)0;
2327 var58
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_57
);
2332 var60
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_59
);
2336 var61
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_59
);
2340 { /* Inline model#MParameterType#name (var_p) on <var_p:MParameterType> */
2341 var64
= var_p
->attrs
[COLOR_nit__model__MParameterType___name
].val
; /* _name on <var_p:MParameterType> */
2342 if (unlikely(var64
== NULL
)) {
2343 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2344 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1481);
2348 RET_LABEL63
:(void)0;
2352 { /* Inline kernel#Object#!= (var62,var_name) on <var62:String> */
2353 var_other
= var_name
;
2355 var67
= ((short int(*)(val
* self
, val
* p0
))(var62
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var62
, var_other
); /* == on <var62:String>*/
2360 RET_LABEL66
:(void)0;
2368 { /* Inline parser_nodes#AType#n_types (var_ntype) on <var_ntype:AType> */
2369 var71
= var_ntype
->attrs
[COLOR_nit__parser_nodes__AType___n_types
].val
; /* _n_types on <var_ntype:AType> */
2370 if (unlikely(var71
== NULL
)) {
2371 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types");
2372 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1729);
2376 RET_LABEL70
:(void)0;
2380 var72
= nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var69
);
2384 if (unlikely(varonce74
==NULL
)) {
2385 var75
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2386 if (likely(varonce76
!=NULL
)) {
2389 var78
= "Type Error: formal type `";
2390 var79
= standard___standard__NativeString___to_s_with_length(var78
, 25l);
2394 ((struct instance_standard__NativeArray
*)var75
)->values
[0]=var77
;
2395 if (likely(varonce80
!=NULL
)) {
2398 var82
= "` cannot have formal parameters.";
2399 var83
= standard___standard__NativeString___to_s_with_length(var82
, 32l);
2403 ((struct instance_standard__NativeArray
*)var75
)->values
[2]=var81
;
2408 ((struct instance_standard__NativeArray
*)var75
)->values
[1]=var_name
;
2410 var84
= ((val
*(*)(val
* self
))(var75
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var75
); /* native_to_s on <var75:NativeArray[String]>*/
2414 nit___nit__ModelBuilder___error(self
, var_ntype
, var84
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
2420 { /* Inline parser_nodes#AType#n_kwnullable (var_ntype) on <var_ntype:AType> */
2421 var87
= var_ntype
->attrs
[COLOR_nit__parser_nodes__AType___n_kwnullable
].val
; /* _n_kwnullable on <var_ntype:AType> */
2423 RET_LABEL86
:(void)0;
2426 if (var85
== NULL
) {
2427 var88
= 0; /* is null */
2429 var88
= 1; /* arg is null and recv is not */
2432 { /* Inline kernel#Object#!= (var85,((val*)NULL)) on <var85:nullable TKwnullable> */
2433 var_other
= ((val
*)NULL
);
2435 var91
= ((short int(*)(val
* self
, val
* p0
))(var85
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var85
, var_other
); /* == on <var85:nullable TKwnullable(TKwnullable)>*/
2440 RET_LABEL90
:(void)0;
2446 var93
= nit___nit__MType___as_nullable(var_res
);
2452 { /* Inline modelbuilder_base#AType#mtype= (var_ntype,var_res) on <var_ntype:AType> */
2453 var_ntype
->attrs
[COLOR_nit__modelbuilder_base__AType___mtype
].val
= var_res
; /* _mtype on <var_ntype:AType> */
2454 RET_LABEL94
:(void)0;
2459 BREAK_label
: (void)0;
2461 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_59
); /* Direct call array#ArrayIterator#next on <var_59:ArrayIterator[MParameterType]>*/
2467 BREAK_label95
: (void)0;
2469 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_59
); /* Direct call array#ArrayIterator#finish on <var_59:ArrayIterator[MParameterType]>*/
2474 var96
= nit___nit__ModelBuilder___try_get_mclass_by_name(self
, var_ntype
, var_mmodule
, var_name
);
2477 if (var_mclass
== NULL
) {
2478 var97
= 0; /* is null */
2480 var97
= 1; /* arg is null and recv is not */
2483 { /* Inline kernel#Object#!= (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
2484 var_other
= ((val
*)NULL
);
2486 var100
= ((short int(*)(val
* self
, val
* p0
))(var_mclass
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mclass
, var_other
); /* == on <var_mclass:nullable MClass(MClass)>*/
2491 RET_LABEL99
:(void)0;
2497 { /* Inline parser_nodes#AType#n_types (var_ntype) on <var_ntype:AType> */
2498 var104
= var_ntype
->attrs
[COLOR_nit__parser_nodes__AType___n_types
].val
; /* _n_types on <var_ntype:AType> */
2499 if (unlikely(var104
== NULL
)) {
2500 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types");
2501 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1729);
2505 RET_LABEL103
:(void)0;
2509 var105
= nit___nit__ANodes___standard__abstract_collection__Collection__length(var102
);
2513 { /* Inline model#MClass#arity (var_mclass) on <var_mclass:nullable MClass(MClass)> */
2514 var108
= var_mclass
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <var_mclass:nullable MClass(MClass)> */
2516 RET_LABEL107
:(void)0;
2520 { /* Inline kernel#Int#!= (var_arity,var106) on <var_arity:Int> */
2521 var111
= var_arity
== var106
;
2525 RET_LABEL110
:(void)0;
2530 { /* Inline kernel#Int#== (var_arity,0l) on <var_arity:Int> */
2531 var115
= var_arity
== 0l;
2534 RET_LABEL114
:(void)0;
2538 if (unlikely(varonce116
==NULL
)) {
2539 var117
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2540 if (likely(varonce118
!=NULL
)) {
2541 var119
= varonce118
;
2543 var120
= "Type Error: `";
2544 var121
= standard___standard__NativeString___to_s_with_length(var120
, 13l);
2546 varonce118
= var119
;
2548 ((struct instance_standard__NativeArray
*)var117
)->values
[0]=var119
;
2549 if (likely(varonce122
!=NULL
)) {
2550 var123
= varonce122
;
2552 var124
= "` is a generic class.";
2553 var125
= standard___standard__NativeString___to_s_with_length(var124
, 21l);
2555 varonce122
= var123
;
2557 ((struct instance_standard__NativeArray
*)var117
)->values
[2]=var123
;
2559 var117
= varonce116
;
2563 var126
= nit___nit__MClass___signature_to_s(var_mclass
);
2565 ((struct instance_standard__NativeArray
*)var117
)->values
[1]=var126
;
2567 var127
= ((val
*(*)(val
* self
))(var117
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var117
); /* native_to_s on <var117:NativeArray[String]>*/
2569 varonce116
= var117
;
2571 nit___nit__ModelBuilder___error(self
, var_ntype
, var127
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
2575 { /* Inline model#MClass#arity (var_mclass) on <var_mclass:nullable MClass(MClass)> */
2576 var130
= var_mclass
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <var_mclass:nullable MClass(MClass)> */
2578 RET_LABEL129
:(void)0;
2582 { /* Inline kernel#Int#== (var128,0l) on <var128:Int> */
2583 var133
= var128
== 0l;
2586 RET_LABEL132
:(void)0;
2590 if (unlikely(varonce134
==NULL
)) {
2591 var135
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2592 if (likely(varonce136
!=NULL
)) {
2593 var137
= varonce136
;
2595 var138
= "Type Error: `";
2596 var139
= standard___standard__NativeString___to_s_with_length(var138
, 13l);
2598 varonce136
= var137
;
2600 ((struct instance_standard__NativeArray
*)var135
)->values
[0]=var137
;
2601 if (likely(varonce140
!=NULL
)) {
2602 var141
= varonce140
;
2604 var142
= "` is not a generic class.";
2605 var143
= standard___standard__NativeString___to_s_with_length(var142
, 25l);
2607 varonce140
= var141
;
2609 ((struct instance_standard__NativeArray
*)var135
)->values
[2]=var141
;
2611 var135
= varonce134
;
2614 ((struct instance_standard__NativeArray
*)var135
)->values
[1]=var_name
;
2616 var144
= ((val
*(*)(val
* self
))(var135
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var135
); /* native_to_s on <var135:NativeArray[String]>*/
2618 varonce134
= var135
;
2620 nit___nit__ModelBuilder___error(self
, var_ntype
, var144
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
2623 if (unlikely(varonce145
==NULL
)) {
2624 var146
= NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String
);
2625 if (likely(varonce147
!=NULL
)) {
2626 var148
= varonce147
;
2628 var149
= "Type Error: expected ";
2629 var150
= standard___standard__NativeString___to_s_with_length(var149
, 21l);
2631 varonce147
= var148
;
2633 ((struct instance_standard__NativeArray
*)var146
)->values
[0]=var148
;
2634 if (likely(varonce151
!=NULL
)) {
2635 var152
= varonce151
;
2637 var153
= " formal argument(s) for `";
2638 var154
= standard___standard__NativeString___to_s_with_length(var153
, 25l);
2640 varonce151
= var152
;
2642 ((struct instance_standard__NativeArray
*)var146
)->values
[2]=var152
;
2643 if (likely(varonce155
!=NULL
)) {
2644 var156
= varonce155
;
2647 var158
= standard___standard__NativeString___to_s_with_length(var157
, 7l);
2649 varonce155
= var156
;
2651 ((struct instance_standard__NativeArray
*)var146
)->values
[4]=var156
;
2652 if (likely(varonce159
!=NULL
)) {
2653 var160
= varonce159
;
2656 var162
= standard___standard__NativeString___to_s_with_length(var161
, 1l);
2658 varonce159
= var160
;
2660 ((struct instance_standard__NativeArray
*)var146
)->values
[6]=var160
;
2662 var146
= varonce145
;
2666 { /* Inline model#MClass#arity (var_mclass) on <var_mclass:nullable MClass(MClass)> */
2667 var165
= var_mclass
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <var_mclass:nullable MClass(MClass)> */
2669 RET_LABEL164
:(void)0;
2672 var166
= standard__string___Int___Object__to_s(var163
);
2673 ((struct instance_standard__NativeArray
*)var146
)->values
[1]=var166
;
2675 var167
= nit___nit__MClass___signature_to_s(var_mclass
);
2677 ((struct instance_standard__NativeArray
*)var146
)->values
[3]=var167
;
2678 var168
= standard__string___Int___Object__to_s(var_arity
);
2679 ((struct instance_standard__NativeArray
*)var146
)->values
[5]=var168
;
2681 var169
= ((val
*(*)(val
* self
))(var146
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var146
); /* native_to_s on <var146:NativeArray[String]>*/
2683 varonce145
= var146
;
2685 nit___nit__ModelBuilder___error(self
, var_ntype
, var169
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
2694 { /* Inline kernel#Int#== (var_arity,0l) on <var_arity:Int> */
2695 var172
= var_arity
== 0l;
2698 RET_LABEL171
:(void)0;
2703 { /* Inline model#MClass#mclass_type (var_mclass) on <var_mclass:nullable MClass(MClass)> */
2704 var175
= var_mclass
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:nullable MClass(MClass)> */
2705 if (unlikely(var175
== NULL
)) {
2706 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
2707 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
2711 RET_LABEL174
:(void)0;
2716 { /* Inline parser_nodes#AType#n_kwnullable (var_ntype) on <var_ntype:AType> */
2717 var178
= var_ntype
->attrs
[COLOR_nit__parser_nodes__AType___n_kwnullable
].val
; /* _n_kwnullable on <var_ntype:AType> */
2719 RET_LABEL177
:(void)0;
2722 if (var176
== NULL
) {
2723 var179
= 0; /* is null */
2725 var179
= 1; /* arg is null and recv is not */
2728 { /* Inline kernel#Object#!= (var176,((val*)NULL)) on <var176:nullable TKwnullable> */
2729 var_other
= ((val
*)NULL
);
2731 var182
= ((short int(*)(val
* self
, val
* p0
))(var176
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var176
, var_other
); /* == on <var176:nullable TKwnullable(TKwnullable)>*/
2736 RET_LABEL181
:(void)0;
2742 var184
= nit___nit__MType___as_nullable(var_res
);
2748 { /* Inline modelbuilder_base#AType#mtype= (var_ntype,var_res) on <var_ntype:AType> */
2749 var_ntype
->attrs
[COLOR_nit__modelbuilder_base__AType___mtype
].val
= var_res
; /* _mtype on <var_ntype:AType> */
2750 RET_LABEL185
:(void)0;
2756 var186
= NEW_standard__Array(&type_standard__Array__nit__MType
);
2758 standard___standard__Array___standard__kernel__Object__init(var186
); /* Direct call array#Array#init on <var186:Array[MType]>*/
2760 var_mtypes
= var186
;
2762 { /* Inline parser_nodes#AType#n_types (var_ntype) on <var_ntype:AType> */
2763 var189
= var_ntype
->attrs
[COLOR_nit__parser_nodes__AType___n_types
].val
; /* _n_types on <var_ntype:AType> */
2764 if (unlikely(var189
== NULL
)) {
2765 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types");
2766 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1729);
2770 RET_LABEL188
:(void)0;
2775 var191
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_190
);
2780 var193
= ((short int(*)(val
* self
))((((long)var_192
&3)?class_info
[((long)var_192
&3)]:var_192
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_192
); /* is_ok on <var_192:Iterator[AType]>*/
2784 var194
= ((val
*(*)(val
* self
))((((long)var_192
&3)?class_info
[((long)var_192
&3)]:var_192
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_192
); /* item on <var_192:Iterator[AType]>*/
2788 var195
= nit___nit__ModelBuilder___resolve_mtype_unchecked(self
, var_mmodule
, var_mclassdef
, var_nt
, var_with_virtual
);
2791 if (var_mt
== NULL
) {
2792 var196
= 1; /* is null */
2794 var196
= 0; /* arg is null but recv is not */
2797 { /* Inline kernel#Object#== (var_mt,((val*)NULL)) on <var_mt:nullable MType> */
2798 var_other199
= ((val
*)NULL
);
2800 { /* Inline kernel#Object#is_same_instance (var_mt,var_other199) on <var_mt:nullable MType(MType)> */
2801 var202
= var_mt
== var_other199
;
2804 RET_LABEL201
:(void)0;
2809 RET_LABEL198
:(void)0;
2819 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_mtypes
, var_mt
); /* Direct call array#Array#add on <var_mtypes:Array[MType]>*/
2822 ((void(*)(val
* self
))((((long)var_192
&3)?class_info
[((long)var_192
&3)]:var_192
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_192
); /* next on <var_192:Iterator[AType]>*/
2825 goto BREAK_label203
;
2828 BREAK_label203
: (void)0;
2830 ((void(*)(val
* self
))((((long)var_192
&3)?class_info
[((long)var_192
&3)]:var_192
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_192
); /* finish on <var_192:Iterator[AType]>*/
2833 var204
= nit___nit__MClass___get_mtype(var_mclass
, var_mtypes
);
2837 { /* Inline parser_nodes#AType#n_kwnullable (var_ntype) on <var_ntype:AType> */
2838 var207
= var_ntype
->attrs
[COLOR_nit__parser_nodes__AType___n_kwnullable
].val
; /* _n_kwnullable on <var_ntype:AType> */
2840 RET_LABEL206
:(void)0;
2843 if (var205
== NULL
) {
2844 var208
= 0; /* is null */
2846 var208
= 1; /* arg is null and recv is not */
2849 { /* Inline kernel#Object#!= (var205,((val*)NULL)) on <var205:nullable TKwnullable> */
2850 var_other
= ((val
*)NULL
);
2852 var211
= ((short int(*)(val
* self
, val
* p0
))(var205
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var205
, var_other
); /* == on <var205:nullable TKwnullable(TKwnullable)>*/
2857 RET_LABEL210
:(void)0;
2863 var213
= nit___nit__MType___as_nullable(var_res
);
2869 { /* Inline modelbuilder_base#AType#mtype= (var_ntype,var_res) on <var_ntype:AType> */
2870 var_ntype
->attrs
[COLOR_nit__modelbuilder_base__AType___mtype
].val
= var_res
; /* _mtype on <var_ntype:AType> */
2871 RET_LABEL214
:(void)0;
2879 if (unlikely(varonce215
==NULL
)) {
2880 var216
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
2881 if (likely(varonce217
!=NULL
)) {
2882 var218
= varonce217
;
2884 var219
= "Error: class `";
2885 var220
= standard___standard__NativeString___to_s_with_length(var219
, 14l);
2887 varonce217
= var218
;
2889 ((struct instance_standard__NativeArray
*)var216
)->values
[0]=var218
;
2890 if (likely(varonce221
!=NULL
)) {
2891 var222
= varonce221
;
2893 var223
= "` not found in module `";
2894 var224
= standard___standard__NativeString___to_s_with_length(var223
, 23l);
2896 varonce221
= var222
;
2898 ((struct instance_standard__NativeArray
*)var216
)->values
[2]=var222
;
2899 if (likely(varonce225
!=NULL
)) {
2900 var226
= varonce225
;
2903 var228
= standard___standard__NativeString___to_s_with_length(var227
, 2l);
2905 varonce225
= var226
;
2907 ((struct instance_standard__NativeArray
*)var216
)->values
[4]=var226
;
2909 var216
= varonce215
;
2912 ((struct instance_standard__NativeArray
*)var216
)->values
[1]=var_name
;
2914 var229
= ((val
*(*)(val
* self
))(var_mmodule
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mmodule
); /* to_s on <var_mmodule:MModule>*/
2916 ((struct instance_standard__NativeArray
*)var216
)->values
[3]=var229
;
2918 var230
= ((val
*(*)(val
* self
))(var216
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var216
); /* native_to_s on <var216:NativeArray[String]>*/
2920 varonce215
= var216
;
2922 nit___nit__ModelBuilder___error(self
, var_ntype
, var230
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
2929 /* method modelbuilder_base#ModelBuilder#resolve_mtype for (self: ModelBuilder, MModule, nullable MClassDef, AType): nullable MType */
2930 val
* nit___nit__ModelBuilder___resolve_mtype(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2931 val
* var
/* : nullable MType */;
2932 val
* var_mmodule
/* var mmodule: MModule */;
2933 val
* var_mclassdef
/* var mclassdef: nullable MClassDef */;
2934 val
* var_ntype
/* var ntype: AType */;
2935 val
* var1
/* : nullable MType */;
2936 val
* var3
/* : nullable MType */;
2937 val
* var_mtype
/* var mtype: nullable MType */;
2938 short int var4
/* : Bool */;
2939 short int var5
/* : Bool */;
2940 val
* var_other
/* var other: nullable Object */;
2941 short int var7
/* : Bool */;
2942 short int var9
/* : Bool */;
2943 val
* var10
/* : nullable MType */;
2944 short int var11
/* : Bool */;
2945 short int var12
/* : Bool */;
2946 short int var14
/* : Bool */;
2947 short int var16
/* : Bool */;
2948 short int var17
/* : Bool */;
2949 short int var19
/* : Bool */;
2950 short int var20
/* : Bool */;
2953 val
* var21
/* : MClass */;
2954 val
* var23
/* : MClass */;
2955 val
* var_mclass
/* var mclass: MClass */;
2956 long var_i
/* var i: Int */;
2957 long var24
/* : Int */;
2958 long var26
/* : Int */;
2959 long var_
/* var : Int */;
2960 short int var27
/* : Bool */;
2961 short int var29
/* : Bool */;
2964 const char* var_class_name
;
2965 short int var32
/* : Bool */;
2966 val
* var33
/* : nullable MClassDef */;
2967 val
* var_intro
/* var intro: nullable MClassDef */;
2968 short int var34
/* : Bool */;
2969 short int var35
/* : Bool */;
2970 short int var37
/* : Bool */;
2971 short int var39
/* : Bool */;
2972 val
* var40
/* : MClassType */;
2973 val
* var42
/* : MClassType */;
2974 val
* var43
/* : Array[MType] */;
2975 val
* var44
/* : nullable Object */;
2976 val
* var_bound
/* var bound: MType */;
2977 val
* var45
/* : ANodes[AType] */;
2978 val
* var47
/* : ANodes[AType] */;
2979 val
* var48
/* : ANode */;
2980 val
* var_nt
/* var nt: AType */;
2981 val
* var49
/* : nullable MType */;
2982 val
* var_mt
/* var mt: nullable MType */;
2983 short int var50
/* : Bool */;
2984 short int var51
/* : Bool */;
2985 short int var53
/* : Bool */;
2986 short int var55
/* : Bool */;
2987 short int var56
/* : Bool */;
2988 short int var57
/* : Bool */;
2989 val
* var_other59
/* var other: nullable Object */;
2990 short int var60
/* : Bool */;
2991 short int var61
/* : Bool */;
2992 val
* var62
/* : MClassType */;
2993 val
* var64
/* : MClassType */;
2994 val
* var_anchor
/* var anchor: nullable Object */;
2995 short int var65
/* : Bool */;
2996 short int var66
/* : Bool */;
2997 val
* var67
/* : NativeArray[String] */;
2998 static val
* varonce
;
2999 static val
* varonce68
;
3000 val
* var69
/* : String */;
3001 char* var70
/* : NativeString */;
3002 val
* var71
/* : FlatString */;
3003 static val
* varonce72
;
3004 val
* var73
/* : String */;
3005 char* var74
/* : NativeString */;
3006 val
* var75
/* : FlatString */;
3007 static val
* varonce76
;
3008 val
* var77
/* : String */;
3009 char* var78
/* : NativeString */;
3010 val
* var79
/* : FlatString */;
3011 val
* var80
/* : String */;
3012 val
* var81
/* : String */;
3013 val
* var82
/* : String */;
3014 long var83
/* : Int */;
3019 { /* Inline modelbuilder_base#AType#mtype (var_ntype) on <var_ntype:AType> */
3020 var3
= var_ntype
->attrs
[COLOR_nit__modelbuilder_base__AType___mtype
].val
; /* _mtype on <var_ntype:AType> */
3026 if (var_mtype
== NULL
) {
3027 var4
= 1; /* is null */
3029 var4
= 0; /* arg is null but recv is not */
3032 { /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
3033 var_other
= ((val
*)NULL
);
3035 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
3036 var9
= var_mtype
== var_other
;
3050 var10
= nit___nit__ModelBuilder___resolve_mtype_unchecked(self
, var_mmodule
, var_mclassdef
, var_ntype
, 1);
3055 if (var_mtype
== NULL
) {
3056 var11
= 1; /* is null */
3058 var11
= 0; /* arg is null but recv is not */
3061 { /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
3062 var_other
= ((val
*)NULL
);
3064 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
3065 var16
= var_mtype
== var_other
;
3068 RET_LABEL15
:(void)0;
3073 RET_LABEL13
:(void)0;
3083 { /* Inline modelbuilder_base#AType#checked_mtype (var_ntype) on <var_ntype:AType> */
3084 var19
= var_ntype
->attrs
[COLOR_nit__modelbuilder_base__AType___checked_mtype
].s
; /* _checked_mtype on <var_ntype:AType> */
3086 RET_LABEL18
:(void)0;
3094 /* <var_mtype:nullable MType(MType)> isa MGenericType */
3095 cltype
= type_nit__MGenericType
.color
;
3096 idtype
= type_nit__MGenericType
.id
;
3097 if(cltype
>= var_mtype
->type
->table_size
) {
3100 var20
= var_mtype
->type
->type_table
[cltype
] == idtype
;
3104 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:nullable MType(MGenericType)> */
3105 var23
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:nullable MType(MGenericType)> */
3106 if (unlikely(var23
== NULL
)) {
3107 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3108 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
3112 RET_LABEL22
:(void)0;
3118 { /* Inline model#MClass#arity (var_mclass) on <var_mclass:MClass> */
3119 var26
= var_mclass
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <var_mclass:MClass> */
3121 RET_LABEL25
:(void)0;
3127 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
3128 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
3129 /* <var_:Int> isa OTHER */
3130 var29
= 1; /* easy <var_:Int> isa OTHER*/
3131 if (unlikely(!var29
)) {
3132 var_class_name
= type_standard__Int
.name
;
3133 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3134 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
3137 var32
= var_i
< var_
;
3140 RET_LABEL28
:(void)0;
3145 var33
= nit___nit__MClass___try_intro(var_mclass
);
3148 if (var_intro
== NULL
) {
3149 var34
= 1; /* is null */
3151 var34
= 0; /* arg is null but recv is not */
3154 { /* Inline kernel#Object#== (var_intro,((val*)NULL)) on <var_intro:nullable MClassDef> */
3155 var_other
= ((val
*)NULL
);
3157 { /* Inline kernel#Object#is_same_instance (var_intro,var_other) on <var_intro:nullable MClassDef(MClassDef)> */
3158 var39
= var_intro
== var_other
;
3161 RET_LABEL38
:(void)0;
3166 RET_LABEL36
:(void)0;
3176 { /* Inline model#MClassDef#bound_mtype (var_intro) on <var_intro:nullable MClassDef(MClassDef)> */
3177 var42
= var_intro
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intro:nullable MClassDef(MClassDef)> */
3178 if (unlikely(var42
== NULL
)) {
3179 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3180 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
3184 RET_LABEL41
:(void)0;
3188 var43
= ((val
*(*)(val
* self
))(var40
->class->vft
[COLOR_nit__model__MClassType__arguments
]))(var40
); /* arguments on <var40:MClassType>*/
3191 var44
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var43
, var_i
);
3195 { /* Inline parser_nodes#AType#n_types (var_ntype) on <var_ntype:AType> */
3196 var47
= var_ntype
->attrs
[COLOR_nit__parser_nodes__AType___n_types
].val
; /* _n_types on <var_ntype:AType> */
3197 if (unlikely(var47
== NULL
)) {
3198 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types");
3199 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1729);
3203 RET_LABEL46
:(void)0;
3207 var48
= nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var45
, var_i
);
3211 var49
= nit___nit__ModelBuilder___resolve_mtype(self
, var_mmodule
, var_mclassdef
, var_nt
);
3214 if (var_mt
== NULL
) {
3215 var50
= 1; /* is null */
3217 var50
= 0; /* arg is null but recv is not */
3220 { /* Inline kernel#Object#== (var_mt,((val*)NULL)) on <var_mt:nullable MType> */
3221 var_other
= ((val
*)NULL
);
3223 { /* Inline kernel#Object#is_same_instance (var_mt,var_other) on <var_mt:nullable MType(MType)> */
3224 var55
= var_mt
== var_other
;
3227 RET_LABEL54
:(void)0;
3232 RET_LABEL52
:(void)0;
3241 if (var_mclassdef
== NULL
) {
3242 var56
= 0; /* is null */
3244 var56
= 1; /* arg is null and recv is not */
3247 { /* Inline kernel#Object#!= (var_mclassdef,((val*)NULL)) on <var_mclassdef:nullable MClassDef> */
3248 var_other59
= ((val
*)NULL
);
3250 var60
= ((short int(*)(val
* self
, val
* p0
))(var_mclassdef
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mclassdef
, var_other59
); /* == on <var_mclassdef:nullable MClassDef(MClassDef)>*/
3255 RET_LABEL58
:(void)0;
3261 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
3262 var64
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:nullable MClassDef(MClassDef)> */
3263 if (unlikely(var64
== NULL
)) {
3264 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3265 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
3269 RET_LABEL63
:(void)0;
3274 var_anchor
= ((val
*)NULL
);
3277 var65
= nit___nit__ModelBuilder___check_subtype(self
, var_nt
, var_mmodule
, var_anchor
, var_mt
, var_bound
);
3281 if (unlikely(varonce
==NULL
)) {
3282 var67
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
3283 if (likely(varonce68
!=NULL
)) {
3286 var70
= "Type Error: expected `";
3287 var71
= standard___standard__NativeString___to_s_with_length(var70
, 22l);
3291 ((struct instance_standard__NativeArray
*)var67
)->values
[0]=var69
;
3292 if (likely(varonce72
!=NULL
)) {
3296 var75
= standard___standard__NativeString___to_s_with_length(var74
, 8l);
3300 ((struct instance_standard__NativeArray
*)var67
)->values
[2]=var73
;
3301 if (likely(varonce76
!=NULL
)) {
3305 var79
= standard___standard__NativeString___to_s_with_length(var78
, 2l);
3309 ((struct instance_standard__NativeArray
*)var67
)->values
[4]=var77
;
3315 var80
= ((val
*(*)(val
* self
))(var_bound
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_bound
); /* to_s on <var_bound:MType>*/
3317 ((struct instance_standard__NativeArray
*)var67
)->values
[1]=var80
;
3319 var81
= ((val
*(*)(val
* self
))(var_mt
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mt
); /* to_s on <var_mt:nullable MType(MType)>*/
3321 ((struct instance_standard__NativeArray
*)var67
)->values
[3]=var81
;
3323 var82
= ((val
*(*)(val
* self
))(var67
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var67
); /* native_to_s on <var67:NativeArray[String]>*/
3327 nit___nit__ModelBuilder___error(self
, var_nt
, var82
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
3334 var83
= standard___standard__Int___Discrete__successor(var_i
, 1l);
3341 BREAK_label
: (void)0;
3345 { /* Inline modelbuilder_base#AType#checked_mtype= (var_ntype,1) on <var_ntype:AType> */
3346 var_ntype
->attrs
[COLOR_nit__modelbuilder_base__AType___checked_mtype
].s
= 1; /* _checked_mtype on <var_ntype:AType> */
3347 RET_LABEL84
:(void)0;
3355 /* method modelbuilder_base#ModelBuilder#check_subtype for (self: ModelBuilder, ANode, MModule, nullable MClassType, MType, MType): Bool */
3356 short int nit___nit__ModelBuilder___check_subtype(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
, val
* p4
) {
3357 short int var
/* : Bool */;
3358 val
* var_node
/* var node: ANode */;
3359 val
* var_mmodule
/* var mmodule: MModule */;
3360 val
* var_anchor
/* var anchor: nullable MClassType */;
3361 val
* var_sub
/* var sub: MType */;
3362 val
* var_sup
/* var sup: MType */;
3363 short int var1
/* : Bool */;
3370 var1
= nit___nit__MType___is_subtype(var_sub
, var_mmodule
, var_anchor
, var_sup
);
3377 /* method modelbuilder_base#ModelBuilder#check_sametype for (self: ModelBuilder, ANode, MModule, nullable MClassType, MType, MType): Bool */
3378 short int nit___nit__ModelBuilder___check_sametype(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
, val
* p4
) {
3379 short int var
/* : Bool */;
3380 val
* var_node
/* var node: ANode */;
3381 val
* var_mmodule
/* var mmodule: MModule */;
3382 val
* var_anchor
/* var anchor: nullable MClassType */;
3383 val
* var_sub
/* var sub: MType */;
3384 val
* var_sup
/* var sup: MType */;
3385 short int var1
/* : Bool */;
3386 short int var2
/* : Bool */;
3387 short int var_
/* var : Bool */;
3388 short int var3
/* : Bool */;
3395 var2
= nit___nit__MType___is_subtype(var_sub
, var_mmodule
, var_anchor
, var_sup
);
3400 var3
= nit___nit__MType___is_subtype(var_sup
, var_mmodule
, var_anchor
, var_sub
);
3411 /* method modelbuilder_base#AType#mtype for (self: AType): nullable MType */
3412 val
* nit__modelbuilder_base___AType___mtype(val
* self
) {
3413 val
* var
/* : nullable MType */;
3414 val
* var1
/* : nullable MType */;
3415 var1
= self
->attrs
[COLOR_nit__modelbuilder_base__AType___mtype
].val
; /* _mtype on <self:AType> */
3420 /* method modelbuilder_base#AType#mtype= for (self: AType, nullable MType) */
3421 void nit__modelbuilder_base___AType___mtype_61d(val
* self
, val
* p0
) {
3422 self
->attrs
[COLOR_nit__modelbuilder_base__AType___mtype
].val
= p0
; /* _mtype on <self:AType> */
3425 /* method modelbuilder_base#AType#checked_mtype for (self: AType): Bool */
3426 short int nit__modelbuilder_base___AType___checked_mtype(val
* self
) {
3427 short int var
/* : Bool */;
3428 short int var1
/* : Bool */;
3429 var1
= self
->attrs
[COLOR_nit__modelbuilder_base__AType___checked_mtype
].s
; /* _checked_mtype on <self:AType> */
3434 /* method modelbuilder_base#AType#checked_mtype= for (self: AType, Bool) */
3435 void nit__modelbuilder_base___AType___checked_mtype_61d(val
* self
, short int p0
) {
3436 self
->attrs
[COLOR_nit__modelbuilder_base__AType___checked_mtype
].s
= p0
; /* _checked_mtype on <self:AType> */
3439 /* method modelbuilder_base#AIntrudeVisibility#mvisibility for (self: AIntrudeVisibility): MVisibility */
3440 val
* nit__modelbuilder_base___AIntrudeVisibility___AVisibility__mvisibility(val
* self
) {
3441 val
* var
/* : MVisibility */;
3442 val
* var1
/* : Sys */;
3443 val
* var2
/* : MVisibility */;
3446 var2
= nit__model_base___standard__Sys___intrude_visibility(var1
);
3453 /* method modelbuilder_base#APublicVisibility#mvisibility for (self: APublicVisibility): MVisibility */
3454 val
* nit__modelbuilder_base___APublicVisibility___AVisibility__mvisibility(val
* self
) {
3455 val
* var
/* : MVisibility */;
3456 val
* var1
/* : Sys */;
3457 val
* var2
/* : MVisibility */;
3460 var2
= nit__model_base___standard__Sys___public_visibility(var1
);
3467 /* method modelbuilder_base#AProtectedVisibility#mvisibility for (self: AProtectedVisibility): MVisibility */
3468 val
* nit__modelbuilder_base___AProtectedVisibility___AVisibility__mvisibility(val
* self
) {
3469 val
* var
/* : MVisibility */;
3470 val
* var1
/* : Sys */;
3471 val
* var2
/* : MVisibility */;
3474 var2
= nit__model_base___standard__Sys___protected_visibility(var1
);
3481 /* method modelbuilder_base#APrivateVisibility#mvisibility for (self: APrivateVisibility): MVisibility */
3482 val
* nit__modelbuilder_base___APrivateVisibility___AVisibility__mvisibility(val
* self
) {
3483 val
* var
/* : MVisibility */;
3484 val
* var1
/* : Sys */;
3485 val
* var2
/* : MVisibility */;
3488 var2
= nit__model_base___standard__Sys___private_visibility(var1
);
3495 /* method modelbuilder_base#ADoc#mdoc_cache for (self: ADoc): nullable MDoc */
3496 val
* nit__modelbuilder_base___ADoc___mdoc_cache(val
* self
) {
3497 val
* var
/* : nullable MDoc */;
3498 val
* var1
/* : nullable MDoc */;
3499 var1
= self
->attrs
[COLOR_nit__modelbuilder_base__ADoc___mdoc_cache
].val
; /* _mdoc_cache on <self:ADoc> */
3504 /* method modelbuilder_base#ADoc#mdoc_cache= for (self: ADoc, nullable MDoc) */
3505 void nit__modelbuilder_base___ADoc___mdoc_cache_61d(val
* self
, val
* p0
) {
3506 self
->attrs
[COLOR_nit__modelbuilder_base__ADoc___mdoc_cache
].val
= p0
; /* _mdoc_cache on <self:ADoc> */
3509 /* method modelbuilder_base#ADoc#to_mdoc for (self: ADoc): MDoc */
3510 val
* nit__modelbuilder_base___ADoc___to_mdoc(val
* self
) {
3511 val
* var
/* : MDoc */;
3512 val
* var1
/* : nullable MDoc */;
3513 val
* var3
/* : nullable MDoc */;
3514 val
* var_res
/* var res: nullable MDoc */;
3515 short int var4
/* : Bool */;
3516 short int var5
/* : Bool */;
3517 val
* var_other
/* var other: nullable Object */;
3518 short int var7
/* : Bool */;
3519 short int var8
/* : Bool */;
3520 val
* var9
/* : MDoc */;
3521 val
* var10
/* : Location */;
3522 val
* var12
/* : Location */;
3523 val
* var13
/* : ANodes[TComment] */;
3524 val
* var15
/* : ANodes[TComment] */;
3525 val
* var_
/* var : ANodes[TComment] */;
3526 val
* var16
/* : Iterator[ANode] */;
3527 val
* var_17
/* var : Iterator[TComment] */;
3528 short int var18
/* : Bool */;
3529 val
* var19
/* : nullable Object */;
3530 val
* var_c
/* var c: TComment */;
3531 val
* var20
/* : String */;
3532 val
* var_text
/* var text: String */;
3533 long var21
/* : Int */;
3534 short int var22
/* : Bool */;
3535 short int var24
/* : Bool */;
3538 const char* var_class_name
;
3539 short int var25
/* : Bool */;
3540 val
* var26
/* : Array[String] */;
3541 val
* var28
/* : Array[String] */;
3542 static val
* varonce
;
3543 val
* var29
/* : String */;
3544 char* var30
/* : NativeString */;
3545 val
* var31
/* : FlatString */;
3546 val
* var32
/* : SequenceRead[Char] */;
3547 val
* var33
/* : nullable Object */;
3548 short int var34
/* : Bool */;
3549 short int var36
/* : Bool */;
3550 uint32_t var37
/* : Char */;
3551 val
* var38
/* : SequenceRead[Char] */;
3552 val
* var39
/* : nullable Object */;
3553 short int var40
/* : Bool */;
3554 short int var42
/* : Bool */;
3555 uint32_t var43
/* : Char */;
3556 val
* var44
/* : Text */;
3557 val
* var45
/* : Text */;
3558 val
* var46
/* : SequenceRead[Char] */;
3559 val
* var47
/* : nullable Object */;
3560 short int var48
/* : Bool */;
3561 short int var50
/* : Bool */;
3562 uint32_t var51
/* : Char */;
3563 long var52
/* : Int */;
3564 long var53
/* : Int */;
3565 short int var55
/* : Bool */;
3568 const char* var_class_name58
;
3569 long var59
/* : Int */;
3570 val
* var60
/* : Text */;
3571 val
* var61
/* : Array[String] */;
3572 val
* var63
/* : Array[String] */;
3574 { /* Inline modelbuilder_base#ADoc#mdoc_cache (self) on <self:ADoc> */
3575 var3
= self
->attrs
[COLOR_nit__modelbuilder_base__ADoc___mdoc_cache
].val
; /* _mdoc_cache on <self:ADoc> */
3581 if (var_res
== NULL
) {
3582 var4
= 0; /* is null */
3584 var4
= 1; /* arg is null and recv is not */
3587 { /* Inline kernel#Object#!= (var_res,((val*)NULL)) on <var_res:nullable MDoc> */
3588 var_other
= ((val
*)NULL
);
3590 var7
= ((short int(*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res
, var_other
); /* == on <var_res:nullable MDoc(MDoc)>*/
3604 var9
= NEW_nit__MDoc(&type_nit__MDoc
);
3606 { /* Inline parser_nodes#ANode#location (self) on <self:ADoc> */
3607 var12
= self
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <self:ADoc> */
3608 if (unlikely(var12
== NULL
)) {
3609 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
3610 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 24);
3614 RET_LABEL11
:(void)0;
3618 ((void(*)(val
* self
, val
* p0
))(var9
->class->vft
[COLOR_nit__mdoc__MDoc__location_61d
]))(var9
, var10
); /* location= on <var9:MDoc>*/
3621 ((void(*)(val
* self
))(var9
->class->vft
[COLOR_standard__kernel__Object__init
]))(var9
); /* init on <var9:MDoc>*/
3625 { /* Inline parser_nodes#ADoc#n_comment (self) on <self:ADoc> */
3626 var15
= self
->attrs
[COLOR_nit__parser_nodes__ADoc___n_comment
].val
; /* _n_comment on <self:ADoc> */
3627 if (unlikely(var15
== NULL
)) {
3628 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_comment");
3629 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2945);
3633 RET_LABEL14
:(void)0;
3638 var16
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_
);
3643 var18
= ((short int(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_17
); /* is_ok on <var_17:Iterator[TComment]>*/
3647 var19
= ((val
*(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_17
); /* item on <var_17:Iterator[TComment]>*/
3651 var20
= nit__lexer_work___Token___text(var_c
);
3655 var21
= ((long(*)(val
* self
))(var_text
->class->vft
[COLOR_standard__string__Text__length
]))(var_text
); /* length on <var_text:String>*/
3658 { /* Inline kernel#Int#< (var21,2l) on <var21:Int> */
3659 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
3660 /* <2l:Int> isa OTHER */
3661 var24
= 1; /* easy <2l:Int> isa OTHER*/
3662 if (unlikely(!var24
)) {
3663 var_class_name
= type_standard__Int
.name
;
3664 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3665 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
3671 RET_LABEL23
:(void)0;
3676 { /* Inline mdoc#MDoc#content (var_res) on <var_res:nullable MDoc(MDoc)> */
3677 var28
= var_res
->attrs
[COLOR_nit__mdoc__MDoc___content
].val
; /* _content on <var_res:nullable MDoc(MDoc)> */
3678 if (unlikely(var28
== NULL
)) {
3679 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content");
3680 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mdoc
, 23);
3684 RET_LABEL27
:(void)0;
3687 if (likely(varonce
!=NULL
)) {
3691 var31
= standard___standard__NativeString___to_s_with_length(var30
, 0l);
3696 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var26
, var29
); /* Direct call array#Array#add on <var26:Array[String]>*/
3702 var32
= ((val
*(*)(val
* self
))(var_text
->class->vft
[COLOR_standard__string__Text__chars
]))(var_text
); /* chars on <var_text:String>*/
3705 var33
= ((val
*(*)(val
* self
, long p0
))((((long)var32
&3)?class_info
[((long)var32
&3)]:var32
->class)->vft
[COLOR_standard__abstract_collection__SequenceRead___91d_93d
]))(var32
, 0l); /* [] on <var32:SequenceRead[Char]>*/
3708 { /* Inline kernel#Char#== (var33,'#') on <var33:nullable Object(Char)> */
3709 var37
= (uint32_t)((long)(var33
)>>2);
3710 var36
= (var33
!= NULL
) && (var37
== '#');
3713 RET_LABEL35
:(void)0;
3716 if (unlikely(!var34
)) {
3717 PRINT_ERROR("Runtime error: %s", "Assert failed");
3718 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 397);
3722 var38
= ((val
*(*)(val
* self
))(var_text
->class->vft
[COLOR_standard__string__Text__chars
]))(var_text
); /* chars on <var_text:String>*/
3725 var39
= ((val
*(*)(val
* self
, long p0
))((((long)var38
&3)?class_info
[((long)var38
&3)]:var38
->class)->vft
[COLOR_standard__abstract_collection__SequenceRead___91d_93d
]))(var38
, 1l); /* [] on <var38:SequenceRead[Char]>*/
3728 { /* Inline kernel#Char#== (var39,' ') on <var39:nullable Object(Char)> */
3729 var43
= (uint32_t)((long)(var39
)>>2);
3730 var42
= (var39
!= NULL
) && (var43
== ' ');
3733 RET_LABEL41
:(void)0;
3738 var44
= standard___standard__Text___substring_from(var_text
, 2l);
3743 var45
= standard___standard__Text___substring_from(var_text
, 1l);
3748 var46
= ((val
*(*)(val
* self
))(var_text
->class->vft
[COLOR_standard__string__Text__chars
]))(var_text
); /* chars on <var_text:String>*/
3751 var47
= ((val
*(*)(val
* self
))((((long)var46
&3)?class_info
[((long)var46
&3)]:var46
->class)->vft
[COLOR_standard__abstract_collection__SequenceRead__last
]))(var46
); /* last on <var46:SequenceRead[Char]>*/
3754 { /* Inline kernel#Char#== (var47,'\n') on <var47:nullable Object(Char)> */
3755 var51
= (uint32_t)((long)(var47
)>>2);
3756 var50
= (var47
!= NULL
) && (var51
== '\n');
3759 RET_LABEL49
:(void)0;
3764 var52
= ((long(*)(val
* self
))(var_text
->class->vft
[COLOR_standard__string__Text__length
]))(var_text
); /* length on <var_text:String>*/
3767 { /* Inline kernel#Int#- (var52,1l) on <var52:Int> */
3768 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3769 /* <1l:Int> isa OTHER */
3770 var55
= 1; /* easy <1l:Int> isa OTHER*/
3771 if (unlikely(!var55
)) {
3772 var_class_name58
= type_standard__Int
.name
;
3773 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name58
);
3774 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 540);
3780 RET_LABEL54
:(void)0;
3784 var60
= ((val
*(*)(val
* self
, long p0
, long p1
))(var_text
->class->vft
[COLOR_standard__string__Text__substring
]))(var_text
, 0l, var53
); /* substring on <var_text:String>*/
3790 { /* Inline mdoc#MDoc#content (var_res) on <var_res:nullable MDoc(MDoc)> */
3791 var63
= var_res
->attrs
[COLOR_nit__mdoc__MDoc___content
].val
; /* _content on <var_res:nullable MDoc(MDoc)> */
3792 if (unlikely(var63
== NULL
)) {
3793 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content");
3794 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mdoc
, 23);
3798 RET_LABEL62
:(void)0;
3802 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var61
, var_text
); /* Direct call array#Array#add on <var61:Array[String]>*/
3804 BREAK_label
: (void)0;
3806 ((void(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_17
); /* next on <var_17:Iterator[TComment]>*/
3812 BREAK_label64
: (void)0;
3814 ((void(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_17
); /* finish on <var_17:Iterator[TComment]>*/
3817 { /* Inline modelbuilder_base#ADoc#mdoc_cache= (self,var_res) on <self:ADoc> */
3818 self
->attrs
[COLOR_nit__modelbuilder_base__ADoc___mdoc_cache
].val
= var_res
; /* _mdoc_cache on <self:ADoc> */
3819 RET_LABEL65
:(void)0;