1 #include "nit__model.sep.0.h"
2 /* method model#Model#mclasses for (self: Model): Array[MClass] */
3 val
* nit__model___Model___mclasses(val
* self
) {
4 val
* var
/* : Array[MClass] */;
5 val
* var1
/* : Array[MClass] */;
6 var1
= self
->attrs
[COLOR_nit__model__Model___mclasses
].val
; /* _mclasses on <self:Model> */
7 if (unlikely(var1
== NULL
)) {
8 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclasses");
9 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 34);
16 /* method model#Model#mproperties for (self: Model): Array[MProperty] */
17 val
* nit__model___Model___mproperties(val
* self
) {
18 val
* var
/* : Array[MProperty] */;
19 val
* var1
/* : Array[MProperty] */;
20 var1
= self
->attrs
[COLOR_nit__model__Model___mproperties
].val
; /* _mproperties on <self:Model> */
21 if (unlikely(var1
== NULL
)) {
22 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperties");
23 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 37);
30 /* method model#Model#mclassdef_hierarchy for (self: Model): POSet[MClassDef] */
31 val
* nit__model___Model___mclassdef_hierarchy(val
* self
) {
32 val
* var
/* : POSet[MClassDef] */;
33 val
* var1
/* : POSet[MClassDef] */;
34 var1
= self
->attrs
[COLOR_nit__model__Model___mclassdef_hierarchy
].val
; /* _mclassdef_hierarchy on <self:Model> */
35 if (unlikely(var1
== NULL
)) {
36 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef_hierarchy");
37 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 40);
44 /* method model#Model#intro_mtype_specialization_hierarchy for (self: Model): POSet[MClassType] */
45 val
* nit__model___Model___intro_mtype_specialization_hierarchy(val
* self
) {
46 val
* var
/* : POSet[MClassType] */;
47 val
* var1
/* : POSet[MClassType] */;
48 var1
= self
->attrs
[COLOR_nit__model__Model___intro_mtype_specialization_hierarchy
].val
; /* _intro_mtype_specialization_hierarchy on <self:Model> */
49 if (unlikely(var1
== NULL
)) {
50 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mtype_specialization_hierarchy");
51 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 46);
58 /* method model#Model#full_mtype_specialization_hierarchy for (self: Model): POSet[MClassType] */
59 val
* nit__model___Model___full_mtype_specialization_hierarchy(val
* self
) {
60 val
* var
/* : POSet[MClassType] */;
61 val
* var1
/* : POSet[MClassType] */;
62 var1
= self
->attrs
[COLOR_nit__model__Model___full_mtype_specialization_hierarchy
].val
; /* _full_mtype_specialization_hierarchy on <self:Model> */
63 if (unlikely(var1
== NULL
)) {
64 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _full_mtype_specialization_hierarchy");
65 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 57);
72 /* method model#Model#mclasses_by_name for (self: Model): MultiHashMap[String, MClass] */
73 val
* nit__model___Model___mclasses_by_name(val
* self
) {
74 val
* var
/* : MultiHashMap[String, MClass] */;
75 val
* var1
/* : MultiHashMap[String, MClass] */;
76 var1
= self
->attrs
[COLOR_nit__model__Model___mclasses_by_name
].val
; /* _mclasses_by_name on <self:Model> */
77 if (unlikely(var1
== NULL
)) {
78 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclasses_by_name");
79 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 66);
86 /* method model#Model#get_mclasses_by_name for (self: Model, String): nullable Array[MClass] */
87 val
* nit__model___Model___get_mclasses_by_name(val
* self
, val
* p0
) {
88 val
* var
/* : nullable Array[MClass] */;
89 val
* var_name
/* var name: String */;
90 val
* var1
/* : MultiHashMap[String, MClass] */;
91 val
* var3
/* : MultiHashMap[String, MClass] */;
92 val
* var4
/* : nullable Object */;
95 { /* Inline model#Model#mclasses_by_name (self) on <self:Model> */
96 var3
= self
->attrs
[COLOR_nit__model__Model___mclasses_by_name
].val
; /* _mclasses_by_name on <self:Model> */
97 if (unlikely(var3
== NULL
)) {
98 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclasses_by_name");
99 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 66);
107 var4
= standard___standard__HashMap___standard__abstract_collection__MapRead__get_or_null(var1
, var_name
);
114 /* method model#Model#mproperties_by_name for (self: Model): MultiHashMap[String, MProperty] */
115 val
* nit__model___Model___mproperties_by_name(val
* self
) {
116 val
* var
/* : MultiHashMap[String, MProperty] */;
117 val
* var1
/* : MultiHashMap[String, MProperty] */;
118 var1
= self
->attrs
[COLOR_nit__model__Model___mproperties_by_name
].val
; /* _mproperties_by_name on <self:Model> */
119 if (unlikely(var1
== NULL
)) {
120 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperties_by_name");
121 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 80);
128 /* method model#Model#get_mproperties_by_name for (self: Model, String): nullable Array[MProperty] */
129 val
* nit__model___Model___get_mproperties_by_name(val
* self
, val
* p0
) {
130 val
* var
/* : nullable Array[MProperty] */;
131 val
* var_name
/* var name: String */;
132 val
* var1
/* : MultiHashMap[String, MProperty] */;
133 val
* var3
/* : MultiHashMap[String, MProperty] */;
134 val
* var4
/* : nullable Object */;
137 { /* Inline model#Model#mproperties_by_name (self) on <self:Model> */
138 var3
= self
->attrs
[COLOR_nit__model__Model___mproperties_by_name
].val
; /* _mproperties_by_name on <self:Model> */
139 if (unlikely(var3
== NULL
)) {
140 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperties_by_name");
141 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 80);
149 var4
= standard___standard__HashMap___standard__abstract_collection__MapRead__get_or_null(var1
, var_name
);
156 /* method model#Model#null_type for (self: Model): MNullType */
157 val
* nit__model___Model___null_type(val
* self
) {
158 val
* var
/* : MNullType */;
159 val
* var1
/* : MNullType */;
160 var1
= self
->attrs
[COLOR_nit__model__Model___null_type
].val
; /* _null_type on <self:Model> */
161 if (unlikely(var1
== NULL
)) {
162 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _null_type");
163 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 94);
170 /* method model#MModule#intro_mclasses for (self: MModule): Array[MClass] */
171 val
* nit__model___MModule___intro_mclasses(val
* self
) {
172 val
* var
/* : Array[MClass] */;
173 val
* var1
/* : Array[MClass] */;
174 var1
= self
->attrs
[COLOR_nit__model__MModule___intro_mclasses
].val
; /* _intro_mclasses on <self:MModule> */
175 if (unlikely(var1
== NULL
)) {
176 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclasses");
177 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 128);
184 /* method model#MModule#mclassdefs for (self: MModule): Array[MClassDef] */
185 val
* nit__model___MModule___mclassdefs(val
* self
) {
186 val
* var
/* : Array[MClassDef] */;
187 val
* var1
/* : Array[MClassDef] */;
188 var1
= self
->attrs
[COLOR_nit__model__MModule___mclassdefs
].val
; /* _mclassdefs on <self:MModule> */
189 if (unlikely(var1
== NULL
)) {
190 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
191 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 131);
198 /* method model#MModule#flatten_mclass_hierarchy for (self: MModule): POSet[MClass] */
199 val
* nit__model___MModule___flatten_mclass_hierarchy(val
* self
) {
200 val
* var
/* : POSet[MClass] */;
201 val
* var1
/* : nullable POSet[MClass] */;
202 val
* var3
/* : nullable POSet[MClass] */;
203 val
* var_res
/* var res: nullable POSet[MClass] */;
204 val
* var4
/* : null */;
205 short int var5
/* : Bool */;
206 short int var6
/* : Bool */;
207 val
* var_other
/* var other: nullable Object */;
208 short int var8
/* : Bool */;
209 short int var9
/* : Bool */;
210 val
* var10
/* : POSet[MClass] */;
211 val
* var12
/* : POSetElement[MModule] */;
212 val
* var14
/* : POSetElement[MModule] */;
213 val
* var15
/* : Collection[nullable Object] */;
214 val
* var_
/* var : Collection[MModule] */;
215 val
* var16
/* : Iterator[nullable Object] */;
216 val
* var_17
/* var : Iterator[MModule] */;
217 short int var18
/* : Bool */;
218 val
* var19
/* : nullable Object */;
219 val
* var_m
/* var m: MModule */;
220 val
* var20
/* : Array[MClassDef] */;
221 val
* var22
/* : Array[MClassDef] */;
222 val
* var_23
/* var : Array[MClassDef] */;
223 val
* var24
/* : ArrayIterator[nullable Object] */;
224 val
* var_25
/* var : ArrayIterator[MClassDef] */;
225 short int var26
/* : Bool */;
226 val
* var27
/* : nullable Object */;
227 val
* var_cd
/* var cd: MClassDef */;
228 val
* var28
/* : MClass */;
229 val
* var30
/* : MClass */;
230 val
* var_c
/* var c: MClass */;
231 val
* var31
/* : POSetElement[nullable Object] */;
232 val
* var32
/* : Array[MClassType] */;
233 val
* var34
/* : Array[MClassType] */;
234 val
* var_35
/* var : Array[MClassType] */;
235 val
* var36
/* : ArrayIterator[nullable Object] */;
236 val
* var_37
/* var : ArrayIterator[MClassType] */;
237 short int var38
/* : Bool */;
238 val
* var39
/* : nullable Object */;
239 val
* var_s
/* var s: MClassType */;
240 val
* var40
/* : MClass */;
241 val
* var42
/* : MClass */;
243 { /* Inline model#MModule#flatten_mclass_hierarchy_cache (self) on <self:MModule> */
244 var3
= self
->attrs
[COLOR_nit__model__MModule___flatten_mclass_hierarchy_cache
].val
; /* _flatten_mclass_hierarchy_cache on <self:MModule> */
251 if (var_res
== NULL
) {
252 var5
= 0; /* is null */
254 var5
= 1; /* arg is null and recv is not */
257 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable POSet[MClass]> */
260 var8
= ((short int (*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable POSet[MClass](POSet[MClass])>*/;
274 var10
= NEW_poset__POSet(&type_poset__POSet__nit__MClass
);
276 { /* Inline kernel#Object#init (var10) on <var10:POSet[MClass]> */
282 { /* Inline mmodule#MModule#in_importation (self) on <self:MModule> */
283 var14
= self
->attrs
[COLOR_nit__mmodule__MModule___in_importation
].val
; /* _in_importation on <self:MModule> */
284 if (unlikely(var14
== NULL
)) {
285 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
286 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 96);
294 var15
= poset___poset__POSetElement___greaters(var12
);
298 var16
= ((val
* (*)(val
* self
))(var_
->class->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_
) /* iterator on <var_:Collection[MModule]>*/;
303 var18
= ((short int (*)(val
* self
))(var_17
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_17
) /* is_ok on <var_17:Iterator[MModule]>*/;
307 var19
= ((val
* (*)(val
* self
))(var_17
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_17
) /* item on <var_17:Iterator[MModule]>*/;
311 { /* Inline model#MModule#mclassdefs (var_m) on <var_m:MModule> */
312 var22
= var_m
->attrs
[COLOR_nit__model__MModule___mclassdefs
].val
; /* _mclassdefs on <var_m:MModule> */
313 if (unlikely(var22
== NULL
)) {
314 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
315 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 131);
324 var24
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_23
);
329 var26
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_25
);
333 var27
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_25
);
337 { /* Inline model#MClassDef#mclass (var_cd) on <var_cd:MClassDef> */
338 var30
= var_cd
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_cd:MClassDef> */
339 if (unlikely(var30
== NULL
)) {
340 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
341 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
350 var31
= poset___poset__POSet___add_node(var_res
, var_c
);
353 { /* Inline model#MClassDef#supertypes (var_cd) on <var_cd:MClassDef> */
354 var34
= var_cd
->attrs
[COLOR_nit__model__MClassDef___supertypes
].val
; /* _supertypes on <var_cd:MClassDef> */
355 if (unlikely(var34
== NULL
)) {
356 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
357 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 566);
366 var36
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_35
);
371 var38
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_37
);
375 var39
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_37
);
379 { /* Inline model#MClassType#mclass (var_s) on <var_s:MClassType> */
380 var42
= var_s
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_s:MClassType> */
381 if (unlikely(var42
== NULL
)) {
382 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
383 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
391 poset___poset__POSet___add_edge(var_res
, var_c
, var40
); /* Direct call poset#POSet#add_edge on <var_res:nullable POSet[MClass](POSet[MClass])>*/
394 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_37
); /* Direct call array#ArrayIterator#next on <var_37:ArrayIterator[MClassType]>*/
400 BREAK_label
: (void)0;
402 { /* Inline abstract_collection#Iterator#finish (var_37) on <var_37:ArrayIterator[MClassType]> */
407 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_25
); /* Direct call array#ArrayIterator#next on <var_25:ArrayIterator[MClassDef]>*/
413 BREAK_label44
: (void)0;
415 { /* Inline abstract_collection#Iterator#finish (var_25) on <var_25:ArrayIterator[MClassDef]> */
420 ((void (*)(val
* self
))(var_17
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_17
) /* next on <var_17:Iterator[MModule]>*/;
426 BREAK_label46
: (void)0;
428 { /* Inline abstract_collection#Iterator#finish (var_17) on <var_17:Iterator[MModule]> */
433 { /* Inline model#MModule#flatten_mclass_hierarchy_cache= (self,var_res) on <self:MModule> */
434 self
->attrs
[COLOR_nit__model__MModule___flatten_mclass_hierarchy_cache
].val
= var_res
; /* _flatten_mclass_hierarchy_cache on <self:MModule> */
443 /* method model#MModule#linearize_mclasses for (self: MModule, Array[MClass]) */
444 void nit__model___MModule___linearize_mclasses(val
* self
, val
* p0
) {
445 val
* var_mclasses
/* var mclasses: Array[MClass] */;
446 val
* var
/* : POSet[MClass] */;
449 var
= nit__model___MModule___flatten_mclass_hierarchy(self
);
452 standard___standard__Comparator___sort(var
, var_mclasses
); /* Direct call sorter#Comparator#sort on <var:POSet[MClass]>*/
456 /* method model#MModule#linearize_mclassdefs for (self: MModule, Array[MClassDef]) */
457 void nit__model___MModule___linearize_mclassdefs(val
* self
, val
* p0
) {
458 val
* var_mclassdefs
/* var mclassdefs: Array[MClassDef] */;
459 val
* var
/* : MClassDefSorter */;
460 val
* var_sorter
/* var sorter: MClassDefSorter */;
462 var
= NEW_nit__model__MClassDefSorter(&type_nit__model__MClassDefSorter
);
464 ((void (*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_nit__model__MClassDefSorter__mmodule_61d
]))(var
, self
) /* mmodule= on <var:MClassDefSorter>*/;
467 ((void (*)(val
* self
))(var
->class->vft
[COLOR_standard__kernel__Object__init
]))(var
) /* init on <var:MClassDefSorter>*/;
471 standard___standard__Comparator___sort(var_sorter
, var_mclassdefs
); /* Direct call sorter#Comparator#sort on <var_sorter:MClassDefSorter>*/
475 /* method model#MModule#linearize_mpropdefs for (self: MModule, Array[MPropDef]) */
476 void nit__model___MModule___linearize_mpropdefs(val
* self
, val
* p0
) {
477 val
* var_mpropdefs
/* var mpropdefs: Array[MPropDef] */;
478 val
* var
/* : MPropDefSorter */;
479 val
* var_sorter
/* var sorter: MPropDefSorter */;
481 var
= NEW_nit__model__MPropDefSorter(&type_nit__model__MPropDefSorter
);
483 ((void (*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_nit__model__MPropDefSorter__mmodule_61d
]))(var
, self
) /* mmodule= on <var:MPropDefSorter>*/;
486 ((void (*)(val
* self
))(var
->class->vft
[COLOR_standard__kernel__Object__init
]))(var
) /* init on <var:MPropDefSorter>*/;
490 standard___standard__Comparator___sort(var_sorter
, var_mpropdefs
); /* Direct call sorter#Comparator#sort on <var_sorter:MPropDefSorter>*/
494 /* method model#MModule#flatten_mclass_hierarchy_cache for (self: MModule): nullable POSet[MClass] */
495 val
* nit__model___MModule___flatten_mclass_hierarchy_cache(val
* self
) {
496 val
* var
/* : nullable POSet[MClass] */;
497 val
* var1
/* : nullable POSet[MClass] */;
498 var1
= self
->attrs
[COLOR_nit__model__MModule___flatten_mclass_hierarchy_cache
].val
; /* _flatten_mclass_hierarchy_cache on <self:MModule> */
503 /* method model#MModule#flatten_mclass_hierarchy_cache= for (self: MModule, nullable POSet[MClass]) */
504 void nit__model___MModule___flatten_mclass_hierarchy_cache_61d(val
* self
, val
* p0
) {
505 self
->attrs
[COLOR_nit__model__MModule___flatten_mclass_hierarchy_cache
].val
= p0
; /* _flatten_mclass_hierarchy_cache on <self:MModule> */
508 /* method model#MModule#object_type for (self: MModule): MClassType */
509 val
* nit__model___MModule___object_type(val
* self
) {
510 val
* var
/* : MClassType */;
511 val
* var1
/* : nullable MClassType */;
512 val
* var3
/* : nullable MClassType */;
513 val
* var_res
/* var res: nullable MClassType */;
514 val
* var4
/* : null */;
515 short int var5
/* : Bool */;
516 short int var6
/* : Bool */;
517 val
* var_other
/* var other: nullable Object */;
518 short int var8
/* : Bool */;
519 short int var9
/* : Bool */;
521 val
* var10
/* : String */;
522 char* var11
/* : NativeString */;
523 long var12
/* : Int */;
524 val
* var13
/* : FlatString */;
525 val
* var14
/* : MClass */;
526 val
* var15
/* : MClassType */;
527 val
* var17
/* : MClassType */;
529 { /* Inline model#MModule#object_type_cache (self) on <self:MModule> */
530 var3
= self
->attrs
[COLOR_nit__model__MModule___object_type_cache
].val
; /* _object_type_cache on <self:MModule> */
537 if (var_res
== NULL
) {
538 var5
= 0; /* is null */
540 var5
= 1; /* arg is null and recv is not */
543 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable MClassType> */
546 var8
= ((short int (*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable MClassType(MClassType)>*/;
565 var13
= standard___standard__NativeString___to_s_with_length(var11
, var12
);
570 var14
= nit__model___MModule___get_primitive_class(self
, var10
);
573 { /* Inline model#MClass#mclass_type (var14) on <var14:MClass> */
574 var17
= var14
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var14:MClass> */
575 if (unlikely(var17
== NULL
)) {
576 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
577 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
586 { /* Inline model#MModule#object_type_cache= (self,var_res) on <self:MModule> */
587 self
->attrs
[COLOR_nit__model__MModule___object_type_cache
].val
= var_res
; /* _object_type_cache on <self:MModule> */
596 /* method model#MModule#object_type_cache for (self: MModule): nullable MClassType */
597 val
* nit__model___MModule___object_type_cache(val
* self
) {
598 val
* var
/* : nullable MClassType */;
599 val
* var1
/* : nullable MClassType */;
600 var1
= self
->attrs
[COLOR_nit__model__MModule___object_type_cache
].val
; /* _object_type_cache on <self:MModule> */
605 /* method model#MModule#object_type_cache= for (self: MModule, nullable MClassType) */
606 void nit__model___MModule___object_type_cache_61d(val
* self
, val
* p0
) {
607 self
->attrs
[COLOR_nit__model__MModule___object_type_cache
].val
= p0
; /* _object_type_cache on <self:MModule> */
610 /* method model#MModule#pointer_type for (self: MModule): MClassType */
611 val
* nit__model___MModule___pointer_type(val
* self
) {
612 val
* var
/* : MClassType */;
613 short int var1
/* : Bool */;
614 val
* var2
/* : MClassType */;
616 val
* var3
/* : String */;
617 char* var4
/* : NativeString */;
618 long var5
/* : Int */;
619 val
* var6
/* : FlatString */;
620 val
* var7
/* : MClass */;
621 val
* var8
/* : MClassType */;
622 val
* var10
/* : MClassType */;
623 var1
= self
->attrs
[COLOR_nit__model__MModule___pointer_type
].val
!= NULL
; /* _pointer_type on <self:MModule> */
625 var2
= self
->attrs
[COLOR_nit__model__MModule___pointer_type
].val
; /* _pointer_type on <self:MModule> */
626 if (unlikely(var2
== NULL
)) {
627 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _pointer_type");
628 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 209);
637 var6
= standard___standard__NativeString___to_s_with_length(var4
, var5
);
642 var7
= nit__model___MModule___get_primitive_class(self
, var3
);
645 { /* Inline model#MClass#mclass_type (var7) on <var7:MClass> */
646 var10
= var7
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var7:MClass> */
647 if (unlikely(var10
== NULL
)) {
648 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
649 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
656 self
->attrs
[COLOR_nit__model__MModule___pointer_type
].val
= var8
; /* _pointer_type on <self:MModule> */
663 /* method model#MModule#bool_type for (self: MModule): MClassType */
664 val
* nit__model___MModule___bool_type(val
* self
) {
665 val
* var
/* : MClassType */;
666 val
* var1
/* : nullable MClassType */;
667 val
* var3
/* : nullable MClassType */;
668 val
* var_res
/* var res: nullable MClassType */;
669 val
* var4
/* : null */;
670 short int var5
/* : Bool */;
671 short int var6
/* : Bool */;
672 val
* var_other
/* var other: nullable Object */;
673 short int var8
/* : Bool */;
674 short int var9
/* : Bool */;
676 val
* var10
/* : String */;
677 char* var11
/* : NativeString */;
678 long var12
/* : Int */;
679 val
* var13
/* : FlatString */;
680 val
* var14
/* : MClass */;
681 val
* var15
/* : MClassType */;
682 val
* var17
/* : MClassType */;
684 { /* Inline model#MModule#bool_type_cache (self) on <self:MModule> */
685 var3
= self
->attrs
[COLOR_nit__model__MModule___bool_type_cache
].val
; /* _bool_type_cache on <self:MModule> */
692 if (var_res
== NULL
) {
693 var5
= 0; /* is null */
695 var5
= 1; /* arg is null and recv is not */
698 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable MClassType> */
701 var8
= ((short int (*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable MClassType(MClassType)>*/;
720 var13
= standard___standard__NativeString___to_s_with_length(var11
, var12
);
725 var14
= nit__model___MModule___get_primitive_class(self
, var10
);
728 { /* Inline model#MClass#mclass_type (var14) on <var14:MClass> */
729 var17
= var14
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var14:MClass> */
730 if (unlikely(var17
== NULL
)) {
731 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
732 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
741 { /* Inline model#MModule#bool_type_cache= (self,var_res) on <self:MModule> */
742 self
->attrs
[COLOR_nit__model__MModule___bool_type_cache
].val
= var_res
; /* _bool_type_cache on <self:MModule> */
751 /* method model#MModule#bool_type_cache for (self: MModule): nullable MClassType */
752 val
* nit__model___MModule___bool_type_cache(val
* self
) {
753 val
* var
/* : nullable MClassType */;
754 val
* var1
/* : nullable MClassType */;
755 var1
= self
->attrs
[COLOR_nit__model__MModule___bool_type_cache
].val
; /* _bool_type_cache on <self:MModule> */
760 /* method model#MModule#bool_type_cache= for (self: MModule, nullable MClassType) */
761 void nit__model___MModule___bool_type_cache_61d(val
* self
, val
* p0
) {
762 self
->attrs
[COLOR_nit__model__MModule___bool_type_cache
].val
= p0
; /* _bool_type_cache on <self:MModule> */
765 /* method model#MModule#sys_type for (self: MModule): nullable MClassType */
766 val
* nit__model___MModule___sys_type(val
* self
) {
767 val
* var
/* : nullable MClassType */;
768 val
* var1
/* : Model */;
769 val
* var3
/* : Model */;
771 val
* var4
/* : String */;
772 char* var5
/* : NativeString */;
773 long var6
/* : Int */;
774 val
* var7
/* : FlatString */;
775 val
* var8
/* : nullable Array[MClass] */;
776 val
* var_clas
/* var clas: nullable Array[MClass] */;
777 val
* var9
/* : null */;
778 short int var10
/* : Bool */;
779 short int var11
/* : Bool */;
780 val
* var12
/* : null */;
781 static val
* varonce13
;
782 val
* var14
/* : String */;
783 char* var15
/* : NativeString */;
784 long var16
/* : Int */;
785 val
* var17
/* : FlatString */;
786 val
* var18
/* : MClass */;
787 val
* var19
/* : MClassType */;
788 val
* var21
/* : MClassType */;
790 { /* Inline mmodule#MModule#model (self) on <self:MModule> */
791 var3
= self
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <self:MModule> */
792 if (unlikely(var3
== NULL
)) {
793 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
794 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
806 var7
= standard___standard__NativeString___to_s_with_length(var5
, var6
);
811 var8
= nit__model___Model___get_mclasses_by_name(var1
, var4
);
815 if (var_clas
== NULL
) {
816 var10
= 1; /* is null */
818 var10
= 0; /* arg is null but recv is not */
821 var11
= standard___standard__Array___standard__kernel__Object___61d_61d(var_clas
, var9
);
835 var17
= standard___standard__NativeString___to_s_with_length(var15
, var16
);
840 var18
= nit__model___MModule___get_primitive_class(self
, var14
);
843 { /* Inline model#MClass#mclass_type (var18) on <var18:MClass> */
844 var21
= var18
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var18:MClass> */
845 if (unlikely(var21
== NULL
)) {
846 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
847 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
859 /* method model#MModule#finalizable_type for (self: MModule): nullable MClassType */
860 val
* nit__model___MModule___finalizable_type(val
* self
) {
861 val
* var
/* : nullable MClassType */;
862 val
* var1
/* : Model */;
863 val
* var3
/* : Model */;
865 val
* var4
/* : String */;
866 char* var5
/* : NativeString */;
867 long var6
/* : Int */;
868 val
* var7
/* : FlatString */;
869 val
* var8
/* : nullable Array[MClass] */;
870 val
* var_clas
/* var clas: nullable Array[MClass] */;
871 val
* var9
/* : null */;
872 short int var10
/* : Bool */;
873 short int var11
/* : Bool */;
874 val
* var12
/* : null */;
875 static val
* varonce13
;
876 val
* var14
/* : String */;
877 char* var15
/* : NativeString */;
878 long var16
/* : Int */;
879 val
* var17
/* : FlatString */;
880 val
* var18
/* : MClass */;
881 val
* var19
/* : MClassType */;
882 val
* var21
/* : MClassType */;
884 { /* Inline mmodule#MModule#model (self) on <self:MModule> */
885 var3
= self
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <self:MModule> */
886 if (unlikely(var3
== NULL
)) {
887 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
888 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
898 var5
= "Finalizable";
900 var7
= standard___standard__NativeString___to_s_with_length(var5
, var6
);
905 var8
= nit__model___Model___get_mclasses_by_name(var1
, var4
);
909 if (var_clas
== NULL
) {
910 var10
= 1; /* is null */
912 var10
= 0; /* arg is null but recv is not */
915 var11
= standard___standard__Array___standard__kernel__Object___61d_61d(var_clas
, var9
);
927 var15
= "Finalizable";
929 var17
= standard___standard__NativeString___to_s_with_length(var15
, var16
);
934 var18
= nit__model___MModule___get_primitive_class(self
, var14
);
937 { /* Inline model#MClass#mclass_type (var18) on <var18:MClass> */
938 var21
= var18
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var18:MClass> */
939 if (unlikely(var21
== NULL
)) {
940 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
941 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
953 /* method model#MModule#get_primitive_class for (self: MModule, String): MClass */
954 val
* nit__model___MModule___get_primitive_class(val
* self
, val
* p0
) {
955 val
* var
/* : MClass */;
956 val
* var_name
/* var name: String */;
957 val
* var1
/* : Model */;
958 val
* var3
/* : Model */;
959 val
* var4
/* : nullable Array[MClass] */;
960 val
* var_cla
/* var cla: nullable Array[MClass] */;
961 val
* var5
/* : null */;
962 short int var6
/* : Bool */;
963 short int var7
/* : Bool */;
964 short int var8
/* : Bool */;
966 val
* var9
/* : String */;
967 char* var10
/* : NativeString */;
968 long var11
/* : Int */;
969 val
* var12
/* : FlatString */;
970 short int var13
/* : Bool */;
971 short int var_
/* var : Bool */;
972 val
* var14
/* : Model */;
973 val
* var16
/* : Model */;
974 static val
* varonce17
;
975 val
* var18
/* : String */;
976 char* var19
/* : NativeString */;
977 long var20
/* : Int */;
978 val
* var21
/* : FlatString */;
979 val
* var22
/* : nullable Array[MClass] */;
980 val
* var23
/* : null */;
981 short int var24
/* : Bool */;
982 short int var25
/* : Bool */;
983 val
* var_other
/* var other: nullable Object */;
984 short int var27
/* : Bool */;
985 short int var28
/* : Bool */;
986 val
* var29
/* : MClass */;
987 val
* var30
/* : null */;
988 val
* var31
/* : MClassKind */;
989 val
* var32
/* : MVisibility */;
990 val
* var_c
/* var c: MClass */;
991 val
* var33
/* : MClassDef */;
992 val
* var34
/* : MClassType */;
993 val
* var36
/* : MClassType */;
994 val
* var37
/* : Location */;
995 val
* var38
/* : null */;
996 long var39
/* : Int */;
997 long var40
/* : Int */;
998 long var41
/* : Int */;
999 long var42
/* : Int */;
1000 val
* var_cladef
/* var cladef: MClassDef */;
1001 val
* var43
/* : Array[MClassType] */;
1002 long var44
/* : Int */;
1003 val
* var_45
/* var : Array[MClassType] */;
1004 val
* var46
/* : MClassType */;
1005 static val
* varonce47
;
1006 val
* var48
/* : String */;
1007 char* var49
/* : NativeString */;
1008 long var50
/* : Int */;
1009 val
* var51
/* : FlatString */;
1010 val
* var52
/* : Array[Object] */;
1011 long var53
/* : Int */;
1012 val
* var54
/* : NativeArray[Object] */;
1013 val
* var55
/* : String */;
1014 long var56
/* : Int */;
1015 long var58
/* : Int */;
1016 long var60
/* : Int */;
1017 long var61
/* : Int */;
1018 short int var62
/* : Bool */;
1019 short int var64
/* : Bool */;
1020 short int var65
/* : Bool */;
1021 static val
* varonce66
;
1022 val
* var67
/* : String */;
1023 char* var68
/* : NativeString */;
1024 long var69
/* : Int */;
1025 val
* var70
/* : FlatString */;
1026 static val
* varonce71
;
1027 val
* var72
/* : String */;
1028 char* var73
/* : NativeString */;
1029 long var74
/* : Int */;
1030 val
* var75
/* : FlatString */;
1031 val
* var76
/* : Array[Object] */;
1032 long var77
/* : Int */;
1033 val
* var78
/* : NativeArray[Object] */;
1034 val
* var79
/* : String */;
1035 val
* var_msg
/* var msg: String */;
1036 val
* var_80
/* var : nullable Array[MClass] */;
1037 val
* var81
/* : ArrayIterator[nullable Object] */;
1038 val
* var_82
/* var : ArrayIterator[MClass] */;
1039 short int var83
/* : Bool */;
1040 val
* var84
/* : nullable Object */;
1041 val
* var_c85
/* var c: MClass */;
1042 static val
* varonce86
;
1043 val
* var87
/* : String */;
1044 char* var88
/* : NativeString */;
1045 long var89
/* : Int */;
1046 val
* var90
/* : FlatString */;
1047 val
* var91
/* : String */;
1048 val
* var92
/* : Array[Object] */;
1049 long var93
/* : Int */;
1050 val
* var94
/* : NativeArray[Object] */;
1051 val
* var95
/* : String */;
1052 val
* var96
/* : String */;
1053 val
* var98
/* : nullable Object */;
1056 { /* Inline mmodule#MModule#model (self) on <self:MModule> */
1057 var3
= self
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <self:MModule> */
1058 if (unlikely(var3
== NULL
)) {
1059 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
1060 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
1068 var4
= nit__model___Model___get_mclasses_by_name(var1
, var_name
);
1072 if (var_cla
== NULL
) {
1073 var6
= 1; /* is null */
1075 var6
= 0; /* arg is null but recv is not */
1078 var7
= standard___standard__Array___standard__kernel__Object___61d_61d(var_cla
, var5
);
1087 var12
= standard___standard__NativeString___to_s_with_length(var10
, var11
);
1092 var13
= ((short int (*)(val
* self
, val
* p0
))(var_name
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_name
, var9
) /* == on <var_name:String>*/;
1097 { /* Inline mmodule#MModule#model (self) on <self:MModule> */
1098 var16
= self
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <self:MModule> */
1099 if (unlikely(var16
== NULL
)) {
1100 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
1101 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
1105 RET_LABEL15
:(void)0;
1113 var21
= standard___standard__NativeString___to_s_with_length(var19
, var20
);
1118 var22
= nit__model___Model___get_mclasses_by_name(var14
, var18
);
1121 if (var22
== NULL
) {
1122 var24
= 0; /* is null */
1124 var24
= 1; /* arg is null and recv is not */
1127 { /* Inline kernel#Object#!= (var22,var23) on <var22:nullable Array[MClass]> */
1130 var27
= ((short int (*)(val
* self
, val
* p0
))(var22
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var22
, var_other
) /* == on <var22:nullable Array[MClass](Array[MClass])>*/;
1135 RET_LABEL26
:(void)0;
1144 var29
= NEW_nit__MClass(&type_nit__MClass
);
1147 var31
= nit__model___standard__Object___enum_kind(self
);
1150 var32
= nit__model_base___standard__Object___public_visibility(self
);
1153 ((void (*)(val
* self
, val
* p0
))(var29
->class->vft
[COLOR_nit__model__MClass__intro_mmodule_61d
]))(var29
, self
) /* intro_mmodule= on <var29:MClass>*/;
1156 ((void (*)(val
* self
, val
* p0
))(var29
->class->vft
[COLOR_nit__model__MClass__name_61d
]))(var29
, var_name
) /* name= on <var29:MClass>*/;
1159 ((void (*)(val
* self
, val
* p0
))(var29
->class->vft
[COLOR_nit__model__MClass__setup_parameter_names
]))(var29
, var30
) /* setup_parameter_names on <var29:MClass>*/;
1162 ((void (*)(val
* self
, val
* p0
))(var29
->class->vft
[COLOR_nit__model__MClass__kind_61d
]))(var29
, var31
) /* kind= on <var29:MClass>*/;
1165 ((void (*)(val
* self
, val
* p0
))(var29
->class->vft
[COLOR_nit__model__MClass__visibility_61d
]))(var29
, var32
) /* visibility= on <var29:MClass>*/;
1168 ((void (*)(val
* self
))(var29
->class->vft
[COLOR_standard__kernel__Object__init
]))(var29
) /* init on <var29:MClass>*/;
1171 var33
= NEW_nit__MClassDef(&type_nit__MClassDef
);
1173 { /* Inline model#MClass#mclass_type (var_c) on <var_c:MClass> */
1174 var36
= var_c
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_c:MClass> */
1175 if (unlikely(var36
== NULL
)) {
1176 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
1177 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
1181 RET_LABEL35
:(void)0;
1184 var37
= NEW_nit__Location(&type_nit__Location
);
1191 ((void (*)(val
* self
, val
* p0
))(var37
->class->vft
[COLOR_nit__location__Location__file_61d
]))(var37
, var38
) /* file= on <var37:Location>*/;
1194 ((void (*)(val
* self
, long p0
))(var37
->class->vft
[COLOR_nit__location__Location__line_start_61d
]))(var37
, var39
) /* line_start= on <var37:Location>*/;
1197 ((void (*)(val
* self
, long p0
))(var37
->class->vft
[COLOR_nit__location__Location__line_end_61d
]))(var37
, var40
) /* line_end= on <var37:Location>*/;
1200 ((void (*)(val
* self
, long p0
))(var37
->class->vft
[COLOR_nit__location__Location__column_start_61d
]))(var37
, var41
) /* column_start= on <var37:Location>*/;
1203 ((void (*)(val
* self
, long p0
))(var37
->class->vft
[COLOR_nit__location__Location__column_end_61d
]))(var37
, var42
) /* column_end= on <var37:Location>*/;
1206 ((void (*)(val
* self
))(var37
->class->vft
[COLOR_standard__kernel__Object__init
]))(var37
) /* init on <var37:Location>*/;
1209 ((void (*)(val
* self
, val
* p0
))(var33
->class->vft
[COLOR_nit__model__MClassDef__mmodule_61d
]))(var33
, self
) /* mmodule= on <var33:MClassDef>*/;
1212 ((void (*)(val
* self
, val
* p0
))(var33
->class->vft
[COLOR_nit__model__MClassDef__bound_mtype_61d
]))(var33
, var34
) /* bound_mtype= on <var33:MClassDef>*/;
1215 ((void (*)(val
* self
, val
* p0
))(var33
->class->vft
[COLOR_nit__model__MClassDef__location_61d
]))(var33
, var37
) /* location= on <var33:MClassDef>*/;
1218 ((void (*)(val
* self
))(var33
->class->vft
[COLOR_standard__kernel__Object__init
]))(var33
) /* init on <var33:MClassDef>*/;
1221 var43
= NEW_standard__Array(&type_standard__Array__nit__MClassType
);
1224 standard___standard__Array___with_capacity(var43
, var44
); /* Direct call array#Array#with_capacity on <var43:Array[MClassType]>*/
1228 var46
= nit__model___MModule___object_type(self
);
1231 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_45
, var46
); /* Direct call array#AbstractArray#push on <var_45:Array[MClassType]>*/
1234 nit___nit__MClassDef___set_supertypes(var_cladef
, var_45
); /* Direct call model#MClassDef#set_supertypes on <var_cladef:MClassDef>*/
1237 nit___nit__MClassDef___add_in_hierarchy(var_cladef
); /* Direct call model#MClassDef#add_in_hierarchy on <var_cladef:MClassDef>*/
1246 var49
= "Fatal Error: no primitive class ";
1248 var51
= standard___standard__NativeString___to_s_with_length(var49
, var50
);
1252 var52
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1253 { /* var52 = array_instance Array[Object] */
1255 var54
= NEW_standard__NativeArray(var53
, &type_standard__NativeArray__standard__Object
);
1256 ((struct instance_standard__NativeArray
*)var54
)->values
[0] = (val
*) var48
;
1257 ((struct instance_standard__NativeArray
*)var54
)->values
[1] = (val
*) var_name
;
1259 ((void (*)(val
* self
, val
* p0
, long p1
))(var52
->class->vft
[COLOR_standard__array__Array__with_native
]))(var52
, var54
, var53
) /* with_native on <var52:Array[Object]>*/;
1263 var55
= ((val
* (*)(val
* self
))(var52
->class->vft
[COLOR_standard__string__Object__to_s
]))(var52
) /* to_s on <var52:Array[Object]>*/;
1266 standard__file___Object___print(self
, var55
); /* Direct call file#Object#print on <self:MModule>*/
1270 { /* Inline kernel#Object#exit (self,var56) on <self:MModule> */
1272 RET_LABEL57
:(void)0;
1277 if (var_cla
== NULL
) {
1278 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1279 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 258);
1282 { /* Inline array#AbstractArrayRead#length (var_cla) on <var_cla:nullable Array[MClass]> */
1283 if (unlikely(var_cla
== NULL
)) {
1284 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1285 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array
, 24);
1288 var60
= var_cla
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_cla:nullable Array[MClass]> */
1290 RET_LABEL59
:(void)0;
1295 { /* Inline kernel#Int#!= (var58,var61) on <var58:Int> */
1296 var64
= var58
== var61
;
1300 RET_LABEL63
:(void)0;
1307 var68
= "Fatal Error: more than one primitive class ";
1309 var70
= standard___standard__NativeString___to_s_with_length(var68
, var69
);
1318 var75
= standard___standard__NativeString___to_s_with_length(var73
, var74
);
1322 var76
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1323 { /* var76 = array_instance Array[Object] */
1325 var78
= NEW_standard__NativeArray(var77
, &type_standard__NativeArray__standard__Object
);
1326 ((struct instance_standard__NativeArray
*)var78
)->values
[0] = (val
*) var67
;
1327 ((struct instance_standard__NativeArray
*)var78
)->values
[1] = (val
*) var_name
;
1328 ((struct instance_standard__NativeArray
*)var78
)->values
[2] = (val
*) var72
;
1330 ((void (*)(val
* self
, val
* p0
, long p1
))(var76
->class->vft
[COLOR_standard__array__Array__with_native
]))(var76
, var78
, var77
) /* with_native on <var76:Array[Object]>*/;
1334 var79
= ((val
* (*)(val
* self
))(var76
->class->vft
[COLOR_standard__string__Object__to_s
]))(var76
) /* to_s on <var76:Array[Object]>*/;
1338 if (var_80
== NULL
) {
1339 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1340 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 260);
1343 var81
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_80
);
1348 var83
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_82
);
1352 var84
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_82
);
1360 var90
= standard___standard__NativeString___to_s_with_length(var88
, var89
);
1365 var91
= nit___nit__MClass___nit__model_base__MEntity__full_name(var_c85
);
1367 var92
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1368 { /* var92 = array_instance Array[Object] */
1370 var94
= NEW_standard__NativeArray(var93
, &type_standard__NativeArray__standard__Object
);
1371 ((struct instance_standard__NativeArray
*)var94
)->values
[0] = (val
*) var87
;
1372 ((struct instance_standard__NativeArray
*)var94
)->values
[1] = (val
*) var91
;
1374 ((void (*)(val
* self
, val
* p0
, long p1
))(var92
->class->vft
[COLOR_standard__array__Array__with_native
]))(var92
, var94
, var93
) /* with_native on <var92:Array[Object]>*/;
1378 var95
= ((val
* (*)(val
* self
))(var92
->class->vft
[COLOR_standard__string__Object__to_s
]))(var92
) /* to_s on <var92:Array[Object]>*/;
1381 var96
= ((val
* (*)(val
* self
, val
* p0
))(var_msg
->class->vft
[COLOR_standard__string__String___43d
]))(var_msg
, var95
) /* + on <var_msg:String>*/;
1385 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_82
); /* Direct call array#ArrayIterator#next on <var_82:ArrayIterator[MClass]>*/
1391 BREAK_label
: (void)0;
1393 { /* Inline abstract_collection#Iterator#finish (var_82) on <var_82:ArrayIterator[MClass]> */
1394 RET_LABEL97
:(void)0;
1398 standard__file___Object___print(self
, var_msg
); /* Direct call file#Object#print on <self:MModule>*/
1402 if (var_cla
== NULL
) {
1403 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1404 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 264);
1407 var98
= standard___standard__SequenceRead___Collection__first(var_cla
);
1414 /* method model#MModule#try_get_primitive_method for (self: MModule, String, MClass): nullable MMethod */
1415 val
* nit__model___MModule___try_get_primitive_method(val
* self
, val
* p0
, val
* p1
) {
1416 val
* var
/* : nullable MMethod */;
1417 val
* var_name
/* var name: String */;
1418 val
* var_recv
/* var recv: MClass */;
1419 val
* var1
/* : Model */;
1420 val
* var3
/* : Model */;
1421 val
* var4
/* : nullable Array[MProperty] */;
1422 val
* var_props
/* var props: nullable Array[MProperty] */;
1423 val
* var5
/* : null */;
1424 short int var6
/* : Bool */;
1425 short int var7
/* : Bool */;
1426 val
* var8
/* : null */;
1427 val
* var9
/* : null */;
1428 val
* var_res
/* var res: nullable MMethod */;
1429 val
* var_
/* var : Array[MProperty] */;
1430 val
* var10
/* : ArrayIterator[nullable Object] */;
1431 val
* var_11
/* var : ArrayIterator[MProperty] */;
1432 short int var12
/* : Bool */;
1433 val
* var13
/* : nullable Object */;
1434 val
* var_mprop
/* var mprop: MProperty */;
1435 short int var14
/* : Bool */;
1438 val
* var15
/* : MClassDef */;
1439 val
* var17
/* : MClassDef */;
1440 val
* var_intro
/* var intro: MClassDef */;
1441 val
* var18
/* : Array[MClassDef] */;
1442 val
* var20
/* : Array[MClassDef] */;
1443 val
* var_21
/* var : Array[MClassDef] */;
1444 val
* var22
/* : ArrayIterator[nullable Object] */;
1445 val
* var_23
/* var : ArrayIterator[MClassDef] */;
1446 short int var24
/* : Bool */;
1447 val
* var25
/* : nullable Object */;
1448 val
* var_mclassdef
/* var mclassdef: MClassDef */;
1449 val
* var26
/* : POSetElement[MModule] */;
1450 val
* var28
/* : POSetElement[MModule] */;
1451 val
* var29
/* : Collection[nullable Object] */;
1452 val
* var30
/* : MModule */;
1453 val
* var32
/* : MModule */;
1454 short int var33
/* : Bool */;
1455 short int var34
/* : Bool */;
1456 val
* var35
/* : nullable POSetElement[MClassDef] */;
1457 val
* var37
/* : nullable POSetElement[MClassDef] */;
1458 val
* var38
/* : Collection[nullable Object] */;
1459 short int var39
/* : Bool */;
1460 short int var40
/* : Bool */;
1461 val
* var41
/* : null */;
1462 short int var42
/* : Bool */;
1463 short int var43
/* : Bool */;
1464 val
* var_other
/* var other: nullable Object */;
1465 short int var45
/* : Bool */;
1466 short int var47
/* : Bool */;
1467 short int var48
/* : Bool */;
1468 val
* var_other50
/* var other: nullable Object */;
1469 short int var51
/* : Bool */;
1470 short int var52
/* : Bool */;
1471 static val
* varonce
;
1472 val
* var53
/* : String */;
1473 char* var54
/* : NativeString */;
1474 long var55
/* : Int */;
1475 val
* var56
/* : FlatString */;
1476 static val
* varonce57
;
1477 val
* var58
/* : String */;
1478 char* var59
/* : NativeString */;
1479 long var60
/* : Int */;
1480 val
* var61
/* : FlatString */;
1481 val
* var62
/* : String */;
1482 static val
* varonce63
;
1483 val
* var64
/* : String */;
1484 char* var65
/* : NativeString */;
1485 long var66
/* : Int */;
1486 val
* var67
/* : FlatString */;
1487 val
* var68
/* : String */;
1488 val
* var69
/* : Array[Object] */;
1489 long var70
/* : Int */;
1490 val
* var71
/* : NativeArray[Object] */;
1491 val
* var72
/* : String */;
1495 { /* Inline mmodule#MModule#model (self) on <self:MModule> */
1496 var3
= self
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <self:MModule> */
1497 if (unlikely(var3
== NULL
)) {
1498 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
1499 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
1507 var4
= nit__model___Model___get_mproperties_by_name(var1
, var_name
);
1511 if (var_props
== NULL
) {
1512 var6
= 1; /* is null */
1514 var6
= 0; /* arg is null but recv is not */
1517 var7
= standard___standard__Array___standard__kernel__Object___61d_61d(var_props
, var5
);
1530 var10
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
1535 var12
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_11
);
1539 var13
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_11
);
1542 /* <var_mprop:MProperty> isa MMethod */
1543 cltype
= type_nit__MMethod
.color
;
1544 idtype
= type_nit__MMethod
.id
;
1545 if(cltype
>= var_mprop
->type
->table_size
) {
1548 var14
= var_mprop
->type
->type_table
[cltype
] == idtype
;
1550 if (unlikely(!var14
)) {
1551 PRINT_ERROR("Runtime error: %s", "Assert failed");
1552 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 274);
1556 { /* Inline model#MProperty#intro_mclassdef (var_mprop) on <var_mprop:MProperty(MMethod)> */
1557 var17
= var_mprop
->attrs
[COLOR_nit__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_mprop:MProperty(MMethod)> */
1558 if (unlikely(var17
== NULL
)) {
1559 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
1560 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1736);
1564 RET_LABEL16
:(void)0;
1569 { /* Inline model#MClass#mclassdefs (var_recv) on <var_recv:MClass> */
1570 var20
= var_recv
->attrs
[COLOR_nit__model__MClass___mclassdefs
].val
; /* _mclassdefs on <var_recv:MClass> */
1571 if (unlikely(var20
== NULL
)) {
1572 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
1573 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 417);
1577 RET_LABEL19
:(void)0;
1582 var22
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_21
);
1587 var24
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_23
);
1591 var25
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_23
);
1593 var_mclassdef
= var25
;
1595 { /* Inline mmodule#MModule#in_importation (self) on <self:MModule> */
1596 var28
= self
->attrs
[COLOR_nit__mmodule__MModule___in_importation
].val
; /* _in_importation on <self:MModule> */
1597 if (unlikely(var28
== NULL
)) {
1598 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
1599 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 96);
1603 RET_LABEL27
:(void)0;
1607 var29
= poset___poset__POSetElement___greaters(var26
);
1610 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
1611 var32
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
1612 if (unlikely(var32
== NULL
)) {
1613 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
1614 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
1618 RET_LABEL31
:(void)0;
1622 var33
= ((short int (*)(val
* self
, val
* p0
))(var29
->class->vft
[COLOR_standard__abstract_collection__Collection__has
]))(var29
, var30
) /* has on <var29:Collection[nullable Object](Collection[MModule])>*/;
1630 { /* Inline model#MClassDef#in_hierarchy (var_mclassdef) on <var_mclassdef:MClassDef> */
1631 var37
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___in_hierarchy
].val
; /* _in_hierarchy on <var_mclassdef:MClassDef> */
1633 RET_LABEL36
:(void)0;
1636 if (var35
== NULL
) {
1637 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1638 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 278);
1641 var38
= poset___poset__POSetElement___greaters(var35
);
1644 var39
= ((short int (*)(val
* self
, val
* p0
))(var38
->class->vft
[COLOR_standard__abstract_collection__Collection__has
]))(var38
, var_intro
) /* has on <var38:Collection[nullable Object](Collection[MClassDef])>*/;
1652 if (var_res
== NULL
) {
1653 var42
= 1; /* is null */
1655 var42
= 0; /* arg is null but recv is not */
1658 { /* Inline kernel#Object#== (var_res,var41) on <var_res:nullable MMethod> */
1661 { /* Inline kernel#Object#is_same_instance (var_res,var_other) on <var_res:nullable MMethod(MMethod)> */
1662 var47
= var_res
== var_other
;
1665 RET_LABEL46
:(void)0;
1670 RET_LABEL44
:(void)0;
1675 var_res
= var_mprop
;
1678 { /* Inline kernel#Object#!= (var_res,var_mprop) on <var_res:nullable MMethod(MMethod)> */
1679 var_other50
= var_mprop
;
1681 var51
= ((short int (*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res
, var_other50
) /* == on <var_res:nullable MMethod(MMethod)>*/;
1686 RET_LABEL49
:(void)0;
1693 var54
= "Fatal Error: ambigous property name \'";
1695 var56
= standard___standard__NativeString___to_s_with_length(var54
, var55
);
1702 var59
= "\'; conflict between ";
1704 var61
= standard___standard__NativeString___to_s_with_length(var59
, var60
);
1709 var62
= nit___nit__MProperty___nit__model_base__MEntity__full_name(var_mprop
);
1716 var67
= standard___standard__NativeString___to_s_with_length(var65
, var66
);
1721 var68
= nit___nit__MProperty___nit__model_base__MEntity__full_name(var_res
);
1723 var69
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1724 { /* var69 = array_instance Array[Object] */
1726 var71
= NEW_standard__NativeArray(var70
, &type_standard__NativeArray__standard__Object
);
1727 ((struct instance_standard__NativeArray
*)var71
)->values
[0] = (val
*) var53
;
1728 ((struct instance_standard__NativeArray
*)var71
)->values
[1] = (val
*) var_name
;
1729 ((struct instance_standard__NativeArray
*)var71
)->values
[2] = (val
*) var58
;
1730 ((struct instance_standard__NativeArray
*)var71
)->values
[3] = (val
*) var62
;
1731 ((struct instance_standard__NativeArray
*)var71
)->values
[4] = (val
*) var64
;
1732 ((struct instance_standard__NativeArray
*)var71
)->values
[5] = (val
*) var68
;
1734 ((void (*)(val
* self
, val
* p0
, long p1
))(var69
->class->vft
[COLOR_standard__array__Array__with_native
]))(var69
, var71
, var70
) /* with_native on <var69:Array[Object]>*/;
1738 var72
= ((val
* (*)(val
* self
))(var69
->class->vft
[COLOR_standard__string__Object__to_s
]))(var69
) /* to_s on <var69:Array[Object]>*/;
1741 standard__file___Object___print(self
, var72
); /* Direct call file#Object#print on <self:MModule>*/
1743 PRINT_ERROR("Runtime error: %s", "Aborted");
1744 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 283);
1749 BREAK_label
: (void)0;
1751 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_23
); /* Direct call array#ArrayIterator#next on <var_23:ArrayIterator[MClassDef]>*/
1757 BREAK_label73
: (void)0;
1759 { /* Inline abstract_collection#Iterator#finish (var_23) on <var_23:ArrayIterator[MClassDef]> */
1760 RET_LABEL74
:(void)0;
1764 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_11
); /* Direct call array#ArrayIterator#next on <var_11:ArrayIterator[MProperty]>*/
1770 BREAK_label75
: (void)0;
1772 { /* Inline abstract_collection#Iterator#finish (var_11) on <var_11:ArrayIterator[MProperty]> */
1773 RET_LABEL76
:(void)0;
1781 /* method model#MClassDefSorter#mmodule for (self: MClassDefSorter): MModule */
1782 val
* nit__model___nit__model__MClassDefSorter___mmodule(val
* self
) {
1783 val
* var
/* : MModule */;
1784 val
* var1
/* : MModule */;
1785 var1
= self
->attrs
[COLOR_nit__model__MClassDefSorter___mmodule
].val
; /* _mmodule on <self:MClassDefSorter> */
1786 if (unlikely(var1
== NULL
)) {
1787 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
1788 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 294);
1795 /* method model#MClassDefSorter#mmodule= for (self: MClassDefSorter, MModule) */
1796 void nit__model___nit__model__MClassDefSorter___mmodule_61d(val
* self
, val
* p0
) {
1797 self
->attrs
[COLOR_nit__model__MClassDefSorter___mmodule
].val
= p0
; /* _mmodule on <self:MClassDefSorter> */
1800 /* method model#MClassDefSorter#compare for (self: MClassDefSorter, MClassDef, MClassDef): Int */
1801 long nit__model___nit__model__MClassDefSorter___standard__sorter__Comparator__compare(val
* self
, val
* p0
, val
* p1
) {
1802 long var
/* : Int */;
1803 short int var1
/* : Bool */;
1806 const struct type
* type_struct
;
1807 const char* var_class_name
;
1808 short int var2
/* : Bool */;
1811 const struct type
* type_struct5
;
1812 const char* var_class_name6
;
1813 val
* var_a
/* var a: MClassDef */;
1814 val
* var_b
/* var b: MClassDef */;
1815 val
* var7
/* : MClass */;
1816 val
* var9
/* : MClass */;
1817 val
* var_ca
/* var ca: MClass */;
1818 val
* var10
/* : MClass */;
1819 val
* var12
/* : MClass */;
1820 val
* var_cb
/* var cb: MClass */;
1821 short int var13
/* : Bool */;
1822 val
* var_other
/* var other: nullable Object */;
1823 short int var15
/* : Bool */;
1824 short int var16
/* : Bool */;
1825 val
* var17
/* : MModule */;
1826 val
* var19
/* : MModule */;
1827 val
* var20
/* : POSet[MClass] */;
1828 long var21
/* : Int */;
1829 val
* var22
/* : MModule */;
1830 val
* var24
/* : MModule */;
1831 val
* var25
/* : Model */;
1832 val
* var27
/* : Model */;
1833 val
* var28
/* : POSet[MClassDef] */;
1834 val
* var30
/* : POSet[MClassDef] */;
1835 long var31
/* : Int */;
1836 /* Covariant cast for argument 0 (a) <p0:MClassDef> isa COMPARED */
1837 /* <p0:MClassDef> isa COMPARED */
1838 type_struct
= self
->type
->resolution_table
->types
[COLOR_standard__sorter__Comparator__COMPARED
];
1839 cltype
= type_struct
->color
;
1840 idtype
= type_struct
->id
;
1841 if(cltype
>= p0
->type
->table_size
) {
1844 var1
= p0
->type
->type_table
[cltype
] == idtype
;
1846 if (unlikely(!var1
)) {
1847 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1848 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPARED", var_class_name
);
1849 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 295);
1852 /* Covariant cast for argument 1 (b) <p1:MClassDef> isa COMPARED */
1853 /* <p1:MClassDef> isa COMPARED */
1854 type_struct5
= self
->type
->resolution_table
->types
[COLOR_standard__sorter__Comparator__COMPARED
];
1855 cltype3
= type_struct5
->color
;
1856 idtype4
= type_struct5
->id
;
1857 if(cltype3
>= p1
->type
->table_size
) {
1860 var2
= p1
->type
->type_table
[cltype3
] == idtype4
;
1862 if (unlikely(!var2
)) {
1863 var_class_name6
= p1
== NULL ?
"null" : p1
->type
->name
;
1864 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPARED", var_class_name6
);
1865 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 295);
1871 { /* Inline model#MClassDef#mclass (var_a) on <var_a:MClassDef> */
1872 var9
= var_a
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_a:MClassDef> */
1873 if (unlikely(var9
== NULL
)) {
1874 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1875 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
1884 { /* Inline model#MClassDef#mclass (var_b) on <var_b:MClassDef> */
1885 var12
= var_b
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_b:MClassDef> */
1886 if (unlikely(var12
== NULL
)) {
1887 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1888 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
1892 RET_LABEL11
:(void)0;
1897 { /* Inline kernel#Object#!= (var_ca,var_cb) on <var_ca:MClass> */
1900 var15
= ((short int (*)(val
* self
, val
* p0
))(var_ca
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ca
, var_other
) /* == on <var_ca:MClass>*/;
1905 RET_LABEL14
:(void)0;
1910 { /* Inline model#MClassDefSorter#mmodule (self) on <self:MClassDefSorter> */
1911 var19
= self
->attrs
[COLOR_nit__model__MClassDefSorter___mmodule
].val
; /* _mmodule on <self:MClassDefSorter> */
1912 if (unlikely(var19
== NULL
)) {
1913 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
1914 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 294);
1918 RET_LABEL18
:(void)0;
1922 var20
= nit__model___MModule___flatten_mclass_hierarchy(var17
);
1925 var21
= poset___poset__POSet___standard__sorter__Comparator__compare(var20
, var_ca
, var_cb
);
1932 { /* Inline model#MClassDefSorter#mmodule (self) on <self:MClassDefSorter> */
1933 var24
= self
->attrs
[COLOR_nit__model__MClassDefSorter___mmodule
].val
; /* _mmodule on <self:MClassDefSorter> */
1934 if (unlikely(var24
== NULL
)) {
1935 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
1936 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 294);
1940 RET_LABEL23
:(void)0;
1944 { /* Inline mmodule#MModule#model (var22) on <var22:MModule> */
1945 var27
= var22
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <var22:MModule> */
1946 if (unlikely(var27
== NULL
)) {
1947 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
1948 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
1952 RET_LABEL26
:(void)0;
1956 { /* Inline model#Model#mclassdef_hierarchy (var25) on <var25:Model> */
1957 var30
= var25
->attrs
[COLOR_nit__model__Model___mclassdef_hierarchy
].val
; /* _mclassdef_hierarchy on <var25:Model> */
1958 if (unlikely(var30
== NULL
)) {
1959 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef_hierarchy");
1960 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 40);
1964 RET_LABEL29
:(void)0;
1968 var31
= poset___poset__POSet___standard__sorter__Comparator__compare(var28
, var_a
, var_b
);
1975 /* method model#MClassDefSorter#init for (self: MClassDefSorter) */
1976 void nit__model___nit__model__MClassDefSorter___standard__kernel__Object__init(val
* self
) {
1978 ((void (*)(val
* self
))(self
->class->vft
[COLOR_nit__model___nit__model__MClassDefSorter___standard__kernel__Object__init
]))(self
) /* init on <self:MClassDefSorter>*/;
1982 /* method model#MPropDefSorter#mmodule for (self: MPropDefSorter): MModule */
1983 val
* nit__model___nit__model__MPropDefSorter___mmodule(val
* self
) {
1984 val
* var
/* : MModule */;
1985 val
* var1
/* : MModule */;
1986 var1
= self
->attrs
[COLOR_nit__model__MPropDefSorter___mmodule
].val
; /* _mmodule on <self:MPropDefSorter> */
1987 if (unlikely(var1
== NULL
)) {
1988 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
1989 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 307);
1996 /* method model#MPropDefSorter#mmodule= for (self: MPropDefSorter, MModule) */
1997 void nit__model___nit__model__MPropDefSorter___mmodule_61d(val
* self
, val
* p0
) {
1998 self
->attrs
[COLOR_nit__model__MPropDefSorter___mmodule
].val
= p0
; /* _mmodule on <self:MPropDefSorter> */
2001 /* method model#MPropDefSorter#compare for (self: MPropDefSorter, MPropDef, MPropDef): Int */
2002 long nit__model___nit__model__MPropDefSorter___standard__sorter__Comparator__compare(val
* self
, val
* p0
, val
* p1
) {
2003 long var
/* : Int */;
2004 short int var1
/* : Bool */;
2007 const struct type
* type_struct
;
2008 const char* var_class_name
;
2009 short int var2
/* : Bool */;
2012 const struct type
* type_struct5
;
2013 const char* var_class_name6
;
2014 val
* var_pa
/* var pa: MPropDef */;
2015 val
* var_pb
/* var pb: MPropDef */;
2016 val
* var7
/* : MClassDef */;
2017 val
* var9
/* : MClassDef */;
2018 val
* var_a
/* var a: MClassDef */;
2019 val
* var10
/* : MClassDef */;
2020 val
* var12
/* : MClassDef */;
2021 val
* var_b
/* var b: MClassDef */;
2022 val
* var13
/* : MClass */;
2023 val
* var15
/* : MClass */;
2024 val
* var_ca
/* var ca: MClass */;
2025 val
* var16
/* : MClass */;
2026 val
* var18
/* : MClass */;
2027 val
* var_cb
/* var cb: MClass */;
2028 short int var19
/* : Bool */;
2029 val
* var_other
/* var other: nullable Object */;
2030 short int var21
/* : Bool */;
2031 short int var22
/* : Bool */;
2032 val
* var23
/* : MModule */;
2033 val
* var25
/* : MModule */;
2034 val
* var26
/* : POSet[MClass] */;
2035 long var27
/* : Int */;
2036 val
* var28
/* : MModule */;
2037 val
* var30
/* : MModule */;
2038 val
* var31
/* : Model */;
2039 val
* var33
/* : Model */;
2040 val
* var34
/* : POSet[MClassDef] */;
2041 val
* var36
/* : POSet[MClassDef] */;
2042 long var37
/* : Int */;
2043 /* Covariant cast for argument 0 (pa) <p0:MPropDef> isa COMPARED */
2044 /* <p0:MPropDef> isa COMPARED */
2045 type_struct
= self
->type
->resolution_table
->types
[COLOR_standard__sorter__Comparator__COMPARED
];
2046 cltype
= type_struct
->color
;
2047 idtype
= type_struct
->id
;
2048 if(cltype
>= p0
->type
->table_size
) {
2051 var1
= p0
->type
->type_table
[cltype
] == idtype
;
2053 if (unlikely(!var1
)) {
2054 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2055 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPARED", var_class_name
);
2056 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 308);
2059 /* Covariant cast for argument 1 (pb) <p1:MPropDef> isa COMPARED */
2060 /* <p1:MPropDef> isa COMPARED */
2061 type_struct5
= self
->type
->resolution_table
->types
[COLOR_standard__sorter__Comparator__COMPARED
];
2062 cltype3
= type_struct5
->color
;
2063 idtype4
= type_struct5
->id
;
2064 if(cltype3
>= p1
->type
->table_size
) {
2067 var2
= p1
->type
->type_table
[cltype3
] == idtype4
;
2069 if (unlikely(!var2
)) {
2070 var_class_name6
= p1
== NULL ?
"null" : p1
->type
->name
;
2071 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPARED", var_class_name6
);
2072 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 308);
2078 { /* Inline model#MPropDef#mclassdef (var_pa) on <var_pa:MPropDef> */
2079 var9
= var_pa
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_pa:MPropDef> */
2080 if (unlikely(var9
== NULL
)) {
2081 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2082 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
2091 { /* Inline model#MPropDef#mclassdef (var_pb) on <var_pb:MPropDef> */
2092 var12
= var_pb
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_pb:MPropDef> */
2093 if (unlikely(var12
== NULL
)) {
2094 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2095 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
2099 RET_LABEL11
:(void)0;
2104 { /* Inline model#MClassDef#mclass (var_a) on <var_a:MClassDef> */
2105 var15
= var_a
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_a:MClassDef> */
2106 if (unlikely(var15
== NULL
)) {
2107 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2108 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
2112 RET_LABEL14
:(void)0;
2117 { /* Inline model#MClassDef#mclass (var_b) on <var_b:MClassDef> */
2118 var18
= var_b
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_b:MClassDef> */
2119 if (unlikely(var18
== NULL
)) {
2120 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2121 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
2125 RET_LABEL17
:(void)0;
2130 { /* Inline kernel#Object#!= (var_ca,var_cb) on <var_ca:MClass> */
2133 var21
= ((short int (*)(val
* self
, val
* p0
))(var_ca
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ca
, var_other
) /* == on <var_ca:MClass>*/;
2138 RET_LABEL20
:(void)0;
2143 { /* Inline model#MPropDefSorter#mmodule (self) on <self:MPropDefSorter> */
2144 var25
= self
->attrs
[COLOR_nit__model__MPropDefSorter___mmodule
].val
; /* _mmodule on <self:MPropDefSorter> */
2145 if (unlikely(var25
== NULL
)) {
2146 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2147 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 307);
2151 RET_LABEL24
:(void)0;
2155 var26
= nit__model___MModule___flatten_mclass_hierarchy(var23
);
2158 var27
= poset___poset__POSet___standard__sorter__Comparator__compare(var26
, var_ca
, var_cb
);
2165 { /* Inline model#MPropDefSorter#mmodule (self) on <self:MPropDefSorter> */
2166 var30
= self
->attrs
[COLOR_nit__model__MPropDefSorter___mmodule
].val
; /* _mmodule on <self:MPropDefSorter> */
2167 if (unlikely(var30
== NULL
)) {
2168 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2169 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 307);
2173 RET_LABEL29
:(void)0;
2177 { /* Inline mmodule#MModule#model (var28) on <var28:MModule> */
2178 var33
= var28
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <var28:MModule> */
2179 if (unlikely(var33
== NULL
)) {
2180 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
2181 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
2185 RET_LABEL32
:(void)0;
2189 { /* Inline model#Model#mclassdef_hierarchy (var31) on <var31:Model> */
2190 var36
= var31
->attrs
[COLOR_nit__model__Model___mclassdef_hierarchy
].val
; /* _mclassdef_hierarchy on <var31:Model> */
2191 if (unlikely(var36
== NULL
)) {
2192 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef_hierarchy");
2193 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 40);
2197 RET_LABEL35
:(void)0;
2201 var37
= poset___poset__POSet___standard__sorter__Comparator__compare(var34
, var_a
, var_b
);
2208 /* method model#MPropDefSorter#init for (self: MPropDefSorter) */
2209 void nit__model___nit__model__MPropDefSorter___standard__kernel__Object__init(val
* self
) {
2211 ((void (*)(val
* self
))(self
->class->vft
[COLOR_nit__model___nit__model__MPropDefSorter___standard__kernel__Object__init
]))(self
) /* init on <self:MPropDefSorter>*/;
2215 /* method model#MClass#intro_mmodule for (self: MClass): MModule */
2216 val
* nit___nit__MClass___intro_mmodule(val
* self
) {
2217 val
* var
/* : MModule */;
2218 val
* var1
/* : MModule */;
2219 var1
= self
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <self:MClass> */
2220 if (unlikely(var1
== NULL
)) {
2221 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
2222 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 343);
2229 /* method model#MClass#intro_mmodule= for (self: MClass, MModule) */
2230 void nit___nit__MClass___intro_mmodule_61d(val
* self
, val
* p0
) {
2231 self
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
= p0
; /* _intro_mmodule on <self:MClass> */
2234 /* method model#MClass#name for (self: MClass): String */
2235 val
* nit___nit__MClass___nit__model_base__MEntity__name(val
* self
) {
2236 val
* var
/* : String */;
2237 val
* var1
/* : String */;
2238 var1
= self
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <self:MClass> */
2239 if (unlikely(var1
== NULL
)) {
2240 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2241 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
2248 /* method model#MClass#name= for (self: MClass, String) */
2249 void nit___nit__MClass___name_61d(val
* self
, val
* p0
) {
2250 self
->attrs
[COLOR_nit__model__MClass___name
].val
= p0
; /* _name on <self:MClass> */
2253 /* method model#MClass#full_name for (self: MClass): String */
2254 val
* nit___nit__MClass___nit__model_base__MEntity__full_name(val
* self
) {
2255 val
* var
/* : String */;
2256 short int var1
/* : Bool */;
2257 val
* var2
/* : String */;
2258 val
* var3
/* : String */;
2259 val
* var5
/* : MModule */;
2260 val
* var7
/* : MModule */;
2261 val
* var8
/* : MVisibility */;
2262 val
* var10
/* : MVisibility */;
2263 val
* var11
/* : String */;
2264 static val
* varonce
;
2265 val
* var12
/* : String */;
2266 char* var13
/* : NativeString */;
2267 long var14
/* : Int */;
2268 val
* var15
/* : FlatString */;
2269 val
* var16
/* : String */;
2270 val
* var18
/* : String */;
2271 val
* var19
/* : Array[Object] */;
2272 long var20
/* : Int */;
2273 val
* var21
/* : NativeArray[Object] */;
2274 val
* var22
/* : String */;
2275 var1
= self
->attrs
[COLOR_nit__model__MClass___full_name
].val
!= NULL
; /* _full_name on <self:MClass> */
2277 var2
= self
->attrs
[COLOR_nit__model__MClass___full_name
].val
; /* _full_name on <self:MClass> */
2278 if (unlikely(var2
== NULL
)) {
2279 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _full_name");
2280 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 352);
2286 { /* Inline model#MClass#intro_mmodule (self) on <self:MClass> */
2287 var7
= self
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <self:MClass> */
2288 if (unlikely(var7
== NULL
)) {
2289 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
2290 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 343);
2298 { /* Inline model#MClass#visibility (self) on <self:MClass> */
2299 var10
= self
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <self:MClass> */
2300 if (unlikely(var10
== NULL
)) {
2301 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
2302 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 403);
2310 var11
= nit___nit__MModule___namespace_for(var5
, var8
);
2317 var15
= standard___standard__NativeString___to_s_with_length(var13
, var14
);
2322 { /* Inline model#MClass#name (self) on <self:MClass> */
2323 var18
= self
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <self:MClass> */
2324 if (unlikely(var18
== NULL
)) {
2325 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2326 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
2330 RET_LABEL17
:(void)0;
2333 var19
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2334 { /* var19 = array_instance Array[Object] */
2336 var21
= NEW_standard__NativeArray(var20
, &type_standard__NativeArray__standard__Object
);
2337 ((struct instance_standard__NativeArray
*)var21
)->values
[0] = (val
*) var11
;
2338 ((struct instance_standard__NativeArray
*)var21
)->values
[1] = (val
*) var12
;
2339 ((struct instance_standard__NativeArray
*)var21
)->values
[2] = (val
*) var16
;
2341 ((void (*)(val
* self
, val
* p0
, long p1
))(var19
->class->vft
[COLOR_standard__array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[Object]>*/;
2345 var22
= ((val
* (*)(val
* self
))(var19
->class->vft
[COLOR_standard__string__Object__to_s
]))(var19
) /* to_s on <var19:Array[Object]>*/;
2351 self
->attrs
[COLOR_nit__model__MClass___full_name
].val
= var3
; /* _full_name on <self:MClass> */
2358 /* method model#MClass#c_name for (self: MClass): String */
2359 val
* nit___nit__MClass___nit__model_base__MEntity__c_name(val
* self
) {
2360 val
* var
/* : String */;
2361 short int var1
/* : Bool */;
2362 val
* var2
/* : String */;
2363 val
* var3
/* : String */;
2364 val
* var5
/* : MModule */;
2365 val
* var7
/* : MModule */;
2366 val
* var8
/* : MVisibility */;
2367 val
* var10
/* : MVisibility */;
2368 val
* var11
/* : String */;
2369 static val
* varonce
;
2370 val
* var12
/* : String */;
2371 char* var13
/* : NativeString */;
2372 long var14
/* : Int */;
2373 val
* var15
/* : FlatString */;
2374 val
* var16
/* : String */;
2375 val
* var18
/* : String */;
2376 val
* var19
/* : String */;
2377 val
* var20
/* : Array[Object] */;
2378 long var21
/* : Int */;
2379 val
* var22
/* : NativeArray[Object] */;
2380 val
* var23
/* : String */;
2381 var1
= self
->attrs
[COLOR_nit__model__MClass___c_name
].val
!= NULL
; /* _c_name on <self:MClass> */
2383 var2
= self
->attrs
[COLOR_nit__model__MClass___c_name
].val
; /* _c_name on <self:MClass> */
2384 if (unlikely(var2
== NULL
)) {
2385 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _c_name");
2386 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 360);
2392 { /* Inline model#MClass#intro_mmodule (self) on <self:MClass> */
2393 var7
= self
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <self:MClass> */
2394 if (unlikely(var7
== NULL
)) {
2395 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
2396 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 343);
2404 { /* Inline model#MClass#visibility (self) on <self:MClass> */
2405 var10
= self
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <self:MClass> */
2406 if (unlikely(var10
== NULL
)) {
2407 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
2408 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 403);
2416 var11
= nit___nit__MModule___c_namespace_for(var5
, var8
);
2423 var15
= standard___standard__NativeString___to_s_with_length(var13
, var14
);
2428 { /* Inline model#MClass#name (self) on <self:MClass> */
2429 var18
= self
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <self:MClass> */
2430 if (unlikely(var18
== NULL
)) {
2431 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2432 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
2436 RET_LABEL17
:(void)0;
2440 var19
= standard___standard__Text___to_cmangle(var16
);
2442 var20
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2443 { /* var20 = array_instance Array[Object] */
2445 var22
= NEW_standard__NativeArray(var21
, &type_standard__NativeArray__standard__Object
);
2446 ((struct instance_standard__NativeArray
*)var22
)->values
[0] = (val
*) var11
;
2447 ((struct instance_standard__NativeArray
*)var22
)->values
[1] = (val
*) var12
;
2448 ((struct instance_standard__NativeArray
*)var22
)->values
[2] = (val
*) var19
;
2450 ((void (*)(val
* self
, val
* p0
, long p1
))(var20
->class->vft
[COLOR_standard__array__Array__with_native
]))(var20
, var22
, var21
) /* with_native on <var20:Array[Object]>*/;
2454 var23
= ((val
* (*)(val
* self
))(var20
->class->vft
[COLOR_standard__string__Object__to_s
]))(var20
) /* to_s on <var20:Array[Object]>*/;
2460 self
->attrs
[COLOR_nit__model__MClass___c_name
].val
= var3
; /* _c_name on <self:MClass> */
2467 /* method model#MClass#arity for (self: MClass): Int */
2468 long nit___nit__MClass___arity(val
* self
) {
2469 long var
/* : Int */;
2470 long var1
/* : Int */;
2471 var1
= self
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <self:MClass> */
2476 /* method model#MClass#arity= for (self: MClass, Int) */
2477 void nit___nit__MClass___arity_61d(val
* self
, long p0
) {
2478 self
->attrs
[COLOR_nit__model__MClass___arity
].l
= p0
; /* _arity on <self:MClass> */
2481 /* method model#MClass#mparameters for (self: MClass): Array[MParameterType] */
2482 val
* nit___nit__MClass___mparameters(val
* self
) {
2483 val
* var
/* : Array[MParameterType] */;
2484 val
* var1
/* : Array[MParameterType] */;
2485 var1
= self
->attrs
[COLOR_nit__model__MClass___mparameters
].val
; /* _mparameters on <self:MClass> */
2486 if (unlikely(var1
== NULL
)) {
2487 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
2488 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 368);
2495 /* method model#MClass#mparameters= for (self: MClass, Array[MParameterType]) */
2496 void nit___nit__MClass___mparameters_61d(val
* self
, val
* p0
) {
2497 self
->attrs
[COLOR_nit__model__MClass___mparameters
].val
= p0
; /* _mparameters on <self:MClass> */
2500 /* method model#MClass#setup_parameter_names for (self: MClass, nullable Array[String]) */
2501 void nit___nit__MClass___setup_parameter_names(val
* self
, val
* p0
) {
2502 val
* var_parameter_names
/* var parameter_names: nullable Array[String] */;
2503 val
* var
/* : null */;
2504 short int var1
/* : Bool */;
2505 short int var2
/* : Bool */;
2506 long var3
/* : Int */;
2507 long var5
/* : Int */;
2508 long var7
/* : Int */;
2509 long var9
/* : Int */;
2510 long var11
/* : Int */;
2511 long var12
/* : Int */;
2512 short int var13
/* : Bool */;
2513 short int var15
/* : Bool */;
2516 const char* var_class_name
;
2517 short int var16
/* : Bool */;
2518 val
* var17
/* : null */;
2519 short int var18
/* : Bool */;
2520 short int var19
/* : Bool */;
2521 val
* var_other
/* var other: nullable Object */;
2522 short int var21
/* : Bool */;
2523 short int var22
/* : Bool */;
2524 val
* var23
/* : Array[MParameterType] */;
2525 val
* var_mparametertypes
/* var mparametertypes: Array[MParameterType] */;
2526 long var24
/* : Int */;
2527 long var_i
/* var i: Int */;
2528 long var25
/* : Int */;
2529 long var27
/* : Int */;
2530 long var_
/* var : Int */;
2531 short int var28
/* : Bool */;
2532 short int var30
/* : Bool */;
2535 const char* var_class_name33
;
2536 short int var34
/* : Bool */;
2537 val
* var35
/* : MParameterType */;
2538 val
* var36
/* : nullable Object */;
2539 val
* var_mparametertype
/* var mparametertype: MParameterType */;
2540 long var37
/* : Int */;
2541 long var38
/* : Int */;
2542 val
* var40
/* : MGenericType */;
2543 val
* var_mclass_type
/* var mclass_type: MGenericType */;
2544 val
* var42
/* : HashMap[Array[MType], MGenericType] */;
2545 val
* var44
/* : HashMap[Array[MType], MGenericType] */;
2546 val
* var45
/* : MClassType */;
2547 var_parameter_names
= p0
;
2549 if (var_parameter_names
== NULL
) {
2550 var1
= 1; /* is null */
2552 var1
= 0; /* arg is null but recv is not */
2555 var2
= standard___standard__Array___standard__kernel__Object___61d_61d(var_parameter_names
, var
);
2561 { /* Inline model#MClass#arity= (self,var3) on <self:MClass> */
2562 self
->attrs
[COLOR_nit__model__MClass___arity
].l
= var3
; /* _arity on <self:MClass> */
2568 { /* Inline array#AbstractArrayRead#length (var_parameter_names) on <var_parameter_names:nullable Array[String](Array[String])> */
2569 var7
= var_parameter_names
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_parameter_names:nullable Array[String](Array[String])> */
2575 { /* Inline model#MClass#arity= (self,var5) on <self:MClass> */
2576 self
->attrs
[COLOR_nit__model__MClass___arity
].l
= var5
; /* _arity on <self:MClass> */
2582 { /* Inline model#MClass#arity (self) on <self:MClass> */
2583 var11
= self
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <self:MClass> */
2585 RET_LABEL10
:(void)0;
2590 { /* Inline kernel#Int#> (var9,var12) on <var9:Int> */
2591 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
2592 /* <var12:Int> isa OTHER */
2593 var15
= 1; /* easy <var12:Int> isa OTHER*/
2594 if (unlikely(!var15
)) {
2595 var_class_name
= type_standard__Int
.name
;
2596 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2597 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 412);
2600 var16
= var9
> var12
;
2603 RET_LABEL14
:(void)0;
2608 if (var_parameter_names
== NULL
) {
2609 var18
= 0; /* is null */
2611 var18
= 1; /* arg is null and recv is not */
2614 { /* Inline kernel#Object#!= (var_parameter_names,var17) on <var_parameter_names:nullable Array[String]> */
2617 var21
= ((short int (*)(val
* self
, val
* p0
))(var_parameter_names
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_parameter_names
, var_other
) /* == on <var_parameter_names:nullable Array[String](Array[String])>*/;
2622 RET_LABEL20
:(void)0;
2626 if (unlikely(!var18
)) {
2627 PRINT_ERROR("Runtime error: %s", "Assert failed");
2628 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 384);
2631 var23
= NEW_standard__Array(&type_standard__Array__nit__MParameterType
);
2633 standard___standard__Array___standard__kernel__Object__init(var23
); /* Direct call array#Array#init on <var23:Array[MParameterType]>*/
2635 var_mparametertypes
= var23
;
2639 { /* Inline model#MClass#arity (self) on <self:MClass> */
2640 var27
= self
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <self:MClass> */
2642 RET_LABEL26
:(void)0;
2648 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
2649 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
2650 /* <var_:Int> isa OTHER */
2651 var30
= 1; /* easy <var_:Int> isa OTHER*/
2652 if (unlikely(!var30
)) {
2653 var_class_name33
= type_standard__Int
.name
;
2654 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33
);
2655 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
2658 var34
= var_i
< var_
;
2661 RET_LABEL29
:(void)0;
2665 var35
= NEW_nit__MParameterType(&type_nit__MParameterType
);
2667 var36
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_parameter_names
, var_i
);
2670 ((void (*)(val
* self
, val
* p0
))(var35
->class->vft
[COLOR_nit__model__MParameterType__mclass_61d
]))(var35
, self
) /* mclass= on <var35:MParameterType>*/;
2673 ((void (*)(val
* self
, long p0
))(var35
->class->vft
[COLOR_nit__model__MParameterType__rank_61d
]))(var35
, var_i
) /* rank= on <var35:MParameterType>*/;
2676 ((void (*)(val
* self
, val
* p0
))(var35
->class->vft
[COLOR_nit__model__MParameterType__name_61d
]))(var35
, var36
) /* name= on <var35:MParameterType>*/;
2679 ((void (*)(val
* self
))(var35
->class->vft
[COLOR_standard__kernel__Object__init
]))(var35
) /* init on <var35:MParameterType>*/;
2681 var_mparametertype
= var35
;
2683 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_mparametertypes
, var_mparametertype
); /* Direct call array#Array#add on <var_mparametertypes:Array[MParameterType]>*/
2687 var38
= standard___standard__Int___Discrete__successor(var_i
, var37
);
2694 BREAK_label
: (void)0;
2696 { /* Inline model#MClass#mparameters= (self,var_mparametertypes) on <self:MClass> */
2697 self
->attrs
[COLOR_nit__model__MClass___mparameters
].val
= var_mparametertypes
; /* _mparameters on <self:MClass> */
2698 RET_LABEL39
:(void)0;
2701 var40
= NEW_nit__MGenericType(&type_nit__MGenericType
);
2703 ((void (*)(val
* self
, val
* p0
))(var40
->class->vft
[COLOR_nit__model__MClassType__mclass_61d
]))(var40
, self
) /* mclass= on <var40:MGenericType>*/;
2706 ((void (*)(val
* self
, val
* p0
))(var40
->class->vft
[COLOR_nit__model__MClassType__arguments_61d
]))(var40
, var_mparametertypes
) /* arguments= on <var40:MGenericType>*/;
2709 ((void (*)(val
* self
))(var40
->class->vft
[COLOR_standard__kernel__Object__init
]))(var40
) /* init on <var40:MGenericType>*/;
2711 var_mclass_type
= var40
;
2713 { /* Inline model#MClass#mclass_type= (self,var_mclass_type) on <self:MClass> */
2714 self
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
= var_mclass_type
; /* _mclass_type on <self:MClass> */
2715 RET_LABEL41
:(void)0;
2719 { /* Inline model#MClass#get_mtype_cache (self) on <self:MClass> */
2720 var44
= self
->attrs
[COLOR_nit__model__MClass___get_mtype_cache
].val
; /* _get_mtype_cache on <self:MClass> */
2721 if (unlikely(var44
== NULL
)) {
2722 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _get_mtype_cache");
2723 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 470);
2727 RET_LABEL43
:(void)0;
2731 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var42
, var_mparametertypes
, var_mclass_type
); /* Direct call hash_collection#HashMap#[]= on <var42:HashMap[Array[MType], MGenericType]>*/
2734 var45
= NEW_nit__MClassType(&type_nit__MClassType
);
2736 ((void (*)(val
* self
, val
* p0
))(var45
->class->vft
[COLOR_nit__model__MClassType__mclass_61d
]))(var45
, self
) /* mclass= on <var45:MClassType>*/;
2739 ((void (*)(val
* self
))(var45
->class->vft
[COLOR_standard__kernel__Object__init
]))(var45
) /* init on <var45:MClassType>*/;
2742 { /* Inline model#MClass#mclass_type= (self,var45) on <self:MClass> */
2743 self
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
= var45
; /* _mclass_type on <self:MClass> */
2744 RET_LABEL46
:(void)0;
2750 /* method model#MClass#kind for (self: MClass): MClassKind */
2751 val
* nit___nit__MClass___kind(val
* self
) {
2752 val
* var
/* : MClassKind */;
2753 val
* var1
/* : MClassKind */;
2754 var1
= self
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <self:MClass> */
2755 if (unlikely(var1
== NULL
)) {
2756 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
2757 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
2764 /* method model#MClass#kind= for (self: MClass, MClassKind) */
2765 void nit___nit__MClass___kind_61d(val
* self
, val
* p0
) {
2766 self
->attrs
[COLOR_nit__model__MClass___kind
].val
= p0
; /* _kind on <self:MClass> */
2769 /* method model#MClass#visibility for (self: MClass): MVisibility */
2770 val
* nit___nit__MClass___visibility(val
* self
) {
2771 val
* var
/* : MVisibility */;
2772 val
* var1
/* : MVisibility */;
2773 var1
= self
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <self:MClass> */
2774 if (unlikely(var1
== NULL
)) {
2775 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
2776 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 403);
2783 /* method model#MClass#visibility= for (self: MClass, MVisibility) */
2784 void nit___nit__MClass___visibility_61d(val
* self
, val
* p0
) {
2785 self
->attrs
[COLOR_nit__model__MClass___visibility
].val
= p0
; /* _visibility on <self:MClass> */
2788 /* method model#MClass#init for (self: MClass) */
2789 void nit___nit__MClass___standard__kernel__Object__init(val
* self
) {
2790 val
* var
/* : MModule */;
2791 val
* var2
/* : MModule */;
2792 val
* var3
/* : Array[MClass] */;
2793 val
* var5
/* : Array[MClass] */;
2794 val
* var6
/* : MModule */;
2795 val
* var8
/* : MModule */;
2796 val
* var9
/* : Model */;
2797 val
* var11
/* : Model */;
2798 val
* var_model
/* var model: Model */;
2799 val
* var12
/* : MultiHashMap[String, MClass] */;
2800 val
* var14
/* : MultiHashMap[String, MClass] */;
2801 val
* var15
/* : String */;
2802 val
* var17
/* : String */;
2803 val
* var18
/* : Array[MClass] */;
2804 val
* var20
/* : Array[MClass] */;
2806 ((void (*)(val
* self
))(self
->class->vft
[COLOR_nit___nit__MClass___standard__kernel__Object__init
]))(self
) /* init on <self:MClass>*/;
2809 { /* Inline model#MClass#intro_mmodule (self) on <self:MClass> */
2810 var2
= self
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <self:MClass> */
2811 if (unlikely(var2
== NULL
)) {
2812 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
2813 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 343);
2821 { /* Inline model#MModule#intro_mclasses (var) on <var:MModule> */
2822 var5
= var
->attrs
[COLOR_nit__model__MModule___intro_mclasses
].val
; /* _intro_mclasses on <var:MModule> */
2823 if (unlikely(var5
== NULL
)) {
2824 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclasses");
2825 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 128);
2833 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var3
, self
); /* Direct call array#Array#add on <var3:Array[MClass]>*/
2836 { /* Inline model#MClass#intro_mmodule (self) on <self:MClass> */
2837 var8
= self
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <self:MClass> */
2838 if (unlikely(var8
== NULL
)) {
2839 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
2840 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 343);
2848 { /* Inline mmodule#MModule#model (var6) on <var6:MModule> */
2849 var11
= var6
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <var6:MModule> */
2850 if (unlikely(var11
== NULL
)) {
2851 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
2852 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
2856 RET_LABEL10
:(void)0;
2861 { /* Inline model#Model#mclasses_by_name (var_model) on <var_model:Model> */
2862 var14
= var_model
->attrs
[COLOR_nit__model__Model___mclasses_by_name
].val
; /* _mclasses_by_name on <var_model:Model> */
2863 if (unlikely(var14
== NULL
)) {
2864 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclasses_by_name");
2865 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 66);
2869 RET_LABEL13
:(void)0;
2873 { /* Inline model#MClass#name (self) on <self:MClass> */
2874 var17
= self
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <self:MClass> */
2875 if (unlikely(var17
== NULL
)) {
2876 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2877 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
2881 RET_LABEL16
:(void)0;
2885 more_collections___more_collections__MultiHashMap___add_one(var12
, var15
, self
); /* Direct call more_collections#MultiHashMap#add_one on <var12:MultiHashMap[String, MClass]>*/
2888 { /* Inline model#Model#mclasses (var_model) on <var_model:Model> */
2889 var20
= var_model
->attrs
[COLOR_nit__model__Model___mclasses
].val
; /* _mclasses on <var_model:Model> */
2890 if (unlikely(var20
== NULL
)) {
2891 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclasses");
2892 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 34);
2896 RET_LABEL19
:(void)0;
2900 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var18
, self
); /* Direct call array#Array#add on <var18:Array[MClass]>*/
2904 /* method model#MClass#model for (self: MClass): Model */
2905 val
* nit___nit__MClass___nit__model_base__MEntity__model(val
* self
) {
2906 val
* var
/* : Model */;
2907 val
* var1
/* : MModule */;
2908 val
* var3
/* : MModule */;
2909 val
* var4
/* : Model */;
2910 val
* var6
/* : Model */;
2912 { /* Inline model#MClass#intro_mmodule (self) on <self:MClass> */
2913 var3
= self
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <self:MClass> */
2914 if (unlikely(var3
== NULL
)) {
2915 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
2916 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 343);
2924 { /* Inline mmodule#MModule#model (var1) on <var1:MModule> */
2925 var6
= var1
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <var1:MModule> */
2926 if (unlikely(var6
== NULL
)) {
2927 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
2928 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
2940 /* method model#MClass#mclassdefs for (self: MClass): Array[MClassDef] */
2941 val
* nit___nit__MClass___mclassdefs(val
* self
) {
2942 val
* var
/* : Array[MClassDef] */;
2943 val
* var1
/* : Array[MClassDef] */;
2944 var1
= self
->attrs
[COLOR_nit__model__MClass___mclassdefs
].val
; /* _mclassdefs on <self:MClass> */
2945 if (unlikely(var1
== NULL
)) {
2946 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
2947 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 417);
2954 /* method model#MClass#to_s for (self: MClass): String */
2955 val
* nit___nit__MClass___standard__string__Object__to_s(val
* self
) {
2956 val
* var
/* : String */;
2957 val
* var1
/* : String */;
2958 val
* var3
/* : String */;
2960 { /* Inline model#MClass#name (self) on <self:MClass> */
2961 var3
= self
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <self:MClass> */
2962 if (unlikely(var3
== NULL
)) {
2963 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2964 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
2976 /* method model#MClass#intro for (self: MClass): MClassDef */
2977 val
* nit___nit__MClass___intro(val
* self
) {
2978 val
* var
/* : MClassDef */;
2979 val
* var1
/* : MClassDef */;
2980 var1
= self
->attrs
[COLOR_nit__model__MClass___intro
].val
; /* _intro on <self:MClass> */
2981 if (unlikely(var1
== NULL
)) {
2982 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
2983 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 423);
2990 /* method model#MClass#intro= for (self: MClass, MClassDef) */
2991 void nit___nit__MClass___intro_61d(val
* self
, val
* p0
) {
2992 self
->attrs
[COLOR_nit__model__MClass___intro
].val
= p0
; /* _intro on <self:MClass> */
2995 /* method model#MClass#in_hierarchy for (self: MClass, MModule): POSetElement[MClass] */
2996 val
* nit___nit__MClass___in_hierarchy(val
* self
, val
* p0
) {
2997 val
* var
/* : POSetElement[MClass] */;
2998 val
* var_mmodule
/* var mmodule: MModule */;
2999 val
* var1
/* : POSet[MClass] */;
3000 val
* var2
/* : POSetElement[nullable Object] */;
3003 var1
= nit__model___MModule___flatten_mclass_hierarchy(var_mmodule
);
3006 var2
= poset___poset__POSet____91d_93d(var1
, self
);
3013 /* method model#MClass#mclass_type for (self: MClass): MClassType */
3014 val
* nit___nit__MClass___mclass_type(val
* self
) {
3015 val
* var
/* : MClassType */;
3016 val
* var1
/* : MClassType */;
3017 var1
= self
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <self:MClass> */
3018 if (unlikely(var1
== NULL
)) {
3019 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
3020 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
3027 /* method model#MClass#mclass_type= for (self: MClass, MClassType) */
3028 void nit___nit__MClass___mclass_type_61d(val
* self
, val
* p0
) {
3029 self
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
= p0
; /* _mclass_type on <self:MClass> */
3032 /* method model#MClass#get_mtype for (self: MClass, Array[MType]): MClassType */
3033 val
* nit___nit__MClass___get_mtype(val
* self
, val
* p0
) {
3034 val
* var
/* : MClassType */;
3035 val
* var_mtype_arguments
/* var mtype_arguments: Array[MType] */;
3036 long var1
/* : Int */;
3037 long var3
/* : Int */;
3038 long var4
/* : Int */;
3039 long var6
/* : Int */;
3040 short int var7
/* : Bool */;
3041 short int var9
/* : Bool */;
3042 long var10
/* : Int */;
3043 long var12
/* : Int */;
3044 long var13
/* : Int */;
3045 short int var14
/* : Bool */;
3046 short int var16
/* : Bool */;
3047 val
* var17
/* : MClassType */;
3048 val
* var19
/* : MClassType */;
3049 val
* var20
/* : HashMap[Array[MType], MGenericType] */;
3050 val
* var22
/* : HashMap[Array[MType], MGenericType] */;
3051 val
* var23
/* : nullable Object */;
3052 val
* var_res
/* var res: nullable MGenericType */;
3053 val
* var24
/* : null */;
3054 short int var25
/* : Bool */;
3055 short int var26
/* : Bool */;
3056 val
* var_other
/* var other: nullable Object */;
3057 short int var28
/* : Bool */;
3058 short int var29
/* : Bool */;
3059 val
* var30
/* : MGenericType */;
3060 val
* var31
/* : HashMap[Array[MType], MGenericType] */;
3061 val
* var33
/* : HashMap[Array[MType], MGenericType] */;
3062 val
* var34
/* : Array[nullable Object] */;
3063 var_mtype_arguments
= p0
;
3065 { /* Inline array#AbstractArrayRead#length (var_mtype_arguments) on <var_mtype_arguments:Array[MType]> */
3066 var3
= var_mtype_arguments
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_mtype_arguments:Array[MType]> */
3072 { /* Inline model#MClass#arity (self) on <self:MClass> */
3073 var6
= self
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <self:MClass> */
3079 { /* Inline kernel#Int#== (var1,var4) on <var1:Int> */
3080 var9
= var1
== var4
;
3086 if (unlikely(!var7
)) {
3087 PRINT_ERROR("Runtime error: %s", "Assert failed");
3088 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 461);
3092 { /* Inline model#MClass#arity (self) on <self:MClass> */
3093 var12
= self
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <self:MClass> */
3095 RET_LABEL11
:(void)0;
3100 { /* Inline kernel#Int#== (var10,var13) on <var10:Int> */
3101 var16
= var10
== var13
;
3104 RET_LABEL15
:(void)0;
3109 { /* Inline model#MClass#mclass_type (self) on <self:MClass> */
3110 var19
= self
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <self:MClass> */
3111 if (unlikely(var19
== NULL
)) {
3112 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
3113 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
3117 RET_LABEL18
:(void)0;
3125 { /* Inline model#MClass#get_mtype_cache (self) on <self:MClass> */
3126 var22
= self
->attrs
[COLOR_nit__model__MClass___get_mtype_cache
].val
; /* _get_mtype_cache on <self:MClass> */
3127 if (unlikely(var22
== NULL
)) {
3128 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _get_mtype_cache");
3129 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 470);
3133 RET_LABEL21
:(void)0;
3137 var23
= standard___standard__HashMap___standard__abstract_collection__MapRead__get_or_null(var20
, var_mtype_arguments
);
3141 if (var_res
== NULL
) {
3142 var25
= 0; /* is null */
3144 var25
= 1; /* arg is null and recv is not */
3147 { /* Inline kernel#Object#!= (var_res,var24) on <var_res:nullable MGenericType> */
3150 var28
= ((short int (*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable MGenericType(MGenericType)>*/;
3155 RET_LABEL27
:(void)0;
3164 var30
= NEW_nit__MGenericType(&type_nit__MGenericType
);
3166 ((void (*)(val
* self
, val
* p0
))(var30
->class->vft
[COLOR_nit__model__MClassType__mclass_61d
]))(var30
, self
) /* mclass= on <var30:MGenericType>*/;
3169 ((void (*)(val
* self
, val
* p0
))(var30
->class->vft
[COLOR_nit__model__MClassType__arguments_61d
]))(var30
, var_mtype_arguments
) /* arguments= on <var30:MGenericType>*/;
3172 ((void (*)(val
* self
))(var30
->class->vft
[COLOR_standard__kernel__Object__init
]))(var30
) /* init on <var30:MGenericType>*/;
3176 { /* Inline model#MClass#get_mtype_cache (self) on <self:MClass> */
3177 var33
= self
->attrs
[COLOR_nit__model__MClass___get_mtype_cache
].val
; /* _get_mtype_cache on <self:MClass> */
3178 if (unlikely(var33
== NULL
)) {
3179 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _get_mtype_cache");
3180 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 470);
3184 RET_LABEL32
:(void)0;
3188 var34
= standard__array___Collection___to_a(var_mtype_arguments
);
3191 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var31
, var34
, var_res
); /* Direct call hash_collection#HashMap#[]= on <var31:HashMap[Array[MType], MGenericType]>*/
3198 /* method model#MClass#get_mtype_cache for (self: MClass): HashMap[Array[MType], MGenericType] */
3199 val
* nit___nit__MClass___get_mtype_cache(val
* self
) {
3200 val
* var
/* : HashMap[Array[MType], MGenericType] */;
3201 val
* var1
/* : HashMap[Array[MType], MGenericType] */;
3202 var1
= self
->attrs
[COLOR_nit__model__MClass___get_mtype_cache
].val
; /* _get_mtype_cache on <self:MClass> */
3203 if (unlikely(var1
== NULL
)) {
3204 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _get_mtype_cache");
3205 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 470);
3212 /* method model#MClassDef#mmodule for (self: MClassDef): MModule */
3213 val
* nit___nit__MClassDef___mmodule(val
* self
) {
3214 val
* var
/* : MModule */;
3215 val
* var1
/* : MModule */;
3216 var1
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
3217 if (unlikely(var1
== NULL
)) {
3218 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3219 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
3226 /* method model#MClassDef#mmodule= for (self: MClassDef, MModule) */
3227 void nit___nit__MClassDef___mmodule_61d(val
* self
, val
* p0
) {
3228 self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
= p0
; /* _mmodule on <self:MClassDef> */
3231 /* method model#MClassDef#mclass for (self: MClassDef): MClass */
3232 val
* nit___nit__MClassDef___mclass(val
* self
) {
3233 val
* var
/* : MClass */;
3234 val
* var1
/* : MClass */;
3235 var1
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
3236 if (unlikely(var1
== NULL
)) {
3237 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3238 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
3245 /* method model#MClassDef#mclass= for (self: MClassDef, MClass) */
3246 void nit___nit__MClassDef___mclass_61d(val
* self
, val
* p0
) {
3247 self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
= p0
; /* _mclass on <self:MClassDef> */
3250 /* method model#MClassDef#bound_mtype for (self: MClassDef): MClassType */
3251 val
* nit___nit__MClassDef___bound_mtype(val
* self
) {
3252 val
* var
/* : MClassType */;
3253 val
* var1
/* : MClassType */;
3254 var1
= self
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <self:MClassDef> */
3255 if (unlikely(var1
== NULL
)) {
3256 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3257 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
3264 /* method model#MClassDef#bound_mtype= for (self: MClassDef, MClassType) */
3265 void nit___nit__MClassDef___bound_mtype_61d(val
* self
, val
* p0
) {
3266 self
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
= p0
; /* _bound_mtype on <self:MClassDef> */
3269 /* method model#MClassDef#location for (self: MClassDef): Location */
3270 val
* nit___nit__MClassDef___location(val
* self
) {
3271 val
* var
/* : Location */;
3272 val
* var1
/* : Location */;
3273 var1
= self
->attrs
[COLOR_nit__model__MClassDef___location
].val
; /* _location on <self:MClassDef> */
3274 if (unlikely(var1
== NULL
)) {
3275 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
3276 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 507);
3283 /* method model#MClassDef#location= for (self: MClassDef, Location) */
3284 void nit___nit__MClassDef___location_61d(val
* self
, val
* p0
) {
3285 self
->attrs
[COLOR_nit__model__MClassDef___location
].val
= p0
; /* _location on <self:MClassDef> */
3288 /* method model#MClassDef#to_s for (self: MClassDef): String */
3289 val
* nit___nit__MClassDef___standard__string__Object__to_s(val
* self
) {
3290 val
* var
/* : String */;
3291 val
* var1
/* : String */;
3292 var1
= self
->attrs
[COLOR_nit__model__MClassDef___to_s
].val
; /* _to_s on <self:MClassDef> */
3293 if (unlikely(var1
== NULL
)) {
3294 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s");
3295 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 510);
3302 /* method model#MClassDef#to_s= for (self: MClassDef, String) */
3303 void nit___nit__MClassDef___to_s_61d(val
* self
, val
* p0
) {
3304 self
->attrs
[COLOR_nit__model__MClassDef___to_s
].val
= p0
; /* _to_s on <self:MClassDef> */
3307 /* method model#MClassDef#init for (self: MClassDef) */
3308 void nit___nit__MClassDef___standard__kernel__Object__init(val
* self
) {
3309 val
* var
/* : MClassType */;
3310 val
* var2
/* : MClassType */;
3311 val
* var3
/* : MClass */;
3312 val
* var5
/* : MClass */;
3313 val
* var7
/* : MModule */;
3314 val
* var9
/* : MModule */;
3315 val
* var10
/* : Array[MClassDef] */;
3316 val
* var12
/* : Array[MClassDef] */;
3317 val
* var13
/* : MClass */;
3318 val
* var15
/* : MClass */;
3319 val
* var16
/* : Array[MClassDef] */;
3320 val
* var18
/* : Array[MClassDef] */;
3321 val
* var19
/* : MClass */;
3322 val
* var21
/* : MClass */;
3323 val
* var22
/* : MModule */;
3324 val
* var24
/* : MModule */;
3325 val
* var25
/* : MModule */;
3326 val
* var27
/* : MModule */;
3327 short int var28
/* : Bool */;
3328 val
* var_other
/* var other: nullable Object */;
3329 short int var30
/* : Bool */;
3330 short int var32
/* : Bool */;
3331 val
* var33
/* : MClass */;
3332 val
* var35
/* : MClass */;
3333 short int var36
/* : Bool */;
3334 short int var37
/* : Bool */;
3335 val
* var38
/* : MClass */;
3336 val
* var40
/* : MClass */;
3337 val
* var42
/* : MModule */;
3338 val
* var44
/* : MModule */;
3339 static val
* varonce
;
3340 val
* var45
/* : String */;
3341 char* var46
/* : NativeString */;
3342 long var47
/* : Int */;
3343 val
* var48
/* : FlatString */;
3344 val
* var49
/* : MClass */;
3345 val
* var51
/* : MClass */;
3346 val
* var52
/* : Array[Object] */;
3347 long var53
/* : Int */;
3348 val
* var54
/* : NativeArray[Object] */;
3349 val
* var55
/* : String */;
3351 ((void (*)(val
* self
))(self
->class->vft
[COLOR_nit___nit__MClassDef___standard__kernel__Object__init
]))(self
) /* init on <self:MClassDef>*/;
3354 { /* Inline model#MClassDef#bound_mtype (self) on <self:MClassDef> */
3355 var2
= self
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <self:MClassDef> */
3356 if (unlikely(var2
== NULL
)) {
3357 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3358 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
3366 { /* Inline model#MClassType#mclass (var) on <var:MClassType> */
3367 var5
= var
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var:MClassType> */
3368 if (unlikely(var5
== NULL
)) {
3369 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3370 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
3378 { /* Inline model#MClassDef#mclass= (self,var3) on <self:MClassDef> */
3379 self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
= var3
; /* _mclass on <self:MClassDef> */
3384 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
3385 var9
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
3386 if (unlikely(var9
== NULL
)) {
3387 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3388 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
3396 { /* Inline model#MModule#mclassdefs (var7) on <var7:MModule> */
3397 var12
= var7
->attrs
[COLOR_nit__model__MModule___mclassdefs
].val
; /* _mclassdefs on <var7:MModule> */
3398 if (unlikely(var12
== NULL
)) {
3399 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
3400 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 131);
3404 RET_LABEL11
:(void)0;
3408 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var10
, self
); /* Direct call array#Array#add on <var10:Array[MClassDef]>*/
3411 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
3412 var15
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
3413 if (unlikely(var15
== NULL
)) {
3414 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3415 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
3419 RET_LABEL14
:(void)0;
3423 { /* Inline model#MClass#mclassdefs (var13) on <var13:MClass> */
3424 var18
= var13
->attrs
[COLOR_nit__model__MClass___mclassdefs
].val
; /* _mclassdefs on <var13:MClass> */
3425 if (unlikely(var18
== NULL
)) {
3426 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
3427 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 417);
3431 RET_LABEL17
:(void)0;
3435 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var16
, self
); /* Direct call array#Array#add on <var16:Array[MClassDef]>*/
3438 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
3439 var21
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
3440 if (unlikely(var21
== NULL
)) {
3441 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3442 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
3446 RET_LABEL20
:(void)0;
3450 { /* Inline model#MClass#intro_mmodule (var19) on <var19:MClass> */
3451 var24
= var19
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var19:MClass> */
3452 if (unlikely(var24
== NULL
)) {
3453 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
3454 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 343);
3458 RET_LABEL23
:(void)0;
3462 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
3463 var27
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
3464 if (unlikely(var27
== NULL
)) {
3465 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3466 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
3470 RET_LABEL26
:(void)0;
3474 { /* Inline kernel#Object#== (var22,var25) on <var22:MModule> */
3477 { /* Inline kernel#Object#is_same_instance (var22,var_other) on <var22:MModule> */
3478 var32
= var22
== var_other
;
3481 RET_LABEL31
:(void)0;
3486 RET_LABEL29
:(void)0;
3491 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
3492 var35
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
3493 if (unlikely(var35
== NULL
)) {
3494 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3495 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
3499 RET_LABEL34
:(void)0;
3502 var36
= var33
->attrs
[COLOR_nit__model__MClass___intro
].val
!= NULL
; /* _intro on <var33:MClass> */
3504 if (unlikely(!var37
)) {
3505 PRINT_ERROR("Runtime error: %s", "Assert failed");
3506 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 520);
3510 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
3511 var40
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
3512 if (unlikely(var40
== NULL
)) {
3513 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3514 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
3518 RET_LABEL39
:(void)0;
3522 { /* Inline model#MClass#intro= (var38,self) on <var38:MClass> */
3523 var38
->attrs
[COLOR_nit__model__MClass___intro
].val
= self
; /* _intro on <var38:MClass> */
3524 RET_LABEL41
:(void)0;
3530 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
3531 var44
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
3532 if (unlikely(var44
== NULL
)) {
3533 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3534 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
3538 RET_LABEL43
:(void)0;
3546 var48
= standard___standard__NativeString___to_s_with_length(var46
, var47
);
3551 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
3552 var51
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
3553 if (unlikely(var51
== NULL
)) {
3554 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3555 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
3559 RET_LABEL50
:(void)0;
3562 var52
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3563 { /* var52 = array_instance Array[Object] */
3565 var54
= NEW_standard__NativeArray(var53
, &type_standard__NativeArray__standard__Object
);
3566 ((struct instance_standard__NativeArray
*)var54
)->values
[0] = (val
*) var42
;
3567 ((struct instance_standard__NativeArray
*)var54
)->values
[1] = (val
*) var45
;
3568 ((struct instance_standard__NativeArray
*)var54
)->values
[2] = (val
*) var49
;
3570 ((void (*)(val
* self
, val
* p0
, long p1
))(var52
->class->vft
[COLOR_standard__array__Array__with_native
]))(var52
, var54
, var53
) /* with_native on <var52:Array[Object]>*/;
3574 var55
= ((val
* (*)(val
* self
))(var52
->class->vft
[COLOR_standard__string__Object__to_s
]))(var52
) /* to_s on <var52:Array[Object]>*/;
3577 { /* Inline model#MClassDef#to_s= (self,var55) on <self:MClassDef> */
3578 self
->attrs
[COLOR_nit__model__MClassDef___to_s
].val
= var55
; /* _to_s on <self:MClassDef> */
3579 RET_LABEL56
:(void)0;
3584 /* method model#MClassDef#name for (self: MClassDef): String */
3585 val
* nit___nit__MClassDef___nit__model_base__MEntity__name(val
* self
) {
3586 val
* var
/* : String */;
3587 val
* var1
/* : MClass */;
3588 val
* var3
/* : MClass */;
3589 val
* var4
/* : String */;
3590 val
* var6
/* : String */;
3592 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
3593 var3
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
3594 if (unlikely(var3
== NULL
)) {
3595 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3596 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
3604 { /* Inline model#MClass#name (var1) on <var1:MClass> */
3605 var6
= var1
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var1:MClass> */
3606 if (unlikely(var6
== NULL
)) {
3607 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3608 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
3620 /* method model#MClassDef#full_name for (self: MClassDef): String */
3621 val
* nit___nit__MClassDef___nit__model_base__MEntity__full_name(val
* self
) {
3622 val
* var
/* : String */;
3623 short int var1
/* : Bool */;
3624 val
* var2
/* : String */;
3625 val
* var3
/* : String */;
3626 short int var5
/* : Bool */;
3627 val
* var6
/* : MModule */;
3628 val
* var8
/* : MModule */;
3629 val
* var9
/* : MClass */;
3630 val
* var11
/* : MClass */;
3631 val
* var12
/* : MVisibility */;
3632 val
* var14
/* : MVisibility */;
3633 val
* var15
/* : String */;
3634 static val
* varonce
;
3635 val
* var16
/* : String */;
3636 char* var17
/* : NativeString */;
3637 long var18
/* : Int */;
3638 val
* var19
/* : FlatString */;
3639 val
* var20
/* : MClass */;
3640 val
* var22
/* : MClass */;
3641 val
* var23
/* : String */;
3642 val
* var25
/* : String */;
3643 val
* var26
/* : Array[Object] */;
3644 long var27
/* : Int */;
3645 val
* var28
/* : NativeArray[Object] */;
3646 val
* var29
/* : String */;
3647 val
* var30
/* : MClass */;
3648 val
* var32
/* : MClass */;
3649 val
* var33
/* : MModule */;
3650 val
* var35
/* : MModule */;
3651 val
* var36
/* : nullable MProject */;
3652 val
* var37
/* : MModule */;
3653 val
* var39
/* : MModule */;
3654 val
* var40
/* : nullable MProject */;
3655 short int var41
/* : Bool */;
3656 short int var42
/* : Bool */;
3657 val
* var_other
/* var other: nullable Object */;
3658 short int var44
/* : Bool */;
3659 short int var45
/* : Bool */;
3660 val
* var46
/* : MModule */;
3661 val
* var48
/* : MModule */;
3662 val
* var49
/* : String */;
3663 static val
* varonce50
;
3664 val
* var51
/* : String */;
3665 char* var52
/* : NativeString */;
3666 long var53
/* : Int */;
3667 val
* var54
/* : FlatString */;
3668 val
* var55
/* : MClass */;
3669 val
* var57
/* : MClass */;
3670 val
* var58
/* : String */;
3671 val
* var59
/* : Array[Object] */;
3672 long var60
/* : Int */;
3673 val
* var61
/* : NativeArray[Object] */;
3674 val
* var62
/* : String */;
3675 val
* var63
/* : MClass */;
3676 val
* var65
/* : MClass */;
3677 val
* var66
/* : MVisibility */;
3678 val
* var68
/* : MVisibility */;
3679 val
* var69
/* : MVisibility */;
3680 short int var70
/* : Bool */;
3681 val
* var71
/* : MModule */;
3682 val
* var73
/* : MModule */;
3683 val
* var74
/* : String */;
3684 static val
* varonce75
;
3685 val
* var76
/* : String */;
3686 char* var77
/* : NativeString */;
3687 long var78
/* : Int */;
3688 val
* var79
/* : FlatString */;
3689 val
* var80
/* : MClass */;
3690 val
* var82
/* : MClass */;
3691 val
* var83
/* : String */;
3692 val
* var85
/* : String */;
3693 val
* var86
/* : Array[Object] */;
3694 long var87
/* : Int */;
3695 val
* var88
/* : NativeArray[Object] */;
3696 val
* var89
/* : String */;
3697 val
* var90
/* : MModule */;
3698 val
* var92
/* : MModule */;
3699 val
* var93
/* : String */;
3700 static val
* varonce94
;
3701 val
* var95
/* : String */;
3702 char* var96
/* : NativeString */;
3703 long var97
/* : Int */;
3704 val
* var98
/* : FlatString */;
3705 val
* var99
/* : MClass */;
3706 val
* var101
/* : MClass */;
3707 val
* var102
/* : MModule */;
3708 val
* var104
/* : MModule */;
3709 val
* var105
/* : String */;
3710 val
* var107
/* : String */;
3711 static val
* varonce108
;
3712 val
* var109
/* : String */;
3713 char* var110
/* : NativeString */;
3714 long var111
/* : Int */;
3715 val
* var112
/* : FlatString */;
3716 val
* var113
/* : MClass */;
3717 val
* var115
/* : MClass */;
3718 val
* var116
/* : String */;
3719 val
* var118
/* : String */;
3720 val
* var119
/* : Array[Object] */;
3721 long var120
/* : Int */;
3722 val
* var121
/* : NativeArray[Object] */;
3723 val
* var122
/* : String */;
3724 var1
= self
->attrs
[COLOR_nit__model__MClassDef___full_name
].val
!= NULL
; /* _full_name on <self:MClassDef> */
3726 var2
= self
->attrs
[COLOR_nit__model__MClassDef___full_name
].val
; /* _full_name on <self:MClassDef> */
3727 if (unlikely(var2
== NULL
)) {
3728 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _full_name");
3729 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 529);
3735 var5
= nit___nit__MClassDef___is_intro(self
);
3739 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
3740 var8
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
3741 if (unlikely(var8
== NULL
)) {
3742 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3743 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
3751 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
3752 var11
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
3753 if (unlikely(var11
== NULL
)) {
3754 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3755 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
3759 RET_LABEL10
:(void)0;
3763 { /* Inline model#MClass#visibility (var9) on <var9:MClass> */
3764 var14
= var9
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <var9:MClass> */
3765 if (unlikely(var14
== NULL
)) {
3766 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
3767 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 403);
3771 RET_LABEL13
:(void)0;
3775 var15
= nit___nit__MModule___namespace_for(var6
, var12
);
3782 var19
= standard___standard__NativeString___to_s_with_length(var17
, var18
);
3787 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
3788 var22
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
3789 if (unlikely(var22
== NULL
)) {
3790 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3791 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
3795 RET_LABEL21
:(void)0;
3799 { /* Inline model#MClass#name (var20) on <var20:MClass> */
3800 var25
= var20
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var20:MClass> */
3801 if (unlikely(var25
== NULL
)) {
3802 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3803 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
3807 RET_LABEL24
:(void)0;
3810 var26
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3811 { /* var26 = array_instance Array[Object] */
3813 var28
= NEW_standard__NativeArray(var27
, &type_standard__NativeArray__standard__Object
);
3814 ((struct instance_standard__NativeArray
*)var28
)->values
[0] = (val
*) var15
;
3815 ((struct instance_standard__NativeArray
*)var28
)->values
[1] = (val
*) var16
;
3816 ((struct instance_standard__NativeArray
*)var28
)->values
[2] = (val
*) var23
;
3818 ((void (*)(val
* self
, val
* p0
, long p1
))(var26
->class->vft
[COLOR_standard__array__Array__with_native
]))(var26
, var28
, var27
) /* with_native on <var26:Array[Object]>*/;
3822 var29
= ((val
* (*)(val
* self
))(var26
->class->vft
[COLOR_standard__string__Object__to_s
]))(var26
) /* to_s on <var26:Array[Object]>*/;
3828 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
3829 var32
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
3830 if (unlikely(var32
== NULL
)) {
3831 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3832 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
3836 RET_LABEL31
:(void)0;
3840 { /* Inline model#MClass#intro_mmodule (var30) on <var30:MClass> */
3841 var35
= var30
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var30:MClass> */
3842 if (unlikely(var35
== NULL
)) {
3843 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
3844 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 343);
3848 RET_LABEL34
:(void)0;
3852 var36
= nit___nit__MModule___mproject(var33
);
3855 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
3856 var39
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
3857 if (unlikely(var39
== NULL
)) {
3858 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3859 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
3863 RET_LABEL38
:(void)0;
3867 var40
= nit___nit__MModule___mproject(var37
);
3869 if (var36
== NULL
) {
3870 var41
= (var40
!= NULL
);
3872 { /* Inline kernel#Object#!= (var36,var40) on <var36:nullable MProject> */
3875 var44
= ((short int (*)(val
* self
, val
* p0
))(var36
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var36
, var_other
) /* == on <var36:nullable MProject(MProject)>*/;
3880 RET_LABEL43
:(void)0;
3886 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
3887 var48
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
3888 if (unlikely(var48
== NULL
)) {
3889 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3890 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
3894 RET_LABEL47
:(void)0;
3898 var49
= nit___nit__MModule___nit__model_base__MEntity__full_name(var46
);
3905 var54
= standard___standard__NativeString___to_s_with_length(var52
, var53
);
3910 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
3911 var57
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
3912 if (unlikely(var57
== NULL
)) {
3913 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3914 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
3918 RET_LABEL56
:(void)0;
3922 var58
= nit___nit__MClass___nit__model_base__MEntity__full_name(var55
);
3924 var59
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3925 { /* var59 = array_instance Array[Object] */
3927 var61
= NEW_standard__NativeArray(var60
, &type_standard__NativeArray__standard__Object
);
3928 ((struct instance_standard__NativeArray
*)var61
)->values
[0] = (val
*) var49
;
3929 ((struct instance_standard__NativeArray
*)var61
)->values
[1] = (val
*) var51
;
3930 ((struct instance_standard__NativeArray
*)var61
)->values
[2] = (val
*) var58
;
3932 ((void (*)(val
* self
, val
* p0
, long p1
))(var59
->class->vft
[COLOR_standard__array__Array__with_native
]))(var59
, var61
, var60
) /* with_native on <var59:Array[Object]>*/;
3936 var62
= ((val
* (*)(val
* self
))(var59
->class->vft
[COLOR_standard__string__Object__to_s
]))(var59
) /* to_s on <var59:Array[Object]>*/;
3942 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
3943 var65
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
3944 if (unlikely(var65
== NULL
)) {
3945 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3946 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
3950 RET_LABEL64
:(void)0;
3954 { /* Inline model#MClass#visibility (var63) on <var63:MClass> */
3955 var68
= var63
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <var63:MClass> */
3956 if (unlikely(var68
== NULL
)) {
3957 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
3958 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 403);
3962 RET_LABEL67
:(void)0;
3966 var69
= nit__model_base___standard__Object___private_visibility(self
);
3969 var70
= standard___standard__Comparable____62d(var66
, var69
);
3973 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
3974 var73
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
3975 if (unlikely(var73
== NULL
)) {
3976 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3977 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
3981 RET_LABEL72
:(void)0;
3985 var74
= nit___nit__MModule___nit__model_base__MEntity__full_name(var71
);
3992 var79
= standard___standard__NativeString___to_s_with_length(var77
, var78
);
3997 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
3998 var82
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
3999 if (unlikely(var82
== NULL
)) {
4000 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4001 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
4005 RET_LABEL81
:(void)0;
4009 { /* Inline model#MClass#name (var80) on <var80:MClass> */
4010 var85
= var80
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var80:MClass> */
4011 if (unlikely(var85
== NULL
)) {
4012 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4013 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
4017 RET_LABEL84
:(void)0;
4020 var86
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4021 { /* var86 = array_instance Array[Object] */
4023 var88
= NEW_standard__NativeArray(var87
, &type_standard__NativeArray__standard__Object
);
4024 ((struct instance_standard__NativeArray
*)var88
)->values
[0] = (val
*) var74
;
4025 ((struct instance_standard__NativeArray
*)var88
)->values
[1] = (val
*) var76
;
4026 ((struct instance_standard__NativeArray
*)var88
)->values
[2] = (val
*) var83
;
4028 ((void (*)(val
* self
, val
* p0
, long p1
))(var86
->class->vft
[COLOR_standard__array__Array__with_native
]))(var86
, var88
, var87
) /* with_native on <var86:Array[Object]>*/;
4032 var89
= ((val
* (*)(val
* self
))(var86
->class->vft
[COLOR_standard__string__Object__to_s
]))(var86
) /* to_s on <var86:Array[Object]>*/;
4038 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4039 var92
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4040 if (unlikely(var92
== NULL
)) {
4041 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4042 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
4046 RET_LABEL91
:(void)0;
4050 var93
= nit___nit__MModule___nit__model_base__MEntity__full_name(var90
);
4057 var98
= standard___standard__NativeString___to_s_with_length(var96
, var97
);
4062 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4063 var101
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4064 if (unlikely(var101
== NULL
)) {
4065 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4066 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
4070 RET_LABEL100
:(void)0;
4074 { /* Inline model#MClass#intro_mmodule (var99) on <var99:MClass> */
4075 var104
= var99
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var99:MClass> */
4076 if (unlikely(var104
== NULL
)) {
4077 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
4078 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 343);
4082 RET_LABEL103
:(void)0;
4086 { /* Inline mmodule#MModule#name (var102) on <var102:MModule> */
4087 var107
= var102
->attrs
[COLOR_nit__mmodule__MModule___name
].val
; /* _name on <var102:MModule> */
4088 if (unlikely(var107
== NULL
)) {
4089 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4090 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 87);
4094 RET_LABEL106
:(void)0;
4098 var109
= varonce108
;
4102 var112
= standard___standard__NativeString___to_s_with_length(var110
, var111
);
4104 varonce108
= var109
;
4107 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4108 var115
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4109 if (unlikely(var115
== NULL
)) {
4110 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4111 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
4115 RET_LABEL114
:(void)0;
4119 { /* Inline model#MClass#name (var113) on <var113:MClass> */
4120 var118
= var113
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var113:MClass> */
4121 if (unlikely(var118
== NULL
)) {
4122 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4123 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
4127 RET_LABEL117
:(void)0;
4130 var119
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4131 { /* var119 = array_instance Array[Object] */
4133 var121
= NEW_standard__NativeArray(var120
, &type_standard__NativeArray__standard__Object
);
4134 ((struct instance_standard__NativeArray
*)var121
)->values
[0] = (val
*) var93
;
4135 ((struct instance_standard__NativeArray
*)var121
)->values
[1] = (val
*) var95
;
4136 ((struct instance_standard__NativeArray
*)var121
)->values
[2] = (val
*) var105
;
4137 ((struct instance_standard__NativeArray
*)var121
)->values
[3] = (val
*) var109
;
4138 ((struct instance_standard__NativeArray
*)var121
)->values
[4] = (val
*) var116
;
4140 ((void (*)(val
* self
, val
* p0
, long p1
))(var119
->class->vft
[COLOR_standard__array__Array__with_native
]))(var119
, var121
, var120
) /* with_native on <var119:Array[Object]>*/;
4144 var122
= ((val
* (*)(val
* self
))(var119
->class->vft
[COLOR_standard__string__Object__to_s
]))(var119
) /* to_s on <var119:Array[Object]>*/;
4153 self
->attrs
[COLOR_nit__model__MClassDef___full_name
].val
= var3
; /* _full_name on <self:MClassDef> */
4160 /* method model#MClassDef#c_name for (self: MClassDef): String */
4161 val
* nit___nit__MClassDef___nit__model_base__MEntity__c_name(val
* self
) {
4162 val
* var
/* : String */;
4163 short int var1
/* : Bool */;
4164 val
* var2
/* : String */;
4165 val
* var3
/* : String */;
4166 short int var5
/* : Bool */;
4167 val
* var6
/* : MModule */;
4168 val
* var8
/* : MModule */;
4169 val
* var9
/* : MClass */;
4170 val
* var11
/* : MClass */;
4171 val
* var12
/* : MVisibility */;
4172 val
* var14
/* : MVisibility */;
4173 val
* var15
/* : String */;
4174 static val
* varonce
;
4175 val
* var16
/* : String */;
4176 char* var17
/* : NativeString */;
4177 long var18
/* : Int */;
4178 val
* var19
/* : FlatString */;
4179 val
* var20
/* : MClass */;
4180 val
* var22
/* : MClass */;
4181 val
* var23
/* : String */;
4182 val
* var24
/* : Array[Object] */;
4183 long var25
/* : Int */;
4184 val
* var26
/* : NativeArray[Object] */;
4185 val
* var27
/* : String */;
4186 short int var28
/* : Bool */;
4187 val
* var29
/* : MClass */;
4188 val
* var31
/* : MClass */;
4189 val
* var32
/* : MModule */;
4190 val
* var34
/* : MModule */;
4191 val
* var35
/* : nullable MProject */;
4192 val
* var36
/* : MModule */;
4193 val
* var38
/* : MModule */;
4194 val
* var39
/* : nullable MProject */;
4195 short int var40
/* : Bool */;
4196 short int var41
/* : Bool */;
4197 val
* var_other
/* var other: nullable Object */;
4198 short int var43
/* : Bool */;
4199 short int var45
/* : Bool */;
4200 short int var_
/* var : Bool */;
4201 val
* var46
/* : MClass */;
4202 val
* var48
/* : MClass */;
4203 val
* var49
/* : MVisibility */;
4204 val
* var51
/* : MVisibility */;
4205 val
* var52
/* : MVisibility */;
4206 short int var53
/* : Bool */;
4207 val
* var54
/* : MModule */;
4208 val
* var56
/* : MModule */;
4209 val
* var57
/* : String */;
4210 static val
* varonce58
;
4211 val
* var59
/* : String */;
4212 char* var60
/* : NativeString */;
4213 long var61
/* : Int */;
4214 val
* var62
/* : FlatString */;
4215 val
* var63
/* : MClass */;
4216 val
* var65
/* : MClass */;
4217 val
* var66
/* : String */;
4218 val
* var68
/* : String */;
4219 val
* var69
/* : String */;
4220 val
* var70
/* : Array[Object] */;
4221 long var71
/* : Int */;
4222 val
* var72
/* : NativeArray[Object] */;
4223 val
* var73
/* : String */;
4224 val
* var74
/* : MModule */;
4225 val
* var76
/* : MModule */;
4226 val
* var77
/* : String */;
4227 static val
* varonce78
;
4228 val
* var79
/* : String */;
4229 char* var80
/* : NativeString */;
4230 long var81
/* : Int */;
4231 val
* var82
/* : FlatString */;
4232 val
* var83
/* : MClass */;
4233 val
* var85
/* : MClass */;
4234 val
* var86
/* : String */;
4235 val
* var87
/* : Array[Object] */;
4236 long var88
/* : Int */;
4237 val
* var89
/* : NativeArray[Object] */;
4238 val
* var90
/* : String */;
4239 var1
= self
->attrs
[COLOR_nit__model__MClassDef___c_name
].val
!= NULL
; /* _c_name on <self:MClassDef> */
4241 var2
= self
->attrs
[COLOR_nit__model__MClassDef___c_name
].val
; /* _c_name on <self:MClassDef> */
4242 if (unlikely(var2
== NULL
)) {
4243 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _c_name");
4244 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 554);
4250 var5
= nit___nit__MClassDef___is_intro(self
);
4254 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4255 var8
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4256 if (unlikely(var8
== NULL
)) {
4257 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4258 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
4266 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4267 var11
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4268 if (unlikely(var11
== NULL
)) {
4269 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4270 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
4274 RET_LABEL10
:(void)0;
4278 { /* Inline model#MClass#visibility (var9) on <var9:MClass> */
4279 var14
= var9
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <var9:MClass> */
4280 if (unlikely(var14
== NULL
)) {
4281 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
4282 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 403);
4286 RET_LABEL13
:(void)0;
4290 var15
= nit___nit__MModule___c_namespace_for(var6
, var12
);
4297 var19
= standard___standard__NativeString___to_s_with_length(var17
, var18
);
4302 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4303 var22
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4304 if (unlikely(var22
== NULL
)) {
4305 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4306 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
4310 RET_LABEL21
:(void)0;
4314 var23
= nit___nit__MClass___nit__model_base__MEntity__c_name(var20
);
4316 var24
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4317 { /* var24 = array_instance Array[Object] */
4319 var26
= NEW_standard__NativeArray(var25
, &type_standard__NativeArray__standard__Object
);
4320 ((struct instance_standard__NativeArray
*)var26
)->values
[0] = (val
*) var15
;
4321 ((struct instance_standard__NativeArray
*)var26
)->values
[1] = (val
*) var16
;
4322 ((struct instance_standard__NativeArray
*)var26
)->values
[2] = (val
*) var23
;
4324 ((void (*)(val
* self
, val
* p0
, long p1
))(var24
->class->vft
[COLOR_standard__array__Array__with_native
]))(var24
, var26
, var25
) /* with_native on <var24:Array[Object]>*/;
4328 var27
= ((val
* (*)(val
* self
))(var24
->class->vft
[COLOR_standard__string__Object__to_s
]))(var24
) /* to_s on <var24:Array[Object]>*/;
4334 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4335 var31
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4336 if (unlikely(var31
== NULL
)) {
4337 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4338 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
4342 RET_LABEL30
:(void)0;
4346 { /* Inline model#MClass#intro_mmodule (var29) on <var29:MClass> */
4347 var34
= var29
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var29:MClass> */
4348 if (unlikely(var34
== NULL
)) {
4349 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
4350 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 343);
4354 RET_LABEL33
:(void)0;
4358 var35
= nit___nit__MModule___mproject(var32
);
4361 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4362 var38
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4363 if (unlikely(var38
== NULL
)) {
4364 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4365 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
4369 RET_LABEL37
:(void)0;
4373 var39
= nit___nit__MModule___mproject(var36
);
4375 if (var35
== NULL
) {
4376 var40
= (var39
== NULL
);
4378 { /* Inline kernel#Object#== (var35,var39) on <var35:nullable MProject> */
4381 { /* Inline kernel#Object#is_same_instance (var35,var_other) on <var35:nullable MProject(MProject)> */
4382 var45
= var35
== var_other
;
4385 RET_LABEL44
:(void)0;
4390 RET_LABEL42
:(void)0;
4397 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4398 var48
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4399 if (unlikely(var48
== NULL
)) {
4400 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4401 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
4405 RET_LABEL47
:(void)0;
4409 { /* Inline model#MClass#visibility (var46) on <var46:MClass> */
4410 var51
= var46
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <var46:MClass> */
4411 if (unlikely(var51
== NULL
)) {
4412 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
4413 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 403);
4417 RET_LABEL50
:(void)0;
4421 var52
= nit__model_base___standard__Object___private_visibility(self
);
4424 var53
= standard___standard__Comparable____62d(var49
, var52
);
4432 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4433 var56
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4434 if (unlikely(var56
== NULL
)) {
4435 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4436 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
4440 RET_LABEL55
:(void)0;
4444 var57
= nit___nit__MModule___nit__model_base__MEntity__c_name(var54
);
4451 var62
= standard___standard__NativeString___to_s_with_length(var60
, var61
);
4456 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4457 var65
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4458 if (unlikely(var65
== NULL
)) {
4459 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4460 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
4464 RET_LABEL64
:(void)0;
4468 { /* Inline model#MClass#name (var63) on <var63:MClass> */
4469 var68
= var63
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var63:MClass> */
4470 if (unlikely(var68
== NULL
)) {
4471 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4472 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
4476 RET_LABEL67
:(void)0;
4480 var69
= standard___standard__Text___to_cmangle(var66
);
4482 var70
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4483 { /* var70 = array_instance Array[Object] */
4485 var72
= NEW_standard__NativeArray(var71
, &type_standard__NativeArray__standard__Object
);
4486 ((struct instance_standard__NativeArray
*)var72
)->values
[0] = (val
*) var57
;
4487 ((struct instance_standard__NativeArray
*)var72
)->values
[1] = (val
*) var59
;
4488 ((struct instance_standard__NativeArray
*)var72
)->values
[2] = (val
*) var69
;
4490 ((void (*)(val
* self
, val
* p0
, long p1
))(var70
->class->vft
[COLOR_standard__array__Array__with_native
]))(var70
, var72
, var71
) /* with_native on <var70:Array[Object]>*/;
4494 var73
= ((val
* (*)(val
* self
))(var70
->class->vft
[COLOR_standard__string__Object__to_s
]))(var70
) /* to_s on <var70:Array[Object]>*/;
4500 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4501 var76
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4502 if (unlikely(var76
== NULL
)) {
4503 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4504 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
4508 RET_LABEL75
:(void)0;
4512 var77
= nit___nit__MModule___nit__model_base__MEntity__c_name(var74
);
4519 var82
= standard___standard__NativeString___to_s_with_length(var80
, var81
);
4524 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4525 var85
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4526 if (unlikely(var85
== NULL
)) {
4527 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4528 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
4532 RET_LABEL84
:(void)0;
4536 var86
= nit___nit__MClass___nit__model_base__MEntity__c_name(var83
);
4538 var87
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4539 { /* var87 = array_instance Array[Object] */
4541 var89
= NEW_standard__NativeArray(var88
, &type_standard__NativeArray__standard__Object
);
4542 ((struct instance_standard__NativeArray
*)var89
)->values
[0] = (val
*) var77
;
4543 ((struct instance_standard__NativeArray
*)var89
)->values
[1] = (val
*) var79
;
4544 ((struct instance_standard__NativeArray
*)var89
)->values
[2] = (val
*) var86
;
4546 ((void (*)(val
* self
, val
* p0
, long p1
))(var87
->class->vft
[COLOR_standard__array__Array__with_native
]))(var87
, var89
, var88
) /* with_native on <var87:Array[Object]>*/;
4550 var90
= ((val
* (*)(val
* self
))(var87
->class->vft
[COLOR_standard__string__Object__to_s
]))(var87
) /* to_s on <var87:Array[Object]>*/;
4558 self
->attrs
[COLOR_nit__model__MClassDef___c_name
].val
= var3
; /* _c_name on <self:MClassDef> */
4565 /* method model#MClassDef#model for (self: MClassDef): Model */
4566 val
* nit___nit__MClassDef___nit__model_base__MEntity__model(val
* self
) {
4567 val
* var
/* : Model */;
4568 val
* var1
/* : MModule */;
4569 val
* var3
/* : MModule */;
4570 val
* var4
/* : Model */;
4571 val
* var6
/* : Model */;
4573 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4574 var3
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4575 if (unlikely(var3
== NULL
)) {
4576 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4577 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
4585 { /* Inline mmodule#MModule#model (var1) on <var1:MModule> */
4586 var6
= var1
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <var1:MModule> */
4587 if (unlikely(var6
== NULL
)) {
4588 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
4589 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
4601 /* method model#MClassDef#supertypes for (self: MClassDef): Array[MClassType] */
4602 val
* nit___nit__MClassDef___supertypes(val
* self
) {
4603 val
* var
/* : Array[MClassType] */;
4604 val
* var1
/* : Array[MClassType] */;
4605 var1
= self
->attrs
[COLOR_nit__model__MClassDef___supertypes
].val
; /* _supertypes on <self:MClassDef> */
4606 if (unlikely(var1
== NULL
)) {
4607 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
4608 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 566);
4615 /* method model#MClassDef#set_supertypes for (self: MClassDef, Array[MClassType]) */
4616 void nit___nit__MClassDef___set_supertypes(val
* self
, val
* p0
) {
4617 val
* var_supertypes
/* var supertypes: Array[MClassType] */;
4618 val
* var
/* : nullable POSetElement[MClassDef] */;
4619 val
* var2
/* : nullable POSetElement[MClassDef] */;
4620 val
* var3
/* : null */;
4621 short int var4
/* : Bool */;
4622 short int var5
/* : Bool */;
4623 val
* var_other
/* var other: nullable Object */;
4624 short int var7
/* : Bool */;
4625 short int var9
/* : Bool */;
4626 val
* var10
/* : MModule */;
4627 val
* var12
/* : MModule */;
4628 val
* var_mmodule
/* var mmodule: MModule */;
4629 val
* var13
/* : Model */;
4630 val
* var15
/* : Model */;
4631 val
* var_model
/* var model: Model */;
4632 val
* var16
/* : MClassType */;
4633 val
* var18
/* : MClassType */;
4634 val
* var_mtype
/* var mtype: MClassType */;
4635 val
* var_
/* var : Array[MClassType] */;
4636 val
* var19
/* : ArrayIterator[nullable Object] */;
4637 val
* var_20
/* var : ArrayIterator[MClassType] */;
4638 short int var21
/* : Bool */;
4639 val
* var22
/* : nullable Object */;
4640 val
* var_supertype
/* var supertype: MClassType */;
4641 val
* var23
/* : Array[MClassType] */;
4642 val
* var25
/* : Array[MClassType] */;
4643 val
* var26
/* : POSet[MClassType] */;
4644 val
* var28
/* : POSet[MClassType] */;
4645 short int var29
/* : Bool */;
4646 val
* var30
/* : MClass */;
4647 val
* var32
/* : MClass */;
4648 val
* var33
/* : MModule */;
4649 val
* var35
/* : MModule */;
4650 short int var36
/* : Bool */;
4651 short int var38
/* : Bool */;
4652 short int var40
/* : Bool */;
4653 short int var_41
/* var : Bool */;
4654 val
* var42
/* : MClass */;
4655 val
* var44
/* : MClass */;
4656 val
* var45
/* : MModule */;
4657 val
* var47
/* : MModule */;
4658 short int var48
/* : Bool */;
4659 short int var50
/* : Bool */;
4660 short int var52
/* : Bool */;
4661 val
* var53
/* : POSet[MClassType] */;
4662 val
* var55
/* : POSet[MClassType] */;
4663 var_supertypes
= p0
;
4665 { /* Inline model#MClassDef#in_hierarchy (self) on <self:MClassDef> */
4666 var2
= self
->attrs
[COLOR_nit__model__MClassDef___in_hierarchy
].val
; /* _in_hierarchy on <self:MClassDef> */
4673 var4
= 1; /* is null */
4675 var4
= 0; /* arg is null but recv is not */
4678 { /* Inline kernel#Object#== (var,var3) on <var:nullable POSetElement[MClassDef]> */
4681 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable POSetElement[MClassDef](POSetElement[MClassDef])> */
4682 var9
= var
== var_other
;
4694 if (unlikely(!var4
)) {
4695 PRINT_ERROR("Runtime error: %s", "Assert \'unique_invocation\' failed");
4696 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 576);
4700 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4701 var12
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4702 if (unlikely(var12
== NULL
)) {
4703 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4704 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
4708 RET_LABEL11
:(void)0;
4711 var_mmodule
= var10
;
4713 { /* Inline mmodule#MModule#model (var_mmodule) on <var_mmodule:MModule> */
4714 var15
= var_mmodule
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <var_mmodule:MModule> */
4715 if (unlikely(var15
== NULL
)) {
4716 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
4717 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
4721 RET_LABEL14
:(void)0;
4726 { /* Inline model#MClassDef#bound_mtype (self) on <self:MClassDef> */
4727 var18
= self
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <self:MClassDef> */
4728 if (unlikely(var18
== NULL
)) {
4729 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
4730 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
4734 RET_LABEL17
:(void)0;
4738 var_
= var_supertypes
;
4740 var19
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
4745 var21
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_20
);
4749 var22
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_20
);
4751 var_supertype
= var22
;
4753 { /* Inline model#MClassDef#supertypes (self) on <self:MClassDef> */
4754 var25
= self
->attrs
[COLOR_nit__model__MClassDef___supertypes
].val
; /* _supertypes on <self:MClassDef> */
4755 if (unlikely(var25
== NULL
)) {
4756 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
4757 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 566);
4761 RET_LABEL24
:(void)0;
4765 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var23
, var_supertype
); /* Direct call array#Array#add on <var23:Array[MClassType]>*/
4768 { /* Inline model#Model#full_mtype_specialization_hierarchy (var_model) on <var_model:Model> */
4769 var28
= var_model
->attrs
[COLOR_nit__model__Model___full_mtype_specialization_hierarchy
].val
; /* _full_mtype_specialization_hierarchy on <var_model:Model> */
4770 if (unlikely(var28
== NULL
)) {
4771 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _full_mtype_specialization_hierarchy");
4772 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 57);
4776 RET_LABEL27
:(void)0;
4780 poset___poset__POSet___add_edge(var26
, var_mtype
, var_supertype
); /* Direct call poset#POSet#add_edge on <var26:POSet[MClassType]>*/
4783 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4784 var32
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4785 if (unlikely(var32
== NULL
)) {
4786 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4787 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
4791 RET_LABEL31
:(void)0;
4795 { /* Inline model#MClass#intro_mmodule (var30) on <var30:MClass> */
4796 var35
= var30
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var30:MClass> */
4797 if (unlikely(var35
== NULL
)) {
4798 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
4799 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 343);
4803 RET_LABEL34
:(void)0;
4807 { /* Inline kernel#Object#== (var33,var_mmodule) on <var33:MModule> */
4808 var_other
= var_mmodule
;
4810 { /* Inline kernel#Object#is_same_instance (var33,var_other) on <var33:MModule> */
4811 var40
= var33
== var_other
;
4814 RET_LABEL39
:(void)0;
4819 RET_LABEL37
:(void)0;
4825 { /* Inline model#MClassType#mclass (var_supertype) on <var_supertype:MClassType> */
4826 var44
= var_supertype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_supertype:MClassType> */
4827 if (unlikely(var44
== NULL
)) {
4828 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4829 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
4833 RET_LABEL43
:(void)0;
4837 { /* Inline model#MClass#intro_mmodule (var42) on <var42:MClass> */
4838 var47
= var42
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var42:MClass> */
4839 if (unlikely(var47
== NULL
)) {
4840 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
4841 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 343);
4845 RET_LABEL46
:(void)0;
4849 { /* Inline kernel#Object#== (var45,var_mmodule) on <var45:MModule> */
4850 var_other
= var_mmodule
;
4852 { /* Inline kernel#Object#is_same_instance (var45,var_other) on <var45:MModule> */
4853 var52
= var45
== var_other
;
4856 RET_LABEL51
:(void)0;
4861 RET_LABEL49
:(void)0;
4870 { /* Inline model#Model#intro_mtype_specialization_hierarchy (var_model) on <var_model:Model> */
4871 var55
= var_model
->attrs
[COLOR_nit__model__Model___intro_mtype_specialization_hierarchy
].val
; /* _intro_mtype_specialization_hierarchy on <var_model:Model> */
4872 if (unlikely(var55
== NULL
)) {
4873 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mtype_specialization_hierarchy");
4874 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 46);
4878 RET_LABEL54
:(void)0;
4882 poset___poset__POSet___add_edge(var53
, var_mtype
, var_supertype
); /* Direct call poset#POSet#add_edge on <var53:POSet[MClassType]>*/
4887 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_20
); /* Direct call array#ArrayIterator#next on <var_20:ArrayIterator[MClassType]>*/
4893 BREAK_label
: (void)0;
4895 { /* Inline abstract_collection#Iterator#finish (var_20) on <var_20:ArrayIterator[MClassType]> */
4896 RET_LABEL56
:(void)0;
4901 /* method model#MClassDef#add_in_hierarchy for (self: MClassDef) */
4902 void nit___nit__MClassDef___add_in_hierarchy(val
* self
) {
4903 val
* var
/* : nullable POSetElement[MClassDef] */;
4904 val
* var2
/* : nullable POSetElement[MClassDef] */;
4905 val
* var3
/* : null */;
4906 short int var4
/* : Bool */;
4907 short int var5
/* : Bool */;
4908 val
* var_other
/* var other: nullable Object */;
4909 short int var7
/* : Bool */;
4910 short int var9
/* : Bool */;
4911 val
* var10
/* : MModule */;
4912 val
* var12
/* : MModule */;
4913 val
* var13
/* : Model */;
4914 val
* var15
/* : Model */;
4915 val
* var_model
/* var model: Model */;
4916 val
* var16
/* : POSet[MClassDef] */;
4917 val
* var18
/* : POSet[MClassDef] */;
4918 val
* var19
/* : POSetElement[nullable Object] */;
4919 val
* var_res
/* var res: POSetElement[MClassDef] */;
4920 val
* var21
/* : MClassType */;
4921 val
* var23
/* : MClassType */;
4922 val
* var_mtype
/* var mtype: MClassType */;
4923 val
* var24
/* : MModule */;
4924 val
* var26
/* : MModule */;
4925 val
* var27
/* : Set[MClassDef] */;
4926 val
* var_
/* var : Set[MClassDef] */;
4927 val
* var28
/* : Iterator[nullable Object] */;
4928 val
* var_29
/* var : Iterator[MClassDef] */;
4929 short int var30
/* : Bool */;
4930 val
* var31
/* : nullable Object */;
4931 val
* var_mclassdef
/* var mclassdef: MClassDef */;
4932 val
* var32
/* : POSet[nullable Object] */;
4933 val
* var34
/* : POSet[nullable Object] */;
4935 { /* Inline model#MClassDef#in_hierarchy (self) on <self:MClassDef> */
4936 var2
= self
->attrs
[COLOR_nit__model__MClassDef___in_hierarchy
].val
; /* _in_hierarchy on <self:MClassDef> */
4943 var4
= 1; /* is null */
4945 var4
= 0; /* arg is null but recv is not */
4948 { /* Inline kernel#Object#== (var,var3) on <var:nullable POSetElement[MClassDef]> */
4951 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable POSetElement[MClassDef](POSetElement[MClassDef])> */
4952 var9
= var
== var_other
;
4964 if (unlikely(!var4
)) {
4965 PRINT_ERROR("Runtime error: %s", "Assert \'unique_invocation\' failed");
4966 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 601);
4970 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4971 var12
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4972 if (unlikely(var12
== NULL
)) {
4973 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4974 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
4978 RET_LABEL11
:(void)0;
4982 { /* Inline mmodule#MModule#model (var10) on <var10:MModule> */
4983 var15
= var10
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <var10:MModule> */
4984 if (unlikely(var15
== NULL
)) {
4985 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
4986 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
4990 RET_LABEL14
:(void)0;
4995 { /* Inline model#Model#mclassdef_hierarchy (var_model) on <var_model:Model> */
4996 var18
= var_model
->attrs
[COLOR_nit__model__Model___mclassdef_hierarchy
].val
; /* _mclassdef_hierarchy on <var_model:Model> */
4997 if (unlikely(var18
== NULL
)) {
4998 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef_hierarchy");
4999 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 40);
5003 RET_LABEL17
:(void)0;
5007 var19
= poset___poset__POSet___add_node(var16
, self
);
5011 { /* Inline model#MClassDef#in_hierarchy= (self,var_res) on <self:MClassDef> */
5012 self
->attrs
[COLOR_nit__model__MClassDef___in_hierarchy
].val
= var_res
; /* _in_hierarchy on <self:MClassDef> */
5013 RET_LABEL20
:(void)0;
5017 { /* Inline model#MClassDef#bound_mtype (self) on <self:MClassDef> */
5018 var23
= self
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <self:MClassDef> */
5019 if (unlikely(var23
== NULL
)) {
5020 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
5021 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
5025 RET_LABEL22
:(void)0;
5030 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
5031 var26
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
5032 if (unlikely(var26
== NULL
)) {
5033 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5034 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
5038 RET_LABEL25
:(void)0;
5042 var27
= nit___nit__MClassType___MType__collect_mclassdefs(var_mtype
, var24
);
5046 var28
= ((val
* (*)(val
* self
))(var_
->class->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_
) /* iterator on <var_:Set[MClassDef]>*/;
5051 var30
= ((short int (*)(val
* self
))(var_29
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_29
) /* is_ok on <var_29:Iterator[MClassDef]>*/;
5055 var31
= ((val
* (*)(val
* self
))(var_29
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_29
) /* item on <var_29:Iterator[MClassDef]>*/;
5057 var_mclassdef
= var31
;
5059 { /* Inline poset#POSetElement#poset (var_res) on <var_res:POSetElement[MClassDef]> */
5060 var34
= var_res
->attrs
[COLOR_poset__POSetElement___poset
].val
; /* _poset on <var_res:POSetElement[MClassDef]> */
5061 if (unlikely(var34
== NULL
)) {
5062 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset");
5063 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 383);
5067 RET_LABEL33
:(void)0;
5071 poset___poset__POSet___add_edge(var32
, self
, var_mclassdef
); /* Direct call poset#POSet#add_edge on <var32:POSet[nullable Object](POSet[MClassDef])>*/
5074 ((void (*)(val
* self
))(var_29
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_29
) /* next on <var_29:Iterator[MClassDef]>*/;
5080 BREAK_label
: (void)0;
5082 { /* Inline abstract_collection#Iterator#finish (var_29) on <var_29:Iterator[MClassDef]> */
5083 RET_LABEL35
:(void)0;
5088 /* method model#MClassDef#in_hierarchy for (self: MClassDef): nullable POSetElement[MClassDef] */
5089 val
* nit___nit__MClassDef___in_hierarchy(val
* self
) {
5090 val
* var
/* : nullable POSetElement[MClassDef] */;
5091 val
* var1
/* : nullable POSetElement[MClassDef] */;
5092 var1
= self
->attrs
[COLOR_nit__model__MClassDef___in_hierarchy
].val
; /* _in_hierarchy on <self:MClassDef> */
5097 /* method model#MClassDef#in_hierarchy= for (self: MClassDef, nullable POSetElement[MClassDef]) */
5098 void nit___nit__MClassDef___in_hierarchy_61d(val
* self
, val
* p0
) {
5099 self
->attrs
[COLOR_nit__model__MClassDef___in_hierarchy
].val
= p0
; /* _in_hierarchy on <self:MClassDef> */
5102 /* method model#MClassDef#is_intro for (self: MClassDef): Bool */
5103 short int nit___nit__MClassDef___is_intro(val
* self
) {
5104 short int var
/* : Bool */;
5105 val
* var1
/* : MClass */;
5106 val
* var3
/* : MClass */;
5107 val
* var4
/* : MClassDef */;
5108 val
* var6
/* : MClassDef */;
5109 short int var7
/* : Bool */;
5110 val
* var_other
/* var other: nullable Object */;
5111 short int var9
/* : Bool */;
5112 short int var11
/* : Bool */;
5114 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
5115 var3
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
5116 if (unlikely(var3
== NULL
)) {
5117 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5118 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
5126 { /* Inline model#MClass#intro (var1) on <var1:MClass> */
5127 var6
= var1
->attrs
[COLOR_nit__model__MClass___intro
].val
; /* _intro on <var1:MClass> */
5128 if (unlikely(var6
== NULL
)) {
5129 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
5130 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 423);
5138 { /* Inline kernel#Object#== (var4,self) on <var4:MClassDef> */
5141 { /* Inline kernel#Object#is_same_instance (var4,var_other) on <var4:MClassDef> */
5142 var11
= var4
== var_other
;
5145 RET_LABEL10
:(void)0;
5158 /* method model#MClassDef#intro_mproperties for (self: MClassDef): Array[MProperty] */
5159 val
* nit___nit__MClassDef___intro_mproperties(val
* self
) {
5160 val
* var
/* : Array[MProperty] */;
5161 val
* var1
/* : Array[MProperty] */;
5162 var1
= self
->attrs
[COLOR_nit__model__MClassDef___intro_mproperties
].val
; /* _intro_mproperties on <self:MClassDef> */
5163 if (unlikely(var1
== NULL
)) {
5164 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mproperties");
5165 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 620);
5172 /* method model#MClassDef#mpropdefs for (self: MClassDef): Array[MPropDef] */
5173 val
* nit___nit__MClassDef___mpropdefs(val
* self
) {
5174 val
* var
/* : Array[MPropDef] */;
5175 val
* var1
/* : Array[MPropDef] */;
5176 var1
= self
->attrs
[COLOR_nit__model__MClassDef___mpropdefs
].val
; /* _mpropdefs on <self:MClassDef> */
5177 if (unlikely(var1
== NULL
)) {
5178 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
5179 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 623);
5186 /* method model#MType#name for (self: MType): String */
5187 val
* nit___nit__MType___nit__model_base__MEntity__name(val
* self
) {
5188 val
* var
/* : String */;
5189 val
* var1
/* : String */;
5191 var1
= ((val
* (*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Object__to_s
]))(self
) /* to_s on <self:MType>*/;
5198 /* method model#MType#is_subtype for (self: MType, MModule, nullable MClassType, MType): Bool */
5199 short int nit___nit__MType___is_subtype(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5200 short int var
/* : Bool */;
5201 val
* var_mmodule
/* var mmodule: MModule */;
5202 val
* var_anchor
/* var anchor: nullable MClassType */;
5203 val
* var_sup
/* var sup: MType */;
5204 val
* var_sub
/* var sub: MType */;
5205 short int var1
/* : Bool */;
5206 val
* var_other
/* var other: nullable Object */;
5207 short int var3
/* : Bool */;
5208 short int var5
/* : Bool */;
5209 short int var6
/* : Bool */;
5210 val
* var7
/* : null */;
5211 short int var8
/* : Bool */;
5212 short int var9
/* : Bool */;
5213 short int var11
/* : Bool */;
5214 short int var13
/* : Bool */;
5215 short int var14
/* : Bool */;
5216 short int var15
/* : Bool */;
5217 short int var16
/* : Bool */;
5218 short int var17
/* : Bool */;
5219 val
* var18
/* : null */;
5220 short int var19
/* : Bool */;
5221 val
* var20
/* : MType */;
5222 val
* var21
/* : null */;
5223 short int var22
/* : Bool */;
5224 val
* var23
/* : MType */;
5225 short int var24
/* : Bool */;
5226 short int var_sup_accept_null
/* var sup_accept_null: Bool */;
5227 short int var25
/* : Bool */;
5230 short int var26
/* : Bool */;
5231 val
* var27
/* : MType */;
5232 val
* var29
/* : MType */;
5233 short int var30
/* : Bool */;
5236 short int var33
/* : Bool */;
5237 short int var34
/* : Bool */;
5240 short int var37
/* : Bool */;
5241 short int var38
/* : Bool */;
5242 val
* var39
/* : MType */;
5243 val
* var41
/* : MType */;
5244 short int var42
/* : Bool */;
5247 short int var45
/* : Bool */;
5248 short int var46
/* : Bool */;
5251 short int var_
/* var : Bool */;
5252 short int var49
/* : Bool */;
5255 short int var52
/* : Bool */;
5256 short int var54
/* : Bool */;
5257 short int var56
/* : Bool */;
5258 short int var57
/* : Bool */;
5259 val
* var58
/* : null */;
5260 short int var59
/* : Bool */;
5261 short int var60
/* : Bool */;
5262 val
* var_other62
/* var other: nullable Object */;
5263 short int var63
/* : Bool */;
5264 short int var64
/* : Bool */;
5265 val
* var65
/* : MType */;
5266 short int var66
/* : Bool */;
5269 short int var69
/* : Bool */;
5270 short int var70
/* : Bool */;
5271 val
* var71
/* : MType */;
5272 val
* var73
/* : MType */;
5273 short int var74
/* : Bool */;
5276 short int var77
/* : Bool */;
5279 short int var80
/* : Bool */;
5280 short int var81
/* : Bool */;
5283 short int var_84
/* var : Bool */;
5284 short int var85
/* : Bool */;
5287 short int var88
/* : Bool */;
5288 short int var89
/* : Bool */;
5291 short int var92
/* : Bool */;
5292 short int var93
/* : Bool */;
5295 short int var96
/* : Bool */;
5296 short int var98
/* : Bool */;
5297 short int var100
/* : Bool */;
5298 short int var101
/* : Bool */;
5299 val
* var102
/* : null */;
5300 short int var103
/* : Bool */;
5301 short int var104
/* : Bool */;
5302 short int var106
/* : Bool */;
5303 short int var108
/* : Bool */;
5304 val
* var109
/* : MClassType */;
5305 val
* var_resolved_sub
/* var resolved_sub: MClassType */;
5306 val
* var110
/* : Set[MClass] */;
5307 val
* var111
/* : MClass */;
5308 val
* var113
/* : MClass */;
5309 short int var114
/* : Bool */;
5310 short int var_res
/* var res: Bool */;
5311 short int var115
/* : Bool */;
5312 short int var116
/* : Bool */;
5313 short int var118
/* : Bool */;
5314 short int var119
/* : Bool */;
5315 short int var120
/* : Bool */;
5318 short int var123
/* : Bool */;
5319 short int var124
/* : Bool */;
5320 val
* var125
/* : MClass */;
5321 val
* var127
/* : MClass */;
5322 val
* var128
/* : MClassType */;
5323 val
* var_sub2
/* var sub2: MClassType */;
5324 val
* var129
/* : MClass */;
5325 val
* var131
/* : MClass */;
5326 val
* var132
/* : MClass */;
5327 val
* var134
/* : MClass */;
5328 short int var135
/* : Bool */;
5329 short int var137
/* : Bool */;
5330 short int var139
/* : Bool */;
5331 long var140
/* : Int */;
5332 long var_i
/* var i: Int */;
5333 val
* var141
/* : MClass */;
5334 val
* var143
/* : MClass */;
5335 long var144
/* : Int */;
5336 long var146
/* : Int */;
5337 long var_147
/* var : Int */;
5338 short int var148
/* : Bool */;
5339 short int var150
/* : Bool */;
5342 const char* var_class_name
;
5343 short int var153
/* : Bool */;
5344 val
* var154
/* : Array[MType] */;
5345 val
* var155
/* : nullable Object */;
5346 val
* var_sub_arg
/* var sub_arg: MType */;
5347 val
* var156
/* : Array[MType] */;
5348 val
* var158
/* : Array[MType] */;
5349 val
* var159
/* : nullable Object */;
5350 val
* var_sup_arg
/* var sup_arg: MType */;
5351 short int var160
/* : Bool */;
5352 short int var161
/* : Bool */;
5353 short int var162
/* : Bool */;
5354 short int var164
/* : Bool */;
5355 short int var165
/* : Bool */;
5356 long var166
/* : Int */;
5357 long var167
/* : Int */;
5358 short int var169
/* : Bool */;
5364 { /* Inline kernel#Object#== (var_sub,var_sup) on <var_sub:MType> */
5365 var_other
= var_sup
;
5367 { /* Inline kernel#Object#is_same_instance (var_sub,var_other) on <var_sub:MType> */
5368 var5
= var_sub
== var_other
;
5386 if (var_anchor
== NULL
) {
5387 var8
= 1; /* is null */
5389 var8
= 0; /* arg is null but recv is not */
5392 { /* Inline kernel#Object#== (var_anchor,var7) on <var_anchor:nullable MClassType> */
5395 { /* Inline kernel#Object#is_same_instance (var_anchor,var_other) on <var_anchor:nullable MClassType(MClassType)> */
5396 var13
= var_anchor
== var_other
;
5399 RET_LABEL12
:(void)0;
5404 RET_LABEL10
:(void)0;
5410 var14
= ((short int (*)(val
* self
))(var_sub
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_sub
) /* need_anchor on <var_sub:MType>*/;
5413 if (unlikely(!var15
)) {
5414 PRINT_ERROR("Runtime error: %s", "Assert failed");
5415 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 672);
5419 var16
= ((short int (*)(val
* self
))(var_sup
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_sup
) /* need_anchor on <var_sup:MType>*/;
5422 if (unlikely(!var17
)) {
5423 PRINT_ERROR("Runtime error: %s", "Assert failed");
5424 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 673);
5430 var19
= ((short int (*)(val
* self
, val
* p0
, val
* p1
, val
* p2
))(var_sub
->class->vft
[COLOR_nit__model__MType__can_resolve_for
]))(var_sub
, var_anchor
, var18
, var_mmodule
) /* can_resolve_for on <var_sub:MType>*/;
5432 if (unlikely(!var19
)) {
5433 PRINT_ERROR("Runtime error: %s", "Assert failed");
5434 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 676);
5438 var20
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
))(var_sub
->class->vft
[COLOR_nit__model__MType__lookup_fixed
]))(var_sub
, var_mmodule
, var_anchor
) /* lookup_fixed on <var_sub:MType>*/;
5443 var22
= ((short int (*)(val
* self
, val
* p0
, val
* p1
, val
* p2
))(var_sup
->class->vft
[COLOR_nit__model__MType__can_resolve_for
]))(var_sup
, var_anchor
, var21
, var_mmodule
) /* can_resolve_for on <var_sup:MType>*/;
5445 if (unlikely(!var22
)) {
5446 PRINT_ERROR("Runtime error: %s", "Assert failed");
5447 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 678);
5451 var23
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
))(var_sup
->class->vft
[COLOR_nit__model__MType__lookup_fixed
]))(var_sup
, var_mmodule
, var_anchor
) /* lookup_fixed on <var_sup:MType>*/;
5456 var_sup_accept_null
= var24
;
5457 /* <var_sup:MType> isa MNullableType */
5458 cltype
= type_nit__MNullableType
.color
;
5459 idtype
= type_nit__MNullableType
.id
;
5460 if(cltype
>= var_sup
->type
->table_size
) {
5463 var25
= var_sup
->type
->type_table
[cltype
] == idtype
;
5467 var_sup_accept_null
= var26
;
5469 { /* Inline model#MNullableType#mtype (var_sup) on <var_sup:MType(MNullableType)> */
5470 var29
= var_sup
->attrs
[COLOR_nit__model__MNullableType___mtype
].val
; /* _mtype on <var_sup:MType(MNullableType)> */
5471 if (unlikely(var29
== NULL
)) {
5472 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
5473 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1506);
5477 RET_LABEL28
:(void)0;
5482 /* <var_sup:MType> isa MNullType */
5483 cltype31
= type_nit__MNullType
.color
;
5484 idtype32
= type_nit__MNullType
.id
;
5485 if(cltype31
>= var_sup
->type
->table_size
) {
5488 var30
= var_sup
->type
->type_table
[cltype31
] == idtype32
;
5492 var_sup_accept_null
= var33
;
5496 /* <var_sub:MType> isa MNullableType */
5497 cltype35
= type_nit__MNullableType
.color
;
5498 idtype36
= type_nit__MNullableType
.id
;
5499 if(cltype35
>= var_sub
->type
->table_size
) {
5502 var34
= var_sub
->type
->type_table
[cltype35
] == idtype36
;
5505 var37
= !var_sup_accept_null
;
5513 { /* Inline model#MNullableType#mtype (var_sub) on <var_sub:MType(MNullableType)> */
5514 var41
= var_sub
->attrs
[COLOR_nit__model__MNullableType___mtype
].val
; /* _mtype on <var_sub:MType(MNullableType)> */
5515 if (unlikely(var41
== NULL
)) {
5516 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
5517 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1506);
5521 RET_LABEL40
:(void)0;
5526 /* <var_sub:MType> isa MNullType */
5527 cltype43
= type_nit__MNullType
.color
;
5528 idtype44
= type_nit__MNullType
.id
;
5529 if(cltype43
>= var_sub
->type
->table_size
) {
5532 var42
= var_sub
->type
->type_table
[cltype43
] == idtype44
;
5535 var
= var_sup_accept_null
;
5541 /* <var_sub:MType> isa MParameterType */
5542 cltype47
= type_nit__MParameterType
.color
;
5543 idtype48
= type_nit__MParameterType
.id
;
5544 if(cltype47
>= var_sub
->type
->table_size
) {
5547 var46
= var_sub
->type
->type_table
[cltype47
] == idtype48
;
5553 /* <var_sub:MType> isa MVirtualType */
5554 cltype50
= type_nit__MVirtualType
.color
;
5555 idtype51
= type_nit__MVirtualType
.id
;
5556 if(cltype50
>= var_sub
->type
->table_size
) {
5559 var49
= var_sub
->type
->type_table
[cltype50
] == idtype51
;
5565 { /* Inline kernel#Object#== (var_sub,var_sup) on <var_sub:MType> */
5566 var_other
= var_sup
;
5568 { /* Inline kernel#Object#is_same_instance (var_sub,var_other) on <var_sub:MType> */
5569 var56
= var_sub
== var_other
;
5572 RET_LABEL55
:(void)0;
5577 RET_LABEL53
:(void)0;
5587 if (var_anchor
== NULL
) {
5588 var59
= 0; /* is null */
5590 var59
= 1; /* arg is null and recv is not */
5593 { /* Inline kernel#Object#!= (var_anchor,var58) on <var_anchor:nullable MClassType> */
5594 var_other62
= var58
;
5596 var63
= ((short int (*)(val
* self
, val
* p0
))(var_anchor
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_anchor
, var_other62
) /* == on <var_anchor:nullable MClassType(MClassType)>*/;
5601 RET_LABEL61
:(void)0;
5605 if (unlikely(!var59
)) {
5606 PRINT_ERROR("Runtime error: %s", "Assert failed");
5607 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 710);
5611 var65
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
))(var_sub
->class->vft
[COLOR_nit__model__MType__lookup_bound
]))(var_sub
, var_mmodule
, var_anchor
) /* lookup_bound on <var_sub:MType>*/;
5614 /* <var_sub:MType> isa MNullableType */
5615 cltype67
= type_nit__MNullableType
.color
;
5616 idtype68
= type_nit__MNullableType
.id
;
5617 if(cltype67
>= var_sub
->type
->table_size
) {
5620 var66
= var_sub
->type
->type_table
[cltype67
] == idtype68
;
5623 var69
= !var_sup_accept_null
;
5631 { /* Inline model#MNullableType#mtype (var_sub) on <var_sub:MType(MNullableType)> */
5632 var73
= var_sub
->attrs
[COLOR_nit__model__MNullableType___mtype
].val
; /* _mtype on <var_sub:MType(MNullableType)> */
5633 if (unlikely(var73
== NULL
)) {
5634 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
5635 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1506);
5639 RET_LABEL72
:(void)0;
5644 /* <var_sub:MType> isa MNullType */
5645 cltype75
= type_nit__MNullType
.color
;
5646 idtype76
= type_nit__MNullType
.id
;
5647 if(cltype75
>= var_sub
->type
->table_size
) {
5650 var74
= var_sub
->type
->type_table
[cltype75
] == idtype76
;
5653 var
= var_sup_accept_null
;
5662 BREAK_label
: (void)0;
5663 /* <var_sub:MType> isa MClassType */
5664 cltype78
= type_nit__MClassType
.color
;
5665 idtype79
= type_nit__MClassType
.id
;
5666 if(cltype78
>= var_sub
->type
->table_size
) {
5669 var77
= var_sub
->type
->type_table
[cltype78
] == idtype79
;
5671 if (unlikely(!var77
)) {
5672 PRINT_ERROR("Runtime error: %s", "Assert failed");
5673 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 725);
5676 /* <var_sup:MType> isa MParameterType */
5677 cltype82
= type_nit__MParameterType
.color
;
5678 idtype83
= type_nit__MParameterType
.id
;
5679 if(cltype82
>= var_sup
->type
->table_size
) {
5682 var81
= var_sup
->type
->type_table
[cltype82
] == idtype83
;
5688 /* <var_sup:MType> isa MVirtualType */
5689 cltype86
= type_nit__MVirtualType
.color
;
5690 idtype87
= type_nit__MVirtualType
.id
;
5691 if(cltype86
>= var_sup
->type
->table_size
) {
5694 var85
= var_sup
->type
->type_table
[cltype86
] == idtype87
;
5704 /* <var_sup:MType> isa MNullType */
5705 cltype90
= type_nit__MNullType
.color
;
5706 idtype91
= type_nit__MNullType
.id
;
5707 if(cltype90
>= var_sup
->type
->table_size
) {
5710 var89
= var_sup
->type
->type_table
[cltype90
] == idtype91
;
5718 /* <var_sup:MType> isa MClassType */
5719 cltype94
= type_nit__MClassType
.color
;
5720 idtype95
= type_nit__MClassType
.id
;
5721 if(cltype94
>= var_sup
->type
->table_size
) {
5724 var93
= var_sup
->type
->type_table
[cltype94
] == idtype95
;
5726 if (unlikely(!var93
)) {
5727 PRINT_ERROR("Runtime error: %s", "Assert failed");
5728 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 737);
5732 { /* Inline kernel#Object#== (var_sub,var_sup) on <var_sub:MType(MClassType)> */
5733 var_other
= var_sup
;
5735 { /* Inline kernel#Object#is_same_instance (var_sub,var_other) on <var_sub:MType(MClassType)> */
5736 var100
= var_sub
== var_other
;
5739 RET_LABEL99
:(void)0;
5744 RET_LABEL97
:(void)0;
5754 if (var_anchor
== NULL
) {
5755 var103
= 1; /* is null */
5757 var103
= 0; /* arg is null but recv is not */
5760 { /* Inline kernel#Object#== (var_anchor,var102) on <var_anchor:nullable MClassType> */
5763 { /* Inline kernel#Object#is_same_instance (var_anchor,var_other) on <var_anchor:nullable MClassType(MClassType)> */
5764 var108
= var_anchor
== var_other
;
5767 RET_LABEL107
:(void)0;
5772 RET_LABEL105
:(void)0;
5777 var_anchor
= var_sub
;
5781 var109
= nit___nit__MClassType___MType__anchor_to(var_sub
, var_mmodule
, var_anchor
);
5783 var_resolved_sub
= var109
;
5785 var110
= nit___nit__MClassType___MType__collect_mclasses(var_resolved_sub
, var_mmodule
);
5788 { /* Inline model#MClassType#mclass (var_sup) on <var_sup:MType(MClassType)> */
5789 var113
= var_sup
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_sup:MType(MClassType)> */
5790 if (unlikely(var113
== NULL
)) {
5791 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5792 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
5796 RET_LABEL112
:(void)0;
5800 var114
= ((short int (*)(val
* self
, val
* p0
))(var110
->class->vft
[COLOR_standard__abstract_collection__Collection__has
]))(var110
, var111
) /* has on <var110:Set[MClass]>*/;
5805 { /* Inline kernel#Bool#== (var_res,var115) on <var_res:Bool> */
5806 var118
= var_res
== var115
;
5809 RET_LABEL117
:(void)0;
5818 /* <var_sup:MType(MClassType)> isa MGenericType */
5819 cltype121
= type_nit__MGenericType
.color
;
5820 idtype122
= type_nit__MGenericType
.id
;
5821 if(cltype121
>= var_sup
->type
->table_size
) {
5824 var120
= var_sup
->type
->type_table
[cltype121
] == idtype122
;
5834 { /* Inline model#MClassType#mclass (var_sup) on <var_sup:MType(MGenericType)> */
5835 var127
= var_sup
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_sup:MType(MGenericType)> */
5836 if (unlikely(var127
== NULL
)) {
5837 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5838 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
5842 RET_LABEL126
:(void)0;
5846 var128
= nit___nit__MType___supertype_to(var_sub
, var_mmodule
, var_anchor
, var125
);
5850 { /* Inline model#MClassType#mclass (var_sub2) on <var_sub2:MClassType> */
5851 var131
= var_sub2
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_sub2:MClassType> */
5852 if (unlikely(var131
== NULL
)) {
5853 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5854 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
5858 RET_LABEL130
:(void)0;
5862 { /* Inline model#MClassType#mclass (var_sup) on <var_sup:MType(MGenericType)> */
5863 var134
= var_sup
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_sup:MType(MGenericType)> */
5864 if (unlikely(var134
== NULL
)) {
5865 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5866 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
5870 RET_LABEL133
:(void)0;
5874 { /* Inline kernel#Object#== (var129,var132) on <var129:MClass> */
5877 { /* Inline kernel#Object#is_same_instance (var129,var_other) on <var129:MClass> */
5878 var139
= var129
== var_other
;
5881 RET_LABEL138
:(void)0;
5886 RET_LABEL136
:(void)0;
5889 if (unlikely(!var135
)) {
5890 PRINT_ERROR("Runtime error: %s", "Assert failed");
5891 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 749);
5897 { /* Inline model#MClassType#mclass (var_sup) on <var_sup:MType(MGenericType)> */
5898 var143
= var_sup
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_sup:MType(MGenericType)> */
5899 if (unlikely(var143
== NULL
)) {
5900 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5901 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
5905 RET_LABEL142
:(void)0;
5909 { /* Inline model#MClass#arity (var141) on <var141:MClass> */
5910 var146
= var141
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <var141:MClass> */
5912 RET_LABEL145
:(void)0;
5918 { /* Inline kernel#Int#< (var_i,var_147) on <var_i:Int> */
5919 /* Covariant cast for argument 0 (i) <var_147:Int> isa OTHER */
5920 /* <var_147:Int> isa OTHER */
5921 var150
= 1; /* easy <var_147:Int> isa OTHER*/
5922 if (unlikely(!var150
)) {
5923 var_class_name
= type_standard__Int
.name
;
5924 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5925 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
5928 var153
= var_i
< var_147
;
5931 RET_LABEL149
:(void)0;
5936 var154
= ((val
* (*)(val
* self
))(var_sub2
->class->vft
[COLOR_nit__model__MClassType__arguments
]))(var_sub2
) /* arguments on <var_sub2:MClassType>*/;
5939 var155
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var154
, var_i
);
5941 var_sub_arg
= var155
;
5943 { /* Inline model#MGenericType#arguments (var_sup) on <var_sup:MType(MGenericType)> */
5944 var158
= var_sup
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
; /* _arguments on <var_sup:MType(MGenericType)> */
5945 if (unlikely(var158
== NULL
)) {
5946 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
5947 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1164);
5951 RET_LABEL157
:(void)0;
5955 var159
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var156
, var_i
);
5957 var_sup_arg
= var159
;
5959 var160
= nit___nit__MType___is_subtype(var_sub_arg
, var_mmodule
, var_anchor
, var_sup_arg
);
5964 { /* Inline kernel#Bool#== (var_res,var161) on <var_res:Bool> */
5965 var164
= var_res
== var161
;
5968 RET_LABEL163
:(void)0;
5979 var167
= standard___standard__Int___Discrete__successor(var_i
, var166
);
5983 goto BREAK_label168
;
5986 BREAK_label168
: (void)0;
5993 /* method model#MType#anchor_to for (self: MType, MModule, MClassType): MType */
5994 val
* nit___nit__MType___anchor_to(val
* self
, val
* p0
, val
* p1
) {
5995 val
* var
/* : MType */;
5996 val
* var_mmodule
/* var mmodule: MModule */;
5997 val
* var_anchor
/* var anchor: MClassType */;
5998 short int var1
/* : Bool */;
5999 short int var2
/* : Bool */;
6000 short int var3
/* : Bool */;
6001 short int var4
/* : Bool */;
6002 val
* var5
/* : null */;
6003 short int var6
/* : Bool */;
6004 val
* var7
/* : MType */;
6005 val
* var_res
/* var res: MType */;
6006 short int var8
/* : Bool */;
6007 short int var9
/* : Bool */;
6011 var1
= ((short int (*)(val
* self
))(self
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(self
) /* need_anchor on <self:MType>*/;
6020 var3
= ((short int (*)(val
* self
))(var_anchor
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_anchor
) /* need_anchor on <var_anchor:MClassType>*/;
6023 if (unlikely(!var4
)) {
6024 PRINT_ERROR("Runtime error: %s", "Assert failed");
6025 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 796);
6031 var7
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(self
->class->vft
[COLOR_nit__model__MType__resolve_for
]))(self
, var_anchor
, var5
, var_mmodule
, var6
) /* resolve_for on <self:MType>*/;
6035 var8
= ((short int (*)(val
* self
))(var_res
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_res
) /* need_anchor on <var_res:MType>*/;
6038 if (unlikely(!var9
)) {
6039 PRINT_ERROR("Runtime error: %s", "Assert failed");
6040 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 799);
6048 /* method model#MType#need_anchor for (self: MType): Bool */
6049 short int nit___nit__MType___need_anchor(val
* self
) {
6050 short int var
/* : Bool */;
6051 short int var1
/* : Bool */;
6058 /* method model#MType#supertype_to for (self: MType, MModule, nullable MClassType, MClass): MClassType */
6059 val
* nit___nit__MType___supertype_to(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6060 val
* var
/* : MClassType */;
6061 val
* var_mmodule
/* var mmodule: MModule */;
6062 val
* var_anchor
/* var anchor: nullable MClassType */;
6063 val
* var_super_mclass
/* var super_mclass: MClass */;
6064 long var1
/* : Int */;
6065 long var3
/* : Int */;
6066 long var4
/* : Int */;
6067 short int var5
/* : Bool */;
6068 short int var7
/* : Bool */;
6069 val
* var8
/* : MClassType */;
6070 val
* var10
/* : MClassType */;
6071 short int var11
/* : Bool */;
6072 short int var12
/* : Bool */;
6075 short int var_
/* var : Bool */;
6076 val
* var13
/* : MClass */;
6077 val
* var15
/* : MClass */;
6078 short int var16
/* : Bool */;
6079 val
* var_other
/* var other: nullable Object */;
6080 short int var18
/* : Bool */;
6081 short int var20
/* : Bool */;
6082 short int var21
/* : Bool */;
6083 val
* var22
/* : null */;
6084 short int var23
/* : Bool */;
6085 short int var24
/* : Bool */;
6086 val
* var_other26
/* var other: nullable Object */;
6087 short int var27
/* : Bool */;
6088 short int var28
/* : Bool */;
6089 val
* var29
/* : MType */;
6090 val
* var_resolved_self
/* var resolved_self: nullable Object */;
6091 val
* var30
/* : Set[MClassType] */;
6092 val
* var_supertypes
/* var supertypes: Set[MClassType] */;
6093 val
* var_31
/* var : Set[MClassType] */;
6094 val
* var32
/* : Iterator[nullable Object] */;
6095 val
* var_33
/* var : Iterator[MClassType] */;
6096 short int var34
/* : Bool */;
6097 val
* var35
/* : nullable Object */;
6098 val
* var_supertype
/* var supertype: MClassType */;
6099 val
* var36
/* : MClass */;
6100 val
* var38
/* : MClass */;
6101 short int var39
/* : Bool */;
6102 short int var41
/* : Bool */;
6103 short int var43
/* : Bool */;
6104 short int var44
/* : Bool */;
6105 val
* var45
/* : MType */;
6108 var_super_mclass
= p2
;
6110 { /* Inline model#MClass#arity (var_super_mclass) on <var_super_mclass:MClass> */
6111 var3
= var_super_mclass
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <var_super_mclass:MClass> */
6118 { /* Inline kernel#Int#== (var1,var4) on <var1:Int> */
6119 var7
= var1
== var4
;
6127 { /* Inline model#MClass#mclass_type (var_super_mclass) on <var_super_mclass:MClass> */
6128 var10
= var_super_mclass
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_super_mclass:MClass> */
6129 if (unlikely(var10
== NULL
)) {
6130 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
6131 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
6142 /* <self:MType> isa MClassType */
6143 cltype
= type_nit__MClassType
.color
;
6144 idtype
= type_nit__MClassType
.id
;
6145 if(cltype
>= self
->type
->table_size
) {
6148 var12
= self
->type
->type_table
[cltype
] == idtype
;
6153 { /* Inline model#MClassType#mclass (self) on <self:MType(MClassType)> */
6154 var15
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MType(MClassType)> */
6155 if (unlikely(var15
== NULL
)) {
6156 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6157 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
6161 RET_LABEL14
:(void)0;
6165 { /* Inline kernel#Object#== (var13,var_super_mclass) on <var13:MClass> */
6166 var_other
= var_super_mclass
;
6168 { /* Inline kernel#Object#is_same_instance (var13,var_other) on <var13:MClass> */
6169 var20
= var13
== var_other
;
6172 RET_LABEL19
:(void)0;
6177 RET_LABEL17
:(void)0;
6190 var21
= ((short int (*)(val
* self
))(self
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(self
) /* need_anchor on <self:MType>*/;
6194 if (var_anchor
== NULL
) {
6195 var23
= 0; /* is null */
6197 var23
= 1; /* arg is null and recv is not */
6200 { /* Inline kernel#Object#!= (var_anchor,var22) on <var_anchor:nullable MClassType> */
6201 var_other26
= var22
;
6203 var27
= ((short int (*)(val
* self
, val
* p0
))(var_anchor
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_anchor
, var_other26
) /* == on <var_anchor:nullable MClassType(MClassType)>*/;
6208 RET_LABEL25
:(void)0;
6212 if (unlikely(!var23
)) {
6213 PRINT_ERROR("Runtime error: %s", "Assert failed");
6214 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 829);
6218 var29
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
))(self
->class->vft
[COLOR_nit__model__MType__anchor_to
]))(self
, var_mmodule
, var_anchor
) /* anchor_to on <self:MType>*/;
6220 var_resolved_self
= var29
;
6222 var_resolved_self
= self
;
6225 var30
= ((val
* (*)(val
* self
, val
* p0
))(var_resolved_self
->class->vft
[COLOR_nit__model__MType__collect_mtypes
]))(var_resolved_self
, var_mmodule
) /* collect_mtypes on <var_resolved_self:nullable Object(MType)>*/;
6227 var_supertypes
= var30
;
6228 var_31
= var_supertypes
;
6230 var32
= ((val
* (*)(val
* self
))(var_31
->class->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_31
) /* iterator on <var_31:Set[MClassType]>*/;
6235 var34
= ((short int (*)(val
* self
))(var_33
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_33
) /* is_ok on <var_33:Iterator[MClassType]>*/;
6239 var35
= ((val
* (*)(val
* self
))(var_33
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_33
) /* item on <var_33:Iterator[MClassType]>*/;
6241 var_supertype
= var35
;
6243 { /* Inline model#MClassType#mclass (var_supertype) on <var_supertype:MClassType> */
6244 var38
= var_supertype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_supertype:MClassType> */
6245 if (unlikely(var38
== NULL
)) {
6246 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6247 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
6251 RET_LABEL37
:(void)0;
6255 { /* Inline kernel#Object#== (var36,var_super_mclass) on <var36:MClass> */
6256 var_other
= var_super_mclass
;
6258 { /* Inline kernel#Object#is_same_instance (var36,var_other) on <var36:MClass> */
6259 var43
= var36
== var_other
;
6262 RET_LABEL42
:(void)0;
6267 RET_LABEL40
:(void)0;
6273 var45
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(var_supertype
->class->vft
[COLOR_nit__model__MType__resolve_for
]))(var_supertype
, self
, var_anchor
, var_mmodule
, var44
) /* resolve_for on <var_supertype:MClassType>*/;
6280 ((void (*)(val
* self
))(var_33
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_33
) /* next on <var_33:Iterator[MClassType]>*/;
6286 BREAK_label
: (void)0;
6288 { /* Inline abstract_collection#Iterator#finish (var_33) on <var_33:Iterator[MClassType]> */
6289 RET_LABEL46
:(void)0;
6292 PRINT_ERROR("Runtime error: %s", "Aborted");
6293 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 841);
6298 /* method model#MType#lookup_bound for (self: MType, MModule, MType): MType */
6299 val
* nit___nit__MType___lookup_bound(val
* self
, val
* p0
, val
* p1
) {
6300 val
* var
/* : MType */;
6301 val
* var_mmodule
/* var mmodule: MModule */;
6302 val
* var_resolved_receiver
/* var resolved_receiver: MType */;
6304 var_resolved_receiver
= p1
;
6310 /* method model#MType#lookup_fixed for (self: MType, MModule, MType): MType */
6311 val
* nit___nit__MType___lookup_fixed(val
* self
, val
* p0
, val
* p1
) {
6312 val
* var
/* : MType */;
6313 val
* var_mmodule
/* var mmodule: MModule */;
6314 val
* var_resolved_receiver
/* var resolved_receiver: MType */;
6316 var_resolved_receiver
= p1
;
6322 /* method model#MType#can_resolve_for for (self: MType, MType, nullable MClassType, MModule): Bool */
6323 short int nit___nit__MType___can_resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6324 short int var
/* : Bool */;
6325 const char* var_class_name
;
6326 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
6327 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "can_resolve_for", var_class_name
);
6328 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 942);
6333 /* method model#MType#as_nullable for (self: MType): MType */
6334 val
* nit___nit__MType___as_nullable(val
* self
) {
6335 val
* var
/* : MType */;
6336 val
* var1
/* : nullable MType */;
6337 val
* var3
/* : nullable MType */;
6338 val
* var_res
/* var res: nullable MType */;
6339 val
* var4
/* : null */;
6340 short int var5
/* : Bool */;
6341 short int var6
/* : Bool */;
6342 val
* var_other
/* var other: nullable Object */;
6343 short int var8
/* : Bool */;
6344 short int var9
/* : Bool */;
6345 val
* var10
/* : MNullableType */;
6347 { /* Inline model#MType#as_nullable_cache (self) on <self:MType> */
6348 var3
= self
->attrs
[COLOR_nit__model__MType___as_nullable_cache
].val
; /* _as_nullable_cache on <self:MType> */
6355 if (var_res
== NULL
) {
6356 var5
= 0; /* is null */
6358 var5
= 1; /* arg is null and recv is not */
6361 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable MType> */
6364 var8
= ((short int (*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable MType(MType)>*/;
6378 var10
= NEW_nit__MNullableType(&type_nit__MNullableType
);
6380 ((void (*)(val
* self
, val
* p0
))(var10
->class->vft
[COLOR_nit__model__MNullableType__mtype_61d
]))(var10
, self
) /* mtype= on <var10:MNullableType>*/;
6383 ((void (*)(val
* self
))(var10
->class->vft
[COLOR_standard__kernel__Object__init
]))(var10
) /* init on <var10:MNullableType>*/;
6387 { /* Inline model#MType#as_nullable_cache= (self,var_res) on <self:MType> */
6388 self
->attrs
[COLOR_nit__model__MType___as_nullable_cache
].val
= var_res
; /* _as_nullable_cache on <self:MType> */
6389 RET_LABEL11
:(void)0;
6397 /* method model#MType#as_notnullable for (self: MType): MType */
6398 val
* nit___nit__MType___as_notnullable(val
* self
) {
6399 val
* var
/* : MType */;
6405 /* method model#MType#as_nullable_cache for (self: MType): nullable MType */
6406 val
* nit___nit__MType___as_nullable_cache(val
* self
) {
6407 val
* var
/* : nullable MType */;
6408 val
* var1
/* : nullable MType */;
6409 var1
= self
->attrs
[COLOR_nit__model__MType___as_nullable_cache
].val
; /* _as_nullable_cache on <self:MType> */
6414 /* method model#MType#as_nullable_cache= for (self: MType, nullable MType) */
6415 void nit___nit__MType___as_nullable_cache_61d(val
* self
, val
* p0
) {
6416 self
->attrs
[COLOR_nit__model__MType___as_nullable_cache
].val
= p0
; /* _as_nullable_cache on <self:MType> */
6419 /* method model#MType#length for (self: MType): Int */
6420 long nit___nit__MType___length(val
* self
) {
6421 long var
/* : Int */;
6422 long var1
/* : Int */;
6429 /* method model#MType#collect_mclassdefs for (self: MType, MModule): Set[MClassDef] */
6430 val
* nit___nit__MType___collect_mclassdefs(val
* self
, val
* p0
) {
6431 val
* var
/* : Set[MClassDef] */;
6432 const char* var_class_name
;
6433 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
6434 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "collect_mclassdefs", var_class_name
);
6435 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1018);
6440 /* method model#MType#collect_mclasses for (self: MType, MModule): Set[MClass] */
6441 val
* nit___nit__MType___collect_mclasses(val
* self
, val
* p0
) {
6442 val
* var
/* : Set[MClass] */;
6443 const char* var_class_name
;
6444 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
6445 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "collect_mclasses", var_class_name
);
6446 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1028);
6451 /* method model#MType#collect_mtypes for (self: MType, MModule): Set[MClassType] */
6452 val
* nit___nit__MType___collect_mtypes(val
* self
, val
* p0
) {
6453 val
* var
/* : Set[MClassType] */;
6454 const char* var_class_name
;
6455 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
6456 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "collect_mtypes", var_class_name
);
6457 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1034);
6462 /* method model#MType#has_mproperty for (self: MType, MModule, MProperty): Bool */
6463 short int nit___nit__MType___has_mproperty(val
* self
, val
* p0
, val
* p1
) {
6464 short int var
/* : Bool */;
6465 val
* var_mmodule
/* var mmodule: MModule */;
6466 val
* var_mproperty
/* var mproperty: MProperty */;
6467 short int var1
/* : Bool */;
6468 short int var2
/* : Bool */;
6469 val
* var3
/* : Set[MClassDef] */;
6470 val
* var4
/* : MClassDef */;
6471 val
* var6
/* : MClassDef */;
6472 short int var7
/* : Bool */;
6476 var1
= ((short int (*)(val
* self
))(self
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(self
) /* need_anchor on <self:MType>*/;
6479 if (unlikely(!var2
)) {
6480 PRINT_ERROR("Runtime error: %s", "Assert failed");
6481 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1047);
6485 var3
= ((val
* (*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nit__model__MType__collect_mclassdefs
]))(self
, var_mmodule
) /* collect_mclassdefs on <self:MType>*/;
6488 { /* Inline model#MProperty#intro_mclassdef (var_mproperty) on <var_mproperty:MProperty> */
6489 var6
= var_mproperty
->attrs
[COLOR_nit__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_mproperty:MProperty> */
6490 if (unlikely(var6
== NULL
)) {
6491 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
6492 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1736);
6500 var7
= ((short int (*)(val
* self
, val
* p0
))(var3
->class->vft
[COLOR_standard__abstract_collection__Collection__has
]))(var3
, var4
) /* has on <var3:Set[MClassDef]>*/;
6507 /* method model#MClassType#mclass for (self: MClassType): MClass */
6508 val
* nit___nit__MClassType___mclass(val
* self
) {
6509 val
* var
/* : MClass */;
6510 val
* var1
/* : MClass */;
6511 var1
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
6512 if (unlikely(var1
== NULL
)) {
6513 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6514 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
6521 /* method model#MClassType#mclass= for (self: MClassType, MClass) */
6522 void nit___nit__MClassType___mclass_61d(val
* self
, val
* p0
) {
6523 self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
= p0
; /* _mclass on <self:MClassType> */
6526 /* method model#MClassType#model for (self: MClassType): Model */
6527 val
* nit___nit__MClassType___nit__model_base__MEntity__model(val
* self
) {
6528 val
* var
/* : Model */;
6529 val
* var1
/* : MClass */;
6530 val
* var3
/* : MClass */;
6531 val
* var4
/* : MModule */;
6532 val
* var6
/* : MModule */;
6533 val
* var7
/* : Model */;
6534 val
* var9
/* : Model */;
6536 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
6537 var3
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
6538 if (unlikely(var3
== NULL
)) {
6539 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6540 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
6548 { /* Inline model#MClass#intro_mmodule (var1) on <var1:MClass> */
6549 var6
= var1
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var1:MClass> */
6550 if (unlikely(var6
== NULL
)) {
6551 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
6552 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 343);
6560 { /* Inline mmodule#MModule#model (var4) on <var4:MModule> */
6561 var9
= var4
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <var4:MModule> */
6562 if (unlikely(var9
== NULL
)) {
6563 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
6564 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
6576 /* method model#MClassType#arguments for (self: MClassType): Array[MType] */
6577 val
* nit___nit__MClassType___arguments(val
* self
) {
6578 val
* var
/* : Array[MType] */;
6579 val
* var1
/* : Array[MType] */;
6580 var1
= self
->attrs
[COLOR_nit__model__MClassType___arguments
].val
; /* _arguments on <self:MClassType> */
6581 if (unlikely(var1
== NULL
)) {
6582 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
6583 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1065);
6590 /* method model#MClassType#arguments= for (self: MClassType, Array[MType]) */
6591 void nit___nit__MClassType___arguments_61d(val
* self
, val
* p0
) {
6592 self
->attrs
[COLOR_nit__model__MClassType___arguments
].val
= p0
; /* _arguments on <self:MClassType> */
6595 /* method model#MClassType#to_s for (self: MClassType): String */
6596 val
* nit___nit__MClassType___standard__string__Object__to_s(val
* self
) {
6597 val
* var
/* : String */;
6598 val
* var1
/* : MClass */;
6599 val
* var3
/* : MClass */;
6600 val
* var4
/* : String */;
6602 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
6603 var3
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
6604 if (unlikely(var3
== NULL
)) {
6605 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6606 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
6614 var4
= nit___nit__MClass___standard__string__Object__to_s(var1
);
6621 /* method model#MClassType#full_name for (self: MClassType): String */
6622 val
* nit___nit__MClassType___nit__model_base__MEntity__full_name(val
* self
) {
6623 val
* var
/* : String */;
6624 val
* var1
/* : MClass */;
6625 val
* var3
/* : MClass */;
6626 val
* var4
/* : String */;
6628 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
6629 var3
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
6630 if (unlikely(var3
== NULL
)) {
6631 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6632 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
6640 var4
= nit___nit__MClass___nit__model_base__MEntity__full_name(var1
);
6647 /* method model#MClassType#c_name for (self: MClassType): String */
6648 val
* nit___nit__MClassType___nit__model_base__MEntity__c_name(val
* self
) {
6649 val
* var
/* : String */;
6650 val
* var1
/* : MClass */;
6651 val
* var3
/* : MClass */;
6652 val
* var4
/* : String */;
6654 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
6655 var3
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
6656 if (unlikely(var3
== NULL
)) {
6657 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6658 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
6666 var4
= nit___nit__MClass___nit__model_base__MEntity__c_name(var1
);
6673 /* method model#MClassType#need_anchor for (self: MClassType): Bool */
6674 short int nit___nit__MClassType___MType__need_anchor(val
* self
) {
6675 short int var
/* : Bool */;
6676 short int var1
/* : Bool */;
6683 /* method model#MClassType#anchor_to for (self: MClassType, MModule, MClassType): MClassType */
6684 val
* nit___nit__MClassType___MType__anchor_to(val
* self
, val
* p0
, val
* p1
) {
6685 val
* var
/* : MClassType */;
6686 val
* var_mmodule
/* var mmodule: MModule */;
6687 val
* var_anchor
/* var anchor: MClassType */;
6688 val
* var1
/* : MType */;
6689 short int var2
/* : Bool */;
6692 const char* var_class_name
;
6696 var1
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
))(self
->class->vft
[COLOR_nit___nit__MClassType___MType__anchor_to
]))(self
, p0
, p1
) /* anchor_to on <self:MClassType>*/;
6698 /* <var1:MType> isa MClassType */
6699 cltype
= type_nit__MClassType
.color
;
6700 idtype
= type_nit__MClassType
.id
;
6701 if(cltype
>= var1
->type
->table_size
) {
6704 var2
= var1
->type
->type_table
[cltype
] == idtype
;
6706 if (unlikely(!var2
)) {
6707 var_class_name
= var1
== NULL ?
"null" : var1
->type
->name
;
6708 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
6709 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1079);
6717 /* method model#MClassType#resolve_for for (self: MClassType, MType, nullable MClassType, MModule, Bool): MClassType */
6718 val
* nit___nit__MClassType___MType__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
6719 val
* var
/* : MClassType */;
6720 val
* var_mtype
/* var mtype: MType */;
6721 val
* var_anchor
/* var anchor: nullable MClassType */;
6722 val
* var_mmodule
/* var mmodule: MModule */;
6723 short int var_cleanup_virtual
/* var cleanup_virtual: Bool */;
6727 var_cleanup_virtual
= p3
;
6733 /* method model#MClassType#can_resolve_for for (self: MClassType, MType, nullable MClassType, MModule): Bool */
6734 short int nit___nit__MClassType___MType__can_resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6735 short int var
/* : Bool */;
6736 val
* var_mtype
/* var mtype: MType */;
6737 val
* var_anchor
/* var anchor: nullable MClassType */;
6738 val
* var_mmodule
/* var mmodule: MModule */;
6739 short int var1
/* : Bool */;
6749 /* method model#MClassType#collect_mclassdefs for (self: MClassType, MModule): Set[MClassDef] */
6750 val
* nit___nit__MClassType___MType__collect_mclassdefs(val
* self
, val
* p0
) {
6751 val
* var
/* : Set[MClassDef] */;
6752 val
* var_mmodule
/* var mmodule: MModule */;
6753 short int var1
/* : Bool */;
6754 short int var2
/* : Bool */;
6755 val
* var3
/* : HashMap[MModule, Set[MClassDef]] */;
6756 val
* var5
/* : HashMap[MModule, Set[MClassDef]] */;
6757 val
* var_cache
/* var cache: HashMap[MModule, Set[MClassDef]] */;
6758 short int var6
/* : Bool */;
6759 short int var7
/* : Bool */;
6760 val
* var8
/* : nullable Object */;
6763 var1
= ((short int (*)(val
* self
))(self
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(self
) /* need_anchor on <self:MClassType>*/;
6766 if (unlikely(!var2
)) {
6767 PRINT_ERROR("Runtime error: %s", "Assert failed");
6768 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1088);
6772 { /* Inline model#MClassType#collect_mclassdefs_cache (self) on <self:MClassType> */
6773 var5
= self
->attrs
[COLOR_nit__model__MClassType___collect_mclassdefs_cache
].val
; /* _collect_mclassdefs_cache on <self:MClassType> */
6774 if (unlikely(var5
== NULL
)) {
6775 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclassdefs_cache");
6776 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1153);
6785 var6
= standard___standard__MapRead___has_key(var_cache
, var_mmodule
);
6790 nit___nit__MClassType___collect_things(self
, var_mmodule
); /* Direct call model#MClassType#collect_things on <self:MClassType>*/
6795 var8
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_cache
, var_mmodule
);
6802 /* method model#MClassType#collect_mclasses for (self: MClassType, MModule): Set[MClass] */
6803 val
* nit___nit__MClassType___MType__collect_mclasses(val
* self
, val
* p0
) {
6804 val
* var
/* : Set[MClass] */;
6805 val
* var_mmodule
/* var mmodule: MModule */;
6806 val
* var1
/* : nullable MModule */;
6807 val
* var3
/* : nullable MModule */;
6808 short int var4
/* : Bool */;
6809 short int var5
/* : Bool */;
6810 val
* var_other
/* var other: nullable Object */;
6811 short int var7
/* : Bool */;
6812 short int var9
/* : Bool */;
6813 val
* var10
/* : Set[MClass] */;
6814 val
* var12
/* : Set[MClass] */;
6815 short int var13
/* : Bool */;
6816 short int var14
/* : Bool */;
6817 val
* var15
/* : HashMap[MModule, Set[MClass]] */;
6818 val
* var17
/* : HashMap[MModule, Set[MClass]] */;
6819 val
* var_cache
/* var cache: HashMap[MModule, Set[MClass]] */;
6820 short int var18
/* : Bool */;
6821 short int var19
/* : Bool */;
6822 val
* var20
/* : nullable Object */;
6823 val
* var_res
/* var res: Set[MClass] */;
6826 { /* Inline model#MClassType#collect_mclasses_last_module (self) on <self:MClassType> */
6827 var3
= self
->attrs
[COLOR_nit__model__MClassType___collect_mclasses_last_module
].val
; /* _collect_mclasses_last_module on <self:MClassType> */
6833 var4
= 0; /* <var_mmodule:MModule> cannot be null */
6835 { /* Inline kernel#Object#== (var1,var_mmodule) on <var1:nullable MModule> */
6836 var_other
= var_mmodule
;
6838 { /* Inline kernel#Object#is_same_instance (var1,var_other) on <var1:nullable MModule(MModule)> */
6839 var9
= var1
== var_other
;
6853 { /* Inline model#MClassType#collect_mclasses_last_module_cache (self) on <self:MClassType> */
6854 var12
= self
->attrs
[COLOR_nit__model__MClassType___collect_mclasses_last_module_cache
].val
; /* _collect_mclasses_last_module_cache on <self:MClassType> */
6855 if (unlikely(var12
== NULL
)) {
6856 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclasses_last_module_cache");
6857 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1111);
6861 RET_LABEL11
:(void)0;
6869 var13
= ((short int (*)(val
* self
))(self
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(self
) /* need_anchor on <self:MClassType>*/;
6872 if (unlikely(!var14
)) {
6873 PRINT_ERROR("Runtime error: %s", "Assert failed");
6874 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1099);
6878 { /* Inline model#MClassType#collect_mclasses_cache (self) on <self:MClassType> */
6879 var17
= self
->attrs
[COLOR_nit__model__MClassType___collect_mclasses_cache
].val
; /* _collect_mclasses_cache on <self:MClassType> */
6880 if (unlikely(var17
== NULL
)) {
6881 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclasses_cache");
6882 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1154);
6886 RET_LABEL16
:(void)0;
6891 var18
= standard___standard__MapRead___has_key(var_cache
, var_mmodule
);
6896 nit___nit__MClassType___collect_things(self
, var_mmodule
); /* Direct call model#MClassType#collect_things on <self:MClassType>*/
6901 var20
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_cache
, var_mmodule
);
6905 { /* Inline model#MClassType#collect_mclasses_last_module= (self,var_mmodule) on <self:MClassType> */
6906 self
->attrs
[COLOR_nit__model__MClassType___collect_mclasses_last_module
].val
= var_mmodule
; /* _collect_mclasses_last_module on <self:MClassType> */
6907 RET_LABEL21
:(void)0;
6911 { /* Inline model#MClassType#collect_mclasses_last_module_cache= (self,var_res) on <self:MClassType> */
6912 self
->attrs
[COLOR_nit__model__MClassType___collect_mclasses_last_module_cache
].val
= var_res
; /* _collect_mclasses_last_module_cache on <self:MClassType> */
6913 RET_LABEL22
:(void)0;
6921 /* method model#MClassType#collect_mclasses_last_module for (self: MClassType): nullable MModule */
6922 val
* nit___nit__MClassType___collect_mclasses_last_module(val
* self
) {
6923 val
* var
/* : nullable MModule */;
6924 val
* var1
/* : nullable MModule */;
6925 var1
= self
->attrs
[COLOR_nit__model__MClassType___collect_mclasses_last_module
].val
; /* _collect_mclasses_last_module on <self:MClassType> */
6930 /* method model#MClassType#collect_mclasses_last_module= for (self: MClassType, nullable MModule) */
6931 void nit___nit__MClassType___collect_mclasses_last_module_61d(val
* self
, val
* p0
) {
6932 self
->attrs
[COLOR_nit__model__MClassType___collect_mclasses_last_module
].val
= p0
; /* _collect_mclasses_last_module on <self:MClassType> */
6935 /* method model#MClassType#collect_mclasses_last_module_cache for (self: MClassType): Set[MClass] */
6936 val
* nit___nit__MClassType___collect_mclasses_last_module_cache(val
* self
) {
6937 val
* var
/* : Set[MClass] */;
6938 val
* var1
/* : Set[MClass] */;
6939 var1
= self
->attrs
[COLOR_nit__model__MClassType___collect_mclasses_last_module_cache
].val
; /* _collect_mclasses_last_module_cache on <self:MClassType> */
6940 if (unlikely(var1
== NULL
)) {
6941 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclasses_last_module_cache");
6942 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1111);
6949 /* method model#MClassType#collect_mclasses_last_module_cache= for (self: MClassType, Set[MClass]) */
6950 void nit___nit__MClassType___collect_mclasses_last_module_cache_61d(val
* self
, val
* p0
) {
6951 self
->attrs
[COLOR_nit__model__MClassType___collect_mclasses_last_module_cache
].val
= p0
; /* _collect_mclasses_last_module_cache on <self:MClassType> */
6954 /* method model#MClassType#collect_mtypes for (self: MClassType, MModule): Set[MClassType] */
6955 val
* nit___nit__MClassType___MType__collect_mtypes(val
* self
, val
* p0
) {
6956 val
* var
/* : Set[MClassType] */;
6957 val
* var_mmodule
/* var mmodule: MModule */;
6958 short int var1
/* : Bool */;
6959 short int var2
/* : Bool */;
6960 val
* var3
/* : HashMap[MModule, Set[MClassType]] */;
6961 val
* var5
/* : HashMap[MModule, Set[MClassType]] */;
6962 val
* var_cache
/* var cache: HashMap[MModule, Set[MClassType]] */;
6963 short int var6
/* : Bool */;
6964 short int var7
/* : Bool */;
6965 val
* var8
/* : nullable Object */;
6968 var1
= ((short int (*)(val
* self
))(self
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(self
) /* need_anchor on <self:MClassType>*/;
6971 if (unlikely(!var2
)) {
6972 PRINT_ERROR("Runtime error: %s", "Assert failed");
6973 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1115);
6977 { /* Inline model#MClassType#collect_mtypes_cache (self) on <self:MClassType> */
6978 var5
= self
->attrs
[COLOR_nit__model__MClassType___collect_mtypes_cache
].val
; /* _collect_mtypes_cache on <self:MClassType> */
6979 if (unlikely(var5
== NULL
)) {
6980 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mtypes_cache");
6981 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1155);
6990 var6
= standard___standard__MapRead___has_key(var_cache
, var_mmodule
);
6995 nit___nit__MClassType___collect_things(self
, var_mmodule
); /* Direct call model#MClassType#collect_things on <self:MClassType>*/
7000 var8
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_cache
, var_mmodule
);
7007 /* method model#MClassType#collect_things for (self: MClassType, MModule) */
7008 void nit___nit__MClassType___collect_things(val
* self
, val
* p0
) {
7009 val
* var_mmodule
/* var mmodule: MModule */;
7010 val
* var
/* : HashSet[MClassDef] */;
7011 val
* var_res
/* var res: HashSet[MClassDef] */;
7012 val
* var1
/* : HashSet[MClass] */;
7013 val
* var_seen
/* var seen: HashSet[MClass] */;
7014 val
* var2
/* : HashSet[MClassType] */;
7015 val
* var_types
/* var types: HashSet[MClassType] */;
7016 val
* var3
/* : MClass */;
7017 val
* var5
/* : MClass */;
7018 val
* var6
/* : Array[MClass] */;
7019 long var7
/* : Int */;
7020 val
* var_
/* var : Array[MClass] */;
7021 val
* var8
/* : MClass */;
7022 val
* var10
/* : MClass */;
7023 val
* var_todo
/* var todo: Array[MClass] */;
7024 short int var11
/* : Bool */;
7025 short int var12
/* : Bool */;
7026 val
* var13
/* : nullable Object */;
7027 val
* var_mclass
/* var mclass: MClass */;
7028 val
* var14
/* : Array[MClassDef] */;
7029 val
* var16
/* : Array[MClassDef] */;
7030 val
* var_17
/* var : Array[MClassDef] */;
7031 val
* var18
/* : ArrayIterator[nullable Object] */;
7032 val
* var_19
/* var : ArrayIterator[MClassDef] */;
7033 short int var20
/* : Bool */;
7034 val
* var21
/* : nullable Object */;
7035 val
* var_mclassdef
/* var mclassdef: MClassDef */;
7036 val
* var22
/* : POSetElement[MModule] */;
7037 val
* var24
/* : POSetElement[MModule] */;
7038 val
* var25
/* : MModule */;
7039 val
* var27
/* : MModule */;
7040 short int var28
/* : Bool */;
7041 short int var29
/* : Bool */;
7042 val
* var30
/* : Array[MClassType] */;
7043 val
* var32
/* : Array[MClassType] */;
7044 val
* var_33
/* var : Array[MClassType] */;
7045 val
* var34
/* : ArrayIterator[nullable Object] */;
7046 val
* var_35
/* var : ArrayIterator[MClassType] */;
7047 short int var36
/* : Bool */;
7048 val
* var37
/* : nullable Object */;
7049 val
* var_supertype
/* var supertype: MClassType */;
7050 val
* var38
/* : MClass */;
7051 val
* var40
/* : MClass */;
7052 val
* var_superclass
/* var superclass: MClass */;
7053 short int var41
/* : Bool */;
7054 val
* var48
/* : HashMap[MModule, Set[MClassDef]] */;
7055 val
* var50
/* : HashMap[MModule, Set[MClassDef]] */;
7056 val
* var51
/* : HashMap[MModule, Set[MClass]] */;
7057 val
* var53
/* : HashMap[MModule, Set[MClass]] */;
7058 val
* var54
/* : HashMap[MModule, Set[MClassType]] */;
7059 val
* var56
/* : HashMap[MModule, Set[MClassType]] */;
7061 var
= NEW_standard__HashSet(&type_standard__HashSet__nit__MClassDef
);
7063 standard___standard__HashSet___standard__kernel__Object__init(var
); /* Direct call hash_collection#HashSet#init on <var:HashSet[MClassDef]>*/
7066 var1
= NEW_standard__HashSet(&type_standard__HashSet__nit__MClass
);
7068 standard___standard__HashSet___standard__kernel__Object__init(var1
); /* Direct call hash_collection#HashSet#init on <var1:HashSet[MClass]>*/
7071 var2
= NEW_standard__HashSet(&type_standard__HashSet__nit__MClassType
);
7073 standard___standard__HashSet___standard__kernel__Object__init(var2
); /* Direct call hash_collection#HashSet#init on <var2:HashSet[MClassType]>*/
7077 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
7078 var5
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
7079 if (unlikely(var5
== NULL
)) {
7080 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7081 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
7089 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var_seen
, var3
); /* Direct call hash_collection#HashSet#add on <var_seen:HashSet[MClass]>*/
7091 var6
= NEW_standard__Array(&type_standard__Array__nit__MClass
);
7094 standard___standard__Array___with_capacity(var6
, var7
); /* Direct call array#Array#with_capacity on <var6:Array[MClass]>*/
7098 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
7099 var10
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
7100 if (unlikely(var10
== NULL
)) {
7101 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7102 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
7110 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var8
); /* Direct call array#AbstractArray#push on <var_:Array[MClass]>*/
7115 var11
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_todo
);
7120 var13
= standard___standard__AbstractArray___standard__abstract_collection__Sequence__pop(var_todo
);
7124 { /* Inline model#MClass#mclassdefs (var_mclass) on <var_mclass:MClass> */
7125 var16
= var_mclass
->attrs
[COLOR_nit__model__MClass___mclassdefs
].val
; /* _mclassdefs on <var_mclass:MClass> */
7126 if (unlikely(var16
== NULL
)) {
7127 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
7128 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 417);
7132 RET_LABEL15
:(void)0;
7137 var18
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_17
);
7142 var20
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_19
);
7146 var21
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_19
);
7148 var_mclassdef
= var21
;
7150 { /* Inline mmodule#MModule#in_importation (var_mmodule) on <var_mmodule:MModule> */
7151 var24
= var_mmodule
->attrs
[COLOR_nit__mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mmodule:MModule> */
7152 if (unlikely(var24
== NULL
)) {
7153 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
7154 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 96);
7158 RET_LABEL23
:(void)0;
7162 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
7163 var27
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
7164 if (unlikely(var27
== NULL
)) {
7165 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
7166 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
7170 RET_LABEL26
:(void)0;
7174 var28
= poset___poset__POSetElement____60d_61d(var22
, var25
);
7182 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var_res
, var_mclassdef
); /* Direct call hash_collection#HashSet#add on <var_res:HashSet[MClassDef]>*/
7185 { /* Inline model#MClassDef#supertypes (var_mclassdef) on <var_mclassdef:MClassDef> */
7186 var32
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___supertypes
].val
; /* _supertypes on <var_mclassdef:MClassDef> */
7187 if (unlikely(var32
== NULL
)) {
7188 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
7189 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 566);
7193 RET_LABEL31
:(void)0;
7198 var34
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_33
);
7203 var36
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_35
);
7207 var37
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_35
);
7209 var_supertype
= var37
;
7211 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var_types
, var_supertype
); /* Direct call hash_collection#HashSet#add on <var_types:HashSet[MClassType]>*/
7214 { /* Inline model#MClassType#mclass (var_supertype) on <var_supertype:MClassType> */
7215 var40
= var_supertype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_supertype:MClassType> */
7216 if (unlikely(var40
== NULL
)) {
7217 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7218 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
7222 RET_LABEL39
:(void)0;
7225 var_superclass
= var38
;
7227 var41
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var_seen
, var_superclass
);
7234 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var_seen
, var_superclass
); /* Direct call hash_collection#HashSet#add on <var_seen:HashSet[MClass]>*/
7237 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_todo
, var_superclass
); /* Direct call array#Array#add on <var_todo:Array[MClass]>*/
7239 BREAK_label42
: (void)0;
7241 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_35
); /* Direct call array#ArrayIterator#next on <var_35:ArrayIterator[MClassType]>*/
7247 BREAK_label43
: (void)0;
7249 { /* Inline abstract_collection#Iterator#finish (var_35) on <var_35:ArrayIterator[MClassType]> */
7250 RET_LABEL44
:(void)0;
7253 BREAK_label
: (void)0;
7255 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_19
); /* Direct call array#ArrayIterator#next on <var_19:ArrayIterator[MClassDef]>*/
7261 BREAK_label45
: (void)0;
7263 { /* Inline abstract_collection#Iterator#finish (var_19) on <var_19:ArrayIterator[MClassDef]> */
7264 RET_LABEL46
:(void)0;
7271 BREAK_label47
: (void)0;
7273 { /* Inline model#MClassType#collect_mclassdefs_cache (self) on <self:MClassType> */
7274 var50
= self
->attrs
[COLOR_nit__model__MClassType___collect_mclassdefs_cache
].val
; /* _collect_mclassdefs_cache on <self:MClassType> */
7275 if (unlikely(var50
== NULL
)) {
7276 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclassdefs_cache");
7277 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1153);
7281 RET_LABEL49
:(void)0;
7285 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var48
, var_mmodule
, var_res
); /* Direct call hash_collection#HashMap#[]= on <var48:HashMap[MModule, Set[MClassDef]]>*/
7288 { /* Inline model#MClassType#collect_mclasses_cache (self) on <self:MClassType> */
7289 var53
= self
->attrs
[COLOR_nit__model__MClassType___collect_mclasses_cache
].val
; /* _collect_mclasses_cache on <self:MClassType> */
7290 if (unlikely(var53
== NULL
)) {
7291 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclasses_cache");
7292 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1154);
7296 RET_LABEL52
:(void)0;
7300 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var51
, var_mmodule
, var_seen
); /* Direct call hash_collection#HashMap#[]= on <var51:HashMap[MModule, Set[MClass]]>*/
7303 { /* Inline model#MClassType#collect_mtypes_cache (self) on <self:MClassType> */
7304 var56
= self
->attrs
[COLOR_nit__model__MClassType___collect_mtypes_cache
].val
; /* _collect_mtypes_cache on <self:MClassType> */
7305 if (unlikely(var56
== NULL
)) {
7306 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mtypes_cache");
7307 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1155);
7311 RET_LABEL55
:(void)0;
7315 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var54
, var_mmodule
, var_types
); /* Direct call hash_collection#HashMap#[]= on <var54:HashMap[MModule, Set[MClassType]]>*/
7319 /* method model#MClassType#collect_mclassdefs_cache for (self: MClassType): HashMap[MModule, Set[MClassDef]] */
7320 val
* nit___nit__MClassType___collect_mclassdefs_cache(val
* self
) {
7321 val
* var
/* : HashMap[MModule, Set[MClassDef]] */;
7322 val
* var1
/* : HashMap[MModule, Set[MClassDef]] */;
7323 var1
= self
->attrs
[COLOR_nit__model__MClassType___collect_mclassdefs_cache
].val
; /* _collect_mclassdefs_cache on <self:MClassType> */
7324 if (unlikely(var1
== NULL
)) {
7325 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclassdefs_cache");
7326 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1153);
7333 /* method model#MClassType#collect_mclasses_cache for (self: MClassType): HashMap[MModule, Set[MClass]] */
7334 val
* nit___nit__MClassType___collect_mclasses_cache(val
* self
) {
7335 val
* var
/* : HashMap[MModule, Set[MClass]] */;
7336 val
* var1
/* : HashMap[MModule, Set[MClass]] */;
7337 var1
= self
->attrs
[COLOR_nit__model__MClassType___collect_mclasses_cache
].val
; /* _collect_mclasses_cache on <self:MClassType> */
7338 if (unlikely(var1
== NULL
)) {
7339 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclasses_cache");
7340 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1154);
7347 /* method model#MClassType#collect_mtypes_cache for (self: MClassType): HashMap[MModule, Set[MClassType]] */
7348 val
* nit___nit__MClassType___collect_mtypes_cache(val
* self
) {
7349 val
* var
/* : HashMap[MModule, Set[MClassType]] */;
7350 val
* var1
/* : HashMap[MModule, Set[MClassType]] */;
7351 var1
= self
->attrs
[COLOR_nit__model__MClassType___collect_mtypes_cache
].val
; /* _collect_mtypes_cache on <self:MClassType> */
7352 if (unlikely(var1
== NULL
)) {
7353 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mtypes_cache");
7354 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1155);
7361 /* method model#MClassType#init for (self: MClassType) */
7362 void nit___nit__MClassType___standard__kernel__Object__init(val
* self
) {
7364 ((void (*)(val
* self
))(self
->class->vft
[COLOR_nit___nit__MClassType___standard__kernel__Object__init
]))(self
) /* init on <self:MClassType>*/;
7368 /* method model#MGenericType#arguments for (self: MGenericType): Array[MType] */
7369 val
* nit___nit__MGenericType___MClassType__arguments(val
* self
) {
7370 val
* var
/* : Array[MType] */;
7371 val
* var1
/* : Array[MType] */;
7372 var1
= self
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
7373 if (unlikely(var1
== NULL
)) {
7374 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
7375 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1164);
7382 /* method model#MGenericType#arguments= for (self: MGenericType, Array[MType]) */
7383 void nit___nit__MGenericType___MClassType__arguments_61d(val
* self
, val
* p0
) {
7384 self
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
= p0
; /* _arguments on <self:MGenericType> */
7387 /* method model#MGenericType#init for (self: MGenericType) */
7388 void nit___nit__MGenericType___standard__kernel__Object__init(val
* self
) {
7389 val
* var
/* : MClass */;
7390 val
* var2
/* : MClass */;
7391 long var3
/* : Int */;
7392 long var5
/* : Int */;
7393 val
* var6
/* : Array[MType] */;
7394 val
* var8
/* : Array[MType] */;
7395 long var9
/* : Int */;
7396 long var11
/* : Int */;
7397 short int var12
/* : Bool */;
7398 short int var14
/* : Bool */;
7399 short int var15
/* : Bool */;
7400 val
* var17
/* : Array[MType] */;
7401 val
* var19
/* : Array[MType] */;
7402 val
* var_
/* var : Array[MType] */;
7403 val
* var20
/* : ArrayIterator[nullable Object] */;
7404 val
* var_21
/* var : ArrayIterator[MType] */;
7405 short int var22
/* : Bool */;
7406 val
* var23
/* : nullable Object */;
7407 val
* var_t
/* var t: MType */;
7408 short int var24
/* : Bool */;
7409 short int var25
/* : Bool */;
7410 val
* var28
/* : MClass */;
7411 val
* var30
/* : MClass */;
7412 static val
* varonce
;
7413 val
* var31
/* : String */;
7414 char* var32
/* : NativeString */;
7415 long var33
/* : Int */;
7416 val
* var34
/* : FlatString */;
7417 val
* var35
/* : Array[MType] */;
7418 val
* var37
/* : Array[MType] */;
7419 static val
* varonce38
;
7420 val
* var39
/* : String */;
7421 char* var40
/* : NativeString */;
7422 long var41
/* : Int */;
7423 val
* var42
/* : FlatString */;
7424 val
* var43
/* : String */;
7425 static val
* varonce44
;
7426 val
* var45
/* : String */;
7427 char* var46
/* : NativeString */;
7428 long var47
/* : Int */;
7429 val
* var48
/* : FlatString */;
7430 val
* var49
/* : Array[Object] */;
7431 long var50
/* : Int */;
7432 val
* var51
/* : NativeArray[Object] */;
7433 val
* var52
/* : String */;
7435 ((void (*)(val
* self
))(self
->class->vft
[COLOR_nit___nit__MGenericType___standard__kernel__Object__init
]))(self
) /* init on <self:MGenericType>*/;
7438 { /* Inline model#MClassType#mclass (self) on <self:MGenericType> */
7439 var2
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MGenericType> */
7440 if (unlikely(var2
== NULL
)) {
7441 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7442 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
7450 { /* Inline model#MClass#arity (var) on <var:MClass> */
7451 var5
= var
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <var:MClass> */
7457 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
7458 var8
= self
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
7459 if (unlikely(var8
== NULL
)) {
7460 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
7461 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1164);
7469 { /* Inline array#AbstractArrayRead#length (var6) on <var6:Array[MType]> */
7470 var11
= var6
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var6:Array[MType]> */
7472 RET_LABEL10
:(void)0;
7476 { /* Inline kernel#Int#== (var3,var9) on <var3:Int> */
7477 var14
= var3
== var9
;
7480 RET_LABEL13
:(void)0;
7483 if (unlikely(!var12
)) {
7484 PRINT_ERROR("Runtime error: %s", "Assert failed");
7485 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1170);
7490 { /* Inline model#MGenericType#need_anchor= (self,var15) on <self:MGenericType> */
7491 self
->attrs
[COLOR_nit__model__MGenericType___need_anchor
].s
= var15
; /* _need_anchor on <self:MGenericType> */
7492 RET_LABEL16
:(void)0;
7496 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
7497 var19
= self
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
7498 if (unlikely(var19
== NULL
)) {
7499 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
7500 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1164);
7504 RET_LABEL18
:(void)0;
7509 var20
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
7514 var22
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_21
);
7518 var23
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_21
);
7522 var24
= ((short int (*)(val
* self
))(var_t
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_t
) /* need_anchor on <var_t:MType>*/;
7527 { /* Inline model#MGenericType#need_anchor= (self,var25) on <self:MGenericType> */
7528 self
->attrs
[COLOR_nit__model__MGenericType___need_anchor
].s
= var25
; /* _need_anchor on <self:MGenericType> */
7529 RET_LABEL26
:(void)0;
7536 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_21
); /* Direct call array#ArrayIterator#next on <var_21:ArrayIterator[MType]>*/
7542 BREAK_label
: (void)0;
7544 { /* Inline abstract_collection#Iterator#finish (var_21) on <var_21:ArrayIterator[MType]> */
7545 RET_LABEL27
:(void)0;
7549 { /* Inline model#MClassType#mclass (self) on <self:MGenericType> */
7550 var30
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MGenericType> */
7551 if (unlikely(var30
== NULL
)) {
7552 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7553 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
7557 RET_LABEL29
:(void)0;
7565 var34
= standard___standard__NativeString___to_s_with_length(var32
, var33
);
7570 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
7571 var37
= self
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
7572 if (unlikely(var37
== NULL
)) {
7573 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
7574 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1164);
7578 RET_LABEL36
:(void)0;
7586 var42
= standard___standard__NativeString___to_s_with_length(var40
, var41
);
7591 var43
= standard__string___Collection___join(var35
, var39
);
7598 var48
= standard___standard__NativeString___to_s_with_length(var46
, var47
);
7602 var49
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7603 { /* var49 = array_instance Array[Object] */
7605 var51
= NEW_standard__NativeArray(var50
, &type_standard__NativeArray__standard__Object
);
7606 ((struct instance_standard__NativeArray
*)var51
)->values
[0] = (val
*) var28
;
7607 ((struct instance_standard__NativeArray
*)var51
)->values
[1] = (val
*) var31
;
7608 ((struct instance_standard__NativeArray
*)var51
)->values
[2] = (val
*) var43
;
7609 ((struct instance_standard__NativeArray
*)var51
)->values
[3] = (val
*) var45
;
7611 ((void (*)(val
* self
, val
* p0
, long p1
))(var49
->class->vft
[COLOR_standard__array__Array__with_native
]))(var49
, var51
, var50
) /* with_native on <var49:Array[Object]>*/;
7615 var52
= ((val
* (*)(val
* self
))(var49
->class->vft
[COLOR_standard__string__Object__to_s
]))(var49
) /* to_s on <var49:Array[Object]>*/;
7618 { /* Inline model#MGenericType#to_s= (self,var52) on <self:MGenericType> */
7619 self
->attrs
[COLOR_nit__model__MGenericType___to_s
].val
= var52
; /* _to_s on <self:MGenericType> */
7620 RET_LABEL53
:(void)0;
7625 /* method model#MGenericType#to_s for (self: MGenericType): String */
7626 val
* nit___nit__MGenericType___standard__string__Object__to_s(val
* self
) {
7627 val
* var
/* : String */;
7628 val
* var1
/* : String */;
7629 var1
= self
->attrs
[COLOR_nit__model__MGenericType___to_s
].val
; /* _to_s on <self:MGenericType> */
7630 if (unlikely(var1
== NULL
)) {
7631 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s");
7632 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1183);
7639 /* method model#MGenericType#to_s= for (self: MGenericType, String) */
7640 void nit___nit__MGenericType___to_s_61d(val
* self
, val
* p0
) {
7641 self
->attrs
[COLOR_nit__model__MGenericType___to_s
].val
= p0
; /* _to_s on <self:MGenericType> */
7644 /* method model#MGenericType#full_name for (self: MGenericType): String */
7645 val
* nit___nit__MGenericType___nit__model_base__MEntity__full_name(val
* self
) {
7646 val
* var
/* : String */;
7647 short int var1
/* : Bool */;
7648 val
* var2
/* : String */;
7649 val
* var3
/* : String */;
7650 val
* var5
/* : Array[String] */;
7651 val
* var_args
/* var args: Array[String] */;
7652 val
* var6
/* : Array[MType] */;
7653 val
* var8
/* : Array[MType] */;
7654 val
* var_
/* var : Array[MType] */;
7655 val
* var9
/* : ArrayIterator[nullable Object] */;
7656 val
* var_10
/* var : ArrayIterator[MType] */;
7657 short int var11
/* : Bool */;
7658 val
* var12
/* : nullable Object */;
7659 val
* var_t
/* var t: MType */;
7660 val
* var13
/* : String */;
7661 val
* var15
/* : MClass */;
7662 val
* var17
/* : MClass */;
7663 val
* var18
/* : String */;
7664 static val
* varonce
;
7665 val
* var19
/* : String */;
7666 char* var20
/* : NativeString */;
7667 long var21
/* : Int */;
7668 val
* var22
/* : FlatString */;
7669 static val
* varonce23
;
7670 val
* var24
/* : String */;
7671 char* var25
/* : NativeString */;
7672 long var26
/* : Int */;
7673 val
* var27
/* : FlatString */;
7674 val
* var28
/* : String */;
7675 static val
* varonce29
;
7676 val
* var30
/* : String */;
7677 char* var31
/* : NativeString */;
7678 long var32
/* : Int */;
7679 val
* var33
/* : FlatString */;
7680 val
* var34
/* : Array[Object] */;
7681 long var35
/* : Int */;
7682 val
* var36
/* : NativeArray[Object] */;
7683 val
* var37
/* : String */;
7684 var1
= self
->attrs
[COLOR_nit__model__MGenericType___full_name
].val
!= NULL
; /* _full_name on <self:MGenericType> */
7686 var2
= self
->attrs
[COLOR_nit__model__MGenericType___full_name
].val
; /* _full_name on <self:MGenericType> */
7687 if (unlikely(var2
== NULL
)) {
7688 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _full_name");
7689 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1187);
7694 var5
= NEW_standard__Array(&type_standard__Array__standard__String
);
7696 standard___standard__Array___standard__kernel__Object__init(var5
); /* Direct call array#Array#init on <var5:Array[String]>*/
7700 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
7701 var8
= self
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
7702 if (unlikely(var8
== NULL
)) {
7703 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
7704 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1164);
7713 var9
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
7718 var11
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_10
);
7722 var12
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_10
);
7726 var13
= ((val
* (*)(val
* self
))(var_t
->class->vft
[COLOR_nit__model_base__MEntity__full_name
]))(var_t
) /* full_name on <var_t:MType>*/;
7729 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_args
, var13
); /* Direct call array#Array#add on <var_args:Array[String]>*/
7732 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_10
); /* Direct call array#ArrayIterator#next on <var_10:ArrayIterator[MType]>*/
7738 BREAK_label
: (void)0;
7740 { /* Inline abstract_collection#Iterator#finish (var_10) on <var_10:ArrayIterator[MType]> */
7741 RET_LABEL14
:(void)0;
7745 { /* Inline model#MClassType#mclass (self) on <self:MGenericType> */
7746 var17
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MGenericType> */
7747 if (unlikely(var17
== NULL
)) {
7748 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7749 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
7753 RET_LABEL16
:(void)0;
7757 var18
= nit___nit__MClass___nit__model_base__MEntity__full_name(var15
);
7764 var22
= standard___standard__NativeString___to_s_with_length(var20
, var21
);
7773 var27
= standard___standard__NativeString___to_s_with_length(var25
, var26
);
7778 var28
= standard__string___Collection___join(var_args
, var24
);
7785 var33
= standard___standard__NativeString___to_s_with_length(var31
, var32
);
7789 var34
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7790 { /* var34 = array_instance Array[Object] */
7792 var36
= NEW_standard__NativeArray(var35
, &type_standard__NativeArray__standard__Object
);
7793 ((struct instance_standard__NativeArray
*)var36
)->values
[0] = (val
*) var18
;
7794 ((struct instance_standard__NativeArray
*)var36
)->values
[1] = (val
*) var19
;
7795 ((struct instance_standard__NativeArray
*)var36
)->values
[2] = (val
*) var28
;
7796 ((struct instance_standard__NativeArray
*)var36
)->values
[3] = (val
*) var30
;
7798 ((void (*)(val
* self
, val
* p0
, long p1
))(var34
->class->vft
[COLOR_standard__array__Array__with_native
]))(var34
, var36
, var35
) /* with_native on <var34:Array[Object]>*/;
7802 var37
= ((val
* (*)(val
* self
))(var34
->class->vft
[COLOR_standard__string__Object__to_s
]))(var34
) /* to_s on <var34:Array[Object]>*/;
7808 self
->attrs
[COLOR_nit__model__MGenericType___full_name
].val
= var3
; /* _full_name on <self:MGenericType> */
7815 /* method model#MGenericType#c_name for (self: MGenericType): String */
7816 val
* nit___nit__MGenericType___nit__model_base__MEntity__c_name(val
* self
) {
7817 val
* var
/* : String */;
7818 short int var1
/* : Bool */;
7819 val
* var2
/* : String */;
7820 val
* var3
/* : String */;
7821 val
* var5
/* : MClass */;
7822 val
* var7
/* : MClass */;
7823 val
* var8
/* : String */;
7824 val
* var_res
/* var res: String */;
7825 val
* var9
/* : Array[MType] */;
7826 val
* var11
/* : Array[MType] */;
7827 val
* var_
/* var : Array[MType] */;
7828 val
* var12
/* : ArrayIterator[nullable Object] */;
7829 val
* var_13
/* var : ArrayIterator[MType] */;
7830 short int var14
/* : Bool */;
7831 val
* var15
/* : nullable Object */;
7832 val
* var_t
/* var t: MType */;
7833 static val
* varonce
;
7834 val
* var16
/* : String */;
7835 char* var17
/* : NativeString */;
7836 long var18
/* : Int */;
7837 val
* var19
/* : FlatString */;
7838 val
* var20
/* : String */;
7839 val
* var21
/* : String */;
7840 val
* var22
/* : String */;
7841 val
* var24
/* : String */;
7842 var1
= self
->attrs
[COLOR_nit__model__MGenericType___c_name
].val
!= NULL
; /* _c_name on <self:MGenericType> */
7844 var2
= self
->attrs
[COLOR_nit__model__MGenericType___c_name
].val
; /* _c_name on <self:MGenericType> */
7845 if (unlikely(var2
== NULL
)) {
7846 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _c_name");
7847 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1197);
7853 { /* Inline model#MClassType#mclass (self) on <self:MGenericType> */
7854 var7
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MGenericType> */
7855 if (unlikely(var7
== NULL
)) {
7856 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7857 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
7865 var8
= nit___nit__MClass___nit__model_base__MEntity__c_name(var5
);
7869 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
7870 var11
= self
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
7871 if (unlikely(var11
== NULL
)) {
7872 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
7873 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1164);
7877 RET_LABEL10
:(void)0;
7882 var12
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
7887 var14
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_13
);
7891 var15
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_13
);
7899 var19
= standard___standard__NativeString___to_s_with_length(var17
, var18
);
7904 var20
= ((val
* (*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__string__String___43d
]))(var_res
, var16
) /* + on <var_res:String>*/;
7908 var21
= ((val
* (*)(val
* self
))(var_t
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_t
) /* c_name on <var_t:MType>*/;
7911 var22
= ((val
* (*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__string__String___43d
]))(var_res
, var21
) /* + on <var_res:String>*/;
7915 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_13
); /* Direct call array#ArrayIterator#next on <var_13:ArrayIterator[MType]>*/
7921 BREAK_label
: (void)0;
7923 { /* Inline abstract_collection#Iterator#finish (var_13) on <var_13:ArrayIterator[MType]> */
7924 RET_LABEL23
:(void)0;
7928 var24
= standard___standard__String___Object__to_s(var_res
);
7934 self
->attrs
[COLOR_nit__model__MGenericType___c_name
].val
= var3
; /* _c_name on <self:MGenericType> */
7941 /* method model#MGenericType#need_anchor for (self: MGenericType): Bool */
7942 short int nit___nit__MGenericType___MType__need_anchor(val
* self
) {
7943 short int var
/* : Bool */;
7944 short int var1
/* : Bool */;
7945 var1
= self
->attrs
[COLOR_nit__model__MGenericType___need_anchor
].s
; /* _need_anchor on <self:MGenericType> */
7950 /* method model#MGenericType#need_anchor= for (self: MGenericType, Bool) */
7951 void nit___nit__MGenericType___need_anchor_61d(val
* self
, short int p0
) {
7952 self
->attrs
[COLOR_nit__model__MGenericType___need_anchor
].s
= p0
; /* _need_anchor on <self:MGenericType> */
7955 /* method model#MGenericType#resolve_for for (self: MGenericType, MType, nullable MClassType, MModule, Bool): MType */
7956 val
* nit___nit__MGenericType___MType__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
7957 val
* var
/* : MType */;
7958 val
* var_mtype
/* var mtype: MType */;
7959 val
* var_anchor
/* var anchor: nullable MClassType */;
7960 val
* var_mmodule
/* var mmodule: MModule */;
7961 short int var_cleanup_virtual
/* var cleanup_virtual: Bool */;
7962 short int var1
/* : Bool */;
7963 short int var3
/* : Bool */;
7964 short int var4
/* : Bool */;
7965 short int var5
/* : Bool */;
7966 val
* var6
/* : Array[MType] */;
7967 val
* var_types
/* var types: Array[MType] */;
7968 val
* var7
/* : Array[MType] */;
7969 val
* var9
/* : Array[MType] */;
7970 val
* var_
/* var : Array[MType] */;
7971 val
* var10
/* : ArrayIterator[nullable Object] */;
7972 val
* var_11
/* var : ArrayIterator[MType] */;
7973 short int var12
/* : Bool */;
7974 val
* var13
/* : nullable Object */;
7975 val
* var_t
/* var t: MType */;
7976 val
* var14
/* : MType */;
7977 val
* var16
/* : MClass */;
7978 val
* var18
/* : MClass */;
7979 val
* var19
/* : MClassType */;
7983 var_cleanup_virtual
= p3
;
7985 { /* Inline model#MGenericType#need_anchor (self) on <self:MGenericType> */
7986 var3
= self
->attrs
[COLOR_nit__model__MGenericType___need_anchor
].s
; /* _need_anchor on <self:MGenericType> */
7998 var5
= nit___nit__MGenericType___MType__can_resolve_for(self
, var_mtype
, var_anchor
, var_mmodule
);
8000 if (unlikely(!var5
)) {
8001 PRINT_ERROR("Runtime error: %s", "Assert failed");
8002 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1212);
8005 var6
= NEW_standard__Array(&type_standard__Array__nit__MType
);
8007 standard___standard__Array___standard__kernel__Object__init(var6
); /* Direct call array#Array#init on <var6:Array[MType]>*/
8011 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
8012 var9
= self
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
8013 if (unlikely(var9
== NULL
)) {
8014 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
8015 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1164);
8024 var10
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
8029 var12
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_11
);
8033 var13
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_11
);
8037 var14
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(var_t
->class->vft
[COLOR_nit__model__MType__resolve_for
]))(var_t
, var_mtype
, var_anchor
, var_mmodule
, var_cleanup_virtual
) /* resolve_for on <var_t:MType>*/;
8040 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_types
, var14
); /* Direct call array#Array#add on <var_types:Array[MType]>*/
8043 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_11
); /* Direct call array#ArrayIterator#next on <var_11:ArrayIterator[MType]>*/
8049 BREAK_label
: (void)0;
8051 { /* Inline abstract_collection#Iterator#finish (var_11) on <var_11:ArrayIterator[MType]> */
8052 RET_LABEL15
:(void)0;
8056 { /* Inline model#MClassType#mclass (self) on <self:MGenericType> */
8057 var18
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MGenericType> */
8058 if (unlikely(var18
== NULL
)) {
8059 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8060 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
8064 RET_LABEL17
:(void)0;
8068 var19
= nit___nit__MClass___get_mtype(var16
, var_types
);
8075 /* method model#MGenericType#can_resolve_for for (self: MGenericType, MType, nullable MClassType, MModule): Bool */
8076 short int nit___nit__MGenericType___MType__can_resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8077 short int var
/* : Bool */;
8078 val
* var_mtype
/* var mtype: MType */;
8079 val
* var_anchor
/* var anchor: nullable MClassType */;
8080 val
* var_mmodule
/* var mmodule: MModule */;
8081 short int var1
/* : Bool */;
8082 short int var3
/* : Bool */;
8083 short int var4
/* : Bool */;
8084 short int var5
/* : Bool */;
8085 val
* var6
/* : Array[MType] */;
8086 val
* var8
/* : Array[MType] */;
8087 val
* var_
/* var : Array[MType] */;
8088 val
* var9
/* : ArrayIterator[nullable Object] */;
8089 val
* var_10
/* var : ArrayIterator[MType] */;
8090 short int var11
/* : Bool */;
8091 val
* var12
/* : nullable Object */;
8092 val
* var_t
/* var t: MType */;
8093 short int var13
/* : Bool */;
8094 short int var14
/* : Bool */;
8095 short int var15
/* : Bool */;
8096 short int var17
/* : Bool */;
8101 { /* Inline model#MGenericType#need_anchor (self) on <self:MGenericType> */
8102 var3
= self
->attrs
[COLOR_nit__model__MGenericType___need_anchor
].s
; /* _need_anchor on <self:MGenericType> */
8115 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
8116 var8
= self
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
8117 if (unlikely(var8
== NULL
)) {
8118 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
8119 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1164);
8128 var9
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
8133 var11
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_10
);
8137 var12
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_10
);
8141 var13
= ((short int (*)(val
* self
, val
* p0
, val
* p1
, val
* p2
))(var_t
->class->vft
[COLOR_nit__model__MType__can_resolve_for
]))(var_t
, var_mtype
, var_anchor
, var_mmodule
) /* can_resolve_for on <var_t:MType>*/;
8151 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_10
); /* Direct call array#ArrayIterator#next on <var_10:ArrayIterator[MType]>*/
8157 BREAK_label
: (void)0;
8159 { /* Inline abstract_collection#Iterator#finish (var_10) on <var_10:ArrayIterator[MType]> */
8160 RET_LABEL16
:(void)0;
8169 /* method model#MGenericType#length for (self: MGenericType): Int */
8170 long nit___nit__MGenericType___MType__length(val
* self
) {
8171 long var
/* : Int */;
8172 long var1
/* : Int */;
8173 long var_res
/* var res: Int */;
8174 val
* var2
/* : Array[MType] */;
8175 val
* var4
/* : Array[MType] */;
8176 val
* var_
/* var : Array[MType] */;
8177 val
* var5
/* : ArrayIterator[nullable Object] */;
8178 val
* var_6
/* var : ArrayIterator[MType] */;
8179 short int var7
/* : Bool */;
8180 val
* var8
/* : nullable Object */;
8181 val
* var_a
/* var a: MType */;
8182 long var9
/* : Int */;
8183 long var10
/* : Int */;
8184 short int var12
/* : Bool */;
8187 const char* var_class_name
;
8188 long var13
/* : Int */;
8192 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
8193 var4
= self
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
8194 if (unlikely(var4
== NULL
)) {
8195 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
8196 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1164);
8205 var5
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
8210 var7
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_6
);
8214 var8
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_6
);
8218 var9
= ((long (*)(val
* self
))(var_a
->class->vft
[COLOR_nit__model__MType__length
]))(var_a
) /* length on <var_a:MType>*/;
8221 { /* Inline kernel#Int#+ (var_res,var9) on <var_res:Int> */
8222 /* Covariant cast for argument 0 (i) <var9:Int> isa OTHER */
8223 /* <var9:Int> isa OTHER */
8224 var12
= 1; /* easy <var9:Int> isa OTHER*/
8225 if (unlikely(!var12
)) {
8226 var_class_name
= type_standard__Int
.name
;
8227 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
8228 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
8231 var13
= var_res
+ var9
;
8234 RET_LABEL11
:(void)0;
8239 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_6
); /* Direct call array#ArrayIterator#next on <var_6:ArrayIterator[MType]>*/
8245 BREAK_label
: (void)0;
8247 { /* Inline abstract_collection#Iterator#finish (var_6) on <var_6:ArrayIterator[MType]> */
8248 RET_LABEL14
:(void)0;
8256 /* method model#MVirtualType#mproperty for (self: MVirtualType): MVirtualTypeProp */
8257 val
* nit___nit__MVirtualType___mproperty(val
* self
) {
8258 val
* var
/* : MVirtualTypeProp */;
8259 val
* var1
/* : MVirtualTypeProp */;
8260 var1
= self
->attrs
[COLOR_nit__model__MVirtualType___mproperty
].val
; /* _mproperty on <self:MVirtualType> */
8261 if (unlikely(var1
== NULL
)) {
8262 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8263 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1254);
8270 /* method model#MVirtualType#mproperty= for (self: MVirtualType, MVirtualTypeProp) */
8271 void nit___nit__MVirtualType___mproperty_61d(val
* self
, val
* p0
) {
8272 self
->attrs
[COLOR_nit__model__MVirtualType___mproperty
].val
= p0
; /* _mproperty on <self:MVirtualType> */
8275 /* method model#MVirtualType#model for (self: MVirtualType): Model */
8276 val
* nit___nit__MVirtualType___nit__model_base__MEntity__model(val
* self
) {
8277 val
* var
/* : Model */;
8278 val
* var1
/* : MVirtualTypeProp */;
8279 val
* var3
/* : MVirtualTypeProp */;
8280 val
* var4
/* : MClassDef */;
8281 val
* var6
/* : MClassDef */;
8282 val
* var7
/* : MModule */;
8283 val
* var9
/* : MModule */;
8284 val
* var10
/* : Model */;
8285 val
* var12
/* : Model */;
8287 { /* Inline model#MVirtualType#mproperty (self) on <self:MVirtualType> */
8288 var3
= self
->attrs
[COLOR_nit__model__MVirtualType___mproperty
].val
; /* _mproperty on <self:MVirtualType> */
8289 if (unlikely(var3
== NULL
)) {
8290 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8291 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1254);
8299 { /* Inline model#MProperty#intro_mclassdef (var1) on <var1:MVirtualTypeProp> */
8300 var6
= var1
->attrs
[COLOR_nit__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var1:MVirtualTypeProp> */
8301 if (unlikely(var6
== NULL
)) {
8302 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
8303 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1736);
8311 { /* Inline model#MClassDef#mmodule (var4) on <var4:MClassDef> */
8312 var9
= var4
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var4:MClassDef> */
8313 if (unlikely(var9
== NULL
)) {
8314 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
8315 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
8323 { /* Inline mmodule#MModule#model (var7) on <var7:MModule> */
8324 var12
= var7
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <var7:MModule> */
8325 if (unlikely(var12
== NULL
)) {
8326 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
8327 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
8331 RET_LABEL11
:(void)0;
8339 /* method model#MVirtualType#lookup_bound for (self: MVirtualType, MModule, MType): MType */
8340 val
* nit___nit__MVirtualType___MType__lookup_bound(val
* self
, val
* p0
, val
* p1
) {
8341 val
* var
/* : MType */;
8342 val
* var_mmodule
/* var mmodule: MModule */;
8343 val
* var_resolved_receiver
/* var resolved_receiver: MType */;
8344 val
* var1
/* : MVirtualTypeDef */;
8345 val
* var2
/* : nullable MType */;
8346 val
* var4
/* : nullable MType */;
8348 var_resolved_receiver
= p1
;
8350 var1
= nit___nit__MVirtualType___lookup_single_definition(self
, var_mmodule
, var_resolved_receiver
);
8353 { /* Inline model#MVirtualTypeDef#bound (var1) on <var1:MVirtualTypeDef> */
8354 var4
= var1
->attrs
[COLOR_nit__model__MVirtualTypeDef___bound
].val
; /* _bound on <var1:MVirtualTypeDef> */
8359 if (unlikely(var2
== NULL
)) {
8360 PRINT_ERROR("Runtime error: %s", "Cast failed");
8361 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1262);
8369 /* method model#MVirtualType#lookup_single_definition for (self: MVirtualType, MModule, MType): MVirtualTypeDef */
8370 val
* nit___nit__MVirtualType___lookup_single_definition(val
* self
, val
* p0
, val
* p1
) {
8371 val
* var
/* : MVirtualTypeDef */;
8372 val
* var_mmodule
/* var mmodule: MModule */;
8373 val
* var_resolved_receiver
/* var resolved_receiver: MType */;
8374 short int var1
/* : Bool */;
8375 short int var2
/* : Bool */;
8376 val
* var3
/* : MVirtualTypeProp */;
8377 val
* var5
/* : MVirtualTypeProp */;
8378 val
* var6
/* : Array[MPropDef] */;
8379 val
* var_props
/* var props: Array[MVirtualTypeDef] */;
8380 short int var7
/* : Bool */;
8381 long var8
/* : Int */;
8382 long var10
/* : Int */;
8383 long var11
/* : Int */;
8384 short int var12
/* : Bool */;
8385 short int var14
/* : Bool */;
8386 val
* var15
/* : nullable Object */;
8387 val
* var16
/* : ArraySet[MType] */;
8388 val
* var_types
/* var types: ArraySet[MType] */;
8389 val
* var17
/* : nullable Object */;
8390 val
* var_res
/* var res: MVirtualTypeDef */;
8391 val
* var_
/* var : Array[MVirtualTypeDef] */;
8392 val
* var18
/* : ArrayIterator[nullable Object] */;
8393 val
* var_19
/* var : ArrayIterator[MVirtualTypeDef] */;
8394 short int var20
/* : Bool */;
8395 val
* var21
/* : nullable Object */;
8396 val
* var_p
/* var p: MVirtualTypeDef */;
8397 val
* var22
/* : nullable MType */;
8398 val
* var24
/* : nullable MType */;
8399 short int var25
/* : Bool */;
8400 short int var27
/* : Bool */;
8401 short int var28
/* : Bool */;
8402 long var30
/* : Int */;
8403 long var31
/* : Int */;
8404 short int var32
/* : Bool */;
8405 short int var34
/* : Bool */;
8407 var_resolved_receiver
= p1
;
8409 var1
= ((short int (*)(val
* self
))(var_resolved_receiver
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_resolved_receiver
) /* need_anchor on <var_resolved_receiver:MType>*/;
8412 if (unlikely(!var2
)) {
8413 PRINT_ERROR("Runtime error: %s", "Assert failed");
8414 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1267);
8418 { /* Inline model#MVirtualType#mproperty (self) on <self:MVirtualType> */
8419 var5
= self
->attrs
[COLOR_nit__model__MVirtualType___mproperty
].val
; /* _mproperty on <self:MVirtualType> */
8420 if (unlikely(var5
== NULL
)) {
8421 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8422 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1254);
8430 var6
= nit___nit__MProperty___lookup_definitions(var3
, var_mmodule
, var_resolved_receiver
);
8434 var7
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_props
);
8437 PRINT_ERROR("Runtime error: %s", "Aborted");
8438 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1270);
8442 { /* Inline array#AbstractArrayRead#length (var_props) on <var_props:Array[MVirtualTypeDef]> */
8443 var10
= var_props
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_props:Array[MVirtualTypeDef]> */
8450 { /* Inline kernel#Int#== (var8,var11) on <var8:Int> */
8451 var14
= var8
== var11
;
8454 RET_LABEL13
:(void)0;
8459 var15
= standard___standard__SequenceRead___Collection__first(var_props
);
8466 var16
= NEW_standard__ArraySet(&type_standard__ArraySet__nit__MType
);
8468 standard___standard__ArraySet___standard__kernel__Object__init(var16
); /* Direct call array#ArraySet#init on <var16:ArraySet[MType]>*/
8472 var17
= standard___standard__SequenceRead___Collection__first(var_props
);
8477 var18
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
8482 var20
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_19
);
8486 var21
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_19
);
8490 { /* Inline model#MVirtualTypeDef#bound (var_p) on <var_p:MVirtualTypeDef> */
8491 var24
= var_p
->attrs
[COLOR_nit__model__MVirtualTypeDef___bound
].val
; /* _bound on <var_p:MVirtualTypeDef> */
8493 RET_LABEL23
:(void)0;
8496 if (unlikely(var22
== NULL
)) {
8497 PRINT_ERROR("Runtime error: %s", "Cast failed");
8498 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1277);
8502 standard___standard__ArraySet___standard__abstract_collection__SimpleCollection__add(var_types
, var22
); /* Direct call array#ArraySet#add on <var_types:ArraySet[MType]>*/
8505 { /* Inline model#MVirtualTypeDef#is_fixed (var_res) on <var_res:MVirtualTypeDef> */
8506 var27
= var_res
->attrs
[COLOR_nit__model__MVirtualTypeDef___is_fixed
].s
; /* _is_fixed on <var_res:MVirtualTypeDef> */
8508 RET_LABEL26
:(void)0;
8517 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_19
); /* Direct call array#ArrayIterator#next on <var_19:ArrayIterator[MVirtualTypeDef]>*/
8523 BREAK_label
: (void)0;
8525 { /* Inline abstract_collection#Iterator#finish (var_19) on <var_19:ArrayIterator[MVirtualTypeDef]> */
8526 RET_LABEL29
:(void)0;
8530 var30
= standard___standard__ArraySet___standard__abstract_collection__Collection__length(var_types
);
8534 { /* Inline kernel#Int#== (var30,var31) on <var30:Int> */
8535 var34
= var30
== var31
;
8538 RET_LABEL33
:(void)0;
8546 PRINT_ERROR("Runtime error: %s", "Aborted");
8547 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1283);
8552 /* method model#MVirtualType#lookup_fixed for (self: MVirtualType, MModule, MType): MType */
8553 val
* nit___nit__MVirtualType___MType__lookup_fixed(val
* self
, val
* p0
, val
* p1
) {
8554 val
* var
/* : MType */;
8555 val
* var_mmodule
/* var mmodule: MModule */;
8556 val
* var_resolved_receiver
/* var resolved_receiver: MType */;
8557 short int var1
/* : Bool */;
8558 short int var2
/* : Bool */;
8559 val
* var3
/* : MType */;
8560 short int var4
/* : Bool */;
8563 val
* var5
/* : MVirtualTypeDef */;
8564 val
* var_prop
/* var prop: MVirtualTypeDef */;
8565 val
* var6
/* : nullable MType */;
8566 val
* var8
/* : nullable MType */;
8567 val
* var_res
/* var res: MType */;
8568 val
* var9
/* : MType */;
8569 short int var10
/* : Bool */;
8570 short int var12
/* : Bool */;
8571 short int var13
/* : Bool */;
8572 short int var14
/* : Bool */;
8575 short int var_
/* var : Bool */;
8576 val
* var17
/* : MClass */;
8577 val
* var19
/* : MClass */;
8578 val
* var20
/* : MClassKind */;
8579 val
* var22
/* : MClassKind */;
8580 val
* var23
/* : MClassKind */;
8581 short int var24
/* : Bool */;
8582 val
* var_other
/* var other: nullable Object */;
8583 short int var26
/* : Bool */;
8584 short int var28
/* : Bool */;
8585 val
* var29
/* : MClass */;
8586 val
* var31
/* : MClass */;
8587 val
* var32
/* : MClassKind */;
8588 val
* var34
/* : MClassKind */;
8589 val
* var35
/* : MClassKind */;
8590 short int var36
/* : Bool */;
8591 short int var38
/* : Bool */;
8592 short int var40
/* : Bool */;
8594 var_resolved_receiver
= p1
;
8596 var1
= ((short int (*)(val
* self
))(var_resolved_receiver
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_resolved_receiver
) /* need_anchor on <var_resolved_receiver:MType>*/;
8599 if (unlikely(!var2
)) {
8600 PRINT_ERROR("Runtime error: %s", "Assert failed");
8601 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1292);
8605 var3
= ((val
* (*)(val
* self
))(var_resolved_receiver
->class->vft
[COLOR_nit__model__MType__as_notnullable
]))(var_resolved_receiver
) /* as_notnullable on <var_resolved_receiver:MType>*/;
8607 var_resolved_receiver
= var3
;
8608 /* <var_resolved_receiver:MType> isa MClassType */
8609 cltype
= type_nit__MClassType
.color
;
8610 idtype
= type_nit__MClassType
.id
;
8611 if(cltype
>= var_resolved_receiver
->type
->table_size
) {
8614 var4
= var_resolved_receiver
->type
->type_table
[cltype
] == idtype
;
8616 if (unlikely(!var4
)) {
8617 PRINT_ERROR("Runtime error: %s", "Assert failed");
8618 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1294);
8622 var5
= nit___nit__MVirtualType___lookup_single_definition(self
, var_mmodule
, var_resolved_receiver
);
8626 { /* Inline model#MVirtualTypeDef#bound (var_prop) on <var_prop:MVirtualTypeDef> */
8627 var8
= var_prop
->attrs
[COLOR_nit__model__MVirtualTypeDef___bound
].val
; /* _bound on <var_prop:MVirtualTypeDef> */
8632 if (unlikely(var6
== NULL
)) {
8633 PRINT_ERROR("Runtime error: %s", "Cast failed");
8634 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1297);
8639 var9
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
))(var_res
->class->vft
[COLOR_nit__model__MType__lookup_fixed
]))(var_res
, var_mmodule
, var_resolved_receiver
) /* lookup_fixed on <var_res:MType>*/;
8643 { /* Inline model#MVirtualTypeDef#is_fixed (var_prop) on <var_prop:MVirtualTypeDef> */
8644 var12
= var_prop
->attrs
[COLOR_nit__model__MVirtualTypeDef___is_fixed
].s
; /* _is_fixed on <var_prop:MVirtualTypeDef> */
8646 RET_LABEL11
:(void)0;
8654 /* <var_res:MType> isa MClassType */
8655 cltype15
= type_nit__MClassType
.color
;
8656 idtype16
= type_nit__MClassType
.id
;
8657 if(cltype15
>= var_res
->type
->table_size
) {
8660 var14
= var_res
->type
->type_table
[cltype15
] == idtype16
;
8665 { /* Inline model#MClassType#mclass (var_res) on <var_res:MType(MClassType)> */
8666 var19
= var_res
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_res:MType(MClassType)> */
8667 if (unlikely(var19
== NULL
)) {
8668 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8669 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
8673 RET_LABEL18
:(void)0;
8677 { /* Inline model#MClass#kind (var17) on <var17:MClass> */
8678 var22
= var17
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var17:MClass> */
8679 if (unlikely(var22
== NULL
)) {
8680 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
8681 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
8685 RET_LABEL21
:(void)0;
8689 var23
= nit__model___standard__Object___enum_kind(self
);
8692 { /* Inline kernel#Object#== (var20,var23) on <var20:MClassKind> */
8695 { /* Inline kernel#Object#is_same_instance (var20,var_other) on <var20:MClassKind> */
8696 var28
= var20
== var_other
;
8699 RET_LABEL27
:(void)0;
8704 RET_LABEL25
:(void)0;
8717 { /* Inline model#MClassType#mclass (var_resolved_receiver) on <var_resolved_receiver:MType(MClassType)> */
8718 var31
= var_resolved_receiver
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_resolved_receiver:MType(MClassType)> */
8719 if (unlikely(var31
== NULL
)) {
8720 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8721 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
8725 RET_LABEL30
:(void)0;
8729 { /* Inline model#MClass#kind (var29) on <var29:MClass> */
8730 var34
= var29
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var29:MClass> */
8731 if (unlikely(var34
== NULL
)) {
8732 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
8733 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
8737 RET_LABEL33
:(void)0;
8741 var35
= nit__model___standard__Object___enum_kind(self
);
8744 { /* Inline kernel#Object#== (var32,var35) on <var32:MClassKind> */
8747 { /* Inline kernel#Object#is_same_instance (var32,var_other) on <var32:MClassKind> */
8748 var40
= var32
== var_other
;
8751 RET_LABEL39
:(void)0;
8756 RET_LABEL37
:(void)0;
8769 /* method model#MVirtualType#resolve_for for (self: MVirtualType, MType, nullable MClassType, MModule, Bool): MType */
8770 val
* nit___nit__MVirtualType___MType__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
8771 val
* var
/* : MType */;
8772 val
* var_mtype
/* var mtype: MType */;
8773 val
* var_anchor
/* var anchor: nullable MClassType */;
8774 val
* var_mmodule
/* var mmodule: MModule */;
8775 short int var_cleanup_virtual
/* var cleanup_virtual: Bool */;
8776 short int var1
/* : Bool */;
8777 short int var2
/* : Bool */;
8778 short int var3
/* : Bool */;
8779 val
* var4
/* : null */;
8780 short int var5
/* : Bool */;
8781 short int var6
/* : Bool */;
8782 val
* var_other
/* var other: nullable Object */;
8783 short int var8
/* : Bool */;
8784 short int var9
/* : Bool */;
8785 val
* var10
/* : null */;
8786 short int var11
/* : Bool */;
8787 val
* var12
/* : MType */;
8788 val
* var_resolved_receiver
/* var resolved_receiver: nullable Object */;
8789 val
* var13
/* : MType */;
8790 val
* var_verbatim_bound
/* var verbatim_bound: MType */;
8791 val
* var14
/* : MType */;
8792 val
* var_res
/* var res: MType */;
8796 var_cleanup_virtual
= p3
;
8797 var1
= !var_cleanup_virtual
;
8804 var2
= nit___nit__MVirtualType___MType__can_resolve_for(self
, var_mtype
, var_anchor
, var_mmodule
);
8806 if (unlikely(!var2
)) {
8807 PRINT_ERROR("Runtime error: %s", "Assert failed");
8808 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1317);
8812 var3
= ((short int (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
8816 if (var_anchor
== NULL
) {
8817 var5
= 0; /* is null */
8819 var5
= 1; /* arg is null and recv is not */
8822 { /* Inline kernel#Object#!= (var_anchor,var4) on <var_anchor:nullable MClassType> */
8825 var8
= ((short int (*)(val
* self
, val
* p0
))(var_anchor
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_anchor
, var_other
) /* == on <var_anchor:nullable MClassType(MClassType)>*/;
8834 if (unlikely(!var5
)) {
8835 PRINT_ERROR("Runtime error: %s", "Assert failed");
8836 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1324);
8842 var12
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(var_mtype
->class->vft
[COLOR_nit__model__MType__resolve_for
]))(var_mtype
, var_anchor
, var10
, var_mmodule
, var11
) /* resolve_for on <var_mtype:MType>*/;
8844 var_resolved_receiver
= var12
;
8846 var_resolved_receiver
= var_mtype
;
8849 var13
= nit___nit__MVirtualType___MType__lookup_bound(self
, var_mmodule
, var_resolved_receiver
);
8851 var_verbatim_bound
= var13
;
8853 var14
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(var_verbatim_bound
->class->vft
[COLOR_nit__model__MType__resolve_for
]))(var_verbatim_bound
, var_mtype
, var_anchor
, var_mmodule
, var_cleanup_virtual
) /* resolve_for on <var_verbatim_bound:MType>*/;
8861 /* method model#MVirtualType#can_resolve_for for (self: MVirtualType, MType, nullable MClassType, MModule): Bool */
8862 short int nit___nit__MVirtualType___MType__can_resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8863 short int var
/* : Bool */;
8864 val
* var_mtype
/* var mtype: MType */;
8865 val
* var_anchor
/* var anchor: nullable MClassType */;
8866 val
* var_mmodule
/* var mmodule: MModule */;
8867 short int var1
/* : Bool */;
8868 val
* var2
/* : null */;
8869 short int var3
/* : Bool */;
8870 short int var4
/* : Bool */;
8871 val
* var_other
/* var other: nullable Object */;
8872 short int var6
/* : Bool */;
8873 short int var7
/* : Bool */;
8874 val
* var8
/* : MType */;
8875 val
* var9
/* : MVirtualTypeProp */;
8876 val
* var11
/* : MVirtualTypeProp */;
8877 short int var12
/* : Bool */;
8882 var1
= ((short int (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
8886 if (var_anchor
== NULL
) {
8887 var3
= 0; /* is null */
8889 var3
= 1; /* arg is null and recv is not */
8892 { /* Inline kernel#Object#!= (var_anchor,var2) on <var_anchor:nullable MClassType> */
8895 var6
= ((short int (*)(val
* self
, val
* p0
))(var_anchor
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_anchor
, var_other
) /* == on <var_anchor:nullable MClassType(MClassType)>*/;
8904 if (unlikely(!var3
)) {
8905 PRINT_ERROR("Runtime error: %s", "Assert failed");
8906 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1340);
8910 var8
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
))(var_mtype
->class->vft
[COLOR_nit__model__MType__anchor_to
]))(var_mtype
, var_mmodule
, var_anchor
) /* anchor_to on <var_mtype:MType>*/;
8916 { /* Inline model#MVirtualType#mproperty (self) on <self:MVirtualType> */
8917 var11
= self
->attrs
[COLOR_nit__model__MVirtualType___mproperty
].val
; /* _mproperty on <self:MVirtualType> */
8918 if (unlikely(var11
== NULL
)) {
8919 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8920 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1254);
8924 RET_LABEL10
:(void)0;
8928 var12
= nit___nit__MType___has_mproperty(var_mtype
, var_mmodule
, var9
);
8935 /* method model#MVirtualType#to_s for (self: MVirtualType): String */
8936 val
* nit___nit__MVirtualType___standard__string__Object__to_s(val
* self
) {
8937 val
* var
/* : String */;
8938 val
* var1
/* : MVirtualTypeProp */;
8939 val
* var3
/* : MVirtualTypeProp */;
8940 val
* var4
/* : String */;
8942 { /* Inline model#MVirtualType#mproperty (self) on <self:MVirtualType> */
8943 var3
= self
->attrs
[COLOR_nit__model__MVirtualType___mproperty
].val
; /* _mproperty on <self:MVirtualType> */
8944 if (unlikely(var3
== NULL
)) {
8945 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8946 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1254);
8954 var4
= nit___nit__MProperty___standard__string__Object__to_s(var1
);
8961 /* method model#MVirtualType#full_name for (self: MVirtualType): String */
8962 val
* nit___nit__MVirtualType___nit__model_base__MEntity__full_name(val
* self
) {
8963 val
* var
/* : String */;
8964 val
* var1
/* : MVirtualTypeProp */;
8965 val
* var3
/* : MVirtualTypeProp */;
8966 val
* var4
/* : String */;
8968 { /* Inline model#MVirtualType#mproperty (self) on <self:MVirtualType> */
8969 var3
= self
->attrs
[COLOR_nit__model__MVirtualType___mproperty
].val
; /* _mproperty on <self:MVirtualType> */
8970 if (unlikely(var3
== NULL
)) {
8971 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8972 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1254);
8980 var4
= nit___nit__MProperty___nit__model_base__MEntity__full_name(var1
);
8987 /* method model#MVirtualType#c_name for (self: MVirtualType): String */
8988 val
* nit___nit__MVirtualType___nit__model_base__MEntity__c_name(val
* self
) {
8989 val
* var
/* : String */;
8990 val
* var1
/* : MVirtualTypeProp */;
8991 val
* var3
/* : MVirtualTypeProp */;
8992 val
* var4
/* : String */;
8994 { /* Inline model#MVirtualType#mproperty (self) on <self:MVirtualType> */
8995 var3
= self
->attrs
[COLOR_nit__model__MVirtualType___mproperty
].val
; /* _mproperty on <self:MVirtualType> */
8996 if (unlikely(var3
== NULL
)) {
8997 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8998 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1254);
9006 var4
= nit___nit__MProperty___nit__model_base__MEntity__c_name(var1
);
9013 /* method model#MVirtualType#init for (self: MVirtualType) */
9014 void nit___nit__MVirtualType___standard__kernel__Object__init(val
* self
) {
9016 ((void (*)(val
* self
))(self
->class->vft
[COLOR_nit___nit__MVirtualType___standard__kernel__Object__init
]))(self
) /* init on <self:MVirtualType>*/;
9020 /* method model#MParameterType#mclass for (self: MParameterType): MClass */
9021 val
* nit___nit__MParameterType___mclass(val
* self
) {
9022 val
* var
/* : MClass */;
9023 val
* var1
/* : MClass */;
9024 var1
= self
->attrs
[COLOR_nit__model__MParameterType___mclass
].val
; /* _mclass on <self:MParameterType> */
9025 if (unlikely(var1
== NULL
)) {
9026 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9027 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1382);
9034 /* method model#MParameterType#mclass= for (self: MParameterType, MClass) */
9035 void nit___nit__MParameterType___mclass_61d(val
* self
, val
* p0
) {
9036 self
->attrs
[COLOR_nit__model__MParameterType___mclass
].val
= p0
; /* _mclass on <self:MParameterType> */
9039 /* method model#MParameterType#model for (self: MParameterType): Model */
9040 val
* nit___nit__MParameterType___nit__model_base__MEntity__model(val
* self
) {
9041 val
* var
/* : Model */;
9042 val
* var1
/* : MClass */;
9043 val
* var3
/* : MClass */;
9044 val
* var4
/* : MModule */;
9045 val
* var6
/* : MModule */;
9046 val
* var7
/* : Model */;
9047 val
* var9
/* : Model */;
9049 { /* Inline model#MParameterType#mclass (self) on <self:MParameterType> */
9050 var3
= self
->attrs
[COLOR_nit__model__MParameterType___mclass
].val
; /* _mclass on <self:MParameterType> */
9051 if (unlikely(var3
== NULL
)) {
9052 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9053 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1382);
9061 { /* Inline model#MClass#intro_mmodule (var1) on <var1:MClass> */
9062 var6
= var1
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var1:MClass> */
9063 if (unlikely(var6
== NULL
)) {
9064 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
9065 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 343);
9073 { /* Inline mmodule#MModule#model (var4) on <var4:MModule> */
9074 var9
= var4
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <var4:MModule> */
9075 if (unlikely(var9
== NULL
)) {
9076 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
9077 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
9089 /* method model#MParameterType#rank for (self: MParameterType): Int */
9090 long nit___nit__MParameterType___rank(val
* self
) {
9091 long var
/* : Int */;
9092 long var1
/* : Int */;
9093 var1
= self
->attrs
[COLOR_nit__model__MParameterType___rank
].l
; /* _rank on <self:MParameterType> */
9098 /* method model#MParameterType#rank= for (self: MParameterType, Int) */
9099 void nit___nit__MParameterType___rank_61d(val
* self
, long p0
) {
9100 self
->attrs
[COLOR_nit__model__MParameterType___rank
].l
= p0
; /* _rank on <self:MParameterType> */
9103 /* method model#MParameterType#name for (self: MParameterType): String */
9104 val
* nit___nit__MParameterType___nit__model_base__MEntity__name(val
* self
) {
9105 val
* var
/* : String */;
9106 val
* var1
/* : String */;
9107 var1
= self
->attrs
[COLOR_nit__model__MParameterType___name
].val
; /* _name on <self:MParameterType> */
9108 if (unlikely(var1
== NULL
)) {
9109 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
9110 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1391);
9117 /* method model#MParameterType#name= for (self: MParameterType, String) */
9118 void nit___nit__MParameterType___name_61d(val
* self
, val
* p0
) {
9119 self
->attrs
[COLOR_nit__model__MParameterType___name
].val
= p0
; /* _name on <self:MParameterType> */
9122 /* method model#MParameterType#to_s for (self: MParameterType): String */
9123 val
* nit___nit__MParameterType___standard__string__Object__to_s(val
* self
) {
9124 val
* var
/* : String */;
9125 val
* var1
/* : String */;
9126 val
* var3
/* : String */;
9128 { /* Inline model#MParameterType#name (self) on <self:MParameterType> */
9129 var3
= self
->attrs
[COLOR_nit__model__MParameterType___name
].val
; /* _name on <self:MParameterType> */
9130 if (unlikely(var3
== NULL
)) {
9131 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
9132 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1391);
9144 /* method model#MParameterType#full_name for (self: MParameterType): String */
9145 val
* nit___nit__MParameterType___nit__model_base__MEntity__full_name(val
* self
) {
9146 val
* var
/* : String */;
9147 short int var1
/* : Bool */;
9148 val
* var2
/* : String */;
9149 val
* var3
/* : String */;
9150 val
* var5
/* : MClass */;
9151 val
* var7
/* : MClass */;
9152 val
* var8
/* : String */;
9153 static val
* varonce
;
9154 val
* var9
/* : String */;
9155 char* var10
/* : NativeString */;
9156 long var11
/* : Int */;
9157 val
* var12
/* : FlatString */;
9158 val
* var13
/* : String */;
9159 val
* var15
/* : String */;
9160 val
* var16
/* : Array[Object] */;
9161 long var17
/* : Int */;
9162 val
* var18
/* : NativeArray[Object] */;
9163 val
* var19
/* : String */;
9164 var1
= self
->attrs
[COLOR_nit__model__MParameterType___full_name
].val
!= NULL
; /* _full_name on <self:MParameterType> */
9166 var2
= self
->attrs
[COLOR_nit__model__MParameterType___full_name
].val
; /* _full_name on <self:MParameterType> */
9167 if (unlikely(var2
== NULL
)) {
9168 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _full_name");
9169 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1395);
9175 { /* Inline model#MParameterType#mclass (self) on <self:MParameterType> */
9176 var7
= self
->attrs
[COLOR_nit__model__MParameterType___mclass
].val
; /* _mclass on <self:MParameterType> */
9177 if (unlikely(var7
== NULL
)) {
9178 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9179 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1382);
9187 var8
= nit___nit__MClass___nit__model_base__MEntity__full_name(var5
);
9194 var12
= standard___standard__NativeString___to_s_with_length(var10
, var11
);
9199 { /* Inline model#MParameterType#name (self) on <self:MParameterType> */
9200 var15
= self
->attrs
[COLOR_nit__model__MParameterType___name
].val
; /* _name on <self:MParameterType> */
9201 if (unlikely(var15
== NULL
)) {
9202 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
9203 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1391);
9207 RET_LABEL14
:(void)0;
9210 var16
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9211 { /* var16 = array_instance Array[Object] */
9213 var18
= NEW_standard__NativeArray(var17
, &type_standard__NativeArray__standard__Object
);
9214 ((struct instance_standard__NativeArray
*)var18
)->values
[0] = (val
*) var8
;
9215 ((struct instance_standard__NativeArray
*)var18
)->values
[1] = (val
*) var9
;
9216 ((struct instance_standard__NativeArray
*)var18
)->values
[2] = (val
*) var13
;
9218 ((void (*)(val
* self
, val
* p0
, long p1
))(var16
->class->vft
[COLOR_standard__array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
9222 var19
= ((val
* (*)(val
* self
))(var16
->class->vft
[COLOR_standard__string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
9228 self
->attrs
[COLOR_nit__model__MParameterType___full_name
].val
= var3
; /* _full_name on <self:MParameterType> */
9235 /* method model#MParameterType#c_name for (self: MParameterType): String */
9236 val
* nit___nit__MParameterType___nit__model_base__MEntity__c_name(val
* self
) {
9237 val
* var
/* : String */;
9238 short int var1
/* : Bool */;
9239 val
* var2
/* : String */;
9240 val
* var3
/* : String */;
9241 val
* var5
/* : MClass */;
9242 val
* var7
/* : MClass */;
9243 val
* var8
/* : String */;
9244 static val
* varonce
;
9245 val
* var9
/* : String */;
9246 char* var10
/* : NativeString */;
9247 long var11
/* : Int */;
9248 val
* var12
/* : FlatString */;
9249 val
* var13
/* : String */;
9250 static val
* varonce14
;
9251 val
* var15
/* : String */;
9252 char* var16
/* : NativeString */;
9253 long var17
/* : Int */;
9254 val
* var18
/* : FlatString */;
9255 val
* var19
/* : String */;
9256 val
* var21
/* : String */;
9257 val
* var22
/* : Array[Object] */;
9258 long var23
/* : Int */;
9259 val
* var24
/* : NativeArray[Object] */;
9260 val
* var25
/* : String */;
9261 val
* var26
/* : String */;
9262 val
* var27
/* : String */;
9263 var1
= self
->attrs
[COLOR_nit__model__MParameterType___c_name
].val
!= NULL
; /* _c_name on <self:MParameterType> */
9265 var2
= self
->attrs
[COLOR_nit__model__MParameterType___c_name
].val
; /* _c_name on <self:MParameterType> */
9266 if (unlikely(var2
== NULL
)) {
9267 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _c_name");
9268 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1397);
9274 { /* Inline model#MParameterType#mclass (self) on <self:MParameterType> */
9275 var7
= self
->attrs
[COLOR_nit__model__MParameterType___mclass
].val
; /* _mclass on <self:MParameterType> */
9276 if (unlikely(var7
== NULL
)) {
9277 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9278 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1382);
9286 var8
= nit___nit__MClass___nit__model_base__MEntity__c_name(var5
);
9293 var12
= standard___standard__NativeString___to_s_with_length(var10
, var11
);
9298 var13
= ((val
* (*)(val
* self
, val
* p0
))(var8
->class->vft
[COLOR_standard__string__String___43d
]))(var8
, var9
) /* + on <var8:String>*/;
9305 var18
= standard___standard__NativeString___to_s_with_length(var16
, var17
);
9310 { /* Inline model#MParameterType#name (self) on <self:MParameterType> */
9311 var21
= self
->attrs
[COLOR_nit__model__MParameterType___name
].val
; /* _name on <self:MParameterType> */
9312 if (unlikely(var21
== NULL
)) {
9313 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
9314 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1391);
9318 RET_LABEL20
:(void)0;
9321 var22
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9322 { /* var22 = array_instance Array[Object] */
9324 var24
= NEW_standard__NativeArray(var23
, &type_standard__NativeArray__standard__Object
);
9325 ((struct instance_standard__NativeArray
*)var24
)->values
[0] = (val
*) var15
;
9326 ((struct instance_standard__NativeArray
*)var24
)->values
[1] = (val
*) var19
;
9328 ((void (*)(val
* self
, val
* p0
, long p1
))(var22
->class->vft
[COLOR_standard__array__Array__with_native
]))(var22
, var24
, var23
) /* with_native on <var22:Array[Object]>*/;
9332 var25
= ((val
* (*)(val
* self
))(var22
->class->vft
[COLOR_standard__string__Object__to_s
]))(var22
) /* to_s on <var22:Array[Object]>*/;
9335 var26
= standard___standard__Text___to_cmangle(var25
);
9338 var27
= ((val
* (*)(val
* self
, val
* p0
))(var13
->class->vft
[COLOR_standard__string__String___43d
]))(var13
, var26
) /* + on <var13:String>*/;
9344 self
->attrs
[COLOR_nit__model__MParameterType___c_name
].val
= var3
; /* _c_name on <self:MParameterType> */
9351 /* method model#MParameterType#lookup_bound for (self: MParameterType, MModule, MType): MType */
9352 val
* nit___nit__MParameterType___MType__lookup_bound(val
* self
, val
* p0
, val
* p1
) {
9353 val
* var
/* : MType */;
9354 val
* var_mmodule
/* var mmodule: MModule */;
9355 val
* var_resolved_receiver
/* var resolved_receiver: MType */;
9356 short int var1
/* : Bool */;
9357 short int var2
/* : Bool */;
9358 val
* var3
/* : MType */;
9359 short int var4
/* : Bool */;
9362 val
* var5
/* : MClass */;
9363 val
* var7
/* : MClass */;
9364 val
* var_goalclass
/* var goalclass: MClass */;
9365 val
* var8
/* : MClass */;
9366 val
* var10
/* : MClass */;
9367 short int var11
/* : Bool */;
9368 val
* var_other
/* var other: nullable Object */;
9369 short int var13
/* : Bool */;
9370 short int var15
/* : Bool */;
9371 val
* var16
/* : Array[MType] */;
9372 long var17
/* : Int */;
9373 long var19
/* : Int */;
9374 val
* var20
/* : nullable Object */;
9375 val
* var21
/* : Set[MClassType] */;
9376 val
* var_supertypes
/* var supertypes: Set[MClassType] */;
9377 val
* var_
/* var : Set[MClassType] */;
9378 val
* var22
/* : Iterator[nullable Object] */;
9379 val
* var_23
/* var : Iterator[MClassType] */;
9380 short int var24
/* : Bool */;
9381 val
* var25
/* : nullable Object */;
9382 val
* var_t
/* var t: MClassType */;
9383 val
* var26
/* : MClass */;
9384 val
* var28
/* : MClass */;
9385 short int var29
/* : Bool */;
9386 short int var31
/* : Bool */;
9387 short int var33
/* : Bool */;
9388 val
* var34
/* : Array[MType] */;
9389 long var35
/* : Int */;
9390 long var37
/* : Int */;
9391 val
* var38
/* : nullable Object */;
9392 val
* var_res
/* var res: MType */;
9394 var_resolved_receiver
= p1
;
9396 var1
= ((short int (*)(val
* self
))(var_resolved_receiver
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_resolved_receiver
) /* need_anchor on <var_resolved_receiver:MType>*/;
9399 if (unlikely(!var2
)) {
9400 PRINT_ERROR("Runtime error: %s", "Assert failed");
9401 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1401);
9405 var3
= ((val
* (*)(val
* self
))(var_resolved_receiver
->class->vft
[COLOR_nit__model__MType__as_notnullable
]))(var_resolved_receiver
) /* as_notnullable on <var_resolved_receiver:MType>*/;
9407 var_resolved_receiver
= var3
;
9408 /* <var_resolved_receiver:MType> isa MClassType */
9409 cltype
= type_nit__MClassType
.color
;
9410 idtype
= type_nit__MClassType
.id
;
9411 if(cltype
>= var_resolved_receiver
->type
->table_size
) {
9414 var4
= var_resolved_receiver
->type
->type_table
[cltype
] == idtype
;
9416 if (unlikely(!var4
)) {
9417 PRINT_ERROR("Runtime error: %s", "Assert failed");
9418 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1403);
9422 { /* Inline model#MParameterType#mclass (self) on <self:MParameterType> */
9423 var7
= self
->attrs
[COLOR_nit__model__MParameterType___mclass
].val
; /* _mclass on <self:MParameterType> */
9424 if (unlikely(var7
== NULL
)) {
9425 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9426 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1382);
9433 var_goalclass
= var5
;
9435 { /* Inline model#MClassType#mclass (var_resolved_receiver) on <var_resolved_receiver:MType(MClassType)> */
9436 var10
= var_resolved_receiver
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_resolved_receiver:MType(MClassType)> */
9437 if (unlikely(var10
== NULL
)) {
9438 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9439 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
9447 { /* Inline kernel#Object#== (var8,var_goalclass) on <var8:MClass> */
9448 var_other
= var_goalclass
;
9450 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:MClass> */
9451 var15
= var8
== var_other
;
9454 RET_LABEL14
:(void)0;
9459 RET_LABEL12
:(void)0;
9464 var16
= ((val
* (*)(val
* self
))(var_resolved_receiver
->class->vft
[COLOR_nit__model__MClassType__arguments
]))(var_resolved_receiver
) /* arguments on <var_resolved_receiver:MType(MClassType)>*/;
9467 { /* Inline model#MParameterType#rank (self) on <self:MParameterType> */
9468 var19
= self
->attrs
[COLOR_nit__model__MParameterType___rank
].l
; /* _rank on <self:MParameterType> */
9470 RET_LABEL18
:(void)0;
9474 var20
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var16
, var17
);
9481 var21
= nit___nit__MClassType___MType__collect_mtypes(var_resolved_receiver
, var_mmodule
);
9483 var_supertypes
= var21
;
9484 var_
= var_supertypes
;
9486 var22
= ((val
* (*)(val
* self
))(var_
->class->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_
) /* iterator on <var_:Set[MClassType]>*/;
9491 var24
= ((short int (*)(val
* self
))(var_23
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_23
) /* is_ok on <var_23:Iterator[MClassType]>*/;
9495 var25
= ((val
* (*)(val
* self
))(var_23
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_23
) /* item on <var_23:Iterator[MClassType]>*/;
9499 { /* Inline model#MClassType#mclass (var_t) on <var_t:MClassType> */
9500 var28
= var_t
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_t:MClassType> */
9501 if (unlikely(var28
== NULL
)) {
9502 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9503 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
9507 RET_LABEL27
:(void)0;
9511 { /* Inline kernel#Object#== (var26,var_goalclass) on <var26:MClass> */
9512 var_other
= var_goalclass
;
9514 { /* Inline kernel#Object#is_same_instance (var26,var_other) on <var26:MClass> */
9515 var33
= var26
== var_other
;
9518 RET_LABEL32
:(void)0;
9523 RET_LABEL30
:(void)0;
9528 var34
= ((val
* (*)(val
* self
))(var_t
->class->vft
[COLOR_nit__model__MClassType__arguments
]))(var_t
) /* arguments on <var_t:MClassType>*/;
9531 { /* Inline model#MParameterType#rank (self) on <self:MParameterType> */
9532 var37
= self
->attrs
[COLOR_nit__model__MParameterType___rank
].l
; /* _rank on <self:MParameterType> */
9534 RET_LABEL36
:(void)0;
9538 var38
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var34
, var35
);
9546 ((void (*)(val
* self
))(var_23
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_23
) /* next on <var_23:Iterator[MClassType]>*/;
9552 BREAK_label
: (void)0;
9554 { /* Inline abstract_collection#Iterator#finish (var_23) on <var_23:Iterator[MClassType]> */
9555 RET_LABEL39
:(void)0;
9558 PRINT_ERROR("Runtime error: %s", "Aborted");
9559 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1417);
9564 /* method model#MParameterType#lookup_fixed for (self: MParameterType, MModule, MType): MType */
9565 val
* nit___nit__MParameterType___MType__lookup_fixed(val
* self
, val
* p0
, val
* p1
) {
9566 val
* var
/* : MType */;
9567 val
* var_mmodule
/* var mmodule: MModule */;
9568 val
* var_resolved_receiver
/* var resolved_receiver: MType */;
9569 short int var1
/* : Bool */;
9570 short int var2
/* : Bool */;
9571 val
* var3
/* : MType */;
9572 short int var4
/* : Bool */;
9575 val
* var5
/* : MClass */;
9576 val
* var7
/* : MClass */;
9577 val
* var8
/* : MClassType */;
9578 val
* var10
/* : MClassType */;
9579 short int var11
/* : Bool */;
9580 val
* var12
/* : MType */;
9581 val
* var_res
/* var res: MType */;
9583 var_resolved_receiver
= p1
;
9585 var1
= ((short int (*)(val
* self
))(var_resolved_receiver
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_resolved_receiver
) /* need_anchor on <var_resolved_receiver:MType>*/;
9588 if (unlikely(!var2
)) {
9589 PRINT_ERROR("Runtime error: %s", "Assert failed");
9590 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1429);
9594 var3
= ((val
* (*)(val
* self
))(var_resolved_receiver
->class->vft
[COLOR_nit__model__MType__as_notnullable
]))(var_resolved_receiver
) /* as_notnullable on <var_resolved_receiver:MType>*/;
9596 var_resolved_receiver
= var3
;
9597 /* <var_resolved_receiver:MType> isa MClassType */
9598 cltype
= type_nit__MClassType
.color
;
9599 idtype
= type_nit__MClassType
.id
;
9600 if(cltype
>= var_resolved_receiver
->type
->table_size
) {
9603 var4
= var_resolved_receiver
->type
->type_table
[cltype
] == idtype
;
9605 if (unlikely(!var4
)) {
9606 PRINT_ERROR("Runtime error: %s", "Assert failed");
9607 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1431);
9611 { /* Inline model#MClassType#mclass (var_resolved_receiver) on <var_resolved_receiver:MType(MClassType)> */
9612 var7
= var_resolved_receiver
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_resolved_receiver:MType(MClassType)> */
9613 if (unlikely(var7
== NULL
)) {
9614 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9615 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
9623 { /* Inline model#MClass#mclass_type (var5) on <var5:MClass> */
9624 var10
= var5
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var5:MClass> */
9625 if (unlikely(var10
== NULL
)) {
9626 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
9627 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
9636 var12
= nit___nit__MParameterType___MType__resolve_for(self
, var8
, var_resolved_receiver
, var_mmodule
, var11
);