1 #include "nit__modelize_property.sep.0.h"
2 /* method modelize_property#AAttrPropdef#check_signature for (self: AAttrPropdef, ModelBuilder) */
3 void nit__modelize_property___AAttrPropdef___APropdef__check_signature(val
* self
, val
* p0
) {
4 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
5 val
* var
/* : nullable MPropDef */;
6 val
* var2
/* : nullable MPropDef */;
7 val
* var_mpropdef
/* var mpropdef: nullable MAttributeDef */;
8 short int var3
/* : Bool */;
9 short int var4
/* : Bool */;
10 val
* var_other
/* var other: nullable Object */;
11 short int var6
/* : Bool */;
12 short int var8
/* : Bool */;
13 val
* var9
/* : nullable AType */;
14 val
* var11
/* : nullable AType */;
15 val
* var_ntype
/* var ntype: nullable AType */;
16 val
* var12
/* : nullable MType */;
17 val
* var14
/* : nullable MType */;
18 val
* var_mtype
/* var mtype: nullable MType */;
19 short int var15
/* : Bool */;
20 short int var16
/* : Bool */;
21 short int var18
/* : Bool */;
22 short int var20
/* : Bool */;
23 val
* var21
/* : MClassDef */;
24 val
* var23
/* : MClassDef */;
25 val
* var_mclassdef
/* var mclassdef: MClassDef */;
26 val
* var24
/* : MModule */;
27 val
* var26
/* : MModule */;
28 val
* var_mmodule
/* var mmodule: MModule */;
29 short int var27
/* : Bool */;
30 short int var28
/* : Bool */;
31 val
* var_other30
/* var other: nullable Object */;
32 short int var31
/* : Bool */;
33 short int var32
/* : Bool */;
34 val
* var33
/* : nullable MType */;
35 short int var34
/* : Bool */;
36 short int var35
/* : Bool */;
37 short int var37
/* : Bool */;
38 short int var39
/* : Bool */;
39 val
* var40
/* : nullable AExpr */;
40 val
* var42
/* : nullable AExpr */;
41 val
* var_nexpr
/* var nexpr: nullable AExpr */;
42 short int var43
/* : Bool */;
45 val
* var44
/* : AType */;
46 val
* var46
/* : AType */;
47 val
* var47
/* : nullable MType */;
48 short int var48
/* : Bool */;
49 short int var49
/* : Bool */;
50 short int var51
/* : Bool */;
51 short int var53
/* : Bool */;
52 short int var54
/* : Bool */;
53 short int var55
/* : Bool */;
54 val
* var56
/* : MProperty */;
55 val
* var58
/* : MProperty */;
56 val
* var59
/* : MPropDef */;
57 val
* var61
/* : MPropDef */;
58 val
* var62
/* : nullable MType */;
59 val
* var64
/* : nullable MType */;
60 val
* var_precursor_type
/* var precursor_type: nullable MType */;
61 short int var65
/* : Bool */;
62 short int var66
/* : Bool */;
63 short int var68
/* : Bool */;
64 short int var70
/* : Bool */;
65 short int var71
/* : Bool */;
66 short int var73
/* : Bool */;
67 short int var74
/* : Bool */;
68 val
* var75
/* : NativeArray[String] */;
70 static val
* varonce76
;
71 val
* var77
/* : String */;
72 char* var78
/* : NativeString */;
73 val
* var79
/* : FlatString */;
74 static val
* varonce80
;
75 val
* var81
/* : String */;
76 char* var82
/* : NativeString */;
77 val
* var83
/* : FlatString */;
78 static val
* varonce84
;
79 val
* var85
/* : String */;
80 char* var86
/* : NativeString */;
81 val
* var87
/* : FlatString */;
82 val
* var88
/* : String */;
83 val
* var89
/* : String */;
84 val
* var90
/* : String */;
85 val
* var91
/* : nullable MMethodDef */;
86 val
* var93
/* : nullable MMethodDef */;
87 val
* var_meth
/* var meth: nullable MMethodDef */;
88 short int var94
/* : Bool */;
89 short int var95
/* : Bool */;
90 short int var97
/* : Bool */;
91 short int var98
/* : Bool */;
92 val
* var_node
/* var node: nullable ANode */;
93 short int var99
/* : Bool */;
94 short int var100
/* : Bool */;
95 short int var102
/* : Bool */;
96 short int var104
/* : Bool */;
97 val
* var105
/* : nullable MMethodDef */;
98 val
* var107
/* : nullable MMethodDef */;
99 short int var108
/* : Bool */;
100 short int var109
/* : Bool */;
101 short int var111
/* : Bool */;
102 short int var112
/* : Bool */;
103 val
* var_node113
/* var node: nullable ANode */;
104 short int var114
/* : Bool */;
105 short int var115
/* : Bool */;
106 short int var117
/* : Bool */;
107 short int var119
/* : Bool */;
108 var_modelbuilder
= p0
;
110 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AAttrPropdef> */
111 var2
= self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AAttrPropdef> */
117 if (var_mpropdef
== NULL
) {
118 var3
= 1; /* is null */
120 var3
= 0; /* arg is null but recv is not */
123 { /* Inline kernel#Object#== (var_mpropdef,((val*)NULL)) on <var_mpropdef:nullable MAttributeDef> */
124 var_other
= ((val
*)NULL
);
126 { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
127 var8
= var_mpropdef
== var_other
;
144 { /* Inline parser_nodes#AAttrPropdef#n_type (self) on <self:AAttrPropdef> */
145 var11
= self
->attrs
[COLOR_nit__parser_nodes__AAttrPropdef___n_type
].val
; /* _n_type on <self:AAttrPropdef> */
152 { /* Inline modelize_property#AAttrPropdef#mtype (self) on <self:AAttrPropdef> */
153 var14
= self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___mtype
].val
; /* _mtype on <self:AAttrPropdef> */
159 if (var_mtype
== NULL
) {
160 var15
= 1; /* is null */
162 var15
= 0; /* arg is null but recv is not */
165 { /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
166 var_other
= ((val
*)NULL
);
168 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
169 var20
= var_mtype
== var_other
;
186 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
187 var23
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
188 if (unlikely(var23
== NULL
)) {
189 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
190 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
197 var_mclassdef
= var21
;
199 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
200 var26
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
201 if (unlikely(var26
== NULL
)) {
202 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
203 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
211 if (var_ntype
== NULL
) {
212 var27
= 0; /* is null */
214 var27
= 1; /* arg is null and recv is not */
217 { /* Inline kernel#Object#!= (var_ntype,((val*)NULL)) on <var_ntype:nullable AType> */
218 var_other30
= ((val
*)NULL
);
220 var31
= ((short int(*)(val
* self
, val
* p0
))(var_ntype
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ntype
, var_other30
); /* == on <var_ntype:nullable AType(AType)>*/
231 var33
= nit___nit__ModelBuilder___resolve_mtype(var_modelbuilder
, var_mmodule
, var_mclassdef
, var_ntype
);
234 var34
= 1; /* is null */
236 var34
= 0; /* arg is null but recv is not */
239 { /* Inline kernel#Object#== (var33,((val*)NULL)) on <var33:nullable MType> */
240 var_other
= ((val
*)NULL
);
242 { /* Inline kernel#Object#is_same_instance (var33,var_other) on <var33:nullable MType(MType)> */
243 var39
= var33
== var_other
;
262 { /* Inline parser_nodes#AAttrPropdef#n_expr (self) on <self:AAttrPropdef> */
263 var42
= self
->attrs
[COLOR_nit__parser_nodes__AAttrPropdef___n_expr
].val
; /* _n_expr on <self:AAttrPropdef> */
269 /* <var_nexpr:nullable AExpr> isa ANewExpr */
270 cltype
= type_nit__ANewExpr
.color
;
271 idtype
= type_nit__ANewExpr
.id
;
272 if(var_nexpr
== NULL
) {
275 if(cltype
>= var_nexpr
->type
->table_size
) {
278 var43
= var_nexpr
->type
->type_table
[cltype
] == idtype
;
283 { /* Inline parser_nodes#ANewExpr#n_type (var_nexpr) on <var_nexpr:nullable AExpr(ANewExpr)> */
284 var46
= var_nexpr
->attrs
[COLOR_nit__parser_nodes__ANewExpr___n_type
].val
; /* _n_type on <var_nexpr:nullable AExpr(ANewExpr)> */
285 if (unlikely(var46
== NULL
)) {
286 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
287 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2255);
295 var47
= nit___nit__ModelBuilder___resolve_mtype(var_modelbuilder
, var_mmodule
, var_mclassdef
, var44
);
298 var48
= 1; /* is null */
300 var48
= 0; /* arg is null but recv is not */
303 { /* Inline kernel#Object#== (var47,((val*)NULL)) on <var47:nullable MType> */
304 var_other
= ((val
*)NULL
);
306 { /* Inline kernel#Object#is_same_instance (var47,var_other) on <var47:nullable MType(MType)> */
307 var53
= var47
== var_other
;
326 var54
= nit___nit__MPropDef___is_intro(var_mpropdef
);
331 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
332 var58
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
333 if (unlikely(var58
== NULL
)) {
334 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
335 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
343 { /* Inline model#MProperty#intro (var56) on <var56:MProperty(MAttribute)> */
344 var61
= var56
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var56:MProperty(MAttribute)> */
345 if (unlikely(var61
== NULL
)) {
346 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
347 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1968);
355 { /* Inline model#MAttributeDef#static_mtype (var59) on <var59:MPropDef(MAttributeDef)> */
356 var64
= var59
->attrs
[COLOR_nit__model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var59:MPropDef(MAttributeDef)> */
361 var_precursor_type
= var62
;
362 if (var_precursor_type
== NULL
) {
363 var65
= 1; /* is null */
365 var65
= 0; /* arg is null but recv is not */
368 { /* Inline kernel#Object#== (var_precursor_type,((val*)NULL)) on <var_precursor_type:nullable MType> */
369 var_other
= ((val
*)NULL
);
371 { /* Inline kernel#Object#is_same_instance (var_precursor_type,var_other) on <var_precursor_type:nullable MType(MType)> */
372 var70
= var_precursor_type
== var_other
;
389 { /* Inline kernel#Object#!= (var_mtype,var_precursor_type) on <var_mtype:nullable MType(MType)> */
390 var_other30
= var_precursor_type
;
392 var73
= ((short int(*)(val
* self
, val
* p0
))(var_mtype
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mtype
, var_other30
); /* == on <var_mtype:nullable MType(MType)>*/
401 if (unlikely(var_ntype
== NULL
)) {
402 PRINT_ERROR("Runtime error: %s", "Cast failed");
403 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 1438);
406 if (unlikely(varonce
==NULL
)) {
407 var75
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
408 if (likely(varonce76
!=NULL
)) {
411 var78
= "Redef Error: expected `";
412 var79
= standard___standard__NativeString___to_s_with_length(var78
, 23l);
416 ((struct instance_standard__NativeArray
*)var75
)->values
[0]=var77
;
417 if (likely(varonce80
!=NULL
)) {
420 var82
= "` type as a bound; got `";
421 var83
= standard___standard__NativeString___to_s_with_length(var82
, 24l);
425 ((struct instance_standard__NativeArray
*)var75
)->values
[2]=var81
;
426 if (likely(varonce84
!=NULL
)) {
430 var87
= standard___standard__NativeString___to_s_with_length(var86
, 2l);
434 ((struct instance_standard__NativeArray
*)var75
)->values
[4]=var85
;
440 var88
= ((val
*(*)(val
* self
))(var_precursor_type
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_precursor_type
); /* to_s on <var_precursor_type:nullable MType(MType)>*/
442 ((struct instance_standard__NativeArray
*)var75
)->values
[1]=var88
;
444 var89
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:nullable MType(MType)>*/
446 ((struct instance_standard__NativeArray
*)var75
)->values
[3]=var89
;
448 var90
= ((val
*(*)(val
* self
))(var75
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var75
); /* native_to_s on <var75:NativeArray[String]>*/
452 nit___nit__ModelBuilder___error(var_modelbuilder
, var_ntype
, var90
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
460 { /* Inline modelize_property#AAttrPropdef#mreadpropdef (self) on <self:AAttrPropdef> */
461 var93
= self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___mreadpropdef
].val
; /* _mreadpropdef on <self:AAttrPropdef> */
467 if (var_meth
== NULL
) {
468 var94
= 0; /* is null */
470 var94
= 1; /* arg is null and recv is not */
473 { /* Inline kernel#Object#!= (var_meth,((val*)NULL)) on <var_meth:nullable MMethodDef> */
474 var_other30
= ((val
*)NULL
);
476 var97
= ((short int(*)(val
* self
, val
* p0
))(var_meth
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_meth
, var_other30
); /* == on <var_meth:nullable MMethodDef(MMethodDef)>*/
487 nit__modelize_property___AAttrPropdef___check_method_signature(self
, var_modelbuilder
, var_meth
); /* Direct call modelize_property#AAttrPropdef#check_method_signature on <self:AAttrPropdef>*/
489 var_node
= var_ntype
;
490 if (var_node
== NULL
) {
491 var99
= 1; /* is null */
493 var99
= 0; /* arg is null but recv is not */
496 { /* Inline kernel#Object#== (var_node,((val*)NULL)) on <var_node:nullable ANode> */
497 var_other
= ((val
*)NULL
);
499 { /* Inline kernel#Object#is_same_instance (var_node,var_other) on <var_node:nullable ANode(ANode)> */
500 var104
= var_node
== var_other
;
503 RET_LABEL103
:(void)0;
508 RET_LABEL101
:(void)0;
517 nit__modelize_property___ModelBuilder___check_visibility(var_modelbuilder
, var_node
, var_mtype
, var_meth
); /* Direct call modelize_property#ModelBuilder#check_visibility on <var_modelbuilder:ModelBuilder>*/
522 { /* Inline modelize_property#AAttrPropdef#mwritepropdef (self) on <self:AAttrPropdef> */
523 var107
= self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___mwritepropdef
].val
; /* _mwritepropdef on <self:AAttrPropdef> */
525 RET_LABEL106
:(void)0;
529 if (var_meth
== NULL
) {
530 var108
= 0; /* is null */
532 var108
= 1; /* arg is null and recv is not */
535 { /* Inline kernel#Object#!= (var_meth,((val*)NULL)) on <var_meth:nullable MMethodDef> */
536 var_other30
= ((val
*)NULL
);
538 var111
= ((short int(*)(val
* self
, val
* p0
))(var_meth
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_meth
, var_other30
); /* == on <var_meth:nullable MMethodDef(MMethodDef)>*/
543 RET_LABEL110
:(void)0;
549 nit__modelize_property___AAttrPropdef___check_method_signature(self
, var_modelbuilder
, var_meth
); /* Direct call modelize_property#AAttrPropdef#check_method_signature on <self:AAttrPropdef>*/
551 var_node113
= var_ntype
;
552 if (var_node113
== NULL
) {
553 var114
= 1; /* is null */
555 var114
= 0; /* arg is null but recv is not */
558 { /* Inline kernel#Object#== (var_node113,((val*)NULL)) on <var_node113:nullable ANode> */
559 var_other
= ((val
*)NULL
);
561 { /* Inline kernel#Object#is_same_instance (var_node113,var_other) on <var_node113:nullable ANode(ANode)> */
562 var119
= var_node113
== var_other
;
565 RET_LABEL118
:(void)0;
570 RET_LABEL116
:(void)0;
579 nit__modelize_property___ModelBuilder___check_visibility(var_modelbuilder
, var_node113
, var_mtype
, var_meth
); /* Direct call modelize_property#ModelBuilder#check_visibility on <var_modelbuilder:ModelBuilder>*/
585 /* method modelize_property#AAttrPropdef#check_method_signature for (self: AAttrPropdef, ModelBuilder, MMethodDef) */
586 void nit__modelize_property___AAttrPropdef___check_method_signature(val
* self
, val
* p0
, val
* p1
) {
587 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
588 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
589 val
* var
/* : MClassDef */;
590 val
* var2
/* : MClassDef */;
591 val
* var_mclassdef
/* var mclassdef: MClassDef */;
592 val
* var3
/* : MModule */;
593 val
* var5
/* : MModule */;
594 val
* var_mmodule
/* var mmodule: MModule */;
595 val
* var6
/* : nullable AType */;
596 val
* var8
/* : nullable AType */;
597 val
* var_nsig
/* var nsig: nullable AType */;
598 val
* var9
/* : nullable MSignature */;
599 val
* var11
/* : nullable MSignature */;
600 val
* var_mysignature
/* var mysignature: nullable MSignature */;
601 short int var12
/* : Bool */;
602 short int var13
/* : Bool */;
603 val
* var_other
/* var other: nullable Object */;
604 short int var15
/* : Bool */;
605 short int var17
/* : Bool */;
606 short int var18
/* : Bool */;
607 short int var19
/* : Bool */;
608 val
* var20
/* : MProperty */;
609 val
* var22
/* : MProperty */;
610 val
* var23
/* : MPropDef */;
611 val
* var25
/* : MPropDef */;
612 val
* var26
/* : nullable MSignature */;
613 val
* var28
/* : nullable MSignature */;
614 val
* var_msignature
/* var msignature: nullable MSignature */;
615 short int var29
/* : Bool */;
616 short int var30
/* : Bool */;
617 short int var32
/* : Bool */;
618 short int var34
/* : Bool */;
619 long var35
/* : Int */;
620 long var36
/* : Int */;
621 short int var37
/* : Bool */;
622 short int var39
/* : Bool */;
623 short int var40
/* : Bool */;
624 short int var41
/* : Bool */;
625 short int var42
/* : Bool */;
626 val
* var_other44
/* var other: nullable Object */;
627 short int var45
/* : Bool */;
628 short int var46
/* : Bool */;
629 val
* var_node
/* var node: ANode */;
630 val
* var47
/* : NativeArray[String] */;
632 static val
* varonce48
;
633 val
* var49
/* : String */;
634 char* var50
/* : NativeString */;
635 val
* var51
/* : FlatString */;
636 static val
* varonce52
;
637 val
* var53
/* : String */;
638 char* var54
/* : NativeString */;
639 val
* var55
/* : FlatString */;
640 static val
* varonce56
;
641 val
* var57
/* : String */;
642 char* var58
/* : NativeString */;
643 val
* var59
/* : FlatString */;
644 static val
* varonce60
;
645 val
* var61
/* : String */;
646 char* var62
/* : NativeString */;
647 val
* var63
/* : FlatString */;
648 static val
* varonce64
;
649 val
* var65
/* : String */;
650 char* var66
/* : NativeString */;
651 val
* var67
/* : FlatString */;
652 long var68
/* : Int */;
653 val
* var69
/* : String */;
654 val
* var70
/* : MProperty */;
655 val
* var72
/* : MProperty */;
656 val
* var73
/* : String */;
657 val
* var75
/* : String */;
658 val
* var76
/* : String */;
659 long var77
/* : Int */;
660 val
* var78
/* : String */;
661 val
* var79
/* : MProperty */;
662 val
* var81
/* : MProperty */;
663 val
* var82
/* : String */;
664 val
* var83
/* : String */;
665 val
* var84
/* : nullable MType */;
666 val
* var86
/* : nullable MType */;
667 val
* var_precursor_ret_type
/* var precursor_ret_type: nullable MType */;
668 val
* var87
/* : nullable MType */;
669 val
* var89
/* : nullable MType */;
670 val
* var_ret_type
/* var ret_type: nullable MType */;
671 short int var90
/* : Bool */;
672 short int var91
/* : Bool */;
673 short int var92
/* : Bool */;
674 short int var94
/* : Bool */;
675 short int var95
/* : Bool */;
676 short int var_
/* var : Bool */;
677 short int var96
/* : Bool */;
678 short int var97
/* : Bool */;
679 short int var99
/* : Bool */;
680 short int var101
/* : Bool */;
681 short int var102
/* : Bool */;
682 short int var103
/* : Bool */;
683 short int var105
/* : Bool */;
684 short int var106
/* : Bool */;
685 val
* var_node107
/* var node: ANode */;
686 val
* var109
/* : NativeArray[String] */;
687 static val
* varonce108
;
688 static val
* varonce110
;
689 val
* var111
/* : String */;
690 char* var112
/* : NativeString */;
691 val
* var113
/* : FlatString */;
692 static val
* varonce114
;
693 val
* var115
/* : String */;
694 char* var116
/* : NativeString */;
695 val
* var117
/* : FlatString */;
696 val
* var118
/* : MProperty */;
697 val
* var120
/* : MProperty */;
698 val
* var121
/* : String */;
699 val
* var122
/* : String */;
700 long var123
/* : Int */;
701 short int var124
/* : Bool */;
702 short int var126
/* : Bool */;
705 const char* var_class_name
;
706 short int var127
/* : Bool */;
707 long var_i
/* var i: Int */;
708 long var128
/* : Int */;
709 long var_129
/* var : Int */;
710 short int var130
/* : Bool */;
711 short int var132
/* : Bool */;
714 const char* var_class_name135
;
715 short int var136
/* : Bool */;
716 val
* var137
/* : Array[MParameter] */;
717 val
* var139
/* : Array[MParameter] */;
718 val
* var140
/* : nullable Object */;
719 val
* var141
/* : MType */;
720 val
* var143
/* : MType */;
721 val
* var_myt
/* var myt: MType */;
722 val
* var144
/* : Array[MParameter] */;
723 val
* var146
/* : Array[MParameter] */;
724 val
* var147
/* : nullable Object */;
725 val
* var148
/* : MType */;
726 val
* var150
/* : MType */;
727 val
* var_prt
/* var prt: MType */;
728 short int var151
/* : Bool */;
729 short int var152
/* : Bool */;
730 short int var154
/* : Bool */;
731 short int var155
/* : Bool */;
732 val
* var_node156
/* var node: ANode */;
733 val
* var157
/* : MClassType */;
734 val
* var159
/* : MClassType */;
735 short int var160
/* : Bool */;
736 short int var161
/* : Bool */;
737 val
* var163
/* : NativeArray[String] */;
738 static val
* varonce162
;
739 static val
* varonce164
;
740 val
* var165
/* : String */;
741 char* var166
/* : NativeString */;
742 val
* var167
/* : FlatString */;
743 static val
* varonce168
;
744 val
* var169
/* : String */;
745 char* var170
/* : NativeString */;
746 val
* var171
/* : FlatString */;
747 static val
* varonce172
;
748 val
* var173
/* : String */;
749 char* var174
/* : NativeString */;
750 val
* var175
/* : FlatString */;
751 static val
* varonce176
;
752 val
* var177
/* : String */;
753 char* var178
/* : NativeString */;
754 val
* var179
/* : FlatString */;
755 val
* var180
/* : String */;
756 val
* var181
/* : Array[MParameter] */;
757 val
* var183
/* : Array[MParameter] */;
758 val
* var184
/* : nullable Object */;
759 val
* var185
/* : String */;
760 val
* var187
/* : String */;
761 val
* var188
/* : String */;
762 val
* var189
/* : String */;
763 long var190
/* : Int */;
764 short int var191
/* : Bool */;
765 short int var192
/* : Bool */;
766 short int var194
/* : Bool */;
767 short int var195
/* : Bool */;
768 short int var196
/* : Bool */;
769 short int var197
/* : Bool */;
770 short int var199
/* : Bool */;
771 short int var200
/* : Bool */;
772 val
* var_node201
/* var node: ANode */;
773 short int var202
/* : Bool */;
774 short int var203
/* : Bool */;
775 short int var205
/* : Bool */;
776 short int var207
/* : Bool */;
777 val
* var208
/* : MClassType */;
778 val
* var210
/* : MClassType */;
779 short int var211
/* : Bool */;
780 short int var212
/* : Bool */;
781 val
* var214
/* : NativeArray[String] */;
782 static val
* varonce213
;
783 static val
* varonce215
;
784 val
* var216
/* : String */;
785 char* var217
/* : NativeString */;
786 val
* var218
/* : FlatString */;
787 static val
* varonce219
;
788 val
* var220
/* : String */;
789 char* var221
/* : NativeString */;
790 val
* var222
/* : FlatString */;
791 static val
* varonce223
;
792 val
* var224
/* : String */;
793 char* var225
/* : NativeString */;
794 val
* var226
/* : FlatString */;
795 val
* var227
/* : String */;
796 val
* var228
/* : String */;
797 val
* var229
/* : String */;
798 var_modelbuilder
= p0
;
801 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
802 var2
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
803 if (unlikely(var2
== NULL
)) {
804 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
805 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
814 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
815 var5
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
816 if (unlikely(var5
== NULL
)) {
817 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
818 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
827 { /* Inline parser_nodes#AAttrPropdef#n_type (self) on <self:AAttrPropdef> */
828 var8
= self
->attrs
[COLOR_nit__parser_nodes__AAttrPropdef___n_type
].val
; /* _n_type on <self:AAttrPropdef> */
835 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
836 var11
= var_mpropdef
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:MMethodDef> */
841 var_mysignature
= var9
;
842 if (var_mysignature
== NULL
) {
843 var12
= 1; /* is null */
845 var12
= 0; /* arg is null but recv is not */
848 { /* Inline kernel#Object#== (var_mysignature,((val*)NULL)) on <var_mysignature:nullable MSignature> */
849 var_other
= ((val
*)NULL
);
851 { /* Inline kernel#Object#is_same_instance (var_mysignature,var_other) on <var_mysignature:nullable MSignature(MSignature)> */
852 var17
= var_mysignature
== var_other
;
869 var18
= nit___nit__MPropDef___is_intro(var_mpropdef
);
874 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
875 var22
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
876 if (unlikely(var22
== NULL
)) {
877 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
878 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
886 { /* Inline model#MProperty#intro (var20) on <var20:MProperty(MMethod)> */
887 var25
= var20
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var20:MProperty(MMethod)> */
888 if (unlikely(var25
== NULL
)) {
889 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
890 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1968);
898 { /* Inline model#MMethodDef#msignature (var23) on <var23:MPropDef(MMethodDef)> */
899 var28
= var23
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var23:MPropDef(MMethodDef)> */
904 var_msignature
= var26
;
905 if (var_msignature
== NULL
) {
906 var29
= 1; /* is null */
908 var29
= 0; /* arg is null but recv is not */
911 { /* Inline kernel#Object#== (var_msignature,((val*)NULL)) on <var_msignature:nullable MSignature> */
912 var_other
= ((val
*)NULL
);
914 { /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on <var_msignature:nullable MSignature(MSignature)> */
915 var34
= var_msignature
== var_other
;
932 var35
= nit___nit__MSignature___arity(var_mysignature
);
935 var36
= nit___nit__MSignature___arity(var_msignature
);
938 { /* Inline kernel#Int#!= (var35,var36) on <var35:Int> */
939 var39
= var35
== var36
;
947 if (var_nsig
== NULL
) {
948 var41
= 0; /* is null */
950 var41
= 1; /* arg is null and recv is not */
953 { /* Inline kernel#Object#!= (var_nsig,((val*)NULL)) on <var_nsig:nullable AType> */
954 var_other44
= ((val
*)NULL
);
956 var45
= ((short int(*)(val
* self
, val
* p0
))(var_nsig
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nsig
, var_other44
); /* == on <var_nsig:nullable AType(AType)>*/
970 if (unlikely(varonce
==NULL
)) {
971 var47
= NEW_standard__NativeArray(10l, &type_standard__NativeArray__standard__String
);
972 if (likely(varonce48
!=NULL
)) {
975 var50
= "Redef Error: expected ";
976 var51
= standard___standard__NativeString___to_s_with_length(var50
, 22l);
980 ((struct instance_standard__NativeArray
*)var47
)->values
[0]=var49
;
981 if (likely(varonce52
!=NULL
)) {
984 var54
= " parameter(s) for `";
985 var55
= standard___standard__NativeString___to_s_with_length(var54
, 19l);
989 ((struct instance_standard__NativeArray
*)var47
)->values
[2]=var53
;
990 if (likely(varonce56
!=NULL
)) {
994 var59
= standard___standard__NativeString___to_s_with_length(var58
, 7l);
998 ((struct instance_standard__NativeArray
*)var47
)->values
[5]=var57
;
999 if (likely(varonce60
!=NULL
)) {
1002 var62
= ". See introduction at `";
1003 var63
= standard___standard__NativeString___to_s_with_length(var62
, 23l);
1007 ((struct instance_standard__NativeArray
*)var47
)->values
[7]=var61
;
1008 if (likely(varonce64
!=NULL
)) {
1012 var67
= standard___standard__NativeString___to_s_with_length(var66
, 2l);
1016 ((struct instance_standard__NativeArray
*)var47
)->values
[9]=var65
;
1022 var68
= nit___nit__MSignature___arity(var_msignature
);
1024 var69
= standard__string___Int___Object__to_s(var68
);
1025 ((struct instance_standard__NativeArray
*)var47
)->values
[1]=var69
;
1027 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
1028 var72
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
1029 if (unlikely(var72
== NULL
)) {
1030 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1031 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
1035 RET_LABEL71
:(void)0;
1039 { /* Inline model#MProperty#name (var70) on <var70:MProperty(MMethod)> */
1040 var75
= var70
->attrs
[COLOR_nit__model__MProperty___name
].val
; /* _name on <var70:MProperty(MMethod)> */
1041 if (unlikely(var75
== NULL
)) {
1042 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1043 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1933);
1047 RET_LABEL74
:(void)0;
1050 ((struct instance_standard__NativeArray
*)var47
)->values
[3]=var73
;
1052 var76
= ((val
*(*)(val
* self
))(var_msignature
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_msignature
); /* to_s on <var_msignature:nullable MSignature(MSignature)>*/
1054 ((struct instance_standard__NativeArray
*)var47
)->values
[4]=var76
;
1056 var77
= nit___nit__MSignature___arity(var_mysignature
);
1058 var78
= standard__string___Int___Object__to_s(var77
);
1059 ((struct instance_standard__NativeArray
*)var47
)->values
[6]=var78
;
1061 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
1062 var81
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
1063 if (unlikely(var81
== NULL
)) {
1064 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1065 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
1069 RET_LABEL80
:(void)0;
1073 var82
= nit___nit__MProperty___nit__model_base__MEntity__full_name(var79
);
1075 ((struct instance_standard__NativeArray
*)var47
)->values
[8]=var82
;
1077 var83
= ((val
*(*)(val
* self
))(var47
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var47
); /* native_to_s on <var47:NativeArray[String]>*/
1081 nit___nit__ModelBuilder___error(var_modelbuilder
, var_node
, var83
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
1087 { /* Inline model#MSignature#return_mtype (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
1088 var86
= var_msignature
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var_msignature:nullable MSignature(MSignature)> */
1090 RET_LABEL85
:(void)0;
1093 var_precursor_ret_type
= var84
;
1095 { /* Inline model#MSignature#return_mtype (var_mysignature) on <var_mysignature:nullable MSignature(MSignature)> */
1096 var89
= var_mysignature
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var_mysignature:nullable MSignature(MSignature)> */
1098 RET_LABEL88
:(void)0;
1101 var_ret_type
= var87
;
1102 if (var_ret_type
== NULL
) {
1103 var91
= 0; /* is null */
1105 var91
= 1; /* arg is null and recv is not */
1108 { /* Inline kernel#Object#!= (var_ret_type,((val*)NULL)) on <var_ret_type:nullable MType> */
1109 var_other44
= ((val
*)NULL
);
1111 var94
= ((short int(*)(val
* self
, val
* p0
))(var_ret_type
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ret_type
, var_other44
); /* == on <var_ret_type:nullable MType(MType)>*/
1116 RET_LABEL93
:(void)0;
1122 if (var_precursor_ret_type
== NULL
) {
1123 var96
= 1; /* is null */
1125 var96
= 0; /* arg is null but recv is not */
1128 { /* Inline kernel#Object#== (var_precursor_ret_type,((val*)NULL)) on <var_precursor_ret_type:nullable MType> */
1129 var_other
= ((val
*)NULL
);
1131 { /* Inline kernel#Object#is_same_instance (var_precursor_ret_type,var_other) on <var_precursor_ret_type:nullable MType(MType)> */
1132 var101
= var_precursor_ret_type
== var_other
;
1135 RET_LABEL100
:(void)0;
1140 RET_LABEL98
:(void)0;
1149 if (var_nsig
== NULL
) {
1150 var102
= 0; /* is null */
1152 var102
= 1; /* arg is null and recv is not */
1155 { /* Inline kernel#Object#!= (var_nsig,((val*)NULL)) on <var_nsig:nullable AType> */
1156 var_other44
= ((val
*)NULL
);
1158 var105
= ((short int(*)(val
* self
, val
* p0
))(var_nsig
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nsig
, var_other44
); /* == on <var_nsig:nullable AType(AType)>*/
1163 RET_LABEL104
:(void)0;
1168 var_node107
= var_nsig
;
1172 if (unlikely(varonce108
==NULL
)) {
1173 var109
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1174 if (likely(varonce110
!=NULL
)) {
1175 var111
= varonce110
;
1177 var112
= "Redef Error: `";
1178 var113
= standard___standard__NativeString___to_s_with_length(var112
, 14l);
1180 varonce110
= var111
;
1182 ((struct instance_standard__NativeArray
*)var109
)->values
[0]=var111
;
1183 if (likely(varonce114
!=NULL
)) {
1184 var115
= varonce114
;
1186 var116
= "` is a procedure, not a function.";
1187 var117
= standard___standard__NativeString___to_s_with_length(var116
, 33l);
1189 varonce114
= var115
;
1191 ((struct instance_standard__NativeArray
*)var109
)->values
[2]=var115
;
1193 var109
= varonce108
;
1197 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
1198 var120
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
1199 if (unlikely(var120
== NULL
)) {
1200 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1201 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
1205 RET_LABEL119
:(void)0;
1209 var121
= ((val
*(*)(val
* self
))(var118
->class->vft
[COLOR_standard__string__Object__to_s
]))(var118
); /* to_s on <var118:MProperty(MMethod)>*/
1211 ((struct instance_standard__NativeArray
*)var109
)->values
[1]=var121
;
1213 var122
= ((val
*(*)(val
* self
))(var109
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var109
); /* native_to_s on <var109:NativeArray[String]>*/
1215 varonce108
= var109
;
1217 nit___nit__ModelBuilder___error(var_modelbuilder
, var_node107
, var122
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
1223 var123
= nit___nit__MSignature___arity(var_mysignature
);
1226 { /* Inline kernel#Int#> (var123,0l) on <var123:Int> */
1227 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
1228 /* <0l:Int> isa OTHER */
1229 var126
= 1; /* easy <0l:Int> isa OTHER*/
1230 if (unlikely(!var126
)) {
1231 var_class_name
= type_standard__Int
.name
;
1232 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1233 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 536);
1236 var127
= var123
> 0l;
1239 RET_LABEL125
:(void)0;
1245 var128
= nit___nit__MSignature___arity(var_mysignature
);
1250 { /* Inline kernel#Int#< (var_i,var_129) on <var_i:Int> */
1251 /* Covariant cast for argument 0 (i) <var_129:Int> isa OTHER */
1252 /* <var_129:Int> isa OTHER */
1253 var132
= 1; /* easy <var_129:Int> isa OTHER*/
1254 if (unlikely(!var132
)) {
1255 var_class_name135
= type_standard__Int
.name
;
1256 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name135
);
1257 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
1260 var136
= var_i
< var_129
;
1263 RET_LABEL131
:(void)0;
1268 { /* Inline model#MSignature#mparameters (var_mysignature) on <var_mysignature:nullable MSignature(MSignature)> */
1269 var139
= var_mysignature
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var_mysignature:nullable MSignature(MSignature)> */
1270 if (unlikely(var139
== NULL
)) {
1271 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
1272 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1756);
1276 RET_LABEL138
:(void)0;
1280 var140
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var137
, var_i
);
1283 { /* Inline model#MParameter#mtype (var140) on <var140:nullable Object(MParameter)> */
1284 var143
= var140
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var140:nullable Object(MParameter)> */
1285 if (unlikely(var143
== NULL
)) {
1286 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1287 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1879);
1291 RET_LABEL142
:(void)0;
1296 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
1297 var146
= var_msignature
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:nullable MSignature(MSignature)> */
1298 if (unlikely(var146
== NULL
)) {
1299 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
1300 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1756);
1304 RET_LABEL145
:(void)0;
1308 var147
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var144
, var_i
);
1311 { /* Inline model#MParameter#mtype (var147) on <var147:nullable Object(MParameter)> */
1312 var150
= var147
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var147:nullable Object(MParameter)> */
1313 if (unlikely(var150
== NULL
)) {
1314 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1315 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1879);
1319 RET_LABEL149
:(void)0;
1323 if (var_nsig
== NULL
) {
1324 var151
= 0; /* is null */
1326 var151
= 1; /* arg is null and recv is not */
1329 { /* Inline kernel#Object#!= (var_nsig,((val*)NULL)) on <var_nsig:nullable AType> */
1330 var_other44
= ((val
*)NULL
);
1332 var154
= ((short int(*)(val
* self
, val
* p0
))(var_nsig
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nsig
, var_other44
); /* == on <var_nsig:nullable AType(AType)>*/
1337 RET_LABEL153
:(void)0;
1342 var_node156
= var_nsig
;
1347 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
1348 var159
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
1349 if (unlikely(var159
== NULL
)) {
1350 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1351 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
1355 RET_LABEL158
:(void)0;
1359 var160
= nit___nit__ModelBuilder___check_sametype(var_modelbuilder
, var_node156
, var_mmodule
, var157
, var_myt
, var_prt
);
1363 if (unlikely(varonce162
==NULL
)) {
1364 var163
= NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String
);
1365 if (likely(varonce164
!=NULL
)) {
1366 var165
= varonce164
;
1368 var166
= "Redef Error: expected `";
1369 var167
= standard___standard__NativeString___to_s_with_length(var166
, 23l);
1371 varonce164
= var165
;
1373 ((struct instance_standard__NativeArray
*)var163
)->values
[0]=var165
;
1374 if (likely(varonce168
!=NULL
)) {
1375 var169
= varonce168
;
1377 var170
= "` type for parameter `";
1378 var171
= standard___standard__NativeString___to_s_with_length(var170
, 22l);
1380 varonce168
= var169
;
1382 ((struct instance_standard__NativeArray
*)var163
)->values
[2]=var169
;
1383 if (likely(varonce172
!=NULL
)) {
1384 var173
= varonce172
;
1386 var174
= "\'; got `";
1387 var175
= standard___standard__NativeString___to_s_with_length(var174
, 8l);
1389 varonce172
= var173
;
1391 ((struct instance_standard__NativeArray
*)var163
)->values
[4]=var173
;
1392 if (likely(varonce176
!=NULL
)) {
1393 var177
= varonce176
;
1396 var179
= standard___standard__NativeString___to_s_with_length(var178
, 2l);
1398 varonce176
= var177
;
1400 ((struct instance_standard__NativeArray
*)var163
)->values
[6]=var177
;
1402 var163
= varonce162
;
1406 var180
= ((val
*(*)(val
* self
))(var_prt
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_prt
); /* to_s on <var_prt:MType>*/
1408 ((struct instance_standard__NativeArray
*)var163
)->values
[1]=var180
;
1410 { /* Inline model#MSignature#mparameters (var_mysignature) on <var_mysignature:nullable MSignature(MSignature)> */
1411 var183
= var_mysignature
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var_mysignature:nullable MSignature(MSignature)> */
1412 if (unlikely(var183
== NULL
)) {
1413 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
1414 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1756);
1418 RET_LABEL182
:(void)0;
1422 var184
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var181
, var_i
);
1425 { /* Inline model#MParameter#name (var184) on <var184:nullable Object(MParameter)> */
1426 var187
= var184
->attrs
[COLOR_nit__model__MParameter___name
].val
; /* _name on <var184:nullable Object(MParameter)> */
1427 if (unlikely(var187
== NULL
)) {
1428 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1429 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1876);
1433 RET_LABEL186
:(void)0;
1436 ((struct instance_standard__NativeArray
*)var163
)->values
[3]=var185
;
1438 var188
= ((val
*(*)(val
* self
))(var_myt
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_myt
); /* to_s on <var_myt:MType>*/
1440 ((struct instance_standard__NativeArray
*)var163
)->values
[5]=var188
;
1442 var189
= ((val
*(*)(val
* self
))(var163
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var163
); /* native_to_s on <var163:NativeArray[String]>*/
1444 varonce162
= var163
;
1446 nit___nit__ModelBuilder___error(var_modelbuilder
, var_node156
, var189
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
1451 var190
= standard___standard__Int___Discrete__successor(var_i
, 1l);
1458 BREAK_label
: (void)0;
1461 if (var_precursor_ret_type
== NULL
) {
1462 var191
= 0; /* is null */
1464 var191
= 1; /* arg is null and recv is not */
1467 { /* Inline kernel#Object#!= (var_precursor_ret_type,((val*)NULL)) on <var_precursor_ret_type:nullable MType> */
1468 var_other44
= ((val
*)NULL
);
1470 var194
= ((short int(*)(val
* self
, val
* p0
))(var_precursor_ret_type
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_precursor_ret_type
, var_other44
); /* == on <var_precursor_ret_type:nullable MType(MType)>*/
1475 RET_LABEL193
:(void)0;
1480 if (var_nsig
== NULL
) {
1481 var196
= 0; /* is null */
1483 var196
= 1; /* arg is null and recv is not */
1486 { /* Inline kernel#Object#!= (var_nsig,((val*)NULL)) on <var_nsig:nullable AType> */
1487 var_other44
= ((val
*)NULL
);
1489 var199
= ((short int(*)(val
* self
, val
* p0
))(var_nsig
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nsig
, var_other44
); /* == on <var_nsig:nullable AType(AType)>*/
1494 RET_LABEL198
:(void)0;
1499 var_node201
= var_nsig
;
1503 if (var_ret_type
== NULL
) {
1504 var202
= 1; /* is null */
1506 var202
= 0; /* arg is null but recv is not */
1509 { /* Inline kernel#Object#== (var_ret_type,((val*)NULL)) on <var_ret_type:nullable MType> */
1510 var_other
= ((val
*)NULL
);
1512 { /* Inline kernel#Object#is_same_instance (var_ret_type,var_other) on <var_ret_type:nullable MType(MType)> */
1513 var207
= var_ret_type
== var_other
;
1516 RET_LABEL206
:(void)0;
1521 RET_LABEL204
:(void)0;
1526 var_ret_type
= var_precursor_ret_type
;
1529 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
1530 var210
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
1531 if (unlikely(var210
== NULL
)) {
1532 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1533 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
1537 RET_LABEL209
:(void)0;
1541 var211
= nit___nit__ModelBuilder___check_subtype(var_modelbuilder
, var_node201
, var_mmodule
, var208
, var_ret_type
, var_precursor_ret_type
);
1545 if (unlikely(varonce213
==NULL
)) {
1546 var214
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
1547 if (likely(varonce215
!=NULL
)) {
1548 var216
= varonce215
;
1550 var217
= "Redef Error: expected `";
1551 var218
= standard___standard__NativeString___to_s_with_length(var217
, 23l);
1553 varonce215
= var216
;
1555 ((struct instance_standard__NativeArray
*)var214
)->values
[0]=var216
;
1556 if (likely(varonce219
!=NULL
)) {
1557 var220
= varonce219
;
1559 var221
= "` return type; got `";
1560 var222
= standard___standard__NativeString___to_s_with_length(var221
, 20l);
1562 varonce219
= var220
;
1564 ((struct instance_standard__NativeArray
*)var214
)->values
[2]=var220
;
1565 if (likely(varonce223
!=NULL
)) {
1566 var224
= varonce223
;
1569 var226
= standard___standard__NativeString___to_s_with_length(var225
, 2l);
1571 varonce223
= var224
;
1573 ((struct instance_standard__NativeArray
*)var214
)->values
[4]=var224
;
1575 var214
= varonce213
;
1579 var227
= ((val
*(*)(val
* self
))(var_precursor_ret_type
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_precursor_ret_type
); /* to_s on <var_precursor_ret_type:nullable MType(MType)>*/
1581 ((struct instance_standard__NativeArray
*)var214
)->values
[1]=var227
;
1583 var228
= ((val
*(*)(val
* self
))(var_ret_type
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_ret_type
); /* to_s on <var_ret_type:nullable MType(MType)>*/
1585 ((struct instance_standard__NativeArray
*)var214
)->values
[3]=var228
;
1587 var229
= ((val
*(*)(val
* self
))(var214
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var214
); /* native_to_s on <var214:NativeArray[String]>*/
1589 varonce213
= var214
;
1591 nit___nit__ModelBuilder___error(var_modelbuilder
, var_node201
, var229
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
1602 /* method modelize_property#AAttrPropdef#check_repeated_types for (self: AAttrPropdef, ModelBuilder) */
1603 void nit__modelize_property___AAttrPropdef___APropdef__check_repeated_types(val
* self
, val
* p0
) {
1604 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
1605 short int var
/* : Bool */;
1606 val
* var1
/* : nullable MMethodDef */;
1607 val
* var3
/* : nullable MMethodDef */;
1608 short int var4
/* : Bool */;
1609 short int var_
/* var : Bool */;
1610 val
* var5
/* : nullable AType */;
1611 val
* var7
/* : nullable AType */;
1612 short int var8
/* : Bool */;
1613 short int var9
/* : Bool */;
1614 val
* var_other
/* var other: nullable Object */;
1615 short int var11
/* : Bool */;
1616 short int var13
/* : Bool */;
1617 val
* var14
/* : nullable MMethodDef */;
1618 val
* var16
/* : nullable MMethodDef */;
1619 val
* var17
/* : MProperty */;
1620 val
* var19
/* : MProperty */;
1621 val
* var20
/* : MPropDef */;
1622 val
* var22
/* : MPropDef */;
1623 val
* var_intro
/* var intro: MMethodDef */;
1624 val
* var23
/* : HashMap[MPropDef, APropdef] */;
1625 val
* var25
/* : HashMap[MPropDef, APropdef] */;
1626 val
* var26
/* : nullable Object */;
1627 val
* var_n_intro
/* var n_intro: nullable APropdef */;
1628 short int var27
/* : Bool */;
1629 short int var28
/* : Bool */;
1630 short int var30
/* : Bool */;
1631 short int var32
/* : Bool */;
1632 val
* var_ntype
/* var ntype: nullable Object */;
1633 short int var33
/* : Bool */;
1636 val
* var34
/* : nullable ASignature */;
1637 val
* var36
/* : nullable ASignature */;
1638 val
* var37
/* : nullable MType */;
1639 val
* var39
/* : nullable MType */;
1640 short int var40
/* : Bool */;
1641 short int var41
/* : Bool */;
1644 short int var_44
/* var : Bool */;
1645 val
* var45
/* : nullable AType */;
1646 val
* var47
/* : nullable AType */;
1647 short int var48
/* : Bool */;
1648 short int var49
/* : Bool */;
1649 val
* var_other51
/* var other: nullable Object */;
1650 short int var52
/* : Bool */;
1651 short int var53
/* : Bool */;
1652 val
* var54
/* : nullable AType */;
1653 val
* var56
/* : nullable AType */;
1654 val
* var57
/* : nullable MType */;
1655 val
* var59
/* : nullable MType */;
1656 short int var60
/* : Bool */;
1657 short int var61
/* : Bool */;
1658 short int var62
/* : Bool */;
1659 short int var64
/* : Bool */;
1660 short int var66
/* : Bool */;
1661 short int var_67
/* var : Bool */;
1662 val
* var68
/* : nullable AType */;
1663 val
* var70
/* : nullable AType */;
1664 val
* var71
/* : nullable MType */;
1665 val
* var73
/* : nullable MType */;
1666 short int var74
/* : Bool */;
1667 short int var76
/* : Bool */;
1668 short int var77
/* : Bool */;
1669 val
* var78
/* : nullable AType */;
1670 val
* var80
/* : nullable AType */;
1671 static val
* varonce
;
1672 val
* var81
/* : String */;
1673 char* var82
/* : NativeString */;
1674 val
* var83
/* : FlatString */;
1675 val
* var85
/* : NativeArray[String] */;
1676 static val
* varonce84
;
1677 static val
* varonce86
;
1678 val
* var87
/* : String */;
1679 char* var88
/* : NativeString */;
1680 val
* var89
/* : FlatString */;
1681 static val
* varonce90
;
1682 val
* var91
/* : String */;
1683 char* var92
/* : NativeString */;
1684 val
* var93
/* : FlatString */;
1685 val
* var94
/* : nullable MPropDef */;
1686 val
* var96
/* : nullable MPropDef */;
1687 val
* var97
/* : String */;
1688 val
* var98
/* : String */;
1689 var_modelbuilder
= p0
;
1691 { /* Inline modelize_property#AAttrPropdef#mreadpropdef (self) on <self:AAttrPropdef> */
1692 var3
= self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___mreadpropdef
].val
; /* _mreadpropdef on <self:AAttrPropdef> */
1698 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1699 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 1516);
1702 var4
= nit___nit__MPropDef___is_intro(var1
);
1709 { /* Inline parser_nodes#AAttrPropdef#n_type (self) on <self:AAttrPropdef> */
1710 var7
= self
->attrs
[COLOR_nit__parser_nodes__AAttrPropdef___n_type
].val
; /* _n_type on <self:AAttrPropdef> */
1716 var8
= 1; /* is null */
1718 var8
= 0; /* arg is null but recv is not */
1721 { /* Inline kernel#Object#== (var5,((val*)NULL)) on <var5:nullable AType> */
1722 var_other
= ((val
*)NULL
);
1724 { /* Inline kernel#Object#is_same_instance (var5,var_other) on <var5:nullable AType(AType)> */
1725 var13
= var5
== var_other
;
1728 RET_LABEL12
:(void)0;
1733 RET_LABEL10
:(void)0;
1744 { /* Inline modelize_property#AAttrPropdef#mreadpropdef (self) on <self:AAttrPropdef> */
1745 var16
= self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___mreadpropdef
].val
; /* _mreadpropdef on <self:AAttrPropdef> */
1747 RET_LABEL15
:(void)0;
1750 if (var14
== NULL
) {
1751 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1752 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 1518);
1755 { /* Inline model#MPropDef#mproperty (var14) on <var14:nullable MMethodDef> */
1756 if (unlikely(var14
== NULL
)) {
1757 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1758 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
1761 var19
= var14
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var14:nullable MMethodDef> */
1762 if (unlikely(var19
== NULL
)) {
1763 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1764 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
1768 RET_LABEL18
:(void)0;
1772 { /* Inline model#MProperty#intro (var17) on <var17:MProperty(MMethod)> */
1773 var22
= var17
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var17:MProperty(MMethod)> */
1774 if (unlikely(var22
== NULL
)) {
1775 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
1776 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1968);
1780 RET_LABEL21
:(void)0;
1785 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
1786 var25
= var_modelbuilder
->attrs
[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
1787 if (unlikely(var25
== NULL
)) {
1788 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
1789 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 40);
1793 RET_LABEL24
:(void)0;
1797 var26
= standard___standard__HashMap___standard__abstract_collection__MapRead__get_or_null(var23
, var_intro
);
1799 var_n_intro
= var26
;
1800 if (var_n_intro
== NULL
) {
1801 var27
= 1; /* is null */
1803 var27
= 0; /* arg is null but recv is not */
1806 { /* Inline kernel#Object#== (var_n_intro,((val*)NULL)) on <var_n_intro:nullable APropdef> */
1807 var_other
= ((val
*)NULL
);
1809 { /* Inline kernel#Object#is_same_instance (var_n_intro,var_other) on <var_n_intro:nullable APropdef(APropdef)> */
1810 var32
= var_n_intro
== var_other
;
1813 RET_LABEL31
:(void)0;
1818 RET_LABEL29
:(void)0;
1826 var_ntype
= ((val
*)NULL
);
1827 /* <var_n_intro:nullable APropdef(APropdef)> isa AMethPropdef */
1828 cltype
= type_nit__AMethPropdef
.color
;
1829 idtype
= type_nit__AMethPropdef
.id
;
1830 if(cltype
>= var_n_intro
->type
->table_size
) {
1833 var33
= var_n_intro
->type
->type_table
[cltype
] == idtype
;
1837 { /* Inline parser_nodes#AMethPropdef#n_signature (var_n_intro) on <var_n_intro:nullable APropdef(AMethPropdef)> */
1838 var36
= var_n_intro
->attrs
[COLOR_nit__parser_nodes__AMethPropdef___n_signature
].val
; /* _n_signature on <var_n_intro:nullable APropdef(AMethPropdef)> */
1840 RET_LABEL35
:(void)0;
1843 if (var34
== NULL
) {
1844 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1845 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 1524);
1848 { /* Inline modelize_property#ASignature#ret_type (var34) on <var34:nullable ASignature> */
1849 if (unlikely(var34
== NULL
)) {
1850 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1851 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 669);
1854 var39
= var34
->attrs
[COLOR_nit__modelize_property__ASignature___ret_type
].val
; /* _ret_type on <var34:nullable ASignature> */
1856 RET_LABEL38
:(void)0;
1861 /* <var_n_intro:nullable APropdef(APropdef)> isa AAttrPropdef */
1862 cltype42
= type_nit__AAttrPropdef
.color
;
1863 idtype43
= type_nit__AAttrPropdef
.id
;
1864 if(cltype42
>= var_n_intro
->type
->table_size
) {
1867 var41
= var_n_intro
->type
->type_table
[cltype42
] == idtype43
;
1872 { /* Inline parser_nodes#AAttrPropdef#n_type (var_n_intro) on <var_n_intro:nullable APropdef(AAttrPropdef)> */
1873 var47
= var_n_intro
->attrs
[COLOR_nit__parser_nodes__AAttrPropdef___n_type
].val
; /* _n_type on <var_n_intro:nullable APropdef(AAttrPropdef)> */
1875 RET_LABEL46
:(void)0;
1878 if (var45
== NULL
) {
1879 var48
= 0; /* is null */
1881 var48
= 1; /* arg is null and recv is not */
1884 { /* Inline kernel#Object#!= (var45,((val*)NULL)) on <var45:nullable AType> */
1885 var_other51
= ((val
*)NULL
);
1887 var52
= ((short int(*)(val
* self
, val
* p0
))(var45
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var45
, var_other51
); /* == on <var45:nullable AType(AType)>*/
1892 RET_LABEL50
:(void)0;
1902 { /* Inline parser_nodes#AAttrPropdef#n_type (var_n_intro) on <var_n_intro:nullable APropdef(AAttrPropdef)> */
1903 var56
= var_n_intro
->attrs
[COLOR_nit__parser_nodes__AAttrPropdef___n_type
].val
; /* _n_type on <var_n_intro:nullable APropdef(AAttrPropdef)> */
1905 RET_LABEL55
:(void)0;
1908 if (var54
== NULL
) {
1909 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1910 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 1526);
1913 { /* Inline modelbuilder_base#AType#mtype (var54) on <var54:nullable AType> */
1914 if (unlikely(var54
== NULL
)) {
1915 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1916 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 358);
1919 var59
= var54
->attrs
[COLOR_nit__modelbuilder_base__AType___mtype
].val
; /* _mtype on <var54:nullable AType> */
1921 RET_LABEL58
:(void)0;
1928 if (var_ntype
== NULL
) {
1929 var61
= 1; /* is null */
1931 var61
= 0; /* arg is null but recv is not */
1934 { /* Inline kernel#Object#== (var_ntype,((val*)NULL)) on <var_ntype:nullable Object(nullable MType)> */
1935 var_other
= ((val
*)NULL
);
1937 { /* Inline kernel#Object#is_same_instance (var_ntype,var_other) on <var_ntype:nullable MType(MType)> */
1938 var66
= var_ntype
== var_other
;
1941 RET_LABEL65
:(void)0;
1946 RET_LABEL63
:(void)0;
1955 { /* Inline parser_nodes#AAttrPropdef#n_type (self) on <self:AAttrPropdef> */
1956 var70
= self
->attrs
[COLOR_nit__parser_nodes__AAttrPropdef___n_type
].val
; /* _n_type on <self:AAttrPropdef> */
1958 RET_LABEL69
:(void)0;
1961 if (var68
== NULL
) {
1962 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1963 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 1529);
1966 { /* Inline modelbuilder_base#AType#mtype (var68) on <var68:nullable AType> */
1967 if (unlikely(var68
== NULL
)) {
1968 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1969 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 358);
1972 var73
= var68
->attrs
[COLOR_nit__modelbuilder_base__AType___mtype
].val
; /* _mtype on <var68:nullable AType> */
1974 RET_LABEL72
:(void)0;
1978 { /* Inline kernel#Object#!= (var_ntype,var71) on <var_ntype:nullable Object(MType)> */
1979 var_other51
= var71
;
1981 var76
= ((short int(*)(val
* self
, val
* p0
))(var_ntype
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ntype
, var_other51
); /* == on <var_ntype:nullable Object(MType)>*/
1986 RET_LABEL75
:(void)0;
1996 { /* Inline parser_nodes#AAttrPropdef#n_type (self) on <self:AAttrPropdef> */
1997 var80
= self
->attrs
[COLOR_nit__parser_nodes__AAttrPropdef___n_type
].val
; /* _n_type on <self:AAttrPropdef> */
1999 RET_LABEL79
:(void)0;
2002 if (likely(varonce
!=NULL
)) {
2005 var82
= "useless-signature";
2006 var83
= standard___standard__NativeString___to_s_with_length(var82
, 17l);
2010 if (unlikely(varonce84
==NULL
)) {
2011 var85
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2012 if (likely(varonce86
!=NULL
)) {
2015 var88
= "Warning: useless type repetition on redefined attribute `";
2016 var89
= standard___standard__NativeString___to_s_with_length(var88
, 57l);
2020 ((struct instance_standard__NativeArray
*)var85
)->values
[0]=var87
;
2021 if (likely(varonce90
!=NULL
)) {
2025 var93
= standard___standard__NativeString___to_s_with_length(var92
, 1l);
2029 ((struct instance_standard__NativeArray
*)var85
)->values
[2]=var91
;
2035 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AAttrPropdef> */
2036 var96
= self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AAttrPropdef> */
2038 RET_LABEL95
:(void)0;
2041 if (var94
== NULL
) {
2042 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2043 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 1530);
2046 var97
= nit___nit__MPropDef___nit__model_base__MEntity__name(var94
);
2048 ((struct instance_standard__NativeArray
*)var85
)->values
[1]=var97
;
2050 var98
= ((val
*(*)(val
* self
))(var85
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var85
); /* native_to_s on <var85:NativeArray[String]>*/
2054 nit___nit__ModelBuilder___advice(var_modelbuilder
, var78
, var81
, var98
); /* Direct call modelbuilder_base#ModelBuilder#advice on <var_modelbuilder:ModelBuilder>*/
2058 /* method modelize_property#ATypePropdef#build_property for (self: ATypePropdef, ModelBuilder, MClassDef) */
2059 void nit__modelize_property___ATypePropdef___APropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
2060 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
2061 val
* var_mclassdef
/* var mclassdef: MClassDef */;
2062 val
* var
/* : TClassid */;
2063 val
* var2
/* : TClassid */;
2064 val
* var3
/* : String */;
2065 val
* var_name
/* var name: String */;
2066 val
* var4
/* : TClassid */;
2067 val
* var6
/* : TClassid */;
2068 val
* var7
/* : nullable MProperty */;
2069 val
* var_mprop
/* var mprop: nullable MProperty */;
2070 short int var8
/* : Bool */;
2071 short int var9
/* : Bool */;
2072 val
* var_other
/* var other: nullable Object */;
2073 short int var11
/* : Bool */;
2074 short int var13
/* : Bool */;
2075 val
* var14
/* : nullable AVisibility */;
2076 val
* var16
/* : nullable AVisibility */;
2077 val
* var17
/* : MVisibility */;
2078 val
* var_mvisibility
/* var mvisibility: MVisibility */;
2079 val
* var18
/* : MVirtualTypeProp */;
2080 val
* var19
/* : SequenceRead[Char] */;
2081 val
* var_
/* var : SequenceRead[Char] */;
2082 val
* var20
/* : Iterator[nullable Object] */;
2083 val
* var_21
/* var : IndexedIterator[Char] */;
2084 short int var22
/* : Bool */;
2085 val
* var23
/* : nullable Object */;
2086 uint32_t var24
/* : Char */;
2087 uint32_t var_c
/* var c: Char */;
2088 short int var25
/* : Bool */;
2089 short int var26
/* : Bool */;
2090 short int var28
/* : Bool */;
2093 const char* var_class_name
;
2094 short int var29
/* : Bool */;
2095 short int var_30
/* var : Bool */;
2096 short int var31
/* : Bool */;
2097 short int var33
/* : Bool */;
2100 const char* var_class_name36
;
2101 short int var37
/* : Bool */;
2102 val
* var38
/* : TClassid */;
2103 val
* var40
/* : TClassid */;
2104 static val
* varonce
;
2105 val
* var41
/* : String */;
2106 char* var42
/* : NativeString */;
2107 val
* var43
/* : FlatString */;
2108 val
* var45
/* : NativeArray[String] */;
2109 static val
* varonce44
;
2110 static val
* varonce46
;
2111 val
* var47
/* : String */;
2112 char* var48
/* : NativeString */;
2113 val
* var49
/* : FlatString */;
2114 static val
* varonce50
;
2115 val
* var51
/* : String */;
2116 char* var52
/* : NativeString */;
2117 val
* var53
/* : FlatString */;
2118 val
* var54
/* : String */;
2119 val
* var55
/* : nullable TKwredef */;
2120 val
* var57
/* : nullable TKwredef */;
2121 short int var58
/* : Bool */;
2122 short int var59
/* : Bool */;
2123 val
* var60
/* : nullable TKwredef */;
2124 val
* var62
/* : nullable TKwredef */;
2125 short int var63
/* : Bool */;
2126 short int var64
/* : Bool */;
2127 short int var65
/* : Bool */;
2130 val
* var68
/* : nullable AVisibility */;
2131 val
* var70
/* : nullable AVisibility */;
2132 val
* var71
/* : Map[MProperty, APropdef] */;
2133 val
* var73
/* : Map[MProperty, APropdef] */;
2134 val
* var74
/* : MVirtualTypeDef */;
2135 val
* var75
/* : Location */;
2136 val
* var77
/* : Location */;
2137 val
* var_mpropdef
/* var mpropdef: MVirtualTypeDef */;
2138 short int var78
/* : Bool */;
2141 const struct type
* type_struct
;
2142 const char* var_class_name81
;
2143 short int var83
/* : Bool */;
2146 const struct type
* type_struct86
;
2147 const char* var_class_name87
;
2148 val
* var88
/* : HashMap[MPropDef, APropdef] */;
2149 val
* var90
/* : HashMap[MPropDef, APropdef] */;
2150 short int var91
/* : Bool */;
2151 val
* var92
/* : ToolContext */;
2152 val
* var94
/* : ToolContext */;
2153 val
* var96
/* : NativeArray[String] */;
2154 static val
* varonce95
;
2155 static val
* varonce97
;
2156 val
* var98
/* : String */;
2157 char* var99
/* : NativeString */;
2158 val
* var100
/* : FlatString */;
2159 val
* var101
/* : String */;
2160 val
* var102
/* : String */;
2161 val
* var103
/* : String */;
2162 val
* var104
/* : ToolContext */;
2163 val
* var106
/* : ToolContext */;
2164 val
* var108
/* : NativeArray[String] */;
2165 static val
* varonce107
;
2166 static val
* varonce109
;
2167 val
* var110
/* : String */;
2168 char* var111
/* : NativeString */;
2169 val
* var112
/* : FlatString */;
2170 val
* var113
/* : String */;
2171 val
* var114
/* : String */;
2172 val
* var115
/* : String */;
2173 static val
* varonce116
;
2174 val
* var117
/* : String */;
2175 char* var118
/* : NativeString */;
2176 val
* var119
/* : FlatString */;
2177 val
* var120
/* : nullable AAnnotation */;
2178 val
* var_atfixed
/* var atfixed: nullable AAnnotation */;
2179 short int var121
/* : Bool */;
2180 short int var122
/* : Bool */;
2181 val
* var_other124
/* var other: nullable Object */;
2182 short int var125
/* : Bool */;
2183 short int var126
/* : Bool */;
2184 var_modelbuilder
= p0
;
2187 { /* Inline parser_nodes#ATypePropdef#n_id (self) on <self:ATypePropdef> */
2188 var2
= self
->attrs
[COLOR_nit__parser_nodes__ATypePropdef___n_id
].val
; /* _n_id on <self:ATypePropdef> */
2189 if (unlikely(var2
== NULL
)) {
2190 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
2191 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1527);
2199 var3
= nit__lexer_work___Token___text(var
);
2203 { /* Inline parser_nodes#ATypePropdef#n_id (self) on <self:ATypePropdef> */
2204 var6
= self
->attrs
[COLOR_nit__parser_nodes__ATypePropdef___n_id
].val
; /* _n_id on <self:ATypePropdef> */
2205 if (unlikely(var6
== NULL
)) {
2206 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
2207 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1527);
2215 var7
= nit___nit__ModelBuilder___try_get_mproperty_by_name(var_modelbuilder
, var4
, var_mclassdef
, var_name
);
2218 if (var_mprop
== NULL
) {
2219 var8
= 1; /* is null */
2221 var8
= 0; /* arg is null but recv is not */
2224 { /* Inline kernel#Object#== (var_mprop,((val*)NULL)) on <var_mprop:nullable MProperty> */
2225 var_other
= ((val
*)NULL
);
2227 { /* Inline kernel#Object#is_same_instance (var_mprop,var_other) on <var_mprop:nullable MProperty(MProperty)> */
2228 var13
= var_mprop
== var_other
;
2231 RET_LABEL12
:(void)0;
2236 RET_LABEL10
:(void)0;
2242 { /* Inline parser_nodes#ADefinition#n_visibility (self) on <self:ATypePropdef> */
2243 var16
= self
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_visibility
].val
; /* _n_visibility on <self:ATypePropdef> */
2245 RET_LABEL15
:(void)0;
2249 var17
= nit__modelize_property___APropdef___new_property_visibility(self
, var_modelbuilder
, var_mclassdef
, var14
);
2251 var_mvisibility
= var17
;
2252 var18
= NEW_nit__MVirtualTypeProp(&type_nit__MVirtualTypeProp
);
2254 ((void(*)(val
* self
, val
* p0
))(var18
->class->vft
[COLOR_nit__model__MProperty__intro_mclassdef_61d
]))(var18
, var_mclassdef
); /* intro_mclassdef= on <var18:MVirtualTypeProp>*/
2257 ((void(*)(val
* self
, val
* p0
))(var18
->class->vft
[COLOR_nit__model__MProperty__name_61d
]))(var18
, var_name
); /* name= on <var18:MVirtualTypeProp>*/
2260 ((void(*)(val
* self
, val
* p0
))(var18
->class->vft
[COLOR_nit__model__MProperty__visibility_61d
]))(var18
, var_mvisibility
); /* visibility= on <var18:MVirtualTypeProp>*/
2263 ((void(*)(val
* self
))(var18
->class->vft
[COLOR_standard__kernel__Object__init
]))(var18
); /* init on <var18:MVirtualTypeProp>*/
2267 var19
= ((val
*(*)(val
* self
))(var_name
->class->vft
[COLOR_standard__string__Text__chars
]))(var_name
); /* chars on <var_name:String>*/
2271 var20
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:SequenceRead[Char]>*/
2276 var22
= ((short int(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_21
); /* is_ok on <var_21:IndexedIterator[Char]>*/
2280 var23
= ((val
*(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_21
); /* item on <var_21:IndexedIterator[Char]>*/
2282 var24
= (uint32_t)((long)(var23
)>>2);
2285 { /* Inline kernel#Char#>= (var_c,'a') on <var_c:Char> */
2286 /* Covariant cast for argument 0 (i) <'a':Char> isa OTHER */
2287 /* <'a':Char> isa OTHER */
2288 var28
= 1; /* easy <'a':Char> isa OTHER*/
2289 if (unlikely(!var28
)) {
2290 var_class_name
= type_standard__Char
.name
;
2291 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2292 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 724);
2295 var29
= var_c
>= 'a';
2298 RET_LABEL27
:(void)0;
2304 { /* Inline kernel#Char#<= (var_c,'z') on <var_c:Char> */
2305 /* Covariant cast for argument 0 (i) <'z':Char> isa OTHER */
2306 /* <'z':Char> isa OTHER */
2307 var33
= 1; /* easy <'z':Char> isa OTHER*/
2308 if (unlikely(!var33
)) {
2309 var_class_name36
= type_standard__Char
.name
;
2310 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name36
);
2311 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 722);
2314 var37
= var_c
<= 'z';
2317 RET_LABEL32
:(void)0;
2326 { /* Inline parser_nodes#ATypePropdef#n_id (self) on <self:ATypePropdef> */
2327 var40
= self
->attrs
[COLOR_nit__parser_nodes__ATypePropdef___n_id
].val
; /* _n_id on <self:ATypePropdef> */
2328 if (unlikely(var40
== NULL
)) {
2329 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
2330 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1527);
2334 RET_LABEL39
:(void)0;
2337 if (likely(varonce
!=NULL
)) {
2340 var42
= "bad-type-name";
2341 var43
= standard___standard__NativeString___to_s_with_length(var42
, 13l);
2345 if (unlikely(varonce44
==NULL
)) {
2346 var45
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2347 if (likely(varonce46
!=NULL
)) {
2350 var48
= "Warning: lowercase in the virtual type `";
2351 var49
= standard___standard__NativeString___to_s_with_length(var48
, 40l);
2355 ((struct instance_standard__NativeArray
*)var45
)->values
[0]=var47
;
2356 if (likely(varonce50
!=NULL
)) {
2360 var53
= standard___standard__NativeString___to_s_with_length(var52
, 2l);
2364 ((struct instance_standard__NativeArray
*)var45
)->values
[2]=var51
;
2369 ((struct instance_standard__NativeArray
*)var45
)->values
[1]=var_name
;
2371 var54
= ((val
*(*)(val
* self
))(var45
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var45
); /* native_to_s on <var45:NativeArray[String]>*/
2375 nit___nit__ModelBuilder___warning(var_modelbuilder
, var38
, var41
, var54
); /* Direct call modelbuilder_base#ModelBuilder#warning on <var_modelbuilder:ModelBuilder>*/
2381 ((void(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_21
); /* next on <var_21:IndexedIterator[Char]>*/
2387 BREAK_label
: (void)0;
2389 ((void(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_21
); /* finish on <var_21:IndexedIterator[Char]>*/
2392 { /* Inline parser_nodes#ADefinition#n_kwredef (self) on <self:ATypePropdef> */
2393 var57
= self
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_kwredef
].val
; /* _n_kwredef on <self:ATypePropdef> */
2395 RET_LABEL56
:(void)0;
2399 var58
= nit__modelize_property___APropdef___check_redef_keyword(self
, var_modelbuilder
, var_mclassdef
, var55
, 0, var_mprop
);
2408 { /* Inline parser_nodes#ADefinition#n_kwredef (self) on <self:ATypePropdef> */
2409 var62
= self
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_kwredef
].val
; /* _n_kwredef on <self:ATypePropdef> */
2411 RET_LABEL61
:(void)0;
2415 var63
= nit__modelize_property___APropdef___check_redef_keyword(self
, var_modelbuilder
, var_mclassdef
, var60
, 1, var_mprop
);
2422 /* <var_mprop:nullable MProperty(MProperty)> isa MVirtualTypeProp */
2423 cltype66
= type_nit__MVirtualTypeProp
.color
;
2424 idtype67
= type_nit__MVirtualTypeProp
.id
;
2425 if(cltype66
>= var_mprop
->type
->table_size
) {
2428 var65
= var_mprop
->type
->type_table
[cltype66
] == idtype67
;
2430 if (unlikely(!var65
)) {
2431 PRINT_ERROR("Runtime error: %s", "Assert failed");
2432 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 1551);
2436 { /* Inline parser_nodes#ADefinition#n_visibility (self) on <self:ATypePropdef> */
2437 var70
= self
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_visibility
].val
; /* _n_visibility on <self:ATypePropdef> */
2439 RET_LABEL69
:(void)0;
2443 nit__modelize_property___APropdef___check_redef_property_visibility(self
, var_modelbuilder
, var68
, var_mprop
); /* Direct call modelize_property#APropdef#check_redef_property_visibility on <self:ATypePropdef>*/
2447 { /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on <var_mclassdef:MClassDef> */
2448 var73
= var_mclassdef
->attrs
[COLOR_nit__modelize_property__MClassDef___mprop2npropdef
].val
; /* _mprop2npropdef on <var_mclassdef:MClassDef> */
2449 if (unlikely(var73
== NULL
)) {
2450 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
2451 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 505);
2455 RET_LABEL72
:(void)0;
2459 ((void(*)(val
* self
, val
* p0
, val
* p1
))((((long)var71
&3)?class_info
[((long)var71
&3)]:var71
->class)->vft
[COLOR_standard__abstract_collection__Map___91d_93d_61d
]))(var71
, var_mprop
, self
); /* []= on <var71:Map[MProperty, APropdef]>*/
2461 var74
= NEW_nit__MVirtualTypeDef(&type_nit__MVirtualTypeDef
);
2463 { /* Inline parser_nodes#ANode#location (self) on <self:ATypePropdef> */
2464 var77
= self
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <self:ATypePropdef> */
2465 if (unlikely(var77
== NULL
)) {
2466 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
2467 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 24);
2471 RET_LABEL76
:(void)0;
2475 ((void(*)(val
* self
, val
* p0
))(var74
->class->vft
[COLOR_nit__model__MPropDef__mclassdef_61d
]))(var74
, var_mclassdef
); /* mclassdef= on <var74:MVirtualTypeDef>*/
2478 ((void(*)(val
* self
, val
* p0
))(var74
->class->vft
[COLOR_nit__model__MPropDef__mproperty_61d
]))(var74
, var_mprop
); /* mproperty= on <var74:MVirtualTypeDef>*/
2481 ((void(*)(val
* self
, val
* p0
))(var74
->class->vft
[COLOR_nit__model__MPropDef__location_61d
]))(var74
, var75
); /* location= on <var74:MVirtualTypeDef>*/
2484 ((void(*)(val
* self
))(var74
->class->vft
[COLOR_standard__kernel__Object__init
]))(var74
); /* init on <var74:MVirtualTypeDef>*/
2486 var_mpropdef
= var74
;
2487 /* <var_mpropdef:MVirtualTypeDef> isa nullable MPROPDEF */
2488 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable__nit__modelize_property__APropdef__MPROPDEF
];
2489 cltype79
= type_struct
->color
;
2490 idtype80
= type_struct
->id
;
2491 if(cltype79
>= var_mpropdef
->type
->table_size
) {
2494 var78
= var_mpropdef
->type
->type_table
[cltype79
] == idtype80
;
2496 if (unlikely(!var78
)) {
2497 var_class_name81
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
2498 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name81
);
2499 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 1557);
2503 { /* Inline modelize_property#APropdef#mpropdef= (self,var_mpropdef) on <self:ATypePropdef> */
2504 /* Covariant cast for argument 0 (mpropdef) <var_mpropdef:MVirtualTypeDef> isa nullable MPROPDEF */
2505 /* <var_mpropdef:MVirtualTypeDef> isa nullable MPROPDEF */
2506 type_struct86
= self
->type
->resolution_table
->types
[COLOR_nullable__nit__modelize_property__APropdef__MPROPDEF
];
2507 cltype84
= type_struct86
->color
;
2508 idtype85
= type_struct86
->id
;
2509 if(cltype84
>= var_mpropdef
->type
->table_size
) {
2512 var83
= var_mpropdef
->type
->type_table
[cltype84
] == idtype85
;
2514 if (unlikely(!var83
)) {
2515 var_class_name87
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
2516 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name87
);
2517 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 558);
2520 self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
= var_mpropdef
; /* _mpropdef on <self:ATypePropdef> */
2521 RET_LABEL82
:(void)0;
2525 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
2526 var90
= var_modelbuilder
->attrs
[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
2527 if (unlikely(var90
== NULL
)) {
2528 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
2529 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 40);
2533 RET_LABEL89
:(void)0;
2537 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var88
, var_mpropdef
, self
); /* Direct call hash_collection#HashMap#[]= on <var88:HashMap[MPropDef, APropdef]>*/
2540 var91
= nit___nit__MPropDef___is_intro(var_mpropdef
);
2544 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
2545 var94
= var_modelbuilder
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
2546 if (unlikely(var94
== NULL
)) {
2547 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2548 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
2552 RET_LABEL93
:(void)0;
2555 if (unlikely(varonce95
==NULL
)) {
2556 var96
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2557 if (likely(varonce97
!=NULL
)) {
2560 var99
= " introduces new type ";
2561 var100
= standard___standard__NativeString___to_s_with_length(var99
, 21l);
2565 ((struct instance_standard__NativeArray
*)var96
)->values
[1]=var98
;
2571 var101
= ((val
*(*)(val
* self
))(var_mpropdef
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mpropdef
); /* to_s on <var_mpropdef:MVirtualTypeDef>*/
2573 ((struct instance_standard__NativeArray
*)var96
)->values
[0]=var101
;
2575 var102
= nit___nit__MProperty___nit__model_base__MEntity__full_name(var_mprop
);
2577 ((struct instance_standard__NativeArray
*)var96
)->values
[2]=var102
;
2579 var103
= ((val
*(*)(val
* self
))(var96
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var96
); /* native_to_s on <var96:NativeArray[String]>*/
2583 nit___nit__ToolContext___info(var92
, var103
, 4l); /* Direct call toolcontext#ToolContext#info on <var92:ToolContext>*/
2587 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
2588 var106
= var_modelbuilder
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
2589 if (unlikely(var106
== NULL
)) {
2590 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2591 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
2595 RET_LABEL105
:(void)0;
2598 if (unlikely(varonce107
==NULL
)) {
2599 var108
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2600 if (likely(varonce109
!=NULL
)) {
2601 var110
= varonce109
;
2603 var111
= " redefines type ";
2604 var112
= standard___standard__NativeString___to_s_with_length(var111
, 16l);
2606 varonce109
= var110
;
2608 ((struct instance_standard__NativeArray
*)var108
)->values
[1]=var110
;
2610 var108
= varonce107
;
2614 var113
= ((val
*(*)(val
* self
))(var_mpropdef
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mpropdef
); /* to_s on <var_mpropdef:MVirtualTypeDef>*/
2616 ((struct instance_standard__NativeArray
*)var108
)->values
[0]=var113
;
2618 var114
= nit___nit__MProperty___nit__model_base__MEntity__full_name(var_mprop
);
2620 ((struct instance_standard__NativeArray
*)var108
)->values
[2]=var114
;
2622 var115
= ((val
*(*)(val
* self
))(var108
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var108
); /* native_to_s on <var108:NativeArray[String]>*/
2624 varonce107
= var108
;
2626 nit___nit__ToolContext___info(var104
, var115
, 4l); /* Direct call toolcontext#ToolContext#info on <var104:ToolContext>*/
2630 nit__modelize_property___APropdef___set_doc(self
, var_mpropdef
, var_modelbuilder
); /* Direct call modelize_property#APropdef#set_doc on <self:ATypePropdef>*/
2632 if (likely(varonce116
!=NULL
)) {
2633 var117
= varonce116
;
2636 var119
= standard___standard__NativeString___to_s_with_length(var118
, 5l);
2638 varonce116
= var117
;
2641 var120
= nit__annotation___Prod___get_single_annotation(self
, var117
, var_modelbuilder
);
2643 var_atfixed
= var120
;
2644 if (var_atfixed
== NULL
) {
2645 var121
= 0; /* is null */
2647 var121
= 1; /* arg is null and recv is not */
2650 { /* Inline kernel#Object#!= (var_atfixed,((val*)NULL)) on <var_atfixed:nullable AAnnotation> */
2651 var_other124
= ((val
*)NULL
);
2653 var125
= ((short int(*)(val
* self
, val
* p0
))(var_atfixed
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_atfixed
, var_other124
); /* == on <var_atfixed:nullable AAnnotation(AAnnotation)>*/
2658 RET_LABEL123
:(void)0;
2664 { /* Inline model#MVirtualTypeDef#is_fixed= (var_mpropdef,1) on <var_mpropdef:MVirtualTypeDef> */
2665 var_mpropdef
->attrs
[COLOR_nit__model__MVirtualTypeDef___is_fixed
].s
= 1; /* _is_fixed on <var_mpropdef:MVirtualTypeDef> */
2666 RET_LABEL127
:(void)0;
2673 /* method modelize_property#ATypePropdef#build_signature for (self: ATypePropdef, ModelBuilder) */
2674 void nit__modelize_property___ATypePropdef___APropdef__build_signature(val
* self
, val
* p0
) {
2675 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
2676 val
* var
/* : nullable MPropDef */;
2677 val
* var2
/* : nullable MPropDef */;
2678 val
* var_mpropdef
/* var mpropdef: nullable MVirtualTypeDef */;
2679 short int var3
/* : Bool */;
2680 short int var4
/* : Bool */;
2681 val
* var_other
/* var other: nullable Object */;
2682 short int var6
/* : Bool */;
2683 short int var8
/* : Bool */;
2684 val
* var9
/* : MClassDef */;
2685 val
* var11
/* : MClassDef */;
2686 val
* var_mclassdef
/* var mclassdef: MClassDef */;
2687 val
* var12
/* : MModule */;
2688 val
* var14
/* : MModule */;
2689 val
* var_mmodule
/* var mmodule: MModule */;
2690 val
* var_mtype
/* var mtype: nullable MType */;
2691 val
* var15
/* : AType */;
2692 val
* var17
/* : AType */;
2693 val
* var_ntype
/* var ntype: AType */;
2694 val
* var18
/* : nullable MType */;
2695 short int var19
/* : Bool */;
2696 short int var20
/* : Bool */;
2697 short int var22
/* : Bool */;
2698 short int var24
/* : Bool */;
2699 var_modelbuilder
= p0
;
2701 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:ATypePropdef> */
2702 var2
= self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:ATypePropdef> */
2708 if (var_mpropdef
== NULL
) {
2709 var3
= 1; /* is null */
2711 var3
= 0; /* arg is null but recv is not */
2714 { /* Inline kernel#Object#== (var_mpropdef,((val*)NULL)) on <var_mpropdef:nullable MVirtualTypeDef> */
2715 var_other
= ((val
*)NULL
);
2717 { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
2718 var8
= var_mpropdef
== var_other
;
2735 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
2736 var11
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
2737 if (unlikely(var11
== NULL
)) {
2738 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2739 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
2743 RET_LABEL10
:(void)0;
2746 var_mclassdef
= var9
;
2748 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
2749 var14
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
2750 if (unlikely(var14
== NULL
)) {
2751 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2752 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
2756 RET_LABEL13
:(void)0;
2759 var_mmodule
= var12
;
2760 var_mtype
= ((val
*)NULL
);
2762 { /* Inline parser_nodes#ATypePropdef#n_type (self) on <self:ATypePropdef> */
2763 var17
= self
->attrs
[COLOR_nit__parser_nodes__ATypePropdef___n_type
].val
; /* _n_type on <self:ATypePropdef> */
2764 if (unlikely(var17
== NULL
)) {
2765 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
2766 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1530);
2770 RET_LABEL16
:(void)0;
2775 var18
= nit___nit__ModelBuilder___resolve_mtype_unchecked(var_modelbuilder
, var_mmodule
, var_mclassdef
, var_ntype
, 1);
2778 if (var_mtype
== NULL
) {
2779 var19
= 1; /* is null */
2781 var19
= 0; /* arg is null but recv is not */
2784 { /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
2785 var_other
= ((val
*)NULL
);
2787 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
2788 var24
= var_mtype
== var_other
;
2791 RET_LABEL23
:(void)0;
2796 RET_LABEL21
:(void)0;
2805 { /* Inline model#MVirtualTypeDef#bound= (var_mpropdef,var_mtype) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
2806 var_mpropdef
->attrs
[COLOR_nit__model__MVirtualTypeDef___bound
].val
= var_mtype
; /* _bound on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
2807 RET_LABEL25
:(void)0;
2812 /* method modelize_property#ATypePropdef#check_signature for (self: ATypePropdef, ModelBuilder) */
2813 void nit__modelize_property___ATypePropdef___APropdef__check_signature(val
* self
, val
* p0
) {
2814 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
2815 val
* var
/* : nullable MPropDef */;
2816 val
* var2
/* : nullable MPropDef */;
2817 val
* var_mpropdef
/* var mpropdef: nullable MVirtualTypeDef */;
2818 short int var3
/* : Bool */;
2819 short int var4
/* : Bool */;
2820 val
* var_other
/* var other: nullable Object */;
2821 short int var6
/* : Bool */;
2822 short int var8
/* : Bool */;
2823 val
* var9
/* : nullable MType */;
2824 val
* var11
/* : nullable MType */;
2825 val
* var_bound
/* var bound: nullable MType */;
2826 short int var12
/* : Bool */;
2827 short int var13
/* : Bool */;
2828 short int var15
/* : Bool */;
2829 short int var17
/* : Bool */;
2830 val
* var18
/* : AType */;
2831 val
* var20
/* : AType */;
2832 val
* var21
/* : MClassDef */;
2833 val
* var23
/* : MClassDef */;
2834 val
* var_mclassdef
/* var mclassdef: MClassDef */;
2835 val
* var24
/* : MModule */;
2836 val
* var26
/* : MModule */;
2837 val
* var_mmodule
/* var mmodule: MModule */;
2838 val
* var27
/* : MClassType */;
2839 val
* var29
/* : MClassType */;
2840 val
* var_anchor
/* var anchor: MClassType */;
2841 val
* var30
/* : AType */;
2842 val
* var32
/* : AType */;
2843 val
* var_ntype
/* var ntype: AType */;
2844 val
* var33
/* : nullable MType */;
2845 short int var34
/* : Bool */;
2846 short int var35
/* : Bool */;
2847 short int var37
/* : Bool */;
2848 short int var39
/* : Bool */;
2849 val
* var41
/* : MProperty */;
2850 val
* var43
/* : MProperty */;
2851 val
* var44
/* : Array[MPropDef] */;
2852 val
* var_
/* var : Array[MVirtualTypeDef] */;
2853 val
* var45
/* : ArrayIterator[nullable Object] */;
2854 val
* var_46
/* var : ArrayIterator[MVirtualTypeDef] */;
2855 short int var47
/* : Bool */;
2856 val
* var48
/* : nullable Object */;
2857 val
* var_p
/* var p: MVirtualTypeDef */;
2858 val
* var49
/* : nullable MType */;
2859 val
* var51
/* : nullable MType */;
2860 val
* var_supbound
/* var supbound: nullable MType */;
2861 short int var52
/* : Bool */;
2862 short int var53
/* : Bool */;
2863 short int var55
/* : Bool */;
2864 short int var57
/* : Bool */;
2865 short int var58
/* : Bool */;
2866 short int var60
/* : Bool */;
2867 val
* var61
/* : NativeArray[String] */;
2868 static val
* varonce
;
2869 static val
* varonce62
;
2870 val
* var63
/* : String */;
2871 char* var64
/* : NativeString */;
2872 val
* var65
/* : FlatString */;
2873 static val
* varonce66
;
2874 val
* var67
/* : String */;
2875 char* var68
/* : NativeString */;
2876 val
* var69
/* : FlatString */;
2877 static val
* varonce70
;
2878 val
* var71
/* : String */;
2879 char* var72
/* : NativeString */;
2880 val
* var73
/* : FlatString */;
2881 val
* var74
/* : MProperty */;
2882 val
* var76
/* : MProperty */;
2883 val
* var77
/* : String */;
2884 val
* var78
/* : MClassDef */;
2885 val
* var80
/* : MClassDef */;
2886 val
* var81
/* : MClass */;
2887 val
* var83
/* : MClass */;
2888 val
* var84
/* : String */;
2889 val
* var85
/* : String */;
2890 val
* var86
/* : MClassDef */;
2891 val
* var88
/* : MClassDef */;
2892 val
* var89
/* : MClass */;
2893 val
* var91
/* : MClass */;
2894 val
* var92
/* : MClass */;
2895 val
* var94
/* : MClass */;
2896 short int var95
/* : Bool */;
2897 short int var97
/* : Bool */;
2898 short int var99
/* : Bool */;
2899 val
* var100
/* : AType */;
2900 val
* var102
/* : AType */;
2901 static val
* varonce103
;
2902 val
* var104
/* : String */;
2903 char* var105
/* : NativeString */;
2904 val
* var106
/* : FlatString */;
2905 static val
* varonce107
;
2906 val
* var108
/* : String */;
2907 char* var109
/* : NativeString */;
2908 val
* var110
/* : FlatString */;
2909 val
* var111
/* : AType */;
2910 val
* var113
/* : AType */;
2911 short int var114
/* : Bool */;
2912 short int var115
/* : Bool */;
2913 val
* var116
/* : AType */;
2914 val
* var118
/* : AType */;
2915 val
* var120
/* : NativeArray[String] */;
2916 static val
* varonce119
;
2917 static val
* varonce121
;
2918 val
* var122
/* : String */;
2919 char* var123
/* : NativeString */;
2920 val
* var124
/* : FlatString */;
2921 static val
* varonce125
;
2922 val
* var126
/* : String */;
2923 char* var127
/* : NativeString */;
2924 val
* var128
/* : FlatString */;
2925 static val
* varonce129
;
2926 val
* var130
/* : String */;
2927 char* var131
/* : NativeString */;
2928 val
* var132
/* : FlatString */;
2929 val
* var133
/* : String */;
2930 val
* var134
/* : String */;
2931 val
* var135
/* : String */;
2932 var_modelbuilder
= p0
;
2934 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:ATypePropdef> */
2935 var2
= self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:ATypePropdef> */
2941 if (var_mpropdef
== NULL
) {
2942 var3
= 1; /* is null */
2944 var3
= 0; /* arg is null but recv is not */
2947 { /* Inline kernel#Object#== (var_mpropdef,((val*)NULL)) on <var_mpropdef:nullable MVirtualTypeDef> */
2948 var_other
= ((val
*)NULL
);
2950 { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
2951 var8
= var_mpropdef
== var_other
;
2968 { /* Inline model#MVirtualTypeDef#bound (var_mpropdef) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
2969 var11
= var_mpropdef
->attrs
[COLOR_nit__model__MVirtualTypeDef___bound
].val
; /* _bound on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
2971 RET_LABEL10
:(void)0;
2975 if (var_bound
== NULL
) {
2976 var12
= 1; /* is null */
2978 var12
= 0; /* arg is null but recv is not */
2981 { /* Inline kernel#Object#== (var_bound,((val*)NULL)) on <var_bound:nullable MType> */
2982 var_other
= ((val
*)NULL
);
2984 { /* Inline kernel#Object#is_same_instance (var_bound,var_other) on <var_bound:nullable MType(MType)> */
2985 var17
= var_bound
== var_other
;
2988 RET_LABEL16
:(void)0;
2993 RET_LABEL14
:(void)0;
3002 { /* Inline parser_nodes#ATypePropdef#n_type (self) on <self:ATypePropdef> */
3003 var20
= self
->attrs
[COLOR_nit__parser_nodes__ATypePropdef___n_type
].val
; /* _n_type on <self:ATypePropdef> */
3004 if (unlikely(var20
== NULL
)) {
3005 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
3006 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1530);
3010 RET_LABEL19
:(void)0;
3014 nit__modelize_property___ModelBuilder___check_visibility(var_modelbuilder
, var18
, var_bound
, var_mpropdef
); /* Direct call modelize_property#ModelBuilder#check_visibility on <var_modelbuilder:ModelBuilder>*/
3017 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
3018 var23
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
3019 if (unlikely(var23
== NULL
)) {
3020 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
3021 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
3025 RET_LABEL22
:(void)0;
3028 var_mclassdef
= var21
;
3030 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
3031 var26
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
3032 if (unlikely(var26
== NULL
)) {
3033 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3034 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
3038 RET_LABEL25
:(void)0;
3041 var_mmodule
= var24
;
3043 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
3044 var29
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
3045 if (unlikely(var29
== NULL
)) {
3046 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3047 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
3051 RET_LABEL28
:(void)0;
3056 { /* Inline parser_nodes#ATypePropdef#n_type (self) on <self:ATypePropdef> */
3057 var32
= self
->attrs
[COLOR_nit__parser_nodes__ATypePropdef___n_type
].val
; /* _n_type on <self:ATypePropdef> */
3058 if (unlikely(var32
== NULL
)) {
3059 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
3060 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1530);
3064 RET_LABEL31
:(void)0;
3069 var33
= nit___nit__ModelBuilder___resolve_mtype(var_modelbuilder
, var_mmodule
, var_mclassdef
, var_ntype
);
3071 if (var33
== NULL
) {
3072 var34
= 1; /* is null */
3074 var34
= 0; /* arg is null but recv is not */
3077 { /* Inline kernel#Object#== (var33,((val*)NULL)) on <var33:nullable MType> */
3078 var_other
= ((val
*)NULL
);
3080 { /* Inline kernel#Object#is_same_instance (var33,var_other) on <var33:nullable MType(MType)> */
3081 var39
= var33
== var_other
;
3084 RET_LABEL38
:(void)0;
3089 RET_LABEL36
:(void)0;
3095 { /* Inline model#MVirtualTypeDef#bound= (var_mpropdef,((val*)NULL)) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
3096 var_mpropdef
->attrs
[COLOR_nit__model__MVirtualTypeDef___bound
].val
= ((val
*)NULL
); /* _bound on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
3097 RET_LABEL40
:(void)0;
3104 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
3105 var43
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
3106 if (unlikely(var43
== NULL
)) {
3107 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
3108 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
3112 RET_LABEL42
:(void)0;
3116 var44
= nit___nit__MProperty___lookup_super_definitions(var41
, var_mmodule
, var_anchor
);
3120 var45
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
3125 var47
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_46
);
3129 var48
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_46
);
3133 { /* Inline model#MVirtualTypeDef#bound (var_p) on <var_p:MVirtualTypeDef> */
3134 var51
= var_p
->attrs
[COLOR_nit__model__MVirtualTypeDef___bound
].val
; /* _bound on <var_p:MVirtualTypeDef> */
3136 RET_LABEL50
:(void)0;
3139 var_supbound
= var49
;
3140 if (var_supbound
== NULL
) {
3141 var52
= 1; /* is null */
3143 var52
= 0; /* arg is null but recv is not */
3146 { /* Inline kernel#Object#== (var_supbound,((val*)NULL)) on <var_supbound:nullable MType> */
3147 var_other
= ((val
*)NULL
);
3149 { /* Inline kernel#Object#is_same_instance (var_supbound,var_other) on <var_supbound:nullable MType(MType)> */
3150 var57
= var_supbound
== var_other
;
3153 RET_LABEL56
:(void)0;
3158 RET_LABEL54
:(void)0;
3167 { /* Inline model#MVirtualTypeDef#is_fixed (var_p) on <var_p:MVirtualTypeDef> */
3168 var60
= var_p
->attrs
[COLOR_nit__model__MVirtualTypeDef___is_fixed
].s
; /* _is_fixed on <var_p:MVirtualTypeDef> */
3170 RET_LABEL59
:(void)0;
3174 if (unlikely(varonce
==NULL
)) {
3175 var61
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
3176 if (likely(varonce62
!=NULL
)) {
3179 var64
= "Redef Error: virtual type `";
3180 var65
= standard___standard__NativeString___to_s_with_length(var64
, 27l);
3184 ((struct instance_standard__NativeArray
*)var61
)->values
[0]=var63
;
3185 if (likely(varonce66
!=NULL
)) {
3188 var68
= "` is fixed in super-class `";
3189 var69
= standard___standard__NativeString___to_s_with_length(var68
, 27l);
3193 ((struct instance_standard__NativeArray
*)var61
)->values
[2]=var67
;
3194 if (likely(varonce70
!=NULL
)) {
3198 var73
= standard___standard__NativeString___to_s_with_length(var72
, 2l);
3202 ((struct instance_standard__NativeArray
*)var61
)->values
[4]=var71
;
3208 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
3209 var76
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
3210 if (unlikely(var76
== NULL
)) {
3211 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
3212 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
3216 RET_LABEL75
:(void)0;
3220 var77
= ((val
*(*)(val
* self
))(var74
->class->vft
[COLOR_standard__string__Object__to_s
]))(var74
); /* to_s on <var74:MProperty(MVirtualTypeProp)>*/
3222 ((struct instance_standard__NativeArray
*)var61
)->values
[1]=var77
;
3224 { /* Inline model#MPropDef#mclassdef (var_p) on <var_p:MVirtualTypeDef> */
3225 var80
= var_p
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_p:MVirtualTypeDef> */
3226 if (unlikely(var80
== NULL
)) {
3227 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
3228 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
3232 RET_LABEL79
:(void)0;
3236 { /* Inline model#MClassDef#mclass (var78) on <var78:MClassDef> */
3237 var83
= var78
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var78:MClassDef> */
3238 if (unlikely(var83
== NULL
)) {
3239 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3240 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
3244 RET_LABEL82
:(void)0;
3248 var84
= ((val
*(*)(val
* self
))(var81
->class->vft
[COLOR_standard__string__Object__to_s
]))(var81
); /* to_s on <var81:MClass>*/
3250 ((struct instance_standard__NativeArray
*)var61
)->values
[3]=var84
;
3252 var85
= ((val
*(*)(val
* self
))(var61
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var61
); /* native_to_s on <var61:NativeArray[String]>*/
3256 nit___nit__ModelBuilder___error(var_modelbuilder
, self
, var85
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
3262 { /* Inline model#MPropDef#mclassdef (var_p) on <var_p:MVirtualTypeDef> */
3263 var88
= var_p
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_p:MVirtualTypeDef> */
3264 if (unlikely(var88
== NULL
)) {
3265 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
3266 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
3270 RET_LABEL87
:(void)0;
3274 { /* Inline model#MClassDef#mclass (var86) on <var86:MClassDef> */
3275 var91
= var86
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var86:MClassDef> */
3276 if (unlikely(var91
== NULL
)) {
3277 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3278 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
3282 RET_LABEL90
:(void)0;
3286 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
3287 var94
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
3288 if (unlikely(var94
== NULL
)) {
3289 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3290 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
3294 RET_LABEL93
:(void)0;
3298 { /* Inline kernel#Object#== (var89,var92) on <var89:MClass> */
3301 { /* Inline kernel#Object#is_same_instance (var89,var_other) on <var89:MClass> */
3302 var99
= var89
== var_other
;
3305 RET_LABEL98
:(void)0;
3310 RET_LABEL96
:(void)0;
3315 { /* Inline parser_nodes#ATypePropdef#n_type (self) on <self:ATypePropdef> */
3316 var102
= self
->attrs
[COLOR_nit__parser_nodes__ATypePropdef___n_type
].val
; /* _n_type on <self:ATypePropdef> */
3317 if (unlikely(var102
== NULL
)) {
3318 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
3319 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1530);
3323 RET_LABEL101
:(void)0;
3326 if (likely(varonce103
!=NULL
)) {
3327 var104
= varonce103
;
3329 var105
= "refine-type";
3330 var106
= standard___standard__NativeString___to_s_with_length(var105
, 11l);
3332 varonce103
= var104
;
3334 if (likely(varonce107
!=NULL
)) {
3335 var108
= varonce107
;
3337 var109
= "Redef Error: a virtual type cannot be refined.";
3338 var110
= standard___standard__NativeString___to_s_with_length(var109
, 46l);
3340 varonce107
= var108
;
3343 nit___nit__ModelBuilder___warning(var_modelbuilder
, var100
, var104
, var108
); /* Direct call modelbuilder_base#ModelBuilder#warning on <var_modelbuilder:ModelBuilder>*/
3349 { /* Inline parser_nodes#ATypePropdef#n_type (self) on <self:ATypePropdef> */
3350 var113
= self
->attrs
[COLOR_nit__parser_nodes__ATypePropdef___n_type
].val
; /* _n_type on <self:ATypePropdef> */
3351 if (unlikely(var113
== NULL
)) {
3352 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
3353 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1530);
3357 RET_LABEL112
:(void)0;
3361 var114
= nit___nit__ModelBuilder___check_subtype(var_modelbuilder
, var111
, var_mmodule
, var_anchor
, var_bound
, var_supbound
);
3366 { /* Inline parser_nodes#ATypePropdef#n_type (self) on <self:ATypePropdef> */
3367 var118
= self
->attrs
[COLOR_nit__parser_nodes__ATypePropdef___n_type
].val
; /* _n_type on <self:ATypePropdef> */
3368 if (unlikely(var118
== NULL
)) {
3369 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
3370 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1530);
3374 RET_LABEL117
:(void)0;
3377 if (unlikely(varonce119
==NULL
)) {
3378 var120
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
3379 if (likely(varonce121
!=NULL
)) {
3380 var122
= varonce121
;
3382 var123
= "Redef Error: expected `";
3383 var124
= standard___standard__NativeString___to_s_with_length(var123
, 23l);
3385 varonce121
= var122
;
3387 ((struct instance_standard__NativeArray
*)var120
)->values
[0]=var122
;
3388 if (likely(varonce125
!=NULL
)) {
3389 var126
= varonce125
;
3391 var127
= "` bound type; got `";
3392 var128
= standard___standard__NativeString___to_s_with_length(var127
, 19l);
3394 varonce125
= var126
;
3396 ((struct instance_standard__NativeArray
*)var120
)->values
[2]=var126
;
3397 if (likely(varonce129
!=NULL
)) {
3398 var130
= varonce129
;
3401 var132
= standard___standard__NativeString___to_s_with_length(var131
, 2l);
3403 varonce129
= var130
;
3405 ((struct instance_standard__NativeArray
*)var120
)->values
[4]=var130
;
3407 var120
= varonce119
;
3411 var133
= ((val
*(*)(val
* self
))(var_supbound
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_supbound
); /* to_s on <var_supbound:nullable MType(MType)>*/
3413 ((struct instance_standard__NativeArray
*)var120
)->values
[1]=var133
;
3415 var134
= ((val
*(*)(val
* self
))(var_bound
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_bound
); /* to_s on <var_bound:nullable MType(MType)>*/
3417 ((struct instance_standard__NativeArray
*)var120
)->values
[3]=var134
;
3419 var135
= ((val
*(*)(val
* self
))(var120
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var120
); /* native_to_s on <var120:NativeArray[String]>*/
3421 varonce119
= var120
;
3423 nit___nit__ModelBuilder___error(var_modelbuilder
, var116
, var135
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
3429 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_46
); /* Direct call array#ArrayIterator#next on <var_46:ArrayIterator[MVirtualTypeDef]>*/
3435 BREAK_label
: (void)0;
3437 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_46
); /* Direct call array#ArrayIterator#finish on <var_46:ArrayIterator[MVirtualTypeDef]>*/