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 short int var4
/* : Bool */;
205 short int var5
/* : Bool */;
206 val
* var_other
/* var other: nullable Object */;
207 short int var7
/* : Bool */;
208 short int var8
/* : Bool */;
209 val
* var9
/* : POSet[MClass] */;
210 val
* var11
/* : POSetElement[MModule] */;
211 val
* var13
/* : POSetElement[MModule] */;
212 val
* var14
/* : Collection[nullable Object] */;
213 val
* var_
/* var : Collection[MModule] */;
214 val
* var15
/* : Iterator[nullable Object] */;
215 val
* var_16
/* var : Iterator[MModule] */;
216 short int var17
/* : Bool */;
217 val
* var18
/* : nullable Object */;
218 val
* var_m
/* var m: MModule */;
219 val
* var19
/* : Array[MClassDef] */;
220 val
* var21
/* : Array[MClassDef] */;
221 val
* var_22
/* var : Array[MClassDef] */;
222 val
* var23
/* : ArrayIterator[nullable Object] */;
223 val
* var_24
/* var : ArrayIterator[MClassDef] */;
224 short int var25
/* : Bool */;
225 val
* var26
/* : nullable Object */;
226 val
* var_cd
/* var cd: MClassDef */;
227 val
* var27
/* : MClass */;
228 val
* var29
/* : MClass */;
229 val
* var_c
/* var c: MClass */;
230 val
* var30
/* : POSetElement[nullable Object] */;
231 val
* var31
/* : Array[MClassType] */;
232 val
* var33
/* : Array[MClassType] */;
233 val
* var_34
/* var : Array[MClassType] */;
234 val
* var35
/* : ArrayIterator[nullable Object] */;
235 val
* var_36
/* var : ArrayIterator[MClassType] */;
236 short int var37
/* : Bool */;
237 val
* var38
/* : nullable Object */;
238 val
* var_s
/* var s: MClassType */;
239 val
* var39
/* : MClass */;
240 val
* var41
/* : MClass */;
242 { /* Inline model#MModule#flatten_mclass_hierarchy_cache (self) on <self:MModule> */
243 var3
= self
->attrs
[COLOR_nit__model__MModule___flatten_mclass_hierarchy_cache
].val
; /* _flatten_mclass_hierarchy_cache on <self:MModule> */
249 if (var_res
== NULL
) {
250 var4
= 0; /* is null */
252 var4
= 1; /* arg is null and recv is not */
255 { /* Inline kernel#Object#!= (var_res,((val*)NULL)) on <var_res:nullable POSet[MClass]> */
256 var_other
= ((val
*)NULL
);
258 var7
= ((short int(*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res
, var_other
); /* == on <var_res:nullable POSet[MClass](POSet[MClass])>*/
272 var9
= NEW_poset__POSet(&type_poset__POSet__nit__MClass
);
274 { /* Inline kernel#Object#init (var9) on <var9:POSet[MClass]> */
280 { /* Inline mmodule#MModule#in_importation (self) on <self:MModule> */
281 var13
= self
->attrs
[COLOR_nit__mmodule__MModule___in_importation
].val
; /* _in_importation on <self:MModule> */
282 if (unlikely(var13
== NULL
)) {
283 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
284 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 96);
292 var14
= poset___poset__POSetElement___greaters(var11
);
296 var15
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[MModule]>*/
301 var17
= ((short int(*)(val
* self
))((((long)var_16
&3)?class_info
[((long)var_16
&3)]:var_16
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_16
); /* is_ok on <var_16:Iterator[MModule]>*/
305 var18
= ((val
*(*)(val
* self
))((((long)var_16
&3)?class_info
[((long)var_16
&3)]:var_16
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_16
); /* item on <var_16:Iterator[MModule]>*/
309 { /* Inline model#MModule#mclassdefs (var_m) on <var_m:MModule> */
310 var21
= var_m
->attrs
[COLOR_nit__model__MModule___mclassdefs
].val
; /* _mclassdefs on <var_m:MModule> */
311 if (unlikely(var21
== NULL
)) {
312 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
313 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 131);
322 var23
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_22
);
327 var25
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_24
);
331 var26
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_24
);
335 { /* Inline model#MClassDef#mclass (var_cd) on <var_cd:MClassDef> */
336 var29
= var_cd
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_cd:MClassDef> */
337 if (unlikely(var29
== NULL
)) {
338 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
339 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
348 var30
= poset___poset__POSet___add_node(var_res
, var_c
);
351 { /* Inline model#MClassDef#supertypes (var_cd) on <var_cd:MClassDef> */
352 var33
= var_cd
->attrs
[COLOR_nit__model__MClassDef___supertypes
].val
; /* _supertypes on <var_cd:MClassDef> */
353 if (unlikely(var33
== NULL
)) {
354 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
355 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 627);
364 var35
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_34
);
369 var37
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_36
);
373 var38
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_36
);
377 { /* Inline model#MClassType#mclass (var_s) on <var_s:MClassType> */
378 var41
= var_s
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_s:MClassType> */
379 if (unlikely(var41
== NULL
)) {
380 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
381 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
389 poset___poset__POSet___add_edge(var_res
, var_c
, var39
); /* Direct call poset#POSet#add_edge on <var_res:nullable POSet[MClass](POSet[MClass])>*/
392 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_36
); /* Direct call array#ArrayIterator#next on <var_36:ArrayIterator[MClassType]>*/
398 BREAK_label
: (void)0;
400 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_36
); /* Direct call array#ArrayIterator#finish on <var_36:ArrayIterator[MClassType]>*/
403 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_24
); /* Direct call array#ArrayIterator#next on <var_24:ArrayIterator[MClassDef]>*/
409 BREAK_label42
: (void)0;
411 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_24
); /* Direct call array#ArrayIterator#finish on <var_24:ArrayIterator[MClassDef]>*/
414 ((void(*)(val
* self
))((((long)var_16
&3)?class_info
[((long)var_16
&3)]:var_16
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_16
); /* next on <var_16:Iterator[MModule]>*/
420 BREAK_label43
: (void)0;
422 ((void(*)(val
* self
))((((long)var_16
&3)?class_info
[((long)var_16
&3)]:var_16
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_16
); /* finish on <var_16:Iterator[MModule]>*/
425 { /* Inline model#MModule#flatten_mclass_hierarchy_cache= (self,var_res) on <self:MModule> */
426 self
->attrs
[COLOR_nit__model__MModule___flatten_mclass_hierarchy_cache
].val
= var_res
; /* _flatten_mclass_hierarchy_cache on <self:MModule> */
435 /* method model#MModule#linearize_mclasses for (self: MModule, Array[MClass]) */
436 void nit__model___MModule___linearize_mclasses(val
* self
, val
* p0
) {
437 val
* var_mclasses
/* var mclasses: Array[MClass] */;
438 val
* var
/* : POSet[MClass] */;
441 var
= nit__model___MModule___flatten_mclass_hierarchy(self
);
444 standard___standard__Comparator___sort(var
, var_mclasses
); /* Direct call sorter#Comparator#sort on <var:POSet[MClass]>*/
448 /* method model#MModule#linearize_mclassdefs for (self: MModule, Array[MClassDef]) */
449 void nit__model___MModule___linearize_mclassdefs(val
* self
, val
* p0
) {
450 val
* var_mclassdefs
/* var mclassdefs: Array[MClassDef] */;
451 val
* var
/* : MClassDefSorter */;
452 val
* var_sorter
/* var sorter: MClassDefSorter */;
454 var
= NEW_nit__model__MClassDefSorter(&type_nit__model__MClassDefSorter
);
456 ((void(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_nit__model__MClassDefSorter__mmodule_61d
]))(var
, self
); /* mmodule= on <var:MClassDefSorter>*/
459 ((void(*)(val
* self
))(var
->class->vft
[COLOR_standard__kernel__Object__init
]))(var
); /* init on <var:MClassDefSorter>*/
463 standard___standard__Comparator___sort(var_sorter
, var_mclassdefs
); /* Direct call sorter#Comparator#sort on <var_sorter:MClassDefSorter>*/
467 /* method model#MModule#linearize_mpropdefs for (self: MModule, Array[MPropDef]) */
468 void nit__model___MModule___linearize_mpropdefs(val
* self
, val
* p0
) {
469 val
* var_mpropdefs
/* var mpropdefs: Array[MPropDef] */;
470 val
* var
/* : MPropDefSorter */;
471 val
* var_sorter
/* var sorter: MPropDefSorter */;
473 var
= NEW_nit__model__MPropDefSorter(&type_nit__model__MPropDefSorter
);
475 ((void(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_nit__model__MPropDefSorter__mmodule_61d
]))(var
, self
); /* mmodule= on <var:MPropDefSorter>*/
478 ((void(*)(val
* self
))(var
->class->vft
[COLOR_standard__kernel__Object__init
]))(var
); /* init on <var:MPropDefSorter>*/
482 standard___standard__Comparator___sort(var_sorter
, var_mpropdefs
); /* Direct call sorter#Comparator#sort on <var_sorter:MPropDefSorter>*/
486 /* method model#MModule#flatten_mclass_hierarchy_cache for (self: MModule): nullable POSet[MClass] */
487 val
* nit__model___MModule___flatten_mclass_hierarchy_cache(val
* self
) {
488 val
* var
/* : nullable POSet[MClass] */;
489 val
* var1
/* : nullable POSet[MClass] */;
490 var1
= self
->attrs
[COLOR_nit__model__MModule___flatten_mclass_hierarchy_cache
].val
; /* _flatten_mclass_hierarchy_cache on <self:MModule> */
495 /* method model#MModule#flatten_mclass_hierarchy_cache= for (self: MModule, nullable POSet[MClass]) */
496 void nit__model___MModule___flatten_mclass_hierarchy_cache_61d(val
* self
, val
* p0
) {
497 self
->attrs
[COLOR_nit__model__MModule___flatten_mclass_hierarchy_cache
].val
= p0
; /* _flatten_mclass_hierarchy_cache on <self:MModule> */
500 /* method model#MModule#object_type for (self: MModule): MClassType */
501 val
* nit__model___MModule___object_type(val
* self
) {
502 val
* var
/* : MClassType */;
503 short int var1
/* : Bool */;
504 val
* var2
/* : MClassType */;
506 val
* var3
/* : String */;
507 char* var4
/* : NativeString */;
508 val
* var5
/* : FlatString */;
509 val
* var6
/* : MClass */;
510 val
* var7
/* : MClassType */;
511 val
* var9
/* : MClassType */;
512 var1
= self
->attrs
[COLOR_nit__model__MModule___object_type
].val
!= NULL
; /* _object_type on <self:MModule> */
514 var2
= self
->attrs
[COLOR_nit__model__MModule___object_type
].val
; /* _object_type on <self:MModule> */
515 if (unlikely(var2
== NULL
)) {
516 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _object_type");
517 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 197);
521 if (likely(varonce
!=NULL
)) {
525 var5
= standard___standard__NativeString___to_s_with_length(var4
, 6l);
530 var6
= nit__model___MModule___get_primitive_class(self
, var3
);
533 { /* Inline model#MClass#mclass_type (var6) on <var6:MClass> */
534 var9
= var6
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var6:MClass> */
535 if (unlikely(var9
== NULL
)) {
536 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
537 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
544 self
->attrs
[COLOR_nit__model__MModule___object_type
].val
= var7
; /* _object_type on <self:MModule> */
551 /* method model#MModule#pointer_type for (self: MModule): MClassType */
552 val
* nit__model___MModule___pointer_type(val
* self
) {
553 val
* var
/* : MClassType */;
554 short int var1
/* : Bool */;
555 val
* var2
/* : MClassType */;
557 val
* var3
/* : String */;
558 char* var4
/* : NativeString */;
559 val
* var5
/* : FlatString */;
560 val
* var6
/* : MClass */;
561 val
* var7
/* : MClassType */;
562 val
* var9
/* : MClassType */;
563 var1
= self
->attrs
[COLOR_nit__model__MModule___pointer_type
].val
!= NULL
; /* _pointer_type on <self:MModule> */
565 var2
= self
->attrs
[COLOR_nit__model__MModule___pointer_type
].val
; /* _pointer_type on <self:MModule> */
566 if (unlikely(var2
== NULL
)) {
567 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _pointer_type");
568 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 200);
572 if (likely(varonce
!=NULL
)) {
576 var5
= standard___standard__NativeString___to_s_with_length(var4
, 7l);
581 var6
= nit__model___MModule___get_primitive_class(self
, var3
);
584 { /* Inline model#MClass#mclass_type (var6) on <var6:MClass> */
585 var9
= var6
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var6:MClass> */
586 if (unlikely(var9
== NULL
)) {
587 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
588 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
595 self
->attrs
[COLOR_nit__model__MModule___pointer_type
].val
= var7
; /* _pointer_type on <self:MModule> */
602 /* method model#MModule#bool_type for (self: MModule): MClassType */
603 val
* nit__model___MModule___bool_type(val
* self
) {
604 val
* var
/* : MClassType */;
605 short int var1
/* : Bool */;
606 val
* var2
/* : MClassType */;
608 val
* var3
/* : String */;
609 char* var4
/* : NativeString */;
610 val
* var5
/* : FlatString */;
611 val
* var6
/* : MClass */;
612 val
* var7
/* : MClassType */;
613 val
* var9
/* : MClassType */;
614 var1
= self
->attrs
[COLOR_nit__model__MModule___bool_type
].val
!= NULL
; /* _bool_type on <self:MModule> */
616 var2
= self
->attrs
[COLOR_nit__model__MModule___bool_type
].val
; /* _bool_type on <self:MModule> */
617 if (unlikely(var2
== NULL
)) {
618 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bool_type");
619 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 203);
623 if (likely(varonce
!=NULL
)) {
627 var5
= standard___standard__NativeString___to_s_with_length(var4
, 4l);
632 var6
= nit__model___MModule___get_primitive_class(self
, var3
);
635 { /* Inline model#MClass#mclass_type (var6) on <var6:MClass> */
636 var9
= var6
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var6:MClass> */
637 if (unlikely(var9
== NULL
)) {
638 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
639 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
646 self
->attrs
[COLOR_nit__model__MModule___bool_type
].val
= var7
; /* _bool_type on <self:MModule> */
653 /* method model#MModule#int_type for (self: MModule): MClassType */
654 val
* nit__model___MModule___int_type(val
* self
) {
655 val
* var
/* : MClassType */;
656 short int var1
/* : Bool */;
657 val
* var2
/* : MClassType */;
659 val
* var3
/* : String */;
660 char* var4
/* : NativeString */;
661 val
* var5
/* : FlatString */;
662 val
* var6
/* : MClass */;
663 val
* var7
/* : MClassType */;
664 val
* var9
/* : MClassType */;
665 var1
= self
->attrs
[COLOR_nit__model__MModule___int_type
].val
!= NULL
; /* _int_type on <self:MModule> */
667 var2
= self
->attrs
[COLOR_nit__model__MModule___int_type
].val
; /* _int_type on <self:MModule> */
668 if (unlikely(var2
== NULL
)) {
669 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _int_type");
670 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 206);
674 if (likely(varonce
!=NULL
)) {
678 var5
= standard___standard__NativeString___to_s_with_length(var4
, 3l);
683 var6
= nit__model___MModule___get_primitive_class(self
, var3
);
686 { /* Inline model#MClass#mclass_type (var6) on <var6:MClass> */
687 var9
= var6
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var6:MClass> */
688 if (unlikely(var9
== NULL
)) {
689 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
690 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
697 self
->attrs
[COLOR_nit__model__MModule___int_type
].val
= var7
; /* _int_type on <self:MModule> */
704 /* method model#MModule#byte_type for (self: MModule): MClassType */
705 val
* nit__model___MModule___byte_type(val
* self
) {
706 val
* var
/* : MClassType */;
707 short int var1
/* : Bool */;
708 val
* var2
/* : MClassType */;
710 val
* var3
/* : String */;
711 char* var4
/* : NativeString */;
712 val
* var5
/* : FlatString */;
713 val
* var6
/* : MClass */;
714 val
* var7
/* : MClassType */;
715 val
* var9
/* : MClassType */;
716 var1
= self
->attrs
[COLOR_nit__model__MModule___byte_type
].val
!= NULL
; /* _byte_type on <self:MModule> */
718 var2
= self
->attrs
[COLOR_nit__model__MModule___byte_type
].val
; /* _byte_type on <self:MModule> */
719 if (unlikely(var2
== NULL
)) {
720 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _byte_type");
721 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 209);
725 if (likely(varonce
!=NULL
)) {
729 var5
= standard___standard__NativeString___to_s_with_length(var4
, 4l);
734 var6
= nit__model___MModule___get_primitive_class(self
, var3
);
737 { /* Inline model#MClass#mclass_type (var6) on <var6:MClass> */
738 var9
= var6
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var6:MClass> */
739 if (unlikely(var9
== NULL
)) {
740 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
741 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
748 self
->attrs
[COLOR_nit__model__MModule___byte_type
].val
= var7
; /* _byte_type on <self:MModule> */
755 /* method model#MModule#char_type for (self: MModule): MClassType */
756 val
* nit__model___MModule___char_type(val
* self
) {
757 val
* var
/* : MClassType */;
758 short int var1
/* : Bool */;
759 val
* var2
/* : MClassType */;
761 val
* var3
/* : String */;
762 char* var4
/* : NativeString */;
763 val
* var5
/* : FlatString */;
764 val
* var6
/* : MClass */;
765 val
* var7
/* : MClassType */;
766 val
* var9
/* : MClassType */;
767 var1
= self
->attrs
[COLOR_nit__model__MModule___char_type
].val
!= NULL
; /* _char_type on <self:MModule> */
769 var2
= self
->attrs
[COLOR_nit__model__MModule___char_type
].val
; /* _char_type on <self:MModule> */
770 if (unlikely(var2
== NULL
)) {
771 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _char_type");
772 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 212);
776 if (likely(varonce
!=NULL
)) {
780 var5
= standard___standard__NativeString___to_s_with_length(var4
, 4l);
785 var6
= nit__model___MModule___get_primitive_class(self
, var3
);
788 { /* Inline model#MClass#mclass_type (var6) on <var6:MClass> */
789 var9
= var6
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var6:MClass> */
790 if (unlikely(var9
== NULL
)) {
791 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
792 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
799 self
->attrs
[COLOR_nit__model__MModule___char_type
].val
= var7
; /* _char_type on <self:MModule> */
806 /* method model#MModule#float_type for (self: MModule): MClassType */
807 val
* nit__model___MModule___float_type(val
* self
) {
808 val
* var
/* : MClassType */;
809 short int var1
/* : Bool */;
810 val
* var2
/* : MClassType */;
812 val
* var3
/* : String */;
813 char* var4
/* : NativeString */;
814 val
* var5
/* : FlatString */;
815 val
* var6
/* : MClass */;
816 val
* var7
/* : MClassType */;
817 val
* var9
/* : MClassType */;
818 var1
= self
->attrs
[COLOR_nit__model__MModule___float_type
].val
!= NULL
; /* _float_type on <self:MModule> */
820 var2
= self
->attrs
[COLOR_nit__model__MModule___float_type
].val
; /* _float_type on <self:MModule> */
821 if (unlikely(var2
== NULL
)) {
822 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _float_type");
823 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 215);
827 if (likely(varonce
!=NULL
)) {
831 var5
= standard___standard__NativeString___to_s_with_length(var4
, 5l);
836 var6
= nit__model___MModule___get_primitive_class(self
, var3
);
839 { /* Inline model#MClass#mclass_type (var6) on <var6:MClass> */
840 var9
= var6
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var6:MClass> */
841 if (unlikely(var9
== NULL
)) {
842 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
843 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
850 self
->attrs
[COLOR_nit__model__MModule___float_type
].val
= var7
; /* _float_type on <self:MModule> */
857 /* method model#MModule#string_type for (self: MModule): MClassType */
858 val
* nit__model___MModule___string_type(val
* self
) {
859 val
* var
/* : MClassType */;
860 short int var1
/* : Bool */;
861 val
* var2
/* : MClassType */;
863 val
* var3
/* : String */;
864 char* var4
/* : NativeString */;
865 val
* var5
/* : FlatString */;
866 val
* var6
/* : MClass */;
867 val
* var7
/* : MClassType */;
868 val
* var9
/* : MClassType */;
869 var1
= self
->attrs
[COLOR_nit__model__MModule___string_type
].val
!= NULL
; /* _string_type on <self:MModule> */
871 var2
= self
->attrs
[COLOR_nit__model__MModule___string_type
].val
; /* _string_type on <self:MModule> */
872 if (unlikely(var2
== NULL
)) {
873 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string_type");
874 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 218);
878 if (likely(varonce
!=NULL
)) {
882 var5
= standard___standard__NativeString___to_s_with_length(var4
, 6l);
887 var6
= nit__model___MModule___get_primitive_class(self
, var3
);
890 { /* Inline model#MClass#mclass_type (var6) on <var6:MClass> */
891 var9
= var6
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var6:MClass> */
892 if (unlikely(var9
== NULL
)) {
893 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
894 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
901 self
->attrs
[COLOR_nit__model__MModule___string_type
].val
= var7
; /* _string_type on <self:MModule> */
908 /* method model#MModule#native_string_type for (self: MModule): MClassType */
909 val
* nit__model___MModule___native_string_type(val
* self
) {
910 val
* var
/* : MClassType */;
911 short int var1
/* : Bool */;
912 val
* var2
/* : MClassType */;
914 val
* var3
/* : String */;
915 char* var4
/* : NativeString */;
916 val
* var5
/* : FlatString */;
917 val
* var6
/* : MClass */;
918 val
* var7
/* : MClassType */;
919 val
* var9
/* : MClassType */;
920 var1
= self
->attrs
[COLOR_nit__model__MModule___native_string_type
].val
!= NULL
; /* _native_string_type on <self:MModule> */
922 var2
= self
->attrs
[COLOR_nit__model__MModule___native_string_type
].val
; /* _native_string_type on <self:MModule> */
923 if (unlikely(var2
== NULL
)) {
924 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _native_string_type");
925 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 221);
929 if (likely(varonce
!=NULL
)) {
932 var4
= "NativeString";
933 var5
= standard___standard__NativeString___to_s_with_length(var4
, 12l);
938 var6
= nit__model___MModule___get_primitive_class(self
, var3
);
941 { /* Inline model#MClass#mclass_type (var6) on <var6:MClass> */
942 var9
= var6
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var6:MClass> */
943 if (unlikely(var9
== NULL
)) {
944 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
945 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
952 self
->attrs
[COLOR_nit__model__MModule___native_string_type
].val
= var7
; /* _native_string_type on <self:MModule> */
959 /* method model#MModule#array_type for (self: MModule, MType): MClassType */
960 val
* nit__model___MModule___array_type(val
* self
, val
* p0
) {
961 val
* var
/* : MClassType */;
962 val
* var_elt_type
/* var elt_type: MType */;
963 val
* var1
/* : MClass */;
964 val
* var2
/* : Array[MType] */;
965 val
* var_
/* var : Array[MType] */;
966 val
* var3
/* : MClassType */;
969 var1
= nit__model___MModule___array_class(self
);
971 var2
= NEW_standard__Array(&type_standard__Array__nit__MType
);
973 standard___standard__Array___with_capacity(var2
, 1l); /* Direct call array#Array#with_capacity on <var2:Array[MType]>*/
977 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_elt_type
); /* Direct call array#AbstractArray#push on <var_:Array[MType]>*/
980 var3
= nit___nit__MClass___get_mtype(var1
, var_
);
987 /* method model#MModule#array_class for (self: MModule): MClass */
988 val
* nit__model___MModule___array_class(val
* self
) {
989 val
* var
/* : MClass */;
990 short int var1
/* : Bool */;
991 val
* var2
/* : MClass */;
993 val
* var3
/* : String */;
994 char* var4
/* : NativeString */;
995 val
* var5
/* : FlatString */;
996 val
* var6
/* : MClass */;
997 var1
= self
->attrs
[COLOR_nit__model__MModule___array_class
].val
!= NULL
; /* _array_class on <self:MModule> */
999 var2
= self
->attrs
[COLOR_nit__model__MModule___array_class
].val
; /* _array_class on <self:MModule> */
1000 if (unlikely(var2
== NULL
)) {
1001 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array_class");
1002 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 227);
1006 if (likely(varonce
!=NULL
)) {
1010 var5
= standard___standard__NativeString___to_s_with_length(var4
, 5l);
1015 var6
= nit__model___MModule___get_primitive_class(self
, var3
);
1017 self
->attrs
[COLOR_nit__model__MModule___array_class
].val
= var6
; /* _array_class on <self:MModule> */
1024 /* method model#MModule#native_array_type for (self: MModule, MType): MClassType */
1025 val
* nit__model___MModule___native_array_type(val
* self
, val
* p0
) {
1026 val
* var
/* : MClassType */;
1027 val
* var_elt_type
/* var elt_type: MType */;
1028 val
* var1
/* : MClass */;
1029 val
* var2
/* : Array[MType] */;
1030 val
* var_
/* var : Array[MType] */;
1031 val
* var3
/* : MClassType */;
1034 var1
= nit__model___MModule___native_array_class(self
);
1036 var2
= NEW_standard__Array(&type_standard__Array__nit__MType
);
1038 standard___standard__Array___with_capacity(var2
, 1l); /* Direct call array#Array#with_capacity on <var2:Array[MType]>*/
1042 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_elt_type
); /* Direct call array#AbstractArray#push on <var_:Array[MType]>*/
1045 var3
= nit___nit__MClass___get_mtype(var1
, var_
);
1052 /* method model#MModule#native_array_class for (self: MModule): MClass */
1053 val
* nit__model___MModule___native_array_class(val
* self
) {
1054 val
* var
/* : MClass */;
1055 short int var1
/* : Bool */;
1056 val
* var2
/* : MClass */;
1057 static val
* varonce
;
1058 val
* var3
/* : String */;
1059 char* var4
/* : NativeString */;
1060 val
* var5
/* : FlatString */;
1061 val
* var6
/* : MClass */;
1062 var1
= self
->attrs
[COLOR_nit__model__MModule___native_array_class
].val
!= NULL
; /* _native_array_class on <self:MModule> */
1064 var2
= self
->attrs
[COLOR_nit__model__MModule___native_array_class
].val
; /* _native_array_class on <self:MModule> */
1065 if (unlikely(var2
== NULL
)) {
1066 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _native_array_class");
1067 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 233);
1071 if (likely(varonce
!=NULL
)) {
1074 var4
= "NativeArray";
1075 var5
= standard___standard__NativeString___to_s_with_length(var4
, 11l);
1080 var6
= nit__model___MModule___get_primitive_class(self
, var3
);
1082 self
->attrs
[COLOR_nit__model__MModule___native_array_class
].val
= var6
; /* _native_array_class on <self:MModule> */
1089 /* method model#MModule#sys_type for (self: MModule): nullable MClassType */
1090 val
* nit__model___MModule___sys_type(val
* self
) {
1091 val
* var
/* : nullable MClassType */;
1092 val
* var1
/* : Model */;
1093 val
* var3
/* : Model */;
1094 static val
* varonce
;
1095 val
* var4
/* : String */;
1096 char* var5
/* : NativeString */;
1097 val
* var6
/* : FlatString */;
1098 val
* var7
/* : nullable Array[MClass] */;
1099 val
* var_clas
/* var clas: nullable Array[MClass] */;
1100 short int var8
/* : Bool */;
1101 short int var9
/* : Bool */;
1102 static val
* varonce10
;
1103 val
* var11
/* : String */;
1104 char* var12
/* : NativeString */;
1105 val
* var13
/* : FlatString */;
1106 val
* var14
/* : MClass */;
1107 val
* var15
/* : MClassType */;
1108 val
* var17
/* : MClassType */;
1110 { /* Inline mmodule#MModule#model (self) on <self:MModule> */
1111 var3
= self
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <self:MModule> */
1112 if (unlikely(var3
== NULL
)) {
1113 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
1114 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
1121 if (likely(varonce
!=NULL
)) {
1125 var6
= standard___standard__NativeString___to_s_with_length(var5
, 3l);
1130 var7
= nit__model___Model___get_mclasses_by_name(var1
, var4
);
1133 if (var_clas
== NULL
) {
1134 var8
= 1; /* is null */
1136 var8
= 0; /* arg is null but recv is not */
1139 var9
= standard___standard__Array___standard__kernel__Object___61d_61d(var_clas
, ((val
*)NULL
));
1147 if (likely(varonce10
!=NULL
)) {
1151 var13
= standard___standard__NativeString___to_s_with_length(var12
, 3l);
1156 var14
= nit__model___MModule___get_primitive_class(self
, var11
);
1159 { /* Inline model#MClass#mclass_type (var14) on <var14:MClass> */
1160 var17
= var14
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var14:MClass> */
1161 if (unlikely(var17
== NULL
)) {
1162 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
1163 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
1167 RET_LABEL16
:(void)0;
1175 /* method model#MModule#finalizable_type for (self: MModule): nullable MClassType */
1176 val
* nit__model___MModule___finalizable_type(val
* self
) {
1177 val
* var
/* : nullable MClassType */;
1178 val
* var1
/* : Model */;
1179 val
* var3
/* : Model */;
1180 static val
* varonce
;
1181 val
* var4
/* : String */;
1182 char* var5
/* : NativeString */;
1183 val
* var6
/* : FlatString */;
1184 val
* var7
/* : nullable Array[MClass] */;
1185 val
* var_clas
/* var clas: nullable Array[MClass] */;
1186 short int var8
/* : Bool */;
1187 short int var9
/* : Bool */;
1188 static val
* varonce10
;
1189 val
* var11
/* : String */;
1190 char* var12
/* : NativeString */;
1191 val
* var13
/* : FlatString */;
1192 val
* var14
/* : MClass */;
1193 val
* var15
/* : MClassType */;
1194 val
* var17
/* : MClassType */;
1196 { /* Inline mmodule#MModule#model (self) on <self:MModule> */
1197 var3
= self
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <self:MModule> */
1198 if (unlikely(var3
== NULL
)) {
1199 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
1200 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
1207 if (likely(varonce
!=NULL
)) {
1210 var5
= "Finalizable";
1211 var6
= standard___standard__NativeString___to_s_with_length(var5
, 11l);
1216 var7
= nit__model___Model___get_mclasses_by_name(var1
, var4
);
1219 if (var_clas
== NULL
) {
1220 var8
= 1; /* is null */
1222 var8
= 0; /* arg is null but recv is not */
1225 var9
= standard___standard__Array___standard__kernel__Object___61d_61d(var_clas
, ((val
*)NULL
));
1233 if (likely(varonce10
!=NULL
)) {
1236 var12
= "Finalizable";
1237 var13
= standard___standard__NativeString___to_s_with_length(var12
, 11l);
1242 var14
= nit__model___MModule___get_primitive_class(self
, var11
);
1245 { /* Inline model#MClass#mclass_type (var14) on <var14:MClass> */
1246 var17
= var14
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var14:MClass> */
1247 if (unlikely(var17
== NULL
)) {
1248 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
1249 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
1253 RET_LABEL16
:(void)0;
1261 /* method model#MModule#get_primitive_class for (self: MModule, String): MClass */
1262 val
* nit__model___MModule___get_primitive_class(val
* self
, val
* p0
) {
1263 val
* var
/* : MClass */;
1264 val
* var_name
/* var name: String */;
1265 val
* var1
/* : Model */;
1266 val
* var3
/* : Model */;
1267 val
* var4
/* : nullable Array[MClass] */;
1268 val
* var_cla
/* var cla: nullable Array[MClass] */;
1269 short int var5
/* : Bool */;
1270 short int var6
/* : Bool */;
1271 val
* var_other
/* var other: nullable Object */;
1272 short int var8
/* : Bool */;
1273 short int var9
/* : Bool */;
1274 val
* var10
/* : Array[MClass] */;
1275 val
* var_
/* var : Array[MClass] */;
1276 val
* var_11
/* var : Array[MClass] */;
1277 val
* var12
/* : ArrayIterator[nullable Object] */;
1278 val
* var_13
/* var : ArrayIterator[MClass] */;
1279 short int var14
/* : Bool */;
1280 val
* var15
/* : nullable Object */;
1281 val
* var_c
/* var c: MClass */;
1282 val
* var16
/* : POSetElement[MModule] */;
1283 val
* var18
/* : POSetElement[MModule] */;
1284 val
* var19
/* : MModule */;
1285 val
* var21
/* : MModule */;
1286 short int var22
/* : Bool */;
1287 short int var23
/* : Bool */;
1288 short int var24
/* : Bool */;
1289 short int var25
/* : Bool */;
1290 short int var_26
/* var : Bool */;
1291 short int var27
/* : Bool */;
1292 short int var28
/* : Bool */;
1293 static val
* varonce
;
1294 val
* var29
/* : String */;
1295 char* var30
/* : NativeString */;
1296 val
* var31
/* : FlatString */;
1297 short int var32
/* : Bool */;
1298 short int var_33
/* var : Bool */;
1299 val
* var34
/* : Model */;
1300 val
* var36
/* : Model */;
1301 static val
* varonce37
;
1302 val
* var38
/* : String */;
1303 char* var39
/* : NativeString */;
1304 val
* var40
/* : FlatString */;
1305 val
* var41
/* : nullable Array[MClass] */;
1306 short int var42
/* : Bool */;
1307 short int var43
/* : Bool */;
1308 short int var45
/* : Bool */;
1309 short int var46
/* : Bool */;
1310 val
* var47
/* : MClass */;
1311 val
* var48
/* : Sys */;
1312 val
* var49
/* : MClassKind */;
1313 val
* var50
/* : Sys */;
1314 val
* var51
/* : MVisibility */;
1315 val
* var_c52
/* var c: MClass */;
1316 val
* var53
/* : MClassDef */;
1317 val
* var54
/* : MClassType */;
1318 val
* var56
/* : MClassType */;
1319 val
* var57
/* : Location */;
1320 val
* var_cladef
/* var cladef: MClassDef */;
1321 val
* var58
/* : Array[MClassType] */;
1322 val
* var_59
/* var : Array[MClassType] */;
1323 val
* var60
/* : MClassType */;
1324 val
* var61
/* : Sys */;
1325 val
* var63
/* : NativeArray[String] */;
1326 static val
* varonce62
;
1327 static val
* varonce64
;
1328 val
* var65
/* : String */;
1329 char* var66
/* : NativeString */;
1330 val
* var67
/* : FlatString */;
1331 static val
* varonce68
;
1332 val
* var69
/* : String */;
1333 char* var70
/* : NativeString */;
1334 val
* var71
/* : FlatString */;
1335 val
* var72
/* : String */;
1336 val
* var73
/* : String */;
1337 val
* var74
/* : Sys */;
1338 long var76
/* : Int */;
1339 long var78
/* : Int */;
1340 short int var79
/* : Bool */;
1341 short int var81
/* : Bool */;
1342 short int var82
/* : Bool */;
1343 val
* var84
/* : NativeArray[String] */;
1344 static val
* varonce83
;
1345 static val
* varonce85
;
1346 val
* var86
/* : String */;
1347 char* var87
/* : NativeString */;
1348 val
* var88
/* : FlatString */;
1349 static val
* varonce89
;
1350 val
* var90
/* : String */;
1351 char* var91
/* : NativeString */;
1352 val
* var92
/* : FlatString */;
1353 static val
* varonce93
;
1354 val
* var94
/* : String */;
1355 char* var95
/* : NativeString */;
1356 val
* var96
/* : FlatString */;
1357 val
* var97
/* : String */;
1358 val
* var98
/* : String */;
1359 val
* var_msg
/* var msg: String */;
1360 val
* var_99
/* var : nullable Array[MClass] */;
1361 val
* var100
/* : ArrayIterator[nullable Object] */;
1362 val
* var_101
/* var : ArrayIterator[MClass] */;
1363 short int var102
/* : Bool */;
1364 val
* var103
/* : nullable Object */;
1365 val
* var_c104
/* var c: MClass */;
1366 val
* var106
/* : NativeArray[String] */;
1367 static val
* varonce105
;
1368 static val
* varonce107
;
1369 val
* var108
/* : String */;
1370 char* var109
/* : NativeString */;
1371 val
* var110
/* : FlatString */;
1372 val
* var111
/* : String */;
1373 val
* var112
/* : String */;
1374 val
* var113
/* : String */;
1375 val
* var115
/* : Sys */;
1376 val
* var116
/* : nullable Object */;
1379 { /* Inline mmodule#MModule#model (self) on <self:MModule> */
1380 var3
= self
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <self:MModule> */
1381 if (unlikely(var3
== NULL
)) {
1382 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
1383 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
1391 var4
= nit__model___Model___get_mclasses_by_name(var1
, var_name
);
1394 if (var_cla
== NULL
) {
1395 var5
= 0; /* is null */
1397 var5
= 1; /* arg is null and recv is not */
1400 { /* Inline kernel#Object#!= (var_cla,((val*)NULL)) on <var_cla:nullable Array[MClass]> */
1401 var_other
= ((val
*)NULL
);
1403 var8
= ((short int(*)(val
* self
, val
* p0
))(var_cla
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_cla
, var_other
); /* == on <var_cla:nullable Array[MClass](Array[MClass])>*/
1413 var10
= NEW_standard__Array(&type_standard__Array__nit__MClass
);
1415 standard___standard__Array___with_capacity(var10
, 1l); /* Direct call array#Array#with_capacity on <var10:Array[MClass]>*/
1420 var12
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_11
);
1425 var14
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_13
);
1429 var15
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_13
);
1433 { /* Inline mmodule#MModule#in_importation (self) on <self:MModule> */
1434 var18
= self
->attrs
[COLOR_nit__mmodule__MModule___in_importation
].val
; /* _in_importation on <self:MModule> */
1435 if (unlikely(var18
== NULL
)) {
1436 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
1437 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 96);
1441 RET_LABEL17
:(void)0;
1445 { /* Inline model#MClass#intro_mmodule (var_c) on <var_c:MClass> */
1446 var21
= var_c
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var_c:MClass> */
1447 if (unlikely(var21
== NULL
)) {
1448 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
1449 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 357);
1453 RET_LABEL20
:(void)0;
1457 var22
= poset___poset__POSetElement____60d_61d(var16
, var19
);
1461 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_c
); /* Direct call array#AbstractArray#push on <var_:Array[MClass]>*/
1466 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_13
); /* Direct call array#ArrayIterator#next on <var_13:ArrayIterator[MClass]>*/
1472 BREAK_label
: (void)0;
1474 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_13
); /* Direct call array#ArrayIterator#finish on <var_13:ArrayIterator[MClass]>*/
1479 if (var_cla
== NULL
) {
1480 var24
= 1; /* is null */
1482 var24
= 0; /* arg is null but recv is not */
1485 var25
= standard___standard__Array___standard__kernel__Object___61d_61d(var_cla
, ((val
*)NULL
));
1493 var27
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_cla
);
1498 if (likely(varonce
!=NULL
)) {
1502 var31
= standard___standard__NativeString___to_s_with_length(var30
, 4l);
1507 var32
= ((short int(*)(val
* self
, val
* p0
))(var_name
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_name
, var29
); /* == on <var_name:String>*/
1512 { /* Inline mmodule#MModule#model (self) on <self:MModule> */
1513 var36
= self
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <self:MModule> */
1514 if (unlikely(var36
== NULL
)) {
1515 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
1516 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
1520 RET_LABEL35
:(void)0;
1523 if (likely(varonce37
!=NULL
)) {
1527 var40
= standard___standard__NativeString___to_s_with_length(var39
, 6l);
1532 var41
= nit__model___Model___get_mclasses_by_name(var34
, var38
);
1534 if (var41
== NULL
) {
1535 var42
= 0; /* is null */
1537 var42
= 1; /* arg is null and recv is not */
1540 { /* Inline kernel#Object#!= (var41,((val*)NULL)) on <var41:nullable Array[MClass]> */
1541 var_other
= ((val
*)NULL
);
1543 var45
= ((short int(*)(val
* self
, val
* p0
))(var41
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var41
, var_other
); /* == on <var41:nullable Array[MClass](Array[MClass])>*/
1548 RET_LABEL44
:(void)0;
1557 var47
= NEW_nit__MClass(&type_nit__MClass
);
1560 var49
= nit__model___standard__Sys___enum_kind(var48
);
1564 var51
= nit__model_base___standard__Sys___public_visibility(var50
);
1567 ((void(*)(val
* self
, val
* p0
))(var47
->class->vft
[COLOR_nit__model__MClass__intro_mmodule_61d
]))(var47
, self
); /* intro_mmodule= on <var47:MClass>*/
1570 ((void(*)(val
* self
, val
* p0
))(var47
->class->vft
[COLOR_nit__model__MClass__name_61d
]))(var47
, var_name
); /* name= on <var47:MClass>*/
1573 ((void(*)(val
* self
, val
* p0
))(var47
->class->vft
[COLOR_nit__model__MClass__setup_parameter_names
]))(var47
, ((val
*)NULL
)); /* setup_parameter_names on <var47:MClass>*/
1576 ((void(*)(val
* self
, val
* p0
))(var47
->class->vft
[COLOR_nit__model__MClass__kind_61d
]))(var47
, var49
); /* kind= on <var47:MClass>*/
1579 ((void(*)(val
* self
, val
* p0
))(var47
->class->vft
[COLOR_nit__model__MClass__visibility_61d
]))(var47
, var51
); /* visibility= on <var47:MClass>*/
1582 ((void(*)(val
* self
))(var47
->class->vft
[COLOR_standard__kernel__Object__init
]))(var47
); /* init on <var47:MClass>*/
1585 var53
= NEW_nit__MClassDef(&type_nit__MClassDef
);
1587 { /* Inline model#MClass#mclass_type (var_c52) on <var_c52:MClass> */
1588 var56
= var_c52
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_c52:MClass> */
1589 if (unlikely(var56
== NULL
)) {
1590 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
1591 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
1595 RET_LABEL55
:(void)0;
1598 var57
= NEW_nit__Location(&type_nit__Location
);
1600 ((void(*)(val
* self
, val
* p0
))(var57
->class->vft
[COLOR_nit__location__Location__file_61d
]))(var57
, ((val
*)NULL
)); /* file= on <var57:Location>*/
1603 ((void(*)(val
* self
, long p0
))(var57
->class->vft
[COLOR_nit__location__Location__line_start_61d
]))(var57
, 0l); /* line_start= on <var57:Location>*/
1606 ((void(*)(val
* self
, long p0
))(var57
->class->vft
[COLOR_nit__location__Location__line_end_61d
]))(var57
, 0l); /* line_end= on <var57:Location>*/
1609 ((void(*)(val
* self
, long p0
))(var57
->class->vft
[COLOR_nit__location__Location__column_start_61d
]))(var57
, 0l); /* column_start= on <var57:Location>*/
1612 ((void(*)(val
* self
, long p0
))(var57
->class->vft
[COLOR_nit__location__Location__column_end_61d
]))(var57
, 0l); /* column_end= on <var57:Location>*/
1615 ((void(*)(val
* self
))(var57
->class->vft
[COLOR_standard__kernel__Object__init
]))(var57
); /* init on <var57:Location>*/
1618 ((void(*)(val
* self
, val
* p0
))(var53
->class->vft
[COLOR_nit__model__MClassDef__mmodule_61d
]))(var53
, self
); /* mmodule= on <var53:MClassDef>*/
1621 ((void(*)(val
* self
, val
* p0
))(var53
->class->vft
[COLOR_nit__model__MClassDef__bound_mtype_61d
]))(var53
, var54
); /* bound_mtype= on <var53:MClassDef>*/
1624 ((void(*)(val
* self
, val
* p0
))(var53
->class->vft
[COLOR_nit__model__MClassDef__location_61d
]))(var53
, var57
); /* location= on <var53:MClassDef>*/
1627 ((void(*)(val
* self
))(var53
->class->vft
[COLOR_standard__kernel__Object__init
]))(var53
); /* init on <var53:MClassDef>*/
1630 var58
= NEW_standard__Array(&type_standard__Array__nit__MClassType
);
1632 standard___standard__Array___with_capacity(var58
, 1l); /* Direct call array#Array#with_capacity on <var58:Array[MClassType]>*/
1636 var60
= nit__model___MModule___object_type(self
);
1639 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_59
, var60
); /* Direct call array#AbstractArray#push on <var_59:Array[MClassType]>*/
1642 nit___nit__MClassDef___set_supertypes(var_cladef
, var_59
); /* Direct call model#MClassDef#set_supertypes on <var_cladef:MClassDef>*/
1645 nit___nit__MClassDef___add_in_hierarchy(var_cladef
); /* Direct call model#MClassDef#add_in_hierarchy on <var_cladef:MClassDef>*/
1652 if (unlikely(varonce62
==NULL
)) {
1653 var63
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
1654 if (likely(varonce64
!=NULL
)) {
1657 var66
= "Fatal Error: no primitive class ";
1658 var67
= standard___standard__NativeString___to_s_with_length(var66
, 32l);
1662 ((struct instance_standard__NativeArray
*)var63
)->values
[0]=var65
;
1663 if (likely(varonce68
!=NULL
)) {
1667 var71
= standard___standard__NativeString___to_s_with_length(var70
, 4l);
1671 ((struct instance_standard__NativeArray
*)var63
)->values
[2]=var69
;
1676 ((struct instance_standard__NativeArray
*)var63
)->values
[1]=var_name
;
1678 var72
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Object__to_s
]))(self
); /* to_s on <self:MModule>*/
1680 ((struct instance_standard__NativeArray
*)var63
)->values
[3]=var72
;
1682 var73
= ((val
*(*)(val
* self
))(var63
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var63
); /* native_to_s on <var63:NativeArray[String]>*/
1686 standard__file___Sys___print(var61
, var73
); /* Direct call file#Sys#print on <var61:Sys>*/
1690 { /* Inline kernel#Sys#exit (var74,1l) on <var74:Sys> */
1692 RET_LABEL75
:(void)0;
1697 if (var_cla
== NULL
) {
1698 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1699 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 272);
1702 { /* Inline array#AbstractArrayRead#length (var_cla) on <var_cla:nullable Array[MClass]> */
1703 if (unlikely(var_cla
== NULL
)) {
1704 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1705 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array
, 26);
1708 var78
= var_cla
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_cla:nullable Array[MClass]> */
1710 RET_LABEL77
:(void)0;
1714 { /* Inline kernel#Int#!= (var76,1l) on <var76:Int> */
1715 var81
= var76
== 1l;
1719 RET_LABEL80
:(void)0;
1723 if (unlikely(varonce83
==NULL
)) {
1724 var84
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
1725 if (likely(varonce85
!=NULL
)) {
1728 var87
= "Fatal Error: more than one primitive class ";
1729 var88
= standard___standard__NativeString___to_s_with_length(var87
, 43l);
1733 ((struct instance_standard__NativeArray
*)var84
)->values
[0]=var86
;
1734 if (likely(varonce89
!=NULL
)) {
1738 var92
= standard___standard__NativeString___to_s_with_length(var91
, 4l);
1742 ((struct instance_standard__NativeArray
*)var84
)->values
[2]=var90
;
1743 if (likely(varonce93
!=NULL
)) {
1747 var96
= standard___standard__NativeString___to_s_with_length(var95
, 1l);
1751 ((struct instance_standard__NativeArray
*)var84
)->values
[4]=var94
;
1756 ((struct instance_standard__NativeArray
*)var84
)->values
[1]=var_name
;
1758 var97
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Object__to_s
]))(self
); /* to_s on <self:MModule>*/
1760 ((struct instance_standard__NativeArray
*)var84
)->values
[3]=var97
;
1762 var98
= ((val
*(*)(val
* self
))(var84
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var84
); /* native_to_s on <var84:NativeArray[String]>*/
1767 if (var_99
== NULL
) {
1768 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1769 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 274);
1772 var100
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_99
);
1777 var102
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_101
);
1781 var103
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_101
);
1784 if (unlikely(varonce105
==NULL
)) {
1785 var106
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
1786 if (likely(varonce107
!=NULL
)) {
1787 var108
= varonce107
;
1790 var110
= standard___standard__NativeString___to_s_with_length(var109
, 1l);
1792 varonce107
= var108
;
1794 ((struct instance_standard__NativeArray
*)var106
)->values
[0]=var108
;
1796 var106
= varonce105
;
1800 var111
= nit___nit__MClass___nit__model_base__MEntity__full_name(var_c104
);
1802 ((struct instance_standard__NativeArray
*)var106
)->values
[1]=var111
;
1804 var112
= ((val
*(*)(val
* self
))(var106
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var106
); /* native_to_s on <var106:NativeArray[String]>*/
1806 varonce105
= var106
;
1808 var113
= ((val
*(*)(val
* self
, val
* p0
))(var_msg
->class->vft
[COLOR_standard__string__String___43d
]))(var_msg
, var112
); /* + on <var_msg:String>*/
1812 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_101
); /* Direct call array#ArrayIterator#next on <var_101:ArrayIterator[MClass]>*/
1815 goto BREAK_label114
;
1818 BREAK_label114
: (void)0;
1820 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_101
); /* Direct call array#ArrayIterator#finish on <var_101:ArrayIterator[MClass]>*/
1824 standard__file___Sys___print(var115
, var_msg
); /* Direct call file#Sys#print on <var115:Sys>*/
1828 if (var_cla
== NULL
) {
1829 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1830 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 278);
1833 var116
= standard___standard__SequenceRead___Collection__first(var_cla
);
1840 /* method model#MModule#try_get_primitive_method for (self: MModule, String, MClass): nullable MMethod */
1841 val
* nit__model___MModule___try_get_primitive_method(val
* self
, val
* p0
, val
* p1
) {
1842 val
* var
/* : nullable MMethod */;
1843 val
* var_name
/* var name: String */;
1844 val
* var_recv
/* var recv: MClass */;
1845 val
* var1
/* : Model */;
1846 val
* var3
/* : Model */;
1847 val
* var4
/* : nullable Array[MProperty] */;
1848 val
* var_props
/* var props: nullable Array[MProperty] */;
1849 short int var5
/* : Bool */;
1850 short int var6
/* : Bool */;
1851 val
* var_res
/* var res: nullable MMethod */;
1852 val
* var_
/* var : Array[MProperty] */;
1853 val
* var7
/* : ArrayIterator[nullable Object] */;
1854 val
* var_8
/* var : ArrayIterator[MProperty] */;
1855 short int var9
/* : Bool */;
1856 val
* var10
/* : nullable Object */;
1857 val
* var_mprop
/* var mprop: MProperty */;
1858 short int var11
/* : Bool */;
1861 val
* var12
/* : MClassDef */;
1862 val
* var14
/* : MClassDef */;
1863 val
* var_intro
/* var intro: MClassDef */;
1864 val
* var15
/* : Array[MClassDef] */;
1865 val
* var17
/* : Array[MClassDef] */;
1866 val
* var_18
/* var : Array[MClassDef] */;
1867 val
* var19
/* : ArrayIterator[nullable Object] */;
1868 val
* var_20
/* var : ArrayIterator[MClassDef] */;
1869 short int var21
/* : Bool */;
1870 val
* var22
/* : nullable Object */;
1871 val
* var_mclassdef
/* var mclassdef: MClassDef */;
1872 val
* var23
/* : POSetElement[MModule] */;
1873 val
* var25
/* : POSetElement[MModule] */;
1874 val
* var26
/* : Collection[nullable Object] */;
1875 val
* var27
/* : MModule */;
1876 val
* var29
/* : MModule */;
1877 short int var30
/* : Bool */;
1878 short int var31
/* : Bool */;
1879 val
* var32
/* : nullable POSetElement[MClassDef] */;
1880 val
* var34
/* : nullable POSetElement[MClassDef] */;
1881 val
* var35
/* : Collection[nullable Object] */;
1882 short int var36
/* : Bool */;
1883 short int var37
/* : Bool */;
1884 short int var38
/* : Bool */;
1885 short int var39
/* : Bool */;
1886 val
* var_other
/* var other: nullable Object */;
1887 short int var41
/* : Bool */;
1888 short int var43
/* : Bool */;
1889 short int var44
/* : Bool */;
1890 val
* var_other46
/* var other: nullable Object */;
1891 short int var47
/* : Bool */;
1892 short int var48
/* : Bool */;
1893 val
* var49
/* : Sys */;
1894 val
* var50
/* : NativeArray[String] */;
1895 static val
* varonce
;
1896 static val
* varonce51
;
1897 val
* var52
/* : String */;
1898 char* var53
/* : NativeString */;
1899 val
* var54
/* : FlatString */;
1900 static val
* varonce55
;
1901 val
* var56
/* : String */;
1902 char* var57
/* : NativeString */;
1903 val
* var58
/* : FlatString */;
1904 static val
* varonce59
;
1905 val
* var60
/* : String */;
1906 char* var61
/* : NativeString */;
1907 val
* var62
/* : FlatString */;
1908 val
* var63
/* : String */;
1909 val
* var64
/* : String */;
1910 val
* var65
/* : String */;
1914 { /* Inline mmodule#MModule#model (self) on <self:MModule> */
1915 var3
= self
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <self:MModule> */
1916 if (unlikely(var3
== NULL
)) {
1917 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
1918 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
1926 var4
= nit__model___Model___get_mproperties_by_name(var1
, var_name
);
1929 if (var_props
== NULL
) {
1930 var5
= 1; /* is null */
1932 var5
= 0; /* arg is null but recv is not */
1935 var6
= standard___standard__Array___standard__kernel__Object___61d_61d(var_props
, ((val
*)NULL
));
1943 var_res
= ((val
*)NULL
);
1946 var7
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
1951 var9
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_8
);
1955 var10
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_8
);
1958 /* <var_mprop:MProperty> isa MMethod */
1959 cltype
= type_nit__MMethod
.color
;
1960 idtype
= type_nit__MMethod
.id
;
1961 if(cltype
>= var_mprop
->type
->table_size
) {
1964 var11
= var_mprop
->type
->type_table
[cltype
] == idtype
;
1966 if (unlikely(!var11
)) {
1967 PRINT_ERROR("Runtime error: %s", "Assert failed");
1968 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 288);
1972 { /* Inline model#MProperty#intro_mclassdef (var_mprop) on <var_mprop:MProperty(MMethod)> */
1973 var14
= var_mprop
->attrs
[COLOR_nit__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_mprop:MProperty(MMethod)> */
1974 if (unlikely(var14
== NULL
)) {
1975 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
1976 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1928);
1980 RET_LABEL13
:(void)0;
1985 { /* Inline model#MClass#mclassdefs (var_recv) on <var_recv:MClass> */
1986 var17
= var_recv
->attrs
[COLOR_nit__model__MClass___mclassdefs
].val
; /* _mclassdefs on <var_recv:MClass> */
1987 if (unlikely(var17
== NULL
)) {
1988 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
1989 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 454);
1993 RET_LABEL16
:(void)0;
1998 var19
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_18
);
2003 var21
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_20
);
2007 var22
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_20
);
2009 var_mclassdef
= var22
;
2011 { /* Inline mmodule#MModule#in_importation (self) on <self:MModule> */
2012 var25
= self
->attrs
[COLOR_nit__mmodule__MModule___in_importation
].val
; /* _in_importation on <self:MModule> */
2013 if (unlikely(var25
== NULL
)) {
2014 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
2015 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 96);
2019 RET_LABEL24
:(void)0;
2023 var26
= poset___poset__POSetElement___greaters(var23
);
2026 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
2027 var29
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
2028 if (unlikely(var29
== NULL
)) {
2029 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2030 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
2034 RET_LABEL28
:(void)0;
2038 var30
= ((short int(*)(val
* self
, val
* p0
))((((long)var26
&3)?class_info
[((long)var26
&3)]:var26
->class)->vft
[COLOR_standard__abstract_collection__Collection__has
]))(var26
, var27
); /* has on <var26:Collection[nullable Object](Collection[MModule])>*/
2046 { /* Inline model#MClassDef#in_hierarchy (var_mclassdef) on <var_mclassdef:MClassDef> */
2047 var34
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___in_hierarchy
].val
; /* _in_hierarchy on <var_mclassdef:MClassDef> */
2049 RET_LABEL33
:(void)0;
2052 if (var32
== NULL
) {
2053 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2054 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 292);
2057 var35
= poset___poset__POSetElement___greaters(var32
);
2060 var36
= ((short int(*)(val
* self
, val
* p0
))((((long)var35
&3)?class_info
[((long)var35
&3)]:var35
->class)->vft
[COLOR_standard__abstract_collection__Collection__has
]))(var35
, var_intro
); /* has on <var35:Collection[nullable Object](Collection[MClassDef])>*/
2067 if (var_res
== NULL
) {
2068 var38
= 1; /* is null */
2070 var38
= 0; /* arg is null but recv is not */
2073 { /* Inline kernel#Object#== (var_res,((val*)NULL)) on <var_res:nullable MMethod> */
2074 var_other
= ((val
*)NULL
);
2076 { /* Inline kernel#Object#is_same_instance (var_res,var_other) on <var_res:nullable MMethod(MMethod)> */
2077 var43
= var_res
== var_other
;
2080 RET_LABEL42
:(void)0;
2085 RET_LABEL40
:(void)0;
2090 var_res
= var_mprop
;
2093 { /* Inline kernel#Object#!= (var_res,var_mprop) on <var_res:nullable MMethod(MMethod)> */
2094 var_other46
= var_mprop
;
2096 var47
= ((short int(*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res
, var_other46
); /* == on <var_res:nullable MMethod(MMethod)>*/
2101 RET_LABEL45
:(void)0;
2106 if (unlikely(varonce
==NULL
)) {
2107 var50
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String
);
2108 if (likely(varonce51
!=NULL
)) {
2111 var53
= "Fatal Error: ambigous property name \'";
2112 var54
= standard___standard__NativeString___to_s_with_length(var53
, 37l);
2116 ((struct instance_standard__NativeArray
*)var50
)->values
[0]=var52
;
2117 if (likely(varonce55
!=NULL
)) {
2120 var57
= "\'; conflict between ";
2121 var58
= standard___standard__NativeString___to_s_with_length(var57
, 20l);
2125 ((struct instance_standard__NativeArray
*)var50
)->values
[2]=var56
;
2126 if (likely(varonce59
!=NULL
)) {
2130 var62
= standard___standard__NativeString___to_s_with_length(var61
, 5l);
2134 ((struct instance_standard__NativeArray
*)var50
)->values
[4]=var60
;
2139 ((struct instance_standard__NativeArray
*)var50
)->values
[1]=var_name
;
2141 var63
= nit___nit__MProperty___nit__model_base__MEntity__full_name(var_mprop
);
2143 ((struct instance_standard__NativeArray
*)var50
)->values
[3]=var63
;
2145 var64
= nit___nit__MProperty___nit__model_base__MEntity__full_name(var_res
);
2147 ((struct instance_standard__NativeArray
*)var50
)->values
[5]=var64
;
2149 var65
= ((val
*(*)(val
* self
))(var50
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var50
); /* native_to_s on <var50:NativeArray[String]>*/
2153 standard__file___Sys___print(var49
, var65
); /* Direct call file#Sys#print on <var49:Sys>*/
2155 PRINT_ERROR("Runtime error: %s", "Aborted");
2156 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 297);
2161 BREAK_label
: (void)0;
2163 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_20
); /* Direct call array#ArrayIterator#next on <var_20:ArrayIterator[MClassDef]>*/
2169 BREAK_label66
: (void)0;
2171 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_20
); /* Direct call array#ArrayIterator#finish on <var_20:ArrayIterator[MClassDef]>*/
2174 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_8
); /* Direct call array#ArrayIterator#next on <var_8:ArrayIterator[MProperty]>*/
2180 BREAK_label67
: (void)0;
2182 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_8
); /* Direct call array#ArrayIterator#finish on <var_8:ArrayIterator[MProperty]>*/
2189 /* method model#MClassDefSorter#mmodule for (self: MClassDefSorter): MModule */
2190 val
* nit__model___nit__model__MClassDefSorter___mmodule(val
* self
) {
2191 val
* var
/* : MModule */;
2192 val
* var1
/* : MModule */;
2193 var1
= self
->attrs
[COLOR_nit__model__MClassDefSorter___mmodule
].val
; /* _mmodule on <self:MClassDefSorter> */
2194 if (unlikely(var1
== NULL
)) {
2195 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2196 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 308);
2203 /* method model#MClassDefSorter#mmodule= for (self: MClassDefSorter, MModule) */
2204 void nit__model___nit__model__MClassDefSorter___mmodule_61d(val
* self
, val
* p0
) {
2205 self
->attrs
[COLOR_nit__model__MClassDefSorter___mmodule
].val
= p0
; /* _mmodule on <self:MClassDefSorter> */
2208 /* method model#MClassDefSorter#compare for (self: MClassDefSorter, MClassDef, MClassDef): Int */
2209 long nit__model___nit__model__MClassDefSorter___standard__sorter__Comparator__compare(val
* self
, val
* p0
, val
* p1
) {
2210 long var
/* : Int */;
2211 short int var1
/* : Bool */;
2214 const struct type
* type_struct
;
2215 const char* var_class_name
;
2216 short int var2
/* : Bool */;
2219 const struct type
* type_struct5
;
2220 const char* var_class_name6
;
2221 val
* var_a
/* var a: MClassDef */;
2222 val
* var_b
/* var b: MClassDef */;
2223 val
* var7
/* : MClass */;
2224 val
* var9
/* : MClass */;
2225 val
* var_ca
/* var ca: MClass */;
2226 val
* var10
/* : MClass */;
2227 val
* var12
/* : MClass */;
2228 val
* var_cb
/* var cb: MClass */;
2229 short int var13
/* : Bool */;
2230 val
* var_other
/* var other: nullable Object */;
2231 short int var15
/* : Bool */;
2232 short int var16
/* : Bool */;
2233 val
* var17
/* : MModule */;
2234 val
* var19
/* : MModule */;
2235 val
* var20
/* : POSet[MClass] */;
2236 long var21
/* : Int */;
2237 val
* var22
/* : MModule */;
2238 val
* var24
/* : MModule */;
2239 val
* var25
/* : Model */;
2240 val
* var27
/* : Model */;
2241 val
* var28
/* : POSet[MClassDef] */;
2242 val
* var30
/* : POSet[MClassDef] */;
2243 long var31
/* : Int */;
2244 /* Covariant cast for argument 0 (a) <p0:MClassDef> isa COMPARED */
2245 /* <p0:MClassDef> isa COMPARED */
2246 type_struct
= self
->type
->resolution_table
->types
[COLOR_standard__sorter__Comparator__COMPARED
];
2247 cltype
= type_struct
->color
;
2248 idtype
= type_struct
->id
;
2249 if(cltype
>= p0
->type
->table_size
) {
2252 var1
= p0
->type
->type_table
[cltype
] == idtype
;
2254 if (unlikely(!var1
)) {
2255 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2256 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPARED", var_class_name
);
2257 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 309);
2260 /* Covariant cast for argument 1 (b) <p1:MClassDef> isa COMPARED */
2261 /* <p1:MClassDef> isa COMPARED */
2262 type_struct5
= self
->type
->resolution_table
->types
[COLOR_standard__sorter__Comparator__COMPARED
];
2263 cltype3
= type_struct5
->color
;
2264 idtype4
= type_struct5
->id
;
2265 if(cltype3
>= p1
->type
->table_size
) {
2268 var2
= p1
->type
->type_table
[cltype3
] == idtype4
;
2270 if (unlikely(!var2
)) {
2271 var_class_name6
= p1
== NULL ?
"null" : p1
->type
->name
;
2272 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPARED", var_class_name6
);
2273 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 309);
2279 { /* Inline model#MClassDef#mclass (var_a) on <var_a:MClassDef> */
2280 var9
= var_a
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_a:MClassDef> */
2281 if (unlikely(var9
== NULL
)) {
2282 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2283 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
2292 { /* Inline model#MClassDef#mclass (var_b) on <var_b:MClassDef> */
2293 var12
= var_b
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_b:MClassDef> */
2294 if (unlikely(var12
== NULL
)) {
2295 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2296 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
2300 RET_LABEL11
:(void)0;
2305 { /* Inline kernel#Object#!= (var_ca,var_cb) on <var_ca:MClass> */
2308 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>*/
2313 RET_LABEL14
:(void)0;
2318 { /* Inline model#MClassDefSorter#mmodule (self) on <self:MClassDefSorter> */
2319 var19
= self
->attrs
[COLOR_nit__model__MClassDefSorter___mmodule
].val
; /* _mmodule on <self:MClassDefSorter> */
2320 if (unlikely(var19
== NULL
)) {
2321 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2322 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 308);
2326 RET_LABEL18
:(void)0;
2330 var20
= nit__model___MModule___flatten_mclass_hierarchy(var17
);
2333 var21
= poset___poset__POSet___standard__sorter__Comparator__compare(var20
, var_ca
, var_cb
);
2340 { /* Inline model#MClassDefSorter#mmodule (self) on <self:MClassDefSorter> */
2341 var24
= self
->attrs
[COLOR_nit__model__MClassDefSorter___mmodule
].val
; /* _mmodule on <self:MClassDefSorter> */
2342 if (unlikely(var24
== NULL
)) {
2343 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2344 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 308);
2348 RET_LABEL23
:(void)0;
2352 { /* Inline mmodule#MModule#model (var22) on <var22:MModule> */
2353 var27
= var22
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <var22:MModule> */
2354 if (unlikely(var27
== NULL
)) {
2355 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
2356 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
2360 RET_LABEL26
:(void)0;
2364 { /* Inline model#Model#mclassdef_hierarchy (var25) on <var25:Model> */
2365 var30
= var25
->attrs
[COLOR_nit__model__Model___mclassdef_hierarchy
].val
; /* _mclassdef_hierarchy on <var25:Model> */
2366 if (unlikely(var30
== NULL
)) {
2367 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef_hierarchy");
2368 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 40);
2372 RET_LABEL29
:(void)0;
2376 var31
= poset___poset__POSet___standard__sorter__Comparator__compare(var28
, var_a
, var_b
);
2383 /* method model#MClassDefSorter#init for (self: MClassDefSorter) */
2384 void nit__model___nit__model__MClassDefSorter___standard__kernel__Object__init(val
* self
) {
2386 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nit__model___nit__model__MClassDefSorter___standard__kernel__Object__init
]))(self
); /* init on <self:MClassDefSorter>*/
2390 /* method model#MPropDefSorter#mmodule for (self: MPropDefSorter): MModule */
2391 val
* nit__model___nit__model__MPropDefSorter___mmodule(val
* self
) {
2392 val
* var
/* : MModule */;
2393 val
* var1
/* : MModule */;
2394 var1
= self
->attrs
[COLOR_nit__model__MPropDefSorter___mmodule
].val
; /* _mmodule on <self:MPropDefSorter> */
2395 if (unlikely(var1
== NULL
)) {
2396 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2397 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 321);
2404 /* method model#MPropDefSorter#mmodule= for (self: MPropDefSorter, MModule) */
2405 void nit__model___nit__model__MPropDefSorter___mmodule_61d(val
* self
, val
* p0
) {
2406 self
->attrs
[COLOR_nit__model__MPropDefSorter___mmodule
].val
= p0
; /* _mmodule on <self:MPropDefSorter> */
2409 /* method model#MPropDefSorter#compare for (self: MPropDefSorter, MPropDef, MPropDef): Int */
2410 long nit__model___nit__model__MPropDefSorter___standard__sorter__Comparator__compare(val
* self
, val
* p0
, val
* p1
) {
2411 long var
/* : Int */;
2412 short int var1
/* : Bool */;
2415 const struct type
* type_struct
;
2416 const char* var_class_name
;
2417 short int var2
/* : Bool */;
2420 const struct type
* type_struct5
;
2421 const char* var_class_name6
;
2422 val
* var_pa
/* var pa: MPropDef */;
2423 val
* var_pb
/* var pb: MPropDef */;
2424 val
* var7
/* : MClassDef */;
2425 val
* var9
/* : MClassDef */;
2426 val
* var_a
/* var a: MClassDef */;
2427 val
* var10
/* : MClassDef */;
2428 val
* var12
/* : MClassDef */;
2429 val
* var_b
/* var b: MClassDef */;
2430 val
* var13
/* : MClass */;
2431 val
* var15
/* : MClass */;
2432 val
* var_ca
/* var ca: MClass */;
2433 val
* var16
/* : MClass */;
2434 val
* var18
/* : MClass */;
2435 val
* var_cb
/* var cb: MClass */;
2436 short int var19
/* : Bool */;
2437 val
* var_other
/* var other: nullable Object */;
2438 short int var21
/* : Bool */;
2439 short int var22
/* : Bool */;
2440 val
* var23
/* : MModule */;
2441 val
* var25
/* : MModule */;
2442 val
* var26
/* : POSet[MClass] */;
2443 long var27
/* : Int */;
2444 val
* var28
/* : MModule */;
2445 val
* var30
/* : MModule */;
2446 val
* var31
/* : Model */;
2447 val
* var33
/* : Model */;
2448 val
* var34
/* : POSet[MClassDef] */;
2449 val
* var36
/* : POSet[MClassDef] */;
2450 long var37
/* : Int */;
2451 /* Covariant cast for argument 0 (pa) <p0:MPropDef> isa COMPARED */
2452 /* <p0:MPropDef> isa COMPARED */
2453 type_struct
= self
->type
->resolution_table
->types
[COLOR_standard__sorter__Comparator__COMPARED
];
2454 cltype
= type_struct
->color
;
2455 idtype
= type_struct
->id
;
2456 if(cltype
>= p0
->type
->table_size
) {
2459 var1
= p0
->type
->type_table
[cltype
] == idtype
;
2461 if (unlikely(!var1
)) {
2462 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2463 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPARED", var_class_name
);
2464 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 322);
2467 /* Covariant cast for argument 1 (pb) <p1:MPropDef> isa COMPARED */
2468 /* <p1:MPropDef> isa COMPARED */
2469 type_struct5
= self
->type
->resolution_table
->types
[COLOR_standard__sorter__Comparator__COMPARED
];
2470 cltype3
= type_struct5
->color
;
2471 idtype4
= type_struct5
->id
;
2472 if(cltype3
>= p1
->type
->table_size
) {
2475 var2
= p1
->type
->type_table
[cltype3
] == idtype4
;
2477 if (unlikely(!var2
)) {
2478 var_class_name6
= p1
== NULL ?
"null" : p1
->type
->name
;
2479 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPARED", var_class_name6
);
2480 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 322);
2486 { /* Inline model#MPropDef#mclassdef (var_pa) on <var_pa:MPropDef> */
2487 var9
= var_pa
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_pa:MPropDef> */
2488 if (unlikely(var9
== NULL
)) {
2489 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2490 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
2499 { /* Inline model#MPropDef#mclassdef (var_pb) on <var_pb:MPropDef> */
2500 var12
= var_pb
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_pb:MPropDef> */
2501 if (unlikely(var12
== NULL
)) {
2502 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2503 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
2507 RET_LABEL11
:(void)0;
2512 { /* Inline model#MClassDef#mclass (var_a) on <var_a:MClassDef> */
2513 var15
= var_a
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_a:MClassDef> */
2514 if (unlikely(var15
== NULL
)) {
2515 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2516 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
2520 RET_LABEL14
:(void)0;
2525 { /* Inline model#MClassDef#mclass (var_b) on <var_b:MClassDef> */
2526 var18
= var_b
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_b:MClassDef> */
2527 if (unlikely(var18
== NULL
)) {
2528 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2529 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
2533 RET_LABEL17
:(void)0;
2538 { /* Inline kernel#Object#!= (var_ca,var_cb) on <var_ca:MClass> */
2541 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>*/
2546 RET_LABEL20
:(void)0;
2551 { /* Inline model#MPropDefSorter#mmodule (self) on <self:MPropDefSorter> */
2552 var25
= self
->attrs
[COLOR_nit__model__MPropDefSorter___mmodule
].val
; /* _mmodule on <self:MPropDefSorter> */
2553 if (unlikely(var25
== NULL
)) {
2554 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2555 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 321);
2559 RET_LABEL24
:(void)0;
2563 var26
= nit__model___MModule___flatten_mclass_hierarchy(var23
);
2566 var27
= poset___poset__POSet___standard__sorter__Comparator__compare(var26
, var_ca
, var_cb
);
2573 { /* Inline model#MPropDefSorter#mmodule (self) on <self:MPropDefSorter> */
2574 var30
= self
->attrs
[COLOR_nit__model__MPropDefSorter___mmodule
].val
; /* _mmodule on <self:MPropDefSorter> */
2575 if (unlikely(var30
== NULL
)) {
2576 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2577 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 321);
2581 RET_LABEL29
:(void)0;
2585 { /* Inline mmodule#MModule#model (var28) on <var28:MModule> */
2586 var33
= var28
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <var28:MModule> */
2587 if (unlikely(var33
== NULL
)) {
2588 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
2589 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
2593 RET_LABEL32
:(void)0;
2597 { /* Inline model#Model#mclassdef_hierarchy (var31) on <var31:Model> */
2598 var36
= var31
->attrs
[COLOR_nit__model__Model___mclassdef_hierarchy
].val
; /* _mclassdef_hierarchy on <var31:Model> */
2599 if (unlikely(var36
== NULL
)) {
2600 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef_hierarchy");
2601 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 40);
2605 RET_LABEL35
:(void)0;
2609 var37
= poset___poset__POSet___standard__sorter__Comparator__compare(var34
, var_a
, var_b
);
2616 /* method model#MPropDefSorter#init for (self: MPropDefSorter) */
2617 void nit__model___nit__model__MPropDefSorter___standard__kernel__Object__init(val
* self
) {
2619 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nit__model___nit__model__MPropDefSorter___standard__kernel__Object__init
]))(self
); /* init on <self:MPropDefSorter>*/
2623 /* method model#MClass#intro_mmodule for (self: MClass): MModule */
2624 val
* nit___nit__MClass___intro_mmodule(val
* self
) {
2625 val
* var
/* : MModule */;
2626 val
* var1
/* : MModule */;
2627 var1
= self
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <self:MClass> */
2628 if (unlikely(var1
== NULL
)) {
2629 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
2630 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 357);
2637 /* method model#MClass#intro_mmodule= for (self: MClass, MModule) */
2638 void nit___nit__MClass___intro_mmodule_61d(val
* self
, val
* p0
) {
2639 self
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
= p0
; /* _intro_mmodule on <self:MClass> */
2642 /* method model#MClass#name for (self: MClass): String */
2643 val
* nit___nit__MClass___nit__model_base__MEntity__name(val
* self
) {
2644 val
* var
/* : String */;
2645 val
* var1
/* : String */;
2646 var1
= self
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <self:MClass> */
2647 if (unlikely(var1
== NULL
)) {
2648 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2649 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
2656 /* method model#MClass#name= for (self: MClass, String) */
2657 void nit___nit__MClass___name_61d(val
* self
, val
* p0
) {
2658 self
->attrs
[COLOR_nit__model__MClass___name
].val
= p0
; /* _name on <self:MClass> */
2661 /* method model#MClass#full_name for (self: MClass): String */
2662 val
* nit___nit__MClass___nit__model_base__MEntity__full_name(val
* self
) {
2663 val
* var
/* : String */;
2664 short int var1
/* : Bool */;
2665 val
* var2
/* : String */;
2666 val
* var3
/* : String */;
2667 val
* var5
/* : NativeArray[String] */;
2668 static val
* varonce
;
2669 static val
* varonce6
;
2670 val
* var7
/* : String */;
2671 char* var8
/* : NativeString */;
2672 val
* var9
/* : FlatString */;
2673 val
* var10
/* : MModule */;
2674 val
* var12
/* : MModule */;
2675 val
* var13
/* : MVisibility */;
2676 val
* var15
/* : MVisibility */;
2677 val
* var16
/* : String */;
2678 val
* var17
/* : String */;
2679 val
* var19
/* : String */;
2680 val
* var20
/* : String */;
2681 var1
= self
->attrs
[COLOR_nit__model__MClass___full_name
].val
!= NULL
; /* _full_name on <self:MClass> */
2683 var2
= self
->attrs
[COLOR_nit__model__MClass___full_name
].val
; /* _full_name on <self:MClass> */
2684 if (unlikely(var2
== NULL
)) {
2685 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _full_name");
2686 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 366);
2691 if (unlikely(varonce
==NULL
)) {
2692 var5
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2693 if (likely(varonce6
!=NULL
)) {
2697 var9
= standard___standard__NativeString___to_s_with_length(var8
, 2l);
2701 ((struct instance_standard__NativeArray
*)var5
)->values
[1]=var7
;
2707 { /* Inline model#MClass#intro_mmodule (self) on <self:MClass> */
2708 var12
= self
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <self:MClass> */
2709 if (unlikely(var12
== NULL
)) {
2710 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
2711 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 357);
2715 RET_LABEL11
:(void)0;
2719 { /* Inline model#MClass#visibility (self) on <self:MClass> */
2720 var15
= self
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <self:MClass> */
2721 if (unlikely(var15
== NULL
)) {
2722 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
2723 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 440);
2727 RET_LABEL14
:(void)0;
2731 var16
= nit___nit__MModule___namespace_for(var10
, var13
);
2733 ((struct instance_standard__NativeArray
*)var5
)->values
[0]=var16
;
2735 { /* Inline model#MClass#name (self) on <self:MClass> */
2736 var19
= self
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <self:MClass> */
2737 if (unlikely(var19
== NULL
)) {
2738 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2739 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
2743 RET_LABEL18
:(void)0;
2746 ((struct instance_standard__NativeArray
*)var5
)->values
[2]=var17
;
2748 var20
= ((val
*(*)(val
* self
))(var5
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var5
); /* native_to_s on <var5:NativeArray[String]>*/
2755 self
->attrs
[COLOR_nit__model__MClass___full_name
].val
= var3
; /* _full_name on <self:MClass> */
2762 /* method model#MClass#c_name for (self: MClass): String */
2763 val
* nit___nit__MClass___nit__model_base__MEntity__c_name(val
* self
) {
2764 val
* var
/* : String */;
2765 short int var1
/* : Bool */;
2766 val
* var2
/* : String */;
2767 val
* var3
/* : String */;
2768 val
* var5
/* : NativeArray[String] */;
2769 static val
* varonce
;
2770 static val
* varonce6
;
2771 val
* var7
/* : String */;
2772 char* var8
/* : NativeString */;
2773 val
* var9
/* : FlatString */;
2774 val
* var10
/* : MModule */;
2775 val
* var12
/* : MModule */;
2776 val
* var13
/* : MVisibility */;
2777 val
* var15
/* : MVisibility */;
2778 val
* var16
/* : String */;
2779 val
* var17
/* : String */;
2780 val
* var19
/* : String */;
2781 val
* var20
/* : String */;
2782 val
* var21
/* : String */;
2783 var1
= self
->attrs
[COLOR_nit__model__MClass___c_name
].val
!= NULL
; /* _c_name on <self:MClass> */
2785 var2
= self
->attrs
[COLOR_nit__model__MClass___c_name
].val
; /* _c_name on <self:MClass> */
2786 if (unlikely(var2
== NULL
)) {
2787 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _c_name");
2788 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 374);
2793 if (unlikely(varonce
==NULL
)) {
2794 var5
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2795 if (likely(varonce6
!=NULL
)) {
2799 var9
= standard___standard__NativeString___to_s_with_length(var8
, 2l);
2803 ((struct instance_standard__NativeArray
*)var5
)->values
[1]=var7
;
2809 { /* Inline model#MClass#intro_mmodule (self) on <self:MClass> */
2810 var12
= self
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <self:MClass> */
2811 if (unlikely(var12
== NULL
)) {
2812 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
2813 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 357);
2817 RET_LABEL11
:(void)0;
2821 { /* Inline model#MClass#visibility (self) on <self:MClass> */
2822 var15
= self
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <self:MClass> */
2823 if (unlikely(var15
== NULL
)) {
2824 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
2825 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 440);
2829 RET_LABEL14
:(void)0;
2833 var16
= nit___nit__MModule___c_namespace_for(var10
, var13
);
2835 ((struct instance_standard__NativeArray
*)var5
)->values
[0]=var16
;
2837 { /* Inline model#MClass#name (self) on <self:MClass> */
2838 var19
= self
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <self:MClass> */
2839 if (unlikely(var19
== NULL
)) {
2840 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2841 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
2845 RET_LABEL18
:(void)0;
2849 var20
= standard___standard__Text___to_cmangle(var17
);
2851 ((struct instance_standard__NativeArray
*)var5
)->values
[2]=var20
;
2853 var21
= ((val
*(*)(val
* self
))(var5
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var5
); /* native_to_s on <var5:NativeArray[String]>*/
2860 self
->attrs
[COLOR_nit__model__MClass___c_name
].val
= var3
; /* _c_name on <self:MClass> */
2867 /* method model#MClass#arity for (self: MClass): Int */
2868 long nit___nit__MClass___arity(val
* self
) {
2869 long var
/* : Int */;
2870 long var1
/* : Int */;
2871 var1
= self
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <self:MClass> */
2876 /* method model#MClass#arity= for (self: MClass, Int) */
2877 void nit___nit__MClass___arity_61d(val
* self
, long p0
) {
2878 self
->attrs
[COLOR_nit__model__MClass___arity
].l
= p0
; /* _arity on <self:MClass> */
2881 /* method model#MClass#mparameters for (self: MClass): Array[MParameterType] */
2882 val
* nit___nit__MClass___mparameters(val
* self
) {
2883 val
* var
/* : Array[MParameterType] */;
2884 val
* var1
/* : Array[MParameterType] */;
2885 var1
= self
->attrs
[COLOR_nit__model__MClass___mparameters
].val
; /* _mparameters on <self:MClass> */
2886 if (unlikely(var1
== NULL
)) {
2887 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
2888 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 382);
2895 /* method model#MClass#mparameters= for (self: MClass, Array[MParameterType]) */
2896 void nit___nit__MClass___mparameters_61d(val
* self
, val
* p0
) {
2897 self
->attrs
[COLOR_nit__model__MClass___mparameters
].val
= p0
; /* _mparameters on <self:MClass> */
2900 /* method model#MClass#signature_to_s for (self: MClass): String */
2901 val
* nit___nit__MClass___signature_to_s(val
* self
) {
2902 val
* var
/* : String */;
2903 long var1
/* : Int */;
2904 long var3
/* : Int */;
2905 short int var4
/* : Bool */;
2906 short int var6
/* : Bool */;
2907 val
* var7
/* : String */;
2908 val
* var9
/* : String */;
2909 val
* var10
/* : FlatBuffer */;
2910 val
* var_res
/* var res: FlatBuffer */;
2911 val
* var12
/* : String */;
2912 val
* var14
/* : String */;
2913 static val
* varonce
;
2914 val
* var15
/* : String */;
2915 char* var16
/* : NativeString */;
2916 val
* var17
/* : FlatString */;
2917 long var_i
/* var i: Int */;
2918 long var18
/* : Int */;
2919 long var20
/* : Int */;
2920 long var_
/* var : Int */;
2921 short int var21
/* : Bool */;
2922 short int var23
/* : Bool */;
2925 const char* var_class_name
;
2926 short int var24
/* : Bool */;
2927 short int var25
/* : Bool */;
2928 short int var27
/* : Bool */;
2931 const char* var_class_name30
;
2932 short int var31
/* : Bool */;
2933 static val
* varonce32
;
2934 val
* var33
/* : String */;
2935 char* var34
/* : NativeString */;
2936 val
* var35
/* : FlatString */;
2937 val
* var36
/* : Array[MParameterType] */;
2938 val
* var38
/* : Array[MParameterType] */;
2939 val
* var39
/* : nullable Object */;
2940 val
* var40
/* : String */;
2941 val
* var42
/* : String */;
2942 static val
* varonce43
;
2943 val
* var44
/* : String */;
2944 char* var45
/* : NativeString */;
2945 val
* var46
/* : FlatString */;
2946 val
* var47
/* : MClassDef */;
2947 val
* var49
/* : MClassDef */;
2948 val
* var50
/* : MClassType */;
2949 val
* var52
/* : MClassType */;
2950 val
* var53
/* : Array[MType] */;
2951 val
* var54
/* : nullable Object */;
2952 val
* var55
/* : String */;
2953 long var56
/* : Int */;
2954 static val
* varonce57
;
2955 val
* var58
/* : String */;
2956 char* var59
/* : NativeString */;
2957 val
* var60
/* : FlatString */;
2958 val
* var61
/* : String */;
2960 { /* Inline model#MClass#arity (self) on <self:MClass> */
2961 var3
= self
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <self:MClass> */
2967 { /* Inline kernel#Int#== (var1,0l) on <var1:Int> */
2976 { /* Inline model#MClass#name (self) on <self:MClass> */
2977 var9
= self
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <self:MClass> */
2978 if (unlikely(var9
== NULL
)) {
2979 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2980 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
2991 var10
= NEW_standard__FlatBuffer(&type_standard__FlatBuffer
);
2993 { /* Inline string#FlatBuffer#init (var10) on <var10:FlatBuffer> */
2995 ((void(*)(val
* self
))(var10
->class->vft
[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init
]))(var10
); /* init on <var10:FlatBuffer>*/
2997 RET_LABEL11
:(void)0;
3002 { /* Inline model#MClass#name (self) on <self:MClass> */
3003 var14
= self
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <self:MClass> */
3004 if (unlikely(var14
== NULL
)) {
3005 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3006 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
3010 RET_LABEL13
:(void)0;
3014 standard___standard__FlatBuffer___Buffer__append(var_res
, var12
); /* Direct call string#FlatBuffer#append on <var_res:FlatBuffer>*/
3016 if (likely(varonce
!=NULL
)) {
3020 var17
= standard___standard__NativeString___to_s_with_length(var16
, 1l);
3025 standard___standard__FlatBuffer___Buffer__append(var_res
, var15
); /* Direct call string#FlatBuffer#append on <var_res:FlatBuffer>*/
3029 { /* Inline model#MClass#arity (self) on <self:MClass> */
3030 var20
= self
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <self:MClass> */
3032 RET_LABEL19
:(void)0;
3038 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
3039 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
3040 /* <var_:Int> isa OTHER */
3041 var23
= 1; /* easy <var_:Int> isa OTHER*/
3042 if (unlikely(!var23
)) {
3043 var_class_name
= type_standard__Int
.name
;
3044 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3045 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
3048 var24
= var_i
< var_
;
3051 RET_LABEL22
:(void)0;
3056 { /* Inline kernel#Int#> (var_i,0l) on <var_i:Int> */
3057 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
3058 /* <0l:Int> isa OTHER */
3059 var27
= 1; /* easy <0l:Int> isa OTHER*/
3060 if (unlikely(!var27
)) {
3061 var_class_name30
= type_standard__Int
.name
;
3062 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30
);
3063 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 536);
3069 RET_LABEL26
:(void)0;
3073 if (likely(varonce32
!=NULL
)) {
3077 var35
= standard___standard__NativeString___to_s_with_length(var34
, 2l);
3082 standard___standard__FlatBuffer___Buffer__append(var_res
, var33
); /* Direct call string#FlatBuffer#append on <var_res:FlatBuffer>*/
3087 { /* Inline model#MClass#mparameters (self) on <self:MClass> */
3088 var38
= self
->attrs
[COLOR_nit__model__MClass___mparameters
].val
; /* _mparameters on <self:MClass> */
3089 if (unlikely(var38
== NULL
)) {
3090 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
3091 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 382);
3095 RET_LABEL37
:(void)0;
3099 var39
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var36
, var_i
);
3102 { /* Inline model#MParameterType#name (var39) on <var39:nullable Object(MParameterType)> */
3103 var42
= var39
->attrs
[COLOR_nit__model__MParameterType___name
].val
; /* _name on <var39:nullable Object(MParameterType)> */
3104 if (unlikely(var42
== NULL
)) {
3105 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3106 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1481);
3110 RET_LABEL41
:(void)0;
3114 standard___standard__FlatBuffer___Buffer__append(var_res
, var40
); /* Direct call string#FlatBuffer#append on <var_res:FlatBuffer>*/
3116 if (likely(varonce43
!=NULL
)) {
3120 var46
= standard___standard__NativeString___to_s_with_length(var45
, 2l);
3125 standard___standard__FlatBuffer___Buffer__append(var_res
, var44
); /* Direct call string#FlatBuffer#append on <var_res:FlatBuffer>*/
3128 { /* Inline model#MClass#intro (self) on <self:MClass> */
3129 var49
= self
->attrs
[COLOR_nit__model__MClass___intro
].val
; /* _intro on <self:MClass> */
3130 if (unlikely(var49
== NULL
)) {
3131 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3132 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 460);
3136 RET_LABEL48
:(void)0;
3140 { /* Inline model#MClassDef#bound_mtype (var47) on <var47:MClassDef> */
3141 var52
= var47
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var47:MClassDef> */
3142 if (unlikely(var52
== NULL
)) {
3143 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3144 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
3148 RET_LABEL51
:(void)0;
3152 var53
= ((val
*(*)(val
* self
))(var50
->class->vft
[COLOR_nit__model__MClassType__arguments
]))(var50
); /* arguments on <var50:MClassType>*/
3155 var54
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var53
, var_i
);
3158 var55
= ((val
*(*)(val
* self
))(var54
->class->vft
[COLOR_standard__string__Object__to_s
]))(var54
); /* to_s on <var54:nullable Object(MType)>*/
3161 standard___standard__FlatBuffer___Buffer__append(var_res
, var55
); /* Direct call string#FlatBuffer#append on <var_res:FlatBuffer>*/
3164 var56
= standard___standard__Int___Discrete__successor(var_i
, 1l);
3171 BREAK_label
: (void)0;
3172 if (likely(varonce57
!=NULL
)) {
3176 var60
= standard___standard__NativeString___to_s_with_length(var59
, 1l);
3181 standard___standard__FlatBuffer___Buffer__append(var_res
, var58
); /* Direct call string#FlatBuffer#append on <var_res:FlatBuffer>*/
3184 var61
= standard___standard__FlatBuffer___Object__to_s(var_res
);
3191 /* method model#MClass#setup_parameter_names for (self: MClass, nullable Array[String]) */
3192 void nit___nit__MClass___setup_parameter_names(val
* self
, val
* p0
) {
3193 val
* var_parameter_names
/* var parameter_names: nullable Array[String] */;
3194 short int var
/* : Bool */;
3195 short int var1
/* : Bool */;
3196 long var3
/* : Int */;
3197 long var5
/* : Int */;
3198 long var7
/* : Int */;
3199 long var9
/* : Int */;
3200 short int var10
/* : Bool */;
3201 short int var12
/* : Bool */;
3204 const char* var_class_name
;
3205 short int var13
/* : Bool */;
3206 short int var14
/* : Bool */;
3207 short int var15
/* : Bool */;
3208 val
* var_other
/* var other: nullable Object */;
3209 short int var17
/* : Bool */;
3210 short int var18
/* : Bool */;
3211 val
* var19
/* : Array[MParameterType] */;
3212 val
* var_mparametertypes
/* var mparametertypes: Array[MParameterType] */;
3213 long var_i
/* var i: Int */;
3214 long var20
/* : Int */;
3215 long var22
/* : Int */;
3216 long var_
/* var : Int */;
3217 short int var23
/* : Bool */;
3218 short int var25
/* : Bool */;
3221 const char* var_class_name28
;
3222 short int var29
/* : Bool */;
3223 val
* var30
/* : MParameterType */;
3224 val
* var31
/* : nullable Object */;
3225 val
* var_mparametertype
/* var mparametertype: MParameterType */;
3226 long var32
/* : Int */;
3227 val
* var34
/* : MGenericType */;
3228 val
* var_mclass_type
/* var mclass_type: MGenericType */;
3229 val
* var36
/* : HashMap[Array[MType], MGenericType] */;
3230 val
* var38
/* : HashMap[Array[MType], MGenericType] */;
3231 val
* var39
/* : MClassType */;
3232 var_parameter_names
= p0
;
3233 if (var_parameter_names
== NULL
) {
3234 var
= 1; /* is null */
3236 var
= 0; /* arg is null but recv is not */
3239 var1
= standard___standard__Array___standard__kernel__Object___61d_61d(var_parameter_names
, ((val
*)NULL
));
3244 { /* Inline model#MClass#arity= (self,0l) on <self:MClass> */
3245 self
->attrs
[COLOR_nit__model__MClass___arity
].l
= 0l; /* _arity on <self:MClass> */
3251 { /* Inline array#AbstractArrayRead#length (var_parameter_names) on <var_parameter_names:nullable Array[String](Array[String])> */
3252 var5
= var_parameter_names
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_parameter_names:nullable Array[String](Array[String])> */
3258 { /* Inline model#MClass#arity= (self,var3) on <self:MClass> */
3259 self
->attrs
[COLOR_nit__model__MClass___arity
].l
= var3
; /* _arity on <self:MClass> */
3265 { /* Inline model#MClass#arity (self) on <self:MClass> */
3266 var9
= self
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <self:MClass> */
3272 { /* Inline kernel#Int#> (var7,0l) on <var7:Int> */
3273 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
3274 /* <0l:Int> isa OTHER */
3275 var12
= 1; /* easy <0l:Int> isa OTHER*/
3276 if (unlikely(!var12
)) {
3277 var_class_name
= type_standard__Int
.name
;
3278 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3279 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 536);
3285 RET_LABEL11
:(void)0;
3289 if (var_parameter_names
== NULL
) {
3290 var14
= 0; /* is null */
3292 var14
= 1; /* arg is null and recv is not */
3295 { /* Inline kernel#Object#!= (var_parameter_names,((val*)NULL)) on <var_parameter_names:nullable Array[String]> */
3296 var_other
= ((val
*)NULL
);
3298 var17
= ((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])>*/
3303 RET_LABEL16
:(void)0;
3307 if (unlikely(!var14
)) {
3308 PRINT_ERROR("Runtime error: %s", "Assert failed");
3309 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 421);
3312 var19
= NEW_standard__Array(&type_standard__Array__nit__MParameterType
);
3314 standard___standard__Array___standard__kernel__Object__init(var19
); /* Direct call array#Array#init on <var19:Array[MParameterType]>*/
3316 var_mparametertypes
= var19
;
3319 { /* Inline model#MClass#arity (self) on <self:MClass> */
3320 var22
= self
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <self:MClass> */
3322 RET_LABEL21
:(void)0;
3328 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
3329 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
3330 /* <var_:Int> isa OTHER */
3331 var25
= 1; /* easy <var_:Int> isa OTHER*/
3332 if (unlikely(!var25
)) {
3333 var_class_name28
= type_standard__Int
.name
;
3334 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28
);
3335 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
3338 var29
= var_i
< var_
;
3341 RET_LABEL24
:(void)0;
3345 var30
= NEW_nit__MParameterType(&type_nit__MParameterType
);
3347 var31
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_parameter_names
, var_i
);
3350 ((void(*)(val
* self
, val
* p0
))(var30
->class->vft
[COLOR_nit__model__MParameterType__mclass_61d
]))(var30
, self
); /* mclass= on <var30:MParameterType>*/
3353 ((void(*)(val
* self
, long p0
))(var30
->class->vft
[COLOR_nit__model__MParameterType__rank_61d
]))(var30
, var_i
); /* rank= on <var30:MParameterType>*/
3356 ((void(*)(val
* self
, val
* p0
))(var30
->class->vft
[COLOR_nit__model__MParameterType__name_61d
]))(var30
, var31
); /* name= on <var30:MParameterType>*/
3359 ((void(*)(val
* self
))(var30
->class->vft
[COLOR_standard__kernel__Object__init
]))(var30
); /* init on <var30:MParameterType>*/
3361 var_mparametertype
= var30
;
3363 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_mparametertypes
, var_mparametertype
); /* Direct call array#Array#add on <var_mparametertypes:Array[MParameterType]>*/
3366 var32
= standard___standard__Int___Discrete__successor(var_i
, 1l);
3373 BREAK_label
: (void)0;
3375 { /* Inline model#MClass#mparameters= (self,var_mparametertypes) on <self:MClass> */
3376 self
->attrs
[COLOR_nit__model__MClass___mparameters
].val
= var_mparametertypes
; /* _mparameters on <self:MClass> */
3377 RET_LABEL33
:(void)0;
3380 var34
= NEW_nit__MGenericType(&type_nit__MGenericType
);
3382 ((void(*)(val
* self
, val
* p0
))(var34
->class->vft
[COLOR_nit__model__MClassType__mclass_61d
]))(var34
, self
); /* mclass= on <var34:MGenericType>*/
3385 ((void(*)(val
* self
, val
* p0
))(var34
->class->vft
[COLOR_nit__model__MClassType__arguments_61d
]))(var34
, var_mparametertypes
); /* arguments= on <var34:MGenericType>*/
3388 ((void(*)(val
* self
))(var34
->class->vft
[COLOR_standard__kernel__Object__init
]))(var34
); /* init on <var34:MGenericType>*/
3390 var_mclass_type
= var34
;
3392 { /* Inline model#MClass#mclass_type= (self,var_mclass_type) on <self:MClass> */
3393 self
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
= var_mclass_type
; /* _mclass_type on <self:MClass> */
3394 RET_LABEL35
:(void)0;
3398 { /* Inline model#MClass#get_mtype_cache (self) on <self:MClass> */
3399 var38
= self
->attrs
[COLOR_nit__model__MClass___get_mtype_cache
].val
; /* _get_mtype_cache on <self:MClass> */
3400 if (unlikely(var38
== NULL
)) {
3401 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _get_mtype_cache");
3402 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 516);
3406 RET_LABEL37
:(void)0;
3410 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var36
, var_mparametertypes
, var_mclass_type
); /* Direct call hash_collection#HashMap#[]= on <var36:HashMap[Array[MType], MGenericType]>*/
3413 var39
= NEW_nit__MClassType(&type_nit__MClassType
);
3415 ((void(*)(val
* self
, val
* p0
))(var39
->class->vft
[COLOR_nit__model__MClassType__mclass_61d
]))(var39
, self
); /* mclass= on <var39:MClassType>*/
3418 ((void(*)(val
* self
))(var39
->class->vft
[COLOR_standard__kernel__Object__init
]))(var39
); /* init on <var39:MClassType>*/
3421 { /* Inline model#MClass#mclass_type= (self,var39) on <self:MClass> */
3422 self
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
= var39
; /* _mclass_type on <self:MClass> */
3423 RET_LABEL40
:(void)0;
3429 /* method model#MClass#kind for (self: MClass): MClassKind */
3430 val
* nit___nit__MClass___kind(val
* self
) {
3431 val
* var
/* : MClassKind */;
3432 val
* var1
/* : MClassKind */;
3433 var1
= self
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <self:MClass> */
3434 if (unlikely(var1
== NULL
)) {
3435 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3436 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 436);
3443 /* method model#MClass#kind= for (self: MClass, MClassKind) */
3444 void nit___nit__MClass___kind_61d(val
* self
, val
* p0
) {
3445 self
->attrs
[COLOR_nit__model__MClass___kind
].val
= p0
; /* _kind on <self:MClass> */
3448 /* method model#MClass#visibility for (self: MClass): MVisibility */
3449 val
* nit___nit__MClass___visibility(val
* self
) {
3450 val
* var
/* : MVisibility */;
3451 val
* var1
/* : MVisibility */;
3452 var1
= self
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <self:MClass> */
3453 if (unlikely(var1
== NULL
)) {
3454 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
3455 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 440);
3462 /* method model#MClass#visibility= for (self: MClass, MVisibility) */
3463 void nit___nit__MClass___visibility_61d(val
* self
, val
* p0
) {
3464 self
->attrs
[COLOR_nit__model__MClass___visibility
].val
= p0
; /* _visibility on <self:MClass> */
3467 /* method model#MClass#init for (self: MClass) */
3468 void nit___nit__MClass___standard__kernel__Object__init(val
* self
) {
3469 val
* var
/* : MModule */;
3470 val
* var2
/* : MModule */;
3471 val
* var3
/* : Array[MClass] */;
3472 val
* var5
/* : Array[MClass] */;
3473 val
* var6
/* : MModule */;
3474 val
* var8
/* : MModule */;
3475 val
* var9
/* : Model */;
3476 val
* var11
/* : Model */;
3477 val
* var_model
/* var model: Model */;
3478 val
* var12
/* : MultiHashMap[String, MClass] */;
3479 val
* var14
/* : MultiHashMap[String, MClass] */;
3480 val
* var15
/* : String */;
3481 val
* var17
/* : String */;
3482 val
* var18
/* : Array[MClass] */;
3483 val
* var20
/* : Array[MClass] */;
3485 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nit___nit__MClass___standard__kernel__Object__init
]))(self
); /* init on <self:MClass>*/
3488 { /* Inline model#MClass#intro_mmodule (self) on <self:MClass> */
3489 var2
= self
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <self:MClass> */
3490 if (unlikely(var2
== NULL
)) {
3491 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
3492 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 357);
3500 { /* Inline model#MModule#intro_mclasses (var) on <var:MModule> */
3501 var5
= var
->attrs
[COLOR_nit__model__MModule___intro_mclasses
].val
; /* _intro_mclasses on <var:MModule> */
3502 if (unlikely(var5
== NULL
)) {
3503 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclasses");
3504 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 128);
3512 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var3
, self
); /* Direct call array#Array#add on <var3:Array[MClass]>*/
3515 { /* Inline model#MClass#intro_mmodule (self) on <self:MClass> */
3516 var8
= self
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <self:MClass> */
3517 if (unlikely(var8
== NULL
)) {
3518 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
3519 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 357);
3527 { /* Inline mmodule#MModule#model (var6) on <var6:MModule> */
3528 var11
= var6
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <var6:MModule> */
3529 if (unlikely(var11
== NULL
)) {
3530 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
3531 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
3535 RET_LABEL10
:(void)0;
3540 { /* Inline model#Model#mclasses_by_name (var_model) on <var_model:Model> */
3541 var14
= var_model
->attrs
[COLOR_nit__model__Model___mclasses_by_name
].val
; /* _mclasses_by_name on <var_model:Model> */
3542 if (unlikely(var14
== NULL
)) {
3543 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclasses_by_name");
3544 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 66);
3548 RET_LABEL13
:(void)0;
3552 { /* Inline model#MClass#name (self) on <self:MClass> */
3553 var17
= self
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <self:MClass> */
3554 if (unlikely(var17
== NULL
)) {
3555 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3556 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
3560 RET_LABEL16
:(void)0;
3564 more_collections___more_collections__MultiHashMap___add_one(var12
, var15
, self
); /* Direct call more_collections#MultiHashMap#add_one on <var12:MultiHashMap[String, MClass]>*/
3567 { /* Inline model#Model#mclasses (var_model) on <var_model:Model> */
3568 var20
= var_model
->attrs
[COLOR_nit__model__Model___mclasses
].val
; /* _mclasses on <var_model:Model> */
3569 if (unlikely(var20
== NULL
)) {
3570 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclasses");
3571 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 34);
3575 RET_LABEL19
:(void)0;
3579 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var18
, self
); /* Direct call array#Array#add on <var18:Array[MClass]>*/
3583 /* method model#MClass#model for (self: MClass): Model */
3584 val
* nit___nit__MClass___nit__model_base__MEntity__model(val
* self
) {
3585 val
* var
/* : Model */;
3586 val
* var1
/* : MModule */;
3587 val
* var3
/* : MModule */;
3588 val
* var4
/* : Model */;
3589 val
* var6
/* : Model */;
3591 { /* Inline model#MClass#intro_mmodule (self) on <self:MClass> */
3592 var3
= self
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <self:MClass> */
3593 if (unlikely(var3
== NULL
)) {
3594 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
3595 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 357);
3603 { /* Inline mmodule#MModule#model (var1) on <var1:MModule> */
3604 var6
= var1
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <var1:MModule> */
3605 if (unlikely(var6
== NULL
)) {
3606 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
3607 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
3619 /* method model#MClass#mclassdefs for (self: MClass): Array[MClassDef] */
3620 val
* nit___nit__MClass___mclassdefs(val
* self
) {
3621 val
* var
/* : Array[MClassDef] */;
3622 val
* var1
/* : Array[MClassDef] */;
3623 var1
= self
->attrs
[COLOR_nit__model__MClass___mclassdefs
].val
; /* _mclassdefs on <self:MClass> */
3624 if (unlikely(var1
== NULL
)) {
3625 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
3626 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 454);
3633 /* method model#MClass#to_s for (self: MClass): String */
3634 val
* nit___nit__MClass___standard__string__Object__to_s(val
* self
) {
3635 val
* var
/* : String */;
3636 val
* var1
/* : String */;
3637 val
* var3
/* : String */;
3639 { /* Inline model#MClass#name (self) on <self:MClass> */
3640 var3
= self
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <self:MClass> */
3641 if (unlikely(var3
== NULL
)) {
3642 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3643 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
3655 /* method model#MClass#intro for (self: MClass): MClassDef */
3656 val
* nit___nit__MClass___intro(val
* self
) {
3657 val
* var
/* : MClassDef */;
3658 val
* var1
/* : MClassDef */;
3659 var1
= self
->attrs
[COLOR_nit__model__MClass___intro
].val
; /* _intro on <self:MClass> */
3660 if (unlikely(var1
== NULL
)) {
3661 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3662 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 460);
3669 /* method model#MClass#intro= for (self: MClass, MClassDef) */
3670 void nit___nit__MClass___intro_61d(val
* self
, val
* p0
) {
3671 self
->attrs
[COLOR_nit__model__MClass___intro
].val
= p0
; /* _intro on <self:MClass> */
3674 /* method model#MClass#try_intro for (self: MClass): nullable MClassDef */
3675 val
* nit___nit__MClass___try_intro(val
* self
) {
3676 val
* var
/* : nullable MClassDef */;
3677 short int var1
/* : Bool */;
3678 val
* var2
/* : MClassDef */;
3679 var1
= self
->attrs
[COLOR_nit__model__MClass___intro
].val
!= NULL
; /* _intro on <self:MClass> */
3681 var2
= self
->attrs
[COLOR_nit__model__MClass___intro
].val
; /* _intro on <self:MClass> */
3682 if (unlikely(var2
== NULL
)) {
3683 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3684 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 472);
3696 /* method model#MClass#in_hierarchy for (self: MClass, MModule): POSetElement[MClass] */
3697 val
* nit___nit__MClass___in_hierarchy(val
* self
, val
* p0
) {
3698 val
* var
/* : POSetElement[MClass] */;
3699 val
* var_mmodule
/* var mmodule: MModule */;
3700 val
* var1
/* : POSet[MClass] */;
3701 val
* var2
/* : POSetElement[nullable Object] */;
3704 var1
= nit__model___MModule___flatten_mclass_hierarchy(var_mmodule
);
3707 var2
= poset___poset__POSet____91d_93d(var1
, self
);
3714 /* method model#MClass#mclass_type for (self: MClass): MClassType */
3715 val
* nit___nit__MClass___mclass_type(val
* self
) {
3716 val
* var
/* : MClassType */;
3717 val
* var1
/* : MClassType */;
3718 var1
= self
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <self:MClass> */
3719 if (unlikely(var1
== NULL
)) {
3720 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
3721 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
3728 /* method model#MClass#mclass_type= for (self: MClass, MClassType) */
3729 void nit___nit__MClass___mclass_type_61d(val
* self
, val
* p0
) {
3730 self
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
= p0
; /* _mclass_type on <self:MClass> */
3733 /* method model#MClass#get_mtype for (self: MClass, Array[MType]): MClassType */
3734 val
* nit___nit__MClass___get_mtype(val
* self
, val
* p0
) {
3735 val
* var
/* : MClassType */;
3736 val
* var_mtype_arguments
/* var mtype_arguments: Array[MType] */;
3737 long var1
/* : Int */;
3738 long var3
/* : Int */;
3739 long var4
/* : Int */;
3740 long var6
/* : Int */;
3741 short int var7
/* : Bool */;
3742 short int var9
/* : Bool */;
3743 long var10
/* : Int */;
3744 long var12
/* : Int */;
3745 short int var13
/* : Bool */;
3746 short int var15
/* : Bool */;
3747 val
* var16
/* : MClassType */;
3748 val
* var18
/* : MClassType */;
3749 val
* var19
/* : HashMap[Array[MType], MGenericType] */;
3750 val
* var21
/* : HashMap[Array[MType], MGenericType] */;
3751 val
* var22
/* : nullable Object */;
3752 val
* var_res
/* var res: nullable MGenericType */;
3753 short int var23
/* : Bool */;
3754 short int var24
/* : Bool */;
3755 val
* var_other
/* var other: nullable Object */;
3756 short int var26
/* : Bool */;
3757 short int var27
/* : Bool */;
3758 val
* var28
/* : MGenericType */;
3759 val
* var29
/* : HashMap[Array[MType], MGenericType] */;
3760 val
* var31
/* : HashMap[Array[MType], MGenericType] */;
3761 val
* var32
/* : Array[nullable Object] */;
3762 var_mtype_arguments
= p0
;
3764 { /* Inline array#AbstractArrayRead#length (var_mtype_arguments) on <var_mtype_arguments:Array[MType]> */
3765 var3
= var_mtype_arguments
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_mtype_arguments:Array[MType]> */
3771 { /* Inline model#MClass#arity (self) on <self:MClass> */
3772 var6
= self
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <self:MClass> */
3778 { /* Inline kernel#Int#== (var1,var4) on <var1:Int> */
3779 var9
= var1
== var4
;
3785 if (unlikely(!var7
)) {
3786 PRINT_ERROR("Runtime error: %s", "Assert failed");
3787 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 507);
3791 { /* Inline model#MClass#arity (self) on <self:MClass> */
3792 var12
= self
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <self:MClass> */
3794 RET_LABEL11
:(void)0;
3798 { /* Inline kernel#Int#== (var10,0l) on <var10:Int> */
3799 var15
= var10
== 0l;
3802 RET_LABEL14
:(void)0;
3807 { /* Inline model#MClass#mclass_type (self) on <self:MClass> */
3808 var18
= self
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <self:MClass> */
3809 if (unlikely(var18
== NULL
)) {
3810 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
3811 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
3815 RET_LABEL17
:(void)0;
3823 { /* Inline model#MClass#get_mtype_cache (self) on <self:MClass> */
3824 var21
= self
->attrs
[COLOR_nit__model__MClass___get_mtype_cache
].val
; /* _get_mtype_cache on <self:MClass> */
3825 if (unlikely(var21
== NULL
)) {
3826 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _get_mtype_cache");
3827 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 516);
3831 RET_LABEL20
:(void)0;
3835 var22
= standard___standard__HashMap___standard__abstract_collection__MapRead__get_or_null(var19
, var_mtype_arguments
);
3838 if (var_res
== NULL
) {
3839 var23
= 0; /* is null */
3841 var23
= 1; /* arg is null and recv is not */
3844 { /* Inline kernel#Object#!= (var_res,((val*)NULL)) on <var_res:nullable MGenericType> */
3845 var_other
= ((val
*)NULL
);
3847 var26
= ((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)>*/
3852 RET_LABEL25
:(void)0;
3861 var28
= NEW_nit__MGenericType(&type_nit__MGenericType
);
3863 ((void(*)(val
* self
, val
* p0
))(var28
->class->vft
[COLOR_nit__model__MClassType__mclass_61d
]))(var28
, self
); /* mclass= on <var28:MGenericType>*/
3866 ((void(*)(val
* self
, val
* p0
))(var28
->class->vft
[COLOR_nit__model__MClassType__arguments_61d
]))(var28
, var_mtype_arguments
); /* arguments= on <var28:MGenericType>*/
3869 ((void(*)(val
* self
))(var28
->class->vft
[COLOR_standard__kernel__Object__init
]))(var28
); /* init on <var28:MGenericType>*/
3873 { /* Inline model#MClass#get_mtype_cache (self) on <self:MClass> */
3874 var31
= self
->attrs
[COLOR_nit__model__MClass___get_mtype_cache
].val
; /* _get_mtype_cache on <self:MClass> */
3875 if (unlikely(var31
== NULL
)) {
3876 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _get_mtype_cache");
3877 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 516);
3881 RET_LABEL30
:(void)0;
3885 var32
= standard__array___Collection___to_a(var_mtype_arguments
);
3888 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var29
, var32
, var_res
); /* Direct call hash_collection#HashMap#[]= on <var29:HashMap[Array[MType], MGenericType]>*/
3895 /* method model#MClass#get_mtype_cache for (self: MClass): HashMap[Array[MType], MGenericType] */
3896 val
* nit___nit__MClass___get_mtype_cache(val
* self
) {
3897 val
* var
/* : HashMap[Array[MType], MGenericType] */;
3898 val
* var1
/* : HashMap[Array[MType], MGenericType] */;
3899 var1
= self
->attrs
[COLOR_nit__model__MClass___get_mtype_cache
].val
; /* _get_mtype_cache on <self:MClass> */
3900 if (unlikely(var1
== NULL
)) {
3901 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _get_mtype_cache");
3902 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 516);
3909 /* method model#MClass#has_new_factory for (self: MClass): Bool */
3910 short int nit___nit__MClass___has_new_factory(val
* self
) {
3911 short int var
/* : Bool */;
3912 short int var1
/* : Bool */;
3913 var1
= self
->attrs
[COLOR_nit__model__MClass___has_new_factory
].s
; /* _has_new_factory on <self:MClass> */
3918 /* method model#MClass#has_new_factory= for (self: MClass, Bool) */
3919 void nit___nit__MClass___has_new_factory_61d(val
* self
, short int p0
) {
3920 self
->attrs
[COLOR_nit__model__MClass___has_new_factory
].s
= p0
; /* _has_new_factory on <self:MClass> */
3923 /* method model#MClassDef#mmodule for (self: MClassDef): MModule */
3924 val
* nit___nit__MClassDef___mmodule(val
* self
) {
3925 val
* var
/* : MModule */;
3926 val
* var1
/* : MModule */;
3927 var1
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
3928 if (unlikely(var1
== NULL
)) {
3929 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3930 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
3937 /* method model#MClassDef#mmodule= for (self: MClassDef, MModule) */
3938 void nit___nit__MClassDef___mmodule_61d(val
* self
, val
* p0
) {
3939 self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
= p0
; /* _mmodule on <self:MClassDef> */
3942 /* method model#MClassDef#mclass for (self: MClassDef): MClass */
3943 val
* nit___nit__MClassDef___mclass(val
* self
) {
3944 val
* var
/* : MClass */;
3945 val
* var1
/* : MClass */;
3946 var1
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
3947 if (unlikely(var1
== NULL
)) {
3948 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3949 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
3956 /* method model#MClassDef#mclass= for (self: MClassDef, MClass) */
3957 void nit___nit__MClassDef___mclass_61d(val
* self
, val
* p0
) {
3958 self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
= p0
; /* _mclass on <self:MClassDef> */
3961 /* method model#MClassDef#bound_mtype for (self: MClassDef): MClassType */
3962 val
* nit___nit__MClassDef___bound_mtype(val
* self
) {
3963 val
* var
/* : MClassType */;
3964 val
* var1
/* : MClassType */;
3965 var1
= self
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <self:MClassDef> */
3966 if (unlikely(var1
== NULL
)) {
3967 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3968 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
3975 /* method model#MClassDef#bound_mtype= for (self: MClassDef, MClassType) */
3976 void nit___nit__MClassDef___bound_mtype_61d(val
* self
, val
* p0
) {
3977 self
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
= p0
; /* _bound_mtype on <self:MClassDef> */
3980 /* method model#MClassDef#location for (self: MClassDef): Location */
3981 val
* nit___nit__MClassDef___location(val
* self
) {
3982 val
* var
/* : Location */;
3983 val
* var1
/* : Location */;
3984 var1
= self
->attrs
[COLOR_nit__model__MClassDef___location
].val
; /* _location on <self:MClassDef> */
3985 if (unlikely(var1
== NULL
)) {
3986 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
3987 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 568);
3994 /* method model#MClassDef#location= for (self: MClassDef, Location) */
3995 void nit___nit__MClassDef___location_61d(val
* self
, val
* p0
) {
3996 self
->attrs
[COLOR_nit__model__MClassDef___location
].val
= p0
; /* _location on <self:MClassDef> */
3999 /* method model#MClassDef#to_s for (self: MClassDef): String */
4000 val
* nit___nit__MClassDef___standard__string__Object__to_s(val
* self
) {
4001 val
* var
/* : String */;
4002 val
* var1
/* : String */;
4003 var1
= self
->attrs
[COLOR_nit__model__MClassDef___to_s
].val
; /* _to_s on <self:MClassDef> */
4004 if (unlikely(var1
== NULL
)) {
4005 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s");
4006 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 571);
4013 /* method model#MClassDef#to_s= for (self: MClassDef, String) */
4014 void nit___nit__MClassDef___to_s_61d(val
* self
, val
* p0
) {
4015 self
->attrs
[COLOR_nit__model__MClassDef___to_s
].val
= p0
; /* _to_s on <self:MClassDef> */
4018 /* method model#MClassDef#init for (self: MClassDef) */
4019 void nit___nit__MClassDef___standard__kernel__Object__init(val
* self
) {
4020 val
* var
/* : MClassType */;
4021 val
* var2
/* : MClassType */;
4022 val
* var3
/* : MClass */;
4023 val
* var5
/* : MClass */;
4024 val
* var7
/* : MModule */;
4025 val
* var9
/* : MModule */;
4026 val
* var10
/* : Array[MClassDef] */;
4027 val
* var12
/* : Array[MClassDef] */;
4028 val
* var13
/* : MClass */;
4029 val
* var15
/* : MClass */;
4030 val
* var16
/* : Array[MClassDef] */;
4031 val
* var18
/* : Array[MClassDef] */;
4032 val
* var19
/* : MClass */;
4033 val
* var21
/* : MClass */;
4034 val
* var22
/* : MModule */;
4035 val
* var24
/* : MModule */;
4036 val
* var25
/* : MModule */;
4037 val
* var27
/* : MModule */;
4038 short int var28
/* : Bool */;
4039 val
* var_other
/* var other: nullable Object */;
4040 short int var30
/* : Bool */;
4041 short int var32
/* : Bool */;
4042 val
* var33
/* : MClass */;
4043 val
* var35
/* : MClass */;
4044 short int var36
/* : Bool */;
4045 short int var37
/* : Bool */;
4046 val
* var38
/* : MClass */;
4047 val
* var40
/* : MClass */;
4048 val
* var42
/* : NativeArray[String] */;
4049 static val
* varonce
;
4050 static val
* varonce43
;
4051 val
* var44
/* : String */;
4052 char* var45
/* : NativeString */;
4053 val
* var46
/* : FlatString */;
4054 val
* var47
/* : MModule */;
4055 val
* var49
/* : MModule */;
4056 val
* var50
/* : String */;
4057 val
* var51
/* : MClass */;
4058 val
* var53
/* : MClass */;
4059 val
* var54
/* : String */;
4060 val
* var55
/* : String */;
4062 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nit___nit__MClassDef___standard__kernel__Object__init
]))(self
); /* init on <self:MClassDef>*/
4065 { /* Inline model#MClassDef#bound_mtype (self) on <self:MClassDef> */
4066 var2
= self
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <self:MClassDef> */
4067 if (unlikely(var2
== NULL
)) {
4068 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
4069 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
4077 { /* Inline model#MClassType#mclass (var) on <var:MClassType> */
4078 var5
= var
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var:MClassType> */
4079 if (unlikely(var5
== NULL
)) {
4080 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4081 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
4089 { /* Inline model#MClassDef#mclass= (self,var3) on <self:MClassDef> */
4090 self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
= var3
; /* _mclass on <self:MClassDef> */
4095 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4096 var9
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4097 if (unlikely(var9
== NULL
)) {
4098 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4099 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
4107 { /* Inline model#MModule#mclassdefs (var7) on <var7:MModule> */
4108 var12
= var7
->attrs
[COLOR_nit__model__MModule___mclassdefs
].val
; /* _mclassdefs on <var7:MModule> */
4109 if (unlikely(var12
== NULL
)) {
4110 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
4111 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 131);
4115 RET_LABEL11
:(void)0;
4119 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var10
, self
); /* Direct call array#Array#add on <var10:Array[MClassDef]>*/
4122 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4123 var15
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4124 if (unlikely(var15
== NULL
)) {
4125 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4126 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
4130 RET_LABEL14
:(void)0;
4134 { /* Inline model#MClass#mclassdefs (var13) on <var13:MClass> */
4135 var18
= var13
->attrs
[COLOR_nit__model__MClass___mclassdefs
].val
; /* _mclassdefs on <var13:MClass> */
4136 if (unlikely(var18
== NULL
)) {
4137 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
4138 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 454);
4142 RET_LABEL17
:(void)0;
4146 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var16
, self
); /* Direct call array#Array#add on <var16:Array[MClassDef]>*/
4149 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4150 var21
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4151 if (unlikely(var21
== NULL
)) {
4152 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4153 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
4157 RET_LABEL20
:(void)0;
4161 { /* Inline model#MClass#intro_mmodule (var19) on <var19:MClass> */
4162 var24
= var19
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var19:MClass> */
4163 if (unlikely(var24
== NULL
)) {
4164 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
4165 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 357);
4169 RET_LABEL23
:(void)0;
4173 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4174 var27
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4175 if (unlikely(var27
== NULL
)) {
4176 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4177 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
4181 RET_LABEL26
:(void)0;
4185 { /* Inline kernel#Object#== (var22,var25) on <var22:MModule> */
4188 { /* Inline kernel#Object#is_same_instance (var22,var_other) on <var22:MModule> */
4189 var32
= var22
== var_other
;
4192 RET_LABEL31
:(void)0;
4197 RET_LABEL29
:(void)0;
4202 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4203 var35
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4204 if (unlikely(var35
== NULL
)) {
4205 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4206 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
4210 RET_LABEL34
:(void)0;
4213 var36
= var33
->attrs
[COLOR_nit__model__MClass___intro
].val
!= NULL
; /* _intro on <var33:MClass> */
4215 if (unlikely(!var37
)) {
4216 PRINT_ERROR("Runtime error: %s", "Assert failed");
4217 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 581);
4221 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4222 var40
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4223 if (unlikely(var40
== NULL
)) {
4224 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4225 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
4229 RET_LABEL39
:(void)0;
4233 { /* Inline model#MClass#intro= (var38,self) on <var38:MClass> */
4234 var38
->attrs
[COLOR_nit__model__MClass___intro
].val
= self
; /* _intro on <var38:MClass> */
4235 RET_LABEL41
:(void)0;
4240 if (unlikely(varonce
==NULL
)) {
4241 var42
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
4242 if (likely(varonce43
!=NULL
)) {
4246 var46
= standard___standard__NativeString___to_s_with_length(var45
, 1l);
4250 ((struct instance_standard__NativeArray
*)var42
)->values
[1]=var44
;
4256 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4257 var49
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4258 if (unlikely(var49
== NULL
)) {
4259 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4260 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
4264 RET_LABEL48
:(void)0;
4268 var50
= ((val
*(*)(val
* self
))(var47
->class->vft
[COLOR_standard__string__Object__to_s
]))(var47
); /* to_s on <var47:MModule>*/
4270 ((struct instance_standard__NativeArray
*)var42
)->values
[0]=var50
;
4272 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4273 var53
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4274 if (unlikely(var53
== NULL
)) {
4275 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4276 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
4280 RET_LABEL52
:(void)0;
4284 var54
= ((val
*(*)(val
* self
))(var51
->class->vft
[COLOR_standard__string__Object__to_s
]))(var51
); /* to_s on <var51:MClass>*/
4286 ((struct instance_standard__NativeArray
*)var42
)->values
[2]=var54
;
4288 var55
= ((val
*(*)(val
* self
))(var42
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var42
); /* native_to_s on <var42:NativeArray[String]>*/
4292 { /* Inline model#MClassDef#to_s= (self,var55) on <self:MClassDef> */
4293 self
->attrs
[COLOR_nit__model__MClassDef___to_s
].val
= var55
; /* _to_s on <self:MClassDef> */
4294 RET_LABEL56
:(void)0;
4299 /* method model#MClassDef#name for (self: MClassDef): String */
4300 val
* nit___nit__MClassDef___nit__model_base__MEntity__name(val
* self
) {
4301 val
* var
/* : String */;
4302 val
* var1
/* : MClass */;
4303 val
* var3
/* : MClass */;
4304 val
* var4
/* : String */;
4305 val
* var6
/* : String */;
4307 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4308 var3
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4309 if (unlikely(var3
== NULL
)) {
4310 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4311 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
4319 { /* Inline model#MClass#name (var1) on <var1:MClass> */
4320 var6
= var1
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var1:MClass> */
4321 if (unlikely(var6
== NULL
)) {
4322 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4323 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
4335 /* method model#MClassDef#full_name for (self: MClassDef): String */
4336 val
* nit___nit__MClassDef___nit__model_base__MEntity__full_name(val
* self
) {
4337 val
* var
/* : String */;
4338 short int var1
/* : Bool */;
4339 val
* var2
/* : String */;
4340 val
* var3
/* : String */;
4341 short int var5
/* : Bool */;
4342 val
* var6
/* : NativeArray[String] */;
4343 static val
* varonce
;
4344 static val
* varonce7
;
4345 val
* var8
/* : String */;
4346 char* var9
/* : NativeString */;
4347 val
* var10
/* : FlatString */;
4348 val
* var11
/* : MModule */;
4349 val
* var13
/* : MModule */;
4350 val
* var14
/* : MClass */;
4351 val
* var16
/* : MClass */;
4352 val
* var17
/* : MVisibility */;
4353 val
* var19
/* : MVisibility */;
4354 val
* var20
/* : String */;
4355 val
* var21
/* : MClass */;
4356 val
* var23
/* : MClass */;
4357 val
* var24
/* : String */;
4358 val
* var26
/* : String */;
4359 val
* var27
/* : String */;
4360 val
* var28
/* : MClass */;
4361 val
* var30
/* : MClass */;
4362 val
* var31
/* : MModule */;
4363 val
* var33
/* : MModule */;
4364 val
* var34
/* : nullable MProject */;
4365 val
* var35
/* : MModule */;
4366 val
* var37
/* : MModule */;
4367 val
* var38
/* : nullable MProject */;
4368 short int var39
/* : Bool */;
4369 short int var40
/* : Bool */;
4370 val
* var_other
/* var other: nullable Object */;
4371 short int var42
/* : Bool */;
4372 short int var43
/* : Bool */;
4373 val
* var45
/* : NativeArray[String] */;
4374 static val
* varonce44
;
4375 static val
* varonce46
;
4376 val
* var47
/* : String */;
4377 char* var48
/* : NativeString */;
4378 val
* var49
/* : FlatString */;
4379 val
* var50
/* : MModule */;
4380 val
* var52
/* : MModule */;
4381 val
* var53
/* : String */;
4382 val
* var54
/* : MClass */;
4383 val
* var56
/* : MClass */;
4384 val
* var57
/* : String */;
4385 val
* var58
/* : String */;
4386 val
* var59
/* : MClass */;
4387 val
* var61
/* : MClass */;
4388 val
* var62
/* : MVisibility */;
4389 val
* var64
/* : MVisibility */;
4390 val
* var65
/* : Sys */;
4391 val
* var66
/* : MVisibility */;
4392 short int var67
/* : Bool */;
4393 val
* var69
/* : NativeArray[String] */;
4394 static val
* varonce68
;
4395 static val
* varonce70
;
4396 val
* var71
/* : String */;
4397 char* var72
/* : NativeString */;
4398 val
* var73
/* : FlatString */;
4399 val
* var74
/* : MModule */;
4400 val
* var76
/* : MModule */;
4401 val
* var77
/* : String */;
4402 val
* var78
/* : MClass */;
4403 val
* var80
/* : MClass */;
4404 val
* var81
/* : String */;
4405 val
* var83
/* : String */;
4406 val
* var84
/* : String */;
4407 val
* var86
/* : NativeArray[String] */;
4408 static val
* varonce85
;
4409 static val
* varonce87
;
4410 val
* var88
/* : String */;
4411 char* var89
/* : NativeString */;
4412 val
* var90
/* : FlatString */;
4413 static val
* varonce91
;
4414 val
* var92
/* : String */;
4415 char* var93
/* : NativeString */;
4416 val
* var94
/* : FlatString */;
4417 val
* var95
/* : MModule */;
4418 val
* var97
/* : MModule */;
4419 val
* var98
/* : String */;
4420 val
* var99
/* : MClass */;
4421 val
* var101
/* : MClass */;
4422 val
* var102
/* : MModule */;
4423 val
* var104
/* : MModule */;
4424 val
* var105
/* : String */;
4425 val
* var107
/* : String */;
4426 val
* var108
/* : MClass */;
4427 val
* var110
/* : MClass */;
4428 val
* var111
/* : String */;
4429 val
* var113
/* : String */;
4430 val
* var114
/* : String */;
4431 var1
= self
->attrs
[COLOR_nit__model__MClassDef___full_name
].val
!= NULL
; /* _full_name on <self:MClassDef> */
4433 var2
= self
->attrs
[COLOR_nit__model__MClassDef___full_name
].val
; /* _full_name on <self:MClassDef> */
4434 if (unlikely(var2
== NULL
)) {
4435 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _full_name");
4436 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 590);
4442 var5
= nit___nit__MClassDef___is_intro(self
);
4445 if (unlikely(varonce
==NULL
)) {
4446 var6
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
4447 if (likely(varonce7
!=NULL
)) {
4451 var10
= standard___standard__NativeString___to_s_with_length(var9
, 1l);
4455 ((struct instance_standard__NativeArray
*)var6
)->values
[1]=var8
;
4461 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4462 var13
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4463 if (unlikely(var13
== NULL
)) {
4464 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4465 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
4469 RET_LABEL12
:(void)0;
4473 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4474 var16
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4475 if (unlikely(var16
== NULL
)) {
4476 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4477 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
4481 RET_LABEL15
:(void)0;
4485 { /* Inline model#MClass#visibility (var14) on <var14:MClass> */
4486 var19
= var14
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <var14:MClass> */
4487 if (unlikely(var19
== NULL
)) {
4488 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
4489 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 440);
4493 RET_LABEL18
:(void)0;
4497 var20
= nit___nit__MModule___namespace_for(var11
, var17
);
4499 ((struct instance_standard__NativeArray
*)var6
)->values
[0]=var20
;
4501 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4502 var23
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4503 if (unlikely(var23
== NULL
)) {
4504 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4505 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
4509 RET_LABEL22
:(void)0;
4513 { /* Inline model#MClass#name (var21) on <var21:MClass> */
4514 var26
= var21
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var21:MClass> */
4515 if (unlikely(var26
== NULL
)) {
4516 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4517 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
4521 RET_LABEL25
:(void)0;
4524 ((struct instance_standard__NativeArray
*)var6
)->values
[2]=var24
;
4526 var27
= ((val
*(*)(val
* self
))(var6
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var6
); /* native_to_s on <var6:NativeArray[String]>*/
4533 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4534 var30
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4535 if (unlikely(var30
== NULL
)) {
4536 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4537 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
4541 RET_LABEL29
:(void)0;
4545 { /* Inline model#MClass#intro_mmodule (var28) on <var28:MClass> */
4546 var33
= var28
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var28:MClass> */
4547 if (unlikely(var33
== NULL
)) {
4548 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
4549 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 357);
4553 RET_LABEL32
:(void)0;
4557 var34
= nit___nit__MModule___mproject(var31
);
4560 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4561 var37
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4562 if (unlikely(var37
== NULL
)) {
4563 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4564 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
4568 RET_LABEL36
:(void)0;
4572 var38
= nit___nit__MModule___mproject(var35
);
4574 if (var34
== NULL
) {
4575 var39
= (var38
!= NULL
);
4577 { /* Inline kernel#Object#!= (var34,var38) on <var34:nullable MProject> */
4580 var42
= ((short int(*)(val
* self
, val
* p0
))(var34
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var34
, var_other
); /* == on <var34:nullable MProject(MProject)>*/
4585 RET_LABEL41
:(void)0;
4590 if (unlikely(varonce44
==NULL
)) {
4591 var45
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
4592 if (likely(varonce46
!=NULL
)) {
4596 var49
= standard___standard__NativeString___to_s_with_length(var48
, 1l);
4600 ((struct instance_standard__NativeArray
*)var45
)->values
[1]=var47
;
4606 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4607 var52
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4608 if (unlikely(var52
== NULL
)) {
4609 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4610 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
4614 RET_LABEL51
:(void)0;
4618 var53
= nit___nit__MModule___nit__model_base__MEntity__full_name(var50
);
4620 ((struct instance_standard__NativeArray
*)var45
)->values
[0]=var53
;
4622 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4623 var56
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4624 if (unlikely(var56
== NULL
)) {
4625 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4626 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
4630 RET_LABEL55
:(void)0;
4634 var57
= nit___nit__MClass___nit__model_base__MEntity__full_name(var54
);
4636 ((struct instance_standard__NativeArray
*)var45
)->values
[2]=var57
;
4638 var58
= ((val
*(*)(val
* self
))(var45
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var45
); /* native_to_s on <var45:NativeArray[String]>*/
4645 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4646 var61
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4647 if (unlikely(var61
== NULL
)) {
4648 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4649 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
4653 RET_LABEL60
:(void)0;
4657 { /* Inline model#MClass#visibility (var59) on <var59:MClass> */
4658 var64
= var59
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <var59:MClass> */
4659 if (unlikely(var64
== NULL
)) {
4660 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
4661 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 440);
4665 RET_LABEL63
:(void)0;
4670 var66
= nit__model_base___standard__Sys___private_visibility(var65
);
4673 var67
= standard___standard__Comparable____62d(var62
, var66
);
4676 if (unlikely(varonce68
==NULL
)) {
4677 var69
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
4678 if (likely(varonce70
!=NULL
)) {
4682 var73
= standard___standard__NativeString___to_s_with_length(var72
, 1l);
4686 ((struct instance_standard__NativeArray
*)var69
)->values
[1]=var71
;
4692 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4693 var76
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4694 if (unlikely(var76
== NULL
)) {
4695 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4696 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
4700 RET_LABEL75
:(void)0;
4704 var77
= nit___nit__MModule___nit__model_base__MEntity__full_name(var74
);
4706 ((struct instance_standard__NativeArray
*)var69
)->values
[0]=var77
;
4708 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4709 var80
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4710 if (unlikely(var80
== NULL
)) {
4711 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4712 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
4716 RET_LABEL79
:(void)0;
4720 { /* Inline model#MClass#name (var78) on <var78:MClass> */
4721 var83
= var78
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var78:MClass> */
4722 if (unlikely(var83
== NULL
)) {
4723 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4724 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
4728 RET_LABEL82
:(void)0;
4731 ((struct instance_standard__NativeArray
*)var69
)->values
[2]=var81
;
4733 var84
= ((val
*(*)(val
* self
))(var69
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var69
); /* native_to_s on <var69:NativeArray[String]>*/
4739 if (unlikely(varonce85
==NULL
)) {
4740 var86
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
4741 if (likely(varonce87
!=NULL
)) {
4745 var90
= standard___standard__NativeString___to_s_with_length(var89
, 3l);
4749 ((struct instance_standard__NativeArray
*)var86
)->values
[1]=var88
;
4750 if (likely(varonce91
!=NULL
)) {
4754 var94
= standard___standard__NativeString___to_s_with_length(var93
, 2l);
4758 ((struct instance_standard__NativeArray
*)var86
)->values
[3]=var92
;
4764 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4765 var97
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4766 if (unlikely(var97
== NULL
)) {
4767 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4768 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
4772 RET_LABEL96
:(void)0;
4776 var98
= nit___nit__MModule___nit__model_base__MEntity__full_name(var95
);
4778 ((struct instance_standard__NativeArray
*)var86
)->values
[0]=var98
;
4780 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4781 var101
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4782 if (unlikely(var101
== NULL
)) {
4783 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4784 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
4788 RET_LABEL100
:(void)0;
4792 { /* Inline model#MClass#intro_mmodule (var99) on <var99:MClass> */
4793 var104
= var99
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var99:MClass> */
4794 if (unlikely(var104
== NULL
)) {
4795 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
4796 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 357);
4800 RET_LABEL103
:(void)0;
4804 { /* Inline mmodule#MModule#name (var102) on <var102:MModule> */
4805 var107
= var102
->attrs
[COLOR_nit__mmodule__MModule___name
].val
; /* _name on <var102:MModule> */
4806 if (unlikely(var107
== NULL
)) {
4807 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4808 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 87);
4812 RET_LABEL106
:(void)0;
4815 ((struct instance_standard__NativeArray
*)var86
)->values
[2]=var105
;
4817 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4818 var110
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4819 if (unlikely(var110
== NULL
)) {
4820 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4821 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
4825 RET_LABEL109
:(void)0;
4829 { /* Inline model#MClass#name (var108) on <var108:MClass> */
4830 var113
= var108
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var108:MClass> */
4831 if (unlikely(var113
== NULL
)) {
4832 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4833 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
4837 RET_LABEL112
:(void)0;
4840 ((struct instance_standard__NativeArray
*)var86
)->values
[4]=var111
;
4842 var114
= ((val
*(*)(val
* self
))(var86
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var86
); /* native_to_s on <var86:NativeArray[String]>*/
4852 self
->attrs
[COLOR_nit__model__MClassDef___full_name
].val
= var3
; /* _full_name on <self:MClassDef> */
4859 /* method model#MClassDef#c_name for (self: MClassDef): String */
4860 val
* nit___nit__MClassDef___nit__model_base__MEntity__c_name(val
* self
) {
4861 val
* var
/* : String */;
4862 short int var1
/* : Bool */;
4863 val
* var2
/* : String */;
4864 val
* var3
/* : String */;
4865 short int var5
/* : Bool */;
4866 val
* var6
/* : NativeArray[String] */;
4867 static val
* varonce
;
4868 static val
* varonce7
;
4869 val
* var8
/* : String */;
4870 char* var9
/* : NativeString */;
4871 val
* var10
/* : FlatString */;
4872 val
* var11
/* : MModule */;
4873 val
* var13
/* : MModule */;
4874 val
* var14
/* : MClass */;
4875 val
* var16
/* : MClass */;
4876 val
* var17
/* : MVisibility */;
4877 val
* var19
/* : MVisibility */;
4878 val
* var20
/* : String */;
4879 val
* var21
/* : MClass */;
4880 val
* var23
/* : MClass */;
4881 val
* var24
/* : String */;
4882 val
* var25
/* : String */;
4883 short int var26
/* : Bool */;
4884 val
* var27
/* : MClass */;
4885 val
* var29
/* : MClass */;
4886 val
* var30
/* : MModule */;
4887 val
* var32
/* : MModule */;
4888 val
* var33
/* : nullable MProject */;
4889 val
* var34
/* : MModule */;
4890 val
* var36
/* : MModule */;
4891 val
* var37
/* : nullable MProject */;
4892 short int var38
/* : Bool */;
4893 short int var39
/* : Bool */;
4894 val
* var_other
/* var other: nullable Object */;
4895 short int var41
/* : Bool */;
4896 short int var43
/* : Bool */;
4897 short int var_
/* var : Bool */;
4898 val
* var44
/* : MClass */;
4899 val
* var46
/* : MClass */;
4900 val
* var47
/* : MVisibility */;
4901 val
* var49
/* : MVisibility */;
4902 val
* var50
/* : Sys */;
4903 val
* var51
/* : MVisibility */;
4904 short int var52
/* : Bool */;
4905 val
* var54
/* : NativeArray[String] */;
4906 static val
* varonce53
;
4907 static val
* varonce55
;
4908 val
* var56
/* : String */;
4909 char* var57
/* : NativeString */;
4910 val
* var58
/* : FlatString */;
4911 val
* var59
/* : MModule */;
4912 val
* var61
/* : MModule */;
4913 val
* var62
/* : String */;
4914 val
* var63
/* : MClass */;
4915 val
* var65
/* : MClass */;
4916 val
* var66
/* : String */;
4917 val
* var68
/* : String */;
4918 val
* var69
/* : String */;
4919 val
* var70
/* : String */;
4920 val
* var72
/* : NativeArray[String] */;
4921 static val
* varonce71
;
4922 static val
* varonce73
;
4923 val
* var74
/* : String */;
4924 char* var75
/* : NativeString */;
4925 val
* var76
/* : FlatString */;
4926 val
* var77
/* : MModule */;
4927 val
* var79
/* : MModule */;
4928 val
* var80
/* : String */;
4929 val
* var81
/* : MClass */;
4930 val
* var83
/* : MClass */;
4931 val
* var84
/* : String */;
4932 val
* var85
/* : String */;
4933 var1
= self
->attrs
[COLOR_nit__model__MClassDef___c_name
].val
!= NULL
; /* _c_name on <self:MClassDef> */
4935 var2
= self
->attrs
[COLOR_nit__model__MClassDef___c_name
].val
; /* _c_name on <self:MClassDef> */
4936 if (unlikely(var2
== NULL
)) {
4937 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _c_name");
4938 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 615);
4944 var5
= nit___nit__MClassDef___is_intro(self
);
4947 if (unlikely(varonce
==NULL
)) {
4948 var6
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
4949 if (likely(varonce7
!=NULL
)) {
4953 var10
= standard___standard__NativeString___to_s_with_length(var9
, 3l);
4957 ((struct instance_standard__NativeArray
*)var6
)->values
[1]=var8
;
4963 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4964 var13
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4965 if (unlikely(var13
== NULL
)) {
4966 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4967 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
4971 RET_LABEL12
:(void)0;
4975 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4976 var16
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4977 if (unlikely(var16
== NULL
)) {
4978 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4979 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
4983 RET_LABEL15
:(void)0;
4987 { /* Inline model#MClass#visibility (var14) on <var14:MClass> */
4988 var19
= var14
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <var14:MClass> */
4989 if (unlikely(var19
== NULL
)) {
4990 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
4991 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 440);
4995 RET_LABEL18
:(void)0;
4999 var20
= nit___nit__MModule___c_namespace_for(var11
, var17
);
5001 ((struct instance_standard__NativeArray
*)var6
)->values
[0]=var20
;
5003 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
5004 var23
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
5005 if (unlikely(var23
== NULL
)) {
5006 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5007 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
5011 RET_LABEL22
:(void)0;
5015 var24
= nit___nit__MClass___nit__model_base__MEntity__c_name(var21
);
5017 ((struct instance_standard__NativeArray
*)var6
)->values
[2]=var24
;
5019 var25
= ((val
*(*)(val
* self
))(var6
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var6
); /* native_to_s on <var6:NativeArray[String]>*/
5026 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
5027 var29
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
5028 if (unlikely(var29
== NULL
)) {
5029 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5030 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
5034 RET_LABEL28
:(void)0;
5038 { /* Inline model#MClass#intro_mmodule (var27) on <var27:MClass> */
5039 var32
= var27
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var27:MClass> */
5040 if (unlikely(var32
== NULL
)) {
5041 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
5042 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 357);
5046 RET_LABEL31
:(void)0;
5050 var33
= nit___nit__MModule___mproject(var30
);
5053 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
5054 var36
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
5055 if (unlikely(var36
== NULL
)) {
5056 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5057 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
5061 RET_LABEL35
:(void)0;
5065 var37
= nit___nit__MModule___mproject(var34
);
5067 if (var33
== NULL
) {
5068 var38
= (var37
== NULL
);
5070 { /* Inline kernel#Object#== (var33,var37) on <var33:nullable MProject> */
5073 { /* Inline kernel#Object#is_same_instance (var33,var_other) on <var33:nullable MProject(MProject)> */
5074 var43
= var33
== var_other
;
5077 RET_LABEL42
:(void)0;
5082 RET_LABEL40
:(void)0;
5089 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
5090 var46
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
5091 if (unlikely(var46
== NULL
)) {
5092 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5093 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
5097 RET_LABEL45
:(void)0;
5101 { /* Inline model#MClass#visibility (var44) on <var44:MClass> */
5102 var49
= var44
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <var44:MClass> */
5103 if (unlikely(var49
== NULL
)) {
5104 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
5105 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 440);
5109 RET_LABEL48
:(void)0;
5114 var51
= nit__model_base___standard__Sys___private_visibility(var50
);
5117 var52
= standard___standard__Comparable____62d(var47
, var51
);
5124 if (unlikely(varonce53
==NULL
)) {
5125 var54
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
5126 if (likely(varonce55
!=NULL
)) {
5130 var58
= standard___standard__NativeString___to_s_with_length(var57
, 3l);
5134 ((struct instance_standard__NativeArray
*)var54
)->values
[1]=var56
;
5140 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
5141 var61
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
5142 if (unlikely(var61
== NULL
)) {
5143 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5144 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
5148 RET_LABEL60
:(void)0;
5152 var62
= nit___nit__MModule___nit__model_base__MEntity__c_name(var59
);
5154 ((struct instance_standard__NativeArray
*)var54
)->values
[0]=var62
;
5156 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
5157 var65
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
5158 if (unlikely(var65
== NULL
)) {
5159 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5160 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
5164 RET_LABEL64
:(void)0;
5168 { /* Inline model#MClass#name (var63) on <var63:MClass> */
5169 var68
= var63
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var63:MClass> */
5170 if (unlikely(var68
== NULL
)) {
5171 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5172 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
5176 RET_LABEL67
:(void)0;
5180 var69
= standard___standard__Text___to_cmangle(var66
);
5182 ((struct instance_standard__NativeArray
*)var54
)->values
[2]=var69
;
5184 var70
= ((val
*(*)(val
* self
))(var54
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var54
); /* native_to_s on <var54:NativeArray[String]>*/
5190 if (unlikely(varonce71
==NULL
)) {
5191 var72
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
5192 if (likely(varonce73
!=NULL
)) {
5196 var76
= standard___standard__NativeString___to_s_with_length(var75
, 3l);
5200 ((struct instance_standard__NativeArray
*)var72
)->values
[1]=var74
;
5206 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
5207 var79
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
5208 if (unlikely(var79
== NULL
)) {
5209 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5210 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
5214 RET_LABEL78
:(void)0;
5218 var80
= nit___nit__MModule___nit__model_base__MEntity__c_name(var77
);
5220 ((struct instance_standard__NativeArray
*)var72
)->values
[0]=var80
;
5222 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
5223 var83
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
5224 if (unlikely(var83
== NULL
)) {
5225 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5226 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
5230 RET_LABEL82
:(void)0;
5234 var84
= nit___nit__MClass___nit__model_base__MEntity__c_name(var81
);
5236 ((struct instance_standard__NativeArray
*)var72
)->values
[2]=var84
;
5238 var85
= ((val
*(*)(val
* self
))(var72
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var72
); /* native_to_s on <var72:NativeArray[String]>*/
5247 self
->attrs
[COLOR_nit__model__MClassDef___c_name
].val
= var3
; /* _c_name on <self:MClassDef> */
5254 /* method model#MClassDef#model for (self: MClassDef): Model */
5255 val
* nit___nit__MClassDef___nit__model_base__MEntity__model(val
* self
) {
5256 val
* var
/* : Model */;
5257 val
* var1
/* : MModule */;
5258 val
* var3
/* : MModule */;
5259 val
* var4
/* : Model */;
5260 val
* var6
/* : Model */;
5262 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
5263 var3
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
5264 if (unlikely(var3
== NULL
)) {
5265 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5266 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
5274 { /* Inline mmodule#MModule#model (var1) on <var1:MModule> */
5275 var6
= var1
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <var1:MModule> */
5276 if (unlikely(var6
== NULL
)) {
5277 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
5278 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
5290 /* method model#MClassDef#supertypes for (self: MClassDef): Array[MClassType] */
5291 val
* nit___nit__MClassDef___supertypes(val
* self
) {
5292 val
* var
/* : Array[MClassType] */;
5293 val
* var1
/* : Array[MClassType] */;
5294 var1
= self
->attrs
[COLOR_nit__model__MClassDef___supertypes
].val
; /* _supertypes on <self:MClassDef> */
5295 if (unlikely(var1
== NULL
)) {
5296 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
5297 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 627);
5304 /* method model#MClassDef#set_supertypes for (self: MClassDef, Array[MClassType]) */
5305 void nit___nit__MClassDef___set_supertypes(val
* self
, val
* p0
) {
5306 val
* var_supertypes
/* var supertypes: Array[MClassType] */;
5307 val
* var
/* : nullable POSetElement[MClassDef] */;
5308 val
* var2
/* : nullable POSetElement[MClassDef] */;
5309 short int var3
/* : Bool */;
5310 short int var4
/* : Bool */;
5311 val
* var_other
/* var other: nullable Object */;
5312 short int var6
/* : Bool */;
5313 short int var8
/* : Bool */;
5314 val
* var9
/* : MModule */;
5315 val
* var11
/* : MModule */;
5316 val
* var_mmodule
/* var mmodule: MModule */;
5317 val
* var12
/* : Model */;
5318 val
* var14
/* : Model */;
5319 val
* var_model
/* var model: Model */;
5320 val
* var15
/* : MClassType */;
5321 val
* var17
/* : MClassType */;
5322 val
* var_mtype
/* var mtype: MClassType */;
5323 val
* var_
/* var : Array[MClassType] */;
5324 val
* var18
/* : ArrayIterator[nullable Object] */;
5325 val
* var_19
/* var : ArrayIterator[MClassType] */;
5326 short int var20
/* : Bool */;
5327 val
* var21
/* : nullable Object */;
5328 val
* var_supertype
/* var supertype: MClassType */;
5329 val
* var22
/* : Array[MClassType] */;
5330 val
* var24
/* : Array[MClassType] */;
5331 val
* var25
/* : POSet[MClassType] */;
5332 val
* var27
/* : POSet[MClassType] */;
5333 short int var28
/* : Bool */;
5334 val
* var29
/* : MClass */;
5335 val
* var31
/* : MClass */;
5336 val
* var32
/* : MModule */;
5337 val
* var34
/* : MModule */;
5338 short int var35
/* : Bool */;
5339 short int var37
/* : Bool */;
5340 short int var39
/* : Bool */;
5341 short int var_40
/* var : Bool */;
5342 val
* var41
/* : MClass */;
5343 val
* var43
/* : MClass */;
5344 val
* var44
/* : MModule */;
5345 val
* var46
/* : MModule */;
5346 short int var47
/* : Bool */;
5347 short int var49
/* : Bool */;
5348 short int var51
/* : Bool */;
5349 val
* var52
/* : POSet[MClassType] */;
5350 val
* var54
/* : POSet[MClassType] */;
5351 var_supertypes
= p0
;
5353 { /* Inline model#MClassDef#in_hierarchy (self) on <self:MClassDef> */
5354 var2
= self
->attrs
[COLOR_nit__model__MClassDef___in_hierarchy
].val
; /* _in_hierarchy on <self:MClassDef> */
5360 var3
= 1; /* is null */
5362 var3
= 0; /* arg is null but recv is not */
5365 { /* Inline kernel#Object#== (var,((val*)NULL)) on <var:nullable POSetElement[MClassDef]> */
5366 var_other
= ((val
*)NULL
);
5368 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable POSetElement[MClassDef](POSetElement[MClassDef])> */
5369 var8
= var
== var_other
;
5381 if (unlikely(!var3
)) {
5382 PRINT_ERROR("Runtime error: %s", "Assert \'unique_invocation\' failed");
5383 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 637);
5387 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
5388 var11
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
5389 if (unlikely(var11
== NULL
)) {
5390 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5391 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
5395 RET_LABEL10
:(void)0;
5400 { /* Inline mmodule#MModule#model (var_mmodule) on <var_mmodule:MModule> */
5401 var14
= var_mmodule
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <var_mmodule:MModule> */
5402 if (unlikely(var14
== NULL
)) {
5403 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
5404 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
5408 RET_LABEL13
:(void)0;
5413 { /* Inline model#MClassDef#bound_mtype (self) on <self:MClassDef> */
5414 var17
= self
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <self:MClassDef> */
5415 if (unlikely(var17
== NULL
)) {
5416 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
5417 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
5421 RET_LABEL16
:(void)0;
5425 var_
= var_supertypes
;
5427 var18
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
5432 var20
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_19
);
5436 var21
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_19
);
5438 var_supertype
= var21
;
5440 { /* Inline model#MClassDef#supertypes (self) on <self:MClassDef> */
5441 var24
= self
->attrs
[COLOR_nit__model__MClassDef___supertypes
].val
; /* _supertypes on <self:MClassDef> */
5442 if (unlikely(var24
== NULL
)) {
5443 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
5444 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 627);
5448 RET_LABEL23
:(void)0;
5452 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var22
, var_supertype
); /* Direct call array#Array#add on <var22:Array[MClassType]>*/
5455 { /* Inline model#Model#full_mtype_specialization_hierarchy (var_model) on <var_model:Model> */
5456 var27
= var_model
->attrs
[COLOR_nit__model__Model___full_mtype_specialization_hierarchy
].val
; /* _full_mtype_specialization_hierarchy on <var_model:Model> */
5457 if (unlikely(var27
== NULL
)) {
5458 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _full_mtype_specialization_hierarchy");
5459 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 57);
5463 RET_LABEL26
:(void)0;
5467 poset___poset__POSet___add_edge(var25
, var_mtype
, var_supertype
); /* Direct call poset#POSet#add_edge on <var25:POSet[MClassType]>*/
5470 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
5471 var31
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
5472 if (unlikely(var31
== NULL
)) {
5473 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5474 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
5478 RET_LABEL30
:(void)0;
5482 { /* Inline model#MClass#intro_mmodule (var29) on <var29:MClass> */
5483 var34
= var29
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var29:MClass> */
5484 if (unlikely(var34
== NULL
)) {
5485 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
5486 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 357);
5490 RET_LABEL33
:(void)0;
5494 { /* Inline kernel#Object#== (var32,var_mmodule) on <var32:MModule> */
5495 var_other
= var_mmodule
;
5497 { /* Inline kernel#Object#is_same_instance (var32,var_other) on <var32:MModule> */
5498 var39
= var32
== var_other
;
5501 RET_LABEL38
:(void)0;
5506 RET_LABEL36
:(void)0;
5512 { /* Inline model#MClassType#mclass (var_supertype) on <var_supertype:MClassType> */
5513 var43
= var_supertype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_supertype:MClassType> */
5514 if (unlikely(var43
== NULL
)) {
5515 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5516 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
5520 RET_LABEL42
:(void)0;
5524 { /* Inline model#MClass#intro_mmodule (var41) on <var41:MClass> */
5525 var46
= var41
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var41:MClass> */
5526 if (unlikely(var46
== NULL
)) {
5527 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
5528 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 357);
5532 RET_LABEL45
:(void)0;
5536 { /* Inline kernel#Object#== (var44,var_mmodule) on <var44:MModule> */
5537 var_other
= var_mmodule
;
5539 { /* Inline kernel#Object#is_same_instance (var44,var_other) on <var44:MModule> */
5540 var51
= var44
== var_other
;
5543 RET_LABEL50
:(void)0;
5548 RET_LABEL48
:(void)0;
5557 { /* Inline model#Model#intro_mtype_specialization_hierarchy (var_model) on <var_model:Model> */
5558 var54
= var_model
->attrs
[COLOR_nit__model__Model___intro_mtype_specialization_hierarchy
].val
; /* _intro_mtype_specialization_hierarchy on <var_model:Model> */
5559 if (unlikely(var54
== NULL
)) {
5560 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mtype_specialization_hierarchy");
5561 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 46);
5565 RET_LABEL53
:(void)0;
5569 poset___poset__POSet___add_edge(var52
, var_mtype
, var_supertype
); /* Direct call poset#POSet#add_edge on <var52:POSet[MClassType]>*/
5574 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_19
); /* Direct call array#ArrayIterator#next on <var_19:ArrayIterator[MClassType]>*/
5580 BREAK_label
: (void)0;
5582 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_19
); /* Direct call array#ArrayIterator#finish on <var_19:ArrayIterator[MClassType]>*/
5586 /* method model#MClassDef#add_in_hierarchy for (self: MClassDef) */
5587 void nit___nit__MClassDef___add_in_hierarchy(val
* self
) {
5588 val
* var
/* : nullable POSetElement[MClassDef] */;
5589 val
* var2
/* : nullable POSetElement[MClassDef] */;
5590 short int var3
/* : Bool */;
5591 short int var4
/* : Bool */;
5592 val
* var_other
/* var other: nullable Object */;
5593 short int var6
/* : Bool */;
5594 short int var8
/* : Bool */;
5595 val
* var9
/* : MModule */;
5596 val
* var11
/* : MModule */;
5597 val
* var12
/* : Model */;
5598 val
* var14
/* : Model */;
5599 val
* var_model
/* var model: Model */;
5600 val
* var15
/* : POSet[MClassDef] */;
5601 val
* var17
/* : POSet[MClassDef] */;
5602 val
* var18
/* : POSetElement[nullable Object] */;
5603 val
* var_res
/* var res: POSetElement[MClassDef] */;
5604 val
* var20
/* : MClassType */;
5605 val
* var22
/* : MClassType */;
5606 val
* var_mtype
/* var mtype: MClassType */;
5607 val
* var23
/* : MModule */;
5608 val
* var25
/* : MModule */;
5609 val
* var26
/* : Set[MClassDef] */;
5610 val
* var_
/* var : Set[MClassDef] */;
5611 val
* var27
/* : Iterator[nullable Object] */;
5612 val
* var_28
/* var : Iterator[MClassDef] */;
5613 short int var29
/* : Bool */;
5614 val
* var30
/* : nullable Object */;
5615 val
* var_mclassdef
/* var mclassdef: MClassDef */;
5616 val
* var31
/* : POSet[nullable Object] */;
5617 val
* var33
/* : POSet[nullable Object] */;
5619 { /* Inline model#MClassDef#in_hierarchy (self) on <self:MClassDef> */
5620 var2
= self
->attrs
[COLOR_nit__model__MClassDef___in_hierarchy
].val
; /* _in_hierarchy on <self:MClassDef> */
5626 var3
= 1; /* is null */
5628 var3
= 0; /* arg is null but recv is not */
5631 { /* Inline kernel#Object#== (var,((val*)NULL)) on <var:nullable POSetElement[MClassDef]> */
5632 var_other
= ((val
*)NULL
);
5634 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable POSetElement[MClassDef](POSetElement[MClassDef])> */
5635 var8
= var
== var_other
;
5647 if (unlikely(!var3
)) {
5648 PRINT_ERROR("Runtime error: %s", "Assert \'unique_invocation\' failed");
5649 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 662);
5653 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
5654 var11
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
5655 if (unlikely(var11
== NULL
)) {
5656 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5657 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
5661 RET_LABEL10
:(void)0;
5665 { /* Inline mmodule#MModule#model (var9) on <var9:MModule> */
5666 var14
= var9
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <var9:MModule> */
5667 if (unlikely(var14
== NULL
)) {
5668 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
5669 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
5673 RET_LABEL13
:(void)0;
5678 { /* Inline model#Model#mclassdef_hierarchy (var_model) on <var_model:Model> */
5679 var17
= var_model
->attrs
[COLOR_nit__model__Model___mclassdef_hierarchy
].val
; /* _mclassdef_hierarchy on <var_model:Model> */
5680 if (unlikely(var17
== NULL
)) {
5681 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef_hierarchy");
5682 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 40);
5686 RET_LABEL16
:(void)0;
5690 var18
= poset___poset__POSet___add_node(var15
, self
);
5694 { /* Inline model#MClassDef#in_hierarchy= (self,var_res) on <self:MClassDef> */
5695 self
->attrs
[COLOR_nit__model__MClassDef___in_hierarchy
].val
= var_res
; /* _in_hierarchy on <self:MClassDef> */
5696 RET_LABEL19
:(void)0;
5700 { /* Inline model#MClassDef#bound_mtype (self) on <self:MClassDef> */
5701 var22
= self
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <self:MClassDef> */
5702 if (unlikely(var22
== NULL
)) {
5703 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
5704 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
5708 RET_LABEL21
:(void)0;
5713 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
5714 var25
= self
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
5715 if (unlikely(var25
== NULL
)) {
5716 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5717 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
5721 RET_LABEL24
:(void)0;
5725 var26
= nit___nit__MClassType___MType__collect_mclassdefs(var_mtype
, var23
);
5729 var27
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Set[MClassDef]>*/
5734 var29
= ((short int(*)(val
* self
))((((long)var_28
&3)?class_info
[((long)var_28
&3)]:var_28
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_28
); /* is_ok on <var_28:Iterator[MClassDef]>*/
5738 var30
= ((val
*(*)(val
* self
))((((long)var_28
&3)?class_info
[((long)var_28
&3)]:var_28
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_28
); /* item on <var_28:Iterator[MClassDef]>*/
5740 var_mclassdef
= var30
;
5742 { /* Inline poset#POSetElement#poset (var_res) on <var_res:POSetElement[MClassDef]> */
5743 var33
= var_res
->attrs
[COLOR_poset__POSetElement___poset
].val
; /* _poset on <var_res:POSetElement[MClassDef]> */
5744 if (unlikely(var33
== NULL
)) {
5745 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset");
5746 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 400);
5750 RET_LABEL32
:(void)0;
5754 poset___poset__POSet___add_edge(var31
, self
, var_mclassdef
); /* Direct call poset#POSet#add_edge on <var31:POSet[nullable Object](POSet[MClassDef])>*/
5757 ((void(*)(val
* self
))((((long)var_28
&3)?class_info
[((long)var_28
&3)]:var_28
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_28
); /* next on <var_28:Iterator[MClassDef]>*/
5763 BREAK_label
: (void)0;
5765 ((void(*)(val
* self
))((((long)var_28
&3)?class_info
[((long)var_28
&3)]:var_28
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_28
); /* finish on <var_28:Iterator[MClassDef]>*/
5769 /* method model#MClassDef#in_hierarchy for (self: MClassDef): nullable POSetElement[MClassDef] */
5770 val
* nit___nit__MClassDef___in_hierarchy(val
* self
) {
5771 val
* var
/* : nullable POSetElement[MClassDef] */;
5772 val
* var1
/* : nullable POSetElement[MClassDef] */;
5773 var1
= self
->attrs
[COLOR_nit__model__MClassDef___in_hierarchy
].val
; /* _in_hierarchy on <self:MClassDef> */
5778 /* method model#MClassDef#in_hierarchy= for (self: MClassDef, nullable POSetElement[MClassDef]) */
5779 void nit___nit__MClassDef___in_hierarchy_61d(val
* self
, val
* p0
) {
5780 self
->attrs
[COLOR_nit__model__MClassDef___in_hierarchy
].val
= p0
; /* _in_hierarchy on <self:MClassDef> */
5783 /* method model#MClassDef#is_intro for (self: MClassDef): Bool */
5784 short int nit___nit__MClassDef___is_intro(val
* self
) {
5785 short int var
/* : Bool */;
5786 short int var1
/* : Bool */;
5787 val
* var2
/* : MClass */;
5788 val
* var4
/* : MClass */;
5789 short int var5
/* : Bool */;
5790 short int var_
/* var : Bool */;
5791 val
* var6
/* : MClass */;
5792 val
* var8
/* : MClass */;
5793 val
* var9
/* : MClassDef */;
5794 val
* var11
/* : MClassDef */;
5795 short int var12
/* : Bool */;
5796 val
* var_other
/* var other: nullable Object */;
5797 short int var14
/* : Bool */;
5798 short int var16
/* : Bool */;
5800 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
5801 var4
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
5802 if (unlikely(var4
== NULL
)) {
5803 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5804 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
5811 var5
= var2
->attrs
[COLOR_nit__model__MClass___intro
].val
!= NULL
; /* _intro on <var2:MClass> */
5815 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
5816 var8
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
5817 if (unlikely(var8
== NULL
)) {
5818 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5819 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
5827 { /* Inline model#MClass#intro (var6) on <var6:MClass> */
5828 var11
= var6
->attrs
[COLOR_nit__model__MClass___intro
].val
; /* _intro on <var6:MClass> */
5829 if (unlikely(var11
== NULL
)) {
5830 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
5831 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 460);
5835 RET_LABEL10
:(void)0;
5839 { /* Inline kernel#Object#== (var9,self) on <var9:MClassDef> */
5842 { /* Inline kernel#Object#is_same_instance (var9,var_other) on <var9:MClassDef> */
5843 var16
= var9
== var_other
;
5846 RET_LABEL15
:(void)0;
5851 RET_LABEL13
:(void)0;
5863 /* method model#MClassDef#intro_mproperties for (self: MClassDef): Array[MProperty] */
5864 val
* nit___nit__MClassDef___intro_mproperties(val
* self
) {
5865 val
* var
/* : Array[MProperty] */;
5866 val
* var1
/* : Array[MProperty] */;
5867 var1
= self
->attrs
[COLOR_nit__model__MClassDef___intro_mproperties
].val
; /* _intro_mproperties on <self:MClassDef> */
5868 if (unlikely(var1
== NULL
)) {
5869 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mproperties");
5870 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 681);
5877 /* method model#MClassDef#mpropdefs for (self: MClassDef): Array[MPropDef] */
5878 val
* nit___nit__MClassDef___mpropdefs(val
* self
) {
5879 val
* var
/* : Array[MPropDef] */;
5880 val
* var1
/* : Array[MPropDef] */;
5881 var1
= self
->attrs
[COLOR_nit__model__MClassDef___mpropdefs
].val
; /* _mpropdefs on <self:MClassDef> */
5882 if (unlikely(var1
== NULL
)) {
5883 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
5884 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 684);
5891 /* method model#MType#name for (self: MType): String */
5892 val
* nit___nit__MType___nit__model_base__MEntity__name(val
* self
) {
5893 val
* var
/* : String */;
5894 val
* var1
/* : String */;
5896 var1
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Object__to_s
]))(self
); /* to_s on <self:MType>*/
5903 /* method model#MType#is_subtype for (self: MType, MModule, nullable MClassType, MType): Bool */
5904 short int nit___nit__MType___is_subtype(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5905 short int var
/* : Bool */;
5906 val
* var_mmodule
/* var mmodule: MModule */;
5907 val
* var_anchor
/* var anchor: nullable MClassType */;
5908 val
* var_sup
/* var sup: MType */;
5909 val
* var_sub
/* var sub: MType */;
5910 short int var1
/* : Bool */;
5911 val
* var_other
/* var other: nullable Object */;
5912 short int var3
/* : Bool */;
5913 short int var5
/* : Bool */;
5914 short int var6
/* : Bool */;
5915 short int var7
/* : Bool */;
5916 short int var9
/* : Bool */;
5917 short int var11
/* : Bool */;
5918 short int var12
/* : Bool */;
5919 short int var13
/* : Bool */;
5920 short int var14
/* : Bool */;
5921 short int var15
/* : Bool */;
5922 short int var16
/* : Bool */;
5923 val
* var17
/* : MType */;
5924 short int var18
/* : Bool */;
5925 val
* var19
/* : MType */;
5926 short int var_sup_accept_null
/* var sup_accept_null: Bool */;
5927 short int var20
/* : Bool */;
5930 val
* var21
/* : MType */;
5931 val
* var23
/* : MType */;
5932 short int var24
/* : Bool */;
5935 val
* var27
/* : MType */;
5936 val
* var29
/* : MType */;
5937 short int var30
/* : Bool */;
5940 short int var_sub_reject_null
/* var sub_reject_null: Bool */;
5941 short int var33
/* : Bool */;
5944 short int var36
/* : Bool */;
5945 val
* var37
/* : MType */;
5946 val
* var39
/* : MType */;
5947 short int var40
/* : Bool */;
5950 val
* var43
/* : MType */;
5951 val
* var45
/* : MType */;
5952 short int var46
/* : Bool */;
5955 short int var49
/* : Bool */;
5958 short int var52
/* : Bool */;
5959 short int var54
/* : Bool */;
5960 short int var56
/* : Bool */;
5961 short int var57
/* : Bool */;
5962 short int var58
/* : Bool */;
5963 val
* var_other60
/* var other: nullable Object */;
5964 short int var61
/* : Bool */;
5965 short int var62
/* : Bool */;
5966 val
* var63
/* : MType */;
5967 val
* var64
/* : MType */;
5968 short int var65
/* : Bool */;
5971 short int var68
/* : Bool */;
5972 short int var69
/* : Bool */;
5973 short int var_
/* var : Bool */;
5974 short int var70
/* : Bool */;
5975 val
* var71
/* : MType */;
5976 val
* var73
/* : MType */;
5977 short int var74
/* : Bool */;
5980 val
* var77
/* : MType */;
5981 val
* var79
/* : MType */;
5982 short int var80
/* : Bool */;
5985 short int var83
/* : Bool */;
5988 val
* var86
/* : Sys */;
5989 val
* var87
/* : NativeArray[String] */;
5990 static val
* varonce
;
5991 static val
* varonce88
;
5992 val
* var89
/* : String */;
5993 char* var90
/* : NativeString */;
5994 val
* var91
/* : FlatString */;
5995 val
* var92
/* : String */;
5996 val
* var93
/* : String */;
5997 val
* var94
/* : String */;
5998 short int var95
/* : Bool */;
6001 short int var98
/* : Bool */;
6004 short int var101
/* : Bool */;
6007 short int var104
/* : Bool */;
6008 short int var106
/* : Bool */;
6009 short int var108
/* : Bool */;
6010 short int var109
/* : Bool */;
6011 short int var110
/* : Bool */;
6012 short int var112
/* : Bool */;
6013 short int var114
/* : Bool */;
6014 val
* var115
/* : MClassType */;
6015 val
* var_resolved_sub
/* var resolved_sub: MClassType */;
6016 val
* var116
/* : Set[MClass] */;
6017 val
* var117
/* : MClass */;
6018 val
* var119
/* : MClass */;
6019 short int var120
/* : Bool */;
6020 short int var_res
/* var res: Bool */;
6021 short int var121
/* : Bool */;
6022 short int var123
/* : Bool */;
6023 short int var124
/* : Bool */;
6026 short int var127
/* : Bool */;
6027 val
* var128
/* : MClass */;
6028 val
* var130
/* : MClass */;
6029 val
* var131
/* : MClassType */;
6030 val
* var_sub2
/* var sub2: MClassType */;
6031 val
* var132
/* : MClass */;
6032 val
* var134
/* : MClass */;
6033 val
* var135
/* : MClass */;
6034 val
* var137
/* : MClass */;
6035 short int var138
/* : Bool */;
6036 short int var140
/* : Bool */;
6037 short int var142
/* : Bool */;
6038 long var_i
/* var i: Int */;
6039 val
* var143
/* : MClass */;
6040 val
* var145
/* : MClass */;
6041 long var146
/* : Int */;
6042 long var148
/* : Int */;
6043 long var_149
/* var : Int */;
6044 short int var150
/* : Bool */;
6045 short int var152
/* : Bool */;
6048 const char* var_class_name
;
6049 short int var155
/* : Bool */;
6050 val
* var156
/* : Array[MType] */;
6051 val
* var157
/* : nullable Object */;
6052 val
* var_sub_arg
/* var sub_arg: MType */;
6053 val
* var158
/* : Array[MType] */;
6054 val
* var160
/* : Array[MType] */;
6055 val
* var161
/* : nullable Object */;
6056 val
* var_sup_arg
/* var sup_arg: MType */;
6057 short int var162
/* : Bool */;
6058 short int var163
/* : Bool */;
6059 short int var165
/* : Bool */;
6060 long var166
/* : Int */;
6066 { /* Inline kernel#Object#== (var_sub,var_sup) on <var_sub:MType> */
6067 var_other
= var_sup
;
6069 { /* Inline kernel#Object#is_same_instance (var_sub,var_other) on <var_sub:MType> */
6070 var5
= var_sub
== var_other
;
6086 if (var_anchor
== NULL
) {
6087 var6
= 1; /* is null */
6089 var6
= 0; /* arg is null but recv is not */
6092 { /* Inline kernel#Object#== (var_anchor,((val*)NULL)) on <var_anchor:nullable MClassType> */
6093 var_other
= ((val
*)NULL
);
6095 { /* Inline kernel#Object#is_same_instance (var_anchor,var_other) on <var_anchor:nullable MClassType(MClassType)> */
6096 var11
= var_anchor
== var_other
;
6099 RET_LABEL10
:(void)0;
6110 var12
= ((short int(*)(val
* self
))(var_sub
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_sub
); /* need_anchor on <var_sub:MType>*/
6113 if (unlikely(!var13
)) {
6114 PRINT_ERROR("Runtime error: %s", "Assert failed");
6115 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 733);
6119 var14
= ((short int(*)(val
* self
))(var_sup
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_sup
); /* need_anchor on <var_sup:MType>*/
6122 if (unlikely(!var15
)) {
6123 PRINT_ERROR("Runtime error: %s", "Assert failed");
6124 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 734);
6129 var16
= ((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
, ((val
*)NULL
), var_mmodule
); /* can_resolve_for on <var_sub:MType>*/
6131 if (unlikely(!var16
)) {
6132 PRINT_ERROR("Runtime error: %s", "Assert failed");
6133 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 737);
6137 var17
= ((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>*/
6141 var18
= ((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
, ((val
*)NULL
), var_mmodule
); /* can_resolve_for on <var_sup:MType>*/
6143 if (unlikely(!var18
)) {
6144 PRINT_ERROR("Runtime error: %s", "Assert failed");
6145 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 739);
6149 var19
= ((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>*/
6153 var_sup_accept_null
= 0;
6154 /* <var_sup:MType> isa MNullableType */
6155 cltype
= type_nit__MNullableType
.color
;
6156 idtype
= type_nit__MNullableType
.id
;
6157 if(cltype
>= var_sup
->type
->table_size
) {
6160 var20
= var_sup
->type
->type_table
[cltype
] == idtype
;
6163 var_sup_accept_null
= 1;
6165 { /* Inline model#MProxyType#mtype (var_sup) on <var_sup:MType(MNullableType)> */
6166 var23
= var_sup
->attrs
[COLOR_nit__model__MProxyType___mtype
].val
; /* _mtype on <var_sup:MType(MNullableType)> */
6167 if (unlikely(var23
== NULL
)) {
6168 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6169 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1598);
6173 RET_LABEL22
:(void)0;
6178 /* <var_sup:MType> isa MNotNullType */
6179 cltype25
= type_nit__MNotNullType
.color
;
6180 idtype26
= type_nit__MNotNullType
.id
;
6181 if(cltype25
>= var_sup
->type
->table_size
) {
6184 var24
= var_sup
->type
->type_table
[cltype25
] == idtype26
;
6188 { /* Inline model#MProxyType#mtype (var_sup) on <var_sup:MType(MNotNullType)> */
6189 var29
= var_sup
->attrs
[COLOR_nit__model__MProxyType___mtype
].val
; /* _mtype on <var_sup:MType(MNotNullType)> */
6190 if (unlikely(var29
== NULL
)) {
6191 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6192 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1598);
6196 RET_LABEL28
:(void)0;
6201 /* <var_sup:MType> isa MNullType */
6202 cltype31
= type_nit__MNullType
.color
;
6203 idtype32
= type_nit__MNullType
.id
;
6204 if(cltype31
>= var_sup
->type
->table_size
) {
6207 var30
= var_sup
->type
->type_table
[cltype31
] == idtype32
;
6210 var_sup_accept_null
= 1;
6215 var_sub_reject_null
= 0;
6216 /* <var_sub:MType> isa MNullableType */
6217 cltype34
= type_nit__MNullableType
.color
;
6218 idtype35
= type_nit__MNullableType
.id
;
6219 if(cltype34
>= var_sub
->type
->table_size
) {
6222 var33
= var_sub
->type
->type_table
[cltype34
] == idtype35
;
6225 var36
= !var_sup_accept_null
;
6232 { /* Inline model#MProxyType#mtype (var_sub) on <var_sub:MType(MNullableType)> */
6233 var39
= var_sub
->attrs
[COLOR_nit__model__MProxyType___mtype
].val
; /* _mtype on <var_sub:MType(MNullableType)> */
6234 if (unlikely(var39
== NULL
)) {
6235 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6236 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1598);
6240 RET_LABEL38
:(void)0;
6245 /* <var_sub:MType> isa MNotNullType */
6246 cltype41
= type_nit__MNotNullType
.color
;
6247 idtype42
= type_nit__MNotNullType
.id
;
6248 if(cltype41
>= var_sub
->type
->table_size
) {
6251 var40
= var_sub
->type
->type_table
[cltype41
] == idtype42
;
6254 var_sub_reject_null
= 1;
6256 { /* Inline model#MProxyType#mtype (var_sub) on <var_sub:MType(MNotNullType)> */
6257 var45
= var_sub
->attrs
[COLOR_nit__model__MProxyType___mtype
].val
; /* _mtype on <var_sub:MType(MNotNullType)> */
6258 if (unlikely(var45
== NULL
)) {
6259 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6260 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1598);
6264 RET_LABEL44
:(void)0;
6269 /* <var_sub:MType> isa MNullType */
6270 cltype47
= type_nit__MNullType
.color
;
6271 idtype48
= type_nit__MNullType
.id
;
6272 if(cltype47
>= var_sub
->type
->table_size
) {
6275 var46
= var_sub
->type
->type_table
[cltype47
] == idtype48
;
6278 var
= var_sup_accept_null
;
6285 /* <var_sub:MType> isa MFormalType */
6286 cltype50
= type_nit__MFormalType
.color
;
6287 idtype51
= type_nit__MFormalType
.id
;
6288 if(cltype50
>= var_sub
->type
->table_size
) {
6291 var49
= var_sub
->type
->type_table
[cltype50
] == idtype51
;
6295 { /* Inline kernel#Object#== (var_sub,var_sup) on <var_sub:MType(MFormalType)> */
6296 var_other
= var_sup
;
6298 { /* Inline kernel#Object#is_same_instance (var_sub,var_other) on <var_sub:MType(MFormalType)> */
6299 var56
= var_sub
== var_other
;
6302 RET_LABEL55
:(void)0;
6307 RET_LABEL53
:(void)0;
6315 if (var_anchor
== NULL
) {
6316 var57
= 0; /* is null */
6318 var57
= 1; /* arg is null and recv is not */
6321 { /* Inline kernel#Object#!= (var_anchor,((val*)NULL)) on <var_anchor:nullable MClassType> */
6322 var_other60
= ((val
*)NULL
);
6324 var61
= ((short int(*)(val
* self
, val
* p0
))(var_anchor
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_anchor
, var_other60
); /* == on <var_anchor:nullable MClassType(MClassType)>*/
6329 RET_LABEL59
:(void)0;
6333 if (unlikely(!var57
)) {
6334 PRINT_ERROR("Runtime error: %s", "Assert failed");
6335 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 777);
6339 var63
= ((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(MFormalType)>*/
6342 if (var_sub_reject_null
){
6344 var64
= ((val
*(*)(val
* self
))(var_sub
->class->vft
[COLOR_nit__model__MType__as_notnull
]))(var_sub
); /* as_notnull on <var_sub:MType>*/
6349 /* <var_sub:MType> isa MNullableType */
6350 cltype66
= type_nit__MNullableType
.color
;
6351 idtype67
= type_nit__MNullableType
.id
;
6352 if(cltype66
>= var_sub
->type
->table_size
) {
6355 var65
= var_sub
->type
->type_table
[cltype66
] == idtype67
;
6358 var69
= !var_sup_accept_null
;
6361 var70
= !var_sub_reject_null
;
6372 { /* Inline model#MProxyType#mtype (var_sub) on <var_sub:MType(MNullableType)> */
6373 var73
= var_sub
->attrs
[COLOR_nit__model__MProxyType___mtype
].val
; /* _mtype on <var_sub:MType(MNullableType)> */
6374 if (unlikely(var73
== NULL
)) {
6375 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6376 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1598);
6380 RET_LABEL72
:(void)0;
6385 /* <var_sub:MType> isa MNotNullType */
6386 cltype75
= type_nit__MNotNullType
.color
;
6387 idtype76
= type_nit__MNotNullType
.id
;
6388 if(cltype75
>= var_sub
->type
->table_size
) {
6391 var74
= var_sub
->type
->type_table
[cltype75
] == idtype76
;
6394 var_sub_reject_null
= 1;
6396 { /* Inline model#MProxyType#mtype (var_sub) on <var_sub:MType(MNotNullType)> */
6397 var79
= var_sub
->attrs
[COLOR_nit__model__MProxyType___mtype
].val
; /* _mtype on <var_sub:MType(MNotNullType)> */
6398 if (unlikely(var79
== NULL
)) {
6399 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6400 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1598);
6404 RET_LABEL78
:(void)0;
6409 /* <var_sub:MType> isa MNullType */
6410 cltype81
= type_nit__MNullType
.color
;
6411 idtype82
= type_nit__MNullType
.id
;
6412 if(cltype81
>= var_sub
->type
->table_size
) {
6415 var80
= var_sub
->type
->type_table
[cltype81
] == idtype82
;
6418 var
= var_sup_accept_null
;
6428 BREAK_label
: (void)0;
6429 /* <var_sub:MType> isa MClassType */
6430 cltype84
= type_nit__MClassType
.color
;
6431 idtype85
= type_nit__MClassType
.id
;
6432 if(cltype84
>= var_sub
->type
->table_size
) {
6435 var83
= var_sub
->type
->type_table
[cltype84
] == idtype85
;
6437 if (unlikely(!var83
)) {
6439 if (unlikely(varonce
==NULL
)) {
6440 var87
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
6441 if (likely(varonce88
!=NULL
)) {
6445 var91
= standard___standard__NativeString___to_s_with_length(var90
, 4l);
6449 ((struct instance_standard__NativeArray
*)var87
)->values
[1]=var89
;
6455 var92
= ((val
*(*)(val
* self
))(var_sub
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_sub
); /* to_s on <var_sub:MType>*/
6457 ((struct instance_standard__NativeArray
*)var87
)->values
[0]=var92
;
6459 var93
= ((val
*(*)(val
* self
))(var_sub
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_sub
); /* to_s on <var_sub:MType>*/
6461 ((struct instance_standard__NativeArray
*)var87
)->values
[2]=var93
;
6463 var94
= ((val
*(*)(val
* self
))(var87
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var87
); /* native_to_s on <var87:NativeArray[String]>*/
6467 standard__file___Sys___print(var86
, var94
); /* Direct call file#Sys#print on <var86:Sys>*/
6469 PRINT_ERROR("Runtime error: %s", "Assert failed");
6470 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 796);
6473 /* <var_sup:MType> isa MFormalType */
6474 cltype96
= type_nit__MFormalType
.color
;
6475 idtype97
= type_nit__MFormalType
.id
;
6476 if(cltype96
>= var_sup
->type
->table_size
) {
6479 var95
= var_sup
->type
->type_table
[cltype96
] == idtype97
;
6486 /* <var_sup:MType> isa MNullType */
6487 cltype99
= type_nit__MNullType
.color
;
6488 idtype100
= type_nit__MNullType
.id
;
6489 if(cltype99
>= var_sup
->type
->table_size
) {
6492 var98
= var_sup
->type
->type_table
[cltype99
] == idtype100
;
6499 /* <var_sup:MType> isa MClassType */
6500 cltype102
= type_nit__MClassType
.color
;
6501 idtype103
= type_nit__MClassType
.id
;
6502 if(cltype102
>= var_sup
->type
->table_size
) {
6505 var101
= var_sup
->type
->type_table
[cltype102
] == idtype103
;
6507 if (unlikely(!var101
)) {
6508 PRINT_ERROR("Runtime error: %s", "Assert failed");
6509 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 808);
6513 { /* Inline kernel#Object#== (var_sub,var_sup) on <var_sub:MType(MClassType)> */
6514 var_other
= var_sup
;
6516 { /* Inline kernel#Object#is_same_instance (var_sub,var_other) on <var_sub:MType(MClassType)> */
6517 var108
= var_sub
== var_other
;
6520 RET_LABEL107
:(void)0;
6525 RET_LABEL105
:(void)0;
6533 if (var_anchor
== NULL
) {
6534 var109
= 1; /* is null */
6536 var109
= 0; /* arg is null but recv is not */
6539 { /* Inline kernel#Object#== (var_anchor,((val*)NULL)) on <var_anchor:nullable MClassType> */
6540 var_other
= ((val
*)NULL
);
6542 { /* Inline kernel#Object#is_same_instance (var_anchor,var_other) on <var_anchor:nullable MClassType(MClassType)> */
6543 var114
= var_anchor
== var_other
;
6546 RET_LABEL113
:(void)0;
6551 RET_LABEL111
:(void)0;
6556 var_anchor
= var_sub
;
6560 var115
= nit___nit__MClassType___MType__anchor_to(var_sub
, var_mmodule
, var_anchor
);
6562 var_resolved_sub
= var115
;
6564 var116
= nit___nit__MClassType___MType__collect_mclasses(var_resolved_sub
, var_mmodule
);
6567 { /* Inline model#MClassType#mclass (var_sup) on <var_sup:MType(MClassType)> */
6568 var119
= var_sup
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_sup:MType(MClassType)> */
6569 if (unlikely(var119
== NULL
)) {
6570 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6571 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
6575 RET_LABEL118
:(void)0;
6579 var120
= ((short int(*)(val
* self
, val
* p0
))((((long)var116
&3)?class_info
[((long)var116
&3)]:var116
->class)->vft
[COLOR_standard__abstract_collection__Collection__has
]))(var116
, var117
); /* has on <var116:Set[MClass]>*/
6583 { /* Inline kernel#Bool#== (var_res,0) on <var_res:Bool> */
6584 var123
= var_res
== 0;
6587 RET_LABEL122
:(void)0;
6595 /* <var_sup:MType(MClassType)> isa MGenericType */
6596 cltype125
= type_nit__MGenericType
.color
;
6597 idtype126
= type_nit__MGenericType
.id
;
6598 if(cltype125
>= var_sup
->type
->table_size
) {
6601 var124
= var_sup
->type
->type_table
[cltype125
] == idtype126
;
6610 { /* Inline model#MClassType#mclass (var_sup) on <var_sup:MType(MGenericType)> */
6611 var130
= var_sup
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_sup:MType(MGenericType)> */
6612 if (unlikely(var130
== NULL
)) {
6613 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6614 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
6618 RET_LABEL129
:(void)0;
6622 var131
= nit___nit__MType___supertype_to(var_sub
, var_mmodule
, var_anchor
, var128
);
6626 { /* Inline model#MClassType#mclass (var_sub2) on <var_sub2:MClassType> */
6627 var134
= var_sub2
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_sub2:MClassType> */
6628 if (unlikely(var134
== NULL
)) {
6629 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6630 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
6634 RET_LABEL133
:(void)0;
6638 { /* Inline model#MClassType#mclass (var_sup) on <var_sup:MType(MGenericType)> */
6639 var137
= var_sup
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_sup:MType(MGenericType)> */
6640 if (unlikely(var137
== NULL
)) {
6641 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6642 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
6646 RET_LABEL136
:(void)0;
6650 { /* Inline kernel#Object#== (var132,var135) on <var132:MClass> */
6653 { /* Inline kernel#Object#is_same_instance (var132,var_other) on <var132:MClass> */
6654 var142
= var132
== var_other
;
6657 RET_LABEL141
:(void)0;
6662 RET_LABEL139
:(void)0;
6665 if (unlikely(!var138
)) {
6666 PRINT_ERROR("Runtime error: %s", "Assert failed");
6667 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 820);
6672 { /* Inline model#MClassType#mclass (var_sup) on <var_sup:MType(MGenericType)> */
6673 var145
= var_sup
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_sup:MType(MGenericType)> */
6674 if (unlikely(var145
== NULL
)) {
6675 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6676 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
6680 RET_LABEL144
:(void)0;
6684 { /* Inline model#MClass#arity (var143) on <var143:MClass> */
6685 var148
= var143
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <var143:MClass> */
6687 RET_LABEL147
:(void)0;
6693 { /* Inline kernel#Int#< (var_i,var_149) on <var_i:Int> */
6694 /* Covariant cast for argument 0 (i) <var_149:Int> isa OTHER */
6695 /* <var_149:Int> isa OTHER */
6696 var152
= 1; /* easy <var_149:Int> isa OTHER*/
6697 if (unlikely(!var152
)) {
6698 var_class_name
= type_standard__Int
.name
;
6699 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6700 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
6703 var155
= var_i
< var_149
;
6706 RET_LABEL151
:(void)0;
6711 var156
= ((val
*(*)(val
* self
))(var_sub2
->class->vft
[COLOR_nit__model__MClassType__arguments
]))(var_sub2
); /* arguments on <var_sub2:MClassType>*/
6714 var157
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var156
, var_i
);
6716 var_sub_arg
= var157
;
6718 { /* Inline model#MGenericType#arguments (var_sup) on <var_sup:MType(MGenericType)> */
6719 var160
= var_sup
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
; /* _arguments on <var_sup:MType(MGenericType)> */
6720 if (unlikely(var160
== NULL
)) {
6721 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
6722 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1244);
6726 RET_LABEL159
:(void)0;
6730 var161
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var158
, var_i
);
6732 var_sup_arg
= var161
;
6734 var162
= nit___nit__MType___is_subtype(var_sub_arg
, var_mmodule
, var_anchor
, var_sup_arg
);
6738 { /* Inline kernel#Bool#== (var_res,0) on <var_res:Bool> */
6739 var165
= var_res
== 0;
6742 RET_LABEL164
:(void)0;
6751 var166
= standard___standard__Int___Discrete__successor(var_i
, 1l);
6755 goto BREAK_label167
;
6758 BREAK_label167
: (void)0;
6764 /* method model#MType#anchor_to for (self: MType, MModule, MClassType): MType */
6765 val
* nit___nit__MType___anchor_to(val
* self
, val
* p0
, val
* p1
) {
6766 val
* var
/* : MType */;
6767 val
* var_mmodule
/* var mmodule: MModule */;
6768 val
* var_anchor
/* var anchor: MClassType */;
6769 short int var1
/* : Bool */;
6770 short int var2
/* : Bool */;
6771 short int var3
/* : Bool */;
6772 short int var4
/* : Bool */;
6773 val
* var5
/* : MType */;
6774 val
* var_res
/* var res: MType */;
6775 short int var6
/* : Bool */;
6776 short int var7
/* : Bool */;
6780 var1
= ((short int(*)(val
* self
))(self
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(self
); /* need_anchor on <self:MType>*/
6789 var3
= ((short int(*)(val
* self
))(var_anchor
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_anchor
); /* need_anchor on <var_anchor:MClassType>*/
6792 if (unlikely(!var4
)) {
6793 PRINT_ERROR("Runtime error: %s", "Assert failed");
6794 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 867);
6798 var5
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(self
->class->vft
[COLOR_nit__model__MType__resolve_for
]))(self
, var_anchor
, ((val
*)NULL
), var_mmodule
, 1); /* resolve_for on <self:MType>*/
6802 var6
= ((short int(*)(val
* self
))(var_res
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_res
); /* need_anchor on <var_res:MType>*/
6805 if (unlikely(!var7
)) {
6806 PRINT_ERROR("Runtime error: %s", "Assert failed");
6807 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 870);
6815 /* method model#MType#need_anchor for (self: MType): Bool */
6816 short int nit___nit__MType___need_anchor(val
* self
) {
6817 short int var
/* : Bool */;
6823 /* method model#MType#supertype_to for (self: MType, MModule, nullable MClassType, MClass): MClassType */
6824 val
* nit___nit__MType___supertype_to(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6825 val
* var
/* : MClassType */;
6826 val
* var_mmodule
/* var mmodule: MModule */;
6827 val
* var_anchor
/* var anchor: nullable MClassType */;
6828 val
* var_super_mclass
/* var super_mclass: MClass */;
6829 long var1
/* : Int */;
6830 long var3
/* : Int */;
6831 short int var4
/* : Bool */;
6832 short int var6
/* : Bool */;
6833 val
* var7
/* : MClassType */;
6834 val
* var9
/* : MClassType */;
6835 short int var10
/* : Bool */;
6836 short int var11
/* : Bool */;
6839 short int var_
/* var : Bool */;
6840 val
* var12
/* : MClass */;
6841 val
* var14
/* : MClass */;
6842 short int var15
/* : Bool */;
6843 val
* var_other
/* var other: nullable Object */;
6844 short int var17
/* : Bool */;
6845 short int var19
/* : Bool */;
6846 short int var20
/* : Bool */;
6847 short int var21
/* : Bool */;
6848 short int var22
/* : Bool */;
6849 val
* var_other24
/* var other: nullable Object */;
6850 short int var25
/* : Bool */;
6851 short int var26
/* : Bool */;
6852 val
* var27
/* : MType */;
6853 val
* var_resolved_self
/* var resolved_self: nullable Object */;
6854 val
* var28
/* : Set[MClassType] */;
6855 val
* var_supertypes
/* var supertypes: Set[MClassType] */;
6856 val
* var_29
/* var : Set[MClassType] */;
6857 val
* var30
/* : Iterator[nullable Object] */;
6858 val
* var_31
/* var : Iterator[MClassType] */;
6859 short int var32
/* : Bool */;
6860 val
* var33
/* : nullable Object */;
6861 val
* var_supertype
/* var supertype: MClassType */;
6862 val
* var34
/* : MClass */;
6863 val
* var36
/* : MClass */;
6864 short int var37
/* : Bool */;
6865 short int var39
/* : Bool */;
6866 short int var41
/* : Bool */;
6867 val
* var42
/* : MType */;
6870 var_super_mclass
= p2
;
6872 { /* Inline model#MClass#arity (var_super_mclass) on <var_super_mclass:MClass> */
6873 var3
= var_super_mclass
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <var_super_mclass:MClass> */
6879 { /* Inline kernel#Int#== (var1,0l) on <var1:Int> */
6888 { /* Inline model#MClass#mclass_type (var_super_mclass) on <var_super_mclass:MClass> */
6889 var9
= var_super_mclass
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_super_mclass:MClass> */
6890 if (unlikely(var9
== NULL
)) {
6891 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
6892 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
6903 /* <self:MType> isa MClassType */
6904 cltype
= type_nit__MClassType
.color
;
6905 idtype
= type_nit__MClassType
.id
;
6906 if(cltype
>= self
->type
->table_size
) {
6909 var11
= self
->type
->type_table
[cltype
] == idtype
;
6914 { /* Inline model#MClassType#mclass (self) on <self:MType(MClassType)> */
6915 var14
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MType(MClassType)> */
6916 if (unlikely(var14
== NULL
)) {
6917 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6918 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
6922 RET_LABEL13
:(void)0;
6926 { /* Inline kernel#Object#== (var12,var_super_mclass) on <var12:MClass> */
6927 var_other
= var_super_mclass
;
6929 { /* Inline kernel#Object#is_same_instance (var12,var_other) on <var12:MClass> */
6930 var19
= var12
== var_other
;
6933 RET_LABEL18
:(void)0;
6938 RET_LABEL16
:(void)0;
6951 var20
= ((short int(*)(val
* self
))(self
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(self
); /* need_anchor on <self:MType>*/
6954 if (var_anchor
== NULL
) {
6955 var21
= 0; /* is null */
6957 var21
= 1; /* arg is null and recv is not */
6960 { /* Inline kernel#Object#!= (var_anchor,((val*)NULL)) on <var_anchor:nullable MClassType> */
6961 var_other24
= ((val
*)NULL
);
6963 var25
= ((short int(*)(val
* self
, val
* p0
))(var_anchor
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_anchor
, var_other24
); /* == on <var_anchor:nullable MClassType(MClassType)>*/
6968 RET_LABEL23
:(void)0;
6972 if (unlikely(!var21
)) {
6973 PRINT_ERROR("Runtime error: %s", "Assert failed");
6974 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 900);
6978 var27
= ((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>*/
6980 var_resolved_self
= var27
;
6982 var_resolved_self
= self
;
6985 var28
= ((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)>*/
6987 var_supertypes
= var28
;
6988 var_29
= var_supertypes
;
6990 var30
= ((val
*(*)(val
* self
))((((long)var_29
&3)?class_info
[((long)var_29
&3)]:var_29
->class)->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_29
); /* iterator on <var_29:Set[MClassType]>*/
6995 var32
= ((short int(*)(val
* self
))((((long)var_31
&3)?class_info
[((long)var_31
&3)]:var_31
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_31
); /* is_ok on <var_31:Iterator[MClassType]>*/
6999 var33
= ((val
*(*)(val
* self
))((((long)var_31
&3)?class_info
[((long)var_31
&3)]:var_31
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_31
); /* item on <var_31:Iterator[MClassType]>*/
7001 var_supertype
= var33
;
7003 { /* Inline model#MClassType#mclass (var_supertype) on <var_supertype:MClassType> */
7004 var36
= var_supertype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_supertype:MClassType> */
7005 if (unlikely(var36
== NULL
)) {
7006 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7007 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
7011 RET_LABEL35
:(void)0;
7015 { /* Inline kernel#Object#== (var34,var_super_mclass) on <var34:MClass> */
7016 var_other
= var_super_mclass
;
7018 { /* Inline kernel#Object#is_same_instance (var34,var_other) on <var34:MClass> */
7019 var41
= var34
== var_other
;
7022 RET_LABEL40
:(void)0;
7027 RET_LABEL38
:(void)0;
7032 var42
= ((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
, 0); /* resolve_for on <var_supertype:MClassType>*/
7039 ((void(*)(val
* self
))((((long)var_31
&3)?class_info
[((long)var_31
&3)]:var_31
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_31
); /* next on <var_31:Iterator[MClassType]>*/
7045 BREAK_label
: (void)0;
7047 ((void(*)(val
* self
))((((long)var_31
&3)?class_info
[((long)var_31
&3)]:var_31
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_31
); /* finish on <var_31:Iterator[MClassType]>*/
7049 PRINT_ERROR("Runtime error: %s", "Aborted");
7050 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 912);
7055 /* method model#MType#lookup_bound for (self: MType, MModule, MType): MType */
7056 val
* nit___nit__MType___lookup_bound(val
* self
, val
* p0
, val
* p1
) {
7057 val
* var
/* : MType */;
7058 val
* var_mmodule
/* var mmodule: MModule */;
7059 val
* var_resolved_receiver
/* var resolved_receiver: MType */;
7061 var_resolved_receiver
= p1
;
7067 /* method model#MType#lookup_fixed for (self: MType, MModule, MType): MType */
7068 val
* nit___nit__MType___lookup_fixed(val
* self
, val
* p0
, val
* p1
) {
7069 val
* var
/* : MType */;
7070 val
* var_mmodule
/* var mmodule: MModule */;
7071 val
* var_resolved_receiver
/* var resolved_receiver: MType */;
7073 var_resolved_receiver
= p1
;
7079 /* method model#MType#can_resolve_for for (self: MType, MType, nullable MClassType, MModule): Bool */
7080 short int nit___nit__MType___can_resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7081 short int var
/* : Bool */;
7082 const char* var_class_name
;
7083 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
7084 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "can_resolve_for", var_class_name
);
7085 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1013);
7090 /* method model#MType#as_nullable for (self: MType): MType */
7091 val
* nit___nit__MType___as_nullable(val
* self
) {
7092 val
* var
/* : MType */;
7093 val
* var1
/* : nullable MType */;
7094 val
* var3
/* : nullable MType */;
7095 val
* var_res
/* var res: nullable MType */;
7096 short int var4
/* : Bool */;
7097 short int var5
/* : Bool */;
7098 val
* var_other
/* var other: nullable Object */;
7099 short int var7
/* : Bool */;
7100 short int var8
/* : Bool */;
7101 val
* var9
/* : MNullableType */;
7103 { /* Inline model#MType#as_nullable_cache (self) on <self:MType> */
7104 var3
= self
->attrs
[COLOR_nit__model__MType___as_nullable_cache
].val
; /* _as_nullable_cache on <self:MType> */
7110 if (var_res
== NULL
) {
7111 var4
= 0; /* is null */
7113 var4
= 1; /* arg is null and recv is not */
7116 { /* Inline kernel#Object#!= (var_res,((val*)NULL)) on <var_res:nullable MType> */
7117 var_other
= ((val
*)NULL
);
7119 var7
= ((short int(*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res
, var_other
); /* == on <var_res:nullable MType(MType)>*/
7133 var9
= NEW_nit__MNullableType(&type_nit__MNullableType
);
7135 ((void(*)(val
* self
, val
* p0
))(var9
->class->vft
[COLOR_nit__model__MProxyType__mtype_61d
]))(var9
, self
); /* mtype= on <var9:MNullableType>*/
7138 ((void(*)(val
* self
))(var9
->class->vft
[COLOR_standard__kernel__Object__init
]))(var9
); /* init on <var9:MNullableType>*/
7142 { /* Inline model#MType#as_nullable_cache= (self,var_res) on <self:MType> */
7143 self
->attrs
[COLOR_nit__model__MType___as_nullable_cache
].val
= var_res
; /* _as_nullable_cache on <self:MType> */
7144 RET_LABEL10
:(void)0;
7152 /* method model#MType#undecorate for (self: MType): MType */
7153 val
* nit___nit__MType___undecorate(val
* self
) {
7154 val
* var
/* : MType */;
7160 /* method model#MType#as_notnull for (self: MType): MType */
7161 val
* nit___nit__MType___as_notnull(val
* self
) {
7162 val
* var
/* : MType */;
7168 /* method model#MType#as_nullable_cache for (self: MType): nullable MType */
7169 val
* nit___nit__MType___as_nullable_cache(val
* self
) {
7170 val
* var
/* : nullable MType */;
7171 val
* var1
/* : nullable MType */;
7172 var1
= self
->attrs
[COLOR_nit__model__MType___as_nullable_cache
].val
; /* _as_nullable_cache on <self:MType> */
7177 /* method model#MType#as_nullable_cache= for (self: MType, nullable MType) */
7178 void nit___nit__MType___as_nullable_cache_61d(val
* self
, val
* p0
) {
7179 self
->attrs
[COLOR_nit__model__MType___as_nullable_cache
].val
= p0
; /* _as_nullable_cache on <self:MType> */
7182 /* method model#MType#length for (self: MType): Int */
7183 long nit___nit__MType___length(val
* self
) {
7184 long var
/* : Int */;
7190 /* method model#MType#collect_mclassdefs for (self: MType, MModule): Set[MClassDef] */
7191 val
* nit___nit__MType___collect_mclassdefs(val
* self
, val
* p0
) {
7192 val
* var
/* : Set[MClassDef] */;
7193 const char* var_class_name
;
7194 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
7195 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "collect_mclassdefs", var_class_name
);
7196 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1098);
7201 /* method model#MType#collect_mclasses for (self: MType, MModule): Set[MClass] */
7202 val
* nit___nit__MType___collect_mclasses(val
* self
, val
* p0
) {
7203 val
* var
/* : Set[MClass] */;
7204 const char* var_class_name
;
7205 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
7206 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "collect_mclasses", var_class_name
);
7207 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1108);
7212 /* method model#MType#collect_mtypes for (self: MType, MModule): Set[MClassType] */
7213 val
* nit___nit__MType___collect_mtypes(val
* self
, val
* p0
) {
7214 val
* var
/* : Set[MClassType] */;
7215 const char* var_class_name
;
7216 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
7217 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "collect_mtypes", var_class_name
);
7218 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1114);
7223 /* method model#MType#has_mproperty for (self: MType, MModule, MProperty): Bool */
7224 short int nit___nit__MType___has_mproperty(val
* self
, val
* p0
, val
* p1
) {
7225 short int var
/* : Bool */;
7226 val
* var_mmodule
/* var mmodule: MModule */;
7227 val
* var_mproperty
/* var mproperty: MProperty */;
7228 short int var1
/* : Bool */;
7229 short int var2
/* : Bool */;
7230 val
* var3
/* : Set[MClassDef] */;
7231 val
* var4
/* : MClassDef */;
7232 val
* var6
/* : MClassDef */;
7233 short int var7
/* : Bool */;
7237 var1
= ((short int(*)(val
* self
))(self
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(self
); /* need_anchor on <self:MType>*/
7240 if (unlikely(!var2
)) {
7241 PRINT_ERROR("Runtime error: %s", "Assert failed");
7242 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1127);
7246 var3
= ((val
*(*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nit__model__MType__collect_mclassdefs
]))(self
, var_mmodule
); /* collect_mclassdefs on <self:MType>*/
7249 { /* Inline model#MProperty#intro_mclassdef (var_mproperty) on <var_mproperty:MProperty> */
7250 var6
= var_mproperty
->attrs
[COLOR_nit__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_mproperty:MProperty> */
7251 if (unlikely(var6
== NULL
)) {
7252 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
7253 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1928);
7261 var7
= ((short int(*)(val
* self
, val
* p0
))((((long)var3
&3)?class_info
[((long)var3
&3)]:var3
->class)->vft
[COLOR_standard__abstract_collection__Collection__has
]))(var3
, var4
); /* has on <var3:Set[MClassDef]>*/
7268 /* method model#MClassType#mclass for (self: MClassType): MClass */
7269 val
* nit___nit__MClassType___mclass(val
* self
) {
7270 val
* var
/* : MClass */;
7271 val
* var1
/* : MClass */;
7272 var1
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
7273 if (unlikely(var1
== NULL
)) {
7274 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7275 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
7282 /* method model#MClassType#mclass= for (self: MClassType, MClass) */
7283 void nit___nit__MClassType___mclass_61d(val
* self
, val
* p0
) {
7284 self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
= p0
; /* _mclass on <self:MClassType> */
7287 /* method model#MClassType#model for (self: MClassType): Model */
7288 val
* nit___nit__MClassType___nit__model_base__MEntity__model(val
* self
) {
7289 val
* var
/* : Model */;
7290 val
* var1
/* : MClass */;
7291 val
* var3
/* : MClass */;
7292 val
* var4
/* : MModule */;
7293 val
* var6
/* : MModule */;
7294 val
* var7
/* : Model */;
7295 val
* var9
/* : Model */;
7297 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
7298 var3
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
7299 if (unlikely(var3
== NULL
)) {
7300 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7301 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
7309 { /* Inline model#MClass#intro_mmodule (var1) on <var1:MClass> */
7310 var6
= var1
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var1:MClass> */
7311 if (unlikely(var6
== NULL
)) {
7312 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
7313 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 357);
7321 { /* Inline mmodule#MModule#model (var4) on <var4:MModule> */
7322 var9
= var4
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <var4:MModule> */
7323 if (unlikely(var9
== NULL
)) {
7324 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
7325 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
7337 /* method model#MClassType#arguments for (self: MClassType): Array[MType] */
7338 val
* nit___nit__MClassType___arguments(val
* self
) {
7339 val
* var
/* : Array[MType] */;
7340 val
* var1
/* : Array[MType] */;
7341 var1
= self
->attrs
[COLOR_nit__model__MClassType___arguments
].val
; /* _arguments on <self:MClassType> */
7342 if (unlikely(var1
== NULL
)) {
7343 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
7344 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1145);
7351 /* method model#MClassType#arguments= for (self: MClassType, Array[MType]) */
7352 void nit___nit__MClassType___arguments_61d(val
* self
, val
* p0
) {
7353 self
->attrs
[COLOR_nit__model__MClassType___arguments
].val
= p0
; /* _arguments on <self:MClassType> */
7356 /* method model#MClassType#to_s for (self: MClassType): String */
7357 val
* nit___nit__MClassType___standard__string__Object__to_s(val
* self
) {
7358 val
* var
/* : String */;
7359 val
* var1
/* : MClass */;
7360 val
* var3
/* : MClass */;
7361 val
* var4
/* : String */;
7363 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
7364 var3
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
7365 if (unlikely(var3
== NULL
)) {
7366 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7367 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
7375 var4
= nit___nit__MClass___standard__string__Object__to_s(var1
);
7382 /* method model#MClassType#full_name for (self: MClassType): String */
7383 val
* nit___nit__MClassType___nit__model_base__MEntity__full_name(val
* self
) {
7384 val
* var
/* : String */;
7385 val
* var1
/* : MClass */;
7386 val
* var3
/* : MClass */;
7387 val
* var4
/* : String */;
7389 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
7390 var3
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
7391 if (unlikely(var3
== NULL
)) {
7392 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7393 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
7401 var4
= nit___nit__MClass___nit__model_base__MEntity__full_name(var1
);
7408 /* method model#MClassType#c_name for (self: MClassType): String */
7409 val
* nit___nit__MClassType___nit__model_base__MEntity__c_name(val
* self
) {
7410 val
* var
/* : String */;
7411 val
* var1
/* : MClass */;
7412 val
* var3
/* : MClass */;
7413 val
* var4
/* : String */;
7415 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
7416 var3
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
7417 if (unlikely(var3
== NULL
)) {
7418 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7419 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
7427 var4
= nit___nit__MClass___nit__model_base__MEntity__c_name(var1
);
7434 /* method model#MClassType#need_anchor for (self: MClassType): Bool */
7435 short int nit___nit__MClassType___MType__need_anchor(val
* self
) {
7436 short int var
/* : Bool */;
7442 /* method model#MClassType#anchor_to for (self: MClassType, MModule, MClassType): MClassType */
7443 val
* nit___nit__MClassType___MType__anchor_to(val
* self
, val
* p0
, val
* p1
) {
7444 val
* var
/* : MClassType */;
7445 val
* var_mmodule
/* var mmodule: MModule */;
7446 val
* var_anchor
/* var anchor: MClassType */;
7447 val
* var1
/* : MType */;
7448 short int var2
/* : Bool */;
7451 const char* var_class_name
;
7455 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>*/
7457 /* <var1:MType> isa MClassType */
7458 cltype
= type_nit__MClassType
.color
;
7459 idtype
= type_nit__MClassType
.id
;
7460 if(cltype
>= var1
->type
->table_size
) {
7463 var2
= var1
->type
->type_table
[cltype
] == idtype
;
7465 if (unlikely(!var2
)) {
7466 var_class_name
= var1
== NULL ?
"null" : var1
->type
->name
;
7467 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
7468 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1159);
7476 /* method model#MClassType#resolve_for for (self: MClassType, MType, nullable MClassType, MModule, Bool): MClassType */
7477 val
* nit___nit__MClassType___MType__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
7478 val
* var
/* : MClassType */;
7479 val
* var_mtype
/* var mtype: MType */;
7480 val
* var_anchor
/* var anchor: nullable MClassType */;
7481 val
* var_mmodule
/* var mmodule: MModule */;
7482 short int var_cleanup_virtual
/* var cleanup_virtual: Bool */;
7486 var_cleanup_virtual
= p3
;
7492 /* method model#MClassType#can_resolve_for for (self: MClassType, MType, nullable MClassType, MModule): Bool */
7493 short int nit___nit__MClassType___MType__can_resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7494 short int var
/* : Bool */;
7495 val
* var_mtype
/* var mtype: MType */;
7496 val
* var_anchor
/* var anchor: nullable MClassType */;
7497 val
* var_mmodule
/* var mmodule: MModule */;
7506 /* method model#MClassType#collect_mclassdefs for (self: MClassType, MModule): Set[MClassDef] */
7507 val
* nit___nit__MClassType___MType__collect_mclassdefs(val
* self
, val
* p0
) {
7508 val
* var
/* : Set[MClassDef] */;
7509 val
* var_mmodule
/* var mmodule: MModule */;
7510 short int var1
/* : Bool */;
7511 short int var2
/* : Bool */;
7512 val
* var3
/* : HashMap[MModule, Set[MClassDef]] */;
7513 val
* var5
/* : HashMap[MModule, Set[MClassDef]] */;
7514 val
* var_cache
/* var cache: HashMap[MModule, Set[MClassDef]] */;
7515 short int var6
/* : Bool */;
7516 short int var7
/* : Bool */;
7517 val
* var8
/* : nullable Object */;
7520 var1
= ((short int(*)(val
* self
))(self
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(self
); /* need_anchor on <self:MClassType>*/
7523 if (unlikely(!var2
)) {
7524 PRINT_ERROR("Runtime error: %s", "Assert failed");
7525 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1168);
7529 { /* Inline model#MClassType#collect_mclassdefs_cache (self) on <self:MClassType> */
7530 var5
= self
->attrs
[COLOR_nit__model__MClassType___collect_mclassdefs_cache
].val
; /* _collect_mclassdefs_cache on <self:MClassType> */
7531 if (unlikely(var5
== NULL
)) {
7532 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclassdefs_cache");
7533 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1233);
7542 var6
= standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var_cache
, var_mmodule
);
7547 nit___nit__MClassType___collect_things(self
, var_mmodule
); /* Direct call model#MClassType#collect_things on <self:MClassType>*/
7552 var8
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_cache
, var_mmodule
);
7559 /* method model#MClassType#collect_mclasses for (self: MClassType, MModule): Set[MClass] */
7560 val
* nit___nit__MClassType___MType__collect_mclasses(val
* self
, val
* p0
) {
7561 val
* var
/* : Set[MClass] */;
7562 val
* var_mmodule
/* var mmodule: MModule */;
7563 val
* var1
/* : nullable MModule */;
7564 val
* var3
/* : nullable MModule */;
7565 short int var4
/* : Bool */;
7566 short int var5
/* : Bool */;
7567 val
* var_other
/* var other: nullable Object */;
7568 short int var7
/* : Bool */;
7569 short int var9
/* : Bool */;
7570 val
* var10
/* : Set[MClass] */;
7571 val
* var12
/* : Set[MClass] */;
7572 short int var13
/* : Bool */;
7573 short int var14
/* : Bool */;
7574 val
* var15
/* : HashMap[MModule, Set[MClass]] */;
7575 val
* var17
/* : HashMap[MModule, Set[MClass]] */;
7576 val
* var_cache
/* var cache: HashMap[MModule, Set[MClass]] */;
7577 short int var18
/* : Bool */;
7578 short int var19
/* : Bool */;
7579 val
* var20
/* : nullable Object */;
7580 val
* var_res
/* var res: Set[MClass] */;
7583 { /* Inline model#MClassType#collect_mclasses_last_module (self) on <self:MClassType> */
7584 var3
= self
->attrs
[COLOR_nit__model__MClassType___collect_mclasses_last_module
].val
; /* _collect_mclasses_last_module on <self:MClassType> */
7590 var4
= 0; /* <var_mmodule:MModule> cannot be null */
7592 { /* Inline kernel#Object#== (var1,var_mmodule) on <var1:nullable MModule> */
7593 var_other
= var_mmodule
;
7595 { /* Inline kernel#Object#is_same_instance (var1,var_other) on <var1:nullable MModule(MModule)> */
7596 var9
= var1
== var_other
;
7610 { /* Inline model#MClassType#collect_mclasses_last_module_cache (self) on <self:MClassType> */
7611 var12
= self
->attrs
[COLOR_nit__model__MClassType___collect_mclasses_last_module_cache
].val
; /* _collect_mclasses_last_module_cache on <self:MClassType> */
7612 if (unlikely(var12
== NULL
)) {
7613 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclasses_last_module_cache");
7614 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1191);
7618 RET_LABEL11
:(void)0;
7626 var13
= ((short int(*)(val
* self
))(self
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(self
); /* need_anchor on <self:MClassType>*/
7629 if (unlikely(!var14
)) {
7630 PRINT_ERROR("Runtime error: %s", "Assert failed");
7631 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1179);
7635 { /* Inline model#MClassType#collect_mclasses_cache (self) on <self:MClassType> */
7636 var17
= self
->attrs
[COLOR_nit__model__MClassType___collect_mclasses_cache
].val
; /* _collect_mclasses_cache on <self:MClassType> */
7637 if (unlikely(var17
== NULL
)) {
7638 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclasses_cache");
7639 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1234);
7643 RET_LABEL16
:(void)0;
7648 var18
= standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var_cache
, var_mmodule
);
7653 nit___nit__MClassType___collect_things(self
, var_mmodule
); /* Direct call model#MClassType#collect_things on <self:MClassType>*/
7658 var20
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_cache
, var_mmodule
);
7662 { /* Inline model#MClassType#collect_mclasses_last_module= (self,var_mmodule) on <self:MClassType> */
7663 self
->attrs
[COLOR_nit__model__MClassType___collect_mclasses_last_module
].val
= var_mmodule
; /* _collect_mclasses_last_module on <self:MClassType> */
7664 RET_LABEL21
:(void)0;
7668 { /* Inline model#MClassType#collect_mclasses_last_module_cache= (self,var_res) on <self:MClassType> */
7669 self
->attrs
[COLOR_nit__model__MClassType___collect_mclasses_last_module_cache
].val
= var_res
; /* _collect_mclasses_last_module_cache on <self:MClassType> */
7670 RET_LABEL22
:(void)0;
7678 /* method model#MClassType#collect_mclasses_last_module for (self: MClassType): nullable MModule */
7679 val
* nit___nit__MClassType___collect_mclasses_last_module(val
* self
) {
7680 val
* var
/* : nullable MModule */;
7681 val
* var1
/* : nullable MModule */;
7682 var1
= self
->attrs
[COLOR_nit__model__MClassType___collect_mclasses_last_module
].val
; /* _collect_mclasses_last_module on <self:MClassType> */
7687 /* method model#MClassType#collect_mclasses_last_module= for (self: MClassType, nullable MModule) */
7688 void nit___nit__MClassType___collect_mclasses_last_module_61d(val
* self
, val
* p0
) {
7689 self
->attrs
[COLOR_nit__model__MClassType___collect_mclasses_last_module
].val
= p0
; /* _collect_mclasses_last_module on <self:MClassType> */
7692 /* method model#MClassType#collect_mclasses_last_module_cache for (self: MClassType): Set[MClass] */
7693 val
* nit___nit__MClassType___collect_mclasses_last_module_cache(val
* self
) {
7694 val
* var
/* : Set[MClass] */;
7695 val
* var1
/* : Set[MClass] */;
7696 var1
= self
->attrs
[COLOR_nit__model__MClassType___collect_mclasses_last_module_cache
].val
; /* _collect_mclasses_last_module_cache on <self:MClassType> */
7697 if (unlikely(var1
== NULL
)) {
7698 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclasses_last_module_cache");
7699 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1191);
7706 /* method model#MClassType#collect_mclasses_last_module_cache= for (self: MClassType, Set[MClass]) */
7707 void nit___nit__MClassType___collect_mclasses_last_module_cache_61d(val
* self
, val
* p0
) {
7708 self
->attrs
[COLOR_nit__model__MClassType___collect_mclasses_last_module_cache
].val
= p0
; /* _collect_mclasses_last_module_cache on <self:MClassType> */
7711 /* method model#MClassType#collect_mtypes for (self: MClassType, MModule): Set[MClassType] */
7712 val
* nit___nit__MClassType___MType__collect_mtypes(val
* self
, val
* p0
) {
7713 val
* var
/* : Set[MClassType] */;
7714 val
* var_mmodule
/* var mmodule: MModule */;
7715 short int var1
/* : Bool */;
7716 short int var2
/* : Bool */;
7717 val
* var3
/* : HashMap[MModule, Set[MClassType]] */;
7718 val
* var5
/* : HashMap[MModule, Set[MClassType]] */;
7719 val
* var_cache
/* var cache: HashMap[MModule, Set[MClassType]] */;
7720 short int var6
/* : Bool */;
7721 short int var7
/* : Bool */;
7722 val
* var8
/* : nullable Object */;
7725 var1
= ((short int(*)(val
* self
))(self
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(self
); /* need_anchor on <self:MClassType>*/
7728 if (unlikely(!var2
)) {
7729 PRINT_ERROR("Runtime error: %s", "Assert failed");
7730 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1195);
7734 { /* Inline model#MClassType#collect_mtypes_cache (self) on <self:MClassType> */
7735 var5
= self
->attrs
[COLOR_nit__model__MClassType___collect_mtypes_cache
].val
; /* _collect_mtypes_cache on <self:MClassType> */
7736 if (unlikely(var5
== NULL
)) {
7737 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mtypes_cache");
7738 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1235);
7747 var6
= standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var_cache
, var_mmodule
);
7752 nit___nit__MClassType___collect_things(self
, var_mmodule
); /* Direct call model#MClassType#collect_things on <self:MClassType>*/
7757 var8
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_cache
, var_mmodule
);
7764 /* method model#MClassType#collect_things for (self: MClassType, MModule) */
7765 void nit___nit__MClassType___collect_things(val
* self
, val
* p0
) {
7766 val
* var_mmodule
/* var mmodule: MModule */;
7767 val
* var
/* : HashSet[MClassDef] */;
7768 val
* var_res
/* var res: HashSet[MClassDef] */;
7769 val
* var1
/* : HashSet[MClass] */;
7770 val
* var_seen
/* var seen: HashSet[MClass] */;
7771 val
* var2
/* : HashSet[MClassType] */;
7772 val
* var_types
/* var types: HashSet[MClassType] */;
7773 val
* var3
/* : MClass */;
7774 val
* var5
/* : MClass */;
7775 val
* var6
/* : Array[MClass] */;
7776 val
* var_
/* var : Array[MClass] */;
7777 val
* var7
/* : MClass */;
7778 val
* var9
/* : MClass */;
7779 val
* var_todo
/* var todo: Array[MClass] */;
7780 short int var10
/* : Bool */;
7781 short int var11
/* : Bool */;
7782 val
* var12
/* : nullable Object */;
7783 val
* var_mclass
/* var mclass: MClass */;
7784 val
* var13
/* : Array[MClassDef] */;
7785 val
* var15
/* : Array[MClassDef] */;
7786 val
* var_16
/* var : Array[MClassDef] */;
7787 val
* var17
/* : ArrayIterator[nullable Object] */;
7788 val
* var_18
/* var : ArrayIterator[MClassDef] */;
7789 short int var19
/* : Bool */;
7790 val
* var20
/* : nullable Object */;
7791 val
* var_mclassdef
/* var mclassdef: MClassDef */;
7792 val
* var21
/* : POSetElement[MModule] */;
7793 val
* var23
/* : POSetElement[MModule] */;
7794 val
* var24
/* : MModule */;
7795 val
* var26
/* : MModule */;
7796 short int var27
/* : Bool */;
7797 short int var28
/* : Bool */;
7798 val
* var29
/* : Array[MClassType] */;
7799 val
* var31
/* : Array[MClassType] */;
7800 val
* var_32
/* var : Array[MClassType] */;
7801 val
* var33
/* : ArrayIterator[nullable Object] */;
7802 val
* var_34
/* var : ArrayIterator[MClassType] */;
7803 short int var35
/* : Bool */;
7804 val
* var36
/* : nullable Object */;
7805 val
* var_supertype
/* var supertype: MClassType */;
7806 val
* var37
/* : MClass */;
7807 val
* var39
/* : MClass */;
7808 val
* var_superclass
/* var superclass: MClass */;
7809 short int var40
/* : Bool */;
7810 val
* var45
/* : HashMap[MModule, Set[MClassDef]] */;
7811 val
* var47
/* : HashMap[MModule, Set[MClassDef]] */;
7812 val
* var48
/* : HashMap[MModule, Set[MClass]] */;
7813 val
* var50
/* : HashMap[MModule, Set[MClass]] */;
7814 val
* var51
/* : HashMap[MModule, Set[MClassType]] */;
7815 val
* var53
/* : HashMap[MModule, Set[MClassType]] */;
7817 var
= NEW_standard__HashSet(&type_standard__HashSet__nit__MClassDef
);
7819 standard___standard__HashSet___standard__kernel__Object__init(var
); /* Direct call hash_collection#HashSet#init on <var:HashSet[MClassDef]>*/
7822 var1
= NEW_standard__HashSet(&type_standard__HashSet__nit__MClass
);
7824 standard___standard__HashSet___standard__kernel__Object__init(var1
); /* Direct call hash_collection#HashSet#init on <var1:HashSet[MClass]>*/
7827 var2
= NEW_standard__HashSet(&type_standard__HashSet__nit__MClassType
);
7829 standard___standard__HashSet___standard__kernel__Object__init(var2
); /* Direct call hash_collection#HashSet#init on <var2:HashSet[MClassType]>*/
7833 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
7834 var5
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
7835 if (unlikely(var5
== NULL
)) {
7836 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7837 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
7845 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var_seen
, var3
); /* Direct call hash_collection#HashSet#add on <var_seen:HashSet[MClass]>*/
7847 var6
= NEW_standard__Array(&type_standard__Array__nit__MClass
);
7849 standard___standard__Array___with_capacity(var6
, 1l); /* Direct call array#Array#with_capacity on <var6:Array[MClass]>*/
7853 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
7854 var9
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
7855 if (unlikely(var9
== NULL
)) {
7856 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7857 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
7865 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var7
); /* Direct call array#AbstractArray#push on <var_:Array[MClass]>*/
7870 var10
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_todo
);
7875 var12
= standard___standard__AbstractArray___standard__abstract_collection__Sequence__pop(var_todo
);
7879 { /* Inline model#MClass#mclassdefs (var_mclass) on <var_mclass:MClass> */
7880 var15
= var_mclass
->attrs
[COLOR_nit__model__MClass___mclassdefs
].val
; /* _mclassdefs on <var_mclass:MClass> */
7881 if (unlikely(var15
== NULL
)) {
7882 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
7883 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 454);
7887 RET_LABEL14
:(void)0;
7892 var17
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_16
);
7897 var19
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_18
);
7901 var20
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_18
);
7903 var_mclassdef
= var20
;
7905 { /* Inline mmodule#MModule#in_importation (var_mmodule) on <var_mmodule:MModule> */
7906 var23
= var_mmodule
->attrs
[COLOR_nit__mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mmodule:MModule> */
7907 if (unlikely(var23
== NULL
)) {
7908 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
7909 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 96);
7913 RET_LABEL22
:(void)0;
7917 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
7918 var26
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
7919 if (unlikely(var26
== NULL
)) {
7920 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
7921 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
7925 RET_LABEL25
:(void)0;
7929 var27
= poset___poset__POSetElement____60d_61d(var21
, var24
);
7937 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var_res
, var_mclassdef
); /* Direct call hash_collection#HashSet#add on <var_res:HashSet[MClassDef]>*/
7940 { /* Inline model#MClassDef#supertypes (var_mclassdef) on <var_mclassdef:MClassDef> */
7941 var31
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___supertypes
].val
; /* _supertypes on <var_mclassdef:MClassDef> */
7942 if (unlikely(var31
== NULL
)) {
7943 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
7944 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 627);
7948 RET_LABEL30
:(void)0;
7953 var33
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_32
);
7958 var35
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_34
);
7962 var36
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_34
);
7964 var_supertype
= var36
;
7966 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var_types
, var_supertype
); /* Direct call hash_collection#HashSet#add on <var_types:HashSet[MClassType]>*/
7969 { /* Inline model#MClassType#mclass (var_supertype) on <var_supertype:MClassType> */
7970 var39
= var_supertype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_supertype:MClassType> */
7971 if (unlikely(var39
== NULL
)) {
7972 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7973 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
7977 RET_LABEL38
:(void)0;
7980 var_superclass
= var37
;
7982 var40
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var_seen
, var_superclass
);
7989 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var_seen
, var_superclass
); /* Direct call hash_collection#HashSet#add on <var_seen:HashSet[MClass]>*/
7992 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_todo
, var_superclass
); /* Direct call array#Array#add on <var_todo:Array[MClass]>*/
7994 BREAK_label41
: (void)0;
7996 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_34
); /* Direct call array#ArrayIterator#next on <var_34:ArrayIterator[MClassType]>*/
8002 BREAK_label42
: (void)0;
8004 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_34
); /* Direct call array#ArrayIterator#finish on <var_34:ArrayIterator[MClassType]>*/
8006 BREAK_label
: (void)0;
8008 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_18
); /* Direct call array#ArrayIterator#next on <var_18:ArrayIterator[MClassDef]>*/
8014 BREAK_label43
: (void)0;
8016 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_18
); /* Direct call array#ArrayIterator#finish on <var_18:ArrayIterator[MClassDef]>*/
8022 BREAK_label44
: (void)0;
8024 { /* Inline model#MClassType#collect_mclassdefs_cache (self) on <self:MClassType> */
8025 var47
= self
->attrs
[COLOR_nit__model__MClassType___collect_mclassdefs_cache
].val
; /* _collect_mclassdefs_cache on <self:MClassType> */
8026 if (unlikely(var47
== NULL
)) {
8027 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclassdefs_cache");
8028 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1233);
8032 RET_LABEL46
:(void)0;
8036 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var45
, var_mmodule
, var_res
); /* Direct call hash_collection#HashMap#[]= on <var45:HashMap[MModule, Set[MClassDef]]>*/
8039 { /* Inline model#MClassType#collect_mclasses_cache (self) on <self:MClassType> */
8040 var50
= self
->attrs
[COLOR_nit__model__MClassType___collect_mclasses_cache
].val
; /* _collect_mclasses_cache on <self:MClassType> */
8041 if (unlikely(var50
== NULL
)) {
8042 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclasses_cache");
8043 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1234);
8047 RET_LABEL49
:(void)0;
8051 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var48
, var_mmodule
, var_seen
); /* Direct call hash_collection#HashMap#[]= on <var48:HashMap[MModule, Set[MClass]]>*/
8054 { /* Inline model#MClassType#collect_mtypes_cache (self) on <self:MClassType> */
8055 var53
= self
->attrs
[COLOR_nit__model__MClassType___collect_mtypes_cache
].val
; /* _collect_mtypes_cache on <self:MClassType> */
8056 if (unlikely(var53
== NULL
)) {
8057 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mtypes_cache");
8058 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1235);
8062 RET_LABEL52
:(void)0;
8066 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var51
, var_mmodule
, var_types
); /* Direct call hash_collection#HashMap#[]= on <var51:HashMap[MModule, Set[MClassType]]>*/
8070 /* method model#MClassType#collect_mclassdefs_cache for (self: MClassType): HashMap[MModule, Set[MClassDef]] */
8071 val
* nit___nit__MClassType___collect_mclassdefs_cache(val
* self
) {
8072 val
* var
/* : HashMap[MModule, Set[MClassDef]] */;
8073 val
* var1
/* : HashMap[MModule, Set[MClassDef]] */;
8074 var1
= self
->attrs
[COLOR_nit__model__MClassType___collect_mclassdefs_cache
].val
; /* _collect_mclassdefs_cache on <self:MClassType> */
8075 if (unlikely(var1
== NULL
)) {
8076 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclassdefs_cache");
8077 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1233);
8084 /* method model#MClassType#collect_mclasses_cache for (self: MClassType): HashMap[MModule, Set[MClass]] */
8085 val
* nit___nit__MClassType___collect_mclasses_cache(val
* self
) {
8086 val
* var
/* : HashMap[MModule, Set[MClass]] */;
8087 val
* var1
/* : HashMap[MModule, Set[MClass]] */;
8088 var1
= self
->attrs
[COLOR_nit__model__MClassType___collect_mclasses_cache
].val
; /* _collect_mclasses_cache on <self:MClassType> */
8089 if (unlikely(var1
== NULL
)) {
8090 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclasses_cache");
8091 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1234);
8098 /* method model#MClassType#collect_mtypes_cache for (self: MClassType): HashMap[MModule, Set[MClassType]] */
8099 val
* nit___nit__MClassType___collect_mtypes_cache(val
* self
) {
8100 val
* var
/* : HashMap[MModule, Set[MClassType]] */;
8101 val
* var1
/* : HashMap[MModule, Set[MClassType]] */;
8102 var1
= self
->attrs
[COLOR_nit__model__MClassType___collect_mtypes_cache
].val
; /* _collect_mtypes_cache on <self:MClassType> */
8103 if (unlikely(var1
== NULL
)) {
8104 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mtypes_cache");
8105 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1235);
8112 /* method model#MClassType#init for (self: MClassType) */
8113 void nit___nit__MClassType___standard__kernel__Object__init(val
* self
) {
8115 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nit___nit__MClassType___standard__kernel__Object__init
]))(self
); /* init on <self:MClassType>*/
8119 /* method model#MGenericType#arguments for (self: MGenericType): Array[MType] */
8120 val
* nit___nit__MGenericType___MClassType__arguments(val
* self
) {
8121 val
* var
/* : Array[MType] */;
8122 val
* var1
/* : Array[MType] */;
8123 var1
= self
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
8124 if (unlikely(var1
== NULL
)) {
8125 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
8126 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1244);
8133 /* method model#MGenericType#arguments= for (self: MGenericType, Array[MType]) */
8134 void nit___nit__MGenericType___MClassType__arguments_61d(val
* self
, val
* p0
) {
8135 self
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
= p0
; /* _arguments on <self:MGenericType> */
8138 /* method model#MGenericType#init for (self: MGenericType) */
8139 void nit___nit__MGenericType___standard__kernel__Object__init(val
* self
) {
8140 val
* var
/* : MClass */;
8141 val
* var2
/* : MClass */;
8142 long var3
/* : Int */;
8143 long var5
/* : Int */;
8144 val
* var6
/* : Array[MType] */;
8145 val
* var8
/* : Array[MType] */;
8146 long var9
/* : Int */;
8147 long var11
/* : Int */;
8148 short int var12
/* : Bool */;
8149 short int var14
/* : Bool */;
8150 val
* var16
/* : Array[MType] */;
8151 val
* var18
/* : Array[MType] */;
8152 val
* var_
/* var : Array[MType] */;
8153 val
* var19
/* : ArrayIterator[nullable Object] */;
8154 val
* var_20
/* var : ArrayIterator[MType] */;
8155 short int var21
/* : Bool */;
8156 val
* var22
/* : nullable Object */;
8157 val
* var_t
/* var t: MType */;
8158 short int var23
/* : Bool */;
8159 val
* var25
/* : NativeArray[String] */;
8160 static val
* varonce
;
8161 static val
* varonce26
;
8162 val
* var27
/* : String */;
8163 char* var28
/* : NativeString */;
8164 val
* var29
/* : FlatString */;
8165 static val
* varonce30
;
8166 val
* var31
/* : String */;
8167 char* var32
/* : NativeString */;
8168 val
* var33
/* : FlatString */;
8169 val
* var34
/* : MClass */;
8170 val
* var36
/* : MClass */;
8171 val
* var37
/* : String */;
8172 val
* var38
/* : Array[MType] */;
8173 val
* var40
/* : Array[MType] */;
8174 static val
* varonce41
;
8175 val
* var42
/* : String */;
8176 char* var43
/* : NativeString */;
8177 val
* var44
/* : FlatString */;
8178 val
* var45
/* : String */;
8179 val
* var46
/* : String */;
8181 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nit___nit__MGenericType___standard__kernel__Object__init
]))(self
); /* init on <self:MGenericType>*/
8184 { /* Inline model#MClassType#mclass (self) on <self:MGenericType> */
8185 var2
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MGenericType> */
8186 if (unlikely(var2
== NULL
)) {
8187 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8188 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
8196 { /* Inline model#MClass#arity (var) on <var:MClass> */
8197 var5
= var
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <var:MClass> */
8203 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
8204 var8
= self
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
8205 if (unlikely(var8
== NULL
)) {
8206 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
8207 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1244);
8215 { /* Inline array#AbstractArrayRead#length (var6) on <var6:Array[MType]> */
8216 var11
= var6
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var6:Array[MType]> */
8218 RET_LABEL10
:(void)0;
8222 { /* Inline kernel#Int#== (var3,var9) on <var3:Int> */
8223 var14
= var3
== var9
;
8226 RET_LABEL13
:(void)0;
8229 if (unlikely(!var12
)) {
8230 PRINT_ERROR("Runtime error: %s", "Assert failed");
8231 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1250);
8235 { /* Inline model#MGenericType#need_anchor= (self,0) on <self:MGenericType> */
8236 self
->attrs
[COLOR_nit__model__MGenericType___need_anchor
].s
= 0; /* _need_anchor on <self:MGenericType> */
8237 RET_LABEL15
:(void)0;
8241 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
8242 var18
= self
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
8243 if (unlikely(var18
== NULL
)) {
8244 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
8245 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1244);
8249 RET_LABEL17
:(void)0;
8254 var19
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
8259 var21
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_20
);
8263 var22
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_20
);
8267 var23
= ((short int(*)(val
* self
))(var_t
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_t
); /* need_anchor on <var_t:MType>*/
8271 { /* Inline model#MGenericType#need_anchor= (self,1) on <self:MGenericType> */
8272 self
->attrs
[COLOR_nit__model__MGenericType___need_anchor
].s
= 1; /* _need_anchor on <self:MGenericType> */
8273 RET_LABEL24
:(void)0;
8280 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_20
); /* Direct call array#ArrayIterator#next on <var_20:ArrayIterator[MType]>*/
8286 BREAK_label
: (void)0;
8288 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_20
); /* Direct call array#ArrayIterator#finish on <var_20:ArrayIterator[MType]>*/
8290 if (unlikely(varonce
==NULL
)) {
8291 var25
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
8292 if (likely(varonce26
!=NULL
)) {
8296 var29
= standard___standard__NativeString___to_s_with_length(var28
, 1l);
8300 ((struct instance_standard__NativeArray
*)var25
)->values
[1]=var27
;
8301 if (likely(varonce30
!=NULL
)) {
8305 var33
= standard___standard__NativeString___to_s_with_length(var32
, 1l);
8309 ((struct instance_standard__NativeArray
*)var25
)->values
[3]=var31
;
8315 { /* Inline model#MClassType#mclass (self) on <self:MGenericType> */
8316 var36
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MGenericType> */
8317 if (unlikely(var36
== NULL
)) {
8318 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8319 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
8323 RET_LABEL35
:(void)0;
8327 var37
= ((val
*(*)(val
* self
))(var34
->class->vft
[COLOR_standard__string__Object__to_s
]))(var34
); /* to_s on <var34:MClass>*/
8329 ((struct instance_standard__NativeArray
*)var25
)->values
[0]=var37
;
8331 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
8332 var40
= self
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
8333 if (unlikely(var40
== NULL
)) {
8334 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
8335 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1244);
8339 RET_LABEL39
:(void)0;
8342 if (likely(varonce41
!=NULL
)) {
8346 var44
= standard___standard__NativeString___to_s_with_length(var43
, 2l);
8351 var45
= standard__string___Collection___join(var38
, var42
);
8353 ((struct instance_standard__NativeArray
*)var25
)->values
[2]=var45
;
8355 var46
= ((val
*(*)(val
* self
))(var25
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var25
); /* native_to_s on <var25:NativeArray[String]>*/
8359 { /* Inline model#MGenericType#to_s= (self,var46) on <self:MGenericType> */
8360 self
->attrs
[COLOR_nit__model__MGenericType___to_s
].val
= var46
; /* _to_s on <self:MGenericType> */
8361 RET_LABEL47
:(void)0;
8366 /* method model#MGenericType#to_s for (self: MGenericType): String */
8367 val
* nit___nit__MGenericType___standard__string__Object__to_s(val
* self
) {
8368 val
* var
/* : String */;
8369 val
* var1
/* : String */;
8370 var1
= self
->attrs
[COLOR_nit__model__MGenericType___to_s
].val
; /* _to_s on <self:MGenericType> */
8371 if (unlikely(var1
== NULL
)) {
8372 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s");
8373 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1263);
8380 /* method model#MGenericType#to_s= for (self: MGenericType, String) */
8381 void nit___nit__MGenericType___to_s_61d(val
* self
, val
* p0
) {
8382 self
->attrs
[COLOR_nit__model__MGenericType___to_s
].val
= p0
; /* _to_s on <self:MGenericType> */
8385 /* method model#MGenericType#full_name for (self: MGenericType): String */
8386 val
* nit___nit__MGenericType___nit__model_base__MEntity__full_name(val
* self
) {
8387 val
* var
/* : String */;
8388 short int var1
/* : Bool */;
8389 val
* var2
/* : String */;
8390 val
* var3
/* : String */;
8391 val
* var5
/* : Array[String] */;
8392 val
* var_args
/* var args: Array[String] */;
8393 val
* var6
/* : Array[MType] */;
8394 val
* var8
/* : Array[MType] */;
8395 val
* var_
/* var : Array[MType] */;
8396 val
* var9
/* : ArrayIterator[nullable Object] */;
8397 val
* var_10
/* var : ArrayIterator[MType] */;
8398 short int var11
/* : Bool */;
8399 val
* var12
/* : nullable Object */;
8400 val
* var_t
/* var t: MType */;
8401 val
* var13
/* : String */;
8402 val
* var14
/* : NativeArray[String] */;
8403 static val
* varonce
;
8404 static val
* varonce15
;
8405 val
* var16
/* : String */;
8406 char* var17
/* : NativeString */;
8407 val
* var18
/* : FlatString */;
8408 static val
* varonce19
;
8409 val
* var20
/* : String */;
8410 char* var21
/* : NativeString */;
8411 val
* var22
/* : FlatString */;
8412 val
* var23
/* : MClass */;
8413 val
* var25
/* : MClass */;
8414 val
* var26
/* : String */;
8415 static val
* varonce27
;
8416 val
* var28
/* : String */;
8417 char* var29
/* : NativeString */;
8418 val
* var30
/* : FlatString */;
8419 val
* var31
/* : String */;
8420 val
* var32
/* : String */;
8421 var1
= self
->attrs
[COLOR_nit__model__MGenericType___full_name
].val
!= NULL
; /* _full_name on <self:MGenericType> */
8423 var2
= self
->attrs
[COLOR_nit__model__MGenericType___full_name
].val
; /* _full_name on <self:MGenericType> */
8424 if (unlikely(var2
== NULL
)) {
8425 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _full_name");
8426 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1267);
8431 var5
= NEW_standard__Array(&type_standard__Array__standard__String
);
8433 standard___standard__Array___standard__kernel__Object__init(var5
); /* Direct call array#Array#init on <var5:Array[String]>*/
8437 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
8438 var8
= self
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
8439 if (unlikely(var8
== NULL
)) {
8440 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
8441 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1244);
8450 var9
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
8455 var11
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_10
);
8459 var12
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_10
);
8463 var13
= ((val
*(*)(val
* self
))(var_t
->class->vft
[COLOR_nit__model_base__MEntity__full_name
]))(var_t
); /* full_name on <var_t:MType>*/
8466 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_args
, var13
); /* Direct call array#Array#add on <var_args:Array[String]>*/
8469 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_10
); /* Direct call array#ArrayIterator#next on <var_10:ArrayIterator[MType]>*/
8475 BREAK_label
: (void)0;
8477 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_10
); /* Direct call array#ArrayIterator#finish on <var_10:ArrayIterator[MType]>*/
8479 if (unlikely(varonce
==NULL
)) {
8480 var14
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
8481 if (likely(varonce15
!=NULL
)) {
8485 var18
= standard___standard__NativeString___to_s_with_length(var17
, 1l);
8489 ((struct instance_standard__NativeArray
*)var14
)->values
[1]=var16
;
8490 if (likely(varonce19
!=NULL
)) {
8494 var22
= standard___standard__NativeString___to_s_with_length(var21
, 1l);
8498 ((struct instance_standard__NativeArray
*)var14
)->values
[3]=var20
;
8504 { /* Inline model#MClassType#mclass (self) on <self:MGenericType> */
8505 var25
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MGenericType> */
8506 if (unlikely(var25
== NULL
)) {
8507 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8508 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
8512 RET_LABEL24
:(void)0;
8516 var26
= nit___nit__MClass___nit__model_base__MEntity__full_name(var23
);
8518 ((struct instance_standard__NativeArray
*)var14
)->values
[0]=var26
;
8519 if (likely(varonce27
!=NULL
)) {
8523 var30
= standard___standard__NativeString___to_s_with_length(var29
, 2l);
8528 var31
= standard__string___Collection___join(var_args
, var28
);
8530 ((struct instance_standard__NativeArray
*)var14
)->values
[2]=var31
;
8532 var32
= ((val
*(*)(val
* self
))(var14
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var14
); /* native_to_s on <var14:NativeArray[String]>*/
8539 self
->attrs
[COLOR_nit__model__MGenericType___full_name
].val
= var3
; /* _full_name on <self:MGenericType> */
8546 /* method model#MGenericType#c_name for (self: MGenericType): String */
8547 val
* nit___nit__MGenericType___nit__model_base__MEntity__c_name(val
* self
) {
8548 val
* var
/* : String */;
8549 short int var1
/* : Bool */;
8550 val
* var2
/* : String */;
8551 val
* var3
/* : String */;
8552 val
* var5
/* : MClass */;
8553 val
* var7
/* : MClass */;
8554 val
* var8
/* : String */;
8555 val
* var_res
/* var res: String */;
8556 val
* var9
/* : Array[MType] */;
8557 val
* var11
/* : Array[MType] */;
8558 val
* var_
/* var : Array[MType] */;
8559 val
* var12
/* : ArrayIterator[nullable Object] */;
8560 val
* var_13
/* var : ArrayIterator[MType] */;
8561 short int var14
/* : Bool */;
8562 val
* var15
/* : nullable Object */;
8563 val
* var_t
/* var t: MType */;
8564 static val
* varonce
;
8565 val
* var16
/* : String */;
8566 char* var17
/* : NativeString */;
8567 val
* var18
/* : FlatString */;
8568 val
* var19
/* : String */;
8569 val
* var20
/* : String */;
8570 val
* var21
/* : String */;
8571 val
* var22
/* : String */;
8572 var1
= self
->attrs
[COLOR_nit__model__MGenericType___c_name
].val
!= NULL
; /* _c_name on <self:MGenericType> */
8574 var2
= self
->attrs
[COLOR_nit__model__MGenericType___c_name
].val
; /* _c_name on <self:MGenericType> */
8575 if (unlikely(var2
== NULL
)) {
8576 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _c_name");
8577 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1277);
8583 { /* Inline model#MClassType#mclass (self) on <self:MGenericType> */
8584 var7
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MGenericType> */
8585 if (unlikely(var7
== NULL
)) {
8586 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8587 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
8595 var8
= nit___nit__MClass___nit__model_base__MEntity__c_name(var5
);
8599 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
8600 var11
= self
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
8601 if (unlikely(var11
== NULL
)) {
8602 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
8603 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1244);
8607 RET_LABEL10
:(void)0;
8612 var12
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
8617 var14
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_13
);
8621 var15
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_13
);
8624 if (likely(varonce
!=NULL
)) {
8628 var18
= standard___standard__NativeString___to_s_with_length(var17
, 2l);
8633 var19
= ((val
*(*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__string__String___43d
]))(var_res
, var16
); /* + on <var_res:String>*/
8637 var20
= ((val
*(*)(val
* self
))(var_t
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_t
); /* c_name on <var_t:MType>*/
8640 var21
= ((val
*(*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__string__String___43d
]))(var_res
, var20
); /* + on <var_res:String>*/
8644 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_13
); /* Direct call array#ArrayIterator#next on <var_13:ArrayIterator[MType]>*/
8650 BREAK_label
: (void)0;
8652 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_13
); /* Direct call array#ArrayIterator#finish on <var_13:ArrayIterator[MType]>*/
8655 var22
= standard___standard__String___Object__to_s(var_res
);
8661 self
->attrs
[COLOR_nit__model__MGenericType___c_name
].val
= var3
; /* _c_name on <self:MGenericType> */
8668 /* method model#MGenericType#need_anchor for (self: MGenericType): Bool */
8669 short int nit___nit__MGenericType___MType__need_anchor(val
* self
) {
8670 short int var
/* : Bool */;
8671 short int var1
/* : Bool */;
8672 var1
= self
->attrs
[COLOR_nit__model__MGenericType___need_anchor
].s
; /* _need_anchor on <self:MGenericType> */
8677 /* method model#MGenericType#need_anchor= for (self: MGenericType, Bool) */
8678 void nit___nit__MGenericType___need_anchor_61d(val
* self
, short int p0
) {
8679 self
->attrs
[COLOR_nit__model__MGenericType___need_anchor
].s
= p0
; /* _need_anchor on <self:MGenericType> */
8682 /* method model#MGenericType#resolve_for for (self: MGenericType, MType, nullable MClassType, MModule, Bool): MType */
8683 val
* nit___nit__MGenericType___MType__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
8684 val
* var
/* : MType */;
8685 val
* var_mtype
/* var mtype: MType */;
8686 val
* var_anchor
/* var anchor: nullable MClassType */;
8687 val
* var_mmodule
/* var mmodule: MModule */;
8688 short int var_cleanup_virtual
/* var cleanup_virtual: Bool */;
8689 short int var1
/* : Bool */;
8690 short int var3
/* : Bool */;
8691 short int var4
/* : Bool */;
8692 short int var5
/* : Bool */;
8693 val
* var6
/* : Array[MType] */;
8694 val
* var_types
/* var types: Array[MType] */;
8695 val
* var7
/* : Array[MType] */;
8696 val
* var9
/* : Array[MType] */;
8697 val
* var_
/* var : Array[MType] */;
8698 val
* var10
/* : ArrayIterator[nullable Object] */;
8699 val
* var_11
/* var : ArrayIterator[MType] */;
8700 short int var12
/* : Bool */;
8701 val
* var13
/* : nullable Object */;
8702 val
* var_t
/* var t: MType */;
8703 val
* var14
/* : MType */;
8704 val
* var15
/* : MClass */;
8705 val
* var17
/* : MClass */;
8706 val
* var18
/* : MClassType */;
8710 var_cleanup_virtual
= p3
;
8712 { /* Inline model#MGenericType#need_anchor (self) on <self:MGenericType> */
8713 var3
= self
->attrs
[COLOR_nit__model__MGenericType___need_anchor
].s
; /* _need_anchor on <self:MGenericType> */
8725 var5
= nit___nit__MGenericType___MType__can_resolve_for(self
, var_mtype
, var_anchor
, var_mmodule
);
8727 if (unlikely(!var5
)) {
8728 PRINT_ERROR("Runtime error: %s", "Assert failed");
8729 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1292);
8732 var6
= NEW_standard__Array(&type_standard__Array__nit__MType
);
8734 standard___standard__Array___standard__kernel__Object__init(var6
); /* Direct call array#Array#init on <var6:Array[MType]>*/
8738 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
8739 var9
= self
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
8740 if (unlikely(var9
== NULL
)) {
8741 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
8742 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1244);
8751 var10
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
8756 var12
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_11
);
8760 var13
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_11
);
8764 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>*/
8767 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_types
, var14
); /* Direct call array#Array#add on <var_types:Array[MType]>*/
8770 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_11
); /* Direct call array#ArrayIterator#next on <var_11:ArrayIterator[MType]>*/
8776 BREAK_label
: (void)0;
8778 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_11
); /* Direct call array#ArrayIterator#finish on <var_11:ArrayIterator[MType]>*/
8781 { /* Inline model#MClassType#mclass (self) on <self:MGenericType> */
8782 var17
= self
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <self:MGenericType> */
8783 if (unlikely(var17
== NULL
)) {
8784 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8785 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
8789 RET_LABEL16
:(void)0;
8793 var18
= nit___nit__MClass___get_mtype(var15
, var_types
);
8800 /* method model#MGenericType#can_resolve_for for (self: MGenericType, MType, nullable MClassType, MModule): Bool */
8801 short int nit___nit__MGenericType___MType__can_resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8802 short int var
/* : Bool */;
8803 val
* var_mtype
/* var mtype: MType */;
8804 val
* var_anchor
/* var anchor: nullable MClassType */;
8805 val
* var_mmodule
/* var mmodule: MModule */;
8806 short int var1
/* : Bool */;
8807 short int var3
/* : Bool */;
8808 short int var4
/* : Bool */;
8809 val
* var5
/* : Array[MType] */;
8810 val
* var7
/* : Array[MType] */;
8811 val
* var_
/* var : Array[MType] */;
8812 val
* var8
/* : ArrayIterator[nullable Object] */;
8813 val
* var_9
/* var : ArrayIterator[MType] */;
8814 short int var10
/* : Bool */;
8815 val
* var11
/* : nullable Object */;
8816 val
* var_t
/* var t: MType */;
8817 short int var12
/* : Bool */;
8818 short int var13
/* : Bool */;
8823 { /* Inline model#MGenericType#need_anchor (self) on <self:MGenericType> */
8824 var3
= self
->attrs
[COLOR_nit__model__MGenericType___need_anchor
].s
; /* _need_anchor on <self:MGenericType> */
8836 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
8837 var7
= self
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
8838 if (unlikely(var7
== NULL
)) {
8839 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
8840 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1244);
8849 var8
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
8854 var10
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_9
);
8858 var11
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_9
);
8862 var12
= ((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>*/
8871 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_9
); /* Direct call array#ArrayIterator#next on <var_9:ArrayIterator[MType]>*/
8877 BREAK_label
: (void)0;
8879 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_9
); /* Direct call array#ArrayIterator#finish on <var_9:ArrayIterator[MType]>*/
8886 /* method model#MGenericType#length for (self: MGenericType): Int */
8887 long nit___nit__MGenericType___MType__length(val
* self
) {
8888 long var
/* : Int */;
8889 long var_res
/* var res: Int */;
8890 val
* var1
/* : Array[MType] */;
8891 val
* var3
/* : Array[MType] */;
8892 val
* var_
/* var : Array[MType] */;
8893 val
* var4
/* : ArrayIterator[nullable Object] */;
8894 val
* var_5
/* var : ArrayIterator[MType] */;
8895 short int var6
/* : Bool */;
8896 val
* var7
/* : nullable Object */;
8897 val
* var_a
/* var a: MType */;
8898 long var8
/* : Int */;
8899 long var9
/* : Int */;
8900 short int var11
/* : Bool */;
8903 const char* var_class_name
;
8904 long var12
/* : Int */;
8907 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
8908 var3
= self
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
8909 if (unlikely(var3
== NULL
)) {
8910 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
8911 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1244);
8920 var4
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
8925 var6
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_5
);
8929 var7
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_5
);
8933 var8
= ((long(*)(val
* self
))(var_a
->class->vft
[COLOR_nit__model__MType__length
]))(var_a
); /* length on <var_a:MType>*/
8936 { /* Inline kernel#Int#+ (var_res,var8) on <var_res:Int> */
8937 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
8938 /* <var8:Int> isa OTHER */
8939 var11
= 1; /* easy <var8:Int> isa OTHER*/
8940 if (unlikely(!var11
)) {
8941 var_class_name
= type_standard__Int
.name
;
8942 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
8943 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
8946 var12
= var_res
+ var8
;
8949 RET_LABEL10
:(void)0;
8954 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_5
); /* Direct call array#ArrayIterator#next on <var_5:ArrayIterator[MType]>*/
8960 BREAK_label
: (void)0;
8962 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_5
); /* Direct call array#ArrayIterator#finish on <var_5:ArrayIterator[MType]>*/
8969 /* method model#MFormalType#as_notnull for (self: MFormalType): MType */
8970 val
* nit___nit__MFormalType___MType__as_notnull(val
* self
) {
8971 val
* var
/* : MType */;
8972 short int var1
/* : Bool */;
8973 val
* var2
/* : MType */;
8974 val
* var3
/* : MNotNullType */;
8975 var1
= self
->attrs
[COLOR_nit__model__MFormalType___as_notnull
].val
!= NULL
; /* _as_notnull on <self:MFormalType> */
8977 var2
= self
->attrs
[COLOR_nit__model__MFormalType___as_notnull
].val
; /* _as_notnull on <self:MFormalType> */
8978 if (unlikely(var2
== NULL
)) {
8979 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _as_notnull");
8980 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1337);
8984 var3
= NEW_nit__MNotNullType(&type_nit__MNotNullType
);
8986 ((void(*)(val
* self
, val
* p0
))(var3
->class->vft
[COLOR_nit__model__MProxyType__mtype_61d
]))(var3
, self
); /* mtype= on <var3:MNotNullType>*/
8989 ((void(*)(val
* self
))(var3
->class->vft
[COLOR_standard__kernel__Object__init
]))(var3
); /* init on <var3:MNotNullType>*/
8991 self
->attrs
[COLOR_nit__model__MFormalType___as_notnull
].val
= var3
; /* _as_notnull on <self:MFormalType> */
8998 /* method model#MVirtualType#mproperty for (self: MVirtualType): MVirtualTypeProp */
8999 val
* nit___nit__MVirtualType___mproperty(val
* self
) {
9000 val
* var
/* : MVirtualTypeProp */;
9001 val
* var1
/* : MVirtualTypeProp */;
9002 var1
= self
->attrs
[COLOR_nit__model__MVirtualType___mproperty
].val
; /* _mproperty on <self:MVirtualType> */
9003 if (unlikely(var1
== NULL
)) {
9004 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
9005 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1344);
9012 /* method model#MVirtualType#mproperty= for (self: MVirtualType, MVirtualTypeProp) */
9013 void nit___nit__MVirtualType___mproperty_61d(val
* self
, val
* p0
) {
9014 self
->attrs
[COLOR_nit__model__MVirtualType___mproperty
].val
= p0
; /* _mproperty on <self:MVirtualType> */
9017 /* method model#MVirtualType#model for (self: MVirtualType): Model */
9018 val
* nit___nit__MVirtualType___nit__model_base__MEntity__model(val
* self
) {
9019 val
* var
/* : Model */;
9020 val
* var1
/* : MVirtualTypeProp */;
9021 val
* var3
/* : MVirtualTypeProp */;
9022 val
* var4
/* : MClassDef */;
9023 val
* var6
/* : MClassDef */;
9024 val
* var7
/* : MModule */;
9025 val
* var9
/* : MModule */;
9026 val
* var10
/* : Model */;
9027 val
* var12
/* : Model */;
9029 { /* Inline model#MVirtualType#mproperty (self) on <self:MVirtualType> */
9030 var3
= self
->attrs
[COLOR_nit__model__MVirtualType___mproperty
].val
; /* _mproperty on <self:MVirtualType> */
9031 if (unlikely(var3
== NULL
)) {
9032 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
9033 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1344);
9041 { /* Inline model#MProperty#intro_mclassdef (var1) on <var1:MVirtualTypeProp> */
9042 var6
= var1
->attrs
[COLOR_nit__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var1:MVirtualTypeProp> */
9043 if (unlikely(var6
== NULL
)) {
9044 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
9045 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1928);
9053 { /* Inline model#MClassDef#mmodule (var4) on <var4:MClassDef> */
9054 var9
= var4
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var4:MClassDef> */
9055 if (unlikely(var9
== NULL
)) {
9056 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
9057 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
9065 { /* Inline mmodule#MModule#model (var7) on <var7:MModule> */
9066 var12
= var7
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <var7:MModule> */
9067 if (unlikely(var12
== NULL
)) {
9068 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
9069 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
9073 RET_LABEL11
:(void)0;
9081 /* method model#MVirtualType#lookup_bound for (self: MVirtualType, MModule, MType): MType */
9082 val
* nit___nit__MVirtualType___MType__lookup_bound(val
* self
, val
* p0
, val
* p1
) {
9083 val
* var
/* : MType */;
9084 val
* var_mmodule
/* var mmodule: MModule */;
9085 val
* var_resolved_receiver
/* var resolved_receiver: MType */;
9086 val
* var1
/* : MVirtualTypeDef */;
9087 val
* var2
/* : nullable MType */;
9088 val
* var4
/* : nullable MType */;
9090 var_resolved_receiver
= p1
;
9092 var1
= nit___nit__MVirtualType___lookup_single_definition(self
, var_mmodule
, var_resolved_receiver
);
9095 { /* Inline model#MVirtualTypeDef#bound (var1) on <var1:MVirtualTypeDef> */
9096 var4
= var1
->attrs
[COLOR_nit__model__MVirtualTypeDef___bound
].val
; /* _bound on <var1:MVirtualTypeDef> */
9101 if (unlikely(var2
== NULL
)) {
9102 PRINT_ERROR("Runtime error: %s", "Cast failed");
9103 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1352);
9111 /* method model#MVirtualType#lookup_single_definition for (self: MVirtualType, MModule, MType): MVirtualTypeDef */
9112 val
* nit___nit__MVirtualType___lookup_single_definition(val
* self
, val
* p0
, val
* p1
) {
9113 val
* var
/* : MVirtualTypeDef */;
9114 val
* var_mmodule
/* var mmodule: MModule */;
9115 val
* var_resolved_receiver
/* var resolved_receiver: MType */;
9116 short int var1
/* : Bool */;
9117 short int var2
/* : Bool */;
9118 val
* var3
/* : MVirtualTypeProp */;
9119 val
* var5
/* : MVirtualTypeProp */;
9120 val
* var6
/* : Array[MPropDef] */;
9121 val
* var_props
/* var props: Array[MVirtualTypeDef] */;
9122 short int var7
/* : Bool */;
9123 long var8
/* : Int */;
9124 long var10
/* : Int */;
9125 short int var11
/* : Bool */;
9126 short int var13
/* : Bool */;
9127 val
* var14
/* : nullable Object */;
9128 val
* var15
/* : ArraySet[MType] */;
9129 val
* var_types
/* var types: ArraySet[MType] */;
9130 val
* var16
/* : nullable Object */;
9131 val
* var_res
/* var res: MVirtualTypeDef */;
9132 val
* var_
/* var : Array[MVirtualTypeDef] */;
9133 val
* var17
/* : ArrayIterator[nullable Object] */;
9134 val
* var_18
/* var : ArrayIterator[MVirtualTypeDef] */;
9135 short int var19
/* : Bool */;
9136 val
* var20
/* : nullable Object */;
9137 val
* var_p
/* var p: MVirtualTypeDef */;
9138 val
* var21
/* : nullable MType */;
9139 val
* var23
/* : nullable MType */;
9140 short int var24
/* : Bool */;
9141 short int var26
/* : Bool */;
9142 short int var27
/* : Bool */;
9143 long var28
/* : Int */;
9144 short int var29
/* : Bool */;
9145 short int var31
/* : Bool */;
9147 var_resolved_receiver
= p1
;
9149 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>*/
9152 if (unlikely(!var2
)) {
9153 PRINT_ERROR("Runtime error: %s", "Assert failed");
9154 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1357);
9158 { /* Inline model#MVirtualType#mproperty (self) on <self:MVirtualType> */
9159 var5
= self
->attrs
[COLOR_nit__model__MVirtualType___mproperty
].val
; /* _mproperty on <self:MVirtualType> */
9160 if (unlikely(var5
== NULL
)) {
9161 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
9162 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1344);
9170 var6
= nit___nit__MProperty___lookup_definitions(var3
, var_mmodule
, var_resolved_receiver
);
9174 var7
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_props
);
9177 PRINT_ERROR("Runtime error: %s", "Aborted");
9178 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1360);
9182 { /* Inline array#AbstractArrayRead#length (var_props) on <var_props:Array[MVirtualTypeDef]> */
9183 var10
= var_props
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_props:Array[MVirtualTypeDef]> */
9189 { /* Inline kernel#Int#== (var8,1l) on <var8:Int> */
9193 RET_LABEL12
:(void)0;
9198 var14
= standard___standard__SequenceRead___Collection__first(var_props
);
9205 var15
= NEW_standard__ArraySet(&type_standard__ArraySet__nit__MType
);
9207 standard___standard__ArraySet___standard__kernel__Object__init(var15
); /* Direct call array#ArraySet#init on <var15:ArraySet[MType]>*/
9211 var16
= standard___standard__SequenceRead___Collection__first(var_props
);
9216 var17
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
9221 var19
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_18
);
9225 var20
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_18
);
9229 { /* Inline model#MVirtualTypeDef#bound (var_p) on <var_p:MVirtualTypeDef> */
9230 var23
= var_p
->attrs
[COLOR_nit__model__MVirtualTypeDef___bound
].val
; /* _bound on <var_p:MVirtualTypeDef> */
9232 RET_LABEL22
:(void)0;
9235 if (unlikely(var21
== NULL
)) {
9236 PRINT_ERROR("Runtime error: %s", "Cast failed");
9237 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1367);
9241 standard___standard__ArraySet___standard__abstract_collection__SimpleCollection__add(var_types
, var21
); /* Direct call array#ArraySet#add on <var_types:ArraySet[MType]>*/
9244 { /* Inline model#MVirtualTypeDef#is_fixed (var_res) on <var_res:MVirtualTypeDef> */
9245 var26
= var_res
->attrs
[COLOR_nit__model__MVirtualTypeDef___is_fixed
].s
; /* _is_fixed on <var_res:MVirtualTypeDef> */
9247 RET_LABEL25
:(void)0;
9256 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_18
); /* Direct call array#ArrayIterator#next on <var_18:ArrayIterator[MVirtualTypeDef]>*/
9262 BREAK_label
: (void)0;
9264 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_18
); /* Direct call array#ArrayIterator#finish on <var_18:ArrayIterator[MVirtualTypeDef]>*/
9267 var28
= standard___standard__ArraySet___standard__abstract_collection__Collection__length(var_types
);
9270 { /* Inline kernel#Int#== (var28,1l) on <var28:Int> */
9271 var31
= var28
== 1l;
9274 RET_LABEL30
:(void)0;
9282 PRINT_ERROR("Runtime error: %s", "Aborted");
9283 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1373);
9288 /* method model#MVirtualType#lookup_fixed for (self: MVirtualType, MModule, MType): MType */
9289 val
* nit___nit__MVirtualType___MType__lookup_fixed(val
* self
, val
* p0
, val
* p1
) {
9290 val
* var
/* : MType */;
9291 val
* var_mmodule
/* var mmodule: MModule */;
9292 val
* var_resolved_receiver
/* var resolved_receiver: MType */;
9293 short int var1
/* : Bool */;
9294 short int var2
/* : Bool */;
9295 val
* var3
/* : MType */;
9296 short int var4
/* : Bool */;
9299 val
* var5
/* : MVirtualTypeDef */;
9300 val
* var_prop
/* var prop: MVirtualTypeDef */;
9301 val
* var6
/* : nullable MType */;
9302 val
* var8
/* : nullable MType */;
9303 val
* var_res
/* var res: MType */;
9304 val
* var9
/* : MType */;
9305 short int var10
/* : Bool */;
9306 short int var12
/* : Bool */;
9307 short int var13
/* : Bool */;
9308 short int var14
/* : Bool */;
9311 short int var_
/* var : Bool */;
9312 val
* var17
/* : MClass */;
9313 val
* var19
/* : MClass */;
9314 val
* var20
/* : MClassKind */;
9315 val
* var22
/* : MClassKind */;
9316 val
* var23
/* : Sys */;
9317 val
* var24
/* : MClassKind */;
9318 short int var25
/* : Bool */;
9319 val
* var_other
/* var other: nullable Object */;
9320 short int var27
/* : Bool */;
9321 short int var29
/* : Bool */;
9322 val
* var30
/* : MClass */;
9323 val
* var32
/* : MClass */;
9324 val
* var33
/* : MClassKind */;
9325 val
* var35
/* : MClassKind */;
9326 val
* var36
/* : Sys */;
9327 val
* var37
/* : MClassKind */;
9328 short int var38
/* : Bool */;
9329 short int var40
/* : Bool */;
9330 short int var42
/* : Bool */;
9332 var_resolved_receiver
= p1
;
9334 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>*/
9337 if (unlikely(!var2
)) {
9338 PRINT_ERROR("Runtime error: %s", "Assert failed");
9339 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1382);
9343 var3
= ((val
*(*)(val
* self
))(var_resolved_receiver
->class->vft
[COLOR_nit__model__MType__undecorate
]))(var_resolved_receiver
); /* undecorate on <var_resolved_receiver:MType>*/
9345 var_resolved_receiver
= var3
;
9346 /* <var_resolved_receiver:MType> isa MClassType */
9347 cltype
= type_nit__MClassType
.color
;
9348 idtype
= type_nit__MClassType
.id
;
9349 if(cltype
>= var_resolved_receiver
->type
->table_size
) {
9352 var4
= var_resolved_receiver
->type
->type_table
[cltype
] == idtype
;
9354 if (unlikely(!var4
)) {
9355 PRINT_ERROR("Runtime error: %s", "Assert failed");
9356 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1384);
9360 var5
= nit___nit__MVirtualType___lookup_single_definition(self
, var_mmodule
, var_resolved_receiver
);
9364 { /* Inline model#MVirtualTypeDef#bound (var_prop) on <var_prop:MVirtualTypeDef> */
9365 var8
= var_prop
->attrs
[COLOR_nit__model__MVirtualTypeDef___bound
].val
; /* _bound on <var_prop:MVirtualTypeDef> */
9370 if (unlikely(var6
== NULL
)) {
9371 PRINT_ERROR("Runtime error: %s", "Cast failed");
9372 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1387);
9377 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>*/
9381 { /* Inline model#MVirtualTypeDef#is_fixed (var_prop) on <var_prop:MVirtualTypeDef> */
9382 var12
= var_prop
->attrs
[COLOR_nit__model__MVirtualTypeDef___is_fixed
].s
; /* _is_fixed on <var_prop:MVirtualTypeDef> */
9384 RET_LABEL11
:(void)0;
9392 /* <var_res:MType> isa MClassType */
9393 cltype15
= type_nit__MClassType
.color
;
9394 idtype16
= type_nit__MClassType
.id
;
9395 if(cltype15
>= var_res
->type
->table_size
) {
9398 var14
= var_res
->type
->type_table
[cltype15
] == idtype16
;
9403 { /* Inline model#MClassType#mclass (var_res) on <var_res:MType(MClassType)> */
9404 var19
= var_res
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_res:MType(MClassType)> */
9405 if (unlikely(var19
== NULL
)) {
9406 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9407 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
9411 RET_LABEL18
:(void)0;
9415 { /* Inline model#MClass#kind (var17) on <var17:MClass> */
9416 var22
= var17
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var17:MClass> */
9417 if (unlikely(var22
== NULL
)) {
9418 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
9419 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 436);
9423 RET_LABEL21
:(void)0;
9428 var24
= nit__model___standard__Sys___enum_kind(var23
);
9431 { /* Inline kernel#Object#== (var20,var24) on <var20:MClassKind> */
9434 { /* Inline kernel#Object#is_same_instance (var20,var_other) on <var20:MClassKind> */
9435 var29
= var20
== var_other
;
9438 RET_LABEL28
:(void)0;
9443 RET_LABEL26
:(void)0;
9456 { /* Inline model#MClassType#mclass (var_resolved_receiver) on <var_resolved_receiver:MType(MClassType)> */
9457 var32
= var_resolved_receiver
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_resolved_receiver:MType(MClassType)> */
9458 if (unlikely(var32
== NULL
)) {
9459 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9460 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
9464 RET_LABEL31
:(void)0;
9468 { /* Inline model#MClass#kind (var30) on <var30:MClass> */
9469 var35
= var30
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var30:MClass> */
9470 if (unlikely(var35
== NULL
)) {
9471 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
9472 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 436);
9476 RET_LABEL34
:(void)0;
9481 var37
= nit__model___standard__Sys___enum_kind(var36
);
9484 { /* Inline kernel#Object#== (var33,var37) on <var33:MClassKind> */
9487 { /* Inline kernel#Object#is_same_instance (var33,var_other) on <var33:MClassKind> */
9488 var42
= var33
== var_other
;
9491 RET_LABEL41
:(void)0;
9496 RET_LABEL39
:(void)0;
9509 /* method model#MVirtualType#resolve_for for (self: MVirtualType, MType, nullable MClassType, MModule, Bool): MType */
9510 val
* nit___nit__MVirtualType___MType__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
9511 val
* var
/* : MType */;
9512 val
* var_mtype
/* var mtype: MType */;
9513 val
* var_anchor
/* var anchor: nullable MClassType */;
9514 val
* var_mmodule
/* var mmodule: MModule */;
9515 short int var_cleanup_virtual
/* var cleanup_virtual: Bool */;
9516 short int var1
/* : Bool */;
9517 short int var2
/* : Bool */;
9518 short int var3
/* : Bool */;
9519 short int var4
/* : Bool */;
9520 short int var5
/* : Bool */;
9521 val
* var_other
/* var other: nullable Object */;
9522 short int var7
/* : Bool */;
9523 short int var8
/* : Bool */;
9524 val
* var9
/* : MType */;
9525 val
* var_resolved_receiver
/* var resolved_receiver: nullable Object */;
9526 val
* var10
/* : MType */;
9527 val
* var_verbatim_bound
/* var verbatim_bound: MType */;
9528 val
* var11
/* : MType */;
9529 val
* var_res
/* var res: MType */;
9533 var_cleanup_virtual
= p3
;
9534 var1
= !var_cleanup_virtual
;
9541 var2
= nit___nit__MVirtualType___MType__can_resolve_for(self
, var_mtype
, var_anchor
, var_mmodule
);
9543 if (unlikely(!var2
)) {
9544 PRINT_ERROR("Runtime error: %s", "Assert failed");
9545 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1407);
9549 var3
= ((short int(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_mtype
); /* need_anchor on <var_mtype:MType>*/
9552 if (var_anchor
== NULL
) {
9553 var4
= 0; /* is null */
9555 var4
= 1; /* arg is null and recv is not */
9558 { /* Inline kernel#Object#!= (var_anchor,((val*)NULL)) on <var_anchor:nullable MClassType> */
9559 var_other
= ((val
*)NULL
);
9561 var7
= ((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)>*/
9570 if (unlikely(!var4
)) {
9571 PRINT_ERROR("Runtime error: %s", "Assert failed");
9572 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1414);
9576 var9
= ((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
, ((val
*)NULL
), var_mmodule
, 1); /* resolve_for on <var_mtype:MType>*/
9578 var_resolved_receiver
= var9
;
9580 var_resolved_receiver
= var_mtype
;
9583 var10
= nit___nit__MVirtualType___MType__lookup_bound(self
, var_mmodule
, var_resolved_receiver
);
9585 var_verbatim_bound
= var10
;
9587 var11
= ((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>*/
9595 /* method model#MVirtualType#can_resolve_for for (self: MVirtualType, MType, nullable MClassType, MModule): Bool */
9596 short int nit___nit__MVirtualType___MType__can_resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9597 short int var
/* : Bool */;
9598 val
* var_mtype
/* var mtype: MType */;
9599 val
* var_anchor
/* var anchor: nullable MClassType */;
9600 val
* var_mmodule
/* var mmodule: MModule */;
9601 short int var1
/* : Bool */;
9602 short int var2
/* : Bool */;
9603 short int var3
/* : Bool */;
9604 val
* var_other
/* var other: nullable Object */;
9605 short int var5
/* : Bool */;
9606 short int var6
/* : Bool */;
9607 val
* var7
/* : MType */;
9608 val
* var8
/* : MVirtualTypeProp */;
9609 val
* var10
/* : MVirtualTypeProp */;
9610 short int var11
/* : Bool */;
9615 var1
= ((short int(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_mtype
); /* need_anchor on <var_mtype:MType>*/
9618 if (var_anchor
== NULL
) {
9619 var2
= 0; /* is null */
9621 var2
= 1; /* arg is null and recv is not */
9624 { /* Inline kernel#Object#!= (var_anchor,((val*)NULL)) on <var_anchor:nullable MClassType> */
9625 var_other
= ((val
*)NULL
);
9627 var5
= ((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)>*/
9636 if (unlikely(!var2
)) {
9637 PRINT_ERROR("Runtime error: %s", "Assert failed");
9638 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1430);
9642 var7
= ((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>*/
9648 { /* Inline model#MVirtualType#mproperty (self) on <self:MVirtualType> */
9649 var10
= self
->attrs
[COLOR_nit__model__MVirtualType___mproperty
].val
; /* _mproperty on <self:MVirtualType> */
9650 if (unlikely(var10
== NULL
)) {
9651 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
9652 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1344);
9660 var11
= nit___nit__MType___has_mproperty(var_mtype
, var_mmodule
, var8
);
9667 /* method model#MVirtualType#to_s for (self: MVirtualType): String */
9668 val
* nit___nit__MVirtualType___standard__string__Object__to_s(val
* self
) {
9669 val
* var
/* : String */;
9670 val
* var1
/* : MVirtualTypeProp */;
9671 val
* var3
/* : MVirtualTypeProp */;
9672 val
* var4
/* : String */;
9674 { /* Inline model#MVirtualType#mproperty (self) on <self:MVirtualType> */
9675 var3
= self
->attrs
[COLOR_nit__model__MVirtualType___mproperty
].val
; /* _mproperty on <self:MVirtualType> */
9676 if (unlikely(var3
== NULL
)) {
9677 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
9678 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1344);
9686 var4
= nit___nit__MProperty___standard__string__Object__to_s(var1
);
9693 /* method model#MVirtualType#full_name for (self: MVirtualType): String */
9694 val
* nit___nit__MVirtualType___nit__model_base__MEntity__full_name(val
* self
) {
9695 val
* var
/* : String */;
9696 val
* var1
/* : MVirtualTypeProp */;
9697 val
* var3
/* : MVirtualTypeProp */;
9698 val
* var4
/* : String */;
9700 { /* Inline model#MVirtualType#mproperty (self) on <self:MVirtualType> */
9701 var3
= self
->attrs
[COLOR_nit__model__MVirtualType___mproperty
].val
; /* _mproperty on <self:MVirtualType> */
9702 if (unlikely(var3
== NULL
)) {
9703 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
9704 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1344);
9712 var4
= nit___nit__MProperty___nit__model_base__MEntity__full_name(var1
);
9719 /* method model#MVirtualType#c_name for (self: MVirtualType): String */
9720 val
* nit___nit__MVirtualType___nit__model_base__MEntity__c_name(val
* self
) {
9721 val
* var
/* : String */;
9722 val
* var1
/* : MVirtualTypeProp */;
9723 val
* var3
/* : MVirtualTypeProp */;
9724 val
* var4
/* : String */;
9726 { /* Inline model#MVirtualType#mproperty (self) on <self:MVirtualType> */
9727 var3
= self
->attrs
[COLOR_nit__model__MVirtualType___mproperty
].val
; /* _mproperty on <self:MVirtualType> */
9728 if (unlikely(var3
== NULL
)) {
9729 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
9730 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1344);
9738 var4
= nit___nit__MProperty___nit__model_base__MEntity__c_name(var1
);
9745 /* method model#MVirtualType#init for (self: MVirtualType) */
9746 void nit___nit__MVirtualType___standard__kernel__Object__init(val
* self
) {
9748 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nit___nit__MVirtualType___standard__kernel__Object__init
]))(self
); /* init on <self:MVirtualType>*/
9752 /* method model#MParameterType#mclass for (self: MParameterType): MClass */
9753 val
* nit___nit__MParameterType___mclass(val
* self
) {
9754 val
* var
/* : MClass */;
9755 val
* var1
/* : MClass */;
9756 var1
= self
->attrs
[COLOR_nit__model__MParameterType___mclass
].val
; /* _mclass on <self:MParameterType> */
9757 if (unlikely(var1
== NULL
)) {
9758 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9759 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1472);
9766 /* method model#MParameterType#mclass= for (self: MParameterType, MClass) */
9767 void nit___nit__MParameterType___mclass_61d(val
* self
, val
* p0
) {
9768 self
->attrs
[COLOR_nit__model__MParameterType___mclass
].val
= p0
; /* _mclass on <self:MParameterType> */
9771 /* method model#MParameterType#model for (self: MParameterType): Model */
9772 val
* nit___nit__MParameterType___nit__model_base__MEntity__model(val
* self
) {
9773 val
* var
/* : Model */;
9774 val
* var1
/* : MClass */;
9775 val
* var3
/* : MClass */;
9776 val
* var4
/* : MModule */;
9777 val
* var6
/* : MModule */;
9778 val
* var7
/* : Model */;
9779 val
* var9
/* : Model */;
9781 { /* Inline model#MParameterType#mclass (self) on <self:MParameterType> */
9782 var3
= self
->attrs
[COLOR_nit__model__MParameterType___mclass
].val
; /* _mclass on <self:MParameterType> */
9783 if (unlikely(var3
== NULL
)) {
9784 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9785 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1472);
9793 { /* Inline model#MClass#intro_mmodule (var1) on <var1:MClass> */
9794 var6
= var1
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var1:MClass> */
9795 if (unlikely(var6
== NULL
)) {
9796 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
9797 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 357);
9805 { /* Inline mmodule#MModule#model (var4) on <var4:MModule> */
9806 var9
= var4
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <var4:MModule> */
9807 if (unlikely(var9
== NULL
)) {
9808 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
9809 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
9821 /* method model#MParameterType#rank for (self: MParameterType): Int */
9822 long nit___nit__MParameterType___rank(val
* self
) {
9823 long var
/* : Int */;
9824 long var1
/* : Int */;
9825 var1
= self
->attrs
[COLOR_nit__model__MParameterType___rank
].l
; /* _rank on <self:MParameterType> */
9830 /* method model#MParameterType#rank= for (self: MParameterType, Int) */
9831 void nit___nit__MParameterType___rank_61d(val
* self
, long p0
) {
9832 self
->attrs
[COLOR_nit__model__MParameterType___rank
].l
= p0
; /* _rank on <self:MParameterType> */
9835 /* method model#MParameterType#name for (self: MParameterType): String */
9836 val
* nit___nit__MParameterType___nit__model_base__MEntity__name(val
* self
) {
9837 val
* var
/* : String */;
9838 val
* var1
/* : String */;
9839 var1
= self
->attrs
[COLOR_nit__model__MParameterType___name
].val
; /* _name on <self:MParameterType> */
9840 if (unlikely(var1
== NULL
)) {
9841 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
9842 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1481);
9849 /* method model#MParameterType#name= for (self: MParameterType, String) */
9850 void nit___nit__MParameterType___name_61d(val
* self
, val
* p0
) {
9851 self
->attrs
[COLOR_nit__model__MParameterType___name
].val
= p0
; /* _name on <self:MParameterType> */
9854 /* method model#MParameterType#to_s for (self: MParameterType): String */
9855 val
* nit___nit__MParameterType___standard__string__Object__to_s(val
* self
) {
9856 val
* var
/* : String */;
9857 val
* var1
/* : String */;
9858 val
* var3
/* : String */;
9860 { /* Inline model#MParameterType#name (self) on <self:MParameterType> */
9861 var3
= self
->attrs
[COLOR_nit__model__MParameterType___name
].val
; /* _name on <self:MParameterType> */
9862 if (unlikely(var3
== NULL
)) {
9863 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
9864 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1481);
9876 /* method model#MParameterType#full_name for (self: MParameterType): String */
9877 val
* nit___nit__MParameterType___nit__model_base__MEntity__full_name(val
* self
) {
9878 val
* var
/* : String */;
9879 short int var1
/* : Bool */;
9880 val
* var2
/* : String */;
9881 val
* var3
/* : String */;
9882 val
* var5
/* : NativeArray[String] */;
9883 static val
* varonce
;
9884 static val
* varonce6
;
9885 val
* var7
/* : String */;
9886 char* var8
/* : NativeString */;
9887 val
* var9
/* : FlatString */;
9888 val
* var10
/* : MClass */;
9889 val
* var12
/* : MClass */;
9890 val
* var13
/* : String */;
9891 val
* var14
/* : String */;
9892 val
* var16
/* : String */;
9893 val
* var17
/* : String */;
9894 var1
= self
->attrs
[COLOR_nit__model__MParameterType___full_name
].val
!= NULL
; /* _full_name on <self:MParameterType> */
9896 var2
= self
->attrs
[COLOR_nit__model__MParameterType___full_name
].val
; /* _full_name on <self:MParameterType> */
9897 if (unlikely(var2
== NULL
)) {
9898 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _full_name");
9899 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1485);
9904 if (unlikely(varonce
==NULL
)) {
9905 var5
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
9906 if (likely(varonce6
!=NULL
)) {
9910 var9
= standard___standard__NativeString___to_s_with_length(var8
, 2l);
9914 ((struct instance_standard__NativeArray
*)var5
)->values
[1]=var7
;
9920 { /* Inline model#MParameterType#mclass (self) on <self:MParameterType> */
9921 var12
= self
->attrs
[COLOR_nit__model__MParameterType___mclass
].val
; /* _mclass on <self:MParameterType> */
9922 if (unlikely(var12
== NULL
)) {
9923 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9924 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1472);
9928 RET_LABEL11
:(void)0;
9932 var13
= nit___nit__MClass___nit__model_base__MEntity__full_name(var10
);
9934 ((struct instance_standard__NativeArray
*)var5
)->values
[0]=var13
;
9936 { /* Inline model#MParameterType#name (self) on <self:MParameterType> */
9937 var16
= self
->attrs
[COLOR_nit__model__MParameterType___name
].val
; /* _name on <self:MParameterType> */
9938 if (unlikely(var16
== NULL
)) {
9939 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
9940 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1481);
9944 RET_LABEL15
:(void)0;
9947 ((struct instance_standard__NativeArray
*)var5
)->values
[2]=var14
;
9949 var17
= ((val
*(*)(val
* self
))(var5
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var5
); /* native_to_s on <var5:NativeArray[String]>*/
9956 self
->attrs
[COLOR_nit__model__MParameterType___full_name
].val
= var3
; /* _full_name on <self:MParameterType> */