1 #include "model.sep.0.h"
2 /* method model#MParameterType#resolve_for for (self: MParameterType, MType, nullable MClassType, MModule, Bool): MType */
3 val
* model__MParameterType__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
4 val
* var
/* : MType */;
5 val
* var_mtype
/* var mtype: MType */;
6 val
* var_anchor
/* var anchor: nullable MClassType */;
7 val
* var_mmodule
/* var mmodule: MModule */;
8 short int var_cleanup_virtual
/* var cleanup_virtual: Bool */;
9 short int var1
/* : Bool */;
10 short int var2
/* : Bool */;
11 short int var3
/* : Bool */;
14 short int var_
/* var : Bool */;
15 val
* var4
/* : MClass */;
16 val
* var6
/* : MClass */;
17 val
* var7
/* : MClass */;
18 val
* var9
/* : MClass */;
19 short int var10
/* : Bool */;
20 short int var11
/* : Bool */;
21 val
* var_other
/* var other: nullable Object */;
22 short int var13
/* : Bool */;
23 short int var15
/* : Bool */;
24 val
* var16
/* : Array[MType] */;
25 val
* var18
/* : Array[MType] */;
26 long var19
/* : Int */;
27 long var21
/* : Int */;
28 val
* var22
/* : nullable Object */;
29 val
* var_res
/* var res: MType */;
30 short int var23
/* : Bool */;
31 val
* var24
/* : null */;
32 short int var25
/* : Bool */;
33 short int var26
/* : Bool */;
34 val
* var_other28
/* var other: nullable Object */;
35 short int var29
/* : Bool */;
36 short int var30
/* : Bool */;
37 short int var31
/* : Bool */;
38 short int var_32
/* var : Bool */;
39 short int var33
/* : Bool */;
40 val
* var34
/* : MType */;
41 val
* var_r2
/* var r2: MType */;
42 short int var35
/* : Bool */;
43 short int var36
/* : Bool */;
46 short int var_39
/* var : Bool */;
47 val
* var40
/* : MClass */;
48 val
* var42
/* : MClass */;
49 val
* var43
/* : MClassKind */;
50 val
* var45
/* : MClassKind */;
51 val
* var46
/* : MClassKind */;
52 short int var47
/* : Bool */;
53 short int var48
/* : Bool */;
54 short int var50
/* : Bool */;
55 short int var52
/* : Bool */;
56 short int var53
/* : Bool */;
57 val
* var54
/* : null */;
58 short int var55
/* : Bool */;
59 short int var56
/* : Bool */;
60 short int var58
/* : Bool */;
61 short int var59
/* : Bool */;
62 short int var60
/* : Bool */;
63 val
* var61
/* : MClass */;
64 val
* var63
/* : MClass */;
65 val
* var64
/* : MClassType */;
66 val
* var66
/* : MClassType */;
67 short int var67
/* : Bool */;
68 val
* var68
/* : MType */;
69 val
* var_resolved_receiver
/* var resolved_receiver: nullable Object */;
70 short int var69
/* : Bool */;
73 val
* var72
/* : MType */;
74 val
* var74
/* : MType */;
75 short int var75
/* : Bool */;
78 val
* var78
/* : MClass */;
79 val
* var80
/* : MClass */;
80 val
* var81
/* : MClass */;
81 val
* var83
/* : MClass */;
82 short int var84
/* : Bool */;
83 short int var85
/* : Bool */;
84 short int var87
/* : Bool */;
85 short int var89
/* : Bool */;
86 val
* var90
/* : Array[MType] */;
87 val
* var92
/* : Array[MType] */;
88 long var93
/* : Int */;
89 long var95
/* : Int */;
90 val
* var96
/* : nullable Object */;
91 short int var97
/* : Bool */;
94 val
* var100
/* : MType */;
95 val
* var102
/* : MType */;
96 short int var103
/* : Bool */;
99 val
* var106
/* : MClass */;
100 val
* var108
/* : MClass */;
101 val
* var109
/* : MClass */;
102 val
* var111
/* : MClass */;
103 short int var112
/* : Bool */;
104 short int var113
/* : Bool */;
105 short int var115
/* : Bool */;
106 short int var117
/* : Bool */;
107 val
* var118
/* : Array[MType] */;
108 val
* var120
/* : Array[MType] */;
109 long var121
/* : Int */;
110 long var123
/* : Int */;
111 val
* var124
/* : nullable Object */;
112 val
* var_res125
/* var res: MType */;
113 short int var126
/* : Bool */;
114 val
* var127
/* : null */;
115 short int var128
/* : Bool */;
116 short int var129
/* : Bool */;
117 short int var131
/* : Bool */;
118 short int var132
/* : Bool */;
119 short int var133
/* : Bool */;
120 val
* var134
/* : null */;
121 short int var135
/* : Bool */;
122 val
* var136
/* : MType */;
123 val
* var137
/* : MType */;
124 val
* var_verbatim_bound
/* var verbatim_bound: MType */;
125 val
* var138
/* : MType */;
126 val
* var_res139
/* var res: MType */;
130 var_cleanup_virtual
= p3
;
132 var1
= model__MParameterType__can_resolve_for(self
, var_mtype
, var_anchor
, var_mmodule
);
134 if (unlikely(!var1
)) {
135 PRINT_ERROR("Runtime error: %s", "Assert failed");
136 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1313);
139 /* <var_mtype:MType> isa MGenericType */
140 cltype
= type_model__MGenericType
.color
;
141 idtype
= type_model__MGenericType
.id
;
142 if(cltype
>= var_mtype
->type
->table_size
) {
145 var3
= var_mtype
->type
->type_table
[cltype
] == idtype
;
150 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MGenericType)> */
151 var6
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MGenericType)> */
152 if (unlikely(var6
== NULL
)) {
153 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
154 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
162 { /* Inline model#MParameterType#mclass (self) on <self:MParameterType> */
163 var9
= self
->attrs
[COLOR_model__MParameterType___mclass
].val
; /* _mclass on <self:MParameterType> */
164 if (unlikely(var9
== NULL
)) {
165 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
166 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1280);
174 { /* Inline kernel#Object#== (var4,var7) on <var4:MClass> */
177 { /* Inline kernel#Object#is_same_instance (var4,var_other) on <var4:MClass> */
178 var15
= var4
== var_other
;
196 { /* Inline model#MClassType#arguments (var_mtype) on <var_mtype:MType(MGenericType)> */
197 var18
= var_mtype
->attrs
[COLOR_model__MClassType___arguments
].val
; /* _arguments on <var_mtype:MType(MGenericType)> */
198 if (unlikely(var18
== NULL
)) {
199 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
200 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 996);
208 { /* Inline model#MParameterType#rank (self) on <self:MParameterType> */
209 var21
= self
->attrs
[COLOR_model__MParameterType___rank
].l
; /* _rank on <self:MParameterType> */
215 var22
= array__Array___91d_93d(var16
, var19
);
219 if (var_anchor
== NULL
) {
220 var25
= 0; /* is null */
222 var25
= 1; /* arg is null and recv is not */
225 { /* Inline kernel#Object#!= (var_anchor,var24) on <var_anchor:nullable MClassType> */
228 var30
= ((short int (*)(val
*, val
*))(var_anchor
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_anchor
, var_other28
) /* == on <var_anchor:nullable MClassType(MClassType)>*/;
241 var33
= ((short int (*)(val
*))(var_res
->class->vft
[COLOR_model__MType__need_anchor
]))(var_res
) /* need_anchor on <var_res:MType>*/;
249 var34
= ((val
* (*)(val
*, val
*, val
*))(var_res
->class->vft
[COLOR_model__MType__anchor_to
]))(var_res
, var_mmodule
, var_anchor
) /* anchor_to on <var_res:MType>*/;
252 /* <var_r2:MType> isa MClassType */
253 cltype37
= type_model__MClassType
.color
;
254 idtype38
= type_model__MClassType
.id
;
255 if(cltype37
>= var_r2
->type
->table_size
) {
258 var36
= var_r2
->type
->type_table
[cltype37
] == idtype38
;
263 { /* Inline model#MClassType#mclass (var_r2) on <var_r2:MType(MClassType)> */
264 var42
= var_r2
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_r2:MType(MClassType)> */
265 if (unlikely(var42
== NULL
)) {
266 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
267 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
275 { /* Inline model#MClass#kind (var40) on <var40:MClass> */
276 var45
= var40
->attrs
[COLOR_model__MClass___kind
].val
; /* _kind on <var40:MClass> */
277 if (unlikely(var45
== NULL
)) {
278 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
279 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 371);
287 var46
= model__Object__enum_kind(self
);
290 { /* Inline kernel#Object#== (var43,var46) on <var43:MClassKind> */
293 { /* Inline kernel#Object#is_same_instance (var43,var_other) on <var43:MClassKind> */
294 var52
= var43
== var_other
;
322 var53
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
326 if (var_anchor
== NULL
) {
327 var55
= 0; /* is null */
329 var55
= 1; /* arg is null and recv is not */
332 { /* Inline kernel#Object#!= (var_anchor,var54) on <var_anchor:nullable MClassType> */
335 var59
= ((short int (*)(val
*, val
*))(var_anchor
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_anchor
, var_other28
) /* == on <var_anchor:nullable MClassType(MClassType)>*/;
345 if (unlikely(!var55
)) {
346 PRINT_ERROR("Runtime error: %s", "Assert failed");
347 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1332);
351 { /* Inline model#MClassType#mclass (var_anchor) on <var_anchor:nullable MClassType(MClassType)> */
352 var63
= var_anchor
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_anchor:nullable MClassType(MClassType)> */
353 if (unlikely(var63
== NULL
)) {
354 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
355 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
363 { /* Inline model#MClass#mclass_type (var61) on <var61:MClass> */
364 var66
= var61
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var61:MClass> */
365 if (unlikely(var66
== NULL
)) {
366 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
367 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
376 var68
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_mtype
->class->vft
[COLOR_model__MType__resolve_for
]))(var_mtype
, var64
, var_anchor
, var_mmodule
, var67
) /* resolve_for on <var_mtype:MType>*/;
378 var_resolved_receiver
= var68
;
380 var_resolved_receiver
= var_mtype
;
382 /* <var_resolved_receiver:nullable Object(MType)> isa MNullableType */
383 cltype70
= type_model__MNullableType
.color
;
384 idtype71
= type_model__MNullableType
.id
;
385 if(cltype70
>= var_resolved_receiver
->type
->table_size
) {
388 var69
= var_resolved_receiver
->type
->type_table
[cltype70
] == idtype71
;
392 { /* Inline model#MNullableType#mtype (var_resolved_receiver) on <var_resolved_receiver:nullable Object(MNullableType)> */
393 var74
= var_resolved_receiver
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <var_resolved_receiver:nullable Object(MNullableType)> */
394 if (unlikely(var74
== NULL
)) {
395 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
396 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1388);
403 var_resolved_receiver
= var72
;
406 /* <var_resolved_receiver:nullable Object(MType)> isa MParameterType */
407 cltype76
= type_model__MParameterType
.color
;
408 idtype77
= type_model__MParameterType
.id
;
409 if(cltype76
>= var_resolved_receiver
->type
->table_size
) {
412 var75
= var_resolved_receiver
->type
->type_table
[cltype76
] == idtype77
;
416 { /* Inline model#MParameterType#mclass (var_resolved_receiver) on <var_resolved_receiver:nullable Object(MParameterType)> */
417 var80
= var_resolved_receiver
->attrs
[COLOR_model__MParameterType___mclass
].val
; /* _mclass on <var_resolved_receiver:nullable Object(MParameterType)> */
418 if (unlikely(var80
== NULL
)) {
419 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
420 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1280);
427 if (var_anchor
== NULL
) {
428 PRINT_ERROR("Runtime error: %s", "Receiver is null");
429 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1339);
432 { /* Inline model#MClassType#mclass (var_anchor) on <var_anchor:nullable MClassType> */
433 if (unlikely(var_anchor
== NULL
)) {
434 PRINT_ERROR("Runtime error: %s", "Receiver is null");
435 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
438 var83
= var_anchor
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_anchor:nullable MClassType> */
439 if (unlikely(var83
== NULL
)) {
440 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
441 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
449 { /* Inline kernel#Object#== (var78,var81) on <var78:MClass> */
452 { /* Inline kernel#Object#is_same_instance (var78,var_other) on <var78:MClass> */
453 var89
= var78
== var_other
;
465 if (unlikely(!var84
)) {
466 PRINT_ERROR("Runtime error: %s", "Assert failed");
467 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1339);
470 if (var_anchor
== NULL
) {
471 PRINT_ERROR("Runtime error: %s", "Receiver is null");
472 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1340);
475 { /* Inline model#MClassType#arguments (var_anchor) on <var_anchor:nullable MClassType> */
476 if (unlikely(var_anchor
== NULL
)) {
477 PRINT_ERROR("Runtime error: %s", "Receiver is null");
478 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 996);
481 var92
= var_anchor
->attrs
[COLOR_model__MClassType___arguments
].val
; /* _arguments on <var_anchor:nullable MClassType> */
482 if (unlikely(var92
== NULL
)) {
483 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
484 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 996);
492 { /* Inline model#MParameterType#rank (var_resolved_receiver) on <var_resolved_receiver:nullable Object(MParameterType)> */
493 var95
= var_resolved_receiver
->attrs
[COLOR_model__MParameterType___rank
].l
; /* _rank on <var_resolved_receiver:nullable Object(MParameterType)> */
499 var96
= array__Array___91d_93d(var90
, var93
);
501 var_resolved_receiver
= var96
;
502 /* <var_resolved_receiver:nullable Object(MType)> isa MNullableType */
503 cltype98
= type_model__MNullableType
.color
;
504 idtype99
= type_model__MNullableType
.id
;
505 if(cltype98
>= var_resolved_receiver
->type
->table_size
) {
508 var97
= var_resolved_receiver
->type
->type_table
[cltype98
] == idtype99
;
512 { /* Inline model#MNullableType#mtype (var_resolved_receiver) on <var_resolved_receiver:nullable Object(MNullableType)> */
513 var102
= var_resolved_receiver
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <var_resolved_receiver:nullable Object(MNullableType)> */
514 if (unlikely(var102
== NULL
)) {
515 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
516 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1388);
520 RET_LABEL101
:(void)0;
523 var_resolved_receiver
= var100
;
528 /* <var_resolved_receiver:nullable Object(MType)> isa MClassType */
529 cltype104
= type_model__MClassType
.color
;
530 idtype105
= type_model__MClassType
.id
;
531 if(cltype104
>= var_resolved_receiver
->type
->table_size
) {
534 var103
= var_resolved_receiver
->type
->type_table
[cltype104
] == idtype105
;
536 if (unlikely(!var103
)) {
537 PRINT_ERROR("Runtime error: %s", "Assert failed");
538 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1343);
542 { /* Inline model#MClassType#mclass (var_resolved_receiver) on <var_resolved_receiver:nullable Object(MClassType)> */
543 var108
= var_resolved_receiver
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_resolved_receiver:nullable Object(MClassType)> */
544 if (unlikely(var108
== NULL
)) {
545 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
546 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
550 RET_LABEL107
:(void)0;
554 { /* Inline model#MParameterType#mclass (self) on <self:MParameterType> */
555 var111
= self
->attrs
[COLOR_model__MParameterType___mclass
].val
; /* _mclass on <self:MParameterType> */
556 if (unlikely(var111
== NULL
)) {
557 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
558 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1280);
562 RET_LABEL110
:(void)0;
566 { /* Inline kernel#Object#== (var106,var109) on <var106:MClass> */
569 { /* Inline kernel#Object#is_same_instance (var106,var_other) on <var106:MClass> */
570 var117
= var106
== var_other
;
573 RET_LABEL116
:(void)0;
578 RET_LABEL114
:(void)0;
584 { /* Inline model#MClassType#arguments (var_resolved_receiver) on <var_resolved_receiver:nullable Object(MClassType)> */
585 var120
= var_resolved_receiver
->attrs
[COLOR_model__MClassType___arguments
].val
; /* _arguments on <var_resolved_receiver:nullable Object(MClassType)> */
586 if (unlikely(var120
== NULL
)) {
587 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
588 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 996);
592 RET_LABEL119
:(void)0;
596 { /* Inline model#MParameterType#rank (self) on <self:MParameterType> */
597 var123
= self
->attrs
[COLOR_model__MParameterType___rank
].l
; /* _rank on <self:MParameterType> */
599 RET_LABEL122
:(void)0;
603 var124
= array__Array___91d_93d(var118
, var121
);
611 var126
= ((short int (*)(val
*))(var_resolved_receiver
->class->vft
[COLOR_model__MType__need_anchor
]))(var_resolved_receiver
) /* need_anchor on <var_resolved_receiver:nullable Object(MClassType)>*/;
615 if (var_anchor
== NULL
) {
616 var128
= 0; /* is null */
618 var128
= 1; /* arg is null and recv is not */
621 { /* Inline kernel#Object#!= (var_anchor,var127) on <var_anchor:nullable MClassType> */
622 var_other28
= var127
;
624 var132
= ((short int (*)(val
*, val
*))(var_anchor
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_anchor
, var_other28
) /* == on <var_anchor:nullable MClassType(MClassType)>*/;
630 RET_LABEL130
:(void)0;
634 if (unlikely(!var128
)) {
635 PRINT_ERROR("Runtime error: %s", "Assert failed");
636 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1354);
642 var136
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_resolved_receiver
->class->vft
[COLOR_model__MType__resolve_for
]))(var_resolved_receiver
, var_anchor
, var134
, var_mmodule
, var135
) /* resolve_for on <var_resolved_receiver:nullable Object(MClassType)>*/;
644 var_resolved_receiver
= var136
;
648 var137
= model__MParameterType__lookup_bound(self
, var_mmodule
, var_resolved_receiver
);
650 var_verbatim_bound
= var137
;
652 var138
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_verbatim_bound
->class->vft
[COLOR_model__MType__resolve_for
]))(var_verbatim_bound
, var_mtype
, var_anchor
, var_mmodule
, var_cleanup_virtual
) /* resolve_for on <var_verbatim_bound:MType>*/;
660 /* method model#MParameterType#resolve_for for (self: Object, MType, nullable MClassType, MModule, Bool): MType */
661 val
* VIRTUAL_model__MParameterType__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
662 val
* var
/* : MType */;
663 val
* var1
/* : MType */;
664 var1
= model__MParameterType__resolve_for(self
, p0
, p1
, p2
, p3
);
669 /* method model#MParameterType#can_resolve_for for (self: MParameterType, MType, nullable MClassType, MModule): Bool */
670 short int model__MParameterType__can_resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
671 short int var
/* : Bool */;
672 val
* var_mtype
/* var mtype: MType */;
673 val
* var_anchor
/* var anchor: nullable MClassType */;
674 val
* var_mmodule
/* var mmodule: MModule */;
675 short int var1
/* : Bool */;
676 val
* var2
/* : null */;
677 short int var3
/* : Bool */;
678 short int var4
/* : Bool */;
679 val
* var_other
/* var other: nullable Object */;
680 short int var6
/* : Bool */;
681 short int var7
/* : Bool */;
682 short int var8
/* : Bool */;
683 val
* var9
/* : MType */;
684 val
* var10
/* : Set[MClassDef] */;
685 val
* var11
/* : MClass */;
686 val
* var13
/* : MClass */;
687 val
* var14
/* : MClassDef */;
688 val
* var16
/* : MClassDef */;
689 short int var17
/* : Bool */;
694 var1
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
698 if (var_anchor
== NULL
) {
699 var3
= 0; /* is null */
701 var3
= 1; /* arg is null and recv is not */
704 { /* Inline kernel#Object#!= (var_anchor,var2) on <var_anchor:nullable MClassType> */
707 var7
= ((short int (*)(val
*, val
*))(var_anchor
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_anchor
, var_other
) /* == on <var_anchor:nullable MClassType(MClassType)>*/;
717 if (unlikely(!var3
)) {
718 PRINT_ERROR("Runtime error: %s", "Assert failed");
719 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1370);
723 var9
= ((val
* (*)(val
*, val
*, val
*))(var_mtype
->class->vft
[COLOR_model__MType__anchor_to
]))(var_mtype
, var_mmodule
, var_anchor
) /* anchor_to on <var_mtype:MType>*/;
729 var10
= ((val
* (*)(val
*, val
*))(var_mtype
->class->vft
[COLOR_model__MType__collect_mclassdefs
]))(var_mtype
, var_mmodule
) /* collect_mclassdefs on <var_mtype:MType>*/;
732 { /* Inline model#MParameterType#mclass (self) on <self:MParameterType> */
733 var13
= self
->attrs
[COLOR_model__MParameterType___mclass
].val
; /* _mclass on <self:MParameterType> */
734 if (unlikely(var13
== NULL
)) {
735 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
736 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1280);
744 { /* Inline model#MClass#intro (var11) on <var11:MClass> */
745 var16
= var11
->attrs
[COLOR_model__MClass___intro
].val
; /* _intro on <var11:MClass> */
746 if (unlikely(var16
== NULL
)) {
747 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
748 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 420);
756 var17
= ((short int (*)(val
*, val
*))(var10
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var10
, var14
) /* has on <var10:Set[MClassDef]>*/;
763 /* method model#MParameterType#can_resolve_for for (self: Object, MType, nullable MClassType, MModule): Bool */
764 short int VIRTUAL_model__MParameterType__can_resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
765 short int var
/* : Bool */;
766 short int var1
/* : Bool */;
767 var1
= model__MParameterType__can_resolve_for(self
, p0
, p1
, p2
);
772 /* method model#MParameterType#init for (self: MParameterType, MClass, Int, String) */
773 void model__MParameterType__init(val
* self
, val
* p0
, long p1
, val
* p2
) {
774 val
* var_mclass
/* var mclass: MClass */;
775 long var_rank
/* var rank: Int */;
776 val
* var_name
/* var name: String */;
778 ((void (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__init
]))(self
) /* init on <self:MParameterType>*/;
784 { /* Inline model#MParameterType#mclass= (self,var_mclass) on <self:MParameterType> */
785 self
->attrs
[COLOR_model__MParameterType___mclass
].val
= var_mclass
; /* _mclass on <self:MParameterType> */
790 { /* Inline model#MParameterType#rank= (self,var_rank) on <self:MParameterType> */
791 self
->attrs
[COLOR_model__MParameterType___rank
].l
= var_rank
; /* _rank on <self:MParameterType> */
796 { /* Inline model#MParameterType#name= (self,var_name) on <self:MParameterType> */
797 self
->attrs
[COLOR_model__MParameterType___name
].val
= var_name
; /* _name on <self:MParameterType> */
803 /* method model#MParameterType#init for (self: Object, MClass, Int, String) */
804 void VIRTUAL_model__MParameterType__init(val
* self
, val
* p0
, long p1
, val
* p2
) {
805 model__MParameterType__init(self
, p0
, p1
, p2
); /* Direct call model#MParameterType#init on <self:Object(MParameterType)>*/
808 /* method model#MNullableType#mtype for (self: MNullableType): MType */
809 val
* model__MNullableType__mtype(val
* self
) {
810 val
* var
/* : MType */;
811 val
* var1
/* : MType */;
812 var1
= self
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <self:MNullableType> */
813 if (unlikely(var1
== NULL
)) {
814 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
815 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1388);
822 /* method model#MNullableType#mtype for (self: Object): MType */
823 val
* VIRTUAL_model__MNullableType__mtype(val
* self
) {
824 val
* var
/* : MType */;
825 val
* var1
/* : MType */;
826 val
* var3
/* : MType */;
827 { /* Inline model#MNullableType#mtype (self) on <self:Object(MNullableType)> */
828 var3
= self
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <self:Object(MNullableType)> */
829 if (unlikely(var3
== NULL
)) {
830 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
831 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1388);
841 /* method model#MNullableType#mtype= for (self: MNullableType, MType) */
842 void model__MNullableType__mtype_61d(val
* self
, val
* p0
) {
843 self
->attrs
[COLOR_model__MNullableType___mtype
].val
= p0
; /* _mtype on <self:MNullableType> */
846 /* method model#MNullableType#mtype= for (self: Object, MType) */
847 void VIRTUAL_model__MNullableType__mtype_61d(val
* self
, val
* p0
) {
848 { /* Inline model#MNullableType#mtype= (self,p0) on <self:Object(MNullableType)> */
849 self
->attrs
[COLOR_model__MNullableType___mtype
].val
= p0
; /* _mtype on <self:Object(MNullableType)> */
854 /* method model#MNullableType#model for (self: MNullableType): Model */
855 val
* model__MNullableType__model(val
* self
) {
856 val
* var
/* : Model */;
857 val
* var1
/* : MType */;
858 val
* var3
/* : MType */;
859 val
* var4
/* : Model */;
861 { /* Inline model#MNullableType#mtype (self) on <self:MNullableType> */
862 var3
= self
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <self:MNullableType> */
863 if (unlikely(var3
== NULL
)) {
864 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
865 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1388);
873 var4
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_model_base__MEntity__model
]))(var1
) /* model on <var1:MType>*/;
880 /* method model#MNullableType#model for (self: Object): Model */
881 val
* VIRTUAL_model__MNullableType__model(val
* self
) {
882 val
* var
/* : Model */;
883 val
* var1
/* : Model */;
884 var1
= model__MNullableType__model(self
);
889 /* method model#MNullableType#init for (self: MNullableType, MType) */
890 void model__MNullableType__init(val
* self
, val
* p0
) {
891 val
* var_mtype
/* var mtype: MType */;
893 val
* var
/* : String */;
894 char* var2
/* : NativeString */;
895 long var3
/* : Int */;
896 val
* var4
/* : FlatString */;
897 val
* var5
/* : Array[Object] */;
898 long var6
/* : Int */;
899 val
* var7
/* : NativeArray[Object] */;
900 val
* var8
/* : String */;
902 ((void (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__init
]))(self
) /* init on <self:MNullableType>*/;
906 { /* Inline model#MNullableType#mtype= (self,var_mtype) on <self:MNullableType> */
907 self
->attrs
[COLOR_model__MNullableType___mtype
].val
= var_mtype
; /* _mtype on <self:MNullableType> */
916 var4
= string__NativeString__to_s_with_length(var2
, var3
);
920 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
921 { /* var5 = array_instance Array[Object] */
923 var7
= NEW_array__NativeArray(var6
, &type_array__NativeArraykernel__Object
);
924 ((struct instance_array__NativeArray
*)var7
)->values
[0] = (val
*) var
;
925 ((struct instance_array__NativeArray
*)var7
)->values
[1] = (val
*) var_mtype
;
927 ((void (*)(val
*, val
*, long))(var5
->class->vft
[COLOR_array__Array__with_native
]))(var5
, var7
, var6
) /* with_native on <var5:Array[Object]>*/;
931 var8
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_string__Object__to_s
]))(var5
) /* to_s on <var5:Array[Object]>*/;
934 { /* Inline model#MNullableType#to_s= (self,var8) on <self:MNullableType> */
935 self
->attrs
[COLOR_model__MNullableType___to_s
].val
= var8
; /* _to_s on <self:MNullableType> */
941 /* method model#MNullableType#init for (self: Object, MType) */
942 void VIRTUAL_model__MNullableType__init(val
* self
, val
* p0
) {
943 model__MNullableType__init(self
, p0
); /* Direct call model#MNullableType#init on <self:Object(MNullableType)>*/
946 /* method model#MNullableType#to_s for (self: MNullableType): String */
947 val
* model__MNullableType__to_s(val
* self
) {
948 val
* var
/* : String */;
949 val
* var1
/* : String */;
950 var1
= self
->attrs
[COLOR_model__MNullableType___to_s
].val
; /* _to_s on <self:MNullableType> */
951 if (unlikely(var1
== NULL
)) {
952 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s");
953 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1399);
960 /* method model#MNullableType#to_s for (self: Object): String */
961 val
* VIRTUAL_model__MNullableType__to_s(val
* self
) {
962 val
* var
/* : String */;
963 val
* var1
/* : String */;
964 val
* var3
/* : String */;
965 { /* Inline model#MNullableType#to_s (self) on <self:Object(MNullableType)> */
966 var3
= self
->attrs
[COLOR_model__MNullableType___to_s
].val
; /* _to_s on <self:Object(MNullableType)> */
967 if (unlikely(var3
== NULL
)) {
968 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s");
969 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1399);
979 /* method model#MNullableType#to_s= for (self: MNullableType, String) */
980 void model__MNullableType__to_s_61d(val
* self
, val
* p0
) {
981 self
->attrs
[COLOR_model__MNullableType___to_s
].val
= p0
; /* _to_s on <self:MNullableType> */
984 /* method model#MNullableType#to_s= for (self: Object, String) */
985 void VIRTUAL_model__MNullableType__to_s_61d(val
* self
, val
* p0
) {
986 { /* Inline model#MNullableType#to_s= (self,p0) on <self:Object(MNullableType)> */
987 self
->attrs
[COLOR_model__MNullableType___to_s
].val
= p0
; /* _to_s on <self:Object(MNullableType)> */
992 /* method model#MNullableType#need_anchor for (self: MNullableType): Bool */
993 short int model__MNullableType__need_anchor(val
* self
) {
994 short int var
/* : Bool */;
995 val
* var1
/* : MType */;
996 val
* var3
/* : MType */;
997 short int var4
/* : Bool */;
999 { /* Inline model#MNullableType#mtype (self) on <self:MNullableType> */
1000 var3
= self
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <self:MNullableType> */
1001 if (unlikely(var3
== NULL
)) {
1002 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1003 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1388);
1011 var4
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_model__MType__need_anchor
]))(var1
) /* need_anchor on <var1:MType>*/;
1018 /* method model#MNullableType#need_anchor for (self: Object): Bool */
1019 short int VIRTUAL_model__MNullableType__need_anchor(val
* self
) {
1020 short int var
/* : Bool */;
1021 short int var1
/* : Bool */;
1022 var1
= model__MNullableType__need_anchor(self
);
1027 /* method model#MNullableType#as_nullable for (self: MNullableType): MType */
1028 val
* model__MNullableType__as_nullable(val
* self
) {
1029 val
* var
/* : MType */;
1035 /* method model#MNullableType#as_nullable for (self: Object): MType */
1036 val
* VIRTUAL_model__MNullableType__as_nullable(val
* self
) {
1037 val
* var
/* : MType */;
1038 val
* var1
/* : MType */;
1039 var1
= model__MNullableType__as_nullable(self
);
1044 /* method model#MNullableType#as_notnullable for (self: MNullableType): MType */
1045 val
* model__MNullableType__as_notnullable(val
* self
) {
1046 val
* var
/* : MType */;
1047 val
* var1
/* : MType */;
1048 val
* var3
/* : MType */;
1050 { /* Inline model#MNullableType#mtype (self) on <self:MNullableType> */
1051 var3
= self
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <self:MNullableType> */
1052 if (unlikely(var3
== NULL
)) {
1053 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1054 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1388);
1066 /* method model#MNullableType#as_notnullable for (self: Object): MType */
1067 val
* VIRTUAL_model__MNullableType__as_notnullable(val
* self
) {
1068 val
* var
/* : MType */;
1069 val
* var1
/* : MType */;
1070 var1
= model__MNullableType__as_notnullable(self
);
1075 /* method model#MNullableType#resolve_for for (self: MNullableType, MType, nullable MClassType, MModule, Bool): MType */
1076 val
* model__MNullableType__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
1077 val
* var
/* : MType */;
1078 val
* var_mtype
/* var mtype: MType */;
1079 val
* var_anchor
/* var anchor: nullable MClassType */;
1080 val
* var_mmodule
/* var mmodule: MModule */;
1081 short int var_cleanup_virtual
/* var cleanup_virtual: Bool */;
1082 val
* var1
/* : MType */;
1083 val
* var3
/* : MType */;
1084 val
* var4
/* : MType */;
1085 val
* var_res
/* var res: MType */;
1086 val
* var5
/* : MType */;
1090 var_cleanup_virtual
= p3
;
1092 { /* Inline model#MNullableType#mtype (self) on <self:MNullableType> */
1093 var3
= self
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <self:MNullableType> */
1094 if (unlikely(var3
== NULL
)) {
1095 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1096 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1388);
1104 var4
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var1
->class->vft
[COLOR_model__MType__resolve_for
]))(var1
, var_mtype
, var_anchor
, var_mmodule
, var_cleanup_virtual
) /* resolve_for on <var1:MType>*/;
1108 var5
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_model__MType__as_nullable
]))(var_res
) /* as_nullable on <var_res:MType>*/;
1115 /* method model#MNullableType#resolve_for for (self: Object, MType, nullable MClassType, MModule, Bool): MType */
1116 val
* VIRTUAL_model__MNullableType__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
1117 val
* var
/* : MType */;
1118 val
* var1
/* : MType */;
1119 var1
= model__MNullableType__resolve_for(self
, p0
, p1
, p2
, p3
);
1124 /* method model#MNullableType#can_resolve_for for (self: MNullableType, MType, nullable MClassType, MModule): Bool */
1125 short int model__MNullableType__can_resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1126 short int var
/* : Bool */;
1127 val
* var_mtype
/* var mtype: MType */;
1128 val
* var_anchor
/* var anchor: nullable MClassType */;
1129 val
* var_mmodule
/* var mmodule: MModule */;
1130 val
* var1
/* : MType */;
1131 val
* var3
/* : MType */;
1132 short int var4
/* : Bool */;
1137 { /* Inline model#MNullableType#mtype (self) on <self:MNullableType> */
1138 var3
= self
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <self:MNullableType> */
1139 if (unlikely(var3
== NULL
)) {
1140 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1141 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1388);
1149 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>*/;
1156 /* method model#MNullableType#can_resolve_for for (self: Object, MType, nullable MClassType, MModule): Bool */
1157 short int VIRTUAL_model__MNullableType__can_resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1158 short int var
/* : Bool */;
1159 short int var1
/* : Bool */;
1160 var1
= model__MNullableType__can_resolve_for(self
, p0
, p1
, p2
);
1165 /* method model#MNullableType#length for (self: MNullableType): Int */
1166 long model__MNullableType__length(val
* self
) {
1167 long var
/* : Int */;
1168 val
* var1
/* : MType */;
1169 val
* var3
/* : MType */;
1170 long var4
/* : Int */;
1172 { /* Inline model#MNullableType#mtype (self) on <self:MNullableType> */
1173 var3
= self
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <self:MNullableType> */
1174 if (unlikely(var3
== NULL
)) {
1175 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1176 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1388);
1184 var4
= ((long (*)(val
*))(var1
->class->vft
[COLOR_model__MType__length
]))(var1
) /* length on <var1:MType>*/;
1191 /* method model#MNullableType#length for (self: Object): Int */
1192 long VIRTUAL_model__MNullableType__length(val
* self
) {
1193 long var
/* : Int */;
1194 long var1
/* : Int */;
1195 var1
= model__MNullableType__length(self
);
1200 /* method model#MNullableType#collect_mclassdefs for (self: MNullableType, MModule): Set[MClassDef] */
1201 val
* model__MNullableType__collect_mclassdefs(val
* self
, val
* p0
) {
1202 val
* var
/* : Set[MClassDef] */;
1203 val
* var_mmodule
/* var mmodule: MModule */;
1204 short int var1
/* : Bool */;
1205 short int var2
/* : Bool */;
1206 val
* var3
/* : MType */;
1207 val
* var5
/* : MType */;
1208 val
* var6
/* : Set[MClassDef] */;
1211 var1
= model__MNullableType__need_anchor(self
);
1214 if (unlikely(!var2
)) {
1215 PRINT_ERROR("Runtime error: %s", "Assert failed");
1216 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1421);
1220 { /* Inline model#MNullableType#mtype (self) on <self:MNullableType> */
1221 var5
= self
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <self:MNullableType> */
1222 if (unlikely(var5
== NULL
)) {
1223 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1224 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1388);
1232 var6
= ((val
* (*)(val
*, val
*))(var3
->class->vft
[COLOR_model__MType__collect_mclassdefs
]))(var3
, var_mmodule
) /* collect_mclassdefs on <var3:MType>*/;
1239 /* method model#MNullableType#collect_mclassdefs for (self: Object, MModule): Set[MClassDef] */
1240 val
* VIRTUAL_model__MNullableType__collect_mclassdefs(val
* self
, val
* p0
) {
1241 val
* var
/* : Set[MClassDef] */;
1242 val
* var1
/* : Set[MClassDef] */;
1243 var1
= model__MNullableType__collect_mclassdefs(self
, p0
);
1248 /* method model#MNullableType#collect_mclasses for (self: MNullableType, MModule): Set[MClass] */
1249 val
* model__MNullableType__collect_mclasses(val
* self
, val
* p0
) {
1250 val
* var
/* : Set[MClass] */;
1251 val
* var_mmodule
/* var mmodule: MModule */;
1252 short int var1
/* : Bool */;
1253 short int var2
/* : Bool */;
1254 val
* var3
/* : MType */;
1255 val
* var5
/* : MType */;
1256 val
* var6
/* : Set[MClass] */;
1259 var1
= model__MNullableType__need_anchor(self
);
1262 if (unlikely(!var2
)) {
1263 PRINT_ERROR("Runtime error: %s", "Assert failed");
1264 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1427);
1268 { /* Inline model#MNullableType#mtype (self) on <self:MNullableType> */
1269 var5
= self
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <self:MNullableType> */
1270 if (unlikely(var5
== NULL
)) {
1271 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1272 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1388);
1280 var6
= ((val
* (*)(val
*, val
*))(var3
->class->vft
[COLOR_model__MType__collect_mclasses
]))(var3
, var_mmodule
) /* collect_mclasses on <var3:MType>*/;
1287 /* method model#MNullableType#collect_mclasses for (self: Object, MModule): Set[MClass] */
1288 val
* VIRTUAL_model__MNullableType__collect_mclasses(val
* self
, val
* p0
) {
1289 val
* var
/* : Set[MClass] */;
1290 val
* var1
/* : Set[MClass] */;
1291 var1
= model__MNullableType__collect_mclasses(self
, p0
);
1296 /* method model#MNullableType#collect_mtypes for (self: MNullableType, MModule): Set[MClassType] */
1297 val
* model__MNullableType__collect_mtypes(val
* self
, val
* p0
) {
1298 val
* var
/* : Set[MClassType] */;
1299 val
* var_mmodule
/* var mmodule: MModule */;
1300 short int var1
/* : Bool */;
1301 short int var2
/* : Bool */;
1302 val
* var3
/* : MType */;
1303 val
* var5
/* : MType */;
1304 val
* var6
/* : Set[MClassType] */;
1307 var1
= model__MNullableType__need_anchor(self
);
1310 if (unlikely(!var2
)) {
1311 PRINT_ERROR("Runtime error: %s", "Assert failed");
1312 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1433);
1316 { /* Inline model#MNullableType#mtype (self) on <self:MNullableType> */
1317 var5
= self
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <self:MNullableType> */
1318 if (unlikely(var5
== NULL
)) {
1319 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1320 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1388);
1328 var6
= ((val
* (*)(val
*, val
*))(var3
->class->vft
[COLOR_model__MType__collect_mtypes
]))(var3
, var_mmodule
) /* collect_mtypes on <var3:MType>*/;
1335 /* method model#MNullableType#collect_mtypes for (self: Object, MModule): Set[MClassType] */
1336 val
* VIRTUAL_model__MNullableType__collect_mtypes(val
* self
, val
* p0
) {
1337 val
* var
/* : Set[MClassType] */;
1338 val
* var1
/* : Set[MClassType] */;
1339 var1
= model__MNullableType__collect_mtypes(self
, p0
);
1344 /* method model#MNullType#model for (self: MNullType): Model */
1345 val
* model__MNullType__model(val
* self
) {
1346 val
* var
/* : Model */;
1347 val
* var1
/* : Model */;
1348 var1
= self
->attrs
[COLOR_model__MNullType___model
].val
; /* _model on <self:MNullType> */
1349 if (unlikely(var1
== NULL
)) {
1350 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
1351 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1443);
1358 /* method model#MNullType#model for (self: Object): Model */
1359 val
* VIRTUAL_model__MNullType__model(val
* self
) {
1360 val
* var
/* : Model */;
1361 val
* var1
/* : Model */;
1362 val
* var3
/* : Model */;
1363 { /* Inline model#MNullType#model (self) on <self:Object(MNullType)> */
1364 var3
= self
->attrs
[COLOR_model__MNullType___model
].val
; /* _model on <self:Object(MNullType)> */
1365 if (unlikely(var3
== NULL
)) {
1366 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
1367 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1443);
1377 /* method model#MNullType#model= for (self: MNullType, Model) */
1378 void model__MNullType__model_61d(val
* self
, val
* p0
) {
1379 self
->attrs
[COLOR_model__MNullType___model
].val
= p0
; /* _model on <self:MNullType> */
1382 /* method model#MNullType#model= for (self: Object, Model) */
1383 void VIRTUAL_model__MNullType__model_61d(val
* self
, val
* p0
) {
1384 { /* Inline model#MNullType#model= (self,p0) on <self:Object(MNullType)> */
1385 self
->attrs
[COLOR_model__MNullType___model
].val
= p0
; /* _model on <self:Object(MNullType)> */
1390 /* method model#MNullType#init for (self: MNullType, Model) */
1391 void model__MNullType__init(val
* self
, val
* p0
) {
1392 val
* var_model
/* var model: Model */;
1394 ((void (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__init
]))(self
) /* init on <self:MNullType>*/;
1398 { /* Inline model#MNullType#model= (self,var_model) on <self:MNullType> */
1399 self
->attrs
[COLOR_model__MNullType___model
].val
= var_model
; /* _model on <self:MNullType> */
1405 /* method model#MNullType#init for (self: Object, Model) */
1406 void VIRTUAL_model__MNullType__init(val
* self
, val
* p0
) {
1407 model__MNullType__init(self
, p0
); /* Direct call model#MNullType#init on <self:Object(MNullType)>*/
1410 /* method model#MNullType#to_s for (self: MNullType): String */
1411 val
* model__MNullType__to_s(val
* self
) {
1412 val
* var
/* : String */;
1413 static val
* varonce
;
1414 val
* var1
/* : String */;
1415 char* var2
/* : NativeString */;
1416 long var3
/* : Int */;
1417 val
* var4
/* : FlatString */;
1423 var4
= string__NativeString__to_s_with_length(var2
, var3
);
1432 /* method model#MNullType#to_s for (self: Object): String */
1433 val
* VIRTUAL_model__MNullType__to_s(val
* self
) {
1434 val
* var
/* : String */;
1435 val
* var1
/* : String */;
1436 var1
= model__MNullType__to_s(self
);
1441 /* method model#MNullType#as_nullable for (self: MNullType): MType */
1442 val
* model__MNullType__as_nullable(val
* self
) {
1443 val
* var
/* : MType */;
1449 /* method model#MNullType#as_nullable for (self: Object): MType */
1450 val
* VIRTUAL_model__MNullType__as_nullable(val
* self
) {
1451 val
* var
/* : MType */;
1452 val
* var1
/* : MType */;
1453 var1
= model__MNullType__as_nullable(self
);
1458 /* method model#MNullType#need_anchor for (self: MNullType): Bool */
1459 short int model__MNullType__need_anchor(val
* self
) {
1460 short int var
/* : Bool */;
1461 short int var1
/* : Bool */;
1468 /* method model#MNullType#need_anchor for (self: Object): Bool */
1469 short int VIRTUAL_model__MNullType__need_anchor(val
* self
) {
1470 short int var
/* : Bool */;
1471 short int var1
/* : Bool */;
1472 var1
= model__MNullType__need_anchor(self
);
1477 /* method model#MNullType#resolve_for for (self: MNullType, MType, nullable MClassType, MModule, Bool): MType */
1478 val
* model__MNullType__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
1479 val
* var
/* : MType */;
1480 val
* var_mtype
/* var mtype: MType */;
1481 val
* var_anchor
/* var anchor: nullable MClassType */;
1482 val
* var_mmodule
/* var mmodule: MModule */;
1483 short int var_cleanup_virtual
/* var cleanup_virtual: Bool */;
1487 var_cleanup_virtual
= p3
;
1493 /* method model#MNullType#resolve_for for (self: Object, MType, nullable MClassType, MModule, Bool): MType */
1494 val
* VIRTUAL_model__MNullType__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
1495 val
* var
/* : MType */;
1496 val
* var1
/* : MType */;
1497 var1
= model__MNullType__resolve_for(self
, p0
, p1
, p2
, p3
);
1502 /* method model#MNullType#can_resolve_for for (self: MNullType, MType, nullable MClassType, MModule): Bool */
1503 short int model__MNullType__can_resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1504 short int var
/* : Bool */;
1505 val
* var_mtype
/* var mtype: MType */;
1506 val
* var_anchor
/* var anchor: nullable MClassType */;
1507 val
* var_mmodule
/* var mmodule: MModule */;
1508 short int var1
/* : Bool */;
1518 /* method model#MNullType#can_resolve_for for (self: Object, MType, nullable MClassType, MModule): Bool */
1519 short int VIRTUAL_model__MNullType__can_resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1520 short int var
/* : Bool */;
1521 short int var1
/* : Bool */;
1522 var1
= model__MNullType__can_resolve_for(self
, p0
, p1
, p2
);
1527 /* method model#MNullType#collect_mclassdefs for (self: MNullType, MModule): Set[MClassDef] */
1528 val
* model__MNullType__collect_mclassdefs(val
* self
, val
* p0
) {
1529 val
* var
/* : Set[MClassDef] */;
1530 val
* var_mmodule
/* var mmodule: MModule */;
1531 val
* var1
/* : HashSet[MClassDef] */;
1533 var1
= NEW_hash_collection__HashSet(&type_hash_collection__HashSetmodel__MClassDef
);
1535 ((void (*)(val
*))(var1
->class->vft
[COLOR_kernel__Object__init
]))(var1
) /* init on <var1:HashSet[MClassDef]>*/;
1542 /* method model#MNullType#collect_mclassdefs for (self: Object, MModule): Set[MClassDef] */
1543 val
* VIRTUAL_model__MNullType__collect_mclassdefs(val
* self
, val
* p0
) {
1544 val
* var
/* : Set[MClassDef] */;
1545 val
* var1
/* : Set[MClassDef] */;
1546 var1
= model__MNullType__collect_mclassdefs(self
, p0
);
1551 /* method model#MNullType#collect_mclasses for (self: MNullType, MModule): Set[MClass] */
1552 val
* model__MNullType__collect_mclasses(val
* self
, val
* p0
) {
1553 val
* var
/* : Set[MClass] */;
1554 val
* var_mmodule
/* var mmodule: MModule */;
1555 val
* var1
/* : HashSet[MClass] */;
1557 var1
= NEW_hash_collection__HashSet(&type_hash_collection__HashSetmodel__MClass
);
1559 ((void (*)(val
*))(var1
->class->vft
[COLOR_kernel__Object__init
]))(var1
) /* init on <var1:HashSet[MClass]>*/;
1566 /* method model#MNullType#collect_mclasses for (self: Object, MModule): Set[MClass] */
1567 val
* VIRTUAL_model__MNullType__collect_mclasses(val
* self
, val
* p0
) {
1568 val
* var
/* : Set[MClass] */;
1569 val
* var1
/* : Set[MClass] */;
1570 var1
= model__MNullType__collect_mclasses(self
, p0
);
1575 /* method model#MNullType#collect_mtypes for (self: MNullType, MModule): Set[MClassType] */
1576 val
* model__MNullType__collect_mtypes(val
* self
, val
* p0
) {
1577 val
* var
/* : Set[MClassType] */;
1578 val
* var_mmodule
/* var mmodule: MModule */;
1579 val
* var1
/* : HashSet[MClassType] */;
1581 var1
= NEW_hash_collection__HashSet(&type_hash_collection__HashSetmodel__MClassType
);
1583 ((void (*)(val
*))(var1
->class->vft
[COLOR_kernel__Object__init
]))(var1
) /* init on <var1:HashSet[MClassType]>*/;
1590 /* method model#MNullType#collect_mtypes for (self: Object, MModule): Set[MClassType] */
1591 val
* VIRTUAL_model__MNullType__collect_mtypes(val
* self
, val
* p0
) {
1592 val
* var
/* : Set[MClassType] */;
1593 val
* var1
/* : Set[MClassType] */;
1594 var1
= model__MNullType__collect_mtypes(self
, p0
);
1599 /* method model#MSignature#mparameters for (self: MSignature): Array[MParameter] */
1600 val
* model__MSignature__mparameters(val
* self
) {
1601 val
* var
/* : Array[MParameter] */;
1602 val
* var1
/* : Array[MParameter] */;
1603 var1
= self
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <self:MSignature> */
1604 if (unlikely(var1
== NULL
)) {
1605 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
1606 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
1613 /* method model#MSignature#mparameters for (self: Object): Array[MParameter] */
1614 val
* VIRTUAL_model__MSignature__mparameters(val
* self
) {
1615 val
* var
/* : Array[MParameter] */;
1616 val
* var1
/* : Array[MParameter] */;
1617 val
* var3
/* : Array[MParameter] */;
1618 { /* Inline model#MSignature#mparameters (self) on <self:Object(MSignature)> */
1619 var3
= self
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <self:Object(MSignature)> */
1620 if (unlikely(var3
== NULL
)) {
1621 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
1622 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
1632 /* method model#MSignature#mparameters= for (self: MSignature, Array[MParameter]) */
1633 void model__MSignature__mparameters_61d(val
* self
, val
* p0
) {
1634 self
->attrs
[COLOR_model__MSignature___mparameters
].val
= p0
; /* _mparameters on <self:MSignature> */
1637 /* method model#MSignature#mparameters= for (self: Object, Array[MParameter]) */
1638 void VIRTUAL_model__MSignature__mparameters_61d(val
* self
, val
* p0
) {
1639 { /* Inline model#MSignature#mparameters= (self,p0) on <self:Object(MSignature)> */
1640 self
->attrs
[COLOR_model__MSignature___mparameters
].val
= p0
; /* _mparameters on <self:Object(MSignature)> */
1645 /* method model#MSignature#return_mtype for (self: MSignature): nullable MType */
1646 val
* model__MSignature__return_mtype(val
* self
) {
1647 val
* var
/* : nullable MType */;
1648 val
* var1
/* : nullable MType */;
1649 var1
= self
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <self:MSignature> */
1654 /* method model#MSignature#return_mtype for (self: Object): nullable MType */
1655 val
* VIRTUAL_model__MSignature__return_mtype(val
* self
) {
1656 val
* var
/* : nullable MType */;
1657 val
* var1
/* : nullable MType */;
1658 val
* var3
/* : nullable MType */;
1659 { /* Inline model#MSignature#return_mtype (self) on <self:Object(MSignature)> */
1660 var3
= self
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <self:Object(MSignature)> */
1668 /* method model#MSignature#return_mtype= for (self: MSignature, nullable MType) */
1669 void model__MSignature__return_mtype_61d(val
* self
, val
* p0
) {
1670 self
->attrs
[COLOR_model__MSignature___return_mtype
].val
= p0
; /* _return_mtype on <self:MSignature> */
1673 /* method model#MSignature#return_mtype= for (self: Object, nullable MType) */
1674 void VIRTUAL_model__MSignature__return_mtype_61d(val
* self
, val
* p0
) {
1675 { /* Inline model#MSignature#return_mtype= (self,p0) on <self:Object(MSignature)> */
1676 self
->attrs
[COLOR_model__MSignature___return_mtype
].val
= p0
; /* _return_mtype on <self:Object(MSignature)> */
1681 /* method model#MSignature#length for (self: MSignature): Int */
1682 long model__MSignature__length(val
* self
) {
1683 long var
/* : Int */;
1684 long var1
/* : Int */;
1685 long var_res
/* var res: Int */;
1686 val
* var2
/* : nullable MType */;
1687 val
* var4
/* : nullable MType */;
1688 val
* var_t
/* var t: nullable MType */;
1689 val
* var5
/* : null */;
1690 short int var6
/* : Bool */;
1691 short int var7
/* : Bool */;
1692 val
* var_other
/* var other: nullable Object */;
1693 short int var9
/* : Bool */;
1694 short int var10
/* : Bool */;
1695 short int var11
/* : Bool */;
1696 long var12
/* : Int */;
1697 long var13
/* : Int */;
1698 short int var15
/* : Bool */;
1701 const char* var_class_name
;
1702 long var16
/* : Int */;
1703 val
* var17
/* : Array[MParameter] */;
1704 val
* var19
/* : Array[MParameter] */;
1705 val
* var_
/* var : Array[MParameter] */;
1706 val
* var20
/* : ArrayIterator[nullable Object] */;
1707 val
* var_21
/* var : ArrayIterator[MParameter] */;
1708 short int var22
/* : Bool */;
1709 val
* var23
/* : nullable Object */;
1710 val
* var_p
/* var p: MParameter */;
1711 val
* var24
/* : MType */;
1712 val
* var26
/* : MType */;
1713 long var27
/* : Int */;
1714 long var28
/* : Int */;
1715 short int var30
/* : Bool */;
1718 const char* var_class_name33
;
1719 long var34
/* : Int */;
1723 { /* Inline model#MSignature#return_mtype (self) on <self:MSignature> */
1724 var4
= self
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <self:MSignature> */
1731 if (var_t
== NULL
) {
1732 var6
= 0; /* is null */
1734 var6
= 1; /* arg is null and recv is not */
1737 { /* Inline kernel#Object#!= (var_t,var5) on <var_t:nullable MType> */
1740 var10
= ((short int (*)(val
*, val
*))(var_t
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_t
, var_other
) /* == on <var_t:nullable MType(MType)>*/;
1752 var12
= ((long (*)(val
*))(var_t
->class->vft
[COLOR_model__MType__length
]))(var_t
) /* length on <var_t:nullable MType(MType)>*/;
1755 { /* Inline kernel#Int#+ (var_res,var12) on <var_res:Int> */
1756 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
1757 /* <var12:Int> isa OTHER */
1758 var15
= 1; /* easy <var12:Int> isa OTHER*/
1759 if (unlikely(!var15
)) {
1760 var_class_name
= type_kernel__Int
.name
;
1761 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1762 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
1765 var16
= var_res
+ var12
;
1768 RET_LABEL14
:(void)0;
1775 { /* Inline model#MSignature#mparameters (self) on <self:MSignature> */
1776 var19
= self
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <self:MSignature> */
1777 if (unlikely(var19
== NULL
)) {
1778 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
1779 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
1783 RET_LABEL18
:(void)0;
1788 var20
= array__AbstractArrayRead__iterator(var_
);
1793 var22
= array__ArrayIterator__is_ok(var_21
);
1797 var23
= array__ArrayIterator__item(var_21
);
1801 { /* Inline model#MParameter#mtype (var_p) on <var_p:MParameter> */
1802 var26
= var_p
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var_p:MParameter> */
1803 if (unlikely(var26
== NULL
)) {
1804 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1805 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
1809 RET_LABEL25
:(void)0;
1813 var27
= ((long (*)(val
*))(var24
->class->vft
[COLOR_model__MType__length
]))(var24
) /* length on <var24:MType>*/;
1816 { /* Inline kernel#Int#+ (var_res,var27) on <var_res:Int> */
1817 /* Covariant cast for argument 0 (i) <var27:Int> isa OTHER */
1818 /* <var27:Int> isa OTHER */
1819 var30
= 1; /* easy <var27:Int> isa OTHER*/
1820 if (unlikely(!var30
)) {
1821 var_class_name33
= type_kernel__Int
.name
;
1822 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33
);
1823 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
1826 var34
= var_res
+ var27
;
1829 RET_LABEL29
:(void)0;
1834 array__ArrayIterator__next(var_21
); /* Direct call array#ArrayIterator#next on <var_21:ArrayIterator[MParameter]>*/
1840 BREAK_label
: (void)0;
1842 { /* Inline abstract_collection#Iterator#finish (var_21) on <var_21:ArrayIterator[MParameter]> */
1843 RET_LABEL35
:(void)0;
1851 /* method model#MSignature#length for (self: Object): Int */
1852 long VIRTUAL_model__MSignature__length(val
* self
) {
1853 long var
/* : Int */;
1854 long var1
/* : Int */;
1855 var1
= model__MSignature__length(self
);
1860 /* method model#MSignature#init for (self: MSignature, Array[MParameter], nullable MType) */
1861 void model__MSignature__init(val
* self
, val
* p0
, val
* p1
) {
1862 val
* var_mparameters
/* var mparameters: Array[MParameter] */;
1863 val
* var_return_mtype
/* var return_mtype: nullable MType */;
1864 long var
/* : Int */;
1865 long var1
/* : Int */;
1866 long var3
/* : Int */;
1867 long var_vararg_rank
/* var vararg_rank: Int */;
1868 long var4
/* : Int */;
1869 long var_i
/* var i: Int */;
1870 long var5
/* : Int */;
1871 long var7
/* : Int */;
1872 long var_
/* var : Int */;
1873 short int var8
/* : Bool */;
1874 short int var10
/* : Bool */;
1877 const char* var_class_name
;
1878 short int var11
/* : Bool */;
1879 val
* var12
/* : nullable Object */;
1880 val
* var_parameter
/* var parameter: MParameter */;
1881 short int var13
/* : Bool */;
1882 short int var15
/* : Bool */;
1883 long var16
/* : Int */;
1884 long var17
/* : Int */;
1885 long var19
/* : Int */;
1886 short int var20
/* : Bool */;
1887 short int var21
/* : Bool */;
1888 short int var23
/* : Bool */;
1889 long var24
/* : Int */;
1890 long var25
/* : Int */;
1892 ((void (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__init
]))(self
) /* init on <self:MSignature>*/;
1894 var_mparameters
= p0
;
1895 var_return_mtype
= p1
;
1898 { /* Inline kernel#Int#unary - (var) on <var:Int> */
1905 var_vararg_rank
= var1
;
1909 { /* Inline array#AbstractArrayRead#length (var_mparameters) on <var_mparameters:Array[MParameter]> */
1910 var7
= var_mparameters
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_mparameters:Array[MParameter]> */
1918 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
1919 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
1920 /* <var_:Int> isa OTHER */
1921 var10
= 1; /* easy <var_:Int> isa OTHER*/
1922 if (unlikely(!var10
)) {
1923 var_class_name
= type_kernel__Int
.name
;
1924 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1925 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
1928 var11
= var_i
< var_
;
1936 var12
= array__Array___91d_93d(var_mparameters
, var_i
);
1938 var_parameter
= var12
;
1940 { /* Inline model#MParameter#is_vararg (var_parameter) on <var_parameter:MParameter> */
1941 var15
= var_parameter
->attrs
[COLOR_model__MParameter___is_vararg
].s
; /* _is_vararg on <var_parameter:MParameter> */
1943 RET_LABEL14
:(void)0;
1949 { /* Inline kernel#Int#unary - (var16) on <var16:Int> */
1953 RET_LABEL18
:(void)0;
1957 { /* Inline kernel#Int#== (var_vararg_rank,var17) on <var_vararg_rank:Int> */
1958 var23
= var_vararg_rank
== var17
;
1961 RET_LABEL22
:(void)0;
1965 if (unlikely(!var20
)) {
1966 PRINT_ERROR("Runtime error: %s", "Assert failed");
1967 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1501);
1970 var_vararg_rank
= var_i
;
1975 var25
= kernel__Int__successor(var_i
, var24
);
1982 BREAK_label
: (void)0;
1984 { /* Inline model#MSignature#mparameters= (self,var_mparameters) on <self:MSignature> */
1985 self
->attrs
[COLOR_model__MSignature___mparameters
].val
= var_mparameters
; /* _mparameters on <self:MSignature> */
1986 RET_LABEL26
:(void)0;
1990 { /* Inline model#MSignature#return_mtype= (self,var_return_mtype) on <self:MSignature> */
1991 self
->attrs
[COLOR_model__MSignature___return_mtype
].val
= var_return_mtype
; /* _return_mtype on <self:MSignature> */
1992 RET_LABEL27
:(void)0;
1996 { /* Inline model#MSignature#vararg_rank= (self,var_vararg_rank) on <self:MSignature> */
1997 self
->attrs
[COLOR_model__MSignature___vararg_rank
].l
= var_vararg_rank
; /* _vararg_rank on <self:MSignature> */
1998 RET_LABEL28
:(void)0;
2003 /* method model#MSignature#init for (self: Object, Array[MParameter], nullable MType) */
2004 void VIRTUAL_model__MSignature__init(val
* self
, val
* p0
, val
* p1
) {
2005 model__MSignature__init(self
, p0
, p1
); /* Direct call model#MSignature#init on <self:Object(MSignature)>*/
2008 /* method model#MSignature#vararg_rank for (self: MSignature): Int */
2009 long model__MSignature__vararg_rank(val
* self
) {
2010 long var
/* : Int */;
2011 long var1
/* : Int */;
2012 var1
= self
->attrs
[COLOR_model__MSignature___vararg_rank
].l
; /* _vararg_rank on <self:MSignature> */
2017 /* method model#MSignature#vararg_rank for (self: Object): Int */
2018 long VIRTUAL_model__MSignature__vararg_rank(val
* self
) {
2019 long var
/* : Int */;
2020 long var1
/* : Int */;
2021 long var3
/* : Int */;
2022 { /* Inline model#MSignature#vararg_rank (self) on <self:Object(MSignature)> */
2023 var3
= self
->attrs
[COLOR_model__MSignature___vararg_rank
].l
; /* _vararg_rank on <self:Object(MSignature)> */
2031 /* method model#MSignature#vararg_rank= for (self: MSignature, Int) */
2032 void model__MSignature__vararg_rank_61d(val
* self
, long p0
) {
2033 self
->attrs
[COLOR_model__MSignature___vararg_rank
].l
= p0
; /* _vararg_rank on <self:MSignature> */
2036 /* method model#MSignature#vararg_rank= for (self: Object, Int) */
2037 void VIRTUAL_model__MSignature__vararg_rank_61d(val
* self
, long p0
) {
2038 { /* Inline model#MSignature#vararg_rank= (self,p0) on <self:Object(MSignature)> */
2039 self
->attrs
[COLOR_model__MSignature___vararg_rank
].l
= p0
; /* _vararg_rank on <self:Object(MSignature)> */
2044 /* method model#MSignature#arity for (self: MSignature): Int */
2045 long model__MSignature__arity(val
* self
) {
2046 long var
/* : Int */;
2047 val
* var1
/* : Array[MParameter] */;
2048 val
* var3
/* : Array[MParameter] */;
2049 long var4
/* : Int */;
2050 long var6
/* : Int */;
2052 { /* Inline model#MSignature#mparameters (self) on <self:MSignature> */
2053 var3
= self
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <self:MSignature> */
2054 if (unlikely(var3
== NULL
)) {
2055 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
2056 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
2064 { /* Inline array#AbstractArrayRead#length (var1) on <var1:Array[MParameter]> */
2065 var6
= var1
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var1:Array[MParameter]> */
2075 /* method model#MSignature#arity for (self: Object): Int */
2076 long VIRTUAL_model__MSignature__arity(val
* self
) {
2077 long var
/* : Int */;
2078 long var1
/* : Int */;
2079 var1
= model__MSignature__arity(self
);
2084 /* method model#MSignature#to_s for (self: MSignature): String */
2085 val
* model__MSignature__to_s(val
* self
) {
2086 val
* var
/* : String */;
2087 val
* var1
/* : FlatBuffer */;
2088 val
* var_b
/* var b: FlatBuffer */;
2089 val
* var2
/* : Array[MParameter] */;
2090 val
* var4
/* : Array[MParameter] */;
2091 short int var5
/* : Bool */;
2092 short int var6
/* : Bool */;
2093 static val
* varonce
;
2094 val
* var7
/* : String */;
2095 char* var8
/* : NativeString */;
2096 long var9
/* : Int */;
2097 val
* var10
/* : FlatString */;
2098 long var11
/* : Int */;
2099 long var_i
/* var i: Int */;
2100 val
* var12
/* : Array[MParameter] */;
2101 val
* var14
/* : Array[MParameter] */;
2102 long var15
/* : Int */;
2103 long var17
/* : Int */;
2104 long var_
/* var : Int */;
2105 short int var18
/* : Bool */;
2106 short int var20
/* : Bool */;
2109 const char* var_class_name
;
2110 short int var21
/* : Bool */;
2111 val
* var22
/* : Array[MParameter] */;
2112 val
* var24
/* : Array[MParameter] */;
2113 val
* var25
/* : nullable Object */;
2114 val
* var_mparameter
/* var mparameter: MParameter */;
2115 long var26
/* : Int */;
2116 short int var27
/* : Bool */;
2117 short int var29
/* : Bool */;
2120 const char* var_class_name32
;
2121 short int var33
/* : Bool */;
2122 static val
* varonce34
;
2123 val
* var35
/* : String */;
2124 char* var36
/* : NativeString */;
2125 long var37
/* : Int */;
2126 val
* var38
/* : FlatString */;
2127 val
* var39
/* : String */;
2128 val
* var41
/* : String */;
2129 static val
* varonce42
;
2130 val
* var43
/* : String */;
2131 char* var44
/* : NativeString */;
2132 long var45
/* : Int */;
2133 val
* var46
/* : FlatString */;
2134 val
* var47
/* : MType */;
2135 val
* var49
/* : MType */;
2136 val
* var50
/* : String */;
2137 short int var51
/* : Bool */;
2138 short int var53
/* : Bool */;
2139 static val
* varonce54
;
2140 val
* var55
/* : String */;
2141 char* var56
/* : NativeString */;
2142 long var57
/* : Int */;
2143 val
* var58
/* : FlatString */;
2144 long var59
/* : Int */;
2145 long var60
/* : Int */;
2146 static val
* varonce61
;
2147 val
* var62
/* : String */;
2148 char* var63
/* : NativeString */;
2149 long var64
/* : Int */;
2150 val
* var65
/* : FlatString */;
2151 val
* var66
/* : nullable MType */;
2152 val
* var68
/* : nullable MType */;
2153 val
* var_ret
/* var ret: nullable MType */;
2154 val
* var69
/* : null */;
2155 short int var70
/* : Bool */;
2156 short int var71
/* : Bool */;
2157 val
* var_other
/* var other: nullable Object */;
2158 short int var73
/* : Bool */;
2159 short int var74
/* : Bool */;
2160 short int var75
/* : Bool */;
2161 static val
* varonce76
;
2162 val
* var77
/* : String */;
2163 char* var78
/* : NativeString */;
2164 long var79
/* : Int */;
2165 val
* var80
/* : FlatString */;
2166 val
* var81
/* : String */;
2167 val
* var82
/* : String */;
2168 var1
= NEW_string__FlatBuffer(&type_string__FlatBuffer
);
2170 ((void (*)(val
*))(var1
->class->vft
[COLOR_kernel__Object__init
]))(var1
) /* init on <var1:FlatBuffer>*/;
2174 { /* Inline model#MSignature#mparameters (self) on <self:MSignature> */
2175 var4
= self
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <self:MSignature> */
2176 if (unlikely(var4
== NULL
)) {
2177 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
2178 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
2186 var5
= array__AbstractArrayRead__is_empty(var2
);
2195 var10
= string__NativeString__to_s_with_length(var8
, var9
);
2200 string__FlatBuffer__append(var_b
, var7
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
2205 { /* Inline model#MSignature#mparameters (self) on <self:MSignature> */
2206 var14
= self
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <self:MSignature> */
2207 if (unlikely(var14
== NULL
)) {
2208 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
2209 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
2213 RET_LABEL13
:(void)0;
2217 { /* Inline array#AbstractArrayRead#length (var12) on <var12:Array[MParameter]> */
2218 var17
= var12
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var12:Array[MParameter]> */
2220 RET_LABEL16
:(void)0;
2226 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
2227 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
2228 /* <var_:Int> isa OTHER */
2229 var20
= 1; /* easy <var_:Int> isa OTHER*/
2230 if (unlikely(!var20
)) {
2231 var_class_name
= type_kernel__Int
.name
;
2232 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2233 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
2236 var21
= var_i
< var_
;
2239 RET_LABEL19
:(void)0;
2244 { /* Inline model#MSignature#mparameters (self) on <self:MSignature> */
2245 var24
= self
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <self:MSignature> */
2246 if (unlikely(var24
== NULL
)) {
2247 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
2248 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
2252 RET_LABEL23
:(void)0;
2256 var25
= array__Array___91d_93d(var22
, var_i
);
2258 var_mparameter
= var25
;
2261 { /* Inline kernel#Int#> (var_i,var26) on <var_i:Int> */
2262 /* Covariant cast for argument 0 (i) <var26:Int> isa OTHER */
2263 /* <var26:Int> isa OTHER */
2264 var29
= 1; /* easy <var26:Int> isa OTHER*/
2265 if (unlikely(!var29
)) {
2266 var_class_name32
= type_kernel__Int
.name
;
2267 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32
);
2268 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
2271 var33
= var_i
> var26
;
2274 RET_LABEL28
:(void)0;
2283 var38
= string__NativeString__to_s_with_length(var36
, var37
);
2288 string__FlatBuffer__append(var_b
, var35
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
2293 { /* Inline model#MParameter#name (var_mparameter) on <var_mparameter:MParameter> */
2294 var41
= var_mparameter
->attrs
[COLOR_model__MParameter___name
].val
; /* _name on <var_mparameter:MParameter> */
2295 if (unlikely(var41
== NULL
)) {
2296 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2297 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1562);
2301 RET_LABEL40
:(void)0;
2305 string__FlatBuffer__append(var_b
, var39
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
2312 var46
= string__NativeString__to_s_with_length(var44
, var45
);
2317 string__FlatBuffer__append(var_b
, var43
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
2320 { /* Inline model#MParameter#mtype (var_mparameter) on <var_mparameter:MParameter> */
2321 var49
= var_mparameter
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var_mparameter:MParameter> */
2322 if (unlikely(var49
== NULL
)) {
2323 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2324 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
2328 RET_LABEL48
:(void)0;
2332 var50
= ((val
* (*)(val
*))(var47
->class->vft
[COLOR_string__Object__to_s
]))(var47
) /* to_s on <var47:MType>*/;
2335 string__FlatBuffer__append(var_b
, var50
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
2338 { /* Inline model#MParameter#is_vararg (var_mparameter) on <var_mparameter:MParameter> */
2339 var53
= var_mparameter
->attrs
[COLOR_model__MParameter___is_vararg
].s
; /* _is_vararg on <var_mparameter:MParameter> */
2341 RET_LABEL52
:(void)0;
2350 var58
= string__NativeString__to_s_with_length(var56
, var57
);
2355 string__FlatBuffer__append(var_b
, var55
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
2361 var60
= kernel__Int__successor(var_i
, var59
);
2368 BREAK_label
: (void)0;
2374 var65
= string__NativeString__to_s_with_length(var63
, var64
);
2379 string__FlatBuffer__append(var_b
, var62
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
2384 { /* Inline model#MSignature#return_mtype (self) on <self:MSignature> */
2385 var68
= self
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <self:MSignature> */
2387 RET_LABEL67
:(void)0;
2392 if (var_ret
== NULL
) {
2393 var70
= 0; /* is null */
2395 var70
= 1; /* arg is null and recv is not */
2398 { /* Inline kernel#Object#!= (var_ret,var69) on <var_ret:nullable MType> */
2401 var74
= ((short int (*)(val
*, val
*))(var_ret
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ret
, var_other
) /* == on <var_ret:nullable MType(MType)>*/;
2407 RET_LABEL72
:(void)0;
2417 var80
= string__NativeString__to_s_with_length(var78
, var79
);
2422 string__FlatBuffer__append(var_b
, var77
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
2425 var81
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_string__Object__to_s
]))(var_ret
) /* to_s on <var_ret:nullable MType(MType)>*/;
2428 string__FlatBuffer__append(var_b
, var81
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
2433 var82
= string__FlatBuffer__to_s(var_b
);
2440 /* method model#MSignature#to_s for (self: Object): String */
2441 val
* VIRTUAL_model__MSignature__to_s(val
* self
) {
2442 val
* var
/* : String */;
2443 val
* var1
/* : String */;
2444 var1
= model__MSignature__to_s(self
);
2449 /* method model#MSignature#resolve_for for (self: MSignature, MType, nullable MClassType, MModule, Bool): MSignature */
2450 val
* model__MSignature__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
2451 val
* var
/* : MSignature */;
2452 val
* var_mtype
/* var mtype: MType */;
2453 val
* var_anchor
/* var anchor: nullable MClassType */;
2454 val
* var_mmodule
/* var mmodule: MModule */;
2455 short int var_cleanup_virtual
/* var cleanup_virtual: Bool */;
2456 val
* var1
/* : Array[MParameter] */;
2457 val
* var_params
/* var params: Array[MParameter] */;
2458 val
* var2
/* : Array[MParameter] */;
2459 val
* var4
/* : Array[MParameter] */;
2460 val
* var_
/* var : Array[MParameter] */;
2461 val
* var5
/* : ArrayIterator[nullable Object] */;
2462 val
* var_6
/* var : ArrayIterator[MParameter] */;
2463 short int var7
/* : Bool */;
2464 val
* var8
/* : nullable Object */;
2465 val
* var_p
/* var p: MParameter */;
2466 val
* var9
/* : MParameter */;
2467 val
* var11
/* : nullable MType */;
2468 val
* var13
/* : nullable MType */;
2469 val
* var_ret
/* var ret: nullable MType */;
2470 val
* var14
/* : null */;
2471 short int var15
/* : Bool */;
2472 short int var16
/* : Bool */;
2473 val
* var_other
/* var other: nullable Object */;
2474 short int var18
/* : Bool */;
2475 short int var19
/* : Bool */;
2476 short int var20
/* : Bool */;
2477 val
* var21
/* : MType */;
2478 val
* var22
/* : MSignature */;
2479 val
* var_res
/* var res: MSignature */;
2483 var_cleanup_virtual
= p3
;
2484 var1
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
2486 ((void (*)(val
*))(var1
->class->vft
[COLOR_kernel__Object__init
]))(var1
) /* init on <var1:Array[MParameter]>*/;
2490 { /* Inline model#MSignature#mparameters (self) on <self:MSignature> */
2491 var4
= self
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <self:MSignature> */
2492 if (unlikely(var4
== NULL
)) {
2493 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
2494 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
2503 var5
= array__AbstractArrayRead__iterator(var_
);
2508 var7
= array__ArrayIterator__is_ok(var_6
);
2512 var8
= array__ArrayIterator__item(var_6
);
2516 var9
= model__MParameter__resolve_for(var_p
, var_mtype
, var_anchor
, var_mmodule
, var_cleanup_virtual
);
2519 array__Array__add(var_params
, var9
); /* Direct call array#Array#add on <var_params:Array[MParameter]>*/
2522 array__ArrayIterator__next(var_6
); /* Direct call array#ArrayIterator#next on <var_6:ArrayIterator[MParameter]>*/
2528 BREAK_label
: (void)0;
2530 { /* Inline abstract_collection#Iterator#finish (var_6) on <var_6:ArrayIterator[MParameter]> */
2531 RET_LABEL10
:(void)0;
2535 { /* Inline model#MSignature#return_mtype (self) on <self:MSignature> */
2536 var13
= self
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <self:MSignature> */
2538 RET_LABEL12
:(void)0;
2543 if (var_ret
== NULL
) {
2544 var15
= 0; /* is null */
2546 var15
= 1; /* arg is null and recv is not */
2549 { /* Inline kernel#Object#!= (var_ret,var14) on <var_ret:nullable MType> */
2552 var19
= ((short int (*)(val
*, val
*))(var_ret
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ret
, var_other
) /* == on <var_ret:nullable MType(MType)>*/;
2558 RET_LABEL17
:(void)0;
2564 var21
= ((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)>*/;
2569 var22
= NEW_model__MSignature(&type_model__MSignature
);
2571 model__MSignature__init(var22
, var_params
, var_ret
); /* Direct call model#MSignature#init on <var22:MSignature>*/
2579 /* method model#MSignature#resolve_for for (self: Object, MType, nullable MClassType, MModule, Bool): MType */
2580 val
* VIRTUAL_model__MSignature__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
2581 val
* var
/* : MType */;
2582 val
* var1
/* : MSignature */;
2583 var1
= model__MSignature__resolve_for(self
, p0
, p1
, p2
, p3
);
2588 /* method model#MParameter#name for (self: MParameter): String */
2589 val
* model__MParameter__name(val
* self
) {
2590 val
* var
/* : String */;
2591 val
* var1
/* : String */;
2592 var1
= self
->attrs
[COLOR_model__MParameter___name
].val
; /* _name on <self:MParameter> */
2593 if (unlikely(var1
== NULL
)) {
2594 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2595 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1562);
2602 /* method model#MParameter#name for (self: Object): String */
2603 val
* VIRTUAL_model__MParameter__name(val
* self
) {
2604 val
* var
/* : String */;
2605 val
* var1
/* : String */;
2606 val
* var3
/* : String */;
2607 { /* Inline model#MParameter#name (self) on <self:Object(MParameter)> */
2608 var3
= self
->attrs
[COLOR_model__MParameter___name
].val
; /* _name on <self:Object(MParameter)> */
2609 if (unlikely(var3
== NULL
)) {
2610 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2611 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1562);
2621 /* method model#MParameter#name= for (self: MParameter, String) */
2622 void model__MParameter__name_61d(val
* self
, val
* p0
) {
2623 self
->attrs
[COLOR_model__MParameter___name
].val
= p0
; /* _name on <self:MParameter> */
2626 /* method model#MParameter#name= for (self: Object, String) */
2627 void VIRTUAL_model__MParameter__name_61d(val
* self
, val
* p0
) {
2628 { /* Inline model#MParameter#name= (self,p0) on <self:Object(MParameter)> */
2629 self
->attrs
[COLOR_model__MParameter___name
].val
= p0
; /* _name on <self:Object(MParameter)> */
2634 /* method model#MParameter#mtype for (self: MParameter): MType */
2635 val
* model__MParameter__mtype(val
* self
) {
2636 val
* var
/* : MType */;
2637 val
* var1
/* : MType */;
2638 var1
= self
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <self:MParameter> */
2639 if (unlikely(var1
== NULL
)) {
2640 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2641 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
2648 /* method model#MParameter#mtype for (self: Object): MType */
2649 val
* VIRTUAL_model__MParameter__mtype(val
* self
) {
2650 val
* var
/* : MType */;
2651 val
* var1
/* : MType */;
2652 val
* var3
/* : MType */;
2653 { /* Inline model#MParameter#mtype (self) on <self:Object(MParameter)> */
2654 var3
= self
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <self:Object(MParameter)> */
2655 if (unlikely(var3
== NULL
)) {
2656 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2657 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
2667 /* method model#MParameter#mtype= for (self: MParameter, MType) */
2668 void model__MParameter__mtype_61d(val
* self
, val
* p0
) {
2669 self
->attrs
[COLOR_model__MParameter___mtype
].val
= p0
; /* _mtype on <self:MParameter> */
2672 /* method model#MParameter#mtype= for (self: Object, MType) */
2673 void VIRTUAL_model__MParameter__mtype_61d(val
* self
, val
* p0
) {
2674 { /* Inline model#MParameter#mtype= (self,p0) on <self:Object(MParameter)> */
2675 self
->attrs
[COLOR_model__MParameter___mtype
].val
= p0
; /* _mtype on <self:Object(MParameter)> */
2680 /* method model#MParameter#is_vararg for (self: MParameter): Bool */
2681 short int model__MParameter__is_vararg(val
* self
) {
2682 short int var
/* : Bool */;
2683 short int var1
/* : Bool */;
2684 var1
= self
->attrs
[COLOR_model__MParameter___is_vararg
].s
; /* _is_vararg on <self:MParameter> */
2689 /* method model#MParameter#is_vararg for (self: Object): Bool */
2690 short int VIRTUAL_model__MParameter__is_vararg(val
* self
) {
2691 short int var
/* : Bool */;
2692 short int var1
/* : Bool */;
2693 short int var3
/* : Bool */;
2694 { /* Inline model#MParameter#is_vararg (self) on <self:Object(MParameter)> */
2695 var3
= self
->attrs
[COLOR_model__MParameter___is_vararg
].s
; /* _is_vararg on <self:Object(MParameter)> */
2703 /* method model#MParameter#is_vararg= for (self: MParameter, Bool) */
2704 void model__MParameter__is_vararg_61d(val
* self
, short int p0
) {
2705 self
->attrs
[COLOR_model__MParameter___is_vararg
].s
= p0
; /* _is_vararg on <self:MParameter> */
2708 /* method model#MParameter#is_vararg= for (self: Object, Bool) */
2709 void VIRTUAL_model__MParameter__is_vararg_61d(val
* self
, short int p0
) {
2710 { /* Inline model#MParameter#is_vararg= (self,p0) on <self:Object(MParameter)> */
2711 self
->attrs
[COLOR_model__MParameter___is_vararg
].s
= p0
; /* _is_vararg on <self:Object(MParameter)> */
2716 /* method model#MParameter#init for (self: MParameter, String, MType, Bool) */
2717 void model__MParameter__init(val
* self
, val
* p0
, val
* p1
, short int p2
) {
2718 val
* var_name
/* var name: String */;
2719 val
* var_mtype
/* var mtype: MType */;
2720 short int var_is_vararg
/* var is_vararg: Bool */;
2722 ((void (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__init
]))(self
) /* init on <self:MParameter>*/;
2728 { /* Inline model#MParameter#name= (self,var_name) on <self:MParameter> */
2729 self
->attrs
[COLOR_model__MParameter___name
].val
= var_name
; /* _name on <self:MParameter> */
2734 { /* Inline model#MParameter#mtype= (self,var_mtype) on <self:MParameter> */
2735 self
->attrs
[COLOR_model__MParameter___mtype
].val
= var_mtype
; /* _mtype on <self:MParameter> */
2740 { /* Inline model#MParameter#is_vararg= (self,var_is_vararg) on <self:MParameter> */
2741 self
->attrs
[COLOR_model__MParameter___is_vararg
].s
= var_is_vararg
; /* _is_vararg on <self:MParameter> */
2747 /* method model#MParameter#init for (self: Object, String, MType, Bool) */
2748 void VIRTUAL_model__MParameter__init(val
* self
, val
* p0
, val
* p1
, short int p2
) {
2749 model__MParameter__init(self
, p0
, p1
, p2
); /* Direct call model#MParameter#init on <self:Object(MParameter)>*/
2752 /* method model#MParameter#to_s for (self: MParameter): String */
2753 val
* model__MParameter__to_s(val
* self
) {
2754 val
* var
/* : String */;
2755 short int var1
/* : Bool */;
2756 short int var3
/* : Bool */;
2757 val
* var4
/* : String */;
2758 val
* var6
/* : String */;
2759 static val
* varonce
;
2760 val
* var7
/* : String */;
2761 char* var8
/* : NativeString */;
2762 long var9
/* : Int */;
2763 val
* var10
/* : FlatString */;
2764 val
* var11
/* : MType */;
2765 val
* var13
/* : MType */;
2766 static val
* varonce14
;
2767 val
* var15
/* : String */;
2768 char* var16
/* : NativeString */;
2769 long var17
/* : Int */;
2770 val
* var18
/* : FlatString */;
2771 val
* var19
/* : Array[Object] */;
2772 long var20
/* : Int */;
2773 val
* var21
/* : NativeArray[Object] */;
2774 val
* var22
/* : String */;
2775 val
* var23
/* : String */;
2776 val
* var25
/* : String */;
2777 static val
* varonce26
;
2778 val
* var27
/* : String */;
2779 char* var28
/* : NativeString */;
2780 long var29
/* : Int */;
2781 val
* var30
/* : FlatString */;
2782 val
* var31
/* : MType */;
2783 val
* var33
/* : MType */;
2784 val
* var34
/* : Array[Object] */;
2785 long var35
/* : Int */;
2786 val
* var36
/* : NativeArray[Object] */;
2787 val
* var37
/* : String */;
2789 { /* Inline model#MParameter#is_vararg (self) on <self:MParameter> */
2790 var3
= self
->attrs
[COLOR_model__MParameter___is_vararg
].s
; /* _is_vararg on <self:MParameter> */
2797 { /* Inline model#MParameter#name (self) on <self:MParameter> */
2798 var6
= self
->attrs
[COLOR_model__MParameter___name
].val
; /* _name on <self:MParameter> */
2799 if (unlikely(var6
== NULL
)) {
2800 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2801 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1562);
2813 var10
= string__NativeString__to_s_with_length(var8
, var9
);
2818 { /* Inline model#MParameter#mtype (self) on <self:MParameter> */
2819 var13
= self
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <self:MParameter> */
2820 if (unlikely(var13
== NULL
)) {
2821 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2822 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
2826 RET_LABEL12
:(void)0;
2834 var18
= string__NativeString__to_s_with_length(var16
, var17
);
2838 var19
= NEW_array__Array(&type_array__Arraykernel__Object
);
2839 { /* var19 = array_instance Array[Object] */
2841 var21
= NEW_array__NativeArray(var20
, &type_array__NativeArraykernel__Object
);
2842 ((struct instance_array__NativeArray
*)var21
)->values
[0] = (val
*) var4
;
2843 ((struct instance_array__NativeArray
*)var21
)->values
[1] = (val
*) var7
;
2844 ((struct instance_array__NativeArray
*)var21
)->values
[2] = (val
*) var11
;
2845 ((struct instance_array__NativeArray
*)var21
)->values
[3] = (val
*) var15
;
2847 ((void (*)(val
*, val
*, long))(var19
->class->vft
[COLOR_array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[Object]>*/;
2851 var22
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_string__Object__to_s
]))(var19
) /* to_s on <var19:Array[Object]>*/;
2857 { /* Inline model#MParameter#name (self) on <self:MParameter> */
2858 var25
= self
->attrs
[COLOR_model__MParameter___name
].val
; /* _name on <self:MParameter> */
2859 if (unlikely(var25
== NULL
)) {
2860 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2861 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1562);
2865 RET_LABEL24
:(void)0;
2873 var30
= string__NativeString__to_s_with_length(var28
, var29
);
2878 { /* Inline model#MParameter#mtype (self) on <self:MParameter> */
2879 var33
= self
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <self:MParameter> */
2880 if (unlikely(var33
== NULL
)) {
2881 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2882 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
2886 RET_LABEL32
:(void)0;
2889 var34
= NEW_array__Array(&type_array__Arraykernel__Object
);
2890 { /* var34 = array_instance Array[Object] */
2892 var36
= NEW_array__NativeArray(var35
, &type_array__NativeArraykernel__Object
);
2893 ((struct instance_array__NativeArray
*)var36
)->values
[0] = (val
*) var23
;
2894 ((struct instance_array__NativeArray
*)var36
)->values
[1] = (val
*) var27
;
2895 ((struct instance_array__NativeArray
*)var36
)->values
[2] = (val
*) var31
;
2897 ((void (*)(val
*, val
*, long))(var34
->class->vft
[COLOR_array__Array__with_native
]))(var34
, var36
, var35
) /* with_native on <var34:Array[Object]>*/;
2901 var37
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_string__Object__to_s
]))(var34
) /* to_s on <var34:Array[Object]>*/;
2909 /* method model#MParameter#to_s for (self: Object): String */
2910 val
* VIRTUAL_model__MParameter__to_s(val
* self
) {
2911 val
* var
/* : String */;
2912 val
* var1
/* : String */;
2913 var1
= model__MParameter__to_s(self
);
2918 /* method model#MParameter#resolve_for for (self: MParameter, MType, nullable MClassType, MModule, Bool): MParameter */
2919 val
* model__MParameter__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
2920 val
* var
/* : MParameter */;
2921 val
* var_mtype
/* var mtype: MType */;
2922 val
* var_anchor
/* var anchor: nullable MClassType */;
2923 val
* var_mmodule
/* var mmodule: MModule */;
2924 short int var_cleanup_virtual
/* var cleanup_virtual: Bool */;
2925 val
* var1
/* : MType */;
2926 val
* var3
/* : MType */;
2927 short int var4
/* : Bool */;
2928 short int var5
/* : Bool */;
2929 val
* var6
/* : MType */;
2930 val
* var8
/* : MType */;
2931 val
* var9
/* : MType */;
2932 val
* var_newtype
/* var newtype: MType */;
2933 val
* var10
/* : MParameter */;
2934 val
* var11
/* : String */;
2935 val
* var13
/* : String */;
2936 short int var14
/* : Bool */;
2937 short int var16
/* : Bool */;
2938 val
* var_res
/* var res: MParameter */;
2942 var_cleanup_virtual
= p3
;
2944 { /* Inline model#MParameter#mtype (self) on <self:MParameter> */
2945 var3
= self
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <self:MParameter> */
2946 if (unlikely(var3
== NULL
)) {
2947 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2948 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
2956 var4
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_model__MType__need_anchor
]))(var1
) /* need_anchor on <var1:MType>*/;
2965 { /* Inline model#MParameter#mtype (self) on <self:MParameter> */
2966 var8
= self
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <self:MParameter> */
2967 if (unlikely(var8
== NULL
)) {
2968 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2969 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
2977 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>*/;
2980 var10
= NEW_model__MParameter(&type_model__MParameter
);
2982 { /* Inline model#MParameter#name (self) on <self:MParameter> */
2983 var13
= self
->attrs
[COLOR_model__MParameter___name
].val
; /* _name on <self:MParameter> */
2984 if (unlikely(var13
== NULL
)) {
2985 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2986 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1562);
2990 RET_LABEL12
:(void)0;
2994 { /* Inline model#MParameter#is_vararg (self) on <self:MParameter> */
2995 var16
= self
->attrs
[COLOR_model__MParameter___is_vararg
].s
; /* _is_vararg on <self:MParameter> */
2997 RET_LABEL15
:(void)0;
3001 model__MParameter__init(var10
, var11
, var_newtype
, var14
); /* Direct call model#MParameter#init on <var10:MParameter>*/
3009 /* method model#MParameter#resolve_for for (self: Object, MType, nullable MClassType, MModule, Bool): MParameter */
3010 val
* VIRTUAL_model__MParameter__resolve_for(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
3011 val
* var
/* : MParameter */;
3012 val
* var1
/* : MParameter */;
3013 var1
= model__MParameter__resolve_for(self
, p0
, p1
, p2
, p3
);
3018 /* method model#MParameter#model for (self: MParameter): Model */
3019 val
* model__MParameter__model(val
* self
) {
3020 val
* var
/* : Model */;
3021 val
* var1
/* : MType */;
3022 val
* var3
/* : MType */;
3023 val
* var4
/* : Model */;
3025 { /* Inline model#MParameter#mtype (self) on <self:MParameter> */
3026 var3
= self
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <self:MParameter> */
3027 if (unlikely(var3
== NULL
)) {
3028 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3029 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
3037 var4
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_model_base__MEntity__model
]))(var1
) /* model on <var1:MType>*/;
3044 /* method model#MParameter#model for (self: Object): Model */
3045 val
* VIRTUAL_model__MParameter__model(val
* self
) {
3046 val
* var
/* : Model */;
3047 val
* var1
/* : Model */;
3048 var1
= model__MParameter__model(self
);
3053 /* method model#MProperty#intro_mclassdef for (self: MProperty): MClassDef */
3054 val
* model__MProperty__intro_mclassdef(val
* self
) {
3055 val
* var
/* : MClassDef */;
3056 val
* var1
/* : MClassDef */;
3057 var1
= self
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <self:MProperty> */
3058 if (unlikely(var1
== NULL
)) {
3059 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
3060 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1615);
3067 /* method model#MProperty#intro_mclassdef for (self: Object): MClassDef */
3068 val
* VIRTUAL_model__MProperty__intro_mclassdef(val
* self
) {
3069 val
* var
/* : MClassDef */;
3070 val
* var1
/* : MClassDef */;
3071 val
* var3
/* : MClassDef */;
3072 { /* Inline model#MProperty#intro_mclassdef (self) on <self:Object(MProperty)> */
3073 var3
= self
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <self:Object(MProperty)> */
3074 if (unlikely(var3
== NULL
)) {
3075 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
3076 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1615);
3086 /* method model#MProperty#intro_mclassdef= for (self: MProperty, MClassDef) */
3087 void model__MProperty__intro_mclassdef_61d(val
* self
, val
* p0
) {
3088 self
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
= p0
; /* _intro_mclassdef on <self:MProperty> */
3091 /* method model#MProperty#intro_mclassdef= for (self: Object, MClassDef) */
3092 void VIRTUAL_model__MProperty__intro_mclassdef_61d(val
* self
, val
* p0
) {
3093 { /* Inline model#MProperty#intro_mclassdef= (self,p0) on <self:Object(MProperty)> */
3094 self
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
= p0
; /* _intro_mclassdef on <self:Object(MProperty)> */
3099 /* method model#MProperty#name for (self: MProperty): String */
3100 val
* model__MProperty__name(val
* self
) {
3101 val
* var
/* : String */;
3102 val
* var1
/* : String */;
3103 var1
= self
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <self:MProperty> */
3104 if (unlikely(var1
== NULL
)) {
3105 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3106 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
3113 /* method model#MProperty#name for (self: Object): String */
3114 val
* VIRTUAL_model__MProperty__name(val
* self
) {
3115 val
* var
/* : String */;
3116 val
* var1
/* : String */;
3117 val
* var3
/* : String */;
3118 { /* Inline model#MProperty#name (self) on <self:Object(MProperty)> */
3119 var3
= self
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <self:Object(MProperty)> */
3120 if (unlikely(var3
== NULL
)) {
3121 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3122 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
3132 /* method model#MProperty#name= for (self: MProperty, String) */
3133 void model__MProperty__name_61d(val
* self
, val
* p0
) {
3134 self
->attrs
[COLOR_model__MProperty___name
].val
= p0
; /* _name on <self:MProperty> */
3137 /* method model#MProperty#name= for (self: Object, String) */
3138 void VIRTUAL_model__MProperty__name_61d(val
* self
, val
* p0
) {
3139 { /* Inline model#MProperty#name= (self,p0) on <self:Object(MProperty)> */
3140 self
->attrs
[COLOR_model__MProperty___name
].val
= p0
; /* _name on <self:Object(MProperty)> */
3145 /* method model#MProperty#full_name for (self: MProperty): String */
3146 val
* model__MProperty__full_name(val
* self
) {
3147 val
* var
/* : String */;
3148 val
* var1
/* : MClassDef */;
3149 val
* var3
/* : MClassDef */;
3150 val
* var4
/* : MModule */;
3151 val
* var6
/* : MModule */;
3152 val
* var7
/* : String */;
3153 static val
* varonce
;
3154 val
* var8
/* : String */;
3155 char* var9
/* : NativeString */;
3156 long var10
/* : Int */;
3157 val
* var11
/* : FlatString */;
3158 val
* var12
/* : MClassDef */;
3159 val
* var14
/* : MClassDef */;
3160 val
* var15
/* : MClass */;
3161 val
* var17
/* : MClass */;
3162 val
* var18
/* : String */;
3163 val
* var20
/* : String */;
3164 static val
* varonce21
;
3165 val
* var22
/* : String */;
3166 char* var23
/* : NativeString */;
3167 long var24
/* : Int */;
3168 val
* var25
/* : FlatString */;
3169 val
* var26
/* : String */;
3170 val
* var28
/* : String */;
3171 val
* var29
/* : Array[Object] */;
3172 long var30
/* : Int */;
3173 val
* var31
/* : NativeArray[Object] */;
3174 val
* var32
/* : String */;
3176 { /* Inline model#MProperty#intro_mclassdef (self) on <self:MProperty> */
3177 var3
= self
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <self:MProperty> */
3178 if (unlikely(var3
== NULL
)) {
3179 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
3180 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1615);
3188 { /* Inline model#MClassDef#mmodule (var1) on <var1:MClassDef> */
3189 var6
= var1
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var1:MClassDef> */
3190 if (unlikely(var6
== NULL
)) {
3191 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3192 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
3200 var7
= mmodule__MModule__full_name(var4
);
3207 var11
= string__NativeString__to_s_with_length(var9
, var10
);
3212 { /* Inline model#MProperty#intro_mclassdef (self) on <self:MProperty> */
3213 var14
= self
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <self:MProperty> */
3214 if (unlikely(var14
== NULL
)) {
3215 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
3216 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1615);
3220 RET_LABEL13
:(void)0;
3224 { /* Inline model#MClassDef#mclass (var12) on <var12:MClassDef> */
3225 var17
= var12
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var12:MClassDef> */
3226 if (unlikely(var17
== NULL
)) {
3227 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3228 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
3232 RET_LABEL16
:(void)0;
3236 { /* Inline model#MClass#name (var15) on <var15:MClass> */
3237 var20
= var15
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var15:MClass> */
3238 if (unlikely(var20
== NULL
)) {
3239 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3240 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
3244 RET_LABEL19
:(void)0;
3252 var25
= string__NativeString__to_s_with_length(var23
, var24
);
3257 { /* Inline model#MProperty#name (self) on <self:MProperty> */
3258 var28
= self
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <self:MProperty> */
3259 if (unlikely(var28
== NULL
)) {
3260 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3261 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
3265 RET_LABEL27
:(void)0;
3268 var29
= NEW_array__Array(&type_array__Arraykernel__Object
);
3269 { /* var29 = array_instance Array[Object] */
3271 var31
= NEW_array__NativeArray(var30
, &type_array__NativeArraykernel__Object
);
3272 ((struct instance_array__NativeArray
*)var31
)->values
[0] = (val
*) var7
;
3273 ((struct instance_array__NativeArray
*)var31
)->values
[1] = (val
*) var8
;
3274 ((struct instance_array__NativeArray
*)var31
)->values
[2] = (val
*) var18
;
3275 ((struct instance_array__NativeArray
*)var31
)->values
[3] = (val
*) var22
;
3276 ((struct instance_array__NativeArray
*)var31
)->values
[4] = (val
*) var26
;
3278 ((void (*)(val
*, val
*, long))(var29
->class->vft
[COLOR_array__Array__with_native
]))(var29
, var31
, var30
) /* with_native on <var29:Array[Object]>*/;
3282 var32
= ((val
* (*)(val
*))(var29
->class->vft
[COLOR_string__Object__to_s
]))(var29
) /* to_s on <var29:Array[Object]>*/;
3289 /* method model#MProperty#full_name for (self: Object): String */
3290 val
* VIRTUAL_model__MProperty__full_name(val
* self
) {
3291 val
* var
/* : String */;
3292 val
* var1
/* : String */;
3293 var1
= model__MProperty__full_name(self
);
3298 /* method model#MProperty#visibility for (self: MProperty): MVisibility */
3299 val
* model__MProperty__visibility(val
* self
) {
3300 val
* var
/* : MVisibility */;
3301 val
* var1
/* : MVisibility */;
3302 var1
= self
->attrs
[COLOR_model__MProperty___visibility
].val
; /* _visibility on <self:MProperty> */
3303 if (unlikely(var1
== NULL
)) {
3304 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
3305 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1630);
3312 /* method model#MProperty#visibility for (self: Object): MVisibility */
3313 val
* VIRTUAL_model__MProperty__visibility(val
* self
) {
3314 val
* var
/* : MVisibility */;
3315 val
* var1
/* : MVisibility */;
3316 val
* var3
/* : MVisibility */;
3317 { /* Inline model#MProperty#visibility (self) on <self:Object(MProperty)> */
3318 var3
= self
->attrs
[COLOR_model__MProperty___visibility
].val
; /* _visibility on <self:Object(MProperty)> */
3319 if (unlikely(var3
== NULL
)) {
3320 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
3321 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1630);
3331 /* method model#MProperty#visibility= for (self: MProperty, MVisibility) */
3332 void model__MProperty__visibility_61d(val
* self
, val
* p0
) {
3333 self
->attrs
[COLOR_model__MProperty___visibility
].val
= p0
; /* _visibility on <self:MProperty> */
3336 /* method model#MProperty#visibility= for (self: Object, MVisibility) */
3337 void VIRTUAL_model__MProperty__visibility_61d(val
* self
, val
* p0
) {
3338 { /* Inline model#MProperty#visibility= (self,p0) on <self:Object(MProperty)> */
3339 self
->attrs
[COLOR_model__MProperty___visibility
].val
= p0
; /* _visibility on <self:Object(MProperty)> */
3344 /* method model#MProperty#init for (self: MProperty, MClassDef, String, MVisibility) */
3345 void model__MProperty__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3346 val
* var_intro_mclassdef
/* var intro_mclassdef: MClassDef */;
3347 val
* var_name
/* var name: String */;
3348 val
* var_visibility
/* var visibility: MVisibility */;
3349 val
* var
/* : Array[MProperty] */;
3350 val
* var5
/* : Array[MProperty] */;
3351 val
* var6
/* : MModule */;
3352 val
* var8
/* : MModule */;
3353 val
* var9
/* : Model */;
3354 val
* var11
/* : Model */;
3355 val
* var_model
/* var model: Model */;
3356 val
* var12
/* : MultiHashMap[String, MProperty] */;
3357 val
* var14
/* : MultiHashMap[String, MProperty] */;
3358 val
* var15
/* : Array[MProperty] */;
3359 val
* var17
/* : Array[MProperty] */;
3361 ((void (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__init
]))(self
) /* init on <self:MProperty>*/;
3363 var_intro_mclassdef
= p0
;
3365 var_visibility
= p2
;
3367 { /* Inline model#MProperty#intro_mclassdef= (self,var_intro_mclassdef) on <self:MProperty> */
3368 self
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
= var_intro_mclassdef
; /* _intro_mclassdef on <self:MProperty> */
3373 { /* Inline model#MProperty#name= (self,var_name) on <self:MProperty> */
3374 self
->attrs
[COLOR_model__MProperty___name
].val
= var_name
; /* _name on <self:MProperty> */
3379 { /* Inline model#MProperty#visibility= (self,var_visibility) on <self:MProperty> */
3380 self
->attrs
[COLOR_model__MProperty___visibility
].val
= var_visibility
; /* _visibility on <self:MProperty> */
3385 { /* Inline model#MClassDef#intro_mproperties (var_intro_mclassdef) on <var_intro_mclassdef:MClassDef> */
3386 var5
= var_intro_mclassdef
->attrs
[COLOR_model__MClassDef___intro_mproperties
].val
; /* _intro_mproperties on <var_intro_mclassdef:MClassDef> */
3387 if (unlikely(var5
== NULL
)) {
3388 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mproperties");
3389 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 588);
3397 array__Array__add(var
, self
); /* Direct call array#Array#add on <var:Array[MProperty]>*/
3400 { /* Inline model#MClassDef#mmodule (var_intro_mclassdef) on <var_intro_mclassdef:MClassDef> */
3401 var8
= var_intro_mclassdef
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_intro_mclassdef:MClassDef> */
3402 if (unlikely(var8
== NULL
)) {
3403 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3404 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
3412 { /* Inline mmodule#MModule#model (var6) on <var6:MModule> */
3413 var11
= var6
->attrs
[COLOR_mmodule__MModule___model
].val
; /* _model on <var6:MModule> */
3414 if (unlikely(var11
== NULL
)) {
3415 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
3416 PRINT_ERROR(" (%s:%d)\n", "model/mmodule.nit", 72);
3420 RET_LABEL10
:(void)0;
3425 { /* Inline model#Model#mproperties_by_name (var_model) on <var_model:Model> */
3426 var14
= var_model
->attrs
[COLOR_model__Model___mproperties_by_name
].val
; /* _mproperties_by_name on <var_model:Model> */
3427 if (unlikely(var14
== NULL
)) {
3428 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperties_by_name");
3429 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 84);
3433 RET_LABEL13
:(void)0;
3437 more_collections__MultiHashMap__add_one(var12
, var_name
, self
); /* Direct call more_collections#MultiHashMap#add_one on <var12:MultiHashMap[String, MProperty]>*/
3440 { /* Inline model#Model#mproperties (var_model) on <var_model:Model> */
3441 var17
= var_model
->attrs
[COLOR_model__Model___mproperties
].val
; /* _mproperties on <var_model:Model> */
3442 if (unlikely(var17
== NULL
)) {
3443 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperties");
3444 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 37);
3448 RET_LABEL16
:(void)0;
3452 array__Array__add(var15
, self
); /* Direct call array#Array#add on <var15:Array[MProperty]>*/
3456 /* method model#MProperty#init for (self: Object, MClassDef, String, MVisibility) */
3457 void VIRTUAL_model__MProperty__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3458 model__MProperty__init(self
, p0
, p1
, p2
); /* Direct call model#MProperty#init on <self:Object(MProperty)>*/
3461 /* method model#MProperty#mpropdefs for (self: MProperty): Array[MPropDef] */
3462 val
* model__MProperty__mpropdefs(val
* self
) {
3463 val
* var
/* : Array[MPropDef] */;
3464 val
* var1
/* : Array[MPropDef] */;
3465 var1
= self
->attrs
[COLOR_model__MProperty___mpropdefs
].val
; /* _mpropdefs on <self:MProperty> */
3466 if (unlikely(var1
== NULL
)) {
3467 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
3468 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1644);
3475 /* method model#MProperty#mpropdefs for (self: Object): Array[MPropDef] */
3476 val
* VIRTUAL_model__MProperty__mpropdefs(val
* self
) {
3477 val
* var
/* : Array[MPropDef] */;
3478 val
* var1
/* : Array[MPropDef] */;
3479 val
* var3
/* : Array[MPropDef] */;
3480 { /* Inline model#MProperty#mpropdefs (self) on <self:Object(MProperty)> */
3481 var3
= self
->attrs
[COLOR_model__MProperty___mpropdefs
].val
; /* _mpropdefs on <self:Object(MProperty)> */
3482 if (unlikely(var3
== NULL
)) {
3483 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
3484 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1644);
3494 /* method model#MProperty#intro for (self: MProperty): MPropDef */
3495 val
* model__MProperty__intro(val
* self
) {
3496 val
* var
/* : MPropDef */;
3497 val
* var1
/* : MPropDef */;
3498 var1
= self
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <self:MProperty> */
3499 if (unlikely(var1
== NULL
)) {
3500 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3501 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
3508 /* method model#MProperty#intro for (self: Object): MPropDef */
3509 val
* VIRTUAL_model__MProperty__intro(val
* self
) {
3510 val
* var
/* : MPropDef */;
3511 val
* var1
/* : MPropDef */;
3512 val
* var3
/* : MPropDef */;
3513 { /* Inline model#MProperty#intro (self) on <self:Object(MProperty)> */
3514 var3
= self
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <self:Object(MProperty)> */
3515 if (unlikely(var3
== NULL
)) {
3516 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3517 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
3527 /* method model#MProperty#intro= for (self: MProperty, MPropDef) */
3528 void model__MProperty__intro_61d(val
* self
, val
* p0
) {
3529 short int var
/* : Bool */;
3532 const struct type
* type_struct
;
3533 const char* var_class_name
;
3534 /* Covariant cast for argument 0 (intro) <p0:MPropDef> isa MPROPDEF */
3535 /* <p0:MPropDef> isa MPROPDEF */
3536 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MProperty_VTMPROPDEF
];
3537 cltype
= type_struct
->color
;
3538 idtype
= type_struct
->id
;
3539 if(cltype
>= p0
->type
->table_size
) {
3542 var
= p0
->type
->type_table
[cltype
] == idtype
;
3544 if (unlikely(!var
)) {
3545 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3546 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MPROPDEF", var_class_name
);
3547 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
3550 self
->attrs
[COLOR_model__MProperty___intro
].val
= p0
; /* _intro on <self:MProperty> */
3553 /* method model#MProperty#intro= for (self: Object, MPropDef) */
3554 void VIRTUAL_model__MProperty__intro_61d(val
* self
, val
* p0
) {
3555 short int var
/* : Bool */;
3558 const struct type
* type_struct
;
3559 const char* var_class_name
;
3560 { /* Inline model#MProperty#intro= (self,p0) on <self:Object(MProperty)> */
3561 /* Covariant cast for argument 0 (intro) <p0:MPropDef> isa MPROPDEF */
3562 /* <p0:MPropDef> isa MPROPDEF */
3563 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MProperty_VTMPROPDEF
];
3564 cltype
= type_struct
->color
;
3565 idtype
= type_struct
->id
;
3566 if(cltype
>= p0
->type
->table_size
) {
3569 var
= p0
->type
->type_table
[cltype
] == idtype
;
3571 if (unlikely(!var
)) {
3572 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3573 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MPROPDEF", var_class_name
);
3574 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
3577 self
->attrs
[COLOR_model__MProperty___intro
].val
= p0
; /* _intro on <self:Object(MProperty)> */
3582 /* method model#MProperty#model for (self: MProperty): Model */
3583 val
* model__MProperty__model(val
* self
) {
3584 val
* var
/* : Model */;
3585 val
* var1
/* : MPropDef */;
3586 val
* var3
/* : MPropDef */;
3587 val
* var4
/* : Model */;
3589 { /* Inline model#MProperty#intro (self) on <self:MProperty> */
3590 var3
= self
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <self:MProperty> */
3591 if (unlikely(var3
== NULL
)) {
3592 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3593 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
3601 var4
= model__MPropDef__model(var1
);
3608 /* method model#MProperty#model for (self: Object): Model */
3609 val
* VIRTUAL_model__MProperty__model(val
* self
) {
3610 val
* var
/* : Model */;
3611 val
* var1
/* : Model */;
3612 var1
= model__MProperty__model(self
);
3617 /* method model#MProperty#to_s for (self: MProperty): String */
3618 val
* model__MProperty__to_s(val
* self
) {
3619 val
* var
/* : String */;
3620 val
* var1
/* : String */;
3621 val
* var3
/* : String */;
3623 { /* Inline model#MProperty#name (self) on <self:MProperty> */
3624 var3
= self
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <self:MProperty> */
3625 if (unlikely(var3
== NULL
)) {
3626 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3627 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
3639 /* method model#MProperty#to_s for (self: Object): String */
3640 val
* VIRTUAL_model__MProperty__to_s(val
* self
) {
3641 val
* var
/* : String */;
3642 val
* var1
/* : String */;
3643 var1
= model__MProperty__to_s(self
);
3648 /* method model#MProperty#lookup_definitions for (self: MProperty, MModule, MType): Array[MPropDef] */
3649 val
* model__MProperty__lookup_definitions(val
* self
, val
* p0
, val
* p1
) {
3650 val
* var
/* : Array[MPropDef] */;
3651 val
* var_mmodule
/* var mmodule: MModule */;
3652 val
* var_mtype
/* var mtype: MType */;
3653 short int var1
/* : Bool */;
3654 short int var2
/* : Bool */;
3655 val
* var3
/* : MType */;
3656 val
* var4
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
3657 val
* var6
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
3658 val
* var7
/* : nullable Object */;
3659 val
* var_cache
/* var cache: nullable Array[MPropDef] */;
3660 val
* var8
/* : null */;
3661 short int var9
/* : Bool */;
3662 short int var10
/* : Bool */;
3663 val
* var_other
/* var other: nullable Object */;
3664 short int var12
/* : Bool */;
3665 short int var13
/* : Bool */;
3666 short int var14
/* : Bool */;
3667 val
* var15
/* : Array[MPropDef] */;
3668 val
* var_candidates
/* var candidates: Array[MPropDef] */;
3669 val
* var16
/* : Array[MPropDef] */;
3670 val
* var18
/* : Array[MPropDef] */;
3671 val
* var_
/* var : Array[MPropDef] */;
3672 val
* var19
/* : ArrayIterator[nullable Object] */;
3673 val
* var_20
/* var : ArrayIterator[MPropDef] */;
3674 short int var21
/* : Bool */;
3675 val
* var22
/* : nullable Object */;
3676 val
* var_mpropdef
/* var mpropdef: MPropDef */;
3677 val
* var23
/* : POSetElement[MModule] */;
3678 val
* var25
/* : POSetElement[MModule] */;
3679 val
* var26
/* : MClassDef */;
3680 val
* var28
/* : MClassDef */;
3681 val
* var29
/* : MModule */;
3682 val
* var31
/* : MModule */;
3683 short int var32
/* : Bool */;
3684 short int var33
/* : Bool */;
3685 val
* var34
/* : null */;
3686 val
* var35
/* : MClassDef */;
3687 val
* var37
/* : MClassDef */;
3688 val
* var38
/* : MClassType */;
3689 val
* var40
/* : MClassType */;
3690 short int var41
/* : Bool */;
3691 short int var42
/* : Bool */;
3692 long var45
/* : Int */;
3693 long var47
/* : Int */;
3694 long var48
/* : Int */;
3695 short int var49
/* : Bool */;
3696 short int var51
/* : Bool */;
3699 const char* var_class_name
;
3700 short int var52
/* : Bool */;
3701 val
* var53
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
3702 val
* var55
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
3703 val
* var56
/* : Array[MPropDef] */;
3707 var1
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
3710 if (unlikely(!var2
)) {
3711 PRINT_ERROR("Runtime error: %s", "Assert failed");
3712 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1668);
3716 var3
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__as_notnullable
]))(var_mtype
) /* as_notnullable on <var_mtype:MType>*/;
3720 { /* Inline model#MProperty#lookup_definitions_cache (self) on <self:MProperty> */
3721 var6
= self
->attrs
[COLOR_model__MProperty___lookup_definitions_cache
].val
; /* _lookup_definitions_cache on <self:MProperty> */
3722 if (unlikely(var6
== NULL
)) {
3723 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_definitions_cache");
3724 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1695);
3732 var7
= more_collections__HashMap2___91d_93d(var4
, var_mmodule
, var_mtype
);
3736 if (var_cache
== NULL
) {
3737 var9
= 0; /* is null */
3739 var9
= 1; /* arg is null and recv is not */
3742 { /* Inline kernel#Object#!= (var_cache,var8) on <var_cache:nullable Array[MPropDef]> */
3745 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])>*/;
3751 RET_LABEL11
:(void)0;
3760 var15
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arraymodel__MProperty_VTMPROPDEF
]);
3762 ((void (*)(val
*))(var15
->class->vft
[COLOR_kernel__Object__init
]))(var15
) /* init on <var15:Array[MPropDef]>*/;
3764 var_candidates
= var15
;
3766 { /* Inline model#MProperty#mpropdefs (self) on <self:MProperty> */
3767 var18
= self
->attrs
[COLOR_model__MProperty___mpropdefs
].val
; /* _mpropdefs on <self:MProperty> */
3768 if (unlikely(var18
== NULL
)) {
3769 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
3770 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1644);
3774 RET_LABEL17
:(void)0;
3779 var19
= array__AbstractArrayRead__iterator(var_
);
3784 var21
= array__ArrayIterator__is_ok(var_20
);
3788 var22
= array__ArrayIterator__item(var_20
);
3790 var_mpropdef
= var22
;
3792 { /* Inline mmodule#MModule#in_importation (var_mmodule) on <var_mmodule:MModule> */
3793 var25
= var_mmodule
->attrs
[COLOR_mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mmodule:MModule> */
3794 if (unlikely(var25
== NULL
)) {
3795 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
3796 PRINT_ERROR(" (%s:%d)\n", "model/mmodule.nit", 93);
3800 RET_LABEL24
:(void)0;
3804 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MPropDef> */
3805 var28
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MPropDef> */
3806 if (unlikely(var28
== NULL
)) {
3807 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
3808 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
3812 RET_LABEL27
:(void)0;
3816 { /* Inline model#MClassDef#mmodule (var26) on <var26:MClassDef> */
3817 var31
= var26
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var26:MClassDef> */
3818 if (unlikely(var31
== NULL
)) {
3819 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3820 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
3824 RET_LABEL30
:(void)0;
3828 var32
= poset__POSetElement___60d_61d(var23
, var29
);
3837 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MPropDef> */
3838 var37
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MPropDef> */
3839 if (unlikely(var37
== NULL
)) {
3840 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
3841 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
3845 RET_LABEL36
:(void)0;
3849 { /* Inline model#MClassDef#bound_mtype (var35) on <var35:MClassDef> */
3850 var40
= var35
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var35:MClassDef> */
3851 if (unlikely(var40
== NULL
)) {
3852 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3853 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
3857 RET_LABEL39
:(void)0;
3861 var41
= model__MType__is_subtype(var_mtype
, var_mmodule
, var34
, var38
);
3869 array__Array__add(var_candidates
, var_mpropdef
); /* Direct call array#Array#add on <var_candidates:Array[MPropDef]>*/
3871 BREAK_label
: (void)0;
3873 array__ArrayIterator__next(var_20
); /* Direct call array#ArrayIterator#next on <var_20:ArrayIterator[MPropDef]>*/
3879 BREAK_label43
: (void)0;
3881 { /* Inline abstract_collection#Iterator#finish (var_20) on <var_20:ArrayIterator[MPropDef]> */
3882 RET_LABEL44
:(void)0;
3886 { /* Inline array#AbstractArrayRead#length (var_candidates) on <var_candidates:Array[MPropDef]> */
3887 var47
= var_candidates
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_candidates:Array[MPropDef]> */
3889 RET_LABEL46
:(void)0;
3894 { /* Inline kernel#Int#<= (var45,var48) on <var45:Int> */
3895 /* Covariant cast for argument 0 (i) <var48:Int> isa OTHER */
3896 /* <var48:Int> isa OTHER */
3897 var51
= 1; /* easy <var48:Int> isa OTHER*/
3898 if (unlikely(!var51
)) {
3899 var_class_name
= type_kernel__Int
.name
;
3900 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3901 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 370);
3904 var52
= var45
<= var48
;
3907 RET_LABEL50
:(void)0;
3912 { /* Inline model#MProperty#lookup_definitions_cache (self) on <self:MProperty> */
3913 var55
= self
->attrs
[COLOR_model__MProperty___lookup_definitions_cache
].val
; /* _lookup_definitions_cache on <self:MProperty> */
3914 if (unlikely(var55
== NULL
)) {
3915 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_definitions_cache");
3916 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1695);
3920 RET_LABEL54
:(void)0;
3924 more_collections__HashMap2___91d_93d_61d(var53
, var_mmodule
, var_mtype
, var_candidates
); /* Direct call more_collections#HashMap2#[]= on <var53:HashMap2[MModule, MType, Array[MPropDef]]>*/
3926 var
= var_candidates
;
3931 var56
= model__MProperty__select_most_specific(self
, var_mmodule
, var_candidates
);
3938 /* method model#MProperty#lookup_definitions for (self: Object, MModule, MType): Array[MPropDef] */
3939 val
* VIRTUAL_model__MProperty__lookup_definitions(val
* self
, val
* p0
, val
* p1
) {
3940 val
* var
/* : Array[MPropDef] */;
3941 val
* var1
/* : Array[MPropDef] */;
3942 var1
= model__MProperty__lookup_definitions(self
, p0
, p1
);
3947 /* method model#MProperty#lookup_definitions_cache for (self: MProperty): HashMap2[MModule, MType, Array[MPropDef]] */
3948 val
* model__MProperty__lookup_definitions_cache(val
* self
) {
3949 val
* var
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
3950 val
* var1
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
3951 var1
= self
->attrs
[COLOR_model__MProperty___lookup_definitions_cache
].val
; /* _lookup_definitions_cache on <self:MProperty> */
3952 if (unlikely(var1
== NULL
)) {
3953 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_definitions_cache");
3954 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1695);
3961 /* method model#MProperty#lookup_definitions_cache for (self: Object): HashMap2[MModule, MType, Array[MPropDef]] */
3962 val
* VIRTUAL_model__MProperty__lookup_definitions_cache(val
* self
) {
3963 val
* var
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
3964 val
* var1
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
3965 val
* var3
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
3966 { /* Inline model#MProperty#lookup_definitions_cache (self) on <self:Object(MProperty)> */
3967 var3
= self
->attrs
[COLOR_model__MProperty___lookup_definitions_cache
].val
; /* _lookup_definitions_cache on <self:Object(MProperty)> */
3968 if (unlikely(var3
== NULL
)) {
3969 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_definitions_cache");
3970 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1695);
3980 /* method model#MProperty#lookup_super_definitions for (self: MProperty, MModule, MType): Array[MPropDef] */
3981 val
* model__MProperty__lookup_super_definitions(val
* self
, val
* p0
, val
* p1
) {
3982 val
* var
/* : Array[MPropDef] */;
3983 val
* var_mmodule
/* var mmodule: MModule */;
3984 val
* var_mtype
/* var mtype: MType */;
3985 short int var1
/* : Bool */;
3986 short int var2
/* : Bool */;
3987 val
* var3
/* : MType */;
3988 val
* var4
/* : Array[MPropDef] */;
3989 val
* var_candidates
/* var candidates: Array[MPropDef] */;
3990 val
* var5
/* : Array[MPropDef] */;
3991 val
* var7
/* : Array[MPropDef] */;
3992 val
* var_
/* var : Array[MPropDef] */;
3993 val
* var8
/* : ArrayIterator[nullable Object] */;
3994 val
* var_9
/* var : ArrayIterator[MPropDef] */;
3995 short int var10
/* : Bool */;
3996 val
* var11
/* : nullable Object */;
3997 val
* var_mpropdef
/* var mpropdef: MPropDef */;
3998 val
* var12
/* : POSetElement[MModule] */;
3999 val
* var14
/* : POSetElement[MModule] */;
4000 val
* var15
/* : MClassDef */;
4001 val
* var17
/* : MClassDef */;
4002 val
* var18
/* : MModule */;
4003 val
* var20
/* : MModule */;
4004 short int var21
/* : Bool */;
4005 short int var22
/* : Bool */;
4006 val
* var23
/* : null */;
4007 val
* var24
/* : MClassDef */;
4008 val
* var26
/* : MClassDef */;
4009 val
* var27
/* : MClassType */;
4010 val
* var29
/* : MClassType */;
4011 short int var30
/* : Bool */;
4012 short int var31
/* : Bool */;
4013 short int var32
/* : Bool */;
4014 val
* var33
/* : MClassDef */;
4015 val
* var35
/* : MClassDef */;
4016 val
* var36
/* : MClassType */;
4017 val
* var38
/* : MClassType */;
4018 short int var39
/* : Bool */;
4019 short int var40
/* : Bool */;
4020 val
* var_other
/* var other: nullable Object */;
4021 short int var42
/* : Bool */;
4022 short int var44
/* : Bool */;
4023 short int var_45
/* var : Bool */;
4024 val
* var46
/* : MClassDef */;
4025 val
* var48
/* : MClassDef */;
4026 val
* var49
/* : MModule */;
4027 val
* var51
/* : MModule */;
4028 short int var52
/* : Bool */;
4029 short int var53
/* : Bool */;
4030 short int var55
/* : Bool */;
4031 short int var57
/* : Bool */;
4032 long var60
/* : Int */;
4033 long var62
/* : Int */;
4034 long var63
/* : Int */;
4035 short int var64
/* : Bool */;
4036 short int var66
/* : Bool */;
4039 const char* var_class_name
;
4040 short int var67
/* : Bool */;
4041 val
* var68
/* : Array[MPropDef] */;
4045 var1
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
4048 if (unlikely(!var2
)) {
4049 PRINT_ERROR("Runtime error: %s", "Assert failed");
4050 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1707);
4054 var3
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__as_notnullable
]))(var_mtype
) /* as_notnullable on <var_mtype:MType>*/;
4057 var4
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arraymodel__MProperty_VTMPROPDEF
]);
4059 ((void (*)(val
*))(var4
->class->vft
[COLOR_kernel__Object__init
]))(var4
) /* init on <var4:Array[MPropDef]>*/;
4061 var_candidates
= var4
;
4063 { /* Inline model#MProperty#mpropdefs (self) on <self:MProperty> */
4064 var7
= self
->attrs
[COLOR_model__MProperty___mpropdefs
].val
; /* _mpropdefs on <self:MProperty> */
4065 if (unlikely(var7
== NULL
)) {
4066 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
4067 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1644);
4076 var8
= array__AbstractArrayRead__iterator(var_
);
4081 var10
= array__ArrayIterator__is_ok(var_9
);
4085 var11
= array__ArrayIterator__item(var_9
);
4087 var_mpropdef
= var11
;
4089 { /* Inline mmodule#MModule#in_importation (var_mmodule) on <var_mmodule:MModule> */
4090 var14
= var_mmodule
->attrs
[COLOR_mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mmodule:MModule> */
4091 if (unlikely(var14
== NULL
)) {
4092 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
4093 PRINT_ERROR(" (%s:%d)\n", "model/mmodule.nit", 93);
4097 RET_LABEL13
:(void)0;
4101 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MPropDef> */
4102 var17
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MPropDef> */
4103 if (unlikely(var17
== NULL
)) {
4104 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
4105 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
4109 RET_LABEL16
:(void)0;
4113 { /* Inline model#MClassDef#mmodule (var15) on <var15:MClassDef> */
4114 var20
= var15
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var15:MClassDef> */
4115 if (unlikely(var20
== NULL
)) {
4116 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4117 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
4121 RET_LABEL19
:(void)0;
4125 var21
= poset__POSetElement___60d_61d(var12
, var18
);
4134 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MPropDef> */
4135 var26
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MPropDef> */
4136 if (unlikely(var26
== NULL
)) {
4137 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
4138 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
4142 RET_LABEL25
:(void)0;
4146 { /* Inline model#MClassDef#bound_mtype (var24) on <var24:MClassDef> */
4147 var29
= var24
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var24:MClassDef> */
4148 if (unlikely(var29
== NULL
)) {
4149 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
4150 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
4154 RET_LABEL28
:(void)0;
4158 var30
= model__MType__is_subtype(var_mtype
, var_mmodule
, var23
, var27
);
4166 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MPropDef> */
4167 var35
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MPropDef> */
4168 if (unlikely(var35
== NULL
)) {
4169 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
4170 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
4174 RET_LABEL34
:(void)0;
4178 { /* Inline model#MClassDef#bound_mtype (var33) on <var33:MClassDef> */
4179 var38
= var33
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var33:MClassDef> */
4180 if (unlikely(var38
== NULL
)) {
4181 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
4182 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
4186 RET_LABEL37
:(void)0;
4190 { /* Inline kernel#Object#== (var_mtype,var36) on <var_mtype:MType> */
4193 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:MType> */
4194 var44
= var_mtype
== var_other
;
4197 RET_LABEL43
:(void)0;
4202 RET_LABEL41
:(void)0;
4209 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MPropDef> */
4210 var48
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MPropDef> */
4211 if (unlikely(var48
== NULL
)) {
4212 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
4213 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
4217 RET_LABEL47
:(void)0;
4221 { /* Inline model#MClassDef#mmodule (var46) on <var46:MClassDef> */
4222 var51
= var46
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var46:MClassDef> */
4223 if (unlikely(var51
== NULL
)) {
4224 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4225 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
4229 RET_LABEL50
:(void)0;
4233 { /* Inline kernel#Object#== (var_mmodule,var49) on <var_mmodule:MModule> */
4236 { /* Inline kernel#Object#is_same_instance (var_mmodule,var_other) on <var_mmodule:MModule> */
4237 var57
= var_mmodule
== var_other
;
4240 RET_LABEL56
:(void)0;
4245 RET_LABEL54
:(void)0;
4258 array__Array__add(var_candidates
, var_mpropdef
); /* Direct call array#Array#add on <var_candidates:Array[MPropDef]>*/
4260 BREAK_label
: (void)0;
4262 array__ArrayIterator__next(var_9
); /* Direct call array#ArrayIterator#next on <var_9:ArrayIterator[MPropDef]>*/
4268 BREAK_label58
: (void)0;
4270 { /* Inline abstract_collection#Iterator#finish (var_9) on <var_9:ArrayIterator[MPropDef]> */
4271 RET_LABEL59
:(void)0;
4275 { /* Inline array#AbstractArrayRead#length (var_candidates) on <var_candidates:Array[MPropDef]> */
4276 var62
= var_candidates
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_candidates:Array[MPropDef]> */
4278 RET_LABEL61
:(void)0;
4283 { /* Inline kernel#Int#<= (var60,var63) on <var60:Int> */
4284 /* Covariant cast for argument 0 (i) <var63:Int> isa OTHER */
4285 /* <var63:Int> isa OTHER */
4286 var66
= 1; /* easy <var63:Int> isa OTHER*/
4287 if (unlikely(!var66
)) {
4288 var_class_name
= type_kernel__Int
.name
;
4289 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4290 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 370);
4293 var67
= var60
<= var63
;
4296 RET_LABEL65
:(void)0;
4300 var
= var_candidates
;
4305 var68
= model__MProperty__select_most_specific(self
, var_mmodule
, var_candidates
);
4312 /* method model#MProperty#lookup_super_definitions for (self: Object, MModule, MType): Array[MPropDef] */
4313 val
* VIRTUAL_model__MProperty__lookup_super_definitions(val
* self
, val
* p0
, val
* p1
) {
4314 val
* var
/* : Array[MPropDef] */;
4315 val
* var1
/* : Array[MPropDef] */;
4316 var1
= model__MProperty__lookup_super_definitions(self
, p0
, p1
);
4321 /* method model#MProperty#select_most_specific for (self: MProperty, MModule, Array[MPropDef]): Array[MPropDef] */
4322 val
* model__MProperty__select_most_specific(val
* self
, val
* p0
, val
* p1
) {
4323 val
* var
/* : Array[MPropDef] */;
4324 short int var1
/* : Bool */;
4327 const struct type
* type_struct
;
4328 const char* var_class_name
;
4329 val
* var_mmodule
/* var mmodule: MModule */;
4330 val
* var_candidates
/* var candidates: Array[MPropDef] */;
4331 val
* var2
/* : Array[MPropDef] */;
4332 val
* var_res
/* var res: Array[MPropDef] */;
4333 val
* var_
/* var : Array[MPropDef] */;
4334 val
* var3
/* : ArrayIterator[nullable Object] */;
4335 val
* var_4
/* var : ArrayIterator[MPropDef] */;
4336 short int var5
/* : Bool */;
4337 val
* var6
/* : nullable Object */;
4338 val
* var_pd1
/* var pd1: MPropDef */;
4339 val
* var7
/* : MClassDef */;
4340 val
* var9
/* : MClassDef */;
4341 val
* var_cd1
/* var cd1: MClassDef */;
4342 val
* var10
/* : MClass */;
4343 val
* var12
/* : MClass */;
4344 val
* var_c1
/* var c1: MClass */;
4345 short int var13
/* : Bool */;
4346 short int var_keep
/* var keep: Bool */;
4347 val
* var_14
/* var : Array[MPropDef] */;
4348 val
* var15
/* : ArrayIterator[nullable Object] */;
4349 val
* var_16
/* var : ArrayIterator[MPropDef] */;
4350 short int var17
/* : Bool */;
4351 val
* var18
/* : nullable Object */;
4352 val
* var_pd2
/* var pd2: MPropDef */;
4353 short int var19
/* : Bool */;
4354 short int var20
/* : Bool */;
4355 val
* var_other
/* var other: nullable Object */;
4356 short int var22
/* : Bool */;
4357 short int var24
/* : Bool */;
4358 val
* var25
/* : MClassDef */;
4359 val
* var27
/* : MClassDef */;
4360 val
* var_cd2
/* var cd2: MClassDef */;
4361 val
* var28
/* : MClass */;
4362 val
* var30
/* : MClass */;
4363 val
* var_c2
/* var c2: MClass */;
4364 val
* var31
/* : MClassType */;
4365 val
* var33
/* : MClassType */;
4366 val
* var34
/* : MClassType */;
4367 val
* var36
/* : MClassType */;
4368 short int var37
/* : Bool */;
4369 short int var38
/* : Bool */;
4370 short int var40
/* : Bool */;
4371 short int var42
/* : Bool */;
4372 val
* var43
/* : MModule */;
4373 val
* var45
/* : MModule */;
4374 val
* var46
/* : POSetElement[MModule] */;
4375 val
* var48
/* : POSetElement[MModule] */;
4376 val
* var49
/* : MModule */;
4377 val
* var51
/* : MModule */;
4378 short int var52
/* : Bool */;
4379 short int var53
/* : Bool */;
4380 short int var55
/* : Bool */;
4381 val
* var56
/* : MClassType */;
4382 val
* var58
/* : MClassType */;
4383 val
* var59
/* : null */;
4384 val
* var60
/* : MClassType */;
4385 val
* var62
/* : MClassType */;
4386 short int var63
/* : Bool */;
4387 short int var_64
/* var : Bool */;
4388 val
* var65
/* : MClassType */;
4389 val
* var67
/* : MClassType */;
4390 val
* var68
/* : MClassType */;
4391 val
* var70
/* : MClassType */;
4392 short int var71
/* : Bool */;
4393 short int var72
/* : Bool */;
4394 val
* var_other74
/* var other: nullable Object */;
4395 short int var75
/* : Bool */;
4396 short int var76
/* : Bool */;
4397 short int var77
/* : Bool */;
4398 short int var78
/* : Bool */;
4399 short int var82
/* : Bool */;
4400 static val
* varonce
;
4401 val
* var83
/* : String */;
4402 char* var84
/* : NativeString */;
4403 long var85
/* : Int */;
4404 val
* var86
/* : FlatString */;
4405 static val
* varonce87
;
4406 val
* var88
/* : String */;
4407 char* var89
/* : NativeString */;
4408 long var90
/* : Int */;
4409 val
* var91
/* : FlatString */;
4410 val
* var92
/* : String */;
4411 val
* var93
/* : Array[Object] */;
4412 long var94
/* : Int */;
4413 val
* var95
/* : NativeArray[Object] */;
4414 val
* var96
/* : String */;
4415 /* Covariant cast for argument 1 (candidates) <p1:Array[MPropDef]> isa Array[MPROPDEF] */
4416 /* <p1:Array[MPropDef]> isa Array[MPROPDEF] */
4417 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__Arraymodel__MProperty_VTMPROPDEF
];
4418 cltype
= type_struct
->color
;
4419 idtype
= type_struct
->id
;
4420 if(cltype
>= p1
->type
->table_size
) {
4423 var1
= p1
->type
->type_table
[cltype
] == idtype
;
4425 if (unlikely(!var1
)) {
4426 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
4427 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[MPROPDEF]", var_class_name
);
4428 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1729);
4432 var_candidates
= p1
;
4433 var2
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arraymodel__MProperty_VTMPROPDEF
]);
4435 ((void (*)(val
*))(var2
->class->vft
[COLOR_kernel__Object__init
]))(var2
) /* init on <var2:Array[MPropDef]>*/;
4438 var_
= var_candidates
;
4440 var3
= array__AbstractArrayRead__iterator(var_
);
4445 var5
= array__ArrayIterator__is_ok(var_4
);
4449 var6
= array__ArrayIterator__item(var_4
);
4453 { /* Inline model#MPropDef#mclassdef (var_pd1) on <var_pd1:MPropDef> */
4454 var9
= var_pd1
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_pd1:MPropDef> */
4455 if (unlikely(var9
== NULL
)) {
4456 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
4457 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
4466 { /* Inline model#MClassDef#mclass (var_cd1) on <var_cd1:MClassDef> */
4467 var12
= var_cd1
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_cd1:MClassDef> */
4468 if (unlikely(var12
== NULL
)) {
4469 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4470 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
4474 RET_LABEL11
:(void)0;
4480 var_14
= var_candidates
;
4482 var15
= array__AbstractArrayRead__iterator(var_14
);
4487 var17
= array__ArrayIterator__is_ok(var_16
);
4491 var18
= array__ArrayIterator__item(var_16
);
4495 { /* Inline kernel#Object#== (var_pd2,var_pd1) on <var_pd2:MPropDef> */
4496 var_other
= var_pd1
;
4498 { /* Inline kernel#Object#is_same_instance (var_pd2,var_other) on <var_pd2:MPropDef> */
4499 var24
= var_pd2
== var_other
;
4502 RET_LABEL23
:(void)0;
4507 RET_LABEL21
:(void)0;
4516 { /* Inline model#MPropDef#mclassdef (var_pd2) on <var_pd2:MPropDef> */
4517 var27
= var_pd2
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_pd2:MPropDef> */
4518 if (unlikely(var27
== NULL
)) {
4519 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
4520 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
4524 RET_LABEL26
:(void)0;
4529 { /* Inline model#MClassDef#mclass (var_cd2) on <var_cd2:MClassDef> */
4530 var30
= var_cd2
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_cd2:MClassDef> */
4531 if (unlikely(var30
== NULL
)) {
4532 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4533 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
4537 RET_LABEL29
:(void)0;
4542 { /* Inline model#MClass#mclass_type (var_c2) on <var_c2:MClass> */
4543 var33
= var_c2
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var_c2:MClass> */
4544 if (unlikely(var33
== NULL
)) {
4545 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
4546 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
4550 RET_LABEL32
:(void)0;
4554 { /* Inline model#MClass#mclass_type (var_c1) on <var_c1:MClass> */
4555 var36
= var_c1
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var_c1:MClass> */
4556 if (unlikely(var36
== NULL
)) {
4557 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
4558 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
4562 RET_LABEL35
:(void)0;
4566 { /* Inline kernel#Object#== (var31,var34) on <var31:MClassType> */
4569 { /* Inline kernel#Object#is_same_instance (var31,var_other) on <var31:MClassType> */
4570 var42
= var31
== var_other
;
4573 RET_LABEL41
:(void)0;
4578 RET_LABEL39
:(void)0;
4584 { /* Inline model#MClassDef#mmodule (var_cd2) on <var_cd2:MClassDef> */
4585 var45
= var_cd2
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_cd2:MClassDef> */
4586 if (unlikely(var45
== NULL
)) {
4587 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4588 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
4592 RET_LABEL44
:(void)0;
4596 { /* Inline mmodule#MModule#in_importation (var43) on <var43:MModule> */
4597 var48
= var43
->attrs
[COLOR_mmodule__MModule___in_importation
].val
; /* _in_importation on <var43:MModule> */
4598 if (unlikely(var48
== NULL
)) {
4599 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
4600 PRINT_ERROR(" (%s:%d)\n", "model/mmodule.nit", 93);
4604 RET_LABEL47
:(void)0;
4608 { /* Inline model#MClassDef#mmodule (var_cd1) on <var_cd1:MClassDef> */
4609 var51
= var_cd1
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_cd1:MClassDef> */
4610 if (unlikely(var51
== NULL
)) {
4611 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4612 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
4616 RET_LABEL50
:(void)0;
4620 var52
= poset__POSetElement___60d(var46
, var49
);
4630 { /* Inline model#MClassDef#bound_mtype (var_cd2) on <var_cd2:MClassDef> */
4631 var58
= var_cd2
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_cd2:MClassDef> */
4632 if (unlikely(var58
== NULL
)) {
4633 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
4634 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
4638 RET_LABEL57
:(void)0;
4643 { /* Inline model#MClassDef#bound_mtype (var_cd1) on <var_cd1:MClassDef> */
4644 var62
= var_cd1
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_cd1:MClassDef> */
4645 if (unlikely(var62
== NULL
)) {
4646 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
4647 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
4651 RET_LABEL61
:(void)0;
4655 var63
= model__MType__is_subtype(var56
, var_mmodule
, var59
, var60
);
4660 { /* Inline model#MClassDef#bound_mtype (var_cd2) on <var_cd2:MClassDef> */
4661 var67
= var_cd2
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_cd2:MClassDef> */
4662 if (unlikely(var67
== NULL
)) {
4663 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
4664 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
4668 RET_LABEL66
:(void)0;
4672 { /* Inline model#MClassDef#bound_mtype (var_cd1) on <var_cd1:MClassDef> */
4673 var70
= var_cd1
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_cd1:MClassDef> */
4674 if (unlikely(var70
== NULL
)) {
4675 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
4676 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
4680 RET_LABEL69
:(void)0;
4684 { /* Inline kernel#Object#!= (var65,var68) on <var65:MClassType> */
4685 var_other74
= var68
;
4687 var76
= ((short int (*)(val
*, val
*))(var65
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var65
, var_other74
) /* == on <var65:MClassType>*/;
4693 RET_LABEL73
:(void)0;
4708 BREAK_label
: (void)0;
4710 array__ArrayIterator__next(var_16
); /* Direct call array#ArrayIterator#next on <var_16:ArrayIterator[MPropDef]>*/
4716 BREAK_label54
: (void)0;
4718 { /* Inline abstract_collection#Iterator#finish (var_16) on <var_16:ArrayIterator[MPropDef]> */
4719 RET_LABEL79
:(void)0;
4724 array__Array__add(var_res
, var_pd1
); /* Direct call array#Array#add on <var_res:Array[MPropDef]>*/
4729 array__ArrayIterator__next(var_4
); /* Direct call array#ArrayIterator#next on <var_4:ArrayIterator[MPropDef]>*/
4735 BREAK_label80
: (void)0;
4737 { /* Inline abstract_collection#Iterator#finish (var_4) on <var_4:ArrayIterator[MPropDef]> */
4738 RET_LABEL81
:(void)0;
4742 var82
= array__AbstractArrayRead__is_empty(var_res
);
4748 var84
= "All lost! ";
4750 var86
= string__NativeString__to_s_with_length(var84
, var85
);
4759 var91
= string__NativeString__to_s_with_length(var89
, var90
);
4764 var92
= string__Collection__join(var_candidates
, var88
);
4766 var93
= NEW_array__Array(&type_array__Arraykernel__Object
);
4767 { /* var93 = array_instance Array[Object] */
4769 var95
= NEW_array__NativeArray(var94
, &type_array__NativeArraykernel__Object
);
4770 ((struct instance_array__NativeArray
*)var95
)->values
[0] = (val
*) var83
;
4771 ((struct instance_array__NativeArray
*)var95
)->values
[1] = (val
*) var92
;
4773 ((void (*)(val
*, val
*, long))(var93
->class->vft
[COLOR_array__Array__with_native
]))(var93
, var95
, var94
) /* with_native on <var93:Array[Object]>*/;
4777 var96
= ((val
* (*)(val
*))(var93
->class->vft
[COLOR_string__Object__to_s
]))(var93
) /* to_s on <var93:Array[Object]>*/;
4780 file__Object__print(self
, var96
); /* Direct call file#Object#print on <self:MProperty>*/
4789 /* method model#MProperty#select_most_specific for (self: Object, MModule, Array[MPropDef]): Array[MPropDef] */
4790 val
* VIRTUAL_model__MProperty__select_most_specific(val
* self
, val
* p0
, val
* p1
) {
4791 val
* var
/* : Array[MPropDef] */;
4792 val
* var1
/* : Array[MPropDef] */;
4793 var1
= model__MProperty__select_most_specific(self
, p0
, p1
);
4798 /* method model#MProperty#lookup_first_definition for (self: MProperty, MModule, MType): MPropDef */
4799 val
* model__MProperty__lookup_first_definition(val
* self
, val
* p0
, val
* p1
) {
4800 val
* var
/* : MPropDef */;
4801 val
* var_mmodule
/* var mmodule: MModule */;
4802 val
* var_mtype
/* var mtype: MType */;
4803 short int var1
/* : Bool */;
4804 val
* var2
/* : Array[MPropDef] */;
4805 val
* var3
/* : nullable Object */;
4809 var1
= model__MType__has_mproperty(var_mtype
, var_mmodule
, self
);
4811 if (unlikely(!var1
)) {
4812 PRINT_ERROR("Runtime error: %s", "Assert failed");
4813 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1776);
4817 var2
= model__MProperty__lookup_all_definitions(self
, var_mmodule
, var_mtype
);
4820 var3
= abstract_collection__SequenceRead__first(var2
);
4827 /* method model#MProperty#lookup_first_definition for (self: Object, MModule, MType): MPropDef */
4828 val
* VIRTUAL_model__MProperty__lookup_first_definition(val
* self
, val
* p0
, val
* p1
) {
4829 val
* var
/* : MPropDef */;
4830 val
* var1
/* : MPropDef */;
4831 var1
= model__MProperty__lookup_first_definition(self
, p0
, p1
);
4836 /* method model#MProperty#lookup_all_definitions for (self: MProperty, MModule, MType): Array[MPropDef] */
4837 val
* model__MProperty__lookup_all_definitions(val
* self
, val
* p0
, val
* p1
) {
4838 val
* var
/* : Array[MPropDef] */;
4839 val
* var_mmodule
/* var mmodule: MModule */;
4840 val
* var_mtype
/* var mtype: MType */;
4841 short int var1
/* : Bool */;
4842 short int var2
/* : Bool */;
4843 val
* var3
/* : MType */;
4844 val
* var4
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
4845 val
* var6
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
4846 val
* var7
/* : nullable Object */;
4847 val
* var_cache
/* var cache: nullable Array[MPropDef] */;
4848 val
* var8
/* : null */;
4849 short int var9
/* : Bool */;
4850 short int var10
/* : Bool */;
4851 val
* var_other
/* var other: nullable Object */;
4852 short int var12
/* : Bool */;
4853 short int var13
/* : Bool */;
4854 short int var14
/* : Bool */;
4855 val
* var15
/* : Array[MPropDef] */;
4856 val
* var_candidates
/* var candidates: Array[MPropDef] */;
4857 val
* var16
/* : Array[MPropDef] */;
4858 val
* var18
/* : Array[MPropDef] */;
4859 val
* var_
/* var : Array[MPropDef] */;
4860 val
* var19
/* : ArrayIterator[nullable Object] */;
4861 val
* var_20
/* var : ArrayIterator[MPropDef] */;
4862 short int var21
/* : Bool */;
4863 val
* var22
/* : nullable Object */;
4864 val
* var_mpropdef
/* var mpropdef: MPropDef */;
4865 val
* var23
/* : POSetElement[MModule] */;
4866 val
* var25
/* : POSetElement[MModule] */;
4867 val
* var26
/* : MClassDef */;
4868 val
* var28
/* : MClassDef */;
4869 val
* var29
/* : MModule */;
4870 val
* var31
/* : MModule */;
4871 short int var32
/* : Bool */;
4872 short int var33
/* : Bool */;
4873 val
* var34
/* : null */;
4874 val
* var35
/* : MClassDef */;
4875 val
* var37
/* : MClassDef */;
4876 val
* var38
/* : MClassType */;
4877 val
* var40
/* : MClassType */;
4878 short int var41
/* : Bool */;
4879 short int var42
/* : Bool */;
4880 long var45
/* : Int */;
4881 long var47
/* : Int */;
4882 long var48
/* : Int */;
4883 short int var49
/* : Bool */;
4884 short int var51
/* : Bool */;
4887 const char* var_class_name
;
4888 short int var52
/* : Bool */;
4889 val
* var53
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
4890 val
* var55
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
4891 val
* var56
/* : Array[nullable Object] */;
4892 val
* var57
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
4893 val
* var59
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
4897 var1
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
4900 if (unlikely(!var2
)) {
4901 PRINT_ERROR("Runtime error: %s", "Assert failed");
4902 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1784);
4906 var3
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__as_notnullable
]))(var_mtype
) /* as_notnullable on <var_mtype:MType>*/;
4910 { /* Inline model#MProperty#lookup_all_definitions_cache (self) on <self:MProperty> */
4911 var6
= self
->attrs
[COLOR_model__MProperty___lookup_all_definitions_cache
].val
; /* _lookup_all_definitions_cache on <self:MProperty> */
4912 if (unlikely(var6
== NULL
)) {
4913 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_all_definitions_cache");
4914 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1813);
4922 var7
= more_collections__HashMap2___91d_93d(var4
, var_mmodule
, var_mtype
);
4926 if (var_cache
== NULL
) {
4927 var9
= 0; /* is null */
4929 var9
= 1; /* arg is null and recv is not */
4932 { /* Inline kernel#Object#!= (var_cache,var8) on <var_cache:nullable Array[MPropDef]> */
4935 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])>*/;
4941 RET_LABEL11
:(void)0;
4950 var15
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arraymodel__MProperty_VTMPROPDEF
]);
4952 ((void (*)(val
*))(var15
->class->vft
[COLOR_kernel__Object__init
]))(var15
) /* init on <var15:Array[MPropDef]>*/;
4954 var_candidates
= var15
;
4956 { /* Inline model#MProperty#mpropdefs (self) on <self:MProperty> */
4957 var18
= self
->attrs
[COLOR_model__MProperty___mpropdefs
].val
; /* _mpropdefs on <self:MProperty> */
4958 if (unlikely(var18
== NULL
)) {
4959 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
4960 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1644);
4964 RET_LABEL17
:(void)0;
4969 var19
= array__AbstractArrayRead__iterator(var_
);
4974 var21
= array__ArrayIterator__is_ok(var_20
);
4978 var22
= array__ArrayIterator__item(var_20
);
4980 var_mpropdef
= var22
;
4982 { /* Inline mmodule#MModule#in_importation (var_mmodule) on <var_mmodule:MModule> */
4983 var25
= var_mmodule
->attrs
[COLOR_mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mmodule:MModule> */
4984 if (unlikely(var25
== NULL
)) {
4985 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
4986 PRINT_ERROR(" (%s:%d)\n", "model/mmodule.nit", 93);
4990 RET_LABEL24
:(void)0;
4994 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MPropDef> */
4995 var28
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MPropDef> */
4996 if (unlikely(var28
== NULL
)) {
4997 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
4998 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
5002 RET_LABEL27
:(void)0;
5006 { /* Inline model#MClassDef#mmodule (var26) on <var26:MClassDef> */
5007 var31
= var26
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var26:MClassDef> */
5008 if (unlikely(var31
== NULL
)) {
5009 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5010 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
5014 RET_LABEL30
:(void)0;
5018 var32
= poset__POSetElement___60d_61d(var23
, var29
);
5027 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MPropDef> */
5028 var37
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MPropDef> */
5029 if (unlikely(var37
== NULL
)) {
5030 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
5031 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
5035 RET_LABEL36
:(void)0;
5039 { /* Inline model#MClassDef#bound_mtype (var35) on <var35:MClassDef> */
5040 var40
= var35
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var35:MClassDef> */
5041 if (unlikely(var40
== NULL
)) {
5042 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
5043 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
5047 RET_LABEL39
:(void)0;
5051 var41
= model__MType__is_subtype(var_mtype
, var_mmodule
, var34
, var38
);
5059 array__Array__add(var_candidates
, var_mpropdef
); /* Direct call array#Array#add on <var_candidates:Array[MPropDef]>*/
5061 BREAK_label
: (void)0;
5063 array__ArrayIterator__next(var_20
); /* Direct call array#ArrayIterator#next on <var_20:ArrayIterator[MPropDef]>*/
5069 BREAK_label43
: (void)0;
5071 { /* Inline abstract_collection#Iterator#finish (var_20) on <var_20:ArrayIterator[MPropDef]> */
5072 RET_LABEL44
:(void)0;
5076 { /* Inline array#AbstractArrayRead#length (var_candidates) on <var_candidates:Array[MPropDef]> */
5077 var47
= var_candidates
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_candidates:Array[MPropDef]> */
5079 RET_LABEL46
:(void)0;
5084 { /* Inline kernel#Int#<= (var45,var48) on <var45:Int> */
5085 /* Covariant cast for argument 0 (i) <var48:Int> isa OTHER */
5086 /* <var48:Int> isa OTHER */
5087 var51
= 1; /* easy <var48:Int> isa OTHER*/
5088 if (unlikely(!var51
)) {
5089 var_class_name
= type_kernel__Int
.name
;
5090 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5091 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 370);
5094 var52
= var45
<= var48
;
5097 RET_LABEL50
:(void)0;
5102 { /* Inline model#MProperty#lookup_all_definitions_cache (self) on <self:MProperty> */
5103 var55
= self
->attrs
[COLOR_model__MProperty___lookup_all_definitions_cache
].val
; /* _lookup_all_definitions_cache on <self:MProperty> */
5104 if (unlikely(var55
== NULL
)) {
5105 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_all_definitions_cache");
5106 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1813);
5110 RET_LABEL54
:(void)0;
5114 more_collections__HashMap2___91d_93d_61d(var53
, var_mmodule
, var_mtype
, var_candidates
); /* Direct call more_collections#HashMap2#[]= on <var53:HashMap2[MModule, MType, Array[MPropDef]]>*/
5116 var
= var_candidates
;
5121 model__MModule__linearize_mpropdefs(var_mmodule
, var_candidates
); /* Direct call model#MModule#linearize_mpropdefs on <var_mmodule:MModule>*/
5124 var56
= array__AbstractArrayRead__reversed(var_candidates
);
5126 var_candidates
= var56
;
5128 { /* Inline model#MProperty#lookup_all_definitions_cache (self) on <self:MProperty> */
5129 var59
= self
->attrs
[COLOR_model__MProperty___lookup_all_definitions_cache
].val
; /* _lookup_all_definitions_cache on <self:MProperty> */
5130 if (unlikely(var59
== NULL
)) {
5131 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_all_definitions_cache");
5132 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1813);
5136 RET_LABEL58
:(void)0;
5140 more_collections__HashMap2___91d_93d_61d(var57
, var_mmodule
, var_mtype
, var_candidates
); /* Direct call more_collections#HashMap2#[]= on <var57:HashMap2[MModule, MType, Array[MPropDef]]>*/
5142 var
= var_candidates
;
5147 /* method model#MProperty#lookup_all_definitions for (self: Object, MModule, MType): Array[MPropDef] */
5148 val
* VIRTUAL_model__MProperty__lookup_all_definitions(val
* self
, val
* p0
, val
* p1
) {
5149 val
* var
/* : Array[MPropDef] */;
5150 val
* var1
/* : Array[MPropDef] */;
5151 var1
= model__MProperty__lookup_all_definitions(self
, p0
, p1
);
5156 /* method model#MProperty#lookup_all_definitions_cache for (self: MProperty): HashMap2[MModule, MType, Array[MPropDef]] */
5157 val
* model__MProperty__lookup_all_definitions_cache(val
* self
) {
5158 val
* var
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
5159 val
* var1
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
5160 var1
= self
->attrs
[COLOR_model__MProperty___lookup_all_definitions_cache
].val
; /* _lookup_all_definitions_cache on <self:MProperty> */
5161 if (unlikely(var1
== NULL
)) {
5162 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_all_definitions_cache");
5163 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1813);
5170 /* method model#MProperty#lookup_all_definitions_cache for (self: Object): HashMap2[MModule, MType, Array[MPropDef]] */
5171 val
* VIRTUAL_model__MProperty__lookup_all_definitions_cache(val
* self
) {
5172 val
* var
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
5173 val
* var1
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
5174 val
* var3
/* : HashMap2[MModule, MType, Array[MPropDef]] */;
5175 { /* Inline model#MProperty#lookup_all_definitions_cache (self) on <self:Object(MProperty)> */
5176 var3
= self
->attrs
[COLOR_model__MProperty___lookup_all_definitions_cache
].val
; /* _lookup_all_definitions_cache on <self:Object(MProperty)> */
5177 if (unlikely(var3
== NULL
)) {
5178 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_all_definitions_cache");
5179 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1813);
5189 /* method model#MMethod#init for (self: MMethod, MClassDef, String, MVisibility) */
5190 void model__MMethod__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5191 val
* var_intro_mclassdef
/* var intro_mclassdef: MClassDef */;
5192 val
* var_name
/* var name: String */;
5193 val
* var_visibility
/* var visibility: MVisibility */;
5194 var_intro_mclassdef
= p0
;
5196 var_visibility
= p2
;
5198 model__MProperty__init(self
, p0
, p1
, p2
); /* Direct call model#MProperty#init on <self:MMethod>*/
5202 /* method model#MMethod#init for (self: Object, MClassDef, String, MVisibility) */
5203 void VIRTUAL_model__MMethod__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5204 model__MMethod__init(self
, p0
, p1
, p2
); /* Direct call model#MMethod#init on <self:Object(MMethod)>*/
5207 /* method model#MMethod#is_toplevel for (self: MMethod): Bool */
5208 short int model__MMethod__is_toplevel(val
* self
) {
5209 short int var
/* : Bool */;
5210 short int var1
/* : Bool */;
5211 var1
= self
->attrs
[COLOR_model__MMethod___is_toplevel
].s
; /* _is_toplevel on <self:MMethod> */
5216 /* method model#MMethod#is_toplevel for (self: Object): Bool */
5217 short int VIRTUAL_model__MMethod__is_toplevel(val
* self
) {
5218 short int var
/* : Bool */;
5219 short int var1
/* : Bool */;
5220 short int var3
/* : Bool */;
5221 { /* Inline model#MMethod#is_toplevel (self) on <self:Object(MMethod)> */
5222 var3
= self
->attrs
[COLOR_model__MMethod___is_toplevel
].s
; /* _is_toplevel on <self:Object(MMethod)> */
5230 /* method model#MMethod#is_toplevel= for (self: MMethod, Bool) */
5231 void model__MMethod__is_toplevel_61d(val
* self
, short int p0
) {
5232 self
->attrs
[COLOR_model__MMethod___is_toplevel
].s
= p0
; /* _is_toplevel on <self:MMethod> */
5235 /* method model#MMethod#is_toplevel= for (self: Object, Bool) */
5236 void VIRTUAL_model__MMethod__is_toplevel_61d(val
* self
, short int p0
) {
5237 { /* Inline model#MMethod#is_toplevel= (self,p0) on <self:Object(MMethod)> */
5238 self
->attrs
[COLOR_model__MMethod___is_toplevel
].s
= p0
; /* _is_toplevel on <self:Object(MMethod)> */
5243 /* method model#MMethod#is_init for (self: MMethod): Bool */
5244 short int model__MMethod__is_init(val
* self
) {
5245 short int var
/* : Bool */;
5246 short int var1
/* : Bool */;
5247 var1
= self
->attrs
[COLOR_model__MMethod___is_init
].s
; /* _is_init on <self:MMethod> */
5252 /* method model#MMethod#is_init for (self: Object): Bool */
5253 short int VIRTUAL_model__MMethod__is_init(val
* self
) {
5254 short int var
/* : Bool */;
5255 short int var1
/* : Bool */;
5256 short int var3
/* : Bool */;
5257 { /* Inline model#MMethod#is_init (self) on <self:Object(MMethod)> */
5258 var3
= self
->attrs
[COLOR_model__MMethod___is_init
].s
; /* _is_init on <self:Object(MMethod)> */
5266 /* method model#MMethod#is_init= for (self: MMethod, Bool) */
5267 void model__MMethod__is_init_61d(val
* self
, short int p0
) {
5268 self
->attrs
[COLOR_model__MMethod___is_init
].s
= p0
; /* _is_init on <self:MMethod> */
5271 /* method model#MMethod#is_init= for (self: Object, Bool) */
5272 void VIRTUAL_model__MMethod__is_init_61d(val
* self
, short int p0
) {
5273 { /* Inline model#MMethod#is_init= (self,p0) on <self:Object(MMethod)> */
5274 self
->attrs
[COLOR_model__MMethod___is_init
].s
= p0
; /* _is_init on <self:Object(MMethod)> */
5279 /* method model#MMethod#is_root_init for (self: MMethod): Bool */
5280 short int model__MMethod__is_root_init(val
* self
) {
5281 short int var
/* : Bool */;
5282 short int var1
/* : Bool */;
5283 var1
= self
->attrs
[COLOR_model__MMethod___is_root_init
].s
; /* _is_root_init on <self:MMethod> */
5288 /* method model#MMethod#is_root_init for (self: Object): Bool */
5289 short int VIRTUAL_model__MMethod__is_root_init(val
* self
) {
5290 short int var
/* : Bool */;
5291 short int var1
/* : Bool */;
5292 short int var3
/* : Bool */;
5293 { /* Inline model#MMethod#is_root_init (self) on <self:Object(MMethod)> */
5294 var3
= self
->attrs
[COLOR_model__MMethod___is_root_init
].s
; /* _is_root_init on <self:Object(MMethod)> */
5302 /* method model#MMethod#is_root_init= for (self: MMethod, Bool) */
5303 void model__MMethod__is_root_init_61d(val
* self
, short int p0
) {
5304 self
->attrs
[COLOR_model__MMethod___is_root_init
].s
= p0
; /* _is_root_init on <self:MMethod> */
5307 /* method model#MMethod#is_root_init= for (self: Object, Bool) */
5308 void VIRTUAL_model__MMethod__is_root_init_61d(val
* self
, short int p0
) {
5309 { /* Inline model#MMethod#is_root_init= (self,p0) on <self:Object(MMethod)> */
5310 self
->attrs
[COLOR_model__MMethod___is_root_init
].s
= p0
; /* _is_root_init on <self:Object(MMethod)> */
5315 /* method model#MMethod#is_new for (self: MMethod): Bool */
5316 short int model__MMethod__is_new(val
* self
) {
5317 short int var
/* : Bool */;
5318 short int var1
/* : Bool */;
5319 var1
= self
->attrs
[COLOR_model__MMethod___is_new
].s
; /* _is_new on <self:MMethod> */
5324 /* method model#MMethod#is_new for (self: Object): Bool */
5325 short int VIRTUAL_model__MMethod__is_new(val
* self
) {
5326 short int var
/* : Bool */;
5327 short int var1
/* : Bool */;
5328 short int var3
/* : Bool */;
5329 { /* Inline model#MMethod#is_new (self) on <self:Object(MMethod)> */
5330 var3
= self
->attrs
[COLOR_model__MMethod___is_new
].s
; /* _is_new on <self:Object(MMethod)> */
5338 /* method model#MMethod#is_new= for (self: MMethod, Bool) */
5339 void model__MMethod__is_new_61d(val
* self
, short int p0
) {
5340 self
->attrs
[COLOR_model__MMethod___is_new
].s
= p0
; /* _is_new on <self:MMethod> */
5343 /* method model#MMethod#is_new= for (self: Object, Bool) */
5344 void VIRTUAL_model__MMethod__is_new_61d(val
* self
, short int p0
) {
5345 { /* Inline model#MMethod#is_new= (self,p0) on <self:Object(MMethod)> */
5346 self
->attrs
[COLOR_model__MMethod___is_new
].s
= p0
; /* _is_new on <self:Object(MMethod)> */
5351 /* method model#MMethod#is_init_for for (self: MMethod, MClass): Bool */
5352 short int model__MMethod__is_init_for(val
* self
, val
* p0
) {
5353 short int var
/* : Bool */;
5354 val
* var_mclass
/* var mclass: MClass */;
5355 short int var1
/* : Bool */;
5356 short int var3
/* : Bool */;
5359 { /* Inline model#MMethod#is_init (self) on <self:MMethod> */
5360 var3
= self
->attrs
[COLOR_model__MMethod___is_init
].s
; /* _is_init on <self:MMethod> */
5370 /* method model#MMethod#is_init_for for (self: Object, MClass): Bool */
5371 short int VIRTUAL_model__MMethod__is_init_for(val
* self
, val
* p0
) {
5372 short int var
/* : Bool */;
5373 short int var1
/* : Bool */;
5374 var1
= model__MMethod__is_init_for(self
, p0
);
5379 /* method model#MAttribute#init for (self: MAttribute, MClassDef, String, MVisibility) */
5380 void model__MAttribute__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5381 val
* var_intro_mclassdef
/* var intro_mclassdef: MClassDef */;
5382 val
* var_name
/* var name: String */;
5383 val
* var_visibility
/* var visibility: MVisibility */;
5384 var_intro_mclassdef
= p0
;
5386 var_visibility
= p2
;
5388 model__MProperty__init(self
, p0
, p1
, p2
); /* Direct call model#MProperty#init on <self:MAttribute>*/
5392 /* method model#MAttribute#init for (self: Object, MClassDef, String, MVisibility) */
5393 void VIRTUAL_model__MAttribute__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5394 model__MAttribute__init(self
, p0
, p1
, p2
); /* Direct call model#MAttribute#init on <self:Object(MAttribute)>*/
5397 /* method model#MVirtualTypeProp#init for (self: MVirtualTypeProp, MClassDef, String, MVisibility) */
5398 void model__MVirtualTypeProp__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5399 val
* var_intro_mclassdef
/* var intro_mclassdef: MClassDef */;
5400 val
* var_name
/* var name: String */;
5401 val
* var_visibility
/* var visibility: MVisibility */;
5402 var_intro_mclassdef
= p0
;
5404 var_visibility
= p2
;
5406 model__MProperty__init(self
, p0
, p1
, p2
); /* Direct call model#MProperty#init on <self:MVirtualTypeProp>*/
5410 /* method model#MVirtualTypeProp#init for (self: Object, MClassDef, String, MVisibility) */
5411 void VIRTUAL_model__MVirtualTypeProp__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5412 model__MVirtualTypeProp__init(self
, p0
, p1
, p2
); /* Direct call model#MVirtualTypeProp#init on <self:Object(MVirtualTypeProp)>*/
5415 /* method model#MVirtualTypeProp#mvirtualtype for (self: MVirtualTypeProp): MVirtualType */
5416 val
* model__MVirtualTypeProp__mvirtualtype(val
* self
) {
5417 val
* var
/* : MVirtualType */;
5418 val
* var1
/* : MVirtualType */;
5419 var1
= self
->attrs
[COLOR_model__MVirtualTypeProp___mvirtualtype
].val
; /* _mvirtualtype on <self:MVirtualTypeProp> */
5420 if (unlikely(var1
== NULL
)) {
5421 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mvirtualtype");
5422 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1874);
5429 /* method model#MVirtualTypeProp#mvirtualtype for (self: Object): MVirtualType */
5430 val
* VIRTUAL_model__MVirtualTypeProp__mvirtualtype(val
* self
) {
5431 val
* var
/* : MVirtualType */;
5432 val
* var1
/* : MVirtualType */;
5433 val
* var3
/* : MVirtualType */;
5434 { /* Inline model#MVirtualTypeProp#mvirtualtype (self) on <self:Object(MVirtualTypeProp)> */
5435 var3
= self
->attrs
[COLOR_model__MVirtualTypeProp___mvirtualtype
].val
; /* _mvirtualtype on <self:Object(MVirtualTypeProp)> */
5436 if (unlikely(var3
== NULL
)) {
5437 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mvirtualtype");
5438 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1874);
5448 /* method model#MPropDef#location for (self: MPropDef): Location */
5449 val
* model__MPropDef__location(val
* self
) {
5450 val
* var
/* : Location */;
5451 val
* var1
/* : Location */;
5452 var1
= self
->attrs
[COLOR_model__MPropDef___location
].val
; /* _location on <self:MPropDef> */
5453 if (unlikely(var1
== NULL
)) {
5454 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
5455 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1892);
5462 /* method model#MPropDef#location for (self: Object): Location */
5463 val
* VIRTUAL_model__MPropDef__location(val
* self
) {
5464 val
* var
/* : Location */;
5465 val
* var1
/* : Location */;
5466 val
* var3
/* : Location */;
5467 { /* Inline model#MPropDef#location (self) on <self:Object(MPropDef)> */
5468 var3
= self
->attrs
[COLOR_model__MPropDef___location
].val
; /* _location on <self:Object(MPropDef)> */
5469 if (unlikely(var3
== NULL
)) {
5470 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
5471 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1892);
5481 /* method model#MPropDef#location= for (self: MPropDef, Location) */
5482 void model__MPropDef__location_61d(val
* self
, val
* p0
) {
5483 self
->attrs
[COLOR_model__MPropDef___location
].val
= p0
; /* _location on <self:MPropDef> */
5486 /* method model#MPropDef#location= for (self: Object, Location) */
5487 void VIRTUAL_model__MPropDef__location_61d(val
* self
, val
* p0
) {
5488 { /* Inline model#MPropDef#location= (self,p0) on <self:Object(MPropDef)> */
5489 self
->attrs
[COLOR_model__MPropDef___location
].val
= p0
; /* _location on <self:Object(MPropDef)> */
5494 /* method model#MPropDef#mclassdef for (self: MPropDef): MClassDef */
5495 val
* model__MPropDef__mclassdef(val
* self
) {
5496 val
* var
/* : MClassDef */;
5497 val
* var1
/* : MClassDef */;
5498 var1
= self
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <self:MPropDef> */
5499 if (unlikely(var1
== NULL
)) {
5500 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
5501 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
5508 /* method model#MPropDef#mclassdef for (self: Object): MClassDef */
5509 val
* VIRTUAL_model__MPropDef__mclassdef(val
* self
) {
5510 val
* var
/* : MClassDef */;
5511 val
* var1
/* : MClassDef */;
5512 val
* var3
/* : MClassDef */;
5513 { /* Inline model#MPropDef#mclassdef (self) on <self:Object(MPropDef)> */
5514 var3
= self
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <self:Object(MPropDef)> */
5515 if (unlikely(var3
== NULL
)) {
5516 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
5517 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
5527 /* method model#MPropDef#mclassdef= for (self: MPropDef, MClassDef) */
5528 void model__MPropDef__mclassdef_61d(val
* self
, val
* p0
) {
5529 self
->attrs
[COLOR_model__MPropDef___mclassdef
].val
= p0
; /* _mclassdef on <self:MPropDef> */
5532 /* method model#MPropDef#mclassdef= for (self: Object, MClassDef) */
5533 void VIRTUAL_model__MPropDef__mclassdef_61d(val
* self
, val
* p0
) {
5534 { /* Inline model#MPropDef#mclassdef= (self,p0) on <self:Object(MPropDef)> */
5535 self
->attrs
[COLOR_model__MPropDef___mclassdef
].val
= p0
; /* _mclassdef on <self:Object(MPropDef)> */
5540 /* method model#MPropDef#mproperty for (self: MPropDef): MProperty */
5541 val
* model__MPropDef__mproperty(val
* self
) {
5542 val
* var
/* : MProperty */;
5543 val
* var1
/* : MProperty */;
5544 var1
= self
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <self:MPropDef> */
5545 if (unlikely(var1
== NULL
)) {
5546 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5547 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
5554 /* method model#MPropDef#mproperty for (self: Object): MProperty */
5555 val
* VIRTUAL_model__MPropDef__mproperty(val
* self
) {
5556 val
* var
/* : MProperty */;
5557 val
* var1
/* : MProperty */;
5558 val
* var3
/* : MProperty */;
5559 { /* Inline model#MPropDef#mproperty (self) on <self:Object(MPropDef)> */
5560 var3
= self
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <self:Object(MPropDef)> */
5561 if (unlikely(var3
== NULL
)) {
5562 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5563 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
5573 /* method model#MPropDef#mproperty= for (self: MPropDef, MProperty) */
5574 void model__MPropDef__mproperty_61d(val
* self
, val
* p0
) {
5575 short int var
/* : Bool */;
5578 const struct type
* type_struct
;
5579 const char* var_class_name
;
5580 /* Covariant cast for argument 0 (mproperty) <p0:MProperty> isa MPROPERTY */
5581 /* <p0:MProperty> isa MPROPERTY */
5582 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTMPROPERTY
];
5583 cltype
= type_struct
->color
;
5584 idtype
= type_struct
->id
;
5585 if(cltype
>= p0
->type
->table_size
) {
5588 var
= p0
->type
->type_table
[cltype
] == idtype
;
5590 if (unlikely(!var
)) {
5591 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5592 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MPROPERTY", var_class_name
);
5593 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
5596 self
->attrs
[COLOR_model__MPropDef___mproperty
].val
= p0
; /* _mproperty on <self:MPropDef> */
5599 /* method model#MPropDef#mproperty= for (self: Object, MProperty) */
5600 void VIRTUAL_model__MPropDef__mproperty_61d(val
* self
, val
* p0
) {
5601 short int var
/* : Bool */;
5604 const struct type
* type_struct
;
5605 const char* var_class_name
;
5606 { /* Inline model#MPropDef#mproperty= (self,p0) on <self:Object(MPropDef)> */
5607 /* Covariant cast for argument 0 (mproperty) <p0:MProperty> isa MPROPERTY */
5608 /* <p0:MProperty> isa MPROPERTY */
5609 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTMPROPERTY
];
5610 cltype
= type_struct
->color
;
5611 idtype
= type_struct
->id
;
5612 if(cltype
>= p0
->type
->table_size
) {
5615 var
= p0
->type
->type_table
[cltype
] == idtype
;
5617 if (unlikely(!var
)) {
5618 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5619 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MPROPERTY", var_class_name
);
5620 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
5623 self
->attrs
[COLOR_model__MPropDef___mproperty
].val
= p0
; /* _mproperty on <self:Object(MPropDef)> */
5628 /* method model#MPropDef#init for (self: MPropDef, MClassDef, MProperty, Location) */
5629 void model__MPropDef__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5630 short int var
/* : Bool */;
5633 const struct type
* type_struct
;
5634 const char* var_class_name
;
5635 val
* var_mclassdef
/* var mclassdef: MClassDef */;
5636 val
* var_mproperty
/* var mproperty: MProperty */;
5637 val
* var_location
/* var location: Location */;
5638 short int var3
/* : Bool */;
5641 const struct type
* type_struct6
;
5642 const char* var_class_name7
;
5643 val
* var9
/* : Array[MPropDef] */;
5644 val
* var11
/* : Array[MPropDef] */;
5645 val
* var12
/* : Array[MPropDef] */;
5646 val
* var14
/* : Array[MPropDef] */;
5647 val
* var15
/* : MClassDef */;
5648 val
* var17
/* : MClassDef */;
5649 short int var18
/* : Bool */;
5650 short int var19
/* : Bool */;
5651 val
* var_other
/* var other: nullable Object */;
5652 short int var21
/* : Bool */;
5653 short int var23
/* : Bool */;
5654 short int var24
/* : Bool */;
5655 short int var25
/* : Bool */;
5656 short int var27
/* : Bool */;
5659 const struct type
* type_struct30
;
5660 const char* var_class_name31
;
5661 static val
* varonce
;
5662 val
* var32
/* : String */;
5663 char* var33
/* : NativeString */;
5664 long var34
/* : Int */;
5665 val
* var35
/* : FlatString */;
5666 val
* var36
/* : Array[Object] */;
5667 long var37
/* : Int */;
5668 val
* var38
/* : NativeArray[Object] */;
5669 val
* var39
/* : String */;
5670 /* Covariant cast for argument 1 (mproperty) <p1:MProperty> isa MPROPERTY */
5671 /* <p1:MProperty> isa MPROPERTY */
5672 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTMPROPERTY
];
5673 cltype
= type_struct
->color
;
5674 idtype
= type_struct
->id
;
5675 if(cltype
>= p1
->type
->table_size
) {
5678 var
= p1
->type
->type_table
[cltype
] == idtype
;
5680 if (unlikely(!var
)) {
5681 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
5682 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MPROPERTY", var_class_name
);
5683 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1901);
5687 ((void (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__init
]))(self
) /* init on <self:MPropDef>*/;
5693 { /* Inline model#MPropDef#mclassdef= (self,var_mclassdef) on <self:MPropDef> */
5694 self
->attrs
[COLOR_model__MPropDef___mclassdef
].val
= var_mclassdef
; /* _mclassdef on <self:MPropDef> */
5699 { /* Inline model#MPropDef#mproperty= (self,var_mproperty) on <self:MPropDef> */
5700 /* Covariant cast for argument 0 (mproperty) <var_mproperty:MProperty> isa MPROPERTY */
5701 /* <var_mproperty:MProperty> isa MPROPERTY */
5702 type_struct6
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTMPROPERTY
];
5703 cltype4
= type_struct6
->color
;
5704 idtype5
= type_struct6
->id
;
5705 if(cltype4
>= var_mproperty
->type
->table_size
) {
5708 var3
= var_mproperty
->type
->type_table
[cltype4
] == idtype5
;
5710 if (unlikely(!var3
)) {
5711 var_class_name7
= var_mproperty
== NULL ?
"null" : var_mproperty
->type
->name
;
5712 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MPROPERTY", var_class_name7
);
5713 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
5716 self
->attrs
[COLOR_model__MPropDef___mproperty
].val
= var_mproperty
; /* _mproperty on <self:MPropDef> */
5721 { /* Inline model#MPropDef#location= (self,var_location) on <self:MPropDef> */
5722 self
->attrs
[COLOR_model__MPropDef___location
].val
= var_location
; /* _location on <self:MPropDef> */
5727 { /* Inline model#MClassDef#mpropdefs (var_mclassdef) on <var_mclassdef:MClassDef> */
5728 var11
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mpropdefs
].val
; /* _mpropdefs on <var_mclassdef:MClassDef> */
5729 if (unlikely(var11
== NULL
)) {
5730 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
5731 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 591);
5735 RET_LABEL10
:(void)0;
5739 array__Array__add(var9
, self
); /* Direct call array#Array#add on <var9:Array[MPropDef]>*/
5742 { /* Inline model#MProperty#mpropdefs (var_mproperty) on <var_mproperty:MProperty> */
5743 var14
= var_mproperty
->attrs
[COLOR_model__MProperty___mpropdefs
].val
; /* _mpropdefs on <var_mproperty:MProperty> */
5744 if (unlikely(var14
== NULL
)) {
5745 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
5746 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1644);
5750 RET_LABEL13
:(void)0;
5754 array__Array__add(var12
, self
); /* Direct call array#Array#add on <var12:Array[MPropDef]>*/
5757 { /* Inline model#MProperty#intro_mclassdef (var_mproperty) on <var_mproperty:MProperty> */
5758 var17
= var_mproperty
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_mproperty:MProperty> */
5759 if (unlikely(var17
== NULL
)) {
5760 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
5761 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1615);
5765 RET_LABEL16
:(void)0;
5769 { /* Inline kernel#Object#== (var15,var_mclassdef) on <var15:MClassDef> */
5770 var_other
= var_mclassdef
;
5772 { /* Inline kernel#Object#is_same_instance (var15,var_other) on <var15:MClassDef> */
5773 var23
= var15
== var_other
;
5776 RET_LABEL22
:(void)0;
5781 RET_LABEL20
:(void)0;
5786 var24
= var_mproperty
->attrs
[COLOR_model__MProperty___intro
].val
!= NULL
; /* _intro on <var_mproperty:MProperty> */
5788 if (unlikely(!var25
)) {
5789 PRINT_ERROR("Runtime error: %s", "Assert failed");
5790 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1909);
5794 { /* Inline model#MProperty#intro= (var_mproperty,self) on <var_mproperty:MProperty> */
5795 /* Covariant cast for argument 0 (intro) <self:MPropDef> isa MPROPDEF */
5796 /* <self:MPropDef> isa MPROPDEF */
5797 type_struct30
= var_mproperty
->type
->resolution_table
->types
[COLOR_model__MProperty_VTMPROPDEF
];
5798 cltype28
= type_struct30
->color
;
5799 idtype29
= type_struct30
->id
;
5800 if(cltype28
>= self
->type
->table_size
) {
5803 var27
= self
->type
->type_table
[cltype28
] == idtype29
;
5805 if (unlikely(!var27
)) {
5806 var_class_name31
= self
== NULL ?
"null" : self
->type
->name
;
5807 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MPROPDEF", var_class_name31
);
5808 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
5811 var_mproperty
->attrs
[COLOR_model__MProperty___intro
].val
= self
; /* _intro on <var_mproperty:MProperty> */
5812 RET_LABEL26
:(void)0;
5822 var35
= string__NativeString__to_s_with_length(var33
, var34
);
5826 var36
= NEW_array__Array(&type_array__Arraykernel__Object
);
5827 { /* var36 = array_instance Array[Object] */
5829 var38
= NEW_array__NativeArray(var37
, &type_array__NativeArraykernel__Object
);
5830 ((struct instance_array__NativeArray
*)var38
)->values
[0] = (val
*) var_mclassdef
;
5831 ((struct instance_array__NativeArray
*)var38
)->values
[1] = (val
*) var32
;
5832 ((struct instance_array__NativeArray
*)var38
)->values
[2] = (val
*) var_mproperty
;
5834 ((void (*)(val
*, val
*, long))(var36
->class->vft
[COLOR_array__Array__with_native
]))(var36
, var38
, var37
) /* with_native on <var36:Array[Object]>*/;
5838 var39
= ((val
* (*)(val
*))(var36
->class->vft
[COLOR_string__Object__to_s
]))(var36
) /* to_s on <var36:Array[Object]>*/;
5841 { /* Inline model#MPropDef#to_s= (self,var39) on <self:MPropDef> */
5842 self
->attrs
[COLOR_model__MPropDef___to_s
].val
= var39
; /* _to_s on <self:MPropDef> */
5843 RET_LABEL40
:(void)0;
5848 /* method model#MPropDef#init for (self: Object, MClassDef, MProperty, Location) */
5849 void VIRTUAL_model__MPropDef__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5850 model__MPropDef__init(self
, p0
, p1
, p2
); /* Direct call model#MPropDef#init on <self:Object(MPropDef)>*/
5853 /* method model#MPropDef#name for (self: MPropDef): String */
5854 val
* model__MPropDef__name(val
* self
) {
5855 val
* var
/* : String */;
5856 val
* var1
/* : MProperty */;
5857 val
* var3
/* : MProperty */;
5858 val
* var4
/* : String */;
5859 val
* var6
/* : String */;
5861 { /* Inline model#MPropDef#mproperty (self) on <self:MPropDef> */
5862 var3
= self
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <self:MPropDef> */
5863 if (unlikely(var3
== NULL
)) {
5864 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5865 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
5873 { /* Inline model#MProperty#name (var1) on <var1:MProperty> */
5874 var6
= var1
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var1:MProperty> */
5875 if (unlikely(var6
== NULL
)) {
5876 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5877 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
5889 /* method model#MPropDef#name for (self: Object): String */
5890 val
* VIRTUAL_model__MPropDef__name(val
* self
) {
5891 val
* var
/* : String */;
5892 val
* var1
/* : String */;
5893 var1
= model__MPropDef__name(self
);
5898 /* method model#MPropDef#model for (self: MPropDef): Model */
5899 val
* model__MPropDef__model(val
* self
) {
5900 val
* var
/* : Model */;
5901 val
* var1
/* : MClassDef */;
5902 val
* var3
/* : MClassDef */;
5903 val
* var4
/* : Model */;
5905 { /* Inline model#MPropDef#mclassdef (self) on <self:MPropDef> */
5906 var3
= self
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <self:MPropDef> */
5907 if (unlikely(var3
== NULL
)) {
5908 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
5909 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
5917 var4
= model__MClassDef__model(var1
);
5924 /* method model#MPropDef#model for (self: Object): Model */
5925 val
* VIRTUAL_model__MPropDef__model(val
* self
) {
5926 val
* var
/* : Model */;
5927 val
* var1
/* : Model */;
5928 var1
= model__MPropDef__model(self
);
5933 /* method model#MPropDef#to_s for (self: MPropDef): String */
5934 val
* model__MPropDef__to_s(val
* self
) {
5935 val
* var
/* : String */;
5936 val
* var1
/* : String */;
5937 var1
= self
->attrs
[COLOR_model__MPropDef___to_s
].val
; /* _to_s on <self:MPropDef> */
5938 if (unlikely(var1
== NULL
)) {
5939 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s");
5940 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1920);
5947 /* method model#MPropDef#to_s for (self: Object): String */
5948 val
* VIRTUAL_model__MPropDef__to_s(val
* self
) {
5949 val
* var
/* : String */;
5950 val
* var1
/* : String */;
5951 val
* var3
/* : String */;
5952 { /* Inline model#MPropDef#to_s (self) on <self:Object(MPropDef)> */
5953 var3
= self
->attrs
[COLOR_model__MPropDef___to_s
].val
; /* _to_s on <self:Object(MPropDef)> */
5954 if (unlikely(var3
== NULL
)) {
5955 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s");
5956 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1920);
5966 /* method model#MPropDef#to_s= for (self: MPropDef, String) */
5967 void model__MPropDef__to_s_61d(val
* self
, val
* p0
) {
5968 self
->attrs
[COLOR_model__MPropDef___to_s
].val
= p0
; /* _to_s on <self:MPropDef> */
5971 /* method model#MPropDef#to_s= for (self: Object, String) */
5972 void VIRTUAL_model__MPropDef__to_s_61d(val
* self
, val
* p0
) {
5973 { /* Inline model#MPropDef#to_s= (self,p0) on <self:Object(MPropDef)> */
5974 self
->attrs
[COLOR_model__MPropDef___to_s
].val
= p0
; /* _to_s on <self:Object(MPropDef)> */
5979 /* method model#MPropDef#is_intro for (self: MPropDef): Bool */
5980 short int model__MPropDef__is_intro(val
* self
) {
5981 short int var
/* : Bool */;
5982 val
* var1
/* : MProperty */;
5983 val
* var3
/* : MProperty */;
5984 val
* var4
/* : MPropDef */;
5985 val
* var6
/* : MPropDef */;
5986 short int var7
/* : Bool */;
5987 short int var8
/* : Bool */;
5988 val
* var_other
/* var other: nullable Object */;
5989 short int var10
/* : Bool */;
5990 short int var12
/* : Bool */;
5992 { /* Inline model#MPropDef#mproperty (self) on <self:MPropDef> */
5993 var3
= self
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <self:MPropDef> */
5994 if (unlikely(var3
== NULL
)) {
5995 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5996 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
6004 { /* Inline model#MProperty#intro (var1) on <var1:MProperty> */
6005 var6
= var1
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var1:MProperty> */
6006 if (unlikely(var6
== NULL
)) {
6007 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
6008 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
6016 { /* Inline kernel#Object#== (var4,self) on <var4:MPropDef> */
6019 { /* Inline kernel#Object#is_same_instance (var4,var_other) on <var4:MPropDef> */
6020 var12
= var4
== var_other
;
6023 RET_LABEL11
:(void)0;
6037 /* method model#MPropDef#is_intro for (self: Object): Bool */
6038 short int VIRTUAL_model__MPropDef__is_intro(val
* self
) {
6039 short int var
/* : Bool */;
6040 short int var1
/* : Bool */;
6041 var1
= model__MPropDef__is_intro(self
);
6046 /* method model#MPropDef#lookup_next_definition for (self: MPropDef, MModule, MType): MPropDef */
6047 val
* model__MPropDef__lookup_next_definition(val
* self
, val
* p0
, val
* p1
) {
6048 val
* var
/* : MPropDef */;
6049 val
* var_mmodule
/* var mmodule: MModule */;
6050 val
* var_mtype
/* var mtype: MType */;
6051 short int var1
/* : Bool */;
6052 short int var2
/* : Bool */;
6053 val
* var3
/* : MProperty */;
6054 val
* var5
/* : MProperty */;
6055 val
* var6
/* : Array[MPropDef] */;
6056 val
* var_mpropdefs
/* var mpropdefs: Array[MPropDef] */;
6057 val
* var7
/* : ArrayIterator[nullable Object] */;
6058 val
* var_i
/* var i: ArrayIterator[MPropDef] */;
6059 short int var8
/* : Bool */;
6060 short int var9
/* : Bool */;
6061 short int var_
/* var : Bool */;
6062 val
* var10
/* : nullable Object */;
6063 short int var11
/* : Bool */;
6064 short int var12
/* : Bool */;
6065 val
* var_other
/* var other: nullable Object */;
6066 short int var14
/* : Bool */;
6067 short int var15
/* : Bool */;
6068 short int var16
/* : Bool */;
6069 short int var17
/* : Bool */;
6070 short int var18
/* : Bool */;
6071 val
* var19
/* : nullable Object */;
6072 short int var20
/* : Bool */;
6075 const struct type
* type_struct
;
6076 const char* var_class_name
;
6080 var1
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
6083 if (unlikely(!var2
)) {
6084 PRINT_ERROR("Runtime error: %s", "Assert failed");
6085 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1934);
6089 { /* Inline model#MPropDef#mproperty (self) on <self:MPropDef> */
6090 var5
= self
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <self:MPropDef> */
6091 if (unlikely(var5
== NULL
)) {
6092 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6093 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
6101 var6
= model__MProperty__lookup_all_definitions(var3
, var_mmodule
, var_mtype
);
6103 var_mpropdefs
= var6
;
6105 var7
= array__AbstractArrayRead__iterator(var_mpropdefs
);
6110 var9
= array__ArrayIterator__is_ok(var_i
);
6115 var10
= array__ArrayIterator__item(var_i
);
6118 { /* Inline kernel#Object#!= (var10,self) on <var10:nullable Object(MPropDef)> */
6121 var15
= ((short int (*)(val
*, val
*))(var10
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var10
, var_other
) /* == on <var10:nullable Object(MPropDef)>*/;
6127 RET_LABEL13
:(void)0;
6137 array__ArrayIterator__next(var_i
); /* Direct call array#ArrayIterator#next on <var_i:ArrayIterator[MPropDef]>*/
6143 BREAK_label
: (void)0;
6145 var17
= array__ArrayIterator__is_ok(var_i
);
6147 if (unlikely(!var17
)) {
6148 PRINT_ERROR("Runtime error: %s", "Assert \'has_property\' failed");
6149 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1939);
6153 array__ArrayIterator__next(var_i
); /* Direct call array#ArrayIterator#next on <var_i:ArrayIterator[MPropDef]>*/
6156 var18
= array__ArrayIterator__is_ok(var_i
);
6158 if (unlikely(!var18
)) {
6159 PRINT_ERROR("Runtime error: %s", "Assert \'has_next_property\' failed");
6160 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1941);
6164 var19
= array__ArrayIterator__item(var_i
);
6166 /* <var19:nullable Object(MPropDef)> isa MPROPDEF */
6167 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTMPROPDEF
];
6168 cltype
= type_struct
->color
;
6169 idtype
= type_struct
->id
;
6170 if(cltype
>= var19
->type
->table_size
) {
6173 var20
= var19
->type
->type_table
[cltype
] == idtype
;
6175 if (unlikely(!var20
)) {
6176 var_class_name
= var19
== NULL ?
"null" : var19
->type
->name
;
6177 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MPROPDEF", var_class_name
);
6178 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1942);
6186 /* method model#MPropDef#lookup_next_definition for (self: Object, MModule, MType): MPropDef */
6187 val
* VIRTUAL_model__MPropDef__lookup_next_definition(val
* self
, val
* p0
, val
* p1
) {
6188 val
* var
/* : MPropDef */;
6189 val
* var1
/* : MPropDef */;
6190 var1
= model__MPropDef__lookup_next_definition(self
, p0
, p1
);
6195 /* method model#MMethodDef#init for (self: MMethodDef, MClassDef, MMethod, Location) */
6196 void model__MMethodDef__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6197 short int var
/* : Bool */;
6200 const struct type
* type_struct
;
6201 const char* var_class_name
;
6202 val
* var_mclassdef
/* var mclassdef: MClassDef */;
6203 val
* var_mproperty
/* var mproperty: MMethod */;
6204 val
* var_location
/* var location: Location */;
6205 /* Covariant cast for argument 1 (mproperty) <p1:MMethod> isa MPROPERTY */
6206 /* <p1:MMethod> isa MPROPERTY */
6207 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTMPROPERTY
];
6208 cltype
= type_struct
->color
;
6209 idtype
= type_struct
->id
;
6210 if(cltype
>= p1
->type
->table_size
) {
6213 var
= p1
->type
->type_table
[cltype
] == idtype
;
6215 if (unlikely(!var
)) {
6216 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
6217 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MPROPERTY", var_class_name
);
6218 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1953);
6225 model__MPropDef__init(self
, p0
, p1
, p2
); /* Direct call model#MPropDef#init on <self:MMethodDef>*/
6229 /* method model#MMethodDef#init for (self: Object, MClassDef, MMethod, Location) */
6230 void VIRTUAL_model__MMethodDef__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6231 model__MMethodDef__init(self
, p0
, p1
, p2
); /* Direct call model#MMethodDef#init on <self:Object(MMethodDef)>*/
6234 /* method model#MMethodDef#msignature for (self: MMethodDef): nullable MSignature */
6235 val
* model__MMethodDef__msignature(val
* self
) {
6236 val
* var
/* : nullable MSignature */;
6237 val
* var1
/* : nullable MSignature */;
6238 var1
= self
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <self:MMethodDef> */
6243 /* method model#MMethodDef#msignature for (self: Object): nullable MSignature */
6244 val
* VIRTUAL_model__MMethodDef__msignature(val
* self
) {
6245 val
* var
/* : nullable MSignature */;
6246 val
* var1
/* : nullable MSignature */;
6247 val
* var3
/* : nullable MSignature */;
6248 { /* Inline model#MMethodDef#msignature (self) on <self:Object(MMethodDef)> */
6249 var3
= self
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <self:Object(MMethodDef)> */
6257 /* method model#MMethodDef#msignature= for (self: MMethodDef, nullable MSignature) */
6258 void model__MMethodDef__msignature_61d(val
* self
, val
* p0
) {
6259 self
->attrs
[COLOR_model__MMethodDef___msignature
].val
= p0
; /* _msignature on <self:MMethodDef> */
6262 /* method model#MMethodDef#msignature= for (self: Object, nullable MSignature) */
6263 void VIRTUAL_model__MMethodDef__msignature_61d(val
* self
, val
* p0
) {
6264 { /* Inline model#MMethodDef#msignature= (self,p0) on <self:Object(MMethodDef)> */
6265 self
->attrs
[COLOR_model__MMethodDef___msignature
].val
= p0
; /* _msignature on <self:Object(MMethodDef)> */
6270 /* method model#MMethodDef#new_msignature for (self: MMethodDef): nullable MSignature */
6271 val
* model__MMethodDef__new_msignature(val
* self
) {
6272 val
* var
/* : nullable MSignature */;
6273 val
* var1
/* : nullable MSignature */;
6274 var1
= self
->attrs
[COLOR_model__MMethodDef___new_msignature
].val
; /* _new_msignature on <self:MMethodDef> */
6279 /* method model#MMethodDef#new_msignature for (self: Object): nullable MSignature */
6280 val
* VIRTUAL_model__MMethodDef__new_msignature(val
* self
) {
6281 val
* var
/* : nullable MSignature */;
6282 val
* var1
/* : nullable MSignature */;
6283 val
* var3
/* : nullable MSignature */;
6284 { /* Inline model#MMethodDef#new_msignature (self) on <self:Object(MMethodDef)> */
6285 var3
= self
->attrs
[COLOR_model__MMethodDef___new_msignature
].val
; /* _new_msignature on <self:Object(MMethodDef)> */
6293 /* method model#MMethodDef#new_msignature= for (self: MMethodDef, nullable MSignature) */
6294 void model__MMethodDef__new_msignature_61d(val
* self
, val
* p0
) {
6295 self
->attrs
[COLOR_model__MMethodDef___new_msignature
].val
= p0
; /* _new_msignature on <self:MMethodDef> */
6298 /* method model#MMethodDef#new_msignature= for (self: Object, nullable MSignature) */
6299 void VIRTUAL_model__MMethodDef__new_msignature_61d(val
* self
, val
* p0
) {
6300 { /* Inline model#MMethodDef#new_msignature= (self,p0) on <self:Object(MMethodDef)> */
6301 self
->attrs
[COLOR_model__MMethodDef___new_msignature
].val
= p0
; /* _new_msignature on <self:Object(MMethodDef)> */
6306 /* method model#MMethodDef#initializers for (self: MMethodDef): Array[MProperty] */
6307 val
* model__MMethodDef__initializers(val
* self
) {
6308 val
* var
/* : Array[MProperty] */;
6309 val
* var1
/* : Array[MProperty] */;
6310 var1
= self
->attrs
[COLOR_model__MMethodDef___initializers
].val
; /* _initializers on <self:MMethodDef> */
6311 if (unlikely(var1
== NULL
)) {
6312 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
6313 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1967);
6320 /* method model#MMethodDef#initializers for (self: Object): Array[MProperty] */
6321 val
* VIRTUAL_model__MMethodDef__initializers(val
* self
) {
6322 val
* var
/* : Array[MProperty] */;
6323 val
* var1
/* : Array[MProperty] */;
6324 val
* var3
/* : Array[MProperty] */;
6325 { /* Inline model#MMethodDef#initializers (self) on <self:Object(MMethodDef)> */
6326 var3
= self
->attrs
[COLOR_model__MMethodDef___initializers
].val
; /* _initializers on <self:Object(MMethodDef)> */
6327 if (unlikely(var3
== NULL
)) {
6328 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
6329 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1967);
6339 /* method model#MMethodDef#is_abstract for (self: MMethodDef): Bool */
6340 short int model__MMethodDef__is_abstract(val
* self
) {
6341 short int var
/* : Bool */;
6342 short int var1
/* : Bool */;
6343 var1
= self
->attrs
[COLOR_model__MMethodDef___is_abstract
].s
; /* _is_abstract on <self:MMethodDef> */
6348 /* method model#MMethodDef#is_abstract for (self: Object): Bool */
6349 short int VIRTUAL_model__MMethodDef__is_abstract(val
* self
) {
6350 short int var
/* : Bool */;
6351 short int var1
/* : Bool */;
6352 short int var3
/* : Bool */;
6353 { /* Inline model#MMethodDef#is_abstract (self) on <self:Object(MMethodDef)> */
6354 var3
= self
->attrs
[COLOR_model__MMethodDef___is_abstract
].s
; /* _is_abstract on <self:Object(MMethodDef)> */
6362 /* method model#MMethodDef#is_abstract= for (self: MMethodDef, Bool) */
6363 void model__MMethodDef__is_abstract_61d(val
* self
, short int p0
) {
6364 self
->attrs
[COLOR_model__MMethodDef___is_abstract
].s
= p0
; /* _is_abstract on <self:MMethodDef> */
6367 /* method model#MMethodDef#is_abstract= for (self: Object, Bool) */
6368 void VIRTUAL_model__MMethodDef__is_abstract_61d(val
* self
, short int p0
) {
6369 { /* Inline model#MMethodDef#is_abstract= (self,p0) on <self:Object(MMethodDef)> */
6370 self
->attrs
[COLOR_model__MMethodDef___is_abstract
].s
= p0
; /* _is_abstract on <self:Object(MMethodDef)> */
6375 /* method model#MMethodDef#is_intern for (self: MMethodDef): Bool */
6376 short int model__MMethodDef__is_intern(val
* self
) {
6377 short int var
/* : Bool */;
6378 short int var1
/* : Bool */;
6379 var1
= self
->attrs
[COLOR_model__MMethodDef___is_intern
].s
; /* _is_intern on <self:MMethodDef> */
6384 /* method model#MMethodDef#is_intern for (self: Object): Bool */
6385 short int VIRTUAL_model__MMethodDef__is_intern(val
* self
) {
6386 short int var
/* : Bool */;
6387 short int var1
/* : Bool */;
6388 short int var3
/* : Bool */;
6389 { /* Inline model#MMethodDef#is_intern (self) on <self:Object(MMethodDef)> */
6390 var3
= self
->attrs
[COLOR_model__MMethodDef___is_intern
].s
; /* _is_intern on <self:Object(MMethodDef)> */
6398 /* method model#MMethodDef#is_intern= for (self: MMethodDef, Bool) */
6399 void model__MMethodDef__is_intern_61d(val
* self
, short int p0
) {
6400 self
->attrs
[COLOR_model__MMethodDef___is_intern
].s
= p0
; /* _is_intern on <self:MMethodDef> */
6403 /* method model#MMethodDef#is_intern= for (self: Object, Bool) */
6404 void VIRTUAL_model__MMethodDef__is_intern_61d(val
* self
, short int p0
) {
6405 { /* Inline model#MMethodDef#is_intern= (self,p0) on <self:Object(MMethodDef)> */
6406 self
->attrs
[COLOR_model__MMethodDef___is_intern
].s
= p0
; /* _is_intern on <self:Object(MMethodDef)> */
6411 /* method model#MMethodDef#is_extern for (self: MMethodDef): Bool */
6412 short int model__MMethodDef__is_extern(val
* self
) {
6413 short int var
/* : Bool */;
6414 short int var1
/* : Bool */;
6415 var1
= self
->attrs
[COLOR_model__MMethodDef___is_extern
].s
; /* _is_extern on <self:MMethodDef> */
6420 /* method model#MMethodDef#is_extern for (self: Object): Bool */
6421 short int VIRTUAL_model__MMethodDef__is_extern(val
* self
) {
6422 short int var
/* : Bool */;
6423 short int var1
/* : Bool */;
6424 short int var3
/* : Bool */;
6425 { /* Inline model#MMethodDef#is_extern (self) on <self:Object(MMethodDef)> */
6426 var3
= self
->attrs
[COLOR_model__MMethodDef___is_extern
].s
; /* _is_extern on <self:Object(MMethodDef)> */
6434 /* method model#MMethodDef#is_extern= for (self: MMethodDef, Bool) */
6435 void model__MMethodDef__is_extern_61d(val
* self
, short int p0
) {
6436 self
->attrs
[COLOR_model__MMethodDef___is_extern
].s
= p0
; /* _is_extern on <self:MMethodDef> */
6439 /* method model#MMethodDef#is_extern= for (self: Object, Bool) */
6440 void VIRTUAL_model__MMethodDef__is_extern_61d(val
* self
, short int p0
) {
6441 { /* Inline model#MMethodDef#is_extern= (self,p0) on <self:Object(MMethodDef)> */
6442 self
->attrs
[COLOR_model__MMethodDef___is_extern
].s
= p0
; /* _is_extern on <self:Object(MMethodDef)> */
6447 /* method model#MMethodDef#constant_value for (self: MMethodDef): nullable Object */
6448 val
* model__MMethodDef__constant_value(val
* self
) {
6449 val
* var
/* : nullable Object */;
6450 val
* var1
/* : nullable Object */;
6451 var1
= self
->attrs
[COLOR_model__MMethodDef___constant_value
].val
; /* _constant_value on <self:MMethodDef> */
6456 /* method model#MMethodDef#constant_value for (self: Object): nullable Object */
6457 val
* VIRTUAL_model__MMethodDef__constant_value(val
* self
) {
6458 val
* var
/* : nullable Object */;
6459 val
* var1
/* : nullable Object */;
6460 val
* var3
/* : nullable Object */;
6461 { /* Inline model#MMethodDef#constant_value (self) on <self:Object(MMethodDef)> */
6462 var3
= self
->attrs
[COLOR_model__MMethodDef___constant_value
].val
; /* _constant_value on <self:Object(MMethodDef)> */
6470 /* method model#MMethodDef#constant_value= for (self: MMethodDef, nullable Object) */
6471 void model__MMethodDef__constant_value_61d(val
* self
, val
* p0
) {
6472 self
->attrs
[COLOR_model__MMethodDef___constant_value
].val
= p0
; /* _constant_value on <self:MMethodDef> */
6475 /* method model#MMethodDef#constant_value= for (self: Object, nullable Object) */
6476 void VIRTUAL_model__MMethodDef__constant_value_61d(val
* self
, val
* p0
) {
6477 { /* Inline model#MMethodDef#constant_value= (self,p0) on <self:Object(MMethodDef)> */
6478 self
->attrs
[COLOR_model__MMethodDef___constant_value
].val
= p0
; /* _constant_value on <self:Object(MMethodDef)> */
6483 /* method model#MAttributeDef#init for (self: MAttributeDef, MClassDef, MAttribute, Location) */
6484 void model__MAttributeDef__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6485 short int var
/* : Bool */;
6488 const struct type
* type_struct
;
6489 const char* var_class_name
;
6490 val
* var_mclassdef
/* var mclassdef: MClassDef */;
6491 val
* var_mproperty
/* var mproperty: MAttribute */;
6492 val
* var_location
/* var location: Location */;
6493 /* Covariant cast for argument 1 (mproperty) <p1:MAttribute> isa MPROPERTY */
6494 /* <p1:MAttribute> isa MPROPERTY */
6495 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTMPROPERTY
];
6496 cltype
= type_struct
->color
;
6497 idtype
= type_struct
->id
;
6498 if(cltype
>= p1
->type
->table_size
) {
6501 var
= p1
->type
->type_table
[cltype
] == idtype
;
6503 if (unlikely(!var
)) {
6504 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
6505 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MPROPERTY", var_class_name
);
6506 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 2001);
6513 model__MPropDef__init(self
, p0
, p1
, p2
); /* Direct call model#MPropDef#init on <self:MAttributeDef>*/
6517 /* method model#MAttributeDef#init for (self: Object, MClassDef, MAttribute, Location) */
6518 void VIRTUAL_model__MAttributeDef__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6519 model__MAttributeDef__init(self
, p0
, p1
, p2
); /* Direct call model#MAttributeDef#init on <self:Object(MAttributeDef)>*/
6522 /* method model#MAttributeDef#static_mtype for (self: MAttributeDef): nullable MType */
6523 val
* model__MAttributeDef__static_mtype(val
* self
) {
6524 val
* var
/* : nullable MType */;
6525 val
* var1
/* : nullable MType */;
6526 var1
= self
->attrs
[COLOR_model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <self:MAttributeDef> */
6531 /* method model#MAttributeDef#static_mtype for (self: Object): nullable MType */
6532 val
* VIRTUAL_model__MAttributeDef__static_mtype(val
* self
) {
6533 val
* var
/* : nullable MType */;
6534 val
* var1
/* : nullable MType */;
6535 val
* var3
/* : nullable MType */;
6536 { /* Inline model#MAttributeDef#static_mtype (self) on <self:Object(MAttributeDef)> */
6537 var3
= self
->attrs
[COLOR_model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <self:Object(MAttributeDef)> */
6545 /* method model#MAttributeDef#static_mtype= for (self: MAttributeDef, nullable MType) */
6546 void model__MAttributeDef__static_mtype_61d(val
* self
, val
* p0
) {
6547 self
->attrs
[COLOR_model__MAttributeDef___static_mtype
].val
= p0
; /* _static_mtype on <self:MAttributeDef> */
6550 /* method model#MAttributeDef#static_mtype= for (self: Object, nullable MType) */
6551 void VIRTUAL_model__MAttributeDef__static_mtype_61d(val
* self
, val
* p0
) {
6552 { /* Inline model#MAttributeDef#static_mtype= (self,p0) on <self:Object(MAttributeDef)> */
6553 self
->attrs
[COLOR_model__MAttributeDef___static_mtype
].val
= p0
; /* _static_mtype on <self:Object(MAttributeDef)> */
6558 /* method model#MVirtualTypeDef#init for (self: MVirtualTypeDef, MClassDef, MVirtualTypeProp, Location) */
6559 void model__MVirtualTypeDef__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6560 short int var
/* : Bool */;
6563 const struct type
* type_struct
;
6564 const char* var_class_name
;
6565 val
* var_mclassdef
/* var mclassdef: MClassDef */;
6566 val
* var_mproperty
/* var mproperty: MVirtualTypeProp */;
6567 val
* var_location
/* var location: Location */;
6568 /* Covariant cast for argument 1 (mproperty) <p1:MVirtualTypeProp> isa MPROPERTY */
6569 /* <p1:MVirtualTypeProp> isa MPROPERTY */
6570 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTMPROPERTY
];
6571 cltype
= type_struct
->color
;
6572 idtype
= type_struct
->id
;
6573 if(cltype
>= p1
->type
->table_size
) {
6576 var
= p1
->type
->type_table
[cltype
] == idtype
;
6578 if (unlikely(!var
)) {
6579 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
6580 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MPROPERTY", var_class_name
);
6581 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 2017);
6588 model__MPropDef__init(self
, p0
, p1
, p2
); /* Direct call model#MPropDef#init on <self:MVirtualTypeDef>*/
6592 /* method model#MVirtualTypeDef#init for (self: Object, MClassDef, MVirtualTypeProp, Location) */
6593 void VIRTUAL_model__MVirtualTypeDef__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6594 model__MVirtualTypeDef__init(self
, p0
, p1
, p2
); /* Direct call model#MVirtualTypeDef#init on <self:Object(MVirtualTypeDef)>*/
6597 /* method model#MVirtualTypeDef#bound for (self: MVirtualTypeDef): nullable MType */
6598 val
* model__MVirtualTypeDef__bound(val
* self
) {
6599 val
* var
/* : nullable MType */;
6600 val
* var1
/* : nullable MType */;
6601 var1
= self
->attrs
[COLOR_model__MVirtualTypeDef___bound
].val
; /* _bound on <self:MVirtualTypeDef> */
6606 /* method model#MVirtualTypeDef#bound for (self: Object): nullable MType */
6607 val
* VIRTUAL_model__MVirtualTypeDef__bound(val
* self
) {
6608 val
* var
/* : nullable MType */;
6609 val
* var1
/* : nullable MType */;
6610 val
* var3
/* : nullable MType */;
6611 { /* Inline model#MVirtualTypeDef#bound (self) on <self:Object(MVirtualTypeDef)> */
6612 var3
= self
->attrs
[COLOR_model__MVirtualTypeDef___bound
].val
; /* _bound on <self:Object(MVirtualTypeDef)> */
6620 /* method model#MVirtualTypeDef#bound= for (self: MVirtualTypeDef, nullable MType) */
6621 void model__MVirtualTypeDef__bound_61d(val
* self
, val
* p0
) {
6622 self
->attrs
[COLOR_model__MVirtualTypeDef___bound
].val
= p0
; /* _bound on <self:MVirtualTypeDef> */
6625 /* method model#MVirtualTypeDef#bound= for (self: Object, nullable MType) */
6626 void VIRTUAL_model__MVirtualTypeDef__bound_61d(val
* self
, val
* p0
) {
6627 { /* Inline model#MVirtualTypeDef#bound= (self,p0) on <self:Object(MVirtualTypeDef)> */
6628 self
->attrs
[COLOR_model__MVirtualTypeDef___bound
].val
= p0
; /* _bound on <self:Object(MVirtualTypeDef)> */
6633 /* method model#MVirtualTypeDef#is_fixed for (self: MVirtualTypeDef): Bool */
6634 short int model__MVirtualTypeDef__is_fixed(val
* self
) {
6635 short int var
/* : Bool */;
6636 short int var1
/* : Bool */;
6637 var1
= self
->attrs
[COLOR_model__MVirtualTypeDef___is_fixed
].s
; /* _is_fixed on <self:MVirtualTypeDef> */
6642 /* method model#MVirtualTypeDef#is_fixed for (self: Object): Bool */
6643 short int VIRTUAL_model__MVirtualTypeDef__is_fixed(val
* self
) {
6644 short int var
/* : Bool */;
6645 short int var1
/* : Bool */;
6646 short int var3
/* : Bool */;
6647 { /* Inline model#MVirtualTypeDef#is_fixed (self) on <self:Object(MVirtualTypeDef)> */
6648 var3
= self
->attrs
[COLOR_model__MVirtualTypeDef___is_fixed
].s
; /* _is_fixed on <self:Object(MVirtualTypeDef)> */
6656 /* method model#MVirtualTypeDef#is_fixed= for (self: MVirtualTypeDef, Bool) */
6657 void model__MVirtualTypeDef__is_fixed_61d(val
* self
, short int p0
) {
6658 self
->attrs
[COLOR_model__MVirtualTypeDef___is_fixed
].s
= p0
; /* _is_fixed on <self:MVirtualTypeDef> */
6661 /* method model#MVirtualTypeDef#is_fixed= for (self: Object, Bool) */
6662 void VIRTUAL_model__MVirtualTypeDef__is_fixed_61d(val
* self
, short int p0
) {
6663 { /* Inline model#MVirtualTypeDef#is_fixed= (self,p0) on <self:Object(MVirtualTypeDef)> */
6664 self
->attrs
[COLOR_model__MVirtualTypeDef___is_fixed
].s
= p0
; /* _is_fixed on <self:Object(MVirtualTypeDef)> */
6669 /* method model#MClassKind#to_s for (self: MClassKind): String */
6670 val
* model__MClassKind__to_s(val
* self
) {
6671 val
* var
/* : String */;
6672 val
* var1
/* : String */;
6673 var1
= self
->attrs
[COLOR_model__MClassKind___to_s
].val
; /* _to_s on <self:MClassKind> */
6674 if (unlikely(var1
== NULL
)) {
6675 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s");
6676 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 2040);
6683 /* method model#MClassKind#to_s for (self: Object): String */
6684 val
* VIRTUAL_model__MClassKind__to_s(val
* self
) {
6685 val
* var
/* : String */;
6686 val
* var1
/* : String */;
6687 val
* var3
/* : String */;
6688 { /* Inline model#MClassKind#to_s (self) on <self:Object(MClassKind)> */
6689 var3
= self
->attrs
[COLOR_model__MClassKind___to_s
].val
; /* _to_s on <self:Object(MClassKind)> */
6690 if (unlikely(var3
== NULL
)) {
6691 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s");
6692 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 2040);
6702 /* method model#MClassKind#to_s= for (self: MClassKind, String) */
6703 void model__MClassKind__to_s_61d(val
* self
, val
* p0
) {
6704 self
->attrs
[COLOR_model__MClassKind___to_s
].val
= p0
; /* _to_s on <self:MClassKind> */
6707 /* method model#MClassKind#to_s= for (self: Object, String) */
6708 void VIRTUAL_model__MClassKind__to_s_61d(val
* self
, val
* p0
) {
6709 { /* Inline model#MClassKind#to_s= (self,p0) on <self:Object(MClassKind)> */
6710 self
->attrs
[COLOR_model__MClassKind___to_s
].val
= p0
; /* _to_s on <self:Object(MClassKind)> */
6715 /* method model#MClassKind#need_init for (self: MClassKind): Bool */
6716 short int model__MClassKind__need_init(val
* self
) {
6717 short int var
/* : Bool */;
6718 short int var1
/* : Bool */;
6719 var1
= self
->attrs
[COLOR_model__MClassKind___need_init
].s
; /* _need_init on <self:MClassKind> */
6724 /* method model#MClassKind#need_init for (self: Object): Bool */
6725 short int VIRTUAL_model__MClassKind__need_init(val
* self
) {
6726 short int var
/* : Bool */;
6727 short int var1
/* : Bool */;
6728 short int var3
/* : Bool */;
6729 { /* Inline model#MClassKind#need_init (self) on <self:Object(MClassKind)> */
6730 var3
= self
->attrs
[COLOR_model__MClassKind___need_init
].s
; /* _need_init on <self:Object(MClassKind)> */
6738 /* method model#MClassKind#need_init= for (self: MClassKind, Bool) */
6739 void model__MClassKind__need_init_61d(val
* self
, short int p0
) {
6740 self
->attrs
[COLOR_model__MClassKind___need_init
].s
= p0
; /* _need_init on <self:MClassKind> */
6743 /* method model#MClassKind#need_init= for (self: Object, Bool) */
6744 void VIRTUAL_model__MClassKind__need_init_61d(val
* self
, short int p0
) {
6745 { /* Inline model#MClassKind#need_init= (self,p0) on <self:Object(MClassKind)> */
6746 self
->attrs
[COLOR_model__MClassKind___need_init
].s
= p0
; /* _need_init on <self:Object(MClassKind)> */
6751 /* method model#MClassKind#init for (self: MClassKind, String, Bool) */
6752 void model__MClassKind__init(val
* self
, val
* p0
, short int p1
) {
6753 val
* var_s
/* var s: String */;
6754 short int var_need_init
/* var need_init: Bool */;
6758 { /* Inline model#MClassKind#to_s= (self,var_s) on <self:MClassKind> */
6759 self
->attrs
[COLOR_model__MClassKind___to_s
].val
= var_s
; /* _to_s on <self:MClassKind> */
6764 { /* Inline model#MClassKind#need_init= (self,var_need_init) on <self:MClassKind> */
6765 self
->attrs
[COLOR_model__MClassKind___need_init
].s
= var_need_init
; /* _need_init on <self:MClassKind> */
6771 /* method model#MClassKind#init for (self: Object, String, Bool) */
6772 void VIRTUAL_model__MClassKind__init(val
* self
, val
* p0
, short int p1
) {
6773 model__MClassKind__init(self
, p0
, p1
); /* Direct call model#MClassKind#init on <self:Object(MClassKind)>*/
6776 /* method model#MClassKind#can_specialize for (self: MClassKind, MClassKind): Bool */
6777 short int model__MClassKind__can_specialize(val
* self
, val
* p0
) {
6778 short int var
/* : Bool */;
6779 val
* var_other
/* var other: MClassKind */;
6780 val
* var1
/* : MClassKind */;
6781 short int var2
/* : Bool */;
6782 short int var3
/* : Bool */;
6783 val
* var_other5
/* var other: nullable Object */;
6784 short int var6
/* : Bool */;
6785 short int var8
/* : Bool */;
6786 short int var9
/* : Bool */;
6787 short int var10
/* : Bool */;
6788 val
* var11
/* : MClassKind */;
6789 short int var12
/* : Bool */;
6790 short int var13
/* : Bool */;
6791 short int var15
/* : Bool */;
6792 short int var17
/* : Bool */;
6793 short int var_
/* var : Bool */;
6794 val
* var18
/* : MClassKind */;
6795 short int var19
/* : Bool */;
6796 short int var20
/* : Bool */;
6797 short int var22
/* : Bool */;
6798 short int var24
/* : Bool */;
6799 short int var25
/* : Bool */;
6800 val
* var26
/* : MClassKind */;
6801 short int var27
/* : Bool */;
6802 short int var28
/* : Bool */;
6803 short int var30
/* : Bool */;
6804 short int var32
/* : Bool */;
6805 short int var33
/* : Bool */;
6806 short int var34
/* : Bool */;
6807 short int var36
/* : Bool */;
6808 short int var38
/* : Bool */;
6809 short int var39
/* : Bool */;
6810 val
* var40
/* : MClassKind */;
6811 short int var41
/* : Bool */;
6812 short int var42
/* : Bool */;
6813 short int var44
/* : Bool */;
6814 short int var46
/* : Bool */;
6815 short int var_47
/* var : Bool */;
6816 val
* var48
/* : MClassKind */;
6817 short int var49
/* : Bool */;
6818 short int var50
/* : Bool */;
6819 short int var52
/* : Bool */;
6820 short int var54
/* : Bool */;
6821 short int var55
/* : Bool */;
6822 short int var56
/* : Bool */;
6825 var1
= model__Object__interface_kind(self
);
6828 { /* Inline kernel#Object#== (var_other,var1) on <var_other:MClassKind> */
6831 { /* Inline kernel#Object#is_same_instance (var_other,var_other5) on <var_other:MClassKind> */
6832 var8
= var_other
== var_other5
;
6851 var11
= model__Object__interface_kind(self
);
6854 { /* Inline kernel#Object#== (self,var11) on <self:MClassKind> */
6857 { /* Inline kernel#Object#is_same_instance (self,var_other5) on <self:MClassKind> */
6858 var17
= self
== var_other5
;
6861 RET_LABEL16
:(void)0;
6866 RET_LABEL14
:(void)0;
6875 var18
= model__Object__enum_kind(self
);
6878 { /* Inline kernel#Object#== (self,var18) on <self:MClassKind> */
6881 { /* Inline kernel#Object#is_same_instance (self,var_other5) on <self:MClassKind> */
6882 var24
= self
== var_other5
;
6885 RET_LABEL23
:(void)0;
6890 RET_LABEL21
:(void)0;
6902 var26
= model__Object__extern_kind(self
);
6905 { /* Inline kernel#Object#== (self,var26) on <self:MClassKind> */
6908 { /* Inline kernel#Object#is_same_instance (self,var_other5) on <self:MClassKind> */
6909 var32
= self
== var_other5
;
6912 RET_LABEL31
:(void)0;
6917 RET_LABEL29
:(void)0;
6923 { /* Inline kernel#Object#== (self,var_other) on <self:MClassKind> */
6924 var_other5
= var_other
;
6926 { /* Inline kernel#Object#is_same_instance (self,var_other5) on <self:MClassKind> */
6927 var38
= self
== var_other5
;
6930 RET_LABEL37
:(void)0;
6935 RET_LABEL35
:(void)0;
6943 var40
= model__Object__enum_kind(self
);
6946 { /* Inline kernel#Object#== (var_other,var40) on <var_other:MClassKind> */
6949 { /* Inline kernel#Object#is_same_instance (var_other,var_other5) on <var_other:MClassKind> */
6950 var46
= var_other
== var_other5
;
6953 RET_LABEL45
:(void)0;
6958 RET_LABEL43
:(void)0;
6967 var48
= model__Object__extern_kind(self
);
6970 { /* Inline kernel#Object#== (var_other,var48) on <var_other:MClassKind> */
6973 { /* Inline kernel#Object#is_same_instance (var_other,var_other5) on <var_other:MClassKind> */
6974 var54
= var_other
== var_other5
;
6977 RET_LABEL53
:(void)0;
6982 RET_LABEL51
:(void)0;
7002 /* method model#MClassKind#can_specialize for (self: Object, MClassKind): Bool */
7003 short int VIRTUAL_model__MClassKind__can_specialize(val
* self
, val
* p0
) {
7004 short int var
/* : Bool */;
7005 short int var1
/* : Bool */;
7006 var1
= model__MClassKind__can_specialize(self
, p0
);
7011 /* method model#Object#abstract_kind for (self: Object): MClassKind */
7012 val
* model__Object__abstract_kind(val
* self
) {
7013 val
* var
/* : MClassKind */;
7014 static val
* varonce
;
7015 static int varonce_guard
;
7016 val
* var1
/* : MClassKind */;
7017 val
* var2
/* : MClassKind */;
7018 static val
* varonce3
;
7019 val
* var4
/* : String */;
7020 char* var5
/* : NativeString */;
7021 long var6
/* : Int */;
7022 val
* var7
/* : FlatString */;
7023 short int var8
/* : Bool */;
7024 if (varonce_guard
) {
7027 var2
= NEW_model__MClassKind(&type_model__MClassKind
);
7031 var5
= "abstract class";
7033 var7
= string__NativeString__to_s_with_length(var5
, var6
);
7039 model__MClassKind__init(var2
, var4
, var8
); /* Direct call model#MClassKind#init on <var2:MClassKind>*/
7050 /* method model#Object#abstract_kind for (self: Object): MClassKind */
7051 val
* VIRTUAL_model__Object__abstract_kind(val
* self
) {
7052 val
* var
/* : MClassKind */;
7053 val
* var1
/* : MClassKind */;
7054 var1
= model__Object__abstract_kind(self
);
7059 /* method model#Object#concrete_kind for (self: Object): MClassKind */
7060 val
* model__Object__concrete_kind(val
* self
) {
7061 val
* var
/* : MClassKind */;
7062 static val
* varonce
;
7063 static int varonce_guard
;
7064 val
* var1
/* : MClassKind */;
7065 val
* var2
/* : MClassKind */;
7066 static val
* varonce3
;
7067 val
* var4
/* : String */;
7068 char* var5
/* : NativeString */;
7069 long var6
/* : Int */;
7070 val
* var7
/* : FlatString */;
7071 short int var8
/* : Bool */;
7072 if (varonce_guard
) {
7075 var2
= NEW_model__MClassKind(&type_model__MClassKind
);
7081 var7
= string__NativeString__to_s_with_length(var5
, var6
);
7087 model__MClassKind__init(var2
, var4
, var8
); /* Direct call model#MClassKind#init on <var2:MClassKind>*/
7098 /* method model#Object#concrete_kind for (self: Object): MClassKind */
7099 val
* VIRTUAL_model__Object__concrete_kind(val
* self
) {
7100 val
* var
/* : MClassKind */;
7101 val
* var1
/* : MClassKind */;
7102 var1
= model__Object__concrete_kind(self
);
7107 /* method model#Object#interface_kind for (self: Object): MClassKind */
7108 val
* model__Object__interface_kind(val
* self
) {
7109 val
* var
/* : MClassKind */;
7110 static val
* varonce
;
7111 static int varonce_guard
;
7112 val
* var1
/* : MClassKind */;
7113 val
* var2
/* : MClassKind */;
7114 static val
* varonce3
;
7115 val
* var4
/* : String */;
7116 char* var5
/* : NativeString */;
7117 long var6
/* : Int */;
7118 val
* var7
/* : FlatString */;
7119 short int var8
/* : Bool */;
7120 if (varonce_guard
) {
7123 var2
= NEW_model__MClassKind(&type_model__MClassKind
);
7129 var7
= string__NativeString__to_s_with_length(var5
, var6
);
7135 model__MClassKind__init(var2
, var4
, var8
); /* Direct call model#MClassKind#init on <var2:MClassKind>*/
7146 /* method model#Object#interface_kind for (self: Object): MClassKind */
7147 val
* VIRTUAL_model__Object__interface_kind(val
* self
) {
7148 val
* var
/* : MClassKind */;
7149 val
* var1
/* : MClassKind */;
7150 var1
= model__Object__interface_kind(self
);
7155 /* method model#Object#enum_kind for (self: Object): MClassKind */
7156 val
* model__Object__enum_kind(val
* self
) {
7157 val
* var
/* : MClassKind */;
7158 static val
* varonce
;
7159 static int varonce_guard
;
7160 val
* var1
/* : MClassKind */;
7161 val
* var2
/* : MClassKind */;
7162 static val
* varonce3
;
7163 val
* var4
/* : String */;
7164 char* var5
/* : NativeString */;
7165 long var6
/* : Int */;
7166 val
* var7
/* : FlatString */;
7167 short int var8
/* : Bool */;
7168 if (varonce_guard
) {
7171 var2
= NEW_model__MClassKind(&type_model__MClassKind
);
7177 var7
= string__NativeString__to_s_with_length(var5
, var6
);
7183 model__MClassKind__init(var2
, var4
, var8
); /* Direct call model#MClassKind#init on <var2:MClassKind>*/
7194 /* method model#Object#enum_kind for (self: Object): MClassKind */
7195 val
* VIRTUAL_model__Object__enum_kind(val
* self
) {
7196 val
* var
/* : MClassKind */;
7197 val
* var1
/* : MClassKind */;
7198 var1
= model__Object__enum_kind(self
);
7203 /* method model#Object#extern_kind for (self: Object): MClassKind */
7204 val
* model__Object__extern_kind(val
* self
) {
7205 val
* var
/* : MClassKind */;
7206 static val
* varonce
;
7207 static int varonce_guard
;
7208 val
* var1
/* : MClassKind */;
7209 val
* var2
/* : MClassKind */;
7210 static val
* varonce3
;
7211 val
* var4
/* : String */;
7212 char* var5
/* : NativeString */;
7213 long var6
/* : Int */;
7214 val
* var7
/* : FlatString */;
7215 short int var8
/* : Bool */;
7216 if (varonce_guard
) {
7219 var2
= NEW_model__MClassKind(&type_model__MClassKind
);
7223 var5
= "extern class";
7225 var7
= string__NativeString__to_s_with_length(var5
, var6
);
7231 model__MClassKind__init(var2
, var4
, var8
); /* Direct call model#MClassKind#init on <var2:MClassKind>*/
7242 /* method model#Object#extern_kind for (self: Object): MClassKind */
7243 val
* VIRTUAL_model__Object__extern_kind(val
* self
) {
7244 val
* var
/* : MClassKind */;
7245 val
* var1
/* : MClassKind */;
7246 var1
= model__Object__extern_kind(self
);