1 #include "nitc__model.sep.0.h"
2 /* method model#Model#mclasses for (self: Model): Array[MClass] */
3 val
* nitc__model___Model___mclasses(val
* self
) {
4 val
* var
/* : Array[MClass] */;
5 val
* var1
/* : Array[MClass] */;
6 var1
= self
->attrs
[COLOR_nitc__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_nitc__model
, 34);
16 /* method model#Model#mproperties for (self: Model): Array[MProperty] */
17 val
* nitc__model___Model___mproperties(val
* self
) {
18 val
* var
/* : Array[MProperty] */;
19 val
* var1
/* : Array[MProperty] */;
20 var1
= self
->attrs
[COLOR_nitc__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_nitc__model
, 37);
30 /* method model#Model#mclassdef_hierarchy for (self: Model): POSet[MClassDef] */
31 val
* nitc__model___Model___mclassdef_hierarchy(val
* self
) {
32 val
* var
/* : POSet[MClassDef] */;
33 val
* var1
/* : POSet[MClassDef] */;
34 var1
= self
->attrs
[COLOR_nitc__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_nitc__model
, 40);
44 /* method model#Model#intro_mtype_specialization_hierarchy for (self: Model): POSet[MClassType] */
45 val
* nitc__model___Model___intro_mtype_specialization_hierarchy(val
* self
) {
46 val
* var
/* : POSet[MClassType] */;
47 val
* var1
/* : POSet[MClassType] */;
48 var1
= self
->attrs
[COLOR_nitc__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_nitc__model
, 46);
58 /* method model#Model#full_mtype_specialization_hierarchy for (self: Model): POSet[MClassType] */
59 val
* nitc__model___Model___full_mtype_specialization_hierarchy(val
* self
) {
60 val
* var
/* : POSet[MClassType] */;
61 val
* var1
/* : POSet[MClassType] */;
62 var1
= self
->attrs
[COLOR_nitc__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_nitc__model
, 57);
72 /* method model#Model#mclasses_by_name for (self: Model): MultiHashMap[String, MClass] */
73 val
* nitc__model___Model___mclasses_by_name(val
* self
) {
74 val
* var
/* : MultiHashMap[String, MClass] */;
75 val
* var1
/* : MultiHashMap[String, MClass] */;
76 var1
= self
->attrs
[COLOR_nitc__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_nitc__model
, 66);
86 /* method model#Model#get_mclasses_by_name for (self: Model, String): nullable Array[MClass] */
87 val
* nitc__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_nitc__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_nitc__model
, 66);
107 var4
= core___core__HashMap___core__abstract_collection__MapRead__get_or_null(var1
, var_name
);
114 /* method model#Model#mproperties_by_name for (self: Model): MultiHashMap[String, MProperty] */
115 val
* nitc__model___Model___mproperties_by_name(val
* self
) {
116 val
* var
/* : MultiHashMap[String, MProperty] */;
117 val
* var1
/* : MultiHashMap[String, MProperty] */;
118 var1
= self
->attrs
[COLOR_nitc__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_nitc__model
, 80);
128 /* method model#Model#get_mproperties_by_name for (self: Model, String): nullable Array[MProperty] */
129 val
* nitc__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_nitc__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_nitc__model
, 80);
149 var4
= core___core__HashMap___core__abstract_collection__MapRead__get_or_null(var1
, var_name
);
156 /* method model#Model#null_type for (self: Model): MNullType */
157 val
* nitc__model___Model___null_type(val
* self
) {
158 val
* var
/* : MNullType */;
159 val
* var1
/* : MNullType */;
160 var1
= self
->attrs
[COLOR_nitc__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_nitc__model
, 94);
170 /* method model#MModule#intro_mclasses for (self: MModule): Array[MClass] */
171 val
* nitc__model___MModule___intro_mclasses(val
* self
) {
172 val
* var
/* : Array[MClass] */;
173 val
* var1
/* : Array[MClass] */;
174 var1
= self
->attrs
[COLOR_nitc__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_nitc__model
, 138);
184 /* method model#MModule#mclassdefs for (self: MModule): Array[MClassDef] */
185 val
* nitc__model___MModule___mclassdefs(val
* self
) {
186 val
* var
/* : Array[MClassDef] */;
187 val
* var1
/* : Array[MClassDef] */;
188 var1
= self
->attrs
[COLOR_nitc__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_nitc__model
, 141);
198 /* method model#MModule#flatten_mclass_hierarchy for (self: MModule): POSet[MClass] */
199 val
* nitc__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
/* : IndexedIterator[nullable Object] */;
223 val
* var_24
/* var : IndexedIterator[MClassDef] */;
224 short int var25
/* : Bool */;
225 val
* var27
/* : nullable Object */;
226 val
* var_cd
/* var cd: MClassDef */;
227 val
* var28
/* : MClass */;
228 val
* var30
/* : MClass */;
229 val
* var_c
/* var c: MClass */;
230 val
* var31
/* : POSetElement[nullable Object] */;
231 val
* var32
/* : Array[MClassType] */;
232 val
* var34
/* : Array[MClassType] */;
233 val
* var_35
/* var : Array[MClassType] */;
234 val
* var36
/* : IndexedIterator[nullable Object] */;
235 val
* var_37
/* var : IndexedIterator[MClassType] */;
236 short int var38
/* : Bool */;
237 val
* var40
/* : nullable Object */;
238 val
* var_s
/* var s: MClassType */;
239 val
* var41
/* : MClass */;
240 val
* var43
/* : MClass */;
242 { /* Inline model#MModule#flatten_mclass_hierarchy_cache (self) on <self:MModule> */
243 var3
= self
->attrs
[COLOR_nitc__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_core__kernel__Object___61d_61d
]))(var_res
, var_other
); /* == on <var_res:nullable POSet[MClass](POSet[MClass])>*/
272 var9
= NEW_poset__POSet(&type_poset__POSet__nitc__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_nitc__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_nitc__mmodule
, 104);
292 var14
= poset___poset__POSetElement___greaters(var11
);
296 var15
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__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_core__abstract_collection__Iterator__is_ok
]))(var_16
); /* is_ok on <var_16:Iterator[MModule]>*/
308 var18
= ((val
*(*)(val
* self
))((((long)var_16
&3)?class_info
[((long)var_16
&3)]:var_16
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_16
); /* item on <var_16:Iterator[MModule]>*/
312 { /* Inline model#MModule#mclassdefs (var_m) on <var_m:MModule> */
313 var21
= var_m
->attrs
[COLOR_nitc__model__MModule___mclassdefs
].val
; /* _mclassdefs on <var_m:MModule> */
314 if (unlikely(var21
== NULL
)) {
315 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
316 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 141);
325 var23
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_22
);
330 var25
= ((short int(*)(val
* self
))((((long)var_24
&3)?class_info
[((long)var_24
&3)]:var_24
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_24
); /* is_ok on <var_24:IndexedIterator[MClassDef]>*/
337 var27
= ((val
*(*)(val
* self
))((((long)var_24
&3)?class_info
[((long)var_24
&3)]:var_24
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_24
); /* item on <var_24:IndexedIterator[MClassDef]>*/
341 { /* Inline model#MClassDef#mclass (var_cd) on <var_cd:MClassDef> */
342 var30
= var_cd
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <var_cd:MClassDef> */
343 if (unlikely(var30
== NULL
)) {
344 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
345 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
354 var31
= poset___poset__POSet___add_node(var_res
, var_c
);
357 { /* Inline model#MClassDef#supertypes (var_cd) on <var_cd:MClassDef> */
358 var34
= var_cd
->attrs
[COLOR_nitc__model__MClassDef___supertypes
].val
; /* _supertypes on <var_cd:MClassDef> */
359 if (unlikely(var34
== NULL
)) {
360 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
361 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 650);
370 var36
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_35
);
375 var38
= ((short int(*)(val
* self
))((((long)var_37
&3)?class_info
[((long)var_37
&3)]:var_37
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_37
); /* is_ok on <var_37:IndexedIterator[MClassType]>*/
382 var40
= ((val
*(*)(val
* self
))((((long)var_37
&3)?class_info
[((long)var_37
&3)]:var_37
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_37
); /* item on <var_37:IndexedIterator[MClassType]>*/
386 { /* Inline model#MClassType#mclass (var_s) on <var_s:MClassType> */
387 var43
= var_s
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_s:MClassType> */
388 if (unlikely(var43
== NULL
)) {
389 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
390 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
398 poset___poset__POSet___add_edge(var_res
, var_c
, var41
); /* Direct call poset#POSet#add_edge on <var_res:nullable POSet[MClass](POSet[MClass])>*/
401 ((void(*)(val
* self
))((((long)var_37
&3)?class_info
[((long)var_37
&3)]:var_37
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_37
); /* next on <var_37:IndexedIterator[MClassType]>*/
404 BREAK_label39
: (void)0;
406 ((void(*)(val
* self
))((((long)var_37
&3)?class_info
[((long)var_37
&3)]:var_37
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_37
); /* finish on <var_37:IndexedIterator[MClassType]>*/
409 ((void(*)(val
* self
))((((long)var_24
&3)?class_info
[((long)var_24
&3)]:var_24
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_24
); /* next on <var_24:IndexedIterator[MClassDef]>*/
412 BREAK_label26
: (void)0;
414 ((void(*)(val
* self
))((((long)var_24
&3)?class_info
[((long)var_24
&3)]:var_24
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_24
); /* finish on <var_24:IndexedIterator[MClassDef]>*/
417 ((void(*)(val
* self
))((((long)var_16
&3)?class_info
[((long)var_16
&3)]:var_16
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_16
); /* next on <var_16:Iterator[MModule]>*/
420 BREAK_label
: (void)0;
422 ((void(*)(val
* self
))((((long)var_16
&3)?class_info
[((long)var_16
&3)]:var_16
->class)->vft
[COLOR_core__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_nitc__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 nitc__model___MModule___linearize_mclasses(val
* self
, val
* p0
) {
437 val
* var_mclasses
/* var mclasses: Array[MClass] */;
438 val
* var
/* : POSet[MClass] */;
441 var
= nitc__model___MModule___flatten_mclass_hierarchy(self
);
444 core___core__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 nitc__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_nitc__model__MClassDefSorter(&type_nitc__model__MClassDefSorter
);
456 ((void(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_nitc__model__MClassDefSorter__mmodule_61d
]))(var
, self
); /* mmodule= on <var:MClassDefSorter>*/
459 ((void(*)(val
* self
))(var
->class->vft
[COLOR_core__kernel__Object__init
]))(var
); /* init on <var:MClassDefSorter>*/
463 core___core__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 nitc__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_nitc__model__MPropDefSorter(&type_nitc__model__MPropDefSorter
);
475 ((void(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_nitc__model__MPropDefSorter__mmodule_61d
]))(var
, self
); /* mmodule= on <var:MPropDefSorter>*/
478 ((void(*)(val
* self
))(var
->class->vft
[COLOR_core__kernel__Object__init
]))(var
); /* init on <var:MPropDefSorter>*/
482 core___core__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
* nitc__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_nitc__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 nitc__model___MModule___flatten_mclass_hierarchy_cache_61d(val
* self
, val
* p0
) {
497 self
->attrs
[COLOR_nitc__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
* nitc__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
/* : String */;
509 val
* var6
/* : MClass */;
510 val
* var7
/* : MClassType */;
511 val
* var9
/* : MClassType */;
512 var1
= self
->attrs
[COLOR_nitc__model__MModule___object_type
].val
!= NULL
; /* _object_type on <self:MModule> */
514 var2
= self
->attrs
[COLOR_nitc__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_nitc__model
, 207);
521 if (likely(varonce
!=NULL
)) {
525 var5
= core__flat___NativeString___to_s_full(var4
, 6l, 6l);
530 var6
= nitc__model___MModule___get_primitive_class(self
, var3
);
533 { /* Inline model#MClass#mclass_type (var6) on <var6:MClass> */
534 var9
= var6
->attrs
[COLOR_nitc__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_nitc__model
, 507);
544 self
->attrs
[COLOR_nitc__model__MModule___object_type
].val
= var7
; /* _object_type on <self:MModule> */
551 /* method model#MModule#pointer_type for (self: MModule): MClassType */
552 val
* nitc__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
/* : String */;
560 val
* var6
/* : MClass */;
561 val
* var7
/* : MClassType */;
562 val
* var9
/* : MClassType */;
563 var1
= self
->attrs
[COLOR_nitc__model__MModule___pointer_type
].val
!= NULL
; /* _pointer_type on <self:MModule> */
565 var2
= self
->attrs
[COLOR_nitc__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_nitc__model
, 210);
572 if (likely(varonce
!=NULL
)) {
576 var5
= core__flat___NativeString___to_s_full(var4
, 7l, 7l);
581 var6
= nitc__model___MModule___get_primitive_class(self
, var3
);
584 { /* Inline model#MClass#mclass_type (var6) on <var6:MClass> */
585 var9
= var6
->attrs
[COLOR_nitc__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_nitc__model
, 507);
595 self
->attrs
[COLOR_nitc__model__MModule___pointer_type
].val
= var7
; /* _pointer_type on <self:MModule> */
602 /* method model#MModule#bool_type for (self: MModule): MClassType */
603 val
* nitc__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
/* : String */;
611 val
* var6
/* : MClass */;
612 val
* var7
/* : MClassType */;
613 val
* var9
/* : MClassType */;
614 var1
= self
->attrs
[COLOR_nitc__model__MModule___bool_type
].val
!= NULL
; /* _bool_type on <self:MModule> */
616 var2
= self
->attrs
[COLOR_nitc__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_nitc__model
, 213);
623 if (likely(varonce
!=NULL
)) {
627 var5
= core__flat___NativeString___to_s_full(var4
, 4l, 4l);
632 var6
= nitc__model___MModule___get_primitive_class(self
, var3
);
635 { /* Inline model#MClass#mclass_type (var6) on <var6:MClass> */
636 var9
= var6
->attrs
[COLOR_nitc__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_nitc__model
, 507);
646 self
->attrs
[COLOR_nitc__model__MModule___bool_type
].val
= var7
; /* _bool_type on <self:MModule> */
653 /* method model#MModule#int_type for (self: MModule): MClassType */
654 val
* nitc__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
/* : String */;
662 val
* var6
/* : MClass */;
663 val
* var7
/* : MClassType */;
664 val
* var9
/* : MClassType */;
665 var1
= self
->attrs
[COLOR_nitc__model__MModule___int_type
].val
!= NULL
; /* _int_type on <self:MModule> */
667 var2
= self
->attrs
[COLOR_nitc__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_nitc__model
, 216);
674 if (likely(varonce
!=NULL
)) {
678 var5
= core__flat___NativeString___to_s_full(var4
, 3l, 3l);
683 var6
= nitc__model___MModule___get_primitive_class(self
, var3
);
686 { /* Inline model#MClass#mclass_type (var6) on <var6:MClass> */
687 var9
= var6
->attrs
[COLOR_nitc__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_nitc__model
, 507);
697 self
->attrs
[COLOR_nitc__model__MModule___int_type
].val
= var7
; /* _int_type on <self:MModule> */
704 /* method model#MModule#byte_type for (self: MModule): MClassType */
705 val
* nitc__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
/* : String */;
713 val
* var6
/* : MClass */;
714 val
* var7
/* : MClassType */;
715 val
* var9
/* : MClassType */;
716 var1
= self
->attrs
[COLOR_nitc__model__MModule___byte_type
].val
!= NULL
; /* _byte_type on <self:MModule> */
718 var2
= self
->attrs
[COLOR_nitc__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_nitc__model
, 219);
725 if (likely(varonce
!=NULL
)) {
729 var5
= core__flat___NativeString___to_s_full(var4
, 4l, 4l);
734 var6
= nitc__model___MModule___get_primitive_class(self
, var3
);
737 { /* Inline model#MClass#mclass_type (var6) on <var6:MClass> */
738 var9
= var6
->attrs
[COLOR_nitc__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_nitc__model
, 507);
748 self
->attrs
[COLOR_nitc__model__MModule___byte_type
].val
= var7
; /* _byte_type on <self:MModule> */
755 /* method model#MModule#int8_type for (self: MModule): MClassType */
756 val
* nitc__model___MModule___int8_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
/* : String */;
764 val
* var6
/* : MClass */;
765 val
* var7
/* : MClassType */;
766 val
* var9
/* : MClassType */;
767 var1
= self
->attrs
[COLOR_nitc__model__MModule___int8_type
].val
!= NULL
; /* _int8_type on <self:MModule> */
769 var2
= self
->attrs
[COLOR_nitc__model__MModule___int8_type
].val
; /* _int8_type on <self:MModule> */
770 if (unlikely(var2
== NULL
)) {
771 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _int8_type");
772 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 222);
776 if (likely(varonce
!=NULL
)) {
780 var5
= core__flat___NativeString___to_s_full(var4
, 4l, 4l);
785 var6
= nitc__model___MModule___get_primitive_class(self
, var3
);
788 { /* Inline model#MClass#mclass_type (var6) on <var6:MClass> */
789 var9
= var6
->attrs
[COLOR_nitc__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_nitc__model
, 507);
799 self
->attrs
[COLOR_nitc__model__MModule___int8_type
].val
= var7
; /* _int8_type on <self:MModule> */
806 /* method model#MModule#int16_type for (self: MModule): MClassType */
807 val
* nitc__model___MModule___int16_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
/* : String */;
815 val
* var6
/* : MClass */;
816 val
* var7
/* : MClassType */;
817 val
* var9
/* : MClassType */;
818 var1
= self
->attrs
[COLOR_nitc__model__MModule___int16_type
].val
!= NULL
; /* _int16_type on <self:MModule> */
820 var2
= self
->attrs
[COLOR_nitc__model__MModule___int16_type
].val
; /* _int16_type on <self:MModule> */
821 if (unlikely(var2
== NULL
)) {
822 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _int16_type");
823 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 225);
827 if (likely(varonce
!=NULL
)) {
831 var5
= core__flat___NativeString___to_s_full(var4
, 5l, 5l);
836 var6
= nitc__model___MModule___get_primitive_class(self
, var3
);
839 { /* Inline model#MClass#mclass_type (var6) on <var6:MClass> */
840 var9
= var6
->attrs
[COLOR_nitc__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_nitc__model
, 507);
850 self
->attrs
[COLOR_nitc__model__MModule___int16_type
].val
= var7
; /* _int16_type on <self:MModule> */
857 /* method model#MModule#uint16_type for (self: MModule): MClassType */
858 val
* nitc__model___MModule___uint16_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
/* : String */;
866 val
* var6
/* : MClass */;
867 val
* var7
/* : MClassType */;
868 val
* var9
/* : MClassType */;
869 var1
= self
->attrs
[COLOR_nitc__model__MModule___uint16_type
].val
!= NULL
; /* _uint16_type on <self:MModule> */
871 var2
= self
->attrs
[COLOR_nitc__model__MModule___uint16_type
].val
; /* _uint16_type on <self:MModule> */
872 if (unlikely(var2
== NULL
)) {
873 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _uint16_type");
874 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 228);
878 if (likely(varonce
!=NULL
)) {
882 var5
= core__flat___NativeString___to_s_full(var4
, 6l, 6l);
887 var6
= nitc__model___MModule___get_primitive_class(self
, var3
);
890 { /* Inline model#MClass#mclass_type (var6) on <var6:MClass> */
891 var9
= var6
->attrs
[COLOR_nitc__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_nitc__model
, 507);
901 self
->attrs
[COLOR_nitc__model__MModule___uint16_type
].val
= var7
; /* _uint16_type on <self:MModule> */
908 /* method model#MModule#int32_type for (self: MModule): MClassType */
909 val
* nitc__model___MModule___int32_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
/* : String */;
917 val
* var6
/* : MClass */;
918 val
* var7
/* : MClassType */;
919 val
* var9
/* : MClassType */;
920 var1
= self
->attrs
[COLOR_nitc__model__MModule___int32_type
].val
!= NULL
; /* _int32_type on <self:MModule> */
922 var2
= self
->attrs
[COLOR_nitc__model__MModule___int32_type
].val
; /* _int32_type on <self:MModule> */
923 if (unlikely(var2
== NULL
)) {
924 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _int32_type");
925 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 231);
929 if (likely(varonce
!=NULL
)) {
933 var5
= core__flat___NativeString___to_s_full(var4
, 5l, 5l);
938 var6
= nitc__model___MModule___get_primitive_class(self
, var3
);
941 { /* Inline model#MClass#mclass_type (var6) on <var6:MClass> */
942 var9
= var6
->attrs
[COLOR_nitc__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_nitc__model
, 507);
952 self
->attrs
[COLOR_nitc__model__MModule___int32_type
].val
= var7
; /* _int32_type on <self:MModule> */
959 /* method model#MModule#uint32_type for (self: MModule): MClassType */
960 val
* nitc__model___MModule___uint32_type(val
* self
) {
961 val
* var
/* : MClassType */;
962 short int var1
/* : Bool */;
963 val
* var2
/* : MClassType */;
965 val
* var3
/* : String */;
966 char* var4
/* : NativeString */;
967 val
* var5
/* : String */;
968 val
* var6
/* : MClass */;
969 val
* var7
/* : MClassType */;
970 val
* var9
/* : MClassType */;
971 var1
= self
->attrs
[COLOR_nitc__model__MModule___uint32_type
].val
!= NULL
; /* _uint32_type on <self:MModule> */
973 var2
= self
->attrs
[COLOR_nitc__model__MModule___uint32_type
].val
; /* _uint32_type on <self:MModule> */
974 if (unlikely(var2
== NULL
)) {
975 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _uint32_type");
976 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 234);
980 if (likely(varonce
!=NULL
)) {
984 var5
= core__flat___NativeString___to_s_full(var4
, 6l, 6l);
989 var6
= nitc__model___MModule___get_primitive_class(self
, var3
);
992 { /* Inline model#MClass#mclass_type (var6) on <var6:MClass> */
993 var9
= var6
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var6:MClass> */
994 if (unlikely(var9
== NULL
)) {
995 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
996 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 507);
1003 self
->attrs
[COLOR_nitc__model__MModule___uint32_type
].val
= var7
; /* _uint32_type on <self:MModule> */
1010 /* method model#MModule#char_type for (self: MModule): MClassType */
1011 val
* nitc__model___MModule___char_type(val
* self
) {
1012 val
* var
/* : MClassType */;
1013 short int var1
/* : Bool */;
1014 val
* var2
/* : MClassType */;
1015 static val
* varonce
;
1016 val
* var3
/* : String */;
1017 char* var4
/* : NativeString */;
1018 val
* var5
/* : String */;
1019 val
* var6
/* : MClass */;
1020 val
* var7
/* : MClassType */;
1021 val
* var9
/* : MClassType */;
1022 var1
= self
->attrs
[COLOR_nitc__model__MModule___char_type
].val
!= NULL
; /* _char_type on <self:MModule> */
1024 var2
= self
->attrs
[COLOR_nitc__model__MModule___char_type
].val
; /* _char_type on <self:MModule> */
1025 if (unlikely(var2
== NULL
)) {
1026 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _char_type");
1027 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 237);
1031 if (likely(varonce
!=NULL
)) {
1035 var5
= core__flat___NativeString___to_s_full(var4
, 4l, 4l);
1040 var6
= nitc__model___MModule___get_primitive_class(self
, var3
);
1043 { /* Inline model#MClass#mclass_type (var6) on <var6:MClass> */
1044 var9
= var6
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var6:MClass> */
1045 if (unlikely(var9
== NULL
)) {
1046 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
1047 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 507);
1054 self
->attrs
[COLOR_nitc__model__MModule___char_type
].val
= var7
; /* _char_type on <self:MModule> */
1061 /* method model#MModule#float_type for (self: MModule): MClassType */
1062 val
* nitc__model___MModule___float_type(val
* self
) {
1063 val
* var
/* : MClassType */;
1064 short int var1
/* : Bool */;
1065 val
* var2
/* : MClassType */;
1066 static val
* varonce
;
1067 val
* var3
/* : String */;
1068 char* var4
/* : NativeString */;
1069 val
* var5
/* : String */;
1070 val
* var6
/* : MClass */;
1071 val
* var7
/* : MClassType */;
1072 val
* var9
/* : MClassType */;
1073 var1
= self
->attrs
[COLOR_nitc__model__MModule___float_type
].val
!= NULL
; /* _float_type on <self:MModule> */
1075 var2
= self
->attrs
[COLOR_nitc__model__MModule___float_type
].val
; /* _float_type on <self:MModule> */
1076 if (unlikely(var2
== NULL
)) {
1077 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _float_type");
1078 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 240);
1082 if (likely(varonce
!=NULL
)) {
1086 var5
= core__flat___NativeString___to_s_full(var4
, 5l, 5l);
1091 var6
= nitc__model___MModule___get_primitive_class(self
, var3
);
1094 { /* Inline model#MClass#mclass_type (var6) on <var6:MClass> */
1095 var9
= var6
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var6:MClass> */
1096 if (unlikely(var9
== NULL
)) {
1097 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
1098 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 507);
1105 self
->attrs
[COLOR_nitc__model__MModule___float_type
].val
= var7
; /* _float_type on <self:MModule> */
1112 /* method model#MModule#string_type for (self: MModule): MClassType */
1113 val
* nitc__model___MModule___string_type(val
* self
) {
1114 val
* var
/* : MClassType */;
1115 short int var1
/* : Bool */;
1116 val
* var2
/* : MClassType */;
1117 static val
* varonce
;
1118 val
* var3
/* : String */;
1119 char* var4
/* : NativeString */;
1120 val
* var5
/* : String */;
1121 val
* var6
/* : MClass */;
1122 val
* var7
/* : MClassType */;
1123 val
* var9
/* : MClassType */;
1124 var1
= self
->attrs
[COLOR_nitc__model__MModule___string_type
].val
!= NULL
; /* _string_type on <self:MModule> */
1126 var2
= self
->attrs
[COLOR_nitc__model__MModule___string_type
].val
; /* _string_type on <self:MModule> */
1127 if (unlikely(var2
== NULL
)) {
1128 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string_type");
1129 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 243);
1133 if (likely(varonce
!=NULL
)) {
1137 var5
= core__flat___NativeString___to_s_full(var4
, 6l, 6l);
1142 var6
= nitc__model___MModule___get_primitive_class(self
, var3
);
1145 { /* Inline model#MClass#mclass_type (var6) on <var6:MClass> */
1146 var9
= var6
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var6:MClass> */
1147 if (unlikely(var9
== NULL
)) {
1148 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
1149 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 507);
1156 self
->attrs
[COLOR_nitc__model__MModule___string_type
].val
= var7
; /* _string_type on <self:MModule> */
1163 /* method model#MModule#native_string_type for (self: MModule): MClassType */
1164 val
* nitc__model___MModule___native_string_type(val
* self
) {
1165 val
* var
/* : MClassType */;
1166 short int var1
/* : Bool */;
1167 val
* var2
/* : MClassType */;
1168 static val
* varonce
;
1169 val
* var3
/* : String */;
1170 char* var4
/* : NativeString */;
1171 val
* var5
/* : String */;
1172 val
* var6
/* : MClass */;
1173 val
* var7
/* : MClassType */;
1174 val
* var9
/* : MClassType */;
1175 var1
= self
->attrs
[COLOR_nitc__model__MModule___native_string_type
].val
!= NULL
; /* _native_string_type on <self:MModule> */
1177 var2
= self
->attrs
[COLOR_nitc__model__MModule___native_string_type
].val
; /* _native_string_type on <self:MModule> */
1178 if (unlikely(var2
== NULL
)) {
1179 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _native_string_type");
1180 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 246);
1184 if (likely(varonce
!=NULL
)) {
1187 var4
= "NativeString";
1188 var5
= core__flat___NativeString___to_s_full(var4
, 12l, 12l);
1193 var6
= nitc__model___MModule___get_primitive_class(self
, var3
);
1196 { /* Inline model#MClass#mclass_type (var6) on <var6:MClass> */
1197 var9
= var6
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var6:MClass> */
1198 if (unlikely(var9
== NULL
)) {
1199 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
1200 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 507);
1207 self
->attrs
[COLOR_nitc__model__MModule___native_string_type
].val
= var7
; /* _native_string_type on <self:MModule> */
1214 /* method model#MModule#array_type for (self: MModule, MType): MClassType */
1215 val
* nitc__model___MModule___array_type(val
* self
, val
* p0
) {
1216 val
* var
/* : MClassType */;
1217 val
* var_elt_type
/* var elt_type: MType */;
1218 val
* var1
/* : MClass */;
1219 val
* var2
/* : Array[MType] */;
1220 val
* var_
/* var : Array[MType] */;
1221 val
* var3
/* : MClassType */;
1224 var1
= nitc__model___MModule___array_class(self
);
1226 var2
= NEW_core__Array(&type_core__Array__nitc__MType
);
1228 core___core__Array___with_capacity(var2
, 1l); /* Direct call array#Array#with_capacity on <var2:Array[MType]>*/
1232 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var_elt_type
); /* Direct call array#AbstractArray#push on <var_:Array[MType]>*/
1235 var3
= nitc___nitc__MClass___get_mtype(var1
, var_
);
1242 /* method model#MModule#array_class for (self: MModule): MClass */
1243 val
* nitc__model___MModule___array_class(val
* self
) {
1244 val
* var
/* : MClass */;
1245 short int var1
/* : Bool */;
1246 val
* var2
/* : MClass */;
1247 static val
* varonce
;
1248 val
* var3
/* : String */;
1249 char* var4
/* : NativeString */;
1250 val
* var5
/* : String */;
1251 val
* var6
/* : MClass */;
1252 var1
= self
->attrs
[COLOR_nitc__model__MModule___array_class
].val
!= NULL
; /* _array_class on <self:MModule> */
1254 var2
= self
->attrs
[COLOR_nitc__model__MModule___array_class
].val
; /* _array_class on <self:MModule> */
1255 if (unlikely(var2
== NULL
)) {
1256 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array_class");
1257 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 252);
1261 if (likely(varonce
!=NULL
)) {
1265 var5
= core__flat___NativeString___to_s_full(var4
, 5l, 5l);
1270 var6
= nitc__model___MModule___get_primitive_class(self
, var3
);
1272 self
->attrs
[COLOR_nitc__model__MModule___array_class
].val
= var6
; /* _array_class on <self:MModule> */
1279 /* method model#MModule#native_array_type for (self: MModule, MType): MClassType */
1280 val
* nitc__model___MModule___native_array_type(val
* self
, val
* p0
) {
1281 val
* var
/* : MClassType */;
1282 val
* var_elt_type
/* var elt_type: MType */;
1283 val
* var1
/* : MClass */;
1284 val
* var2
/* : Array[MType] */;
1285 val
* var_
/* var : Array[MType] */;
1286 val
* var3
/* : MClassType */;
1289 var1
= nitc__model___MModule___native_array_class(self
);
1291 var2
= NEW_core__Array(&type_core__Array__nitc__MType
);
1293 core___core__Array___with_capacity(var2
, 1l); /* Direct call array#Array#with_capacity on <var2:Array[MType]>*/
1297 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var_elt_type
); /* Direct call array#AbstractArray#push on <var_:Array[MType]>*/
1300 var3
= nitc___nitc__MClass___get_mtype(var1
, var_
);
1307 /* method model#MModule#native_array_class for (self: MModule): MClass */
1308 val
* nitc__model___MModule___native_array_class(val
* self
) {
1309 val
* var
/* : MClass */;
1310 short int var1
/* : Bool */;
1311 val
* var2
/* : MClass */;
1312 static val
* varonce
;
1313 val
* var3
/* : String */;
1314 char* var4
/* : NativeString */;
1315 val
* var5
/* : String */;
1316 val
* var6
/* : MClass */;
1317 var1
= self
->attrs
[COLOR_nitc__model__MModule___native_array_class
].val
!= NULL
; /* _native_array_class on <self:MModule> */
1319 var2
= self
->attrs
[COLOR_nitc__model__MModule___native_array_class
].val
; /* _native_array_class on <self:MModule> */
1320 if (unlikely(var2
== NULL
)) {
1321 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _native_array_class");
1322 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 258);
1326 if (likely(varonce
!=NULL
)) {
1329 var4
= "NativeArray";
1330 var5
= core__flat___NativeString___to_s_full(var4
, 11l, 11l);
1335 var6
= nitc__model___MModule___get_primitive_class(self
, var3
);
1337 self
->attrs
[COLOR_nitc__model__MModule___native_array_class
].val
= var6
; /* _native_array_class on <self:MModule> */
1344 /* method model#MModule#sys_type for (self: MModule): nullable MClassType */
1345 val
* nitc__model___MModule___sys_type(val
* self
) {
1346 val
* var
/* : nullable MClassType */;
1347 val
* var1
/* : Model */;
1348 val
* var3
/* : Model */;
1349 static val
* varonce
;
1350 val
* var4
/* : String */;
1351 char* var5
/* : NativeString */;
1352 val
* var6
/* : String */;
1353 val
* var7
/* : nullable Array[MClass] */;
1354 val
* var_clas
/* var clas: nullable Array[MClass] */;
1355 short int var8
/* : Bool */;
1356 short int var9
/* : Bool */;
1357 static val
* varonce10
;
1358 val
* var11
/* : String */;
1359 char* var12
/* : NativeString */;
1360 val
* var13
/* : String */;
1361 val
* var14
/* : MClass */;
1362 val
* var15
/* : MClassType */;
1363 val
* var17
/* : MClassType */;
1365 { /* Inline mmodule#MModule#model (self) on <self:MModule> */
1366 var3
= self
->attrs
[COLOR_nitc__mmodule__MModule___model
].val
; /* _model on <self:MModule> */
1367 if (unlikely(var3
== NULL
)) {
1368 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
1369 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 78);
1376 if (likely(varonce
!=NULL
)) {
1380 var6
= core__flat___NativeString___to_s_full(var5
, 3l, 3l);
1385 var7
= nitc__model___Model___get_mclasses_by_name(var1
, var4
);
1388 if (var_clas
== NULL
) {
1389 var8
= 1; /* is null */
1391 var8
= 0; /* arg is null but recv is not */
1394 var9
= core___core__Array___core__kernel__Object___61d_61d(var_clas
, ((val
*)NULL
));
1402 if (likely(varonce10
!=NULL
)) {
1406 var13
= core__flat___NativeString___to_s_full(var12
, 3l, 3l);
1411 var14
= nitc__model___MModule___get_primitive_class(self
, var11
);
1414 { /* Inline model#MClass#mclass_type (var14) on <var14:MClass> */
1415 var17
= var14
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var14:MClass> */
1416 if (unlikely(var17
== NULL
)) {
1417 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
1418 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 507);
1422 RET_LABEL16
:(void)0;
1430 /* method model#MModule#finalizable_type for (self: MModule): nullable MClassType */
1431 val
* nitc__model___MModule___finalizable_type(val
* self
) {
1432 val
* var
/* : nullable MClassType */;
1433 val
* var1
/* : Model */;
1434 val
* var3
/* : Model */;
1435 static val
* varonce
;
1436 val
* var4
/* : String */;
1437 char* var5
/* : NativeString */;
1438 val
* var6
/* : String */;
1439 val
* var7
/* : nullable Array[MClass] */;
1440 val
* var_clas
/* var clas: nullable Array[MClass] */;
1441 short int var8
/* : Bool */;
1442 short int var9
/* : Bool */;
1443 static val
* varonce10
;
1444 val
* var11
/* : String */;
1445 char* var12
/* : NativeString */;
1446 val
* var13
/* : String */;
1447 val
* var14
/* : MClass */;
1448 val
* var15
/* : MClassType */;
1449 val
* var17
/* : MClassType */;
1451 { /* Inline mmodule#MModule#model (self) on <self:MModule> */
1452 var3
= self
->attrs
[COLOR_nitc__mmodule__MModule___model
].val
; /* _model on <self:MModule> */
1453 if (unlikely(var3
== NULL
)) {
1454 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
1455 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 78);
1462 if (likely(varonce
!=NULL
)) {
1465 var5
= "Finalizable";
1466 var6
= core__flat___NativeString___to_s_full(var5
, 11l, 11l);
1471 var7
= nitc__model___Model___get_mclasses_by_name(var1
, var4
);
1474 if (var_clas
== NULL
) {
1475 var8
= 1; /* is null */
1477 var8
= 0; /* arg is null but recv is not */
1480 var9
= core___core__Array___core__kernel__Object___61d_61d(var_clas
, ((val
*)NULL
));
1488 if (likely(varonce10
!=NULL
)) {
1491 var12
= "Finalizable";
1492 var13
= core__flat___NativeString___to_s_full(var12
, 11l, 11l);
1497 var14
= nitc__model___MModule___get_primitive_class(self
, var11
);
1500 { /* Inline model#MClass#mclass_type (var14) on <var14:MClass> */
1501 var17
= var14
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var14:MClass> */
1502 if (unlikely(var17
== NULL
)) {
1503 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
1504 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 507);
1508 RET_LABEL16
:(void)0;
1516 /* method model#MModule#get_primitive_class for (self: MModule, String): MClass */
1517 val
* nitc__model___MModule___get_primitive_class(val
* self
, val
* p0
) {
1518 val
* var
/* : MClass */;
1519 val
* var_name
/* var name: String */;
1520 val
* var1
/* : Model */;
1521 val
* var3
/* : Model */;
1522 val
* var4
/* : nullable Array[MClass] */;
1523 val
* var_cla
/* var cla: nullable Array[MClass] */;
1524 short int var5
/* : Bool */;
1525 short int var6
/* : Bool */;
1526 val
* var_other
/* var other: nullable Object */;
1527 short int var8
/* : Bool */;
1528 short int var9
/* : Bool */;
1529 val
* var10
/* : Array[MClass] */;
1530 val
* var_
/* var : Array[MClass] */;
1531 val
* var_11
/* var : Array[MClass] */;
1532 val
* var12
/* : IndexedIterator[nullable Object] */;
1533 val
* var_13
/* var : IndexedIterator[MClass] */;
1534 short int var14
/* : Bool */;
1535 val
* var15
/* : nullable Object */;
1536 val
* var_c
/* var c: MClass */;
1537 val
* var16
/* : POSetElement[MModule] */;
1538 val
* var18
/* : POSetElement[MModule] */;
1539 val
* var19
/* : MModule */;
1540 val
* var21
/* : MModule */;
1541 short int var22
/* : Bool */;
1542 short int var23
/* : Bool */;
1543 short int var24
/* : Bool */;
1544 short int var25
/* : Bool */;
1545 short int var_26
/* var : Bool */;
1546 short int var27
/* : Bool */;
1547 short int var28
/* : Bool */;
1548 static val
* varonce
;
1549 val
* var29
/* : String */;
1550 char* var30
/* : NativeString */;
1551 val
* var31
/* : String */;
1552 short int var32
/* : Bool */;
1553 short int var_33
/* var : Bool */;
1554 val
* var34
/* : Model */;
1555 val
* var36
/* : Model */;
1556 static val
* varonce37
;
1557 val
* var38
/* : String */;
1558 char* var39
/* : NativeString */;
1559 val
* var40
/* : String */;
1560 val
* var41
/* : nullable Array[MClass] */;
1561 short int var42
/* : Bool */;
1562 short int var43
/* : Bool */;
1563 short int var45
/* : Bool */;
1564 short int var46
/* : Bool */;
1565 val
* var47
/* : MClass */;
1566 val
* var48
/* : Sys */;
1567 val
* var49
/* : MClassKind */;
1568 val
* var50
/* : Sys */;
1569 val
* var51
/* : MVisibility */;
1570 val
* var_c52
/* var c: MClass */;
1571 val
* var53
/* : MClassDef */;
1572 val
* var54
/* : MClassType */;
1573 val
* var56
/* : MClassType */;
1574 val
* var57
/* : Location */;
1575 val
* var_cladef
/* var cladef: MClassDef */;
1576 val
* var58
/* : Array[MClassType] */;
1577 val
* var_59
/* var : Array[MClassType] */;
1578 val
* var60
/* : MClassType */;
1579 val
* var61
/* : Sys */;
1580 val
* var63
/* : NativeArray[String] */;
1581 static val
* varonce62
;
1582 static val
* varonce64
;
1583 val
* var65
/* : String */;
1584 char* var66
/* : NativeString */;
1585 val
* var67
/* : String */;
1586 static val
* varonce68
;
1587 val
* var69
/* : String */;
1588 char* var70
/* : NativeString */;
1589 val
* var71
/* : String */;
1590 val
* var72
/* : String */;
1591 val
* var73
/* : String */;
1592 val
* var74
/* : Sys */;
1593 long var76
/* : Int */;
1594 long var78
/* : Int */;
1595 short int var79
/* : Bool */;
1596 short int var81
/* : Bool */;
1597 short int var82
/* : Bool */;
1598 val
* var84
/* : NativeArray[String] */;
1599 static val
* varonce83
;
1600 static val
* varonce85
;
1601 val
* var86
/* : String */;
1602 char* var87
/* : NativeString */;
1603 val
* var88
/* : String */;
1604 static val
* varonce89
;
1605 val
* var90
/* : String */;
1606 char* var91
/* : NativeString */;
1607 val
* var92
/* : String */;
1608 static val
* varonce93
;
1609 val
* var94
/* : String */;
1610 char* var95
/* : NativeString */;
1611 val
* var96
/* : String */;
1612 val
* var97
/* : String */;
1613 val
* var98
/* : String */;
1614 val
* var_msg
/* var msg: String */;
1615 val
* var_99
/* var : Array[MClass] */;
1616 val
* var100
/* : IndexedIterator[nullable Object] */;
1617 val
* var_101
/* var : IndexedIterator[MClass] */;
1618 short int var102
/* : Bool */;
1619 val
* var104
/* : nullable Object */;
1620 val
* var_c105
/* var c: MClass */;
1621 val
* var107
/* : NativeArray[String] */;
1622 static val
* varonce106
;
1623 static val
* varonce108
;
1624 val
* var109
/* : String */;
1625 char* var110
/* : NativeString */;
1626 val
* var111
/* : String */;
1627 val
* var112
/* : String */;
1628 val
* var113
/* : String */;
1629 val
* var114
/* : String */;
1630 val
* var115
/* : Sys */;
1631 val
* var116
/* : nullable Object */;
1634 { /* Inline mmodule#MModule#model (self) on <self:MModule> */
1635 var3
= self
->attrs
[COLOR_nitc__mmodule__MModule___model
].val
; /* _model on <self:MModule> */
1636 if (unlikely(var3
== NULL
)) {
1637 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
1638 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 78);
1646 var4
= nitc__model___Model___get_mclasses_by_name(var1
, var_name
);
1649 if (var_cla
== NULL
) {
1650 var5
= 0; /* is null */
1652 var5
= 1; /* arg is null and recv is not */
1655 { /* Inline kernel#Object#!= (var_cla,((val*)NULL)) on <var_cla:nullable Array[MClass]> */
1656 var_other
= ((val
*)NULL
);
1658 var8
= ((short int(*)(val
* self
, val
* p0
))(var_cla
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_cla
, var_other
); /* == on <var_cla:nullable Array[MClass](Array[MClass])>*/
1668 var10
= NEW_core__Array(&type_core__Array__nitc__MClass
);
1670 core___core__Array___with_capacity(var10
, 1l); /* Direct call array#Array#with_capacity on <var10:Array[MClass]>*/
1675 var12
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_11
);
1680 var14
= ((short int(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_13
); /* is_ok on <var_13:IndexedIterator[MClass]>*/
1687 var15
= ((val
*(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_13
); /* item on <var_13:IndexedIterator[MClass]>*/
1691 { /* Inline mmodule#MModule#in_importation (self) on <self:MModule> */
1692 var18
= self
->attrs
[COLOR_nitc__mmodule__MModule___in_importation
].val
; /* _in_importation on <self:MModule> */
1693 if (unlikely(var18
== NULL
)) {
1694 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
1695 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 104);
1699 RET_LABEL17
:(void)0;
1703 { /* Inline model#MClass#intro_mmodule (var_c) on <var_c:MClass> */
1704 var21
= var_c
->attrs
[COLOR_nitc__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var_c:MClass> */
1705 if (unlikely(var21
== NULL
)) {
1706 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
1707 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 380);
1711 RET_LABEL20
:(void)0;
1715 var22
= poset___poset__POSetElement____60d_61d(var16
, var19
);
1719 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var_c
); /* Direct call array#AbstractArray#push on <var_:Array[MClass]>*/
1724 ((void(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_13
); /* next on <var_13:IndexedIterator[MClass]>*/
1727 BREAK_label
: (void)0;
1729 ((void(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_13
); /* finish on <var_13:IndexedIterator[MClass]>*/
1734 if (var_cla
== NULL
) {
1735 var24
= 1; /* is null */
1737 var24
= 0; /* arg is null but recv is not */
1740 var25
= core___core__Array___core__kernel__Object___61d_61d(var_cla
, ((val
*)NULL
));
1748 var27
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_cla
);
1753 if (likely(varonce
!=NULL
)) {
1757 var31
= core__flat___NativeString___to_s_full(var30
, 4l, 4l);
1762 var32
= ((short int(*)(val
* self
, val
* p0
))(var_name
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_name
, var29
); /* == on <var_name:String>*/
1767 { /* Inline mmodule#MModule#model (self) on <self:MModule> */
1768 var36
= self
->attrs
[COLOR_nitc__mmodule__MModule___model
].val
; /* _model on <self:MModule> */
1769 if (unlikely(var36
== NULL
)) {
1770 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
1771 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 78);
1775 RET_LABEL35
:(void)0;
1778 if (likely(varonce37
!=NULL
)) {
1782 var40
= core__flat___NativeString___to_s_full(var39
, 6l, 6l);
1787 var41
= nitc__model___Model___get_mclasses_by_name(var34
, var38
);
1789 if (var41
== NULL
) {
1790 var42
= 0; /* is null */
1792 var42
= 1; /* arg is null and recv is not */
1795 { /* Inline kernel#Object#!= (var41,((val*)NULL)) on <var41:nullable Array[MClass]> */
1796 var_other
= ((val
*)NULL
);
1798 var45
= ((short int(*)(val
* self
, val
* p0
))(var41
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var41
, var_other
); /* == on <var41:nullable Array[MClass](Array[MClass])>*/
1803 RET_LABEL44
:(void)0;
1812 var47
= NEW_nitc__MClass(&type_nitc__MClass
);
1815 var49
= nitc__model___core__Sys___enum_kind(var48
);
1819 var51
= nitc__model_base___core__Sys___public_visibility(var50
);
1822 ((void(*)(val
* self
, val
* p0
))(var47
->class->vft
[COLOR_nitc__model__MClass__intro_mmodule_61d
]))(var47
, self
); /* intro_mmodule= on <var47:MClass>*/
1825 ((void(*)(val
* self
, val
* p0
))(var47
->class->vft
[COLOR_nitc__model__MClass__name_61d
]))(var47
, var_name
); /* name= on <var47:MClass>*/
1828 ((void(*)(val
* self
, val
* p0
))(var47
->class->vft
[COLOR_nitc__model__MClass__setup_parameter_names
]))(var47
, ((val
*)NULL
)); /* setup_parameter_names on <var47:MClass>*/
1831 ((void(*)(val
* self
, val
* p0
))(var47
->class->vft
[COLOR_nitc__model__MClass__kind_61d
]))(var47
, var49
); /* kind= on <var47:MClass>*/
1834 ((void(*)(val
* self
, val
* p0
))(var47
->class->vft
[COLOR_nitc__model__MClass__visibility_61d
]))(var47
, var51
); /* visibility= on <var47:MClass>*/
1837 ((void(*)(val
* self
))(var47
->class->vft
[COLOR_core__kernel__Object__init
]))(var47
); /* init on <var47:MClass>*/
1840 var53
= NEW_nitc__MClassDef(&type_nitc__MClassDef
);
1842 { /* Inline model#MClass#mclass_type (var_c52) on <var_c52:MClass> */
1843 var56
= var_c52
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_c52:MClass> */
1844 if (unlikely(var56
== NULL
)) {
1845 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
1846 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 507);
1850 RET_LABEL55
:(void)0;
1853 var57
= NEW_nitc__Location(&type_nitc__Location
);
1855 ((void(*)(val
* self
, val
* p0
))(var57
->class->vft
[COLOR_nitc__location__Location__file_61d
]))(var57
, ((val
*)NULL
)); /* file= on <var57:Location>*/
1858 ((void(*)(val
* self
, long p0
))(var57
->class->vft
[COLOR_nitc__location__Location__line_start_61d
]))(var57
, 0l); /* line_start= on <var57:Location>*/
1861 ((void(*)(val
* self
, long p0
))(var57
->class->vft
[COLOR_nitc__location__Location__line_end_61d
]))(var57
, 0l); /* line_end= on <var57:Location>*/
1864 ((void(*)(val
* self
, long p0
))(var57
->class->vft
[COLOR_nitc__location__Location__column_start_61d
]))(var57
, 0l); /* column_start= on <var57:Location>*/
1867 ((void(*)(val
* self
, long p0
))(var57
->class->vft
[COLOR_nitc__location__Location__column_end_61d
]))(var57
, 0l); /* column_end= on <var57:Location>*/
1870 ((void(*)(val
* self
))(var57
->class->vft
[COLOR_core__kernel__Object__init
]))(var57
); /* init on <var57:Location>*/
1873 ((void(*)(val
* self
, val
* p0
))(var53
->class->vft
[COLOR_nitc__model__MClassDef__mmodule_61d
]))(var53
, self
); /* mmodule= on <var53:MClassDef>*/
1876 ((void(*)(val
* self
, val
* p0
))(var53
->class->vft
[COLOR_nitc__model__MClassDef__bound_mtype_61d
]))(var53
, var54
); /* bound_mtype= on <var53:MClassDef>*/
1879 ((void(*)(val
* self
, val
* p0
))(var53
->class->vft
[COLOR_nitc__model__MClassDef__location_61d
]))(var53
, var57
); /* location= on <var53:MClassDef>*/
1882 ((void(*)(val
* self
))(var53
->class->vft
[COLOR_core__kernel__Object__init
]))(var53
); /* init on <var53:MClassDef>*/
1885 var58
= NEW_core__Array(&type_core__Array__nitc__MClassType
);
1887 core___core__Array___with_capacity(var58
, 1l); /* Direct call array#Array#with_capacity on <var58:Array[MClassType]>*/
1891 var60
= nitc__model___MModule___object_type(self
);
1894 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_59
, var60
); /* Direct call array#AbstractArray#push on <var_59:Array[MClassType]>*/
1897 nitc___nitc__MClassDef___set_supertypes(var_cladef
, var_59
); /* Direct call model#MClassDef#set_supertypes on <var_cladef:MClassDef>*/
1900 nitc___nitc__MClassDef___add_in_hierarchy(var_cladef
); /* Direct call model#MClassDef#add_in_hierarchy on <var_cladef:MClassDef>*/
1907 if (unlikely(varonce62
==NULL
)) {
1908 var63
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
1909 if (likely(varonce64
!=NULL
)) {
1912 var66
= "Fatal Error: no primitive class ";
1913 var67
= core__flat___NativeString___to_s_full(var66
, 32l, 32l);
1917 ((struct instance_core__NativeArray
*)var63
)->values
[0]=var65
;
1918 if (likely(varonce68
!=NULL
)) {
1922 var71
= core__flat___NativeString___to_s_full(var70
, 4l, 4l);
1926 ((struct instance_core__NativeArray
*)var63
)->values
[2]=var69
;
1931 ((struct instance_core__NativeArray
*)var63
)->values
[1]=var_name
;
1933 var72
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(self
); /* to_s on <self:MModule>*/
1935 ((struct instance_core__NativeArray
*)var63
)->values
[3]=var72
;
1937 var73
= ((val
*(*)(val
* self
))(var63
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var63
); /* native_to_s on <var63:NativeArray[String]>*/
1941 core__file___Sys___print(var61
, var73
); /* Direct call file#Sys#print on <var61:Sys>*/
1945 { /* Inline kernel#Sys#exit (var74,1l) on <var74:Sys> */
1947 RET_LABEL75
:(void)0;
1950 PRINT_ERROR("Runtime error: %s", "Aborted");
1951 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 296);
1956 { /* Inline array#AbstractArrayRead#length (var_cla) on <var_cla:nullable Array[MClass](Array[MClass])> */
1957 var78
= var_cla
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_cla:nullable Array[MClass](Array[MClass])> */
1959 RET_LABEL77
:(void)0;
1963 { /* Inline kernel#Int#!= (var76,1l) on <var76:Int> */
1964 var81
= var76
== 1l;
1968 RET_LABEL80
:(void)0;
1972 if (unlikely(varonce83
==NULL
)) {
1973 var84
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
1974 if (likely(varonce85
!=NULL
)) {
1977 var87
= "Fatal Error: more than one primitive class ";
1978 var88
= core__flat___NativeString___to_s_full(var87
, 43l, 43l);
1982 ((struct instance_core__NativeArray
*)var84
)->values
[0]=var86
;
1983 if (likely(varonce89
!=NULL
)) {
1987 var92
= core__flat___NativeString___to_s_full(var91
, 4l, 4l);
1991 ((struct instance_core__NativeArray
*)var84
)->values
[2]=var90
;
1992 if (likely(varonce93
!=NULL
)) {
1996 var96
= core__flat___NativeString___to_s_full(var95
, 1l, 1l);
2000 ((struct instance_core__NativeArray
*)var84
)->values
[4]=var94
;
2005 ((struct instance_core__NativeArray
*)var84
)->values
[1]=var_name
;
2007 var97
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(self
); /* to_s on <self:MModule>*/
2009 ((struct instance_core__NativeArray
*)var84
)->values
[3]=var97
;
2011 var98
= ((val
*(*)(val
* self
))(var84
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var84
); /* native_to_s on <var84:NativeArray[String]>*/
2017 var100
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_99
);
2022 var102
= ((short int(*)(val
* self
))((((long)var_101
&3)?class_info
[((long)var_101
&3)]:var_101
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_101
); /* is_ok on <var_101:IndexedIterator[MClass]>*/
2026 goto BREAK_label103
;
2029 var104
= ((val
*(*)(val
* self
))((((long)var_101
&3)?class_info
[((long)var_101
&3)]:var_101
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_101
); /* item on <var_101:IndexedIterator[MClass]>*/
2032 if (unlikely(varonce106
==NULL
)) {
2033 var107
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
2034 if (likely(varonce108
!=NULL
)) {
2035 var109
= varonce108
;
2038 var111
= core__flat___NativeString___to_s_full(var110
, 1l, 1l);
2040 varonce108
= var109
;
2042 ((struct instance_core__NativeArray
*)var107
)->values
[0]=var109
;
2044 var107
= varonce106
;
2048 var112
= nitc___nitc__MClass___nitc__model_base__MEntity__full_name(var_c105
);
2050 ((struct instance_core__NativeArray
*)var107
)->values
[1]=var112
;
2052 var113
= ((val
*(*)(val
* self
))(var107
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var107
); /* native_to_s on <var107:NativeArray[String]>*/
2054 varonce106
= var107
;
2056 var114
= ((val
*(*)(val
* self
, val
* p0
))(var_msg
->class->vft
[COLOR_core__abstract_text__String___43d
]))(var_msg
, var113
); /* + on <var_msg:String>*/
2060 ((void(*)(val
* self
))((((long)var_101
&3)?class_info
[((long)var_101
&3)]:var_101
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_101
); /* next on <var_101:IndexedIterator[MClass]>*/
2063 BREAK_label103
: (void)0;
2065 ((void(*)(val
* self
))((((long)var_101
&3)?class_info
[((long)var_101
&3)]:var_101
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_101
); /* finish on <var_101:IndexedIterator[MClass]>*/
2069 core__file___Sys___print(var115
, var_msg
); /* Direct call file#Sys#print on <var115:Sys>*/
2074 var116
= core___core__SequenceRead___Collection__first(var_cla
);
2081 /* method model#MModule#try_get_primitive_method for (self: MModule, String, MClass): nullable MMethod */
2082 val
* nitc__model___MModule___try_get_primitive_method(val
* self
, val
* p0
, val
* p1
) {
2083 val
* var
/* : nullable MMethod */;
2084 val
* var_name
/* var name: String */;
2085 val
* var_recv
/* var recv: MClass */;
2086 val
* var1
/* : Model */;
2087 val
* var3
/* : Model */;
2088 val
* var4
/* : nullable Array[MProperty] */;
2089 val
* var_props
/* var props: nullable Array[MProperty] */;
2090 short int var5
/* : Bool */;
2091 short int var6
/* : Bool */;
2092 val
* var_res
/* var res: nullable MMethod */;
2093 val
* var7
/* : MClassDef */;
2094 val
* var9
/* : MClassDef */;
2095 val
* var10
/* : MClassType */;
2096 val
* var12
/* : MClassType */;
2097 val
* var_recvtype
/* var recvtype: MClassType */;
2098 val
* var_
/* var : Array[MProperty] */;
2099 val
* var13
/* : IndexedIterator[nullable Object] */;
2100 val
* var_14
/* var : IndexedIterator[MProperty] */;
2101 short int var15
/* : Bool */;
2102 val
* var16
/* : nullable Object */;
2103 val
* var_mprop
/* var mprop: MProperty */;
2104 short int var17
/* : Bool */;
2107 short int var18
/* : Bool */;
2108 short int var19
/* : Bool */;
2109 short int var21
/* : Bool */;
2110 short int var22
/* : Bool */;
2111 val
* var_other
/* var other: nullable Object */;
2112 short int var24
/* : Bool */;
2113 short int var26
/* : Bool */;
2114 short int var27
/* : Bool */;
2115 val
* var_other29
/* var other: nullable Object */;
2116 short int var30
/* : Bool */;
2117 short int var31
/* : Bool */;
2118 val
* var32
/* : Sys */;
2119 val
* var33
/* : NativeArray[String] */;
2120 static val
* varonce
;
2121 static val
* varonce34
;
2122 val
* var35
/* : String */;
2123 char* var36
/* : NativeString */;
2124 val
* var37
/* : String */;
2125 static val
* varonce38
;
2126 val
* var39
/* : String */;
2127 char* var40
/* : NativeString */;
2128 val
* var41
/* : String */;
2129 static val
* varonce42
;
2130 val
* var43
/* : String */;
2131 char* var44
/* : NativeString */;
2132 val
* var45
/* : String */;
2133 val
* var46
/* : String */;
2134 val
* var47
/* : String */;
2135 val
* var48
/* : String */;
2139 { /* Inline mmodule#MModule#model (self) on <self:MModule> */
2140 var3
= self
->attrs
[COLOR_nitc__mmodule__MModule___model
].val
; /* _model on <self:MModule> */
2141 if (unlikely(var3
== NULL
)) {
2142 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
2143 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 78);
2151 var4
= nitc__model___Model___get_mproperties_by_name(var1
, var_name
);
2154 if (var_props
== NULL
) {
2155 var5
= 1; /* is null */
2157 var5
= 0; /* arg is null but recv is not */
2160 var6
= core___core__Array___core__kernel__Object___61d_61d(var_props
, ((val
*)NULL
));
2168 var_res
= ((val
*)NULL
);
2170 { /* Inline model#MClass#intro (var_recv) on <var_recv:MClass> */
2171 var9
= var_recv
->attrs
[COLOR_nitc__model__MClass___intro
].val
; /* _intro on <var_recv:MClass> */
2172 if (unlikely(var9
== NULL
)) {
2173 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
2174 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 483);
2182 { /* Inline model#MClassDef#bound_mtype (var7) on <var7:MClassDef> */
2183 var12
= var7
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var7:MClassDef> */
2184 if (unlikely(var12
== NULL
)) {
2185 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2186 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 579);
2190 RET_LABEL11
:(void)0;
2193 var_recvtype
= var10
;
2196 var13
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
2201 var15
= ((short int(*)(val
* self
))((((long)var_14
&3)?class_info
[((long)var_14
&3)]:var_14
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_14
); /* is_ok on <var_14:IndexedIterator[MProperty]>*/
2208 var16
= ((val
*(*)(val
* self
))((((long)var_14
&3)?class_info
[((long)var_14
&3)]:var_14
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_14
); /* item on <var_14:IndexedIterator[MProperty]>*/
2211 /* <var_mprop:MProperty> isa MMethod */
2212 cltype
= type_nitc__MMethod
.color
;
2213 idtype
= type_nitc__MMethod
.id
;
2214 if(cltype
>= var_mprop
->type
->table_size
) {
2217 var17
= var_mprop
->type
->type_table
[cltype
] == idtype
;
2219 if (unlikely(!var17
)) {
2220 PRINT_ERROR("Runtime error: %s", "Assert failed");
2221 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 315);
2225 var18
= nitc___nitc__MType___has_mproperty(var_recvtype
, self
, var_mprop
);
2232 if (var_res
== NULL
) {
2233 var21
= 1; /* is null */
2235 var21
= 0; /* arg is null but recv is not */
2238 { /* Inline kernel#Object#== (var_res,((val*)NULL)) on <var_res:nullable MMethod> */
2239 var_other
= ((val
*)NULL
);
2241 { /* Inline kernel#Object#is_same_instance (var_res,var_other) on <var_res:nullable MMethod(MMethod)> */
2242 var26
= var_res
== var_other
;
2245 RET_LABEL25
:(void)0;
2250 RET_LABEL23
:(void)0;
2255 var_res
= var_mprop
;
2258 { /* Inline kernel#Object#!= (var_res,var_mprop) on <var_res:nullable MMethod(MMethod)> */
2259 var_other29
= var_mprop
;
2261 var30
= ((short int(*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_res
, var_other29
); /* == on <var_res:nullable MMethod(MMethod)>*/
2266 RET_LABEL28
:(void)0;
2271 if (unlikely(varonce
==NULL
)) {
2272 var33
= NEW_core__NativeArray(6l, &type_core__NativeArray__core__String
);
2273 if (likely(varonce34
!=NULL
)) {
2276 var36
= "Fatal Error: ambigous property name \'";
2277 var37
= core__flat___NativeString___to_s_full(var36
, 37l, 37l);
2281 ((struct instance_core__NativeArray
*)var33
)->values
[0]=var35
;
2282 if (likely(varonce38
!=NULL
)) {
2285 var40
= "\'; conflict between ";
2286 var41
= core__flat___NativeString___to_s_full(var40
, 20l, 20l);
2290 ((struct instance_core__NativeArray
*)var33
)->values
[2]=var39
;
2291 if (likely(varonce42
!=NULL
)) {
2295 var45
= core__flat___NativeString___to_s_full(var44
, 5l, 5l);
2299 ((struct instance_core__NativeArray
*)var33
)->values
[4]=var43
;
2304 ((struct instance_core__NativeArray
*)var33
)->values
[1]=var_name
;
2306 var46
= nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var_mprop
);
2308 ((struct instance_core__NativeArray
*)var33
)->values
[3]=var46
;
2310 var47
= nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var_res
);
2312 ((struct instance_core__NativeArray
*)var33
)->values
[5]=var47
;
2314 var48
= ((val
*(*)(val
* self
))(var33
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var33
); /* native_to_s on <var33:NativeArray[String]>*/
2318 core__file___Sys___print(var32
, var48
); /* Direct call file#Sys#print on <var32:Sys>*/
2320 PRINT_ERROR("Runtime error: %s", "Aborted");
2321 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 321);
2326 BREAK_label20
: (void)0;
2328 ((void(*)(val
* self
))((((long)var_14
&3)?class_info
[((long)var_14
&3)]:var_14
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_14
); /* next on <var_14:IndexedIterator[MProperty]>*/
2331 BREAK_label
: (void)0;
2333 ((void(*)(val
* self
))((((long)var_14
&3)?class_info
[((long)var_14
&3)]:var_14
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_14
); /* finish on <var_14:IndexedIterator[MProperty]>*/
2340 /* method model#MClassDefSorter#mmodule for (self: MClassDefSorter): MModule */
2341 val
* nitc__model___nitc__model__MClassDefSorter___mmodule(val
* self
) {
2342 val
* var
/* : MModule */;
2343 val
* var1
/* : MModule */;
2344 var1
= self
->attrs
[COLOR_nitc__model__MClassDefSorter___mmodule
].val
; /* _mmodule on <self:MClassDefSorter> */
2345 if (unlikely(var1
== NULL
)) {
2346 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2347 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 331);
2354 /* method model#MClassDefSorter#mmodule= for (self: MClassDefSorter, MModule) */
2355 void nitc__model___nitc__model__MClassDefSorter___mmodule_61d(val
* self
, val
* p0
) {
2356 self
->attrs
[COLOR_nitc__model__MClassDefSorter___mmodule
].val
= p0
; /* _mmodule on <self:MClassDefSorter> */
2359 /* method model#MClassDefSorter#compare for (self: MClassDefSorter, MClassDef, MClassDef): Int */
2360 long nitc__model___nitc__model__MClassDefSorter___core__sorter__Comparator__compare(val
* self
, val
* p0
, val
* p1
) {
2361 long var
/* : Int */;
2362 short int var1
/* : Bool */;
2365 const struct type
* type_struct
;
2366 const char* var_class_name
;
2367 short int var2
/* : Bool */;
2370 const struct type
* type_struct5
;
2371 const char* var_class_name6
;
2372 val
* var_a
/* var a: MClassDef */;
2373 val
* var_b
/* var b: MClassDef */;
2374 val
* var7
/* : MClass */;
2375 val
* var9
/* : MClass */;
2376 val
* var_ca
/* var ca: MClass */;
2377 val
* var10
/* : MClass */;
2378 val
* var12
/* : MClass */;
2379 val
* var_cb
/* var cb: MClass */;
2380 short int var13
/* : Bool */;
2381 val
* var_other
/* var other: nullable Object */;
2382 short int var15
/* : Bool */;
2383 short int var16
/* : Bool */;
2384 val
* var17
/* : MModule */;
2385 val
* var19
/* : MModule */;
2386 val
* var20
/* : POSet[MClass] */;
2387 long var21
/* : Int */;
2388 val
* var22
/* : MModule */;
2389 val
* var24
/* : MModule */;
2390 val
* var25
/* : Model */;
2391 val
* var27
/* : Model */;
2392 val
* var28
/* : POSet[MClassDef] */;
2393 val
* var30
/* : POSet[MClassDef] */;
2394 long var31
/* : Int */;
2395 /* Covariant cast for argument 0 (a) <p0:MClassDef> isa COMPARED */
2396 /* <p0:MClassDef> isa COMPARED */
2397 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__sorter__Comparator__COMPARED
];
2398 cltype
= type_struct
->color
;
2399 idtype
= type_struct
->id
;
2400 if(cltype
>= p0
->type
->table_size
) {
2403 var1
= p0
->type
->type_table
[cltype
] == idtype
;
2405 if (unlikely(!var1
)) {
2406 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2407 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPARED", var_class_name
);
2408 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 332);
2411 /* Covariant cast for argument 1 (b) <p1:MClassDef> isa COMPARED */
2412 /* <p1:MClassDef> isa COMPARED */
2413 type_struct5
= self
->type
->resolution_table
->types
[COLOR_core__sorter__Comparator__COMPARED
];
2414 cltype3
= type_struct5
->color
;
2415 idtype4
= type_struct5
->id
;
2416 if(cltype3
>= p1
->type
->table_size
) {
2419 var2
= p1
->type
->type_table
[cltype3
] == idtype4
;
2421 if (unlikely(!var2
)) {
2422 var_class_name6
= p1
== NULL ?
"null" : p1
->type
->name
;
2423 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPARED", var_class_name6
);
2424 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 332);
2430 { /* Inline model#MClassDef#mclass (var_a) on <var_a:MClassDef> */
2431 var9
= var_a
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <var_a:MClassDef> */
2432 if (unlikely(var9
== NULL
)) {
2433 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2434 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
2443 { /* Inline model#MClassDef#mclass (var_b) on <var_b:MClassDef> */
2444 var12
= var_b
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <var_b:MClassDef> */
2445 if (unlikely(var12
== NULL
)) {
2446 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2447 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
2451 RET_LABEL11
:(void)0;
2456 { /* Inline kernel#Object#!= (var_ca,var_cb) on <var_ca:MClass> */
2459 var15
= ((short int(*)(val
* self
, val
* p0
))(var_ca
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_ca
, var_other
); /* == on <var_ca:MClass>*/
2464 RET_LABEL14
:(void)0;
2469 { /* Inline model#MClassDefSorter#mmodule (self) on <self:MClassDefSorter> */
2470 var19
= self
->attrs
[COLOR_nitc__model__MClassDefSorter___mmodule
].val
; /* _mmodule on <self:MClassDefSorter> */
2471 if (unlikely(var19
== NULL
)) {
2472 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2473 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 331);
2477 RET_LABEL18
:(void)0;
2481 var20
= nitc__model___MModule___flatten_mclass_hierarchy(var17
);
2484 var21
= poset___poset__POSet___core__sorter__Comparator__compare(var20
, var_ca
, var_cb
);
2491 { /* Inline model#MClassDefSorter#mmodule (self) on <self:MClassDefSorter> */
2492 var24
= self
->attrs
[COLOR_nitc__model__MClassDefSorter___mmodule
].val
; /* _mmodule on <self:MClassDefSorter> */
2493 if (unlikely(var24
== NULL
)) {
2494 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2495 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 331);
2499 RET_LABEL23
:(void)0;
2503 { /* Inline mmodule#MModule#model (var22) on <var22:MModule> */
2504 var27
= var22
->attrs
[COLOR_nitc__mmodule__MModule___model
].val
; /* _model on <var22:MModule> */
2505 if (unlikely(var27
== NULL
)) {
2506 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
2507 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 78);
2511 RET_LABEL26
:(void)0;
2515 { /* Inline model#Model#mclassdef_hierarchy (var25) on <var25:Model> */
2516 var30
= var25
->attrs
[COLOR_nitc__model__Model___mclassdef_hierarchy
].val
; /* _mclassdef_hierarchy on <var25:Model> */
2517 if (unlikely(var30
== NULL
)) {
2518 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef_hierarchy");
2519 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 40);
2523 RET_LABEL29
:(void)0;
2527 var31
= poset___poset__POSet___core__sorter__Comparator__compare(var28
, var_a
, var_b
);
2534 /* method model#MClassDefSorter#init for (self: MClassDefSorter) */
2535 void nitc__model___nitc__model__MClassDefSorter___core__kernel__Object__init(val
* self
) {
2537 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc__model___nitc__model__MClassDefSorter___core__kernel__Object__init
]))(self
); /* init on <self:MClassDefSorter>*/
2541 /* method model#MPropDefSorter#mmodule for (self: MPropDefSorter): MModule */
2542 val
* nitc__model___nitc__model__MPropDefSorter___mmodule(val
* self
) {
2543 val
* var
/* : MModule */;
2544 val
* var1
/* : MModule */;
2545 var1
= self
->attrs
[COLOR_nitc__model__MPropDefSorter___mmodule
].val
; /* _mmodule on <self:MPropDefSorter> */
2546 if (unlikely(var1
== NULL
)) {
2547 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2548 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 344);
2555 /* method model#MPropDefSorter#mmodule= for (self: MPropDefSorter, MModule) */
2556 void nitc__model___nitc__model__MPropDefSorter___mmodule_61d(val
* self
, val
* p0
) {
2557 self
->attrs
[COLOR_nitc__model__MPropDefSorter___mmodule
].val
= p0
; /* _mmodule on <self:MPropDefSorter> */
2560 /* method model#MPropDefSorter#compare for (self: MPropDefSorter, MPropDef, MPropDef): Int */
2561 long nitc__model___nitc__model__MPropDefSorter___core__sorter__Comparator__compare(val
* self
, val
* p0
, val
* p1
) {
2562 long var
/* : Int */;
2563 short int var1
/* : Bool */;
2566 const struct type
* type_struct
;
2567 const char* var_class_name
;
2568 short int var2
/* : Bool */;
2571 const struct type
* type_struct5
;
2572 const char* var_class_name6
;
2573 val
* var_pa
/* var pa: MPropDef */;
2574 val
* var_pb
/* var pb: MPropDef */;
2575 val
* var7
/* : MClassDef */;
2576 val
* var9
/* : MClassDef */;
2577 val
* var_a
/* var a: MClassDef */;
2578 val
* var10
/* : MClassDef */;
2579 val
* var12
/* : MClassDef */;
2580 val
* var_b
/* var b: MClassDef */;
2581 val
* var13
/* : MClass */;
2582 val
* var15
/* : MClass */;
2583 val
* var_ca
/* var ca: MClass */;
2584 val
* var16
/* : MClass */;
2585 val
* var18
/* : MClass */;
2586 val
* var_cb
/* var cb: MClass */;
2587 short int var19
/* : Bool */;
2588 val
* var_other
/* var other: nullable Object */;
2589 short int var21
/* : Bool */;
2590 short int var22
/* : Bool */;
2591 val
* var23
/* : MModule */;
2592 val
* var25
/* : MModule */;
2593 val
* var26
/* : POSet[MClass] */;
2594 long var27
/* : Int */;
2595 val
* var28
/* : MModule */;
2596 val
* var30
/* : MModule */;
2597 val
* var31
/* : Model */;
2598 val
* var33
/* : Model */;
2599 val
* var34
/* : POSet[MClassDef] */;
2600 val
* var36
/* : POSet[MClassDef] */;
2601 long var37
/* : Int */;
2602 /* Covariant cast for argument 0 (pa) <p0:MPropDef> isa COMPARED */
2603 /* <p0:MPropDef> isa COMPARED */
2604 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__sorter__Comparator__COMPARED
];
2605 cltype
= type_struct
->color
;
2606 idtype
= type_struct
->id
;
2607 if(cltype
>= p0
->type
->table_size
) {
2610 var1
= p0
->type
->type_table
[cltype
] == idtype
;
2612 if (unlikely(!var1
)) {
2613 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2614 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPARED", var_class_name
);
2615 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 345);
2618 /* Covariant cast for argument 1 (pb) <p1:MPropDef> isa COMPARED */
2619 /* <p1:MPropDef> isa COMPARED */
2620 type_struct5
= self
->type
->resolution_table
->types
[COLOR_core__sorter__Comparator__COMPARED
];
2621 cltype3
= type_struct5
->color
;
2622 idtype4
= type_struct5
->id
;
2623 if(cltype3
>= p1
->type
->table_size
) {
2626 var2
= p1
->type
->type_table
[cltype3
] == idtype4
;
2628 if (unlikely(!var2
)) {
2629 var_class_name6
= p1
== NULL ?
"null" : p1
->type
->name
;
2630 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPARED", var_class_name6
);
2631 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 345);
2637 { /* Inline model#MPropDef#mclassdef (var_pa) on <var_pa:MPropDef> */
2638 var9
= var_pa
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_pa:MPropDef> */
2639 if (unlikely(var9
== NULL
)) {
2640 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2641 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
2650 { /* Inline model#MPropDef#mclassdef (var_pb) on <var_pb:MPropDef> */
2651 var12
= var_pb
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_pb:MPropDef> */
2652 if (unlikely(var12
== NULL
)) {
2653 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2654 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
2658 RET_LABEL11
:(void)0;
2663 { /* Inline model#MClassDef#mclass (var_a) on <var_a:MClassDef> */
2664 var15
= var_a
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <var_a:MClassDef> */
2665 if (unlikely(var15
== NULL
)) {
2666 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2667 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
2671 RET_LABEL14
:(void)0;
2676 { /* Inline model#MClassDef#mclass (var_b) on <var_b:MClassDef> */
2677 var18
= var_b
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <var_b:MClassDef> */
2678 if (unlikely(var18
== NULL
)) {
2679 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2680 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
2684 RET_LABEL17
:(void)0;
2689 { /* Inline kernel#Object#!= (var_ca,var_cb) on <var_ca:MClass> */
2692 var21
= ((short int(*)(val
* self
, val
* p0
))(var_ca
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_ca
, var_other
); /* == on <var_ca:MClass>*/
2697 RET_LABEL20
:(void)0;
2702 { /* Inline model#MPropDefSorter#mmodule (self) on <self:MPropDefSorter> */
2703 var25
= self
->attrs
[COLOR_nitc__model__MPropDefSorter___mmodule
].val
; /* _mmodule on <self:MPropDefSorter> */
2704 if (unlikely(var25
== NULL
)) {
2705 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2706 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 344);
2710 RET_LABEL24
:(void)0;
2714 var26
= nitc__model___MModule___flatten_mclass_hierarchy(var23
);
2717 var27
= poset___poset__POSet___core__sorter__Comparator__compare(var26
, var_ca
, var_cb
);
2724 { /* Inline model#MPropDefSorter#mmodule (self) on <self:MPropDefSorter> */
2725 var30
= self
->attrs
[COLOR_nitc__model__MPropDefSorter___mmodule
].val
; /* _mmodule on <self:MPropDefSorter> */
2726 if (unlikely(var30
== NULL
)) {
2727 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2728 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 344);
2732 RET_LABEL29
:(void)0;
2736 { /* Inline mmodule#MModule#model (var28) on <var28:MModule> */
2737 var33
= var28
->attrs
[COLOR_nitc__mmodule__MModule___model
].val
; /* _model on <var28:MModule> */
2738 if (unlikely(var33
== NULL
)) {
2739 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
2740 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 78);
2744 RET_LABEL32
:(void)0;
2748 { /* Inline model#Model#mclassdef_hierarchy (var31) on <var31:Model> */
2749 var36
= var31
->attrs
[COLOR_nitc__model__Model___mclassdef_hierarchy
].val
; /* _mclassdef_hierarchy on <var31:Model> */
2750 if (unlikely(var36
== NULL
)) {
2751 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef_hierarchy");
2752 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 40);
2756 RET_LABEL35
:(void)0;
2760 var37
= poset___poset__POSet___core__sorter__Comparator__compare(var34
, var_a
, var_b
);
2767 /* method model#MPropDefSorter#init for (self: MPropDefSorter) */
2768 void nitc__model___nitc__model__MPropDefSorter___core__kernel__Object__init(val
* self
) {
2770 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc__model___nitc__model__MPropDefSorter___core__kernel__Object__init
]))(self
); /* init on <self:MPropDefSorter>*/
2774 /* method model#MClass#intro_mmodule for (self: MClass): MModule */
2775 val
* nitc___nitc__MClass___intro_mmodule(val
* self
) {
2776 val
* var
/* : MModule */;
2777 val
* var1
/* : MModule */;
2778 var1
= self
->attrs
[COLOR_nitc__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <self:MClass> */
2779 if (unlikely(var1
== NULL
)) {
2780 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
2781 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 380);
2788 /* method model#MClass#intro_mmodule= for (self: MClass, MModule) */
2789 void nitc___nitc__MClass___intro_mmodule_61d(val
* self
, val
* p0
) {
2790 self
->attrs
[COLOR_nitc__model__MClass___intro_mmodule
].val
= p0
; /* _intro_mmodule on <self:MClass> */
2793 /* method model#MClass#name for (self: MClass): String */
2794 val
* nitc___nitc__MClass___nitc__model_base__MEntity__name(val
* self
) {
2795 val
* var
/* : String */;
2796 val
* var1
/* : String */;
2797 var1
= self
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <self:MClass> */
2798 if (unlikely(var1
== NULL
)) {
2799 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2800 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 385);
2807 /* method model#MClass#name= for (self: MClass, String) */
2808 void nitc___nitc__MClass___name_61d(val
* self
, val
* p0
) {
2809 self
->attrs
[COLOR_nitc__model__MClass___name
].val
= p0
; /* _name on <self:MClass> */
2812 /* method model#MClass#full_name for (self: MClass): String */
2813 val
* nitc___nitc__MClass___nitc__model_base__MEntity__full_name(val
* self
) {
2814 val
* var
/* : String */;
2815 short int var1
/* : Bool */;
2816 val
* var2
/* : String */;
2817 val
* var3
/* : String */;
2818 val
* var5
/* : NativeArray[String] */;
2819 static val
* varonce
;
2820 static val
* varonce6
;
2821 val
* var7
/* : String */;
2822 char* var8
/* : NativeString */;
2823 val
* var9
/* : String */;
2824 val
* var10
/* : MModule */;
2825 val
* var12
/* : MModule */;
2826 val
* var13
/* : MVisibility */;
2827 val
* var15
/* : MVisibility */;
2828 val
* var16
/* : String */;
2829 val
* var17
/* : String */;
2830 val
* var19
/* : String */;
2831 val
* var20
/* : String */;
2832 var1
= self
->attrs
[COLOR_nitc__model__MClass___full_name
].val
!= NULL
; /* _full_name on <self:MClass> */
2834 var2
= self
->attrs
[COLOR_nitc__model__MClass___full_name
].val
; /* _full_name on <self:MClass> */
2835 if (unlikely(var2
== NULL
)) {
2836 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _full_name");
2837 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 389);
2842 if (unlikely(varonce
==NULL
)) {
2843 var5
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
2844 if (likely(varonce6
!=NULL
)) {
2848 var9
= core__flat___NativeString___to_s_full(var8
, 2l, 2l);
2852 ((struct instance_core__NativeArray
*)var5
)->values
[1]=var7
;
2858 { /* Inline model#MClass#intro_mmodule (self) on <self:MClass> */
2859 var12
= self
->attrs
[COLOR_nitc__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <self:MClass> */
2860 if (unlikely(var12
== NULL
)) {
2861 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
2862 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 380);
2866 RET_LABEL11
:(void)0;
2870 { /* Inline model#MClass#visibility (self) on <self:MClass> */
2871 var15
= self
->attrs
[COLOR_nitc__model__MClass___visibility
].val
; /* _visibility on <self:MClass> */
2872 if (unlikely(var15
== NULL
)) {
2873 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
2874 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 463);
2878 RET_LABEL14
:(void)0;
2882 var16
= nitc___nitc__MModule___namespace_for(var10
, var13
);
2884 ((struct instance_core__NativeArray
*)var5
)->values
[0]=var16
;
2886 { /* Inline model#MClass#name (self) on <self:MClass> */
2887 var19
= self
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <self:MClass> */
2888 if (unlikely(var19
== NULL
)) {
2889 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2890 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 385);
2894 RET_LABEL18
:(void)0;
2897 ((struct instance_core__NativeArray
*)var5
)->values
[2]=var17
;
2899 var20
= ((val
*(*)(val
* self
))(var5
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var5
); /* native_to_s on <var5:NativeArray[String]>*/
2906 self
->attrs
[COLOR_nitc__model__MClass___full_name
].val
= var3
; /* _full_name on <self:MClass> */
2913 /* method model#MClass#c_name for (self: MClass): String */
2914 val
* nitc___nitc__MClass___nitc__model_base__MEntity__c_name(val
* self
) {
2915 val
* var
/* : String */;
2916 short int var1
/* : Bool */;
2917 val
* var2
/* : String */;
2918 val
* var3
/* : String */;
2919 val
* var5
/* : NativeArray[String] */;
2920 static val
* varonce
;
2921 static val
* varonce6
;
2922 val
* var7
/* : String */;
2923 char* var8
/* : NativeString */;
2924 val
* var9
/* : String */;
2925 val
* var10
/* : MModule */;
2926 val
* var12
/* : MModule */;
2927 val
* var13
/* : MVisibility */;
2928 val
* var15
/* : MVisibility */;
2929 val
* var16
/* : String */;
2930 val
* var17
/* : String */;
2931 val
* var19
/* : String */;
2932 val
* var20
/* : String */;
2933 val
* var21
/* : String */;
2934 var1
= self
->attrs
[COLOR_nitc__model__MClass___c_name
].val
!= NULL
; /* _c_name on <self:MClass> */
2936 var2
= self
->attrs
[COLOR_nitc__model__MClass___c_name
].val
; /* _c_name on <self:MClass> */
2937 if (unlikely(var2
== NULL
)) {
2938 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _c_name");
2939 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 397);
2944 if (unlikely(varonce
==NULL
)) {
2945 var5
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
2946 if (likely(varonce6
!=NULL
)) {
2950 var9
= core__flat___NativeString___to_s_full(var8
, 2l, 2l);
2954 ((struct instance_core__NativeArray
*)var5
)->values
[1]=var7
;
2960 { /* Inline model#MClass#intro_mmodule (self) on <self:MClass> */
2961 var12
= self
->attrs
[COLOR_nitc__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <self:MClass> */
2962 if (unlikely(var12
== NULL
)) {
2963 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
2964 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 380);
2968 RET_LABEL11
:(void)0;
2972 { /* Inline model#MClass#visibility (self) on <self:MClass> */
2973 var15
= self
->attrs
[COLOR_nitc__model__MClass___visibility
].val
; /* _visibility on <self:MClass> */
2974 if (unlikely(var15
== NULL
)) {
2975 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
2976 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 463);
2980 RET_LABEL14
:(void)0;
2984 var16
= nitc___nitc__MModule___c_namespace_for(var10
, var13
);
2986 ((struct instance_core__NativeArray
*)var5
)->values
[0]=var16
;
2988 { /* Inline model#MClass#name (self) on <self:MClass> */
2989 var19
= self
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <self:MClass> */
2990 if (unlikely(var19
== NULL
)) {
2991 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2992 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 385);
2996 RET_LABEL18
:(void)0;
3000 var20
= core___core__Text___to_cmangle(var17
);
3002 ((struct instance_core__NativeArray
*)var5
)->values
[2]=var20
;
3004 var21
= ((val
*(*)(val
* self
))(var5
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var5
); /* native_to_s on <var5:NativeArray[String]>*/
3011 self
->attrs
[COLOR_nitc__model__MClass___c_name
].val
= var3
; /* _c_name on <self:MClass> */
3018 /* method model#MClass#arity for (self: MClass): Int */
3019 long nitc___nitc__MClass___arity(val
* self
) {
3020 long var
/* : Int */;
3021 long var1
/* : Int */;
3022 var1
= self
->attrs
[COLOR_nitc__model__MClass___arity
].l
; /* _arity on <self:MClass> */
3027 /* method model#MClass#arity= for (self: MClass, Int) */
3028 void nitc___nitc__MClass___arity_61d(val
* self
, long p0
) {
3029 self
->attrs
[COLOR_nitc__model__MClass___arity
].l
= p0
; /* _arity on <self:MClass> */
3032 /* method model#MClass#mparameters for (self: MClass): Array[MParameterType] */
3033 val
* nitc___nitc__MClass___mparameters(val
* self
) {
3034 val
* var
/* : Array[MParameterType] */;
3035 val
* var1
/* : Array[MParameterType] */;
3036 var1
= self
->attrs
[COLOR_nitc__model__MClass___mparameters
].val
; /* _mparameters on <self:MClass> */
3037 if (unlikely(var1
== NULL
)) {
3038 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
3039 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 405);
3046 /* method model#MClass#mparameters= for (self: MClass, Array[MParameterType]) */
3047 void nitc___nitc__MClass___mparameters_61d(val
* self
, val
* p0
) {
3048 self
->attrs
[COLOR_nitc__model__MClass___mparameters
].val
= p0
; /* _mparameters on <self:MClass> */
3051 /* method model#MClass#signature_to_s for (self: MClass): String */
3052 val
* nitc___nitc__MClass___signature_to_s(val
* self
) {
3053 val
* var
/* : String */;
3054 long var1
/* : Int */;
3055 long var3
/* : Int */;
3056 short int var4
/* : Bool */;
3057 short int var6
/* : Bool */;
3058 val
* var7
/* : String */;
3059 val
* var9
/* : String */;
3060 val
* var10
/* : FlatBuffer */;
3061 val
* var_res
/* var res: FlatBuffer */;
3062 val
* var12
/* : String */;
3063 val
* var14
/* : String */;
3064 static val
* varonce
;
3065 val
* var15
/* : String */;
3066 char* var16
/* : NativeString */;
3067 val
* var17
/* : String */;
3068 long var_i
/* var i: Int */;
3069 long var18
/* : Int */;
3070 long var20
/* : Int */;
3071 long var_
/* var : Int */;
3072 short int var21
/* : Bool */;
3073 short int var23
/* : Bool */;
3076 const char* var_class_name
;
3077 short int var24
/* : Bool */;
3078 short int var25
/* : Bool */;
3079 short int var27
/* : Bool */;
3082 const char* var_class_name30
;
3083 short int var31
/* : Bool */;
3084 static val
* varonce32
;
3085 val
* var33
/* : String */;
3086 char* var34
/* : NativeString */;
3087 val
* var35
/* : String */;
3088 val
* var36
/* : Array[MParameterType] */;
3089 val
* var38
/* : Array[MParameterType] */;
3090 val
* var39
/* : nullable Object */;
3091 val
* var40
/* : String */;
3092 val
* var42
/* : String */;
3093 static val
* varonce43
;
3094 val
* var44
/* : String */;
3095 char* var45
/* : NativeString */;
3096 val
* var46
/* : String */;
3097 val
* var47
/* : MClassDef */;
3098 val
* var49
/* : MClassDef */;
3099 val
* var50
/* : MClassType */;
3100 val
* var52
/* : MClassType */;
3101 val
* var53
/* : Array[MType] */;
3102 val
* var54
/* : nullable Object */;
3103 val
* var55
/* : String */;
3104 long var56
/* : Int */;
3105 static val
* varonce57
;
3106 val
* var58
/* : String */;
3107 char* var59
/* : NativeString */;
3108 val
* var60
/* : String */;
3109 val
* var61
/* : String */;
3111 { /* Inline model#MClass#arity (self) on <self:MClass> */
3112 var3
= self
->attrs
[COLOR_nitc__model__MClass___arity
].l
; /* _arity on <self:MClass> */
3118 { /* Inline kernel#Int#== (var1,0l) on <var1:Int> */
3127 { /* Inline model#MClass#name (self) on <self:MClass> */
3128 var9
= self
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <self:MClass> */
3129 if (unlikely(var9
== NULL
)) {
3130 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3131 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 385);
3142 var10
= NEW_core__FlatBuffer(&type_core__FlatBuffer
);
3144 { /* Inline flat#FlatBuffer#init (var10) on <var10:FlatBuffer> */
3146 ((void(*)(val
* self
))(var10
->class->vft
[COLOR_core___core__FlatBuffer___core__kernel__Object__init
]))(var10
); /* init on <var10:FlatBuffer>*/
3148 RET_LABEL11
:(void)0;
3153 { /* Inline model#MClass#name (self) on <self:MClass> */
3154 var14
= self
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <self:MClass> */
3155 if (unlikely(var14
== NULL
)) {
3156 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3157 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 385);
3161 RET_LABEL13
:(void)0;
3165 core___core__FlatBuffer___core__abstract_text__Buffer__append(var_res
, var12
); /* Direct call flat#FlatBuffer#append on <var_res:FlatBuffer>*/
3167 if (likely(varonce
!=NULL
)) {
3171 var17
= core__flat___NativeString___to_s_full(var16
, 1l, 1l);
3176 core___core__FlatBuffer___core__abstract_text__Buffer__append(var_res
, var15
); /* Direct call flat#FlatBuffer#append on <var_res:FlatBuffer>*/
3180 { /* Inline model#MClass#arity (self) on <self:MClass> */
3181 var20
= self
->attrs
[COLOR_nitc__model__MClass___arity
].l
; /* _arity on <self:MClass> */
3183 RET_LABEL19
:(void)0;
3189 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
3190 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
3191 /* <var_:Int> isa OTHER */
3192 var23
= 1; /* easy <var_:Int> isa OTHER*/
3193 if (unlikely(!var23
)) {
3194 var_class_name
= type_core__Int
.name
;
3195 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3196 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
3199 var24
= var_i
< var_
;
3202 RET_LABEL22
:(void)0;
3210 { /* Inline kernel#Int#> (var_i,0l) on <var_i:Int> */
3211 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
3212 /* <0l:Int> isa OTHER */
3213 var27
= 1; /* easy <0l:Int> isa OTHER*/
3214 if (unlikely(!var27
)) {
3215 var_class_name30
= type_core__Int
.name
;
3216 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30
);
3217 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
3223 RET_LABEL26
:(void)0;
3227 if (likely(varonce32
!=NULL
)) {
3231 var35
= core__flat___NativeString___to_s_full(var34
, 2l, 2l);
3236 core___core__FlatBuffer___core__abstract_text__Buffer__append(var_res
, var33
); /* Direct call flat#FlatBuffer#append on <var_res:FlatBuffer>*/
3241 { /* Inline model#MClass#mparameters (self) on <self:MClass> */
3242 var38
= self
->attrs
[COLOR_nitc__model__MClass___mparameters
].val
; /* _mparameters on <self:MClass> */
3243 if (unlikely(var38
== NULL
)) {
3244 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
3245 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 405);
3249 RET_LABEL37
:(void)0;
3253 var39
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var36
, var_i
);
3256 { /* Inline model#MParameterType#name (var39) on <var39:nullable Object(MParameterType)> */
3257 var42
= var39
->attrs
[COLOR_nitc__model__MParameterType___name
].val
; /* _name on <var39:nullable Object(MParameterType)> */
3258 if (unlikely(var42
== NULL
)) {
3259 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3260 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1507);
3264 RET_LABEL41
:(void)0;
3268 core___core__FlatBuffer___core__abstract_text__Buffer__append(var_res
, var40
); /* Direct call flat#FlatBuffer#append on <var_res:FlatBuffer>*/
3270 if (likely(varonce43
!=NULL
)) {
3274 var46
= core__flat___NativeString___to_s_full(var45
, 2l, 2l);
3279 core___core__FlatBuffer___core__abstract_text__Buffer__append(var_res
, var44
); /* Direct call flat#FlatBuffer#append on <var_res:FlatBuffer>*/
3282 { /* Inline model#MClass#intro (self) on <self:MClass> */
3283 var49
= self
->attrs
[COLOR_nitc__model__MClass___intro
].val
; /* _intro on <self:MClass> */
3284 if (unlikely(var49
== NULL
)) {
3285 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3286 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 483);
3290 RET_LABEL48
:(void)0;
3294 { /* Inline model#MClassDef#bound_mtype (var47) on <var47:MClassDef> */
3295 var52
= var47
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var47:MClassDef> */
3296 if (unlikely(var52
== NULL
)) {
3297 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3298 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 579);
3302 RET_LABEL51
:(void)0;
3306 var53
= ((val
*(*)(val
* self
))(var50
->class->vft
[COLOR_nitc__model__MClassType__arguments
]))(var50
); /* arguments on <var50:MClassType>*/
3309 var54
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var53
, var_i
);
3312 var55
= ((val
*(*)(val
* self
))(var54
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var54
); /* to_s on <var54:nullable Object(MType)>*/
3315 core___core__FlatBuffer___core__abstract_text__Buffer__append(var_res
, var55
); /* Direct call flat#FlatBuffer#append on <var_res:FlatBuffer>*/
3318 var56
= core___core__Int___Discrete__successor(var_i
, 1l);
3322 BREAK_label
: (void)0;
3323 if (likely(varonce57
!=NULL
)) {
3327 var60
= core__flat___NativeString___to_s_full(var59
, 1l, 1l);
3332 core___core__FlatBuffer___core__abstract_text__Buffer__append(var_res
, var58
); /* Direct call flat#FlatBuffer#append on <var_res:FlatBuffer>*/
3335 var61
= core___core__FlatBuffer___core__abstract_text__Object__to_s(var_res
);
3342 /* method model#MClass#setup_parameter_names for (self: MClass, nullable Array[String]) */
3343 void nitc___nitc__MClass___setup_parameter_names(val
* self
, val
* p0
) {
3344 val
* var_parameter_names
/* var parameter_names: nullable Array[String] */;
3345 short int var
/* : Bool */;
3346 short int var1
/* : Bool */;
3347 long var3
/* : Int */;
3348 long var5
/* : Int */;
3349 long var7
/* : Int */;
3350 long var9
/* : Int */;
3351 short int var10
/* : Bool */;
3352 short int var12
/* : Bool */;
3355 const char* var_class_name
;
3356 short int var13
/* : Bool */;
3357 short int var14
/* : Bool */;
3358 short int var15
/* : Bool */;
3359 val
* var_other
/* var other: nullable Object */;
3360 short int var17
/* : Bool */;
3361 short int var18
/* : Bool */;
3362 val
* var19
/* : Array[MParameterType] */;
3363 val
* var_mparametertypes
/* var mparametertypes: Array[MParameterType] */;
3364 long var_i
/* var i: Int */;
3365 long var20
/* : Int */;
3366 long var22
/* : Int */;
3367 long var_
/* var : Int */;
3368 short int var23
/* : Bool */;
3369 short int var25
/* : Bool */;
3372 const char* var_class_name28
;
3373 short int var29
/* : Bool */;
3374 val
* var30
/* : MParameterType */;
3375 val
* var31
/* : nullable Object */;
3376 val
* var_mparametertype
/* var mparametertype: MParameterType */;
3377 long var32
/* : Int */;
3378 val
* var34
/* : MGenericType */;
3379 val
* var_mclass_type
/* var mclass_type: MGenericType */;
3380 val
* var36
/* : HashMap[Array[MType], MGenericType] */;
3381 val
* var38
/* : HashMap[Array[MType], MGenericType] */;
3382 val
* var39
/* : MClassType */;
3383 var_parameter_names
= p0
;
3384 if (var_parameter_names
== NULL
) {
3385 var
= 1; /* is null */
3387 var
= 0; /* arg is null but recv is not */
3390 var1
= core___core__Array___core__kernel__Object___61d_61d(var_parameter_names
, ((val
*)NULL
));
3395 { /* Inline model#MClass#arity= (self,0l) on <self:MClass> */
3396 self
->attrs
[COLOR_nitc__model__MClass___arity
].l
= 0l; /* _arity on <self:MClass> */
3402 { /* Inline array#AbstractArrayRead#length (var_parameter_names) on <var_parameter_names:nullable Array[String](Array[String])> */
3403 var5
= var_parameter_names
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_parameter_names:nullable Array[String](Array[String])> */
3409 { /* Inline model#MClass#arity= (self,var3) on <self:MClass> */
3410 self
->attrs
[COLOR_nitc__model__MClass___arity
].l
= var3
; /* _arity on <self:MClass> */
3416 { /* Inline model#MClass#arity (self) on <self:MClass> */
3417 var9
= self
->attrs
[COLOR_nitc__model__MClass___arity
].l
; /* _arity on <self:MClass> */
3423 { /* Inline kernel#Int#> (var7,0l) on <var7:Int> */
3424 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
3425 /* <0l:Int> isa OTHER */
3426 var12
= 1; /* easy <0l:Int> isa OTHER*/
3427 if (unlikely(!var12
)) {
3428 var_class_name
= type_core__Int
.name
;
3429 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3430 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
3436 RET_LABEL11
:(void)0;
3440 if (var_parameter_names
== NULL
) {
3441 var14
= 0; /* is null */
3443 var14
= 1; /* arg is null and recv is not */
3446 { /* Inline kernel#Object#!= (var_parameter_names,((val*)NULL)) on <var_parameter_names:nullable Array[String]> */
3447 var_other
= ((val
*)NULL
);
3449 var17
= ((short int(*)(val
* self
, val
* p0
))(var_parameter_names
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_parameter_names
, var_other
); /* == on <var_parameter_names:nullable Array[String](Array[String])>*/
3454 RET_LABEL16
:(void)0;
3458 if (unlikely(!var14
)) {
3459 PRINT_ERROR("Runtime error: %s", "Assert failed");
3460 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 444);
3463 var19
= NEW_core__Array(&type_core__Array__nitc__MParameterType
);
3465 core___core__Array___core__kernel__Object__init(var19
); /* Direct call array#Array#init on <var19:Array[MParameterType]>*/
3467 var_mparametertypes
= var19
;
3470 { /* Inline model#MClass#arity (self) on <self:MClass> */
3471 var22
= self
->attrs
[COLOR_nitc__model__MClass___arity
].l
; /* _arity on <self:MClass> */
3473 RET_LABEL21
:(void)0;
3479 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
3480 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
3481 /* <var_:Int> isa OTHER */
3482 var25
= 1; /* easy <var_:Int> isa OTHER*/
3483 if (unlikely(!var25
)) {
3484 var_class_name28
= type_core__Int
.name
;
3485 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28
);
3486 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
3489 var29
= var_i
< var_
;
3492 RET_LABEL24
:(void)0;
3499 var30
= NEW_nitc__MParameterType(&type_nitc__MParameterType
);
3501 var31
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_parameter_names
, var_i
);
3504 ((void(*)(val
* self
, val
* p0
))(var30
->class->vft
[COLOR_nitc__model__MParameterType__mclass_61d
]))(var30
, self
); /* mclass= on <var30:MParameterType>*/
3507 ((void(*)(val
* self
, long p0
))(var30
->class->vft
[COLOR_nitc__model__MParameterType__rank_61d
]))(var30
, var_i
); /* rank= on <var30:MParameterType>*/
3510 ((void(*)(val
* self
, val
* p0
))(var30
->class->vft
[COLOR_nitc__model__MParameterType__name_61d
]))(var30
, var31
); /* name= on <var30:MParameterType>*/
3513 ((void(*)(val
* self
))(var30
->class->vft
[COLOR_core__kernel__Object__init
]))(var30
); /* init on <var30:MParameterType>*/
3515 var_mparametertype
= var30
;
3517 core___core__Array___core__abstract_collection__SimpleCollection__add(var_mparametertypes
, var_mparametertype
); /* Direct call array#Array#add on <var_mparametertypes:Array[MParameterType]>*/
3520 var32
= core___core__Int___Discrete__successor(var_i
, 1l);
3524 BREAK_label
: (void)0;
3526 { /* Inline model#MClass#mparameters= (self,var_mparametertypes) on <self:MClass> */
3527 self
->attrs
[COLOR_nitc__model__MClass___mparameters
].val
= var_mparametertypes
; /* _mparameters on <self:MClass> */
3528 RET_LABEL33
:(void)0;
3531 var34
= NEW_nitc__MGenericType(&type_nitc__MGenericType
);
3533 ((void(*)(val
* self
, val
* p0
))(var34
->class->vft
[COLOR_nitc__model__MClassType__mclass_61d
]))(var34
, self
); /* mclass= on <var34:MGenericType>*/
3536 ((void(*)(val
* self
, val
* p0
))(var34
->class->vft
[COLOR_nitc__model__MClassType__arguments_61d
]))(var34
, var_mparametertypes
); /* arguments= on <var34:MGenericType>*/
3539 ((void(*)(val
* self
))(var34
->class->vft
[COLOR_core__kernel__Object__init
]))(var34
); /* init on <var34:MGenericType>*/
3541 var_mclass_type
= var34
;
3543 { /* Inline model#MClass#mclass_type= (self,var_mclass_type) on <self:MClass> */
3544 self
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
= var_mclass_type
; /* _mclass_type on <self:MClass> */
3545 RET_LABEL35
:(void)0;
3549 { /* Inline model#MClass#get_mtype_cache (self) on <self:MClass> */
3550 var38
= self
->attrs
[COLOR_nitc__model__MClass___get_mtype_cache
].val
; /* _get_mtype_cache on <self:MClass> */
3551 if (unlikely(var38
== NULL
)) {
3552 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _get_mtype_cache");
3553 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 539);
3557 RET_LABEL37
:(void)0;
3561 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var36
, var_mparametertypes
, var_mclass_type
); /* Direct call hash_collection#HashMap#[]= on <var36:HashMap[Array[MType], MGenericType]>*/
3564 var39
= NEW_nitc__MClassType(&type_nitc__MClassType
);
3566 ((void(*)(val
* self
, val
* p0
))(var39
->class->vft
[COLOR_nitc__model__MClassType__mclass_61d
]))(var39
, self
); /* mclass= on <var39:MClassType>*/
3569 ((void(*)(val
* self
))(var39
->class->vft
[COLOR_core__kernel__Object__init
]))(var39
); /* init on <var39:MClassType>*/
3572 { /* Inline model#MClass#mclass_type= (self,var39) on <self:MClass> */
3573 self
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
= var39
; /* _mclass_type on <self:MClass> */
3574 RET_LABEL40
:(void)0;
3580 /* method model#MClass#kind for (self: MClass): MClassKind */
3581 val
* nitc___nitc__MClass___kind(val
* self
) {
3582 val
* var
/* : MClassKind */;
3583 val
* var1
/* : MClassKind */;
3584 var1
= self
->attrs
[COLOR_nitc__model__MClass___kind
].val
; /* _kind on <self:MClass> */
3585 if (unlikely(var1
== NULL
)) {
3586 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3587 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 459);
3594 /* method model#MClass#kind= for (self: MClass, MClassKind) */
3595 void nitc___nitc__MClass___kind_61d(val
* self
, val
* p0
) {
3596 self
->attrs
[COLOR_nitc__model__MClass___kind
].val
= p0
; /* _kind on <self:MClass> */
3599 /* method model#MClass#visibility for (self: MClass): MVisibility */
3600 val
* nitc___nitc__MClass___visibility(val
* self
) {
3601 val
* var
/* : MVisibility */;
3602 val
* var1
/* : MVisibility */;
3603 var1
= self
->attrs
[COLOR_nitc__model__MClass___visibility
].val
; /* _visibility on <self:MClass> */
3604 if (unlikely(var1
== NULL
)) {
3605 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
3606 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 463);
3613 /* method model#MClass#visibility= for (self: MClass, MVisibility) */
3614 void nitc___nitc__MClass___visibility_61d(val
* self
, val
* p0
) {
3615 self
->attrs
[COLOR_nitc__model__MClass___visibility
].val
= p0
; /* _visibility on <self:MClass> */
3618 /* method model#MClass#init for (self: MClass) */
3619 void nitc___nitc__MClass___core__kernel__Object__init(val
* self
) {
3620 val
* var
/* : MModule */;
3621 val
* var2
/* : MModule */;
3622 val
* var3
/* : Array[MClass] */;
3623 val
* var5
/* : Array[MClass] */;
3624 val
* var6
/* : MModule */;
3625 val
* var8
/* : MModule */;
3626 val
* var9
/* : Model */;
3627 val
* var11
/* : Model */;
3628 val
* var_model
/* var model: Model */;
3629 val
* var12
/* : MultiHashMap[String, MClass] */;
3630 val
* var14
/* : MultiHashMap[String, MClass] */;
3631 val
* var15
/* : String */;
3632 val
* var17
/* : String */;
3633 val
* var18
/* : Array[MClass] */;
3634 val
* var20
/* : Array[MClass] */;
3636 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc___nitc__MClass___core__kernel__Object__init
]))(self
); /* init on <self:MClass>*/
3639 { /* Inline model#MClass#intro_mmodule (self) on <self:MClass> */
3640 var2
= self
->attrs
[COLOR_nitc__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <self:MClass> */
3641 if (unlikely(var2
== NULL
)) {
3642 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
3643 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 380);
3651 { /* Inline model#MModule#intro_mclasses (var) on <var:MModule> */
3652 var5
= var
->attrs
[COLOR_nitc__model__MModule___intro_mclasses
].val
; /* _intro_mclasses on <var:MModule> */
3653 if (unlikely(var5
== NULL
)) {
3654 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclasses");
3655 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 138);
3663 core___core__Array___core__abstract_collection__SimpleCollection__add(var3
, self
); /* Direct call array#Array#add on <var3:Array[MClass]>*/
3666 { /* Inline model#MClass#intro_mmodule (self) on <self:MClass> */
3667 var8
= self
->attrs
[COLOR_nitc__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <self:MClass> */
3668 if (unlikely(var8
== NULL
)) {
3669 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
3670 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 380);
3678 { /* Inline mmodule#MModule#model (var6) on <var6:MModule> */
3679 var11
= var6
->attrs
[COLOR_nitc__mmodule__MModule___model
].val
; /* _model on <var6:MModule> */
3680 if (unlikely(var11
== NULL
)) {
3681 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
3682 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 78);
3686 RET_LABEL10
:(void)0;
3691 { /* Inline model#Model#mclasses_by_name (var_model) on <var_model:Model> */
3692 var14
= var_model
->attrs
[COLOR_nitc__model__Model___mclasses_by_name
].val
; /* _mclasses_by_name on <var_model:Model> */
3693 if (unlikely(var14
== NULL
)) {
3694 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclasses_by_name");
3695 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 66);
3699 RET_LABEL13
:(void)0;
3703 { /* Inline model#MClass#name (self) on <self:MClass> */
3704 var17
= self
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <self:MClass> */
3705 if (unlikely(var17
== NULL
)) {
3706 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3707 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 385);
3711 RET_LABEL16
:(void)0;
3715 more_collections___more_collections__MultiHashMap___add_one(var12
, var15
, self
); /* Direct call more_collections#MultiHashMap#add_one on <var12:MultiHashMap[String, MClass]>*/
3718 { /* Inline model#Model#mclasses (var_model) on <var_model:Model> */
3719 var20
= var_model
->attrs
[COLOR_nitc__model__Model___mclasses
].val
; /* _mclasses on <var_model:Model> */
3720 if (unlikely(var20
== NULL
)) {
3721 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclasses");
3722 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 34);
3726 RET_LABEL19
:(void)0;
3730 core___core__Array___core__abstract_collection__SimpleCollection__add(var18
, self
); /* Direct call array#Array#add on <var18:Array[MClass]>*/
3734 /* method model#MClass#model for (self: MClass): Model */
3735 val
* nitc___nitc__MClass___nitc__model_base__MEntity__model(val
* self
) {
3736 val
* var
/* : Model */;
3737 val
* var1
/* : MModule */;
3738 val
* var3
/* : MModule */;
3739 val
* var4
/* : Model */;
3740 val
* var6
/* : Model */;
3742 { /* Inline model#MClass#intro_mmodule (self) on <self:MClass> */
3743 var3
= self
->attrs
[COLOR_nitc__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <self:MClass> */
3744 if (unlikely(var3
== NULL
)) {
3745 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
3746 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 380);
3754 { /* Inline mmodule#MModule#model (var1) on <var1:MModule> */
3755 var6
= var1
->attrs
[COLOR_nitc__mmodule__MModule___model
].val
; /* _model on <var1:MModule> */
3756 if (unlikely(var6
== NULL
)) {
3757 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
3758 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 78);
3770 /* method model#MClass#mclassdefs for (self: MClass): Array[MClassDef] */
3771 val
* nitc___nitc__MClass___mclassdefs(val
* self
) {
3772 val
* var
/* : Array[MClassDef] */;
3773 val
* var1
/* : Array[MClassDef] */;
3774 var1
= self
->attrs
[COLOR_nitc__model__MClass___mclassdefs
].val
; /* _mclassdefs on <self:MClass> */
3775 if (unlikely(var1
== NULL
)) {
3776 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
3777 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 477);
3784 /* method model#MClass#to_s for (self: MClass): String */
3785 val
* nitc___nitc__MClass___core__abstract_text__Object__to_s(val
* self
) {
3786 val
* var
/* : String */;
3787 val
* var1
/* : String */;
3788 val
* var3
/* : String */;
3790 { /* Inline model#MClass#name (self) on <self:MClass> */
3791 var3
= self
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <self:MClass> */
3792 if (unlikely(var3
== NULL
)) {
3793 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3794 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 385);
3806 /* method model#MClass#intro for (self: MClass): MClassDef */
3807 val
* nitc___nitc__MClass___intro(val
* self
) {
3808 val
* var
/* : MClassDef */;
3809 val
* var1
/* : MClassDef */;
3810 var1
= self
->attrs
[COLOR_nitc__model__MClass___intro
].val
; /* _intro on <self:MClass> */
3811 if (unlikely(var1
== NULL
)) {
3812 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3813 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 483);
3820 /* method model#MClass#intro= for (self: MClass, MClassDef) */
3821 void nitc___nitc__MClass___intro_61d(val
* self
, val
* p0
) {
3822 self
->attrs
[COLOR_nitc__model__MClass___intro
].val
= p0
; /* _intro on <self:MClass> */
3825 /* method model#MClass#try_intro for (self: MClass): nullable MClassDef */
3826 val
* nitc___nitc__MClass___try_intro(val
* self
) {
3827 val
* var
/* : nullable MClassDef */;
3828 short int var1
/* : Bool */;
3829 val
* var2
/* : MClassDef */;
3830 var1
= self
->attrs
[COLOR_nitc__model__MClass___intro
].val
!= NULL
; /* _intro on <self:MClass> */
3832 var2
= self
->attrs
[COLOR_nitc__model__MClass___intro
].val
; /* _intro on <self:MClass> */
3833 if (unlikely(var2
== NULL
)) {
3834 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3835 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 495);
3847 /* method model#MClass#in_hierarchy for (self: MClass, MModule): POSetElement[MClass] */
3848 val
* nitc___nitc__MClass___in_hierarchy(val
* self
, val
* p0
) {
3849 val
* var
/* : POSetElement[MClass] */;
3850 val
* var_mmodule
/* var mmodule: MModule */;
3851 val
* var1
/* : POSet[MClass] */;
3852 val
* var2
/* : POSetElement[nullable Object] */;
3855 var1
= nitc__model___MModule___flatten_mclass_hierarchy(var_mmodule
);
3858 var2
= poset___poset__POSet____91d_93d(var1
, self
);
3865 /* method model#MClass#mclass_type for (self: MClass): MClassType */
3866 val
* nitc___nitc__MClass___mclass_type(val
* self
) {
3867 val
* var
/* : MClassType */;
3868 val
* var1
/* : MClassType */;
3869 var1
= self
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <self:MClass> */
3870 if (unlikely(var1
== NULL
)) {
3871 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
3872 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 507);
3879 /* method model#MClass#mclass_type= for (self: MClass, MClassType) */
3880 void nitc___nitc__MClass___mclass_type_61d(val
* self
, val
* p0
) {
3881 self
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
= p0
; /* _mclass_type on <self:MClass> */
3884 /* method model#MClass#get_mtype for (self: MClass, Array[MType]): MClassType */
3885 val
* nitc___nitc__MClass___get_mtype(val
* self
, val
* p0
) {
3886 val
* var
/* : MClassType */;
3887 val
* var_mtype_arguments
/* var mtype_arguments: Array[MType] */;
3888 long var1
/* : Int */;
3889 long var3
/* : Int */;
3890 long var4
/* : Int */;
3891 long var6
/* : Int */;
3892 short int var7
/* : Bool */;
3893 short int var9
/* : Bool */;
3894 long var10
/* : Int */;
3895 long var12
/* : Int */;
3896 short int var13
/* : Bool */;
3897 short int var15
/* : Bool */;
3898 val
* var16
/* : MClassType */;
3899 val
* var18
/* : MClassType */;
3900 val
* var19
/* : HashMap[Array[MType], MGenericType] */;
3901 val
* var21
/* : HashMap[Array[MType], MGenericType] */;
3902 val
* var22
/* : nullable Object */;
3903 val
* var_res
/* var res: nullable MGenericType */;
3904 short int var23
/* : Bool */;
3905 short int var24
/* : Bool */;
3906 val
* var_other
/* var other: nullable Object */;
3907 short int var26
/* : Bool */;
3908 short int var27
/* : Bool */;
3909 val
* var28
/* : MGenericType */;
3910 val
* var29
/* : HashMap[Array[MType], MGenericType] */;
3911 val
* var31
/* : HashMap[Array[MType], MGenericType] */;
3912 val
* var32
/* : Array[nullable Object] */;
3913 var_mtype_arguments
= p0
;
3915 { /* Inline array#AbstractArrayRead#length (var_mtype_arguments) on <var_mtype_arguments:Array[MType]> */
3916 var3
= var_mtype_arguments
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_mtype_arguments:Array[MType]> */
3922 { /* Inline model#MClass#arity (self) on <self:MClass> */
3923 var6
= self
->attrs
[COLOR_nitc__model__MClass___arity
].l
; /* _arity on <self:MClass> */
3929 { /* Inline kernel#Int#== (var1,var4) on <var1:Int> */
3930 var9
= var1
== var4
;
3936 if (unlikely(!var7
)) {
3937 PRINT_ERROR("Runtime error: %s", "Assert failed");
3938 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 530);
3942 { /* Inline model#MClass#arity (self) on <self:MClass> */
3943 var12
= self
->attrs
[COLOR_nitc__model__MClass___arity
].l
; /* _arity on <self:MClass> */
3945 RET_LABEL11
:(void)0;
3949 { /* Inline kernel#Int#== (var10,0l) on <var10:Int> */
3950 var15
= var10
== 0l;
3953 RET_LABEL14
:(void)0;
3958 { /* Inline model#MClass#mclass_type (self) on <self:MClass> */
3959 var18
= self
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <self:MClass> */
3960 if (unlikely(var18
== NULL
)) {
3961 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
3962 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 507);
3966 RET_LABEL17
:(void)0;
3974 { /* Inline model#MClass#get_mtype_cache (self) on <self:MClass> */
3975 var21
= self
->attrs
[COLOR_nitc__model__MClass___get_mtype_cache
].val
; /* _get_mtype_cache on <self:MClass> */
3976 if (unlikely(var21
== NULL
)) {
3977 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _get_mtype_cache");
3978 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 539);
3982 RET_LABEL20
:(void)0;
3986 var22
= core___core__HashMap___core__abstract_collection__MapRead__get_or_null(var19
, var_mtype_arguments
);
3989 if (var_res
== NULL
) {
3990 var23
= 0; /* is null */
3992 var23
= 1; /* arg is null and recv is not */
3995 { /* Inline kernel#Object#!= (var_res,((val*)NULL)) on <var_res:nullable MGenericType> */
3996 var_other
= ((val
*)NULL
);
3998 var26
= ((short int(*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_res
, var_other
); /* == on <var_res:nullable MGenericType(MGenericType)>*/
4003 RET_LABEL25
:(void)0;
4012 var28
= NEW_nitc__MGenericType(&type_nitc__MGenericType
);
4014 ((void(*)(val
* self
, val
* p0
))(var28
->class->vft
[COLOR_nitc__model__MClassType__mclass_61d
]))(var28
, self
); /* mclass= on <var28:MGenericType>*/
4017 ((void(*)(val
* self
, val
* p0
))(var28
->class->vft
[COLOR_nitc__model__MClassType__arguments_61d
]))(var28
, var_mtype_arguments
); /* arguments= on <var28:MGenericType>*/
4020 ((void(*)(val
* self
))(var28
->class->vft
[COLOR_core__kernel__Object__init
]))(var28
); /* init on <var28:MGenericType>*/
4024 { /* Inline model#MClass#get_mtype_cache (self) on <self:MClass> */
4025 var31
= self
->attrs
[COLOR_nitc__model__MClass___get_mtype_cache
].val
; /* _get_mtype_cache on <self:MClass> */
4026 if (unlikely(var31
== NULL
)) {
4027 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _get_mtype_cache");
4028 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 539);
4032 RET_LABEL30
:(void)0;
4036 var32
= core__array___Collection___to_a(var_mtype_arguments
);
4039 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var29
, var32
, var_res
); /* Direct call hash_collection#HashMap#[]= on <var29:HashMap[Array[MType], MGenericType]>*/
4046 /* method model#MClass#get_mtype_cache for (self: MClass): HashMap[Array[MType], MGenericType] */
4047 val
* nitc___nitc__MClass___get_mtype_cache(val
* self
) {
4048 val
* var
/* : HashMap[Array[MType], MGenericType] */;
4049 val
* var1
/* : HashMap[Array[MType], MGenericType] */;
4050 var1
= self
->attrs
[COLOR_nitc__model__MClass___get_mtype_cache
].val
; /* _get_mtype_cache on <self:MClass> */
4051 if (unlikely(var1
== NULL
)) {
4052 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _get_mtype_cache");
4053 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 539);
4060 /* method model#MClass#has_new_factory for (self: MClass): Bool */
4061 short int nitc___nitc__MClass___has_new_factory(val
* self
) {
4062 short int var
/* : Bool */;
4063 short int var1
/* : Bool */;
4064 var1
= self
->attrs
[COLOR_nitc__model__MClass___has_new_factory
].s
; /* _has_new_factory on <self:MClass> */
4069 /* method model#MClass#has_new_factory= for (self: MClass, Bool) */
4070 void nitc___nitc__MClass___has_new_factory_61d(val
* self
, short int p0
) {
4071 self
->attrs
[COLOR_nitc__model__MClass___has_new_factory
].s
= p0
; /* _has_new_factory on <self:MClass> */
4074 /* method model#MClassDef#mmodule for (self: MClassDef): MModule */
4075 val
* nitc___nitc__MClassDef___mmodule(val
* self
) {
4076 val
* var
/* : MModule */;
4077 val
* var1
/* : MModule */;
4078 var1
= self
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4079 if (unlikely(var1
== NULL
)) {
4080 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4081 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
4088 /* method model#MClassDef#mmodule= for (self: MClassDef, MModule) */
4089 void nitc___nitc__MClassDef___mmodule_61d(val
* self
, val
* p0
) {
4090 self
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
= p0
; /* _mmodule on <self:MClassDef> */
4093 /* method model#MClassDef#mclass for (self: MClassDef): MClass */
4094 val
* nitc___nitc__MClassDef___mclass(val
* self
) {
4095 val
* var
/* : MClass */;
4096 val
* var1
/* : MClass */;
4097 var1
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4098 if (unlikely(var1
== NULL
)) {
4099 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4100 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
4107 /* method model#MClassDef#mclass= for (self: MClassDef, MClass) */
4108 void nitc___nitc__MClassDef___mclass_61d(val
* self
, val
* p0
) {
4109 self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
= p0
; /* _mclass on <self:MClassDef> */
4112 /* method model#MClassDef#bound_mtype for (self: MClassDef): MClassType */
4113 val
* nitc___nitc__MClassDef___bound_mtype(val
* self
) {
4114 val
* var
/* : MClassType */;
4115 val
* var1
/* : MClassType */;
4116 var1
= self
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <self:MClassDef> */
4117 if (unlikely(var1
== NULL
)) {
4118 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
4119 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 579);
4126 /* method model#MClassDef#bound_mtype= for (self: MClassDef, MClassType) */
4127 void nitc___nitc__MClassDef___bound_mtype_61d(val
* self
, val
* p0
) {
4128 self
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
= p0
; /* _bound_mtype on <self:MClassDef> */
4131 /* method model#MClassDef#location for (self: MClassDef): Location */
4132 val
* nitc___nitc__MClassDef___location(val
* self
) {
4133 val
* var
/* : Location */;
4134 val
* var1
/* : Location */;
4135 var1
= self
->attrs
[COLOR_nitc__model__MClassDef___location
].val
; /* _location on <self:MClassDef> */
4136 if (unlikely(var1
== NULL
)) {
4137 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
4138 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 591);
4145 /* method model#MClassDef#location= for (self: MClassDef, Location) */
4146 void nitc___nitc__MClassDef___location_61d(val
* self
, val
* p0
) {
4147 self
->attrs
[COLOR_nitc__model__MClassDef___location
].val
= p0
; /* _location on <self:MClassDef> */
4150 /* method model#MClassDef#to_s for (self: MClassDef): String */
4151 val
* nitc___nitc__MClassDef___core__abstract_text__Object__to_s(val
* self
) {
4152 val
* var
/* : String */;
4153 val
* var1
/* : String */;
4154 var1
= self
->attrs
[COLOR_nitc__model__MClassDef___to_s
].val
; /* _to_s on <self:MClassDef> */
4155 if (unlikely(var1
== NULL
)) {
4156 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s");
4157 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 594);
4164 /* method model#MClassDef#to_s= for (self: MClassDef, String) */
4165 void nitc___nitc__MClassDef___to_s_61d(val
* self
, val
* p0
) {
4166 self
->attrs
[COLOR_nitc__model__MClassDef___to_s
].val
= p0
; /* _to_s on <self:MClassDef> */
4169 /* method model#MClassDef#init for (self: MClassDef) */
4170 void nitc___nitc__MClassDef___core__kernel__Object__init(val
* self
) {
4171 val
* var
/* : MClassType */;
4172 val
* var2
/* : MClassType */;
4173 val
* var3
/* : MClass */;
4174 val
* var5
/* : MClass */;
4175 val
* var7
/* : MModule */;
4176 val
* var9
/* : MModule */;
4177 val
* var10
/* : Array[MClassDef] */;
4178 val
* var12
/* : Array[MClassDef] */;
4179 val
* var13
/* : MClass */;
4180 val
* var15
/* : MClass */;
4181 val
* var16
/* : Array[MClassDef] */;
4182 val
* var18
/* : Array[MClassDef] */;
4183 val
* var19
/* : MClass */;
4184 val
* var21
/* : MClass */;
4185 val
* var22
/* : MModule */;
4186 val
* var24
/* : MModule */;
4187 val
* var25
/* : MModule */;
4188 val
* var27
/* : MModule */;
4189 short int var28
/* : Bool */;
4190 val
* var_other
/* var other: nullable Object */;
4191 short int var30
/* : Bool */;
4192 short int var32
/* : Bool */;
4193 val
* var33
/* : MClass */;
4194 val
* var35
/* : MClass */;
4195 short int var36
/* : Bool */;
4196 short int var37
/* : Bool */;
4197 val
* var38
/* : MClass */;
4198 val
* var40
/* : MClass */;
4199 val
* var42
/* : NativeArray[String] */;
4200 static val
* varonce
;
4201 static val
* varonce43
;
4202 val
* var44
/* : String */;
4203 char* var45
/* : NativeString */;
4204 val
* var46
/* : String */;
4205 val
* var47
/* : MModule */;
4206 val
* var49
/* : MModule */;
4207 val
* var50
/* : String */;
4208 val
* var51
/* : MClass */;
4209 val
* var53
/* : MClass */;
4210 val
* var54
/* : String */;
4211 val
* var55
/* : String */;
4213 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc___nitc__MClassDef___core__kernel__Object__init
]))(self
); /* init on <self:MClassDef>*/
4216 { /* Inline model#MClassDef#bound_mtype (self) on <self:MClassDef> */
4217 var2
= self
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <self:MClassDef> */
4218 if (unlikely(var2
== NULL
)) {
4219 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
4220 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 579);
4228 { /* Inline model#MClassType#mclass (var) on <var:MClassType> */
4229 var5
= var
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var:MClassType> */
4230 if (unlikely(var5
== NULL
)) {
4231 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4232 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
4240 { /* Inline model#MClassDef#mclass= (self,var3) on <self:MClassDef> */
4241 self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
= var3
; /* _mclass on <self:MClassDef> */
4246 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4247 var9
= self
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4248 if (unlikely(var9
== NULL
)) {
4249 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4250 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
4258 { /* Inline model#MModule#mclassdefs (var7) on <var7:MModule> */
4259 var12
= var7
->attrs
[COLOR_nitc__model__MModule___mclassdefs
].val
; /* _mclassdefs on <var7:MModule> */
4260 if (unlikely(var12
== NULL
)) {
4261 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
4262 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 141);
4266 RET_LABEL11
:(void)0;
4270 core___core__Array___core__abstract_collection__SimpleCollection__add(var10
, self
); /* Direct call array#Array#add on <var10:Array[MClassDef]>*/
4273 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4274 var15
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4275 if (unlikely(var15
== NULL
)) {
4276 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4277 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
4281 RET_LABEL14
:(void)0;
4285 { /* Inline model#MClass#mclassdefs (var13) on <var13:MClass> */
4286 var18
= var13
->attrs
[COLOR_nitc__model__MClass___mclassdefs
].val
; /* _mclassdefs on <var13:MClass> */
4287 if (unlikely(var18
== NULL
)) {
4288 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
4289 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 477);
4293 RET_LABEL17
:(void)0;
4297 core___core__Array___core__abstract_collection__SimpleCollection__add(var16
, self
); /* Direct call array#Array#add on <var16:Array[MClassDef]>*/
4300 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4301 var21
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4302 if (unlikely(var21
== NULL
)) {
4303 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4304 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
4308 RET_LABEL20
:(void)0;
4312 { /* Inline model#MClass#intro_mmodule (var19) on <var19:MClass> */
4313 var24
= var19
->attrs
[COLOR_nitc__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var19:MClass> */
4314 if (unlikely(var24
== NULL
)) {
4315 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
4316 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 380);
4320 RET_LABEL23
:(void)0;
4324 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4325 var27
= self
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4326 if (unlikely(var27
== NULL
)) {
4327 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4328 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
4332 RET_LABEL26
:(void)0;
4336 { /* Inline kernel#Object#== (var22,var25) on <var22:MModule> */
4339 { /* Inline kernel#Object#is_same_instance (var22,var_other) on <var22:MModule> */
4340 var32
= var22
== var_other
;
4343 RET_LABEL31
:(void)0;
4348 RET_LABEL29
:(void)0;
4353 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4354 var35
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4355 if (unlikely(var35
== NULL
)) {
4356 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4357 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
4361 RET_LABEL34
:(void)0;
4364 var36
= var33
->attrs
[COLOR_nitc__model__MClass___intro
].val
!= NULL
; /* _intro on <var33:MClass> */
4366 if (unlikely(!var37
)) {
4367 PRINT_ERROR("Runtime error: %s", "Assert failed");
4368 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 604);
4372 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4373 var40
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4374 if (unlikely(var40
== NULL
)) {
4375 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4376 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
4380 RET_LABEL39
:(void)0;
4384 { /* Inline model#MClass#intro= (var38,self) on <var38:MClass> */
4385 var38
->attrs
[COLOR_nitc__model__MClass___intro
].val
= self
; /* _intro on <var38:MClass> */
4386 RET_LABEL41
:(void)0;
4391 if (unlikely(varonce
==NULL
)) {
4392 var42
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
4393 if (likely(varonce43
!=NULL
)) {
4397 var46
= core__flat___NativeString___to_s_full(var45
, 1l, 1l);
4401 ((struct instance_core__NativeArray
*)var42
)->values
[1]=var44
;
4407 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4408 var49
= self
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4409 if (unlikely(var49
== NULL
)) {
4410 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4411 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
4415 RET_LABEL48
:(void)0;
4419 var50
= ((val
*(*)(val
* self
))(var47
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var47
); /* to_s on <var47:MModule>*/
4421 ((struct instance_core__NativeArray
*)var42
)->values
[0]=var50
;
4423 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4424 var53
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4425 if (unlikely(var53
== NULL
)) {
4426 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4427 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
4431 RET_LABEL52
:(void)0;
4435 var54
= ((val
*(*)(val
* self
))(var51
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var51
); /* to_s on <var51:MClass>*/
4437 ((struct instance_core__NativeArray
*)var42
)->values
[2]=var54
;
4439 var55
= ((val
*(*)(val
* self
))(var42
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var42
); /* native_to_s on <var42:NativeArray[String]>*/
4443 { /* Inline model#MClassDef#to_s= (self,var55) on <self:MClassDef> */
4444 self
->attrs
[COLOR_nitc__model__MClassDef___to_s
].val
= var55
; /* _to_s on <self:MClassDef> */
4445 RET_LABEL56
:(void)0;
4450 /* method model#MClassDef#name for (self: MClassDef): String */
4451 val
* nitc___nitc__MClassDef___nitc__model_base__MEntity__name(val
* self
) {
4452 val
* var
/* : String */;
4453 val
* var1
/* : MClass */;
4454 val
* var3
/* : MClass */;
4455 val
* var4
/* : String */;
4456 val
* var6
/* : String */;
4458 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4459 var3
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4460 if (unlikely(var3
== NULL
)) {
4461 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4462 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
4470 { /* Inline model#MClass#name (var1) on <var1:MClass> */
4471 var6
= var1
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <var1:MClass> */
4472 if (unlikely(var6
== NULL
)) {
4473 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4474 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 385);
4486 /* method model#MClassDef#full_name for (self: MClassDef): String */
4487 val
* nitc___nitc__MClassDef___nitc__model_base__MEntity__full_name(val
* self
) {
4488 val
* var
/* : String */;
4489 short int var1
/* : Bool */;
4490 val
* var2
/* : String */;
4491 val
* var3
/* : String */;
4492 short int var5
/* : Bool */;
4493 val
* var6
/* : NativeArray[String] */;
4494 static val
* varonce
;
4495 static val
* varonce7
;
4496 val
* var8
/* : String */;
4497 char* var9
/* : NativeString */;
4498 val
* var10
/* : String */;
4499 val
* var11
/* : MModule */;
4500 val
* var13
/* : MModule */;
4501 val
* var14
/* : MClass */;
4502 val
* var16
/* : MClass */;
4503 val
* var17
/* : MVisibility */;
4504 val
* var19
/* : MVisibility */;
4505 val
* var20
/* : String */;
4506 val
* var21
/* : MClass */;
4507 val
* var23
/* : MClass */;
4508 val
* var24
/* : String */;
4509 val
* var26
/* : String */;
4510 val
* var27
/* : String */;
4511 val
* var28
/* : MClass */;
4512 val
* var30
/* : MClass */;
4513 val
* var31
/* : MModule */;
4514 val
* var33
/* : MModule */;
4515 val
* var34
/* : nullable MPackage */;
4516 val
* var35
/* : MModule */;
4517 val
* var37
/* : MModule */;
4518 val
* var38
/* : nullable MPackage */;
4519 short int var39
/* : Bool */;
4520 short int var40
/* : Bool */;
4521 val
* var_other
/* var other: nullable Object */;
4522 short int var42
/* : Bool */;
4523 short int var43
/* : Bool */;
4524 val
* var45
/* : NativeArray[String] */;
4525 static val
* varonce44
;
4526 static val
* varonce46
;
4527 val
* var47
/* : String */;
4528 char* var48
/* : NativeString */;
4529 val
* var49
/* : String */;
4530 val
* var50
/* : MModule */;
4531 val
* var52
/* : MModule */;
4532 val
* var53
/* : String */;
4533 val
* var54
/* : MClass */;
4534 val
* var56
/* : MClass */;
4535 val
* var57
/* : String */;
4536 val
* var58
/* : String */;
4537 val
* var59
/* : MClass */;
4538 val
* var61
/* : MClass */;
4539 val
* var62
/* : MVisibility */;
4540 val
* var64
/* : MVisibility */;
4541 val
* var65
/* : Sys */;
4542 val
* var66
/* : MVisibility */;
4543 short int var67
/* : Bool */;
4544 val
* var69
/* : NativeArray[String] */;
4545 static val
* varonce68
;
4546 static val
* varonce70
;
4547 val
* var71
/* : String */;
4548 char* var72
/* : NativeString */;
4549 val
* var73
/* : String */;
4550 val
* var74
/* : MModule */;
4551 val
* var76
/* : MModule */;
4552 val
* var77
/* : String */;
4553 val
* var78
/* : MClass */;
4554 val
* var80
/* : MClass */;
4555 val
* var81
/* : String */;
4556 val
* var83
/* : String */;
4557 val
* var84
/* : String */;
4558 val
* var86
/* : NativeArray[String] */;
4559 static val
* varonce85
;
4560 static val
* varonce87
;
4561 val
* var88
/* : String */;
4562 char* var89
/* : NativeString */;
4563 val
* var90
/* : String */;
4564 static val
* varonce91
;
4565 val
* var92
/* : String */;
4566 char* var93
/* : NativeString */;
4567 val
* var94
/* : String */;
4568 val
* var95
/* : MModule */;
4569 val
* var97
/* : MModule */;
4570 val
* var98
/* : String */;
4571 val
* var99
/* : MClass */;
4572 val
* var101
/* : MClass */;
4573 val
* var102
/* : MModule */;
4574 val
* var104
/* : MModule */;
4575 val
* var105
/* : String */;
4576 val
* var107
/* : String */;
4577 val
* var108
/* : MClass */;
4578 val
* var110
/* : MClass */;
4579 val
* var111
/* : String */;
4580 val
* var113
/* : String */;
4581 val
* var114
/* : String */;
4582 var1
= self
->attrs
[COLOR_nitc__model__MClassDef___full_name
].val
!= NULL
; /* _full_name on <self:MClassDef> */
4584 var2
= self
->attrs
[COLOR_nitc__model__MClassDef___full_name
].val
; /* _full_name on <self:MClassDef> */
4585 if (unlikely(var2
== NULL
)) {
4586 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _full_name");
4587 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 613);
4593 var5
= nitc___nitc__MClassDef___is_intro(self
);
4596 if (unlikely(varonce
==NULL
)) {
4597 var6
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
4598 if (likely(varonce7
!=NULL
)) {
4602 var10
= core__flat___NativeString___to_s_full(var9
, 1l, 1l);
4606 ((struct instance_core__NativeArray
*)var6
)->values
[1]=var8
;
4612 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4613 var13
= self
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4614 if (unlikely(var13
== NULL
)) {
4615 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4616 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
4620 RET_LABEL12
:(void)0;
4624 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4625 var16
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4626 if (unlikely(var16
== NULL
)) {
4627 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4628 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
4632 RET_LABEL15
:(void)0;
4636 { /* Inline model#MClass#visibility (var14) on <var14:MClass> */
4637 var19
= var14
->attrs
[COLOR_nitc__model__MClass___visibility
].val
; /* _visibility on <var14:MClass> */
4638 if (unlikely(var19
== NULL
)) {
4639 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
4640 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 463);
4644 RET_LABEL18
:(void)0;
4648 var20
= nitc___nitc__MModule___namespace_for(var11
, var17
);
4650 ((struct instance_core__NativeArray
*)var6
)->values
[0]=var20
;
4652 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4653 var23
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4654 if (unlikely(var23
== NULL
)) {
4655 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4656 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
4660 RET_LABEL22
:(void)0;
4664 { /* Inline model#MClass#name (var21) on <var21:MClass> */
4665 var26
= var21
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <var21:MClass> */
4666 if (unlikely(var26
== NULL
)) {
4667 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4668 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 385);
4672 RET_LABEL25
:(void)0;
4675 ((struct instance_core__NativeArray
*)var6
)->values
[2]=var24
;
4677 var27
= ((val
*(*)(val
* self
))(var6
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var6
); /* native_to_s on <var6:NativeArray[String]>*/
4684 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4685 var30
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4686 if (unlikely(var30
== NULL
)) {
4687 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4688 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
4692 RET_LABEL29
:(void)0;
4696 { /* Inline model#MClass#intro_mmodule (var28) on <var28:MClass> */
4697 var33
= var28
->attrs
[COLOR_nitc__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var28:MClass> */
4698 if (unlikely(var33
== NULL
)) {
4699 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
4700 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 380);
4704 RET_LABEL32
:(void)0;
4708 var34
= nitc___nitc__MModule___mpackage(var31
);
4711 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4712 var37
= self
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4713 if (unlikely(var37
== NULL
)) {
4714 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4715 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
4719 RET_LABEL36
:(void)0;
4723 var38
= nitc___nitc__MModule___mpackage(var35
);
4725 if (var34
== NULL
) {
4726 var39
= (var38
!= NULL
);
4728 { /* Inline kernel#Object#!= (var34,var38) on <var34:nullable MPackage> */
4731 var42
= ((short int(*)(val
* self
, val
* p0
))(var34
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var34
, var_other
); /* == on <var34:nullable MPackage(MPackage)>*/
4736 RET_LABEL41
:(void)0;
4741 if (unlikely(varonce44
==NULL
)) {
4742 var45
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
4743 if (likely(varonce46
!=NULL
)) {
4747 var49
= core__flat___NativeString___to_s_full(var48
, 1l, 1l);
4751 ((struct instance_core__NativeArray
*)var45
)->values
[1]=var47
;
4757 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4758 var52
= self
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4759 if (unlikely(var52
== NULL
)) {
4760 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4761 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
4765 RET_LABEL51
:(void)0;
4769 var53
= nitc___nitc__MModule___nitc__model_base__MEntity__full_name(var50
);
4771 ((struct instance_core__NativeArray
*)var45
)->values
[0]=var53
;
4773 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4774 var56
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4775 if (unlikely(var56
== NULL
)) {
4776 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4777 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
4781 RET_LABEL55
:(void)0;
4785 var57
= nitc___nitc__MClass___nitc__model_base__MEntity__full_name(var54
);
4787 ((struct instance_core__NativeArray
*)var45
)->values
[2]=var57
;
4789 var58
= ((val
*(*)(val
* self
))(var45
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var45
); /* native_to_s on <var45:NativeArray[String]>*/
4796 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4797 var61
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4798 if (unlikely(var61
== NULL
)) {
4799 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4800 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
4804 RET_LABEL60
:(void)0;
4808 { /* Inline model#MClass#visibility (var59) on <var59:MClass> */
4809 var64
= var59
->attrs
[COLOR_nitc__model__MClass___visibility
].val
; /* _visibility on <var59:MClass> */
4810 if (unlikely(var64
== NULL
)) {
4811 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
4812 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 463);
4816 RET_LABEL63
:(void)0;
4821 var66
= nitc__model_base___core__Sys___private_visibility(var65
);
4824 var67
= core___core__Comparable____62d(var62
, var66
);
4827 if (unlikely(varonce68
==NULL
)) {
4828 var69
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
4829 if (likely(varonce70
!=NULL
)) {
4833 var73
= core__flat___NativeString___to_s_full(var72
, 1l, 1l);
4837 ((struct instance_core__NativeArray
*)var69
)->values
[1]=var71
;
4843 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4844 var76
= self
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4845 if (unlikely(var76
== NULL
)) {
4846 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4847 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
4851 RET_LABEL75
:(void)0;
4855 var77
= nitc___nitc__MModule___nitc__model_base__MEntity__full_name(var74
);
4857 ((struct instance_core__NativeArray
*)var69
)->values
[0]=var77
;
4859 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4860 var80
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4861 if (unlikely(var80
== NULL
)) {
4862 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4863 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
4867 RET_LABEL79
:(void)0;
4871 { /* Inline model#MClass#name (var78) on <var78:MClass> */
4872 var83
= var78
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <var78:MClass> */
4873 if (unlikely(var83
== NULL
)) {
4874 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4875 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 385);
4879 RET_LABEL82
:(void)0;
4882 ((struct instance_core__NativeArray
*)var69
)->values
[2]=var81
;
4884 var84
= ((val
*(*)(val
* self
))(var69
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var69
); /* native_to_s on <var69:NativeArray[String]>*/
4890 if (unlikely(varonce85
==NULL
)) {
4891 var86
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
4892 if (likely(varonce87
!=NULL
)) {
4896 var90
= core__flat___NativeString___to_s_full(var89
, 3l, 3l);
4900 ((struct instance_core__NativeArray
*)var86
)->values
[1]=var88
;
4901 if (likely(varonce91
!=NULL
)) {
4905 var94
= core__flat___NativeString___to_s_full(var93
, 2l, 2l);
4909 ((struct instance_core__NativeArray
*)var86
)->values
[3]=var92
;
4915 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
4916 var97
= self
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
4917 if (unlikely(var97
== NULL
)) {
4918 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4919 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
4923 RET_LABEL96
:(void)0;
4927 var98
= nitc___nitc__MModule___nitc__model_base__MEntity__full_name(var95
);
4929 ((struct instance_core__NativeArray
*)var86
)->values
[0]=var98
;
4931 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4932 var101
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4933 if (unlikely(var101
== NULL
)) {
4934 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4935 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
4939 RET_LABEL100
:(void)0;
4943 { /* Inline model#MClass#intro_mmodule (var99) on <var99:MClass> */
4944 var104
= var99
->attrs
[COLOR_nitc__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var99:MClass> */
4945 if (unlikely(var104
== NULL
)) {
4946 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
4947 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 380);
4951 RET_LABEL103
:(void)0;
4955 { /* Inline mmodule#MModule#name (var102) on <var102:MModule> */
4956 var107
= var102
->attrs
[COLOR_nitc__mmodule__MModule___name
].val
; /* _name on <var102:MModule> */
4957 if (unlikely(var107
== NULL
)) {
4958 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4959 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 95);
4963 RET_LABEL106
:(void)0;
4966 ((struct instance_core__NativeArray
*)var86
)->values
[2]=var105
;
4968 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4969 var110
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4970 if (unlikely(var110
== NULL
)) {
4971 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4972 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
4976 RET_LABEL109
:(void)0;
4980 { /* Inline model#MClass#name (var108) on <var108:MClass> */
4981 var113
= var108
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <var108:MClass> */
4982 if (unlikely(var113
== NULL
)) {
4983 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4984 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 385);
4988 RET_LABEL112
:(void)0;
4991 ((struct instance_core__NativeArray
*)var86
)->values
[4]=var111
;
4993 var114
= ((val
*(*)(val
* self
))(var86
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var86
); /* native_to_s on <var86:NativeArray[String]>*/
5003 self
->attrs
[COLOR_nitc__model__MClassDef___full_name
].val
= var3
; /* _full_name on <self:MClassDef> */
5010 /* method model#MClassDef#c_name for (self: MClassDef): String */
5011 val
* nitc___nitc__MClassDef___nitc__model_base__MEntity__c_name(val
* self
) {
5012 val
* var
/* : String */;
5013 short int var1
/* : Bool */;
5014 val
* var2
/* : String */;
5015 val
* var3
/* : String */;
5016 short int var5
/* : Bool */;
5017 val
* var6
/* : NativeArray[String] */;
5018 static val
* varonce
;
5019 static val
* varonce7
;
5020 val
* var8
/* : String */;
5021 char* var9
/* : NativeString */;
5022 val
* var10
/* : String */;
5023 val
* var11
/* : MModule */;
5024 val
* var13
/* : MModule */;
5025 val
* var14
/* : MClass */;
5026 val
* var16
/* : MClass */;
5027 val
* var17
/* : MVisibility */;
5028 val
* var19
/* : MVisibility */;
5029 val
* var20
/* : String */;
5030 val
* var21
/* : MClass */;
5031 val
* var23
/* : MClass */;
5032 val
* var24
/* : String */;
5033 val
* var25
/* : String */;
5034 short int var26
/* : Bool */;
5035 val
* var27
/* : MClass */;
5036 val
* var29
/* : MClass */;
5037 val
* var30
/* : MModule */;
5038 val
* var32
/* : MModule */;
5039 val
* var33
/* : nullable MPackage */;
5040 val
* var34
/* : MModule */;
5041 val
* var36
/* : MModule */;
5042 val
* var37
/* : nullable MPackage */;
5043 short int var38
/* : Bool */;
5044 short int var39
/* : Bool */;
5045 val
* var_other
/* var other: nullable Object */;
5046 short int var41
/* : Bool */;
5047 short int var43
/* : Bool */;
5048 short int var_
/* var : Bool */;
5049 val
* var44
/* : MClass */;
5050 val
* var46
/* : MClass */;
5051 val
* var47
/* : MVisibility */;
5052 val
* var49
/* : MVisibility */;
5053 val
* var50
/* : Sys */;
5054 val
* var51
/* : MVisibility */;
5055 short int var52
/* : Bool */;
5056 val
* var54
/* : NativeArray[String] */;
5057 static val
* varonce53
;
5058 static val
* varonce55
;
5059 val
* var56
/* : String */;
5060 char* var57
/* : NativeString */;
5061 val
* var58
/* : String */;
5062 val
* var59
/* : MModule */;
5063 val
* var61
/* : MModule */;
5064 val
* var62
/* : String */;
5065 val
* var63
/* : MClass */;
5066 val
* var65
/* : MClass */;
5067 val
* var66
/* : String */;
5068 val
* var68
/* : String */;
5069 val
* var69
/* : String */;
5070 val
* var70
/* : String */;
5071 val
* var72
/* : NativeArray[String] */;
5072 static val
* varonce71
;
5073 static val
* varonce73
;
5074 val
* var74
/* : String */;
5075 char* var75
/* : NativeString */;
5076 val
* var76
/* : String */;
5077 val
* var77
/* : MModule */;
5078 val
* var79
/* : MModule */;
5079 val
* var80
/* : String */;
5080 val
* var81
/* : MClass */;
5081 val
* var83
/* : MClass */;
5082 val
* var84
/* : String */;
5083 val
* var85
/* : String */;
5084 var1
= self
->attrs
[COLOR_nitc__model__MClassDef___c_name
].val
!= NULL
; /* _c_name on <self:MClassDef> */
5086 var2
= self
->attrs
[COLOR_nitc__model__MClassDef___c_name
].val
; /* _c_name on <self:MClassDef> */
5087 if (unlikely(var2
== NULL
)) {
5088 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _c_name");
5089 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 638);
5095 var5
= nitc___nitc__MClassDef___is_intro(self
);
5098 if (unlikely(varonce
==NULL
)) {
5099 var6
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
5100 if (likely(varonce7
!=NULL
)) {
5104 var10
= core__flat___NativeString___to_s_full(var9
, 3l, 3l);
5108 ((struct instance_core__NativeArray
*)var6
)->values
[1]=var8
;
5114 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
5115 var13
= self
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
5116 if (unlikely(var13
== NULL
)) {
5117 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5118 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
5122 RET_LABEL12
:(void)0;
5126 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
5127 var16
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
5128 if (unlikely(var16
== NULL
)) {
5129 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5130 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
5134 RET_LABEL15
:(void)0;
5138 { /* Inline model#MClass#visibility (var14) on <var14:MClass> */
5139 var19
= var14
->attrs
[COLOR_nitc__model__MClass___visibility
].val
; /* _visibility on <var14:MClass> */
5140 if (unlikely(var19
== NULL
)) {
5141 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
5142 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 463);
5146 RET_LABEL18
:(void)0;
5150 var20
= nitc___nitc__MModule___c_namespace_for(var11
, var17
);
5152 ((struct instance_core__NativeArray
*)var6
)->values
[0]=var20
;
5154 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
5155 var23
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
5156 if (unlikely(var23
== NULL
)) {
5157 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5158 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
5162 RET_LABEL22
:(void)0;
5166 var24
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var21
);
5168 ((struct instance_core__NativeArray
*)var6
)->values
[2]=var24
;
5170 var25
= ((val
*(*)(val
* self
))(var6
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var6
); /* native_to_s on <var6:NativeArray[String]>*/
5177 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
5178 var29
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
5179 if (unlikely(var29
== NULL
)) {
5180 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5181 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
5185 RET_LABEL28
:(void)0;
5189 { /* Inline model#MClass#intro_mmodule (var27) on <var27:MClass> */
5190 var32
= var27
->attrs
[COLOR_nitc__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var27:MClass> */
5191 if (unlikely(var32
== NULL
)) {
5192 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
5193 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 380);
5197 RET_LABEL31
:(void)0;
5201 var33
= nitc___nitc__MModule___mpackage(var30
);
5204 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
5205 var36
= self
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
5206 if (unlikely(var36
== NULL
)) {
5207 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5208 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
5212 RET_LABEL35
:(void)0;
5216 var37
= nitc___nitc__MModule___mpackage(var34
);
5218 if (var33
== NULL
) {
5219 var38
= (var37
== NULL
);
5221 { /* Inline kernel#Object#== (var33,var37) on <var33:nullable MPackage> */
5224 { /* Inline kernel#Object#is_same_instance (var33,var_other) on <var33:nullable MPackage(MPackage)> */
5225 var43
= var33
== var_other
;
5228 RET_LABEL42
:(void)0;
5233 RET_LABEL40
:(void)0;
5240 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
5241 var46
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
5242 if (unlikely(var46
== NULL
)) {
5243 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5244 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
5248 RET_LABEL45
:(void)0;
5252 { /* Inline model#MClass#visibility (var44) on <var44:MClass> */
5253 var49
= var44
->attrs
[COLOR_nitc__model__MClass___visibility
].val
; /* _visibility on <var44:MClass> */
5254 if (unlikely(var49
== NULL
)) {
5255 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
5256 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 463);
5260 RET_LABEL48
:(void)0;
5265 var51
= nitc__model_base___core__Sys___private_visibility(var50
);
5268 var52
= core___core__Comparable____62d(var47
, var51
);
5275 if (unlikely(varonce53
==NULL
)) {
5276 var54
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
5277 if (likely(varonce55
!=NULL
)) {
5281 var58
= core__flat___NativeString___to_s_full(var57
, 3l, 3l);
5285 ((struct instance_core__NativeArray
*)var54
)->values
[1]=var56
;
5291 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
5292 var61
= self
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
5293 if (unlikely(var61
== NULL
)) {
5294 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5295 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
5299 RET_LABEL60
:(void)0;
5303 var62
= nitc___nitc__MModule___nitc__model_base__MEntity__c_name(var59
);
5305 ((struct instance_core__NativeArray
*)var54
)->values
[0]=var62
;
5307 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
5308 var65
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
5309 if (unlikely(var65
== NULL
)) {
5310 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5311 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
5315 RET_LABEL64
:(void)0;
5319 { /* Inline model#MClass#name (var63) on <var63:MClass> */
5320 var68
= var63
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <var63:MClass> */
5321 if (unlikely(var68
== NULL
)) {
5322 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5323 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 385);
5327 RET_LABEL67
:(void)0;
5331 var69
= core___core__Text___to_cmangle(var66
);
5333 ((struct instance_core__NativeArray
*)var54
)->values
[2]=var69
;
5335 var70
= ((val
*(*)(val
* self
))(var54
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var54
); /* native_to_s on <var54:NativeArray[String]>*/
5341 if (unlikely(varonce71
==NULL
)) {
5342 var72
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
5343 if (likely(varonce73
!=NULL
)) {
5347 var76
= core__flat___NativeString___to_s_full(var75
, 3l, 3l);
5351 ((struct instance_core__NativeArray
*)var72
)->values
[1]=var74
;
5357 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
5358 var79
= self
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
5359 if (unlikely(var79
== NULL
)) {
5360 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5361 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
5365 RET_LABEL78
:(void)0;
5369 var80
= nitc___nitc__MModule___nitc__model_base__MEntity__c_name(var77
);
5371 ((struct instance_core__NativeArray
*)var72
)->values
[0]=var80
;
5373 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
5374 var83
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
5375 if (unlikely(var83
== NULL
)) {
5376 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5377 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
5381 RET_LABEL82
:(void)0;
5385 var84
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var81
);
5387 ((struct instance_core__NativeArray
*)var72
)->values
[2]=var84
;
5389 var85
= ((val
*(*)(val
* self
))(var72
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var72
); /* native_to_s on <var72:NativeArray[String]>*/
5398 self
->attrs
[COLOR_nitc__model__MClassDef___c_name
].val
= var3
; /* _c_name on <self:MClassDef> */
5405 /* method model#MClassDef#model for (self: MClassDef): Model */
5406 val
* nitc___nitc__MClassDef___nitc__model_base__MEntity__model(val
* self
) {
5407 val
* var
/* : Model */;
5408 val
* var1
/* : MModule */;
5409 val
* var3
/* : MModule */;
5410 val
* var4
/* : Model */;
5411 val
* var6
/* : Model */;
5413 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
5414 var3
= self
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
5415 if (unlikely(var3
== NULL
)) {
5416 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5417 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
5425 { /* Inline mmodule#MModule#model (var1) on <var1:MModule> */
5426 var6
= var1
->attrs
[COLOR_nitc__mmodule__MModule___model
].val
; /* _model on <var1:MModule> */
5427 if (unlikely(var6
== NULL
)) {
5428 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
5429 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 78);
5441 /* method model#MClassDef#supertypes for (self: MClassDef): Array[MClassType] */
5442 val
* nitc___nitc__MClassDef___supertypes(val
* self
) {
5443 val
* var
/* : Array[MClassType] */;
5444 val
* var1
/* : Array[MClassType] */;
5445 var1
= self
->attrs
[COLOR_nitc__model__MClassDef___supertypes
].val
; /* _supertypes on <self:MClassDef> */
5446 if (unlikely(var1
== NULL
)) {
5447 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
5448 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 650);
5455 /* method model#MClassDef#set_supertypes for (self: MClassDef, Array[MClassType]) */
5456 void nitc___nitc__MClassDef___set_supertypes(val
* self
, val
* p0
) {
5457 val
* var_supertypes
/* var supertypes: Array[MClassType] */;
5458 val
* var
/* : nullable POSetElement[MClassDef] */;
5459 val
* var2
/* : nullable POSetElement[MClassDef] */;
5460 short int var3
/* : Bool */;
5461 short int var4
/* : Bool */;
5462 val
* var_other
/* var other: nullable Object */;
5463 short int var6
/* : Bool */;
5464 short int var8
/* : Bool */;
5465 val
* var9
/* : MModule */;
5466 val
* var11
/* : MModule */;
5467 val
* var_mmodule
/* var mmodule: MModule */;
5468 val
* var12
/* : Model */;
5469 val
* var14
/* : Model */;
5470 val
* var_model
/* var model: Model */;
5471 val
* var15
/* : MClassType */;
5472 val
* var17
/* : MClassType */;
5473 val
* var_mtype
/* var mtype: MClassType */;
5474 val
* var_
/* var : Array[MClassType] */;
5475 val
* var18
/* : IndexedIterator[nullable Object] */;
5476 val
* var_19
/* var : IndexedIterator[MClassType] */;
5477 short int var20
/* : Bool */;
5478 val
* var21
/* : nullable Object */;
5479 val
* var_supertype
/* var supertype: MClassType */;
5480 val
* var22
/* : Array[MClassType] */;
5481 val
* var24
/* : Array[MClassType] */;
5482 val
* var25
/* : POSet[MClassType] */;
5483 val
* var27
/* : POSet[MClassType] */;
5484 short int var28
/* : Bool */;
5485 val
* var29
/* : MClass */;
5486 val
* var31
/* : MClass */;
5487 val
* var32
/* : MModule */;
5488 val
* var34
/* : MModule */;
5489 short int var35
/* : Bool */;
5490 short int var37
/* : Bool */;
5491 short int var39
/* : Bool */;
5492 short int var_40
/* var : Bool */;
5493 val
* var41
/* : MClass */;
5494 val
* var43
/* : MClass */;
5495 val
* var44
/* : MModule */;
5496 val
* var46
/* : MModule */;
5497 short int var47
/* : Bool */;
5498 short int var49
/* : Bool */;
5499 short int var51
/* : Bool */;
5500 val
* var52
/* : POSet[MClassType] */;
5501 val
* var54
/* : POSet[MClassType] */;
5502 var_supertypes
= p0
;
5504 { /* Inline model#MClassDef#in_hierarchy (self) on <self:MClassDef> */
5505 var2
= self
->attrs
[COLOR_nitc__model__MClassDef___in_hierarchy
].val
; /* _in_hierarchy on <self:MClassDef> */
5511 var3
= 1; /* is null */
5513 var3
= 0; /* arg is null but recv is not */
5516 { /* Inline kernel#Object#== (var,((val*)NULL)) on <var:nullable POSetElement[MClassDef]> */
5517 var_other
= ((val
*)NULL
);
5519 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable POSetElement[MClassDef](POSetElement[MClassDef])> */
5520 var8
= var
== var_other
;
5532 if (unlikely(!var3
)) {
5533 PRINT_ERROR("Runtime error: %s", "Assert \'unique_invocation\' failed");
5534 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 660);
5538 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
5539 var11
= self
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
5540 if (unlikely(var11
== NULL
)) {
5541 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5542 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
5546 RET_LABEL10
:(void)0;
5551 { /* Inline mmodule#MModule#model (var_mmodule) on <var_mmodule:MModule> */
5552 var14
= var_mmodule
->attrs
[COLOR_nitc__mmodule__MModule___model
].val
; /* _model on <var_mmodule:MModule> */
5553 if (unlikely(var14
== NULL
)) {
5554 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
5555 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 78);
5559 RET_LABEL13
:(void)0;
5564 { /* Inline model#MClassDef#bound_mtype (self) on <self:MClassDef> */
5565 var17
= self
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <self:MClassDef> */
5566 if (unlikely(var17
== NULL
)) {
5567 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
5568 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 579);
5572 RET_LABEL16
:(void)0;
5576 var_
= var_supertypes
;
5578 var18
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
5583 var20
= ((short int(*)(val
* self
))((((long)var_19
&3)?class_info
[((long)var_19
&3)]:var_19
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_19
); /* is_ok on <var_19:IndexedIterator[MClassType]>*/
5590 var21
= ((val
*(*)(val
* self
))((((long)var_19
&3)?class_info
[((long)var_19
&3)]:var_19
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_19
); /* item on <var_19:IndexedIterator[MClassType]>*/
5592 var_supertype
= var21
;
5594 { /* Inline model#MClassDef#supertypes (self) on <self:MClassDef> */
5595 var24
= self
->attrs
[COLOR_nitc__model__MClassDef___supertypes
].val
; /* _supertypes on <self:MClassDef> */
5596 if (unlikely(var24
== NULL
)) {
5597 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
5598 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 650);
5602 RET_LABEL23
:(void)0;
5606 core___core__Array___core__abstract_collection__SimpleCollection__add(var22
, var_supertype
); /* Direct call array#Array#add on <var22:Array[MClassType]>*/
5609 { /* Inline model#Model#full_mtype_specialization_hierarchy (var_model) on <var_model:Model> */
5610 var27
= var_model
->attrs
[COLOR_nitc__model__Model___full_mtype_specialization_hierarchy
].val
; /* _full_mtype_specialization_hierarchy on <var_model:Model> */
5611 if (unlikely(var27
== NULL
)) {
5612 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _full_mtype_specialization_hierarchy");
5613 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 57);
5617 RET_LABEL26
:(void)0;
5621 poset___poset__POSet___add_edge(var25
, var_mtype
, var_supertype
); /* Direct call poset#POSet#add_edge on <var25:POSet[MClassType]>*/
5624 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
5625 var31
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
5626 if (unlikely(var31
== NULL
)) {
5627 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5628 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
5632 RET_LABEL30
:(void)0;
5636 { /* Inline model#MClass#intro_mmodule (var29) on <var29:MClass> */
5637 var34
= var29
->attrs
[COLOR_nitc__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var29:MClass> */
5638 if (unlikely(var34
== NULL
)) {
5639 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
5640 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 380);
5644 RET_LABEL33
:(void)0;
5648 { /* Inline kernel#Object#== (var32,var_mmodule) on <var32:MModule> */
5649 var_other
= var_mmodule
;
5651 { /* Inline kernel#Object#is_same_instance (var32,var_other) on <var32:MModule> */
5652 var39
= var32
== var_other
;
5655 RET_LABEL38
:(void)0;
5660 RET_LABEL36
:(void)0;
5666 { /* Inline model#MClassType#mclass (var_supertype) on <var_supertype:MClassType> */
5667 var43
= var_supertype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_supertype:MClassType> */
5668 if (unlikely(var43
== NULL
)) {
5669 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5670 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
5674 RET_LABEL42
:(void)0;
5678 { /* Inline model#MClass#intro_mmodule (var41) on <var41:MClass> */
5679 var46
= var41
->attrs
[COLOR_nitc__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var41:MClass> */
5680 if (unlikely(var46
== NULL
)) {
5681 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
5682 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 380);
5686 RET_LABEL45
:(void)0;
5690 { /* Inline kernel#Object#== (var44,var_mmodule) on <var44:MModule> */
5691 var_other
= var_mmodule
;
5693 { /* Inline kernel#Object#is_same_instance (var44,var_other) on <var44:MModule> */
5694 var51
= var44
== var_other
;
5697 RET_LABEL50
:(void)0;
5702 RET_LABEL48
:(void)0;
5711 { /* Inline model#Model#intro_mtype_specialization_hierarchy (var_model) on <var_model:Model> */
5712 var54
= var_model
->attrs
[COLOR_nitc__model__Model___intro_mtype_specialization_hierarchy
].val
; /* _intro_mtype_specialization_hierarchy on <var_model:Model> */
5713 if (unlikely(var54
== NULL
)) {
5714 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mtype_specialization_hierarchy");
5715 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 46);
5719 RET_LABEL53
:(void)0;
5723 poset___poset__POSet___add_edge(var52
, var_mtype
, var_supertype
); /* Direct call poset#POSet#add_edge on <var52:POSet[MClassType]>*/
5728 ((void(*)(val
* self
))((((long)var_19
&3)?class_info
[((long)var_19
&3)]:var_19
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_19
); /* next on <var_19:IndexedIterator[MClassType]>*/
5731 BREAK_label
: (void)0;
5733 ((void(*)(val
* self
))((((long)var_19
&3)?class_info
[((long)var_19
&3)]:var_19
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_19
); /* finish on <var_19:IndexedIterator[MClassType]>*/
5737 /* method model#MClassDef#add_in_hierarchy for (self: MClassDef) */
5738 void nitc___nitc__MClassDef___add_in_hierarchy(val
* self
) {
5739 val
* var
/* : nullable POSetElement[MClassDef] */;
5740 val
* var2
/* : nullable POSetElement[MClassDef] */;
5741 short int var3
/* : Bool */;
5742 short int var4
/* : Bool */;
5743 val
* var_other
/* var other: nullable Object */;
5744 short int var6
/* : Bool */;
5745 short int var8
/* : Bool */;
5746 val
* var9
/* : MModule */;
5747 val
* var11
/* : MModule */;
5748 val
* var12
/* : Model */;
5749 val
* var14
/* : Model */;
5750 val
* var_model
/* var model: Model */;
5751 val
* var15
/* : POSet[MClassDef] */;
5752 val
* var17
/* : POSet[MClassDef] */;
5753 val
* var18
/* : POSetElement[nullable Object] */;
5754 val
* var_res
/* var res: POSetElement[MClassDef] */;
5755 val
* var20
/* : MClassType */;
5756 val
* var22
/* : MClassType */;
5757 val
* var_mtype
/* var mtype: MClassType */;
5758 val
* var23
/* : MModule */;
5759 val
* var25
/* : MModule */;
5760 val
* var26
/* : Set[MClassDef] */;
5761 val
* var_
/* var : Set[MClassDef] */;
5762 val
* var27
/* : Iterator[nullable Object] */;
5763 val
* var_28
/* var : Iterator[MClassDef] */;
5764 short int var29
/* : Bool */;
5765 val
* var30
/* : nullable Object */;
5766 val
* var_mclassdef
/* var mclassdef: MClassDef */;
5767 val
* var31
/* : POSet[nullable Object] */;
5768 val
* var33
/* : POSet[nullable Object] */;
5770 { /* Inline model#MClassDef#in_hierarchy (self) on <self:MClassDef> */
5771 var2
= self
->attrs
[COLOR_nitc__model__MClassDef___in_hierarchy
].val
; /* _in_hierarchy on <self:MClassDef> */
5777 var3
= 1; /* is null */
5779 var3
= 0; /* arg is null but recv is not */
5782 { /* Inline kernel#Object#== (var,((val*)NULL)) on <var:nullable POSetElement[MClassDef]> */
5783 var_other
= ((val
*)NULL
);
5785 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable POSetElement[MClassDef](POSetElement[MClassDef])> */
5786 var8
= var
== var_other
;
5798 if (unlikely(!var3
)) {
5799 PRINT_ERROR("Runtime error: %s", "Assert \'unique_invocation\' failed");
5800 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 685);
5804 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
5805 var11
= self
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
5806 if (unlikely(var11
== NULL
)) {
5807 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5808 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
5812 RET_LABEL10
:(void)0;
5816 { /* Inline mmodule#MModule#model (var9) on <var9:MModule> */
5817 var14
= var9
->attrs
[COLOR_nitc__mmodule__MModule___model
].val
; /* _model on <var9:MModule> */
5818 if (unlikely(var14
== NULL
)) {
5819 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
5820 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 78);
5824 RET_LABEL13
:(void)0;
5829 { /* Inline model#Model#mclassdef_hierarchy (var_model) on <var_model:Model> */
5830 var17
= var_model
->attrs
[COLOR_nitc__model__Model___mclassdef_hierarchy
].val
; /* _mclassdef_hierarchy on <var_model:Model> */
5831 if (unlikely(var17
== NULL
)) {
5832 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef_hierarchy");
5833 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 40);
5837 RET_LABEL16
:(void)0;
5841 var18
= poset___poset__POSet___add_node(var15
, self
);
5845 { /* Inline model#MClassDef#in_hierarchy= (self,var_res) on <self:MClassDef> */
5846 self
->attrs
[COLOR_nitc__model__MClassDef___in_hierarchy
].val
= var_res
; /* _in_hierarchy on <self:MClassDef> */
5847 RET_LABEL19
:(void)0;
5851 { /* Inline model#MClassDef#bound_mtype (self) on <self:MClassDef> */
5852 var22
= self
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <self:MClassDef> */
5853 if (unlikely(var22
== NULL
)) {
5854 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
5855 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 579);
5859 RET_LABEL21
:(void)0;
5864 { /* Inline model#MClassDef#mmodule (self) on <self:MClassDef> */
5865 var25
= self
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <self:MClassDef> */
5866 if (unlikely(var25
== NULL
)) {
5867 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5868 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
5872 RET_LABEL24
:(void)0;
5876 var26
= nitc___nitc__MClassType___MType__collect_mclassdefs(var_mtype
, var23
);
5880 var27
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Set[MClassDef]>*/
5885 var29
= ((short int(*)(val
* self
))((((long)var_28
&3)?class_info
[((long)var_28
&3)]:var_28
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_28
); /* is_ok on <var_28:Iterator[MClassDef]>*/
5892 var30
= ((val
*(*)(val
* self
))((((long)var_28
&3)?class_info
[((long)var_28
&3)]:var_28
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_28
); /* item on <var_28:Iterator[MClassDef]>*/
5894 var_mclassdef
= var30
;
5896 { /* Inline poset#POSetElement#poset (var_res) on <var_res:POSetElement[MClassDef]> */
5897 var33
= var_res
->attrs
[COLOR_poset__POSetElement___poset
].val
; /* _poset on <var_res:POSetElement[MClassDef]> */
5898 if (unlikely(var33
== NULL
)) {
5899 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset");
5900 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 400);
5904 RET_LABEL32
:(void)0;
5908 poset___poset__POSet___add_edge(var31
, self
, var_mclassdef
); /* Direct call poset#POSet#add_edge on <var31:POSet[nullable Object](POSet[MClassDef])>*/
5911 ((void(*)(val
* self
))((((long)var_28
&3)?class_info
[((long)var_28
&3)]:var_28
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_28
); /* next on <var_28:Iterator[MClassDef]>*/
5914 BREAK_label
: (void)0;
5916 ((void(*)(val
* self
))((((long)var_28
&3)?class_info
[((long)var_28
&3)]:var_28
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_28
); /* finish on <var_28:Iterator[MClassDef]>*/
5920 /* method model#MClassDef#in_hierarchy for (self: MClassDef): nullable POSetElement[MClassDef] */
5921 val
* nitc___nitc__MClassDef___in_hierarchy(val
* self
) {
5922 val
* var
/* : nullable POSetElement[MClassDef] */;
5923 val
* var1
/* : nullable POSetElement[MClassDef] */;
5924 var1
= self
->attrs
[COLOR_nitc__model__MClassDef___in_hierarchy
].val
; /* _in_hierarchy on <self:MClassDef> */
5929 /* method model#MClassDef#in_hierarchy= for (self: MClassDef, nullable POSetElement[MClassDef]) */
5930 void nitc___nitc__MClassDef___in_hierarchy_61d(val
* self
, val
* p0
) {
5931 self
->attrs
[COLOR_nitc__model__MClassDef___in_hierarchy
].val
= p0
; /* _in_hierarchy on <self:MClassDef> */
5934 /* method model#MClassDef#is_intro for (self: MClassDef): Bool */
5935 short int nitc___nitc__MClassDef___is_intro(val
* self
) {
5936 short int var
/* : Bool */;
5937 short int var1
/* : Bool */;
5938 val
* var2
/* : MClass */;
5939 val
* var4
/* : MClass */;
5940 short int var5
/* : Bool */;
5941 short int var_
/* var : Bool */;
5942 val
* var6
/* : MClass */;
5943 val
* var8
/* : MClass */;
5944 val
* var9
/* : MClassDef */;
5945 val
* var11
/* : MClassDef */;
5946 short int var12
/* : Bool */;
5947 val
* var_other
/* var other: nullable Object */;
5948 short int var14
/* : Bool */;
5949 short int var16
/* : Bool */;
5951 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
5952 var4
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
5953 if (unlikely(var4
== NULL
)) {
5954 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5955 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
5962 var5
= var2
->attrs
[COLOR_nitc__model__MClass___intro
].val
!= NULL
; /* _intro on <var2:MClass> */
5966 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
5967 var8
= self
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
5968 if (unlikely(var8
== NULL
)) {
5969 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5970 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
5978 { /* Inline model#MClass#intro (var6) on <var6:MClass> */
5979 var11
= var6
->attrs
[COLOR_nitc__model__MClass___intro
].val
; /* _intro on <var6:MClass> */
5980 if (unlikely(var11
== NULL
)) {
5981 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
5982 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 483);
5986 RET_LABEL10
:(void)0;
5990 { /* Inline kernel#Object#== (var9,self) on <var9:MClassDef> */
5993 { /* Inline kernel#Object#is_same_instance (var9,var_other) on <var9:MClassDef> */
5994 var16
= var9
== var_other
;
5997 RET_LABEL15
:(void)0;
6002 RET_LABEL13
:(void)0;
6014 /* method model#MClassDef#intro_mproperties for (self: MClassDef): Array[MProperty] */
6015 val
* nitc___nitc__MClassDef___intro_mproperties(val
* self
) {
6016 val
* var
/* : Array[MProperty] */;
6017 val
* var1
/* : Array[MProperty] */;
6018 var1
= self
->attrs
[COLOR_nitc__model__MClassDef___intro_mproperties
].val
; /* _intro_mproperties on <self:MClassDef> */
6019 if (unlikely(var1
== NULL
)) {
6020 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mproperties");
6021 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 704);
6028 /* method model#MClassDef#mpropdefs for (self: MClassDef): Array[MPropDef] */
6029 val
* nitc___nitc__MClassDef___mpropdefs(val
* self
) {
6030 val
* var
/* : Array[MPropDef] */;
6031 val
* var1
/* : Array[MPropDef] */;
6032 var1
= self
->attrs
[COLOR_nitc__model__MClassDef___mpropdefs
].val
; /* _mpropdefs on <self:MClassDef> */
6033 if (unlikely(var1
== NULL
)) {
6034 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
6035 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 707);
6042 /* method model#MType#name for (self: MType): String */
6043 val
* nitc___nitc__MType___nitc__model_base__MEntity__name(val
* self
) {
6044 val
* var
/* : String */;
6045 val
* var1
/* : String */;
6047 var1
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(self
); /* to_s on <self:MType>*/
6054 /* method model#MType#is_subtype for (self: MType, MModule, nullable MClassType, MType): Bool */
6055 short int nitc___nitc__MType___is_subtype(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6056 short int var
/* : Bool */;
6057 val
* var_mmodule
/* var mmodule: MModule */;
6058 val
* var_anchor
/* var anchor: nullable MClassType */;
6059 val
* var_sup
/* var sup: MType */;
6060 val
* var_sub
/* var sub: MType */;
6061 short int var1
/* : Bool */;
6062 val
* var_other
/* var other: nullable Object */;
6063 short int var3
/* : Bool */;
6064 short int var5
/* : Bool */;
6065 short int var6
/* : Bool */;
6066 short int var7
/* : Bool */;
6067 short int var9
/* : Bool */;
6068 short int var11
/* : Bool */;
6069 short int var12
/* : Bool */;
6070 short int var13
/* : Bool */;
6071 short int var14
/* : Bool */;
6072 short int var15
/* : Bool */;
6073 short int var16
/* : Bool */;
6074 val
* var17
/* : MType */;
6075 short int var18
/* : Bool */;
6076 val
* var19
/* : MType */;
6077 short int var_sup_accept_null
/* var sup_accept_null: Bool */;
6078 short int var20
/* : Bool */;
6081 val
* var21
/* : MType */;
6082 val
* var23
/* : MType */;
6083 short int var24
/* : Bool */;
6086 val
* var27
/* : MType */;
6087 val
* var29
/* : MType */;
6088 short int var30
/* : Bool */;
6091 short int var_sub_reject_null
/* var sub_reject_null: Bool */;
6092 short int var33
/* : Bool */;
6095 short int var36
/* : Bool */;
6096 val
* var37
/* : MType */;
6097 val
* var39
/* : MType */;
6098 short int var40
/* : Bool */;
6101 val
* var43
/* : MType */;
6102 val
* var45
/* : MType */;
6103 short int var46
/* : Bool */;
6106 short int var49
/* : Bool */;
6109 short int var52
/* : Bool */;
6110 short int var54
/* : Bool */;
6111 short int var56
/* : Bool */;
6112 short int var57
/* : Bool */;
6113 short int var58
/* : Bool */;
6114 val
* var_other60
/* var other: nullable Object */;
6115 short int var61
/* : Bool */;
6116 short int var62
/* : Bool */;
6117 val
* var63
/* : MType */;
6118 val
* var64
/* : MType */;
6119 short int var65
/* : Bool */;
6122 short int var68
/* : Bool */;
6123 short int var69
/* : Bool */;
6124 short int var_
/* var : Bool */;
6125 short int var70
/* : Bool */;
6126 val
* var71
/* : MType */;
6127 val
* var73
/* : MType */;
6128 short int var74
/* : Bool */;
6131 val
* var77
/* : MType */;
6132 val
* var79
/* : MType */;
6133 short int var80
/* : Bool */;
6136 short int var83
/* : Bool */;
6139 short int var86
/* : Bool */;
6142 val
* var89
/* : Sys */;
6143 val
* var90
/* : NativeArray[String] */;
6144 static val
* varonce
;
6145 static val
* varonce91
;
6146 val
* var92
/* : String */;
6147 char* var93
/* : NativeString */;
6148 val
* var94
/* : String */;
6149 val
* var95
/* : String */;
6150 val
* var96
/* : String */;
6151 val
* var97
/* : String */;
6152 short int var98
/* : Bool */;
6153 short int var99
/* : Bool */;
6154 short int var100
/* : Bool */;
6157 short int var_103
/* var : Bool */;
6158 short int var104
/* : Bool */;
6161 short int var_107
/* var : Bool */;
6162 short int var108
/* : Bool */;
6165 short int var111
/* : Bool */;
6168 val
* var114
/* : Sys */;
6169 val
* var116
/* : NativeArray[String] */;
6170 static val
* varonce115
;
6171 static val
* varonce117
;
6172 val
* var118
/* : String */;
6173 char* var119
/* : NativeString */;
6174 val
* var120
/* : String */;
6175 static val
* varonce121
;
6176 val
* var122
/* : String */;
6177 char* var123
/* : NativeString */;
6178 val
* var124
/* : String */;
6179 val
* var125
/* : String */;
6180 val
* var126
/* : String */;
6181 val
* var127
/* : String */;
6182 short int var128
/* : Bool */;
6183 short int var130
/* : Bool */;
6184 short int var132
/* : Bool */;
6185 short int var133
/* : Bool */;
6186 short int var134
/* : Bool */;
6187 short int var136
/* : Bool */;
6188 short int var138
/* : Bool */;
6189 val
* var139
/* : MClassType */;
6190 val
* var_resolved_sub
/* var resolved_sub: MClassType */;
6191 val
* var140
/* : Set[MClass] */;
6192 val
* var141
/* : MClass */;
6193 val
* var143
/* : MClass */;
6194 short int var144
/* : Bool */;
6195 short int var_res
/* var res: Bool */;
6196 short int var145
/* : Bool */;
6197 short int var147
/* : Bool */;
6198 short int var148
/* : Bool */;
6201 short int var151
/* : Bool */;
6202 val
* var152
/* : MClass */;
6203 val
* var154
/* : MClass */;
6204 val
* var155
/* : MClassType */;
6205 val
* var_sub2
/* var sub2: MClassType */;
6206 val
* var156
/* : MClass */;
6207 val
* var158
/* : MClass */;
6208 val
* var159
/* : MClass */;
6209 val
* var161
/* : MClass */;
6210 short int var162
/* : Bool */;
6211 short int var164
/* : Bool */;
6212 short int var166
/* : Bool */;
6213 long var_i
/* var i: Int */;
6214 val
* var167
/* : MClass */;
6215 val
* var169
/* : MClass */;
6216 long var170
/* : Int */;
6217 long var172
/* : Int */;
6218 long var_173
/* var : Int */;
6219 short int var174
/* : Bool */;
6220 short int var176
/* : Bool */;
6223 const char* var_class_name
;
6224 short int var179
/* : Bool */;
6225 val
* var181
/* : Array[MType] */;
6226 val
* var182
/* : nullable Object */;
6227 val
* var_sub_arg
/* var sub_arg: MType */;
6228 val
* var183
/* : Array[MType] */;
6229 val
* var185
/* : Array[MType] */;
6230 val
* var186
/* : nullable Object */;
6231 val
* var_sup_arg
/* var sup_arg: MType */;
6232 short int var187
/* : Bool */;
6233 short int var188
/* : Bool */;
6234 short int var190
/* : Bool */;
6235 long var191
/* : Int */;
6241 { /* Inline kernel#Object#== (var_sub,var_sup) on <var_sub:MType> */
6242 var_other
= var_sup
;
6244 { /* Inline kernel#Object#is_same_instance (var_sub,var_other) on <var_sub:MType> */
6245 var5
= var_sub
== var_other
;
6261 if (var_anchor
== NULL
) {
6262 var6
= 1; /* is null */
6264 var6
= 0; /* arg is null but recv is not */
6267 { /* Inline kernel#Object#== (var_anchor,((val*)NULL)) on <var_anchor:nullable MClassType> */
6268 var_other
= ((val
*)NULL
);
6270 { /* Inline kernel#Object#is_same_instance (var_anchor,var_other) on <var_anchor:nullable MClassType(MClassType)> */
6271 var11
= var_anchor
== var_other
;
6274 RET_LABEL10
:(void)0;
6285 var12
= ((short int(*)(val
* self
))(var_sub
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(var_sub
); /* need_anchor on <var_sub:MType>*/
6288 if (unlikely(!var13
)) {
6289 PRINT_ERROR("Runtime error: %s", "Assert failed");
6290 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 756);
6294 var14
= ((short int(*)(val
* self
))(var_sup
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(var_sup
); /* need_anchor on <var_sup:MType>*/
6297 if (unlikely(!var15
)) {
6298 PRINT_ERROR("Runtime error: %s", "Assert failed");
6299 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 757);
6304 var16
= ((short int(*)(val
* self
, val
* p0
, val
* p1
, val
* p2
))(var_sub
->class->vft
[COLOR_nitc__model__MType__can_resolve_for
]))(var_sub
, var_anchor
, ((val
*)NULL
), var_mmodule
); /* can_resolve_for on <var_sub:MType>*/
6306 if (unlikely(!var16
)) {
6307 PRINT_ERROR("Runtime error: %s", "Assert failed");
6308 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 760);
6312 var17
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_sub
->class->vft
[COLOR_nitc__model__MType__lookup_fixed
]))(var_sub
, var_mmodule
, var_anchor
); /* lookup_fixed on <var_sub:MType>*/
6316 var18
= ((short int(*)(val
* self
, val
* p0
, val
* p1
, val
* p2
))(var_sup
->class->vft
[COLOR_nitc__model__MType__can_resolve_for
]))(var_sup
, var_anchor
, ((val
*)NULL
), var_mmodule
); /* can_resolve_for on <var_sup:MType>*/
6318 if (unlikely(!var18
)) {
6319 PRINT_ERROR("Runtime error: %s", "Assert failed");
6320 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 762);
6324 var19
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_sup
->class->vft
[COLOR_nitc__model__MType__lookup_fixed
]))(var_sup
, var_mmodule
, var_anchor
); /* lookup_fixed on <var_sup:MType>*/
6328 var_sup_accept_null
= 0;
6329 /* <var_sup:MType> isa MNullableType */
6330 cltype
= type_nitc__MNullableType
.color
;
6331 idtype
= type_nitc__MNullableType
.id
;
6332 if(cltype
>= var_sup
->type
->table_size
) {
6335 var20
= var_sup
->type
->type_table
[cltype
] == idtype
;
6338 var_sup_accept_null
= 1;
6340 { /* Inline model#MProxyType#mtype (var_sup) on <var_sup:MType(MNullableType)> */
6341 var23
= var_sup
->attrs
[COLOR_nitc__model__MProxyType___mtype
].val
; /* _mtype on <var_sup:MType(MNullableType)> */
6342 if (unlikely(var23
== NULL
)) {
6343 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6344 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1625);
6348 RET_LABEL22
:(void)0;
6353 /* <var_sup:MType> isa MNotNullType */
6354 cltype25
= type_nitc__MNotNullType
.color
;
6355 idtype26
= type_nitc__MNotNullType
.id
;
6356 if(cltype25
>= var_sup
->type
->table_size
) {
6359 var24
= var_sup
->type
->type_table
[cltype25
] == idtype26
;
6363 { /* Inline model#MProxyType#mtype (var_sup) on <var_sup:MType(MNotNullType)> */
6364 var29
= var_sup
->attrs
[COLOR_nitc__model__MProxyType___mtype
].val
; /* _mtype on <var_sup:MType(MNotNullType)> */
6365 if (unlikely(var29
== NULL
)) {
6366 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6367 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1625);
6371 RET_LABEL28
:(void)0;
6376 /* <var_sup:MType> isa MNullType */
6377 cltype31
= type_nitc__MNullType
.color
;
6378 idtype32
= type_nitc__MNullType
.id
;
6379 if(cltype31
>= var_sup
->type
->table_size
) {
6382 var30
= var_sup
->type
->type_table
[cltype31
] == idtype32
;
6385 var_sup_accept_null
= 1;
6390 var_sub_reject_null
= 0;
6391 /* <var_sub:MType> isa MNullableType */
6392 cltype34
= type_nitc__MNullableType
.color
;
6393 idtype35
= type_nitc__MNullableType
.id
;
6394 if(cltype34
>= var_sub
->type
->table_size
) {
6397 var33
= var_sub
->type
->type_table
[cltype34
] == idtype35
;
6400 var36
= !var_sup_accept_null
;
6407 { /* Inline model#MProxyType#mtype (var_sub) on <var_sub:MType(MNullableType)> */
6408 var39
= var_sub
->attrs
[COLOR_nitc__model__MProxyType___mtype
].val
; /* _mtype on <var_sub:MType(MNullableType)> */
6409 if (unlikely(var39
== NULL
)) {
6410 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6411 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1625);
6415 RET_LABEL38
:(void)0;
6420 /* <var_sub:MType> isa MNotNullType */
6421 cltype41
= type_nitc__MNotNullType
.color
;
6422 idtype42
= type_nitc__MNotNullType
.id
;
6423 if(cltype41
>= var_sub
->type
->table_size
) {
6426 var40
= var_sub
->type
->type_table
[cltype41
] == idtype42
;
6429 var_sub_reject_null
= 1;
6431 { /* Inline model#MProxyType#mtype (var_sub) on <var_sub:MType(MNotNullType)> */
6432 var45
= var_sub
->attrs
[COLOR_nitc__model__MProxyType___mtype
].val
; /* _mtype on <var_sub:MType(MNotNullType)> */
6433 if (unlikely(var45
== NULL
)) {
6434 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6435 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1625);
6439 RET_LABEL44
:(void)0;
6444 /* <var_sub:MType> isa MNullType */
6445 cltype47
= type_nitc__MNullType
.color
;
6446 idtype48
= type_nitc__MNullType
.id
;
6447 if(cltype47
>= var_sub
->type
->table_size
) {
6450 var46
= var_sub
->type
->type_table
[cltype47
] == idtype48
;
6453 var
= var_sup_accept_null
;
6460 /* <var_sub:MType> isa MFormalType */
6461 cltype50
= type_nitc__MFormalType
.color
;
6462 idtype51
= type_nitc__MFormalType
.id
;
6463 if(cltype50
>= var_sub
->type
->table_size
) {
6466 var49
= var_sub
->type
->type_table
[cltype50
] == idtype51
;
6470 { /* Inline kernel#Object#== (var_sub,var_sup) on <var_sub:MType(MFormalType)> */
6471 var_other
= var_sup
;
6473 { /* Inline kernel#Object#is_same_instance (var_sub,var_other) on <var_sub:MType(MFormalType)> */
6474 var56
= var_sub
== var_other
;
6477 RET_LABEL55
:(void)0;
6482 RET_LABEL53
:(void)0;
6490 if (var_anchor
== NULL
) {
6491 var57
= 0; /* is null */
6493 var57
= 1; /* arg is null and recv is not */
6496 { /* Inline kernel#Object#!= (var_anchor,((val*)NULL)) on <var_anchor:nullable MClassType> */
6497 var_other60
= ((val
*)NULL
);
6499 var61
= ((short int(*)(val
* self
, val
* p0
))(var_anchor
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_anchor
, var_other60
); /* == on <var_anchor:nullable MClassType(MClassType)>*/
6504 RET_LABEL59
:(void)0;
6508 if (unlikely(!var57
)) {
6509 PRINT_ERROR("Runtime error: %s", "Assert failed");
6510 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 800);
6514 var63
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_sub
->class->vft
[COLOR_nitc__model__MType__lookup_bound
]))(var_sub
, var_mmodule
, var_anchor
); /* lookup_bound on <var_sub:MType(MFormalType)>*/
6517 if (var_sub_reject_null
){
6519 var64
= ((val
*(*)(val
* self
))(var_sub
->class->vft
[COLOR_nitc__model__MType__as_notnull
]))(var_sub
); /* as_notnull on <var_sub:MType>*/
6524 /* <var_sub:MType> isa MNullableType */
6525 cltype66
= type_nitc__MNullableType
.color
;
6526 idtype67
= type_nitc__MNullableType
.id
;
6527 if(cltype66
>= var_sub
->type
->table_size
) {
6530 var65
= var_sub
->type
->type_table
[cltype66
] == idtype67
;
6533 var69
= !var_sup_accept_null
;
6536 var70
= !var_sub_reject_null
;
6547 { /* Inline model#MProxyType#mtype (var_sub) on <var_sub:MType(MNullableType)> */
6548 var73
= var_sub
->attrs
[COLOR_nitc__model__MProxyType___mtype
].val
; /* _mtype on <var_sub:MType(MNullableType)> */
6549 if (unlikely(var73
== NULL
)) {
6550 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6551 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1625);
6555 RET_LABEL72
:(void)0;
6560 /* <var_sub:MType> isa MNotNullType */
6561 cltype75
= type_nitc__MNotNullType
.color
;
6562 idtype76
= type_nitc__MNotNullType
.id
;
6563 if(cltype75
>= var_sub
->type
->table_size
) {
6566 var74
= var_sub
->type
->type_table
[cltype75
] == idtype76
;
6569 var_sub_reject_null
= 1;
6571 { /* Inline model#MProxyType#mtype (var_sub) on <var_sub:MType(MNotNullType)> */
6572 var79
= var_sub
->attrs
[COLOR_nitc__model__MProxyType___mtype
].val
; /* _mtype on <var_sub:MType(MNotNullType)> */
6573 if (unlikely(var79
== NULL
)) {
6574 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6575 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1625);
6579 RET_LABEL78
:(void)0;
6584 /* <var_sub:MType> isa MNullType */
6585 cltype81
= type_nitc__MNullType
.color
;
6586 idtype82
= type_nitc__MNullType
.id
;
6587 if(cltype81
>= var_sub
->type
->table_size
) {
6590 var80
= var_sub
->type
->type_table
[cltype81
] == idtype82
;
6593 var
= var_sup_accept_null
;
6603 BREAK_label
: (void)0;
6604 /* <var_sub:MType> isa MBottomType */
6605 cltype84
= type_nitc__MBottomType
.color
;
6606 idtype85
= type_nitc__MBottomType
.id
;
6607 if(cltype84
>= var_sub
->type
->table_size
) {
6610 var83
= var_sub
->type
->type_table
[cltype84
] == idtype85
;
6617 /* <var_sub:MType> isa MClassType */
6618 cltype87
= type_nitc__MClassType
.color
;
6619 idtype88
= type_nitc__MClassType
.id
;
6620 if(cltype87
>= var_sub
->type
->table_size
) {
6623 var86
= var_sub
->type
->type_table
[cltype87
] == idtype88
;
6625 if (unlikely(!var86
)) {
6627 if (unlikely(varonce
==NULL
)) {
6628 var90
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
6629 if (likely(varonce91
!=NULL
)) {
6633 var94
= core__flat___NativeString___to_s_full(var93
, 4l, 4l);
6637 ((struct instance_core__NativeArray
*)var90
)->values
[1]=var92
;
6643 var95
= ((val
*(*)(val
* self
))(var_sub
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_sub
); /* to_s on <var_sub:MType>*/
6645 ((struct instance_core__NativeArray
*)var90
)->values
[0]=var95
;
6647 var96
= ((val
*(*)(val
* self
))(var_sub
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_sub
); /* to_s on <var_sub:MType>*/
6649 ((struct instance_core__NativeArray
*)var90
)->values
[2]=var96
;
6651 var97
= ((val
*(*)(val
* self
))(var90
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var90
); /* native_to_s on <var90:NativeArray[String]>*/
6655 core__file___Sys___print(var89
, var97
); /* Direct call file#Sys#print on <var89:Sys>*/
6657 PRINT_ERROR("Runtime error: %s", "Assert failed");
6658 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 823);
6661 /* <var_sup:MType> isa MFormalType */
6662 cltype101
= type_nitc__MFormalType
.color
;
6663 idtype102
= type_nitc__MFormalType
.id
;
6664 if(cltype101
>= var_sup
->type
->table_size
) {
6667 var100
= var_sup
->type
->type_table
[cltype101
] == idtype102
;
6673 /* <var_sup:MType> isa MNullType */
6674 cltype105
= type_nitc__MNullType
.color
;
6675 idtype106
= type_nitc__MNullType
.id
;
6676 if(cltype105
>= var_sup
->type
->table_size
) {
6679 var104
= var_sup
->type
->type_table
[cltype105
] == idtype106
;
6687 /* <var_sup:MType> isa MBottomType */
6688 cltype109
= type_nitc__MBottomType
.color
;
6689 idtype110
= type_nitc__MBottomType
.id
;
6690 if(cltype109
>= var_sup
->type
->table_size
) {
6693 var108
= var_sup
->type
->type_table
[cltype109
] == idtype110
;
6702 /* <var_sup:MType> isa MClassType */
6703 cltype112
= type_nitc__MClassType
.color
;
6704 idtype113
= type_nitc__MClassType
.id
;
6705 if(cltype112
>= var_sup
->type
->table_size
) {
6708 var111
= var_sup
->type
->type_table
[cltype112
] == idtype113
;
6710 if (unlikely(!var111
)) {
6712 if (unlikely(varonce115
==NULL
)) {
6713 var116
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
6714 if (likely(varonce117
!=NULL
)) {
6715 var118
= varonce117
;
6718 var120
= core__flat___NativeString___to_s_full(var119
, 4l, 4l);
6720 varonce117
= var118
;
6722 ((struct instance_core__NativeArray
*)var116
)->values
[0]=var118
;
6723 if (likely(varonce121
!=NULL
)) {
6724 var122
= varonce121
;
6727 var124
= core__flat___NativeString___to_s_full(var123
, 1l, 1l);
6729 varonce121
= var122
;
6731 ((struct instance_core__NativeArray
*)var116
)->values
[2]=var122
;
6733 var116
= varonce115
;
6737 var125
= ((val
*(*)(val
* self
))(var_sup
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_sup
); /* to_s on <var_sup:MType>*/
6739 ((struct instance_core__NativeArray
*)var116
)->values
[1]=var125
;
6741 var126
= core__abstract_text___Object___inspect(var_sub
);
6743 ((struct instance_core__NativeArray
*)var116
)->values
[3]=var126
;
6745 var127
= ((val
*(*)(val
* self
))(var116
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var116
); /* native_to_s on <var116:NativeArray[String]>*/
6747 varonce115
= var116
;
6749 core__file___Sys___print(var114
, var127
); /* Direct call file#Sys#print on <var114:Sys>*/
6751 PRINT_ERROR("Runtime error: %s", "Assert failed");
6752 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 831);
6756 { /* Inline kernel#Object#== (var_sub,var_sup) on <var_sub:MType(MClassType)> */
6757 var_other
= var_sup
;
6759 { /* Inline kernel#Object#is_same_instance (var_sub,var_other) on <var_sub:MType(MClassType)> */
6760 var132
= var_sub
== var_other
;
6763 RET_LABEL131
:(void)0;
6768 RET_LABEL129
:(void)0;
6776 if (var_anchor
== NULL
) {
6777 var133
= 1; /* is null */
6779 var133
= 0; /* arg is null but recv is not */
6782 { /* Inline kernel#Object#== (var_anchor,((val*)NULL)) on <var_anchor:nullable MClassType> */
6783 var_other
= ((val
*)NULL
);
6785 { /* Inline kernel#Object#is_same_instance (var_anchor,var_other) on <var_anchor:nullable MClassType(MClassType)> */
6786 var138
= var_anchor
== var_other
;
6789 RET_LABEL137
:(void)0;
6794 RET_LABEL135
:(void)0;
6799 var_anchor
= var_sub
;
6803 var139
= nitc___nitc__MClassType___MType__anchor_to(var_sub
, var_mmodule
, var_anchor
);
6805 var_resolved_sub
= var139
;
6807 var140
= nitc___nitc__MClassType___MType__collect_mclasses(var_resolved_sub
, var_mmodule
);
6810 { /* Inline model#MClassType#mclass (var_sup) on <var_sup:MType(MClassType)> */
6811 var143
= var_sup
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_sup:MType(MClassType)> */
6812 if (unlikely(var143
== NULL
)) {
6813 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6814 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
6818 RET_LABEL142
:(void)0;
6822 var144
= ((short int(*)(val
* self
, val
* p0
))((((long)var140
&3)?class_info
[((long)var140
&3)]:var140
->class)->vft
[COLOR_core__abstract_collection__Collection__has
]))(var140
, var141
); /* has on <var140:Set[MClass]>*/
6826 { /* Inline kernel#Bool#== (var_res,0) on <var_res:Bool> */
6827 var147
= var_res
== 0;
6830 RET_LABEL146
:(void)0;
6838 /* <var_sup:MType(MClassType)> isa MGenericType */
6839 cltype149
= type_nitc__MGenericType
.color
;
6840 idtype150
= type_nitc__MGenericType
.id
;
6841 if(cltype149
>= var_sup
->type
->table_size
) {
6844 var148
= var_sup
->type
->type_table
[cltype149
] == idtype150
;
6853 { /* Inline model#MClassType#mclass (var_sup) on <var_sup:MType(MGenericType)> */
6854 var154
= var_sup
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_sup:MType(MGenericType)> */
6855 if (unlikely(var154
== NULL
)) {
6856 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6857 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
6861 RET_LABEL153
:(void)0;
6865 var155
= nitc___nitc__MType___supertype_to(var_sub
, var_mmodule
, var_anchor
, var152
);
6869 { /* Inline model#MClassType#mclass (var_sub2) on <var_sub2:MClassType> */
6870 var158
= var_sub2
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_sub2:MClassType> */
6871 if (unlikely(var158
== NULL
)) {
6872 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6873 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
6877 RET_LABEL157
:(void)0;
6881 { /* Inline model#MClassType#mclass (var_sup) on <var_sup:MType(MGenericType)> */
6882 var161
= var_sup
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_sup:MType(MGenericType)> */
6883 if (unlikely(var161
== NULL
)) {
6884 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6885 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
6889 RET_LABEL160
:(void)0;
6893 { /* Inline kernel#Object#== (var156,var159) on <var156:MClass> */
6896 { /* Inline kernel#Object#is_same_instance (var156,var_other) on <var156:MClass> */
6897 var166
= var156
== var_other
;
6900 RET_LABEL165
:(void)0;
6905 RET_LABEL163
:(void)0;
6908 if (unlikely(!var162
)) {
6909 PRINT_ERROR("Runtime error: %s", "Assert failed");
6910 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 843);
6915 { /* Inline model#MClassType#mclass (var_sup) on <var_sup:MType(MGenericType)> */
6916 var169
= var_sup
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_sup:MType(MGenericType)> */
6917 if (unlikely(var169
== NULL
)) {
6918 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6919 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
6923 RET_LABEL168
:(void)0;
6927 { /* Inline model#MClass#arity (var167) on <var167:MClass> */
6928 var172
= var167
->attrs
[COLOR_nitc__model__MClass___arity
].l
; /* _arity on <var167:MClass> */
6930 RET_LABEL171
:(void)0;
6936 { /* Inline kernel#Int#< (var_i,var_173) on <var_i:Int> */
6937 /* Covariant cast for argument 0 (i) <var_173:Int> isa OTHER */
6938 /* <var_173:Int> isa OTHER */
6939 var176
= 1; /* easy <var_173:Int> isa OTHER*/
6940 if (unlikely(!var176
)) {
6941 var_class_name
= type_core__Int
.name
;
6942 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6943 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
6946 var179
= var_i
< var_173
;
6949 RET_LABEL175
:(void)0;
6954 goto BREAK_label180
;
6957 var181
= ((val
*(*)(val
* self
))(var_sub2
->class->vft
[COLOR_nitc__model__MClassType__arguments
]))(var_sub2
); /* arguments on <var_sub2:MClassType>*/
6960 var182
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var181
, var_i
);
6962 var_sub_arg
= var182
;
6964 { /* Inline model#MGenericType#arguments (var_sup) on <var_sup:MType(MGenericType)> */
6965 var185
= var_sup
->attrs
[COLOR_nitc__model__MGenericType___arguments
].val
; /* _arguments on <var_sup:MType(MGenericType)> */
6966 if (unlikely(var185
== NULL
)) {
6967 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
6968 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1269);
6972 RET_LABEL184
:(void)0;
6976 var186
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var183
, var_i
);
6978 var_sup_arg
= var186
;
6980 var187
= nitc___nitc__MType___is_subtype(var_sub_arg
, var_mmodule
, var_anchor
, var_sup_arg
);
6984 { /* Inline kernel#Bool#== (var_res,0) on <var_res:Bool> */
6985 var190
= var_res
== 0;
6988 RET_LABEL189
:(void)0;
6997 var191
= core___core__Int___Discrete__successor(var_i
, 1l);
7001 BREAK_label180
: (void)0;
7007 /* method model#MType#anchor_to for (self: MType, MModule, MClassType): MType */
7008 val
* nitc___nitc__MType___anchor_to(val
* self
, val
* p0
, val
* p1
) {
7009 val
* var
/* : MType */;
7010 val
* var_mmodule
/* var mmodule: MModule */;
7011 val
* var_anchor
/* var anchor: MClassType */;
7012 short int var1
/* : Bool */;
7013 short int var2
/* : Bool */;
7014 short int var3
/* : Bool */;
7015 short int var4
/* : Bool */;
7016 val
* var5
/* : MType */;
7017 val
* var_res
/* var res: MType */;
7018 short int var6
/* : Bool */;
7019 short int var7
/* : Bool */;
7023 var1
= ((short int(*)(val
* self
))(self
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(self
); /* need_anchor on <self:MType>*/
7032 var3
= ((short int(*)(val
* self
))(var_anchor
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(var_anchor
); /* need_anchor on <var_anchor:MClassType>*/
7035 if (unlikely(!var4
)) {
7036 PRINT_ERROR("Runtime error: %s", "Assert failed");
7037 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 890);
7041 var5
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(self
->class->vft
[COLOR_nitc__model__MType__resolve_for
]))(self
, var_anchor
, ((val
*)NULL
), var_mmodule
, 1); /* resolve_for on <self:MType>*/
7045 var6
= ((short int(*)(val
* self
))(var_res
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(var_res
); /* need_anchor on <var_res:MType>*/
7048 if (unlikely(!var7
)) {
7049 PRINT_ERROR("Runtime error: %s", "Assert failed");
7050 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 893);
7058 /* method model#MType#need_anchor for (self: MType): Bool */
7059 short int nitc___nitc__MType___need_anchor(val
* self
) {
7060 short int var
/* : Bool */;
7066 /* method model#MType#supertype_to for (self: MType, MModule, nullable MClassType, MClass): MClassType */
7067 val
* nitc___nitc__MType___supertype_to(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7068 val
* var
/* : MClassType */;
7069 val
* var_mmodule
/* var mmodule: MModule */;
7070 val
* var_anchor
/* var anchor: nullable MClassType */;
7071 val
* var_super_mclass
/* var super_mclass: MClass */;
7072 long var1
/* : Int */;
7073 long var3
/* : Int */;
7074 short int var4
/* : Bool */;
7075 short int var6
/* : Bool */;
7076 val
* var7
/* : MClassType */;
7077 val
* var9
/* : MClassType */;
7078 short int var10
/* : Bool */;
7079 short int var11
/* : Bool */;
7082 short int var_
/* var : Bool */;
7083 val
* var12
/* : MClass */;
7084 val
* var14
/* : MClass */;
7085 short int var15
/* : Bool */;
7086 val
* var_other
/* var other: nullable Object */;
7087 short int var17
/* : Bool */;
7088 short int var19
/* : Bool */;
7089 short int var20
/* : Bool */;
7090 short int var21
/* : Bool */;
7091 short int var22
/* : Bool */;
7092 val
* var_other24
/* var other: nullable Object */;
7093 short int var25
/* : Bool */;
7094 short int var26
/* : Bool */;
7095 val
* var27
/* : MType */;
7096 val
* var_resolved_self
/* var resolved_self: nullable Object */;
7097 val
* var28
/* : Set[MClassType] */;
7098 val
* var_supertypes
/* var supertypes: Set[MClassType] */;
7099 val
* var_29
/* var : Set[MClassType] */;
7100 val
* var30
/* : Iterator[nullable Object] */;
7101 val
* var_31
/* var : Iterator[MClassType] */;
7102 short int var32
/* : Bool */;
7103 val
* var33
/* : nullable Object */;
7104 val
* var_supertype
/* var supertype: MClassType */;
7105 val
* var34
/* : MClass */;
7106 val
* var36
/* : MClass */;
7107 short int var37
/* : Bool */;
7108 short int var39
/* : Bool */;
7109 short int var41
/* : Bool */;
7110 val
* var42
/* : MType */;
7113 var_super_mclass
= p2
;
7115 { /* Inline model#MClass#arity (var_super_mclass) on <var_super_mclass:MClass> */
7116 var3
= var_super_mclass
->attrs
[COLOR_nitc__model__MClass___arity
].l
; /* _arity on <var_super_mclass:MClass> */
7122 { /* Inline kernel#Int#== (var1,0l) on <var1:Int> */
7131 { /* Inline model#MClass#mclass_type (var_super_mclass) on <var_super_mclass:MClass> */
7132 var9
= var_super_mclass
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_super_mclass:MClass> */
7133 if (unlikely(var9
== NULL
)) {
7134 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
7135 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 507);
7146 /* <self:MType> isa MClassType */
7147 cltype
= type_nitc__MClassType
.color
;
7148 idtype
= type_nitc__MClassType
.id
;
7149 if(cltype
>= self
->type
->table_size
) {
7152 var11
= self
->type
->type_table
[cltype
] == idtype
;
7157 { /* Inline model#MClassType#mclass (self) on <self:MType(MClassType)> */
7158 var14
= self
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <self:MType(MClassType)> */
7159 if (unlikely(var14
== NULL
)) {
7160 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7161 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
7165 RET_LABEL13
:(void)0;
7169 { /* Inline kernel#Object#== (var12,var_super_mclass) on <var12:MClass> */
7170 var_other
= var_super_mclass
;
7172 { /* Inline kernel#Object#is_same_instance (var12,var_other) on <var12:MClass> */
7173 var19
= var12
== var_other
;
7176 RET_LABEL18
:(void)0;
7181 RET_LABEL16
:(void)0;
7194 var20
= ((short int(*)(val
* self
))(self
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(self
); /* need_anchor on <self:MType>*/
7197 if (var_anchor
== NULL
) {
7198 var21
= 0; /* is null */
7200 var21
= 1; /* arg is null and recv is not */
7203 { /* Inline kernel#Object#!= (var_anchor,((val*)NULL)) on <var_anchor:nullable MClassType> */
7204 var_other24
= ((val
*)NULL
);
7206 var25
= ((short int(*)(val
* self
, val
* p0
))(var_anchor
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_anchor
, var_other24
); /* == on <var_anchor:nullable MClassType(MClassType)>*/
7211 RET_LABEL23
:(void)0;
7215 if (unlikely(!var21
)) {
7216 PRINT_ERROR("Runtime error: %s", "Assert failed");
7217 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 923);
7221 var27
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(self
->class->vft
[COLOR_nitc__model__MType__anchor_to
]))(self
, var_mmodule
, var_anchor
); /* anchor_to on <self:MType>*/
7223 var_resolved_self
= var27
;
7225 var_resolved_self
= self
;
7228 var28
= ((val
*(*)(val
* self
, val
* p0
))(var_resolved_self
->class->vft
[COLOR_nitc__model__MType__collect_mtypes
]))(var_resolved_self
, var_mmodule
); /* collect_mtypes on <var_resolved_self:nullable Object(MType)>*/
7230 var_supertypes
= var28
;
7231 var_29
= var_supertypes
;
7233 var30
= ((val
*(*)(val
* self
))((((long)var_29
&3)?class_info
[((long)var_29
&3)]:var_29
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_29
); /* iterator on <var_29:Set[MClassType]>*/
7238 var32
= ((short int(*)(val
* self
))((((long)var_31
&3)?class_info
[((long)var_31
&3)]:var_31
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_31
); /* is_ok on <var_31:Iterator[MClassType]>*/
7245 var33
= ((val
*(*)(val
* self
))((((long)var_31
&3)?class_info
[((long)var_31
&3)]:var_31
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_31
); /* item on <var_31:Iterator[MClassType]>*/
7247 var_supertype
= var33
;
7249 { /* Inline model#MClassType#mclass (var_supertype) on <var_supertype:MClassType> */
7250 var36
= var_supertype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_supertype:MClassType> */
7251 if (unlikely(var36
== NULL
)) {
7252 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7253 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
7257 RET_LABEL35
:(void)0;
7261 { /* Inline kernel#Object#== (var34,var_super_mclass) on <var34:MClass> */
7262 var_other
= var_super_mclass
;
7264 { /* Inline kernel#Object#is_same_instance (var34,var_other) on <var34:MClass> */
7265 var41
= var34
== var_other
;
7268 RET_LABEL40
:(void)0;
7273 RET_LABEL38
:(void)0;
7278 var42
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(var_supertype
->class->vft
[COLOR_nitc__model__MType__resolve_for
]))(var_supertype
, self
, var_anchor
, var_mmodule
, 0); /* resolve_for on <var_supertype:MClassType>*/
7285 ((void(*)(val
* self
))((((long)var_31
&3)?class_info
[((long)var_31
&3)]:var_31
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_31
); /* next on <var_31:Iterator[MClassType]>*/
7288 BREAK_label
: (void)0;
7290 ((void(*)(val
* self
))((((long)var_31
&3)?class_info
[((long)var_31
&3)]:var_31
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_31
); /* finish on <var_31:Iterator[MClassType]>*/
7292 PRINT_ERROR("Runtime error: %s", "Aborted");
7293 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 935);
7298 /* method model#MType#lookup_bound for (self: MType, MModule, MType): MType */
7299 val
* nitc___nitc__MType___lookup_bound(val
* self
, val
* p0
, val
* p1
) {
7300 val
* var
/* : MType */;
7301 val
* var_mmodule
/* var mmodule: MModule */;
7302 val
* var_resolved_receiver
/* var resolved_receiver: MType */;
7304 var_resolved_receiver
= p1
;
7310 /* method model#MType#lookup_fixed for (self: MType, MModule, MType): MType */
7311 val
* nitc___nitc__MType___lookup_fixed(val
* self
, val
* p0
, val
* p1
) {
7312 val
* var
/* : MType */;
7313 val
* var_mmodule
/* var mmodule: MModule */;
7314 val
* var_resolved_receiver
/* var resolved_receiver: MType */;
7316 var_resolved_receiver
= p1
;
7322 /* method model#MType#can_resolve_for for (self: MType, MType, nullable MClassType, MModule): Bool */
7323 short int nitc___nitc__MType___can_resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7324 short int var
/* : Bool */;
7325 const char* var_class_name
;
7326 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
7327 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "can_resolve_for", var_class_name
);
7328 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1038);
7333 /* method model#MType#as_nullable for (self: MType): MType */
7334 val
* nitc___nitc__MType___as_nullable(val
* self
) {
7335 val
* var
/* : MType */;
7336 val
* var1
/* : nullable MType */;
7337 val
* var3
/* : nullable MType */;
7338 val
* var_res
/* var res: nullable MType */;
7339 short int var4
/* : Bool */;
7340 short int var5
/* : Bool */;
7341 val
* var_other
/* var other: nullable Object */;
7342 short int var7
/* : Bool */;
7343 short int var8
/* : Bool */;
7344 val
* var9
/* : MNullableType */;
7346 { /* Inline model#MType#as_nullable_cache (self) on <self:MType> */
7347 var3
= self
->attrs
[COLOR_nitc__model__MType___as_nullable_cache
].val
; /* _as_nullable_cache on <self:MType> */
7353 if (var_res
== NULL
) {
7354 var4
= 0; /* is null */
7356 var4
= 1; /* arg is null and recv is not */
7359 { /* Inline kernel#Object#!= (var_res,((val*)NULL)) on <var_res:nullable MType> */
7360 var_other
= ((val
*)NULL
);
7362 var7
= ((short int(*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_res
, var_other
); /* == on <var_res:nullable MType(MType)>*/
7376 var9
= NEW_nitc__MNullableType(&type_nitc__MNullableType
);
7378 ((void(*)(val
* self
, val
* p0
))(var9
->class->vft
[COLOR_nitc__model__MProxyType__mtype_61d
]))(var9
, self
); /* mtype= on <var9:MNullableType>*/
7381 ((void(*)(val
* self
))(var9
->class->vft
[COLOR_core__kernel__Object__init
]))(var9
); /* init on <var9:MNullableType>*/
7385 { /* Inline model#MType#as_nullable_cache= (self,var_res) on <self:MType> */
7386 self
->attrs
[COLOR_nitc__model__MType___as_nullable_cache
].val
= var_res
; /* _as_nullable_cache on <self:MType> */
7387 RET_LABEL10
:(void)0;
7395 /* method model#MType#undecorate for (self: MType): MType */
7396 val
* nitc___nitc__MType___undecorate(val
* self
) {
7397 val
* var
/* : MType */;
7403 /* method model#MType#as_notnull for (self: MType): MType */
7404 val
* nitc___nitc__MType___as_notnull(val
* self
) {
7405 val
* var
/* : MType */;
7411 /* method model#MType#as_nullable_cache for (self: MType): nullable MType */
7412 val
* nitc___nitc__MType___as_nullable_cache(val
* self
) {
7413 val
* var
/* : nullable MType */;
7414 val
* var1
/* : nullable MType */;
7415 var1
= self
->attrs
[COLOR_nitc__model__MType___as_nullable_cache
].val
; /* _as_nullable_cache on <self:MType> */
7420 /* method model#MType#as_nullable_cache= for (self: MType, nullable MType) */
7421 void nitc___nitc__MType___as_nullable_cache_61d(val
* self
, val
* p0
) {
7422 self
->attrs
[COLOR_nitc__model__MType___as_nullable_cache
].val
= p0
; /* _as_nullable_cache on <self:MType> */
7425 /* method model#MType#length for (self: MType): Int */
7426 long nitc___nitc__MType___length(val
* self
) {
7427 long var
/* : Int */;
7433 /* method model#MType#collect_mclassdefs for (self: MType, MModule): Set[MClassDef] */
7434 val
* nitc___nitc__MType___collect_mclassdefs(val
* self
, val
* p0
) {
7435 val
* var
/* : Set[MClassDef] */;
7436 const char* var_class_name
;
7437 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
7438 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "collect_mclassdefs", var_class_name
);
7439 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1123);
7444 /* method model#MType#collect_mclasses for (self: MType, MModule): Set[MClass] */
7445 val
* nitc___nitc__MType___collect_mclasses(val
* self
, val
* p0
) {
7446 val
* var
/* : Set[MClass] */;
7447 const char* var_class_name
;
7448 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
7449 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "collect_mclasses", var_class_name
);
7450 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1133);
7455 /* method model#MType#collect_mtypes for (self: MType, MModule): Set[MClassType] */
7456 val
* nitc___nitc__MType___collect_mtypes(val
* self
, val
* p0
) {
7457 val
* var
/* : Set[MClassType] */;
7458 const char* var_class_name
;
7459 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
7460 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "collect_mtypes", var_class_name
);
7461 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1139);
7466 /* method model#MType#has_mproperty for (self: MType, MModule, MProperty): Bool */
7467 short int nitc___nitc__MType___has_mproperty(val
* self
, val
* p0
, val
* p1
) {
7468 short int var
/* : Bool */;
7469 val
* var_mmodule
/* var mmodule: MModule */;
7470 val
* var_mproperty
/* var mproperty: MProperty */;
7471 short int var1
/* : Bool */;
7472 short int var2
/* : Bool */;
7473 val
* var3
/* : Set[MClassDef] */;
7474 val
* var4
/* : MClassDef */;
7475 val
* var6
/* : MClassDef */;
7476 short int var7
/* : Bool */;
7480 var1
= ((short int(*)(val
* self
))(self
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(self
); /* need_anchor on <self:MType>*/
7483 if (unlikely(!var2
)) {
7484 PRINT_ERROR("Runtime error: %s", "Assert failed");
7485 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1152);
7489 var3
= ((val
*(*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nitc__model__MType__collect_mclassdefs
]))(self
, var_mmodule
); /* collect_mclassdefs on <self:MType>*/
7492 { /* Inline model#MProperty#intro_mclassdef (var_mproperty) on <var_mproperty:MProperty> */
7493 var6
= var_mproperty
->attrs
[COLOR_nitc__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_mproperty:MProperty> */
7494 if (unlikely(var6
== NULL
)) {
7495 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
7496 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1946);
7504 var7
= ((short int(*)(val
* self
, val
* p0
))((((long)var3
&3)?class_info
[((long)var3
&3)]:var3
->class)->vft
[COLOR_core__abstract_collection__Collection__has
]))(var3
, var4
); /* has on <var3:Set[MClassDef]>*/
7511 /* method model#MClassType#mclass for (self: MClassType): MClass */
7512 val
* nitc___nitc__MClassType___mclass(val
* self
) {
7513 val
* var
/* : MClass */;
7514 val
* var1
/* : MClass */;
7515 var1
= self
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
7516 if (unlikely(var1
== NULL
)) {
7517 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7518 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
7525 /* method model#MClassType#mclass= for (self: MClassType, MClass) */
7526 void nitc___nitc__MClassType___mclass_61d(val
* self
, val
* p0
) {
7527 self
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
= p0
; /* _mclass on <self:MClassType> */
7530 /* method model#MClassType#model for (self: MClassType): Model */
7531 val
* nitc___nitc__MClassType___nitc__model_base__MEntity__model(val
* self
) {
7532 val
* var
/* : Model */;
7533 val
* var1
/* : MClass */;
7534 val
* var3
/* : MClass */;
7535 val
* var4
/* : MModule */;
7536 val
* var6
/* : MModule */;
7537 val
* var7
/* : Model */;
7538 val
* var9
/* : Model */;
7540 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
7541 var3
= self
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
7542 if (unlikely(var3
== NULL
)) {
7543 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7544 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
7552 { /* Inline model#MClass#intro_mmodule (var1) on <var1:MClass> */
7553 var6
= var1
->attrs
[COLOR_nitc__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var1:MClass> */
7554 if (unlikely(var6
== NULL
)) {
7555 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
7556 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 380);
7564 { /* Inline mmodule#MModule#model (var4) on <var4:MModule> */
7565 var9
= var4
->attrs
[COLOR_nitc__mmodule__MModule___model
].val
; /* _model on <var4:MModule> */
7566 if (unlikely(var9
== NULL
)) {
7567 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
7568 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 78);
7580 /* method model#MClassType#arguments for (self: MClassType): Array[MType] */
7581 val
* nitc___nitc__MClassType___arguments(val
* self
) {
7582 val
* var
/* : Array[MType] */;
7583 val
* var1
/* : Array[MType] */;
7584 var1
= self
->attrs
[COLOR_nitc__model__MClassType___arguments
].val
; /* _arguments on <self:MClassType> */
7585 if (unlikely(var1
== NULL
)) {
7586 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
7587 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1170);
7594 /* method model#MClassType#arguments= for (self: MClassType, Array[MType]) */
7595 void nitc___nitc__MClassType___arguments_61d(val
* self
, val
* p0
) {
7596 self
->attrs
[COLOR_nitc__model__MClassType___arguments
].val
= p0
; /* _arguments on <self:MClassType> */
7599 /* method model#MClassType#to_s for (self: MClassType): String */
7600 val
* nitc___nitc__MClassType___core__abstract_text__Object__to_s(val
* self
) {
7601 val
* var
/* : String */;
7602 val
* var1
/* : MClass */;
7603 val
* var3
/* : MClass */;
7604 val
* var4
/* : String */;
7606 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
7607 var3
= self
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
7608 if (unlikely(var3
== NULL
)) {
7609 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7610 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
7618 var4
= nitc___nitc__MClass___core__abstract_text__Object__to_s(var1
);
7625 /* method model#MClassType#full_name for (self: MClassType): String */
7626 val
* nitc___nitc__MClassType___nitc__model_base__MEntity__full_name(val
* self
) {
7627 val
* var
/* : String */;
7628 val
* var1
/* : MClass */;
7629 val
* var3
/* : MClass */;
7630 val
* var4
/* : String */;
7632 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
7633 var3
= self
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
7634 if (unlikely(var3
== NULL
)) {
7635 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7636 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
7644 var4
= nitc___nitc__MClass___nitc__model_base__MEntity__full_name(var1
);
7651 /* method model#MClassType#c_name for (self: MClassType): String */
7652 val
* nitc___nitc__MClassType___nitc__model_base__MEntity__c_name(val
* self
) {
7653 val
* var
/* : String */;
7654 val
* var1
/* : MClass */;
7655 val
* var3
/* : MClass */;
7656 val
* var4
/* : String */;
7658 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
7659 var3
= self
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
7660 if (unlikely(var3
== NULL
)) {
7661 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7662 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
7670 var4
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var1
);
7677 /* method model#MClassType#need_anchor for (self: MClassType): Bool */
7678 short int nitc___nitc__MClassType___MType__need_anchor(val
* self
) {
7679 short int var
/* : Bool */;
7685 /* method model#MClassType#anchor_to for (self: MClassType, MModule, MClassType): MClassType */
7686 val
* nitc___nitc__MClassType___MType__anchor_to(val
* self
, val
* p0
, val
* p1
) {
7687 val
* var
/* : MClassType */;
7688 val
* var_mmodule
/* var mmodule: MModule */;
7689 val
* var_anchor
/* var anchor: MClassType */;
7690 val
* var1
/* : MType */;
7691 short int var2
/* : Bool */;
7694 const char* var_class_name
;
7698 var1
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(self
->class->vft
[COLOR_nitc___nitc__MClassType___MType__anchor_to
]))(self
, p0
, p1
); /* anchor_to on <self:MClassType>*/
7700 /* <var1:MType> isa MClassType */
7701 cltype
= type_nitc__MClassType
.color
;
7702 idtype
= type_nitc__MClassType
.id
;
7703 if(cltype
>= var1
->type
->table_size
) {
7706 var2
= var1
->type
->type_table
[cltype
] == idtype
;
7708 if (unlikely(!var2
)) {
7709 var_class_name
= var1
== NULL ?
"null" : var1
->type
->name
;
7710 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
7711 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1184);
7719 /* method model#MClassType#resolve_for for (self: MClassType, MType, nullable MClassType, MModule, Bool): MClassType */
7720 val
* nitc___nitc__MClassType___MType__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
7721 val
* var
/* : MClassType */;
7722 val
* var_mtype
/* var mtype: MType */;
7723 val
* var_anchor
/* var anchor: nullable MClassType */;
7724 val
* var_mmodule
/* var mmodule: MModule */;
7725 short int var_cleanup_virtual
/* var cleanup_virtual: Bool */;
7729 var_cleanup_virtual
= p3
;
7735 /* method model#MClassType#can_resolve_for for (self: MClassType, MType, nullable MClassType, MModule): Bool */
7736 short int nitc___nitc__MClassType___MType__can_resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7737 short int var
/* : Bool */;
7738 val
* var_mtype
/* var mtype: MType */;
7739 val
* var_anchor
/* var anchor: nullable MClassType */;
7740 val
* var_mmodule
/* var mmodule: MModule */;
7749 /* method model#MClassType#collect_mclassdefs for (self: MClassType, MModule): Set[MClassDef] */
7750 val
* nitc___nitc__MClassType___MType__collect_mclassdefs(val
* self
, val
* p0
) {
7751 val
* var
/* : Set[MClassDef] */;
7752 val
* var_mmodule
/* var mmodule: MModule */;
7753 short int var1
/* : Bool */;
7754 short int var2
/* : Bool */;
7755 val
* var3
/* : HashMap[MModule, Set[MClassDef]] */;
7756 val
* var5
/* : HashMap[MModule, Set[MClassDef]] */;
7757 val
* var_cache
/* var cache: HashMap[MModule, Set[MClassDef]] */;
7758 short int var6
/* : Bool */;
7759 short int var7
/* : Bool */;
7760 val
* var8
/* : nullable Object */;
7763 var1
= ((short int(*)(val
* self
))(self
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(self
); /* need_anchor on <self:MClassType>*/
7766 if (unlikely(!var2
)) {
7767 PRINT_ERROR("Runtime error: %s", "Assert failed");
7768 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1193);
7772 { /* Inline model#MClassType#collect_mclassdefs_cache (self) on <self:MClassType> */
7773 var5
= self
->attrs
[COLOR_nitc__model__MClassType___collect_mclassdefs_cache
].val
; /* _collect_mclassdefs_cache on <self:MClassType> */
7774 if (unlikely(var5
== NULL
)) {
7775 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclassdefs_cache");
7776 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1258);
7785 var6
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var_cache
, var_mmodule
);
7790 nitc___nitc__MClassType___collect_things(self
, var_mmodule
); /* Direct call model#MClassType#collect_things on <self:MClassType>*/
7795 var8
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_cache
, var_mmodule
);
7802 /* method model#MClassType#collect_mclasses for (self: MClassType, MModule): Set[MClass] */
7803 val
* nitc___nitc__MClassType___MType__collect_mclasses(val
* self
, val
* p0
) {
7804 val
* var
/* : Set[MClass] */;
7805 val
* var_mmodule
/* var mmodule: MModule */;
7806 val
* var1
/* : nullable MModule */;
7807 val
* var3
/* : nullable MModule */;
7808 short int var4
/* : Bool */;
7809 short int var5
/* : Bool */;
7810 val
* var_other
/* var other: nullable Object */;
7811 short int var7
/* : Bool */;
7812 short int var9
/* : Bool */;
7813 val
* var10
/* : Set[MClass] */;
7814 val
* var12
/* : Set[MClass] */;
7815 short int var13
/* : Bool */;
7816 short int var14
/* : Bool */;
7817 val
* var15
/* : HashMap[MModule, Set[MClass]] */;
7818 val
* var17
/* : HashMap[MModule, Set[MClass]] */;
7819 val
* var_cache
/* var cache: HashMap[MModule, Set[MClass]] */;
7820 short int var18
/* : Bool */;
7821 short int var19
/* : Bool */;
7822 val
* var20
/* : nullable Object */;
7823 val
* var_res
/* var res: Set[MClass] */;
7826 { /* Inline model#MClassType#collect_mclasses_last_module (self) on <self:MClassType> */
7827 var3
= self
->attrs
[COLOR_nitc__model__MClassType___collect_mclasses_last_module
].val
; /* _collect_mclasses_last_module on <self:MClassType> */
7833 var4
= 0; /* <var_mmodule:MModule> cannot be null */
7835 { /* Inline kernel#Object#== (var1,var_mmodule) on <var1:nullable MModule> */
7836 var_other
= var_mmodule
;
7838 { /* Inline kernel#Object#is_same_instance (var1,var_other) on <var1:nullable MModule(MModule)> */
7839 var9
= var1
== var_other
;
7853 { /* Inline model#MClassType#collect_mclasses_last_module_cache (self) on <self:MClassType> */
7854 var12
= self
->attrs
[COLOR_nitc__model__MClassType___collect_mclasses_last_module_cache
].val
; /* _collect_mclasses_last_module_cache on <self:MClassType> */
7855 if (unlikely(var12
== NULL
)) {
7856 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclasses_last_module_cache");
7857 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1216);
7861 RET_LABEL11
:(void)0;
7869 var13
= ((short int(*)(val
* self
))(self
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(self
); /* need_anchor on <self:MClassType>*/
7872 if (unlikely(!var14
)) {
7873 PRINT_ERROR("Runtime error: %s", "Assert failed");
7874 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1204);
7878 { /* Inline model#MClassType#collect_mclasses_cache (self) on <self:MClassType> */
7879 var17
= self
->attrs
[COLOR_nitc__model__MClassType___collect_mclasses_cache
].val
; /* _collect_mclasses_cache on <self:MClassType> */
7880 if (unlikely(var17
== NULL
)) {
7881 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclasses_cache");
7882 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1259);
7886 RET_LABEL16
:(void)0;
7891 var18
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var_cache
, var_mmodule
);
7896 nitc___nitc__MClassType___collect_things(self
, var_mmodule
); /* Direct call model#MClassType#collect_things on <self:MClassType>*/
7901 var20
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_cache
, var_mmodule
);
7905 { /* Inline model#MClassType#collect_mclasses_last_module= (self,var_mmodule) on <self:MClassType> */
7906 self
->attrs
[COLOR_nitc__model__MClassType___collect_mclasses_last_module
].val
= var_mmodule
; /* _collect_mclasses_last_module on <self:MClassType> */
7907 RET_LABEL21
:(void)0;
7911 { /* Inline model#MClassType#collect_mclasses_last_module_cache= (self,var_res) on <self:MClassType> */
7912 self
->attrs
[COLOR_nitc__model__MClassType___collect_mclasses_last_module_cache
].val
= var_res
; /* _collect_mclasses_last_module_cache on <self:MClassType> */
7913 RET_LABEL22
:(void)0;
7921 /* method model#MClassType#collect_mclasses_last_module for (self: MClassType): nullable MModule */
7922 val
* nitc___nitc__MClassType___collect_mclasses_last_module(val
* self
) {
7923 val
* var
/* : nullable MModule */;
7924 val
* var1
/* : nullable MModule */;
7925 var1
= self
->attrs
[COLOR_nitc__model__MClassType___collect_mclasses_last_module
].val
; /* _collect_mclasses_last_module on <self:MClassType> */
7930 /* method model#MClassType#collect_mclasses_last_module= for (self: MClassType, nullable MModule) */
7931 void nitc___nitc__MClassType___collect_mclasses_last_module_61d(val
* self
, val
* p0
) {
7932 self
->attrs
[COLOR_nitc__model__MClassType___collect_mclasses_last_module
].val
= p0
; /* _collect_mclasses_last_module on <self:MClassType> */
7935 /* method model#MClassType#collect_mclasses_last_module_cache for (self: MClassType): Set[MClass] */
7936 val
* nitc___nitc__MClassType___collect_mclasses_last_module_cache(val
* self
) {
7937 val
* var
/* : Set[MClass] */;
7938 val
* var1
/* : Set[MClass] */;
7939 var1
= self
->attrs
[COLOR_nitc__model__MClassType___collect_mclasses_last_module_cache
].val
; /* _collect_mclasses_last_module_cache on <self:MClassType> */
7940 if (unlikely(var1
== NULL
)) {
7941 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclasses_last_module_cache");
7942 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1216);
7949 /* method model#MClassType#collect_mclasses_last_module_cache= for (self: MClassType, Set[MClass]) */
7950 void nitc___nitc__MClassType___collect_mclasses_last_module_cache_61d(val
* self
, val
* p0
) {
7951 self
->attrs
[COLOR_nitc__model__MClassType___collect_mclasses_last_module_cache
].val
= p0
; /* _collect_mclasses_last_module_cache on <self:MClassType> */
7954 /* method model#MClassType#collect_mtypes for (self: MClassType, MModule): Set[MClassType] */
7955 val
* nitc___nitc__MClassType___MType__collect_mtypes(val
* self
, val
* p0
) {
7956 val
* var
/* : Set[MClassType] */;
7957 val
* var_mmodule
/* var mmodule: MModule */;
7958 short int var1
/* : Bool */;
7959 short int var2
/* : Bool */;
7960 val
* var3
/* : HashMap[MModule, Set[MClassType]] */;
7961 val
* var5
/* : HashMap[MModule, Set[MClassType]] */;
7962 val
* var_cache
/* var cache: HashMap[MModule, Set[MClassType]] */;
7963 short int var6
/* : Bool */;
7964 short int var7
/* : Bool */;
7965 val
* var8
/* : nullable Object */;
7968 var1
= ((short int(*)(val
* self
))(self
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(self
); /* need_anchor on <self:MClassType>*/
7971 if (unlikely(!var2
)) {
7972 PRINT_ERROR("Runtime error: %s", "Assert failed");
7973 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1220);
7977 { /* Inline model#MClassType#collect_mtypes_cache (self) on <self:MClassType> */
7978 var5
= self
->attrs
[COLOR_nitc__model__MClassType___collect_mtypes_cache
].val
; /* _collect_mtypes_cache on <self:MClassType> */
7979 if (unlikely(var5
== NULL
)) {
7980 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mtypes_cache");
7981 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1260);
7990 var6
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var_cache
, var_mmodule
);
7995 nitc___nitc__MClassType___collect_things(self
, var_mmodule
); /* Direct call model#MClassType#collect_things on <self:MClassType>*/
8000 var8
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_cache
, var_mmodule
);
8007 /* method model#MClassType#collect_things for (self: MClassType, MModule) */
8008 void nitc___nitc__MClassType___collect_things(val
* self
, val
* p0
) {
8009 val
* var_mmodule
/* var mmodule: MModule */;
8010 val
* var
/* : HashSet[MClassDef] */;
8011 val
* var_res
/* var res: HashSet[MClassDef] */;
8012 val
* var1
/* : HashSet[MClass] */;
8013 val
* var_seen
/* var seen: HashSet[MClass] */;
8014 val
* var2
/* : HashSet[MClassType] */;
8015 val
* var_types
/* var types: HashSet[MClassType] */;
8016 val
* var3
/* : MClass */;
8017 val
* var5
/* : MClass */;
8018 val
* var6
/* : Array[MClass] */;
8019 val
* var_
/* var : Array[MClass] */;
8020 val
* var7
/* : MClass */;
8021 val
* var9
/* : MClass */;
8022 val
* var_todo
/* var todo: Array[MClass] */;
8023 short int var10
/* : Bool */;
8024 short int var11
/* : Bool */;
8025 val
* var12
/* : nullable Object */;
8026 val
* var_mclass
/* var mclass: MClass */;
8027 val
* var13
/* : Array[MClassDef] */;
8028 val
* var15
/* : Array[MClassDef] */;
8029 val
* var_16
/* var : Array[MClassDef] */;
8030 val
* var17
/* : IndexedIterator[nullable Object] */;
8031 val
* var_18
/* var : IndexedIterator[MClassDef] */;
8032 short int var19
/* : Bool */;
8033 val
* var20
/* : nullable Object */;
8034 val
* var_mclassdef
/* var mclassdef: MClassDef */;
8035 val
* var21
/* : POSetElement[MModule] */;
8036 val
* var23
/* : POSetElement[MModule] */;
8037 val
* var24
/* : MModule */;
8038 val
* var26
/* : MModule */;
8039 short int var27
/* : Bool */;
8040 short int var28
/* : Bool */;
8041 val
* var30
/* : Array[MClassType] */;
8042 val
* var32
/* : Array[MClassType] */;
8043 val
* var_33
/* var : Array[MClassType] */;
8044 val
* var34
/* : IndexedIterator[nullable Object] */;
8045 val
* var_35
/* var : IndexedIterator[MClassType] */;
8046 short int var36
/* : Bool */;
8047 val
* var38
/* : nullable Object */;
8048 val
* var_supertype
/* var supertype: MClassType */;
8049 val
* var39
/* : MClass */;
8050 val
* var41
/* : MClass */;
8051 val
* var_superclass
/* var superclass: MClass */;
8052 short int var42
/* : Bool */;
8053 val
* var45
/* : HashMap[MModule, Set[MClassDef]] */;
8054 val
* var47
/* : HashMap[MModule, Set[MClassDef]] */;
8055 val
* var48
/* : HashMap[MModule, Set[MClass]] */;
8056 val
* var50
/* : HashMap[MModule, Set[MClass]] */;
8057 val
* var51
/* : HashMap[MModule, Set[MClassType]] */;
8058 val
* var53
/* : HashMap[MModule, Set[MClassType]] */;
8060 var
= NEW_core__HashSet(&type_core__HashSet__nitc__MClassDef
);
8062 core___core__HashSet___core__kernel__Object__init(var
); /* Direct call hash_collection#HashSet#init on <var:HashSet[MClassDef]>*/
8065 var1
= NEW_core__HashSet(&type_core__HashSet__nitc__MClass
);
8067 core___core__HashSet___core__kernel__Object__init(var1
); /* Direct call hash_collection#HashSet#init on <var1:HashSet[MClass]>*/
8070 var2
= NEW_core__HashSet(&type_core__HashSet__nitc__MClassType
);
8072 core___core__HashSet___core__kernel__Object__init(var2
); /* Direct call hash_collection#HashSet#init on <var2:HashSet[MClassType]>*/
8076 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
8077 var5
= self
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
8078 if (unlikely(var5
== NULL
)) {
8079 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8080 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
8088 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var_seen
, var3
); /* Direct call hash_collection#HashSet#add on <var_seen:HashSet[MClass]>*/
8090 var6
= NEW_core__Array(&type_core__Array__nitc__MClass
);
8092 core___core__Array___with_capacity(var6
, 1l); /* Direct call array#Array#with_capacity on <var6:Array[MClass]>*/
8096 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
8097 var9
= self
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
8098 if (unlikely(var9
== NULL
)) {
8099 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8100 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
8108 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var7
); /* Direct call array#AbstractArray#push on <var_:Array[MClass]>*/
8113 var10
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_todo
);
8118 var12
= core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_todo
);
8122 { /* Inline model#MClass#mclassdefs (var_mclass) on <var_mclass:MClass> */
8123 var15
= var_mclass
->attrs
[COLOR_nitc__model__MClass___mclassdefs
].val
; /* _mclassdefs on <var_mclass:MClass> */
8124 if (unlikely(var15
== NULL
)) {
8125 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
8126 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 477);
8130 RET_LABEL14
:(void)0;
8135 var17
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_16
);
8140 var19
= ((short int(*)(val
* self
))((((long)var_18
&3)?class_info
[((long)var_18
&3)]:var_18
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_18
); /* is_ok on <var_18:IndexedIterator[MClassDef]>*/
8147 var20
= ((val
*(*)(val
* self
))((((long)var_18
&3)?class_info
[((long)var_18
&3)]:var_18
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_18
); /* item on <var_18:IndexedIterator[MClassDef]>*/
8149 var_mclassdef
= var20
;
8151 { /* Inline mmodule#MModule#in_importation (var_mmodule) on <var_mmodule:MModule> */
8152 var23
= var_mmodule
->attrs
[COLOR_nitc__mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mmodule:MModule> */
8153 if (unlikely(var23
== NULL
)) {
8154 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
8155 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 104);
8159 RET_LABEL22
:(void)0;
8163 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
8164 var26
= var_mclassdef
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
8165 if (unlikely(var26
== NULL
)) {
8166 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
8167 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
8171 RET_LABEL25
:(void)0;
8175 var27
= poset___poset__POSetElement____60d_61d(var21
, var24
);
8183 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var_res
, var_mclassdef
); /* Direct call hash_collection#HashSet#add on <var_res:HashSet[MClassDef]>*/
8186 { /* Inline model#MClassDef#supertypes (var_mclassdef) on <var_mclassdef:MClassDef> */
8187 var32
= var_mclassdef
->attrs
[COLOR_nitc__model__MClassDef___supertypes
].val
; /* _supertypes on <var_mclassdef:MClassDef> */
8188 if (unlikely(var32
== NULL
)) {
8189 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
8190 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 650);
8194 RET_LABEL31
:(void)0;
8199 var34
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_33
);
8204 var36
= ((short int(*)(val
* self
))((((long)var_35
&3)?class_info
[((long)var_35
&3)]:var_35
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_35
); /* is_ok on <var_35:IndexedIterator[MClassType]>*/
8211 var38
= ((val
*(*)(val
* self
))((((long)var_35
&3)?class_info
[((long)var_35
&3)]:var_35
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_35
); /* item on <var_35:IndexedIterator[MClassType]>*/
8213 var_supertype
= var38
;
8215 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var_types
, var_supertype
); /* Direct call hash_collection#HashSet#add on <var_types:HashSet[MClassType]>*/
8218 { /* Inline model#MClassType#mclass (var_supertype) on <var_supertype:MClassType> */
8219 var41
= var_supertype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_supertype:MClassType> */
8220 if (unlikely(var41
== NULL
)) {
8221 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8222 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
8226 RET_LABEL40
:(void)0;
8229 var_superclass
= var39
;
8231 var42
= core___core__HashSet___core__abstract_collection__Collection__has(var_seen
, var_superclass
);
8238 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var_seen
, var_superclass
); /* Direct call hash_collection#HashSet#add on <var_seen:HashSet[MClass]>*/
8241 core___core__Array___core__abstract_collection__SimpleCollection__add(var_todo
, var_superclass
); /* Direct call array#Array#add on <var_todo:Array[MClass]>*/
8243 BREAK_label43
: (void)0;
8245 ((void(*)(val
* self
))((((long)var_35
&3)?class_info
[((long)var_35
&3)]:var_35
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_35
); /* next on <var_35:IndexedIterator[MClassType]>*/
8248 BREAK_label37
: (void)0;
8250 ((void(*)(val
* self
))((((long)var_35
&3)?class_info
[((long)var_35
&3)]:var_35
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_35
); /* finish on <var_35:IndexedIterator[MClassType]>*/
8252 BREAK_label29
: (void)0;
8254 ((void(*)(val
* self
))((((long)var_18
&3)?class_info
[((long)var_18
&3)]:var_18
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_18
); /* next on <var_18:IndexedIterator[MClassDef]>*/
8257 BREAK_label
: (void)0;
8259 ((void(*)(val
* self
))((((long)var_18
&3)?class_info
[((long)var_18
&3)]:var_18
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_18
); /* finish on <var_18:IndexedIterator[MClassDef]>*/
8265 BREAK_label44
: (void)0;
8267 { /* Inline model#MClassType#collect_mclassdefs_cache (self) on <self:MClassType> */
8268 var47
= self
->attrs
[COLOR_nitc__model__MClassType___collect_mclassdefs_cache
].val
; /* _collect_mclassdefs_cache on <self:MClassType> */
8269 if (unlikely(var47
== NULL
)) {
8270 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclassdefs_cache");
8271 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1258);
8275 RET_LABEL46
:(void)0;
8279 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var45
, var_mmodule
, var_res
); /* Direct call hash_collection#HashMap#[]= on <var45:HashMap[MModule, Set[MClassDef]]>*/
8282 { /* Inline model#MClassType#collect_mclasses_cache (self) on <self:MClassType> */
8283 var50
= self
->attrs
[COLOR_nitc__model__MClassType___collect_mclasses_cache
].val
; /* _collect_mclasses_cache on <self:MClassType> */
8284 if (unlikely(var50
== NULL
)) {
8285 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclasses_cache");
8286 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1259);
8290 RET_LABEL49
:(void)0;
8294 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var48
, var_mmodule
, var_seen
); /* Direct call hash_collection#HashMap#[]= on <var48:HashMap[MModule, Set[MClass]]>*/
8297 { /* Inline model#MClassType#collect_mtypes_cache (self) on <self:MClassType> */
8298 var53
= self
->attrs
[COLOR_nitc__model__MClassType___collect_mtypes_cache
].val
; /* _collect_mtypes_cache on <self:MClassType> */
8299 if (unlikely(var53
== NULL
)) {
8300 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mtypes_cache");
8301 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1260);
8305 RET_LABEL52
:(void)0;
8309 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var51
, var_mmodule
, var_types
); /* Direct call hash_collection#HashMap#[]= on <var51:HashMap[MModule, Set[MClassType]]>*/
8313 /* method model#MClassType#collect_mclassdefs_cache for (self: MClassType): HashMap[MModule, Set[MClassDef]] */
8314 val
* nitc___nitc__MClassType___collect_mclassdefs_cache(val
* self
) {
8315 val
* var
/* : HashMap[MModule, Set[MClassDef]] */;
8316 val
* var1
/* : HashMap[MModule, Set[MClassDef]] */;
8317 var1
= self
->attrs
[COLOR_nitc__model__MClassType___collect_mclassdefs_cache
].val
; /* _collect_mclassdefs_cache on <self:MClassType> */
8318 if (unlikely(var1
== NULL
)) {
8319 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclassdefs_cache");
8320 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1258);
8327 /* method model#MClassType#collect_mclasses_cache for (self: MClassType): HashMap[MModule, Set[MClass]] */
8328 val
* nitc___nitc__MClassType___collect_mclasses_cache(val
* self
) {
8329 val
* var
/* : HashMap[MModule, Set[MClass]] */;
8330 val
* var1
/* : HashMap[MModule, Set[MClass]] */;
8331 var1
= self
->attrs
[COLOR_nitc__model__MClassType___collect_mclasses_cache
].val
; /* _collect_mclasses_cache on <self:MClassType> */
8332 if (unlikely(var1
== NULL
)) {
8333 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mclasses_cache");
8334 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1259);
8341 /* method model#MClassType#collect_mtypes_cache for (self: MClassType): HashMap[MModule, Set[MClassType]] */
8342 val
* nitc___nitc__MClassType___collect_mtypes_cache(val
* self
) {
8343 val
* var
/* : HashMap[MModule, Set[MClassType]] */;
8344 val
* var1
/* : HashMap[MModule, Set[MClassType]] */;
8345 var1
= self
->attrs
[COLOR_nitc__model__MClassType___collect_mtypes_cache
].val
; /* _collect_mtypes_cache on <self:MClassType> */
8346 if (unlikely(var1
== NULL
)) {
8347 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _collect_mtypes_cache");
8348 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1260);
8355 /* method model#MClassType#init for (self: MClassType) */
8356 void nitc___nitc__MClassType___core__kernel__Object__init(val
* self
) {
8358 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc___nitc__MClassType___core__kernel__Object__init
]))(self
); /* init on <self:MClassType>*/
8362 /* method model#MGenericType#arguments for (self: MGenericType): Array[MType] */
8363 val
* nitc___nitc__MGenericType___MClassType__arguments(val
* self
) {
8364 val
* var
/* : Array[MType] */;
8365 val
* var1
/* : Array[MType] */;
8366 var1
= self
->attrs
[COLOR_nitc__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
8367 if (unlikely(var1
== NULL
)) {
8368 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
8369 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1269);
8376 /* method model#MGenericType#arguments= for (self: MGenericType, Array[MType]) */
8377 void nitc___nitc__MGenericType___MClassType__arguments_61d(val
* self
, val
* p0
) {
8378 self
->attrs
[COLOR_nitc__model__MGenericType___arguments
].val
= p0
; /* _arguments on <self:MGenericType> */
8381 /* method model#MGenericType#init for (self: MGenericType) */
8382 void nitc___nitc__MGenericType___core__kernel__Object__init(val
* self
) {
8383 val
* var
/* : MClass */;
8384 val
* var2
/* : MClass */;
8385 long var3
/* : Int */;
8386 long var5
/* : Int */;
8387 val
* var6
/* : Array[MType] */;
8388 val
* var8
/* : Array[MType] */;
8389 long var9
/* : Int */;
8390 long var11
/* : Int */;
8391 short int var12
/* : Bool */;
8392 short int var14
/* : Bool */;
8393 val
* var16
/* : Array[MType] */;
8394 val
* var18
/* : Array[MType] */;
8395 val
* var_
/* var : Array[MType] */;
8396 val
* var19
/* : IndexedIterator[nullable Object] */;
8397 val
* var_20
/* var : IndexedIterator[MType] */;
8398 short int var21
/* : Bool */;
8399 val
* var22
/* : nullable Object */;
8400 val
* var_t
/* var t: MType */;
8401 short int var23
/* : Bool */;
8402 val
* var25
/* : NativeArray[String] */;
8403 static val
* varonce
;
8404 static val
* varonce26
;
8405 val
* var27
/* : String */;
8406 char* var28
/* : NativeString */;
8407 val
* var29
/* : String */;
8408 static val
* varonce30
;
8409 val
* var31
/* : String */;
8410 char* var32
/* : NativeString */;
8411 val
* var33
/* : String */;
8412 val
* var34
/* : MClass */;
8413 val
* var36
/* : MClass */;
8414 val
* var37
/* : String */;
8415 val
* var38
/* : Array[MType] */;
8416 val
* var40
/* : Array[MType] */;
8417 static val
* varonce41
;
8418 val
* var42
/* : String */;
8419 char* var43
/* : NativeString */;
8420 val
* var44
/* : String */;
8421 val
* var45
/* : String */;
8422 val
* var46
/* : String */;
8424 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc___nitc__MGenericType___core__kernel__Object__init
]))(self
); /* init on <self:MGenericType>*/
8427 { /* Inline model#MClassType#mclass (self) on <self:MGenericType> */
8428 var2
= self
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <self:MGenericType> */
8429 if (unlikely(var2
== NULL
)) {
8430 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8431 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
8439 { /* Inline model#MClass#arity (var) on <var:MClass> */
8440 var5
= var
->attrs
[COLOR_nitc__model__MClass___arity
].l
; /* _arity on <var:MClass> */
8446 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
8447 var8
= self
->attrs
[COLOR_nitc__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
8448 if (unlikely(var8
== NULL
)) {
8449 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
8450 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1269);
8458 { /* Inline array#AbstractArrayRead#length (var6) on <var6:Array[MType]> */
8459 var11
= var6
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var6:Array[MType]> */
8461 RET_LABEL10
:(void)0;
8465 { /* Inline kernel#Int#== (var3,var9) on <var3:Int> */
8466 var14
= var3
== var9
;
8469 RET_LABEL13
:(void)0;
8472 if (unlikely(!var12
)) {
8473 PRINT_ERROR("Runtime error: %s", "Assert failed");
8474 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1275);
8478 { /* Inline model#MGenericType#need_anchor= (self,0) on <self:MGenericType> */
8479 self
->attrs
[COLOR_nitc__model__MGenericType___need_anchor
].s
= 0; /* _need_anchor on <self:MGenericType> */
8480 RET_LABEL15
:(void)0;
8484 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
8485 var18
= self
->attrs
[COLOR_nitc__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
8486 if (unlikely(var18
== NULL
)) {
8487 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
8488 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1269);
8492 RET_LABEL17
:(void)0;
8497 var19
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
8502 var21
= ((short int(*)(val
* self
))((((long)var_20
&3)?class_info
[((long)var_20
&3)]:var_20
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_20
); /* is_ok on <var_20:IndexedIterator[MType]>*/
8509 var22
= ((val
*(*)(val
* self
))((((long)var_20
&3)?class_info
[((long)var_20
&3)]:var_20
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_20
); /* item on <var_20:IndexedIterator[MType]>*/
8513 var23
= ((short int(*)(val
* self
))(var_t
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(var_t
); /* need_anchor on <var_t:MType>*/
8517 { /* Inline model#MGenericType#need_anchor= (self,1) on <self:MGenericType> */
8518 self
->attrs
[COLOR_nitc__model__MGenericType___need_anchor
].s
= 1; /* _need_anchor on <self:MGenericType> */
8519 RET_LABEL24
:(void)0;
8526 ((void(*)(val
* self
))((((long)var_20
&3)?class_info
[((long)var_20
&3)]:var_20
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_20
); /* next on <var_20:IndexedIterator[MType]>*/
8529 BREAK_label
: (void)0;
8531 ((void(*)(val
* self
))((((long)var_20
&3)?class_info
[((long)var_20
&3)]:var_20
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_20
); /* finish on <var_20:IndexedIterator[MType]>*/
8533 if (unlikely(varonce
==NULL
)) {
8534 var25
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
8535 if (likely(varonce26
!=NULL
)) {
8539 var29
= core__flat___NativeString___to_s_full(var28
, 1l, 1l);
8543 ((struct instance_core__NativeArray
*)var25
)->values
[1]=var27
;
8544 if (likely(varonce30
!=NULL
)) {
8548 var33
= core__flat___NativeString___to_s_full(var32
, 1l, 1l);
8552 ((struct instance_core__NativeArray
*)var25
)->values
[3]=var31
;
8558 { /* Inline model#MClassType#mclass (self) on <self:MGenericType> */
8559 var36
= self
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <self:MGenericType> */
8560 if (unlikely(var36
== NULL
)) {
8561 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8562 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
8566 RET_LABEL35
:(void)0;
8570 var37
= ((val
*(*)(val
* self
))(var34
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var34
); /* to_s on <var34:MClass>*/
8572 ((struct instance_core__NativeArray
*)var25
)->values
[0]=var37
;
8574 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
8575 var40
= self
->attrs
[COLOR_nitc__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
8576 if (unlikely(var40
== NULL
)) {
8577 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
8578 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1269);
8582 RET_LABEL39
:(void)0;
8585 if (likely(varonce41
!=NULL
)) {
8589 var44
= core__flat___NativeString___to_s_full(var43
, 2l, 2l);
8594 var45
= core__abstract_text___Collection___join(var38
, var42
);
8596 ((struct instance_core__NativeArray
*)var25
)->values
[2]=var45
;
8598 var46
= ((val
*(*)(val
* self
))(var25
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var25
); /* native_to_s on <var25:NativeArray[String]>*/
8602 { /* Inline model#MGenericType#to_s= (self,var46) on <self:MGenericType> */
8603 self
->attrs
[COLOR_nitc__model__MGenericType___to_s
].val
= var46
; /* _to_s on <self:MGenericType> */
8604 RET_LABEL47
:(void)0;
8609 /* method model#MGenericType#to_s for (self: MGenericType): String */
8610 val
* nitc___nitc__MGenericType___core__abstract_text__Object__to_s(val
* self
) {
8611 val
* var
/* : String */;
8612 val
* var1
/* : String */;
8613 var1
= self
->attrs
[COLOR_nitc__model__MGenericType___to_s
].val
; /* _to_s on <self:MGenericType> */
8614 if (unlikely(var1
== NULL
)) {
8615 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s");
8616 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1288);
8623 /* method model#MGenericType#to_s= for (self: MGenericType, String) */
8624 void nitc___nitc__MGenericType___to_s_61d(val
* self
, val
* p0
) {
8625 self
->attrs
[COLOR_nitc__model__MGenericType___to_s
].val
= p0
; /* _to_s on <self:MGenericType> */
8628 /* method model#MGenericType#full_name for (self: MGenericType): String */
8629 val
* nitc___nitc__MGenericType___nitc__model_base__MEntity__full_name(val
* self
) {
8630 val
* var
/* : String */;
8631 short int var1
/* : Bool */;
8632 val
* var2
/* : String */;
8633 val
* var3
/* : String */;
8634 val
* var5
/* : Array[String] */;
8635 val
* var_args
/* var args: Array[String] */;
8636 val
* var6
/* : Array[MType] */;
8637 val
* var8
/* : Array[MType] */;
8638 val
* var_
/* var : Array[MType] */;
8639 val
* var9
/* : IndexedIterator[nullable Object] */;
8640 val
* var_10
/* var : IndexedIterator[MType] */;
8641 short int var11
/* : Bool */;
8642 val
* var12
/* : nullable Object */;
8643 val
* var_t
/* var t: MType */;
8644 val
* var13
/* : String */;
8645 val
* var14
/* : NativeArray[String] */;
8646 static val
* varonce
;
8647 static val
* varonce15
;
8648 val
* var16
/* : String */;
8649 char* var17
/* : NativeString */;
8650 val
* var18
/* : String */;
8651 static val
* varonce19
;
8652 val
* var20
/* : String */;
8653 char* var21
/* : NativeString */;
8654 val
* var22
/* : String */;
8655 val
* var23
/* : MClass */;
8656 val
* var25
/* : MClass */;
8657 val
* var26
/* : String */;
8658 static val
* varonce27
;
8659 val
* var28
/* : String */;
8660 char* var29
/* : NativeString */;
8661 val
* var30
/* : String */;
8662 val
* var31
/* : String */;
8663 val
* var32
/* : String */;
8664 var1
= self
->attrs
[COLOR_nitc__model__MGenericType___full_name
].val
!= NULL
; /* _full_name on <self:MGenericType> */
8666 var2
= self
->attrs
[COLOR_nitc__model__MGenericType___full_name
].val
; /* _full_name on <self:MGenericType> */
8667 if (unlikely(var2
== NULL
)) {
8668 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _full_name");
8669 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1292);
8674 var5
= NEW_core__Array(&type_core__Array__core__String
);
8676 core___core__Array___core__kernel__Object__init(var5
); /* Direct call array#Array#init on <var5:Array[String]>*/
8680 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
8681 var8
= self
->attrs
[COLOR_nitc__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
8682 if (unlikely(var8
== NULL
)) {
8683 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
8684 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1269);
8693 var9
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
8698 var11
= ((short int(*)(val
* self
))((((long)var_10
&3)?class_info
[((long)var_10
&3)]:var_10
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_10
); /* is_ok on <var_10:IndexedIterator[MType]>*/
8705 var12
= ((val
*(*)(val
* self
))((((long)var_10
&3)?class_info
[((long)var_10
&3)]:var_10
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_10
); /* item on <var_10:IndexedIterator[MType]>*/
8709 var13
= ((val
*(*)(val
* self
))(var_t
->class->vft
[COLOR_nitc__model_base__MEntity__full_name
]))(var_t
); /* full_name on <var_t:MType>*/
8712 core___core__Array___core__abstract_collection__SimpleCollection__add(var_args
, var13
); /* Direct call array#Array#add on <var_args:Array[String]>*/
8715 ((void(*)(val
* self
))((((long)var_10
&3)?class_info
[((long)var_10
&3)]:var_10
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_10
); /* next on <var_10:IndexedIterator[MType]>*/
8718 BREAK_label
: (void)0;
8720 ((void(*)(val
* self
))((((long)var_10
&3)?class_info
[((long)var_10
&3)]:var_10
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_10
); /* finish on <var_10:IndexedIterator[MType]>*/
8722 if (unlikely(varonce
==NULL
)) {
8723 var14
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
8724 if (likely(varonce15
!=NULL
)) {
8728 var18
= core__flat___NativeString___to_s_full(var17
, 1l, 1l);
8732 ((struct instance_core__NativeArray
*)var14
)->values
[1]=var16
;
8733 if (likely(varonce19
!=NULL
)) {
8737 var22
= core__flat___NativeString___to_s_full(var21
, 1l, 1l);
8741 ((struct instance_core__NativeArray
*)var14
)->values
[3]=var20
;
8747 { /* Inline model#MClassType#mclass (self) on <self:MGenericType> */
8748 var25
= self
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <self:MGenericType> */
8749 if (unlikely(var25
== NULL
)) {
8750 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8751 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
8755 RET_LABEL24
:(void)0;
8759 var26
= nitc___nitc__MClass___nitc__model_base__MEntity__full_name(var23
);
8761 ((struct instance_core__NativeArray
*)var14
)->values
[0]=var26
;
8762 if (likely(varonce27
!=NULL
)) {
8766 var30
= core__flat___NativeString___to_s_full(var29
, 2l, 2l);
8771 var31
= core__abstract_text___Collection___join(var_args
, var28
);
8773 ((struct instance_core__NativeArray
*)var14
)->values
[2]=var31
;
8775 var32
= ((val
*(*)(val
* self
))(var14
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var14
); /* native_to_s on <var14:NativeArray[String]>*/
8782 self
->attrs
[COLOR_nitc__model__MGenericType___full_name
].val
= var3
; /* _full_name on <self:MGenericType> */
8789 /* method model#MGenericType#c_name for (self: MGenericType): String */
8790 val
* nitc___nitc__MGenericType___nitc__model_base__MEntity__c_name(val
* self
) {
8791 val
* var
/* : String */;
8792 short int var1
/* : Bool */;
8793 val
* var2
/* : String */;
8794 val
* var3
/* : String */;
8795 val
* var5
/* : MClass */;
8796 val
* var7
/* : MClass */;
8797 val
* var8
/* : String */;
8798 val
* var_res
/* var res: String */;
8799 val
* var9
/* : Array[MType] */;
8800 val
* var11
/* : Array[MType] */;
8801 val
* var_
/* var : Array[MType] */;
8802 val
* var12
/* : IndexedIterator[nullable Object] */;
8803 val
* var_13
/* var : IndexedIterator[MType] */;
8804 short int var14
/* : Bool */;
8805 val
* var15
/* : nullable Object */;
8806 val
* var_t
/* var t: MType */;
8807 static val
* varonce
;
8808 val
* var16
/* : String */;
8809 char* var17
/* : NativeString */;
8810 val
* var18
/* : String */;
8811 val
* var19
/* : String */;
8812 val
* var20
/* : String */;
8813 val
* var21
/* : String */;
8814 val
* var22
/* : String */;
8815 var1
= self
->attrs
[COLOR_nitc__model__MGenericType___c_name
].val
!= NULL
; /* _c_name on <self:MGenericType> */
8817 var2
= self
->attrs
[COLOR_nitc__model__MGenericType___c_name
].val
; /* _c_name on <self:MGenericType> */
8818 if (unlikely(var2
== NULL
)) {
8819 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _c_name");
8820 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1302);
8826 { /* Inline model#MClassType#mclass (self) on <self:MGenericType> */
8827 var7
= self
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <self:MGenericType> */
8828 if (unlikely(var7
== NULL
)) {
8829 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8830 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
8838 var8
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var5
);
8842 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
8843 var11
= self
->attrs
[COLOR_nitc__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
8844 if (unlikely(var11
== NULL
)) {
8845 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
8846 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1269);
8850 RET_LABEL10
:(void)0;
8855 var12
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
8860 var14
= ((short int(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_13
); /* is_ok on <var_13:IndexedIterator[MType]>*/
8867 var15
= ((val
*(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_13
); /* item on <var_13:IndexedIterator[MType]>*/
8870 if (likely(varonce
!=NULL
)) {
8874 var18
= core__flat___NativeString___to_s_full(var17
, 2l, 2l);
8879 var19
= ((val
*(*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_core__abstract_text__String___43d
]))(var_res
, var16
); /* + on <var_res:String>*/
8883 var20
= ((val
*(*)(val
* self
))(var_t
->class->vft
[COLOR_nitc__model_base__MEntity__c_name
]))(var_t
); /* c_name on <var_t:MType>*/
8886 var21
= ((val
*(*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_core__abstract_text__String___43d
]))(var_res
, var20
); /* + on <var_res:String>*/
8890 ((void(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_13
); /* next on <var_13:IndexedIterator[MType]>*/
8893 BREAK_label
: (void)0;
8895 ((void(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_13
); /* finish on <var_13:IndexedIterator[MType]>*/
8898 var22
= core___core__String___Object__to_s(var_res
);
8904 self
->attrs
[COLOR_nitc__model__MGenericType___c_name
].val
= var3
; /* _c_name on <self:MGenericType> */
8911 /* method model#MGenericType#need_anchor for (self: MGenericType): Bool */
8912 short int nitc___nitc__MGenericType___MType__need_anchor(val
* self
) {
8913 short int var
/* : Bool */;
8914 short int var1
/* : Bool */;
8915 var1
= self
->attrs
[COLOR_nitc__model__MGenericType___need_anchor
].s
; /* _need_anchor on <self:MGenericType> */
8920 /* method model#MGenericType#need_anchor= for (self: MGenericType, Bool) */
8921 void nitc___nitc__MGenericType___need_anchor_61d(val
* self
, short int p0
) {
8922 self
->attrs
[COLOR_nitc__model__MGenericType___need_anchor
].s
= p0
; /* _need_anchor on <self:MGenericType> */
8925 /* method model#MGenericType#resolve_for for (self: MGenericType, MType, nullable MClassType, MModule, Bool): MType */
8926 val
* nitc___nitc__MGenericType___MType__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
8927 val
* var
/* : MType */;
8928 val
* var_mtype
/* var mtype: MType */;
8929 val
* var_anchor
/* var anchor: nullable MClassType */;
8930 val
* var_mmodule
/* var mmodule: MModule */;
8931 short int var_cleanup_virtual
/* var cleanup_virtual: Bool */;
8932 short int var1
/* : Bool */;
8933 short int var3
/* : Bool */;
8934 short int var4
/* : Bool */;
8935 short int var5
/* : Bool */;
8936 val
* var6
/* : Array[MType] */;
8937 val
* var_types
/* var types: Array[MType] */;
8938 val
* var7
/* : Array[MType] */;
8939 val
* var9
/* : Array[MType] */;
8940 val
* var_
/* var : Array[MType] */;
8941 val
* var10
/* : IndexedIterator[nullable Object] */;
8942 val
* var_11
/* var : IndexedIterator[MType] */;
8943 short int var12
/* : Bool */;
8944 val
* var13
/* : nullable Object */;
8945 val
* var_t
/* var t: MType */;
8946 val
* var14
/* : MType */;
8947 val
* var15
/* : MClass */;
8948 val
* var17
/* : MClass */;
8949 val
* var18
/* : MClassType */;
8953 var_cleanup_virtual
= p3
;
8955 { /* Inline model#MGenericType#need_anchor (self) on <self:MGenericType> */
8956 var3
= self
->attrs
[COLOR_nitc__model__MGenericType___need_anchor
].s
; /* _need_anchor on <self:MGenericType> */
8968 var5
= nitc___nitc__MGenericType___MType__can_resolve_for(self
, var_mtype
, var_anchor
, var_mmodule
);
8970 if (unlikely(!var5
)) {
8971 PRINT_ERROR("Runtime error: %s", "Assert failed");
8972 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1317);
8975 var6
= NEW_core__Array(&type_core__Array__nitc__MType
);
8977 core___core__Array___core__kernel__Object__init(var6
); /* Direct call array#Array#init on <var6:Array[MType]>*/
8981 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
8982 var9
= self
->attrs
[COLOR_nitc__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
8983 if (unlikely(var9
== NULL
)) {
8984 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
8985 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1269);
8994 var10
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
8999 var12
= ((short int(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_11
); /* is_ok on <var_11:IndexedIterator[MType]>*/
9006 var13
= ((val
*(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_11
); /* item on <var_11:IndexedIterator[MType]>*/
9010 var14
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(var_t
->class->vft
[COLOR_nitc__model__MType__resolve_for
]))(var_t
, var_mtype
, var_anchor
, var_mmodule
, var_cleanup_virtual
); /* resolve_for on <var_t:MType>*/
9013 core___core__Array___core__abstract_collection__SimpleCollection__add(var_types
, var14
); /* Direct call array#Array#add on <var_types:Array[MType]>*/
9016 ((void(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_11
); /* next on <var_11:IndexedIterator[MType]>*/
9019 BREAK_label
: (void)0;
9021 ((void(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_11
); /* finish on <var_11:IndexedIterator[MType]>*/
9024 { /* Inline model#MClassType#mclass (self) on <self:MGenericType> */
9025 var17
= self
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <self:MGenericType> */
9026 if (unlikely(var17
== NULL
)) {
9027 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9028 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
9032 RET_LABEL16
:(void)0;
9036 var18
= nitc___nitc__MClass___get_mtype(var15
, var_types
);
9043 /* method model#MGenericType#can_resolve_for for (self: MGenericType, MType, nullable MClassType, MModule): Bool */
9044 short int nitc___nitc__MGenericType___MType__can_resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9045 short int var
/* : Bool */;
9046 val
* var_mtype
/* var mtype: MType */;
9047 val
* var_anchor
/* var anchor: nullable MClassType */;
9048 val
* var_mmodule
/* var mmodule: MModule */;
9049 short int var1
/* : Bool */;
9050 short int var3
/* : Bool */;
9051 short int var4
/* : Bool */;
9052 val
* var5
/* : Array[MType] */;
9053 val
* var7
/* : Array[MType] */;
9054 val
* var_
/* var : Array[MType] */;
9055 val
* var8
/* : IndexedIterator[nullable Object] */;
9056 val
* var_9
/* var : IndexedIterator[MType] */;
9057 short int var10
/* : Bool */;
9058 val
* var11
/* : nullable Object */;
9059 val
* var_t
/* var t: MType */;
9060 short int var12
/* : Bool */;
9061 short int var13
/* : Bool */;
9066 { /* Inline model#MGenericType#need_anchor (self) on <self:MGenericType> */
9067 var3
= self
->attrs
[COLOR_nitc__model__MGenericType___need_anchor
].s
; /* _need_anchor on <self:MGenericType> */
9079 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
9080 var7
= self
->attrs
[COLOR_nitc__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
9081 if (unlikely(var7
== NULL
)) {
9082 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
9083 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1269);
9092 var8
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
9097 var10
= ((short int(*)(val
* self
))((((long)var_9
&3)?class_info
[((long)var_9
&3)]:var_9
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_9
); /* is_ok on <var_9:IndexedIterator[MType]>*/
9104 var11
= ((val
*(*)(val
* self
))((((long)var_9
&3)?class_info
[((long)var_9
&3)]:var_9
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_9
); /* item on <var_9:IndexedIterator[MType]>*/
9108 var12
= ((short int(*)(val
* self
, val
* p0
, val
* p1
, val
* p2
))(var_t
->class->vft
[COLOR_nitc__model__MType__can_resolve_for
]))(var_t
, var_mtype
, var_anchor
, var_mmodule
); /* can_resolve_for on <var_t:MType>*/
9117 ((void(*)(val
* self
))((((long)var_9
&3)?class_info
[((long)var_9
&3)]:var_9
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_9
); /* next on <var_9:IndexedIterator[MType]>*/
9120 BREAK_label
: (void)0;
9122 ((void(*)(val
* self
))((((long)var_9
&3)?class_info
[((long)var_9
&3)]:var_9
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_9
); /* finish on <var_9:IndexedIterator[MType]>*/
9129 /* method model#MGenericType#length for (self: MGenericType): Int */
9130 long nitc___nitc__MGenericType___MType__length(val
* self
) {
9131 long var
/* : Int */;
9132 long var_res
/* var res: Int */;
9133 val
* var1
/* : Array[MType] */;
9134 val
* var3
/* : Array[MType] */;
9135 val
* var_
/* var : Array[MType] */;
9136 val
* var4
/* : IndexedIterator[nullable Object] */;
9137 val
* var_5
/* var : IndexedIterator[MType] */;
9138 short int var6
/* : Bool */;
9139 val
* var7
/* : nullable Object */;
9140 val
* var_a
/* var a: MType */;
9141 long var8
/* : Int */;
9142 long var9
/* : Int */;
9143 short int var11
/* : Bool */;
9146 const char* var_class_name
;
9147 long var12
/* : Int */;
9150 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
9151 var3
= self
->attrs
[COLOR_nitc__model__MGenericType___arguments
].val
; /* _arguments on <self:MGenericType> */
9152 if (unlikely(var3
== NULL
)) {
9153 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
9154 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1269);
9163 var4
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
9168 var6
= ((short int(*)(val
* self
))((((long)var_5
&3)?class_info
[((long)var_5
&3)]:var_5
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_5
); /* is_ok on <var_5:IndexedIterator[MType]>*/
9175 var7
= ((val
*(*)(val
* self
))((((long)var_5
&3)?class_info
[((long)var_5
&3)]:var_5
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_5
); /* item on <var_5:IndexedIterator[MType]>*/
9179 var8
= ((long(*)(val
* self
))(var_a
->class->vft
[COLOR_nitc__model__MType__length
]))(var_a
); /* length on <var_a:MType>*/
9182 { /* Inline kernel#Int#+ (var_res,var8) on <var_res:Int> */
9183 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
9184 /* <var8:Int> isa OTHER */
9185 var11
= 1; /* easy <var8:Int> isa OTHER*/
9186 if (unlikely(!var11
)) {
9187 var_class_name
= type_core__Int
.name
;
9188 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
9189 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
9192 var12
= var_res
+ var8
;
9195 RET_LABEL10
:(void)0;
9200 ((void(*)(val
* self
))((((long)var_5
&3)?class_info
[((long)var_5
&3)]:var_5
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_5
); /* next on <var_5:IndexedIterator[MType]>*/
9203 BREAK_label
: (void)0;
9205 ((void(*)(val
* self
))((((long)var_5
&3)?class_info
[((long)var_5
&3)]:var_5
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_5
); /* finish on <var_5:IndexedIterator[MType]>*/
9212 /* method model#MFormalType#as_notnull for (self: MFormalType): MType */
9213 val
* nitc___nitc__MFormalType___MType__as_notnull(val
* self
) {
9214 val
* var
/* : MType */;
9215 short int var1
/* : Bool */;
9216 val
* var2
/* : MType */;
9217 val
* var3
/* : MNotNullType */;
9218 var1
= self
->attrs
[COLOR_nitc__model__MFormalType___as_notnull
].val
!= NULL
; /* _as_notnull on <self:MFormalType> */
9220 var2
= self
->attrs
[COLOR_nitc__model__MFormalType___as_notnull
].val
; /* _as_notnull on <self:MFormalType> */
9221 if (unlikely(var2
== NULL
)) {
9222 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _as_notnull");
9223 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1362);
9227 var3
= NEW_nitc__MNotNullType(&type_nitc__MNotNullType
);
9229 ((void(*)(val
* self
, val
* p0
))(var3
->class->vft
[COLOR_nitc__model__MProxyType__mtype_61d
]))(var3
, self
); /* mtype= on <var3:MNotNullType>*/
9232 ((void(*)(val
* self
))(var3
->class->vft
[COLOR_core__kernel__Object__init
]))(var3
); /* init on <var3:MNotNullType>*/
9234 self
->attrs
[COLOR_nitc__model__MFormalType___as_notnull
].val
= var3
; /* _as_notnull on <self:MFormalType> */
9241 /* method model#MVirtualType#mproperty for (self: MVirtualType): MVirtualTypeProp */
9242 val
* nitc___nitc__MVirtualType___mproperty(val
* self
) {
9243 val
* var
/* : MVirtualTypeProp */;
9244 val
* var1
/* : MVirtualTypeProp */;
9245 var1
= self
->attrs
[COLOR_nitc__model__MVirtualType___mproperty
].val
; /* _mproperty on <self:MVirtualType> */
9246 if (unlikely(var1
== NULL
)) {
9247 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
9248 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1369);
9255 /* method model#MVirtualType#mproperty= for (self: MVirtualType, MVirtualTypeProp) */
9256 void nitc___nitc__MVirtualType___mproperty_61d(val
* self
, val
* p0
) {
9257 self
->attrs
[COLOR_nitc__model__MVirtualType___mproperty
].val
= p0
; /* _mproperty on <self:MVirtualType> */
9260 /* method model#MVirtualType#model for (self: MVirtualType): Model */
9261 val
* nitc___nitc__MVirtualType___nitc__model_base__MEntity__model(val
* self
) {
9262 val
* var
/* : Model */;
9263 val
* var1
/* : MVirtualTypeProp */;
9264 val
* var3
/* : MVirtualTypeProp */;
9265 val
* var4
/* : MClassDef */;
9266 val
* var6
/* : MClassDef */;
9267 val
* var7
/* : MModule */;
9268 val
* var9
/* : MModule */;
9269 val
* var10
/* : Model */;
9270 val
* var12
/* : Model */;
9272 { /* Inline model#MVirtualType#mproperty (self) on <self:MVirtualType> */
9273 var3
= self
->attrs
[COLOR_nitc__model__MVirtualType___mproperty
].val
; /* _mproperty on <self:MVirtualType> */
9274 if (unlikely(var3
== NULL
)) {
9275 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
9276 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1369);
9284 { /* Inline model#MProperty#intro_mclassdef (var1) on <var1:MVirtualTypeProp> */
9285 var6
= var1
->attrs
[COLOR_nitc__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var1:MVirtualTypeProp> */
9286 if (unlikely(var6
== NULL
)) {
9287 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
9288 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1946);
9296 { /* Inline model#MClassDef#mmodule (var4) on <var4:MClassDef> */
9297 var9
= var4
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <var4:MClassDef> */
9298 if (unlikely(var9
== NULL
)) {
9299 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
9300 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
9308 { /* Inline mmodule#MModule#model (var7) on <var7:MModule> */
9309 var12
= var7
->attrs
[COLOR_nitc__mmodule__MModule___model
].val
; /* _model on <var7:MModule> */
9310 if (unlikely(var12
== NULL
)) {
9311 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
9312 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 78);
9316 RET_LABEL11
:(void)0;
9324 /* method model#MVirtualType#lookup_bound for (self: MVirtualType, MModule, MType): MType */
9325 val
* nitc___nitc__MVirtualType___MType__lookup_bound(val
* self
, val
* p0
, val
* p1
) {
9326 val
* var
/* : MType */;
9327 val
* var_mmodule
/* var mmodule: MModule */;
9328 val
* var_resolved_receiver
/* var resolved_receiver: MType */;
9329 val
* var1
/* : MType */;
9330 val
* var2
/* : MVirtualTypeDef */;
9331 val
* var3
/* : nullable MType */;
9332 val
* var5
/* : nullable MType */;
9333 val
* var6
/* : MBottomType */;
9334 val
* var7
/* : Model */;
9336 var_resolved_receiver
= p1
;
9338 var2
= nitc___nitc__MVirtualType___lookup_single_definition(self
, var_mmodule
, var_resolved_receiver
);
9341 { /* Inline model#MVirtualTypeDef#bound (var2) on <var2:MVirtualTypeDef> */
9342 var5
= var2
->attrs
[COLOR_nitc__model__MVirtualTypeDef___bound
].val
; /* _bound on <var2:MVirtualTypeDef> */
9350 var6
= NEW_nitc__MBottomType(&type_nitc__MBottomType
);
9352 var7
= nitc___nitc__MVirtualType___nitc__model_base__MEntity__model(self
);
9355 ((void(*)(val
* self
, val
* p0
))(var6
->class->vft
[COLOR_nitc__model__MBottomType__model_61d
]))(var6
, var7
); /* model= on <var6:MBottomType>*/
9358 ((void(*)(val
* self
))(var6
->class->vft
[COLOR_core__kernel__Object__init
]))(var6
); /* init on <var6:MBottomType>*/
9367 /* method model#MVirtualType#lookup_single_definition for (self: MVirtualType, MModule, MType): MVirtualTypeDef */
9368 val
* nitc___nitc__MVirtualType___lookup_single_definition(val
* self
, val
* p0
, val
* p1
) {
9369 val
* var
/* : MVirtualTypeDef */;
9370 val
* var_mmodule
/* var mmodule: MModule */;
9371 val
* var_resolved_receiver
/* var resolved_receiver: MType */;
9372 short int var1
/* : Bool */;
9373 short int var2
/* : Bool */;
9374 val
* var3
/* : MVirtualTypeProp */;
9375 val
* var5
/* : MVirtualTypeProp */;
9376 val
* var6
/* : Array[MPropDef] */;
9377 val
* var_props
/* var props: Array[MVirtualTypeDef] */;
9378 short int var7
/* : Bool */;
9379 long var8
/* : Int */;
9380 long var10
/* : Int */;
9381 short int var11
/* : Bool */;
9382 short int var13
/* : Bool */;
9383 val
* var14
/* : nullable Object */;
9384 val
* var15
/* : ArraySet[MType] */;
9385 val
* var_types
/* var types: ArraySet[MType] */;
9386 val
* var16
/* : nullable Object */;
9387 val
* var_res
/* var res: MVirtualTypeDef */;
9388 val
* var_
/* var : Array[MVirtualTypeDef] */;
9389 val
* var17
/* : IndexedIterator[nullable Object] */;
9390 val
* var_18
/* var : IndexedIterator[MVirtualTypeDef] */;
9391 short int var19
/* : Bool */;
9392 val
* var20
/* : nullable Object */;
9393 val
* var_p
/* var p: MVirtualTypeDef */;
9394 val
* var21
/* : nullable MType */;
9395 val
* var23
/* : nullable MType */;
9396 short int var24
/* : Bool */;
9397 short int var26
/* : Bool */;
9398 short int var27
/* : Bool */;
9399 long var28
/* : Int */;
9400 short int var29
/* : Bool */;
9401 short int var31
/* : Bool */;
9403 var_resolved_receiver
= p1
;
9405 var1
= ((short int(*)(val
* self
))(var_resolved_receiver
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(var_resolved_receiver
); /* need_anchor on <var_resolved_receiver:MType>*/
9408 if (unlikely(!var2
)) {
9409 PRINT_ERROR("Runtime error: %s", "Assert failed");
9410 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1382);
9414 { /* Inline model#MVirtualType#mproperty (self) on <self:MVirtualType> */
9415 var5
= self
->attrs
[COLOR_nitc__model__MVirtualType___mproperty
].val
; /* _mproperty on <self:MVirtualType> */
9416 if (unlikely(var5
== NULL
)) {
9417 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
9418 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1369);
9426 var6
= nitc___nitc__MProperty___lookup_definitions(var3
, var_mmodule
, var_resolved_receiver
);
9430 var7
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_props
);
9433 PRINT_ERROR("Runtime error: %s", "Aborted");
9434 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1385);
9438 { /* Inline array#AbstractArrayRead#length (var_props) on <var_props:Array[MVirtualTypeDef]> */
9439 var10
= var_props
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_props:Array[MVirtualTypeDef]> */
9445 { /* Inline kernel#Int#== (var8,1l) on <var8:Int> */
9449 RET_LABEL12
:(void)0;
9454 var14
= core___core__SequenceRead___Collection__first(var_props
);
9461 var15
= NEW_core__ArraySet(&type_core__ArraySet__nitc__MType
);
9463 core___core__ArraySet___core__kernel__Object__init(var15
); /* Direct call array#ArraySet#init on <var15:ArraySet[MType]>*/
9467 var16
= core___core__SequenceRead___Collection__first(var_props
);
9472 var17
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
9477 var19
= ((short int(*)(val
* self
))((((long)var_18
&3)?class_info
[((long)var_18
&3)]:var_18
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_18
); /* is_ok on <var_18:IndexedIterator[MVirtualTypeDef]>*/
9484 var20
= ((val
*(*)(val
* self
))((((long)var_18
&3)?class_info
[((long)var_18
&3)]:var_18
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_18
); /* item on <var_18:IndexedIterator[MVirtualTypeDef]>*/
9488 { /* Inline model#MVirtualTypeDef#bound (var_p) on <var_p:MVirtualTypeDef> */
9489 var23
= var_p
->attrs
[COLOR_nitc__model__MVirtualTypeDef___bound
].val
; /* _bound on <var_p:MVirtualTypeDef> */
9491 RET_LABEL22
:(void)0;
9494 if (unlikely(var21
== NULL
)) {
9495 PRINT_ERROR("Runtime error: %s", "Cast failed");
9496 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1392);
9500 core___core__ArraySet___core__abstract_collection__SimpleCollection__add(var_types
, var21
); /* Direct call array#ArraySet#add on <var_types:ArraySet[MType]>*/
9503 { /* Inline model#MVirtualTypeDef#is_fixed (var_res) on <var_res:MVirtualTypeDef> */
9504 var26
= var_res
->attrs
[COLOR_nitc__model__MVirtualTypeDef___is_fixed
].s
; /* _is_fixed on <var_res:MVirtualTypeDef> */
9506 RET_LABEL25
:(void)0;
9515 ((void(*)(val
* self
))((((long)var_18
&3)?class_info
[((long)var_18
&3)]:var_18
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_18
); /* next on <var_18:IndexedIterator[MVirtualTypeDef]>*/
9518 BREAK_label
: (void)0;
9520 ((void(*)(val
* self
))((((long)var_18
&3)?class_info
[((long)var_18
&3)]:var_18
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_18
); /* finish on <var_18:IndexedIterator[MVirtualTypeDef]>*/
9523 var28
= core___core__ArraySet___core__abstract_collection__Collection__length(var_types
);
9526 { /* Inline kernel#Int#== (var28,1l) on <var28:Int> */
9527 var31
= var28
== 1l;
9530 RET_LABEL30
:(void)0;
9538 PRINT_ERROR("Runtime error: %s", "Aborted");
9539 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1398);
9544 /* method model#MVirtualType#lookup_fixed for (self: MVirtualType, MModule, MType): MType */
9545 val
* nitc___nitc__MVirtualType___MType__lookup_fixed(val
* self
, val
* p0
, val
* p1
) {
9546 val
* var
/* : MType */;
9547 val
* var_mmodule
/* var mmodule: MModule */;
9548 val
* var_resolved_receiver
/* var resolved_receiver: MType */;
9549 short int var1
/* : Bool */;
9550 short int var2
/* : Bool */;
9551 val
* var3
/* : MType */;
9552 short int var4
/* : Bool */;
9555 val
* var5
/* : MVirtualTypeDef */;
9556 val
* var_prop
/* var prop: MVirtualTypeDef */;
9557 val
* var6
/* : nullable MType */;
9558 val
* var8
/* : nullable MType */;
9559 val
* var_res
/* var res: nullable MType */;
9560 short int var9
/* : Bool */;
9561 short int var10
/* : Bool */;
9562 val
* var_other
/* var other: nullable Object */;
9563 short int var12
/* : Bool */;
9564 short int var14
/* : Bool */;
9565 val
* var15
/* : MBottomType */;
9566 val
* var16
/* : Model */;
9567 val
* var17
/* : MType */;
9568 short int var18
/* : Bool */;
9569 short int var20
/* : Bool */;
9570 short int var21
/* : Bool */;
9571 short int var22
/* : Bool */;
9574 short int var_
/* var : Bool */;
9575 val
* var25
/* : MClass */;
9576 val
* var27
/* : MClass */;
9577 val
* var28
/* : MClassKind */;
9578 val
* var30
/* : MClassKind */;
9579 val
* var31
/* : Sys */;
9580 val
* var32
/* : MClassKind */;
9581 short int var33
/* : Bool */;
9582 short int var35
/* : Bool */;
9583 short int var37
/* : Bool */;
9584 val
* var38
/* : MClass */;
9585 val
* var40
/* : MClass */;
9586 val
* var41
/* : MClassKind */;
9587 val
* var43
/* : MClassKind */;
9588 val
* var44
/* : Sys */;
9589 val
* var45
/* : MClassKind */;
9590 short int var46
/* : Bool */;
9591 short int var48
/* : Bool */;
9592 short int var50
/* : Bool */;
9594 var_resolved_receiver
= p1
;
9596 var1
= ((short int(*)(val
* self
))(var_resolved_receiver
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(var_resolved_receiver
); /* need_anchor on <var_resolved_receiver:MType>*/
9599 if (unlikely(!var2
)) {
9600 PRINT_ERROR("Runtime error: %s", "Assert failed");
9601 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1407);
9605 var3
= ((val
*(*)(val
* self
))(var_resolved_receiver
->class->vft
[COLOR_nitc__model__MType__undecorate
]))(var_resolved_receiver
); /* undecorate on <var_resolved_receiver:MType>*/
9607 var_resolved_receiver
= var3
;
9608 /* <var_resolved_receiver:MType> isa MClassType */
9609 cltype
= type_nitc__MClassType
.color
;
9610 idtype
= type_nitc__MClassType
.id
;
9611 if(cltype
>= var_resolved_receiver
->type
->table_size
) {
9614 var4
= var_resolved_receiver
->type
->type_table
[cltype
] == idtype
;
9616 if (unlikely(!var4
)) {
9617 PRINT_ERROR("Runtime error: %s", "Assert failed");
9618 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1409);
9622 var5
= nitc___nitc__MVirtualType___lookup_single_definition(self
, var_mmodule
, var_resolved_receiver
);
9626 { /* Inline model#MVirtualTypeDef#bound (var_prop) on <var_prop:MVirtualTypeDef> */
9627 var8
= var_prop
->attrs
[COLOR_nitc__model__MVirtualTypeDef___bound
].val
; /* _bound on <var_prop:MVirtualTypeDef> */
9633 if (var_res
== NULL
) {
9634 var9
= 1; /* is null */
9636 var9
= 0; /* arg is null but recv is not */
9639 { /* Inline kernel#Object#== (var_res,((val*)NULL)) on <var_res:nullable MType> */
9640 var_other
= ((val
*)NULL
);
9642 { /* Inline kernel#Object#is_same_instance (var_res,var_other) on <var_res:nullable MType(MType)> */
9643 var14
= var_res
== var_other
;
9646 RET_LABEL13
:(void)0;
9651 RET_LABEL11
:(void)0;
9656 var15
= NEW_nitc__MBottomType(&type_nitc__MBottomType
);
9658 var16
= nitc___nitc__MVirtualType___nitc__model_base__MEntity__model(self
);
9661 ((void(*)(val
* self
, val
* p0
))(var15
->class->vft
[COLOR_nitc__model__MBottomType__model_61d
]))(var15
, var16
); /* model= on <var15:MBottomType>*/
9664 ((void(*)(val
* self
))(var15
->class->vft
[COLOR_core__kernel__Object__init
]))(var15
); /* init on <var15:MBottomType>*/
9671 var17
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_res
->class->vft
[COLOR_nitc__model__MType__lookup_fixed
]))(var_res
, var_mmodule
, var_resolved_receiver
); /* lookup_fixed on <var_res:nullable MType(MType)>*/
9675 { /* Inline model#MVirtualTypeDef#is_fixed (var_prop) on <var_prop:MVirtualTypeDef> */
9676 var20
= var_prop
->attrs
[COLOR_nitc__model__MVirtualTypeDef___is_fixed
].s
; /* _is_fixed on <var_prop:MVirtualTypeDef> */
9678 RET_LABEL19
:(void)0;
9686 /* <var_res:nullable MType(MType)> isa MClassType */
9687 cltype23
= type_nitc__MClassType
.color
;
9688 idtype24
= type_nitc__MClassType
.id
;
9689 if(cltype23
>= var_res
->type
->table_size
) {
9692 var22
= var_res
->type
->type_table
[cltype23
] == idtype24
;
9697 { /* Inline model#MClassType#mclass (var_res) on <var_res:nullable MType(MClassType)> */
9698 var27
= var_res
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_res:nullable MType(MClassType)> */
9699 if (unlikely(var27
== NULL
)) {
9700 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9701 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
9705 RET_LABEL26
:(void)0;
9709 { /* Inline model#MClass#kind (var25) on <var25:MClass> */
9710 var30
= var25
->attrs
[COLOR_nitc__model__MClass___kind
].val
; /* _kind on <var25:MClass> */
9711 if (unlikely(var30
== NULL
)) {
9712 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
9713 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 459);
9717 RET_LABEL29
:(void)0;
9722 var32
= nitc__model___core__Sys___enum_kind(var31
);
9725 { /* Inline kernel#Object#== (var28,var32) on <var28:MClassKind> */
9728 { /* Inline kernel#Object#is_same_instance (var28,var_other) on <var28:MClassKind> */
9729 var37
= var28
== var_other
;
9732 RET_LABEL36
:(void)0;
9737 RET_LABEL34
:(void)0;
9750 { /* Inline model#MClassType#mclass (var_resolved_receiver) on <var_resolved_receiver:MType(MClassType)> */
9751 var40
= var_resolved_receiver
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_resolved_receiver:MType(MClassType)> */
9752 if (unlikely(var40
== NULL
)) {
9753 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9754 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
9758 RET_LABEL39
:(void)0;
9762 { /* Inline model#MClass#kind (var38) on <var38:MClass> */
9763 var43
= var38
->attrs
[COLOR_nitc__model__MClass___kind
].val
; /* _kind on <var38:MClass> */
9764 if (unlikely(var43
== NULL
)) {
9765 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
9766 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 459);
9770 RET_LABEL42
:(void)0;
9775 var45
= nitc__model___core__Sys___enum_kind(var44
);
9778 { /* Inline kernel#Object#== (var41,var45) on <var41:MClassKind> */
9781 { /* Inline kernel#Object#is_same_instance (var41,var_other) on <var41:MClassKind> */
9782 var50
= var41
== var_other
;
9785 RET_LABEL49
:(void)0;
9790 RET_LABEL47
:(void)0;
9803 /* method model#MVirtualType#resolve_for for (self: MVirtualType, MType, nullable MClassType, MModule, Bool): MType */
9804 val
* nitc___nitc__MVirtualType___MType__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
9805 val
* var
/* : MType */;
9806 val
* var_mtype
/* var mtype: MType */;
9807 val
* var_anchor
/* var anchor: nullable MClassType */;
9808 val
* var_mmodule
/* var mmodule: MModule */;
9809 short int var_cleanup_virtual
/* var cleanup_virtual: Bool */;
9810 short int var1
/* : Bool */;
9811 short int var2
/* : Bool */;
9812 short int var3
/* : Bool */;
9813 short int var4
/* : Bool */;
9814 short int var5
/* : Bool */;
9815 val
* var_other
/* var other: nullable Object */;
9816 short int var7
/* : Bool */;
9817 short int var8
/* : Bool */;
9818 val
* var9
/* : MType */;
9819 val
* var_resolved_receiver
/* var resolved_receiver: nullable Object */;
9820 val
* var10
/* : MType */;
9821 val
* var_verbatim_bound
/* var verbatim_bound: MType */;
9822 val
* var11
/* : MType */;
9823 val
* var_res
/* var res: MType */;
9827 var_cleanup_virtual
= p3
;
9828 var1
= !var_cleanup_virtual
;
9835 var2
= nitc___nitc__MVirtualType___MType__can_resolve_for(self
, var_mtype
, var_anchor
, var_mmodule
);
9837 if (unlikely(!var2
)) {
9838 PRINT_ERROR("Runtime error: %s", "Assert failed");
9839 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1433);
9843 var3
= ((short int(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(var_mtype
); /* need_anchor on <var_mtype:MType>*/
9846 if (var_anchor
== NULL
) {
9847 var4
= 0; /* is null */
9849 var4
= 1; /* arg is null and recv is not */
9852 { /* Inline kernel#Object#!= (var_anchor,((val*)NULL)) on <var_anchor:nullable MClassType> */
9853 var_other
= ((val
*)NULL
);
9855 var7
= ((short int(*)(val
* self
, val
* p0
))(var_anchor
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_anchor
, var_other
); /* == on <var_anchor:nullable MClassType(MClassType)>*/
9864 if (unlikely(!var4
)) {
9865 PRINT_ERROR("Runtime error: %s", "Assert failed");
9866 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1440);
9870 var9
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(var_mtype
->class->vft
[COLOR_nitc__model__MType__resolve_for
]))(var_mtype
, var_anchor
, ((val
*)NULL
), var_mmodule
, 1); /* resolve_for on <var_mtype:MType>*/
9872 var_resolved_receiver
= var9
;
9874 var_resolved_receiver
= var_mtype
;
9877 var10
= nitc___nitc__MVirtualType___MType__lookup_bound(self
, var_mmodule
, var_resolved_receiver
);
9879 var_verbatim_bound
= var10
;
9881 var11
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(var_verbatim_bound
->class->vft
[COLOR_nitc__model__MType__resolve_for
]))(var_verbatim_bound
, var_mtype
, var_anchor
, var_mmodule
, var_cleanup_virtual
); /* resolve_for on <var_verbatim_bound:MType>*/
9889 /* method model#MVirtualType#can_resolve_for for (self: MVirtualType, MType, nullable MClassType, MModule): Bool */
9890 short int nitc___nitc__MVirtualType___MType__can_resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9891 short int var
/* : Bool */;
9892 val
* var_mtype
/* var mtype: MType */;
9893 val
* var_anchor
/* var anchor: nullable MClassType */;
9894 val
* var_mmodule
/* var mmodule: MModule */;
9895 short int var1
/* : Bool */;
9896 short int var2
/* : Bool */;
9897 short int var3
/* : Bool */;
9898 val
* var_other
/* var other: nullable Object */;
9899 short int var5
/* : Bool */;
9900 short int var6
/* : Bool */;
9901 val
* var7
/* : MType */;
9902 val
* var8
/* : MVirtualTypeProp */;
9903 val
* var10
/* : MVirtualTypeProp */;
9904 short int var11
/* : Bool */;
9909 var1
= ((short int(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(var_mtype
); /* need_anchor on <var_mtype:MType>*/
9912 if (var_anchor
== NULL
) {
9913 var2
= 0; /* is null */
9915 var2
= 1; /* arg is null and recv is not */
9918 { /* Inline kernel#Object#!= (var_anchor,((val*)NULL)) on <var_anchor:nullable MClassType> */
9919 var_other
= ((val
*)NULL
);
9921 var5
= ((short int(*)(val
* self
, val
* p0
))(var_anchor
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_anchor
, var_other
); /* == on <var_anchor:nullable MClassType(MClassType)>*/
9930 if (unlikely(!var2
)) {
9931 PRINT_ERROR("Runtime error: %s", "Assert failed");
9932 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1456);
9936 var7
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_mtype
->class->vft
[COLOR_nitc__model__MType__anchor_to
]))(var_mtype
, var_mmodule
, var_anchor
); /* anchor_to on <var_mtype:MType>*/
9942 { /* Inline model#MVirtualType#mproperty (self) on <self:MVirtualType> */
9943 var10
= self
->attrs
[COLOR_nitc__model__MVirtualType___mproperty
].val
; /* _mproperty on <self:MVirtualType> */
9944 if (unlikely(var10
== NULL
)) {
9945 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
9946 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1369);
9954 var11
= nitc___nitc__MType___has_mproperty(var_mtype
, var_mmodule
, var8
);
9961 /* method model#MVirtualType#to_s for (self: MVirtualType): String */
9962 val
* nitc___nitc__MVirtualType___core__abstract_text__Object__to_s(val
* self
) {
9963 val
* var
/* : String */;
9964 val
* var1
/* : MVirtualTypeProp */;
9965 val
* var3
/* : MVirtualTypeProp */;
9966 val
* var4
/* : String */;
9968 { /* Inline model#MVirtualType#mproperty (self) on <self:MVirtualType> */
9969 var3
= self
->attrs
[COLOR_nitc__model__MVirtualType___mproperty
].val
; /* _mproperty on <self:MVirtualType> */
9970 if (unlikely(var3
== NULL
)) {
9971 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
9972 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1369);
9980 var4
= nitc___nitc__MProperty___core__abstract_text__Object__to_s(var1
);