1 #include "model.sep.0.h"
2 /* method model#MNullableType#can_resolve_for for (self: MNullableType, MType, nullable MClassType, MModule): Bool */
3 short int model__MNullableType__can_resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4 short int var
/* : Bool */;
5 val
* var_mtype
/* var mtype: MType */;
6 val
* var_anchor
/* var anchor: nullable MClassType */;
7 val
* var_mmodule
/* var mmodule: MModule */;
8 val
* var1
/* : MType */;
9 val
* var3
/* : MType */;
10 short int var4
/* : Bool */;
15 { /* Inline model#MNullableType#mtype (self) on <self:MNullableType> */
16 var3
= self
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <self:MNullableType> */
17 if (unlikely(var3
== NULL
)) {
18 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
19 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1375);
27 var4
= ((short int (*)(val
*, val
*, val
*, val
*))(var1
->class->vft
[COLOR_model__MType__can_resolve_for
]))(var1
, var_mtype
, var_anchor
, var_mmodule
) /* can_resolve_for on <var1:MType>*/;
34 /* method model#MNullableType#can_resolve_for for (self: Object, MType, nullable MClassType, MModule): Bool */
35 short int VIRTUAL_model__MNullableType__can_resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
36 short int var
/* : Bool */;
37 short int var1
/* : Bool */;
38 var1
= model__MNullableType__can_resolve_for(self
, p0
, p1
, p2
);
43 /* method model#MNullableType#length for (self: MNullableType): Int */
44 long model__MNullableType__length(val
* self
) {
46 val
* var1
/* : MType */;
47 val
* var3
/* : MType */;
48 long var4
/* : Int */;
50 { /* Inline model#MNullableType#mtype (self) on <self:MNullableType> */
51 var3
= self
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <self:MNullableType> */
52 if (unlikely(var3
== NULL
)) {
53 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
54 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1375);
62 var4
= ((long (*)(val
*))(var1
->class->vft
[COLOR_model__MType__length
]))(var1
) /* length on <var1:MType>*/;
69 /* method model#MNullableType#length for (self: Object): Int */
70 long VIRTUAL_model__MNullableType__length(val
* self
) {
72 long var1
/* : Int */;
73 var1
= model__MNullableType__length(self
);
78 /* method model#MNullableType#collect_mclassdefs for (self: MNullableType, MModule): Set[MClassDef] */
79 val
* model__MNullableType__collect_mclassdefs(val
* self
, val
* p0
) {
80 val
* var
/* : Set[MClassDef] */;
81 val
* var_mmodule
/* var mmodule: MModule */;
82 short int var1
/* : Bool */;
83 short int var2
/* : Bool */;
84 val
* var3
/* : MType */;
85 val
* var5
/* : MType */;
86 val
* var6
/* : Set[MClassDef] */;
89 var1
= model__MNullableType__need_anchor(self
);
92 if (unlikely(!var2
)) {
93 PRINT_ERROR("Runtime error: %s", "Assert failed");
94 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1408);
98 { /* Inline model#MNullableType#mtype (self) on <self:MNullableType> */
99 var5
= self
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <self:MNullableType> */
100 if (unlikely(var5
== NULL
)) {
101 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
102 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1375);
110 var6
= ((val
* (*)(val
*, val
*))(var3
->class->vft
[COLOR_model__MType__collect_mclassdefs
]))(var3
, var_mmodule
) /* collect_mclassdefs on <var3:MType>*/;
117 /* method model#MNullableType#collect_mclassdefs for (self: Object, MModule): Set[MClassDef] */
118 val
* VIRTUAL_model__MNullableType__collect_mclassdefs(val
* self
, val
* p0
) {
119 val
* var
/* : Set[MClassDef] */;
120 val
* var1
/* : Set[MClassDef] */;
121 var1
= model__MNullableType__collect_mclassdefs(self
, p0
);
126 /* method model#MNullableType#collect_mclasses for (self: MNullableType, MModule): Set[MClass] */
127 val
* model__MNullableType__collect_mclasses(val
* self
, val
* p0
) {
128 val
* var
/* : Set[MClass] */;
129 val
* var_mmodule
/* var mmodule: MModule */;
130 short int var1
/* : Bool */;
131 short int var2
/* : Bool */;
132 val
* var3
/* : MType */;
133 val
* var5
/* : MType */;
134 val
* var6
/* : Set[MClass] */;
137 var1
= model__MNullableType__need_anchor(self
);
140 if (unlikely(!var2
)) {
141 PRINT_ERROR("Runtime error: %s", "Assert failed");
142 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1414);
146 { /* Inline model#MNullableType#mtype (self) on <self:MNullableType> */
147 var5
= self
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <self:MNullableType> */
148 if (unlikely(var5
== NULL
)) {
149 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
150 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1375);
158 var6
= ((val
* (*)(val
*, val
*))(var3
->class->vft
[COLOR_model__MType__collect_mclasses
]))(var3
, var_mmodule
) /* collect_mclasses on <var3:MType>*/;
165 /* method model#MNullableType#collect_mclasses for (self: Object, MModule): Set[MClass] */
166 val
* VIRTUAL_model__MNullableType__collect_mclasses(val
* self
, val
* p0
) {
167 val
* var
/* : Set[MClass] */;
168 val
* var1
/* : Set[MClass] */;
169 var1
= model__MNullableType__collect_mclasses(self
, p0
);
174 /* method model#MNullableType#collect_mtypes for (self: MNullableType, MModule): Set[MClassType] */
175 val
* model__MNullableType__collect_mtypes(val
* self
, val
* p0
) {
176 val
* var
/* : Set[MClassType] */;
177 val
* var_mmodule
/* var mmodule: MModule */;
178 short int var1
/* : Bool */;
179 short int var2
/* : Bool */;
180 val
* var3
/* : MType */;
181 val
* var5
/* : MType */;
182 val
* var6
/* : Set[MClassType] */;
185 var1
= model__MNullableType__need_anchor(self
);
188 if (unlikely(!var2
)) {
189 PRINT_ERROR("Runtime error: %s", "Assert failed");
190 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1420);
194 { /* Inline model#MNullableType#mtype (self) on <self:MNullableType> */
195 var5
= self
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <self:MNullableType> */
196 if (unlikely(var5
== NULL
)) {
197 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
198 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1375);
206 var6
= ((val
* (*)(val
*, val
*))(var3
->class->vft
[COLOR_model__MType__collect_mtypes
]))(var3
, var_mmodule
) /* collect_mtypes on <var3:MType>*/;
213 /* method model#MNullableType#collect_mtypes for (self: Object, MModule): Set[MClassType] */
214 val
* VIRTUAL_model__MNullableType__collect_mtypes(val
* self
, val
* p0
) {
215 val
* var
/* : Set[MClassType] */;
216 val
* var1
/* : Set[MClassType] */;
217 var1
= model__MNullableType__collect_mtypes(self
, p0
);
222 /* method model#MNullType#model for (self: MNullType): Model */
223 val
* model__MNullType__model(val
* self
) {
224 val
* var
/* : Model */;
225 val
* var1
/* : Model */;
226 var1
= self
->attrs
[COLOR_model__MNullType___model
].val
; /* _model on <self:MNullType> */
227 if (unlikely(var1
== NULL
)) {
228 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
229 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1430);
236 /* method model#MNullType#model for (self: Object): Model */
237 val
* VIRTUAL_model__MNullType__model(val
* self
) {
238 val
* var
/* : Model */;
239 val
* var1
/* : Model */;
240 val
* var3
/* : Model */;
241 { /* Inline model#MNullType#model (self) on <self:Object(MNullType)> */
242 var3
= self
->attrs
[COLOR_model__MNullType___model
].val
; /* _model on <self:Object(MNullType)> */
243 if (unlikely(var3
== NULL
)) {
244 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
245 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1430);
255 /* method model#MNullType#model= for (self: MNullType, Model) */
256 void model__MNullType__model_61d(val
* self
, val
* p0
) {
257 self
->attrs
[COLOR_model__MNullType___model
].val
= p0
; /* _model on <self:MNullType> */
260 /* method model#MNullType#model= for (self: Object, Model) */
261 void VIRTUAL_model__MNullType__model_61d(val
* self
, val
* p0
) {
262 { /* Inline model#MNullType#model= (self,p0) on <self:Object(MNullType)> */
263 self
->attrs
[COLOR_model__MNullType___model
].val
= p0
; /* _model on <self:Object(MNullType)> */
268 /* method model#MNullType#init for (self: MNullType, Model) */
269 void model__MNullType__init(val
* self
, val
* p0
) {
270 val
* var_model
/* var model: Model */;
272 { /* Inline model_base#MEntity#init (self) on <self:MNullType> */
278 { /* Inline model#MNullType#model= (self,var_model) on <self:MNullType> */
279 self
->attrs
[COLOR_model__MNullType___model
].val
= var_model
; /* _model on <self:MNullType> */
285 /* method model#MNullType#init for (self: Object, Model) */
286 void VIRTUAL_model__MNullType__init(val
* self
, val
* p0
) {
287 model__MNullType__init(self
, p0
); /* Direct call model#MNullType#init on <self:Object(MNullType)>*/
290 /* method model#MNullType#to_s for (self: MNullType): String */
291 val
* model__MNullType__to_s(val
* self
) {
292 val
* var
/* : String */;
294 val
* var1
/* : String */;
295 char* var2
/* : NativeString */;
296 long var3
/* : Int */;
297 val
* var4
/* : FlatString */;
303 var4
= string__NativeString__to_s_with_length(var2
, var3
);
312 /* method model#MNullType#to_s for (self: Object): String */
313 val
* VIRTUAL_model__MNullType__to_s(val
* self
) {
314 val
* var
/* : String */;
315 val
* var1
/* : String */;
316 var1
= model__MNullType__to_s(self
);
321 /* method model#MNullType#as_nullable for (self: MNullType): MType */
322 val
* model__MNullType__as_nullable(val
* self
) {
323 val
* var
/* : MType */;
329 /* method model#MNullType#as_nullable for (self: Object): MType */
330 val
* VIRTUAL_model__MNullType__as_nullable(val
* self
) {
331 val
* var
/* : MType */;
332 val
* var1
/* : MType */;
333 var1
= model__MNullType__as_nullable(self
);
338 /* method model#MNullType#need_anchor for (self: MNullType): Bool */
339 short int model__MNullType__need_anchor(val
* self
) {
340 short int var
/* : Bool */;
341 short int var1
/* : Bool */;
348 /* method model#MNullType#need_anchor for (self: Object): Bool */
349 short int VIRTUAL_model__MNullType__need_anchor(val
* self
) {
350 short int var
/* : Bool */;
351 short int var1
/* : Bool */;
352 var1
= model__MNullType__need_anchor(self
);
357 /* method model#MNullType#resolve_for for (self: MNullType, MType, nullable MClassType, MModule, Bool): MType */
358 val
* model__MNullType__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
359 val
* var
/* : MType */;
360 val
* var_mtype
/* var mtype: MType */;
361 val
* var_anchor
/* var anchor: nullable MClassType */;
362 val
* var_mmodule
/* var mmodule: MModule */;
363 short int var_cleanup_virtual
/* var cleanup_virtual: Bool */;
367 var_cleanup_virtual
= p3
;
373 /* method model#MNullType#resolve_for for (self: Object, MType, nullable MClassType, MModule, Bool): MType */
374 val
* VIRTUAL_model__MNullType__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
375 val
* var
/* : MType */;
376 val
* var1
/* : MType */;
377 var1
= model__MNullType__resolve_for(self
, p0
, p1
, p2
, p3
);
382 /* method model#MNullType#can_resolve_for for (self: MNullType, MType, nullable MClassType, MModule): Bool */
383 short int model__MNullType__can_resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
384 short int var
/* : Bool */;
385 val
* var_mtype
/* var mtype: MType */;
386 val
* var_anchor
/* var anchor: nullable MClassType */;
387 val
* var_mmodule
/* var mmodule: MModule */;
388 short int var1
/* : Bool */;
398 /* method model#MNullType#can_resolve_for for (self: Object, MType, nullable MClassType, MModule): Bool */
399 short int VIRTUAL_model__MNullType__can_resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
400 short int var
/* : Bool */;
401 short int var1
/* : Bool */;
402 var1
= model__MNullType__can_resolve_for(self
, p0
, p1
, p2
);
407 /* method model#MNullType#collect_mclassdefs for (self: MNullType, MModule): Set[MClassDef] */
408 val
* model__MNullType__collect_mclassdefs(val
* self
, val
* p0
) {
409 val
* var
/* : Set[MClassDef] */;
410 val
* var_mmodule
/* var mmodule: MModule */;
411 val
* var1
/* : HashSet[MClassDef] */;
413 var1
= NEW_hash_collection__HashSet(&type_hash_collection__HashSetmodel__MClassDef
);
415 hash_collection__HashSet__init(var1
); /* Direct call hash_collection#HashSet#init on <var1:HashSet[MClassDef]>*/
422 /* method model#MNullType#collect_mclassdefs for (self: Object, MModule): Set[MClassDef] */
423 val
* VIRTUAL_model__MNullType__collect_mclassdefs(val
* self
, val
* p0
) {
424 val
* var
/* : Set[MClassDef] */;
425 val
* var1
/* : Set[MClassDef] */;
426 var1
= model__MNullType__collect_mclassdefs(self
, p0
);
431 /* method model#MNullType#collect_mclasses for (self: MNullType, MModule): Set[MClass] */
432 val
* model__MNullType__collect_mclasses(val
* self
, val
* p0
) {
433 val
* var
/* : Set[MClass] */;
434 val
* var_mmodule
/* var mmodule: MModule */;
435 val
* var1
/* : HashSet[MClass] */;
437 var1
= NEW_hash_collection__HashSet(&type_hash_collection__HashSetmodel__MClass
);
439 hash_collection__HashSet__init(var1
); /* Direct call hash_collection#HashSet#init on <var1:HashSet[MClass]>*/
446 /* method model#MNullType#collect_mclasses for (self: Object, MModule): Set[MClass] */
447 val
* VIRTUAL_model__MNullType__collect_mclasses(val
* self
, val
* p0
) {
448 val
* var
/* : Set[MClass] */;
449 val
* var1
/* : Set[MClass] */;
450 var1
= model__MNullType__collect_mclasses(self
, p0
);
455 /* method model#MNullType#collect_mtypes for (self: MNullType, MModule): Set[MClassType] */
456 val
* model__MNullType__collect_mtypes(val
* self
, val
* p0
) {
457 val
* var
/* : Set[MClassType] */;
458 val
* var_mmodule
/* var mmodule: MModule */;
459 val
* var1
/* : HashSet[MClassType] */;
461 var1
= NEW_hash_collection__HashSet(&type_hash_collection__HashSetmodel__MClassType
);
463 hash_collection__HashSet__init(var1
); /* Direct call hash_collection#HashSet#init on <var1:HashSet[MClassType]>*/
470 /* method model#MNullType#collect_mtypes for (self: Object, MModule): Set[MClassType] */
471 val
* VIRTUAL_model__MNullType__collect_mtypes(val
* self
, val
* p0
) {
472 val
* var
/* : Set[MClassType] */;
473 val
* var1
/* : Set[MClassType] */;
474 var1
= model__MNullType__collect_mtypes(self
, p0
);
479 /* method model#MSignature#mparameters for (self: MSignature): Array[MParameter] */
480 val
* model__MSignature__mparameters(val
* self
) {
481 val
* var
/* : Array[MParameter] */;
482 val
* var1
/* : Array[MParameter] */;
483 var1
= self
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <self:MSignature> */
484 if (unlikely(var1
== NULL
)) {
485 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
486 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
493 /* method model#MSignature#mparameters for (self: Object): Array[MParameter] */
494 val
* VIRTUAL_model__MSignature__mparameters(val
* self
) {
495 val
* var
/* : Array[MParameter] */;
496 val
* var1
/* : Array[MParameter] */;
497 val
* var3
/* : Array[MParameter] */;
498 { /* Inline model#MSignature#mparameters (self) on <self:Object(MSignature)> */
499 var3
= self
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <self:Object(MSignature)> */
500 if (unlikely(var3
== NULL
)) {
501 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
502 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
512 /* method model#MSignature#mparameters= for (self: MSignature, Array[MParameter]) */
513 void model__MSignature__mparameters_61d(val
* self
, val
* p0
) {
514 self
->attrs
[COLOR_model__MSignature___mparameters
].val
= p0
; /* _mparameters on <self:MSignature> */
517 /* method model#MSignature#mparameters= for (self: Object, Array[MParameter]) */
518 void VIRTUAL_model__MSignature__mparameters_61d(val
* self
, val
* p0
) {
519 { /* Inline model#MSignature#mparameters= (self,p0) on <self:Object(MSignature)> */
520 self
->attrs
[COLOR_model__MSignature___mparameters
].val
= p0
; /* _mparameters on <self:Object(MSignature)> */
525 /* method model#MSignature#return_mtype for (self: MSignature): nullable MType */
526 val
* model__MSignature__return_mtype(val
* self
) {
527 val
* var
/* : nullable MType */;
528 val
* var1
/* : nullable MType */;
529 var1
= self
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <self:MSignature> */
534 /* method model#MSignature#return_mtype for (self: Object): nullable MType */
535 val
* VIRTUAL_model__MSignature__return_mtype(val
* self
) {
536 val
* var
/* : nullable MType */;
537 val
* var1
/* : nullable MType */;
538 val
* var3
/* : nullable MType */;
539 { /* Inline model#MSignature#return_mtype (self) on <self:Object(MSignature)> */
540 var3
= self
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <self:Object(MSignature)> */
548 /* method model#MSignature#return_mtype= for (self: MSignature, nullable MType) */
549 void model__MSignature__return_mtype_61d(val
* self
, val
* p0
) {
550 self
->attrs
[COLOR_model__MSignature___return_mtype
].val
= p0
; /* _return_mtype on <self:MSignature> */
553 /* method model#MSignature#return_mtype= for (self: Object, nullable MType) */
554 void VIRTUAL_model__MSignature__return_mtype_61d(val
* self
, val
* p0
) {
555 { /* Inline model#MSignature#return_mtype= (self,p0) on <self:Object(MSignature)> */
556 self
->attrs
[COLOR_model__MSignature___return_mtype
].val
= p0
; /* _return_mtype on <self:Object(MSignature)> */
561 /* method model#MSignature#length for (self: MSignature): Int */
562 long model__MSignature__length(val
* self
) {
563 long var
/* : Int */;
564 long var1
/* : Int */;
565 long var_res
/* var res: Int */;
566 val
* var2
/* : nullable MType */;
567 val
* var4
/* : nullable MType */;
568 val
* var_t
/* var t: nullable MType */;
569 val
* var5
/* : null */;
570 short int var6
/* : Bool */;
571 short int var7
/* : Bool */;
572 val
* var_other
/* var other: nullable Object */;
573 short int var9
/* : Bool */;
574 short int var10
/* : Bool */;
575 short int var11
/* : Bool */;
576 long var12
/* : Int */;
577 long var13
/* : Int */;
578 short int var15
/* : Bool */;
581 const char* var_class_name
;
582 long var16
/* : Int */;
583 val
* var17
/* : Array[MParameter] */;
584 val
* var19
/* : Array[MParameter] */;
585 val
* var20
/* : ArrayIterator[nullable Object] */;
586 short int var21
/* : Bool */;
587 val
* var22
/* : nullable Object */;
588 val
* var_p
/* var p: MParameter */;
589 val
* var23
/* : MType */;
590 val
* var25
/* : MType */;
591 long var26
/* : Int */;
592 long var27
/* : Int */;
593 short int var29
/* : Bool */;
596 const char* var_class_name32
;
597 long var33
/* : Int */;
601 { /* Inline model#MSignature#return_mtype (self) on <self:MSignature> */
602 var4
= self
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <self:MSignature> */
610 var6
= 0; /* is null */
612 var6
= 1; /* arg is null and recv is not */
615 { /* Inline kernel#Object#!= (var_t,var5) on <var_t:nullable MType> */
618 var10
= ((short int (*)(val
*, val
*))(var_t
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_t
, var_other
) /* == on <var_t:nullable MType(MType)>*/;
630 var12
= ((long (*)(val
*))(var_t
->class->vft
[COLOR_model__MType__length
]))(var_t
) /* length on <var_t:nullable MType(MType)>*/;
633 { /* Inline kernel#Int#+ (var_res,var12) on <var_res:Int> */
634 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
635 /* <var12:Int> isa OTHER */
636 var15
= 1; /* easy <var12:Int> isa OTHER*/
637 if (unlikely(!var15
)) {
638 var_class_name
= type_kernel__Int
.name
;
639 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
640 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
643 var16
= var_res
+ var12
;
653 { /* Inline model#MSignature#mparameters (self) on <self:MSignature> */
654 var19
= self
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <self:MSignature> */
655 if (unlikely(var19
== NULL
)) {
656 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
657 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
665 var20
= array__AbstractArrayRead__iterator(var17
);
669 var21
= array__ArrayIterator__is_ok(var20
);
673 var22
= array__ArrayIterator__item(var20
);
677 { /* Inline model#MParameter#mtype (var_p) on <var_p:MParameter> */
678 var25
= var_p
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var_p:MParameter> */
679 if (unlikely(var25
== NULL
)) {
680 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
681 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
689 var26
= ((long (*)(val
*))(var23
->class->vft
[COLOR_model__MType__length
]))(var23
) /* length on <var23:MType>*/;
692 { /* Inline kernel#Int#+ (var_res,var26) on <var_res:Int> */
693 /* Covariant cast for argument 0 (i) <var26:Int> isa OTHER */
694 /* <var26:Int> isa OTHER */
695 var29
= 1; /* easy <var26:Int> isa OTHER*/
696 if (unlikely(!var29
)) {
697 var_class_name32
= type_kernel__Int
.name
;
698 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32
);
699 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
702 var33
= var_res
+ var26
;
709 CONTINUE_label
: (void)0;
711 array__ArrayIterator__next(var20
); /* Direct call array#ArrayIterator#next on <var20:ArrayIterator[nullable Object]>*/
714 BREAK_label
: (void)0;
720 /* method model#MSignature#length for (self: Object): Int */
721 long VIRTUAL_model__MSignature__length(val
* self
) {
722 long var
/* : Int */;
723 long var1
/* : Int */;
724 var1
= model__MSignature__length(self
);
729 /* method model#MSignature#init for (self: MSignature, Array[MParameter], nullable MType) */
730 void model__MSignature__init(val
* self
, val
* p0
, val
* p1
) {
731 val
* var_mparameters
/* var mparameters: Array[MParameter] */;
732 val
* var_return_mtype
/* var return_mtype: nullable MType */;
733 long var
/* : Int */;
734 long var2
/* : Int */;
735 long var4
/* : Int */;
736 long var_vararg_rank
/* var vararg_rank: Int */;
737 val
* var5
/* : Range[Int] */;
738 long var6
/* : Int */;
739 long var7
/* : Int */;
740 val
* var8
/* : Discrete */;
741 val
* var9
/* : Discrete */;
742 val
* var10
/* : Iterator[Discrete] */;
743 short int var11
/* : Bool */;
744 val
* var12
/* : nullable Object */;
745 long var_i
/* var i: Int */;
746 long var13
/* : Int */;
747 val
* var14
/* : nullable Object */;
748 val
* var_parameter
/* var parameter: MParameter */;
749 short int var15
/* : Bool */;
750 short int var17
/* : Bool */;
751 long var18
/* : Int */;
752 long var19
/* : Int */;
753 long var21
/* : Int */;
754 short int var22
/* : Bool */;
755 short int var23
/* : Bool */;
756 short int var25
/* : Bool */;
758 { /* Inline model_base#MEntity#init (self) on <self:MSignature> */
762 var_mparameters
= p0
;
763 var_return_mtype
= p1
;
766 { /* Inline kernel#Int#unary - (var) on <var:Int> */
773 var_vararg_rank
= var2
;
774 var5
= NEW_range__Range(&type_range__Rangekernel__Int
);
777 var7
= array__AbstractArrayRead__length(var_mparameters
);
780 var8
= BOX_kernel__Int(var6
); /* autobox from Int to Discrete */
781 var9
= BOX_kernel__Int(var7
); /* autobox from Int to Discrete */
782 range__Range__without_last(var5
, var8
, var9
); /* Direct call range#Range#without_last on <var5:Range[Int]>*/
785 var10
= range__Range__iterator(var5
);
789 var11
= ((short int (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var10
) /* is_ok on <var10:Iterator[Discrete]>*/;
793 var12
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var10
) /* item on <var10:Iterator[Discrete]>*/;
795 var13
= ((struct instance_kernel__Int
*)var12
)->value
; /* autounbox from nullable Object to Int */;
798 var14
= array__Array___91d_93d(var_mparameters
, var_i
);
800 var_parameter
= var14
;
802 { /* Inline model#MParameter#is_vararg (var_parameter) on <var_parameter:MParameter> */
803 var17
= var_parameter
->attrs
[COLOR_model__MParameter___is_vararg
].s
; /* _is_vararg on <var_parameter:MParameter> */
811 { /* Inline kernel#Int#unary - (var18) on <var18:Int> */
819 { /* Inline kernel#Int#== (var_vararg_rank,var19) on <var_vararg_rank:Int> */
820 var25
= var_vararg_rank
== var19
;
827 if (unlikely(!var22
)) {
828 PRINT_ERROR("Runtime error: %s", "Assert failed");
829 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1488);
832 var_vararg_rank
= var_i
;
835 CONTINUE_label
: (void)0;
837 ((void (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var10
) /* next on <var10:Iterator[Discrete]>*/;
840 BREAK_label
: (void)0;
842 { /* Inline model#MSignature#mparameters= (self,var_mparameters) on <self:MSignature> */
843 self
->attrs
[COLOR_model__MSignature___mparameters
].val
= var_mparameters
; /* _mparameters on <self:MSignature> */
848 { /* Inline model#MSignature#return_mtype= (self,var_return_mtype) on <self:MSignature> */
849 self
->attrs
[COLOR_model__MSignature___return_mtype
].val
= var_return_mtype
; /* _return_mtype on <self:MSignature> */
854 { /* Inline model#MSignature#vararg_rank= (self,var_vararg_rank) on <self:MSignature> */
855 self
->attrs
[COLOR_model__MSignature___vararg_rank
].l
= var_vararg_rank
; /* _vararg_rank on <self:MSignature> */
861 /* method model#MSignature#init for (self: Object, Array[MParameter], nullable MType) */
862 void VIRTUAL_model__MSignature__init(val
* self
, val
* p0
, val
* p1
) {
863 model__MSignature__init(self
, p0
, p1
); /* Direct call model#MSignature#init on <self:Object(MSignature)>*/
866 /* method model#MSignature#vararg_rank for (self: MSignature): Int */
867 long model__MSignature__vararg_rank(val
* self
) {
868 long var
/* : Int */;
869 long var1
/* : Int */;
870 var1
= self
->attrs
[COLOR_model__MSignature___vararg_rank
].l
; /* _vararg_rank on <self:MSignature> */
875 /* method model#MSignature#vararg_rank for (self: Object): Int */
876 long VIRTUAL_model__MSignature__vararg_rank(val
* self
) {
877 long var
/* : Int */;
878 long var1
/* : Int */;
879 long var3
/* : Int */;
880 { /* Inline model#MSignature#vararg_rank (self) on <self:Object(MSignature)> */
881 var3
= self
->attrs
[COLOR_model__MSignature___vararg_rank
].l
; /* _vararg_rank on <self:Object(MSignature)> */
889 /* method model#MSignature#vararg_rank= for (self: MSignature, Int) */
890 void model__MSignature__vararg_rank_61d(val
* self
, long p0
) {
891 self
->attrs
[COLOR_model__MSignature___vararg_rank
].l
= p0
; /* _vararg_rank on <self:MSignature> */
894 /* method model#MSignature#vararg_rank= for (self: Object, Int) */
895 void VIRTUAL_model__MSignature__vararg_rank_61d(val
* self
, long p0
) {
896 { /* Inline model#MSignature#vararg_rank= (self,p0) on <self:Object(MSignature)> */
897 self
->attrs
[COLOR_model__MSignature___vararg_rank
].l
= p0
; /* _vararg_rank on <self:Object(MSignature)> */
902 /* method model#MSignature#arity for (self: MSignature): Int */
903 long model__MSignature__arity(val
* self
) {
904 long var
/* : Int */;
905 val
* var1
/* : Array[MParameter] */;
906 val
* var3
/* : Array[MParameter] */;
907 long var4
/* : Int */;
909 { /* Inline model#MSignature#mparameters (self) on <self:MSignature> */
910 var3
= self
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <self:MSignature> */
911 if (unlikely(var3
== NULL
)) {
912 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
913 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
921 var4
= array__AbstractArrayRead__length(var1
);
928 /* method model#MSignature#arity for (self: Object): Int */
929 long VIRTUAL_model__MSignature__arity(val
* self
) {
930 long var
/* : Int */;
931 long var1
/* : Int */;
932 var1
= model__MSignature__arity(self
);
937 /* method model#MSignature#to_s for (self: MSignature): String */
938 val
* model__MSignature__to_s(val
* self
) {
939 val
* var
/* : String */;
940 val
* var1
/* : FlatBuffer */;
941 val
* var_b
/* var b: FlatBuffer */;
942 val
* var2
/* : Array[MParameter] */;
943 val
* var4
/* : Array[MParameter] */;
944 short int var5
/* : Bool */;
945 short int var6
/* : Bool */;
947 val
* var7
/* : String */;
948 char* var8
/* : NativeString */;
949 long var9
/* : Int */;
950 val
* var10
/* : FlatString */;
951 val
* var11
/* : Range[Int] */;
952 long var12
/* : Int */;
953 val
* var13
/* : Array[MParameter] */;
954 val
* var15
/* : Array[MParameter] */;
955 long var16
/* : Int */;
956 val
* var17
/* : Discrete */;
957 val
* var18
/* : Discrete */;
958 val
* var19
/* : Iterator[Discrete] */;
959 short int var20
/* : Bool */;
960 val
* var21
/* : nullable Object */;
961 long var_i
/* var i: Int */;
962 long var22
/* : Int */;
963 val
* var23
/* : Array[MParameter] */;
964 val
* var25
/* : Array[MParameter] */;
965 val
* var26
/* : nullable Object */;
966 val
* var_mparameter
/* var mparameter: MParameter */;
967 long var27
/* : Int */;
968 short int var28
/* : Bool */;
969 short int var30
/* : Bool */;
972 const char* var_class_name
;
973 short int var31
/* : Bool */;
974 static val
* varonce32
;
975 val
* var33
/* : String */;
976 char* var34
/* : NativeString */;
977 long var35
/* : Int */;
978 val
* var36
/* : FlatString */;
979 val
* var37
/* : String */;
980 val
* var39
/* : String */;
981 static val
* varonce40
;
982 val
* var41
/* : String */;
983 char* var42
/* : NativeString */;
984 long var43
/* : Int */;
985 val
* var44
/* : FlatString */;
986 val
* var45
/* : MType */;
987 val
* var47
/* : MType */;
988 val
* var48
/* : String */;
989 short int var49
/* : Bool */;
990 short int var51
/* : Bool */;
991 static val
* varonce52
;
992 val
* var53
/* : String */;
993 char* var54
/* : NativeString */;
994 long var55
/* : Int */;
995 val
* var56
/* : FlatString */;
996 static val
* varonce57
;
997 val
* var58
/* : String */;
998 char* var59
/* : NativeString */;
999 long var60
/* : Int */;
1000 val
* var61
/* : FlatString */;
1001 val
* var62
/* : nullable MType */;
1002 val
* var64
/* : nullable MType */;
1003 val
* var_ret
/* var ret: nullable MType */;
1004 val
* var65
/* : null */;
1005 short int var66
/* : Bool */;
1006 short int var67
/* : Bool */;
1007 val
* var_other
/* var other: nullable Object */;
1008 short int var69
/* : Bool */;
1009 short int var70
/* : Bool */;
1010 short int var71
/* : Bool */;
1011 static val
* varonce72
;
1012 val
* var73
/* : String */;
1013 char* var74
/* : NativeString */;
1014 long var75
/* : Int */;
1015 val
* var76
/* : FlatString */;
1016 val
* var77
/* : String */;
1017 val
* var78
/* : String */;
1018 var1
= NEW_string__FlatBuffer(&type_string__FlatBuffer
);
1020 string__FlatBuffer__init(var1
); /* Direct call string#FlatBuffer#init on <var1:FlatBuffer>*/
1024 { /* Inline model#MSignature#mparameters (self) on <self:MSignature> */
1025 var4
= self
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <self:MSignature> */
1026 if (unlikely(var4
== NULL
)) {
1027 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
1028 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
1036 var5
= array__AbstractArrayRead__is_empty(var2
);
1045 var10
= string__NativeString__to_s_with_length(var8
, var9
);
1050 string__FlatBuffer__append(var_b
, var7
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
1052 var11
= NEW_range__Range(&type_range__Rangekernel__Int
);
1055 { /* Inline model#MSignature#mparameters (self) on <self:MSignature> */
1056 var15
= self
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <self:MSignature> */
1057 if (unlikely(var15
== NULL
)) {
1058 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
1059 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
1063 RET_LABEL14
:(void)0;
1067 var16
= array__AbstractArrayRead__length(var13
);
1070 var17
= BOX_kernel__Int(var12
); /* autobox from Int to Discrete */
1071 var18
= BOX_kernel__Int(var16
); /* autobox from Int to Discrete */
1072 range__Range__without_last(var11
, var17
, var18
); /* Direct call range#Range#without_last on <var11:Range[Int]>*/
1075 var19
= range__Range__iterator(var11
);
1079 var20
= ((short int (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var19
) /* is_ok on <var19:Iterator[Discrete]>*/;
1083 var21
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var19
) /* item on <var19:Iterator[Discrete]>*/;
1085 var22
= ((struct instance_kernel__Int
*)var21
)->value
; /* autounbox from nullable Object to Int */;
1088 { /* Inline model#MSignature#mparameters (self) on <self:MSignature> */
1089 var25
= self
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <self:MSignature> */
1090 if (unlikely(var25
== NULL
)) {
1091 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
1092 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
1096 RET_LABEL24
:(void)0;
1100 var26
= array__Array___91d_93d(var23
, var_i
);
1102 var_mparameter
= var26
;
1105 { /* Inline kernel#Int#> (var_i,var27) on <var_i:Int> */
1106 /* Covariant cast for argument 0 (i) <var27:Int> isa OTHER */
1107 /* <var27:Int> isa OTHER */
1108 var30
= 1; /* easy <var27:Int> isa OTHER*/
1109 if (unlikely(!var30
)) {
1110 var_class_name
= type_kernel__Int
.name
;
1111 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1112 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
1115 var31
= var_i
> var27
;
1118 RET_LABEL29
:(void)0;
1127 var36
= string__NativeString__to_s_with_length(var34
, var35
);
1132 string__FlatBuffer__append(var_b
, var33
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
1137 { /* Inline model#MParameter#name (var_mparameter) on <var_mparameter:MParameter> */
1138 var39
= var_mparameter
->attrs
[COLOR_model__MParameter___name
].val
; /* _name on <var_mparameter:MParameter> */
1139 if (unlikely(var39
== NULL
)) {
1140 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1141 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1549);
1145 RET_LABEL38
:(void)0;
1149 string__FlatBuffer__append(var_b
, var37
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
1156 var44
= string__NativeString__to_s_with_length(var42
, var43
);
1161 string__FlatBuffer__append(var_b
, var41
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
1164 { /* Inline model#MParameter#mtype (var_mparameter) on <var_mparameter:MParameter> */
1165 var47
= var_mparameter
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var_mparameter:MParameter> */
1166 if (unlikely(var47
== NULL
)) {
1167 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1168 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
1172 RET_LABEL46
:(void)0;
1176 var48
= ((val
* (*)(val
*))(var45
->class->vft
[COLOR_string__Object__to_s
]))(var45
) /* to_s on <var45:MType>*/;
1179 string__FlatBuffer__append(var_b
, var48
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
1182 { /* Inline model#MParameter#is_vararg (var_mparameter) on <var_mparameter:MParameter> */
1183 var51
= var_mparameter
->attrs
[COLOR_model__MParameter___is_vararg
].s
; /* _is_vararg on <var_mparameter:MParameter> */
1185 RET_LABEL50
:(void)0;
1194 var56
= string__NativeString__to_s_with_length(var54
, var55
);
1199 string__FlatBuffer__append(var_b
, var53
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
1203 CONTINUE_label
: (void)0;
1205 ((void (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var19
) /* next on <var19:Iterator[Discrete]>*/;
1208 BREAK_label
: (void)0;
1214 var61
= string__NativeString__to_s_with_length(var59
, var60
);
1219 string__FlatBuffer__append(var_b
, var58
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
1224 { /* Inline model#MSignature#return_mtype (self) on <self:MSignature> */
1225 var64
= self
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <self:MSignature> */
1227 RET_LABEL63
:(void)0;
1232 if (var_ret
== NULL
) {
1233 var66
= 0; /* is null */
1235 var66
= 1; /* arg is null and recv is not */
1238 { /* Inline kernel#Object#!= (var_ret,var65) on <var_ret:nullable MType> */
1241 var70
= ((short int (*)(val
*, val
*))(var_ret
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ret
, var_other
) /* == on <var_ret:nullable MType(MType)>*/;
1247 RET_LABEL68
:(void)0;
1257 var76
= string__NativeString__to_s_with_length(var74
, var75
);
1262 string__FlatBuffer__append(var_b
, var73
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
1265 var77
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_string__Object__to_s
]))(var_ret
) /* to_s on <var_ret:nullable MType(MType)>*/;
1268 string__FlatBuffer__append(var_b
, var77
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
1273 var78
= string__FlatBuffer__to_s(var_b
);
1280 /* method model#MSignature#to_s for (self: Object): String */
1281 val
* VIRTUAL_model__MSignature__to_s(val
* self
) {
1282 val
* var
/* : String */;
1283 val
* var1
/* : String */;
1284 var1
= model__MSignature__to_s(self
);
1289 /* method model#MSignature#resolve_for for (self: MSignature, MType, nullable MClassType, MModule, Bool): MSignature */
1290 val
* model__MSignature__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
1291 val
* var
/* : MSignature */;
1292 val
* var_mtype
/* var mtype: MType */;
1293 val
* var_anchor
/* var anchor: nullable MClassType */;
1294 val
* var_mmodule
/* var mmodule: MModule */;
1295 short int var_cleanup_virtual
/* var cleanup_virtual: Bool */;
1296 val
* var1
/* : Array[MParameter] */;
1297 val
* var_params
/* var params: Array[MParameter] */;
1298 val
* var2
/* : Array[MParameter] */;
1299 val
* var4
/* : Array[MParameter] */;
1300 val
* var5
/* : ArrayIterator[nullable Object] */;
1301 short int var6
/* : Bool */;
1302 val
* var7
/* : nullable Object */;
1303 val
* var_p
/* var p: MParameter */;
1304 val
* var8
/* : MParameter */;
1305 val
* var9
/* : nullable MType */;
1306 val
* var11
/* : nullable MType */;
1307 val
* var_ret
/* var ret: nullable MType */;
1308 val
* var12
/* : null */;
1309 short int var13
/* : Bool */;
1310 short int var14
/* : Bool */;
1311 val
* var_other
/* var other: nullable Object */;
1312 short int var16
/* : Bool */;
1313 short int var17
/* : Bool */;
1314 short int var18
/* : Bool */;
1315 val
* var19
/* : MType */;
1316 val
* var20
/* : MSignature */;
1317 val
* var_res
/* var res: MSignature */;
1321 var_cleanup_virtual
= p3
;
1322 var1
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
1324 array__Array__init(var1
); /* Direct call array#Array#init on <var1:Array[MParameter]>*/
1328 { /* Inline model#MSignature#mparameters (self) on <self:MSignature> */
1329 var4
= self
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <self:MSignature> */
1330 if (unlikely(var4
== NULL
)) {
1331 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
1332 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
1340 var5
= array__AbstractArrayRead__iterator(var2
);
1344 var6
= array__ArrayIterator__is_ok(var5
);
1348 var7
= array__ArrayIterator__item(var5
);
1352 var8
= model__MParameter__resolve_for(var_p
, var_mtype
, var_anchor
, var_mmodule
, var_cleanup_virtual
);
1355 array__Array__add(var_params
, var8
); /* Direct call array#Array#add on <var_params:Array[MParameter]>*/
1357 CONTINUE_label
: (void)0;
1359 array__ArrayIterator__next(var5
); /* Direct call array#ArrayIterator#next on <var5:ArrayIterator[nullable Object]>*/
1362 BREAK_label
: (void)0;
1364 { /* Inline model#MSignature#return_mtype (self) on <self:MSignature> */
1365 var11
= self
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <self:MSignature> */
1367 RET_LABEL10
:(void)0;
1372 if (var_ret
== NULL
) {
1373 var13
= 0; /* is null */
1375 var13
= 1; /* arg is null and recv is not */
1378 { /* Inline kernel#Object#!= (var_ret,var12) on <var_ret:nullable MType> */
1381 var17
= ((short int (*)(val
*, val
*))(var_ret
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ret
, var_other
) /* == on <var_ret:nullable MType(MType)>*/;
1387 RET_LABEL15
:(void)0;
1393 var19
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_ret
->class->vft
[COLOR_model__MType__resolve_for
]))(var_ret
, var_mtype
, var_anchor
, var_mmodule
, var_cleanup_virtual
) /* resolve_for on <var_ret:nullable MType(MType)>*/;
1398 var20
= NEW_model__MSignature(&type_model__MSignature
);
1400 model__MSignature__init(var20
, var_params
, var_ret
); /* Direct call model#MSignature#init on <var20:MSignature>*/
1408 /* method model#MSignature#resolve_for for (self: Object, MType, nullable MClassType, MModule, Bool): MType */
1409 val
* VIRTUAL_model__MSignature__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
1410 val
* var
/* : MType */;
1411 val
* var1
/* : MSignature */;
1412 var1
= model__MSignature__resolve_for(self
, p0
, p1
, p2
, p3
);
1417 /* method model#MParameter#name for (self: MParameter): String */
1418 val
* model__MParameter__name(val
* self
) {
1419 val
* var
/* : String */;
1420 val
* var1
/* : String */;
1421 var1
= self
->attrs
[COLOR_model__MParameter___name
].val
; /* _name on <self:MParameter> */
1422 if (unlikely(var1
== NULL
)) {
1423 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1424 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1549);
1431 /* method model#MParameter#name for (self: Object): String */
1432 val
* VIRTUAL_model__MParameter__name(val
* self
) {
1433 val
* var
/* : String */;
1434 val
* var1
/* : String */;
1435 val
* var3
/* : String */;
1436 { /* Inline model#MParameter#name (self) on <self:Object(MParameter)> */
1437 var3
= self
->attrs
[COLOR_model__MParameter___name
].val
; /* _name on <self:Object(MParameter)> */
1438 if (unlikely(var3
== NULL
)) {
1439 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1440 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1549);
1450 /* method model#MParameter#name= for (self: MParameter, String) */
1451 void model__MParameter__name_61d(val
* self
, val
* p0
) {
1452 self
->attrs
[COLOR_model__MParameter___name
].val
= p0
; /* _name on <self:MParameter> */
1455 /* method model#MParameter#name= for (self: Object, String) */
1456 void VIRTUAL_model__MParameter__name_61d(val
* self
, val
* p0
) {
1457 { /* Inline model#MParameter#name= (self,p0) on <self:Object(MParameter)> */
1458 self
->attrs
[COLOR_model__MParameter___name
].val
= p0
; /* _name on <self:Object(MParameter)> */
1463 /* method model#MParameter#mtype for (self: MParameter): MType */
1464 val
* model__MParameter__mtype(val
* self
) {
1465 val
* var
/* : MType */;
1466 val
* var1
/* : MType */;
1467 var1
= self
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <self:MParameter> */
1468 if (unlikely(var1
== NULL
)) {
1469 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1470 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
1477 /* method model#MParameter#mtype for (self: Object): MType */
1478 val
* VIRTUAL_model__MParameter__mtype(val
* self
) {
1479 val
* var
/* : MType */;
1480 val
* var1
/* : MType */;
1481 val
* var3
/* : MType */;
1482 { /* Inline model#MParameter#mtype (self) on <self:Object(MParameter)> */
1483 var3
= self
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <self:Object(MParameter)> */
1484 if (unlikely(var3
== NULL
)) {
1485 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1486 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
1496 /* method model#MParameter#mtype= for (self: MParameter, MType) */
1497 void model__MParameter__mtype_61d(val
* self
, val
* p0
) {
1498 self
->attrs
[COLOR_model__MParameter___mtype
].val
= p0
; /* _mtype on <self:MParameter> */
1501 /* method model#MParameter#mtype= for (self: Object, MType) */
1502 void VIRTUAL_model__MParameter__mtype_61d(val
* self
, val
* p0
) {
1503 { /* Inline model#MParameter#mtype= (self,p0) on <self:Object(MParameter)> */
1504 self
->attrs
[COLOR_model__MParameter___mtype
].val
= p0
; /* _mtype on <self:Object(MParameter)> */
1509 /* method model#MParameter#is_vararg for (self: MParameter): Bool */
1510 short int model__MParameter__is_vararg(val
* self
) {
1511 short int var
/* : Bool */;
1512 short int var1
/* : Bool */;
1513 var1
= self
->attrs
[COLOR_model__MParameter___is_vararg
].s
; /* _is_vararg on <self:MParameter> */
1518 /* method model#MParameter#is_vararg for (self: Object): Bool */
1519 short int VIRTUAL_model__MParameter__is_vararg(val
* self
) {
1520 short int var
/* : Bool */;
1521 short int var1
/* : Bool */;
1522 short int var3
/* : Bool */;
1523 { /* Inline model#MParameter#is_vararg (self) on <self:Object(MParameter)> */
1524 var3
= self
->attrs
[COLOR_model__MParameter___is_vararg
].s
; /* _is_vararg on <self:Object(MParameter)> */
1532 /* method model#MParameter#is_vararg= for (self: MParameter, Bool) */
1533 void model__MParameter__is_vararg_61d(val
* self
, short int p0
) {
1534 self
->attrs
[COLOR_model__MParameter___is_vararg
].s
= p0
; /* _is_vararg on <self:MParameter> */
1537 /* method model#MParameter#is_vararg= for (self: Object, Bool) */
1538 void VIRTUAL_model__MParameter__is_vararg_61d(val
* self
, short int p0
) {
1539 { /* Inline model#MParameter#is_vararg= (self,p0) on <self:Object(MParameter)> */
1540 self
->attrs
[COLOR_model__MParameter___is_vararg
].s
= p0
; /* _is_vararg on <self:Object(MParameter)> */
1545 /* method model#MParameter#init for (self: MParameter, String, MType, Bool) */
1546 void model__MParameter__init(val
* self
, val
* p0
, val
* p1
, short int p2
) {
1547 val
* var_name
/* var name: String */;
1548 val
* var_mtype
/* var mtype: MType */;
1549 short int var_is_vararg
/* var is_vararg: Bool */;
1551 { /* Inline model_base#MEntity#init (self) on <self:MParameter> */
1559 { /* Inline model#MParameter#name= (self,var_name) on <self:MParameter> */
1560 self
->attrs
[COLOR_model__MParameter___name
].val
= var_name
; /* _name on <self:MParameter> */
1565 { /* Inline model#MParameter#mtype= (self,var_mtype) on <self:MParameter> */
1566 self
->attrs
[COLOR_model__MParameter___mtype
].val
= var_mtype
; /* _mtype on <self:MParameter> */
1571 { /* Inline model#MParameter#is_vararg= (self,var_is_vararg) on <self:MParameter> */
1572 self
->attrs
[COLOR_model__MParameter___is_vararg
].s
= var_is_vararg
; /* _is_vararg on <self:MParameter> */
1578 /* method model#MParameter#init for (self: Object, String, MType, Bool) */
1579 void VIRTUAL_model__MParameter__init(val
* self
, val
* p0
, val
* p1
, short int p2
) {
1580 model__MParameter__init(self
, p0
, p1
, p2
); /* Direct call model#MParameter#init on <self:Object(MParameter)>*/
1583 /* method model#MParameter#to_s for (self: MParameter): String */
1584 val
* model__MParameter__to_s(val
* self
) {
1585 val
* var
/* : String */;
1586 short int var1
/* : Bool */;
1587 short int var3
/* : Bool */;
1588 val
* var4
/* : String */;
1589 val
* var6
/* : String */;
1590 static val
* varonce
;
1591 val
* var7
/* : String */;
1592 char* var8
/* : NativeString */;
1593 long var9
/* : Int */;
1594 val
* var10
/* : FlatString */;
1595 val
* var11
/* : MType */;
1596 val
* var13
/* : MType */;
1597 static val
* varonce14
;
1598 val
* var15
/* : String */;
1599 char* var16
/* : NativeString */;
1600 long var17
/* : Int */;
1601 val
* var18
/* : FlatString */;
1602 val
* var19
/* : Array[Object] */;
1603 long var20
/* : Int */;
1604 val
* var21
/* : NativeArray[Object] */;
1605 val
* var22
/* : String */;
1606 val
* var23
/* : String */;
1607 val
* var25
/* : String */;
1608 static val
* varonce26
;
1609 val
* var27
/* : String */;
1610 char* var28
/* : NativeString */;
1611 long var29
/* : Int */;
1612 val
* var30
/* : FlatString */;
1613 val
* var31
/* : MType */;
1614 val
* var33
/* : MType */;
1615 val
* var34
/* : Array[Object] */;
1616 long var35
/* : Int */;
1617 val
* var36
/* : NativeArray[Object] */;
1618 val
* var37
/* : String */;
1620 { /* Inline model#MParameter#is_vararg (self) on <self:MParameter> */
1621 var3
= self
->attrs
[COLOR_model__MParameter___is_vararg
].s
; /* _is_vararg on <self:MParameter> */
1628 { /* Inline model#MParameter#name (self) on <self:MParameter> */
1629 var6
= self
->attrs
[COLOR_model__MParameter___name
].val
; /* _name on <self:MParameter> */
1630 if (unlikely(var6
== NULL
)) {
1631 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1632 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1549);
1644 var10
= string__NativeString__to_s_with_length(var8
, var9
);
1649 { /* Inline model#MParameter#mtype (self) on <self:MParameter> */
1650 var13
= self
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <self:MParameter> */
1651 if (unlikely(var13
== NULL
)) {
1652 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1653 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
1657 RET_LABEL12
:(void)0;
1665 var18
= string__NativeString__to_s_with_length(var16
, var17
);
1669 var19
= NEW_array__Array(&type_array__Arraykernel__Object
);
1670 { /* var19 = array_instance Array[Object] */
1672 var21
= NEW_array__NativeArray(var20
, &type_array__NativeArraykernel__Object
);
1673 ((struct instance_array__NativeArray
*)var21
)->values
[0] = (val
*) var4
;
1674 ((struct instance_array__NativeArray
*)var21
)->values
[1] = (val
*) var7
;
1675 ((struct instance_array__NativeArray
*)var21
)->values
[2] = (val
*) var11
;
1676 ((struct instance_array__NativeArray
*)var21
)->values
[3] = (val
*) var15
;
1678 ((void (*)(val
*, val
*, long))(var19
->class->vft
[COLOR_array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[Object]>*/;
1682 var22
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_string__Object__to_s
]))(var19
) /* to_s on <var19:Array[Object]>*/;
1688 { /* Inline model#MParameter#name (self) on <self:MParameter> */
1689 var25
= self
->attrs
[COLOR_model__MParameter___name
].val
; /* _name on <self:MParameter> */
1690 if (unlikely(var25
== NULL
)) {
1691 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1692 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1549);
1696 RET_LABEL24
:(void)0;
1704 var30
= string__NativeString__to_s_with_length(var28
, var29
);
1709 { /* Inline model#MParameter#mtype (self) on <self:MParameter> */
1710 var33
= self
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <self:MParameter> */
1711 if (unlikely(var33
== NULL
)) {
1712 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1713 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
1717 RET_LABEL32
:(void)0;
1720 var34
= NEW_array__Array(&type_array__Arraykernel__Object
);
1721 { /* var34 = array_instance Array[Object] */
1723 var36
= NEW_array__NativeArray(var35
, &type_array__NativeArraykernel__Object
);
1724 ((struct instance_array__NativeArray
*)var36
)->values
[0] = (val
*) var23
;
1725 ((struct instance_array__NativeArray
*)var36
)->values
[1] = (val
*) var27
;
1726 ((struct instance_array__NativeArray
*)var36
)->values
[2] = (val
*) var31
;
1728 ((void (*)(val
*, val
*, long))(var34
->class->vft
[COLOR_array__Array__with_native
]))(var34
, var36
, var35
) /* with_native on <var34:Array[Object]>*/;
1732 var37
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_string__Object__to_s
]))(var34
) /* to_s on <var34:Array[Object]>*/;
1740 /* method model#MParameter#to_s for (self: Object): String */
1741 val
* VIRTUAL_model__MParameter__to_s(val
* self
) {
1742 val
* var
/* : String */;
1743 val
* var1
/* : String */;
1744 var1
= model__MParameter__to_s(self
);
1749 /* method model#MParameter#resolve_for for (self: MParameter, MType, nullable MClassType, MModule, Bool): MParameter */
1750 val
* model__MParameter__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
1751 val
* var
/* : MParameter */;
1752 val
* var_mtype
/* var mtype: MType */;
1753 val
* var_anchor
/* var anchor: nullable MClassType */;
1754 val
* var_mmodule
/* var mmodule: MModule */;
1755 short int var_cleanup_virtual
/* var cleanup_virtual: Bool */;
1756 val
* var1
/* : MType */;
1757 val
* var3
/* : MType */;
1758 short int var4
/* : Bool */;
1759 short int var5
/* : Bool */;
1760 val
* var6
/* : MType */;
1761 val
* var8
/* : MType */;
1762 val
* var9
/* : MType */;
1763 val
* var_newtype
/* var newtype: MType */;
1764 val
* var10
/* : MParameter */;
1765 val
* var11
/* : String */;
1766 val
* var13
/* : String */;
1767 short int var14
/* : Bool */;
1768 short int var16
/* : Bool */;
1769 val
* var_res
/* var res: MParameter */;
1773 var_cleanup_virtual
= p3
;
1775 { /* Inline model#MParameter#mtype (self) on <self:MParameter> */
1776 var3
= self
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <self:MParameter> */
1777 if (unlikely(var3
== NULL
)) {
1778 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1779 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
1787 var4
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_model__MType__need_anchor
]))(var1
) /* need_anchor on <var1:MType>*/;
1796 { /* Inline model#MParameter#mtype (self) on <self:MParameter> */
1797 var8
= self
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <self:MParameter> */
1798 if (unlikely(var8
== NULL
)) {
1799 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1800 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
1808 var9
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var6
->class->vft
[COLOR_model__MType__resolve_for
]))(var6
, var_mtype
, var_anchor
, var_mmodule
, var_cleanup_virtual
) /* resolve_for on <var6:MType>*/;
1811 var10
= NEW_model__MParameter(&type_model__MParameter
);
1813 { /* Inline model#MParameter#name (self) on <self:MParameter> */
1814 var13
= self
->attrs
[COLOR_model__MParameter___name
].val
; /* _name on <self:MParameter> */
1815 if (unlikely(var13
== NULL
)) {
1816 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1817 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1549);
1821 RET_LABEL12
:(void)0;
1825 { /* Inline model#MParameter#is_vararg (self) on <self:MParameter> */
1826 var16
= self
->attrs
[COLOR_model__MParameter___is_vararg
].s
; /* _is_vararg on <self:MParameter> */
1828 RET_LABEL15
:(void)0;
1832 model__MParameter__init(var10
, var11
, var_newtype
, var14
); /* Direct call model#MParameter#init on <var10:MParameter>*/
1840 /* method model#MParameter#resolve_for for (self: Object, MType, nullable MClassType, MModule, Bool): MParameter */
1841 val
* VIRTUAL_model__MParameter__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
1842 val
* var
/* : MParameter */;
1843 val
* var1
/* : MParameter */;
1844 var1
= model__MParameter__resolve_for(self
, p0
, p1
, p2
, p3
);
1849 /* method model#MParameter#model for (self: MParameter): Model */
1850 val
* model__MParameter__model(val
* self
) {
1851 val
* var
/* : Model */;
1852 val
* var1
/* : MType */;
1853 val
* var3
/* : MType */;
1854 val
* var4
/* : Model */;
1856 { /* Inline model#MParameter#mtype (self) on <self:MParameter> */
1857 var3
= self
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <self:MParameter> */
1858 if (unlikely(var3
== NULL
)) {
1859 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1860 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
1868 var4
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_model_base__MEntity__model
]))(var1
) /* model on <var1:MType>*/;
1875 /* method model#MParameter#model for (self: Object): Model */
1876 val
* VIRTUAL_model__MParameter__model(val
* self
) {
1877 val
* var
/* : Model */;
1878 val
* var1
/* : Model */;
1879 var1
= model__MParameter__model(self
);
1884 /* method model#MProperty#intro_mclassdef for (self: MProperty): MClassDef */
1885 val
* model__MProperty__intro_mclassdef(val
* self
) {
1886 val
* var
/* : MClassDef */;
1887 val
* var1
/* : MClassDef */;
1888 var1
= self
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <self:MProperty> */
1889 if (unlikely(var1
== NULL
)) {
1890 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
1891 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1602);
1898 /* method model#MProperty#intro_mclassdef for (self: Object): MClassDef */
1899 val
* VIRTUAL_model__MProperty__intro_mclassdef(val
* self
) {
1900 val
* var
/* : MClassDef */;
1901 val
* var1
/* : MClassDef */;
1902 val
* var3
/* : MClassDef */;
1903 { /* Inline model#MProperty#intro_mclassdef (self) on <self:Object(MProperty)> */
1904 var3
= self
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <self:Object(MProperty)> */
1905 if (unlikely(var3
== NULL
)) {
1906 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
1907 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1602);
1917 /* method model#MProperty#intro_mclassdef= for (self: MProperty, MClassDef) */
1918 void model__MProperty__intro_mclassdef_61d(val
* self
, val
* p0
) {
1919 self
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
= p0
; /* _intro_mclassdef on <self:MProperty> */
1922 /* method model#MProperty#intro_mclassdef= for (self: Object, MClassDef) */
1923 void VIRTUAL_model__MProperty__intro_mclassdef_61d(val
* self
, val
* p0
) {
1924 { /* Inline model#MProperty#intro_mclassdef= (self,p0) on <self:Object(MProperty)> */
1925 self
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
= p0
; /* _intro_mclassdef on <self:Object(MProperty)> */
1930 /* method model#MProperty#name for (self: MProperty): String */
1931 val
* model__MProperty__name(val
* self
) {
1932 val
* var
/* : String */;
1933 val
* var1
/* : String */;
1934 var1
= self
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <self:MProperty> */
1935 if (unlikely(var1
== NULL
)) {
1936 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1937 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1607);
1944 /* method model#MProperty#name for (self: Object): String */
1945 val
* VIRTUAL_model__MProperty__name(val
* self
) {
1946 val
* var
/* : String */;
1947 val
* var1
/* : String */;
1948 val
* var3
/* : String */;
1949 { /* Inline model#MProperty#name (self) on <self:Object(MProperty)> */
1950 var3
= self
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <self:Object(MProperty)> */
1951 if (unlikely(var3
== NULL
)) {
1952 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1953 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1607);
1963 /* method model#MProperty#name= for (self: MProperty, String) */
1964 void model__MProperty__name_61d(val
* self
, val
* p0
) {
1965 self
->attrs
[COLOR_model__MProperty___name
].val
= p0
; /* _name on <self:MProperty> */
1968 /* method model#MProperty#name= for (self: Object, String) */
1969 void VIRTUAL_model__MProperty__name_61d(val
* self
, val
* p0
) {
1970 { /* Inline model#MProperty#name= (self,p0) on <self:Object(MProperty)> */
1971 self
->attrs
[COLOR_model__MProperty___name
].val
= p0
; /* _name on <self:Object(MProperty)> */
1976 /* method model#MProperty#full_name for (self: MProperty): String */
1977 val
* model__MProperty__full_name(val
* self
) {
1978 val
* var
/* : String */;
1979 val
* var1
/* : MClassDef */;
1980 val
* var3
/* : MClassDef */;
1981 val
* var4
/* : MModule */;
1982 val
* var6
/* : MModule */;
1983 val
* var7
/* : String */;
1984 static val
* varonce
;
1985 val
* var8
/* : String */;
1986 char* var9
/* : NativeString */;
1987 long var10
/* : Int */;
1988 val
* var11
/* : FlatString */;
1989 val
* var12
/* : MClassDef */;
1990 val
* var14
/* : MClassDef */;
1991 val
* var15
/* : MClass */;
1992 val
* var17
/* : MClass */;
1993 val
* var18
/* : String */;
1994 val
* var20
/* : String */;
1995 static val
* varonce21
;
1996 val
* var22
/* : String */;
1997 char* var23
/* : NativeString */;
1998 long var24
/* : Int */;
1999 val
* var25
/* : FlatString */;
2000 val
* var26
/* : String */;
2001 val
* var28
/* : String */;
2002 val
* var29
/* : Array[Object] */;
2003 long var30
/* : Int */;
2004 val
* var31
/* : NativeArray[Object] */;
2005 val
* var32
/* : String */;
2007 { /* Inline model#MProperty#intro_mclassdef (self) on <self:MProperty> */
2008 var3
= self
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <self:MProperty> */
2009 if (unlikely(var3
== NULL
)) {
2010 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
2011 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1602);
2019 { /* Inline model#MClassDef#mmodule (var1) on <var1:MClassDef> */
2020 var6
= var1
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var1:MClassDef> */
2021 if (unlikely(var6
== NULL
)) {
2022 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2023 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
2031 var7
= mmodule__MModule__full_name(var4
);
2038 var11
= string__NativeString__to_s_with_length(var9
, var10
);
2043 { /* Inline model#MProperty#intro_mclassdef (self) on <self:MProperty> */
2044 var14
= self
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <self:MProperty> */
2045 if (unlikely(var14
== NULL
)) {
2046 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
2047 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1602);
2051 RET_LABEL13
:(void)0;
2055 { /* Inline model#MClassDef#mclass (var12) on <var12:MClassDef> */
2056 var17
= var12
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var12:MClassDef> */
2057 if (unlikely(var17
== NULL
)) {
2058 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2059 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 474);
2063 RET_LABEL16
:(void)0;
2067 { /* Inline model#MClass#name (var15) on <var15:MClass> */
2068 var20
= var15
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var15:MClass> */
2069 if (unlikely(var20
== NULL
)) {
2070 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2071 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 340);
2075 RET_LABEL19
:(void)0;
2083 var25
= string__NativeString__to_s_with_length(var23
, var24
);
2088 { /* Inline model#MProperty#name (self) on <self:MProperty> */
2089 var28
= self
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <self:MProperty> */
2090 if (unlikely(var28
== NULL
)) {
2091 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2092 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1607);
2096 RET_LABEL27
:(void)0;
2099 var29
= NEW_array__Array(&type_array__Arraykernel__Object
);
2100 { /* var29 = array_instance Array[Object] */
2102 var31
= NEW_array__NativeArray(var30
, &type_array__NativeArraykernel__Object
);
2103 ((struct instance_array__NativeArray
*)var31
)->values
[0] = (val
*) var7
;
2104 ((struct instance_array__NativeArray
*)var31
)->values
[1] = (val
*) var8
;
2105 ((struct instance_array__NativeArray
*)var31
)->values
[2] = (val
*) var18
;
2106 ((struct instance_array__NativeArray
*)var31
)->values
[3] = (val
*) var22
;
2107 ((struct instance_array__NativeArray
*)var31
)->values
[4] = (val
*) var26
;
2109 ((void (*)(val
*, val
*, long))(var29
->class->vft
[COLOR_array__Array__with_native
]))(var29
, var31
, var30
) /* with_native on <var29:Array[Object]>*/;
2113 var32
= ((val
* (*)(val
*))(var29
->class->vft
[COLOR_string__Object__to_s
]))(var29
) /* to_s on <var29:Array[Object]>*/;
2120 /* method model#MProperty#full_name for (self: Object): String */
2121 val
* VIRTUAL_model__MProperty__full_name(val
* self
) {
2122 val
* var
/* : String */;
2123 val
* var1
/* : String */;
2124 var1
= model__MProperty__full_name(self
);
2129 /* method model#MProperty#visibility for (self: MProperty): MVisibility */
2130 val
* model__MProperty__visibility(val
* self
) {
2131 val
* var
/* : MVisibility */;
2132 val
* var1
/* : MVisibility */;
2133 var1
= self
->attrs
[COLOR_model__MProperty___visibility
].val
; /* _visibility on <self:MProperty> */
2134 if (unlikely(var1
== NULL
)) {
2135 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
2136 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1617);
2143 /* method model#MProperty#visibility for (self: Object): MVisibility */
2144 val
* VIRTUAL_model__MProperty__visibility(val
* self
) {
2145 val
* var
/* : MVisibility */;
2146 val
* var1
/* : MVisibility */;
2147 val
* var3
/* : MVisibility */;
2148 { /* Inline model#MProperty#visibility (self) on <self:Object(MProperty)> */
2149 var3
= self
->attrs
[COLOR_model__MProperty___visibility
].val
; /* _visibility on <self:Object(MProperty)> */
2150 if (unlikely(var3
== NULL
)) {
2151 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
2152 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1617);
2162 /* method model#MProperty#visibility= for (self: MProperty, MVisibility) */
2163 void model__MProperty__visibility_61d(val
* self
, val
* p0
) {
2164 self
->attrs
[COLOR_model__MProperty___visibility
].val
= p0
; /* _visibility on <self:MProperty> */
2167 /* method model#MProperty#visibility= for (self: Object, MVisibility) */
2168 void VIRTUAL_model__MProperty__visibility_61d(val
* self
, val
* p0
) {
2169 { /* Inline model#MProperty#visibility= (self,p0) on <self:Object(MProperty)> */
2170 self
->attrs
[COLOR_model__MProperty___visibility
].val
= p0
; /* _visibility on <self:Object(MProperty)> */
2175 /* method model#MProperty#init for (self: MProperty, MClassDef, String, MVisibility) */
2176 void model__MProperty__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2177 val
* var_intro_mclassdef
/* var intro_mclassdef: MClassDef */;
2178 val
* var_name
/* var name: String */;
2179 val
* var_visibility
/* var visibility: MVisibility */;
2180 val
* var
/* : Array[MProperty] */;
2181 val
* var6
/* : Array[MProperty] */;
2182 val
* var7
/* : MModule */;
2183 val
* var9
/* : MModule */;
2184 val
* var10
/* : Model */;
2185 val
* var12
/* : Model */;
2186 val
* var_model
/* var model: Model */;
2187 val
* var13
/* : MultiHashMap[String, MProperty] */;
2188 val
* var15
/* : MultiHashMap[String, MProperty] */;
2189 val
* var16
/* : Array[MProperty] */;
2190 val
* var18
/* : Array[MProperty] */;
2192 { /* Inline model_base#MEntity#init (self) on <self:MProperty> */
2196 var_intro_mclassdef
= p0
;
2198 var_visibility
= p2
;
2200 { /* Inline model#MProperty#intro_mclassdef= (self,var_intro_mclassdef) on <self:MProperty> */
2201 self
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
= var_intro_mclassdef
; /* _intro_mclassdef on <self:MProperty> */
2206 { /* Inline model#MProperty#name= (self,var_name) on <self:MProperty> */
2207 self
->attrs
[COLOR_model__MProperty___name
].val
= var_name
; /* _name on <self:MProperty> */
2212 { /* Inline model#MProperty#visibility= (self,var_visibility) on <self:MProperty> */
2213 self
->attrs
[COLOR_model__MProperty___visibility
].val
= var_visibility
; /* _visibility on <self:MProperty> */
2218 { /* Inline model#MClassDef#intro_mproperties (var_intro_mclassdef) on <var_intro_mclassdef:MClassDef> */
2219 var6
= var_intro_mclassdef
->attrs
[COLOR_model__MClassDef___intro_mproperties
].val
; /* _intro_mproperties on <var_intro_mclassdef:MClassDef> */
2220 if (unlikely(var6
== NULL
)) {
2221 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mproperties");
2222 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 571);
2230 array__Array__add(var
, self
); /* Direct call array#Array#add on <var:Array[MProperty]>*/
2233 { /* Inline model#MClassDef#mmodule (var_intro_mclassdef) on <var_intro_mclassdef:MClassDef> */
2234 var9
= var_intro_mclassdef
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_intro_mclassdef:MClassDef> */
2235 if (unlikely(var9
== NULL
)) {
2236 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2237 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
2245 { /* Inline mmodule#MModule#model (var7) on <var7:MModule> */
2246 var12
= var7
->attrs
[COLOR_mmodule__MModule___model
].val
; /* _model on <var7:MModule> */
2247 if (unlikely(var12
== NULL
)) {
2248 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
2249 PRINT_ERROR(" (%s:%d)\n", "src/model/mmodule.nit", 74);
2253 RET_LABEL11
:(void)0;
2258 { /* Inline model#Model#mproperties_by_name (var_model) on <var_model:Model> */
2259 var15
= var_model
->attrs
[COLOR_model__Model___mproperties_by_name
].val
; /* _mproperties_by_name on <var_model:Model> */
2260 if (unlikely(var15
== NULL
)) {
2261 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperties_by_name");
2262 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 86);
2266 RET_LABEL14
:(void)0;
2270 more_collections__MultiHashMap__add_one(var13
, var_name
, self
); /* Direct call more_collections#MultiHashMap#add_one on <var13:MultiHashMap[String, MProperty]>*/
2273 { /* Inline model#Model#mproperties (var_model) on <var_model:Model> */
2274 var18
= var_model
->attrs
[COLOR_model__Model___mproperties
].val
; /* _mproperties on <var_model:Model> */
2275 if (unlikely(var18
== NULL
)) {
2276 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperties");
2277 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 39);
2281 RET_LABEL17
:(void)0;
2285 array__Array__add(var16
, self
); /* Direct call array#Array#add on <var16:Array[MProperty]>*/
2289 /* method model#MProperty#init for (self: Object, MClassDef, String, MVisibility) */
2290 void VIRTUAL_model__MProperty__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2291 model__MProperty__init(self
, p0
, p1
, p2
); /* Direct call model#MProperty#init on <self:Object(MProperty)>*/
2294 /* method model#MProperty#mpropdefs for (self: MProperty): Array[MPropDef] */
2295 val
* model__MProperty__mpropdefs(val
* self
) {
2296 val
* var
/* : Array[MPropDef] */;
2297 val
* var1
/* : Array[MPropDef] */;
2298 var1
= self
->attrs
[COLOR_model__MProperty___mpropdefs
].val
; /* _mpropdefs on <self:MProperty> */
2299 if (unlikely(var1
== NULL
)) {
2300 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
2301 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1631);
2308 /* method model#MProperty#mpropdefs for (self: Object): Array[MPropDef] */
2309 val
* VIRTUAL_model__MProperty__mpropdefs(val
* self
) {
2310 val
* var
/* : Array[MPropDef] */;
2311 val
* var1
/* : Array[MPropDef] */;
2312 val
* var3
/* : Array[MPropDef] */;
2313 { /* Inline model#MProperty#mpropdefs (self) on <self:Object(MProperty)> */
2314 var3
= self
->attrs
[COLOR_model__MProperty___mpropdefs
].val
; /* _mpropdefs on <self:Object(MProperty)> */
2315 if (unlikely(var3
== NULL
)) {
2316 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
2317 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1631);
2327 /* method model#MProperty#intro for (self: MProperty): MPropDef */
2328 val
* model__MProperty__intro(val
* self
) {
2329 val
* var
/* : MPropDef */;
2330 val
* var1
/* : Array[MPropDef] */;
2331 val
* var3
/* : Array[MPropDef] */;
2332 val
* var4
/* : nullable Object */;
2334 { /* Inline model#MProperty#mpropdefs (self) on <self:MProperty> */
2335 var3
= self
->attrs
[COLOR_model__MProperty___mpropdefs
].val
; /* _mpropdefs on <self:MProperty> */
2336 if (unlikely(var3
== NULL
)) {
2337 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
2338 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1631);
2346 var4
= abstract_collection__SequenceRead__first(var1
);
2353 /* method model#MProperty#intro for (self: Object): MPropDef */
2354 val
* VIRTUAL_model__MProperty__intro(val
* self
) {
2355 val
* var
/* : MPropDef */;
2356 val
* var1
/* : MPropDef */;
2357 var1
= model__MProperty__intro(self
);
2362 /* method model#MProperty#model for (self: MProperty): Model */
2363 val
* model__MProperty__model(val
* self
) {
2364 val
* var
/* : Model */;
2365 val
* var1
/* : MPropDef */;
2366 val
* var2
/* : Model */;
2368 var1
= model__MProperty__intro(self
);
2371 var2
= model__MPropDef__model(var1
);
2378 /* method model#MProperty#model for (self: Object): Model */
2379 val
* VIRTUAL_model__MProperty__model(val
* self
) {
2380 val
* var
/* : Model */;
2381 val
* var1
/* : Model */;
2382 var1
= model__MProperty__model(self
);
2387 /* method model#MProperty#to_s for (self: MProperty): String */
2388 val
* model__MProperty__to_s(val
* self
) {
2389 val
* var
/* : String */;
2390 val
* var1
/* : String */;
2391 val
* var3
/* : String */;
2393 { /* Inline model#MProperty#name (self) on <self:MProperty> */
2394 var3
= self
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <self:MProperty> */
2395 if (unlikely(var3
== NULL
)) {
2396 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2397 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1607);
2409 /* method model#MProperty#to_s for (self: Object): String */
2410 val
* VIRTUAL_model__MProperty__to_s(val
* self
) {
2411 val
* var
/* : String */;
2412 val
* var1
/* : String */;
2413 var1
= model__MProperty__to_s(self
);
2418 /* method model#MProperty#lookup_definitions for (self: MProperty, MModule, MType): Array[MPropDef] */
2419 val
* model__MProperty__lookup_definitions(val
* self
, val
* p0
, val
* p1
) {
2420 val
* var
/* : Array[MPropDef] */;
2421 val
* var_mmodule
/* var mmodule: MModule */;
2422 val
* var_mtype
/* var mtype: MType */;
2423 short int var1
/* : Bool */;
2424 short int var2
/* : Bool */;
2425 val
* var3
/* : MType */;
2426 val
* var4
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
2427 val
* var6
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
2428 val
* var7
/* : nullable Object */;
2429 val
* var_cache
/* var cache: nullable Array[MPropDef] */;
2430 val
* var8
/* : null */;
2431 short int var9
/* : Bool */;
2432 short int var10
/* : Bool */;
2433 val
* var_other
/* var other: nullable Object */;
2434 short int var12
/* : Bool */;
2435 short int var13
/* : Bool */;
2436 short int var14
/* : Bool */;
2437 val
* var15
/* : Array[MPropDef] */;
2438 val
* var_candidates
/* var candidates: Array[MPropDef] */;
2439 val
* var16
/* : Array[MPropDef] */;
2440 val
* var18
/* : Array[MPropDef] */;
2441 val
* var19
/* : ArrayIterator[nullable Object] */;
2442 short int var20
/* : Bool */;
2443 val
* var21
/* : nullable Object */;
2444 val
* var_mpropdef
/* var mpropdef: MPropDef */;
2445 val
* var22
/* : POSetElement[MModule] */;
2446 val
* var24
/* : POSetElement[MModule] */;
2447 val
* var25
/* : MClassDef */;
2448 val
* var27
/* : MClassDef */;
2449 val
* var28
/* : MModule */;
2450 val
* var30
/* : MModule */;
2451 short int var31
/* : Bool */;
2452 short int var32
/* : Bool */;
2453 val
* var33
/* : null */;
2454 val
* var34
/* : MClassDef */;
2455 val
* var36
/* : MClassDef */;
2456 val
* var37
/* : MClassType */;
2457 val
* var39
/* : MClassType */;
2458 short int var40
/* : Bool */;
2459 short int var41
/* : Bool */;
2460 long var42
/* : Int */;
2461 long var43
/* : Int */;
2462 short int var44
/* : Bool */;
2463 short int var46
/* : Bool */;
2466 const char* var_class_name
;
2467 short int var47
/* : Bool */;
2468 val
* var48
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
2469 val
* var50
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
2470 val
* var51
/* : Array[MPropDef] */;
2474 var1
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
2477 if (unlikely(!var2
)) {
2478 PRINT_ERROR("Runtime error: %s", "Assert failed");
2479 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1655);
2483 var3
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__as_notnullable
]))(var_mtype
) /* as_notnullable on <var_mtype:MType>*/;
2487 { /* Inline model#MProperty#lookup_definitions_cache (self) on <self:MProperty> */
2488 var6
= self
->attrs
[COLOR_model__MProperty___lookup_definitions_cache
].val
; /* _lookup_definitions_cache on <self:MProperty> */
2489 if (unlikely(var6
== NULL
)) {
2490 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_definitions_cache");
2491 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1682);
2499 var7
= more_collections__HashMap2___91d_93d(var4
, var_mmodule
, var_mtype
);
2503 if (var_cache
== NULL
) {
2504 var9
= 0; /* is null */
2506 var9
= 1; /* arg is null and recv is not */
2509 { /* Inline kernel#Object#!= (var_cache,var8) on <var_cache:nullable Array[MPropDef]> */
2512 var13
= ((short int (*)(val
*, val
*))(var_cache
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_cache
, var_other
) /* == on <var_cache:nullable Array[MPropDef](Array[MPropDef])>*/;
2518 RET_LABEL11
:(void)0;
2527 var15
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arraymodel__MProperty_VTMPROPDEF
]);
2529 array__Array__init(var15
); /* Direct call array#Array#init on <var15:Array[MPropDef]>*/
2531 var_candidates
= var15
;
2533 { /* Inline model#MProperty#mpropdefs (self) on <self:MProperty> */
2534 var18
= self
->attrs
[COLOR_model__MProperty___mpropdefs
].val
; /* _mpropdefs on <self:MProperty> */
2535 if (unlikely(var18
== NULL
)) {
2536 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
2537 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1631);
2541 RET_LABEL17
:(void)0;
2545 var19
= array__AbstractArrayRead__iterator(var16
);
2549 var20
= array__ArrayIterator__is_ok(var19
);
2553 var21
= array__ArrayIterator__item(var19
);
2555 var_mpropdef
= var21
;
2557 { /* Inline mmodule#MModule#in_importation (var_mmodule) on <var_mmodule:MModule> */
2558 var24
= var_mmodule
->attrs
[COLOR_mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mmodule:MModule> */
2559 if (unlikely(var24
== NULL
)) {
2560 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
2561 PRINT_ERROR(" (%s:%d)\n", "src/model/mmodule.nit", 101);
2565 RET_LABEL23
:(void)0;
2569 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MPropDef> */
2570 var27
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MPropDef> */
2571 if (unlikely(var27
== NULL
)) {
2572 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2573 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
2577 RET_LABEL26
:(void)0;
2581 { /* Inline model#MClassDef#mmodule (var25) on <var25:MClassDef> */
2582 var30
= var25
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var25:MClassDef> */
2583 if (unlikely(var30
== NULL
)) {
2584 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2585 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
2589 RET_LABEL29
:(void)0;
2593 var31
= poset__POSetElement___60d_61d(var22
, var28
);
2597 goto CONTINUE_label
;
2602 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MPropDef> */
2603 var36
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MPropDef> */
2604 if (unlikely(var36
== NULL
)) {
2605 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2606 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
2610 RET_LABEL35
:(void)0;
2614 { /* Inline model#MClassDef#bound_mtype (var34) on <var34:MClassDef> */
2615 var39
= var34
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var34:MClassDef> */
2616 if (unlikely(var39
== NULL
)) {
2617 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2618 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
2622 RET_LABEL38
:(void)0;
2626 var40
= model__MType__is_subtype(var_mtype
, var_mmodule
, var33
, var37
);
2630 goto CONTINUE_label
;
2634 array__Array__add(var_candidates
, var_mpropdef
); /* Direct call array#Array#add on <var_candidates:Array[MPropDef]>*/
2636 CONTINUE_label
: (void)0;
2638 array__ArrayIterator__next(var19
); /* Direct call array#ArrayIterator#next on <var19:ArrayIterator[nullable Object]>*/
2641 BREAK_label
: (void)0;
2643 var42
= array__AbstractArrayRead__length(var_candidates
);
2647 { /* Inline kernel#Int#<= (var42,var43) on <var42:Int> */
2648 /* Covariant cast for argument 0 (i) <var43:Int> isa OTHER */
2649 /* <var43:Int> isa OTHER */
2650 var46
= 1; /* easy <var43:Int> isa OTHER*/
2651 if (unlikely(!var46
)) {
2652 var_class_name
= type_kernel__Int
.name
;
2653 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2654 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 324);
2657 var47
= var42
<= var43
;
2660 RET_LABEL45
:(void)0;
2665 { /* Inline model#MProperty#lookup_definitions_cache (self) on <self:MProperty> */
2666 var50
= self
->attrs
[COLOR_model__MProperty___lookup_definitions_cache
].val
; /* _lookup_definitions_cache on <self:MProperty> */
2667 if (unlikely(var50
== NULL
)) {
2668 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_definitions_cache");
2669 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1682);
2673 RET_LABEL49
:(void)0;
2677 more_collections__HashMap2___91d_93d_61d(var48
, var_mmodule
, var_mtype
, var_candidates
); /* Direct call more_collections#HashMap2#[]= on <var48:HashMap2[MModule, MType, Array[MPropDef]]>*/
2679 var
= var_candidates
;
2684 var51
= model__MProperty__select_most_specific(self
, var_mmodule
, var_candidates
);
2691 /* method model#MProperty#lookup_definitions for (self: Object, MModule, MType): Array[MPropDef] */
2692 val
* VIRTUAL_model__MProperty__lookup_definitions(val
* self
, val
* p0
, val
* p1
) {
2693 val
* var
/* : Array[MPropDef] */;
2694 val
* var1
/* : Array[MPropDef] */;
2695 var1
= model__MProperty__lookup_definitions(self
, p0
, p1
);
2700 /* method model#MProperty#lookup_definitions_cache for (self: MProperty): HashMap2[MModule, MType, Array[MPropDef]] */
2701 val
* model__MProperty__lookup_definitions_cache(val
* self
) {
2702 val
* var
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
2703 val
* var1
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
2704 var1
= self
->attrs
[COLOR_model__MProperty___lookup_definitions_cache
].val
; /* _lookup_definitions_cache on <self:MProperty> */
2705 if (unlikely(var1
== NULL
)) {
2706 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_definitions_cache");
2707 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1682);
2714 /* method model#MProperty#lookup_definitions_cache for (self: Object): HashMap2[MModule, MType, Array[MPropDef]] */
2715 val
* VIRTUAL_model__MProperty__lookup_definitions_cache(val
* self
) {
2716 val
* var
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
2717 val
* var1
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
2718 val
* var3
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
2719 { /* Inline model#MProperty#lookup_definitions_cache (self) on <self:Object(MProperty)> */
2720 var3
= self
->attrs
[COLOR_model__MProperty___lookup_definitions_cache
].val
; /* _lookup_definitions_cache on <self:Object(MProperty)> */
2721 if (unlikely(var3
== NULL
)) {
2722 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_definitions_cache");
2723 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1682);
2733 /* method model#MProperty#lookup_super_definitions for (self: MProperty, MModule, MType): Array[MPropDef] */
2734 val
* model__MProperty__lookup_super_definitions(val
* self
, val
* p0
, val
* p1
) {
2735 val
* var
/* : Array[MPropDef] */;
2736 val
* var_mmodule
/* var mmodule: MModule */;
2737 val
* var_mtype
/* var mtype: MType */;
2738 short int var1
/* : Bool */;
2739 short int var2
/* : Bool */;
2740 val
* var3
/* : MType */;
2741 val
* var4
/* : Array[MPropDef] */;
2742 val
* var_candidates
/* var candidates: Array[MPropDef] */;
2743 val
* var5
/* : Array[MPropDef] */;
2744 val
* var7
/* : Array[MPropDef] */;
2745 val
* var8
/* : ArrayIterator[nullable Object] */;
2746 short int var9
/* : Bool */;
2747 val
* var10
/* : nullable Object */;
2748 val
* var_mpropdef
/* var mpropdef: MPropDef */;
2749 val
* var11
/* : POSetElement[MModule] */;
2750 val
* var13
/* : POSetElement[MModule] */;
2751 val
* var14
/* : MClassDef */;
2752 val
* var16
/* : MClassDef */;
2753 val
* var17
/* : MModule */;
2754 val
* var19
/* : MModule */;
2755 short int var20
/* : Bool */;
2756 short int var21
/* : Bool */;
2757 val
* var22
/* : null */;
2758 val
* var23
/* : MClassDef */;
2759 val
* var25
/* : MClassDef */;
2760 val
* var26
/* : MClassType */;
2761 val
* var28
/* : MClassType */;
2762 short int var29
/* : Bool */;
2763 short int var30
/* : Bool */;
2764 short int var31
/* : Bool */;
2765 val
* var32
/* : MClassDef */;
2766 val
* var34
/* : MClassDef */;
2767 val
* var35
/* : MClassType */;
2768 val
* var37
/* : MClassType */;
2769 short int var38
/* : Bool */;
2770 short int var39
/* : Bool */;
2771 val
* var_other
/* var other: nullable Object */;
2772 short int var41
/* : Bool */;
2773 short int var43
/* : Bool */;
2774 short int var_
/* var : Bool */;
2775 val
* var44
/* : MClassDef */;
2776 val
* var46
/* : MClassDef */;
2777 val
* var47
/* : MModule */;
2778 val
* var49
/* : MModule */;
2779 short int var50
/* : Bool */;
2780 short int var51
/* : Bool */;
2781 short int var53
/* : Bool */;
2782 short int var55
/* : Bool */;
2783 long var56
/* : Int */;
2784 long var57
/* : Int */;
2785 short int var58
/* : Bool */;
2786 short int var60
/* : Bool */;
2789 const char* var_class_name
;
2790 short int var61
/* : Bool */;
2791 val
* var62
/* : Array[MPropDef] */;
2795 var1
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
2798 if (unlikely(!var2
)) {
2799 PRINT_ERROR("Runtime error: %s", "Assert failed");
2800 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1694);
2804 var3
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__as_notnullable
]))(var_mtype
) /* as_notnullable on <var_mtype:MType>*/;
2807 var4
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arraymodel__MProperty_VTMPROPDEF
]);
2809 array__Array__init(var4
); /* Direct call array#Array#init on <var4:Array[MPropDef]>*/
2811 var_candidates
= var4
;
2813 { /* Inline model#MProperty#mpropdefs (self) on <self:MProperty> */
2814 var7
= self
->attrs
[COLOR_model__MProperty___mpropdefs
].val
; /* _mpropdefs on <self:MProperty> */
2815 if (unlikely(var7
== NULL
)) {
2816 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
2817 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1631);
2825 var8
= array__AbstractArrayRead__iterator(var5
);
2829 var9
= array__ArrayIterator__is_ok(var8
);
2833 var10
= array__ArrayIterator__item(var8
);
2835 var_mpropdef
= var10
;
2837 { /* Inline mmodule#MModule#in_importation (var_mmodule) on <var_mmodule:MModule> */
2838 var13
= var_mmodule
->attrs
[COLOR_mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mmodule:MModule> */
2839 if (unlikely(var13
== NULL
)) {
2840 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
2841 PRINT_ERROR(" (%s:%d)\n", "src/model/mmodule.nit", 101);
2845 RET_LABEL12
:(void)0;
2849 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MPropDef> */
2850 var16
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MPropDef> */
2851 if (unlikely(var16
== NULL
)) {
2852 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2853 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
2857 RET_LABEL15
:(void)0;
2861 { /* Inline model#MClassDef#mmodule (var14) on <var14:MClassDef> */
2862 var19
= var14
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var14:MClassDef> */
2863 if (unlikely(var19
== NULL
)) {
2864 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2865 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
2869 RET_LABEL18
:(void)0;
2873 var20
= poset__POSetElement___60d_61d(var11
, var17
);
2877 goto CONTINUE_label
;
2882 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MPropDef> */
2883 var25
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MPropDef> */
2884 if (unlikely(var25
== NULL
)) {
2885 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2886 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
2890 RET_LABEL24
:(void)0;
2894 { /* Inline model#MClassDef#bound_mtype (var23) on <var23:MClassDef> */
2895 var28
= var23
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var23:MClassDef> */
2896 if (unlikely(var28
== NULL
)) {
2897 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2898 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
2902 RET_LABEL27
:(void)0;
2906 var29
= model__MType__is_subtype(var_mtype
, var_mmodule
, var22
, var26
);
2910 goto CONTINUE_label
;
2914 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MPropDef> */
2915 var34
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MPropDef> */
2916 if (unlikely(var34
== NULL
)) {
2917 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2918 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
2922 RET_LABEL33
:(void)0;
2926 { /* Inline model#MClassDef#bound_mtype (var32) on <var32:MClassDef> */
2927 var37
= var32
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var32:MClassDef> */
2928 if (unlikely(var37
== NULL
)) {
2929 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2930 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
2934 RET_LABEL36
:(void)0;
2938 { /* Inline kernel#Object#== (var_mtype,var35) on <var_mtype:MType> */
2941 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:MType> */
2942 var43
= var_mtype
== var_other
;
2945 RET_LABEL42
:(void)0;
2950 RET_LABEL40
:(void)0;
2957 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MPropDef> */
2958 var46
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MPropDef> */
2959 if (unlikely(var46
== NULL
)) {
2960 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2961 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
2965 RET_LABEL45
:(void)0;
2969 { /* Inline model#MClassDef#mmodule (var44) on <var44:MClassDef> */
2970 var49
= var44
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var44:MClassDef> */
2971 if (unlikely(var49
== NULL
)) {
2972 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2973 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
2977 RET_LABEL48
:(void)0;
2981 { /* Inline kernel#Object#== (var_mmodule,var47) on <var_mmodule:MModule> */
2984 { /* Inline kernel#Object#is_same_instance (var_mmodule,var_other) on <var_mmodule:MModule> */
2985 var55
= var_mmodule
== var_other
;
2988 RET_LABEL54
:(void)0;
2993 RET_LABEL52
:(void)0;
3002 goto CONTINUE_label
;
3006 array__Array__add(var_candidates
, var_mpropdef
); /* Direct call array#Array#add on <var_candidates:Array[MPropDef]>*/
3008 CONTINUE_label
: (void)0;
3010 array__ArrayIterator__next(var8
); /* Direct call array#ArrayIterator#next on <var8:ArrayIterator[nullable Object]>*/
3013 BREAK_label
: (void)0;
3015 var56
= array__AbstractArrayRead__length(var_candidates
);
3019 { /* Inline kernel#Int#<= (var56,var57) on <var56:Int> */
3020 /* Covariant cast for argument 0 (i) <var57:Int> isa OTHER */
3021 /* <var57:Int> isa OTHER */
3022 var60
= 1; /* easy <var57:Int> isa OTHER*/
3023 if (unlikely(!var60
)) {
3024 var_class_name
= type_kernel__Int
.name
;
3025 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3026 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 324);
3029 var61
= var56
<= var57
;
3032 RET_LABEL59
:(void)0;
3036 var
= var_candidates
;
3041 var62
= model__MProperty__select_most_specific(self
, var_mmodule
, var_candidates
);
3048 /* method model#MProperty#lookup_super_definitions for (self: Object, MModule, MType): Array[MPropDef] */
3049 val
* VIRTUAL_model__MProperty__lookup_super_definitions(val
* self
, val
* p0
, val
* p1
) {
3050 val
* var
/* : Array[MPropDef] */;
3051 val
* var1
/* : Array[MPropDef] */;
3052 var1
= model__MProperty__lookup_super_definitions(self
, p0
, p1
);
3057 /* method model#MProperty#select_most_specific for (self: MProperty, MModule, Array[MPropDef]): Array[MPropDef] */
3058 val
* model__MProperty__select_most_specific(val
* self
, val
* p0
, val
* p1
) {
3059 val
* var
/* : Array[MPropDef] */;
3060 short int var1
/* : Bool */;
3063 const struct type
* type_struct
;
3064 const char* var_class_name
;
3065 val
* var_mmodule
/* var mmodule: MModule */;
3066 val
* var_candidates
/* var candidates: Array[MPropDef] */;
3067 val
* var2
/* : Array[MPropDef] */;
3068 val
* var_res
/* var res: Array[MPropDef] */;
3069 val
* var3
/* : ArrayIterator[nullable Object] */;
3070 short int var4
/* : Bool */;
3071 val
* var5
/* : nullable Object */;
3072 val
* var_pd1
/* var pd1: MPropDef */;
3073 val
* var6
/* : MClassDef */;
3074 val
* var8
/* : MClassDef */;
3075 val
* var_cd1
/* var cd1: MClassDef */;
3076 val
* var9
/* : MClass */;
3077 val
* var11
/* : MClass */;
3078 val
* var_c1
/* var c1: MClass */;
3079 short int var12
/* : Bool */;
3080 short int var_keep
/* var keep: Bool */;
3081 val
* var13
/* : ArrayIterator[nullable Object] */;
3082 short int var14
/* : Bool */;
3083 val
* var15
/* : nullable Object */;
3084 val
* var_pd2
/* var pd2: MPropDef */;
3085 short int var16
/* : Bool */;
3086 short int var17
/* : Bool */;
3087 val
* var_other
/* var other: nullable Object */;
3088 short int var19
/* : Bool */;
3089 short int var21
/* : Bool */;
3090 val
* var22
/* : MClassDef */;
3091 val
* var24
/* : MClassDef */;
3092 val
* var_cd2
/* var cd2: MClassDef */;
3093 val
* var25
/* : MClass */;
3094 val
* var27
/* : MClass */;
3095 val
* var_c2
/* var c2: MClass */;
3096 val
* var28
/* : MClassType */;
3097 val
* var30
/* : MClassType */;
3098 val
* var31
/* : MClassType */;
3099 val
* var33
/* : MClassType */;
3100 short int var34
/* : Bool */;
3101 short int var35
/* : Bool */;
3102 short int var37
/* : Bool */;
3103 short int var39
/* : Bool */;
3104 val
* var40
/* : MModule */;
3105 val
* var42
/* : MModule */;
3106 val
* var43
/* : POSetElement[MModule] */;
3107 val
* var45
/* : POSetElement[MModule] */;
3108 val
* var46
/* : MModule */;
3109 val
* var48
/* : MModule */;
3110 short int var49
/* : Bool */;
3111 short int var50
/* : Bool */;
3112 short int var51
/* : Bool */;
3113 val
* var52
/* : MClassType */;
3114 val
* var54
/* : MClassType */;
3115 val
* var55
/* : null */;
3116 val
* var56
/* : MClassType */;
3117 val
* var58
/* : MClassType */;
3118 short int var59
/* : Bool */;
3119 short int var_
/* var : Bool */;
3120 val
* var60
/* : MClassType */;
3121 val
* var62
/* : MClassType */;
3122 val
* var63
/* : MClassType */;
3123 val
* var65
/* : MClassType */;
3124 short int var66
/* : Bool */;
3125 short int var67
/* : Bool */;
3126 val
* var_other69
/* var other: nullable Object */;
3127 short int var70
/* : Bool */;
3128 short int var71
/* : Bool */;
3129 short int var72
/* : Bool */;
3130 short int var73
/* : Bool */;
3131 short int var75
/* : Bool */;
3132 static val
* varonce
;
3133 val
* var76
/* : String */;
3134 char* var77
/* : NativeString */;
3135 long var78
/* : Int */;
3136 val
* var79
/* : FlatString */;
3137 static val
* varonce80
;
3138 val
* var81
/* : String */;
3139 char* var82
/* : NativeString */;
3140 long var83
/* : Int */;
3141 val
* var84
/* : FlatString */;
3142 val
* var85
/* : String */;
3143 val
* var86
/* : Array[Object] */;
3144 long var87
/* : Int */;
3145 val
* var88
/* : NativeArray[Object] */;
3146 val
* var89
/* : String */;
3147 /* Covariant cast for argument 1 (candidates) <p1:Array[MPropDef]> isa Array[MPROPDEF] */
3148 /* <p1:Array[MPropDef]> isa Array[MPROPDEF] */
3149 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__Arraymodel__MProperty_VTMPROPDEF
];
3150 cltype
= type_struct
->color
;
3151 idtype
= type_struct
->id
;
3152 if(cltype
>= p1
->type
->table_size
) {
3155 var1
= p1
->type
->type_table
[cltype
] == idtype
;
3157 if (unlikely(!var1
)) {
3158 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
3159 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[MPROPDEF]", var_class_name
);
3160 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1716);
3164 var_candidates
= p1
;
3165 var2
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arraymodel__MProperty_VTMPROPDEF
]);
3167 array__Array__init(var2
); /* Direct call array#Array#init on <var2:Array[MPropDef]>*/
3171 var3
= array__AbstractArrayRead__iterator(var_candidates
);
3175 var4
= array__ArrayIterator__is_ok(var3
);
3179 var5
= array__ArrayIterator__item(var3
);
3183 { /* Inline model#MPropDef#mclassdef (var_pd1) on <var_pd1:MPropDef> */
3184 var8
= var_pd1
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_pd1:MPropDef> */
3185 if (unlikely(var8
== NULL
)) {
3186 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
3187 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
3196 { /* Inline model#MClassDef#mclass (var_cd1) on <var_cd1:MClassDef> */
3197 var11
= var_cd1
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_cd1:MClassDef> */
3198 if (unlikely(var11
== NULL
)) {
3199 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3200 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 474);
3204 RET_LABEL10
:(void)0;
3211 var13
= array__AbstractArrayRead__iterator(var_candidates
);
3215 var14
= array__ArrayIterator__is_ok(var13
);
3219 var15
= array__ArrayIterator__item(var13
);
3223 { /* Inline kernel#Object#== (var_pd2,var_pd1) on <var_pd2:MPropDef> */
3224 var_other
= var_pd1
;
3226 { /* Inline kernel#Object#is_same_instance (var_pd2,var_other) on <var_pd2:MPropDef> */
3227 var21
= var_pd2
== var_other
;
3230 RET_LABEL20
:(void)0;
3235 RET_LABEL18
:(void)0;
3240 goto CONTINUE_label
;
3244 { /* Inline model#MPropDef#mclassdef (var_pd2) on <var_pd2:MPropDef> */
3245 var24
= var_pd2
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_pd2:MPropDef> */
3246 if (unlikely(var24
== NULL
)) {
3247 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
3248 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
3252 RET_LABEL23
:(void)0;
3257 { /* Inline model#MClassDef#mclass (var_cd2) on <var_cd2:MClassDef> */
3258 var27
= var_cd2
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_cd2:MClassDef> */
3259 if (unlikely(var27
== NULL
)) {
3260 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3261 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 474);
3265 RET_LABEL26
:(void)0;
3270 { /* Inline model#MClass#mclass_type (var_c2) on <var_c2:MClass> */
3271 var30
= var_c2
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var_c2:MClass> */
3272 if (unlikely(var30
== NULL
)) {
3273 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
3274 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 417);
3278 RET_LABEL29
:(void)0;
3282 { /* Inline model#MClass#mclass_type (var_c1) on <var_c1:MClass> */
3283 var33
= var_c1
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var_c1:MClass> */
3284 if (unlikely(var33
== NULL
)) {
3285 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
3286 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 417);
3290 RET_LABEL32
:(void)0;
3294 { /* Inline kernel#Object#== (var28,var31) on <var28:MClassType> */
3297 { /* Inline kernel#Object#is_same_instance (var28,var_other) on <var28:MClassType> */
3298 var39
= var28
== var_other
;
3301 RET_LABEL38
:(void)0;
3306 RET_LABEL36
:(void)0;
3312 { /* Inline model#MClassDef#mmodule (var_cd2) on <var_cd2:MClassDef> */
3313 var42
= var_cd2
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_cd2:MClassDef> */
3314 if (unlikely(var42
== NULL
)) {
3315 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3316 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
3320 RET_LABEL41
:(void)0;
3324 { /* Inline mmodule#MModule#in_importation (var40) on <var40:MModule> */
3325 var45
= var40
->attrs
[COLOR_mmodule__MModule___in_importation
].val
; /* _in_importation on <var40:MModule> */
3326 if (unlikely(var45
== NULL
)) {
3327 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
3328 PRINT_ERROR(" (%s:%d)\n", "src/model/mmodule.nit", 101);
3332 RET_LABEL44
:(void)0;
3336 { /* Inline model#MClassDef#mmodule (var_cd1) on <var_cd1:MClassDef> */
3337 var48
= var_cd1
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_cd1:MClassDef> */
3338 if (unlikely(var48
== NULL
)) {
3339 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3340 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
3344 RET_LABEL47
:(void)0;
3348 var49
= poset__POSetElement___60d(var43
, var46
);
3358 { /* Inline model#MClassDef#bound_mtype (var_cd2) on <var_cd2:MClassDef> */
3359 var54
= var_cd2
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_cd2:MClassDef> */
3360 if (unlikely(var54
== NULL
)) {
3361 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3362 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
3366 RET_LABEL53
:(void)0;
3371 { /* Inline model#MClassDef#bound_mtype (var_cd1) on <var_cd1:MClassDef> */
3372 var58
= var_cd1
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_cd1:MClassDef> */
3373 if (unlikely(var58
== NULL
)) {
3374 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3375 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
3379 RET_LABEL57
:(void)0;
3383 var59
= model__MType__is_subtype(var52
, var_mmodule
, var55
, var56
);
3388 { /* Inline model#MClassDef#bound_mtype (var_cd2) on <var_cd2:MClassDef> */
3389 var62
= var_cd2
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_cd2:MClassDef> */
3390 if (unlikely(var62
== NULL
)) {
3391 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3392 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
3396 RET_LABEL61
:(void)0;
3400 { /* Inline model#MClassDef#bound_mtype (var_cd1) on <var_cd1:MClassDef> */
3401 var65
= var_cd1
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_cd1:MClassDef> */
3402 if (unlikely(var65
== NULL
)) {
3403 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3404 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
3408 RET_LABEL64
:(void)0;
3412 { /* Inline kernel#Object#!= (var60,var63) on <var60:MClassType> */
3413 var_other69
= var63
;
3415 var71
= ((short int (*)(val
*, val
*))(var60
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var60
, var_other69
) /* == on <var60:MClassType>*/;
3421 RET_LABEL68
:(void)0;
3436 CONTINUE_label
: (void)0;
3438 array__ArrayIterator__next(var13
); /* Direct call array#ArrayIterator#next on <var13:ArrayIterator[nullable Object]>*/
3441 BREAK_label
: (void)0;
3444 array__Array__add(var_res
, var_pd1
); /* Direct call array#Array#add on <var_res:Array[MPropDef]>*/
3448 CONTINUE_label74
: (void)0;
3450 array__ArrayIterator__next(var3
); /* Direct call array#ArrayIterator#next on <var3:ArrayIterator[nullable Object]>*/
3453 BREAK_label74
: (void)0;
3455 var75
= array__AbstractArrayRead__is_empty(var_res
);
3461 var77
= "All lost! ";
3463 var79
= string__NativeString__to_s_with_length(var77
, var78
);
3472 var84
= string__NativeString__to_s_with_length(var82
, var83
);
3477 var85
= string__Collection__join(var_candidates
, var81
);
3479 var86
= NEW_array__Array(&type_array__Arraykernel__Object
);
3480 { /* var86 = array_instance Array[Object] */
3482 var88
= NEW_array__NativeArray(var87
, &type_array__NativeArraykernel__Object
);
3483 ((struct instance_array__NativeArray
*)var88
)->values
[0] = (val
*) var76
;
3484 ((struct instance_array__NativeArray
*)var88
)->values
[1] = (val
*) var85
;
3486 ((void (*)(val
*, val
*, long))(var86
->class->vft
[COLOR_array__Array__with_native
]))(var86
, var88
, var87
) /* with_native on <var86:Array[Object]>*/;
3490 var89
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_string__Object__to_s
]))(var86
) /* to_s on <var86:Array[Object]>*/;
3493 file__Object__print(self
, var89
); /* Direct call file#Object#print on <self:MProperty>*/
3502 /* method model#MProperty#select_most_specific for (self: Object, MModule, Array[MPropDef]): Array[MPropDef] */
3503 val
* VIRTUAL_model__MProperty__select_most_specific(val
* self
, val
* p0
, val
* p1
) {
3504 val
* var
/* : Array[MPropDef] */;
3505 val
* var1
/* : Array[MPropDef] */;
3506 var1
= model__MProperty__select_most_specific(self
, p0
, p1
);
3511 /* method model#MProperty#lookup_first_definition for (self: MProperty, MModule, MType): MPropDef */
3512 val
* model__MProperty__lookup_first_definition(val
* self
, val
* p0
, val
* p1
) {
3513 val
* var
/* : MPropDef */;
3514 val
* var_mmodule
/* var mmodule: MModule */;
3515 val
* var_mtype
/* var mtype: MType */;
3516 short int var1
/* : Bool */;
3517 val
* var2
/* : Array[MPropDef] */;
3518 val
* var3
/* : nullable Object */;
3522 var1
= model__MType__has_mproperty(var_mtype
, var_mmodule
, self
);
3524 if (unlikely(!var1
)) {
3525 PRINT_ERROR("Runtime error: %s", "Assert failed");
3526 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1763);
3530 var2
= model__MProperty__lookup_all_definitions(self
, var_mmodule
, var_mtype
);
3533 var3
= abstract_collection__SequenceRead__first(var2
);
3540 /* method model#MProperty#lookup_first_definition for (self: Object, MModule, MType): MPropDef */
3541 val
* VIRTUAL_model__MProperty__lookup_first_definition(val
* self
, val
* p0
, val
* p1
) {
3542 val
* var
/* : MPropDef */;
3543 val
* var1
/* : MPropDef */;
3544 var1
= model__MProperty__lookup_first_definition(self
, p0
, p1
);
3549 /* method model#MProperty#lookup_all_definitions for (self: MProperty, MModule, MType): Array[MPropDef] */
3550 val
* model__MProperty__lookup_all_definitions(val
* self
, val
* p0
, val
* p1
) {
3551 val
* var
/* : Array[MPropDef] */;
3552 val
* var_mmodule
/* var mmodule: MModule */;
3553 val
* var_mtype
/* var mtype: MType */;
3554 short int var1
/* : Bool */;
3555 short int var2
/* : Bool */;
3556 val
* var3
/* : MType */;
3557 val
* var4
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
3558 val
* var6
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
3559 val
* var7
/* : nullable Object */;
3560 val
* var_cache
/* var cache: nullable Array[MPropDef] */;
3561 val
* var8
/* : null */;
3562 short int var9
/* : Bool */;
3563 short int var10
/* : Bool */;
3564 val
* var_other
/* var other: nullable Object */;
3565 short int var12
/* : Bool */;
3566 short int var13
/* : Bool */;
3567 short int var14
/* : Bool */;
3568 val
* var15
/* : Array[MPropDef] */;
3569 val
* var_candidates
/* var candidates: Array[MPropDef] */;
3570 val
* var16
/* : Array[MPropDef] */;
3571 val
* var18
/* : Array[MPropDef] */;
3572 val
* var19
/* : ArrayIterator[nullable Object] */;
3573 short int var20
/* : Bool */;
3574 val
* var21
/* : nullable Object */;
3575 val
* var_mpropdef
/* var mpropdef: MPropDef */;
3576 val
* var22
/* : POSetElement[MModule] */;
3577 val
* var24
/* : POSetElement[MModule] */;
3578 val
* var25
/* : MClassDef */;
3579 val
* var27
/* : MClassDef */;
3580 val
* var28
/* : MModule */;
3581 val
* var30
/* : MModule */;
3582 short int var31
/* : Bool */;
3583 short int var32
/* : Bool */;
3584 val
* var33
/* : null */;
3585 val
* var34
/* : MClassDef */;
3586 val
* var36
/* : MClassDef */;
3587 val
* var37
/* : MClassType */;
3588 val
* var39
/* : MClassType */;
3589 short int var40
/* : Bool */;
3590 short int var41
/* : Bool */;
3591 long var42
/* : Int */;
3592 long var43
/* : Int */;
3593 short int var44
/* : Bool */;
3594 short int var46
/* : Bool */;
3597 const char* var_class_name
;
3598 short int var47
/* : Bool */;
3599 val
* var48
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
3600 val
* var50
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
3601 val
* var51
/* : Array[nullable Object] */;
3602 val
* var52
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
3603 val
* var54
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
3607 var1
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
3610 if (unlikely(!var2
)) {
3611 PRINT_ERROR("Runtime error: %s", "Assert failed");
3612 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1771);
3616 var3
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__as_notnullable
]))(var_mtype
) /* as_notnullable on <var_mtype:MType>*/;
3620 { /* Inline model#MProperty#lookup_all_definitions_cache (self) on <self:MProperty> */
3621 var6
= self
->attrs
[COLOR_model__MProperty___lookup_all_definitions_cache
].val
; /* _lookup_all_definitions_cache on <self:MProperty> */
3622 if (unlikely(var6
== NULL
)) {
3623 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_all_definitions_cache");
3624 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1800);
3632 var7
= more_collections__HashMap2___91d_93d(var4
, var_mmodule
, var_mtype
);
3636 if (var_cache
== NULL
) {
3637 var9
= 0; /* is null */
3639 var9
= 1; /* arg is null and recv is not */
3642 { /* Inline kernel#Object#!= (var_cache,var8) on <var_cache:nullable Array[MPropDef]> */
3645 var13
= ((short int (*)(val
*, val
*))(var_cache
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_cache
, var_other
) /* == on <var_cache:nullable Array[MPropDef](Array[MPropDef])>*/;
3651 RET_LABEL11
:(void)0;
3660 var15
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arraymodel__MProperty_VTMPROPDEF
]);
3662 array__Array__init(var15
); /* Direct call array#Array#init on <var15:Array[MPropDef]>*/
3664 var_candidates
= var15
;
3666 { /* Inline model#MProperty#mpropdefs (self) on <self:MProperty> */
3667 var18
= self
->attrs
[COLOR_model__MProperty___mpropdefs
].val
; /* _mpropdefs on <self:MProperty> */
3668 if (unlikely(var18
== NULL
)) {
3669 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
3670 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1631);
3674 RET_LABEL17
:(void)0;
3678 var19
= array__AbstractArrayRead__iterator(var16
);
3682 var20
= array__ArrayIterator__is_ok(var19
);
3686 var21
= array__ArrayIterator__item(var19
);
3688 var_mpropdef
= var21
;
3690 { /* Inline mmodule#MModule#in_importation (var_mmodule) on <var_mmodule:MModule> */
3691 var24
= var_mmodule
->attrs
[COLOR_mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mmodule:MModule> */
3692 if (unlikely(var24
== NULL
)) {
3693 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
3694 PRINT_ERROR(" (%s:%d)\n", "src/model/mmodule.nit", 101);
3698 RET_LABEL23
:(void)0;
3702 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MPropDef> */
3703 var27
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MPropDef> */
3704 if (unlikely(var27
== NULL
)) {
3705 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
3706 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
3710 RET_LABEL26
:(void)0;
3714 { /* Inline model#MClassDef#mmodule (var25) on <var25:MClassDef> */
3715 var30
= var25
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var25:MClassDef> */
3716 if (unlikely(var30
== NULL
)) {
3717 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3718 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
3722 RET_LABEL29
:(void)0;
3726 var31
= poset__POSetElement___60d_61d(var22
, var28
);
3730 goto CONTINUE_label
;
3735 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MPropDef> */
3736 var36
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MPropDef> */
3737 if (unlikely(var36
== NULL
)) {
3738 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
3739 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
3743 RET_LABEL35
:(void)0;
3747 { /* Inline model#MClassDef#bound_mtype (var34) on <var34:MClassDef> */
3748 var39
= var34
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var34:MClassDef> */
3749 if (unlikely(var39
== NULL
)) {
3750 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3751 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
3755 RET_LABEL38
:(void)0;
3759 var40
= model__MType__is_subtype(var_mtype
, var_mmodule
, var33
, var37
);
3763 goto CONTINUE_label
;
3767 array__Array__add(var_candidates
, var_mpropdef
); /* Direct call array#Array#add on <var_candidates:Array[MPropDef]>*/
3769 CONTINUE_label
: (void)0;
3771 array__ArrayIterator__next(var19
); /* Direct call array#ArrayIterator#next on <var19:ArrayIterator[nullable Object]>*/
3774 BREAK_label
: (void)0;
3776 var42
= array__AbstractArrayRead__length(var_candidates
);
3780 { /* Inline kernel#Int#<= (var42,var43) on <var42:Int> */
3781 /* Covariant cast for argument 0 (i) <var43:Int> isa OTHER */
3782 /* <var43:Int> isa OTHER */
3783 var46
= 1; /* easy <var43:Int> isa OTHER*/
3784 if (unlikely(!var46
)) {
3785 var_class_name
= type_kernel__Int
.name
;
3786 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3787 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 324);
3790 var47
= var42
<= var43
;
3793 RET_LABEL45
:(void)0;
3798 { /* Inline model#MProperty#lookup_all_definitions_cache (self) on <self:MProperty> */
3799 var50
= self
->attrs
[COLOR_model__MProperty___lookup_all_definitions_cache
].val
; /* _lookup_all_definitions_cache on <self:MProperty> */
3800 if (unlikely(var50
== NULL
)) {
3801 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_all_definitions_cache");
3802 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1800);
3806 RET_LABEL49
:(void)0;
3810 more_collections__HashMap2___91d_93d_61d(var48
, var_mmodule
, var_mtype
, var_candidates
); /* Direct call more_collections#HashMap2#[]= on <var48:HashMap2[MModule, MType, Array[MPropDef]]>*/
3812 var
= var_candidates
;
3817 model__MModule__linearize_mpropdefs(var_mmodule
, var_candidates
); /* Direct call model#MModule#linearize_mpropdefs on <var_mmodule:MModule>*/
3820 var51
= array__AbstractArrayRead__reversed(var_candidates
);
3822 var_candidates
= var51
;
3824 { /* Inline model#MProperty#lookup_all_definitions_cache (self) on <self:MProperty> */
3825 var54
= self
->attrs
[COLOR_model__MProperty___lookup_all_definitions_cache
].val
; /* _lookup_all_definitions_cache on <self:MProperty> */
3826 if (unlikely(var54
== NULL
)) {
3827 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_all_definitions_cache");
3828 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1800);
3832 RET_LABEL53
:(void)0;
3836 more_collections__HashMap2___91d_93d_61d(var52
, var_mmodule
, var_mtype
, var_candidates
); /* Direct call more_collections#HashMap2#[]= on <var52:HashMap2[MModule, MType, Array[MPropDef]]>*/
3838 var
= var_candidates
;
3843 /* method model#MProperty#lookup_all_definitions for (self: Object, MModule, MType): Array[MPropDef] */
3844 val
* VIRTUAL_model__MProperty__lookup_all_definitions(val
* self
, val
* p0
, val
* p1
) {
3845 val
* var
/* : Array[MPropDef] */;
3846 val
* var1
/* : Array[MPropDef] */;
3847 var1
= model__MProperty__lookup_all_definitions(self
, p0
, p1
);
3852 /* method model#MProperty#lookup_all_definitions_cache for (self: MProperty): HashMap2[MModule, MType, Array[MPropDef]] */
3853 val
* model__MProperty__lookup_all_definitions_cache(val
* self
) {
3854 val
* var
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
3855 val
* var1
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
3856 var1
= self
->attrs
[COLOR_model__MProperty___lookup_all_definitions_cache
].val
; /* _lookup_all_definitions_cache on <self:MProperty> */
3857 if (unlikely(var1
== NULL
)) {
3858 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_all_definitions_cache");
3859 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1800);
3866 /* method model#MProperty#lookup_all_definitions_cache for (self: Object): HashMap2[MModule, MType, Array[MPropDef]] */
3867 val
* VIRTUAL_model__MProperty__lookup_all_definitions_cache(val
* self
) {
3868 val
* var
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
3869 val
* var1
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
3870 val
* var3
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
3871 { /* Inline model#MProperty#lookup_all_definitions_cache (self) on <self:Object(MProperty)> */
3872 var3
= self
->attrs
[COLOR_model__MProperty___lookup_all_definitions_cache
].val
; /* _lookup_all_definitions_cache on <self:Object(MProperty)> */
3873 if (unlikely(var3
== NULL
)) {
3874 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_all_definitions_cache");
3875 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1800);
3885 /* method model#MMethod#init for (self: MMethod, MClassDef, String, MVisibility) */
3886 void model__MMethod__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3887 val
* var_intro_mclassdef
/* var intro_mclassdef: MClassDef */;
3888 val
* var_name
/* var name: String */;
3889 val
* var_visibility
/* var visibility: MVisibility */;
3890 var_intro_mclassdef
= p0
;
3892 var_visibility
= p2
;
3894 model__MProperty__init(self
, p0
, p1
, p2
); /* Direct call model#MProperty#init on <self:MMethod>*/
3898 /* method model#MMethod#init for (self: Object, MClassDef, String, MVisibility) */
3899 void VIRTUAL_model__MMethod__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3900 model__MMethod__init(self
, p0
, p1
, p2
); /* Direct call model#MMethod#init on <self:Object(MMethod)>*/
3903 /* method model#MMethod#is_toplevel for (self: MMethod): Bool */
3904 short int model__MMethod__is_toplevel(val
* self
) {
3905 short int var
/* : Bool */;
3906 short int var1
/* : Bool */;
3907 var1
= self
->attrs
[COLOR_model__MMethod___is_toplevel
].s
; /* _is_toplevel on <self:MMethod> */
3912 /* method model#MMethod#is_toplevel for (self: Object): Bool */
3913 short int VIRTUAL_model__MMethod__is_toplevel(val
* self
) {
3914 short int var
/* : Bool */;
3915 short int var1
/* : Bool */;
3916 short int var3
/* : Bool */;
3917 { /* Inline model#MMethod#is_toplevel (self) on <self:Object(MMethod)> */
3918 var3
= self
->attrs
[COLOR_model__MMethod___is_toplevel
].s
; /* _is_toplevel on <self:Object(MMethod)> */
3926 /* method model#MMethod#is_toplevel= for (self: MMethod, Bool) */
3927 void model__MMethod__is_toplevel_61d(val
* self
, short int p0
) {
3928 self
->attrs
[COLOR_model__MMethod___is_toplevel
].s
= p0
; /* _is_toplevel on <self:MMethod> */
3931 /* method model#MMethod#is_toplevel= for (self: Object, Bool) */
3932 void VIRTUAL_model__MMethod__is_toplevel_61d(val
* self
, short int p0
) {
3933 { /* Inline model#MMethod#is_toplevel= (self,p0) on <self:Object(MMethod)> */
3934 self
->attrs
[COLOR_model__MMethod___is_toplevel
].s
= p0
; /* _is_toplevel on <self:Object(MMethod)> */
3939 /* method model#MMethod#is_init for (self: MMethod): Bool */
3940 short int model__MMethod__is_init(val
* self
) {
3941 short int var
/* : Bool */;
3942 short int var1
/* : Bool */;
3943 var1
= self
->attrs
[COLOR_model__MMethod___is_init
].s
; /* _is_init on <self:MMethod> */
3948 /* method model#MMethod#is_init for (self: Object): Bool */
3949 short int VIRTUAL_model__MMethod__is_init(val
* self
) {
3950 short int var
/* : Bool */;
3951 short int var1
/* : Bool */;
3952 short int var3
/* : Bool */;
3953 { /* Inline model#MMethod#is_init (self) on <self:Object(MMethod)> */
3954 var3
= self
->attrs
[COLOR_model__MMethod___is_init
].s
; /* _is_init on <self:Object(MMethod)> */
3962 /* method model#MMethod#is_init= for (self: MMethod, Bool) */
3963 void model__MMethod__is_init_61d(val
* self
, short int p0
) {
3964 self
->attrs
[COLOR_model__MMethod___is_init
].s
= p0
; /* _is_init on <self:MMethod> */
3967 /* method model#MMethod#is_init= for (self: Object, Bool) */
3968 void VIRTUAL_model__MMethod__is_init_61d(val
* self
, short int p0
) {
3969 { /* Inline model#MMethod#is_init= (self,p0) on <self:Object(MMethod)> */
3970 self
->attrs
[COLOR_model__MMethod___is_init
].s
= p0
; /* _is_init on <self:Object(MMethod)> */
3975 /* method model#MMethod#is_new for (self: MMethod): Bool */
3976 short int model__MMethod__is_new(val
* self
) {
3977 short int var
/* : Bool */;
3978 short int var1
/* : Bool */;
3979 var1
= self
->attrs
[COLOR_model__MMethod___is_new
].s
; /* _is_new on <self:MMethod> */
3984 /* method model#MMethod#is_new for (self: Object): Bool */
3985 short int VIRTUAL_model__MMethod__is_new(val
* self
) {
3986 short int var
/* : Bool */;
3987 short int var1
/* : Bool */;
3988 short int var3
/* : Bool */;
3989 { /* Inline model#MMethod#is_new (self) on <self:Object(MMethod)> */
3990 var3
= self
->attrs
[COLOR_model__MMethod___is_new
].s
; /* _is_new on <self:Object(MMethod)> */
3998 /* method model#MMethod#is_new= for (self: MMethod, Bool) */
3999 void model__MMethod__is_new_61d(val
* self
, short int p0
) {
4000 self
->attrs
[COLOR_model__MMethod___is_new
].s
= p0
; /* _is_new on <self:MMethod> */
4003 /* method model#MMethod#is_new= for (self: Object, Bool) */
4004 void VIRTUAL_model__MMethod__is_new_61d(val
* self
, short int p0
) {
4005 { /* Inline model#MMethod#is_new= (self,p0) on <self:Object(MMethod)> */
4006 self
->attrs
[COLOR_model__MMethod___is_new
].s
= p0
; /* _is_new on <self:Object(MMethod)> */
4011 /* method model#MMethod#is_init_for for (self: MMethod, MClass): Bool */
4012 short int model__MMethod__is_init_for(val
* self
, val
* p0
) {
4013 short int var
/* : Bool */;
4014 val
* var_mclass
/* var mclass: MClass */;
4015 short int var1
/* : Bool */;
4016 short int var3
/* : Bool */;
4019 { /* Inline model#MMethod#is_init (self) on <self:MMethod> */
4020 var3
= self
->attrs
[COLOR_model__MMethod___is_init
].s
; /* _is_init on <self:MMethod> */
4030 /* method model#MMethod#is_init_for for (self: Object, MClass): Bool */
4031 short int VIRTUAL_model__MMethod__is_init_for(val
* self
, val
* p0
) {
4032 short int var
/* : Bool */;
4033 short int var1
/* : Bool */;
4034 var1
= model__MMethod__is_init_for(self
, p0
);
4039 /* method model#MAttribute#init for (self: MAttribute, MClassDef, String, MVisibility) */
4040 void model__MAttribute__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4041 val
* var_intro_mclassdef
/* var intro_mclassdef: MClassDef */;
4042 val
* var_name
/* var name: String */;
4043 val
* var_visibility
/* var visibility: MVisibility */;
4044 var_intro_mclassdef
= p0
;
4046 var_visibility
= p2
;
4048 model__MProperty__init(self
, p0
, p1
, p2
); /* Direct call model#MProperty#init on <self:MAttribute>*/
4052 /* method model#MAttribute#init for (self: Object, MClassDef, String, MVisibility) */
4053 void VIRTUAL_model__MAttribute__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4054 model__MAttribute__init(self
, p0
, p1
, p2
); /* Direct call model#MAttribute#init on <self:Object(MAttribute)>*/
4057 /* method model#MVirtualTypeProp#init for (self: MVirtualTypeProp, MClassDef, String, MVisibility) */
4058 void model__MVirtualTypeProp__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4059 val
* var_intro_mclassdef
/* var intro_mclassdef: MClassDef */;
4060 val
* var_name
/* var name: String */;
4061 val
* var_visibility
/* var visibility: MVisibility */;
4062 var_intro_mclassdef
= p0
;
4064 var_visibility
= p2
;
4066 model__MProperty__init(self
, p0
, p1
, p2
); /* Direct call model#MProperty#init on <self:MVirtualTypeProp>*/
4070 /* method model#MVirtualTypeProp#init for (self: Object, MClassDef, String, MVisibility) */
4071 void VIRTUAL_model__MVirtualTypeProp__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4072 model__MVirtualTypeProp__init(self
, p0
, p1
, p2
); /* Direct call model#MVirtualTypeProp#init on <self:Object(MVirtualTypeProp)>*/
4075 /* method model#MVirtualTypeProp#mvirtualtype for (self: MVirtualTypeProp): MVirtualType */
4076 val
* model__MVirtualTypeProp__mvirtualtype(val
* self
) {
4077 val
* var
/* : MVirtualType */;
4078 val
* var1
/* : MVirtualType */;
4079 var1
= self
->attrs
[COLOR_model__MVirtualTypeProp___mvirtualtype
].val
; /* _mvirtualtype on <self:MVirtualTypeProp> */
4080 if (unlikely(var1
== NULL
)) {
4081 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mvirtualtype");
4082 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1858);
4089 /* method model#MVirtualTypeProp#mvirtualtype for (self: Object): MVirtualType */
4090 val
* VIRTUAL_model__MVirtualTypeProp__mvirtualtype(val
* self
) {
4091 val
* var
/* : MVirtualType */;
4092 val
* var1
/* : MVirtualType */;
4093 val
* var3
/* : MVirtualType */;
4094 { /* Inline model#MVirtualTypeProp#mvirtualtype (self) on <self:Object(MVirtualTypeProp)> */
4095 var3
= self
->attrs
[COLOR_model__MVirtualTypeProp___mvirtualtype
].val
; /* _mvirtualtype on <self:Object(MVirtualTypeProp)> */
4096 if (unlikely(var3
== NULL
)) {
4097 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mvirtualtype");
4098 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1858);
4108 /* method model#MPropDef#location for (self: MPropDef): Location */
4109 val
* model__MPropDef__location(val
* self
) {
4110 val
* var
/* : Location */;
4111 val
* var1
/* : Location */;
4112 var1
= self
->attrs
[COLOR_model__MPropDef___location
].val
; /* _location on <self:MPropDef> */
4113 if (unlikely(var1
== NULL
)) {
4114 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
4115 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1876);
4122 /* method model#MPropDef#location for (self: Object): Location */
4123 val
* VIRTUAL_model__MPropDef__location(val
* self
) {
4124 val
* var
/* : Location */;
4125 val
* var1
/* : Location */;
4126 val
* var3
/* : Location */;
4127 { /* Inline model#MPropDef#location (self) on <self:Object(MPropDef)> */
4128 var3
= self
->attrs
[COLOR_model__MPropDef___location
].val
; /* _location on <self:Object(MPropDef)> */
4129 if (unlikely(var3
== NULL
)) {
4130 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
4131 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1876);
4141 /* method model#MPropDef#location= for (self: MPropDef, Location) */
4142 void model__MPropDef__location_61d(val
* self
, val
* p0
) {
4143 self
->attrs
[COLOR_model__MPropDef___location
].val
= p0
; /* _location on <self:MPropDef> */
4146 /* method model#MPropDef#location= for (self: Object, Location) */
4147 void VIRTUAL_model__MPropDef__location_61d(val
* self
, val
* p0
) {
4148 { /* Inline model#MPropDef#location= (self,p0) on <self:Object(MPropDef)> */
4149 self
->attrs
[COLOR_model__MPropDef___location
].val
= p0
; /* _location on <self:Object(MPropDef)> */
4154 /* method model#MPropDef#mclassdef for (self: MPropDef): MClassDef */
4155 val
* model__MPropDef__mclassdef(val
* self
) {
4156 val
* var
/* : MClassDef */;
4157 val
* var1
/* : MClassDef */;
4158 var1
= self
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <self:MPropDef> */
4159 if (unlikely(var1
== NULL
)) {
4160 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
4161 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
4168 /* method model#MPropDef#mclassdef for (self: Object): MClassDef */
4169 val
* VIRTUAL_model__MPropDef__mclassdef(val
* self
) {
4170 val
* var
/* : MClassDef */;
4171 val
* var1
/* : MClassDef */;
4172 val
* var3
/* : MClassDef */;
4173 { /* Inline model#MPropDef#mclassdef (self) on <self:Object(MPropDef)> */
4174 var3
= self
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <self:Object(MPropDef)> */
4175 if (unlikely(var3
== NULL
)) {
4176 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
4177 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
4187 /* method model#MPropDef#mclassdef= for (self: MPropDef, MClassDef) */
4188 void model__MPropDef__mclassdef_61d(val
* self
, val
* p0
) {
4189 self
->attrs
[COLOR_model__MPropDef___mclassdef
].val
= p0
; /* _mclassdef on <self:MPropDef> */
4192 /* method model#MPropDef#mclassdef= for (self: Object, MClassDef) */
4193 void VIRTUAL_model__MPropDef__mclassdef_61d(val
* self
, val
* p0
) {
4194 { /* Inline model#MPropDef#mclassdef= (self,p0) on <self:Object(MPropDef)> */
4195 self
->attrs
[COLOR_model__MPropDef___mclassdef
].val
= p0
; /* _mclassdef on <self:Object(MPropDef)> */
4200 /* method model#MPropDef#mproperty for (self: MPropDef): MProperty */
4201 val
* model__MPropDef__mproperty(val
* self
) {
4202 val
* var
/* : MProperty */;
4203 val
* var1
/* : MProperty */;
4204 var1
= self
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <self:MPropDef> */
4205 if (unlikely(var1
== NULL
)) {
4206 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
4207 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
4214 /* method model#MPropDef#mproperty for (self: Object): MProperty */
4215 val
* VIRTUAL_model__MPropDef__mproperty(val
* self
) {
4216 val
* var
/* : MProperty */;
4217 val
* var1
/* : MProperty */;
4218 val
* var3
/* : MProperty */;
4219 { /* Inline model#MPropDef#mproperty (self) on <self:Object(MPropDef)> */
4220 var3
= self
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <self:Object(MPropDef)> */
4221 if (unlikely(var3
== NULL
)) {
4222 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
4223 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
4233 /* method model#MPropDef#mproperty= for (self: MPropDef, MProperty) */
4234 void model__MPropDef__mproperty_61d(val
* self
, val
* p0
) {
4235 short int var
/* : Bool */;
4238 const struct type
* type_struct
;
4239 const char* var_class_name
;
4240 /* Covariant cast for argument 0 (mproperty) <p0:MProperty> isa MPROPERTY */
4241 /* <p0:MProperty> isa MPROPERTY */
4242 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTMPROPERTY
];
4243 cltype
= type_struct
->color
;
4244 idtype
= type_struct
->id
;
4245 if(cltype
>= p0
->type
->table_size
) {
4248 var
= p0
->type
->type_table
[cltype
] == idtype
;
4250 if (unlikely(!var
)) {
4251 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4252 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MPROPERTY", var_class_name
);
4253 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
4256 self
->attrs
[COLOR_model__MPropDef___mproperty
].val
= p0
; /* _mproperty on <self:MPropDef> */
4259 /* method model#MPropDef#mproperty= for (self: Object, MProperty) */
4260 void VIRTUAL_model__MPropDef__mproperty_61d(val
* self
, val
* p0
) {
4261 short int var
/* : Bool */;
4264 const struct type
* type_struct
;
4265 const char* var_class_name
;
4266 { /* Inline model#MPropDef#mproperty= (self,p0) on <self:Object(MPropDef)> */
4267 /* Covariant cast for argument 0 (mproperty) <p0:MProperty> isa MPROPERTY */
4268 /* <p0:MProperty> isa MPROPERTY */
4269 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTMPROPERTY
];
4270 cltype
= type_struct
->color
;
4271 idtype
= type_struct
->id
;
4272 if(cltype
>= p0
->type
->table_size
) {
4275 var
= p0
->type
->type_table
[cltype
] == idtype
;
4277 if (unlikely(!var
)) {
4278 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4279 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MPROPERTY", var_class_name
);
4280 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
4283 self
->attrs
[COLOR_model__MPropDef___mproperty
].val
= p0
; /* _mproperty on <self:Object(MPropDef)> */
4288 /* method model#MPropDef#init for (self: MPropDef, MClassDef, MProperty, Location) */
4289 void model__MPropDef__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4290 short int var
/* : Bool */;
4293 const struct type
* type_struct
;
4294 const char* var_class_name
;
4295 val
* var_mclassdef
/* var mclassdef: MClassDef */;
4296 val
* var_mproperty
/* var mproperty: MProperty */;
4297 val
* var_location
/* var location: Location */;
4298 short int var4
/* : Bool */;
4301 const struct type
* type_struct7
;
4302 const char* var_class_name8
;
4303 val
* var10
/* : Array[MPropDef] */;
4304 val
* var12
/* : Array[MPropDef] */;
4305 val
* var13
/* : Array[MPropDef] */;
4306 val
* var15
/* : Array[MPropDef] */;
4307 static val
* varonce
;
4308 val
* var16
/* : String */;
4309 char* var17
/* : NativeString */;
4310 long var18
/* : Int */;
4311 val
* var19
/* : FlatString */;
4312 val
* var20
/* : Array[Object] */;
4313 long var21
/* : Int */;
4314 val
* var22
/* : NativeArray[Object] */;
4315 val
* var23
/* : String */;
4316 /* Covariant cast for argument 1 (mproperty) <p1:MProperty> isa MPROPERTY */
4317 /* <p1:MProperty> isa MPROPERTY */
4318 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTMPROPERTY
];
4319 cltype
= type_struct
->color
;
4320 idtype
= type_struct
->id
;
4321 if(cltype
>= p1
->type
->table_size
) {
4324 var
= p1
->type
->type_table
[cltype
] == idtype
;
4326 if (unlikely(!var
)) {
4327 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
4328 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MPROPERTY", var_class_name
);
4329 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1885);
4333 { /* Inline model_base#MEntity#init (self) on <self:MPropDef> */
4341 { /* Inline model#MPropDef#mclassdef= (self,var_mclassdef) on <self:MPropDef> */
4342 self
->attrs
[COLOR_model__MPropDef___mclassdef
].val
= var_mclassdef
; /* _mclassdef on <self:MPropDef> */
4347 { /* Inline model#MPropDef#mproperty= (self,var_mproperty) on <self:MPropDef> */
4348 /* Covariant cast for argument 0 (mproperty) <var_mproperty:MProperty> isa MPROPERTY */
4349 /* <var_mproperty:MProperty> isa MPROPERTY */
4350 type_struct7
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTMPROPERTY
];
4351 cltype5
= type_struct7
->color
;
4352 idtype6
= type_struct7
->id
;
4353 if(cltype5
>= var_mproperty
->type
->table_size
) {
4356 var4
= var_mproperty
->type
->type_table
[cltype5
] == idtype6
;
4358 if (unlikely(!var4
)) {
4359 var_class_name8
= var_mproperty
== NULL ?
"null" : var_mproperty
->type
->name
;
4360 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MPROPERTY", var_class_name8
);
4361 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
4364 self
->attrs
[COLOR_model__MPropDef___mproperty
].val
= var_mproperty
; /* _mproperty on <self:MPropDef> */
4369 { /* Inline model#MPropDef#location= (self,var_location) on <self:MPropDef> */
4370 self
->attrs
[COLOR_model__MPropDef___location
].val
= var_location
; /* _location on <self:MPropDef> */
4375 { /* Inline model#MClassDef#mpropdefs (var_mclassdef) on <var_mclassdef:MClassDef> */
4376 var12
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mpropdefs
].val
; /* _mpropdefs on <var_mclassdef:MClassDef> */
4377 if (unlikely(var12
== NULL
)) {
4378 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
4379 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 574);
4383 RET_LABEL11
:(void)0;
4387 array__Array__add(var10
, self
); /* Direct call array#Array#add on <var10:Array[MPropDef]>*/
4390 { /* Inline model#MProperty#mpropdefs (var_mproperty) on <var_mproperty:MProperty> */
4391 var15
= var_mproperty
->attrs
[COLOR_model__MProperty___mpropdefs
].val
; /* _mpropdefs on <var_mproperty:MProperty> */
4392 if (unlikely(var15
== NULL
)) {
4393 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
4394 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1631);
4398 RET_LABEL14
:(void)0;
4402 array__Array__add(var13
, self
); /* Direct call array#Array#add on <var13:Array[MPropDef]>*/
4409 var19
= string__NativeString__to_s_with_length(var17
, var18
);
4413 var20
= NEW_array__Array(&type_array__Arraykernel__Object
);
4414 { /* var20 = array_instance Array[Object] */
4416 var22
= NEW_array__NativeArray(var21
, &type_array__NativeArraykernel__Object
);
4417 ((struct instance_array__NativeArray
*)var22
)->values
[0] = (val
*) var_mclassdef
;
4418 ((struct instance_array__NativeArray
*)var22
)->values
[1] = (val
*) var16
;
4419 ((struct instance_array__NativeArray
*)var22
)->values
[2] = (val
*) var_mproperty
;
4421 ((void (*)(val
*, val
*, long))(var20
->class->vft
[COLOR_array__Array__with_native
]))(var20
, var22
, var21
) /* with_native on <var20:Array[Object]>*/;
4425 var23
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_string__Object__to_s
]))(var20
) /* to_s on <var20:Array[Object]>*/;
4428 { /* Inline model#MPropDef#to_s= (self,var23) on <self:MPropDef> */
4429 self
->attrs
[COLOR_model__MPropDef___to_s
].val
= var23
; /* _to_s on <self:MPropDef> */
4430 RET_LABEL24
:(void)0;
4435 /* method model#MPropDef#init for (self: Object, MClassDef, MProperty, Location) */
4436 void VIRTUAL_model__MPropDef__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4437 model__MPropDef__init(self
, p0
, p1
, p2
); /* Direct call model#MPropDef#init on <self:Object(MPropDef)>*/
4440 /* method model#MPropDef#name for (self: MPropDef): String */
4441 val
* model__MPropDef__name(val
* self
) {
4442 val
* var
/* : String */;
4443 val
* var1
/* : MProperty */;
4444 val
* var3
/* : MProperty */;
4445 val
* var4
/* : String */;
4446 val
* var6
/* : String */;
4448 { /* Inline model#MPropDef#mproperty (self) on <self:MPropDef> */
4449 var3
= self
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <self:MPropDef> */
4450 if (unlikely(var3
== NULL
)) {
4451 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
4452 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
4460 { /* Inline model#MProperty#name (var1) on <var1:MProperty> */
4461 var6
= var1
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var1:MProperty> */
4462 if (unlikely(var6
== NULL
)) {
4463 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4464 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1607);
4476 /* method model#MPropDef#name for (self: Object): String */
4477 val
* VIRTUAL_model__MPropDef__name(val
* self
) {
4478 val
* var
/* : String */;
4479 val
* var1
/* : String */;
4480 var1
= model__MPropDef__name(self
);
4485 /* method model#MPropDef#model for (self: MPropDef): Model */
4486 val
* model__MPropDef__model(val
* self
) {
4487 val
* var
/* : Model */;
4488 val
* var1
/* : MClassDef */;
4489 val
* var3
/* : MClassDef */;
4490 val
* var4
/* : Model */;
4492 { /* Inline model#MPropDef#mclassdef (self) on <self:MPropDef> */
4493 var3
= self
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <self:MPropDef> */
4494 if (unlikely(var3
== NULL
)) {
4495 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
4496 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
4504 var4
= model__MClassDef__model(var1
);
4511 /* method model#MPropDef#model for (self: Object): Model */
4512 val
* VIRTUAL_model__MPropDef__model(val
* self
) {
4513 val
* var
/* : Model */;
4514 val
* var1
/* : Model */;
4515 var1
= model__MPropDef__model(self
);
4520 /* method model#MPropDef#to_s for (self: MPropDef): String */
4521 val
* model__MPropDef__to_s(val
* self
) {
4522 val
* var
/* : String */;
4523 val
* var1
/* : String */;
4524 var1
= self
->attrs
[COLOR_model__MPropDef___to_s
].val
; /* _to_s on <self:MPropDef> */
4525 if (unlikely(var1
== NULL
)) {
4526 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s");
4527 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1900);
4534 /* method model#MPropDef#to_s for (self: Object): String */
4535 val
* VIRTUAL_model__MPropDef__to_s(val
* self
) {
4536 val
* var
/* : String */;
4537 val
* var1
/* : String */;
4538 val
* var3
/* : String */;
4539 { /* Inline model#MPropDef#to_s (self) on <self:Object(MPropDef)> */
4540 var3
= self
->attrs
[COLOR_model__MPropDef___to_s
].val
; /* _to_s on <self:Object(MPropDef)> */
4541 if (unlikely(var3
== NULL
)) {
4542 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s");
4543 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1900);
4553 /* method model#MPropDef#to_s= for (self: MPropDef, String) */
4554 void model__MPropDef__to_s_61d(val
* self
, val
* p0
) {
4555 self
->attrs
[COLOR_model__MPropDef___to_s
].val
= p0
; /* _to_s on <self:MPropDef> */
4558 /* method model#MPropDef#to_s= for (self: Object, String) */
4559 void VIRTUAL_model__MPropDef__to_s_61d(val
* self
, val
* p0
) {
4560 { /* Inline model#MPropDef#to_s= (self,p0) on <self:Object(MPropDef)> */
4561 self
->attrs
[COLOR_model__MPropDef___to_s
].val
= p0
; /* _to_s on <self:Object(MPropDef)> */
4566 /* method model#MPropDef#is_intro for (self: MPropDef): Bool */
4567 short int model__MPropDef__is_intro(val
* self
) {
4568 short int var
/* : Bool */;
4569 val
* var1
/* : MProperty */;
4570 val
* var3
/* : MProperty */;
4571 val
* var4
/* : MPropDef */;
4572 short int var5
/* : Bool */;
4573 short int var6
/* : Bool */;
4574 val
* var_other
/* var other: nullable Object */;
4575 short int var8
/* : Bool */;
4576 short int var10
/* : Bool */;
4578 { /* Inline model#MPropDef#mproperty (self) on <self:MPropDef> */
4579 var3
= self
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <self:MPropDef> */
4580 if (unlikely(var3
== NULL
)) {
4581 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
4582 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
4590 var4
= model__MProperty__intro(var1
);
4593 { /* Inline kernel#Object#== (var4,self) on <var4:MPropDef> */
4596 { /* Inline kernel#Object#is_same_instance (var4,var_other) on <var4:MPropDef> */
4597 var10
= var4
== var_other
;
4614 /* method model#MPropDef#is_intro for (self: Object): Bool */
4615 short int VIRTUAL_model__MPropDef__is_intro(val
* self
) {
4616 short int var
/* : Bool */;
4617 short int var1
/* : Bool */;
4618 var1
= model__MPropDef__is_intro(self
);
4623 /* method model#MPropDef#lookup_next_definition for (self: MPropDef, MModule, MType): MPropDef */
4624 val
* model__MPropDef__lookup_next_definition(val
* self
, val
* p0
, val
* p1
) {
4625 val
* var
/* : MPropDef */;
4626 val
* var_mmodule
/* var mmodule: MModule */;
4627 val
* var_mtype
/* var mtype: MType */;
4628 short int var1
/* : Bool */;
4629 short int var2
/* : Bool */;
4630 val
* var3
/* : MProperty */;
4631 val
* var5
/* : MProperty */;
4632 val
* var6
/* : Array[MPropDef] */;
4633 val
* var_mpropdefs
/* var mpropdefs: Array[MPropDef] */;
4634 val
* var7
/* : ArrayIterator[nullable Object] */;
4635 val
* var_i
/* var i: ArrayIterator[MPropDef] */;
4636 short int var8
/* : Bool */;
4637 short int var9
/* : Bool */;
4638 short int var_
/* var : Bool */;
4639 val
* var10
/* : nullable Object */;
4640 short int var11
/* : Bool */;
4641 short int var12
/* : Bool */;
4642 val
* var_other
/* var other: nullable Object */;
4643 short int var14
/* : Bool */;
4644 short int var15
/* : Bool */;
4645 short int var16
/* : Bool */;
4646 short int var17
/* : Bool */;
4647 short int var18
/* : Bool */;
4648 val
* var19
/* : nullable Object */;
4649 short int var20
/* : Bool */;
4652 const struct type
* type_struct
;
4653 const char* var_class_name
;
4657 var1
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
4660 if (unlikely(!var2
)) {
4661 PRINT_ERROR("Runtime error: %s", "Assert failed");
4662 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1914);
4666 { /* Inline model#MPropDef#mproperty (self) on <self:MPropDef> */
4667 var5
= self
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <self:MPropDef> */
4668 if (unlikely(var5
== NULL
)) {
4669 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
4670 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
4678 var6
= model__MProperty__lookup_all_definitions(var3
, var_mmodule
, var_mtype
);
4680 var_mpropdefs
= var6
;
4682 var7
= array__AbstractArrayRead__iterator(var_mpropdefs
);
4687 var9
= array__ArrayIterator__is_ok(var_i
);
4692 var10
= array__ArrayIterator__item(var_i
);
4695 { /* Inline kernel#Object#!= (var10,self) on <var10:nullable Object(MPropDef)> */
4698 var15
= ((short int (*)(val
*, val
*))(var10
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var10
, var_other
) /* == on <var10:nullable Object(MPropDef)>*/;
4704 RET_LABEL13
:(void)0;
4714 array__ArrayIterator__next(var_i
); /* Direct call array#ArrayIterator#next on <var_i:ArrayIterator[MPropDef]>*/
4716 CONTINUE_label
: (void)0;
4718 BREAK_label
: (void)0;
4720 var17
= array__ArrayIterator__is_ok(var_i
);
4722 if (unlikely(!var17
)) {
4723 PRINT_ERROR("Runtime error: %s", "Assert \'has_property\' failed");
4724 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1919);
4728 array__ArrayIterator__next(var_i
); /* Direct call array#ArrayIterator#next on <var_i:ArrayIterator[MPropDef]>*/
4731 var18
= array__ArrayIterator__is_ok(var_i
);
4733 if (unlikely(!var18
)) {
4734 PRINT_ERROR("Runtime error: %s", "Assert \'has_next_property\' failed");
4735 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1921);
4739 var19
= array__ArrayIterator__item(var_i
);
4741 /* <var19:nullable Object(MPropDef)> isa MPROPDEF */
4742 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTMPROPDEF
];
4743 cltype
= type_struct
->color
;
4744 idtype
= type_struct
->id
;
4745 if(cltype
>= var19
->type
->table_size
) {
4748 var20
= var19
->type
->type_table
[cltype
] == idtype
;
4750 if (unlikely(!var20
)) {
4751 var_class_name
= var19
== NULL ?
"null" : var19
->type
->name
;
4752 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MPROPDEF", var_class_name
);
4753 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1922);
4761 /* method model#MPropDef#lookup_next_definition for (self: Object, MModule, MType): MPropDef */
4762 val
* VIRTUAL_model__MPropDef__lookup_next_definition(val
* self
, val
* p0
, val
* p1
) {
4763 val
* var
/* : MPropDef */;
4764 val
* var1
/* : MPropDef */;
4765 var1
= model__MPropDef__lookup_next_definition(self
, p0
, p1
);
4770 /* method model#MMethodDef#init for (self: MMethodDef, MClassDef, MMethod, Location) */
4771 void model__MMethodDef__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4772 short int var
/* : Bool */;
4775 const struct type
* type_struct
;
4776 const char* var_class_name
;
4777 val
* var_mclassdef
/* var mclassdef: MClassDef */;
4778 val
* var_mproperty
/* var mproperty: MMethod */;
4779 val
* var_location
/* var location: Location */;
4780 /* Covariant cast for argument 1 (mproperty) <p1:MMethod> isa MPROPERTY */
4781 /* <p1:MMethod> isa MPROPERTY */
4782 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTMPROPERTY
];
4783 cltype
= type_struct
->color
;
4784 idtype
= type_struct
->id
;
4785 if(cltype
>= p1
->type
->table_size
) {
4788 var
= p1
->type
->type_table
[cltype
] == idtype
;
4790 if (unlikely(!var
)) {
4791 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
4792 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MPROPERTY", var_class_name
);
4793 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1933);
4800 model__MPropDef__init(self
, p0
, p1
, p2
); /* Direct call model#MPropDef#init on <self:MMethodDef>*/
4804 /* method model#MMethodDef#init for (self: Object, MClassDef, MMethod, Location) */
4805 void VIRTUAL_model__MMethodDef__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4806 model__MMethodDef__init(self
, p0
, p1
, p2
); /* Direct call model#MMethodDef#init on <self:Object(MMethodDef)>*/
4809 /* method model#MMethodDef#msignature for (self: MMethodDef): nullable MSignature */
4810 val
* model__MMethodDef__msignature(val
* self
) {
4811 val
* var
/* : nullable MSignature */;
4812 val
* var1
/* : nullable MSignature */;
4813 var1
= self
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <self:MMethodDef> */
4818 /* method model#MMethodDef#msignature for (self: Object): nullable MSignature */
4819 val
* VIRTUAL_model__MMethodDef__msignature(val
* self
) {
4820 val
* var
/* : nullable MSignature */;
4821 val
* var1
/* : nullable MSignature */;
4822 val
* var3
/* : nullable MSignature */;
4823 { /* Inline model#MMethodDef#msignature (self) on <self:Object(MMethodDef)> */
4824 var3
= self
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <self:Object(MMethodDef)> */
4832 /* method model#MMethodDef#msignature= for (self: MMethodDef, nullable MSignature) */
4833 void model__MMethodDef__msignature_61d(val
* self
, val
* p0
) {
4834 self
->attrs
[COLOR_model__MMethodDef___msignature
].val
= p0
; /* _msignature on <self:MMethodDef> */
4837 /* method model#MMethodDef#msignature= for (self: Object, nullable MSignature) */
4838 void VIRTUAL_model__MMethodDef__msignature_61d(val
* self
, val
* p0
) {
4839 { /* Inline model#MMethodDef#msignature= (self,p0) on <self:Object(MMethodDef)> */
4840 self
->attrs
[COLOR_model__MMethodDef___msignature
].val
= p0
; /* _msignature on <self:Object(MMethodDef)> */
4845 /* method model#MMethodDef#is_abstract for (self: MMethodDef): Bool */
4846 short int model__MMethodDef__is_abstract(val
* self
) {
4847 short int var
/* : Bool */;
4848 short int var1
/* : Bool */;
4849 var1
= self
->attrs
[COLOR_model__MMethodDef___is_abstract
].s
; /* _is_abstract on <self:MMethodDef> */
4854 /* method model#MMethodDef#is_abstract for (self: Object): Bool */
4855 short int VIRTUAL_model__MMethodDef__is_abstract(val
* self
) {
4856 short int var
/* : Bool */;
4857 short int var1
/* : Bool */;
4858 short int var3
/* : Bool */;
4859 { /* Inline model#MMethodDef#is_abstract (self) on <self:Object(MMethodDef)> */
4860 var3
= self
->attrs
[COLOR_model__MMethodDef___is_abstract
].s
; /* _is_abstract on <self:Object(MMethodDef)> */
4868 /* method model#MMethodDef#is_abstract= for (self: MMethodDef, Bool) */
4869 void model__MMethodDef__is_abstract_61d(val
* self
, short int p0
) {
4870 self
->attrs
[COLOR_model__MMethodDef___is_abstract
].s
= p0
; /* _is_abstract on <self:MMethodDef> */
4873 /* method model#MMethodDef#is_abstract= for (self: Object, Bool) */
4874 void VIRTUAL_model__MMethodDef__is_abstract_61d(val
* self
, short int p0
) {
4875 { /* Inline model#MMethodDef#is_abstract= (self,p0) on <self:Object(MMethodDef)> */
4876 self
->attrs
[COLOR_model__MMethodDef___is_abstract
].s
= p0
; /* _is_abstract on <self:Object(MMethodDef)> */
4881 /* method model#MMethodDef#is_intern for (self: MMethodDef): Bool */
4882 short int model__MMethodDef__is_intern(val
* self
) {
4883 short int var
/* : Bool */;
4884 short int var1
/* : Bool */;
4885 var1
= self
->attrs
[COLOR_model__MMethodDef___is_intern
].s
; /* _is_intern on <self:MMethodDef> */
4890 /* method model#MMethodDef#is_intern for (self: Object): Bool */
4891 short int VIRTUAL_model__MMethodDef__is_intern(val
* self
) {
4892 short int var
/* : Bool */;
4893 short int var1
/* : Bool */;
4894 short int var3
/* : Bool */;
4895 { /* Inline model#MMethodDef#is_intern (self) on <self:Object(MMethodDef)> */
4896 var3
= self
->attrs
[COLOR_model__MMethodDef___is_intern
].s
; /* _is_intern on <self:Object(MMethodDef)> */
4904 /* method model#MMethodDef#is_intern= for (self: MMethodDef, Bool) */
4905 void model__MMethodDef__is_intern_61d(val
* self
, short int p0
) {
4906 self
->attrs
[COLOR_model__MMethodDef___is_intern
].s
= p0
; /* _is_intern on <self:MMethodDef> */
4909 /* method model#MMethodDef#is_intern= for (self: Object, Bool) */
4910 void VIRTUAL_model__MMethodDef__is_intern_61d(val
* self
, short int p0
) {
4911 { /* Inline model#MMethodDef#is_intern= (self,p0) on <self:Object(MMethodDef)> */
4912 self
->attrs
[COLOR_model__MMethodDef___is_intern
].s
= p0
; /* _is_intern on <self:Object(MMethodDef)> */
4917 /* method model#MMethodDef#is_extern for (self: MMethodDef): Bool */
4918 short int model__MMethodDef__is_extern(val
* self
) {
4919 short int var
/* : Bool */;
4920 short int var1
/* : Bool */;
4921 var1
= self
->attrs
[COLOR_model__MMethodDef___is_extern
].s
; /* _is_extern on <self:MMethodDef> */
4926 /* method model#MMethodDef#is_extern for (self: Object): Bool */
4927 short int VIRTUAL_model__MMethodDef__is_extern(val
* self
) {
4928 short int var
/* : Bool */;
4929 short int var1
/* : Bool */;
4930 short int var3
/* : Bool */;
4931 { /* Inline model#MMethodDef#is_extern (self) on <self:Object(MMethodDef)> */
4932 var3
= self
->attrs
[COLOR_model__MMethodDef___is_extern
].s
; /* _is_extern on <self:Object(MMethodDef)> */
4940 /* method model#MMethodDef#is_extern= for (self: MMethodDef, Bool) */
4941 void model__MMethodDef__is_extern_61d(val
* self
, short int p0
) {
4942 self
->attrs
[COLOR_model__MMethodDef___is_extern
].s
= p0
; /* _is_extern on <self:MMethodDef> */
4945 /* method model#MMethodDef#is_extern= for (self: Object, Bool) */
4946 void VIRTUAL_model__MMethodDef__is_extern_61d(val
* self
, short int p0
) {
4947 { /* Inline model#MMethodDef#is_extern= (self,p0) on <self:Object(MMethodDef)> */
4948 self
->attrs
[COLOR_model__MMethodDef___is_extern
].s
= p0
; /* _is_extern on <self:Object(MMethodDef)> */
4953 /* method model#MAttributeDef#init for (self: MAttributeDef, MClassDef, MAttribute, Location) */
4954 void model__MAttributeDef__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4955 short int var
/* : Bool */;
4958 const struct type
* type_struct
;
4959 const char* var_class_name
;
4960 val
* var_mclassdef
/* var mclassdef: MClassDef */;
4961 val
* var_mproperty
/* var mproperty: MAttribute */;
4962 val
* var_location
/* var location: Location */;
4963 /* Covariant cast for argument 1 (mproperty) <p1:MAttribute> isa MPROPERTY */
4964 /* <p1:MAttribute> isa MPROPERTY */
4965 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTMPROPERTY
];
4966 cltype
= type_struct
->color
;
4967 idtype
= type_struct
->id
;
4968 if(cltype
>= p1
->type
->table_size
) {
4971 var
= p1
->type
->type_table
[cltype
] == idtype
;
4973 if (unlikely(!var
)) {
4974 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
4975 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MPROPERTY", var_class_name
);
4976 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1958);
4983 model__MPropDef__init(self
, p0
, p1
, p2
); /* Direct call model#MPropDef#init on <self:MAttributeDef>*/
4987 /* method model#MAttributeDef#init for (self: Object, MClassDef, MAttribute, Location) */
4988 void VIRTUAL_model__MAttributeDef__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4989 model__MAttributeDef__init(self
, p0
, p1
, p2
); /* Direct call model#MAttributeDef#init on <self:Object(MAttributeDef)>*/
4992 /* method model#MAttributeDef#static_mtype for (self: MAttributeDef): nullable MType */
4993 val
* model__MAttributeDef__static_mtype(val
* self
) {
4994 val
* var
/* : nullable MType */;
4995 val
* var1
/* : nullable MType */;
4996 var1
= self
->attrs
[COLOR_model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <self:MAttributeDef> */
5001 /* method model#MAttributeDef#static_mtype for (self: Object): nullable MType */
5002 val
* VIRTUAL_model__MAttributeDef__static_mtype(val
* self
) {
5003 val
* var
/* : nullable MType */;
5004 val
* var1
/* : nullable MType */;
5005 val
* var3
/* : nullable MType */;
5006 { /* Inline model#MAttributeDef#static_mtype (self) on <self:Object(MAttributeDef)> */
5007 var3
= self
->attrs
[COLOR_model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <self:Object(MAttributeDef)> */
5015 /* method model#MAttributeDef#static_mtype= for (self: MAttributeDef, nullable MType) */
5016 void model__MAttributeDef__static_mtype_61d(val
* self
, val
* p0
) {
5017 self
->attrs
[COLOR_model__MAttributeDef___static_mtype
].val
= p0
; /* _static_mtype on <self:MAttributeDef> */
5020 /* method model#MAttributeDef#static_mtype= for (self: Object, nullable MType) */
5021 void VIRTUAL_model__MAttributeDef__static_mtype_61d(val
* self
, val
* p0
) {
5022 { /* Inline model#MAttributeDef#static_mtype= (self,p0) on <self:Object(MAttributeDef)> */
5023 self
->attrs
[COLOR_model__MAttributeDef___static_mtype
].val
= p0
; /* _static_mtype on <self:Object(MAttributeDef)> */
5028 /* method model#MVirtualTypeDef#init for (self: MVirtualTypeDef, MClassDef, MVirtualTypeProp, Location) */
5029 void model__MVirtualTypeDef__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5030 short int var
/* : Bool */;
5033 const struct type
* type_struct
;
5034 const char* var_class_name
;
5035 val
* var_mclassdef
/* var mclassdef: MClassDef */;
5036 val
* var_mproperty
/* var mproperty: MVirtualTypeProp */;
5037 val
* var_location
/* var location: Location */;
5038 /* Covariant cast for argument 1 (mproperty) <p1:MVirtualTypeProp> isa MPROPERTY */
5039 /* <p1:MVirtualTypeProp> isa MPROPERTY */
5040 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTMPROPERTY
];
5041 cltype
= type_struct
->color
;
5042 idtype
= type_struct
->id
;
5043 if(cltype
>= p1
->type
->table_size
) {
5046 var
= p1
->type
->type_table
[cltype
] == idtype
;
5048 if (unlikely(!var
)) {
5049 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
5050 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MPROPERTY", var_class_name
);
5051 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1974);
5058 model__MPropDef__init(self
, p0
, p1
, p2
); /* Direct call model#MPropDef#init on <self:MVirtualTypeDef>*/
5062 /* method model#MVirtualTypeDef#init for (self: Object, MClassDef, MVirtualTypeProp, Location) */
5063 void VIRTUAL_model__MVirtualTypeDef__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5064 model__MVirtualTypeDef__init(self
, p0
, p1
, p2
); /* Direct call model#MVirtualTypeDef#init on <self:Object(MVirtualTypeDef)>*/
5067 /* method model#MVirtualTypeDef#bound for (self: MVirtualTypeDef): nullable MType */
5068 val
* model__MVirtualTypeDef__bound(val
* self
) {
5069 val
* var
/* : nullable MType */;
5070 val
* var1
/* : nullable MType */;
5071 var1
= self
->attrs
[COLOR_model__MVirtualTypeDef___bound
].val
; /* _bound on <self:MVirtualTypeDef> */
5076 /* method model#MVirtualTypeDef#bound for (self: Object): nullable MType */
5077 val
* VIRTUAL_model__MVirtualTypeDef__bound(val
* self
) {
5078 val
* var
/* : nullable MType */;
5079 val
* var1
/* : nullable MType */;
5080 val
* var3
/* : nullable MType */;
5081 { /* Inline model#MVirtualTypeDef#bound (self) on <self:Object(MVirtualTypeDef)> */
5082 var3
= self
->attrs
[COLOR_model__MVirtualTypeDef___bound
].val
; /* _bound on <self:Object(MVirtualTypeDef)> */
5090 /* method model#MVirtualTypeDef#bound= for (self: MVirtualTypeDef, nullable MType) */
5091 void model__MVirtualTypeDef__bound_61d(val
* self
, val
* p0
) {
5092 self
->attrs
[COLOR_model__MVirtualTypeDef___bound
].val
= p0
; /* _bound on <self:MVirtualTypeDef> */
5095 /* method model#MVirtualTypeDef#bound= for (self: Object, nullable MType) */
5096 void VIRTUAL_model__MVirtualTypeDef__bound_61d(val
* self
, val
* p0
) {
5097 { /* Inline model#MVirtualTypeDef#bound= (self,p0) on <self:Object(MVirtualTypeDef)> */
5098 self
->attrs
[COLOR_model__MVirtualTypeDef___bound
].val
= p0
; /* _bound on <self:Object(MVirtualTypeDef)> */
5103 /* method model#MVirtualTypeDef#is_fixed for (self: MVirtualTypeDef): Bool */
5104 short int model__MVirtualTypeDef__is_fixed(val
* self
) {
5105 short int var
/* : Bool */;
5106 short int var1
/* : Bool */;
5107 var1
= self
->attrs
[COLOR_model__MVirtualTypeDef___is_fixed
].s
; /* _is_fixed on <self:MVirtualTypeDef> */
5112 /* method model#MVirtualTypeDef#is_fixed for (self: Object): Bool */
5113 short int VIRTUAL_model__MVirtualTypeDef__is_fixed(val
* self
) {
5114 short int var
/* : Bool */;
5115 short int var1
/* : Bool */;
5116 short int var3
/* : Bool */;
5117 { /* Inline model#MVirtualTypeDef#is_fixed (self) on <self:Object(MVirtualTypeDef)> */
5118 var3
= self
->attrs
[COLOR_model__MVirtualTypeDef___is_fixed
].s
; /* _is_fixed on <self:Object(MVirtualTypeDef)> */
5126 /* method model#MVirtualTypeDef#is_fixed= for (self: MVirtualTypeDef, Bool) */
5127 void model__MVirtualTypeDef__is_fixed_61d(val
* self
, short int p0
) {
5128 self
->attrs
[COLOR_model__MVirtualTypeDef___is_fixed
].s
= p0
; /* _is_fixed on <self:MVirtualTypeDef> */
5131 /* method model#MVirtualTypeDef#is_fixed= for (self: Object, Bool) */
5132 void VIRTUAL_model__MVirtualTypeDef__is_fixed_61d(val
* self
, short int p0
) {
5133 { /* Inline model#MVirtualTypeDef#is_fixed= (self,p0) on <self:Object(MVirtualTypeDef)> */
5134 self
->attrs
[COLOR_model__MVirtualTypeDef___is_fixed
].s
= p0
; /* _is_fixed on <self:Object(MVirtualTypeDef)> */
5139 /* method model#MClassKind#to_s for (self: MClassKind): String */
5140 val
* model__MClassKind__to_s(val
* self
) {
5141 val
* var
/* : String */;
5142 val
* var1
/* : String */;
5143 var1
= self
->attrs
[COLOR_model__MClassKind___to_s
].val
; /* _to_s on <self:MClassKind> */
5144 if (unlikely(var1
== NULL
)) {
5145 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s");
5146 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1997);
5153 /* method model#MClassKind#to_s for (self: Object): String */
5154 val
* VIRTUAL_model__MClassKind__to_s(val
* self
) {
5155 val
* var
/* : String */;
5156 val
* var1
/* : String */;
5157 val
* var3
/* : String */;
5158 { /* Inline model#MClassKind#to_s (self) on <self:Object(MClassKind)> */
5159 var3
= self
->attrs
[COLOR_model__MClassKind___to_s
].val
; /* _to_s on <self:Object(MClassKind)> */
5160 if (unlikely(var3
== NULL
)) {
5161 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s");
5162 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1997);
5172 /* method model#MClassKind#to_s= for (self: MClassKind, String) */
5173 void model__MClassKind__to_s_61d(val
* self
, val
* p0
) {
5174 self
->attrs
[COLOR_model__MClassKind___to_s
].val
= p0
; /* _to_s on <self:MClassKind> */
5177 /* method model#MClassKind#to_s= for (self: Object, String) */
5178 void VIRTUAL_model__MClassKind__to_s_61d(val
* self
, val
* p0
) {
5179 { /* Inline model#MClassKind#to_s= (self,p0) on <self:Object(MClassKind)> */
5180 self
->attrs
[COLOR_model__MClassKind___to_s
].val
= p0
; /* _to_s on <self:Object(MClassKind)> */
5185 /* method model#MClassKind#need_init for (self: MClassKind): Bool */
5186 short int model__MClassKind__need_init(val
* self
) {
5187 short int var
/* : Bool */;
5188 short int var1
/* : Bool */;
5189 var1
= self
->attrs
[COLOR_model__MClassKind___need_init
].s
; /* _need_init on <self:MClassKind> */
5194 /* method model#MClassKind#need_init for (self: Object): Bool */
5195 short int VIRTUAL_model__MClassKind__need_init(val
* self
) {
5196 short int var
/* : Bool */;
5197 short int var1
/* : Bool */;
5198 short int var3
/* : Bool */;
5199 { /* Inline model#MClassKind#need_init (self) on <self:Object(MClassKind)> */
5200 var3
= self
->attrs
[COLOR_model__MClassKind___need_init
].s
; /* _need_init on <self:Object(MClassKind)> */
5208 /* method model#MClassKind#need_init= for (self: MClassKind, Bool) */
5209 void model__MClassKind__need_init_61d(val
* self
, short int p0
) {
5210 self
->attrs
[COLOR_model__MClassKind___need_init
].s
= p0
; /* _need_init on <self:MClassKind> */
5213 /* method model#MClassKind#need_init= for (self: Object, Bool) */
5214 void VIRTUAL_model__MClassKind__need_init_61d(val
* self
, short int p0
) {
5215 { /* Inline model#MClassKind#need_init= (self,p0) on <self:Object(MClassKind)> */
5216 self
->attrs
[COLOR_model__MClassKind___need_init
].s
= p0
; /* _need_init on <self:Object(MClassKind)> */
5221 /* method model#MClassKind#init for (self: MClassKind, String, Bool) */
5222 void model__MClassKind__init(val
* self
, val
* p0
, short int p1
) {
5223 val
* var_s
/* var s: String */;
5224 short int var_need_init
/* var need_init: Bool */;
5228 { /* Inline model#MClassKind#to_s= (self,var_s) on <self:MClassKind> */
5229 self
->attrs
[COLOR_model__MClassKind___to_s
].val
= var_s
; /* _to_s on <self:MClassKind> */
5234 { /* Inline model#MClassKind#need_init= (self,var_need_init) on <self:MClassKind> */
5235 self
->attrs
[COLOR_model__MClassKind___need_init
].s
= var_need_init
; /* _need_init on <self:MClassKind> */
5241 /* method model#MClassKind#init for (self: Object, String, Bool) */
5242 void VIRTUAL_model__MClassKind__init(val
* self
, val
* p0
, short int p1
) {
5243 model__MClassKind__init(self
, p0
, p1
); /* Direct call model#MClassKind#init on <self:Object(MClassKind)>*/
5246 /* method model#MClassKind#can_specialize for (self: MClassKind, MClassKind): Bool */
5247 short int model__MClassKind__can_specialize(val
* self
, val
* p0
) {
5248 short int var
/* : Bool */;
5249 val
* var_other
/* var other: MClassKind */;
5250 val
* var1
/* : MClassKind */;
5251 short int var2
/* : Bool */;
5252 short int var3
/* : Bool */;
5253 val
* var_other5
/* var other: nullable Object */;
5254 short int var6
/* : Bool */;
5255 short int var8
/* : Bool */;
5256 short int var9
/* : Bool */;
5257 short int var10
/* : Bool */;
5258 val
* var11
/* : MClassKind */;
5259 short int var12
/* : Bool */;
5260 short int var13
/* : Bool */;
5261 short int var15
/* : Bool */;
5262 short int var17
/* : Bool */;
5263 short int var_
/* var : Bool */;
5264 val
* var18
/* : MClassKind */;
5265 short int var19
/* : Bool */;
5266 short int var20
/* : Bool */;
5267 short int var22
/* : Bool */;
5268 short int var24
/* : Bool */;
5269 short int var25
/* : Bool */;
5270 val
* var26
/* : MClassKind */;
5271 short int var27
/* : Bool */;
5272 short int var28
/* : Bool */;
5273 short int var30
/* : Bool */;
5274 short int var32
/* : Bool */;
5275 short int var33
/* : Bool */;
5276 short int var34
/* : Bool */;
5277 short int var36
/* : Bool */;
5278 short int var38
/* : Bool */;
5279 short int var39
/* : Bool */;
5280 val
* var40
/* : MClassKind */;
5281 short int var41
/* : Bool */;
5282 short int var42
/* : Bool */;
5283 short int var44
/* : Bool */;
5284 short int var46
/* : Bool */;
5285 short int var_47
/* var : Bool */;
5286 val
* var48
/* : MClassKind */;
5287 short int var49
/* : Bool */;
5288 short int var50
/* : Bool */;
5289 short int var52
/* : Bool */;
5290 short int var54
/* : Bool */;
5291 short int var55
/* : Bool */;
5292 short int var56
/* : Bool */;
5295 var1
= model__Object__interface_kind(self
);
5298 { /* Inline kernel#Object#== (var_other,var1) on <var_other:MClassKind> */
5301 { /* Inline kernel#Object#is_same_instance (var_other,var_other5) on <var_other:MClassKind> */
5302 var8
= var_other
== var_other5
;
5321 var11
= model__Object__interface_kind(self
);
5324 { /* Inline kernel#Object#== (self,var11) on <self:MClassKind> */
5327 { /* Inline kernel#Object#is_same_instance (self,var_other5) on <self:MClassKind> */
5328 var17
= self
== var_other5
;
5331 RET_LABEL16
:(void)0;
5336 RET_LABEL14
:(void)0;
5345 var18
= model__Object__enum_kind(self
);
5348 { /* Inline kernel#Object#== (self,var18) on <self:MClassKind> */
5351 { /* Inline kernel#Object#is_same_instance (self,var_other5) on <self:MClassKind> */
5352 var24
= self
== var_other5
;
5355 RET_LABEL23
:(void)0;
5360 RET_LABEL21
:(void)0;
5372 var26
= model__Object__extern_kind(self
);
5375 { /* Inline kernel#Object#== (self,var26) on <self:MClassKind> */
5378 { /* Inline kernel#Object#is_same_instance (self,var_other5) on <self:MClassKind> */
5379 var32
= self
== var_other5
;
5382 RET_LABEL31
:(void)0;
5387 RET_LABEL29
:(void)0;
5393 { /* Inline kernel#Object#== (self,var_other) on <self:MClassKind> */
5394 var_other5
= var_other
;
5396 { /* Inline kernel#Object#is_same_instance (self,var_other5) on <self:MClassKind> */
5397 var38
= self
== var_other5
;
5400 RET_LABEL37
:(void)0;
5405 RET_LABEL35
:(void)0;
5413 var40
= model__Object__enum_kind(self
);
5416 { /* Inline kernel#Object#== (var_other,var40) on <var_other:MClassKind> */
5419 { /* Inline kernel#Object#is_same_instance (var_other,var_other5) on <var_other:MClassKind> */
5420 var46
= var_other
== var_other5
;
5423 RET_LABEL45
:(void)0;
5428 RET_LABEL43
:(void)0;
5437 var48
= model__Object__extern_kind(self
);
5440 { /* Inline kernel#Object#== (var_other,var48) on <var_other:MClassKind> */
5443 { /* Inline kernel#Object#is_same_instance (var_other,var_other5) on <var_other:MClassKind> */
5444 var54
= var_other
== var_other5
;
5447 RET_LABEL53
:(void)0;
5452 RET_LABEL51
:(void)0;
5472 /* method model#MClassKind#can_specialize for (self: Object, MClassKind): Bool */
5473 short int VIRTUAL_model__MClassKind__can_specialize(val
* self
, val
* p0
) {
5474 short int var
/* : Bool */;
5475 short int var1
/* : Bool */;
5476 var1
= model__MClassKind__can_specialize(self
, p0
);
5481 /* method model#Object#abstract_kind for (self: Object): MClassKind */
5482 val
* model__Object__abstract_kind(val
* self
) {
5483 val
* var
/* : MClassKind */;
5484 static val
* varonce
;
5485 static int varonce_guard
;
5486 val
* var1
/* : MClassKind */;
5487 val
* var2
/* : MClassKind */;
5488 static val
* varonce3
;
5489 val
* var4
/* : String */;
5490 char* var5
/* : NativeString */;
5491 long var6
/* : Int */;
5492 val
* var7
/* : FlatString */;
5493 short int var8
/* : Bool */;
5494 if (varonce_guard
) {
5497 var2
= NEW_model__MClassKind(&type_model__MClassKind
);
5501 var5
= "abstract class";
5503 var7
= string__NativeString__to_s_with_length(var5
, var6
);
5509 model__MClassKind__init(var2
, var4
, var8
); /* Direct call model#MClassKind#init on <var2:MClassKind>*/
5520 /* method model#Object#abstract_kind for (self: Object): MClassKind */
5521 val
* VIRTUAL_model__Object__abstract_kind(val
* self
) {
5522 val
* var
/* : MClassKind */;
5523 val
* var1
/* : MClassKind */;
5524 var1
= model__Object__abstract_kind(self
);
5529 /* method model#Object#concrete_kind for (self: Object): MClassKind */
5530 val
* model__Object__concrete_kind(val
* self
) {
5531 val
* var
/* : MClassKind */;
5532 static val
* varonce
;
5533 static int varonce_guard
;
5534 val
* var1
/* : MClassKind */;
5535 val
* var2
/* : MClassKind */;
5536 static val
* varonce3
;
5537 val
* var4
/* : String */;
5538 char* var5
/* : NativeString */;
5539 long var6
/* : Int */;
5540 val
* var7
/* : FlatString */;
5541 short int var8
/* : Bool */;
5542 if (varonce_guard
) {
5545 var2
= NEW_model__MClassKind(&type_model__MClassKind
);
5551 var7
= string__NativeString__to_s_with_length(var5
, var6
);
5557 model__MClassKind__init(var2
, var4
, var8
); /* Direct call model#MClassKind#init on <var2:MClassKind>*/
5568 /* method model#Object#concrete_kind for (self: Object): MClassKind */
5569 val
* VIRTUAL_model__Object__concrete_kind(val
* self
) {
5570 val
* var
/* : MClassKind */;
5571 val
* var1
/* : MClassKind */;
5572 var1
= model__Object__concrete_kind(self
);
5577 /* method model#Object#interface_kind for (self: Object): MClassKind */
5578 val
* model__Object__interface_kind(val
* self
) {
5579 val
* var
/* : MClassKind */;
5580 static val
* varonce
;
5581 static int varonce_guard
;
5582 val
* var1
/* : MClassKind */;
5583 val
* var2
/* : MClassKind */;
5584 static val
* varonce3
;
5585 val
* var4
/* : String */;
5586 char* var5
/* : NativeString */;
5587 long var6
/* : Int */;
5588 val
* var7
/* : FlatString */;
5589 short int var8
/* : Bool */;
5590 if (varonce_guard
) {
5593 var2
= NEW_model__MClassKind(&type_model__MClassKind
);
5599 var7
= string__NativeString__to_s_with_length(var5
, var6
);
5605 model__MClassKind__init(var2
, var4
, var8
); /* Direct call model#MClassKind#init on <var2:MClassKind>*/
5616 /* method model#Object#interface_kind for (self: Object): MClassKind */
5617 val
* VIRTUAL_model__Object__interface_kind(val
* self
) {
5618 val
* var
/* : MClassKind */;
5619 val
* var1
/* : MClassKind */;
5620 var1
= model__Object__interface_kind(self
);
5625 /* method model#Object#enum_kind for (self: Object): MClassKind */
5626 val
* model__Object__enum_kind(val
* self
) {
5627 val
* var
/* : MClassKind */;
5628 static val
* varonce
;
5629 static int varonce_guard
;
5630 val
* var1
/* : MClassKind */;
5631 val
* var2
/* : MClassKind */;
5632 static val
* varonce3
;
5633 val
* var4
/* : String */;
5634 char* var5
/* : NativeString */;
5635 long var6
/* : Int */;
5636 val
* var7
/* : FlatString */;
5637 short int var8
/* : Bool */;
5638 if (varonce_guard
) {
5641 var2
= NEW_model__MClassKind(&type_model__MClassKind
);
5647 var7
= string__NativeString__to_s_with_length(var5
, var6
);
5653 model__MClassKind__init(var2
, var4
, var8
); /* Direct call model#MClassKind#init on <var2:MClassKind>*/
5664 /* method model#Object#enum_kind for (self: Object): MClassKind */
5665 val
* VIRTUAL_model__Object__enum_kind(val
* self
) {
5666 val
* var
/* : MClassKind */;
5667 val
* var1
/* : MClassKind */;
5668 var1
= model__Object__enum_kind(self
);
5673 /* method model#Object#extern_kind for (self: Object): MClassKind */
5674 val
* model__Object__extern_kind(val
* self
) {
5675 val
* var
/* : MClassKind */;
5676 static val
* varonce
;
5677 static int varonce_guard
;
5678 val
* var1
/* : MClassKind */;
5679 val
* var2
/* : MClassKind */;
5680 static val
* varonce3
;
5681 val
* var4
/* : String */;
5682 char* var5
/* : NativeString */;
5683 long var6
/* : Int */;
5684 val
* var7
/* : FlatString */;
5685 short int var8
/* : Bool */;
5686 if (varonce_guard
) {
5689 var2
= NEW_model__MClassKind(&type_model__MClassKind
);
5693 var5
= "extern class";
5695 var7
= string__NativeString__to_s_with_length(var5
, var6
);
5701 model__MClassKind__init(var2
, var4
, var8
); /* Direct call model#MClassKind#init on <var2:MClassKind>*/
5712 /* method model#Object#extern_kind for (self: Object): MClassKind */
5713 val
* VIRTUAL_model__Object__extern_kind(val
* self
) {
5714 val
* var
/* : MClassKind */;
5715 val
* var1
/* : MClassKind */;
5716 var1
= model__Object__extern_kind(self
);