1 #include "nit__modelize_property.sep.0.h"
2 /* method modelize_property#ToolContext#modelize_property_phase for (self: ToolContext): Phase */
3 val
* nit__modelize_property___ToolContext___modelize_property_phase(val
* self
) {
4 val
* var
/* : Phase */;
5 val
* var1
/* : Phase */;
6 var1
= self
->attrs
[COLOR_nit__modelize_property__ToolContext___modelize_property_phase
].val
; /* _modelize_property_phase on <self:ToolContext> */
7 if (unlikely(var1
== NULL
)) {
8 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelize_property_phase");
9 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 24);
16 /* method modelize_property#ModelizePropertyPhase#process_nmodule for (self: ModelizePropertyPhase, AModule) */
17 void nit__modelize_property___nit__modelize_property__ModelizePropertyPhase___nit__phase__Phase__process_nmodule(val
* self
, val
* p0
) {
18 val
* var_nmodule
/* var nmodule: AModule */;
19 val
* var
/* : ANodes[AClassdef] */;
20 val
* var2
/* : ANodes[AClassdef] */;
21 val
* var_
/* var : ANodes[AClassdef] */;
22 val
* var3
/* : Iterator[ANode] */;
23 val
* var_4
/* var : Iterator[AClassdef] */;
24 short int var5
/* : Bool */;
25 val
* var6
/* : nullable Object */;
26 val
* var_nclassdef
/* var nclassdef: AClassdef */;
27 val
* var7
/* : nullable Array[AClassdef] */;
28 val
* var9
/* : nullable Array[AClassdef] */;
29 val
* var10
/* : null */;
30 short int var11
/* : Bool */;
31 short int var12
/* : Bool */;
32 val
* var13
/* : ToolContext */;
33 val
* var15
/* : ToolContext */;
34 val
* var16
/* : ModelBuilder */;
37 { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on <var_nmodule:AModule> */
38 var2
= var_nmodule
->attrs
[COLOR_nit__parser_nodes__AModule___n_classdefs
].val
; /* _n_classdefs on <var_nmodule:AModule> */
39 if (unlikely(var2
== NULL
)) {
40 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs");
41 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 919);
50 var3
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_
);
55 var5
= ((short int (*)(val
* self
))(var_4
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_4
) /* is_ok on <var_4:Iterator[AClassdef]>*/;
59 var6
= ((val
* (*)(val
* self
))(var_4
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_4
) /* item on <var_4:Iterator[AClassdef]>*/;
63 { /* Inline modelize_class#AClassdef#all_defs (var_nclassdef) on <var_nclassdef:AClassdef> */
64 var9
= var_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___all_defs
].val
; /* _all_defs on <var_nclassdef:AClassdef> */
71 var11
= 1; /* is null */
73 var11
= 0; /* arg is null but recv is not */
76 var12
= standard___standard__Array___standard__kernel__Object___61d_61d(var7
, var10
);
84 { /* Inline phase#Phase#toolcontext (self) on <self:ModelizePropertyPhase> */
85 var15
= self
->attrs
[COLOR_nit__phase__Phase___toolcontext
].val
; /* _toolcontext on <self:ModelizePropertyPhase> */
86 if (unlikely(var15
== NULL
)) {
87 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
88 PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase
, 201);
96 var16
= nit__modelbuilder_base___ToolContext___modelbuilder(var13
);
99 nit__modelize_property___ModelBuilder___build_properties(var16
, var_nclassdef
); /* Direct call modelize_property#ModelBuilder#build_properties on <var16:ModelBuilder>*/
101 BREAK_label
: (void)0;
103 ((void (*)(val
* self
))(var_4
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_4
) /* next on <var_4:Iterator[AClassdef]>*/;
109 BREAK_label17
: (void)0;
111 { /* Inline abstract_collection#Iterator#finish (var_4) on <var_4:Iterator[AClassdef]> */
117 /* method modelize_property#ModelBuilder#mpropdef2npropdef for (self: ModelBuilder): HashMap[MPropDef, APropdef] */
118 val
* nit__modelize_property___ModelBuilder___mpropdef2npropdef(val
* self
) {
119 val
* var
/* : HashMap[MPropDef, APropdef] */;
120 val
* var1
/* : HashMap[MPropDef, APropdef] */;
121 var1
= self
->attrs
[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <self:ModelBuilder> */
122 if (unlikely(var1
== NULL
)) {
123 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
124 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 40);
131 /* method modelize_property#ModelBuilder#mpropdef2node for (self: ModelBuilder, MPropDef): nullable ANode */
132 val
* nit__modelize_property___ModelBuilder___mpropdef2node(val
* self
, val
* p0
) {
133 val
* var
/* : nullable ANode */;
134 val
* var_mpropdef
/* var mpropdef: MPropDef */;
135 val
* var1
/* : HashMap[MPropDef, APropdef] */;
136 val
* var3
/* : HashMap[MPropDef, APropdef] */;
137 val
* var4
/* : nullable Object */;
138 val
* var_res
/* var res: nullable Object */;
139 val
* var5
/* : null */;
140 short int var6
/* : Bool */;
141 short int var7
/* : Bool */;
142 val
* var_other
/* var other: nullable Object */;
143 short int var9
/* : Bool */;
144 short int var10
/* : Bool */;
145 val
* var11
/* : ToolContext */;
146 val
* var13
/* : ToolContext */;
147 short int var14
/* : Bool */;
148 short int var15
/* : Bool */;
151 short int var_
/* var : Bool */;
152 val
* var16
/* : MProperty */;
153 val
* var18
/* : MProperty */;
154 short int var19
/* : Bool */;
155 short int var21
/* : Bool */;
156 val
* var22
/* : HashMap[MClassDef, AClassdef] */;
157 val
* var24
/* : HashMap[MClassDef, AClassdef] */;
158 val
* var25
/* : MClassDef */;
159 val
* var27
/* : MClassDef */;
160 val
* var28
/* : nullable Object */;
161 val
* var29
/* : null */;
162 short int var30
/* : Bool */;
163 short int var31
/* : Bool */;
164 short int var33
/* : Bool */;
165 short int var34
/* : Bool */;
166 val
* var35
/* : null */;
169 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (self) on <self:ModelBuilder> */
170 var3
= self
->attrs
[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <self:ModelBuilder> */
171 if (unlikely(var3
== NULL
)) {
172 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
173 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 40);
181 var4
= standard___standard__HashMap___standard__abstract_collection__MapRead__get_or_null(var1
, var_mpropdef
);
185 if (var_res
== NULL
) {
186 var6
= 0; /* is null */
188 var6
= 1; /* arg is null and recv is not */
191 { /* Inline kernel#Object#!= (var_res,var5) on <var_res:nullable Object(nullable APropdef)> */
194 var9
= ((short int (*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable APropdef(APropdef)>*/;
205 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
206 var13
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
207 if (unlikely(var13
== NULL
)) {
208 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
209 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
217 nit__phase___ToolContext___run_phases_on_npropdef(var11
, var_res
); /* Direct call phase#ToolContext#run_phases_on_npropdef on <var11:ToolContext>*/
223 /* <var_mpropdef:MPropDef> isa MMethodDef */
224 cltype
= type_nit__MMethodDef
.color
;
225 idtype
= type_nit__MMethodDef
.id
;
226 if(cltype
>= var_mpropdef
->type
->table_size
) {
229 var15
= var_mpropdef
->type
->type_table
[cltype
] == idtype
;
234 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MPropDef(MMethodDef)> */
235 var18
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MPropDef(MMethodDef)> */
236 if (unlikely(var18
== NULL
)) {
237 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
238 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
246 { /* Inline model#MMethod#is_root_init (var16) on <var16:MProperty(MMethod)> */
247 var21
= var16
->attrs
[COLOR_nit__model__MMethod___is_root_init
].s
; /* _is_root_init on <var16:MProperty(MMethod)> */
258 { /* Inline modelize_class#ModelBuilder#mclassdef2nclassdef (self) on <self:ModelBuilder> */
259 var24
= self
->attrs
[COLOR_nit__modelize_class__ModelBuilder___mclassdef2nclassdef
].val
; /* _mclassdef2nclassdef on <self:ModelBuilder> */
260 if (unlikely(var24
== NULL
)) {
261 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef2nclassdef");
262 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 426);
270 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MPropDef(MMethodDef)> */
271 var27
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MPropDef(MMethodDef)> */
272 if (unlikely(var27
== NULL
)) {
273 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
274 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
282 var28
= standard___standard__HashMap___standard__abstract_collection__MapRead__get_or_null(var22
, var25
);
286 if (var_res
== NULL
) {
287 var30
= 0; /* is null */
289 var30
= 1; /* arg is null and recv is not */
292 { /* Inline kernel#Object#!= (var_res,var29) on <var_res:nullable Object(nullable AClassdef)> */
295 var33
= ((short int (*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable AClassdef(AClassdef)>*/;
317 /* method modelize_property#ModelBuilder#collect_attr_propdef for (self: ModelBuilder, MClassDef): Array[AAttrPropdef] */
318 val
* nit__modelize_property___ModelBuilder___collect_attr_propdef(val
* self
, val
* p0
) {
319 val
* var
/* : Array[AAttrPropdef] */;
320 val
* var_mclassdef
/* var mclassdef: MClassDef */;
321 val
* var1
/* : Array[AAttrPropdef] */;
322 val
* var_res
/* var res: Array[AAttrPropdef] */;
323 val
* var2
/* : HashMap[MClassDef, AClassdef] */;
324 val
* var4
/* : HashMap[MClassDef, AClassdef] */;
325 val
* var5
/* : nullable Object */;
326 val
* var_n
/* var n: nullable AClassdef */;
327 val
* var6
/* : null */;
328 short int var7
/* : Bool */;
329 short int var8
/* : Bool */;
330 val
* var_other
/* var other: nullable Object */;
331 short int var10
/* : Bool */;
332 short int var12
/* : Bool */;
333 val
* var13
/* : ANodes[APropdef] */;
334 val
* var15
/* : ANodes[APropdef] */;
335 val
* var_
/* var : ANodes[APropdef] */;
336 val
* var16
/* : Iterator[ANode] */;
337 val
* var_17
/* var : Iterator[APropdef] */;
338 short int var18
/* : Bool */;
339 val
* var19
/* : nullable Object */;
340 val
* var_npropdef
/* var npropdef: APropdef */;
341 short int var20
/* : Bool */;
344 val
* var21
/* : ToolContext */;
345 val
* var23
/* : ToolContext */;
347 var1
= NEW_standard__Array(&type_standard__Array__nit__AAttrPropdef
);
349 standard___standard__Array___standard__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[AAttrPropdef]>*/
353 { /* Inline modelize_class#ModelBuilder#mclassdef2nclassdef (self) on <self:ModelBuilder> */
354 var4
= self
->attrs
[COLOR_nit__modelize_class__ModelBuilder___mclassdef2nclassdef
].val
; /* _mclassdef2nclassdef on <self:ModelBuilder> */
355 if (unlikely(var4
== NULL
)) {
356 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef2nclassdef");
357 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 426);
365 var5
= standard___standard__HashMap___standard__abstract_collection__MapRead__get_or_null(var2
, var_mclassdef
);
370 var7
= 1; /* is null */
372 var7
= 0; /* arg is null but recv is not */
375 { /* Inline kernel#Object#== (var_n,var6) on <var_n:nullable AClassdef> */
378 { /* Inline kernel#Object#is_same_instance (var_n,var_other) on <var_n:nullable AClassdef(AClassdef)> */
379 var12
= var_n
== var_other
;
397 { /* Inline parser_nodes#AClassdef#n_propdefs (var_n) on <var_n:nullable AClassdef(AClassdef)> */
398 var15
= var_n
->attrs
[COLOR_nit__parser_nodes__AClassdef___n_propdefs
].val
; /* _n_propdefs on <var_n:nullable AClassdef(AClassdef)> */
399 if (unlikely(var15
== NULL
)) {
400 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs");
401 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1012);
410 var16
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_
);
415 var18
= ((short int (*)(val
* self
))(var_17
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_17
) /* is_ok on <var_17:Iterator[APropdef]>*/;
419 var19
= ((val
* (*)(val
* self
))(var_17
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_17
) /* item on <var_17:Iterator[APropdef]>*/;
421 var_npropdef
= var19
;
422 /* <var_npropdef:APropdef> isa AAttrPropdef */
423 cltype
= type_nit__AAttrPropdef
.color
;
424 idtype
= type_nit__AAttrPropdef
.id
;
425 if(cltype
>= var_npropdef
->type
->table_size
) {
428 var20
= var_npropdef
->type
->type_table
[cltype
] == idtype
;
432 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
433 var23
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
434 if (unlikely(var23
== NULL
)) {
435 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
436 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
444 nit__phase___ToolContext___run_phases_on_npropdef(var21
, var_npropdef
); /* Direct call phase#ToolContext#run_phases_on_npropdef on <var21:ToolContext>*/
447 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res
, var_npropdef
); /* Direct call array#Array#add on <var_res:Array[AAttrPropdef]>*/
452 ((void (*)(val
* self
))(var_17
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_17
) /* next on <var_17:Iterator[APropdef]>*/;
458 BREAK_label
: (void)0;
460 { /* Inline abstract_collection#Iterator#finish (var_17) on <var_17:Iterator[APropdef]> */
469 /* method modelize_property#ModelBuilder#build_properties for (self: ModelBuilder, AClassdef) */
470 void nit__modelize_property___ModelBuilder___build_properties(val
* self
, val
* p0
) {
471 val
* var_nclassdef
/* var nclassdef: AClassdef */;
472 short int var
/* : Bool */;
473 short int var2
/* : Bool */;
474 short int var3
/* : Bool */;
475 val
* var5
/* : nullable MClassDef */;
476 val
* var7
/* : nullable MClassDef */;
477 val
* var_mclassdef
/* var mclassdef: MClassDef */;
478 val
* var8
/* : nullable POSetElement[MClassDef] */;
479 val
* var10
/* : nullable POSetElement[MClassDef] */;
480 val
* var11
/* : null */;
481 short int var12
/* : Bool */;
482 short int var13
/* : Bool */;
483 val
* var_other
/* var other: nullable Object */;
484 short int var15
/* : Bool */;
485 short int var17
/* : Bool */;
486 val
* var18
/* : nullable POSetElement[MClassDef] */;
487 val
* var20
/* : nullable POSetElement[MClassDef] */;
488 val
* var21
/* : Collection[nullable Object] */;
489 val
* var_
/* var : Collection[MClassDef] */;
490 val
* var22
/* : Iterator[nullable Object] */;
491 val
* var_23
/* var : Iterator[MClassDef] */;
492 short int var24
/* : Bool */;
493 val
* var25
/* : nullable Object */;
494 val
* var_superclassdef
/* var superclassdef: MClassDef */;
495 val
* var26
/* : HashMap[MClassDef, AClassdef] */;
496 val
* var28
/* : HashMap[MClassDef, AClassdef] */;
497 short int var29
/* : Bool */;
498 short int var30
/* : Bool */;
499 val
* var31
/* : HashMap[MClassDef, AClassdef] */;
500 val
* var33
/* : HashMap[MClassDef, AClassdef] */;
501 val
* var34
/* : nullable Object */;
502 val
* var37
/* : nullable Array[AClassdef] */;
503 val
* var39
/* : nullable Array[AClassdef] */;
504 val
* var_40
/* var : nullable Array[AClassdef] */;
505 val
* var41
/* : ArrayIterator[nullable Object] */;
506 val
* var_42
/* var : ArrayIterator[AClassdef] */;
507 short int var43
/* : Bool */;
508 val
* var44
/* : nullable Object */;
509 val
* var_nclassdef2
/* var nclassdef2: AClassdef */;
510 val
* var45
/* : ANodes[APropdef] */;
511 val
* var47
/* : ANodes[APropdef] */;
512 val
* var_48
/* var : ANodes[APropdef] */;
513 val
* var49
/* : Iterator[ANode] */;
514 val
* var_50
/* var : Iterator[APropdef] */;
515 short int var51
/* : Bool */;
516 val
* var52
/* : nullable Object */;
517 val
* var_npropdef
/* var npropdef: APropdef */;
518 val
* var55
/* : ANodes[APropdef] */;
519 val
* var57
/* : ANodes[APropdef] */;
520 val
* var_58
/* var : ANodes[APropdef] */;
521 val
* var59
/* : Iterator[ANode] */;
522 val
* var_60
/* var : Iterator[APropdef] */;
523 short int var61
/* : Bool */;
524 val
* var62
/* : nullable Object */;
525 val
* var_npropdef63
/* var npropdef: APropdef */;
526 val
* var66
/* : ANodes[APropdef] */;
527 val
* var68
/* : ANodes[APropdef] */;
528 val
* var_69
/* var : ANodes[APropdef] */;
529 val
* var70
/* : Iterator[ANode] */;
530 val
* var_71
/* var : Iterator[APropdef] */;
531 short int var72
/* : Bool */;
532 val
* var73
/* : nullable Object */;
533 val
* var_npropdef74
/* var npropdef: APropdef */;
536 { /* Inline modelize_property#AClassdef#build_properties_is_done (var_nclassdef) on <var_nclassdef:AClassdef> */
537 var2
= var_nclassdef
->attrs
[COLOR_nit__modelize_property__AClassdef___build_properties_is_done
].s
; /* _build_properties_is_done on <var_nclassdef:AClassdef> */
548 { /* Inline modelize_property#AClassdef#build_properties_is_done= (var_nclassdef,var3) on <var_nclassdef:AClassdef> */
549 var_nclassdef
->attrs
[COLOR_nit__modelize_property__AClassdef___build_properties_is_done
].s
= var3
; /* _build_properties_is_done on <var_nclassdef:AClassdef> */
554 { /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef) on <var_nclassdef:AClassdef> */
555 var7
= var_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_nclassdef:AClassdef> */
560 if (unlikely(var5
== NULL
)) {
561 PRINT_ERROR("Runtime error: %s", "Cast failed");
562 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 89);
565 var_mclassdef
= var5
;
567 { /* Inline model#MClassDef#in_hierarchy (var_mclassdef) on <var_mclassdef:MClassDef> */
568 var10
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___in_hierarchy
].val
; /* _in_hierarchy on <var_mclassdef:MClassDef> */
575 var12
= 1; /* is null */
577 var12
= 0; /* arg is null but recv is not */
580 { /* Inline kernel#Object#== (var8,var11) on <var8:nullable POSetElement[MClassDef]> */
583 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:nullable POSetElement[MClassDef](POSetElement[MClassDef])> */
584 var17
= var8
== var_other
;
601 { /* Inline model#MClassDef#in_hierarchy (var_mclassdef) on <var_mclassdef:MClassDef> */
602 var20
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___in_hierarchy
].val
; /* _in_hierarchy on <var_mclassdef:MClassDef> */
608 PRINT_ERROR("Runtime error: %s", "Receiver is null");
609 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 91);
612 var21
= poset___poset__POSetElement___direct_greaters(var18
);
616 var22
= ((val
* (*)(val
* self
))(var_
->class->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_
) /* iterator on <var_:Collection[MClassDef]>*/;
621 var24
= ((short int (*)(val
* self
))(var_23
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_23
) /* is_ok on <var_23:Iterator[MClassDef]>*/;
625 var25
= ((val
* (*)(val
* self
))(var_23
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_23
) /* item on <var_23:Iterator[MClassDef]>*/;
627 var_superclassdef
= var25
;
629 { /* Inline modelize_class#ModelBuilder#mclassdef2nclassdef (self) on <self:ModelBuilder> */
630 var28
= self
->attrs
[COLOR_nit__modelize_class__ModelBuilder___mclassdef2nclassdef
].val
; /* _mclassdef2nclassdef on <self:ModelBuilder> */
631 if (unlikely(var28
== NULL
)) {
632 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef2nclassdef");
633 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 426);
641 var29
= standard___standard__MapRead___has_key(var26
, var_superclassdef
);
649 { /* Inline modelize_class#ModelBuilder#mclassdef2nclassdef (self) on <self:ModelBuilder> */
650 var33
= self
->attrs
[COLOR_nit__modelize_class__ModelBuilder___mclassdef2nclassdef
].val
; /* _mclassdef2nclassdef on <self:ModelBuilder> */
651 if (unlikely(var33
== NULL
)) {
652 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef2nclassdef");
653 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 426);
661 var34
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var31
, var_superclassdef
);
664 nit__modelize_property___ModelBuilder___build_properties(self
, var34
); /* Direct call modelize_property#ModelBuilder#build_properties on <self:ModelBuilder>*/
666 BREAK_label
: (void)0;
668 ((void (*)(val
* self
))(var_23
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_23
) /* next on <var_23:Iterator[MClassDef]>*/;
674 BREAK_label35
: (void)0;
676 { /* Inline abstract_collection#Iterator#finish (var_23) on <var_23:Iterator[MClassDef]> */
681 nit__modelize_property___MClassDef___build_self_type(var_mclassdef
, self
, var_nclassdef
); /* Direct call modelize_property#MClassDef#build_self_type on <var_mclassdef:MClassDef>*/
684 { /* Inline modelize_class#AClassdef#all_defs (var_nclassdef) on <var_nclassdef:AClassdef> */
685 var39
= var_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___all_defs
].val
; /* _all_defs on <var_nclassdef:AClassdef> */
691 if (var_40
== NULL
) {
692 PRINT_ERROR("Runtime error: %s", "Receiver is null");
693 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 97);
696 var41
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_40
);
701 var43
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_42
);
705 var44
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_42
);
707 var_nclassdef2
= var44
;
709 { /* Inline parser_nodes#AClassdef#n_propdefs (var_nclassdef2) on <var_nclassdef2:AClassdef> */
710 var47
= var_nclassdef2
->attrs
[COLOR_nit__parser_nodes__AClassdef___n_propdefs
].val
; /* _n_propdefs on <var_nclassdef2:AClassdef> */
711 if (unlikely(var47
== NULL
)) {
712 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs");
713 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1012);
722 var49
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_48
);
727 var51
= ((short int (*)(val
* self
))(var_50
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_50
) /* is_ok on <var_50:Iterator[APropdef]>*/;
731 var52
= ((val
* (*)(val
* self
))(var_50
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_50
) /* item on <var_50:Iterator[APropdef]>*/;
733 var_npropdef
= var52
;
735 ((void (*)(val
* self
, val
* p0
, val
* p1
))(var_npropdef
->class->vft
[COLOR_nit__modelize_property__APropdef__build_property
]))(var_npropdef
, self
, var_mclassdef
) /* build_property on <var_npropdef:APropdef>*/;
738 ((void (*)(val
* self
))(var_50
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_50
) /* next on <var_50:Iterator[APropdef]>*/;
744 BREAK_label53
: (void)0;
746 { /* Inline abstract_collection#Iterator#finish (var_50) on <var_50:Iterator[APropdef]> */
751 { /* Inline parser_nodes#AClassdef#n_propdefs (var_nclassdef2) on <var_nclassdef2:AClassdef> */
752 var57
= var_nclassdef2
->attrs
[COLOR_nit__parser_nodes__AClassdef___n_propdefs
].val
; /* _n_propdefs on <var_nclassdef2:AClassdef> */
753 if (unlikely(var57
== NULL
)) {
754 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs");
755 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1012);
764 var59
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_58
);
769 var61
= ((short int (*)(val
* self
))(var_60
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_60
) /* is_ok on <var_60:Iterator[APropdef]>*/;
773 var62
= ((val
* (*)(val
* self
))(var_60
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_60
) /* item on <var_60:Iterator[APropdef]>*/;
775 var_npropdef63
= var62
;
777 ((void (*)(val
* self
, val
* p0
))(var_npropdef63
->class->vft
[COLOR_nit__modelize_property__APropdef__build_signature
]))(var_npropdef63
, self
) /* build_signature on <var_npropdef63:APropdef>*/;
780 ((void (*)(val
* self
))(var_60
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_60
) /* next on <var_60:Iterator[APropdef]>*/;
786 BREAK_label64
: (void)0;
788 { /* Inline abstract_collection#Iterator#finish (var_60) on <var_60:Iterator[APropdef]> */
793 { /* Inline parser_nodes#AClassdef#n_propdefs (var_nclassdef2) on <var_nclassdef2:AClassdef> */
794 var68
= var_nclassdef2
->attrs
[COLOR_nit__parser_nodes__AClassdef___n_propdefs
].val
; /* _n_propdefs on <var_nclassdef2:AClassdef> */
795 if (unlikely(var68
== NULL
)) {
796 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs");
797 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1012);
806 var70
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_69
);
811 var72
= ((short int (*)(val
* self
))(var_71
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_71
) /* is_ok on <var_71:Iterator[APropdef]>*/;
815 var73
= ((val
* (*)(val
* self
))(var_71
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_71
) /* item on <var_71:Iterator[APropdef]>*/;
817 var_npropdef74
= var73
;
819 ((void (*)(val
* self
, val
* p0
))(var_npropdef74
->class->vft
[COLOR_nit__modelize_property__APropdef__check_signature
]))(var_npropdef74
, self
) /* check_signature on <var_npropdef74:APropdef>*/;
822 ((void (*)(val
* self
))(var_71
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_71
) /* next on <var_71:Iterator[APropdef]>*/;
828 BREAK_label75
: (void)0;
830 { /* Inline abstract_collection#Iterator#finish (var_71) on <var_71:Iterator[APropdef]> */
835 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_42
); /* Direct call array#ArrayIterator#next on <var_42:ArrayIterator[AClassdef]>*/
841 BREAK_label77
: (void)0;
843 { /* Inline abstract_collection#Iterator#finish (var_42) on <var_42:ArrayIterator[AClassdef]> */
848 nit__modelize_property___ModelBuilder___process_default_constructors(self
, var_nclassdef
); /* Direct call modelize_property#ModelBuilder#process_default_constructors on <self:ModelBuilder>*/
852 /* method modelize_property#ModelBuilder#the_root_init_mmethod for (self: ModelBuilder): nullable MMethod */
853 val
* nit__modelize_property___ModelBuilder___the_root_init_mmethod(val
* self
) {
854 val
* var
/* : nullable MMethod */;
855 val
* var1
/* : nullable MMethod */;
856 var1
= self
->attrs
[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod
].val
; /* _the_root_init_mmethod on <self:ModelBuilder> */
861 /* method modelize_property#ModelBuilder#the_root_init_mmethod= for (self: ModelBuilder, nullable MMethod) */
862 void nit__modelize_property___ModelBuilder___the_root_init_mmethod_61d(val
* self
, val
* p0
) {
863 self
->attrs
[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod
].val
= p0
; /* _the_root_init_mmethod on <self:ModelBuilder> */
866 /* method modelize_property#ModelBuilder#process_default_constructors for (self: ModelBuilder, AClassdef) */
867 void nit__modelize_property___ModelBuilder___process_default_constructors(val
* self
, val
* p0
) {
868 val
* var_nclassdef
/* var nclassdef: AClassdef */;
869 val
* var
/* : nullable MClassDef */;
870 val
* var2
/* : nullable MClassDef */;
871 val
* var_mclassdef
/* var mclassdef: MClassDef */;
872 short int var3
/* : Bool */;
873 short int var4
/* : Bool */;
874 short int var5
/* : Bool */;
875 val
* var6
/* : MClass */;
876 val
* var8
/* : MClass */;
877 val
* var9
/* : String */;
878 val
* var11
/* : String */;
880 val
* var12
/* : String */;
881 char* var13
/* : NativeString */;
882 long var14
/* : Int */;
883 val
* var15
/* : FlatString */;
884 short int var16
/* : Bool */;
885 short int var_
/* var : Bool */;
886 val
* var17
/* : nullable MMethod */;
887 val
* var19
/* : nullable MMethod */;
888 val
* var20
/* : null */;
889 short int var21
/* : Bool */;
890 short int var22
/* : Bool */;
891 val
* var_other
/* var other: nullable Object */;
892 short int var24
/* : Bool */;
893 short int var26
/* : Bool */;
894 val
* var27
/* : MMethod */;
895 static val
* varonce28
;
896 val
* var29
/* : String */;
897 char* var30
/* : NativeString */;
898 long var31
/* : Int */;
899 val
* var32
/* : FlatString */;
900 val
* var33
/* : MClass */;
901 val
* var35
/* : MClass */;
902 val
* var36
/* : MVisibility */;
903 val
* var38
/* : MVisibility */;
904 val
* var_mprop
/* var mprop: MMethod */;
905 short int var39
/* : Bool */;
906 val
* var41
/* : MMethodDef */;
907 val
* var42
/* : Location */;
908 val
* var44
/* : Location */;
909 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
910 val
* var45
/* : Array[MParameter] */;
911 val
* var_mparameters
/* var mparameters: Array[MParameter] */;
912 val
* var46
/* : MSignature */;
913 val
* var47
/* : null */;
914 val
* var_msignature
/* var msignature: MSignature */;
915 short int var50
/* : Bool */;
916 val
* var53
/* : ToolContext */;
917 val
* var55
/* : ToolContext */;
918 static val
* varonce56
;
919 val
* var57
/* : String */;
920 char* var58
/* : NativeString */;
921 long var59
/* : Int */;
922 val
* var60
/* : FlatString */;
923 val
* var61
/* : Array[Object] */;
924 long var62
/* : Int */;
925 val
* var63
/* : NativeArray[Object] */;
926 val
* var64
/* : String */;
927 long var65
/* : Int */;
928 val
* var67
/* : MClass */;
929 val
* var69
/* : MClass */;
930 val
* var70
/* : MClassKind */;
931 val
* var72
/* : MClassKind */;
932 short int var73
/* : Bool */;
933 short int var75
/* : Bool */;
934 short int var76
/* : Bool */;
935 val
* var77
/* : null */;
936 val
* var_defined_init
/* var defined_init: nullable MMethodDef */;
937 val
* var78
/* : Array[MPropDef] */;
938 val
* var80
/* : Array[MPropDef] */;
939 val
* var_81
/* var : Array[MPropDef] */;
940 val
* var82
/* : ArrayIterator[nullable Object] */;
941 val
* var_83
/* var : ArrayIterator[MPropDef] */;
942 short int var84
/* : Bool */;
943 val
* var85
/* : nullable Object */;
944 val
* var_mpropdef86
/* var mpropdef: MPropDef */;
945 short int var87
/* : Bool */;
948 short int var88
/* : Bool */;
949 val
* var89
/* : MProperty */;
950 val
* var91
/* : MProperty */;
951 short int var92
/* : Bool */;
952 short int var94
/* : Bool */;
953 short int var95
/* : Bool */;
954 val
* var96
/* : MProperty */;
955 val
* var98
/* : MProperty */;
956 short int var99
/* : Bool */;
957 short int var101
/* : Bool */;
958 val
* var102
/* : null */;
959 short int var103
/* : Bool */;
960 short int var104
/* : Bool */;
961 short int var106
/* : Bool */;
962 short int var108
/* : Bool */;
963 val
* var109
/* : MProperty */;
964 val
* var111
/* : MProperty */;
965 val
* var112
/* : String */;
966 val
* var114
/* : String */;
967 static val
* varonce115
;
968 val
* var116
/* : String */;
969 char* var117
/* : NativeString */;
970 long var118
/* : Int */;
971 val
* var119
/* : FlatString */;
972 short int var120
/* : Bool */;
973 short int var123
/* : Bool */;
976 short int var126
/* : Bool */;
977 val
* var127
/* : Array[MParameter] */;
978 val
* var_mparameters128
/* var mparameters: Array[MParameter] */;
979 val
* var129
/* : Array[MProperty] */;
980 val
* var_initializers
/* var initializers: Array[MProperty] */;
981 val
* var130
/* : ANodes[APropdef] */;
982 val
* var132
/* : ANodes[APropdef] */;
983 val
* var_133
/* var : ANodes[APropdef] */;
984 val
* var134
/* : Iterator[ANode] */;
985 val
* var_135
/* var : Iterator[APropdef] */;
986 short int var136
/* : Bool */;
987 val
* var137
/* : nullable Object */;
988 val
* var_npropdef
/* var npropdef: APropdef */;
989 short int var138
/* : Bool */;
992 val
* var141
/* : nullable MPropDef */;
993 val
* var143
/* : nullable MPropDef */;
994 val
* var144
/* : null */;
995 short int var145
/* : Bool */;
996 short int var146
/* : Bool */;
997 short int var148
/* : Bool */;
998 short int var150
/* : Bool */;
999 static val
* varonce151
;
1000 val
* var152
/* : String */;
1001 char* var153
/* : NativeString */;
1002 long var154
/* : Int */;
1003 val
* var155
/* : FlatString */;
1004 val
* var156
/* : nullable AAnnotation */;
1005 val
* var_at
/* var at: nullable AAnnotation */;
1006 val
* var157
/* : null */;
1007 short int var158
/* : Bool */;
1008 short int var159
/* : Bool */;
1009 short int var161
/* : Bool */;
1010 short int var163
/* : Bool */;
1011 val
* var165
/* : nullable MPropDef */;
1012 val
* var167
/* : nullable MPropDef */;
1013 val
* var168
/* : nullable MSignature */;
1014 val
* var170
/* : nullable MSignature */;
1015 val
* var_sig
/* var sig: nullable MSignature */;
1016 val
* var171
/* : null */;
1017 short int var172
/* : Bool */;
1018 short int var173
/* : Bool */;
1019 short int var175
/* : Bool */;
1020 short int var177
/* : Bool */;
1021 val
* var178
/* : nullable MPropDef */;
1022 val
* var180
/* : nullable MPropDef */;
1023 short int var181
/* : Bool */;
1024 short int var182
/* : Bool */;
1025 static val
* varonce183
;
1026 val
* var184
/* : String */;
1027 char* var185
/* : NativeString */;
1028 long var186
/* : Int */;
1029 val
* var187
/* : FlatString */;
1030 val
* var188
/* : Array[MParameter] */;
1031 val
* var190
/* : Array[MParameter] */;
1032 val
* var_191
/* var : Array[MParameter] */;
1033 val
* var192
/* : ArrayIterator[nullable Object] */;
1034 val
* var_193
/* var : ArrayIterator[MParameter] */;
1035 short int var194
/* : Bool */;
1036 val
* var195
/* : nullable Object */;
1037 val
* var_param
/* var param: MParameter */;
1038 val
* var196
/* : MType */;
1039 val
* var198
/* : MType */;
1040 val
* var_ret_type
/* var ret_type: MType */;
1041 val
* var199
/* : MParameter */;
1042 val
* var200
/* : String */;
1043 val
* var202
/* : String */;
1044 short int var203
/* : Bool */;
1045 val
* var_mparameter
/* var mparameter: MParameter */;
1046 val
* var206
/* : nullable MPropDef */;
1047 val
* var208
/* : nullable MPropDef */;
1048 val
* var209
/* : MProperty */;
1049 val
* var211
/* : MProperty */;
1050 short int var212
/* : Bool */;
1053 val
* var215
/* : nullable MPropDef */;
1054 val
* var217
/* : nullable MPropDef */;
1055 val
* var218
/* : null */;
1056 short int var219
/* : Bool */;
1057 short int var220
/* : Bool */;
1058 short int var222
/* : Bool */;
1059 short int var224
/* : Bool */;
1060 short int var225
/* : Bool */;
1061 short int var227
/* : Bool */;
1062 static val
* varonce228
;
1063 val
* var229
/* : String */;
1064 char* var230
/* : NativeString */;
1065 long var231
/* : Int */;
1066 val
* var232
/* : FlatString */;
1067 val
* var233
/* : nullable AAnnotation */;
1068 val
* var_atautoinit
/* var atautoinit: nullable AAnnotation */;
1069 val
* var234
/* : null */;
1070 short int var235
/* : Bool */;
1071 short int var236
/* : Bool */;
1072 val
* var_other238
/* var other: nullable Object */;
1073 short int var239
/* : Bool */;
1074 short int var240
/* : Bool */;
1075 val
* var241
/* : nullable MMethodDef */;
1076 val
* var243
/* : nullable MMethodDef */;
1077 val
* var244
/* : MProperty */;
1078 val
* var246
/* : MProperty */;
1079 short int var247
/* : Bool */;
1080 short int var249
/* : Bool */;
1081 val
* var250
/* : nullable MPropDef */;
1082 val
* var252
/* : nullable MPropDef */;
1083 val
* var253
/* : MProperty */;
1084 val
* var255
/* : MProperty */;
1085 val
* var256
/* : String */;
1086 val
* var258
/* : String */;
1087 long var259
/* : Int */;
1088 val
* var260
/* : Text */;
1089 val
* var_paramname
/* var paramname: String */;
1090 val
* var261
/* : nullable MPropDef */;
1091 val
* var263
/* : nullable MPropDef */;
1092 val
* var264
/* : nullable MType */;
1093 val
* var266
/* : nullable MType */;
1094 val
* var_ret_type267
/* var ret_type: nullable MType */;
1095 val
* var268
/* : null */;
1096 short int var269
/* : Bool */;
1097 short int var270
/* : Bool */;
1098 short int var272
/* : Bool */;
1099 short int var274
/* : Bool */;
1100 val
* var275
/* : MParameter */;
1101 short int var276
/* : Bool */;
1102 val
* var_mparameter277
/* var mparameter: MParameter */;
1103 val
* var278
/* : nullable MMethodDef */;
1104 val
* var280
/* : nullable MMethodDef */;
1105 val
* var_msetter
/* var msetter: nullable MMethodDef */;
1106 val
* var281
/* : null */;
1107 short int var282
/* : Bool */;
1108 short int var283
/* : Bool */;
1109 short int var285
/* : Bool */;
1110 short int var287
/* : Bool */;
1111 val
* var288
/* : nullable MPropDef */;
1112 val
* var290
/* : nullable MPropDef */;
1113 val
* var291
/* : MProperty */;
1114 val
* var293
/* : MProperty */;
1115 val
* var294
/* : MProperty */;
1116 val
* var296
/* : MProperty */;
1117 val
* var299
/* : nullable MMethod */;
1118 val
* var301
/* : nullable MMethod */;
1119 val
* var302
/* : null */;
1120 short int var303
/* : Bool */;
1121 short int var304
/* : Bool */;
1122 short int var306
/* : Bool */;
1123 short int var308
/* : Bool */;
1124 val
* var309
/* : nullable MMethod */;
1125 val
* var311
/* : nullable MMethod */;
1126 val
* var312
/* : MModule */;
1127 val
* var314
/* : MModule */;
1128 val
* var315
/* : MClassType */;
1129 val
* var317
/* : MClassType */;
1130 val
* var318
/* : Array[MPropDef] */;
1131 val
* var_spropdefs
/* var spropdefs: Array[MMethodDef] */;
1132 short int var319
/* : Bool */;
1133 val
* var320
/* : ToolContext */;
1134 val
* var322
/* : ToolContext */;
1135 val
* var323
/* : Location */;
1136 val
* var325
/* : Location */;
1137 static val
* varonce326
;
1138 val
* var327
/* : String */;
1139 char* var328
/* : NativeString */;
1140 long var329
/* : Int */;
1141 val
* var330
/* : FlatString */;
1142 static val
* varonce331
;
1143 val
* var332
/* : String */;
1144 char* var333
/* : NativeString */;
1145 long var334
/* : Int */;
1146 val
* var335
/* : FlatString */;
1147 val
* var336
/* : nullable MMethod */;
1148 val
* var338
/* : nullable MMethod */;
1149 val
* var339
/* : MClassDef */;
1150 val
* var341
/* : MClassDef */;
1151 static val
* varonce342
;
1152 val
* var343
/* : String */;
1153 char* var344
/* : NativeString */;
1154 long var345
/* : Int */;
1155 val
* var346
/* : FlatString */;
1156 val
* var347
/* : Array[Object] */;
1157 long var348
/* : Int */;
1158 val
* var349
/* : NativeArray[Object] */;
1159 val
* var350
/* : String */;
1160 val
* var351
/* : nullable Object */;
1161 val
* var_longest
/* var longest: MMethodDef */;
1162 long var352
/* : Int */;
1163 long var354
/* : Int */;
1164 long var355
/* : Int */;
1165 short int var356
/* : Bool */;
1166 short int var358
/* : Bool */;
1169 const char* var_class_name
;
1170 short int var361
/* : Bool */;
1171 val
* var_362
/* var : Array[MMethodDef] */;
1172 val
* var363
/* : ArrayIterator[nullable Object] */;
1173 val
* var_364
/* var : ArrayIterator[MMethodDef] */;
1174 short int var365
/* : Bool */;
1175 val
* var366
/* : nullable Object */;
1176 val
* var_spd
/* var spd: MMethodDef */;
1177 val
* var367
/* : Array[MProperty] */;
1178 val
* var369
/* : Array[MProperty] */;
1179 long var370
/* : Int */;
1180 long var372
/* : Int */;
1181 val
* var373
/* : Array[MProperty] */;
1182 val
* var375
/* : Array[MProperty] */;
1183 long var376
/* : Int */;
1184 long var378
/* : Int */;
1185 short int var379
/* : Bool */;
1186 short int var381
/* : Bool */;
1189 const char* var_class_name384
;
1190 short int var385
/* : Bool */;
1191 val
* var_388
/* var : Array[MMethodDef] */;
1192 val
* var389
/* : ArrayIterator[nullable Object] */;
1193 val
* var_390
/* var : ArrayIterator[MMethodDef] */;
1194 short int var391
/* : Bool */;
1195 val
* var392
/* : nullable Object */;
1196 val
* var_spd393
/* var spd: MMethodDef */;
1197 long var394
/* : Int */;
1198 long var_i
/* var i: Int */;
1199 val
* var395
/* : Array[MProperty] */;
1200 val
* var397
/* : Array[MProperty] */;
1201 val
* var_398
/* var : Array[MProperty] */;
1202 val
* var399
/* : ArrayIterator[nullable Object] */;
1203 val
* var_400
/* var : ArrayIterator[MProperty] */;
1204 short int var401
/* : Bool */;
1205 val
* var402
/* : nullable Object */;
1206 val
* var_p
/* var p: MProperty */;
1207 val
* var403
/* : Array[MProperty] */;
1208 val
* var405
/* : Array[MProperty] */;
1209 val
* var406
/* : nullable Object */;
1210 short int var407
/* : Bool */;
1211 short int var409
/* : Bool */;
1212 short int var410
/* : Bool */;
1213 static val
* varonce411
;
1214 val
* var412
/* : String */;
1215 char* var413
/* : NativeString */;
1216 long var414
/* : Int */;
1217 val
* var415
/* : FlatString */;
1218 static val
* varonce416
;
1219 val
* var417
/* : String */;
1220 char* var418
/* : NativeString */;
1221 long var419
/* : Int */;
1222 val
* var420
/* : FlatString */;
1223 val
* var421
/* : Array[MProperty] */;
1224 val
* var423
/* : Array[MProperty] */;
1225 static val
* varonce424
;
1226 val
* var425
/* : String */;
1227 char* var426
/* : NativeString */;
1228 long var427
/* : Int */;
1229 val
* var428
/* : FlatString */;
1230 val
* var429
/* : String */;
1231 static val
* varonce430
;
1232 val
* var431
/* : String */;
1233 char* var432
/* : NativeString */;
1234 long var433
/* : Int */;
1235 val
* var434
/* : FlatString */;
1236 static val
* varonce435
;
1237 val
* var436
/* : String */;
1238 char* var437
/* : NativeString */;
1239 long var438
/* : Int */;
1240 val
* var439
/* : FlatString */;
1241 val
* var440
/* : Array[MProperty] */;
1242 val
* var442
/* : Array[MProperty] */;
1243 static val
* varonce443
;
1244 val
* var444
/* : String */;
1245 char* var445
/* : NativeString */;
1246 long var446
/* : Int */;
1247 val
* var447
/* : FlatString */;
1248 val
* var448
/* : String */;
1249 static val
* varonce449
;
1250 val
* var450
/* : String */;
1251 char* var451
/* : NativeString */;
1252 long var452
/* : Int */;
1253 val
* var453
/* : FlatString */;
1254 val
* var454
/* : Array[Object] */;
1255 long var455
/* : Int */;
1256 val
* var456
/* : NativeArray[Object] */;
1257 val
* var457
/* : String */;
1258 long var458
/* : Int */;
1259 long var459
/* : Int */;
1260 short int var461
/* : Bool */;
1263 const char* var_class_name464
;
1264 long var465
/* : Int */;
1265 short int var470
/* : Bool */;
1266 short int var471
/* : Bool */;
1267 long var472
/* : Int */;
1268 long var474
/* : Int */;
1269 long var475
/* : Int */;
1270 short int var476
/* : Bool */;
1271 short int var478
/* : Bool */;
1272 short int var_479
/* var : Bool */;
1273 short int var480
/* : Bool */;
1274 short int var_481
/* var : Bool */;
1275 val
* var482
/* : null */;
1276 short int var483
/* : Bool */;
1277 short int var484
/* : Bool */;
1278 short int var486
/* : Bool */;
1279 short int var488
/* : Bool */;
1280 val
* var489
/* : ToolContext */;
1281 val
* var491
/* : ToolContext */;
1282 static val
* varonce492
;
1283 val
* var493
/* : String */;
1284 char* var494
/* : NativeString */;
1285 long var495
/* : Int */;
1286 val
* var496
/* : FlatString */;
1287 val
* var497
/* : Array[Object] */;
1288 long var498
/* : Int */;
1289 val
* var499
/* : NativeArray[Object] */;
1290 val
* var500
/* : String */;
1291 long var501
/* : Int */;
1292 val
* var502
/* : MClass */;
1293 val
* var504
/* : MClass */;
1294 val
* var506
/* : Array[MProperty] */;
1295 val
* var508
/* : Array[MProperty] */;
1296 long var509
/* : Int */;
1297 long var511
/* : Int */;
1298 long var512
/* : Int */;
1299 short int var513
/* : Bool */;
1300 short int var515
/* : Bool */;
1303 const char* var_class_name518
;
1304 short int var519
/* : Bool */;
1305 val
* var520
/* : nullable MSignature */;
1306 val
* var522
/* : nullable MSignature */;
1307 val
* var523
/* : Array[MParameter] */;
1308 val
* var525
/* : Array[MParameter] */;
1309 val
* var526
/* : Array[MProperty] */;
1310 val
* var528
/* : Array[MProperty] */;
1311 val
* var529
/* : null */;
1312 short int var530
/* : Bool */;
1313 short int var531
/* : Bool */;
1314 short int var533
/* : Bool */;
1315 short int var534
/* : Bool */;
1316 val
* var535
/* : Array[MProperty] */;
1317 val
* var537
/* : Array[MProperty] */;
1318 val
* var538
/* : MSignature */;
1319 val
* var539
/* : null */;
1320 val
* var_msignature540
/* var msignature: MSignature */;
1321 val
* var542
/* : ToolContext */;
1322 val
* var544
/* : ToolContext */;
1323 static val
* varonce545
;
1324 val
* var546
/* : String */;
1325 char* var547
/* : NativeString */;
1326 long var548
/* : Int */;
1327 val
* var549
/* : FlatString */;
1328 val
* var550
/* : Array[Object] */;
1329 long var551
/* : Int */;
1330 val
* var552
/* : NativeArray[Object] */;
1331 val
* var553
/* : String */;
1332 long var554
/* : Int */;
1333 val
* var555
/* : MClass */;
1334 val
* var557
/* : MClass */;
1335 val
* var559
/* : nullable MMethod */;
1336 val
* var561
/* : nullable MMethod */;
1337 val
* var_mprop562
/* var mprop: MMethod */;
1338 val
* var563
/* : MMethodDef */;
1339 val
* var564
/* : Location */;
1340 val
* var566
/* : Location */;
1341 val
* var_mpropdef567
/* var mpropdef: MMethodDef */;
1342 short int var568
/* : Bool */;
1343 val
* var570
/* : Array[MProperty] */;
1344 val
* var572
/* : Array[MProperty] */;
1345 val
* var573
/* : MSignature */;
1346 val
* var574
/* : null */;
1347 val
* var_msignature575
/* var msignature: MSignature */;
1348 val
* var577
/* : MSignature */;
1349 val
* var578
/* : Array[MParameter] */;
1350 val
* var579
/* : null */;
1351 val
* var582
/* : ToolContext */;
1352 val
* var584
/* : ToolContext */;
1353 static val
* varonce585
;
1354 val
* var586
/* : String */;
1355 char* var587
/* : NativeString */;
1356 long var588
/* : Int */;
1357 val
* var589
/* : FlatString */;
1358 val
* var590
/* : Array[Object] */;
1359 long var591
/* : Int */;
1360 val
* var592
/* : NativeArray[Object] */;
1361 val
* var593
/* : String */;
1362 long var594
/* : Int */;
1363 val
* var595
/* : MClass */;
1364 val
* var597
/* : MClass */;
1367 { /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef) on <var_nclassdef:AClassdef> */
1368 var2
= var_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_nclassdef:AClassdef> */
1373 if (unlikely(var
== NULL
)) {
1374 PRINT_ERROR("Runtime error: %s", "Cast failed");
1375 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 120);
1378 var_mclassdef
= var
;
1380 var3
= nit___nit__MClassDef___is_intro(var_mclassdef
);
1388 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
1389 var8
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
1390 if (unlikely(var8
== NULL
)) {
1391 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1392 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
1400 { /* Inline model#MClass#name (var6) on <var6:MClass> */
1401 var11
= var6
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var6:MClass> */
1402 if (unlikely(var11
== NULL
)) {
1403 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1404 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
1408 RET_LABEL10
:(void)0;
1416 var15
= standard___standard__NativeString___to_s_with_length(var13
, var14
);
1421 var16
= ((short int (*)(val
* self
, val
* p0
))(var9
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var9
, var12
) /* == on <var9:String>*/;
1426 { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (self) on <self:ModelBuilder> */
1427 var19
= self
->attrs
[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod
].val
; /* _the_root_init_mmethod on <self:ModelBuilder> */
1429 RET_LABEL18
:(void)0;
1433 if (var17
== NULL
) {
1434 var21
= 1; /* is null */
1436 var21
= 0; /* arg is null but recv is not */
1439 { /* Inline kernel#Object#== (var17,var20) on <var17:nullable MMethod> */
1442 { /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:nullable MMethod(MMethod)> */
1443 var26
= var17
== var_other
;
1446 RET_LABEL25
:(void)0;
1451 RET_LABEL23
:(void)0;
1460 var27
= NEW_nit__MMethod(&type_nit__MMethod
);
1466 var32
= standard___standard__NativeString___to_s_with_length(var30
, var31
);
1471 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
1472 var35
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
1473 if (unlikely(var35
== NULL
)) {
1474 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1475 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
1479 RET_LABEL34
:(void)0;
1483 { /* Inline model#MClass#visibility (var33) on <var33:MClass> */
1484 var38
= var33
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <var33:MClass> */
1485 if (unlikely(var38
== NULL
)) {
1486 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
1487 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 403);
1491 RET_LABEL37
:(void)0;
1495 ((void (*)(val
* self
, val
* p0
))(var27
->class->vft
[COLOR_nit__model__MProperty__intro_mclassdef_61d
]))(var27
, var_mclassdef
) /* intro_mclassdef= on <var27:MMethod>*/;
1498 ((void (*)(val
* self
, val
* p0
))(var27
->class->vft
[COLOR_nit__model__MProperty__name_61d
]))(var27
, var29
) /* name= on <var27:MMethod>*/;
1501 ((void (*)(val
* self
, val
* p0
))(var27
->class->vft
[COLOR_nit__model__MProperty__visibility_61d
]))(var27
, var36
) /* visibility= on <var27:MMethod>*/;
1504 ((void (*)(val
* self
))(var27
->class->vft
[COLOR_standard__kernel__Object__init
]))(var27
) /* init on <var27:MMethod>*/;
1509 { /* Inline model#MMethod#is_root_init= (var_mprop,var39) on <var_mprop:MMethod> */
1510 var_mprop
->attrs
[COLOR_nit__model__MMethod___is_root_init
].s
= var39
; /* _is_root_init on <var_mprop:MMethod> */
1511 RET_LABEL40
:(void)0;
1514 var41
= NEW_nit__MMethodDef(&type_nit__MMethodDef
);
1516 { /* Inline parser_nodes#ANode#location (var_nclassdef) on <var_nclassdef:AClassdef> */
1517 var44
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <var_nclassdef:AClassdef> */
1518 if (unlikely(var44
== NULL
)) {
1519 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
1520 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 23);
1524 RET_LABEL43
:(void)0;
1528 ((void (*)(val
* self
, val
* p0
))(var41
->class->vft
[COLOR_nit__model__MPropDef__mclassdef_61d
]))(var41
, var_mclassdef
) /* mclassdef= on <var41:MMethodDef>*/;
1531 ((void (*)(val
* self
, val
* p0
))(var41
->class->vft
[COLOR_nit__model__MPropDef__mproperty_61d
]))(var41
, var_mprop
) /* mproperty= on <var41:MMethodDef>*/;
1534 ((void (*)(val
* self
, val
* p0
))(var41
->class->vft
[COLOR_nit__model__MPropDef__location_61d
]))(var41
, var42
) /* location= on <var41:MMethodDef>*/;
1537 ((void (*)(val
* self
))(var41
->class->vft
[COLOR_standard__kernel__Object__init
]))(var41
) /* init on <var41:MMethodDef>*/;
1539 var_mpropdef
= var41
;
1540 var45
= NEW_standard__Array(&type_standard__Array__nit__MParameter
);
1542 standard___standard__Array___standard__kernel__Object__init(var45
); /* Direct call array#Array#init on <var45:Array[MParameter]>*/
1544 var_mparameters
= var45
;
1545 var46
= NEW_nit__MSignature(&type_nit__MSignature
);
1548 ((void (*)(val
* self
, val
* p0
))(var46
->class->vft
[COLOR_nit__model__MSignature__mparameters_61d
]))(var46
, var_mparameters
) /* mparameters= on <var46:MSignature>*/;
1551 ((void (*)(val
* self
, val
* p0
))(var46
->class->vft
[COLOR_nit__model__MSignature__return_mtype_61d
]))(var46
, var47
) /* return_mtype= on <var46:MSignature>*/;
1554 ((void (*)(val
* self
))(var46
->class->vft
[COLOR_standard__kernel__Object__init
]))(var46
) /* init on <var46:MSignature>*/;
1556 var_msignature
= var46
;
1558 { /* Inline model#MMethodDef#msignature= (var_mpropdef,var_msignature) on <var_mpropdef:MMethodDef> */
1559 var_mpropdef
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
= var_msignature
; /* _msignature on <var_mpropdef:MMethodDef> */
1560 RET_LABEL48
:(void)0;
1564 { /* Inline model#MMethodDef#new_msignature= (var_mpropdef,var_msignature) on <var_mpropdef:MMethodDef> */
1565 var_mpropdef
->attrs
[COLOR_nit__model__MMethodDef___new_msignature
].val
= var_msignature
; /* _new_msignature on <var_mpropdef:MMethodDef> */
1566 RET_LABEL49
:(void)0;
1571 { /* Inline model#MMethod#is_init= (var_mprop,var50) on <var_mprop:MMethod> */
1572 var_mprop
->attrs
[COLOR_nit__model__MMethod___is_init
].s
= var50
; /* _is_init on <var_mprop:MMethod> */
1573 RET_LABEL51
:(void)0;
1577 { /* Inline modelize_property#AClassdef#mfree_init= (var_nclassdef,var_mpropdef) on <var_nclassdef:AClassdef> */
1578 var_nclassdef
->attrs
[COLOR_nit__modelize_property__AClassdef___mfree_init
].val
= var_mpropdef
; /* _mfree_init on <var_nclassdef:AClassdef> */
1579 RET_LABEL52
:(void)0;
1583 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
1584 var55
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
1585 if (unlikely(var55
== NULL
)) {
1586 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1587 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1591 RET_LABEL54
:(void)0;
1597 var58
= " gets a free empty constructor ";
1599 var60
= standard___standard__NativeString___to_s_with_length(var58
, var59
);
1603 var61
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1604 { /* var61 = array_instance Array[Object] */
1606 var63
= NEW_standard__NativeArray(var62
, &type_standard__NativeArray__standard__Object
);
1607 ((struct instance_standard__NativeArray
*)var63
)->values
[0] = (val
*) var_mclassdef
;
1608 ((struct instance_standard__NativeArray
*)var63
)->values
[1] = (val
*) var57
;
1609 ((struct instance_standard__NativeArray
*)var63
)->values
[2] = (val
*) var_mpropdef
;
1610 ((struct instance_standard__NativeArray
*)var63
)->values
[3] = (val
*) var_msignature
;
1612 ((void (*)(val
* self
, val
* p0
, long p1
))(var61
->class->vft
[COLOR_standard__array__Array__with_native
]))(var61
, var63
, var62
) /* with_native on <var61:Array[Object]>*/;
1616 var64
= ((val
* (*)(val
* self
))(var61
->class->vft
[COLOR_standard__string__Object__to_s
]))(var61
) /* to_s on <var61:Array[Object]>*/;
1620 nit___nit__ToolContext___info(var53
, var64
, var65
); /* Direct call toolcontext#ToolContext#info on <var53:ToolContext>*/
1623 { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod= (self,var_mprop) on <self:ModelBuilder> */
1624 self
->attrs
[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod
].val
= var_mprop
; /* _the_root_init_mmethod on <self:ModelBuilder> */
1625 RET_LABEL66
:(void)0;
1632 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
1633 var69
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
1634 if (unlikely(var69
== NULL
)) {
1635 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1636 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
1640 RET_LABEL68
:(void)0;
1644 { /* Inline model#MClass#kind (var67) on <var67:MClass> */
1645 var72
= var67
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var67:MClass> */
1646 if (unlikely(var72
== NULL
)) {
1647 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
1648 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
1652 RET_LABEL71
:(void)0;
1656 { /* Inline model#MClassKind#need_init (var70) on <var70:MClassKind> */
1657 var75
= var70
->attrs
[COLOR_nit__model__MClassKind___need_init
].s
; /* _need_init on <var70:MClassKind> */
1659 RET_LABEL74
:(void)0;
1668 var_defined_init
= var77
;
1670 { /* Inline model#MClassDef#mpropdefs (var_mclassdef) on <var_mclassdef:MClassDef> */
1671 var80
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mpropdefs
].val
; /* _mpropdefs on <var_mclassdef:MClassDef> */
1672 if (unlikely(var80
== NULL
)) {
1673 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
1674 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 623);
1678 RET_LABEL79
:(void)0;
1683 var82
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_81
);
1688 var84
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_83
);
1692 var85
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_83
);
1694 var_mpropdef86
= var85
;
1695 /* <var_mpropdef86:MPropDef> isa MMethodDef */
1696 cltype
= type_nit__MMethodDef
.color
;
1697 idtype
= type_nit__MMethodDef
.id
;
1698 if(cltype
>= var_mpropdef86
->type
->table_size
) {
1701 var87
= var_mpropdef86
->type
->type_table
[cltype
] == idtype
;
1709 { /* Inline model#MPropDef#mproperty (var_mpropdef86) on <var_mpropdef86:MPropDef(MMethodDef)> */
1710 var91
= var_mpropdef86
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef86:MPropDef(MMethodDef)> */
1711 if (unlikely(var91
== NULL
)) {
1712 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1713 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
1717 RET_LABEL90
:(void)0;
1721 { /* Inline model#MMethod#is_init (var89) on <var89:MProperty(MMethod)> */
1722 var94
= var89
->attrs
[COLOR_nit__model__MMethod___is_init
].s
; /* _is_init on <var89:MProperty(MMethod)> */
1724 RET_LABEL93
:(void)0;
1733 { /* Inline model#MPropDef#mproperty (var_mpropdef86) on <var_mpropdef86:MPropDef(MMethodDef)> */
1734 var98
= var_mpropdef86
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef86:MPropDef(MMethodDef)> */
1735 if (unlikely(var98
== NULL
)) {
1736 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1737 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
1741 RET_LABEL97
:(void)0;
1745 { /* Inline model#MMethod#is_root_init (var96) on <var96:MProperty(MMethod)> */
1746 var101
= var96
->attrs
[COLOR_nit__model__MMethod___is_root_init
].s
; /* _is_root_init on <var96:MProperty(MMethod)> */
1748 RET_LABEL100
:(void)0;
1753 if (var_defined_init
== NULL
) {
1754 var103
= 1; /* is null */
1756 var103
= 0; /* arg is null but recv is not */
1759 { /* Inline kernel#Object#== (var_defined_init,var102) on <var_defined_init:nullable MMethodDef> */
1762 { /* Inline kernel#Object#is_same_instance (var_defined_init,var_other) on <var_defined_init:nullable MMethodDef(MMethodDef)> */
1763 var108
= var_defined_init
== var_other
;
1766 RET_LABEL107
:(void)0;
1771 RET_LABEL105
:(void)0;
1775 if (unlikely(!var103
)) {
1776 PRINT_ERROR("Runtime error: %s", "Assert failed");
1777 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 151);
1780 var_defined_init
= var_mpropdef86
;
1783 { /* Inline model#MPropDef#mproperty (var_mpropdef86) on <var_mpropdef86:MPropDef(MMethodDef)> */
1784 var111
= var_mpropdef86
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef86:MPropDef(MMethodDef)> */
1785 if (unlikely(var111
== NULL
)) {
1786 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1787 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
1791 RET_LABEL110
:(void)0;
1795 { /* Inline model#MProperty#name (var109) on <var109:MProperty(MMethod)> */
1796 var114
= var109
->attrs
[COLOR_nit__model__MProperty___name
].val
; /* _name on <var109:MProperty(MMethod)> */
1797 if (unlikely(var114
== NULL
)) {
1798 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1799 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1741);
1803 RET_LABEL113
:(void)0;
1807 var116
= varonce115
;
1811 var119
= standard___standard__NativeString___to_s_with_length(var117
, var118
);
1813 varonce115
= var116
;
1816 var120
= ((short int (*)(val
* self
, val
* p0
))(var112
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var112
, var116
) /* == on <var112:String>*/;
1823 BREAK_label
: (void)0;
1825 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_83
); /* Direct call array#ArrayIterator#next on <var_83:ArrayIterator[MPropDef]>*/
1828 goto BREAK_label121
;
1831 BREAK_label121
: (void)0;
1833 { /* Inline abstract_collection#Iterator#finish (var_83) on <var_83:ArrayIterator[MPropDef]> */
1834 RET_LABEL122
:(void)0;
1837 /* <var_nclassdef:AClassdef> isa AStdClassdef */
1838 cltype124
= type_nit__AStdClassdef
.color
;
1839 idtype125
= type_nit__AStdClassdef
.id
;
1840 if(cltype124
>= var_nclassdef
->type
->table_size
) {
1843 var123
= var_nclassdef
->type
->type_table
[cltype124
] == idtype125
;
1850 var127
= NEW_standard__Array(&type_standard__Array__nit__MParameter
);
1852 standard___standard__Array___standard__kernel__Object__init(var127
); /* Direct call array#Array#init on <var127:Array[MParameter]>*/
1854 var_mparameters128
= var127
;
1855 var129
= NEW_standard__Array(&type_standard__Array__nit__MProperty
);
1857 standard___standard__Array___standard__kernel__Object__init(var129
); /* Direct call array#Array#init on <var129:Array[MProperty]>*/
1859 var_initializers
= var129
;
1861 { /* Inline parser_nodes#AClassdef#n_propdefs (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
1862 var132
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__AClassdef___n_propdefs
].val
; /* _n_propdefs on <var_nclassdef:AClassdef(AStdClassdef)> */
1863 if (unlikely(var132
== NULL
)) {
1864 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs");
1865 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1012);
1869 RET_LABEL131
:(void)0;
1874 var134
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_133
);
1879 var136
= ((short int (*)(val
* self
))(var_135
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_135
) /* is_ok on <var_135:Iterator[APropdef]>*/;
1883 var137
= ((val
* (*)(val
* self
))(var_135
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_135
) /* item on <var_135:Iterator[APropdef]>*/;
1885 var_npropdef
= var137
;
1886 /* <var_npropdef:APropdef> isa AMethPropdef */
1887 cltype139
= type_nit__AMethPropdef
.color
;
1888 idtype140
= type_nit__AMethPropdef
.id
;
1889 if(cltype139
>= var_npropdef
->type
->table_size
) {
1892 var138
= var_npropdef
->type
->type_table
[cltype139
] == idtype140
;
1896 { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on <var_npropdef:APropdef(AMethPropdef)> */
1897 var143
= var_npropdef
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <var_npropdef:APropdef(AMethPropdef)> */
1899 RET_LABEL142
:(void)0;
1903 if (var141
== NULL
) {
1904 var145
= 1; /* is null */
1906 var145
= 0; /* arg is null but recv is not */
1909 { /* Inline kernel#Object#== (var141,var144) on <var141:nullable MPropDef(nullable MMethodDef)> */
1912 { /* Inline kernel#Object#is_same_instance (var141,var_other) on <var141:nullable MMethodDef(MMethodDef)> */
1913 var150
= var141
== var_other
;
1916 RET_LABEL149
:(void)0;
1921 RET_LABEL147
:(void)0;
1930 var152
= varonce151
;
1932 var153
= "autoinit";
1934 var155
= standard___standard__NativeString___to_s_with_length(var153
, var154
);
1936 varonce151
= var152
;
1939 var156
= nit__annotation___Prod___get_single_annotation(var_npropdef
, var152
, self
);
1943 if (var_at
== NULL
) {
1944 var158
= 1; /* is null */
1946 var158
= 0; /* arg is null but recv is not */
1949 { /* Inline kernel#Object#== (var_at,var157) on <var_at:nullable AAnnotation> */
1952 { /* Inline kernel#Object#is_same_instance (var_at,var_other) on <var_at:nullable AAnnotation(AAnnotation)> */
1953 var163
= var_at
== var_other
;
1956 RET_LABEL162
:(void)0;
1961 RET_LABEL160
:(void)0;
1966 goto BREAK_label164
;
1970 { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on <var_npropdef:APropdef(AMethPropdef)> */
1971 var167
= var_npropdef
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <var_npropdef:APropdef(AMethPropdef)> */
1973 RET_LABEL166
:(void)0;
1976 if (var165
== NULL
) {
1977 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1978 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 170);
1981 { /* Inline model#MMethodDef#msignature (var165) on <var165:nullable MPropDef(nullable MMethodDef)> */
1982 if (unlikely(var165
== NULL
)) {
1983 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1984 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2137);
1987 var170
= var165
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var165:nullable MPropDef(nullable MMethodDef)> */
1989 RET_LABEL169
:(void)0;
1994 if (var_sig
== NULL
) {
1995 var172
= 1; /* is null */
1997 var172
= 0; /* arg is null but recv is not */
2000 { /* Inline kernel#Object#== (var_sig,var171) on <var_sig:nullable MSignature> */
2003 { /* Inline kernel#Object#is_same_instance (var_sig,var_other) on <var_sig:nullable MSignature(MSignature)> */
2004 var177
= var_sig
== var_other
;
2007 RET_LABEL176
:(void)0;
2012 RET_LABEL174
:(void)0;
2017 goto BREAK_label164
;
2021 { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on <var_npropdef:APropdef(AMethPropdef)> */
2022 var180
= var_npropdef
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <var_npropdef:APropdef(AMethPropdef)> */
2024 RET_LABEL179
:(void)0;
2027 if (var178
== NULL
) {
2028 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2029 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 173);
2032 var181
= nit___nit__MPropDef___is_intro(var178
);
2037 var184
= varonce183
;
2039 var185
= "Error: `autoinit` cannot be set on redefinitions";
2041 var187
= standard___standard__NativeString___to_s_with_length(var185
, var186
);
2043 varonce183
= var184
;
2046 nit___nit__ModelBuilder___error(self
, var_at
, var184
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
2048 goto BREAK_label164
;
2052 { /* Inline model#MSignature#mparameters (var_sig) on <var_sig:nullable MSignature(MSignature)> */
2053 var190
= var_sig
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var_sig:nullable MSignature(MSignature)> */
2054 if (unlikely(var190
== NULL
)) {
2055 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
2056 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1592);
2060 RET_LABEL189
:(void)0;
2065 var192
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_191
);
2070 var194
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_193
);
2074 var195
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_193
);
2078 { /* Inline model#MParameter#mtype (var_param) on <var_param:MParameter> */
2079 var198
= var_param
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var_param:MParameter> */
2080 if (unlikely(var198
== NULL
)) {
2081 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2082 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1690);
2086 RET_LABEL197
:(void)0;
2089 var_ret_type
= var196
;
2090 var199
= NEW_nit__MParameter(&type_nit__MParameter
);
2092 { /* Inline model#MParameter#name (var_param) on <var_param:MParameter> */
2093 var202
= var_param
->attrs
[COLOR_nit__model__MParameter___name
].val
; /* _name on <var_param:MParameter> */
2094 if (unlikely(var202
== NULL
)) {
2095 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2096 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1687);
2100 RET_LABEL201
:(void)0;
2105 ((void (*)(val
* self
, val
* p0
))(var199
->class->vft
[COLOR_nit__model__MParameter__name_61d
]))(var199
, var200
) /* name= on <var199:MParameter>*/;
2108 ((void (*)(val
* self
, val
* p0
))(var199
->class->vft
[COLOR_nit__model__MParameter__mtype_61d
]))(var199
, var_ret_type
) /* mtype= on <var199:MParameter>*/;
2111 ((void (*)(val
* self
, short int p0
))(var199
->class->vft
[COLOR_nit__model__MParameter__is_vararg_61d
]))(var199
, var203
) /* is_vararg= on <var199:MParameter>*/;
2114 ((void (*)(val
* self
))(var199
->class->vft
[COLOR_standard__kernel__Object__init
]))(var199
) /* init on <var199:MParameter>*/;
2116 var_mparameter
= var199
;
2118 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_mparameters128
, var_mparameter
); /* Direct call array#Array#add on <var_mparameters128:Array[MParameter]>*/
2121 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_193
); /* Direct call array#ArrayIterator#next on <var_193:ArrayIterator[MParameter]>*/
2124 goto BREAK_label204
;
2127 BREAK_label204
: (void)0;
2129 { /* Inline abstract_collection#Iterator#finish (var_193) on <var_193:ArrayIterator[MParameter]> */
2130 RET_LABEL205
:(void)0;
2134 { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on <var_npropdef:APropdef(AMethPropdef)> */
2135 var208
= var_npropdef
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <var_npropdef:APropdef(AMethPropdef)> */
2137 RET_LABEL207
:(void)0;
2140 if (var206
== NULL
) {
2141 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2142 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 183);
2145 { /* Inline model#MPropDef#mproperty (var206) on <var206:nullable MPropDef(nullable MMethodDef)> */
2146 if (unlikely(var206
== NULL
)) {
2147 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2148 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
2151 var211
= var206
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var206:nullable MPropDef(nullable MMethodDef)> */
2152 if (unlikely(var211
== NULL
)) {
2153 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2154 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
2158 RET_LABEL210
:(void)0;
2162 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_initializers
, var209
); /* Direct call array#Array#add on <var_initializers:Array[MProperty]>*/
2166 /* <var_npropdef:APropdef> isa AAttrPropdef */
2167 cltype213
= type_nit__AAttrPropdef
.color
;
2168 idtype214
= type_nit__AAttrPropdef
.id
;
2169 if(cltype213
>= var_npropdef
->type
->table_size
) {
2172 var212
= var_npropdef
->type
->type_table
[cltype213
] == idtype214
;
2176 { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on <var_npropdef:APropdef(AAttrPropdef)> */
2177 var217
= var_npropdef
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <var_npropdef:APropdef(AAttrPropdef)> */
2179 RET_LABEL216
:(void)0;
2183 if (var215
== NULL
) {
2184 var219
= 1; /* is null */
2186 var219
= 0; /* arg is null but recv is not */
2189 { /* Inline kernel#Object#== (var215,var218) on <var215:nullable MPropDef(nullable MAttributeDef)> */
2192 { /* Inline kernel#Object#is_same_instance (var215,var_other) on <var215:nullable MAttributeDef(MAttributeDef)> */
2193 var224
= var215
== var_other
;
2196 RET_LABEL223
:(void)0;
2201 RET_LABEL221
:(void)0;
2210 { /* Inline modelize_property#AAttrPropdef#noinit (var_npropdef) on <var_npropdef:APropdef(AAttrPropdef)> */
2211 var227
= var_npropdef
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___noinit
].s
; /* _noinit on <var_npropdef:APropdef(AAttrPropdef)> */
2213 RET_LABEL226
:(void)0;
2217 goto BREAK_label164
;
2221 var229
= varonce228
;
2223 var230
= "autoinit";
2225 var232
= standard___standard__NativeString___to_s_with_length(var230
, var231
);
2227 varonce228
= var229
;
2230 var233
= nit__annotation___Prod___get_single_annotation(var_npropdef
, var229
, self
);
2232 var_atautoinit
= var233
;
2234 if (var_atautoinit
== NULL
) {
2235 var235
= 0; /* is null */
2237 var235
= 1; /* arg is null and recv is not */
2240 { /* Inline kernel#Object#!= (var_atautoinit,var234) on <var_atautoinit:nullable AAnnotation> */
2241 var_other238
= var234
;
2243 var239
= ((short int (*)(val
* self
, val
* p0
))(var_atautoinit
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_atautoinit
, var_other238
) /* == on <var_atautoinit:nullable AAnnotation(AAnnotation)>*/;
2248 RET_LABEL237
:(void)0;
2254 { /* Inline modelize_property#AAttrPropdef#mreadpropdef (var_npropdef) on <var_npropdef:APropdef(AAttrPropdef)> */
2255 var243
= var_npropdef
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___mreadpropdef
].val
; /* _mreadpropdef on <var_npropdef:APropdef(AAttrPropdef)> */
2257 RET_LABEL242
:(void)0;
2260 if (var241
== NULL
) {
2261 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2262 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 192);
2265 { /* Inline model#MPropDef#mproperty (var241) on <var241:nullable MMethodDef> */
2266 if (unlikely(var241
== NULL
)) {
2267 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2268 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
2271 var246
= var241
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var241:nullable MMethodDef> */
2272 if (unlikely(var246
== NULL
)) {
2273 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2274 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
2278 RET_LABEL245
:(void)0;
2282 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_initializers
, var244
); /* Direct call array#Array#add on <var_initializers:Array[MProperty]>*/
2284 goto BREAK_label164
;
2288 { /* Inline modelize_property#AAttrPropdef#has_value (var_npropdef) on <var_npropdef:APropdef(AAttrPropdef)> */
2289 var249
= var_npropdef
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___has_value
].s
; /* _has_value on <var_npropdef:APropdef(AAttrPropdef)> */
2291 RET_LABEL248
:(void)0;
2295 goto BREAK_label164
;
2299 { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on <var_npropdef:APropdef(AAttrPropdef)> */
2300 var252
= var_npropdef
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <var_npropdef:APropdef(AAttrPropdef)> */
2302 RET_LABEL251
:(void)0;
2305 if (var250
== NULL
) {
2306 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2307 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 196);
2310 { /* Inline model#MPropDef#mproperty (var250) on <var250:nullable MPropDef(nullable MAttributeDef)> */
2311 if (unlikely(var250
== NULL
)) {
2312 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2313 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
2316 var255
= var250
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var250:nullable MPropDef(nullable MAttributeDef)> */
2317 if (unlikely(var255
== NULL
)) {
2318 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2319 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
2323 RET_LABEL254
:(void)0;
2327 { /* Inline model#MProperty#name (var253) on <var253:MProperty(MAttribute)> */
2328 var258
= var253
->attrs
[COLOR_nit__model__MProperty___name
].val
; /* _name on <var253:MProperty(MAttribute)> */
2329 if (unlikely(var258
== NULL
)) {
2330 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2331 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1741);
2335 RET_LABEL257
:(void)0;
2340 var260
= standard___standard__Text___substring_from(var256
, var259
);
2342 var_paramname
= var260
;
2344 { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on <var_npropdef:APropdef(AAttrPropdef)> */
2345 var263
= var_npropdef
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <var_npropdef:APropdef(AAttrPropdef)> */
2347 RET_LABEL262
:(void)0;
2350 if (var261
== NULL
) {
2351 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2352 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 197);
2355 { /* Inline model#MAttributeDef#static_mtype (var261) on <var261:nullable MPropDef(nullable MAttributeDef)> */
2356 if (unlikely(var261
== NULL
)) {
2357 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2358 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2180);
2361 var266
= var261
->attrs
[COLOR_nit__model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var261:nullable MPropDef(nullable MAttributeDef)> */
2363 RET_LABEL265
:(void)0;
2366 var_ret_type267
= var264
;
2368 if (var_ret_type267
== NULL
) {
2369 var269
= 1; /* is null */
2371 var269
= 0; /* arg is null but recv is not */
2374 { /* Inline kernel#Object#== (var_ret_type267,var268) on <var_ret_type267:nullable MType> */
2377 { /* Inline kernel#Object#is_same_instance (var_ret_type267,var_other) on <var_ret_type267:nullable MType(MType)> */
2378 var274
= var_ret_type267
== var_other
;
2381 RET_LABEL273
:(void)0;
2386 RET_LABEL271
:(void)0;
2394 var275
= NEW_nit__MParameter(&type_nit__MParameter
);
2397 ((void (*)(val
* self
, val
* p0
))(var275
->class->vft
[COLOR_nit__model__MParameter__name_61d
]))(var275
, var_paramname
) /* name= on <var275:MParameter>*/;
2400 ((void (*)(val
* self
, val
* p0
))(var275
->class->vft
[COLOR_nit__model__MParameter__mtype_61d
]))(var275
, var_ret_type267
) /* mtype= on <var275:MParameter>*/;
2403 ((void (*)(val
* self
, short int p0
))(var275
->class->vft
[COLOR_nit__model__MParameter__is_vararg_61d
]))(var275
, var276
) /* is_vararg= on <var275:MParameter>*/;
2406 ((void (*)(val
* self
))(var275
->class->vft
[COLOR_standard__kernel__Object__init
]))(var275
) /* init on <var275:MParameter>*/;
2408 var_mparameter277
= var275
;
2410 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_mparameters128
, var_mparameter277
); /* Direct call array#Array#add on <var_mparameters128:Array[MParameter]>*/
2413 { /* Inline modelize_property#AAttrPropdef#mwritepropdef (var_npropdef) on <var_npropdef:APropdef(AAttrPropdef)> */
2414 var280
= var_npropdef
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___mwritepropdef
].val
; /* _mwritepropdef on <var_npropdef:APropdef(AAttrPropdef)> */
2416 RET_LABEL279
:(void)0;
2419 var_msetter
= var278
;
2421 if (var_msetter
== NULL
) {
2422 var282
= 1; /* is null */
2424 var282
= 0; /* arg is null but recv is not */
2427 { /* Inline kernel#Object#== (var_msetter,var281) on <var_msetter:nullable MMethodDef> */
2430 { /* Inline kernel#Object#is_same_instance (var_msetter,var_other) on <var_msetter:nullable MMethodDef(MMethodDef)> */
2431 var287
= var_msetter
== var_other
;
2434 RET_LABEL286
:(void)0;
2439 RET_LABEL284
:(void)0;
2445 { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on <var_npropdef:APropdef(AAttrPropdef)> */
2446 var290
= var_npropdef
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <var_npropdef:APropdef(AAttrPropdef)> */
2448 RET_LABEL289
:(void)0;
2451 if (var288
== NULL
) {
2452 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2453 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 204);
2456 { /* Inline model#MPropDef#mproperty (var288) on <var288:nullable MPropDef(nullable MAttributeDef)> */
2457 if (unlikely(var288
== NULL
)) {
2458 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2459 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
2462 var293
= var288
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var288:nullable MPropDef(nullable MAttributeDef)> */
2463 if (unlikely(var293
== NULL
)) {
2464 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2465 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
2469 RET_LABEL292
:(void)0;
2473 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_initializers
, var291
); /* Direct call array#Array#add on <var_initializers:Array[MProperty]>*/
2477 { /* Inline model#MPropDef#mproperty (var_msetter) on <var_msetter:nullable MMethodDef(MMethodDef)> */
2478 var296
= var_msetter
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_msetter:nullable MMethodDef(MMethodDef)> */
2479 if (unlikely(var296
== NULL
)) {
2480 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2481 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
2485 RET_LABEL295
:(void)0;
2489 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_initializers
, var294
); /* Direct call array#Array#add on <var_initializers:Array[MProperty]>*/
2494 BREAK_label164
: (void)0;
2496 ((void (*)(val
* self
))(var_135
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_135
) /* next on <var_135:Iterator[APropdef]>*/;
2499 goto BREAK_label297
;
2502 BREAK_label297
: (void)0;
2504 { /* Inline abstract_collection#Iterator#finish (var_135) on <var_135:Iterator[APropdef]> */
2505 RET_LABEL298
:(void)0;
2509 { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (self) on <self:ModelBuilder> */
2510 var301
= self
->attrs
[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod
].val
; /* _the_root_init_mmethod on <self:ModelBuilder> */
2512 RET_LABEL300
:(void)0;
2516 if (var299
== NULL
) {
2517 var303
= 1; /* is null */
2519 var303
= 0; /* arg is null but recv is not */
2522 { /* Inline kernel#Object#== (var299,var302) on <var299:nullable MMethod> */
2525 { /* Inline kernel#Object#is_same_instance (var299,var_other) on <var299:nullable MMethod(MMethod)> */
2526 var308
= var299
== var_other
;
2529 RET_LABEL307
:(void)0;
2534 RET_LABEL305
:(void)0;
2543 { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (self) on <self:ModelBuilder> */
2544 var311
= self
->attrs
[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod
].val
; /* _the_root_init_mmethod on <self:ModelBuilder> */
2546 RET_LABEL310
:(void)0;
2550 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
2551 var314
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
2552 if (unlikely(var314
== NULL
)) {
2553 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2554 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
2558 RET_LABEL313
:(void)0;
2562 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
2563 var317
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
2564 if (unlikely(var317
== NULL
)) {
2565 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2566 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
2570 RET_LABEL316
:(void)0;
2573 if (var309
== NULL
) {
2574 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2575 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 215);
2578 var318
= nit___nit__MProperty___lookup_super_definitions(var309
, var312
, var315
);
2580 var_spropdefs
= var318
;
2582 var319
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_spropdefs
);
2586 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
2587 var322
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
2588 if (unlikely(var322
== NULL
)) {
2589 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2590 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
2594 RET_LABEL321
:(void)0;
2598 { /* Inline parser_nodes#ANode#location (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
2599 var325
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <var_nclassdef:AClassdef(AStdClassdef)> */
2600 if (unlikely(var325
== NULL
)) {
2601 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
2602 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 23);
2606 RET_LABEL324
:(void)0;
2610 var327
= varonce326
;
2614 var330
= standard___standard__NativeString___to_s_with_length(var328
, var329
);
2616 varonce326
= var327
;
2619 var332
= varonce331
;
2621 var333
= " does not specialize ";
2623 var335
= standard___standard__NativeString___to_s_with_length(var333
, var334
);
2625 varonce331
= var332
;
2628 { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (self) on <self:ModelBuilder> */
2629 var338
= self
->attrs
[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod
].val
; /* _the_root_init_mmethod on <self:ModelBuilder> */
2631 RET_LABEL337
:(void)0;
2634 if (var336
== NULL
) {
2635 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2636 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 217);
2639 { /* Inline model#MProperty#intro_mclassdef (var336) on <var336:nullable MMethod> */
2640 if (unlikely(var336
== NULL
)) {
2641 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2642 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1736);
2645 var341
= var336
->attrs
[COLOR_nit__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var336:nullable MMethod> */
2646 if (unlikely(var341
== NULL
)) {
2647 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
2648 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1736);
2652 RET_LABEL340
:(void)0;
2656 var343
= varonce342
;
2658 var344
= ". Possible duplication of the root class `Object`?";
2660 var346
= standard___standard__NativeString___to_s_with_length(var344
, var345
);
2662 varonce342
= var343
;
2664 var347
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2665 { /* var347 = array_instance Array[Object] */
2667 var349
= NEW_standard__NativeArray(var348
, &type_standard__NativeArray__standard__Object
);
2668 ((struct instance_standard__NativeArray
*)var349
)->values
[0] = (val
*) var327
;
2669 ((struct instance_standard__NativeArray
*)var349
)->values
[1] = (val
*) var_mclassdef
;
2670 ((struct instance_standard__NativeArray
*)var349
)->values
[2] = (val
*) var332
;
2671 ((struct instance_standard__NativeArray
*)var349
)->values
[3] = (val
*) var339
;
2672 ((struct instance_standard__NativeArray
*)var349
)->values
[4] = (val
*) var343
;
2674 ((void (*)(val
* self
, val
* p0
, long p1
))(var347
->class->vft
[COLOR_standard__array__Array__with_native
]))(var347
, var349
, var348
) /* with_native on <var347:Array[Object]>*/;
2678 var350
= ((val
* (*)(val
* self
))(var347
->class->vft
[COLOR_standard__string__Object__to_s
]))(var347
) /* to_s on <var347:Array[Object]>*/;
2681 nit___nit__ToolContext___error(var320
, var323
, var350
); /* Direct call toolcontext#ToolContext#error on <var320:ToolContext>*/
2687 var351
= standard___standard__SequenceRead___Collection__first(var_spropdefs
);
2689 var_longest
= var351
;
2691 { /* Inline array#AbstractArrayRead#length (var_spropdefs) on <var_spropdefs:Array[MMethodDef]> */
2692 var354
= var_spropdefs
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_spropdefs:Array[MMethodDef]> */
2694 RET_LABEL353
:(void)0;
2699 { /* Inline kernel#Int#> (var352,var355) on <var352:Int> */
2700 /* Covariant cast for argument 0 (i) <var355:Int> isa OTHER */
2701 /* <var355:Int> isa OTHER */
2702 var358
= 1; /* easy <var355:Int> isa OTHER*/
2703 if (unlikely(!var358
)) {
2704 var_class_name
= type_standard__Int
.name
;
2705 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2706 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 412);
2709 var361
= var352
> var355
;
2712 RET_LABEL357
:(void)0;
2716 var_362
= var_spropdefs
;
2718 var363
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_362
);
2723 var365
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_364
);
2727 var366
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_364
);
2731 { /* Inline model#MMethodDef#initializers (var_spd) on <var_spd:MMethodDef> */
2732 var369
= var_spd
->attrs
[COLOR_nit__model__MMethodDef___initializers
].val
; /* _initializers on <var_spd:MMethodDef> */
2733 if (unlikely(var369
== NULL
)) {
2734 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
2735 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2146);
2739 RET_LABEL368
:(void)0;
2743 { /* Inline array#AbstractArrayRead#length (var367) on <var367:Array[MProperty]> */
2744 var372
= var367
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var367:Array[MProperty]> */
2746 RET_LABEL371
:(void)0;
2750 { /* Inline model#MMethodDef#initializers (var_longest) on <var_longest:MMethodDef> */
2751 var375
= var_longest
->attrs
[COLOR_nit__model__MMethodDef___initializers
].val
; /* _initializers on <var_longest:MMethodDef> */
2752 if (unlikely(var375
== NULL
)) {
2753 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
2754 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2146);
2758 RET_LABEL374
:(void)0;
2762 { /* Inline array#AbstractArrayRead#length (var373) on <var373:Array[MProperty]> */
2763 var378
= var373
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var373:Array[MProperty]> */
2765 RET_LABEL377
:(void)0;
2769 { /* Inline kernel#Int#> (var370,var376) on <var370:Int> */
2770 /* Covariant cast for argument 0 (i) <var376:Int> isa OTHER */
2771 /* <var376:Int> isa OTHER */
2772 var381
= 1; /* easy <var376:Int> isa OTHER*/
2773 if (unlikely(!var381
)) {
2774 var_class_name384
= type_standard__Int
.name
;
2775 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name384
);
2776 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 412);
2779 var385
= var370
> var376
;
2782 RET_LABEL380
:(void)0;
2786 var_longest
= var_spd
;
2790 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_364
); /* Direct call array#ArrayIterator#next on <var_364:ArrayIterator[MMethodDef]>*/
2793 goto BREAK_label386
;
2796 BREAK_label386
: (void)0;
2798 { /* Inline abstract_collection#Iterator#finish (var_364) on <var_364:ArrayIterator[MMethodDef]> */
2799 RET_LABEL387
:(void)0;
2802 var_388
= var_spropdefs
;
2804 var389
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_388
);
2809 var391
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_390
);
2813 var392
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_390
);
2815 var_spd393
= var392
;
2819 { /* Inline model#MMethodDef#initializers (var_spd393) on <var_spd393:MMethodDef> */
2820 var397
= var_spd393
->attrs
[COLOR_nit__model__MMethodDef___initializers
].val
; /* _initializers on <var_spd393:MMethodDef> */
2821 if (unlikely(var397
== NULL
)) {
2822 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
2823 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2146);
2827 RET_LABEL396
:(void)0;
2832 var399
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_398
);
2837 var401
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_400
);
2841 var402
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_400
);
2845 { /* Inline model#MMethodDef#initializers (var_longest) on <var_longest:MMethodDef> */
2846 var405
= var_longest
->attrs
[COLOR_nit__model__MMethodDef___initializers
].val
; /* _initializers on <var_longest:MMethodDef> */
2847 if (unlikely(var405
== NULL
)) {
2848 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
2849 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2146);
2853 RET_LABEL404
:(void)0;
2857 var406
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var403
, var_i
);
2860 { /* Inline kernel#Object#!= (var_p,var406) on <var_p:MProperty> */
2861 var_other238
= var406
;
2863 var409
= ((short int (*)(val
* self
, val
* p0
))(var_p
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_p
, var_other238
) /* == on <var_p:MProperty>*/;
2868 RET_LABEL408
:(void)0;
2873 var412
= varonce411
;
2875 var413
= "Error: conflict for inherited inits ";
2877 var415
= standard___standard__NativeString___to_s_with_length(var413
, var414
);
2879 varonce411
= var412
;
2882 var417
= varonce416
;
2886 var420
= standard___standard__NativeString___to_s_with_length(var418
, var419
);
2888 varonce416
= var417
;
2891 { /* Inline model#MMethodDef#initializers (var_spd393) on <var_spd393:MMethodDef> */
2892 var423
= var_spd393
->attrs
[COLOR_nit__model__MMethodDef___initializers
].val
; /* _initializers on <var_spd393:MMethodDef> */
2893 if (unlikely(var423
== NULL
)) {
2894 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
2895 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2146);
2899 RET_LABEL422
:(void)0;
2903 var425
= varonce424
;
2907 var428
= standard___standard__NativeString___to_s_with_length(var426
, var427
);
2909 varonce424
= var425
;
2912 var429
= standard__string___Collection___join(var421
, var425
);
2915 var431
= varonce430
;
2919 var434
= standard___standard__NativeString___to_s_with_length(var432
, var433
);
2921 varonce430
= var431
;
2924 var436
= varonce435
;
2928 var439
= standard___standard__NativeString___to_s_with_length(var437
, var438
);
2930 varonce435
= var436
;
2933 { /* Inline model#MMethodDef#initializers (var_longest) on <var_longest:MMethodDef> */
2934 var442
= var_longest
->attrs
[COLOR_nit__model__MMethodDef___initializers
].val
; /* _initializers on <var_longest:MMethodDef> */
2935 if (unlikely(var442
== NULL
)) {
2936 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
2937 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2146);
2941 RET_LABEL441
:(void)0;
2945 var444
= varonce443
;
2949 var447
= standard___standard__NativeString___to_s_with_length(var445
, var446
);
2951 varonce443
= var444
;
2954 var448
= standard__string___Collection___join(var440
, var444
);
2957 var450
= varonce449
;
2961 var453
= standard___standard__NativeString___to_s_with_length(var451
, var452
);
2963 varonce449
= var450
;
2965 var454
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2966 { /* var454 = array_instance Array[Object] */
2968 var456
= NEW_standard__NativeArray(var455
, &type_standard__NativeArray__standard__Object
);
2969 ((struct instance_standard__NativeArray
*)var456
)->values
[0] = (val
*) var412
;
2970 ((struct instance_standard__NativeArray
*)var456
)->values
[1] = (val
*) var_spd393
;
2971 ((struct instance_standard__NativeArray
*)var456
)->values
[2] = (val
*) var417
;
2972 ((struct instance_standard__NativeArray
*)var456
)->values
[3] = (val
*) var429
;
2973 ((struct instance_standard__NativeArray
*)var456
)->values
[4] = (val
*) var431
;
2974 ((struct instance_standard__NativeArray
*)var456
)->values
[5] = (val
*) var_longest
;
2975 ((struct instance_standard__NativeArray
*)var456
)->values
[6] = (val
*) var436
;
2976 ((struct instance_standard__NativeArray
*)var456
)->values
[7] = (val
*) var448
;
2977 ((struct instance_standard__NativeArray
*)var456
)->values
[8] = (val
*) var450
;
2979 ((void (*)(val
* self
, val
* p0
, long p1
))(var454
->class->vft
[COLOR_standard__array__Array__with_native
]))(var454
, var456
, var455
) /* with_native on <var454:Array[Object]>*/;
2983 var457
= ((val
* (*)(val
* self
))(var454
->class->vft
[COLOR_standard__string__Object__to_s
]))(var454
) /* to_s on <var454:Array[Object]>*/;
2986 nit___nit__ModelBuilder___error(self
, var_nclassdef
, var457
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
2993 { /* Inline kernel#Int#+ (var_i,var458) on <var_i:Int> */
2994 /* Covariant cast for argument 0 (i) <var458:Int> isa OTHER */
2995 /* <var458:Int> isa OTHER */
2996 var461
= 1; /* easy <var458:Int> isa OTHER*/
2997 if (unlikely(!var461
)) {
2998 var_class_name464
= type_standard__Int
.name
;
2999 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name464
);
3000 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
3003 var465
= var_i
+ var458
;
3006 RET_LABEL460
:(void)0;
3011 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_400
); /* Direct call array#ArrayIterator#next on <var_400:ArrayIterator[MProperty]>*/
3014 goto BREAK_label466
;
3017 BREAK_label466
: (void)0;
3019 { /* Inline abstract_collection#Iterator#finish (var_400) on <var_400:ArrayIterator[MProperty]> */
3020 RET_LABEL467
:(void)0;
3024 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_390
); /* Direct call array#ArrayIterator#next on <var_390:ArrayIterator[MMethodDef]>*/
3027 goto BREAK_label468
;
3030 BREAK_label468
: (void)0;
3032 { /* Inline abstract_collection#Iterator#finish (var_390) on <var_390:ArrayIterator[MMethodDef]> */
3033 RET_LABEL469
:(void)0;
3039 { /* Inline array#AbstractArrayRead#length (var_spropdefs) on <var_spropdefs:Array[MMethodDef]> */
3040 var474
= var_spropdefs
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_spropdefs:Array[MMethodDef]> */
3042 RET_LABEL473
:(void)0;
3047 { /* Inline kernel#Int#== (var472,var475) on <var472:Int> */
3048 var478
= var472
== var475
;
3051 RET_LABEL477
:(void)0;
3057 var480
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_mparameters128
);
3066 if (var_defined_init
== NULL
) {
3067 var483
= 1; /* is null */
3069 var483
= 0; /* arg is null but recv is not */
3072 { /* Inline kernel#Object#== (var_defined_init,var482) on <var_defined_init:nullable MMethodDef> */
3075 { /* Inline kernel#Object#is_same_instance (var_defined_init,var_other) on <var_defined_init:nullable MMethodDef(MMethodDef)> */
3076 var488
= var_defined_init
== var_other
;
3079 RET_LABEL487
:(void)0;
3084 RET_LABEL485
:(void)0;
3094 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
3095 var491
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
3096 if (unlikely(var491
== NULL
)) {
3097 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3098 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
3102 RET_LABEL490
:(void)0;
3106 var493
= varonce492
;
3108 var494
= " inherits the basic constructor ";
3110 var496
= standard___standard__NativeString___to_s_with_length(var494
, var495
);
3112 varonce492
= var493
;
3114 var497
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3115 { /* var497 = array_instance Array[Object] */
3117 var499
= NEW_standard__NativeArray(var498
, &type_standard__NativeArray__standard__Object
);
3118 ((struct instance_standard__NativeArray
*)var499
)->values
[0] = (val
*) var_mclassdef
;
3119 ((struct instance_standard__NativeArray
*)var499
)->values
[1] = (val
*) var493
;
3120 ((struct instance_standard__NativeArray
*)var499
)->values
[2] = (val
*) var_longest
;
3122 ((void (*)(val
* self
, val
* p0
, long p1
))(var497
->class->vft
[COLOR_standard__array__Array__with_native
]))(var497
, var499
, var498
) /* with_native on <var497:Array[Object]>*/;
3126 var500
= ((val
* (*)(val
* self
))(var497
->class->vft
[COLOR_standard__string__Object__to_s
]))(var497
) /* to_s on <var497:Array[Object]>*/;
3130 nit___nit__ToolContext___info(var489
, var500
, var501
); /* Direct call toolcontext#ToolContext#info on <var489:ToolContext>*/
3133 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
3134 var504
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
3135 if (unlikely(var504
== NULL
)) {
3136 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3137 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
3141 RET_LABEL503
:(void)0;
3145 { /* Inline modelize_property#MClass#root_init= (var502,var_longest) on <var502:MClass> */
3146 var502
->attrs
[COLOR_nit__modelize_property__MClass___root_init
].val
= var_longest
; /* _root_init on <var502:MClass> */
3147 RET_LABEL505
:(void)0;
3154 { /* Inline model#MMethodDef#initializers (var_longest) on <var_longest:MMethodDef> */
3155 var508
= var_longest
->attrs
[COLOR_nit__model__MMethodDef___initializers
].val
; /* _initializers on <var_longest:MMethodDef> */
3156 if (unlikely(var508
== NULL
)) {
3157 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
3158 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2146);
3162 RET_LABEL507
:(void)0;
3166 { /* Inline array#AbstractArrayRead#length (var506) on <var506:Array[MProperty]> */
3167 var511
= var506
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var506:Array[MProperty]> */
3169 RET_LABEL510
:(void)0;
3174 { /* Inline kernel#Int#> (var509,var512) on <var509:Int> */
3175 /* Covariant cast for argument 0 (i) <var512:Int> isa OTHER */
3176 /* <var512:Int> isa OTHER */
3177 var515
= 1; /* easy <var512:Int> isa OTHER*/
3178 if (unlikely(!var515
)) {
3179 var_class_name518
= type_standard__Int
.name
;
3180 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name518
);
3181 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 412);
3184 var519
= var509
> var512
;
3187 RET_LABEL514
:(void)0;
3192 { /* Inline model#MMethodDef#new_msignature (var_longest) on <var_longest:MMethodDef> */
3193 var522
= var_longest
->attrs
[COLOR_nit__model__MMethodDef___new_msignature
].val
; /* _new_msignature on <var_longest:MMethodDef> */
3195 RET_LABEL521
:(void)0;
3198 if (var520
== NULL
) {
3199 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3200 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 252);
3203 { /* Inline model#MSignature#mparameters (var520) on <var520:nullable MSignature> */
3204 if (unlikely(var520
== NULL
)) {
3205 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3206 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1592);
3209 var525
= var520
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var520:nullable MSignature> */
3210 if (unlikely(var525
== NULL
)) {
3211 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
3212 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1592);
3216 RET_LABEL524
:(void)0;
3220 standard___standard__Sequence___prepend(var_mparameters128
, var523
); /* Direct call abstract_collection#Sequence#prepend on <var_mparameters128:Array[MParameter]>*/
3223 { /* Inline model#MMethodDef#initializers (var_longest) on <var_longest:MMethodDef> */
3224 var528
= var_longest
->attrs
[COLOR_nit__model__MMethodDef___initializers
].val
; /* _initializers on <var_longest:MMethodDef> */
3225 if (unlikely(var528
== NULL
)) {
3226 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
3227 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2146);
3231 RET_LABEL527
:(void)0;
3235 standard___standard__Sequence___prepend(var_initializers
, var526
); /* Direct call abstract_collection#Sequence#prepend on <var_initializers:Array[MProperty]>*/
3240 if (var_defined_init
== NULL
) {
3241 var530
= 0; /* is null */
3243 var530
= 1; /* arg is null and recv is not */
3246 { /* Inline kernel#Object#!= (var_defined_init,var529) on <var_defined_init:nullable MMethodDef> */
3247 var_other238
= var529
;
3249 var533
= ((short int (*)(val
* self
, val
* p0
))(var_defined_init
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_defined_init
, var_other238
) /* == on <var_defined_init:nullable MMethodDef(MMethodDef)>*/;
3254 RET_LABEL532
:(void)0;
3260 { /* Inline model#MMethodDef#initializers (var_defined_init) on <var_defined_init:nullable MMethodDef(MMethodDef)> */
3261 var537
= var_defined_init
->attrs
[COLOR_nit__model__MMethodDef___initializers
].val
; /* _initializers on <var_defined_init:nullable MMethodDef(MMethodDef)> */
3262 if (unlikely(var537
== NULL
)) {
3263 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
3264 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2146);
3268 RET_LABEL536
:(void)0;
3272 standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var535
, var_initializers
); /* Direct call array#Array#add_all on <var535:Array[MProperty]>*/
3274 var538
= NEW_nit__MSignature(&type_nit__MSignature
);
3277 ((void (*)(val
* self
, val
* p0
))(var538
->class->vft
[COLOR_nit__model__MSignature__mparameters_61d
]))(var538
, var_mparameters128
) /* mparameters= on <var538:MSignature>*/;
3280 ((void (*)(val
* self
, val
* p0
))(var538
->class->vft
[COLOR_nit__model__MSignature__return_mtype_61d
]))(var538
, var539
) /* return_mtype= on <var538:MSignature>*/;
3283 ((void (*)(val
* self
))(var538
->class->vft
[COLOR_standard__kernel__Object__init
]))(var538
) /* init on <var538:MSignature>*/;
3285 var_msignature540
= var538
;
3287 { /* Inline model#MMethodDef#new_msignature= (var_defined_init,var_msignature540) on <var_defined_init:nullable MMethodDef(MMethodDef)> */
3288 var_defined_init
->attrs
[COLOR_nit__model__MMethodDef___new_msignature
].val
= var_msignature540
; /* _new_msignature on <var_defined_init:nullable MMethodDef(MMethodDef)> */
3289 RET_LABEL541
:(void)0;
3293 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
3294 var544
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
3295 if (unlikely(var544
== NULL
)) {
3296 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3297 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
3301 RET_LABEL543
:(void)0;
3305 var546
= varonce545
;
3307 var547
= " extends its basic constructor signature to ";
3309 var549
= standard___standard__NativeString___to_s_with_length(var547
, var548
);
3311 varonce545
= var546
;
3313 var550
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3314 { /* var550 = array_instance Array[Object] */
3316 var552
= NEW_standard__NativeArray(var551
, &type_standard__NativeArray__standard__Object
);
3317 ((struct instance_standard__NativeArray
*)var552
)->values
[0] = (val
*) var_mclassdef
;
3318 ((struct instance_standard__NativeArray
*)var552
)->values
[1] = (val
*) var546
;
3319 ((struct instance_standard__NativeArray
*)var552
)->values
[2] = (val
*) var_defined_init
;
3320 ((struct instance_standard__NativeArray
*)var552
)->values
[3] = (val
*) var_msignature540
;
3322 ((void (*)(val
* self
, val
* p0
, long p1
))(var550
->class->vft
[COLOR_standard__array__Array__with_native
]))(var550
, var552
, var551
) /* with_native on <var550:Array[Object]>*/;
3326 var553
= ((val
* (*)(val
* self
))(var550
->class->vft
[COLOR_standard__string__Object__to_s
]))(var550
) /* to_s on <var550:Array[Object]>*/;
3330 nit___nit__ToolContext___info(var542
, var553
, var554
); /* Direct call toolcontext#ToolContext#info on <var542:ToolContext>*/
3333 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
3334 var557
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
3335 if (unlikely(var557
== NULL
)) {
3336 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3337 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
3341 RET_LABEL556
:(void)0;
3345 { /* Inline modelize_property#MClass#root_init= (var555,var_defined_init) on <var555:MClass> */
3346 var555
->attrs
[COLOR_nit__modelize_property__MClass___root_init
].val
= var_defined_init
; /* _root_init on <var555:MClass> */
3347 RET_LABEL558
:(void)0;
3354 { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (self) on <self:ModelBuilder> */
3355 var561
= self
->attrs
[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod
].val
; /* _the_root_init_mmethod on <self:ModelBuilder> */
3357 RET_LABEL560
:(void)0;
3360 if (unlikely(var559
== NULL
)) {
3361 PRINT_ERROR("Runtime error: %s", "Cast failed");
3362 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 267);
3365 var_mprop562
= var559
;
3366 var563
= NEW_nit__MMethodDef(&type_nit__MMethodDef
);
3368 { /* Inline parser_nodes#ANode#location (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
3369 var566
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <var_nclassdef:AClassdef(AStdClassdef)> */
3370 if (unlikely(var566
== NULL
)) {
3371 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
3372 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 23);
3376 RET_LABEL565
:(void)0;
3380 ((void (*)(val
* self
, val
* p0
))(var563
->class->vft
[COLOR_nit__model__MPropDef__mclassdef_61d
]))(var563
, var_mclassdef
) /* mclassdef= on <var563:MMethodDef>*/;
3383 ((void (*)(val
* self
, val
* p0
))(var563
->class->vft
[COLOR_nit__model__MPropDef__mproperty_61d
]))(var563
, var_mprop562
) /* mproperty= on <var563:MMethodDef>*/;
3386 ((void (*)(val
* self
, val
* p0
))(var563
->class->vft
[COLOR_nit__model__MPropDef__location_61d
]))(var563
, var564
) /* location= on <var563:MMethodDef>*/;
3389 ((void (*)(val
* self
))(var563
->class->vft
[COLOR_standard__kernel__Object__init
]))(var563
) /* init on <var563:MMethodDef>*/;
3391 var_mpropdef567
= var563
;
3394 { /* Inline modelize_property#MPropDef#has_supercall= (var_mpropdef567,var568) on <var_mpropdef567:MMethodDef> */
3395 var_mpropdef567
->attrs
[COLOR_nit__modelize_property__MPropDef___has_supercall
].s
= var568
; /* _has_supercall on <var_mpropdef567:MMethodDef> */
3396 RET_LABEL569
:(void)0;
3400 { /* Inline model#MMethodDef#initializers (var_mpropdef567) on <var_mpropdef567:MMethodDef> */
3401 var572
= var_mpropdef567
->attrs
[COLOR_nit__model__MMethodDef___initializers
].val
; /* _initializers on <var_mpropdef567:MMethodDef> */
3402 if (unlikely(var572
== NULL
)) {
3403 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
3404 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2146);
3408 RET_LABEL571
:(void)0;
3412 standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var570
, var_initializers
); /* Direct call array#Array#add_all on <var570:Array[MProperty]>*/
3414 var573
= NEW_nit__MSignature(&type_nit__MSignature
);
3417 ((void (*)(val
* self
, val
* p0
))(var573
->class->vft
[COLOR_nit__model__MSignature__mparameters_61d
]))(var573
, var_mparameters128
) /* mparameters= on <var573:MSignature>*/;
3420 ((void (*)(val
* self
, val
* p0
))(var573
->class->vft
[COLOR_nit__model__MSignature__return_mtype_61d
]))(var573
, var574
) /* return_mtype= on <var573:MSignature>*/;
3423 ((void (*)(val
* self
))(var573
->class->vft
[COLOR_standard__kernel__Object__init
]))(var573
) /* init on <var573:MSignature>*/;
3425 var_msignature575
= var573
;
3427 { /* Inline model#MMethodDef#new_msignature= (var_mpropdef567,var_msignature575) on <var_mpropdef567:MMethodDef> */
3428 var_mpropdef567
->attrs
[COLOR_nit__model__MMethodDef___new_msignature
].val
= var_msignature575
; /* _new_msignature on <var_mpropdef567:MMethodDef> */
3429 RET_LABEL576
:(void)0;
3432 var577
= NEW_nit__MSignature(&type_nit__MSignature
);
3433 var578
= NEW_standard__Array(&type_standard__Array__nit__MParameter
);
3435 standard___standard__Array___standard__kernel__Object__init(var578
); /* Direct call array#Array#init on <var578:Array[MParameter]>*/
3439 ((void (*)(val
* self
, val
* p0
))(var577
->class->vft
[COLOR_nit__model__MSignature__mparameters_61d
]))(var577
, var578
) /* mparameters= on <var577:MSignature>*/;
3442 ((void (*)(val
* self
, val
* p0
))(var577
->class->vft
[COLOR_nit__model__MSignature__return_mtype_61d
]))(var577
, var579
) /* return_mtype= on <var577:MSignature>*/;
3445 ((void (*)(val
* self
))(var577
->class->vft
[COLOR_standard__kernel__Object__init
]))(var577
) /* init on <var577:MSignature>*/;
3448 { /* Inline model#MMethodDef#msignature= (var_mpropdef567,var577) on <var_mpropdef567:MMethodDef> */
3449 var_mpropdef567
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
= var577
; /* _msignature on <var_mpropdef567:MMethodDef> */
3450 RET_LABEL580
:(void)0;
3454 { /* Inline modelize_property#AClassdef#mfree_init= (var_nclassdef,var_mpropdef567) on <var_nclassdef:AClassdef(AStdClassdef)> */
3455 var_nclassdef
->attrs
[COLOR_nit__modelize_property__AClassdef___mfree_init
].val
= var_mpropdef567
; /* _mfree_init on <var_nclassdef:AClassdef(AStdClassdef)> */
3456 RET_LABEL581
:(void)0;
3460 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
3461 var584
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
3462 if (unlikely(var584
== NULL
)) {
3463 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3464 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
3468 RET_LABEL583
:(void)0;
3472 var586
= varonce585
;
3474 var587
= " gets a free constructor for attributes ";
3476 var589
= standard___standard__NativeString___to_s_with_length(var587
, var588
);
3478 varonce585
= var586
;
3480 var590
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3481 { /* var590 = array_instance Array[Object] */
3483 var592
= NEW_standard__NativeArray(var591
, &type_standard__NativeArray__standard__Object
);
3484 ((struct instance_standard__NativeArray
*)var592
)->values
[0] = (val
*) var_mclassdef
;
3485 ((struct instance_standard__NativeArray
*)var592
)->values
[1] = (val
*) var586
;
3486 ((struct instance_standard__NativeArray
*)var592
)->values
[2] = (val
*) var_mpropdef567
;
3487 ((struct instance_standard__NativeArray
*)var592
)->values
[3] = (val
*) var_msignature575
;
3489 ((void (*)(val
* self
, val
* p0
, long p1
))(var590
->class->vft
[COLOR_standard__array__Array__with_native
]))(var590
, var592
, var591
) /* with_native on <var590:Array[Object]>*/;
3493 var593
= ((val
* (*)(val
* self
))(var590
->class->vft
[COLOR_standard__string__Object__to_s
]))(var590
) /* to_s on <var590:Array[Object]>*/;
3497 nit___nit__ToolContext___info(var582
, var593
, var594
); /* Direct call toolcontext#ToolContext#info on <var582:ToolContext>*/
3500 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
3501 var597
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
3502 if (unlikely(var597
== NULL
)) {
3503 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3504 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
3508 RET_LABEL596
:(void)0;
3512 { /* Inline modelize_property#MClass#root_init= (var595,var_mpropdef567) on <var595:MClass> */
3513 var595
->attrs
[COLOR_nit__modelize_property__MClass___root_init
].val
= var_mpropdef567
; /* _root_init on <var595:MClass> */
3514 RET_LABEL598
:(void)0;
3519 /* method modelize_property#ModelBuilder#check_visibility for (self: ModelBuilder, ANode, MType, MPropDef) */
3520 void nit__modelize_property___ModelBuilder___check_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3521 val
* var_node
/* var node: ANode */;
3522 val
* var_mtype
/* var mtype: MType */;
3523 val
* var_mpropdef
/* var mpropdef: MPropDef */;
3524 val
* var
/* : MClassDef */;
3525 val
* var2
/* : MClassDef */;
3526 val
* var3
/* : MModule */;
3527 val
* var5
/* : MModule */;
3528 val
* var_mmodule
/* var mmodule: MModule */;
3529 val
* var6
/* : MProperty */;
3530 val
* var8
/* : MProperty */;
3531 val
* var_mproperty
/* var mproperty: MProperty */;
3532 val
* var9
/* : null */;
3533 val
* var_vis_type
/* var vis_type: nullable MVisibility */;
3534 val
* var10
/* : null */;
3535 val
* var_mmodule_type
/* var mmodule_type: nullable MModule */;
3536 val
* var11
/* : MType */;
3537 short int var12
/* : Bool */;
3540 val
* var13
/* : MClass */;
3541 val
* var15
/* : MClass */;
3542 val
* var16
/* : MVisibility */;
3543 val
* var18
/* : MVisibility */;
3544 val
* var19
/* : MClass */;
3545 val
* var21
/* : MClass */;
3546 val
* var22
/* : MClassDef */;
3547 val
* var24
/* : MClassDef */;
3548 val
* var25
/* : MModule */;
3549 val
* var27
/* : MModule */;
3550 short int var28
/* : Bool */;
3553 val
* var31
/* : MVirtualTypeProp */;
3554 val
* var33
/* : MVirtualTypeProp */;
3555 val
* var34
/* : MVisibility */;
3556 val
* var36
/* : MVisibility */;
3557 val
* var37
/* : MVirtualTypeProp */;
3558 val
* var39
/* : MVirtualTypeProp */;
3559 val
* var40
/* : MClassDef */;
3560 val
* var42
/* : MClassDef */;
3561 val
* var43
/* : MModule */;
3562 val
* var45
/* : MModule */;
3563 short int var46
/* : Bool */;
3566 static val
* varonce
;
3567 val
* var49
/* : String */;
3568 char* var50
/* : NativeString */;
3569 long var51
/* : Int */;
3570 val
* var52
/* : FlatString */;
3571 val
* var53
/* : Array[Object] */;
3572 long var54
/* : Int */;
3573 val
* var55
/* : NativeArray[Object] */;
3574 val
* var56
/* : String */;
3575 val
* var57
/* : null */;
3576 short int var58
/* : Bool */;
3577 short int var59
/* : Bool */;
3578 val
* var_other
/* var other: nullable Object */;
3579 short int var61
/* : Bool */;
3580 short int var62
/* : Bool */;
3581 val
* var63
/* : null */;
3582 short int var64
/* : Bool */;
3583 short int var65
/* : Bool */;
3584 short int var67
/* : Bool */;
3585 short int var68
/* : Bool */;
3586 val
* var69
/* : MVisibility */;
3587 val
* var_vis_module_type
/* var vis_module_type: MVisibility */;
3588 val
* var70
/* : MVisibility */;
3589 val
* var72
/* : MVisibility */;
3590 short int var73
/* : Bool */;
3591 static val
* varonce74
;
3592 val
* var75
/* : String */;
3593 char* var76
/* : NativeString */;
3594 long var77
/* : Int */;
3595 val
* var78
/* : FlatString */;
3596 val
* var79
/* : MVisibility */;
3597 val
* var81
/* : MVisibility */;
3598 static val
* varonce82
;
3599 val
* var83
/* : String */;
3600 char* var84
/* : NativeString */;
3601 long var85
/* : Int */;
3602 val
* var86
/* : FlatString */;
3603 static val
* varonce87
;
3604 val
* var88
/* : String */;
3605 char* var89
/* : NativeString */;
3606 long var90
/* : Int */;
3607 val
* var91
/* : FlatString */;
3608 static val
* varonce92
;
3609 val
* var93
/* : String */;
3610 char* var94
/* : NativeString */;
3611 long var95
/* : Int */;
3612 val
* var96
/* : FlatString */;
3613 static val
* varonce97
;
3614 val
* var98
/* : String */;
3615 char* var99
/* : NativeString */;
3616 long var100
/* : Int */;
3617 val
* var101
/* : FlatString */;
3618 val
* var102
/* : Array[Object] */;
3619 long var103
/* : Int */;
3620 val
* var104
/* : NativeArray[Object] */;
3621 val
* var105
/* : String */;
3622 val
* var106
/* : MVisibility */;
3623 val
* var108
/* : MVisibility */;
3624 short int var109
/* : Bool */;
3625 static val
* varonce110
;
3626 val
* var111
/* : String */;
3627 char* var112
/* : NativeString */;
3628 long var113
/* : Int */;
3629 val
* var114
/* : FlatString */;
3630 val
* var115
/* : MVisibility */;
3631 val
* var117
/* : MVisibility */;
3632 static val
* varonce118
;
3633 val
* var119
/* : String */;
3634 char* var120
/* : NativeString */;
3635 long var121
/* : Int */;
3636 val
* var122
/* : FlatString */;
3637 static val
* varonce123
;
3638 val
* var124
/* : String */;
3639 char* var125
/* : NativeString */;
3640 long var126
/* : Int */;
3641 val
* var127
/* : FlatString */;
3642 static val
* varonce128
;
3643 val
* var129
/* : String */;
3644 char* var130
/* : NativeString */;
3645 long var131
/* : Int */;
3646 val
* var132
/* : FlatString */;
3647 static val
* varonce133
;
3648 val
* var134
/* : String */;
3649 char* var135
/* : NativeString */;
3650 long var136
/* : Int */;
3651 val
* var137
/* : FlatString */;
3652 static val
* varonce138
;
3653 val
* var139
/* : String */;
3654 char* var140
/* : NativeString */;
3655 long var141
/* : Int */;
3656 val
* var142
/* : FlatString */;
3657 val
* var143
/* : Array[Object] */;
3658 long var144
/* : Int */;
3659 val
* var145
/* : NativeArray[Object] */;
3660 val
* var146
/* : String */;
3661 short int var147
/* : Bool */;
3664 val
* var150
/* : ANodes[AType] */;
3665 val
* var152
/* : ANodes[AType] */;
3666 val
* var_
/* var : ANodes[AType] */;
3667 val
* var153
/* : Iterator[ANode] */;
3668 val
* var_154
/* var : Iterator[AType] */;
3669 short int var155
/* : Bool */;
3670 val
* var156
/* : nullable Object */;
3671 val
* var_a
/* var a: AType */;
3672 val
* var157
/* : nullable MType */;
3673 val
* var159
/* : nullable MType */;
3674 val
* var_t
/* var t: nullable MType */;
3675 val
* var160
/* : null */;
3676 short int var161
/* : Bool */;
3677 short int var162
/* : Bool */;
3678 val
* var_other164
/* var other: nullable Object */;
3679 short int var165
/* : Bool */;
3680 short int var167
/* : Bool */;
3681 short int var170
/* : Bool */;
3684 val
* var173
/* : Array[MType] */;
3685 val
* var175
/* : Array[MType] */;
3686 val
* var_176
/* var : Array[MType] */;
3687 val
* var177
/* : ArrayIterator[nullable Object] */;
3688 val
* var_178
/* var : ArrayIterator[MType] */;
3689 short int var179
/* : Bool */;
3690 val
* var180
/* : nullable Object */;
3691 val
* var_t181
/* var t: MType */;
3696 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MPropDef> */
3697 var2
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MPropDef> */
3698 if (unlikely(var2
== NULL
)) {
3699 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
3700 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
3708 { /* Inline model#MClassDef#mmodule (var) on <var:MClassDef> */
3709 var5
= var
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var:MClassDef> */
3710 if (unlikely(var5
== NULL
)) {
3711 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3712 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
3721 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MPropDef> */
3722 var8
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MPropDef> */
3723 if (unlikely(var8
== NULL
)) {
3724 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
3725 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
3732 var_mproperty
= var6
;
3734 var_vis_type
= var9
;
3736 var_mmodule_type
= var10
;
3738 var11
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model__MType__as_notnullable
]))(var_mtype
) /* as_notnullable on <var_mtype:MType>*/;
3741 /* <var_mtype:MType> isa MClassType */
3742 cltype
= type_nit__MClassType
.color
;
3743 idtype
= type_nit__MClassType
.id
;
3744 if(cltype
>= var_mtype
->type
->table_size
) {
3747 var12
= var_mtype
->type
->type_table
[cltype
] == idtype
;
3751 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
3752 var15
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
3753 if (unlikely(var15
== NULL
)) {
3754 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3755 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
3759 RET_LABEL14
:(void)0;
3763 { /* Inline model#MClass#visibility (var13) on <var13:MClass> */
3764 var18
= var13
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <var13:MClass> */
3765 if (unlikely(var18
== NULL
)) {
3766 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
3767 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 403);
3771 RET_LABEL17
:(void)0;
3774 var_vis_type
= var16
;
3776 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
3777 var21
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
3778 if (unlikely(var21
== NULL
)) {
3779 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3780 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
3784 RET_LABEL20
:(void)0;
3788 { /* Inline model#MClass#intro (var19) on <var19:MClass> */
3789 var24
= var19
->attrs
[COLOR_nit__model__MClass___intro
].val
; /* _intro on <var19:MClass> */
3790 if (unlikely(var24
== NULL
)) {
3791 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3792 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 423);
3796 RET_LABEL23
:(void)0;
3800 { /* Inline model#MClassDef#mmodule (var22) on <var22:MClassDef> */
3801 var27
= var22
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var22:MClassDef> */
3802 if (unlikely(var27
== NULL
)) {
3803 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3804 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
3808 RET_LABEL26
:(void)0;
3811 var_mmodule_type
= var25
;
3813 /* <var_mtype:MType> isa MVirtualType */
3814 cltype29
= type_nit__MVirtualType
.color
;
3815 idtype30
= type_nit__MVirtualType
.id
;
3816 if(cltype29
>= var_mtype
->type
->table_size
) {
3819 var28
= var_mtype
->type
->type_table
[cltype29
] == idtype30
;
3823 { /* Inline model#MVirtualType#mproperty (var_mtype) on <var_mtype:MType(MVirtualType)> */
3824 var33
= var_mtype
->attrs
[COLOR_nit__model__MVirtualType___mproperty
].val
; /* _mproperty on <var_mtype:MType(MVirtualType)> */
3825 if (unlikely(var33
== NULL
)) {
3826 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
3827 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1254);
3831 RET_LABEL32
:(void)0;
3835 { /* Inline model#MProperty#visibility (var31) on <var31:MVirtualTypeProp> */
3836 var36
= var31
->attrs
[COLOR_nit__model__MProperty___visibility
].val
; /* _visibility on <var31:MVirtualTypeProp> */
3837 if (unlikely(var36
== NULL
)) {
3838 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
3839 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1757);
3843 RET_LABEL35
:(void)0;
3846 var_vis_type
= var34
;
3848 { /* Inline model#MVirtualType#mproperty (var_mtype) on <var_mtype:MType(MVirtualType)> */
3849 var39
= var_mtype
->attrs
[COLOR_nit__model__MVirtualType___mproperty
].val
; /* _mproperty on <var_mtype:MType(MVirtualType)> */
3850 if (unlikely(var39
== NULL
)) {
3851 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
3852 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1254);
3856 RET_LABEL38
:(void)0;
3860 { /* Inline model#MProperty#intro_mclassdef (var37) on <var37:MVirtualTypeProp> */
3861 var42
= var37
->attrs
[COLOR_nit__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var37:MVirtualTypeProp> */
3862 if (unlikely(var42
== NULL
)) {
3863 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
3864 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1736);
3868 RET_LABEL41
:(void)0;
3872 { /* Inline model#MClassDef#mmodule (var40) on <var40:MClassDef> */
3873 var45
= var40
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var40:MClassDef> */
3874 if (unlikely(var45
== NULL
)) {
3875 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3876 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
3880 RET_LABEL44
:(void)0;
3883 var_mmodule_type
= var43
;
3885 /* <var_mtype:MType> isa MParameterType */
3886 cltype47
= type_nit__MParameterType
.color
;
3887 idtype48
= type_nit__MParameterType
.id
;
3888 if(cltype47
>= var_mtype
->type
->table_size
) {
3891 var46
= var_mtype
->type
->type_table
[cltype47
] == idtype48
;
3898 var50
= "Unexpected type ";
3900 var52
= standard___standard__NativeString___to_s_with_length(var50
, var51
);
3904 var53
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3905 { /* var53 = array_instance Array[Object] */
3907 var55
= NEW_standard__NativeArray(var54
, &type_standard__NativeArray__standard__Object
);
3908 ((struct instance_standard__NativeArray
*)var55
)->values
[0] = (val
*) var49
;
3909 ((struct instance_standard__NativeArray
*)var55
)->values
[1] = (val
*) var_mtype
;
3911 ((void (*)(val
* self
, val
* p0
, long p1
))(var53
->class->vft
[COLOR_standard__array__Array__with_native
]))(var53
, var55
, var54
) /* with_native on <var53:Array[Object]>*/;
3915 var56
= ((val
* (*)(val
* self
))(var53
->class->vft
[COLOR_standard__string__Object__to_s
]))(var53
) /* to_s on <var53:Array[Object]>*/;
3918 nit___nit__ANode___debug(var_node
, var56
); /* Direct call parser_nodes#ANode#debug on <var_node:ANode>*/
3920 PRINT_ERROR("Runtime error: %s", "Aborted");
3921 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 300);
3927 if (var_vis_type
== NULL
) {
3928 var58
= 0; /* is null */
3930 var58
= 1; /* arg is null and recv is not */
3933 { /* Inline kernel#Object#!= (var_vis_type,var57) on <var_vis_type:nullable MVisibility> */
3936 var61
= ((short int (*)(val
* self
, val
* p0
))(var_vis_type
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_vis_type
, var_other
) /* == on <var_vis_type:nullable MVisibility(MVisibility)>*/;
3941 RET_LABEL60
:(void)0;
3947 if (var_mmodule_type
== NULL
) {
3948 var64
= 0; /* is null */
3950 var64
= 1; /* arg is null and recv is not */
3953 { /* Inline kernel#Object#!= (var_mmodule_type,var63) on <var_mmodule_type:nullable MModule> */
3956 var67
= ((short int (*)(val
* self
, val
* p0
))(var_mmodule_type
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mmodule_type
, var_other
) /* == on <var_mmodule_type:nullable MModule(MModule)>*/;
3961 RET_LABEL66
:(void)0;
3965 if (unlikely(!var64
)) {
3966 PRINT_ERROR("Runtime error: %s", "Assert failed");
3967 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 304);
3971 var69
= nit___nit__MModule___visibility_for(var_mmodule
, var_mmodule_type
);
3973 var_vis_module_type
= var69
;
3975 { /* Inline model#MProperty#visibility (var_mproperty) on <var_mproperty:MProperty> */
3976 var72
= var_mproperty
->attrs
[COLOR_nit__model__MProperty___visibility
].val
; /* _visibility on <var_mproperty:MProperty> */
3977 if (unlikely(var72
== NULL
)) {
3978 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
3979 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1757);
3983 RET_LABEL71
:(void)0;
3987 var73
= standard___standard__Comparable____62d(var70
, var_vis_type
);
3993 var76
= "Error: The ";
3995 var78
= standard___standard__NativeString___to_s_with_length(var76
, var77
);
4000 { /* Inline model#MProperty#visibility (var_mproperty) on <var_mproperty:MProperty> */
4001 var81
= var_mproperty
->attrs
[COLOR_nit__model__MProperty___visibility
].val
; /* _visibility on <var_mproperty:MProperty> */
4002 if (unlikely(var81
== NULL
)) {
4003 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
4004 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1757);
4008 RET_LABEL80
:(void)0;
4014 var84
= " property `";
4016 var86
= standard___standard__NativeString___to_s_with_length(var84
, var85
);
4023 var89
= "` cannot contain the ";
4025 var91
= standard___standard__NativeString___to_s_with_length(var89
, var90
);
4034 var96
= standard___standard__NativeString___to_s_with_length(var94
, var95
);
4043 var101
= standard___standard__NativeString___to_s_with_length(var99
, var100
);
4047 var102
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4048 { /* var102 = array_instance Array[Object] */
4050 var104
= NEW_standard__NativeArray(var103
, &type_standard__NativeArray__standard__Object
);
4051 ((struct instance_standard__NativeArray
*)var104
)->values
[0] = (val
*) var75
;
4052 ((struct instance_standard__NativeArray
*)var104
)->values
[1] = (val
*) var79
;
4053 ((struct instance_standard__NativeArray
*)var104
)->values
[2] = (val
*) var83
;
4054 ((struct instance_standard__NativeArray
*)var104
)->values
[3] = (val
*) var_mproperty
;
4055 ((struct instance_standard__NativeArray
*)var104
)->values
[4] = (val
*) var88
;
4056 ((struct instance_standard__NativeArray
*)var104
)->values
[5] = (val
*) var_vis_type
;
4057 ((struct instance_standard__NativeArray
*)var104
)->values
[6] = (val
*) var93
;
4058 ((struct instance_standard__NativeArray
*)var104
)->values
[7] = (val
*) var_mtype
;
4059 ((struct instance_standard__NativeArray
*)var104
)->values
[8] = (val
*) var98
;
4061 ((void (*)(val
* self
, val
* p0
, long p1
))(var102
->class->vft
[COLOR_standard__array__Array__with_native
]))(var102
, var104
, var103
) /* with_native on <var102:Array[Object]>*/;
4065 var105
= ((val
* (*)(val
* self
))(var102
->class->vft
[COLOR_standard__string__Object__to_s
]))(var102
) /* to_s on <var102:Array[Object]>*/;
4068 nit___nit__ModelBuilder___error(self
, var_node
, var105
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
4073 { /* Inline model#MProperty#visibility (var_mproperty) on <var_mproperty:MProperty> */
4074 var108
= var_mproperty
->attrs
[COLOR_nit__model__MProperty___visibility
].val
; /* _visibility on <var_mproperty:MProperty> */
4075 if (unlikely(var108
== NULL
)) {
4076 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
4077 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1757);
4081 RET_LABEL107
:(void)0;
4085 var109
= standard___standard__Comparable____62d(var106
, var_vis_module_type
);
4089 var111
= varonce110
;
4091 var112
= "Error: The ";
4093 var114
= standard___standard__NativeString___to_s_with_length(var112
, var113
);
4095 varonce110
= var111
;
4098 { /* Inline model#MProperty#visibility (var_mproperty) on <var_mproperty:MProperty> */
4099 var117
= var_mproperty
->attrs
[COLOR_nit__model__MProperty___visibility
].val
; /* _visibility on <var_mproperty:MProperty> */
4100 if (unlikely(var117
== NULL
)) {
4101 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
4102 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1757);
4106 RET_LABEL116
:(void)0;
4110 var119
= varonce118
;
4112 var120
= " property `";
4114 var122
= standard___standard__NativeString___to_s_with_length(var120
, var121
);
4116 varonce118
= var119
;
4119 var124
= varonce123
;
4121 var125
= "` cannot contain the type `";
4123 var127
= standard___standard__NativeString___to_s_with_length(var125
, var126
);
4125 varonce123
= var124
;
4128 var129
= varonce128
;
4130 var130
= "` from the ";
4132 var132
= standard___standard__NativeString___to_s_with_length(var130
, var131
);
4134 varonce128
= var129
;
4137 var134
= varonce133
;
4139 var135
= " module `";
4141 var137
= standard___standard__NativeString___to_s_with_length(var135
, var136
);
4143 varonce133
= var134
;
4146 var139
= varonce138
;
4150 var142
= standard___standard__NativeString___to_s_with_length(var140
, var141
);
4152 varonce138
= var139
;
4154 var143
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4155 { /* var143 = array_instance Array[Object] */
4157 var145
= NEW_standard__NativeArray(var144
, &type_standard__NativeArray__standard__Object
);
4158 ((struct instance_standard__NativeArray
*)var145
)->values
[0] = (val
*) var111
;
4159 ((struct instance_standard__NativeArray
*)var145
)->values
[1] = (val
*) var115
;
4160 ((struct instance_standard__NativeArray
*)var145
)->values
[2] = (val
*) var119
;
4161 ((struct instance_standard__NativeArray
*)var145
)->values
[3] = (val
*) var_mproperty
;
4162 ((struct instance_standard__NativeArray
*)var145
)->values
[4] = (val
*) var124
;
4163 ((struct instance_standard__NativeArray
*)var145
)->values
[5] = (val
*) var_mtype
;
4164 ((struct instance_standard__NativeArray
*)var145
)->values
[6] = (val
*) var129
;
4165 ((struct instance_standard__NativeArray
*)var145
)->values
[7] = (val
*) var_vis_module_type
;
4166 ((struct instance_standard__NativeArray
*)var145
)->values
[8] = (val
*) var134
;
4167 ((struct instance_standard__NativeArray
*)var145
)->values
[9] = (val
*) var_mmodule_type
;
4168 ((struct instance_standard__NativeArray
*)var145
)->values
[10] = (val
*) var139
;
4170 ((void (*)(val
* self
, val
* p0
, long p1
))(var143
->class->vft
[COLOR_standard__array__Array__with_native
]))(var143
, var145
, var144
) /* with_native on <var143:Array[Object]>*/;
4174 var146
= ((val
* (*)(val
* self
))(var143
->class->vft
[COLOR_standard__string__Object__to_s
]))(var143
) /* to_s on <var143:Array[Object]>*/;
4177 nit___nit__ModelBuilder___error(self
, var_node
, var146
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
4185 /* <var_node:ANode> isa AType */
4186 cltype148
= type_nit__AType
.color
;
4187 idtype149
= type_nit__AType
.id
;
4188 if(cltype148
>= var_node
->type
->table_size
) {
4191 var147
= var_node
->type
->type_table
[cltype148
] == idtype149
;
4195 { /* Inline parser_nodes#AType#n_types (var_node) on <var_node:ANode(AType)> */
4196 var152
= var_node
->attrs
[COLOR_nit__parser_nodes__AType___n_types
].val
; /* _n_types on <var_node:ANode(AType)> */
4197 if (unlikely(var152
== NULL
)) {
4198 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types");
4199 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1539);
4203 RET_LABEL151
:(void)0;
4208 var153
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_
);
4213 var155
= ((short int (*)(val
* self
))(var_154
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_154
) /* is_ok on <var_154:Iterator[AType]>*/;
4217 var156
= ((val
* (*)(val
* self
))(var_154
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_154
) /* item on <var_154:Iterator[AType]>*/;
4221 { /* Inline modelize_class#AType#mtype (var_a) on <var_a:AType> */
4222 var159
= var_a
->attrs
[COLOR_nit__modelize_class__AType___mtype
].val
; /* _mtype on <var_a:AType> */
4224 RET_LABEL158
:(void)0;
4229 if (var_t
== NULL
) {
4230 var161
= 1; /* is null */
4232 var161
= 0; /* arg is null but recv is not */
4235 { /* Inline kernel#Object#== (var_t,var160) on <var_t:nullable MType> */
4236 var_other164
= var160
;
4238 { /* Inline kernel#Object#is_same_instance (var_t,var_other164) on <var_t:nullable MType(MType)> */
4239 var167
= var_t
== var_other164
;
4242 RET_LABEL166
:(void)0;
4247 RET_LABEL163
:(void)0;
4256 nit__modelize_property___ModelBuilder___check_visibility(self
, var_a
, var_t
, var_mpropdef
); /* Direct call modelize_property#ModelBuilder#check_visibility on <self:ModelBuilder>*/
4258 BREAK_label
: (void)0;
4260 ((void (*)(val
* self
))(var_154
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_154
) /* next on <var_154:Iterator[AType]>*/;
4263 goto BREAK_label168
;
4266 BREAK_label168
: (void)0;
4268 { /* Inline abstract_collection#Iterator#finish (var_154) on <var_154:Iterator[AType]> */
4269 RET_LABEL169
:(void)0;
4273 /* <var_mtype:MType> isa MGenericType */
4274 cltype171
= type_nit__MGenericType
.color
;
4275 idtype172
= type_nit__MGenericType
.id
;
4276 if(cltype171
>= var_mtype
->type
->table_size
) {
4279 var170
= var_mtype
->type
->type_table
[cltype171
] == idtype172
;
4283 { /* Inline model#MGenericType#arguments (var_mtype) on <var_mtype:MType(MGenericType)> */
4284 var175
= var_mtype
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
; /* _arguments on <var_mtype:MType(MGenericType)> */
4285 if (unlikely(var175
== NULL
)) {
4286 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
4287 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1164);
4291 RET_LABEL174
:(void)0;
4296 var177
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_176
);
4301 var179
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_178
);
4305 var180
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_178
);
4309 nit__modelize_property___ModelBuilder___check_visibility(self
, var_node
, var_t181
, var_mpropdef
); /* Direct call modelize_property#ModelBuilder#check_visibility on <self:ModelBuilder>*/
4312 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_178
); /* Direct call array#ArrayIterator#next on <var_178:ArrayIterator[MType]>*/
4315 goto BREAK_label182
;
4318 BREAK_label182
: (void)0;
4320 { /* Inline abstract_collection#Iterator#finish (var_178) on <var_178:ArrayIterator[MType]> */
4321 RET_LABEL183
:(void)0;
4329 /* method modelize_property#MPropDef#has_supercall for (self: MPropDef): Bool */
4330 short int nit__modelize_property___MPropDef___has_supercall(val
* self
) {
4331 short int var
/* : Bool */;
4332 short int var1
/* : Bool */;
4333 var1
= self
->attrs
[COLOR_nit__modelize_property__MPropDef___has_supercall
].s
; /* _has_supercall on <self:MPropDef> */
4338 /* method modelize_property#MPropDef#has_supercall= for (self: MPropDef, Bool) */
4339 void nit__modelize_property___MPropDef___has_supercall_61d(val
* self
, short int p0
) {
4340 self
->attrs
[COLOR_nit__modelize_property__MPropDef___has_supercall
].s
= p0
; /* _has_supercall on <self:MPropDef> */
4343 /* method modelize_property#AClassdef#build_properties_is_done for (self: AClassdef): Bool */
4344 short int nit__modelize_property___AClassdef___build_properties_is_done(val
* self
) {
4345 short int var
/* : Bool */;
4346 short int var1
/* : Bool */;
4347 var1
= self
->attrs
[COLOR_nit__modelize_property__AClassdef___build_properties_is_done
].s
; /* _build_properties_is_done on <self:AClassdef> */
4352 /* method modelize_property#AClassdef#build_properties_is_done= for (self: AClassdef, Bool) */
4353 void nit__modelize_property___AClassdef___build_properties_is_done_61d(val
* self
, short int p0
) {
4354 self
->attrs
[COLOR_nit__modelize_property__AClassdef___build_properties_is_done
].s
= p0
; /* _build_properties_is_done on <self:AClassdef> */
4357 /* method modelize_property#AClassdef#mfree_init for (self: AClassdef): nullable MMethodDef */
4358 val
* nit__modelize_property___AClassdef___mfree_init(val
* self
) {
4359 val
* var
/* : nullable MMethodDef */;
4360 val
* var1
/* : nullable MMethodDef */;
4361 var1
= self
->attrs
[COLOR_nit__modelize_property__AClassdef___mfree_init
].val
; /* _mfree_init on <self:AClassdef> */
4366 /* method modelize_property#AClassdef#mfree_init= for (self: AClassdef, nullable MMethodDef) */
4367 void nit__modelize_property___AClassdef___mfree_init_61d(val
* self
, val
* p0
) {
4368 self
->attrs
[COLOR_nit__modelize_property__AClassdef___mfree_init
].val
= p0
; /* _mfree_init on <self:AClassdef> */
4371 /* method modelize_property#MClass#root_init for (self: MClass): nullable MMethodDef */
4372 val
* nit__modelize_property___MClass___root_init(val
* self
) {
4373 val
* var
/* : nullable MMethodDef */;
4374 val
* var1
/* : nullable MMethodDef */;
4375 var1
= self
->attrs
[COLOR_nit__modelize_property__MClass___root_init
].val
; /* _root_init on <self:MClass> */
4380 /* method modelize_property#MClass#root_init= for (self: MClass, nullable MMethodDef) */
4381 void nit__modelize_property___MClass___root_init_61d(val
* self
, val
* p0
) {
4382 self
->attrs
[COLOR_nit__modelize_property__MClass___root_init
].val
= p0
; /* _root_init on <self:MClass> */
4385 /* method modelize_property#MClassDef#mprop2npropdef for (self: MClassDef): Map[MProperty, APropdef] */
4386 val
* nit__modelize_property___MClassDef___mprop2npropdef(val
* self
) {
4387 val
* var
/* : Map[MProperty, APropdef] */;
4388 val
* var1
/* : Map[MProperty, APropdef] */;
4389 var1
= self
->attrs
[COLOR_nit__modelize_property__MClassDef___mprop2npropdef
].val
; /* _mprop2npropdef on <self:MClassDef> */
4390 if (unlikely(var1
== NULL
)) {
4391 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
4392 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 352);
4399 /* method modelize_property#MClassDef#build_self_type for (self: MClassDef, ModelBuilder, AClassdef) */
4400 void nit__modelize_property___MClassDef___build_self_type(val
* self
, val
* p0
, val
* p1
) {
4401 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
4402 val
* var_nclassdef
/* var nclassdef: AClassdef */;
4403 short int var
/* : Bool */;
4404 short int var1
/* : Bool */;
4405 static val
* varonce
;
4406 val
* var2
/* : String */;
4407 char* var3
/* : NativeString */;
4408 long var4
/* : Int */;
4409 val
* var5
/* : FlatString */;
4410 val
* var_name
/* var name: String */;
4411 val
* var6
/* : nullable MProperty */;
4412 val
* var_mprop
/* var mprop: nullable MProperty */;
4413 val
* var7
/* : null */;
4414 short int var8
/* : Bool */;
4415 short int var9
/* : Bool */;
4416 val
* var_other
/* var other: nullable Object */;
4417 short int var11
/* : Bool */;
4418 short int var13
/* : Bool */;
4419 short int var14
/* : Bool */;
4422 short int var15
/* : Bool */;
4423 val
* var16
/* : MPropDef */;
4424 val
* var18
/* : MPropDef */;
4425 val
* var_intro
/* var intro: MVirtualTypeDef */;
4426 val
* var19
/* : MClassDef */;
4427 val
* var21
/* : MClassDef */;
4428 val
* var_intro_mclassdef
/* var intro_mclassdef: MClassDef */;
4429 short int var22
/* : Bool */;
4430 short int var24
/* : Bool */;
4431 short int var26
/* : Bool */;
4432 val
* var27
/* : HashMap[MPropDef, APropdef] */;
4433 val
* var29
/* : HashMap[MPropDef, APropdef] */;
4434 val
* var30
/* : nullable Object */;
4435 val
* var_nintro
/* var nintro: APropdef */;
4436 val
* var31
/* : MClass */;
4437 val
* var33
/* : MClass */;
4438 val
* var34
/* : String */;
4439 val
* var36
/* : String */;
4440 static val
* varonce37
;
4441 val
* var38
/* : String */;
4442 char* var39
/* : NativeString */;
4443 long var40
/* : Int */;
4444 val
* var41
/* : FlatString */;
4445 short int var42
/* : Bool */;
4446 val
* var_other44
/* var other: nullable Object */;
4447 short int var45
/* : Bool */;
4448 short int var46
/* : Bool */;
4449 static val
* varonce47
;
4450 val
* var48
/* : String */;
4451 char* var49
/* : NativeString */;
4452 long var50
/* : Int */;
4453 val
* var51
/* : FlatString */;
4454 val
* var52
/* : MVisibility */;
4455 val
* var54
/* : MVisibility */;
4456 val
* var55
/* : MVisibility */;
4457 short int var56
/* : Bool */;
4458 short int var58
/* : Bool */;
4459 short int var59
/* : Bool */;
4460 static val
* varonce60
;
4461 val
* var61
/* : String */;
4462 char* var62
/* : NativeString */;
4463 long var63
/* : Int */;
4464 val
* var64
/* : FlatString */;
4465 short int var65
/* : Bool */;
4466 short int var67
/* : Bool */;
4467 static val
* varonce68
;
4468 val
* var69
/* : String */;
4469 char* var70
/* : NativeString */;
4470 long var71
/* : Int */;
4471 val
* var72
/* : FlatString */;
4472 val
* var73
/* : MVirtualTypeDef */;
4473 val
* var74
/* : Location */;
4474 val
* var76
/* : Location */;
4475 val
* var_mpropdef
/* var mpropdef: MVirtualTypeDef */;
4476 val
* var77
/* : MClass */;
4477 val
* var79
/* : MClass */;
4478 val
* var80
/* : MClassType */;
4479 val
* var82
/* : MClassType */;
4480 var_modelbuilder
= p0
;
4483 var
= nit___nit__MClassDef___is_intro(self
);
4495 var5
= standard___standard__NativeString___to_s_with_length(var3
, var4
);
4501 var6
= nit___nit__ModelBuilder___try_get_mproperty_by_name(var_modelbuilder
, var_nclassdef
, self
, var_name
);
4505 if (var_mprop
== NULL
) {
4506 var8
= 1; /* is null */
4508 var8
= 0; /* arg is null but recv is not */
4511 { /* Inline kernel#Object#== (var_mprop,var7) on <var_mprop:nullable MProperty> */
4514 { /* Inline kernel#Object#is_same_instance (var_mprop,var_other) on <var_mprop:nullable MProperty(MProperty)> */
4515 var13
= var_mprop
== var_other
;
4518 RET_LABEL12
:(void)0;
4523 RET_LABEL10
:(void)0;
4531 /* <var_mprop:nullable MProperty(MProperty)> isa MVirtualTypeProp */
4532 cltype
= type_nit__MVirtualTypeProp
.color
;
4533 idtype
= type_nit__MVirtualTypeProp
.id
;
4534 if(cltype
>= var_mprop
->type
->table_size
) {
4537 var14
= var_mprop
->type
->type_table
[cltype
] == idtype
;
4545 { /* Inline model#MProperty#intro (var_mprop) on <var_mprop:nullable MProperty(MVirtualTypeProp)> */
4546 var18
= var_mprop
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var_mprop:nullable MProperty(MVirtualTypeProp)> */
4547 if (unlikely(var18
== NULL
)) {
4548 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
4549 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1773);
4553 RET_LABEL17
:(void)0;
4558 { /* Inline model#MPropDef#mclassdef (var_intro) on <var_intro:MVirtualTypeDef> */
4559 var21
= var_intro
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_intro:MVirtualTypeDef> */
4560 if (unlikely(var21
== NULL
)) {
4561 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
4562 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
4566 RET_LABEL20
:(void)0;
4569 var_intro_mclassdef
= var19
;
4571 { /* Inline kernel#Object#== (var_intro_mclassdef,self) on <var_intro_mclassdef:MClassDef> */
4574 { /* Inline kernel#Object#is_same_instance (var_intro_mclassdef,var_other) on <var_intro_mclassdef:MClassDef> */
4575 var26
= var_intro_mclassdef
== var_other
;
4578 RET_LABEL25
:(void)0;
4583 RET_LABEL23
:(void)0;
4588 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
4589 var29
= var_modelbuilder
->attrs
[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
4590 if (unlikely(var29
== NULL
)) {
4591 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
4592 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 40);
4596 RET_LABEL28
:(void)0;
4600 var30
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var27
, var_intro
);
4604 { /* Inline model#MClassDef#mclass (var_intro_mclassdef) on <var_intro_mclassdef:MClassDef> */
4605 var33
= var_intro_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_intro_mclassdef:MClassDef> */
4606 if (unlikely(var33
== NULL
)) {
4607 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4608 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
4612 RET_LABEL32
:(void)0;
4616 { /* Inline model#MClass#name (var31) on <var31:MClass> */
4617 var36
= var31
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var31:MClass> */
4618 if (unlikely(var36
== NULL
)) {
4619 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4620 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
4624 RET_LABEL35
:(void)0;
4632 var41
= standard___standard__NativeString___to_s_with_length(var39
, var40
);
4637 { /* Inline kernel#Object#!= (var34,var38) on <var34:String> */
4638 var_other44
= var38
;
4640 var45
= ((short int (*)(val
* self
, val
* p0
))(var34
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var34
, var_other44
) /* == on <var34:String>*/;
4645 RET_LABEL43
:(void)0;
4652 var49
= "Error: the virtual type SELF must be declared in Object.";
4654 var51
= standard___standard__NativeString___to_s_with_length(var49
, var50
);
4659 nit___nit__ModelBuilder___error(var_modelbuilder
, var_nintro
, var48
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
4664 { /* Inline model#MProperty#visibility (var_mprop) on <var_mprop:nullable MProperty(MVirtualTypeProp)> */
4665 var54
= var_mprop
->attrs
[COLOR_nit__model__MProperty___visibility
].val
; /* _visibility on <var_mprop:nullable MProperty(MVirtualTypeProp)> */
4666 if (unlikely(var54
== NULL
)) {
4667 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
4668 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1757);
4672 RET_LABEL53
:(void)0;
4676 var55
= nit__model_base___standard__Object___public_visibility(self
);
4679 { /* Inline kernel#Object#!= (var52,var55) on <var52:MVisibility> */
4680 var_other44
= var55
;
4682 var58
= ((short int (*)(val
* self
, val
* p0
))(var52
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var52
, var_other44
) /* == on <var52:MVisibility>*/;
4687 RET_LABEL57
:(void)0;
4694 var62
= "Error: the virtual type SELF must be public.";
4696 var64
= standard___standard__NativeString___to_s_with_length(var62
, var63
);
4701 nit___nit__ModelBuilder___error(var_modelbuilder
, var_nintro
, var61
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
4706 { /* Inline model#MVirtualTypeDef#is_fixed (var_intro) on <var_intro:MVirtualTypeDef> */
4707 var67
= var_intro
->attrs
[COLOR_nit__model__MVirtualTypeDef___is_fixed
].s
; /* _is_fixed on <var_intro:MVirtualTypeDef> */
4709 RET_LABEL66
:(void)0;
4716 var70
= "Error: the virtual type SELF cannot be fixed.";
4718 var72
= standard___standard__NativeString___to_s_with_length(var70
, var71
);
4723 nit___nit__ModelBuilder___error(var_modelbuilder
, var_nintro
, var69
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
4730 var73
= NEW_nit__MVirtualTypeDef(&type_nit__MVirtualTypeDef
);
4732 { /* Inline model#MClassDef#location (self) on <self:MClassDef> */
4733 var76
= self
->attrs
[COLOR_nit__model__MClassDef___location
].val
; /* _location on <self:MClassDef> */
4734 if (unlikely(var76
== NULL
)) {
4735 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
4736 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 507);
4740 RET_LABEL75
:(void)0;
4744 ((void (*)(val
* self
, val
* p0
))(var73
->class->vft
[COLOR_nit__model__MPropDef__mclassdef_61d
]))(var73
, self
) /* mclassdef= on <var73:MVirtualTypeDef>*/;
4747 ((void (*)(val
* self
, val
* p0
))(var73
->class->vft
[COLOR_nit__model__MPropDef__mproperty_61d
]))(var73
, var_mprop
) /* mproperty= on <var73:MVirtualTypeDef>*/;
4750 ((void (*)(val
* self
, val
* p0
))(var73
->class->vft
[COLOR_nit__model__MPropDef__location_61d
]))(var73
, var74
) /* location= on <var73:MVirtualTypeDef>*/;
4753 ((void (*)(val
* self
))(var73
->class->vft
[COLOR_standard__kernel__Object__init
]))(var73
) /* init on <var73:MVirtualTypeDef>*/;
4755 var_mpropdef
= var73
;
4757 { /* Inline model#MClassDef#mclass (self) on <self:MClassDef> */
4758 var79
= self
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <self:MClassDef> */
4759 if (unlikely(var79
== NULL
)) {
4760 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4761 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
4765 RET_LABEL78
:(void)0;
4769 { /* Inline model#MClass#mclass_type (var77) on <var77:MClass> */
4770 var82
= var77
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var77:MClass> */
4771 if (unlikely(var82
== NULL
)) {
4772 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
4773 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
4777 RET_LABEL81
:(void)0;
4781 { /* Inline model#MVirtualTypeDef#bound= (var_mpropdef,var80) on <var_mpropdef:MVirtualTypeDef> */
4782 var_mpropdef
->attrs
[COLOR_nit__model__MVirtualTypeDef___bound
].val
= var80
; /* _bound on <var_mpropdef:MVirtualTypeDef> */
4783 RET_LABEL83
:(void)0;
4788 /* method modelize_property#APropdef#mpropdef for (self: APropdef): nullable MPropDef */
4789 val
* nit__modelize_property___APropdef___mpropdef(val
* self
) {
4790 val
* var
/* : nullable MPropDef */;
4791 val
* var1
/* : nullable MPropDef */;
4792 var1
= self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:APropdef> */
4797 /* method modelize_property#APropdef#mpropdef= for (self: APropdef, nullable MPropDef) */
4798 void nit__modelize_property___APropdef___mpropdef_61d(val
* self
, val
* p0
) {
4799 short int var
/* : Bool */;
4802 const struct type
* type_struct
;
4803 const char* var_class_name
;
4804 /* Covariant cast for argument 0 (mpropdef) <p0:nullable MPropDef> isa nullable MPROPDEF */
4805 /* <p0:nullable MPropDef> isa nullable MPROPDEF */
4806 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable__nit__modelize_property__APropdef__MPROPDEF
];
4807 cltype
= type_struct
->color
;
4808 idtype
= type_struct
->id
;
4812 if(cltype
>= p0
->type
->table_size
) {
4815 var
= p0
->type
->type_table
[cltype
] == idtype
;
4818 if (unlikely(!var
)) {
4819 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4820 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name
);
4821 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 405);
4824 self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
= p0
; /* _mpropdef on <self:APropdef> */
4827 /* method modelize_property#APropdef#new_property_visibility for (self: APropdef, ModelBuilder, MClassDef, nullable AVisibility): MVisibility */
4828 val
* nit__modelize_property___APropdef___new_property_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4829 val
* var
/* : MVisibility */;
4830 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
4831 val
* var_mclassdef
/* var mclassdef: MClassDef */;
4832 val
* var_nvisibility
/* var nvisibility: nullable AVisibility */;
4833 val
* var1
/* : MVisibility */;
4834 val
* var_mvisibility
/* var mvisibility: MVisibility */;
4835 val
* var2
/* : null */;
4836 short int var3
/* : Bool */;
4837 short int var4
/* : Bool */;
4838 val
* var_other
/* var other: nullable Object */;
4839 short int var6
/* : Bool */;
4840 short int var7
/* : Bool */;
4841 val
* var8
/* : MVisibility */;
4842 val
* var9
/* : MVisibility */;
4843 short int var10
/* : Bool */;
4844 val
* var_other12
/* var other: nullable Object */;
4845 short int var13
/* : Bool */;
4846 short int var15
/* : Bool */;
4847 static val
* varonce
;
4848 val
* var16
/* : String */;
4849 char* var17
/* : NativeString */;
4850 long var18
/* : Int */;
4851 val
* var19
/* : FlatString */;
4852 val
* var20
/* : MVisibility */;
4853 val
* var21
/* : MClass */;
4854 val
* var23
/* : MClass */;
4855 val
* var24
/* : MVisibility */;
4856 val
* var26
/* : MVisibility */;
4857 val
* var27
/* : MVisibility */;
4858 short int var28
/* : Bool */;
4859 short int var30
/* : Bool */;
4860 short int var32
/* : Bool */;
4861 val
* var33
/* : MVisibility */;
4862 short int var34
/* : Bool */;
4863 short int var36
/* : Bool */;
4864 short int var38
/* : Bool */;
4865 val
* var39
/* : null */;
4866 short int var40
/* : Bool */;
4867 short int var41
/* : Bool */;
4868 short int var43
/* : Bool */;
4869 short int var44
/* : Bool */;
4870 static val
* varonce45
;
4871 val
* var46
/* : String */;
4872 char* var47
/* : NativeString */;
4873 long var48
/* : Int */;
4874 val
* var49
/* : FlatString */;
4875 val
* var50
/* : MVisibility */;
4876 short int var51
/* : Bool */;
4877 short int var53
/* : Bool */;
4878 short int var55
/* : Bool */;
4879 val
* var56
/* : null */;
4880 short int var57
/* : Bool */;
4881 short int var58
/* : Bool */;
4882 short int var60
/* : Bool */;
4883 short int var61
/* : Bool */;
4884 static val
* varonce62
;
4885 val
* var63
/* : String */;
4886 char* var64
/* : NativeString */;
4887 long var65
/* : Int */;
4888 val
* var66
/* : FlatString */;
4889 static val
* varonce67
;
4890 val
* var68
/* : String */;
4891 char* var69
/* : NativeString */;
4892 long var70
/* : Int */;
4893 val
* var71
/* : FlatString */;
4894 val
* var72
/* : MVisibility */;
4895 var_modelbuilder
= p0
;
4897 var_nvisibility
= p2
;
4899 var1
= nit__model_base___standard__Object___public_visibility(self
);
4901 var_mvisibility
= var1
;
4903 if (var_nvisibility
== NULL
) {
4904 var3
= 0; /* is null */
4906 var3
= 1; /* arg is null and recv is not */
4909 { /* Inline kernel#Object#!= (var_nvisibility,var2) on <var_nvisibility:nullable AVisibility> */
4912 var6
= ((short int (*)(val
* self
, val
* p0
))(var_nvisibility
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nvisibility
, var_other
) /* == on <var_nvisibility:nullable AVisibility(AVisibility)>*/;
4923 var8
= ((val
* (*)(val
* self
))(var_nvisibility
->class->vft
[COLOR_nit__modelbuilder_base__AVisibility__mvisibility
]))(var_nvisibility
) /* mvisibility on <var_nvisibility:nullable AVisibility(AVisibility)>*/;
4925 var_mvisibility
= var8
;
4927 var9
= nit__model_base___standard__Object___intrude_visibility(self
);
4930 { /* Inline kernel#Object#== (var_mvisibility,var9) on <var_mvisibility:MVisibility> */
4933 { /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other12) on <var_mvisibility:MVisibility> */
4934 var15
= var_mvisibility
== var_other12
;
4937 RET_LABEL14
:(void)0;
4942 RET_LABEL11
:(void)0;
4949 var17
= "Error: intrude is not a legal visibility for properties.";
4951 var19
= standard___standard__NativeString___to_s_with_length(var17
, var18
);
4956 nit___nit__ModelBuilder___error(var_modelbuilder
, var_nvisibility
, var16
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
4959 var20
= nit__model_base___standard__Object___public_visibility(self
);
4961 var_mvisibility
= var20
;
4967 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
4968 var23
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
4969 if (unlikely(var23
== NULL
)) {
4970 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4971 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
4975 RET_LABEL22
:(void)0;
4979 { /* Inline model#MClass#visibility (var21) on <var21:MClass> */
4980 var26
= var21
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <var21:MClass> */
4981 if (unlikely(var26
== NULL
)) {
4982 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
4983 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 403);
4987 RET_LABEL25
:(void)0;
4991 var27
= nit__model_base___standard__Object___private_visibility(self
);
4994 { /* Inline kernel#Object#== (var24,var27) on <var24:MVisibility> */
4995 var_other12
= var27
;
4997 { /* Inline kernel#Object#is_same_instance (var24,var_other12) on <var24:MVisibility> */
4998 var32
= var24
== var_other12
;
5001 RET_LABEL31
:(void)0;
5006 RET_LABEL29
:(void)0;
5011 var33
= nit__model_base___standard__Object___protected_visibility(self
);
5014 { /* Inline kernel#Object#== (var_mvisibility,var33) on <var_mvisibility:MVisibility> */
5015 var_other12
= var33
;
5017 { /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other12) on <var_mvisibility:MVisibility> */
5018 var38
= var_mvisibility
== var_other12
;
5021 RET_LABEL37
:(void)0;
5026 RET_LABEL35
:(void)0;
5031 if (var_nvisibility
== NULL
) {
5032 var40
= 0; /* is null */
5034 var40
= 1; /* arg is null and recv is not */
5037 { /* Inline kernel#Object#!= (var_nvisibility,var39) on <var_nvisibility:nullable AVisibility> */
5040 var43
= ((short int (*)(val
* self
, val
* p0
))(var_nvisibility
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nvisibility
, var_other
) /* == on <var_nvisibility:nullable AVisibility(AVisibility)>*/;
5045 RET_LABEL42
:(void)0;
5049 if (unlikely(!var40
)) {
5050 PRINT_ERROR("Runtime error: %s", "Assert failed");
5051 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 423);
5057 var47
= "Error: The only legal visibility for properties in a private class is private.";
5059 var49
= standard___standard__NativeString___to_s_with_length(var47
, var48
);
5064 nit___nit__ModelBuilder___error(var_modelbuilder
, var_nvisibility
, var46
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
5068 var50
= nit__model_base___standard__Object___private_visibility(self
);
5071 { /* Inline kernel#Object#== (var_mvisibility,var50) on <var_mvisibility:MVisibility> */
5072 var_other12
= var50
;
5074 { /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other12) on <var_mvisibility:MVisibility> */
5075 var55
= var_mvisibility
== var_other12
;
5078 RET_LABEL54
:(void)0;
5083 RET_LABEL52
:(void)0;
5088 if (var_nvisibility
== NULL
) {
5089 var57
= 0; /* is null */
5091 var57
= 1; /* arg is null and recv is not */
5094 { /* Inline kernel#Object#!= (var_nvisibility,var56) on <var_nvisibility:nullable AVisibility> */
5097 var60
= ((short int (*)(val
* self
, val
* p0
))(var_nvisibility
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nvisibility
, var_other
) /* == on <var_nvisibility:nullable AVisibility(AVisibility)>*/;
5102 RET_LABEL59
:(void)0;
5106 if (unlikely(!var57
)) {
5107 PRINT_ERROR("Runtime error: %s", "Assert failed");
5108 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 426);
5114 var64
= "useless-visibility";
5116 var66
= standard___standard__NativeString___to_s_with_length(var64
, var65
);
5123 var69
= "Warning: private is superfluous since the only legal visibility for properties in a private class is private.";
5125 var71
= standard___standard__NativeString___to_s_with_length(var69
, var70
);
5130 nit___nit__ModelBuilder___advice(var_modelbuilder
, var_nvisibility
, var63
, var68
); /* Direct call modelbuilder_base#ModelBuilder#advice on <var_modelbuilder:ModelBuilder>*/
5136 var72
= nit__model_base___standard__Object___private_visibility(self
);
5138 var_mvisibility
= var72
;
5141 var
= var_mvisibility
;
5146 /* method modelize_property#APropdef#set_doc for (self: APropdef, MPropDef, ModelBuilder) */
5147 void nit__modelize_property___APropdef___set_doc(val
* self
, val
* p0
, val
* p1
) {
5148 val
* var_mpropdef
/* var mpropdef: MPropDef */;
5149 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
5150 val
* var
/* : nullable ADoc */;
5151 val
* var2
/* : nullable ADoc */;
5152 val
* var_ndoc
/* var ndoc: nullable ADoc */;
5153 val
* var3
/* : null */;
5154 short int var4
/* : Bool */;
5155 short int var5
/* : Bool */;
5156 val
* var_other
/* var other: nullable Object */;
5157 short int var7
/* : Bool */;
5158 short int var8
/* : Bool */;
5159 val
* var9
/* : MDoc */;
5160 val
* var_mdoc
/* var mdoc: MDoc */;
5161 short int var12
/* : Bool */;
5162 short int var13
/* : Bool */;
5163 short int var_
/* var : Bool */;
5164 val
* var14
/* : MProperty */;
5165 val
* var16
/* : MProperty */;
5166 val
* var17
/* : MVisibility */;
5167 val
* var19
/* : MVisibility */;
5168 val
* var20
/* : MVisibility */;
5169 short int var21
/* : Bool */;
5170 static val
* varonce
;
5171 val
* var22
/* : String */;
5172 char* var23
/* : NativeString */;
5173 long var24
/* : Int */;
5174 val
* var25
/* : FlatString */;
5175 static val
* varonce26
;
5176 val
* var27
/* : String */;
5177 char* var28
/* : NativeString */;
5178 long var29
/* : Int */;
5179 val
* var30
/* : FlatString */;
5180 val
* var31
/* : MProperty */;
5181 val
* var33
/* : MProperty */;
5182 static val
* varonce34
;
5183 val
* var35
/* : String */;
5184 char* var36
/* : NativeString */;
5185 long var37
/* : Int */;
5186 val
* var38
/* : FlatString */;
5187 val
* var39
/* : Array[Object] */;
5188 long var40
/* : Int */;
5189 val
* var41
/* : NativeArray[Object] */;
5190 val
* var42
/* : String */;
5191 static val
* varonce43
;
5192 val
* var44
/* : String */;
5193 char* var45
/* : NativeString */;
5194 long var46
/* : Int */;
5195 val
* var47
/* : FlatString */;
5196 val
* var48
/* : nullable AAnnotation */;
5197 val
* var_at_deprecated
/* var at_deprecated: nullable AAnnotation */;
5198 val
* var49
/* : null */;
5199 short int var50
/* : Bool */;
5200 short int var51
/* : Bool */;
5201 short int var53
/* : Bool */;
5202 short int var54
/* : Bool */;
5203 short int var55
/* : Bool */;
5204 short int var56
/* : Bool */;
5205 static val
* varonce57
;
5206 val
* var58
/* : String */;
5207 char* var59
/* : NativeString */;
5208 long var60
/* : Int */;
5209 val
* var61
/* : FlatString */;
5210 val
* var62
/* : MDeprecationInfo */;
5211 val
* var_info
/* var info: MDeprecationInfo */;
5212 val
* var64
/* : nullable ADoc */;
5213 val
* var66
/* : nullable ADoc */;
5214 val
* var67
/* : null */;
5215 short int var68
/* : Bool */;
5216 short int var69
/* : Bool */;
5217 short int var71
/* : Bool */;
5218 short int var72
/* : Bool */;
5219 val
* var73
/* : MDoc */;
5220 val
* var75
/* : MProperty */;
5221 val
* var77
/* : MProperty */;
5223 var_modelbuilder
= p1
;
5225 { /* Inline parser_nodes#ADefinition#n_doc (self) on <self:APropdef> */
5226 var2
= self
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_doc
].val
; /* _n_doc on <self:APropdef> */
5233 if (var_ndoc
== NULL
) {
5234 var4
= 0; /* is null */
5236 var4
= 1; /* arg is null and recv is not */
5239 { /* Inline kernel#Object#!= (var_ndoc,var3) on <var_ndoc:nullable ADoc> */
5242 var7
= ((short int (*)(val
* self
, val
* p0
))(var_ndoc
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ndoc
, var_other
) /* == on <var_ndoc:nullable ADoc(ADoc)>*/;
5253 var9
= nit__modelbuilder_base___ADoc___to_mdoc(var_ndoc
);
5257 { /* Inline mdoc#MEntity#mdoc= (var_mpropdef,var_mdoc) on <var_mpropdef:MPropDef> */
5258 var_mpropdef
->attrs
[COLOR_nit__mdoc__MEntity___mdoc
].val
= var_mdoc
; /* _mdoc on <var_mpropdef:MPropDef> */
5259 RET_LABEL10
:(void)0;
5263 { /* Inline mdoc#MDoc#original_mentity= (var_mdoc,var_mpropdef) on <var_mdoc:MDoc> */
5264 var_mdoc
->attrs
[COLOR_nit__mdoc__MDoc___original_mentity
].val
= var_mpropdef
; /* _original_mentity on <var_mdoc:MDoc> */
5265 RET_LABEL11
:(void)0;
5270 var13
= nit___nit__MPropDef___is_intro(var_mpropdef
);
5275 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MPropDef> */
5276 var16
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MPropDef> */
5277 if (unlikely(var16
== NULL
)) {
5278 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5279 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
5283 RET_LABEL15
:(void)0;
5287 { /* Inline model#MProperty#visibility (var14) on <var14:MProperty> */
5288 var19
= var14
->attrs
[COLOR_nit__model__MProperty___visibility
].val
; /* _visibility on <var14:MProperty> */
5289 if (unlikely(var19
== NULL
)) {
5290 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
5291 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1757);
5295 RET_LABEL18
:(void)0;
5299 var20
= nit__model_base___standard__Object___protected_visibility(self
);
5302 var21
= standard___standard__Comparable____62d_61d(var17
, var20
);
5312 var23
= "missing-doc";
5314 var25
= standard___standard__NativeString___to_s_with_length(var23
, var24
);
5321 var28
= "Documentation warning: Undocumented property `";
5323 var30
= standard___standard__NativeString___to_s_with_length(var28
, var29
);
5328 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MPropDef> */
5329 var33
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MPropDef> */
5330 if (unlikely(var33
== NULL
)) {
5331 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5332 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
5336 RET_LABEL32
:(void)0;
5344 var38
= standard___standard__NativeString___to_s_with_length(var36
, var37
);
5348 var39
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5349 { /* var39 = array_instance Array[Object] */
5351 var41
= NEW_standard__NativeArray(var40
, &type_standard__NativeArray__standard__Object
);
5352 ((struct instance_standard__NativeArray
*)var41
)->values
[0] = (val
*) var27
;
5353 ((struct instance_standard__NativeArray
*)var41
)->values
[1] = (val
*) var31
;
5354 ((struct instance_standard__NativeArray
*)var41
)->values
[2] = (val
*) var35
;
5356 ((void (*)(val
* self
, val
* p0
, long p1
))(var39
->class->vft
[COLOR_standard__array__Array__with_native
]))(var39
, var41
, var40
) /* with_native on <var39:Array[Object]>*/;
5360 var42
= ((val
* (*)(val
* self
))(var39
->class->vft
[COLOR_standard__string__Object__to_s
]))(var39
) /* to_s on <var39:Array[Object]>*/;
5363 nit___nit__ModelBuilder___advice(var_modelbuilder
, self
, var22
, var42
); /* Direct call modelbuilder_base#ModelBuilder#advice on <var_modelbuilder:ModelBuilder>*/
5371 var45
= "deprecated";
5373 var47
= standard___standard__NativeString___to_s_with_length(var45
, var46
);
5378 var48
= nit__annotation___Prod___get_single_annotation(self
, var44
, var_modelbuilder
);
5380 var_at_deprecated
= var48
;
5382 if (var_at_deprecated
== NULL
) {
5383 var50
= 0; /* is null */
5385 var50
= 1; /* arg is null and recv is not */
5388 { /* Inline kernel#Object#!= (var_at_deprecated,var49) on <var_at_deprecated:nullable AAnnotation> */
5391 var53
= ((short int (*)(val
* self
, val
* p0
))(var_at_deprecated
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_at_deprecated
, var_other
) /* == on <var_at_deprecated:nullable AAnnotation(AAnnotation)>*/;
5396 RET_LABEL52
:(void)0;
5402 var55
= nit___nit__MPropDef___is_intro(var_mpropdef
);
5409 var59
= "Error: method redefinition cannot be deprecated.";
5411 var61
= standard___standard__NativeString___to_s_with_length(var59
, var60
);
5416 nit___nit__ModelBuilder___error(var_modelbuilder
, self
, var58
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
5419 var62
= NEW_nit__MDeprecationInfo(&type_nit__MDeprecationInfo
);
5421 { /* Inline kernel#Object#init (var62) on <var62:MDeprecationInfo> */
5422 RET_LABEL63
:(void)0;
5427 { /* Inline parser_nodes#ADefinition#n_doc (var_at_deprecated) on <var_at_deprecated:nullable AAnnotation(AAnnotation)> */
5428 var66
= var_at_deprecated
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_doc
].val
; /* _n_doc on <var_at_deprecated:nullable AAnnotation(AAnnotation)> */
5430 RET_LABEL65
:(void)0;
5435 if (var_ndoc
== NULL
) {
5436 var68
= 0; /* is null */
5438 var68
= 1; /* arg is null and recv is not */
5441 { /* Inline kernel#Object#!= (var_ndoc,var67) on <var_ndoc:nullable ADoc> */
5444 var71
= ((short int (*)(val
* self
, val
* p0
))(var_ndoc
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ndoc
, var_other
) /* == on <var_ndoc:nullable ADoc(ADoc)>*/;
5449 RET_LABEL70
:(void)0;
5455 var73
= nit__modelbuilder_base___ADoc___to_mdoc(var_ndoc
);
5458 { /* Inline mdoc#MDeprecationInfo#mdoc= (var_info,var73) on <var_info:MDeprecationInfo> */
5459 var_info
->attrs
[COLOR_nit__mdoc__MDeprecationInfo___mdoc
].val
= var73
; /* _mdoc on <var_info:MDeprecationInfo> */
5460 RET_LABEL74
:(void)0;
5466 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MPropDef> */
5467 var77
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MPropDef> */
5468 if (unlikely(var77
== NULL
)) {
5469 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5470 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
5474 RET_LABEL76
:(void)0;
5478 { /* Inline mdoc#MEntity#deprecation= (var75,var_info) on <var75:MProperty> */
5479 var75
->attrs
[COLOR_nit__mdoc__MEntity___deprecation
].val
= var_info
; /* _deprecation on <var75:MProperty> */
5480 RET_LABEL78
:(void)0;
5488 /* method modelize_property#APropdef#check_redef_property_visibility for (self: APropdef, ModelBuilder, nullable AVisibility, MProperty) */
5489 void nit__modelize_property___APropdef___check_redef_property_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5490 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
5491 val
* var_nvisibility
/* var nvisibility: nullable AVisibility */;
5492 val
* var_mprop
/* var mprop: MProperty */;
5493 val
* var
/* : null */;
5494 short int var1
/* : Bool */;
5495 short int var2
/* : Bool */;
5496 val
* var_other
/* var other: nullable Object */;
5497 short int var4
/* : Bool */;
5498 short int var6
/* : Bool */;
5499 val
* var7
/* : MVisibility */;
5500 val
* var_mvisibility
/* var mvisibility: MVisibility */;
5501 short int var8
/* : Bool */;
5502 val
* var9
/* : MVisibility */;
5503 val
* var11
/* : MVisibility */;
5504 short int var12
/* : Bool */;
5505 val
* var_other14
/* var other: nullable Object */;
5506 short int var15
/* : Bool */;
5507 short int var16
/* : Bool */;
5508 short int var_
/* var : Bool */;
5509 val
* var17
/* : MVisibility */;
5510 short int var18
/* : Bool */;
5511 short int var20
/* : Bool */;
5512 short int var21
/* : Bool */;
5513 static val
* varonce
;
5514 val
* var22
/* : String */;
5515 char* var23
/* : NativeString */;
5516 long var24
/* : Int */;
5517 val
* var25
/* : FlatString */;
5518 val
* var26
/* : MVisibility */;
5519 val
* var28
/* : MVisibility */;
5520 static val
* varonce29
;
5521 val
* var30
/* : String */;
5522 char* var31
/* : NativeString */;
5523 long var32
/* : Int */;
5524 val
* var33
/* : FlatString */;
5525 val
* var34
/* : Array[Object] */;
5526 long var35
/* : Int */;
5527 val
* var36
/* : NativeArray[Object] */;
5528 val
* var37
/* : String */;
5529 var_modelbuilder
= p0
;
5530 var_nvisibility
= p1
;
5533 if (var_nvisibility
== NULL
) {
5534 var1
= 1; /* is null */
5536 var1
= 0; /* arg is null but recv is not */
5539 { /* Inline kernel#Object#== (var_nvisibility,var) on <var_nvisibility:nullable AVisibility> */
5542 { /* Inline kernel#Object#is_same_instance (var_nvisibility,var_other) on <var_nvisibility:nullable AVisibility(AVisibility)> */
5543 var6
= var_nvisibility
== var_other
;
5560 var7
= ((val
* (*)(val
* self
))(var_nvisibility
->class->vft
[COLOR_nit__modelbuilder_base__AVisibility__mvisibility
]))(var_nvisibility
) /* mvisibility on <var_nvisibility:nullable AVisibility(AVisibility)>*/;
5562 var_mvisibility
= var7
;
5564 { /* Inline model#MProperty#visibility (var_mprop) on <var_mprop:MProperty> */
5565 var11
= var_mprop
->attrs
[COLOR_nit__model__MProperty___visibility
].val
; /* _visibility on <var_mprop:MProperty> */
5566 if (unlikely(var11
== NULL
)) {
5567 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
5568 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1757);
5572 RET_LABEL10
:(void)0;
5576 { /* Inline kernel#Object#!= (var_mvisibility,var9) on <var_mvisibility:MVisibility> */
5579 var15
= ((short int (*)(val
* self
, val
* p0
))(var_mvisibility
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mvisibility
, var_other14
) /* == on <var_mvisibility:MVisibility>*/;
5584 RET_LABEL13
:(void)0;
5590 var17
= nit__model_base___standard__Object___public_visibility(self
);
5593 { /* Inline kernel#Object#!= (var_mvisibility,var17) on <var_mvisibility:MVisibility> */
5594 var_other14
= var17
;
5596 var20
= ((short int (*)(val
* self
, val
* p0
))(var_mvisibility
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mvisibility
, var_other14
) /* == on <var_mvisibility:MVisibility>*/;
5601 RET_LABEL19
:(void)0;
5612 var23
= "Error: redefinition changed the visibility from a ";
5614 var25
= standard___standard__NativeString___to_s_with_length(var23
, var24
);
5619 { /* Inline model#MProperty#visibility (var_mprop) on <var_mprop:MProperty> */
5620 var28
= var_mprop
->attrs
[COLOR_nit__model__MProperty___visibility
].val
; /* _visibility on <var_mprop:MProperty> */
5621 if (unlikely(var28
== NULL
)) {
5622 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
5623 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1757);
5627 RET_LABEL27
:(void)0;
5635 var33
= standard___standard__NativeString___to_s_with_length(var31
, var32
);
5639 var34
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5640 { /* var34 = array_instance Array[Object] */
5642 var36
= NEW_standard__NativeArray(var35
, &type_standard__NativeArray__standard__Object
);
5643 ((struct instance_standard__NativeArray
*)var36
)->values
[0] = (val
*) var22
;
5644 ((struct instance_standard__NativeArray
*)var36
)->values
[1] = (val
*) var26
;
5645 ((struct instance_standard__NativeArray
*)var36
)->values
[2] = (val
*) var30
;
5646 ((struct instance_standard__NativeArray
*)var36
)->values
[3] = (val
*) var_mvisibility
;
5648 ((void (*)(val
* self
, val
* p0
, long p1
))(var34
->class->vft
[COLOR_standard__array__Array__with_native
]))(var34
, var36
, var35
) /* with_native on <var34:Array[Object]>*/;
5652 var37
= ((val
* (*)(val
* self
))(var34
->class->vft
[COLOR_standard__string__Object__to_s
]))(var34
) /* to_s on <var34:Array[Object]>*/;
5655 nit___nit__ModelBuilder___error(var_modelbuilder
, var_nvisibility
, var37
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
5661 /* method modelize_property#APropdef#check_redef_keyword for (self: APropdef, ModelBuilder, MClassDef, nullable Token, Bool, MProperty): Bool */
5662 short int nit__modelize_property___APropdef___check_redef_keyword(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
, val
* p4
) {
5663 short int var
/* : Bool */;
5664 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
5665 val
* var_mclassdef
/* var mclassdef: MClassDef */;
5666 val
* var_kwredef
/* var kwredef: nullable Token */;
5667 short int var_need_redef
/* var need_redef: Bool */;
5668 val
* var_mprop
/* var mprop: MProperty */;
5669 val
* var1
/* : Map[MProperty, APropdef] */;
5670 val
* var3
/* : Map[MProperty, APropdef] */;
5671 short int var4
/* : Bool */;
5672 static val
* varonce
;
5673 val
* var5
/* : String */;
5674 char* var6
/* : NativeString */;
5675 long var7
/* : Int */;
5676 val
* var8
/* : FlatString */;
5677 static val
* varonce9
;
5678 val
* var10
/* : String */;
5679 char* var11
/* : NativeString */;
5680 long var12
/* : Int */;
5681 val
* var13
/* : FlatString */;
5682 val
* var14
/* : MClass */;
5683 val
* var16
/* : MClass */;
5684 static val
* varonce17
;
5685 val
* var18
/* : String */;
5686 char* var19
/* : NativeString */;
5687 long var20
/* : Int */;
5688 val
* var21
/* : FlatString */;
5689 val
* var22
/* : Map[MProperty, APropdef] */;
5690 val
* var24
/* : Map[MProperty, APropdef] */;
5691 val
* var25
/* : nullable Object */;
5692 val
* var26
/* : Location */;
5693 val
* var28
/* : Location */;
5694 long var29
/* : Int */;
5695 long var31
/* : Int */;
5696 static val
* varonce32
;
5697 val
* var33
/* : String */;
5698 char* var34
/* : NativeString */;
5699 long var35
/* : Int */;
5700 val
* var36
/* : FlatString */;
5701 val
* var37
/* : Array[Object] */;
5702 long var38
/* : Int */;
5703 val
* var39
/* : NativeArray[Object] */;
5704 val
* var40
/* : Object */;
5705 val
* var41
/* : String */;
5706 short int var42
/* : Bool */;
5707 short int var43
/* : Bool */;
5708 short int var44
/* : Bool */;
5711 short int var_
/* var : Bool */;
5712 short int var45
/* : Bool */;
5713 short int var47
/* : Bool */;
5714 val
* var48
/* : nullable ANode */;
5715 val
* var50
/* : nullable ANode */;
5716 short int var51
/* : Bool */;
5719 short int var54
/* : Bool */;
5720 short int var56
/* : Bool */;
5721 short int var57
/* : Bool */;
5722 short int var58
/* : Bool */;
5723 short int var60
/* : Bool */;
5724 static val
* varonce61
;
5725 val
* var62
/* : String */;
5726 char* var63
/* : NativeString */;
5727 long var64
/* : Int */;
5728 val
* var65
/* : FlatString */;
5729 static val
* varonce66
;
5730 val
* var67
/* : String */;
5731 char* var68
/* : NativeString */;
5732 long var69
/* : Int */;
5733 val
* var70
/* : FlatString */;
5734 val
* var71
/* : Array[Object] */;
5735 long var72
/* : Int */;
5736 val
* var73
/* : NativeArray[Object] */;
5737 val
* var74
/* : String */;
5738 static val
* varonce75
;
5739 val
* var76
/* : String */;
5740 char* var77
/* : NativeString */;
5741 long var78
/* : Int */;
5742 val
* var79
/* : FlatString */;
5743 static val
* varonce80
;
5744 val
* var81
/* : String */;
5745 char* var82
/* : NativeString */;
5746 long var83
/* : Int */;
5747 val
* var84
/* : FlatString */;
5748 val
* var85
/* : Array[Object] */;
5749 long var86
/* : Int */;
5750 val
* var87
/* : NativeArray[Object] */;
5751 val
* var88
/* : String */;
5752 short int var89
/* : Bool */;
5753 short int var90
/* : Bool */;
5754 short int var91
/* : Bool */;
5757 short int var_94
/* var : Bool */;
5758 short int var95
/* : Bool */;
5759 short int var97
/* : Bool */;
5760 short int var98
/* : Bool */;
5761 val
* var99
/* : null */;
5762 short int var100
/* : Bool */;
5763 short int var101
/* : Bool */;
5764 val
* var_other
/* var other: nullable Object */;
5765 short int var103
/* : Bool */;
5766 short int var105
/* : Bool */;
5767 static val
* varonce106
;
5768 val
* var107
/* : String */;
5769 char* var108
/* : NativeString */;
5770 long var109
/* : Int */;
5771 val
* var110
/* : FlatString */;
5772 val
* var111
/* : MClass */;
5773 val
* var113
/* : MClass */;
5774 static val
* varonce114
;
5775 val
* var115
/* : String */;
5776 char* var116
/* : NativeString */;
5777 long var117
/* : Int */;
5778 val
* var118
/* : FlatString */;
5779 val
* var119
/* : String */;
5780 val
* var121
/* : String */;
5781 static val
* varonce122
;
5782 val
* var123
/* : String */;
5783 char* var124
/* : NativeString */;
5784 long var125
/* : Int */;
5785 val
* var126
/* : FlatString */;
5786 val
* var127
/* : Array[Object] */;
5787 long var128
/* : Int */;
5788 val
* var129
/* : NativeArray[Object] */;
5789 val
* var130
/* : String */;
5790 short int var131
/* : Bool */;
5791 short int var132
/* : Bool */;
5792 val
* var133
/* : MClassDef */;
5793 val
* var135
/* : MClassDef */;
5794 val
* var136
/* : MModule */;
5795 val
* var138
/* : MModule */;
5796 val
* var139
/* : nullable MGroup */;
5797 val
* var141
/* : nullable MGroup */;
5798 val
* var142
/* : null */;
5799 short int var143
/* : Bool */;
5800 short int var144
/* : Bool */;
5801 val
* var_other146
/* var other: nullable Object */;
5802 short int var147
/* : Bool */;
5803 short int var148
/* : Bool */;
5804 short int var_149
/* var : Bool */;
5805 val
* var150
/* : MVisibility */;
5806 val
* var152
/* : MVisibility */;
5807 val
* var153
/* : MVisibility */;
5808 short int var154
/* : Bool */;
5809 val
* var155
/* : Model */;
5810 val
* var157
/* : Model */;
5811 val
* var158
/* : String */;
5812 val
* var160
/* : String */;
5813 val
* var161
/* : nullable Array[MProperty] */;
5814 val
* var_others
/* var others: nullable Array[MProperty] */;
5815 val
* var162
/* : null */;
5816 short int var163
/* : Bool */;
5817 short int var164
/* : Bool */;
5818 short int var166
/* : Bool */;
5819 short int var167
/* : Bool */;
5820 val
* var_168
/* var : Array[MProperty] */;
5821 val
* var169
/* : ArrayIterator[nullable Object] */;
5822 val
* var_170
/* var : ArrayIterator[MProperty] */;
5823 short int var171
/* : Bool */;
5824 val
* var172
/* : nullable Object */;
5825 val
* var_other173
/* var other: MProperty */;
5826 short int var174
/* : Bool */;
5827 short int var175
/* : Bool */;
5828 short int var176
/* : Bool */;
5829 short int var177
/* : Bool */;
5830 short int var178
/* : Bool */;
5831 short int var180
/* : Bool */;
5832 short int var181
/* : Bool */;
5833 short int var_182
/* var : Bool */;
5834 val
* var183
/* : MClassDef */;
5835 val
* var185
/* : MClassDef */;
5836 val
* var186
/* : MModule */;
5837 val
* var188
/* : MModule */;
5838 val
* var189
/* : nullable MGroup */;
5839 val
* var191
/* : nullable MGroup */;
5840 val
* var192
/* : null */;
5841 short int var193
/* : Bool */;
5842 short int var194
/* : Bool */;
5843 short int var196
/* : Bool */;
5844 short int var197
/* : Bool */;
5845 short int var_198
/* var : Bool */;
5846 val
* var199
/* : MClassDef */;
5847 val
* var201
/* : MClassDef */;
5848 val
* var202
/* : MModule */;
5849 val
* var204
/* : MModule */;
5850 val
* var205
/* : nullable MGroup */;
5851 val
* var207
/* : nullable MGroup */;
5852 val
* var208
/* : MProject */;
5853 val
* var210
/* : MProject */;
5854 val
* var211
/* : MClassDef */;
5855 val
* var213
/* : MClassDef */;
5856 val
* var214
/* : MModule */;
5857 val
* var216
/* : MModule */;
5858 val
* var217
/* : nullable MGroup */;
5859 val
* var219
/* : nullable MGroup */;
5860 val
* var220
/* : MProject */;
5861 val
* var222
/* : MProject */;
5862 short int var223
/* : Bool */;
5863 short int var225
/* : Bool */;
5864 short int var227
/* : Bool */;
5865 short int var_228
/* var : Bool */;
5866 val
* var229
/* : MClassDef */;
5867 val
* var231
/* : MClassDef */;
5868 val
* var232
/* : MClass */;
5869 val
* var234
/* : MClass */;
5870 val
* var235
/* : String */;
5871 val
* var237
/* : String */;
5872 val
* var238
/* : MClassDef */;
5873 val
* var240
/* : MClassDef */;
5874 val
* var241
/* : MClass */;
5875 val
* var243
/* : MClass */;
5876 val
* var244
/* : String */;
5877 val
* var246
/* : String */;
5878 short int var247
/* : Bool */;
5879 short int var_248
/* var : Bool */;
5880 val
* var249
/* : MVisibility */;
5881 val
* var251
/* : MVisibility */;
5882 val
* var252
/* : MVisibility */;
5883 short int var253
/* : Bool */;
5884 static val
* varonce254
;
5885 val
* var255
/* : String */;
5886 char* var256
/* : NativeString */;
5887 long var257
/* : Int */;
5888 val
* var258
/* : FlatString */;
5889 static val
* varonce259
;
5890 val
* var260
/* : String */;
5891 char* var261
/* : NativeString */;
5892 long var262
/* : Int */;
5893 val
* var263
/* : FlatString */;
5894 val
* var264
/* : String */;
5895 static val
* varonce265
;
5896 val
* var266
/* : String */;
5897 char* var267
/* : NativeString */;
5898 long var268
/* : Int */;
5899 val
* var269
/* : FlatString */;
5900 val
* var270
/* : MClassDef */;
5901 val
* var272
/* : MClassDef */;
5902 val
* var273
/* : MModule */;
5903 val
* var275
/* : MModule */;
5904 static val
* varonce276
;
5905 val
* var277
/* : String */;
5906 char* var278
/* : NativeString */;
5907 long var279
/* : Int */;
5908 val
* var280
/* : FlatString */;
5909 val
* var281
/* : MClassDef */;
5910 val
* var283
/* : MClassDef */;
5911 val
* var284
/* : MClass */;
5912 val
* var286
/* : MClass */;
5913 val
* var287
/* : String */;
5914 val
* var289
/* : String */;
5915 static val
* varonce290
;
5916 val
* var291
/* : String */;
5917 char* var292
/* : NativeString */;
5918 long var293
/* : Int */;
5919 val
* var294
/* : FlatString */;
5920 val
* var295
/* : Array[Object] */;
5921 long var296
/* : Int */;
5922 val
* var297
/* : NativeArray[Object] */;
5923 val
* var298
/* : String */;
5924 short int var300
/* : Bool */;
5925 static val
* varonce301
;
5926 val
* var302
/* : String */;
5927 char* var303
/* : NativeString */;
5928 long var304
/* : Int */;
5929 val
* var305
/* : FlatString */;
5930 val
* var306
/* : MClass */;
5931 val
* var308
/* : MClass */;
5932 static val
* varonce309
;
5933 val
* var310
/* : String */;
5934 char* var311
/* : NativeString */;
5935 long var312
/* : Int */;
5936 val
* var313
/* : FlatString */;
5937 val
* var314
/* : String */;
5938 val
* var316
/* : String */;
5939 static val
* varonce317
;
5940 val
* var318
/* : String */;
5941 char* var319
/* : NativeString */;
5942 long var320
/* : Int */;
5943 val
* var321
/* : FlatString */;
5944 val
* var322
/* : Array[Object] */;
5945 long var323
/* : Int */;
5946 val
* var324
/* : NativeArray[Object] */;
5947 val
* var325
/* : String */;
5948 short int var326
/* : Bool */;
5949 short int var327
/* : Bool */;
5950 var_modelbuilder
= p0
;
5953 var_need_redef
= p3
;
5956 { /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on <var_mclassdef:MClassDef> */
5957 var3
= var_mclassdef
->attrs
[COLOR_nit__modelize_property__MClassDef___mprop2npropdef
].val
; /* _mprop2npropdef on <var_mclassdef:MClassDef> */
5958 if (unlikely(var3
== NULL
)) {
5959 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
5960 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 352);
5968 var4
= standard___standard__MapRead___has_key(var1
, var_mprop
);
5974 var6
= "Error: A property ";
5976 var8
= standard___standard__NativeString___to_s_with_length(var6
, var7
);
5983 var11
= " is already defined in class ";
5985 var13
= standard___standard__NativeString___to_s_with_length(var11
, var12
);
5990 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
5991 var16
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
5992 if (unlikely(var16
== NULL
)) {
5993 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5994 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
5998 RET_LABEL15
:(void)0;
6004 var19
= " at line ";
6006 var21
= standard___standard__NativeString___to_s_with_length(var19
, var20
);
6011 { /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on <var_mclassdef:MClassDef> */
6012 var24
= var_mclassdef
->attrs
[COLOR_nit__modelize_property__MClassDef___mprop2npropdef
].val
; /* _mprop2npropdef on <var_mclassdef:MClassDef> */
6013 if (unlikely(var24
== NULL
)) {
6014 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
6015 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 352);
6019 RET_LABEL23
:(void)0;
6023 var25
= ((val
* (*)(val
* self
, val
* p0
))(var22
->class->vft
[COLOR_standard__abstract_collection__MapRead___91d_93d
]))(var22
, var_mprop
) /* [] on <var22:Map[MProperty, APropdef]>*/;
6026 { /* Inline parser_nodes#ANode#location (var25) on <var25:nullable Object(APropdef)> */
6027 var28
= var25
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <var25:nullable Object(APropdef)> */
6028 if (unlikely(var28
== NULL
)) {
6029 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
6030 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 23);
6034 RET_LABEL27
:(void)0;
6038 { /* Inline location#Location#line_start (var26) on <var26:Location> */
6039 var31
= var26
->attrs
[COLOR_nit__location__Location___line_start
].l
; /* _line_start on <var26:Location> */
6041 RET_LABEL30
:(void)0;
6049 var36
= standard___standard__NativeString___to_s_with_length(var34
, var35
);
6053 var37
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6054 { /* var37 = array_instance Array[Object] */
6056 var39
= NEW_standard__NativeArray(var38
, &type_standard__NativeArray__standard__Object
);
6057 ((struct instance_standard__NativeArray
*)var39
)->values
[0] = (val
*) var5
;
6058 ((struct instance_standard__NativeArray
*)var39
)->values
[1] = (val
*) var_mprop
;
6059 ((struct instance_standard__NativeArray
*)var39
)->values
[2] = (val
*) var10
;
6060 ((struct instance_standard__NativeArray
*)var39
)->values
[3] = (val
*) var14
;
6061 ((struct instance_standard__NativeArray
*)var39
)->values
[4] = (val
*) var18
;
6062 var40
= BOX_standard__Int(var29
); /* autobox from Int to Object */
6063 ((struct instance_standard__NativeArray
*)var39
)->values
[5] = (val
*) var40
;
6064 ((struct instance_standard__NativeArray
*)var39
)->values
[6] = (val
*) var33
;
6066 ((void (*)(val
* self
, val
* p0
, long p1
))(var37
->class->vft
[COLOR_standard__array__Array__with_native
]))(var37
, var39
, var38
) /* with_native on <var37:Array[Object]>*/;
6070 var41
= ((val
* (*)(val
* self
))(var37
->class->vft
[COLOR_standard__string__Object__to_s
]))(var37
) /* to_s on <var37:Array[Object]>*/;
6073 nit___nit__ModelBuilder___error(var_modelbuilder
, self
, var41
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
6080 /* <var_mprop:MProperty> isa MMethod */
6081 cltype
= type_nit__MMethod
.color
;
6082 idtype
= type_nit__MMethod
.id
;
6083 if(cltype
>= var_mprop
->type
->table_size
) {
6086 var44
= var_mprop
->type
->type_table
[cltype
] == idtype
;
6091 { /* Inline model#MMethod#is_toplevel (var_mprop) on <var_mprop:MProperty(MMethod)> */
6092 var47
= var_mprop
->attrs
[COLOR_nit__model__MMethod___is_toplevel
].s
; /* _is_toplevel on <var_mprop:MProperty(MMethod)> */
6094 RET_LABEL46
:(void)0;
6098 { /* Inline parser_nodes#ANode#parent (self) on <self:APropdef> */
6099 var50
= self
->attrs
[COLOR_nit__parser_nodes__ANode___parent
].val
; /* _parent on <self:APropdef> */
6101 RET_LABEL49
:(void)0;
6104 /* <var48:nullable ANode> isa ATopClassdef */
6105 cltype52
= type_nit__ATopClassdef
.color
;
6106 idtype53
= type_nit__ATopClassdef
.id
;
6110 if(cltype52
>= var48
->type
->table_size
) {
6113 var51
= var48
->type
->type_table
[cltype52
] == idtype53
;
6117 { /* Inline kernel#Bool#!= (var45,var51) on <var45:Bool> */
6118 var56
= var45
== var51
;
6122 RET_LABEL55
:(void)0;
6131 { /* Inline model#MMethod#is_toplevel (var_mprop) on <var_mprop:MProperty(MMethod)> */
6132 var60
= var_mprop
->attrs
[COLOR_nit__model__MMethod___is_toplevel
].s
; /* _is_toplevel on <var_mprop:MProperty(MMethod)> */
6134 RET_LABEL59
:(void)0;
6143 var65
= standard___standard__NativeString___to_s_with_length(var63
, var64
);
6150 var68
= " is a top level method.";
6152 var70
= standard___standard__NativeString___to_s_with_length(var68
, var69
);
6156 var71
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6157 { /* var71 = array_instance Array[Object] */
6159 var73
= NEW_standard__NativeArray(var72
, &type_standard__NativeArray__standard__Object
);
6160 ((struct instance_standard__NativeArray
*)var73
)->values
[0] = (val
*) var62
;
6161 ((struct instance_standard__NativeArray
*)var73
)->values
[1] = (val
*) var_mprop
;
6162 ((struct instance_standard__NativeArray
*)var73
)->values
[2] = (val
*) var67
;
6164 ((void (*)(val
* self
, val
* p0
, long p1
))(var71
->class->vft
[COLOR_standard__array__Array__with_native
]))(var71
, var73
, var72
) /* with_native on <var71:Array[Object]>*/;
6168 var74
= ((val
* (*)(val
* self
))(var71
->class->vft
[COLOR_standard__string__Object__to_s
]))(var71
) /* to_s on <var71:Array[Object]>*/;
6171 nit___nit__ModelBuilder___error(var_modelbuilder
, self
, var74
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
6179 var79
= standard___standard__NativeString___to_s_with_length(var77
, var78
);
6186 var82
= " is not a top level method.";
6188 var84
= standard___standard__NativeString___to_s_with_length(var82
, var83
);
6192 var85
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6193 { /* var85 = array_instance Array[Object] */
6195 var87
= NEW_standard__NativeArray(var86
, &type_standard__NativeArray__standard__Object
);
6196 ((struct instance_standard__NativeArray
*)var87
)->values
[0] = (val
*) var76
;
6197 ((struct instance_standard__NativeArray
*)var87
)->values
[1] = (val
*) var_mprop
;
6198 ((struct instance_standard__NativeArray
*)var87
)->values
[2] = (val
*) var81
;
6200 ((void (*)(val
* self
, val
* p0
, long p1
))(var85
->class->vft
[COLOR_standard__array__Array__with_native
]))(var85
, var87
, var86
) /* with_native on <var85:Array[Object]>*/;
6204 var88
= ((val
* (*)(val
* self
))(var85
->class->vft
[COLOR_standard__string__Object__to_s
]))(var85
) /* to_s on <var85:Array[Object]>*/;
6207 nit___nit__ModelBuilder___error(var_modelbuilder
, self
, var88
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
6215 /* <var_mprop:MProperty> isa MMethod */
6216 cltype92
= type_nit__MMethod
.color
;
6217 idtype93
= type_nit__MMethod
.id
;
6218 if(cltype92
>= var_mprop
->type
->table_size
) {
6221 var91
= var_mprop
->type
->type_table
[cltype92
] == idtype93
;
6226 { /* Inline model#MMethod#is_root_init (var_mprop) on <var_mprop:MProperty(MMethod)> */
6227 var97
= var_mprop
->attrs
[COLOR_nit__model__MMethod___is_root_init
].s
; /* _is_root_init on <var_mprop:MProperty(MMethod)> */
6229 RET_LABEL96
:(void)0;
6243 if (var_kwredef
== NULL
) {
6244 var100
= 1; /* is null */
6246 var100
= 0; /* arg is null but recv is not */
6249 { /* Inline kernel#Object#== (var_kwredef,var99) on <var_kwredef:nullable Token> */
6252 { /* Inline kernel#Object#is_same_instance (var_kwredef,var_other) on <var_kwredef:nullable Token(Token)> */
6253 var105
= var_kwredef
== var_other
;
6256 RET_LABEL104
:(void)0;
6261 RET_LABEL102
:(void)0;
6266 if (var_need_redef
){
6268 var107
= varonce106
;
6270 var108
= "Redef error: ";
6272 var110
= standard___standard__NativeString___to_s_with_length(var108
, var109
);
6274 varonce106
= var107
;
6277 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
6278 var113
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
6279 if (unlikely(var113
== NULL
)) {
6280 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6281 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
6285 RET_LABEL112
:(void)0;
6289 var115
= varonce114
;
6293 var118
= standard___standard__NativeString___to_s_with_length(var116
, var117
);
6295 varonce114
= var115
;
6298 { /* Inline model#MProperty#name (var_mprop) on <var_mprop:MProperty> */
6299 var121
= var_mprop
->attrs
[COLOR_nit__model__MProperty___name
].val
; /* _name on <var_mprop:MProperty> */
6300 if (unlikely(var121
== NULL
)) {
6301 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
6302 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1741);
6306 RET_LABEL120
:(void)0;
6310 var123
= varonce122
;
6312 var124
= " is an inherited property. To redefine it, add the redef keyword.";
6314 var126
= standard___standard__NativeString___to_s_with_length(var124
, var125
);
6316 varonce122
= var123
;
6318 var127
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6319 { /* var127 = array_instance Array[Object] */
6321 var129
= NEW_standard__NativeArray(var128
, &type_standard__NativeArray__standard__Object
);
6322 ((struct instance_standard__NativeArray
*)var129
)->values
[0] = (val
*) var107
;
6323 ((struct instance_standard__NativeArray
*)var129
)->values
[1] = (val
*) var111
;
6324 ((struct instance_standard__NativeArray
*)var129
)->values
[2] = (val
*) var115
;
6325 ((struct instance_standard__NativeArray
*)var129
)->values
[3] = (val
*) var119
;
6326 ((struct instance_standard__NativeArray
*)var129
)->values
[4] = (val
*) var123
;
6328 ((void (*)(val
* self
, val
* p0
, long p1
))(var127
->class->vft
[COLOR_standard__array__Array__with_native
]))(var127
, var129
, var128
) /* with_native on <var127:Array[Object]>*/;
6332 var130
= ((val
* (*)(val
* self
))(var127
->class->vft
[COLOR_standard__string__Object__to_s
]))(var127
) /* to_s on <var127:Array[Object]>*/;
6335 nit___nit__ModelBuilder___error(var_modelbuilder
, self
, var130
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
6343 { /* Inline model#MProperty#intro_mclassdef (var_mprop) on <var_mprop:MProperty> */
6344 var135
= var_mprop
->attrs
[COLOR_nit__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_mprop:MProperty> */
6345 if (unlikely(var135
== NULL
)) {
6346 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
6347 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1736);
6351 RET_LABEL134
:(void)0;
6355 { /* Inline model#MClassDef#mmodule (var133) on <var133:MClassDef> */
6356 var138
= var133
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var133:MClassDef> */
6357 if (unlikely(var138
== NULL
)) {
6358 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
6359 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
6363 RET_LABEL137
:(void)0;
6367 { /* Inline mmodule#MModule#mgroup (var136) on <var136:MModule> */
6368 var141
= var136
->attrs
[COLOR_nit__mmodule__MModule___mgroup
].val
; /* _mgroup on <var136:MModule> */
6370 RET_LABEL140
:(void)0;
6374 if (var139
== NULL
) {
6375 var143
= 0; /* is null */
6377 var143
= 1; /* arg is null and recv is not */
6380 { /* Inline kernel#Object#!= (var139,var142) on <var139:nullable MGroup> */
6381 var_other146
= var142
;
6383 var147
= ((short int (*)(val
* self
, val
* p0
))(var139
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var139
, var_other146
) /* == on <var139:nullable MGroup(MGroup)>*/;
6388 RET_LABEL145
:(void)0;
6395 { /* Inline model#MProperty#visibility (var_mprop) on <var_mprop:MProperty> */
6396 var152
= var_mprop
->attrs
[COLOR_nit__model__MProperty___visibility
].val
; /* _visibility on <var_mprop:MProperty> */
6397 if (unlikely(var152
== NULL
)) {
6398 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
6399 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1757);
6403 RET_LABEL151
:(void)0;
6407 var153
= nit__model_base___standard__Object___protected_visibility(self
);
6410 var154
= standard___standard__Comparable____62d_61d(var150
, var153
);
6418 { /* Inline modelbuilder_base#ModelBuilder#model (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
6419 var157
= var_modelbuilder
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___model
].val
; /* _model on <var_modelbuilder:ModelBuilder> */
6420 if (unlikely(var157
== NULL
)) {
6421 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
6422 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 44);
6426 RET_LABEL156
:(void)0;
6430 { /* Inline model#MProperty#name (var_mprop) on <var_mprop:MProperty> */
6431 var160
= var_mprop
->attrs
[COLOR_nit__model__MProperty___name
].val
; /* _name on <var_mprop:MProperty> */
6432 if (unlikely(var160
== NULL
)) {
6433 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
6434 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1741);
6438 RET_LABEL159
:(void)0;
6442 var161
= nit__model___Model___get_mproperties_by_name(var155
, var158
);
6444 var_others
= var161
;
6446 if (var_others
== NULL
) {
6447 var163
= 0; /* is null */
6449 var163
= 1; /* arg is null and recv is not */
6452 { /* Inline kernel#Object#!= (var_others,var162) on <var_others:nullable Array[MProperty]> */
6453 var_other146
= var162
;
6455 var166
= ((short int (*)(val
* self
, val
* p0
))(var_others
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_others
, var_other146
) /* == on <var_others:nullable Array[MProperty](Array[MProperty])>*/;
6460 RET_LABEL165
:(void)0;
6465 var_168
= var_others
;
6467 var169
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_168
);
6472 var171
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_170
);
6476 var172
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_170
);
6478 var_other173
= var172
;
6480 { /* Inline kernel#Object#!= (var_other173,var_mprop) on <var_other173:MProperty> */
6481 var_other146
= var_mprop
;
6483 var180
= ((short int (*)(val
* self
, val
* p0
))(var_other173
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_other173
, var_other146
) /* == on <var_other173:MProperty>*/;
6488 RET_LABEL179
:(void)0;
6494 { /* Inline model#MProperty#intro_mclassdef (var_other173) on <var_other173:MProperty> */
6495 var185
= var_other173
->attrs
[COLOR_nit__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_other173:MProperty> */
6496 if (unlikely(var185
== NULL
)) {
6497 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
6498 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1736);
6502 RET_LABEL184
:(void)0;
6506 { /* Inline model#MClassDef#mmodule (var183) on <var183:MClassDef> */
6507 var188
= var183
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var183:MClassDef> */
6508 if (unlikely(var188
== NULL
)) {
6509 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
6510 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
6514 RET_LABEL187
:(void)0;
6518 { /* Inline mmodule#MModule#mgroup (var186) on <var186:MModule> */
6519 var191
= var186
->attrs
[COLOR_nit__mmodule__MModule___mgroup
].val
; /* _mgroup on <var186:MModule> */
6521 RET_LABEL190
:(void)0;
6525 if (var189
== NULL
) {
6526 var193
= 0; /* is null */
6528 var193
= 1; /* arg is null and recv is not */
6531 { /* Inline kernel#Object#!= (var189,var192) on <var189:nullable MGroup> */
6532 var_other146
= var192
;
6534 var196
= ((short int (*)(val
* self
, val
* p0
))(var189
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var189
, var_other146
) /* == on <var189:nullable MGroup(MGroup)>*/;
6539 RET_LABEL195
:(void)0;
6550 { /* Inline model#MProperty#intro_mclassdef (var_other173) on <var_other173:MProperty> */
6551 var201
= var_other173
->attrs
[COLOR_nit__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_other173:MProperty> */
6552 if (unlikely(var201
== NULL
)) {
6553 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
6554 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1736);
6558 RET_LABEL200
:(void)0;
6562 { /* Inline model#MClassDef#mmodule (var199) on <var199:MClassDef> */
6563 var204
= var199
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var199:MClassDef> */
6564 if (unlikely(var204
== NULL
)) {
6565 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
6566 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
6570 RET_LABEL203
:(void)0;
6574 { /* Inline mmodule#MModule#mgroup (var202) on <var202:MModule> */
6575 var207
= var202
->attrs
[COLOR_nit__mmodule__MModule___mgroup
].val
; /* _mgroup on <var202:MModule> */
6577 RET_LABEL206
:(void)0;
6580 if (var205
== NULL
) {
6581 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6582 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 494);
6585 { /* Inline mproject#MGroup#mproject (var205) on <var205:nullable MGroup> */
6586 if (unlikely(var205
== NULL
)) {
6587 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6588 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject
, 69);
6591 var210
= var205
->attrs
[COLOR_nit__mproject__MGroup___mproject
].val
; /* _mproject on <var205:nullable MGroup> */
6592 if (unlikely(var210
== NULL
)) {
6593 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject");
6594 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject
, 69);
6598 RET_LABEL209
:(void)0;
6602 { /* Inline model#MProperty#intro_mclassdef (var_mprop) on <var_mprop:MProperty> */
6603 var213
= var_mprop
->attrs
[COLOR_nit__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_mprop:MProperty> */
6604 if (unlikely(var213
== NULL
)) {
6605 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
6606 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1736);
6610 RET_LABEL212
:(void)0;
6614 { /* Inline model#MClassDef#mmodule (var211) on <var211:MClassDef> */
6615 var216
= var211
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var211:MClassDef> */
6616 if (unlikely(var216
== NULL
)) {
6617 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
6618 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
6622 RET_LABEL215
:(void)0;
6626 { /* Inline mmodule#MModule#mgroup (var214) on <var214:MModule> */
6627 var219
= var214
->attrs
[COLOR_nit__mmodule__MModule___mgroup
].val
; /* _mgroup on <var214:MModule> */
6629 RET_LABEL218
:(void)0;
6632 if (var217
== NULL
) {
6633 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6634 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 494);
6637 { /* Inline mproject#MGroup#mproject (var217) on <var217:nullable MGroup> */
6638 if (unlikely(var217
== NULL
)) {
6639 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6640 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject
, 69);
6643 var222
= var217
->attrs
[COLOR_nit__mproject__MGroup___mproject
].val
; /* _mproject on <var217:nullable MGroup> */
6644 if (unlikely(var222
== NULL
)) {
6645 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject");
6646 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject
, 69);
6650 RET_LABEL221
:(void)0;
6654 { /* Inline kernel#Object#== (var208,var220) on <var208:MProject> */
6657 { /* Inline kernel#Object#is_same_instance (var208,var_other) on <var208:MProject> */
6658 var227
= var208
== var_other
;
6661 RET_LABEL226
:(void)0;
6666 RET_LABEL224
:(void)0;
6676 { /* Inline model#MProperty#intro_mclassdef (var_other173) on <var_other173:MProperty> */
6677 var231
= var_other173
->attrs
[COLOR_nit__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_other173:MProperty> */
6678 if (unlikely(var231
== NULL
)) {
6679 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
6680 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1736);
6684 RET_LABEL230
:(void)0;
6688 { /* Inline model#MClassDef#mclass (var229) on <var229:MClassDef> */
6689 var234
= var229
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var229:MClassDef> */
6690 if (unlikely(var234
== NULL
)) {
6691 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6692 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
6696 RET_LABEL233
:(void)0;
6700 { /* Inline model#MClass#name (var232) on <var232:MClass> */
6701 var237
= var232
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var232:MClass> */
6702 if (unlikely(var237
== NULL
)) {
6703 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
6704 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
6708 RET_LABEL236
:(void)0;
6712 { /* Inline model#MProperty#intro_mclassdef (var_mprop) on <var_mprop:MProperty> */
6713 var240
= var_mprop
->attrs
[COLOR_nit__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_mprop:MProperty> */
6714 if (unlikely(var240
== NULL
)) {
6715 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
6716 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1736);
6720 RET_LABEL239
:(void)0;
6724 { /* Inline model#MClassDef#mclass (var238) on <var238:MClassDef> */
6725 var243
= var238
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var238:MClassDef> */
6726 if (unlikely(var243
== NULL
)) {
6727 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6728 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
6732 RET_LABEL242
:(void)0;
6736 { /* Inline model#MClass#name (var241) on <var241:MClass> */
6737 var246
= var241
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var241:MClass> */
6738 if (unlikely(var246
== NULL
)) {
6739 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
6740 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
6744 RET_LABEL245
:(void)0;
6748 var247
= ((short int (*)(val
* self
, val
* p0
))(var235
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var235
, var244
) /* == on <var235:String>*/;
6757 { /* Inline model#MProperty#visibility (var_other173) on <var_other173:MProperty> */
6758 var251
= var_other173
->attrs
[COLOR_nit__model__MProperty___visibility
].val
; /* _visibility on <var_other173:MProperty> */
6759 if (unlikely(var251
== NULL
)) {
6760 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
6761 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1757);
6765 RET_LABEL250
:(void)0;
6769 var252
= nit__model_base___standard__Object___protected_visibility(self
);
6772 var253
= standard___standard__Comparable____62d_61d(var249
, var252
);
6780 var255
= varonce254
;
6782 var256
= "full-name-conflict";
6784 var258
= standard___standard__NativeString___to_s_with_length(var256
, var257
);
6786 varonce254
= var255
;
6789 var260
= varonce259
;
6791 var261
= "Warning: A property named `";
6793 var263
= standard___standard__NativeString___to_s_with_length(var261
, var262
);
6795 varonce259
= var260
;
6798 var264
= nit___nit__MProperty___nit__model_base__MEntity__full_name(var_other173
);
6801 var266
= varonce265
;
6803 var267
= "` is already defined in module `";
6805 var269
= standard___standard__NativeString___to_s_with_length(var267
, var268
);
6807 varonce265
= var266
;
6810 { /* Inline model#MProperty#intro_mclassdef (var_other173) on <var_other173:MProperty> */
6811 var272
= var_other173
->attrs
[COLOR_nit__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_other173:MProperty> */
6812 if (unlikely(var272
== NULL
)) {
6813 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
6814 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1736);
6818 RET_LABEL271
:(void)0;
6822 { /* Inline model#MClassDef#mmodule (var270) on <var270:MClassDef> */
6823 var275
= var270
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var270:MClassDef> */
6824 if (unlikely(var275
== NULL
)) {
6825 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
6826 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
6830 RET_LABEL274
:(void)0;
6834 var277
= varonce276
;
6836 var278
= "` for the class `";
6838 var280
= standard___standard__NativeString___to_s_with_length(var278
, var279
);
6840 varonce276
= var277
;
6843 { /* Inline model#MProperty#intro_mclassdef (var_other173) on <var_other173:MProperty> */
6844 var283
= var_other173
->attrs
[COLOR_nit__model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_other173:MProperty> */
6845 if (unlikely(var283
== NULL
)) {
6846 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
6847 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1736);
6851 RET_LABEL282
:(void)0;
6855 { /* Inline model#MClassDef#mclass (var281) on <var281:MClassDef> */
6856 var286
= var281
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var281:MClassDef> */
6857 if (unlikely(var286
== NULL
)) {
6858 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6859 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
6863 RET_LABEL285
:(void)0;
6867 { /* Inline model#MClass#name (var284) on <var284:MClass> */
6868 var289
= var284
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var284:MClass> */
6869 if (unlikely(var289
== NULL
)) {
6870 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
6871 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
6875 RET_LABEL288
:(void)0;
6879 var291
= varonce290
;
6883 var294
= standard___standard__NativeString___to_s_with_length(var292
, var293
);
6885 varonce290
= var291
;
6887 var295
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6888 { /* var295 = array_instance Array[Object] */
6890 var297
= NEW_standard__NativeArray(var296
, &type_standard__NativeArray__standard__Object
);
6891 ((struct instance_standard__NativeArray
*)var297
)->values
[0] = (val
*) var260
;
6892 ((struct instance_standard__NativeArray
*)var297
)->values
[1] = (val
*) var264
;
6893 ((struct instance_standard__NativeArray
*)var297
)->values
[2] = (val
*) var266
;
6894 ((struct instance_standard__NativeArray
*)var297
)->values
[3] = (val
*) var273
;
6895 ((struct instance_standard__NativeArray
*)var297
)->values
[4] = (val
*) var277
;
6896 ((struct instance_standard__NativeArray
*)var297
)->values
[5] = (val
*) var287
;
6897 ((struct instance_standard__NativeArray
*)var297
)->values
[6] = (val
*) var291
;
6899 ((void (*)(val
* self
, val
* p0
, long p1
))(var295
->class->vft
[COLOR_standard__array__Array__with_native
]))(var295
, var297
, var296
) /* with_native on <var295:Array[Object]>*/;
6903 var298
= ((val
* (*)(val
* self
))(var295
->class->vft
[COLOR_standard__string__Object__to_s
]))(var295
) /* to_s on <var295:Array[Object]>*/;
6906 nit___nit__ModelBuilder___advice(var_modelbuilder
, self
, var255
, var298
); /* Direct call modelbuilder_base#ModelBuilder#advice on <var_modelbuilder:ModelBuilder>*/
6912 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_170
); /* Direct call array#ArrayIterator#next on <var_170:ArrayIterator[MProperty]>*/
6918 BREAK_label
: (void)0;
6920 { /* Inline abstract_collection#Iterator#finish (var_170) on <var_170:ArrayIterator[MProperty]> */
6921 RET_LABEL299
:(void)0;
6929 var300
= !var_need_redef
;
6932 var302
= varonce301
;
6934 var303
= "Error: No property ";
6936 var305
= standard___standard__NativeString___to_s_with_length(var303
, var304
);
6938 varonce301
= var302
;
6941 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
6942 var308
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
6943 if (unlikely(var308
== NULL
)) {
6944 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6945 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
6949 RET_LABEL307
:(void)0;
6953 var310
= varonce309
;
6957 var313
= standard___standard__NativeString___to_s_with_length(var311
, var312
);
6959 varonce309
= var310
;
6962 { /* Inline model#MProperty#name (var_mprop) on <var_mprop:MProperty> */
6963 var316
= var_mprop
->attrs
[COLOR_nit__model__MProperty___name
].val
; /* _name on <var_mprop:MProperty> */
6964 if (unlikely(var316
== NULL
)) {
6965 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
6966 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1741);
6970 RET_LABEL315
:(void)0;
6974 var318
= varonce317
;
6976 var319
= " is inherited. Remove the redef keyword to define a new property.";
6978 var321
= standard___standard__NativeString___to_s_with_length(var319
, var320
);
6980 varonce317
= var318
;
6982 var322
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6983 { /* var322 = array_instance Array[Object] */
6985 var324
= NEW_standard__NativeArray(var323
, &type_standard__NativeArray__standard__Object
);
6986 ((struct instance_standard__NativeArray
*)var324
)->values
[0] = (val
*) var302
;
6987 ((struct instance_standard__NativeArray
*)var324
)->values
[1] = (val
*) var306
;
6988 ((struct instance_standard__NativeArray
*)var324
)->values
[2] = (val
*) var310
;
6989 ((struct instance_standard__NativeArray
*)var324
)->values
[3] = (val
*) var314
;
6990 ((struct instance_standard__NativeArray
*)var324
)->values
[4] = (val
*) var318
;
6992 ((void (*)(val
* self
, val
* p0
, long p1
))(var322
->class->vft
[COLOR_standard__array__Array__with_native
]))(var322
, var324
, var323
) /* with_native on <var322:Array[Object]>*/;
6996 var325
= ((val
* (*)(val
* self
))(var322
->class->vft
[COLOR_standard__string__Object__to_s
]))(var322
) /* to_s on <var322:Array[Object]>*/;
6999 nit___nit__ModelBuilder___error(var_modelbuilder
, self
, var325
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
7013 /* method modelize_property#ASignature#is_visited= for (self: ASignature, Bool) */
7014 void nit__modelize_property___ASignature___is_visited_61d(val
* self
, short int p0
) {
7015 self
->attrs
[COLOR_nit__modelize_property__ASignature___is_visited
].s
= p0
; /* _is_visited on <self:ASignature> */
7018 /* method modelize_property#ASignature#param_names for (self: ASignature): Array[String] */
7019 val
* nit__modelize_property___ASignature___param_names(val
* self
) {
7020 val
* var
/* : Array[String] */;
7021 val
* var1
/* : Array[String] */;
7022 var1
= self
->attrs
[COLOR_nit__modelize_property__ASignature___param_names
].val
; /* _param_names on <self:ASignature> */
7023 if (unlikely(var1
== NULL
)) {
7024 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_names");
7025 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 514);
7032 /* method modelize_property#ASignature#param_types for (self: ASignature): Array[MType] */
7033 val
* nit__modelize_property___ASignature___param_types(val
* self
) {
7034 val
* var
/* : Array[MType] */;
7035 val
* var1
/* : Array[MType] */;
7036 var1
= self
->attrs
[COLOR_nit__modelize_property__ASignature___param_types
].val
; /* _param_types on <self:ASignature> */
7037 if (unlikely(var1
== NULL
)) {
7038 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_types");
7039 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 517);
7046 /* method modelize_property#ASignature#vararg_rank for (self: ASignature): Int */
7047 long nit__modelize_property___ASignature___vararg_rank(val
* self
) {
7048 long var
/* : Int */;
7049 long var1
/* : Int */;
7050 var1
= self
->attrs
[COLOR_nit__modelize_property__ASignature___vararg_rank
].l
; /* _vararg_rank on <self:ASignature> */
7055 /* method modelize_property#ASignature#vararg_rank= for (self: ASignature, Int) */
7056 void nit__modelize_property___ASignature___vararg_rank_61d(val
* self
, long p0
) {
7057 self
->attrs
[COLOR_nit__modelize_property__ASignature___vararg_rank
].l
= p0
; /* _vararg_rank on <self:ASignature> */
7060 /* method modelize_property#ASignature#ret_type for (self: ASignature): nullable MType */
7061 val
* nit__modelize_property___ASignature___ret_type(val
* self
) {
7062 val
* var
/* : nullable MType */;
7063 val
* var1
/* : nullable MType */;
7064 var1
= self
->attrs
[COLOR_nit__modelize_property__ASignature___ret_type
].val
; /* _ret_type on <self:ASignature> */
7069 /* method modelize_property#ASignature#ret_type= for (self: ASignature, nullable MType) */
7070 void nit__modelize_property___ASignature___ret_type_61d(val
* self
, val
* p0
) {
7071 self
->attrs
[COLOR_nit__modelize_property__ASignature___ret_type
].val
= p0
; /* _ret_type on <self:ASignature> */
7074 /* method modelize_property#ASignature#visit_signature for (self: ASignature, ModelBuilder, MClassDef): Bool */
7075 short int nit__modelize_property___ASignature___visit_signature(val
* self
, val
* p0
, val
* p1
) {
7076 short int var
/* : Bool */;
7077 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
7078 val
* var_mclassdef
/* var mclassdef: MClassDef */;
7079 val
* var1
/* : MModule */;
7080 val
* var3
/* : MModule */;
7081 val
* var_mmodule
/* var mmodule: MModule */;
7082 val
* var4
/* : Array[String] */;
7083 val
* var6
/* : Array[String] */;
7084 val
* var_param_names
/* var param_names: Array[String] */;
7085 val
* var7
/* : Array[MType] */;
7086 val
* var9
/* : Array[MType] */;
7087 val
* var_param_types
/* var param_types: Array[MType] */;
7088 val
* var10
/* : ANodes[AParam] */;
7089 val
* var12
/* : ANodes[AParam] */;
7090 val
* var_
/* var : ANodes[AParam] */;
7091 val
* var13
/* : Iterator[ANode] */;
7092 val
* var_14
/* var : Iterator[AParam] */;
7093 short int var15
/* : Bool */;
7094 val
* var16
/* : nullable Object */;
7095 val
* var_np
/* var np: AParam */;
7096 val
* var17
/* : TId */;
7097 val
* var19
/* : TId */;
7098 val
* var20
/* : String */;
7099 val
* var21
/* : nullable AType */;
7100 val
* var23
/* : nullable AType */;
7101 val
* var_ntype
/* var ntype: nullable AType */;
7102 val
* var24
/* : null */;
7103 short int var25
/* : Bool */;
7104 short int var26
/* : Bool */;
7105 val
* var_other
/* var other: nullable Object */;
7106 short int var28
/* : Bool */;
7107 short int var29
/* : Bool */;
7108 val
* var30
/* : nullable MType */;
7109 val
* var_mtype
/* var mtype: nullable MType */;
7110 val
* var31
/* : null */;
7111 short int var32
/* : Bool */;
7112 short int var33
/* : Bool */;
7113 val
* var_other35
/* var other: nullable Object */;
7114 short int var36
/* : Bool */;
7115 short int var38
/* : Bool */;
7116 short int var39
/* : Bool */;
7117 long var40
/* : Int */;
7118 long var_i
/* var i: Int */;
7119 long var41
/* : Int */;
7120 long var43
/* : Int */;
7121 long var44
/* : Int */;
7122 long var46
/* : Int */;
7123 long var47
/* : Int */;
7124 short int var49
/* : Bool */;
7127 const char* var_class_name
;
7128 long var50
/* : Int */;
7129 long var_51
/* var : Int */;
7130 short int var52
/* : Bool */;
7131 short int var54
/* : Bool */;
7134 const char* var_class_name57
;
7135 short int var58
/* : Bool */;
7136 long var59
/* : Int */;
7137 long var60
/* : Int */;
7138 val
* var61
/* : nullable TDotdotdot */;
7139 val
* var63
/* : nullable TDotdotdot */;
7140 val
* var64
/* : null */;
7141 short int var65
/* : Bool */;
7142 short int var66
/* : Bool */;
7143 short int var68
/* : Bool */;
7144 short int var69
/* : Bool */;
7145 long var70
/* : Int */;
7146 long var72
/* : Int */;
7147 long var73
/* : Int */;
7148 long var74
/* : Int */;
7149 long var76
/* : Int */;
7150 short int var77
/* : Bool */;
7151 short int var79
/* : Bool */;
7152 short int var80
/* : Bool */;
7153 static val
* varonce
;
7154 val
* var81
/* : String */;
7155 char* var82
/* : NativeString */;
7156 long var83
/* : Int */;
7157 val
* var84
/* : FlatString */;
7158 long var85
/* : Int */;
7159 long var87
/* : Int */;
7160 val
* var88
/* : nullable Object */;
7161 static val
* varonce89
;
7162 val
* var90
/* : String */;
7163 char* var91
/* : NativeString */;
7164 long var92
/* : Int */;
7165 val
* var93
/* : FlatString */;
7166 val
* var94
/* : Array[Object] */;
7167 long var95
/* : Int */;
7168 val
* var96
/* : NativeArray[Object] */;
7169 val
* var97
/* : String */;
7170 short int var98
/* : Bool */;
7171 long var99
/* : Int */;
7172 long var101
/* : Int */;
7173 long var102
/* : Int */;
7174 long var103
/* : Int */;
7175 short int var105
/* : Bool */;
7178 const char* var_class_name108
;
7179 long var109
/* : Int */;
7180 val
* var113
/* : nullable AType */;
7181 val
* var115
/* : nullable AType */;
7182 val
* var_ntype116
/* var ntype: nullable AType */;
7183 val
* var117
/* : null */;
7184 short int var118
/* : Bool */;
7185 short int var119
/* : Bool */;
7186 short int var121
/* : Bool */;
7187 short int var122
/* : Bool */;
7188 val
* var123
/* : nullable MType */;
7189 val
* var125
/* : nullable MType */;
7190 val
* var127
/* : nullable MType */;
7191 val
* var128
/* : null */;
7192 short int var129
/* : Bool */;
7193 short int var130
/* : Bool */;
7194 short int var132
/* : Bool */;
7195 short int var134
/* : Bool */;
7196 short int var135
/* : Bool */;
7197 short int var136
/* : Bool */;
7198 short int var138
/* : Bool */;
7199 var_modelbuilder
= p0
;
7202 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
7203 var3
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
7204 if (unlikely(var3
== NULL
)) {
7205 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
7206 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
7215 { /* Inline modelize_property#ASignature#param_names (self) on <self:ASignature> */
7216 var6
= self
->attrs
[COLOR_nit__modelize_property__ASignature___param_names
].val
; /* _param_names on <self:ASignature> */
7217 if (unlikely(var6
== NULL
)) {
7218 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_names");
7219 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 514);
7226 var_param_names
= var4
;
7228 { /* Inline modelize_property#ASignature#param_types (self) on <self:ASignature> */
7229 var9
= self
->attrs
[COLOR_nit__modelize_property__ASignature___param_types
].val
; /* _param_types on <self:ASignature> */
7230 if (unlikely(var9
== NULL
)) {
7231 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_types");
7232 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 517);
7239 var_param_types
= var7
;
7241 { /* Inline parser_nodes#ASignature#n_params (self) on <self:ASignature> */
7242 var12
= self
->attrs
[COLOR_nit__parser_nodes__ASignature___n_params
].val
; /* _n_params on <self:ASignature> */
7243 if (unlikely(var12
== NULL
)) {
7244 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
7245 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1506);
7249 RET_LABEL11
:(void)0;
7254 var13
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_
);
7259 var15
= ((short int (*)(val
* self
))(var_14
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_14
) /* is_ok on <var_14:Iterator[AParam]>*/;
7263 var16
= ((val
* (*)(val
* self
))(var_14
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_14
) /* item on <var_14:Iterator[AParam]>*/;
7267 { /* Inline parser_nodes#AParam#n_id (var_np) on <var_np:AParam> */
7268 var19
= var_np
->attrs
[COLOR_nit__parser_nodes__AParam___n_id
].val
; /* _n_id on <var_np:AParam> */
7269 if (unlikely(var19
== NULL
)) {
7270 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
7271 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1520);
7275 RET_LABEL18
:(void)0;
7279 var20
= nit__lexer_work___Token___text(var17
);
7282 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_param_names
, var20
); /* Direct call array#Array#add on <var_param_names:Array[String]>*/
7285 { /* Inline parser_nodes#AParam#n_type (var_np) on <var_np:AParam> */
7286 var23
= var_np
->attrs
[COLOR_nit__parser_nodes__AParam___n_type
].val
; /* _n_type on <var_np:AParam> */
7288 RET_LABEL22
:(void)0;
7293 if (var_ntype
== NULL
) {
7294 var25
= 0; /* is null */
7296 var25
= 1; /* arg is null and recv is not */
7299 { /* Inline kernel#Object#!= (var_ntype,var24) on <var_ntype:nullable AType> */
7302 var28
= ((short int (*)(val
* self
, val
* p0
))(var_ntype
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ntype
, var_other
) /* == on <var_ntype:nullable AType(AType)>*/;
7307 RET_LABEL27
:(void)0;
7313 var30
= nit__modelize_class___ModelBuilder___resolve_mtype(var_modelbuilder
, var_mmodule
, var_mclassdef
, var_ntype
);
7317 if (var_mtype
== NULL
) {
7318 var32
= 1; /* is null */
7320 var32
= 0; /* arg is null but recv is not */
7323 { /* Inline kernel#Object#== (var_mtype,var31) on <var_mtype:nullable MType> */
7324 var_other35
= var31
;
7326 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other35) on <var_mtype:nullable MType(MType)> */
7327 var38
= var_mtype
== var_other35
;
7330 RET_LABEL37
:(void)0;
7335 RET_LABEL34
:(void)0;
7348 { /* Inline array#AbstractArrayRead#length (var_param_names) on <var_param_names:Array[String]> */
7349 var43
= var_param_names
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_param_names:Array[String]> */
7351 RET_LABEL42
:(void)0;
7355 { /* Inline array#AbstractArrayRead#length (var_param_types) on <var_param_types:Array[MType]> */
7356 var46
= var_param_types
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_param_types:Array[MType]> */
7358 RET_LABEL45
:(void)0;
7362 { /* Inline kernel#Int#- (var41,var44) on <var41:Int> */
7363 /* Covariant cast for argument 0 (i) <var44:Int> isa OTHER */
7364 /* <var44:Int> isa OTHER */
7365 var49
= 1; /* easy <var44:Int> isa OTHER*/
7366 if (unlikely(!var49
)) {
7367 var_class_name
= type_standard__Int
.name
;
7368 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7369 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 416);
7372 var50
= var41
- var44
;
7375 RET_LABEL48
:(void)0;
7381 { /* Inline kernel#Int#< (var_i,var_51) on <var_i:Int> */
7382 /* Covariant cast for argument 0 (i) <var_51:Int> isa OTHER */
7383 /* <var_51:Int> isa OTHER */
7384 var54
= 1; /* easy <var_51:Int> isa OTHER*/
7385 if (unlikely(!var54
)) {
7386 var_class_name57
= type_standard__Int
.name
;
7387 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name57
);
7388 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
7391 var58
= var_i
< var_51
;
7394 RET_LABEL53
:(void)0;
7399 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_param_types
, var_mtype
); /* Direct call array#Array#add on <var_param_types:Array[MType]>*/
7403 var60
= standard___standard__Int___Discrete__successor(var_i
, var59
);
7410 BREAK_label
: (void)0;
7412 { /* Inline parser_nodes#AParam#n_dotdotdot (var_np) on <var_np:AParam> */
7413 var63
= var_np
->attrs
[COLOR_nit__parser_nodes__AParam___n_dotdotdot
].val
; /* _n_dotdotdot on <var_np:AParam> */
7415 RET_LABEL62
:(void)0;
7419 if (var61
== NULL
) {
7420 var65
= 0; /* is null */
7422 var65
= 1; /* arg is null and recv is not */
7425 { /* Inline kernel#Object#!= (var61,var64) on <var61:nullable TDotdotdot> */
7428 var68
= ((short int (*)(val
* self
, val
* p0
))(var61
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var61
, var_other
) /* == on <var61:nullable TDotdotdot(TDotdotdot)>*/;
7433 RET_LABEL67
:(void)0;
7439 { /* Inline modelize_property#ASignature#vararg_rank (self) on <self:ASignature> */
7440 var72
= self
->attrs
[COLOR_nit__modelize_property__ASignature___vararg_rank
].l
; /* _vararg_rank on <self:ASignature> */
7442 RET_LABEL71
:(void)0;
7447 { /* Inline kernel#Int#unary - (var73) on <var73:Int> */
7451 RET_LABEL75
:(void)0;
7455 { /* Inline kernel#Int#!= (var70,var74) on <var70:Int> */
7456 var79
= var70
== var74
;
7460 RET_LABEL78
:(void)0;
7469 var84
= standard___standard__NativeString___to_s_with_length(var82
, var83
);
7474 { /* Inline modelize_property#ASignature#vararg_rank (self) on <self:ASignature> */
7475 var87
= self
->attrs
[COLOR_nit__modelize_property__ASignature___vararg_rank
].l
; /* _vararg_rank on <self:ASignature> */
7477 RET_LABEL86
:(void)0;
7481 var88
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_param_names
, var85
);
7486 var91
= " is already a vararg";
7488 var93
= standard___standard__NativeString___to_s_with_length(var91
, var92
);
7492 var94
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7493 { /* var94 = array_instance Array[Object] */
7495 var96
= NEW_standard__NativeArray(var95
, &type_standard__NativeArray__standard__Object
);
7496 ((struct instance_standard__NativeArray
*)var96
)->values
[0] = (val
*) var81
;
7497 ((struct instance_standard__NativeArray
*)var96
)->values
[1] = (val
*) var88
;
7498 ((struct instance_standard__NativeArray
*)var96
)->values
[2] = (val
*) var90
;
7500 ((void (*)(val
* self
, val
* p0
, long p1
))(var94
->class->vft
[COLOR_standard__array__Array__with_native
]))(var94
, var96
, var95
) /* with_native on <var94:Array[Object]>*/;
7504 var97
= ((val
* (*)(val
* self
))(var94
->class->vft
[COLOR_standard__string__Object__to_s
]))(var94
) /* to_s on <var94:Array[Object]>*/;
7507 nit___nit__ModelBuilder___error(var_modelbuilder
, var_np
, var97
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
7514 { /* Inline array#AbstractArrayRead#length (var_param_names) on <var_param_names:Array[String]> */
7515 var101
= var_param_names
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_param_names:Array[String]> */
7517 RET_LABEL100
:(void)0;
7522 { /* Inline kernel#Int#- (var99,var102) on <var99:Int> */
7523 /* Covariant cast for argument 0 (i) <var102:Int> isa OTHER */
7524 /* <var102:Int> isa OTHER */
7525 var105
= 1; /* easy <var102:Int> isa OTHER*/
7526 if (unlikely(!var105
)) {
7527 var_class_name108
= type_standard__Int
.name
;
7528 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name108
);
7529 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 416);
7532 var109
= var99
- var102
;
7535 RET_LABEL104
:(void)0;
7539 { /* Inline modelize_property#ASignature#vararg_rank= (self,var103) on <self:ASignature> */
7540 self
->attrs
[COLOR_nit__modelize_property__ASignature___vararg_rank
].l
= var103
; /* _vararg_rank on <self:ASignature> */
7541 RET_LABEL110
:(void)0;
7550 ((void (*)(val
* self
))(var_14
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_14
) /* next on <var_14:Iterator[AParam]>*/;
7553 goto BREAK_label111
;
7556 BREAK_label111
: (void)0;
7558 { /* Inline abstract_collection#Iterator#finish (var_14) on <var_14:Iterator[AParam]> */
7559 RET_LABEL112
:(void)0;
7563 { /* Inline parser_nodes#ASignature#n_type (self) on <self:ASignature> */
7564 var115
= self
->attrs
[COLOR_nit__parser_nodes__ASignature___n_type
].val
; /* _n_type on <self:ASignature> */
7566 RET_LABEL114
:(void)0;
7569 var_ntype116
= var113
;
7571 if (var_ntype116
== NULL
) {
7572 var118
= 0; /* is null */
7574 var118
= 1; /* arg is null and recv is not */
7577 { /* Inline kernel#Object#!= (var_ntype116,var117) on <var_ntype116:nullable AType> */
7580 var121
= ((short int (*)(val
* self
, val
* p0
))(var_ntype116
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ntype116
, var_other
) /* == on <var_ntype116:nullable AType(AType)>*/;
7585 RET_LABEL120
:(void)0;
7591 var123
= nit__modelize_class___ModelBuilder___resolve_mtype(var_modelbuilder
, var_mmodule
, var_mclassdef
, var_ntype116
);
7594 { /* Inline modelize_property#ASignature#ret_type= (self,var123) on <self:ASignature> */
7595 self
->attrs
[COLOR_nit__modelize_property__ASignature___ret_type
].val
= var123
; /* _ret_type on <self:ASignature> */
7596 RET_LABEL124
:(void)0;
7600 { /* Inline modelize_property#ASignature#ret_type (self) on <self:ASignature> */
7601 var127
= self
->attrs
[COLOR_nit__modelize_property__ASignature___ret_type
].val
; /* _ret_type on <self:ASignature> */
7603 RET_LABEL126
:(void)0;
7607 if (var125
== NULL
) {
7608 var129
= 1; /* is null */
7610 var129
= 0; /* arg is null but recv is not */
7613 { /* Inline kernel#Object#== (var125,var128) on <var125:nullable MType> */
7614 var_other35
= var128
;
7616 { /* Inline kernel#Object#is_same_instance (var125,var_other35) on <var125:nullable MType(MType)> */
7617 var134
= var125
== var_other35
;
7620 RET_LABEL133
:(void)0;
7625 RET_LABEL131
:(void)0;
7639 { /* Inline modelize_property#ASignature#is_visited= (self,var136) on <self:ASignature> */
7640 self
->attrs
[COLOR_nit__modelize_property__ASignature___is_visited
].s
= var136
; /* _is_visited on <self:ASignature> */
7641 RET_LABEL137
:(void)0;
7650 /* method modelize_property#AParam#mparameter= for (self: AParam, nullable MParameter) */
7651 void nit__modelize_property___AParam___mparameter_61d(val
* self
, val
* p0
) {
7652 self
->attrs
[COLOR_nit__modelize_property__AParam___mparameter
].val
= p0
; /* _mparameter on <self:AParam> */
7655 /* method modelize_property#AMethPropdef#look_like_a_root_init for (self: AMethPropdef, ModelBuilder, MClassDef): Bool */
7656 short int nit__modelize_property___AMethPropdef___look_like_a_root_init(val
* self
, val
* p0
, val
* p1
) {
7657 short int var
/* : Bool */;
7658 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
7659 val
* var_mclassdef
/* var mclassdef: MClassDef */;
7660 val
* var1
/* : nullable TKwinit */;
7661 val
* var3
/* : nullable TKwinit */;
7662 val
* var4
/* : null */;
7663 short int var5
/* : Bool */;
7664 short int var6
/* : Bool */;
7665 val
* var_other
/* var other: nullable Object */;
7666 short int var8
/* : Bool */;
7667 short int var10
/* : Bool */;
7668 short int var11
/* : Bool */;
7669 val
* var12
/* : nullable AMethid */;
7670 val
* var14
/* : nullable AMethid */;
7671 val
* var15
/* : null */;
7672 short int var16
/* : Bool */;
7673 short int var17
/* : Bool */;
7674 val
* var_other19
/* var other: nullable Object */;
7675 short int var20
/* : Bool */;
7676 short int var21
/* : Bool */;
7677 short int var22
/* : Bool */;
7678 static val
* varonce
;
7679 val
* var23
/* : String */;
7680 char* var24
/* : NativeString */;
7681 long var25
/* : Int */;
7682 val
* var26
/* : FlatString */;
7683 val
* var27
/* : nullable AAnnotation */;
7684 val
* var28
/* : null */;
7685 short int var29
/* : Bool */;
7686 short int var30
/* : Bool */;
7687 short int var32
/* : Bool */;
7688 short int var33
/* : Bool */;
7689 short int var34
/* : Bool */;
7690 val
* var35
/* : nullable ANode */;
7691 val
* var37
/* : nullable ANode */;
7692 val
* var38
/* : nullable ANode */;
7693 val
* var40
/* : nullable ANode */;
7694 short int var41
/* : Bool */;
7697 const char* var_class_name
;
7698 val
* var_amod
/* var amod: AModule */;
7699 val
* var42
/* : nullable AModuledecl */;
7700 val
* var44
/* : nullable AModuledecl */;
7701 val
* var_amoddecl
/* var amoddecl: nullable AModuledecl */;
7702 val
* var45
/* : null */;
7703 short int var46
/* : Bool */;
7704 short int var47
/* : Bool */;
7705 short int var49
/* : Bool */;
7706 short int var50
/* : Bool */;
7707 static val
* varonce51
;
7708 val
* var52
/* : String */;
7709 char* var53
/* : NativeString */;
7710 long var54
/* : Int */;
7711 val
* var55
/* : FlatString */;
7712 val
* var56
/* : nullable AAnnotation */;
7713 val
* var_old
/* var old: nullable AAnnotation */;
7714 val
* var57
/* : null */;
7715 short int var58
/* : Bool */;
7716 short int var59
/* : Bool */;
7717 short int var61
/* : Bool */;
7718 short int var62
/* : Bool */;
7719 short int var63
/* : Bool */;
7720 val
* var64
/* : nullable ASignature */;
7721 val
* var66
/* : nullable ASignature */;
7722 val
* var67
/* : ANodes[AParam] */;
7723 val
* var69
/* : ANodes[AParam] */;
7724 long var70
/* : Int */;
7725 long var71
/* : Int */;
7726 short int var72
/* : Bool */;
7727 short int var74
/* : Bool */;
7730 const char* var_class_name77
;
7731 short int var78
/* : Bool */;
7732 static val
* varonce79
;
7733 val
* var80
/* : String */;
7734 char* var81
/* : NativeString */;
7735 long var82
/* : Int */;
7736 val
* var83
/* : FlatString */;
7737 static val
* varonce84
;
7738 val
* var85
/* : String */;
7739 char* var86
/* : NativeString */;
7740 long var87
/* : Int */;
7741 val
* var88
/* : FlatString */;
7742 val
* var89
/* : Array[Object] */;
7743 long var90
/* : Int */;
7744 val
* var91
/* : NativeArray[Object] */;
7745 val
* var92
/* : String */;
7746 short int var93
/* : Bool */;
7747 val
* var94
/* : nullable AVisibility */;
7748 val
* var96
/* : nullable AVisibility */;
7749 short int var97
/* : Bool */;
7752 short int var100
/* : Bool */;
7753 static val
* varonce101
;
7754 val
* var102
/* : String */;
7755 char* var103
/* : NativeString */;
7756 long var104
/* : Int */;
7757 val
* var105
/* : FlatString */;
7758 static val
* varonce106
;
7759 val
* var107
/* : String */;
7760 char* var108
/* : NativeString */;
7761 long var109
/* : Int */;
7762 val
* var110
/* : FlatString */;
7763 val
* var111
/* : Array[Object] */;
7764 long var112
/* : Int */;
7765 val
* var113
/* : NativeArray[Object] */;
7766 val
* var114
/* : String */;
7767 short int var115
/* : Bool */;
7768 short int var116
/* : Bool */;
7769 var_modelbuilder
= p0
;
7772 { /* Inline parser_nodes#AMethPropdef#n_kwinit (self) on <self:AMethPropdef> */
7773 var3
= self
->attrs
[COLOR_nit__parser_nodes__AMethPropdef___n_kwinit
].val
; /* _n_kwinit on <self:AMethPropdef> */
7780 var5
= 1; /* is null */
7782 var5
= 0; /* arg is null but recv is not */
7785 { /* Inline kernel#Object#== (var1,var4) on <var1:nullable TKwinit> */
7788 { /* Inline kernel#Object#is_same_instance (var1,var_other) on <var1:nullable TKwinit(TKwinit)> */
7789 var10
= var1
== var_other
;
7808 { /* Inline parser_nodes#AMethPropdef#n_methid (self) on <self:AMethPropdef> */
7809 var14
= self
->attrs
[COLOR_nit__parser_nodes__AMethPropdef___n_methid
].val
; /* _n_methid on <self:AMethPropdef> */
7811 RET_LABEL13
:(void)0;
7815 if (var12
== NULL
) {
7816 var16
= 0; /* is null */
7818 var16
= 1; /* arg is null and recv is not */
7821 { /* Inline kernel#Object#!= (var12,var15) on <var12:nullable AMethid> */
7822 var_other19
= var15
;
7824 var20
= ((short int (*)(val
* self
, val
* p0
))(var12
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var12
, var_other19
) /* == on <var12:nullable AMethid(AMethid)>*/;
7829 RET_LABEL18
:(void)0;
7842 var24
= "old_style_init";
7844 var26
= standard___standard__NativeString___to_s_with_length(var24
, var25
);
7849 var27
= nit__annotation___Prod___get_single_annotation(self
, var23
, var_modelbuilder
);
7852 if (var27
== NULL
) {
7853 var29
= 0; /* is null */
7855 var29
= 1; /* arg is null and recv is not */
7858 { /* Inline kernel#Object#!= (var27,var28) on <var27:nullable AAnnotation> */
7859 var_other19
= var28
;
7861 var32
= ((short int (*)(val
* self
, val
* p0
))(var27
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var27
, var_other19
) /* == on <var27:nullable AAnnotation(AAnnotation)>*/;
7866 RET_LABEL31
:(void)0;
7877 { /* Inline parser_nodes#ANode#parent (self) on <self:AMethPropdef> */
7878 var37
= self
->attrs
[COLOR_nit__parser_nodes__ANode___parent
].val
; /* _parent on <self:AMethPropdef> */
7880 RET_LABEL36
:(void)0;
7883 if (var35
== NULL
) {
7884 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7885 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 601);
7888 { /* Inline parser_nodes#ANode#parent (var35) on <var35:nullable ANode> */
7889 if (unlikely(var35
== NULL
)) {
7890 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7891 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 36);
7894 var40
= var35
->attrs
[COLOR_nit__parser_nodes__ANode___parent
].val
; /* _parent on <var35:nullable ANode> */
7896 RET_LABEL39
:(void)0;
7899 /* <var38:nullable ANode> isa AModule */
7900 cltype
= type_nit__AModule
.color
;
7901 idtype
= type_nit__AModule
.id
;
7905 if(cltype
>= var38
->type
->table_size
) {
7908 var41
= var38
->type
->type_table
[cltype
] == idtype
;
7911 if (unlikely(!var41
)) {
7912 var_class_name
= var38
== NULL ?
"null" : var38
->type
->name
;
7913 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AModule", var_class_name
);
7914 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 601);
7919 { /* Inline parser_nodes#AModule#n_moduledecl (var_amod) on <var_amod:AModule> */
7920 var44
= var_amod
->attrs
[COLOR_nit__parser_nodes__AModule___n_moduledecl
].val
; /* _n_moduledecl on <var_amod:AModule> */
7922 RET_LABEL43
:(void)0;
7925 var_amoddecl
= var42
;
7927 if (var_amoddecl
== NULL
) {
7928 var46
= 0; /* is null */
7930 var46
= 1; /* arg is null and recv is not */
7933 { /* Inline kernel#Object#!= (var_amoddecl,var45) on <var_amoddecl:nullable AModuledecl> */
7934 var_other19
= var45
;
7936 var49
= ((short int (*)(val
* self
, val
* p0
))(var_amoddecl
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_amoddecl
, var_other19
) /* == on <var_amoddecl:nullable AModuledecl(AModuledecl)>*/;
7941 RET_LABEL48
:(void)0;
7949 var53
= "old_style_init";
7951 var55
= standard___standard__NativeString___to_s_with_length(var53
, var54
);
7956 var56
= nit__annotation___Prod___get_single_annotation(var_amoddecl
, var52
, var_modelbuilder
);
7960 if (var_old
== NULL
) {
7961 var58
= 0; /* is null */
7963 var58
= 1; /* arg is null and recv is not */
7966 { /* Inline kernel#Object#!= (var_old,var57) on <var_old:nullable AAnnotation> */
7967 var_other19
= var57
;
7969 var61
= ((short int (*)(val
* self
, val
* p0
))(var_old
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_old
, var_other19
) /* == on <var_old:nullable AAnnotation(AAnnotation)>*/;
7974 RET_LABEL60
:(void)0;
7987 { /* Inline parser_nodes#AMethPropdef#n_signature (self) on <self:AMethPropdef> */
7988 var66
= self
->attrs
[COLOR_nit__parser_nodes__AMethPropdef___n_signature
].val
; /* _n_signature on <self:AMethPropdef> */
7990 RET_LABEL65
:(void)0;
7993 if (var64
== NULL
) {
7994 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7995 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 608);
7998 { /* Inline parser_nodes#ASignature#n_params (var64) on <var64:nullable ASignature> */
7999 if (unlikely(var64
== NULL
)) {
8000 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8001 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1506);
8004 var69
= var64
->attrs
[COLOR_nit__parser_nodes__ASignature___n_params
].val
; /* _n_params on <var64:nullable ASignature> */
8005 if (unlikely(var69
== NULL
)) {
8006 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
8007 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1506);
8011 RET_LABEL68
:(void)0;
8015 var70
= nit___nit__ANodes___standard__abstract_collection__Collection__length(var67
);
8019 { /* Inline kernel#Int#> (var70,var71) on <var70:Int> */
8020 /* Covariant cast for argument 0 (i) <var71:Int> isa OTHER */
8021 /* <var71:Int> isa OTHER */
8022 var74
= 1; /* easy <var71:Int> isa OTHER*/
8023 if (unlikely(!var74
)) {
8024 var_class_name77
= type_standard__Int
.name
;
8025 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name77
);
8026 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 412);
8029 var78
= var70
> var71
;
8032 RET_LABEL73
:(void)0;
8041 var83
= standard___standard__NativeString___to_s_with_length(var81
, var82
);
8048 var86
= "Warning: init with signature in ";
8050 var88
= standard___standard__NativeString___to_s_with_length(var86
, var87
);
8054 var89
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8055 { /* var89 = array_instance Array[Object] */
8057 var91
= NEW_standard__NativeArray(var90
, &type_standard__NativeArray__standard__Object
);
8058 ((struct instance_standard__NativeArray
*)var91
)->values
[0] = (val
*) var85
;
8059 ((struct instance_standard__NativeArray
*)var91
)->values
[1] = (val
*) var_mclassdef
;
8061 ((void (*)(val
* self
, val
* p0
, long p1
))(var89
->class->vft
[COLOR_standard__array__Array__with_native
]))(var89
, var91
, var90
) /* with_native on <var89:Array[Object]>*/;
8065 var92
= ((val
* (*)(val
* self
))(var89
->class->vft
[COLOR_standard__string__Object__to_s
]))(var89
) /* to_s on <var89:Array[Object]>*/;
8068 nit___nit__ModelBuilder___advice(var_modelbuilder
, self
, var80
, var92
); /* Direct call modelbuilder_base#ModelBuilder#advice on <var_modelbuilder:ModelBuilder>*/
8076 { /* Inline parser_nodes#ADefinition#n_visibility (self) on <self:AMethPropdef> */
8077 var96
= self
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_visibility
].val
; /* _n_visibility on <self:AMethPropdef> */
8079 RET_LABEL95
:(void)0;
8082 /* <var94:nullable AVisibility> isa APublicVisibility */
8083 cltype98
= type_nit__APublicVisibility
.color
;
8084 idtype99
= type_nit__APublicVisibility
.id
;
8088 if(cltype98
>= var94
->type
->table_size
) {
8091 var97
= var94
->type
->type_table
[cltype98
] == idtype99
;
8097 var102
= varonce101
;
8099 var103
= "old-init";
8101 var105
= standard___standard__NativeString___to_s_with_length(var103
, var104
);
8103 varonce101
= var102
;
8106 var107
= varonce106
;
8108 var108
= "Warning: non-public init in ";
8110 var110
= standard___standard__NativeString___to_s_with_length(var108
, var109
);
8112 varonce106
= var107
;
8114 var111
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8115 { /* var111 = array_instance Array[Object] */
8117 var113
= NEW_standard__NativeArray(var112
, &type_standard__NativeArray__standard__Object
);
8118 ((struct instance_standard__NativeArray
*)var113
)->values
[0] = (val
*) var107
;
8119 ((struct instance_standard__NativeArray
*)var113
)->values
[1] = (val
*) var_mclassdef
;
8121 ((void (*)(val
* self
, val
* p0
, long p1
))(var111
->class->vft
[COLOR_standard__array__Array__with_native
]))(var111
, var113
, var112
) /* with_native on <var111:Array[Object]>*/;
8125 var114
= ((val
* (*)(val
* self
))(var111
->class->vft
[COLOR_standard__string__Object__to_s
]))(var111
) /* to_s on <var111:Array[Object]>*/;
8128 nit___nit__ModelBuilder___advice(var_modelbuilder
, self
, var102
, var114
); /* Direct call modelbuilder_base#ModelBuilder#advice on <var_modelbuilder:ModelBuilder>*/
8141 /* method modelize_property#AMethPropdef#build_property for (self: AMethPropdef, ModelBuilder, MClassDef) */
8142 void nit__modelize_property___AMethPropdef___APropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
8143 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
8144 val
* var_mclassdef
/* var mclassdef: MClassDef */;
8145 val
* var
/* : nullable TKwinit */;
8146 val
* var2
/* : nullable TKwinit */;
8147 val
* var_n_kwinit
/* var n_kwinit: nullable TKwinit */;
8148 val
* var3
/* : nullable TKwnew */;
8149 val
* var5
/* : nullable TKwnew */;
8150 val
* var_n_kwnew
/* var n_kwnew: nullable TKwnew */;
8151 short int var6
/* : Bool */;
8152 val
* var7
/* : null */;
8153 short int var8
/* : Bool */;
8154 short int var9
/* : Bool */;
8155 val
* var_other
/* var other: nullable Object */;
8156 short int var11
/* : Bool */;
8157 short int var12
/* : Bool */;
8158 short int var_
/* var : Bool */;
8159 val
* var13
/* : null */;
8160 short int var14
/* : Bool */;
8161 short int var15
/* : Bool */;
8162 short int var17
/* : Bool */;
8163 short int var18
/* : Bool */;
8164 short int var_is_init
/* var is_init: Bool */;
8165 val
* var19
/* : nullable AMethid */;
8166 val
* var21
/* : nullable AMethid */;
8167 val
* var_amethodid
/* var amethodid: nullable AMethid */;
8168 val
* var22
/* : null */;
8169 short int var23
/* : Bool */;
8170 short int var24
/* : Bool */;
8171 val
* var_other26
/* var other: nullable Object */;
8172 short int var27
/* : Bool */;
8173 short int var29
/* : Bool */;
8174 short int var30
/* : Bool */;
8175 static val
* varonce
;
8176 val
* var31
/* : String */;
8177 char* var32
/* : NativeString */;
8178 long var33
/* : Int */;
8179 val
* var34
/* : FlatString */;
8180 val
* var_name
/* var name: String */;
8181 val
* var_name_node
/* var name_node: ANode */;
8182 val
* var35
/* : null */;
8183 short int var36
/* : Bool */;
8184 short int var37
/* : Bool */;
8185 short int var39
/* : Bool */;
8186 short int var40
/* : Bool */;
8187 static val
* varonce41
;
8188 val
* var42
/* : String */;
8189 char* var43
/* : NativeString */;
8190 long var44
/* : Int */;
8191 val
* var45
/* : FlatString */;
8192 val
* var46
/* : null */;
8193 short int var47
/* : Bool */;
8194 short int var48
/* : Bool */;
8195 short int var50
/* : Bool */;
8196 short int var51
/* : Bool */;
8197 static val
* varonce52
;
8198 val
* var53
/* : String */;
8199 char* var54
/* : NativeString */;
8200 long var55
/* : Int */;
8201 val
* var56
/* : FlatString */;
8202 short int var57
/* : Bool */;
8205 val
* var58
/* : TId */;
8206 val
* var60
/* : TId */;
8207 val
* var61
/* : String */;
8208 val
* var62
/* : String */;
8209 short int var63
/* : Bool */;
8210 static val
* varonce64
;
8211 val
* var65
/* : String */;
8212 char* var66
/* : NativeString */;
8213 long var67
/* : Int */;
8214 val
* var68
/* : FlatString */;
8215 short int var69
/* : Bool */;
8216 short int var_70
/* var : Bool */;
8217 val
* var71
/* : nullable ASignature */;
8218 val
* var73
/* : nullable ASignature */;
8219 val
* var74
/* : ANodes[AParam] */;
8220 val
* var76
/* : ANodes[AParam] */;
8221 long var77
/* : Int */;
8222 long var78
/* : Int */;
8223 short int var79
/* : Bool */;
8224 short int var81
/* : Bool */;
8225 static val
* varonce82
;
8226 val
* var83
/* : String */;
8227 char* var84
/* : NativeString */;
8228 long var85
/* : Int */;
8229 val
* var86
/* : FlatString */;
8230 short int var87
/* : Bool */;
8231 short int var_look_like_a_root_init
/* var look_like_a_root_init: Bool */;
8232 val
* var88
/* : null */;
8233 val
* var_mprop
/* var mprop: nullable MMethod */;
8234 short int var89
/* : Bool */;
8235 short int var90
/* : Bool */;
8236 short int var_91
/* var : Bool */;
8237 val
* var92
/* : nullable TKwredef */;
8238 val
* var94
/* : nullable TKwredef */;
8239 val
* var95
/* : null */;
8240 short int var96
/* : Bool */;
8241 short int var97
/* : Bool */;
8242 short int var99
/* : Bool */;
8243 short int var100
/* : Bool */;
8244 val
* var101
/* : nullable MProperty */;
8245 short int var102
/* : Bool */;
8248 const char* var_class_name
;
8249 short int var105
/* : Bool */;
8250 val
* var106
/* : null */;
8251 short int var107
/* : Bool */;
8252 short int var108
/* : Bool */;
8253 short int var110
/* : Bool */;
8254 short int var112
/* : Bool */;
8255 short int var_113
/* var : Bool */;
8256 val
* var114
/* : nullable MMethod */;
8257 val
* var116
/* : nullable MMethod */;
8258 val
* var117
/* : nullable AExpr */;
8259 val
* var119
/* : nullable AExpr */;
8260 val
* var_nb
/* var nb: nullable AExpr */;
8261 short int var120
/* : Bool */;
8262 short int var121
/* : Bool */;
8263 short int var122
/* : Bool */;
8266 short int var_125
/* var : Bool */;
8267 val
* var126
/* : ANodes[AExpr] */;
8268 val
* var128
/* : ANodes[AExpr] */;
8269 short int var129
/* : Bool */;
8270 short int var_130
/* var : Bool */;
8271 val
* var131
/* : nullable ADoc */;
8272 val
* var133
/* : nullable ADoc */;
8273 val
* var134
/* : null */;
8274 short int var135
/* : Bool */;
8275 short int var136
/* : Bool */;
8276 short int var138
/* : Bool */;
8277 short int var140
/* : Bool */;
8278 static val
* varonce141
;
8279 val
* var142
/* : String */;
8280 char* var143
/* : NativeString */;
8281 long var144
/* : Int */;
8282 val
* var145
/* : FlatString */;
8283 static val
* varonce146
;
8284 val
* var147
/* : String */;
8285 char* var148
/* : NativeString */;
8286 long var149
/* : Int */;
8287 val
* var150
/* : FlatString */;
8288 val
* var151
/* : Array[Object] */;
8289 long var152
/* : Int */;
8290 val
* var153
/* : NativeArray[Object] */;
8291 val
* var154
/* : String */;
8292 val
* var155
/* : null */;
8293 short int var156
/* : Bool */;
8294 short int var157
/* : Bool */;
8295 short int var159
/* : Bool */;
8296 short int var161
/* : Bool */;
8297 val
* var162
/* : nullable AVisibility */;
8298 val
* var164
/* : nullable AVisibility */;
8299 val
* var165
/* : MVisibility */;
8300 val
* var_mvisibility
/* var mvisibility: MVisibility */;
8301 val
* var166
/* : MMethod */;
8302 short int var167
/* : Bool */;
8303 short int var_168
/* var : Bool */;
8304 val
* var169
/* : nullable MMethod */;
8305 val
* var171
/* : nullable MMethod */;
8306 val
* var172
/* : null */;
8307 short int var173
/* : Bool */;
8308 short int var174
/* : Bool */;
8309 short int var176
/* : Bool */;
8310 short int var178
/* : Bool */;
8311 short int var180
/* : Bool */;
8312 val
* var183
/* : null */;
8313 short int var184
/* : Bool */;
8314 short int var185
/* : Bool */;
8315 short int var187
/* : Bool */;
8316 short int var188
/* : Bool */;
8317 val
* var190
/* : nullable ANode */;
8318 val
* var192
/* : nullable ANode */;
8319 short int var193
/* : Bool */;
8322 short int var196
/* : Bool */;
8323 val
* var198
/* : nullable TKwredef */;
8324 val
* var200
/* : nullable TKwredef */;
8325 short int var201
/* : Bool */;
8326 short int var202
/* : Bool */;
8327 val
* var203
/* : nullable TKwredef */;
8328 val
* var205
/* : nullable TKwredef */;
8329 short int var206
/* : Bool */;
8332 short int var209
/* : Bool */;
8333 short int var210
/* : Bool */;
8334 short int var211
/* : Bool */;
8335 val
* var212
/* : nullable AVisibility */;
8336 val
* var214
/* : nullable AVisibility */;
8337 val
* var215
/* : Map[MProperty, APropdef] */;
8338 val
* var217
/* : Map[MProperty, APropdef] */;
8339 val
* var_218
/* var : Map[MProperty, APropdef] */;
8340 val
* var219
/* : MapIterator[nullable Object, nullable Object] */;
8341 val
* var_220
/* var : MapIterator[MProperty, APropdef] */;
8342 short int var221
/* : Bool */;
8343 val
* var222
/* : nullable Object */;
8344 val
* var_p
/* var p: MProperty */;
8345 val
* var223
/* : nullable Object */;
8346 val
* var_n
/* var n: APropdef */;
8347 short int var224
/* : Bool */;
8348 short int var225
/* : Bool */;
8349 short int var226
/* : Bool */;
8350 short int var228
/* : Bool */;
8351 short int var229
/* : Bool */;
8352 short int var_230
/* var : Bool */;
8353 short int var231
/* : Bool */;
8356 short int var_234
/* var : Bool */;
8357 val
* var235
/* : String */;
8358 val
* var237
/* : String */;
8359 short int var238
/* : Bool */;
8360 val
* var239
/* : nullable TKwredef */;
8361 val
* var241
/* : nullable TKwredef */;
8362 short int var242
/* : Bool */;
8363 short int var243
/* : Bool */;
8364 val
* var245
/* : Map[MProperty, APropdef] */;
8365 val
* var247
/* : Map[MProperty, APropdef] */;
8366 val
* var248
/* : MMethodDef */;
8367 val
* var249
/* : Location */;
8368 val
* var251
/* : Location */;
8369 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
8370 short int var252
/* : Bool */;
8373 const struct type
* type_struct
;
8374 const char* var_class_name255
;
8375 short int var257
/* : Bool */;
8378 const struct type
* type_struct260
;
8379 const char* var_class_name261
;
8380 val
* var262
/* : HashMap[MPropDef, APropdef] */;
8381 val
* var264
/* : HashMap[MPropDef, APropdef] */;
8382 short int var265
/* : Bool */;
8383 val
* var266
/* : ToolContext */;
8384 val
* var268
/* : ToolContext */;
8385 static val
* varonce269
;
8386 val
* var270
/* : String */;
8387 char* var271
/* : NativeString */;
8388 long var272
/* : Int */;
8389 val
* var273
/* : FlatString */;
8390 val
* var274
/* : String */;
8391 val
* var275
/* : Array[Object] */;
8392 long var276
/* : Int */;
8393 val
* var277
/* : NativeArray[Object] */;
8394 val
* var278
/* : String */;
8395 long var279
/* : Int */;
8396 val
* var280
/* : ToolContext */;
8397 val
* var282
/* : ToolContext */;
8398 static val
* varonce283
;
8399 val
* var284
/* : String */;
8400 char* var285
/* : NativeString */;
8401 long var286
/* : Int */;
8402 val
* var287
/* : FlatString */;
8403 val
* var288
/* : String */;
8404 val
* var289
/* : Array[Object] */;
8405 long var290
/* : Int */;
8406 val
* var291
/* : NativeArray[Object] */;
8407 val
* var292
/* : String */;
8408 long var293
/* : Int */;
8409 var_modelbuilder
= p0
;
8412 { /* Inline parser_nodes#AMethPropdef#n_kwinit (self) on <self:AMethPropdef> */
8413 var2
= self
->attrs
[COLOR_nit__parser_nodes__AMethPropdef___n_kwinit
].val
; /* _n_kwinit on <self:AMethPropdef> */
8420 { /* Inline parser_nodes#AMethPropdef#n_kwnew (self) on <self:AMethPropdef> */
8421 var5
= self
->attrs
[COLOR_nit__parser_nodes__AMethPropdef___n_kwnew
].val
; /* _n_kwnew on <self:AMethPropdef> */
8428 if (var_n_kwinit
== NULL
) {
8429 var8
= 0; /* is null */
8431 var8
= 1; /* arg is null and recv is not */
8434 { /* Inline kernel#Object#!= (var_n_kwinit,var7) on <var_n_kwinit:nullable TKwinit> */
8437 var11
= ((short int (*)(val
* self
, val
* p0
))(var_n_kwinit
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_n_kwinit
, var_other
) /* == on <var_n_kwinit:nullable TKwinit(TKwinit)>*/;
8442 RET_LABEL10
:(void)0;
8451 if (var_n_kwnew
== NULL
) {
8452 var14
= 0; /* is null */
8454 var14
= 1; /* arg is null and recv is not */
8457 { /* Inline kernel#Object#!= (var_n_kwnew,var13) on <var_n_kwnew:nullable TKwnew> */
8460 var17
= ((short int (*)(val
* self
, val
* p0
))(var_n_kwnew
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_n_kwnew
, var_other
) /* == on <var_n_kwnew:nullable TKwnew(TKwnew)>*/;
8465 RET_LABEL16
:(void)0;
8473 { /* Inline parser_nodes#AMethPropdef#n_methid (self) on <self:AMethPropdef> */
8474 var21
= self
->attrs
[COLOR_nit__parser_nodes__AMethPropdef___n_methid
].val
; /* _n_methid on <self:AMethPropdef> */
8476 RET_LABEL20
:(void)0;
8479 var_amethodid
= var19
;
8481 if (var_amethodid
== NULL
) {
8482 var23
= 1; /* is null */
8484 var23
= 0; /* arg is null but recv is not */
8487 { /* Inline kernel#Object#== (var_amethodid,var22) on <var_amethodid:nullable AMethid> */
8488 var_other26
= var22
;
8490 { /* Inline kernel#Object#is_same_instance (var_amethodid,var_other26) on <var_amethodid:nullable AMethid(AMethid)> */
8491 var29
= var_amethodid
== var_other26
;
8494 RET_LABEL28
:(void)0;
8499 RET_LABEL25
:(void)0;
8504 var30
= !var_is_init
;
8511 var34
= standard___standard__NativeString___to_s_with_length(var32
, var33
);
8516 var_name_node
= self
;
8519 if (var_n_kwinit
== NULL
) {
8520 var36
= 0; /* is null */
8522 var36
= 1; /* arg is null and recv is not */
8525 { /* Inline kernel#Object#!= (var_n_kwinit,var35) on <var_n_kwinit:nullable TKwinit> */
8528 var39
= ((short int (*)(val
* self
, val
* p0
))(var_n_kwinit
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_n_kwinit
, var_other
) /* == on <var_n_kwinit:nullable TKwinit(TKwinit)>*/;
8533 RET_LABEL38
:(void)0;
8543 var45
= standard___standard__NativeString___to_s_with_length(var43
, var44
);
8548 var_name_node
= var_n_kwinit
;
8551 if (var_n_kwnew
== NULL
) {
8552 var47
= 0; /* is null */
8554 var47
= 1; /* arg is null and recv is not */
8557 { /* Inline kernel#Object#!= (var_n_kwnew,var46) on <var_n_kwnew:nullable TKwnew> */
8560 var50
= ((short int (*)(val
* self
, val
* p0
))(var_n_kwnew
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_n_kwnew
, var_other
) /* == on <var_n_kwnew:nullable TKwnew(TKwnew)>*/;
8565 RET_LABEL49
:(void)0;
8575 var56
= standard___standard__NativeString___to_s_with_length(var54
, var55
);
8580 var_name_node
= var_n_kwnew
;
8582 PRINT_ERROR("Runtime error: %s", "Aborted");
8583 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 640);
8589 /* <var_amethodid:nullable AMethid(AMethid)> isa AIdMethid */
8590 cltype
= type_nit__AIdMethid
.color
;
8591 idtype
= type_nit__AIdMethid
.id
;
8592 if(cltype
>= var_amethodid
->type
->table_size
) {
8595 var57
= var_amethodid
->type
->type_table
[cltype
] == idtype
;
8599 { /* Inline parser_nodes#AIdMethid#n_id (var_amethodid) on <var_amethodid:nullable AMethid(AIdMethid)> */
8600 var60
= var_amethodid
->attrs
[COLOR_nit__parser_nodes__AIdMethid___n_id
].val
; /* _n_id on <var_amethodid:nullable AMethid(AIdMethid)> */
8601 if (unlikely(var60
== NULL
)) {
8602 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
8603 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1339);
8607 RET_LABEL59
:(void)0;
8611 var61
= nit__lexer_work___Token___text(var58
);
8614 var_name_node
= var_amethodid
;
8617 var62
= nit__parser_work___Prod___collect_text(var_amethodid
);
8620 var_name_node
= var_amethodid
;
8626 var68
= standard___standard__NativeString___to_s_with_length(var66
, var67
);
8631 var69
= ((short int (*)(val
* self
, val
* p0
))(var_name
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_name
, var65
) /* == on <var_name:String>*/;
8636 { /* Inline parser_nodes#AMethPropdef#n_signature (self) on <self:AMethPropdef> */
8637 var73
= self
->attrs
[COLOR_nit__parser_nodes__AMethPropdef___n_signature
].val
; /* _n_signature on <self:AMethPropdef> */
8639 RET_LABEL72
:(void)0;
8642 if (var71
== NULL
) {
8643 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8644 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 650);
8647 { /* Inline parser_nodes#ASignature#n_params (var71) on <var71:nullable ASignature> */
8648 if (unlikely(var71
== NULL
)) {
8649 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8650 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1506);
8653 var76
= var71
->attrs
[COLOR_nit__parser_nodes__ASignature___n_params
].val
; /* _n_params on <var71:nullable ASignature> */
8654 if (unlikely(var76
== NULL
)) {
8655 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
8656 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1506);
8660 RET_LABEL75
:(void)0;
8664 var77
= nit___nit__ANodes___standard__abstract_collection__Collection__length(var74
);
8668 { /* Inline kernel#Int#== (var77,var78) on <var77:Int> */
8669 var81
= var77
== var78
;
8672 RET_LABEL80
:(void)0;
8685 var86
= standard___standard__NativeString___to_s_with_length(var84
, var85
);
8695 var87
= nit__modelize_property___AMethPropdef___look_like_a_root_init(self
, var_modelbuilder
, var_mclassdef
);
8697 var_look_like_a_root_init
= var87
;
8700 var90
= !var_is_init
;
8706 { /* Inline parser_nodes#ADefinition#n_kwredef (self) on <self:AMethPropdef> */
8707 var94
= self
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_kwredef
].val
; /* _n_kwredef on <self:AMethPropdef> */
8709 RET_LABEL93
:(void)0;
8713 if (var92
== NULL
) {
8714 var96
= 0; /* is null */
8716 var96
= 1; /* arg is null and recv is not */
8719 { /* Inline kernel#Object#!= (var92,var95) on <var92:nullable TKwredef> */
8722 var99
= ((short int (*)(val
* self
, val
* p0
))(var92
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var92
, var_other
) /* == on <var92:nullable TKwredef(TKwredef)>*/;
8727 RET_LABEL98
:(void)0;
8735 var101
= nit___nit__ModelBuilder___try_get_mproperty_by_name(var_modelbuilder
, var_name_node
, var_mclassdef
, var_name
);
8737 /* <var101:nullable MProperty> isa nullable MMethod */
8738 cltype103
= type_nullable__nit__MMethod
.color
;
8739 idtype104
= type_nullable__nit__MMethod
.id
;
8740 if(var101
== NULL
) {
8743 if(cltype103
>= var101
->type
->table_size
) {
8746 var102
= var101
->type
->type_table
[cltype103
] == idtype104
;
8749 if (unlikely(!var102
)) {
8750 var_class_name
= var101
== NULL ?
"null" : var101
->type
->name
;
8751 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name
);
8752 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 657);
8759 if (var_mprop
== NULL
) {
8760 var107
= 1; /* is null */
8762 var107
= 0; /* arg is null but recv is not */
8765 { /* Inline kernel#Object#== (var_mprop,var106) on <var_mprop:nullable MMethod> */
8766 var_other26
= var106
;
8768 { /* Inline kernel#Object#is_same_instance (var_mprop,var_other26) on <var_mprop:nullable MMethod(MMethod)> */
8769 var112
= var_mprop
== var_other26
;
8772 RET_LABEL111
:(void)0;
8777 RET_LABEL109
:(void)0;
8783 var105
= var_look_like_a_root_init
;
8789 { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
8790 var116
= var_modelbuilder
->attrs
[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod
].val
; /* _the_root_init_mmethod on <var_modelbuilder:ModelBuilder> */
8792 RET_LABEL115
:(void)0;
8797 { /* Inline parser_nodes#AMethPropdef#n_block (self) on <self:AMethPropdef> */
8798 var119
= self
->attrs
[COLOR_nit__parser_nodes__AMethPropdef___n_block
].val
; /* _n_block on <self:AMethPropdef> */
8800 RET_LABEL118
:(void)0;
8804 /* <var_nb:nullable AExpr> isa ABlockExpr */
8805 cltype123
= type_nit__ABlockExpr
.color
;
8806 idtype124
= type_nit__ABlockExpr
.id
;
8807 if(var_nb
== NULL
) {
8810 if(cltype123
>= var_nb
->type
->table_size
) {
8813 var122
= var_nb
->type
->type_table
[cltype123
] == idtype124
;
8819 { /* Inline parser_nodes#ABlockExpr#n_expr (var_nb) on <var_nb:nullable AExpr(ABlockExpr)> */
8820 var128
= var_nb
->attrs
[COLOR_nit__parser_nodes__ABlockExpr___n_expr
].val
; /* _n_expr on <var_nb:nullable AExpr(ABlockExpr)> */
8821 if (unlikely(var128
== NULL
)) {
8822 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
8823 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1565);
8827 RET_LABEL127
:(void)0;
8831 var129
= nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var126
);
8840 { /* Inline parser_nodes#ADefinition#n_doc (self) on <self:AMethPropdef> */
8841 var133
= self
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_doc
].val
; /* _n_doc on <self:AMethPropdef> */
8843 RET_LABEL132
:(void)0;
8847 if (var131
== NULL
) {
8848 var135
= 1; /* is null */
8850 var135
= 0; /* arg is null but recv is not */
8853 { /* Inline kernel#Object#== (var131,var134) on <var131:nullable ADoc> */
8854 var_other26
= var134
;
8856 { /* Inline kernel#Object#is_same_instance (var131,var_other26) on <var131:nullable ADoc(ADoc)> */
8857 var140
= var131
== var_other26
;
8860 RET_LABEL139
:(void)0;
8865 RET_LABEL137
:(void)0;
8875 var142
= varonce141
;
8877 var143
= "useless-init";
8879 var145
= standard___standard__NativeString___to_s_with_length(var143
, var144
);
8881 varonce141
= var142
;
8884 var147
= varonce146
;
8886 var148
= "Warning: useless empty init in ";
8888 var150
= standard___standard__NativeString___to_s_with_length(var148
, var149
);
8890 varonce146
= var147
;
8892 var151
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8893 { /* var151 = array_instance Array[Object] */
8895 var153
= NEW_standard__NativeArray(var152
, &type_standard__NativeArray__standard__Object
);
8896 ((struct instance_standard__NativeArray
*)var153
)->values
[0] = (val
*) var147
;
8897 ((struct instance_standard__NativeArray
*)var153
)->values
[1] = (val
*) var_mclassdef
;
8899 ((void (*)(val
* self
, val
* p0
, long p1
))(var151
->class->vft
[COLOR_standard__array__Array__with_native
]))(var151
, var153
, var152
) /* with_native on <var151:Array[Object]>*/;
8903 var154
= ((val
* (*)(val
* self
))(var151
->class->vft
[COLOR_standard__string__Object__to_s
]))(var151
) /* to_s on <var151:Array[Object]>*/;
8906 nit___nit__ModelBuilder___advice(var_modelbuilder
, self
, var142
, var154
); /* Direct call modelbuilder_base#ModelBuilder#advice on <var_modelbuilder:ModelBuilder>*/
8913 if (var_mprop
== NULL
) {
8914 var156
= 1; /* is null */
8916 var156
= 0; /* arg is null but recv is not */
8919 { /* Inline kernel#Object#== (var_mprop,var155) on <var_mprop:nullable MMethod> */
8920 var_other26
= var155
;
8922 { /* Inline kernel#Object#is_same_instance (var_mprop,var_other26) on <var_mprop:nullable MMethod(MMethod)> */
8923 var161
= var_mprop
== var_other26
;
8926 RET_LABEL160
:(void)0;
8931 RET_LABEL158
:(void)0;
8937 { /* Inline parser_nodes#ADefinition#n_visibility (self) on <self:AMethPropdef> */
8938 var164
= self
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_visibility
].val
; /* _n_visibility on <self:AMethPropdef> */
8940 RET_LABEL163
:(void)0;
8944 var165
= nit__modelize_property___APropdef___new_property_visibility(self
, var_modelbuilder
, var_mclassdef
, var162
);
8946 var_mvisibility
= var165
;
8947 var166
= NEW_nit__MMethod(&type_nit__MMethod
);
8949 ((void (*)(val
* self
, val
* p0
))(var166
->class->vft
[COLOR_nit__model__MProperty__intro_mclassdef_61d
]))(var166
, var_mclassdef
) /* intro_mclassdef= on <var166:MMethod>*/;
8952 ((void (*)(val
* self
, val
* p0
))(var166
->class->vft
[COLOR_nit__model__MProperty__name_61d
]))(var166
, var_name
) /* name= on <var166:MMethod>*/;
8955 ((void (*)(val
* self
, val
* p0
))(var166
->class->vft
[COLOR_nit__model__MProperty__visibility_61d
]))(var166
, var_mvisibility
) /* visibility= on <var166:MMethod>*/;
8958 ((void (*)(val
* self
))(var166
->class->vft
[COLOR_standard__kernel__Object__init
]))(var166
) /* init on <var166:MMethod>*/;
8961 var_168
= var_look_like_a_root_init
;
8962 if (var_look_like_a_root_init
){
8964 { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
8965 var171
= var_modelbuilder
->attrs
[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod
].val
; /* _the_root_init_mmethod on <var_modelbuilder:ModelBuilder> */
8967 RET_LABEL170
:(void)0;
8971 if (var169
== NULL
) {
8972 var173
= 1; /* is null */
8974 var173
= 0; /* arg is null but recv is not */
8977 { /* Inline kernel#Object#== (var169,var172) on <var169:nullable MMethod> */
8978 var_other26
= var172
;
8980 { /* Inline kernel#Object#is_same_instance (var169,var_other26) on <var169:nullable MMethod(MMethod)> */
8981 var178
= var169
== var_other26
;
8984 RET_LABEL177
:(void)0;
8989 RET_LABEL175
:(void)0;
8999 { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod= (var_modelbuilder,var_mprop) on <var_modelbuilder:ModelBuilder> */
9000 var_modelbuilder
->attrs
[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod
].val
= var_mprop
; /* _the_root_init_mmethod on <var_modelbuilder:ModelBuilder> */
9001 RET_LABEL179
:(void)0;
9006 { /* Inline model#MMethod#is_root_init= (var_mprop,var180) on <var_mprop:nullable MMethod(MMethod)> */
9007 var_mprop
->attrs
[COLOR_nit__model__MMethod___is_root_init
].s
= var180
; /* _is_root_init on <var_mprop:nullable MMethod(MMethod)> */
9008 RET_LABEL181
:(void)0;
9014 { /* Inline model#MMethod#is_init= (var_mprop,var_is_init) on <var_mprop:nullable MMethod(MMethod)> */
9015 var_mprop
->attrs
[COLOR_nit__model__MMethod___is_init
].s
= var_is_init
; /* _is_init on <var_mprop:nullable MMethod(MMethod)> */
9016 RET_LABEL182
:(void)0;
9020 if (var_n_kwnew
== NULL
) {
9021 var184
= 0; /* is null */
9023 var184
= 1; /* arg is null and recv is not */
9026 { /* Inline kernel#Object#!= (var_n_kwnew,var183) on <var_n_kwnew:nullable TKwnew> */
9029 var187
= ((short int (*)(val
* self
, val
* p0
))(var_n_kwnew
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_n_kwnew
, var_other
) /* == on <var_n_kwnew:nullable TKwnew(TKwnew)>*/;
9034 RET_LABEL186
:(void)0;
9039 { /* Inline model#MMethod#is_new= (var_mprop,var184) on <var_mprop:nullable MMethod(MMethod)> */
9040 var_mprop
->attrs
[COLOR_nit__model__MMethod___is_new
].s
= var184
; /* _is_new on <var_mprop:nullable MMethod(MMethod)> */
9041 RET_LABEL189
:(void)0;
9045 { /* Inline parser_nodes#ANode#parent (self) on <self:AMethPropdef> */
9046 var192
= self
->attrs
[COLOR_nit__parser_nodes__ANode___parent
].val
; /* _parent on <self:AMethPropdef> */
9048 RET_LABEL191
:(void)0;
9051 /* <var190:nullable ANode> isa ATopClassdef */
9052 cltype194
= type_nit__ATopClassdef
.color
;
9053 idtype195
= type_nit__ATopClassdef
.id
;
9054 if(var190
== NULL
) {
9057 if(cltype194
>= var190
->type
->table_size
) {
9060 var193
= var190
->type
->type_table
[cltype194
] == idtype195
;
9066 { /* Inline model#MMethod#is_toplevel= (var_mprop,var196) on <var_mprop:nullable MMethod(MMethod)> */
9067 var_mprop
->attrs
[COLOR_nit__model__MMethod___is_toplevel
].s
= var196
; /* _is_toplevel on <var_mprop:nullable MMethod(MMethod)> */
9068 RET_LABEL197
:(void)0;
9074 { /* Inline parser_nodes#ADefinition#n_kwredef (self) on <self:AMethPropdef> */
9075 var200
= self
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_kwredef
].val
; /* _n_kwredef on <self:AMethPropdef> */
9077 RET_LABEL199
:(void)0;
9082 var202
= nit__modelize_property___APropdef___check_redef_keyword(self
, var_modelbuilder
, var_mclassdef
, var198
, var201
, var_mprop
);
9086 { /* Inline parser_nodes#ADefinition#n_kwredef (self) on <self:AMethPropdef> */
9087 var205
= self
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_kwredef
].val
; /* _n_kwredef on <self:AMethPropdef> */
9089 RET_LABEL204
:(void)0;
9092 /* <self:AMethPropdef> isa AMainMethPropdef */
9093 cltype207
= type_nit__AMainMethPropdef
.color
;
9094 idtype208
= type_nit__AMainMethPropdef
.id
;
9095 if(cltype207
>= self
->type
->table_size
) {
9098 var206
= self
->type
->type_table
[cltype207
] == idtype208
;
9102 var210
= nit__modelize_property___APropdef___check_redef_keyword(self
, var_modelbuilder
, var_mclassdef
, var203
, var209
, var_mprop
);
9110 { /* Inline parser_nodes#ADefinition#n_visibility (self) on <self:AMethPropdef> */
9111 var214
= self
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_visibility
].val
; /* _n_visibility on <self:AMethPropdef> */
9113 RET_LABEL213
:(void)0;
9117 nit__modelize_property___APropdef___check_redef_property_visibility(self
, var_modelbuilder
, var212
, var_mprop
); /* Direct call modelize_property#APropdef#check_redef_property_visibility on <self:AMethPropdef>*/
9122 { /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on <var_mclassdef:MClassDef> */
9123 var217
= var_mclassdef
->attrs
[COLOR_nit__modelize_property__MClassDef___mprop2npropdef
].val
; /* _mprop2npropdef on <var_mclassdef:MClassDef> */
9124 if (unlikely(var217
== NULL
)) {
9125 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
9126 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 352);
9130 RET_LABEL216
:(void)0;
9135 var219
= ((val
* (*)(val
* self
))(var_218
->class->vft
[COLOR_standard__abstract_collection__MapRead__iterator
]))(var_218
) /* iterator on <var_218:Map[MProperty, APropdef]>*/;
9140 var221
= ((short int (*)(val
* self
))(var_220
->class->vft
[COLOR_standard__abstract_collection__MapIterator__is_ok
]))(var_220
) /* is_ok on <var_220:MapIterator[MProperty, APropdef]>*/;
9144 var222
= ((val
* (*)(val
* self
))(var_220
->class->vft
[COLOR_standard__abstract_collection__MapIterator__key
]))(var_220
) /* key on <var_220:MapIterator[MProperty, APropdef]>*/;
9148 var223
= ((val
* (*)(val
* self
))(var_220
->class->vft
[COLOR_standard__abstract_collection__MapIterator__item
]))(var_220
) /* item on <var_220:MapIterator[MProperty, APropdef]>*/;
9152 { /* Inline kernel#Object#!= (var_p,var_mprop) on <var_p:MProperty> */
9153 var_other
= var_mprop
;
9155 var228
= ((short int (*)(val
* self
, val
* p0
))(var_p
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_p
, var_other
) /* == on <var_p:MProperty>*/;
9160 RET_LABEL227
:(void)0;
9165 /* <var_p:MProperty> isa MMethod */
9166 cltype232
= type_nit__MMethod
.color
;
9167 idtype233
= type_nit__MMethod
.id
;
9168 if(cltype232
>= var_p
->type
->table_size
) {
9171 var231
= var_p
->type
->type_table
[cltype232
] == idtype233
;
9180 { /* Inline model#MProperty#name (var_p) on <var_p:MProperty(MMethod)> */
9181 var237
= var_p
->attrs
[COLOR_nit__model__MProperty___name
].val
; /* _name on <var_p:MProperty(MMethod)> */
9182 if (unlikely(var237
== NULL
)) {
9183 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
9184 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1741);
9188 RET_LABEL236
:(void)0;
9192 var238
= ((short int (*)(val
* self
, val
* p0
))(var235
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var235
, var_name
) /* == on <var235:String>*/;
9200 { /* Inline parser_nodes#ADefinition#n_kwredef (self) on <self:AMethPropdef> */
9201 var241
= self
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_kwredef
].val
; /* _n_kwredef on <self:AMethPropdef> */
9203 RET_LABEL240
:(void)0;
9208 var243
= nit__modelize_property___APropdef___check_redef_keyword(self
, var_modelbuilder
, var_mclassdef
, var239
, var242
, var_p
);
9214 ((void (*)(val
* self
))(var_220
->class->vft
[COLOR_standard__abstract_collection__MapIterator__next
]))(var_220
) /* next on <var_220:MapIterator[MProperty, APropdef]>*/;
9220 BREAK_label
: (void)0;
9222 { /* Inline abstract_collection#MapIterator#finish (var_220) on <var_220:MapIterator[MProperty, APropdef]> */
9223 RET_LABEL244
:(void)0;
9229 { /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on <var_mclassdef:MClassDef> */
9230 var247
= var_mclassdef
->attrs
[COLOR_nit__modelize_property__MClassDef___mprop2npropdef
].val
; /* _mprop2npropdef on <var_mclassdef:MClassDef> */
9231 if (unlikely(var247
== NULL
)) {
9232 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
9233 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 352);
9237 RET_LABEL246
:(void)0;
9241 ((void (*)(val
* self
, val
* p0
, val
* p1
))(var245
->class->vft
[COLOR_standard__abstract_collection__Map___91d_93d_61d
]))(var245
, var_mprop
, self
) /* []= on <var245:Map[MProperty, APropdef]>*/;
9243 var248
= NEW_nit__MMethodDef(&type_nit__MMethodDef
);
9245 { /* Inline parser_nodes#ANode#location (self) on <self:AMethPropdef> */
9246 var251
= self
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <self:AMethPropdef> */
9247 if (unlikely(var251
== NULL
)) {
9248 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
9249 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 23);
9253 RET_LABEL250
:(void)0;
9257 ((void (*)(val
* self
, val
* p0
))(var248
->class->vft
[COLOR_nit__model__MPropDef__mclassdef_61d
]))(var248
, var_mclassdef
) /* mclassdef= on <var248:MMethodDef>*/;
9260 ((void (*)(val
* self
, val
* p0
))(var248
->class->vft
[COLOR_nit__model__MPropDef__mproperty_61d
]))(var248
, var_mprop
) /* mproperty= on <var248:MMethodDef>*/;
9263 ((void (*)(val
* self
, val
* p0
))(var248
->class->vft
[COLOR_nit__model__MPropDef__location_61d
]))(var248
, var249
) /* location= on <var248:MMethodDef>*/;
9266 ((void (*)(val
* self
))(var248
->class->vft
[COLOR_standard__kernel__Object__init
]))(var248
) /* init on <var248:MMethodDef>*/;
9268 var_mpropdef
= var248
;
9270 nit__modelize_property___APropdef___set_doc(self
, var_mpropdef
, var_modelbuilder
); /* Direct call modelize_property#APropdef#set_doc on <self:AMethPropdef>*/
9272 /* <var_mpropdef:MMethodDef> isa nullable MPROPDEF */
9273 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable__nit__modelize_property__APropdef__MPROPDEF
];
9274 cltype253
= type_struct
->color
;
9275 idtype254
= type_struct
->id
;
9276 if(cltype253
>= var_mpropdef
->type
->table_size
) {
9279 var252
= var_mpropdef
->type
->type_table
[cltype253
] == idtype254
;
9281 if (unlikely(!var252
)) {
9282 var_class_name255
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
9283 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name255
);
9284 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 697);
9288 { /* Inline modelize_property#APropdef#mpropdef= (self,var_mpropdef) on <self:AMethPropdef> */
9289 /* Covariant cast for argument 0 (mpropdef) <var_mpropdef:MMethodDef> isa nullable MPROPDEF */
9290 /* <var_mpropdef:MMethodDef> isa nullable MPROPDEF */
9291 type_struct260
= self
->type
->resolution_table
->types
[COLOR_nullable__nit__modelize_property__APropdef__MPROPDEF
];
9292 cltype258
= type_struct260
->color
;
9293 idtype259
= type_struct260
->id
;
9294 if(cltype258
>= var_mpropdef
->type
->table_size
) {
9297 var257
= var_mpropdef
->type
->type_table
[cltype258
] == idtype259
;
9299 if (unlikely(!var257
)) {
9300 var_class_name261
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
9301 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name261
);
9302 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 405);
9305 self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
= var_mpropdef
; /* _mpropdef on <self:AMethPropdef> */
9306 RET_LABEL256
:(void)0;
9310 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
9311 var264
= var_modelbuilder
->attrs
[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
9312 if (unlikely(var264
== NULL
)) {
9313 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
9314 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 40);
9318 RET_LABEL263
:(void)0;
9322 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var262
, var_mpropdef
, self
); /* Direct call hash_collection#HashMap#[]= on <var262:HashMap[MPropDef, APropdef]>*/
9325 var265
= nit___nit__MPropDef___is_intro(var_mpropdef
);
9329 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
9330 var268
= var_modelbuilder
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
9331 if (unlikely(var268
== NULL
)) {
9332 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
9333 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
9337 RET_LABEL267
:(void)0;
9341 var270
= varonce269
;
9343 var271
= " introduces new method ";
9345 var273
= standard___standard__NativeString___to_s_with_length(var271
, var272
);
9347 varonce269
= var270
;
9350 var274
= nit___nit__MProperty___nit__model_base__MEntity__full_name(var_mprop
);
9352 var275
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9353 { /* var275 = array_instance Array[Object] */
9355 var277
= NEW_standard__NativeArray(var276
, &type_standard__NativeArray__standard__Object
);
9356 ((struct instance_standard__NativeArray
*)var277
)->values
[0] = (val
*) var_mpropdef
;
9357 ((struct instance_standard__NativeArray
*)var277
)->values
[1] = (val
*) var270
;
9358 ((struct instance_standard__NativeArray
*)var277
)->values
[2] = (val
*) var274
;
9360 ((void (*)(val
* self
, val
* p0
, long p1
))(var275
->class->vft
[COLOR_standard__array__Array__with_native
]))(var275
, var277
, var276
) /* with_native on <var275:Array[Object]>*/;
9364 var278
= ((val
* (*)(val
* self
))(var275
->class->vft
[COLOR_standard__string__Object__to_s
]))(var275
) /* to_s on <var275:Array[Object]>*/;
9368 nit___nit__ToolContext___info(var266
, var278
, var279
); /* Direct call toolcontext#ToolContext#info on <var266:ToolContext>*/
9372 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
9373 var282
= var_modelbuilder
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
9374 if (unlikely(var282
== NULL
)) {
9375 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
9376 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
9380 RET_LABEL281
:(void)0;
9384 var284
= varonce283
;
9386 var285
= " redefines method ";
9388 var287
= standard___standard__NativeString___to_s_with_length(var285
, var286
);
9390 varonce283
= var284
;
9393 var288
= nit___nit__MProperty___nit__model_base__MEntity__full_name(var_mprop
);
9395 var289
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9396 { /* var289 = array_instance Array[Object] */
9398 var291
= NEW_standard__NativeArray(var290
, &type_standard__NativeArray__standard__Object
);
9399 ((struct instance_standard__NativeArray
*)var291
)->values
[0] = (val
*) var_mpropdef
;
9400 ((struct instance_standard__NativeArray
*)var291
)->values
[1] = (val
*) var284
;
9401 ((struct instance_standard__NativeArray
*)var291
)->values
[2] = (val
*) var288
;
9403 ((void (*)(val
* self
, val
* p0
, long p1
))(var289
->class->vft
[COLOR_standard__array__Array__with_native
]))(var289
, var291
, var290
) /* with_native on <var289:Array[Object]>*/;
9407 var292
= ((val
* (*)(val
* self
))(var289
->class->vft
[COLOR_standard__string__Object__to_s
]))(var289
) /* to_s on <var289:Array[Object]>*/;
9411 nit___nit__ToolContext___info(var280
, var292
, var293
); /* Direct call toolcontext#ToolContext#info on <var280:ToolContext>*/