1 #include "modelize_property.sep.0.h"
2 /* method modelize_property#ToolContext#modelize_property_phase for (self: ToolContext): Phase */
3 val
* modelize_property__ToolContext__modelize_property_phase(val
* self
) {
4 val
* var
/* : Phase */;
5 val
* var1
/* : Phase */;
6 var1
= self
->attrs
[COLOR_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", "modelize/modelize_property.nit", 24);
16 /* method modelize_property#ToolContext#modelize_property_phase for (self: Object): Phase */
17 val
* VIRTUAL_modelize_property__ToolContext__modelize_property_phase(val
* self
) {
18 val
* var
/* : Phase */;
19 val
* var1
/* : Phase */;
20 val
* var3
/* : Phase */;
21 { /* Inline modelize_property#ToolContext#modelize_property_phase (self) on <self:Object(ToolContext)> */
22 var3
= self
->attrs
[COLOR_modelize_property__ToolContext___modelize_property_phase
].val
; /* _modelize_property_phase on <self:Object(ToolContext)> */
23 if (unlikely(var3
== NULL
)) {
24 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelize_property_phase");
25 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 24);
35 /* method modelize_property#ModelizePropertyPhase#process_nmodule for (self: ModelizePropertyPhase, AModule) */
36 void modelize_property__ModelizePropertyPhase__process_nmodule(val
* self
, val
* p0
) {
37 val
* var_nmodule
/* var nmodule: AModule */;
38 val
* var
/* : ANodes[AClassdef] */;
39 val
* var2
/* : ANodes[AClassdef] */;
40 val
* var_
/* var : ANodes[AClassdef] */;
41 val
* var3
/* : Iterator[ANode] */;
42 val
* var_4
/* var : Iterator[AClassdef] */;
43 short int var5
/* : Bool */;
44 val
* var6
/* : nullable Object */;
45 val
* var_nclassdef
/* var nclassdef: AClassdef */;
46 val
* var7
/* : nullable Array[AClassdef] */;
47 val
* var9
/* : nullable Array[AClassdef] */;
48 val
* var10
/* : null */;
49 short int var11
/* : Bool */;
50 short int var12
/* : Bool */;
51 val
* var13
/* : ToolContext */;
52 val
* var15
/* : ToolContext */;
53 val
* var16
/* : ModelBuilder */;
56 { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on <var_nmodule:AModule> */
57 var2
= var_nmodule
->attrs
[COLOR_parser_nodes__AModule___n_classdefs
].val
; /* _n_classdefs on <var_nmodule:AModule> */
58 if (unlikely(var2
== NULL
)) {
59 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs");
60 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 859);
69 var3
= parser_nodes__ANodes__iterator(var_
);
74 var5
= ((short int (*)(val
*))(var_4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_4
) /* is_ok on <var_4:Iterator[AClassdef]>*/;
78 var6
= ((val
* (*)(val
*))(var_4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_4
) /* item on <var_4:Iterator[AClassdef]>*/;
82 { /* Inline modelize_class#AClassdef#all_defs (var_nclassdef) on <var_nclassdef:AClassdef> */
83 var9
= var_nclassdef
->attrs
[COLOR_modelize_class__AClassdef___all_defs
].val
; /* _all_defs on <var_nclassdef:AClassdef> */
90 var11
= 1; /* is null */
92 var11
= 0; /* arg is null but recv is not */
95 var12
= array__Array___61d_61d(var7
, var10
);
103 { /* Inline phase#Phase#toolcontext (self) on <self:ModelizePropertyPhase> */
104 var15
= self
->attrs
[COLOR_phase__Phase___toolcontext
].val
; /* _toolcontext on <self:ModelizePropertyPhase> */
105 if (unlikely(var15
== NULL
)) {
106 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
107 PRINT_ERROR(" (%s:%d)\n", "phase.nit", 162);
115 var16
= modelbuilder__ToolContext__modelbuilder(var13
);
118 modelize_property__ModelBuilder__build_properties(var16
, var_nclassdef
); /* Direct call modelize_property#ModelBuilder#build_properties on <var16:ModelBuilder>*/
120 BREAK_label
: (void)0;
122 ((void (*)(val
*))(var_4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_4
) /* next on <var_4:Iterator[AClassdef]>*/;
128 BREAK_label17
: (void)0;
130 { /* Inline abstract_collection#Iterator#finish (var_4) on <var_4:Iterator[AClassdef]> */
136 /* method modelize_property#ModelizePropertyPhase#process_nmodule for (self: Object, AModule) */
137 void VIRTUAL_modelize_property__ModelizePropertyPhase__process_nmodule(val
* self
, val
* p0
) {
138 modelize_property__ModelizePropertyPhase__process_nmodule(self
, p0
); /* Direct call modelize_property#ModelizePropertyPhase#process_nmodule on <self:Object(ModelizePropertyPhase)>*/
141 /* method modelize_property#ModelBuilder#mpropdef2npropdef for (self: ModelBuilder): HashMap[MPropDef, APropdef] */
142 val
* modelize_property__ModelBuilder__mpropdef2npropdef(val
* self
) {
143 val
* var
/* : HashMap[MPropDef, APropdef] */;
144 val
* var1
/* : HashMap[MPropDef, APropdef] */;
145 var1
= self
->attrs
[COLOR_modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <self:ModelBuilder> */
146 if (unlikely(var1
== NULL
)) {
147 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
148 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 39);
155 /* method modelize_property#ModelBuilder#mpropdef2npropdef for (self: Object): HashMap[MPropDef, APropdef] */
156 val
* VIRTUAL_modelize_property__ModelBuilder__mpropdef2npropdef(val
* self
) {
157 val
* var
/* : HashMap[MPropDef, APropdef] */;
158 val
* var1
/* : HashMap[MPropDef, APropdef] */;
159 val
* var3
/* : HashMap[MPropDef, APropdef] */;
160 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (self) on <self:Object(ModelBuilder)> */
161 var3
= self
->attrs
[COLOR_modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <self:Object(ModelBuilder)> */
162 if (unlikely(var3
== NULL
)) {
163 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
164 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 39);
174 /* method modelize_property#ModelBuilder#build_properties for (self: ModelBuilder, AClassdef) */
175 void modelize_property__ModelBuilder__build_properties(val
* self
, val
* p0
) {
176 val
* var_nclassdef
/* var nclassdef: AClassdef */;
177 short int var
/* : Bool */;
178 short int var2
/* : Bool */;
179 short int var3
/* : Bool */;
180 val
* var5
/* : nullable MClassDef */;
181 val
* var7
/* : nullable MClassDef */;
182 val
* var_mclassdef
/* var mclassdef: MClassDef */;
183 val
* var8
/* : nullable POSetElement[MClassDef] */;
184 val
* var10
/* : nullable POSetElement[MClassDef] */;
185 val
* var11
/* : null */;
186 short int var12
/* : Bool */;
187 short int var13
/* : Bool */;
188 val
* var_other
/* var other: nullable Object */;
189 short int var15
/* : Bool */;
190 short int var17
/* : Bool */;
191 val
* var18
/* : nullable POSetElement[MClassDef] */;
192 val
* var20
/* : nullable POSetElement[MClassDef] */;
193 val
* var21
/* : Collection[Object] */;
194 val
* var_
/* var : Collection[MClassDef] */;
195 val
* var22
/* : Iterator[nullable Object] */;
196 val
* var_23
/* var : Iterator[MClassDef] */;
197 short int var24
/* : Bool */;
198 val
* var25
/* : nullable Object */;
199 val
* var_superclassdef
/* var superclassdef: MClassDef */;
200 val
* var26
/* : HashMap[MClassDef, AClassdef] */;
201 val
* var28
/* : HashMap[MClassDef, AClassdef] */;
202 short int var29
/* : Bool */;
203 short int var30
/* : Bool */;
204 val
* var31
/* : HashMap[MClassDef, AClassdef] */;
205 val
* var33
/* : HashMap[MClassDef, AClassdef] */;
206 val
* var34
/* : nullable Object */;
207 val
* var37
/* : nullable Array[AClassdef] */;
208 val
* var39
/* : nullable Array[AClassdef] */;
209 val
* var_40
/* var : nullable Array[AClassdef] */;
210 val
* var41
/* : ArrayIterator[nullable Object] */;
211 val
* var_42
/* var : ArrayIterator[AClassdef] */;
212 short int var43
/* : Bool */;
213 val
* var44
/* : nullable Object */;
214 val
* var_nclassdef2
/* var nclassdef2: AClassdef */;
215 val
* var45
/* : ANodes[APropdef] */;
216 val
* var47
/* : ANodes[APropdef] */;
217 val
* var_48
/* var : ANodes[APropdef] */;
218 val
* var49
/* : Iterator[ANode] */;
219 val
* var_50
/* var : Iterator[APropdef] */;
220 short int var51
/* : Bool */;
221 val
* var52
/* : nullable Object */;
222 val
* var_npropdef
/* var npropdef: APropdef */;
223 val
* var55
/* : ANodes[APropdef] */;
224 val
* var57
/* : ANodes[APropdef] */;
225 val
* var_58
/* var : ANodes[APropdef] */;
226 val
* var59
/* : Iterator[ANode] */;
227 val
* var_60
/* var : Iterator[APropdef] */;
228 short int var61
/* : Bool */;
229 val
* var62
/* : nullable Object */;
230 val
* var_npropdef63
/* var npropdef: APropdef */;
231 val
* var66
/* : ANodes[APropdef] */;
232 val
* var68
/* : ANodes[APropdef] */;
233 val
* var_69
/* var : ANodes[APropdef] */;
234 val
* var70
/* : Iterator[ANode] */;
235 val
* var_71
/* var : Iterator[APropdef] */;
236 short int var72
/* : Bool */;
237 val
* var73
/* : nullable Object */;
238 val
* var_npropdef74
/* var npropdef: APropdef */;
241 { /* Inline modelize_property#AClassdef#build_properties_is_done (var_nclassdef) on <var_nclassdef:AClassdef> */
242 var2
= var_nclassdef
->attrs
[COLOR_modelize_property__AClassdef___build_properties_is_done
].s
; /* _build_properties_is_done on <var_nclassdef:AClassdef> */
253 { /* Inline modelize_property#AClassdef#build_properties_is_done= (var_nclassdef,var3) on <var_nclassdef:AClassdef> */
254 var_nclassdef
->attrs
[COLOR_modelize_property__AClassdef___build_properties_is_done
].s
= var3
; /* _build_properties_is_done on <var_nclassdef:AClassdef> */
259 { /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef) on <var_nclassdef:AClassdef> */
260 var7
= var_nclassdef
->attrs
[COLOR_modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_nclassdef:AClassdef> */
265 if (unlikely(var5
== NULL
)) {
266 PRINT_ERROR("Runtime error: %s", "Cast failed");
267 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 50);
270 var_mclassdef
= var5
;
272 { /* Inline model#MClassDef#in_hierarchy (var_mclassdef) on <var_mclassdef:MClassDef> */
273 var10
= var_mclassdef
->attrs
[COLOR_model__MClassDef___in_hierarchy
].val
; /* _in_hierarchy on <var_mclassdef:MClassDef> */
280 var12
= 1; /* is null */
282 var12
= 0; /* arg is null but recv is not */
285 { /* Inline kernel#Object#== (var8,var11) on <var8:nullable POSetElement[MClassDef]> */
288 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:nullable POSetElement[MClassDef](POSetElement[MClassDef])> */
289 var17
= var8
== var_other
;
306 { /* Inline model#MClassDef#in_hierarchy (var_mclassdef) on <var_mclassdef:MClassDef> */
307 var20
= var_mclassdef
->attrs
[COLOR_model__MClassDef___in_hierarchy
].val
; /* _in_hierarchy on <var_mclassdef:MClassDef> */
313 PRINT_ERROR("Runtime error: %s", "Receiver is null");
314 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 52);
317 var21
= poset__POSetElement__direct_greaters(var18
);
321 var22
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_
) /* iterator on <var_:Collection[MClassDef]>*/;
326 var24
= ((short int (*)(val
*))(var_23
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_23
) /* is_ok on <var_23:Iterator[MClassDef]>*/;
330 var25
= ((val
* (*)(val
*))(var_23
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_23
) /* item on <var_23:Iterator[MClassDef]>*/;
332 var_superclassdef
= var25
;
334 { /* Inline modelize_class#ModelBuilder#mclassdef2nclassdef (self) on <self:ModelBuilder> */
335 var28
= self
->attrs
[COLOR_modelize_class__ModelBuilder___mclassdef2nclassdef
].val
; /* _mclassdef2nclassdef on <self:ModelBuilder> */
336 if (unlikely(var28
== NULL
)) {
337 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef2nclassdef");
338 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_class.nit", 410);
346 var29
= abstract_collection__MapRead__has_key(var26
, var_superclassdef
);
354 { /* Inline modelize_class#ModelBuilder#mclassdef2nclassdef (self) on <self:ModelBuilder> */
355 var33
= self
->attrs
[COLOR_modelize_class__ModelBuilder___mclassdef2nclassdef
].val
; /* _mclassdef2nclassdef on <self:ModelBuilder> */
356 if (unlikely(var33
== NULL
)) {
357 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef2nclassdef");
358 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_class.nit", 410);
366 var34
= hash_collection__HashMap___91d_93d(var31
, var_superclassdef
);
369 modelize_property__ModelBuilder__build_properties(self
, var34
); /* Direct call modelize_property#ModelBuilder#build_properties on <self:ModelBuilder>*/
371 BREAK_label
: (void)0;
373 ((void (*)(val
*))(var_23
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_23
) /* next on <var_23:Iterator[MClassDef]>*/;
379 BREAK_label35
: (void)0;
381 { /* Inline abstract_collection#Iterator#finish (var_23) on <var_23:Iterator[MClassDef]> */
386 { /* Inline modelize_class#AClassdef#all_defs (var_nclassdef) on <var_nclassdef:AClassdef> */
387 var39
= var_nclassdef
->attrs
[COLOR_modelize_class__AClassdef___all_defs
].val
; /* _all_defs on <var_nclassdef:AClassdef> */
393 if (var_40
== NULL
) {
394 PRINT_ERROR("Runtime error: %s", "Receiver is null");
395 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 57);
398 var41
= array__AbstractArrayRead__iterator(var_40
);
403 var43
= array__ArrayIterator__is_ok(var_42
);
407 var44
= array__ArrayIterator__item(var_42
);
409 var_nclassdef2
= var44
;
411 { /* Inline parser_nodes#AClassdef#n_propdefs (var_nclassdef2) on <var_nclassdef2:AClassdef> */
412 var47
= var_nclassdef2
->attrs
[COLOR_parser_nodes__AClassdef___n_propdefs
].val
; /* _n_propdefs on <var_nclassdef2:AClassdef> */
413 if (unlikely(var47
== NULL
)) {
414 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs");
415 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 929);
424 var49
= parser_nodes__ANodes__iterator(var_48
);
429 var51
= ((short int (*)(val
*))(var_50
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_50
) /* is_ok on <var_50:Iterator[APropdef]>*/;
433 var52
= ((val
* (*)(val
*))(var_50
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_50
) /* item on <var_50:Iterator[APropdef]>*/;
435 var_npropdef
= var52
;
437 ((void (*)(val
*, val
*, val
*))(var_npropdef
->class->vft
[COLOR_modelize_property__APropdef__build_property
]))(var_npropdef
, self
, var_mclassdef
) /* build_property on <var_npropdef:APropdef>*/;
440 ((void (*)(val
*))(var_50
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_50
) /* next on <var_50:Iterator[APropdef]>*/;
446 BREAK_label53
: (void)0;
448 { /* Inline abstract_collection#Iterator#finish (var_50) on <var_50:Iterator[APropdef]> */
453 { /* Inline parser_nodes#AClassdef#n_propdefs (var_nclassdef2) on <var_nclassdef2:AClassdef> */
454 var57
= var_nclassdef2
->attrs
[COLOR_parser_nodes__AClassdef___n_propdefs
].val
; /* _n_propdefs on <var_nclassdef2:AClassdef> */
455 if (unlikely(var57
== NULL
)) {
456 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs");
457 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 929);
466 var59
= parser_nodes__ANodes__iterator(var_58
);
471 var61
= ((short int (*)(val
*))(var_60
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_60
) /* is_ok on <var_60:Iterator[APropdef]>*/;
475 var62
= ((val
* (*)(val
*))(var_60
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_60
) /* item on <var_60:Iterator[APropdef]>*/;
477 var_npropdef63
= var62
;
479 ((void (*)(val
*, val
*))(var_npropdef63
->class->vft
[COLOR_modelize_property__APropdef__build_signature
]))(var_npropdef63
, self
) /* build_signature on <var_npropdef63:APropdef>*/;
482 ((void (*)(val
*))(var_60
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_60
) /* next on <var_60:Iterator[APropdef]>*/;
488 BREAK_label64
: (void)0;
490 { /* Inline abstract_collection#Iterator#finish (var_60) on <var_60:Iterator[APropdef]> */
495 { /* Inline parser_nodes#AClassdef#n_propdefs (var_nclassdef2) on <var_nclassdef2:AClassdef> */
496 var68
= var_nclassdef2
->attrs
[COLOR_parser_nodes__AClassdef___n_propdefs
].val
; /* _n_propdefs on <var_nclassdef2:AClassdef> */
497 if (unlikely(var68
== NULL
)) {
498 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs");
499 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 929);
508 var70
= parser_nodes__ANodes__iterator(var_69
);
513 var72
= ((short int (*)(val
*))(var_71
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_71
) /* is_ok on <var_71:Iterator[APropdef]>*/;
517 var73
= ((val
* (*)(val
*))(var_71
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_71
) /* item on <var_71:Iterator[APropdef]>*/;
519 var_npropdef74
= var73
;
521 ((void (*)(val
*, val
*))(var_npropdef74
->class->vft
[COLOR_modelize_property__APropdef__check_signature
]))(var_npropdef74
, self
) /* check_signature on <var_npropdef74:APropdef>*/;
524 ((void (*)(val
*))(var_71
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_71
) /* next on <var_71:Iterator[APropdef]>*/;
530 BREAK_label75
: (void)0;
532 { /* Inline abstract_collection#Iterator#finish (var_71) on <var_71:Iterator[APropdef]> */
537 array__ArrayIterator__next(var_42
); /* Direct call array#ArrayIterator#next on <var_42:ArrayIterator[AClassdef]>*/
543 BREAK_label77
: (void)0;
545 { /* Inline abstract_collection#Iterator#finish (var_42) on <var_42:ArrayIterator[AClassdef]> */
550 modelize_property__ModelBuilder__process_default_constructors(self
, var_nclassdef
); /* Direct call modelize_property#ModelBuilder#process_default_constructors on <self:ModelBuilder>*/
554 /* method modelize_property#ModelBuilder#build_properties for (self: Object, AClassdef) */
555 void VIRTUAL_modelize_property__ModelBuilder__build_properties(val
* self
, val
* p0
) {
556 modelize_property__ModelBuilder__build_properties(self
, p0
); /* Direct call modelize_property#ModelBuilder#build_properties on <self:Object(ModelBuilder)>*/
559 /* method modelize_property#ModelBuilder#the_root_init_mmethod for (self: ModelBuilder): nullable MMethod */
560 val
* modelize_property__ModelBuilder__the_root_init_mmethod(val
* self
) {
561 val
* var
/* : nullable MMethod */;
562 val
* var1
/* : nullable MMethod */;
563 var1
= self
->attrs
[COLOR_modelize_property__ModelBuilder___the_root_init_mmethod
].val
; /* _the_root_init_mmethod on <self:ModelBuilder> */
568 /* method modelize_property#ModelBuilder#the_root_init_mmethod for (self: Object): nullable MMethod */
569 val
* VIRTUAL_modelize_property__ModelBuilder__the_root_init_mmethod(val
* self
) {
570 val
* var
/* : nullable MMethod */;
571 val
* var1
/* : nullable MMethod */;
572 val
* var3
/* : nullable MMethod */;
573 { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (self) on <self:Object(ModelBuilder)> */
574 var3
= self
->attrs
[COLOR_modelize_property__ModelBuilder___the_root_init_mmethod
].val
; /* _the_root_init_mmethod on <self:Object(ModelBuilder)> */
582 /* method modelize_property#ModelBuilder#the_root_init_mmethod= for (self: ModelBuilder, nullable MMethod) */
583 void modelize_property__ModelBuilder__the_root_init_mmethod_61d(val
* self
, val
* p0
) {
584 self
->attrs
[COLOR_modelize_property__ModelBuilder___the_root_init_mmethod
].val
= p0
; /* _the_root_init_mmethod on <self:ModelBuilder> */
587 /* method modelize_property#ModelBuilder#the_root_init_mmethod= for (self: Object, nullable MMethod) */
588 void VIRTUAL_modelize_property__ModelBuilder__the_root_init_mmethod_61d(val
* self
, val
* p0
) {
589 { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod= (self,p0) on <self:Object(ModelBuilder)> */
590 self
->attrs
[COLOR_modelize_property__ModelBuilder___the_root_init_mmethod
].val
= p0
; /* _the_root_init_mmethod on <self:Object(ModelBuilder)> */
595 /* method modelize_property#ModelBuilder#process_default_constructors for (self: ModelBuilder, AClassdef) */
596 void modelize_property__ModelBuilder__process_default_constructors(val
* self
, val
* p0
) {
597 val
* var_nclassdef
/* var nclassdef: AClassdef */;
598 val
* var
/* : nullable MClassDef */;
599 val
* var2
/* : nullable MClassDef */;
600 val
* var_mclassdef
/* var mclassdef: MClassDef */;
601 short int var3
/* : Bool */;
602 short int var4
/* : Bool */;
603 short int var5
/* : Bool */;
604 val
* var6
/* : MClass */;
605 val
* var8
/* : MClass */;
606 val
* var9
/* : String */;
607 val
* var11
/* : String */;
609 val
* var12
/* : String */;
610 char* var13
/* : NativeString */;
611 long var14
/* : Int */;
612 val
* var15
/* : FlatString */;
613 short int var16
/* : Bool */;
614 short int var17
/* : Bool */;
615 short int var_
/* var : Bool */;
616 val
* var18
/* : nullable MMethod */;
617 val
* var20
/* : nullable MMethod */;
618 val
* var21
/* : null */;
619 short int var22
/* : Bool */;
620 short int var23
/* : Bool */;
621 val
* var_other
/* var other: nullable Object */;
622 short int var25
/* : Bool */;
623 short int var27
/* : Bool */;
624 val
* var28
/* : MMethod */;
625 static val
* varonce29
;
626 val
* var30
/* : String */;
627 char* var31
/* : NativeString */;
628 long var32
/* : Int */;
629 val
* var33
/* : FlatString */;
630 val
* var34
/* : MClass */;
631 val
* var36
/* : MClass */;
632 val
* var37
/* : MVisibility */;
633 val
* var39
/* : MVisibility */;
634 val
* var_mprop
/* var mprop: MMethod */;
635 short int var40
/* : Bool */;
636 val
* var42
/* : MMethodDef */;
637 val
* var43
/* : Location */;
638 val
* var45
/* : Location */;
639 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
640 val
* var46
/* : Array[MParameter] */;
641 val
* var_mparameters
/* var mparameters: Array[MParameter] */;
642 val
* var47
/* : MSignature */;
643 val
* var48
/* : null */;
644 val
* var_msignature
/* var msignature: MSignature */;
645 short int var51
/* : Bool */;
646 val
* var54
/* : ToolContext */;
647 val
* var56
/* : ToolContext */;
648 static val
* varonce57
;
649 val
* var58
/* : String */;
650 char* var59
/* : NativeString */;
651 long var60
/* : Int */;
652 val
* var61
/* : FlatString */;
653 val
* var62
/* : Array[Object] */;
654 long var63
/* : Int */;
655 val
* var64
/* : NativeArray[Object] */;
656 val
* var65
/* : String */;
657 long var66
/* : Int */;
658 val
* var68
/* : MClass */;
659 val
* var70
/* : MClass */;
660 val
* var71
/* : MClassKind */;
661 val
* var73
/* : MClassKind */;
662 short int var74
/* : Bool */;
663 short int var76
/* : Bool */;
664 short int var77
/* : Bool */;
665 val
* var78
/* : null */;
666 val
* var_defined_init
/* var defined_init: nullable MMethodDef */;
667 val
* var79
/* : Array[MPropDef] */;
668 val
* var81
/* : Array[MPropDef] */;
669 val
* var_82
/* var : Array[MPropDef] */;
670 val
* var83
/* : ArrayIterator[nullable Object] */;
671 val
* var_84
/* var : ArrayIterator[MPropDef] */;
672 short int var85
/* : Bool */;
673 val
* var86
/* : nullable Object */;
674 val
* var_mpropdef87
/* var mpropdef: MPropDef */;
675 short int var88
/* : Bool */;
678 short int var89
/* : Bool */;
679 val
* var90
/* : MProperty */;
680 val
* var92
/* : MProperty */;
681 short int var93
/* : Bool */;
682 short int var95
/* : Bool */;
683 short int var96
/* : Bool */;
684 val
* var97
/* : MProperty */;
685 val
* var99
/* : MProperty */;
686 short int var100
/* : Bool */;
687 short int var102
/* : Bool */;
688 val
* var103
/* : null */;
689 short int var104
/* : Bool */;
690 short int var105
/* : Bool */;
691 short int var107
/* : Bool */;
692 short int var109
/* : Bool */;
693 val
* var110
/* : MProperty */;
694 val
* var112
/* : MProperty */;
695 val
* var113
/* : String */;
696 val
* var115
/* : String */;
697 static val
* varonce116
;
698 val
* var117
/* : String */;
699 char* var118
/* : NativeString */;
700 long var119
/* : Int */;
701 val
* var120
/* : FlatString */;
702 short int var121
/* : Bool */;
703 short int var122
/* : Bool */;
704 short int var125
/* : Bool */;
707 short int var128
/* : Bool */;
708 val
* var129
/* : Array[MParameter] */;
709 val
* var_mparameters130
/* var mparameters: Array[MParameter] */;
710 val
* var131
/* : Array[MProperty] */;
711 val
* var_initializers
/* var initializers: Array[MProperty] */;
712 val
* var132
/* : ANodes[APropdef] */;
713 val
* var134
/* : ANodes[APropdef] */;
714 val
* var_135
/* var : ANodes[APropdef] */;
715 val
* var136
/* : Iterator[ANode] */;
716 val
* var_137
/* var : Iterator[APropdef] */;
717 short int var138
/* : Bool */;
718 val
* var139
/* : nullable Object */;
719 val
* var_npropdef
/* var npropdef: APropdef */;
720 short int var140
/* : Bool */;
723 val
* var143
/* : nullable MPropDef */;
724 val
* var145
/* : nullable MPropDef */;
725 val
* var146
/* : null */;
726 short int var147
/* : Bool */;
727 short int var148
/* : Bool */;
728 short int var150
/* : Bool */;
729 short int var152
/* : Bool */;
730 static val
* varonce153
;
731 val
* var154
/* : String */;
732 char* var155
/* : NativeString */;
733 long var156
/* : Int */;
734 val
* var157
/* : FlatString */;
735 val
* var158
/* : nullable AAnnotation */;
736 val
* var_at
/* var at: nullable AAnnotation */;
737 val
* var159
/* : null */;
738 short int var160
/* : Bool */;
739 short int var161
/* : Bool */;
740 short int var163
/* : Bool */;
741 short int var165
/* : Bool */;
742 val
* var167
/* : nullable MPropDef */;
743 val
* var169
/* : nullable MPropDef */;
744 val
* var170
/* : nullable MSignature */;
745 val
* var172
/* : nullable MSignature */;
746 val
* var_sig
/* var sig: nullable MSignature */;
747 val
* var173
/* : null */;
748 short int var174
/* : Bool */;
749 short int var175
/* : Bool */;
750 short int var177
/* : Bool */;
751 short int var179
/* : Bool */;
752 val
* var180
/* : nullable MPropDef */;
753 val
* var182
/* : nullable MPropDef */;
754 short int var183
/* : Bool */;
755 short int var184
/* : Bool */;
756 static val
* varonce185
;
757 val
* var186
/* : String */;
758 char* var187
/* : NativeString */;
759 long var188
/* : Int */;
760 val
* var189
/* : FlatString */;
761 val
* var190
/* : Array[MParameter] */;
762 val
* var192
/* : Array[MParameter] */;
763 val
* var_193
/* var : Array[MParameter] */;
764 val
* var194
/* : ArrayIterator[nullable Object] */;
765 val
* var_195
/* var : ArrayIterator[MParameter] */;
766 short int var196
/* : Bool */;
767 val
* var197
/* : nullable Object */;
768 val
* var_param
/* var param: MParameter */;
769 val
* var198
/* : MType */;
770 val
* var200
/* : MType */;
771 val
* var_ret_type
/* var ret_type: MType */;
772 val
* var201
/* : MParameter */;
773 val
* var202
/* : String */;
774 val
* var204
/* : String */;
775 short int var205
/* : Bool */;
776 val
* var_mparameter
/* var mparameter: MParameter */;
777 val
* var208
/* : nullable MPropDef */;
778 val
* var210
/* : nullable MPropDef */;
779 val
* var211
/* : MProperty */;
780 val
* var213
/* : MProperty */;
781 short int var214
/* : Bool */;
784 val
* var217
/* : nullable MPropDef */;
785 val
* var219
/* : nullable MPropDef */;
786 val
* var220
/* : null */;
787 short int var221
/* : Bool */;
788 short int var222
/* : Bool */;
789 short int var224
/* : Bool */;
790 short int var226
/* : Bool */;
791 short int var227
/* : Bool */;
792 short int var229
/* : Bool */;
793 static val
* varonce230
;
794 val
* var231
/* : String */;
795 char* var232
/* : NativeString */;
796 long var233
/* : Int */;
797 val
* var234
/* : FlatString */;
798 val
* var235
/* : nullable AAnnotation */;
799 val
* var_atautoinit
/* var atautoinit: nullable AAnnotation */;
800 val
* var236
/* : null */;
801 short int var237
/* : Bool */;
802 short int var238
/* : Bool */;
803 val
* var_other240
/* var other: nullable Object */;
804 short int var241
/* : Bool */;
805 short int var242
/* : Bool */;
806 short int var243
/* : Bool */;
807 val
* var244
/* : nullable MMethodDef */;
808 val
* var246
/* : nullable MMethodDef */;
809 val
* var247
/* : MProperty */;
810 val
* var249
/* : MProperty */;
811 short int var250
/* : Bool */;
812 short int var252
/* : Bool */;
813 val
* var253
/* : nullable MPropDef */;
814 val
* var255
/* : nullable MPropDef */;
815 val
* var256
/* : MProperty */;
816 val
* var258
/* : MProperty */;
817 val
* var259
/* : String */;
818 val
* var261
/* : String */;
819 long var262
/* : Int */;
820 val
* var263
/* : Text */;
821 val
* var_paramname
/* var paramname: String */;
822 val
* var264
/* : nullable MPropDef */;
823 val
* var266
/* : nullable MPropDef */;
824 val
* var267
/* : nullable MType */;
825 val
* var269
/* : nullable MType */;
826 val
* var_ret_type270
/* var ret_type: nullable MType */;
827 val
* var271
/* : null */;
828 short int var272
/* : Bool */;
829 short int var273
/* : Bool */;
830 short int var275
/* : Bool */;
831 short int var277
/* : Bool */;
832 val
* var278
/* : MParameter */;
833 short int var279
/* : Bool */;
834 val
* var_mparameter280
/* var mparameter: MParameter */;
835 val
* var281
/* : nullable MMethodDef */;
836 val
* var283
/* : nullable MMethodDef */;
837 val
* var_msetter
/* var msetter: nullable MMethodDef */;
838 val
* var284
/* : null */;
839 short int var285
/* : Bool */;
840 short int var286
/* : Bool */;
841 short int var288
/* : Bool */;
842 short int var290
/* : Bool */;
843 val
* var291
/* : nullable MPropDef */;
844 val
* var293
/* : nullable MPropDef */;
845 val
* var294
/* : MProperty */;
846 val
* var296
/* : MProperty */;
847 val
* var297
/* : MProperty */;
848 val
* var299
/* : MProperty */;
849 val
* var302
/* : nullable MMethod */;
850 val
* var304
/* : nullable MMethod */;
851 val
* var305
/* : null */;
852 short int var306
/* : Bool */;
853 short int var307
/* : Bool */;
854 short int var309
/* : Bool */;
855 short int var311
/* : Bool */;
856 val
* var312
/* : nullable MMethod */;
857 val
* var314
/* : nullable MMethod */;
858 val
* var315
/* : MModule */;
859 val
* var317
/* : MModule */;
860 val
* var318
/* : MClassType */;
861 val
* var320
/* : MClassType */;
862 val
* var321
/* : Array[MPropDef] */;
863 val
* var_spropdefs
/* var spropdefs: Array[MMethodDef] */;
864 short int var322
/* : Bool */;
865 val
* var323
/* : ToolContext */;
866 val
* var325
/* : ToolContext */;
867 val
* var326
/* : Location */;
868 val
* var328
/* : Location */;
869 static val
* varonce329
;
870 val
* var330
/* : String */;
871 char* var331
/* : NativeString */;
872 long var332
/* : Int */;
873 val
* var333
/* : FlatString */;
874 static val
* varonce334
;
875 val
* var335
/* : String */;
876 char* var336
/* : NativeString */;
877 long var337
/* : Int */;
878 val
* var338
/* : FlatString */;
879 val
* var339
/* : nullable MMethod */;
880 val
* var341
/* : nullable MMethod */;
881 val
* var342
/* : MClassDef */;
882 val
* var344
/* : MClassDef */;
883 static val
* varonce345
;
884 val
* var346
/* : String */;
885 char* var347
/* : NativeString */;
886 long var348
/* : Int */;
887 val
* var349
/* : FlatString */;
888 val
* var350
/* : Array[Object] */;
889 long var351
/* : Int */;
890 val
* var352
/* : NativeArray[Object] */;
891 val
* var353
/* : String */;
892 val
* var354
/* : nullable Object */;
893 val
* var_longest
/* var longest: MMethodDef */;
894 long var355
/* : Int */;
895 long var357
/* : Int */;
896 long var358
/* : Int */;
897 short int var359
/* : Bool */;
898 short int var361
/* : Bool */;
901 const char* var_class_name
;
902 short int var364
/* : Bool */;
903 val
* var_365
/* var : Array[MMethodDef] */;
904 val
* var366
/* : ArrayIterator[nullable Object] */;
905 val
* var_367
/* var : ArrayIterator[MMethodDef] */;
906 short int var368
/* : Bool */;
907 val
* var369
/* : nullable Object */;
908 val
* var_spd
/* var spd: MMethodDef */;
909 val
* var370
/* : Array[MProperty] */;
910 val
* var372
/* : Array[MProperty] */;
911 long var373
/* : Int */;
912 long var375
/* : Int */;
913 val
* var376
/* : Array[MProperty] */;
914 val
* var378
/* : Array[MProperty] */;
915 long var379
/* : Int */;
916 long var381
/* : Int */;
917 short int var382
/* : Bool */;
918 short int var384
/* : Bool */;
921 const char* var_class_name387
;
922 short int var388
/* : Bool */;
923 val
* var_391
/* var : Array[MMethodDef] */;
924 val
* var392
/* : ArrayIterator[nullable Object] */;
925 val
* var_393
/* var : ArrayIterator[MMethodDef] */;
926 short int var394
/* : Bool */;
927 val
* var395
/* : nullable Object */;
928 val
* var_spd396
/* var spd: MMethodDef */;
929 long var397
/* : Int */;
930 long var_i
/* var i: Int */;
931 val
* var398
/* : Array[MProperty] */;
932 val
* var400
/* : Array[MProperty] */;
933 val
* var_401
/* var : Array[MProperty] */;
934 val
* var402
/* : ArrayIterator[nullable Object] */;
935 val
* var_403
/* var : ArrayIterator[MProperty] */;
936 short int var404
/* : Bool */;
937 val
* var405
/* : nullable Object */;
938 val
* var_p
/* var p: MProperty */;
939 val
* var406
/* : Array[MProperty] */;
940 val
* var408
/* : Array[MProperty] */;
941 val
* var409
/* : nullable Object */;
942 short int var410
/* : Bool */;
943 short int var411
/* : Bool */;
944 short int var413
/* : Bool */;
945 short int var414
/* : Bool */;
946 short int var415
/* : Bool */;
947 static val
* varonce416
;
948 val
* var417
/* : String */;
949 char* var418
/* : NativeString */;
950 long var419
/* : Int */;
951 val
* var420
/* : FlatString */;
952 static val
* varonce421
;
953 val
* var422
/* : String */;
954 char* var423
/* : NativeString */;
955 long var424
/* : Int */;
956 val
* var425
/* : FlatString */;
957 val
* var426
/* : Array[MProperty] */;
958 val
* var428
/* : Array[MProperty] */;
959 static val
* varonce429
;
960 val
* var430
/* : String */;
961 char* var431
/* : NativeString */;
962 long var432
/* : Int */;
963 val
* var433
/* : FlatString */;
964 val
* var434
/* : String */;
965 static val
* varonce435
;
966 val
* var436
/* : String */;
967 char* var437
/* : NativeString */;
968 long var438
/* : Int */;
969 val
* var439
/* : FlatString */;
970 static val
* varonce440
;
971 val
* var441
/* : String */;
972 char* var442
/* : NativeString */;
973 long var443
/* : Int */;
974 val
* var444
/* : FlatString */;
975 val
* var445
/* : Array[MProperty] */;
976 val
* var447
/* : Array[MProperty] */;
977 static val
* varonce448
;
978 val
* var449
/* : String */;
979 char* var450
/* : NativeString */;
980 long var451
/* : Int */;
981 val
* var452
/* : FlatString */;
982 val
* var453
/* : String */;
983 static val
* varonce454
;
984 val
* var455
/* : String */;
985 char* var456
/* : NativeString */;
986 long var457
/* : Int */;
987 val
* var458
/* : FlatString */;
988 val
* var459
/* : Array[Object] */;
989 long var460
/* : Int */;
990 val
* var461
/* : NativeArray[Object] */;
991 val
* var462
/* : String */;
992 long var463
/* : Int */;
993 long var464
/* : Int */;
994 short int var466
/* : Bool */;
997 const char* var_class_name469
;
998 long var470
/* : Int */;
999 short int var475
/* : Bool */;
1000 short int var476
/* : Bool */;
1001 long var477
/* : Int */;
1002 long var479
/* : Int */;
1003 long var480
/* : Int */;
1004 short int var481
/* : Bool */;
1005 short int var482
/* : Bool */;
1006 short int var484
/* : Bool */;
1007 short int var_485
/* var : Bool */;
1008 short int var486
/* : Bool */;
1009 short int var_487
/* var : Bool */;
1010 val
* var488
/* : null */;
1011 short int var489
/* : Bool */;
1012 short int var490
/* : Bool */;
1013 short int var492
/* : Bool */;
1014 short int var494
/* : Bool */;
1015 val
* var495
/* : ToolContext */;
1016 val
* var497
/* : ToolContext */;
1017 static val
* varonce498
;
1018 val
* var499
/* : String */;
1019 char* var500
/* : NativeString */;
1020 long var501
/* : Int */;
1021 val
* var502
/* : FlatString */;
1022 val
* var503
/* : Array[Object] */;
1023 long var504
/* : Int */;
1024 val
* var505
/* : NativeArray[Object] */;
1025 val
* var506
/* : String */;
1026 long var507
/* : Int */;
1027 val
* var508
/* : MClass */;
1028 val
* var510
/* : MClass */;
1029 val
* var512
/* : Array[MProperty] */;
1030 val
* var514
/* : Array[MProperty] */;
1031 long var515
/* : Int */;
1032 long var517
/* : Int */;
1033 long var518
/* : Int */;
1034 short int var519
/* : Bool */;
1035 short int var521
/* : Bool */;
1038 const char* var_class_name524
;
1039 short int var525
/* : Bool */;
1040 val
* var526
/* : nullable MSignature */;
1041 val
* var528
/* : nullable MSignature */;
1042 val
* var529
/* : Array[MParameter] */;
1043 val
* var531
/* : Array[MParameter] */;
1044 val
* var532
/* : Array[MProperty] */;
1045 val
* var534
/* : Array[MProperty] */;
1046 val
* var535
/* : null */;
1047 short int var536
/* : Bool */;
1048 short int var537
/* : Bool */;
1049 short int var539
/* : Bool */;
1050 short int var540
/* : Bool */;
1051 short int var541
/* : Bool */;
1052 val
* var542
/* : Array[MProperty] */;
1053 val
* var544
/* : Array[MProperty] */;
1054 val
* var545
/* : MSignature */;
1055 val
* var546
/* : null */;
1056 val
* var_msignature547
/* var msignature: MSignature */;
1057 val
* var549
/* : ToolContext */;
1058 val
* var551
/* : ToolContext */;
1059 static val
* varonce552
;
1060 val
* var553
/* : String */;
1061 char* var554
/* : NativeString */;
1062 long var555
/* : Int */;
1063 val
* var556
/* : FlatString */;
1064 val
* var557
/* : Array[Object] */;
1065 long var558
/* : Int */;
1066 val
* var559
/* : NativeArray[Object] */;
1067 val
* var560
/* : String */;
1068 long var561
/* : Int */;
1069 val
* var562
/* : MClass */;
1070 val
* var564
/* : MClass */;
1071 val
* var566
/* : nullable MMethod */;
1072 val
* var568
/* : nullable MMethod */;
1073 val
* var_mprop569
/* var mprop: MMethod */;
1074 val
* var570
/* : MMethodDef */;
1075 val
* var571
/* : Location */;
1076 val
* var573
/* : Location */;
1077 val
* var_mpropdef574
/* var mpropdef: MMethodDef */;
1078 short int var575
/* : Bool */;
1079 val
* var577
/* : Array[MProperty] */;
1080 val
* var579
/* : Array[MProperty] */;
1081 val
* var580
/* : MSignature */;
1082 val
* var581
/* : null */;
1083 val
* var_msignature582
/* var msignature: MSignature */;
1084 val
* var584
/* : MSignature */;
1085 val
* var585
/* : Array[MParameter] */;
1086 val
* var586
/* : null */;
1087 val
* var589
/* : ToolContext */;
1088 val
* var591
/* : ToolContext */;
1089 static val
* varonce592
;
1090 val
* var593
/* : String */;
1091 char* var594
/* : NativeString */;
1092 long var595
/* : Int */;
1093 val
* var596
/* : FlatString */;
1094 val
* var597
/* : Array[Object] */;
1095 long var598
/* : Int */;
1096 val
* var599
/* : NativeArray[Object] */;
1097 val
* var600
/* : String */;
1098 long var601
/* : Int */;
1099 val
* var602
/* : MClass */;
1100 val
* var604
/* : MClass */;
1103 { /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef) on <var_nclassdef:AClassdef> */
1104 var2
= var_nclassdef
->attrs
[COLOR_modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_nclassdef:AClassdef> */
1109 if (unlikely(var
== NULL
)) {
1110 PRINT_ERROR("Runtime error: %s", "Cast failed");
1111 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 80);
1114 var_mclassdef
= var
;
1116 var3
= model__MClassDef__is_intro(var_mclassdef
);
1124 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
1125 var8
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
1126 if (unlikely(var8
== NULL
)) {
1127 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1128 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
1136 { /* Inline model#MClass#name (var6) on <var6:MClass> */
1137 var11
= var6
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var6:MClass> */
1138 if (unlikely(var11
== NULL
)) {
1139 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1140 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
1144 RET_LABEL10
:(void)0;
1152 var15
= string__NativeString__to_s_with_length(var13
, var14
);
1157 var17
= string__FlatString___61d_61d(var9
, var12
);
1163 { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (self) on <self:ModelBuilder> */
1164 var20
= self
->attrs
[COLOR_modelize_property__ModelBuilder___the_root_init_mmethod
].val
; /* _the_root_init_mmethod on <self:ModelBuilder> */
1166 RET_LABEL19
:(void)0;
1170 if (var18
== NULL
) {
1171 var22
= 1; /* is null */
1173 var22
= 0; /* arg is null but recv is not */
1176 { /* Inline kernel#Object#== (var18,var21) on <var18:nullable MMethod> */
1179 { /* Inline kernel#Object#is_same_instance (var18,var_other) on <var18:nullable MMethod(MMethod)> */
1180 var27
= var18
== var_other
;
1183 RET_LABEL26
:(void)0;
1188 RET_LABEL24
:(void)0;
1197 var28
= NEW_model__MMethod(&type_model__MMethod
);
1203 var33
= string__NativeString__to_s_with_length(var31
, var32
);
1208 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
1209 var36
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
1210 if (unlikely(var36
== NULL
)) {
1211 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1212 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
1216 RET_LABEL35
:(void)0;
1220 { /* Inline model#MClass#visibility (var34) on <var34:MClass> */
1221 var39
= var34
->attrs
[COLOR_model__MClass___visibility
].val
; /* _visibility on <var34:MClass> */
1222 if (unlikely(var39
== NULL
)) {
1223 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
1224 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 375);
1228 RET_LABEL38
:(void)0;
1232 model__MMethod__init(var28
, var_mclassdef
, var30
, var37
); /* Direct call model#MMethod#init on <var28:MMethod>*/
1237 { /* Inline model#MMethod#is_root_init= (var_mprop,var40) on <var_mprop:MMethod> */
1238 var_mprop
->attrs
[COLOR_model__MMethod___is_root_init
].s
= var40
; /* _is_root_init on <var_mprop:MMethod> */
1239 RET_LABEL41
:(void)0;
1242 var42
= NEW_model__MMethodDef(&type_model__MMethodDef
);
1244 { /* Inline parser_nodes#ANode#location (var_nclassdef) on <var_nclassdef:AClassdef> */
1245 var45
= var_nclassdef
->attrs
[COLOR_parser_nodes__ANode___location
].val
; /* _location on <var_nclassdef:AClassdef> */
1246 if (unlikely(var45
== NULL
)) {
1247 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
1248 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23);
1252 RET_LABEL44
:(void)0;
1256 model__MMethodDef__init(var42
, var_mclassdef
, var_mprop
, var43
); /* Direct call model#MMethodDef#init on <var42:MMethodDef>*/
1258 var_mpropdef
= var42
;
1259 var46
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
1261 ((void (*)(val
*))(var46
->class->vft
[COLOR_kernel__Object__init
]))(var46
) /* init on <var46:Array[MParameter]>*/;
1263 var_mparameters
= var46
;
1264 var47
= NEW_model__MSignature(&type_model__MSignature
);
1267 model__MSignature__init(var47
, var_mparameters
, var48
); /* Direct call model#MSignature#init on <var47:MSignature>*/
1269 var_msignature
= var47
;
1271 { /* Inline model#MMethodDef#msignature= (var_mpropdef,var_msignature) on <var_mpropdef:MMethodDef> */
1272 var_mpropdef
->attrs
[COLOR_model__MMethodDef___msignature
].val
= var_msignature
; /* _msignature on <var_mpropdef:MMethodDef> */
1273 RET_LABEL49
:(void)0;
1277 { /* Inline model#MMethodDef#new_msignature= (var_mpropdef,var_msignature) on <var_mpropdef:MMethodDef> */
1278 var_mpropdef
->attrs
[COLOR_model__MMethodDef___new_msignature
].val
= var_msignature
; /* _new_msignature on <var_mpropdef:MMethodDef> */
1279 RET_LABEL50
:(void)0;
1284 { /* Inline model#MMethod#is_init= (var_mprop,var51) on <var_mprop:MMethod> */
1285 var_mprop
->attrs
[COLOR_model__MMethod___is_init
].s
= var51
; /* _is_init on <var_mprop:MMethod> */
1286 RET_LABEL52
:(void)0;
1290 { /* Inline modelize_property#AClassdef#mfree_init= (var_nclassdef,var_mpropdef) on <var_nclassdef:AClassdef> */
1291 var_nclassdef
->attrs
[COLOR_modelize_property__AClassdef___mfree_init
].val
= var_mpropdef
; /* _mfree_init on <var_nclassdef:AClassdef> */
1292 RET_LABEL53
:(void)0;
1296 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
1297 var56
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
1298 if (unlikely(var56
== NULL
)) {
1299 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1300 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
1304 RET_LABEL55
:(void)0;
1310 var59
= " gets a free empty constructor ";
1312 var61
= string__NativeString__to_s_with_length(var59
, var60
);
1316 var62
= NEW_array__Array(&type_array__Arraykernel__Object
);
1317 { /* var62 = array_instance Array[Object] */
1319 var64
= NEW_array__NativeArray(var63
, &type_array__NativeArraykernel__Object
);
1320 ((struct instance_array__NativeArray
*)var64
)->values
[0] = (val
*) var_mclassdef
;
1321 ((struct instance_array__NativeArray
*)var64
)->values
[1] = (val
*) var58
;
1322 ((struct instance_array__NativeArray
*)var64
)->values
[2] = (val
*) var_mpropdef
;
1323 ((struct instance_array__NativeArray
*)var64
)->values
[3] = (val
*) var_msignature
;
1325 ((void (*)(val
*, val
*, long))(var62
->class->vft
[COLOR_array__Array__with_native
]))(var62
, var64
, var63
) /* with_native on <var62:Array[Object]>*/;
1329 var65
= ((val
* (*)(val
*))(var62
->class->vft
[COLOR_string__Object__to_s
]))(var62
) /* to_s on <var62:Array[Object]>*/;
1333 toolcontext__ToolContext__info(var54
, var65
, var66
); /* Direct call toolcontext#ToolContext#info on <var54:ToolContext>*/
1336 { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod= (self,var_mprop) on <self:ModelBuilder> */
1337 self
->attrs
[COLOR_modelize_property__ModelBuilder___the_root_init_mmethod
].val
= var_mprop
; /* _the_root_init_mmethod on <self:ModelBuilder> */
1338 RET_LABEL67
:(void)0;
1345 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
1346 var70
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
1347 if (unlikely(var70
== NULL
)) {
1348 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1349 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
1353 RET_LABEL69
:(void)0;
1357 { /* Inline model#MClass#kind (var68) on <var68:MClass> */
1358 var73
= var68
->attrs
[COLOR_model__MClass___kind
].val
; /* _kind on <var68:MClass> */
1359 if (unlikely(var73
== NULL
)) {
1360 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
1361 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 371);
1365 RET_LABEL72
:(void)0;
1369 { /* Inline model#MClassKind#need_init (var71) on <var71:MClassKind> */
1370 var76
= var71
->attrs
[COLOR_model__MClassKind___need_init
].s
; /* _need_init on <var71:MClassKind> */
1372 RET_LABEL75
:(void)0;
1381 var_defined_init
= var78
;
1383 { /* Inline model#MClassDef#mpropdefs (var_mclassdef) on <var_mclassdef:MClassDef> */
1384 var81
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mpropdefs
].val
; /* _mpropdefs on <var_mclassdef:MClassDef> */
1385 if (unlikely(var81
== NULL
)) {
1386 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
1387 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 591);
1391 RET_LABEL80
:(void)0;
1396 var83
= array__AbstractArrayRead__iterator(var_82
);
1401 var85
= array__ArrayIterator__is_ok(var_84
);
1405 var86
= array__ArrayIterator__item(var_84
);
1407 var_mpropdef87
= var86
;
1408 /* <var_mpropdef87:MPropDef> isa MMethodDef */
1409 cltype
= type_model__MMethodDef
.color
;
1410 idtype
= type_model__MMethodDef
.id
;
1411 if(cltype
>= var_mpropdef87
->type
->table_size
) {
1414 var88
= var_mpropdef87
->type
->type_table
[cltype
] == idtype
;
1422 { /* Inline model#MPropDef#mproperty (var_mpropdef87) on <var_mpropdef87:MPropDef(MMethodDef)> */
1423 var92
= var_mpropdef87
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef87:MPropDef(MMethodDef)> */
1424 if (unlikely(var92
== NULL
)) {
1425 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1426 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
1430 RET_LABEL91
:(void)0;
1434 { /* Inline model#MMethod#is_init (var90) on <var90:MProperty(MMethod)> */
1435 var95
= var90
->attrs
[COLOR_model__MMethod___is_init
].s
; /* _is_init on <var90:MProperty(MMethod)> */
1437 RET_LABEL94
:(void)0;
1446 { /* Inline model#MPropDef#mproperty (var_mpropdef87) on <var_mpropdef87:MPropDef(MMethodDef)> */
1447 var99
= var_mpropdef87
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef87:MPropDef(MMethodDef)> */
1448 if (unlikely(var99
== NULL
)) {
1449 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1450 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
1454 RET_LABEL98
:(void)0;
1458 { /* Inline model#MMethod#is_root_init (var97) on <var97:MProperty(MMethod)> */
1459 var102
= var97
->attrs
[COLOR_model__MMethod___is_root_init
].s
; /* _is_root_init on <var97:MProperty(MMethod)> */
1461 RET_LABEL101
:(void)0;
1466 if (var_defined_init
== NULL
) {
1467 var104
= 1; /* is null */
1469 var104
= 0; /* arg is null but recv is not */
1472 { /* Inline kernel#Object#== (var_defined_init,var103) on <var_defined_init:nullable MMethodDef> */
1475 { /* Inline kernel#Object#is_same_instance (var_defined_init,var_other) on <var_defined_init:nullable MMethodDef(MMethodDef)> */
1476 var109
= var_defined_init
== var_other
;
1479 RET_LABEL108
:(void)0;
1484 RET_LABEL106
:(void)0;
1488 if (unlikely(!var104
)) {
1489 PRINT_ERROR("Runtime error: %s", "Assert failed");
1490 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 111);
1493 var_defined_init
= var_mpropdef87
;
1496 { /* Inline model#MPropDef#mproperty (var_mpropdef87) on <var_mpropdef87:MPropDef(MMethodDef)> */
1497 var112
= var_mpropdef87
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef87:MPropDef(MMethodDef)> */
1498 if (unlikely(var112
== NULL
)) {
1499 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1500 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
1504 RET_LABEL111
:(void)0;
1508 { /* Inline model#MProperty#name (var110) on <var110:MProperty(MMethod)> */
1509 var115
= var110
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var110:MProperty(MMethod)> */
1510 if (unlikely(var115
== NULL
)) {
1511 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1512 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
1516 RET_LABEL114
:(void)0;
1520 var117
= varonce116
;
1524 var120
= string__NativeString__to_s_with_length(var118
, var119
);
1526 varonce116
= var117
;
1529 var122
= string__FlatString___61d_61d(var113
, var117
);
1537 BREAK_label
: (void)0;
1539 array__ArrayIterator__next(var_84
); /* Direct call array#ArrayIterator#next on <var_84:ArrayIterator[MPropDef]>*/
1542 goto BREAK_label123
;
1545 BREAK_label123
: (void)0;
1547 { /* Inline abstract_collection#Iterator#finish (var_84) on <var_84:ArrayIterator[MPropDef]> */
1548 RET_LABEL124
:(void)0;
1551 /* <var_nclassdef:AClassdef> isa AStdClassdef */
1552 cltype126
= type_parser_nodes__AStdClassdef
.color
;
1553 idtype127
= type_parser_nodes__AStdClassdef
.id
;
1554 if(cltype126
>= var_nclassdef
->type
->table_size
) {
1557 var125
= var_nclassdef
->type
->type_table
[cltype126
] == idtype127
;
1564 var129
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
1566 ((void (*)(val
*))(var129
->class->vft
[COLOR_kernel__Object__init
]))(var129
) /* init on <var129:Array[MParameter]>*/;
1568 var_mparameters130
= var129
;
1569 var131
= NEW_array__Array(&type_array__Arraymodel__MProperty
);
1571 ((void (*)(val
*))(var131
->class->vft
[COLOR_kernel__Object__init
]))(var131
) /* init on <var131:Array[MProperty]>*/;
1573 var_initializers
= var131
;
1575 { /* Inline parser_nodes#AClassdef#n_propdefs (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
1576 var134
= var_nclassdef
->attrs
[COLOR_parser_nodes__AClassdef___n_propdefs
].val
; /* _n_propdefs on <var_nclassdef:AClassdef(AStdClassdef)> */
1577 if (unlikely(var134
== NULL
)) {
1578 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs");
1579 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 929);
1583 RET_LABEL133
:(void)0;
1588 var136
= parser_nodes__ANodes__iterator(var_135
);
1593 var138
= ((short int (*)(val
*))(var_137
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_137
) /* is_ok on <var_137:Iterator[APropdef]>*/;
1597 var139
= ((val
* (*)(val
*))(var_137
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_137
) /* item on <var_137:Iterator[APropdef]>*/;
1599 var_npropdef
= var139
;
1600 /* <var_npropdef:APropdef> isa AMethPropdef */
1601 cltype141
= type_parser_nodes__AMethPropdef
.color
;
1602 idtype142
= type_parser_nodes__AMethPropdef
.id
;
1603 if(cltype141
>= var_npropdef
->type
->table_size
) {
1606 var140
= var_npropdef
->type
->type_table
[cltype141
] == idtype142
;
1610 { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on <var_npropdef:APropdef(AMethPropdef)> */
1611 var145
= var_npropdef
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <var_npropdef:APropdef(AMethPropdef)> */
1613 RET_LABEL144
:(void)0;
1617 if (var143
== NULL
) {
1618 var147
= 1; /* is null */
1620 var147
= 0; /* arg is null but recv is not */
1623 { /* Inline kernel#Object#== (var143,var146) on <var143:nullable MPropDef(nullable MMethodDef)> */
1626 { /* Inline kernel#Object#is_same_instance (var143,var_other) on <var143:nullable MMethodDef(MMethodDef)> */
1627 var152
= var143
== var_other
;
1630 RET_LABEL151
:(void)0;
1635 RET_LABEL149
:(void)0;
1644 var154
= varonce153
;
1646 var155
= "autoinit";
1648 var157
= string__NativeString__to_s_with_length(var155
, var156
);
1650 varonce153
= var154
;
1653 var158
= annotation__Prod__get_single_annotation(var_npropdef
, var154
, self
);
1657 if (var_at
== NULL
) {
1658 var160
= 1; /* is null */
1660 var160
= 0; /* arg is null but recv is not */
1663 { /* Inline kernel#Object#== (var_at,var159) on <var_at:nullable AAnnotation> */
1666 { /* Inline kernel#Object#is_same_instance (var_at,var_other) on <var_at:nullable AAnnotation(AAnnotation)> */
1667 var165
= var_at
== var_other
;
1670 RET_LABEL164
:(void)0;
1675 RET_LABEL162
:(void)0;
1680 goto BREAK_label166
;
1684 { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on <var_npropdef:APropdef(AMethPropdef)> */
1685 var169
= var_npropdef
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <var_npropdef:APropdef(AMethPropdef)> */
1687 RET_LABEL168
:(void)0;
1690 if (var167
== NULL
) {
1691 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1692 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 130);
1695 { /* Inline model#MMethodDef#msignature (var167) on <var167:nullable MPropDef(nullable MMethodDef)> */
1696 if (unlikely(var167
== NULL
)) {
1697 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1698 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1958);
1701 var172
= var167
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var167:nullable MPropDef(nullable MMethodDef)> */
1703 RET_LABEL171
:(void)0;
1708 if (var_sig
== NULL
) {
1709 var174
= 1; /* is null */
1711 var174
= 0; /* arg is null but recv is not */
1714 { /* Inline kernel#Object#== (var_sig,var173) on <var_sig:nullable MSignature> */
1717 { /* Inline kernel#Object#is_same_instance (var_sig,var_other) on <var_sig:nullable MSignature(MSignature)> */
1718 var179
= var_sig
== var_other
;
1721 RET_LABEL178
:(void)0;
1726 RET_LABEL176
:(void)0;
1731 goto BREAK_label166
;
1735 { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on <var_npropdef:APropdef(AMethPropdef)> */
1736 var182
= var_npropdef
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <var_npropdef:APropdef(AMethPropdef)> */
1738 RET_LABEL181
:(void)0;
1741 if (var180
== NULL
) {
1742 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1743 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 133);
1746 var183
= model__MPropDef__is_intro(var180
);
1751 var186
= varonce185
;
1753 var187
= "Error: `autoinit` cannot be set on redefinitions";
1755 var189
= string__NativeString__to_s_with_length(var187
, var188
);
1757 varonce185
= var186
;
1760 modelbuilder__ModelBuilder__error(self
, var_at
, var186
); /* Direct call modelbuilder#ModelBuilder#error on <self:ModelBuilder>*/
1762 goto BREAK_label166
;
1766 { /* Inline model#MSignature#mparameters (var_sig) on <var_sig:nullable MSignature(MSignature)> */
1767 var192
= var_sig
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var_sig:nullable MSignature(MSignature)> */
1768 if (unlikely(var192
== NULL
)) {
1769 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
1770 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
1774 RET_LABEL191
:(void)0;
1779 var194
= array__AbstractArrayRead__iterator(var_193
);
1784 var196
= array__ArrayIterator__is_ok(var_195
);
1788 var197
= array__ArrayIterator__item(var_195
);
1792 { /* Inline model#MParameter#mtype (var_param) on <var_param:MParameter> */
1793 var200
= var_param
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var_param:MParameter> */
1794 if (unlikely(var200
== NULL
)) {
1795 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1796 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
1800 RET_LABEL199
:(void)0;
1803 var_ret_type
= var198
;
1804 var201
= NEW_model__MParameter(&type_model__MParameter
);
1806 { /* Inline model#MParameter#name (var_param) on <var_param:MParameter> */
1807 var204
= var_param
->attrs
[COLOR_model__MParameter___name
].val
; /* _name on <var_param:MParameter> */
1808 if (unlikely(var204
== NULL
)) {
1809 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1810 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1562);
1814 RET_LABEL203
:(void)0;
1819 model__MParameter__init(var201
, var202
, var_ret_type
, var205
); /* Direct call model#MParameter#init on <var201:MParameter>*/
1821 var_mparameter
= var201
;
1823 array__Array__add(var_mparameters130
, var_mparameter
); /* Direct call array#Array#add on <var_mparameters130:Array[MParameter]>*/
1826 array__ArrayIterator__next(var_195
); /* Direct call array#ArrayIterator#next on <var_195:ArrayIterator[MParameter]>*/
1829 goto BREAK_label206
;
1832 BREAK_label206
: (void)0;
1834 { /* Inline abstract_collection#Iterator#finish (var_195) on <var_195:ArrayIterator[MParameter]> */
1835 RET_LABEL207
:(void)0;
1839 { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on <var_npropdef:APropdef(AMethPropdef)> */
1840 var210
= var_npropdef
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <var_npropdef:APropdef(AMethPropdef)> */
1842 RET_LABEL209
:(void)0;
1845 if (var208
== NULL
) {
1846 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1847 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 143);
1850 { /* Inline model#MPropDef#mproperty (var208) on <var208:nullable MPropDef(nullable MMethodDef)> */
1851 if (unlikely(var208
== NULL
)) {
1852 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1853 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
1856 var213
= var208
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var208:nullable MPropDef(nullable MMethodDef)> */
1857 if (unlikely(var213
== NULL
)) {
1858 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1859 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
1863 RET_LABEL212
:(void)0;
1867 array__Array__add(var_initializers
, var211
); /* Direct call array#Array#add on <var_initializers:Array[MProperty]>*/
1871 /* <var_npropdef:APropdef> isa AAttrPropdef */
1872 cltype215
= type_parser_nodes__AAttrPropdef
.color
;
1873 idtype216
= type_parser_nodes__AAttrPropdef
.id
;
1874 if(cltype215
>= var_npropdef
->type
->table_size
) {
1877 var214
= var_npropdef
->type
->type_table
[cltype215
] == idtype216
;
1881 { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on <var_npropdef:APropdef(AAttrPropdef)> */
1882 var219
= var_npropdef
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <var_npropdef:APropdef(AAttrPropdef)> */
1884 RET_LABEL218
:(void)0;
1888 if (var217
== NULL
) {
1889 var221
= 1; /* is null */
1891 var221
= 0; /* arg is null but recv is not */
1894 { /* Inline kernel#Object#== (var217,var220) on <var217:nullable MPropDef(nullable MAttributeDef)> */
1897 { /* Inline kernel#Object#is_same_instance (var217,var_other) on <var217:nullable MAttributeDef(MAttributeDef)> */
1898 var226
= var217
== var_other
;
1901 RET_LABEL225
:(void)0;
1906 RET_LABEL223
:(void)0;
1915 { /* Inline modelize_property#AAttrPropdef#noinit (var_npropdef) on <var_npropdef:APropdef(AAttrPropdef)> */
1916 var229
= var_npropdef
->attrs
[COLOR_modelize_property__AAttrPropdef___noinit
].s
; /* _noinit on <var_npropdef:APropdef(AAttrPropdef)> */
1918 RET_LABEL228
:(void)0;
1922 goto BREAK_label166
;
1926 var231
= varonce230
;
1928 var232
= "autoinit";
1930 var234
= string__NativeString__to_s_with_length(var232
, var233
);
1932 varonce230
= var231
;
1935 var235
= annotation__Prod__get_single_annotation(var_npropdef
, var231
, self
);
1937 var_atautoinit
= var235
;
1939 if (var_atautoinit
== NULL
) {
1940 var237
= 0; /* is null */
1942 var237
= 1; /* arg is null and recv is not */
1945 { /* Inline kernel#Object#!= (var_atautoinit,var236) on <var_atautoinit:nullable AAnnotation> */
1946 var_other240
= var236
;
1948 var242
= ((short int (*)(val
*, val
*))(var_atautoinit
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_atautoinit
, var_other240
) /* == on <var_atautoinit:nullable AAnnotation(AAnnotation)>*/;
1954 RET_LABEL239
:(void)0;
1960 { /* Inline modelize_property#AAttrPropdef#mreadpropdef (var_npropdef) on <var_npropdef:APropdef(AAttrPropdef)> */
1961 var246
= var_npropdef
->attrs
[COLOR_modelize_property__AAttrPropdef___mreadpropdef
].val
; /* _mreadpropdef on <var_npropdef:APropdef(AAttrPropdef)> */
1963 RET_LABEL245
:(void)0;
1966 if (var244
== NULL
) {
1967 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1968 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 152);
1971 { /* Inline model#MPropDef#mproperty (var244) on <var244:nullable MMethodDef> */
1972 if (unlikely(var244
== NULL
)) {
1973 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1974 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
1977 var249
= var244
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var244:nullable MMethodDef> */
1978 if (unlikely(var249
== NULL
)) {
1979 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1980 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
1984 RET_LABEL248
:(void)0;
1988 array__Array__add(var_initializers
, var247
); /* Direct call array#Array#add on <var_initializers:Array[MProperty]>*/
1990 goto BREAK_label166
;
1994 { /* Inline modelize_property#AAttrPropdef#has_value (var_npropdef) on <var_npropdef:APropdef(AAttrPropdef)> */
1995 var252
= var_npropdef
->attrs
[COLOR_modelize_property__AAttrPropdef___has_value
].s
; /* _has_value on <var_npropdef:APropdef(AAttrPropdef)> */
1997 RET_LABEL251
:(void)0;
2001 goto BREAK_label166
;
2005 { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on <var_npropdef:APropdef(AAttrPropdef)> */
2006 var255
= var_npropdef
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <var_npropdef:APropdef(AAttrPropdef)> */
2008 RET_LABEL254
:(void)0;
2011 if (var253
== NULL
) {
2012 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2013 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 156);
2016 { /* Inline model#MPropDef#mproperty (var253) on <var253:nullable MPropDef(nullable MAttributeDef)> */
2017 if (unlikely(var253
== NULL
)) {
2018 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2019 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
2022 var258
= var253
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var253:nullable MPropDef(nullable MAttributeDef)> */
2023 if (unlikely(var258
== NULL
)) {
2024 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2025 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
2029 RET_LABEL257
:(void)0;
2033 { /* Inline model#MProperty#name (var256) on <var256:MProperty(MAttribute)> */
2034 var261
= var256
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var256:MProperty(MAttribute)> */
2035 if (unlikely(var261
== NULL
)) {
2036 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2037 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
2041 RET_LABEL260
:(void)0;
2046 var263
= string__Text__substring_from(var259
, var262
);
2048 var_paramname
= var263
;
2050 { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on <var_npropdef:APropdef(AAttrPropdef)> */
2051 var266
= var_npropdef
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <var_npropdef:APropdef(AAttrPropdef)> */
2053 RET_LABEL265
:(void)0;
2056 if (var264
== NULL
) {
2057 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2058 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 157);
2061 { /* Inline model#MAttributeDef#static_mtype (var264) on <var264:nullable MPropDef(nullable MAttributeDef)> */
2062 if (unlikely(var264
== NULL
)) {
2063 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2064 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 2006);
2067 var269
= var264
->attrs
[COLOR_model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var264:nullable MPropDef(nullable MAttributeDef)> */
2069 RET_LABEL268
:(void)0;
2072 var_ret_type270
= var267
;
2074 if (var_ret_type270
== NULL
) {
2075 var272
= 1; /* is null */
2077 var272
= 0; /* arg is null but recv is not */
2080 { /* Inline kernel#Object#== (var_ret_type270,var271) on <var_ret_type270:nullable MType> */
2083 { /* Inline kernel#Object#is_same_instance (var_ret_type270,var_other) on <var_ret_type270:nullable MType(MType)> */
2084 var277
= var_ret_type270
== var_other
;
2087 RET_LABEL276
:(void)0;
2092 RET_LABEL274
:(void)0;
2100 var278
= NEW_model__MParameter(&type_model__MParameter
);
2103 model__MParameter__init(var278
, var_paramname
, var_ret_type270
, var279
); /* Direct call model#MParameter#init on <var278:MParameter>*/
2105 var_mparameter280
= var278
;
2107 array__Array__add(var_mparameters130
, var_mparameter280
); /* Direct call array#Array#add on <var_mparameters130:Array[MParameter]>*/
2110 { /* Inline modelize_property#AAttrPropdef#mwritepropdef (var_npropdef) on <var_npropdef:APropdef(AAttrPropdef)> */
2111 var283
= var_npropdef
->attrs
[COLOR_modelize_property__AAttrPropdef___mwritepropdef
].val
; /* _mwritepropdef on <var_npropdef:APropdef(AAttrPropdef)> */
2113 RET_LABEL282
:(void)0;
2116 var_msetter
= var281
;
2118 if (var_msetter
== NULL
) {
2119 var285
= 1; /* is null */
2121 var285
= 0; /* arg is null but recv is not */
2124 { /* Inline kernel#Object#== (var_msetter,var284) on <var_msetter:nullable MMethodDef> */
2127 { /* Inline kernel#Object#is_same_instance (var_msetter,var_other) on <var_msetter:nullable MMethodDef(MMethodDef)> */
2128 var290
= var_msetter
== var_other
;
2131 RET_LABEL289
:(void)0;
2136 RET_LABEL287
:(void)0;
2142 { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on <var_npropdef:APropdef(AAttrPropdef)> */
2143 var293
= var_npropdef
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <var_npropdef:APropdef(AAttrPropdef)> */
2145 RET_LABEL292
:(void)0;
2148 if (var291
== NULL
) {
2149 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2150 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 164);
2153 { /* Inline model#MPropDef#mproperty (var291) on <var291:nullable MPropDef(nullable MAttributeDef)> */
2154 if (unlikely(var291
== NULL
)) {
2155 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2156 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
2159 var296
= var291
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var291:nullable MPropDef(nullable MAttributeDef)> */
2160 if (unlikely(var296
== NULL
)) {
2161 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2162 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
2166 RET_LABEL295
:(void)0;
2170 array__Array__add(var_initializers
, var294
); /* Direct call array#Array#add on <var_initializers:Array[MProperty]>*/
2174 { /* Inline model#MPropDef#mproperty (var_msetter) on <var_msetter:nullable MMethodDef(MMethodDef)> */
2175 var299
= var_msetter
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_msetter:nullable MMethodDef(MMethodDef)> */
2176 if (unlikely(var299
== NULL
)) {
2177 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2178 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
2182 RET_LABEL298
:(void)0;
2186 array__Array__add(var_initializers
, var297
); /* Direct call array#Array#add on <var_initializers:Array[MProperty]>*/
2191 BREAK_label166
: (void)0;
2193 ((void (*)(val
*))(var_137
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_137
) /* next on <var_137:Iterator[APropdef]>*/;
2196 goto BREAK_label300
;
2199 BREAK_label300
: (void)0;
2201 { /* Inline abstract_collection#Iterator#finish (var_137) on <var_137:Iterator[APropdef]> */
2202 RET_LABEL301
:(void)0;
2206 { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (self) on <self:ModelBuilder> */
2207 var304
= self
->attrs
[COLOR_modelize_property__ModelBuilder___the_root_init_mmethod
].val
; /* _the_root_init_mmethod on <self:ModelBuilder> */
2209 RET_LABEL303
:(void)0;
2213 if (var302
== NULL
) {
2214 var306
= 1; /* is null */
2216 var306
= 0; /* arg is null but recv is not */
2219 { /* Inline kernel#Object#== (var302,var305) on <var302:nullable MMethod> */
2222 { /* Inline kernel#Object#is_same_instance (var302,var_other) on <var302:nullable MMethod(MMethod)> */
2223 var311
= var302
== var_other
;
2226 RET_LABEL310
:(void)0;
2231 RET_LABEL308
:(void)0;
2240 { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (self) on <self:ModelBuilder> */
2241 var314
= self
->attrs
[COLOR_modelize_property__ModelBuilder___the_root_init_mmethod
].val
; /* _the_root_init_mmethod on <self:ModelBuilder> */
2243 RET_LABEL313
:(void)0;
2247 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
2248 var317
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
2249 if (unlikely(var317
== NULL
)) {
2250 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2251 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
2255 RET_LABEL316
:(void)0;
2259 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
2260 var320
= var_mclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
2261 if (unlikely(var320
== NULL
)) {
2262 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2263 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
2267 RET_LABEL319
:(void)0;
2270 if (var312
== NULL
) {
2271 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2272 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 175);
2275 var321
= model__MProperty__lookup_super_definitions(var312
, var315
, var318
);
2277 var_spropdefs
= var321
;
2279 var322
= array__AbstractArrayRead__is_empty(var_spropdefs
);
2283 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
2284 var325
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
2285 if (unlikely(var325
== NULL
)) {
2286 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2287 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
2291 RET_LABEL324
:(void)0;
2295 { /* Inline parser_nodes#ANode#location (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
2296 var328
= var_nclassdef
->attrs
[COLOR_parser_nodes__ANode___location
].val
; /* _location on <var_nclassdef:AClassdef(AStdClassdef)> */
2297 if (unlikely(var328
== NULL
)) {
2298 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
2299 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23);
2303 RET_LABEL327
:(void)0;
2307 var330
= varonce329
;
2309 var331
= "Fatal error: ";
2311 var333
= string__NativeString__to_s_with_length(var331
, var332
);
2313 varonce329
= var330
;
2316 var335
= varonce334
;
2318 var336
= " does not specialize ";
2320 var338
= string__NativeString__to_s_with_length(var336
, var337
);
2322 varonce334
= var335
;
2325 { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (self) on <self:ModelBuilder> */
2326 var341
= self
->attrs
[COLOR_modelize_property__ModelBuilder___the_root_init_mmethod
].val
; /* _the_root_init_mmethod on <self:ModelBuilder> */
2328 RET_LABEL340
:(void)0;
2331 if (var339
== NULL
) {
2332 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2333 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 177);
2336 { /* Inline model#MProperty#intro_mclassdef (var339) on <var339:nullable MMethod> */
2337 if (unlikely(var339
== NULL
)) {
2338 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2339 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1615);
2342 var344
= var339
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var339:nullable MMethod> */
2343 if (unlikely(var344
== NULL
)) {
2344 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
2345 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1615);
2349 RET_LABEL343
:(void)0;
2353 var346
= varonce345
;
2355 var347
= ". Possible duplication of the root class `Object`?";
2357 var349
= string__NativeString__to_s_with_length(var347
, var348
);
2359 varonce345
= var346
;
2361 var350
= NEW_array__Array(&type_array__Arraykernel__Object
);
2362 { /* var350 = array_instance Array[Object] */
2364 var352
= NEW_array__NativeArray(var351
, &type_array__NativeArraykernel__Object
);
2365 ((struct instance_array__NativeArray
*)var352
)->values
[0] = (val
*) var330
;
2366 ((struct instance_array__NativeArray
*)var352
)->values
[1] = (val
*) var_mclassdef
;
2367 ((struct instance_array__NativeArray
*)var352
)->values
[2] = (val
*) var335
;
2368 ((struct instance_array__NativeArray
*)var352
)->values
[3] = (val
*) var342
;
2369 ((struct instance_array__NativeArray
*)var352
)->values
[4] = (val
*) var346
;
2371 ((void (*)(val
*, val
*, long))(var350
->class->vft
[COLOR_array__Array__with_native
]))(var350
, var352
, var351
) /* with_native on <var350:Array[Object]>*/;
2375 var353
= ((val
* (*)(val
*))(var350
->class->vft
[COLOR_string__Object__to_s
]))(var350
) /* to_s on <var350:Array[Object]>*/;
2378 toolcontext__ToolContext__fatal_error(var323
, var326
, var353
); /* Direct call toolcontext#ToolContext#fatal_error on <var323:ToolContext>*/
2383 var354
= abstract_collection__SequenceRead__first(var_spropdefs
);
2385 var_longest
= var354
;
2387 { /* Inline array#AbstractArrayRead#length (var_spropdefs) on <var_spropdefs:Array[MMethodDef]> */
2388 var357
= var_spropdefs
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_spropdefs:Array[MMethodDef]> */
2390 RET_LABEL356
:(void)0;
2395 { /* Inline kernel#Int#> (var355,var358) on <var355:Int> */
2396 /* Covariant cast for argument 0 (i) <var358:Int> isa OTHER */
2397 /* <var358:Int> isa OTHER */
2398 var361
= 1; /* easy <var358:Int> isa OTHER*/
2399 if (unlikely(!var361
)) {
2400 var_class_name
= type_kernel__Int
.name
;
2401 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2402 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
2405 var364
= var355
> var358
;
2408 RET_LABEL360
:(void)0;
2412 var_365
= var_spropdefs
;
2414 var366
= array__AbstractArrayRead__iterator(var_365
);
2419 var368
= array__ArrayIterator__is_ok(var_367
);
2423 var369
= array__ArrayIterator__item(var_367
);
2427 { /* Inline model#MMethodDef#initializers (var_spd) on <var_spd:MMethodDef> */
2428 var372
= var_spd
->attrs
[COLOR_model__MMethodDef___initializers
].val
; /* _initializers on <var_spd:MMethodDef> */
2429 if (unlikely(var372
== NULL
)) {
2430 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
2431 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1967);
2435 RET_LABEL371
:(void)0;
2439 { /* Inline array#AbstractArrayRead#length (var370) on <var370:Array[MProperty]> */
2440 var375
= var370
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var370:Array[MProperty]> */
2442 RET_LABEL374
:(void)0;
2446 { /* Inline model#MMethodDef#initializers (var_longest) on <var_longest:MMethodDef> */
2447 var378
= var_longest
->attrs
[COLOR_model__MMethodDef___initializers
].val
; /* _initializers on <var_longest:MMethodDef> */
2448 if (unlikely(var378
== NULL
)) {
2449 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
2450 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1967);
2454 RET_LABEL377
:(void)0;
2458 { /* Inline array#AbstractArrayRead#length (var376) on <var376:Array[MProperty]> */
2459 var381
= var376
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var376:Array[MProperty]> */
2461 RET_LABEL380
:(void)0;
2465 { /* Inline kernel#Int#> (var373,var379) on <var373:Int> */
2466 /* Covariant cast for argument 0 (i) <var379:Int> isa OTHER */
2467 /* <var379:Int> isa OTHER */
2468 var384
= 1; /* easy <var379:Int> isa OTHER*/
2469 if (unlikely(!var384
)) {
2470 var_class_name387
= type_kernel__Int
.name
;
2471 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name387
);
2472 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
2475 var388
= var373
> var379
;
2478 RET_LABEL383
:(void)0;
2482 var_longest
= var_spd
;
2486 array__ArrayIterator__next(var_367
); /* Direct call array#ArrayIterator#next on <var_367:ArrayIterator[MMethodDef]>*/
2489 goto BREAK_label389
;
2492 BREAK_label389
: (void)0;
2494 { /* Inline abstract_collection#Iterator#finish (var_367) on <var_367:ArrayIterator[MMethodDef]> */
2495 RET_LABEL390
:(void)0;
2498 var_391
= var_spropdefs
;
2500 var392
= array__AbstractArrayRead__iterator(var_391
);
2505 var394
= array__ArrayIterator__is_ok(var_393
);
2509 var395
= array__ArrayIterator__item(var_393
);
2511 var_spd396
= var395
;
2515 { /* Inline model#MMethodDef#initializers (var_spd396) on <var_spd396:MMethodDef> */
2516 var400
= var_spd396
->attrs
[COLOR_model__MMethodDef___initializers
].val
; /* _initializers on <var_spd396:MMethodDef> */
2517 if (unlikely(var400
== NULL
)) {
2518 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
2519 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1967);
2523 RET_LABEL399
:(void)0;
2528 var402
= array__AbstractArrayRead__iterator(var_401
);
2533 var404
= array__ArrayIterator__is_ok(var_403
);
2537 var405
= array__ArrayIterator__item(var_403
);
2541 { /* Inline model#MMethodDef#initializers (var_longest) on <var_longest:MMethodDef> */
2542 var408
= var_longest
->attrs
[COLOR_model__MMethodDef___initializers
].val
; /* _initializers on <var_longest:MMethodDef> */
2543 if (unlikely(var408
== NULL
)) {
2544 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
2545 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1967);
2549 RET_LABEL407
:(void)0;
2553 var409
= array__Array___91d_93d(var406
, var_i
);
2556 { /* Inline kernel#Object#!= (var_p,var409) on <var_p:MProperty> */
2557 var_other240
= var409
;
2559 var414
= ((short int (*)(val
*, val
*))(var_p
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_p
, var_other240
) /* == on <var_p:MProperty>*/;
2565 RET_LABEL412
:(void)0;
2571 var417
= varonce416
;
2573 var418
= "Error: conflict for inherited inits ";
2575 var420
= string__NativeString__to_s_with_length(var418
, var419
);
2577 varonce416
= var417
;
2580 var422
= varonce421
;
2584 var425
= string__NativeString__to_s_with_length(var423
, var424
);
2586 varonce421
= var422
;
2589 { /* Inline model#MMethodDef#initializers (var_spd396) on <var_spd396:MMethodDef> */
2590 var428
= var_spd396
->attrs
[COLOR_model__MMethodDef___initializers
].val
; /* _initializers on <var_spd396:MMethodDef> */
2591 if (unlikely(var428
== NULL
)) {
2592 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
2593 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1967);
2597 RET_LABEL427
:(void)0;
2601 var430
= varonce429
;
2605 var433
= string__NativeString__to_s_with_length(var431
, var432
);
2607 varonce429
= var430
;
2610 var434
= string__Collection__join(var426
, var430
);
2613 var436
= varonce435
;
2617 var439
= string__NativeString__to_s_with_length(var437
, var438
);
2619 varonce435
= var436
;
2622 var441
= varonce440
;
2626 var444
= string__NativeString__to_s_with_length(var442
, var443
);
2628 varonce440
= var441
;
2631 { /* Inline model#MMethodDef#initializers (var_longest) on <var_longest:MMethodDef> */
2632 var447
= var_longest
->attrs
[COLOR_model__MMethodDef___initializers
].val
; /* _initializers on <var_longest:MMethodDef> */
2633 if (unlikely(var447
== NULL
)) {
2634 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
2635 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1967);
2639 RET_LABEL446
:(void)0;
2643 var449
= varonce448
;
2647 var452
= string__NativeString__to_s_with_length(var450
, var451
);
2649 varonce448
= var449
;
2652 var453
= string__Collection__join(var445
, var449
);
2655 var455
= varonce454
;
2659 var458
= string__NativeString__to_s_with_length(var456
, var457
);
2661 varonce454
= var455
;
2663 var459
= NEW_array__Array(&type_array__Arraykernel__Object
);
2664 { /* var459 = array_instance Array[Object] */
2666 var461
= NEW_array__NativeArray(var460
, &type_array__NativeArraykernel__Object
);
2667 ((struct instance_array__NativeArray
*)var461
)->values
[0] = (val
*) var417
;
2668 ((struct instance_array__NativeArray
*)var461
)->values
[1] = (val
*) var_spd396
;
2669 ((struct instance_array__NativeArray
*)var461
)->values
[2] = (val
*) var422
;
2670 ((struct instance_array__NativeArray
*)var461
)->values
[3] = (val
*) var434
;
2671 ((struct instance_array__NativeArray
*)var461
)->values
[4] = (val
*) var436
;
2672 ((struct instance_array__NativeArray
*)var461
)->values
[5] = (val
*) var_longest
;
2673 ((struct instance_array__NativeArray
*)var461
)->values
[6] = (val
*) var441
;
2674 ((struct instance_array__NativeArray
*)var461
)->values
[7] = (val
*) var453
;
2675 ((struct instance_array__NativeArray
*)var461
)->values
[8] = (val
*) var455
;
2677 ((void (*)(val
*, val
*, long))(var459
->class->vft
[COLOR_array__Array__with_native
]))(var459
, var461
, var460
) /* with_native on <var459:Array[Object]>*/;
2681 var462
= ((val
* (*)(val
*))(var459
->class->vft
[COLOR_string__Object__to_s
]))(var459
) /* to_s on <var459:Array[Object]>*/;
2684 modelbuilder__ModelBuilder__error(self
, var_nclassdef
, var462
); /* Direct call modelbuilder#ModelBuilder#error on <self:ModelBuilder>*/
2691 { /* Inline kernel#Int#+ (var_i,var463) on <var_i:Int> */
2692 /* Covariant cast for argument 0 (i) <var463:Int> isa OTHER */
2693 /* <var463:Int> isa OTHER */
2694 var466
= 1; /* easy <var463:Int> isa OTHER*/
2695 if (unlikely(!var466
)) {
2696 var_class_name469
= type_kernel__Int
.name
;
2697 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name469
);
2698 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
2701 var470
= var_i
+ var463
;
2704 RET_LABEL465
:(void)0;
2709 array__ArrayIterator__next(var_403
); /* Direct call array#ArrayIterator#next on <var_403:ArrayIterator[MProperty]>*/
2712 goto BREAK_label471
;
2715 BREAK_label471
: (void)0;
2717 { /* Inline abstract_collection#Iterator#finish (var_403) on <var_403:ArrayIterator[MProperty]> */
2718 RET_LABEL472
:(void)0;
2722 array__ArrayIterator__next(var_393
); /* Direct call array#ArrayIterator#next on <var_393:ArrayIterator[MMethodDef]>*/
2725 goto BREAK_label473
;
2728 BREAK_label473
: (void)0;
2730 { /* Inline abstract_collection#Iterator#finish (var_393) on <var_393:ArrayIterator[MMethodDef]> */
2731 RET_LABEL474
:(void)0;
2737 { /* Inline array#AbstractArrayRead#length (var_spropdefs) on <var_spropdefs:Array[MMethodDef]> */
2738 var479
= var_spropdefs
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_spropdefs:Array[MMethodDef]> */
2740 RET_LABEL478
:(void)0;
2745 { /* Inline kernel#Int#== (var477,var480) on <var477:Int> */
2746 var484
= var477
== var480
;
2749 RET_LABEL483
:(void)0;
2756 var486
= array__AbstractArrayRead__is_empty(var_mparameters130
);
2765 if (var_defined_init
== NULL
) {
2766 var489
= 1; /* is null */
2768 var489
= 0; /* arg is null but recv is not */
2771 { /* Inline kernel#Object#== (var_defined_init,var488) on <var_defined_init:nullable MMethodDef> */
2774 { /* Inline kernel#Object#is_same_instance (var_defined_init,var_other) on <var_defined_init:nullable MMethodDef(MMethodDef)> */
2775 var494
= var_defined_init
== var_other
;
2778 RET_LABEL493
:(void)0;
2783 RET_LABEL491
:(void)0;
2793 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
2794 var497
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
2795 if (unlikely(var497
== NULL
)) {
2796 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2797 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
2801 RET_LABEL496
:(void)0;
2805 var499
= varonce498
;
2807 var500
= " inherits the basic constructor ";
2809 var502
= string__NativeString__to_s_with_length(var500
, var501
);
2811 varonce498
= var499
;
2813 var503
= NEW_array__Array(&type_array__Arraykernel__Object
);
2814 { /* var503 = array_instance Array[Object] */
2816 var505
= NEW_array__NativeArray(var504
, &type_array__NativeArraykernel__Object
);
2817 ((struct instance_array__NativeArray
*)var505
)->values
[0] = (val
*) var_mclassdef
;
2818 ((struct instance_array__NativeArray
*)var505
)->values
[1] = (val
*) var499
;
2819 ((struct instance_array__NativeArray
*)var505
)->values
[2] = (val
*) var_longest
;
2821 ((void (*)(val
*, val
*, long))(var503
->class->vft
[COLOR_array__Array__with_native
]))(var503
, var505
, var504
) /* with_native on <var503:Array[Object]>*/;
2825 var506
= ((val
* (*)(val
*))(var503
->class->vft
[COLOR_string__Object__to_s
]))(var503
) /* to_s on <var503:Array[Object]>*/;
2829 toolcontext__ToolContext__info(var495
, var506
, var507
); /* Direct call toolcontext#ToolContext#info on <var495:ToolContext>*/
2832 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
2833 var510
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
2834 if (unlikely(var510
== NULL
)) {
2835 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2836 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
2840 RET_LABEL509
:(void)0;
2844 { /* Inline modelize_property#MClass#root_init= (var508,var_longest) on <var508:MClass> */
2845 var508
->attrs
[COLOR_modelize_property__MClass___root_init
].val
= var_longest
; /* _root_init on <var508:MClass> */
2846 RET_LABEL511
:(void)0;
2853 { /* Inline model#MMethodDef#initializers (var_longest) on <var_longest:MMethodDef> */
2854 var514
= var_longest
->attrs
[COLOR_model__MMethodDef___initializers
].val
; /* _initializers on <var_longest:MMethodDef> */
2855 if (unlikely(var514
== NULL
)) {
2856 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
2857 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1967);
2861 RET_LABEL513
:(void)0;
2865 { /* Inline array#AbstractArrayRead#length (var512) on <var512:Array[MProperty]> */
2866 var517
= var512
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var512:Array[MProperty]> */
2868 RET_LABEL516
:(void)0;
2873 { /* Inline kernel#Int#> (var515,var518) on <var515:Int> */
2874 /* Covariant cast for argument 0 (i) <var518:Int> isa OTHER */
2875 /* <var518:Int> isa OTHER */
2876 var521
= 1; /* easy <var518:Int> isa OTHER*/
2877 if (unlikely(!var521
)) {
2878 var_class_name524
= type_kernel__Int
.name
;
2879 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name524
);
2880 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
2883 var525
= var515
> var518
;
2886 RET_LABEL520
:(void)0;
2891 { /* Inline model#MMethodDef#new_msignature (var_longest) on <var_longest:MMethodDef> */
2892 var528
= var_longest
->attrs
[COLOR_model__MMethodDef___new_msignature
].val
; /* _new_msignature on <var_longest:MMethodDef> */
2894 RET_LABEL527
:(void)0;
2897 if (var526
== NULL
) {
2898 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2899 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 211);
2902 { /* Inline model#MSignature#mparameters (var526) on <var526:nullable MSignature> */
2903 if (unlikely(var526
== NULL
)) {
2904 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2905 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
2908 var531
= var526
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var526:nullable MSignature> */
2909 if (unlikely(var531
== NULL
)) {
2910 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
2911 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
2915 RET_LABEL530
:(void)0;
2919 abstract_collection__Sequence__prepend(var_mparameters130
, var529
); /* Direct call abstract_collection#Sequence#prepend on <var_mparameters130:Array[MParameter]>*/
2922 { /* Inline model#MMethodDef#initializers (var_longest) on <var_longest:MMethodDef> */
2923 var534
= var_longest
->attrs
[COLOR_model__MMethodDef___initializers
].val
; /* _initializers on <var_longest:MMethodDef> */
2924 if (unlikely(var534
== NULL
)) {
2925 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
2926 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1967);
2930 RET_LABEL533
:(void)0;
2934 abstract_collection__Sequence__prepend(var_initializers
, var532
); /* Direct call abstract_collection#Sequence#prepend on <var_initializers:Array[MProperty]>*/
2939 if (var_defined_init
== NULL
) {
2940 var536
= 0; /* is null */
2942 var536
= 1; /* arg is null and recv is not */
2945 { /* Inline kernel#Object#!= (var_defined_init,var535) on <var_defined_init:nullable MMethodDef> */
2946 var_other240
= var535
;
2948 var540
= ((short int (*)(val
*, val
*))(var_defined_init
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_defined_init
, var_other240
) /* == on <var_defined_init:nullable MMethodDef(MMethodDef)>*/;
2954 RET_LABEL538
:(void)0;
2960 { /* Inline model#MMethodDef#initializers (var_defined_init) on <var_defined_init:nullable MMethodDef(MMethodDef)> */
2961 var544
= var_defined_init
->attrs
[COLOR_model__MMethodDef___initializers
].val
; /* _initializers on <var_defined_init:nullable MMethodDef(MMethodDef)> */
2962 if (unlikely(var544
== NULL
)) {
2963 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
2964 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1967);
2968 RET_LABEL543
:(void)0;
2972 abstract_collection__SimpleCollection__add_all(var542
, var_initializers
); /* Direct call abstract_collection#SimpleCollection#add_all on <var542:Array[MProperty]>*/
2974 var545
= NEW_model__MSignature(&type_model__MSignature
);
2977 model__MSignature__init(var545
, var_mparameters130
, var546
); /* Direct call model#MSignature#init on <var545:MSignature>*/
2979 var_msignature547
= var545
;
2981 { /* Inline model#MMethodDef#new_msignature= (var_defined_init,var_msignature547) on <var_defined_init:nullable MMethodDef(MMethodDef)> */
2982 var_defined_init
->attrs
[COLOR_model__MMethodDef___new_msignature
].val
= var_msignature547
; /* _new_msignature on <var_defined_init:nullable MMethodDef(MMethodDef)> */
2983 RET_LABEL548
:(void)0;
2987 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
2988 var551
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
2989 if (unlikely(var551
== NULL
)) {
2990 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2991 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
2995 RET_LABEL550
:(void)0;
2999 var553
= varonce552
;
3001 var554
= " extends its basic constructor signature to ";
3003 var556
= string__NativeString__to_s_with_length(var554
, var555
);
3005 varonce552
= var553
;
3007 var557
= NEW_array__Array(&type_array__Arraykernel__Object
);
3008 { /* var557 = array_instance Array[Object] */
3010 var559
= NEW_array__NativeArray(var558
, &type_array__NativeArraykernel__Object
);
3011 ((struct instance_array__NativeArray
*)var559
)->values
[0] = (val
*) var_mclassdef
;
3012 ((struct instance_array__NativeArray
*)var559
)->values
[1] = (val
*) var553
;
3013 ((struct instance_array__NativeArray
*)var559
)->values
[2] = (val
*) var_defined_init
;
3014 ((struct instance_array__NativeArray
*)var559
)->values
[3] = (val
*) var_msignature547
;
3016 ((void (*)(val
*, val
*, long))(var557
->class->vft
[COLOR_array__Array__with_native
]))(var557
, var559
, var558
) /* with_native on <var557:Array[Object]>*/;
3020 var560
= ((val
* (*)(val
*))(var557
->class->vft
[COLOR_string__Object__to_s
]))(var557
) /* to_s on <var557:Array[Object]>*/;
3024 toolcontext__ToolContext__info(var549
, var560
, var561
); /* Direct call toolcontext#ToolContext#info on <var549:ToolContext>*/
3027 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
3028 var564
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
3029 if (unlikely(var564
== NULL
)) {
3030 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3031 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
3035 RET_LABEL563
:(void)0;
3039 { /* Inline modelize_property#MClass#root_init= (var562,var_defined_init) on <var562:MClass> */
3040 var562
->attrs
[COLOR_modelize_property__MClass___root_init
].val
= var_defined_init
; /* _root_init on <var562:MClass> */
3041 RET_LABEL565
:(void)0;
3048 { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (self) on <self:ModelBuilder> */
3049 var568
= self
->attrs
[COLOR_modelize_property__ModelBuilder___the_root_init_mmethod
].val
; /* _the_root_init_mmethod on <self:ModelBuilder> */
3051 RET_LABEL567
:(void)0;
3054 if (unlikely(var566
== NULL
)) {
3055 PRINT_ERROR("Runtime error: %s", "Cast failed");
3056 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 226);
3059 var_mprop569
= var566
;
3060 var570
= NEW_model__MMethodDef(&type_model__MMethodDef
);
3062 { /* Inline parser_nodes#ANode#location (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
3063 var573
= var_nclassdef
->attrs
[COLOR_parser_nodes__ANode___location
].val
; /* _location on <var_nclassdef:AClassdef(AStdClassdef)> */
3064 if (unlikely(var573
== NULL
)) {
3065 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
3066 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23);
3070 RET_LABEL572
:(void)0;
3074 model__MMethodDef__init(var570
, var_mclassdef
, var_mprop569
, var571
); /* Direct call model#MMethodDef#init on <var570:MMethodDef>*/
3076 var_mpropdef574
= var570
;
3079 { /* Inline modelize_property#MPropDef#has_supercall= (var_mpropdef574,var575) on <var_mpropdef574:MMethodDef> */
3080 var_mpropdef574
->attrs
[COLOR_modelize_property__MPropDef___has_supercall
].s
= var575
; /* _has_supercall on <var_mpropdef574:MMethodDef> */
3081 RET_LABEL576
:(void)0;
3085 { /* Inline model#MMethodDef#initializers (var_mpropdef574) on <var_mpropdef574:MMethodDef> */
3086 var579
= var_mpropdef574
->attrs
[COLOR_model__MMethodDef___initializers
].val
; /* _initializers on <var_mpropdef574:MMethodDef> */
3087 if (unlikely(var579
== NULL
)) {
3088 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
3089 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1967);
3093 RET_LABEL578
:(void)0;
3097 abstract_collection__SimpleCollection__add_all(var577
, var_initializers
); /* Direct call abstract_collection#SimpleCollection#add_all on <var577:Array[MProperty]>*/
3099 var580
= NEW_model__MSignature(&type_model__MSignature
);
3102 model__MSignature__init(var580
, var_mparameters130
, var581
); /* Direct call model#MSignature#init on <var580:MSignature>*/
3104 var_msignature582
= var580
;
3106 { /* Inline model#MMethodDef#new_msignature= (var_mpropdef574,var_msignature582) on <var_mpropdef574:MMethodDef> */
3107 var_mpropdef574
->attrs
[COLOR_model__MMethodDef___new_msignature
].val
= var_msignature582
; /* _new_msignature on <var_mpropdef574:MMethodDef> */
3108 RET_LABEL583
:(void)0;
3111 var584
= NEW_model__MSignature(&type_model__MSignature
);
3112 var585
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
3114 ((void (*)(val
*))(var585
->class->vft
[COLOR_kernel__Object__init
]))(var585
) /* init on <var585:Array[MParameter]>*/;
3118 model__MSignature__init(var584
, var585
, var586
); /* Direct call model#MSignature#init on <var584:MSignature>*/
3121 { /* Inline model#MMethodDef#msignature= (var_mpropdef574,var584) on <var_mpropdef574:MMethodDef> */
3122 var_mpropdef574
->attrs
[COLOR_model__MMethodDef___msignature
].val
= var584
; /* _msignature on <var_mpropdef574:MMethodDef> */
3123 RET_LABEL587
:(void)0;
3127 { /* Inline modelize_property#AClassdef#mfree_init= (var_nclassdef,var_mpropdef574) on <var_nclassdef:AClassdef(AStdClassdef)> */
3128 var_nclassdef
->attrs
[COLOR_modelize_property__AClassdef___mfree_init
].val
= var_mpropdef574
; /* _mfree_init on <var_nclassdef:AClassdef(AStdClassdef)> */
3129 RET_LABEL588
:(void)0;
3133 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
3134 var591
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
3135 if (unlikely(var591
== NULL
)) {
3136 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3137 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
3141 RET_LABEL590
:(void)0;
3145 var593
= varonce592
;
3147 var594
= " gets a free constructor for attributes ";
3149 var596
= string__NativeString__to_s_with_length(var594
, var595
);
3151 varonce592
= var593
;
3153 var597
= NEW_array__Array(&type_array__Arraykernel__Object
);
3154 { /* var597 = array_instance Array[Object] */
3156 var599
= NEW_array__NativeArray(var598
, &type_array__NativeArraykernel__Object
);
3157 ((struct instance_array__NativeArray
*)var599
)->values
[0] = (val
*) var_mclassdef
;
3158 ((struct instance_array__NativeArray
*)var599
)->values
[1] = (val
*) var593
;
3159 ((struct instance_array__NativeArray
*)var599
)->values
[2] = (val
*) var_mpropdef574
;
3160 ((struct instance_array__NativeArray
*)var599
)->values
[3] = (val
*) var_msignature582
;
3162 ((void (*)(val
*, val
*, long))(var597
->class->vft
[COLOR_array__Array__with_native
]))(var597
, var599
, var598
) /* with_native on <var597:Array[Object]>*/;
3166 var600
= ((val
* (*)(val
*))(var597
->class->vft
[COLOR_string__Object__to_s
]))(var597
) /* to_s on <var597:Array[Object]>*/;
3170 toolcontext__ToolContext__info(var589
, var600
, var601
); /* Direct call toolcontext#ToolContext#info on <var589:ToolContext>*/
3173 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
3174 var604
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
3175 if (unlikely(var604
== NULL
)) {
3176 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3177 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
3181 RET_LABEL603
:(void)0;
3185 { /* Inline modelize_property#MClass#root_init= (var602,var_mpropdef574) on <var602:MClass> */
3186 var602
->attrs
[COLOR_modelize_property__MClass___root_init
].val
= var_mpropdef574
; /* _root_init on <var602:MClass> */
3187 RET_LABEL605
:(void)0;
3192 /* method modelize_property#ModelBuilder#process_default_constructors for (self: Object, AClassdef) */
3193 void VIRTUAL_modelize_property__ModelBuilder__process_default_constructors(val
* self
, val
* p0
) {
3194 modelize_property__ModelBuilder__process_default_constructors(self
, p0
); /* Direct call modelize_property#ModelBuilder#process_default_constructors on <self:Object(ModelBuilder)>*/
3197 /* method modelize_property#ModelBuilder#check_visibility for (self: ModelBuilder, ANode, MType, MPropDef) */
3198 void modelize_property__ModelBuilder__check_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3199 val
* var_node
/* var node: ANode */;
3200 val
* var_mtype
/* var mtype: MType */;
3201 val
* var_mpropdef
/* var mpropdef: MPropDef */;
3202 val
* var
/* : MClassDef */;
3203 val
* var2
/* : MClassDef */;
3204 val
* var3
/* : MModule */;
3205 val
* var5
/* : MModule */;
3206 val
* var_mmodule
/* var mmodule: MModule */;
3207 val
* var6
/* : MProperty */;
3208 val
* var8
/* : MProperty */;
3209 val
* var_mproperty
/* var mproperty: MProperty */;
3210 val
* var9
/* : null */;
3211 val
* var_vis_type
/* var vis_type: nullable MVisibility */;
3212 val
* var10
/* : null */;
3213 val
* var_mmodule_type
/* var mmodule_type: nullable MModule */;
3214 val
* var11
/* : MType */;
3215 short int var12
/* : Bool */;
3218 val
* var13
/* : MClass */;
3219 val
* var15
/* : MClass */;
3220 val
* var16
/* : MVisibility */;
3221 val
* var18
/* : MVisibility */;
3222 val
* var19
/* : MClass */;
3223 val
* var21
/* : MClass */;
3224 val
* var22
/* : MClassDef */;
3225 val
* var24
/* : MClassDef */;
3226 val
* var25
/* : MModule */;
3227 val
* var27
/* : MModule */;
3228 short int var28
/* : Bool */;
3231 val
* var31
/* : MProperty */;
3232 val
* var33
/* : MProperty */;
3233 val
* var34
/* : MVisibility */;
3234 val
* var36
/* : MVisibility */;
3235 val
* var37
/* : MProperty */;
3236 val
* var39
/* : MProperty */;
3237 val
* var40
/* : MClassDef */;
3238 val
* var42
/* : MClassDef */;
3239 val
* var43
/* : MModule */;
3240 val
* var45
/* : MModule */;
3241 short int var46
/* : Bool */;
3244 static val
* varonce
;
3245 val
* var49
/* : String */;
3246 char* var50
/* : NativeString */;
3247 long var51
/* : Int */;
3248 val
* var52
/* : FlatString */;
3249 val
* var53
/* : Array[Object] */;
3250 long var54
/* : Int */;
3251 val
* var55
/* : NativeArray[Object] */;
3252 val
* var56
/* : String */;
3253 val
* var57
/* : null */;
3254 short int var58
/* : Bool */;
3255 short int var59
/* : Bool */;
3256 val
* var_other
/* var other: nullable Object */;
3257 short int var61
/* : Bool */;
3258 short int var62
/* : Bool */;
3259 short int var63
/* : Bool */;
3260 val
* var64
/* : null */;
3261 short int var65
/* : Bool */;
3262 short int var66
/* : Bool */;
3263 short int var68
/* : Bool */;
3264 short int var69
/* : Bool */;
3265 short int var70
/* : Bool */;
3266 val
* var71
/* : MVisibility */;
3267 val
* var_vis_module_type
/* var vis_module_type: MVisibility */;
3268 val
* var72
/* : MVisibility */;
3269 val
* var74
/* : MVisibility */;
3270 short int var75
/* : Bool */;
3271 static val
* varonce76
;
3272 val
* var77
/* : String */;
3273 char* var78
/* : NativeString */;
3274 long var79
/* : Int */;
3275 val
* var80
/* : FlatString */;
3276 val
* var81
/* : MVisibility */;
3277 val
* var83
/* : MVisibility */;
3278 static val
* varonce84
;
3279 val
* var85
/* : String */;
3280 char* var86
/* : NativeString */;
3281 long var87
/* : Int */;
3282 val
* var88
/* : FlatString */;
3283 static val
* varonce89
;
3284 val
* var90
/* : String */;
3285 char* var91
/* : NativeString */;
3286 long var92
/* : Int */;
3287 val
* var93
/* : FlatString */;
3288 static val
* varonce94
;
3289 val
* var95
/* : String */;
3290 char* var96
/* : NativeString */;
3291 long var97
/* : Int */;
3292 val
* var98
/* : FlatString */;
3293 static val
* varonce99
;
3294 val
* var100
/* : String */;
3295 char* var101
/* : NativeString */;
3296 long var102
/* : Int */;
3297 val
* var103
/* : FlatString */;
3298 val
* var104
/* : Array[Object] */;
3299 long var105
/* : Int */;
3300 val
* var106
/* : NativeArray[Object] */;
3301 val
* var107
/* : String */;
3302 val
* var108
/* : MVisibility */;
3303 val
* var110
/* : MVisibility */;
3304 short int var111
/* : Bool */;
3305 static val
* varonce112
;
3306 val
* var113
/* : String */;
3307 char* var114
/* : NativeString */;
3308 long var115
/* : Int */;
3309 val
* var116
/* : FlatString */;
3310 val
* var117
/* : MVisibility */;
3311 val
* var119
/* : MVisibility */;
3312 static val
* varonce120
;
3313 val
* var121
/* : String */;
3314 char* var122
/* : NativeString */;
3315 long var123
/* : Int */;
3316 val
* var124
/* : FlatString */;
3317 static val
* varonce125
;
3318 val
* var126
/* : String */;
3319 char* var127
/* : NativeString */;
3320 long var128
/* : Int */;
3321 val
* var129
/* : FlatString */;
3322 static val
* varonce130
;
3323 val
* var131
/* : String */;
3324 char* var132
/* : NativeString */;
3325 long var133
/* : Int */;
3326 val
* var134
/* : FlatString */;
3327 static val
* varonce135
;
3328 val
* var136
/* : String */;
3329 char* var137
/* : NativeString */;
3330 long var138
/* : Int */;
3331 val
* var139
/* : FlatString */;
3332 static val
* varonce140
;
3333 val
* var141
/* : String */;
3334 char* var142
/* : NativeString */;
3335 long var143
/* : Int */;
3336 val
* var144
/* : FlatString */;
3337 val
* var145
/* : Array[Object] */;
3338 long var146
/* : Int */;
3339 val
* var147
/* : NativeArray[Object] */;
3340 val
* var148
/* : String */;
3341 short int var149
/* : Bool */;
3344 val
* var152
/* : ANodes[AType] */;
3345 val
* var154
/* : ANodes[AType] */;
3346 val
* var_
/* var : ANodes[AType] */;
3347 val
* var155
/* : Iterator[ANode] */;
3348 val
* var_156
/* var : Iterator[AType] */;
3349 short int var157
/* : Bool */;
3350 val
* var158
/* : nullable Object */;
3351 val
* var_a
/* var a: AType */;
3352 val
* var159
/* : nullable MType */;
3353 val
* var161
/* : nullable MType */;
3354 val
* var_t
/* var t: nullable MType */;
3355 val
* var162
/* : null */;
3356 short int var163
/* : Bool */;
3357 short int var164
/* : Bool */;
3358 val
* var_other166
/* var other: nullable Object */;
3359 short int var167
/* : Bool */;
3360 short int var169
/* : Bool */;
3361 short int var172
/* : Bool */;
3364 val
* var175
/* : Array[MType] */;
3365 val
* var177
/* : Array[MType] */;
3366 val
* var_178
/* var : Array[MType] */;
3367 val
* var179
/* : ArrayIterator[nullable Object] */;
3368 val
* var_180
/* var : ArrayIterator[MType] */;
3369 short int var181
/* : Bool */;
3370 val
* var182
/* : nullable Object */;
3371 val
* var_t183
/* var t: MType */;
3376 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MPropDef> */
3377 var2
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MPropDef> */
3378 if (unlikely(var2
== NULL
)) {
3379 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
3380 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
3388 { /* Inline model#MClassDef#mmodule (var) on <var:MClassDef> */
3389 var5
= var
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var:MClassDef> */
3390 if (unlikely(var5
== NULL
)) {
3391 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3392 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
3401 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MPropDef> */
3402 var8
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MPropDef> */
3403 if (unlikely(var8
== NULL
)) {
3404 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
3405 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
3412 var_mproperty
= var6
;
3414 var_vis_type
= var9
;
3416 var_mmodule_type
= var10
;
3418 var11
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__as_notnullable
]))(var_mtype
) /* as_notnullable on <var_mtype:MType>*/;
3421 /* <var_mtype:MType> isa MClassType */
3422 cltype
= type_model__MClassType
.color
;
3423 idtype
= type_model__MClassType
.id
;
3424 if(cltype
>= var_mtype
->type
->table_size
) {
3427 var12
= var_mtype
->type
->type_table
[cltype
] == idtype
;
3431 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
3432 var15
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
3433 if (unlikely(var15
== NULL
)) {
3434 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3435 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
3439 RET_LABEL14
:(void)0;
3443 { /* Inline model#MClass#visibility (var13) on <var13:MClass> */
3444 var18
= var13
->attrs
[COLOR_model__MClass___visibility
].val
; /* _visibility on <var13:MClass> */
3445 if (unlikely(var18
== NULL
)) {
3446 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
3447 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 375);
3451 RET_LABEL17
:(void)0;
3454 var_vis_type
= var16
;
3456 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
3457 var21
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
3458 if (unlikely(var21
== NULL
)) {
3459 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3460 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
3464 RET_LABEL20
:(void)0;
3468 { /* Inline model#MClass#intro (var19) on <var19:MClass> */
3469 var24
= var19
->attrs
[COLOR_model__MClass___intro
].val
; /* _intro on <var19:MClass> */
3470 if (unlikely(var24
== NULL
)) {
3471 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3472 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 420);
3476 RET_LABEL23
:(void)0;
3480 { /* Inline model#MClassDef#mmodule (var22) on <var22:MClassDef> */
3481 var27
= var22
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var22:MClassDef> */
3482 if (unlikely(var27
== NULL
)) {
3483 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3484 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
3488 RET_LABEL26
:(void)0;
3491 var_mmodule_type
= var25
;
3493 /* <var_mtype:MType> isa MVirtualType */
3494 cltype29
= type_model__MVirtualType
.color
;
3495 idtype30
= type_model__MVirtualType
.id
;
3496 if(cltype29
>= var_mtype
->type
->table_size
) {
3499 var28
= var_mtype
->type
->type_table
[cltype29
] == idtype30
;
3503 { /* Inline model#MVirtualType#mproperty (var_mtype) on <var_mtype:MType(MVirtualType)> */
3504 var33
= var_mtype
->attrs
[COLOR_model__MVirtualType___mproperty
].val
; /* _mproperty on <var_mtype:MType(MVirtualType)> */
3505 if (unlikely(var33
== NULL
)) {
3506 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
3507 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1152);
3511 RET_LABEL32
:(void)0;
3515 { /* Inline model#MProperty#visibility (var31) on <var31:MProperty> */
3516 var36
= var31
->attrs
[COLOR_model__MProperty___visibility
].val
; /* _visibility on <var31:MProperty> */
3517 if (unlikely(var36
== NULL
)) {
3518 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
3519 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1630);
3523 RET_LABEL35
:(void)0;
3526 var_vis_type
= var34
;
3528 { /* Inline model#MVirtualType#mproperty (var_mtype) on <var_mtype:MType(MVirtualType)> */
3529 var39
= var_mtype
->attrs
[COLOR_model__MVirtualType___mproperty
].val
; /* _mproperty on <var_mtype:MType(MVirtualType)> */
3530 if (unlikely(var39
== NULL
)) {
3531 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
3532 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1152);
3536 RET_LABEL38
:(void)0;
3540 { /* Inline model#MProperty#intro_mclassdef (var37) on <var37:MProperty> */
3541 var42
= var37
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var37:MProperty> */
3542 if (unlikely(var42
== NULL
)) {
3543 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
3544 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1615);
3548 RET_LABEL41
:(void)0;
3552 { /* Inline model#MClassDef#mmodule (var40) on <var40:MClassDef> */
3553 var45
= var40
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var40:MClassDef> */
3554 if (unlikely(var45
== NULL
)) {
3555 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3556 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
3560 RET_LABEL44
:(void)0;
3563 var_mmodule_type
= var43
;
3565 /* <var_mtype:MType> isa MParameterType */
3566 cltype47
= type_model__MParameterType
.color
;
3567 idtype48
= type_model__MParameterType
.id
;
3568 if(cltype47
>= var_mtype
->type
->table_size
) {
3571 var46
= var_mtype
->type
->type_table
[cltype47
] == idtype48
;
3578 var50
= "Unexpected type ";
3580 var52
= string__NativeString__to_s_with_length(var50
, var51
);
3584 var53
= NEW_array__Array(&type_array__Arraykernel__Object
);
3585 { /* var53 = array_instance Array[Object] */
3587 var55
= NEW_array__NativeArray(var54
, &type_array__NativeArraykernel__Object
);
3588 ((struct instance_array__NativeArray
*)var55
)->values
[0] = (val
*) var49
;
3589 ((struct instance_array__NativeArray
*)var55
)->values
[1] = (val
*) var_mtype
;
3591 ((void (*)(val
*, val
*, long))(var53
->class->vft
[COLOR_array__Array__with_native
]))(var53
, var55
, var54
) /* with_native on <var53:Array[Object]>*/;
3595 var56
= ((val
* (*)(val
*))(var53
->class->vft
[COLOR_string__Object__to_s
]))(var53
) /* to_s on <var53:Array[Object]>*/;
3598 parser_nodes__ANode__debug(var_node
, var56
); /* Direct call parser_nodes#ANode#debug on <var_node:ANode>*/
3600 PRINT_ERROR("Runtime error: %s", "Aborted");
3601 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 259);
3607 if (var_vis_type
== NULL
) {
3608 var58
= 0; /* is null */
3610 var58
= 1; /* arg is null and recv is not */
3613 { /* Inline kernel#Object#!= (var_vis_type,var57) on <var_vis_type:nullable MVisibility> */
3616 var62
= ((short int (*)(val
*, val
*))(var_vis_type
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_vis_type
, var_other
) /* == on <var_vis_type:nullable MVisibility(MVisibility)>*/;
3622 RET_LABEL60
:(void)0;
3628 if (var_mmodule_type
== NULL
) {
3629 var65
= 0; /* is null */
3631 var65
= 1; /* arg is null and recv is not */
3634 { /* Inline kernel#Object#!= (var_mmodule_type,var64) on <var_mmodule_type:nullable MModule> */
3637 var69
= ((short int (*)(val
*, val
*))(var_mmodule_type
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mmodule_type
, var_other
) /* == on <var_mmodule_type:nullable MModule(MModule)>*/;
3643 RET_LABEL67
:(void)0;
3647 if (unlikely(!var65
)) {
3648 PRINT_ERROR("Runtime error: %s", "Assert failed");
3649 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 263);
3653 var71
= mmodule__MModule__visibility_for(var_mmodule
, var_mmodule_type
);
3655 var_vis_module_type
= var71
;
3657 { /* Inline model#MProperty#visibility (var_mproperty) on <var_mproperty:MProperty> */
3658 var74
= var_mproperty
->attrs
[COLOR_model__MProperty___visibility
].val
; /* _visibility on <var_mproperty:MProperty> */
3659 if (unlikely(var74
== NULL
)) {
3660 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
3661 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1630);
3665 RET_LABEL73
:(void)0;
3669 var75
= kernel__Comparable___62d(var72
, var_vis_type
);
3675 var78
= "Error: The ";
3677 var80
= string__NativeString__to_s_with_length(var78
, var79
);
3682 { /* Inline model#MProperty#visibility (var_mproperty) on <var_mproperty:MProperty> */
3683 var83
= var_mproperty
->attrs
[COLOR_model__MProperty___visibility
].val
; /* _visibility on <var_mproperty:MProperty> */
3684 if (unlikely(var83
== NULL
)) {
3685 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
3686 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1630);
3690 RET_LABEL82
:(void)0;
3696 var86
= " property `";
3698 var88
= string__NativeString__to_s_with_length(var86
, var87
);
3705 var91
= "` cannot contain the ";
3707 var93
= string__NativeString__to_s_with_length(var91
, var92
);
3716 var98
= string__NativeString__to_s_with_length(var96
, var97
);
3725 var103
= string__NativeString__to_s_with_length(var101
, var102
);
3729 var104
= NEW_array__Array(&type_array__Arraykernel__Object
);
3730 { /* var104 = array_instance Array[Object] */
3732 var106
= NEW_array__NativeArray(var105
, &type_array__NativeArraykernel__Object
);
3733 ((struct instance_array__NativeArray
*)var106
)->values
[0] = (val
*) var77
;
3734 ((struct instance_array__NativeArray
*)var106
)->values
[1] = (val
*) var81
;
3735 ((struct instance_array__NativeArray
*)var106
)->values
[2] = (val
*) var85
;
3736 ((struct instance_array__NativeArray
*)var106
)->values
[3] = (val
*) var_mproperty
;
3737 ((struct instance_array__NativeArray
*)var106
)->values
[4] = (val
*) var90
;
3738 ((struct instance_array__NativeArray
*)var106
)->values
[5] = (val
*) var_vis_type
;
3739 ((struct instance_array__NativeArray
*)var106
)->values
[6] = (val
*) var95
;
3740 ((struct instance_array__NativeArray
*)var106
)->values
[7] = (val
*) var_mtype
;
3741 ((struct instance_array__NativeArray
*)var106
)->values
[8] = (val
*) var100
;
3743 ((void (*)(val
*, val
*, long))(var104
->class->vft
[COLOR_array__Array__with_native
]))(var104
, var106
, var105
) /* with_native on <var104:Array[Object]>*/;
3747 var107
= ((val
* (*)(val
*))(var104
->class->vft
[COLOR_string__Object__to_s
]))(var104
) /* to_s on <var104:Array[Object]>*/;
3750 modelbuilder__ModelBuilder__error(self
, var_node
, var107
); /* Direct call modelbuilder#ModelBuilder#error on <self:ModelBuilder>*/
3755 { /* Inline model#MProperty#visibility (var_mproperty) on <var_mproperty:MProperty> */
3756 var110
= var_mproperty
->attrs
[COLOR_model__MProperty___visibility
].val
; /* _visibility on <var_mproperty:MProperty> */
3757 if (unlikely(var110
== NULL
)) {
3758 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
3759 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1630);
3763 RET_LABEL109
:(void)0;
3767 var111
= kernel__Comparable___62d(var108
, var_vis_module_type
);
3771 var113
= varonce112
;
3773 var114
= "Error: The ";
3775 var116
= string__NativeString__to_s_with_length(var114
, var115
);
3777 varonce112
= var113
;
3780 { /* Inline model#MProperty#visibility (var_mproperty) on <var_mproperty:MProperty> */
3781 var119
= var_mproperty
->attrs
[COLOR_model__MProperty___visibility
].val
; /* _visibility on <var_mproperty:MProperty> */
3782 if (unlikely(var119
== NULL
)) {
3783 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
3784 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1630);
3788 RET_LABEL118
:(void)0;
3792 var121
= varonce120
;
3794 var122
= " property `";
3796 var124
= string__NativeString__to_s_with_length(var122
, var123
);
3798 varonce120
= var121
;
3801 var126
= varonce125
;
3803 var127
= "` cannot contain the type `";
3805 var129
= string__NativeString__to_s_with_length(var127
, var128
);
3807 varonce125
= var126
;
3810 var131
= varonce130
;
3812 var132
= "` from the ";
3814 var134
= string__NativeString__to_s_with_length(var132
, var133
);
3816 varonce130
= var131
;
3819 var136
= varonce135
;
3821 var137
= " module `";
3823 var139
= string__NativeString__to_s_with_length(var137
, var138
);
3825 varonce135
= var136
;
3828 var141
= varonce140
;
3832 var144
= string__NativeString__to_s_with_length(var142
, var143
);
3834 varonce140
= var141
;
3836 var145
= NEW_array__Array(&type_array__Arraykernel__Object
);
3837 { /* var145 = array_instance Array[Object] */
3839 var147
= NEW_array__NativeArray(var146
, &type_array__NativeArraykernel__Object
);
3840 ((struct instance_array__NativeArray
*)var147
)->values
[0] = (val
*) var113
;
3841 ((struct instance_array__NativeArray
*)var147
)->values
[1] = (val
*) var117
;
3842 ((struct instance_array__NativeArray
*)var147
)->values
[2] = (val
*) var121
;
3843 ((struct instance_array__NativeArray
*)var147
)->values
[3] = (val
*) var_mproperty
;
3844 ((struct instance_array__NativeArray
*)var147
)->values
[4] = (val
*) var126
;
3845 ((struct instance_array__NativeArray
*)var147
)->values
[5] = (val
*) var_mtype
;
3846 ((struct instance_array__NativeArray
*)var147
)->values
[6] = (val
*) var131
;
3847 ((struct instance_array__NativeArray
*)var147
)->values
[7] = (val
*) var_vis_module_type
;
3848 ((struct instance_array__NativeArray
*)var147
)->values
[8] = (val
*) var136
;
3849 ((struct instance_array__NativeArray
*)var147
)->values
[9] = (val
*) var_mmodule_type
;
3850 ((struct instance_array__NativeArray
*)var147
)->values
[10] = (val
*) var141
;
3852 ((void (*)(val
*, val
*, long))(var145
->class->vft
[COLOR_array__Array__with_native
]))(var145
, var147
, var146
) /* with_native on <var145:Array[Object]>*/;
3856 var148
= ((val
* (*)(val
*))(var145
->class->vft
[COLOR_string__Object__to_s
]))(var145
) /* to_s on <var145:Array[Object]>*/;
3859 modelbuilder__ModelBuilder__error(self
, var_node
, var148
); /* Direct call modelbuilder#ModelBuilder#error on <self:ModelBuilder>*/
3867 /* <var_node:ANode> isa AType */
3868 cltype150
= type_parser_nodes__AType
.color
;
3869 idtype151
= type_parser_nodes__AType
.id
;
3870 if(cltype150
>= var_node
->type
->table_size
) {
3873 var149
= var_node
->type
->type_table
[cltype150
] == idtype151
;
3877 { /* Inline parser_nodes#AType#n_types (var_node) on <var_node:ANode(AType)> */
3878 var154
= var_node
->attrs
[COLOR_parser_nodes__AType___n_types
].val
; /* _n_types on <var_node:ANode(AType)> */
3879 if (unlikely(var154
== NULL
)) {
3880 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types");
3881 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1300);
3885 RET_LABEL153
:(void)0;
3890 var155
= parser_nodes__ANodes__iterator(var_
);
3895 var157
= ((short int (*)(val
*))(var_156
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_156
) /* is_ok on <var_156:Iterator[AType]>*/;
3899 var158
= ((val
* (*)(val
*))(var_156
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_156
) /* item on <var_156:Iterator[AType]>*/;
3903 { /* Inline modelize_class#AType#mtype (var_a) on <var_a:AType> */
3904 var161
= var_a
->attrs
[COLOR_modelize_class__AType___mtype
].val
; /* _mtype on <var_a:AType> */
3906 RET_LABEL160
:(void)0;
3911 if (var_t
== NULL
) {
3912 var163
= 1; /* is null */
3914 var163
= 0; /* arg is null but recv is not */
3917 { /* Inline kernel#Object#== (var_t,var162) on <var_t:nullable MType> */
3918 var_other166
= var162
;
3920 { /* Inline kernel#Object#is_same_instance (var_t,var_other166) on <var_t:nullable MType(MType)> */
3921 var169
= var_t
== var_other166
;
3924 RET_LABEL168
:(void)0;
3929 RET_LABEL165
:(void)0;
3938 modelize_property__ModelBuilder__check_visibility(self
, var_a
, var_t
, var_mpropdef
); /* Direct call modelize_property#ModelBuilder#check_visibility on <self:ModelBuilder>*/
3940 BREAK_label
: (void)0;
3942 ((void (*)(val
*))(var_156
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_156
) /* next on <var_156:Iterator[AType]>*/;
3945 goto BREAK_label170
;
3948 BREAK_label170
: (void)0;
3950 { /* Inline abstract_collection#Iterator#finish (var_156) on <var_156:Iterator[AType]> */
3951 RET_LABEL171
:(void)0;
3955 /* <var_mtype:MType> isa MGenericType */
3956 cltype173
= type_model__MGenericType
.color
;
3957 idtype174
= type_model__MGenericType
.id
;
3958 if(cltype173
>= var_mtype
->type
->table_size
) {
3961 var172
= var_mtype
->type
->type_table
[cltype173
] == idtype174
;
3965 { /* Inline model#MClassType#arguments (var_mtype) on <var_mtype:MType(MGenericType)> */
3966 var177
= var_mtype
->attrs
[COLOR_model__MClassType___arguments
].val
; /* _arguments on <var_mtype:MType(MGenericType)> */
3967 if (unlikely(var177
== NULL
)) {
3968 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
3969 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 996);
3973 RET_LABEL176
:(void)0;
3978 var179
= array__AbstractArrayRead__iterator(var_178
);
3983 var181
= array__ArrayIterator__is_ok(var_180
);
3987 var182
= array__ArrayIterator__item(var_180
);
3991 modelize_property__ModelBuilder__check_visibility(self
, var_node
, var_t183
, var_mpropdef
); /* Direct call modelize_property#ModelBuilder#check_visibility on <self:ModelBuilder>*/
3994 array__ArrayIterator__next(var_180
); /* Direct call array#ArrayIterator#next on <var_180:ArrayIterator[MType]>*/
3997 goto BREAK_label184
;
4000 BREAK_label184
: (void)0;
4002 { /* Inline abstract_collection#Iterator#finish (var_180) on <var_180:ArrayIterator[MType]> */
4003 RET_LABEL185
:(void)0;
4011 /* method modelize_property#ModelBuilder#check_visibility for (self: Object, ANode, MType, MPropDef) */
4012 void VIRTUAL_modelize_property__ModelBuilder__check_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4013 modelize_property__ModelBuilder__check_visibility(self
, p0
, p1
, p2
); /* Direct call modelize_property#ModelBuilder#check_visibility on <self:Object(ModelBuilder)>*/
4016 /* method modelize_property#MPropDef#has_supercall for (self: MPropDef): Bool */
4017 short int modelize_property__MPropDef__has_supercall(val
* self
) {
4018 short int var
/* : Bool */;
4019 short int var1
/* : Bool */;
4020 var1
= self
->attrs
[COLOR_modelize_property__MPropDef___has_supercall
].s
; /* _has_supercall on <self:MPropDef> */
4025 /* method modelize_property#MPropDef#has_supercall for (self: Object): Bool */
4026 short int VIRTUAL_modelize_property__MPropDef__has_supercall(val
* self
) {
4027 short int var
/* : Bool */;
4028 short int var1
/* : Bool */;
4029 short int var3
/* : Bool */;
4030 { /* Inline modelize_property#MPropDef#has_supercall (self) on <self:Object(MPropDef)> */
4031 var3
= self
->attrs
[COLOR_modelize_property__MPropDef___has_supercall
].s
; /* _has_supercall on <self:Object(MPropDef)> */
4039 /* method modelize_property#MPropDef#has_supercall= for (self: MPropDef, Bool) */
4040 void modelize_property__MPropDef__has_supercall_61d(val
* self
, short int p0
) {
4041 self
->attrs
[COLOR_modelize_property__MPropDef___has_supercall
].s
= p0
; /* _has_supercall on <self:MPropDef> */
4044 /* method modelize_property#MPropDef#has_supercall= for (self: Object, Bool) */
4045 void VIRTUAL_modelize_property__MPropDef__has_supercall_61d(val
* self
, short int p0
) {
4046 { /* Inline modelize_property#MPropDef#has_supercall= (self,p0) on <self:Object(MPropDef)> */
4047 self
->attrs
[COLOR_modelize_property__MPropDef___has_supercall
].s
= p0
; /* _has_supercall on <self:Object(MPropDef)> */
4052 /* method modelize_property#AClassdef#build_properties_is_done for (self: AClassdef): Bool */
4053 short int modelize_property__AClassdef__build_properties_is_done(val
* self
) {
4054 short int var
/* : Bool */;
4055 short int var1
/* : Bool */;
4056 var1
= self
->attrs
[COLOR_modelize_property__AClassdef___build_properties_is_done
].s
; /* _build_properties_is_done on <self:AClassdef> */
4061 /* method modelize_property#AClassdef#build_properties_is_done for (self: Object): Bool */
4062 short int VIRTUAL_modelize_property__AClassdef__build_properties_is_done(val
* self
) {
4063 short int var
/* : Bool */;
4064 short int var1
/* : Bool */;
4065 short int var3
/* : Bool */;
4066 { /* Inline modelize_property#AClassdef#build_properties_is_done (self) on <self:Object(AClassdef)> */
4067 var3
= self
->attrs
[COLOR_modelize_property__AClassdef___build_properties_is_done
].s
; /* _build_properties_is_done on <self:Object(AClassdef)> */
4075 /* method modelize_property#AClassdef#build_properties_is_done= for (self: AClassdef, Bool) */
4076 void modelize_property__AClassdef__build_properties_is_done_61d(val
* self
, short int p0
) {
4077 self
->attrs
[COLOR_modelize_property__AClassdef___build_properties_is_done
].s
= p0
; /* _build_properties_is_done on <self:AClassdef> */
4080 /* method modelize_property#AClassdef#build_properties_is_done= for (self: Object, Bool) */
4081 void VIRTUAL_modelize_property__AClassdef__build_properties_is_done_61d(val
* self
, short int p0
) {
4082 { /* Inline modelize_property#AClassdef#build_properties_is_done= (self,p0) on <self:Object(AClassdef)> */
4083 self
->attrs
[COLOR_modelize_property__AClassdef___build_properties_is_done
].s
= p0
; /* _build_properties_is_done on <self:Object(AClassdef)> */
4088 /* method modelize_property#AClassdef#mfree_init for (self: AClassdef): nullable MMethodDef */
4089 val
* modelize_property__AClassdef__mfree_init(val
* self
) {
4090 val
* var
/* : nullable MMethodDef */;
4091 val
* var1
/* : nullable MMethodDef */;
4092 var1
= self
->attrs
[COLOR_modelize_property__AClassdef___mfree_init
].val
; /* _mfree_init on <self:AClassdef> */
4097 /* method modelize_property#AClassdef#mfree_init for (self: Object): nullable MMethodDef */
4098 val
* VIRTUAL_modelize_property__AClassdef__mfree_init(val
* self
) {
4099 val
* var
/* : nullable MMethodDef */;
4100 val
* var1
/* : nullable MMethodDef */;
4101 val
* var3
/* : nullable MMethodDef */;
4102 { /* Inline modelize_property#AClassdef#mfree_init (self) on <self:Object(AClassdef)> */
4103 var3
= self
->attrs
[COLOR_modelize_property__AClassdef___mfree_init
].val
; /* _mfree_init on <self:Object(AClassdef)> */
4111 /* method modelize_property#AClassdef#mfree_init= for (self: AClassdef, nullable MMethodDef) */
4112 void modelize_property__AClassdef__mfree_init_61d(val
* self
, val
* p0
) {
4113 self
->attrs
[COLOR_modelize_property__AClassdef___mfree_init
].val
= p0
; /* _mfree_init on <self:AClassdef> */
4116 /* method modelize_property#AClassdef#mfree_init= for (self: Object, nullable MMethodDef) */
4117 void VIRTUAL_modelize_property__AClassdef__mfree_init_61d(val
* self
, val
* p0
) {
4118 { /* Inline modelize_property#AClassdef#mfree_init= (self,p0) on <self:Object(AClassdef)> */
4119 self
->attrs
[COLOR_modelize_property__AClassdef___mfree_init
].val
= p0
; /* _mfree_init on <self:Object(AClassdef)> */
4124 /* method modelize_property#MClass#root_init for (self: MClass): nullable MMethodDef */
4125 val
* modelize_property__MClass__root_init(val
* self
) {
4126 val
* var
/* : nullable MMethodDef */;
4127 val
* var1
/* : nullable MMethodDef */;
4128 var1
= self
->attrs
[COLOR_modelize_property__MClass___root_init
].val
; /* _root_init on <self:MClass> */
4133 /* method modelize_property#MClass#root_init for (self: Object): nullable MMethodDef */
4134 val
* VIRTUAL_modelize_property__MClass__root_init(val
* self
) {
4135 val
* var
/* : nullable MMethodDef */;
4136 val
* var1
/* : nullable MMethodDef */;
4137 val
* var3
/* : nullable MMethodDef */;
4138 { /* Inline modelize_property#MClass#root_init (self) on <self:Object(MClass)> */
4139 var3
= self
->attrs
[COLOR_modelize_property__MClass___root_init
].val
; /* _root_init on <self:Object(MClass)> */
4147 /* method modelize_property#MClass#root_init= for (self: MClass, nullable MMethodDef) */
4148 void modelize_property__MClass__root_init_61d(val
* self
, val
* p0
) {
4149 self
->attrs
[COLOR_modelize_property__MClass___root_init
].val
= p0
; /* _root_init on <self:MClass> */
4152 /* method modelize_property#MClass#root_init= for (self: Object, nullable MMethodDef) */
4153 void VIRTUAL_modelize_property__MClass__root_init_61d(val
* self
, val
* p0
) {
4154 { /* Inline modelize_property#MClass#root_init= (self,p0) on <self:Object(MClass)> */
4155 self
->attrs
[COLOR_modelize_property__MClass___root_init
].val
= p0
; /* _root_init on <self:Object(MClass)> */
4160 /* method modelize_property#MClassDef#mprop2npropdef for (self: MClassDef): Map[MProperty, APropdef] */
4161 val
* modelize_property__MClassDef__mprop2npropdef(val
* self
) {
4162 val
* var
/* : Map[MProperty, APropdef] */;
4163 val
* var1
/* : Map[MProperty, APropdef] */;
4164 var1
= self
->attrs
[COLOR_modelize_property__MClassDef___mprop2npropdef
].val
; /* _mprop2npropdef on <self:MClassDef> */
4165 if (unlikely(var1
== NULL
)) {
4166 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
4167 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 310);
4174 /* method modelize_property#MClassDef#mprop2npropdef for (self: Object): Map[MProperty, APropdef] */
4175 val
* VIRTUAL_modelize_property__MClassDef__mprop2npropdef(val
* self
) {
4176 val
* var
/* : Map[MProperty, APropdef] */;
4177 val
* var1
/* : Map[MProperty, APropdef] */;
4178 val
* var3
/* : Map[MProperty, APropdef] */;
4179 { /* Inline modelize_property#MClassDef#mprop2npropdef (self) on <self:Object(MClassDef)> */
4180 var3
= self
->attrs
[COLOR_modelize_property__MClassDef___mprop2npropdef
].val
; /* _mprop2npropdef on <self:Object(MClassDef)> */
4181 if (unlikely(var3
== NULL
)) {
4182 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
4183 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 310);
4193 /* method modelize_property#APropdef#mpropdef for (self: APropdef): nullable MPropDef */
4194 val
* modelize_property__APropdef__mpropdef(val
* self
) {
4195 val
* var
/* : nullable MPropDef */;
4196 val
* var1
/* : nullable MPropDef */;
4197 var1
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:APropdef> */
4202 /* method modelize_property#APropdef#mpropdef for (self: Object): nullable MPropDef */
4203 val
* VIRTUAL_modelize_property__APropdef__mpropdef(val
* self
) {
4204 val
* var
/* : nullable MPropDef */;
4205 val
* var1
/* : nullable MPropDef */;
4206 val
* var3
/* : nullable MPropDef */;
4207 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:Object(APropdef)> */
4208 var3
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:Object(APropdef)> */
4216 /* method modelize_property#APropdef#mpropdef= for (self: APropdef, nullable MPropDef) */
4217 void modelize_property__APropdef__mpropdef_61d(val
* self
, val
* p0
) {
4218 short int var
/* : Bool */;
4221 const struct type
* type_struct
;
4222 const char* var_class_name
;
4223 /* Covariant cast for argument 0 (mpropdef) <p0:nullable MPropDef> isa nullable MPROPDEF */
4224 /* <p0:nullable MPropDef> isa nullable MPROPDEF */
4225 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable_parser_nodes__APropdef_VTMPROPDEF
];
4226 cltype
= type_struct
->color
;
4227 idtype
= type_struct
->id
;
4231 if(cltype
>= p0
->type
->table_size
) {
4234 var
= p0
->type
->type_table
[cltype
] == idtype
;
4237 if (unlikely(!var
)) {
4238 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4239 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name
);
4240 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 319);
4243 self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
= p0
; /* _mpropdef on <self:APropdef> */
4246 /* method modelize_property#APropdef#mpropdef= for (self: Object, nullable MPropDef) */
4247 void VIRTUAL_modelize_property__APropdef__mpropdef_61d(val
* self
, val
* p0
) {
4248 short int var
/* : Bool */;
4251 const struct type
* type_struct
;
4252 const char* var_class_name
;
4253 { /* Inline modelize_property#APropdef#mpropdef= (self,p0) on <self:Object(APropdef)> */
4254 /* Covariant cast for argument 0 (mpropdef) <p0:nullable MPropDef> isa nullable MPROPDEF */
4255 /* <p0:nullable MPropDef> isa nullable MPROPDEF */
4256 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable_parser_nodes__APropdef_VTMPROPDEF
];
4257 cltype
= type_struct
->color
;
4258 idtype
= type_struct
->id
;
4262 if(cltype
>= p0
->type
->table_size
) {
4265 var
= p0
->type
->type_table
[cltype
] == idtype
;
4268 if (unlikely(!var
)) {
4269 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4270 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name
);
4271 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 319);
4274 self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
= p0
; /* _mpropdef on <self:Object(APropdef)> */
4279 /* method modelize_property#APropdef#new_property_visibility for (self: APropdef, ModelBuilder, MClassDef, nullable AVisibility): MVisibility */
4280 val
* modelize_property__APropdef__new_property_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4281 val
* var
/* : MVisibility */;
4282 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
4283 val
* var_mclassdef
/* var mclassdef: MClassDef */;
4284 val
* var_nvisibility
/* var nvisibility: nullable AVisibility */;
4285 val
* var1
/* : MVisibility */;
4286 val
* var_mvisibility
/* var mvisibility: MVisibility */;
4287 val
* var2
/* : null */;
4288 short int var3
/* : Bool */;
4289 short int var4
/* : Bool */;
4290 val
* var_other
/* var other: nullable Object */;
4291 short int var6
/* : Bool */;
4292 short int var7
/* : Bool */;
4293 short int var8
/* : Bool */;
4294 val
* var9
/* : MVisibility */;
4295 val
* var10
/* : MVisibility */;
4296 short int var11
/* : Bool */;
4297 short int var12
/* : Bool */;
4298 val
* var_other14
/* var other: nullable Object */;
4299 short int var15
/* : Bool */;
4300 short int var17
/* : Bool */;
4301 static val
* varonce
;
4302 val
* var18
/* : String */;
4303 char* var19
/* : NativeString */;
4304 long var20
/* : Int */;
4305 val
* var21
/* : FlatString */;
4306 val
* var22
/* : MVisibility */;
4307 val
* var23
/* : MClass */;
4308 val
* var25
/* : MClass */;
4309 val
* var26
/* : MVisibility */;
4310 val
* var28
/* : MVisibility */;
4311 val
* var29
/* : MVisibility */;
4312 short int var30
/* : Bool */;
4313 short int var31
/* : Bool */;
4314 short int var33
/* : Bool */;
4315 short int var35
/* : Bool */;
4316 val
* var36
/* : MVisibility */;
4317 short int var37
/* : Bool */;
4318 short int var38
/* : Bool */;
4319 short int var40
/* : Bool */;
4320 short int var42
/* : Bool */;
4321 val
* var43
/* : null */;
4322 short int var44
/* : Bool */;
4323 short int var45
/* : Bool */;
4324 short int var47
/* : Bool */;
4325 short int var48
/* : Bool */;
4326 short int var49
/* : Bool */;
4327 static val
* varonce50
;
4328 val
* var51
/* : String */;
4329 char* var52
/* : NativeString */;
4330 long var53
/* : Int */;
4331 val
* var54
/* : FlatString */;
4332 val
* var55
/* : MVisibility */;
4333 short int var56
/* : Bool */;
4334 short int var57
/* : Bool */;
4335 short int var59
/* : Bool */;
4336 short int var61
/* : Bool */;
4337 val
* var62
/* : null */;
4338 short int var63
/* : Bool */;
4339 short int var64
/* : Bool */;
4340 short int var66
/* : Bool */;
4341 short int var67
/* : Bool */;
4342 short int var68
/* : Bool */;
4343 static val
* varonce69
;
4344 val
* var70
/* : String */;
4345 char* var71
/* : NativeString */;
4346 long var72
/* : Int */;
4347 val
* var73
/* : FlatString */;
4348 static val
* varonce74
;
4349 val
* var75
/* : String */;
4350 char* var76
/* : NativeString */;
4351 long var77
/* : Int */;
4352 val
* var78
/* : FlatString */;
4353 val
* var79
/* : MVisibility */;
4354 var_modelbuilder
= p0
;
4356 var_nvisibility
= p2
;
4358 var1
= model_base__Object__public_visibility(self
);
4360 var_mvisibility
= var1
;
4362 if (var_nvisibility
== NULL
) {
4363 var3
= 0; /* is null */
4365 var3
= 1; /* arg is null and recv is not */
4368 { /* Inline kernel#Object#!= (var_nvisibility,var2) on <var_nvisibility:nullable AVisibility> */
4371 var7
= ((short int (*)(val
*, val
*))(var_nvisibility
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nvisibility
, var_other
) /* == on <var_nvisibility:nullable AVisibility(AVisibility)>*/;
4383 var9
= ((val
* (*)(val
*))(var_nvisibility
->class->vft
[COLOR_modelbuilder__AVisibility__mvisibility
]))(var_nvisibility
) /* mvisibility on <var_nvisibility:nullable AVisibility(AVisibility)>*/;
4385 var_mvisibility
= var9
;
4387 var10
= model_base__Object__intrude_visibility(self
);
4390 { /* Inline kernel#Object#== (var_mvisibility,var10) on <var_mvisibility:MVisibility> */
4391 var_other14
= var10
;
4393 { /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other14) on <var_mvisibility:MVisibility> */
4394 var17
= var_mvisibility
== var_other14
;
4397 RET_LABEL16
:(void)0;
4402 RET_LABEL13
:(void)0;
4410 var19
= "Error: intrude is not a legal visibility for properties.";
4412 var21
= string__NativeString__to_s_with_length(var19
, var20
);
4417 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_nvisibility
, var18
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
4420 var22
= model_base__Object__public_visibility(self
);
4422 var_mvisibility
= var22
;
4428 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
4429 var25
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
4430 if (unlikely(var25
== NULL
)) {
4431 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4432 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
4436 RET_LABEL24
:(void)0;
4440 { /* Inline model#MClass#visibility (var23) on <var23:MClass> */
4441 var28
= var23
->attrs
[COLOR_model__MClass___visibility
].val
; /* _visibility on <var23:MClass> */
4442 if (unlikely(var28
== NULL
)) {
4443 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
4444 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 375);
4448 RET_LABEL27
:(void)0;
4452 var29
= model_base__Object__private_visibility(self
);
4455 { /* Inline kernel#Object#== (var26,var29) on <var26:MVisibility> */
4456 var_other14
= var29
;
4458 { /* Inline kernel#Object#is_same_instance (var26,var_other14) on <var26:MVisibility> */
4459 var35
= var26
== var_other14
;
4462 RET_LABEL34
:(void)0;
4467 RET_LABEL32
:(void)0;
4473 var36
= model_base__Object__protected_visibility(self
);
4476 { /* Inline kernel#Object#== (var_mvisibility,var36) on <var_mvisibility:MVisibility> */
4477 var_other14
= var36
;
4479 { /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other14) on <var_mvisibility:MVisibility> */
4480 var42
= var_mvisibility
== var_other14
;
4483 RET_LABEL41
:(void)0;
4488 RET_LABEL39
:(void)0;
4494 if (var_nvisibility
== NULL
) {
4495 var44
= 0; /* is null */
4497 var44
= 1; /* arg is null and recv is not */
4500 { /* Inline kernel#Object#!= (var_nvisibility,var43) on <var_nvisibility:nullable AVisibility> */
4503 var48
= ((short int (*)(val
*, val
*))(var_nvisibility
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nvisibility
, var_other
) /* == on <var_nvisibility:nullable AVisibility(AVisibility)>*/;
4509 RET_LABEL46
:(void)0;
4513 if (unlikely(!var44
)) {
4514 PRINT_ERROR("Runtime error: %s", "Assert failed");
4515 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 337);
4521 var52
= "Error: The only legal visibility for properties in a private class is private.";
4523 var54
= string__NativeString__to_s_with_length(var52
, var53
);
4528 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_nvisibility
, var51
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
4532 var55
= model_base__Object__private_visibility(self
);
4535 { /* Inline kernel#Object#== (var_mvisibility,var55) on <var_mvisibility:MVisibility> */
4536 var_other14
= var55
;
4538 { /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other14) on <var_mvisibility:MVisibility> */
4539 var61
= var_mvisibility
== var_other14
;
4542 RET_LABEL60
:(void)0;
4547 RET_LABEL58
:(void)0;
4553 if (var_nvisibility
== NULL
) {
4554 var63
= 0; /* is null */
4556 var63
= 1; /* arg is null and recv is not */
4559 { /* Inline kernel#Object#!= (var_nvisibility,var62) on <var_nvisibility:nullable AVisibility> */
4562 var67
= ((short int (*)(val
*, val
*))(var_nvisibility
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nvisibility
, var_other
) /* == on <var_nvisibility:nullable AVisibility(AVisibility)>*/;
4568 RET_LABEL65
:(void)0;
4572 if (unlikely(!var63
)) {
4573 PRINT_ERROR("Runtime error: %s", "Assert failed");
4574 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 340);
4580 var71
= "useless-visibility";
4582 var73
= string__NativeString__to_s_with_length(var71
, var72
);
4589 var76
= "Warning: private is superfluous since the only legal visibility for properties in a private class is private.";
4591 var78
= string__NativeString__to_s_with_length(var76
, var77
);
4596 modelbuilder__ModelBuilder__advice(var_modelbuilder
, var_nvisibility
, var70
, var75
); /* Direct call modelbuilder#ModelBuilder#advice on <var_modelbuilder:ModelBuilder>*/
4602 var79
= model_base__Object__private_visibility(self
);
4604 var_mvisibility
= var79
;
4607 var
= var_mvisibility
;
4612 /* method modelize_property#APropdef#new_property_visibility for (self: Object, ModelBuilder, MClassDef, nullable AVisibility): MVisibility */
4613 val
* VIRTUAL_modelize_property__APropdef__new_property_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4614 val
* var
/* : MVisibility */;
4615 val
* var1
/* : MVisibility */;
4616 var1
= modelize_property__APropdef__new_property_visibility(self
, p0
, p1
, p2
);
4621 /* method modelize_property#APropdef#set_doc for (self: APropdef, MPropDef, ModelBuilder) */
4622 void modelize_property__APropdef__set_doc(val
* self
, val
* p0
, val
* p1
) {
4623 val
* var_mpropdef
/* var mpropdef: MPropDef */;
4624 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
4625 val
* var
/* : nullable ADoc */;
4626 val
* var2
/* : nullable ADoc */;
4627 val
* var_ndoc
/* var ndoc: nullable ADoc */;
4628 val
* var3
/* : null */;
4629 short int var4
/* : Bool */;
4630 short int var5
/* : Bool */;
4631 val
* var_other
/* var other: nullable Object */;
4632 short int var7
/* : Bool */;
4633 short int var8
/* : Bool */;
4634 short int var9
/* : Bool */;
4635 val
* var10
/* : MDoc */;
4636 val
* var_mdoc
/* var mdoc: MDoc */;
4637 short int var13
/* : Bool */;
4638 short int var14
/* : Bool */;
4639 short int var_
/* var : Bool */;
4640 val
* var15
/* : MProperty */;
4641 val
* var17
/* : MProperty */;
4642 val
* var18
/* : MVisibility */;
4643 val
* var20
/* : MVisibility */;
4644 val
* var21
/* : MVisibility */;
4645 short int var22
/* : Bool */;
4646 static val
* varonce
;
4647 val
* var23
/* : String */;
4648 char* var24
/* : NativeString */;
4649 long var25
/* : Int */;
4650 val
* var26
/* : FlatString */;
4651 static val
* varonce27
;
4652 val
* var28
/* : String */;
4653 char* var29
/* : NativeString */;
4654 long var30
/* : Int */;
4655 val
* var31
/* : FlatString */;
4656 val
* var32
/* : MProperty */;
4657 val
* var34
/* : MProperty */;
4658 static val
* varonce35
;
4659 val
* var36
/* : String */;
4660 char* var37
/* : NativeString */;
4661 long var38
/* : Int */;
4662 val
* var39
/* : FlatString */;
4663 val
* var40
/* : Array[Object] */;
4664 long var41
/* : Int */;
4665 val
* var42
/* : NativeArray[Object] */;
4666 val
* var43
/* : String */;
4667 static val
* varonce44
;
4668 val
* var45
/* : String */;
4669 char* var46
/* : NativeString */;
4670 long var47
/* : Int */;
4671 val
* var48
/* : FlatString */;
4672 val
* var49
/* : nullable AAnnotation */;
4673 val
* var_at_deprecated
/* var at_deprecated: nullable AAnnotation */;
4674 val
* var50
/* : null */;
4675 short int var51
/* : Bool */;
4676 short int var52
/* : Bool */;
4677 short int var54
/* : Bool */;
4678 short int var55
/* : Bool */;
4679 short int var56
/* : Bool */;
4680 short int var57
/* : Bool */;
4681 short int var58
/* : Bool */;
4682 static val
* varonce59
;
4683 val
* var60
/* : String */;
4684 char* var61
/* : NativeString */;
4685 long var62
/* : Int */;
4686 val
* var63
/* : FlatString */;
4687 val
* var64
/* : MDeprecationInfo */;
4688 val
* var_info
/* var info: MDeprecationInfo */;
4689 val
* var65
/* : nullable ADoc */;
4690 val
* var67
/* : nullable ADoc */;
4691 val
* var68
/* : null */;
4692 short int var69
/* : Bool */;
4693 short int var70
/* : Bool */;
4694 short int var72
/* : Bool */;
4695 short int var73
/* : Bool */;
4696 short int var74
/* : Bool */;
4697 val
* var75
/* : MDoc */;
4698 val
* var77
/* : MProperty */;
4699 val
* var79
/* : MProperty */;
4701 var_modelbuilder
= p1
;
4703 { /* Inline parser_nodes#APropdef#n_doc (self) on <self:APropdef> */
4704 var2
= self
->attrs
[COLOR_parser_nodes__APropdef___n_doc
].val
; /* _n_doc on <self:APropdef> */
4711 if (var_ndoc
== NULL
) {
4712 var4
= 0; /* is null */
4714 var4
= 1; /* arg is null and recv is not */
4717 { /* Inline kernel#Object#!= (var_ndoc,var3) on <var_ndoc:nullable ADoc> */
4720 var8
= ((short int (*)(val
*, val
*))(var_ndoc
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ndoc
, var_other
) /* == on <var_ndoc:nullable ADoc(ADoc)>*/;
4732 var10
= modelbuilder__ADoc__to_mdoc(var_ndoc
);
4736 { /* Inline mdoc#MEntity#mdoc= (var_mpropdef,var_mdoc) on <var_mpropdef:MPropDef> */
4737 var_mpropdef
->attrs
[COLOR_mdoc__MEntity___mdoc
].val
= var_mdoc
; /* _mdoc on <var_mpropdef:MPropDef> */
4738 RET_LABEL11
:(void)0;
4742 { /* Inline mdoc#MDoc#original_mentity= (var_mdoc,var_mpropdef) on <var_mdoc:MDoc> */
4743 var_mdoc
->attrs
[COLOR_mdoc__MDoc___original_mentity
].val
= var_mpropdef
; /* _original_mentity on <var_mdoc:MDoc> */
4744 RET_LABEL12
:(void)0;
4749 var14
= model__MPropDef__is_intro(var_mpropdef
);
4754 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MPropDef> */
4755 var17
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MPropDef> */
4756 if (unlikely(var17
== NULL
)) {
4757 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
4758 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
4762 RET_LABEL16
:(void)0;
4766 { /* Inline model#MProperty#visibility (var15) on <var15:MProperty> */
4767 var20
= var15
->attrs
[COLOR_model__MProperty___visibility
].val
; /* _visibility on <var15:MProperty> */
4768 if (unlikely(var20
== NULL
)) {
4769 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
4770 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1630);
4774 RET_LABEL19
:(void)0;
4778 var21
= model_base__Object__protected_visibility(self
);
4781 var22
= kernel__Comparable___62d_61d(var18
, var21
);
4791 var24
= "missing-doc";
4793 var26
= string__NativeString__to_s_with_length(var24
, var25
);
4800 var29
= "Documentation warning: Undocumented property `";
4802 var31
= string__NativeString__to_s_with_length(var29
, var30
);
4807 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MPropDef> */
4808 var34
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MPropDef> */
4809 if (unlikely(var34
== NULL
)) {
4810 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
4811 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
4815 RET_LABEL33
:(void)0;
4823 var39
= string__NativeString__to_s_with_length(var37
, var38
);
4827 var40
= NEW_array__Array(&type_array__Arraykernel__Object
);
4828 { /* var40 = array_instance Array[Object] */
4830 var42
= NEW_array__NativeArray(var41
, &type_array__NativeArraykernel__Object
);
4831 ((struct instance_array__NativeArray
*)var42
)->values
[0] = (val
*) var28
;
4832 ((struct instance_array__NativeArray
*)var42
)->values
[1] = (val
*) var32
;
4833 ((struct instance_array__NativeArray
*)var42
)->values
[2] = (val
*) var36
;
4835 ((void (*)(val
*, val
*, long))(var40
->class->vft
[COLOR_array__Array__with_native
]))(var40
, var42
, var41
) /* with_native on <var40:Array[Object]>*/;
4839 var43
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_string__Object__to_s
]))(var40
) /* to_s on <var40:Array[Object]>*/;
4842 modelbuilder__ModelBuilder__advice(var_modelbuilder
, self
, var23
, var43
); /* Direct call modelbuilder#ModelBuilder#advice on <var_modelbuilder:ModelBuilder>*/
4850 var46
= "deprecated";
4852 var48
= string__NativeString__to_s_with_length(var46
, var47
);
4857 var49
= annotation__Prod__get_single_annotation(self
, var45
, var_modelbuilder
);
4859 var_at_deprecated
= var49
;
4861 if (var_at_deprecated
== NULL
) {
4862 var51
= 0; /* is null */
4864 var51
= 1; /* arg is null and recv is not */
4867 { /* Inline kernel#Object#!= (var_at_deprecated,var50) on <var_at_deprecated:nullable AAnnotation> */
4870 var55
= ((short int (*)(val
*, val
*))(var_at_deprecated
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_at_deprecated
, var_other
) /* == on <var_at_deprecated:nullable AAnnotation(AAnnotation)>*/;
4876 RET_LABEL53
:(void)0;
4882 var57
= model__MPropDef__is_intro(var_mpropdef
);
4889 var61
= "Error: method redefinition cannot be deprecated.";
4891 var63
= string__NativeString__to_s_with_length(var61
, var62
);
4896 modelbuilder__ModelBuilder__error(var_modelbuilder
, self
, var60
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
4899 var64
= NEW_mdoc__MDeprecationInfo(&type_mdoc__MDeprecationInfo
);
4901 ((void (*)(val
*))(var64
->class->vft
[COLOR_kernel__Object__init
]))(var64
) /* init on <var64:MDeprecationInfo>*/;
4905 { /* Inline parser_nodes#AAnnotation#n_doc (var_at_deprecated) on <var_at_deprecated:nullable AAnnotation(AAnnotation)> */
4906 var67
= var_at_deprecated
->attrs
[COLOR_parser_nodes__AAnnotation___n_doc
].val
; /* _n_doc on <var_at_deprecated:nullable AAnnotation(AAnnotation)> */
4908 RET_LABEL66
:(void)0;
4913 if (var_ndoc
== NULL
) {
4914 var69
= 0; /* is null */
4916 var69
= 1; /* arg is null and recv is not */
4919 { /* Inline kernel#Object#!= (var_ndoc,var68) on <var_ndoc:nullable ADoc> */
4922 var73
= ((short int (*)(val
*, val
*))(var_ndoc
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ndoc
, var_other
) /* == on <var_ndoc:nullable ADoc(ADoc)>*/;
4928 RET_LABEL71
:(void)0;
4934 var75
= modelbuilder__ADoc__to_mdoc(var_ndoc
);
4937 { /* Inline mdoc#MDeprecationInfo#mdoc= (var_info,var75) on <var_info:MDeprecationInfo> */
4938 var_info
->attrs
[COLOR_mdoc__MDeprecationInfo___mdoc
].val
= var75
; /* _mdoc on <var_info:MDeprecationInfo> */
4939 RET_LABEL76
:(void)0;
4945 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MPropDef> */
4946 var79
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MPropDef> */
4947 if (unlikely(var79
== NULL
)) {
4948 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
4949 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
4953 RET_LABEL78
:(void)0;
4957 { /* Inline mdoc#MEntity#deprecation= (var77,var_info) on <var77:MProperty> */
4958 var77
->attrs
[COLOR_mdoc__MEntity___deprecation
].val
= var_info
; /* _deprecation on <var77:MProperty> */
4959 RET_LABEL80
:(void)0;
4967 /* method modelize_property#APropdef#set_doc for (self: Object, MPropDef, ModelBuilder) */
4968 void VIRTUAL_modelize_property__APropdef__set_doc(val
* self
, val
* p0
, val
* p1
) {
4969 modelize_property__APropdef__set_doc(self
, p0
, p1
); /* Direct call modelize_property#APropdef#set_doc on <self:Object(APropdef)>*/
4972 /* method modelize_property#APropdef#check_redef_property_visibility for (self: APropdef, ModelBuilder, nullable AVisibility, MProperty) */
4973 void modelize_property__APropdef__check_redef_property_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4974 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
4975 val
* var_nvisibility
/* var nvisibility: nullable AVisibility */;
4976 val
* var_mprop
/* var mprop: MProperty */;
4977 val
* var
/* : null */;
4978 short int var1
/* : Bool */;
4979 short int var2
/* : Bool */;
4980 val
* var_other
/* var other: nullable Object */;
4981 short int var4
/* : Bool */;
4982 short int var6
/* : Bool */;
4983 val
* var7
/* : MVisibility */;
4984 val
* var_mvisibility
/* var mvisibility: MVisibility */;
4985 short int var8
/* : Bool */;
4986 val
* var9
/* : MVisibility */;
4987 val
* var11
/* : MVisibility */;
4988 short int var12
/* : Bool */;
4989 short int var13
/* : Bool */;
4990 val
* var_other15
/* var other: nullable Object */;
4991 short int var16
/* : Bool */;
4992 short int var17
/* : Bool */;
4993 short int var18
/* : Bool */;
4994 short int var_
/* var : Bool */;
4995 val
* var19
/* : MVisibility */;
4996 short int var20
/* : Bool */;
4997 short int var21
/* : Bool */;
4998 short int var23
/* : Bool */;
4999 short int var24
/* : Bool */;
5000 short int var25
/* : Bool */;
5001 static val
* varonce
;
5002 val
* var26
/* : String */;
5003 char* var27
/* : NativeString */;
5004 long var28
/* : Int */;
5005 val
* var29
/* : FlatString */;
5006 val
* var30
/* : MVisibility */;
5007 val
* var32
/* : MVisibility */;
5008 static val
* varonce33
;
5009 val
* var34
/* : String */;
5010 char* var35
/* : NativeString */;
5011 long var36
/* : Int */;
5012 val
* var37
/* : FlatString */;
5013 val
* var38
/* : Array[Object] */;
5014 long var39
/* : Int */;
5015 val
* var40
/* : NativeArray[Object] */;
5016 val
* var41
/* : String */;
5017 var_modelbuilder
= p0
;
5018 var_nvisibility
= p1
;
5021 if (var_nvisibility
== NULL
) {
5022 var1
= 1; /* is null */
5024 var1
= 0; /* arg is null but recv is not */
5027 { /* Inline kernel#Object#== (var_nvisibility,var) on <var_nvisibility:nullable AVisibility> */
5030 { /* Inline kernel#Object#is_same_instance (var_nvisibility,var_other) on <var_nvisibility:nullable AVisibility(AVisibility)> */
5031 var6
= var_nvisibility
== var_other
;
5048 var7
= ((val
* (*)(val
*))(var_nvisibility
->class->vft
[COLOR_modelbuilder__AVisibility__mvisibility
]))(var_nvisibility
) /* mvisibility on <var_nvisibility:nullable AVisibility(AVisibility)>*/;
5050 var_mvisibility
= var7
;
5052 { /* Inline model#MProperty#visibility (var_mprop) on <var_mprop:MProperty> */
5053 var11
= var_mprop
->attrs
[COLOR_model__MProperty___visibility
].val
; /* _visibility on <var_mprop:MProperty> */
5054 if (unlikely(var11
== NULL
)) {
5055 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
5056 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1630);
5060 RET_LABEL10
:(void)0;
5064 { /* Inline kernel#Object#!= (var_mvisibility,var9) on <var_mvisibility:MVisibility> */
5067 var17
= ((short int (*)(val
*, val
*))(var_mvisibility
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mvisibility
, var_other15
) /* == on <var_mvisibility:MVisibility>*/;
5073 RET_LABEL14
:(void)0;
5080 var19
= model_base__Object__public_visibility(self
);
5083 { /* Inline kernel#Object#!= (var_mvisibility,var19) on <var_mvisibility:MVisibility> */
5084 var_other15
= var19
;
5086 var24
= ((short int (*)(val
*, val
*))(var_mvisibility
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mvisibility
, var_other15
) /* == on <var_mvisibility:MVisibility>*/;
5092 RET_LABEL22
:(void)0;
5104 var27
= "Error: redefinition changed the visibility from a ";
5106 var29
= string__NativeString__to_s_with_length(var27
, var28
);
5111 { /* Inline model#MProperty#visibility (var_mprop) on <var_mprop:MProperty> */
5112 var32
= var_mprop
->attrs
[COLOR_model__MProperty___visibility
].val
; /* _visibility on <var_mprop:MProperty> */
5113 if (unlikely(var32
== NULL
)) {
5114 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
5115 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1630);
5119 RET_LABEL31
:(void)0;
5127 var37
= string__NativeString__to_s_with_length(var35
, var36
);
5131 var38
= NEW_array__Array(&type_array__Arraykernel__Object
);
5132 { /* var38 = array_instance Array[Object] */
5134 var40
= NEW_array__NativeArray(var39
, &type_array__NativeArraykernel__Object
);
5135 ((struct instance_array__NativeArray
*)var40
)->values
[0] = (val
*) var26
;
5136 ((struct instance_array__NativeArray
*)var40
)->values
[1] = (val
*) var30
;
5137 ((struct instance_array__NativeArray
*)var40
)->values
[2] = (val
*) var34
;
5138 ((struct instance_array__NativeArray
*)var40
)->values
[3] = (val
*) var_mvisibility
;
5140 ((void (*)(val
*, val
*, long))(var38
->class->vft
[COLOR_array__Array__with_native
]))(var38
, var40
, var39
) /* with_native on <var38:Array[Object]>*/;
5144 var41
= ((val
* (*)(val
*))(var38
->class->vft
[COLOR_string__Object__to_s
]))(var38
) /* to_s on <var38:Array[Object]>*/;
5147 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_nvisibility
, var41
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
5153 /* method modelize_property#APropdef#check_redef_property_visibility for (self: Object, ModelBuilder, nullable AVisibility, MProperty) */
5154 void VIRTUAL_modelize_property__APropdef__check_redef_property_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5155 modelize_property__APropdef__check_redef_property_visibility(self
, p0
, p1
, p2
); /* Direct call modelize_property#APropdef#check_redef_property_visibility on <self:Object(APropdef)>*/
5158 /* method modelize_property#APropdef#check_redef_keyword for (self: APropdef, ModelBuilder, MClassDef, nullable Token, Bool, MProperty): Bool */
5159 short int modelize_property__APropdef__check_redef_keyword(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
, val
* p4
) {
5160 short int var
/* : Bool */;
5161 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
5162 val
* var_mclassdef
/* var mclassdef: MClassDef */;
5163 val
* var_kwredef
/* var kwredef: nullable Token */;
5164 short int var_need_redef
/* var need_redef: Bool */;
5165 val
* var_mprop
/* var mprop: MProperty */;
5166 val
* var1
/* : Map[MProperty, APropdef] */;
5167 val
* var3
/* : Map[MProperty, APropdef] */;
5168 short int var4
/* : Bool */;
5169 static val
* varonce
;
5170 val
* var5
/* : String */;
5171 char* var6
/* : NativeString */;
5172 long var7
/* : Int */;
5173 val
* var8
/* : FlatString */;
5174 static val
* varonce9
;
5175 val
* var10
/* : String */;
5176 char* var11
/* : NativeString */;
5177 long var12
/* : Int */;
5178 val
* var13
/* : FlatString */;
5179 val
* var14
/* : MClass */;
5180 val
* var16
/* : MClass */;
5181 static val
* varonce17
;
5182 val
* var18
/* : String */;
5183 char* var19
/* : NativeString */;
5184 long var20
/* : Int */;
5185 val
* var21
/* : FlatString */;
5186 val
* var22
/* : Map[MProperty, APropdef] */;
5187 val
* var24
/* : Map[MProperty, APropdef] */;
5188 val
* var25
/* : nullable Object */;
5189 val
* var26
/* : Location */;
5190 val
* var28
/* : Location */;
5191 long var29
/* : Int */;
5192 long var31
/* : Int */;
5193 static val
* varonce32
;
5194 val
* var33
/* : String */;
5195 char* var34
/* : NativeString */;
5196 long var35
/* : Int */;
5197 val
* var36
/* : FlatString */;
5198 val
* var37
/* : Array[Object] */;
5199 long var38
/* : Int */;
5200 val
* var39
/* : NativeArray[Object] */;
5201 val
* var40
/* : Object */;
5202 val
* var41
/* : String */;
5203 short int var42
/* : Bool */;
5204 short int var43
/* : Bool */;
5205 short int var44
/* : Bool */;
5208 short int var_
/* var : Bool */;
5209 short int var45
/* : Bool */;
5210 short int var47
/* : Bool */;
5211 val
* var48
/* : nullable ANode */;
5212 val
* var50
/* : nullable ANode */;
5213 short int var51
/* : Bool */;
5216 short int var54
/* : Bool */;
5217 short int var55
/* : Bool */;
5218 short int var57
/* : Bool */;
5219 short int var58
/* : Bool */;
5220 short int var59
/* : Bool */;
5221 short int var61
/* : Bool */;
5222 static val
* varonce62
;
5223 val
* var63
/* : String */;
5224 char* var64
/* : NativeString */;
5225 long var65
/* : Int */;
5226 val
* var66
/* : FlatString */;
5227 static val
* varonce67
;
5228 val
* var68
/* : String */;
5229 char* var69
/* : NativeString */;
5230 long var70
/* : Int */;
5231 val
* var71
/* : FlatString */;
5232 val
* var72
/* : Array[Object] */;
5233 long var73
/* : Int */;
5234 val
* var74
/* : NativeArray[Object] */;
5235 val
* var75
/* : String */;
5236 static val
* varonce76
;
5237 val
* var77
/* : String */;
5238 char* var78
/* : NativeString */;
5239 long var79
/* : Int */;
5240 val
* var80
/* : FlatString */;
5241 static val
* varonce81
;
5242 val
* var82
/* : String */;
5243 char* var83
/* : NativeString */;
5244 long var84
/* : Int */;
5245 val
* var85
/* : FlatString */;
5246 val
* var86
/* : Array[Object] */;
5247 long var87
/* : Int */;
5248 val
* var88
/* : NativeArray[Object] */;
5249 val
* var89
/* : String */;
5250 short int var90
/* : Bool */;
5251 val
* var91
/* : null */;
5252 short int var92
/* : Bool */;
5253 short int var93
/* : Bool */;
5254 val
* var_other
/* var other: nullable Object */;
5255 short int var95
/* : Bool */;
5256 short int var97
/* : Bool */;
5257 static val
* varonce98
;
5258 val
* var99
/* : String */;
5259 char* var100
/* : NativeString */;
5260 long var101
/* : Int */;
5261 val
* var102
/* : FlatString */;
5262 val
* var103
/* : MClass */;
5263 val
* var105
/* : MClass */;
5264 static val
* varonce106
;
5265 val
* var107
/* : String */;
5266 char* var108
/* : NativeString */;
5267 long var109
/* : Int */;
5268 val
* var110
/* : FlatString */;
5269 val
* var111
/* : String */;
5270 val
* var113
/* : String */;
5271 static val
* varonce114
;
5272 val
* var115
/* : String */;
5273 char* var116
/* : NativeString */;
5274 long var117
/* : Int */;
5275 val
* var118
/* : FlatString */;
5276 val
* var119
/* : Array[Object] */;
5277 long var120
/* : Int */;
5278 val
* var121
/* : NativeArray[Object] */;
5279 val
* var122
/* : String */;
5280 short int var123
/* : Bool */;
5281 short int var124
/* : Bool */;
5282 static val
* varonce125
;
5283 val
* var126
/* : String */;
5284 char* var127
/* : NativeString */;
5285 long var128
/* : Int */;
5286 val
* var129
/* : FlatString */;
5287 val
* var130
/* : MClass */;
5288 val
* var132
/* : MClass */;
5289 static val
* varonce133
;
5290 val
* var134
/* : String */;
5291 char* var135
/* : NativeString */;
5292 long var136
/* : Int */;
5293 val
* var137
/* : FlatString */;
5294 val
* var138
/* : String */;
5295 val
* var140
/* : String */;
5296 static val
* varonce141
;
5297 val
* var142
/* : String */;
5298 char* var143
/* : NativeString */;
5299 long var144
/* : Int */;
5300 val
* var145
/* : FlatString */;
5301 val
* var146
/* : Array[Object] */;
5302 long var147
/* : Int */;
5303 val
* var148
/* : NativeArray[Object] */;
5304 val
* var149
/* : String */;
5305 short int var150
/* : Bool */;
5306 short int var151
/* : Bool */;
5307 var_modelbuilder
= p0
;
5310 var_need_redef
= p3
;
5313 { /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on <var_mclassdef:MClassDef> */
5314 var3
= var_mclassdef
->attrs
[COLOR_modelize_property__MClassDef___mprop2npropdef
].val
; /* _mprop2npropdef on <var_mclassdef:MClassDef> */
5315 if (unlikely(var3
== NULL
)) {
5316 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
5317 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 310);
5325 var4
= abstract_collection__MapRead__has_key(var1
, var_mprop
);
5331 var6
= "Error: A property ";
5333 var8
= string__NativeString__to_s_with_length(var6
, var7
);
5340 var11
= " is already defined in class ";
5342 var13
= string__NativeString__to_s_with_length(var11
, var12
);
5347 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
5348 var16
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
5349 if (unlikely(var16
== NULL
)) {
5350 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5351 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
5355 RET_LABEL15
:(void)0;
5361 var19
= " at line ";
5363 var21
= string__NativeString__to_s_with_length(var19
, var20
);
5368 { /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on <var_mclassdef:MClassDef> */
5369 var24
= var_mclassdef
->attrs
[COLOR_modelize_property__MClassDef___mprop2npropdef
].val
; /* _mprop2npropdef on <var_mclassdef:MClassDef> */
5370 if (unlikely(var24
== NULL
)) {
5371 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
5372 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 310);
5376 RET_LABEL23
:(void)0;
5380 var25
= ((val
* (*)(val
*, val
*))(var22
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var22
, var_mprop
) /* [] on <var22:Map[MProperty, APropdef]>*/;
5383 { /* Inline parser_nodes#ANode#location (var25) on <var25:nullable Object(APropdef)> */
5384 var28
= var25
->attrs
[COLOR_parser_nodes__ANode___location
].val
; /* _location on <var25:nullable Object(APropdef)> */
5385 if (unlikely(var28
== NULL
)) {
5386 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
5387 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23);
5391 RET_LABEL27
:(void)0;
5395 { /* Inline location#Location#line_start (var26) on <var26:Location> */
5396 var31
= var26
->attrs
[COLOR_location__Location___line_start
].l
; /* _line_start on <var26:Location> */
5398 RET_LABEL30
:(void)0;
5406 var36
= string__NativeString__to_s_with_length(var34
, var35
);
5410 var37
= NEW_array__Array(&type_array__Arraykernel__Object
);
5411 { /* var37 = array_instance Array[Object] */
5413 var39
= NEW_array__NativeArray(var38
, &type_array__NativeArraykernel__Object
);
5414 ((struct instance_array__NativeArray
*)var39
)->values
[0] = (val
*) var5
;
5415 ((struct instance_array__NativeArray
*)var39
)->values
[1] = (val
*) var_mprop
;
5416 ((struct instance_array__NativeArray
*)var39
)->values
[2] = (val
*) var10
;
5417 ((struct instance_array__NativeArray
*)var39
)->values
[3] = (val
*) var14
;
5418 ((struct instance_array__NativeArray
*)var39
)->values
[4] = (val
*) var18
;
5419 var40
= BOX_kernel__Int(var29
); /* autobox from Int to Object */
5420 ((struct instance_array__NativeArray
*)var39
)->values
[5] = (val
*) var40
;
5421 ((struct instance_array__NativeArray
*)var39
)->values
[6] = (val
*) var33
;
5423 ((void (*)(val
*, val
*, long))(var37
->class->vft
[COLOR_array__Array__with_native
]))(var37
, var39
, var38
) /* with_native on <var37:Array[Object]>*/;
5427 var41
= ((val
* (*)(val
*))(var37
->class->vft
[COLOR_string__Object__to_s
]))(var37
) /* to_s on <var37:Array[Object]>*/;
5430 modelbuilder__ModelBuilder__error(var_modelbuilder
, self
, var41
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
5437 /* <var_mprop:MProperty> isa MMethod */
5438 cltype
= type_model__MMethod
.color
;
5439 idtype
= type_model__MMethod
.id
;
5440 if(cltype
>= var_mprop
->type
->table_size
) {
5443 var44
= var_mprop
->type
->type_table
[cltype
] == idtype
;
5448 { /* Inline model#MMethod#is_toplevel (var_mprop) on <var_mprop:MProperty(MMethod)> */
5449 var47
= var_mprop
->attrs
[COLOR_model__MMethod___is_toplevel
].s
; /* _is_toplevel on <var_mprop:MProperty(MMethod)> */
5451 RET_LABEL46
:(void)0;
5455 { /* Inline parser_nodes#ANode#parent (self) on <self:APropdef> */
5456 var50
= self
->attrs
[COLOR_parser_nodes__ANode___parent
].val
; /* _parent on <self:APropdef> */
5458 RET_LABEL49
:(void)0;
5461 /* <var48:nullable ANode> isa ATopClassdef */
5462 cltype52
= type_parser_nodes__ATopClassdef
.color
;
5463 idtype53
= type_parser_nodes__ATopClassdef
.id
;
5467 if(cltype52
>= var48
->type
->table_size
) {
5470 var51
= var48
->type
->type_table
[cltype52
] == idtype53
;
5474 { /* Inline kernel#Bool#!= (var45,var51) on <var45:Bool> */
5475 var57
= var45
== var51
;
5479 RET_LABEL56
:(void)0;
5489 { /* Inline model#MMethod#is_toplevel (var_mprop) on <var_mprop:MProperty(MMethod)> */
5490 var61
= var_mprop
->attrs
[COLOR_model__MMethod___is_toplevel
].s
; /* _is_toplevel on <var_mprop:MProperty(MMethod)> */
5492 RET_LABEL60
:(void)0;
5501 var66
= string__NativeString__to_s_with_length(var64
, var65
);
5508 var69
= " is a top level method.";
5510 var71
= string__NativeString__to_s_with_length(var69
, var70
);
5514 var72
= NEW_array__Array(&type_array__Arraykernel__Object
);
5515 { /* var72 = array_instance Array[Object] */
5517 var74
= NEW_array__NativeArray(var73
, &type_array__NativeArraykernel__Object
);
5518 ((struct instance_array__NativeArray
*)var74
)->values
[0] = (val
*) var63
;
5519 ((struct instance_array__NativeArray
*)var74
)->values
[1] = (val
*) var_mprop
;
5520 ((struct instance_array__NativeArray
*)var74
)->values
[2] = (val
*) var68
;
5522 ((void (*)(val
*, val
*, long))(var72
->class->vft
[COLOR_array__Array__with_native
]))(var72
, var74
, var73
) /* with_native on <var72:Array[Object]>*/;
5526 var75
= ((val
* (*)(val
*))(var72
->class->vft
[COLOR_string__Object__to_s
]))(var72
) /* to_s on <var72:Array[Object]>*/;
5529 modelbuilder__ModelBuilder__error(var_modelbuilder
, self
, var75
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
5537 var80
= string__NativeString__to_s_with_length(var78
, var79
);
5544 var83
= " is not a top level method.";
5546 var85
= string__NativeString__to_s_with_length(var83
, var84
);
5550 var86
= NEW_array__Array(&type_array__Arraykernel__Object
);
5551 { /* var86 = array_instance Array[Object] */
5553 var88
= NEW_array__NativeArray(var87
, &type_array__NativeArraykernel__Object
);
5554 ((struct instance_array__NativeArray
*)var88
)->values
[0] = (val
*) var77
;
5555 ((struct instance_array__NativeArray
*)var88
)->values
[1] = (val
*) var_mprop
;
5556 ((struct instance_array__NativeArray
*)var88
)->values
[2] = (val
*) var82
;
5558 ((void (*)(val
*, val
*, long))(var86
->class->vft
[COLOR_array__Array__with_native
]))(var86
, var88
, var87
) /* with_native on <var86:Array[Object]>*/;
5562 var89
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_string__Object__to_s
]))(var86
) /* to_s on <var86:Array[Object]>*/;
5565 modelbuilder__ModelBuilder__error(var_modelbuilder
, self
, var89
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
5574 if (var_kwredef
== NULL
) {
5575 var92
= 1; /* is null */
5577 var92
= 0; /* arg is null but recv is not */
5580 { /* Inline kernel#Object#== (var_kwredef,var91) on <var_kwredef:nullable Token> */
5583 { /* Inline kernel#Object#is_same_instance (var_kwredef,var_other) on <var_kwredef:nullable Token(Token)> */
5584 var97
= var_kwredef
== var_other
;
5587 RET_LABEL96
:(void)0;
5592 RET_LABEL94
:(void)0;
5597 if (var_need_redef
){
5601 var100
= "Redef error: ";
5603 var102
= string__NativeString__to_s_with_length(var100
, var101
);
5608 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
5609 var105
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
5610 if (unlikely(var105
== NULL
)) {
5611 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5612 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
5616 RET_LABEL104
:(void)0;
5620 var107
= varonce106
;
5624 var110
= string__NativeString__to_s_with_length(var108
, var109
);
5626 varonce106
= var107
;
5629 { /* Inline model#MProperty#name (var_mprop) on <var_mprop:MProperty> */
5630 var113
= var_mprop
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var_mprop:MProperty> */
5631 if (unlikely(var113
== NULL
)) {
5632 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5633 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
5637 RET_LABEL112
:(void)0;
5641 var115
= varonce114
;
5643 var116
= " is an inherited property. To redefine it, add the redef keyword.";
5645 var118
= string__NativeString__to_s_with_length(var116
, var117
);
5647 varonce114
= var115
;
5649 var119
= NEW_array__Array(&type_array__Arraykernel__Object
);
5650 { /* var119 = array_instance Array[Object] */
5652 var121
= NEW_array__NativeArray(var120
, &type_array__NativeArraykernel__Object
);
5653 ((struct instance_array__NativeArray
*)var121
)->values
[0] = (val
*) var99
;
5654 ((struct instance_array__NativeArray
*)var121
)->values
[1] = (val
*) var103
;
5655 ((struct instance_array__NativeArray
*)var121
)->values
[2] = (val
*) var107
;
5656 ((struct instance_array__NativeArray
*)var121
)->values
[3] = (val
*) var111
;
5657 ((struct instance_array__NativeArray
*)var121
)->values
[4] = (val
*) var115
;
5659 ((void (*)(val
*, val
*, long))(var119
->class->vft
[COLOR_array__Array__with_native
]))(var119
, var121
, var120
) /* with_native on <var119:Array[Object]>*/;
5663 var122
= ((val
* (*)(val
*))(var119
->class->vft
[COLOR_string__Object__to_s
]))(var119
) /* to_s on <var119:Array[Object]>*/;
5666 modelbuilder__ModelBuilder__error(var_modelbuilder
, self
, var122
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
5674 var124
= !var_need_redef
;
5677 var126
= varonce125
;
5679 var127
= "Error: No property ";
5681 var129
= string__NativeString__to_s_with_length(var127
, var128
);
5683 varonce125
= var126
;
5686 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
5687 var132
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
5688 if (unlikely(var132
== NULL
)) {
5689 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5690 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
5694 RET_LABEL131
:(void)0;
5698 var134
= varonce133
;
5702 var137
= string__NativeString__to_s_with_length(var135
, var136
);
5704 varonce133
= var134
;
5707 { /* Inline model#MProperty#name (var_mprop) on <var_mprop:MProperty> */
5708 var140
= var_mprop
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var_mprop:MProperty> */
5709 if (unlikely(var140
== NULL
)) {
5710 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5711 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
5715 RET_LABEL139
:(void)0;
5719 var142
= varonce141
;
5721 var143
= " is inherited. Remove the redef keyword to define a new property.";
5723 var145
= string__NativeString__to_s_with_length(var143
, var144
);
5725 varonce141
= var142
;
5727 var146
= NEW_array__Array(&type_array__Arraykernel__Object
);
5728 { /* var146 = array_instance Array[Object] */
5730 var148
= NEW_array__NativeArray(var147
, &type_array__NativeArraykernel__Object
);
5731 ((struct instance_array__NativeArray
*)var148
)->values
[0] = (val
*) var126
;
5732 ((struct instance_array__NativeArray
*)var148
)->values
[1] = (val
*) var130
;
5733 ((struct instance_array__NativeArray
*)var148
)->values
[2] = (val
*) var134
;
5734 ((struct instance_array__NativeArray
*)var148
)->values
[3] = (val
*) var138
;
5735 ((struct instance_array__NativeArray
*)var148
)->values
[4] = (val
*) var142
;
5737 ((void (*)(val
*, val
*, long))(var146
->class->vft
[COLOR_array__Array__with_native
]))(var146
, var148
, var147
) /* with_native on <var146:Array[Object]>*/;
5741 var149
= ((val
* (*)(val
*))(var146
->class->vft
[COLOR_string__Object__to_s
]))(var146
) /* to_s on <var146:Array[Object]>*/;
5744 modelbuilder__ModelBuilder__error(var_modelbuilder
, self
, var149
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
5758 /* method modelize_property#APropdef#check_redef_keyword for (self: Object, ModelBuilder, MClassDef, nullable Token, Bool, MProperty): Bool */
5759 short int VIRTUAL_modelize_property__APropdef__check_redef_keyword(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
, val
* p4
) {
5760 short int var
/* : Bool */;
5761 short int var1
/* : Bool */;
5762 var1
= modelize_property__APropdef__check_redef_keyword(self
, p0
, p1
, p2
, p3
, p4
);
5767 /* method modelize_property#ASignature#is_visited= for (self: ASignature, Bool) */
5768 void modelize_property__ASignature__is_visited_61d(val
* self
, short int p0
) {
5769 self
->attrs
[COLOR_modelize_property__ASignature___is_visited
].s
= p0
; /* _is_visited on <self:ASignature> */
5772 /* method modelize_property#ASignature#is_visited= for (self: Object, Bool) */
5773 void VIRTUAL_modelize_property__ASignature__is_visited_61d(val
* self
, short int p0
) {
5774 { /* Inline modelize_property#ASignature#is_visited= (self,p0) on <self:Object(ASignature)> */
5775 self
->attrs
[COLOR_modelize_property__ASignature___is_visited
].s
= p0
; /* _is_visited on <self:Object(ASignature)> */
5780 /* method modelize_property#ASignature#param_names for (self: ASignature): Array[String] */
5781 val
* modelize_property__ASignature__param_names(val
* self
) {
5782 val
* var
/* : Array[String] */;
5783 val
* var1
/* : Array[String] */;
5784 var1
= self
->attrs
[COLOR_modelize_property__ASignature___param_names
].val
; /* _param_names on <self:ASignature> */
5785 if (unlikely(var1
== NULL
)) {
5786 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_names");
5787 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 415);
5794 /* method modelize_property#ASignature#param_names for (self: Object): Array[String] */
5795 val
* VIRTUAL_modelize_property__ASignature__param_names(val
* self
) {
5796 val
* var
/* : Array[String] */;
5797 val
* var1
/* : Array[String] */;
5798 val
* var3
/* : Array[String] */;
5799 { /* Inline modelize_property#ASignature#param_names (self) on <self:Object(ASignature)> */
5800 var3
= self
->attrs
[COLOR_modelize_property__ASignature___param_names
].val
; /* _param_names on <self:Object(ASignature)> */
5801 if (unlikely(var3
== NULL
)) {
5802 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_names");
5803 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 415);
5813 /* method modelize_property#ASignature#param_types for (self: ASignature): Array[MType] */
5814 val
* modelize_property__ASignature__param_types(val
* self
) {
5815 val
* var
/* : Array[MType] */;
5816 val
* var1
/* : Array[MType] */;
5817 var1
= self
->attrs
[COLOR_modelize_property__ASignature___param_types
].val
; /* _param_types on <self:ASignature> */
5818 if (unlikely(var1
== NULL
)) {
5819 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_types");
5820 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 418);
5827 /* method modelize_property#ASignature#param_types for (self: Object): Array[MType] */
5828 val
* VIRTUAL_modelize_property__ASignature__param_types(val
* self
) {
5829 val
* var
/* : Array[MType] */;
5830 val
* var1
/* : Array[MType] */;
5831 val
* var3
/* : Array[MType] */;
5832 { /* Inline modelize_property#ASignature#param_types (self) on <self:Object(ASignature)> */
5833 var3
= self
->attrs
[COLOR_modelize_property__ASignature___param_types
].val
; /* _param_types on <self:Object(ASignature)> */
5834 if (unlikely(var3
== NULL
)) {
5835 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_types");
5836 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 418);
5846 /* method modelize_property#ASignature#vararg_rank for (self: ASignature): Int */
5847 long modelize_property__ASignature__vararg_rank(val
* self
) {
5848 long var
/* : Int */;
5849 long var1
/* : Int */;
5850 var1
= self
->attrs
[COLOR_modelize_property__ASignature___vararg_rank
].l
; /* _vararg_rank on <self:ASignature> */
5855 /* method modelize_property#ASignature#vararg_rank for (self: Object): Int */
5856 long VIRTUAL_modelize_property__ASignature__vararg_rank(val
* self
) {
5857 long var
/* : Int */;
5858 long var1
/* : Int */;
5859 long var3
/* : Int */;
5860 { /* Inline modelize_property#ASignature#vararg_rank (self) on <self:Object(ASignature)> */
5861 var3
= self
->attrs
[COLOR_modelize_property__ASignature___vararg_rank
].l
; /* _vararg_rank on <self:Object(ASignature)> */
5869 /* method modelize_property#ASignature#vararg_rank= for (self: ASignature, Int) */
5870 void modelize_property__ASignature__vararg_rank_61d(val
* self
, long p0
) {
5871 self
->attrs
[COLOR_modelize_property__ASignature___vararg_rank
].l
= p0
; /* _vararg_rank on <self:ASignature> */
5874 /* method modelize_property#ASignature#vararg_rank= for (self: Object, Int) */
5875 void VIRTUAL_modelize_property__ASignature__vararg_rank_61d(val
* self
, long p0
) {
5876 { /* Inline modelize_property#ASignature#vararg_rank= (self,p0) on <self:Object(ASignature)> */
5877 self
->attrs
[COLOR_modelize_property__ASignature___vararg_rank
].l
= p0
; /* _vararg_rank on <self:Object(ASignature)> */
5882 /* method modelize_property#ASignature#ret_type for (self: ASignature): nullable MType */
5883 val
* modelize_property__ASignature__ret_type(val
* self
) {
5884 val
* var
/* : nullable MType */;
5885 val
* var1
/* : nullable MType */;
5886 var1
= self
->attrs
[COLOR_modelize_property__ASignature___ret_type
].val
; /* _ret_type on <self:ASignature> */
5891 /* method modelize_property#ASignature#ret_type for (self: Object): nullable MType */
5892 val
* VIRTUAL_modelize_property__ASignature__ret_type(val
* self
) {
5893 val
* var
/* : nullable MType */;
5894 val
* var1
/* : nullable MType */;
5895 val
* var3
/* : nullable MType */;
5896 { /* Inline modelize_property#ASignature#ret_type (self) on <self:Object(ASignature)> */
5897 var3
= self
->attrs
[COLOR_modelize_property__ASignature___ret_type
].val
; /* _ret_type on <self:Object(ASignature)> */
5905 /* method modelize_property#ASignature#ret_type= for (self: ASignature, nullable MType) */
5906 void modelize_property__ASignature__ret_type_61d(val
* self
, val
* p0
) {
5907 self
->attrs
[COLOR_modelize_property__ASignature___ret_type
].val
= p0
; /* _ret_type on <self:ASignature> */
5910 /* method modelize_property#ASignature#ret_type= for (self: Object, nullable MType) */
5911 void VIRTUAL_modelize_property__ASignature__ret_type_61d(val
* self
, val
* p0
) {
5912 { /* Inline modelize_property#ASignature#ret_type= (self,p0) on <self:Object(ASignature)> */
5913 self
->attrs
[COLOR_modelize_property__ASignature___ret_type
].val
= p0
; /* _ret_type on <self:Object(ASignature)> */
5918 /* method modelize_property#ASignature#visit_signature for (self: ASignature, ModelBuilder, MClassDef): Bool */
5919 short int modelize_property__ASignature__visit_signature(val
* self
, val
* p0
, val
* p1
) {
5920 short int var
/* : Bool */;
5921 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
5922 val
* var_mclassdef
/* var mclassdef: MClassDef */;
5923 val
* var1
/* : MModule */;
5924 val
* var3
/* : MModule */;
5925 val
* var_mmodule
/* var mmodule: MModule */;
5926 val
* var4
/* : Array[String] */;
5927 val
* var6
/* : Array[String] */;
5928 val
* var_param_names
/* var param_names: Array[String] */;
5929 val
* var7
/* : Array[MType] */;
5930 val
* var9
/* : Array[MType] */;
5931 val
* var_param_types
/* var param_types: Array[MType] */;
5932 val
* var10
/* : ANodes[AParam] */;
5933 val
* var12
/* : ANodes[AParam] */;
5934 val
* var_
/* var : ANodes[AParam] */;
5935 val
* var13
/* : Iterator[ANode] */;
5936 val
* var_14
/* var : Iterator[AParam] */;
5937 short int var15
/* : Bool */;
5938 val
* var16
/* : nullable Object */;
5939 val
* var_np
/* var np: AParam */;
5940 val
* var17
/* : TId */;
5941 val
* var19
/* : TId */;
5942 val
* var20
/* : String */;
5943 val
* var21
/* : nullable AType */;
5944 val
* var23
/* : nullable AType */;
5945 val
* var_ntype
/* var ntype: nullable AType */;
5946 val
* var24
/* : null */;
5947 short int var25
/* : Bool */;
5948 short int var26
/* : Bool */;
5949 val
* var_other
/* var other: nullable Object */;
5950 short int var28
/* : Bool */;
5951 short int var29
/* : Bool */;
5952 short int var30
/* : Bool */;
5953 val
* var31
/* : nullable MType */;
5954 val
* var_mtype
/* var mtype: nullable MType */;
5955 val
* var32
/* : null */;
5956 short int var33
/* : Bool */;
5957 short int var34
/* : Bool */;
5958 val
* var_other36
/* var other: nullable Object */;
5959 short int var37
/* : Bool */;
5960 short int var39
/* : Bool */;
5961 short int var40
/* : Bool */;
5962 long var41
/* : Int */;
5963 long var_i
/* var i: Int */;
5964 long var42
/* : Int */;
5965 long var44
/* : Int */;
5966 long var45
/* : Int */;
5967 long var47
/* : Int */;
5968 long var48
/* : Int */;
5969 short int var50
/* : Bool */;
5972 const char* var_class_name
;
5973 long var51
/* : Int */;
5974 long var_52
/* var : Int */;
5975 short int var53
/* : Bool */;
5976 short int var55
/* : Bool */;
5979 const char* var_class_name58
;
5980 short int var59
/* : Bool */;
5981 long var60
/* : Int */;
5982 long var61
/* : Int */;
5983 val
* var62
/* : nullable TDotdotdot */;
5984 val
* var64
/* : nullable TDotdotdot */;
5985 val
* var65
/* : null */;
5986 short int var66
/* : Bool */;
5987 short int var67
/* : Bool */;
5988 short int var69
/* : Bool */;
5989 short int var70
/* : Bool */;
5990 short int var71
/* : Bool */;
5991 long var72
/* : Int */;
5992 long var74
/* : Int */;
5993 long var75
/* : Int */;
5994 long var76
/* : Int */;
5995 long var78
/* : Int */;
5996 short int var79
/* : Bool */;
5997 short int var80
/* : Bool */;
5998 short int var82
/* : Bool */;
5999 short int var83
/* : Bool */;
6000 static val
* varonce
;
6001 val
* var84
/* : String */;
6002 char* var85
/* : NativeString */;
6003 long var86
/* : Int */;
6004 val
* var87
/* : FlatString */;
6005 long var88
/* : Int */;
6006 long var90
/* : Int */;
6007 val
* var91
/* : nullable Object */;
6008 static val
* varonce92
;
6009 val
* var93
/* : String */;
6010 char* var94
/* : NativeString */;
6011 long var95
/* : Int */;
6012 val
* var96
/* : FlatString */;
6013 val
* var97
/* : Array[Object] */;
6014 long var98
/* : Int */;
6015 val
* var99
/* : NativeArray[Object] */;
6016 val
* var100
/* : String */;
6017 short int var101
/* : Bool */;
6018 long var102
/* : Int */;
6019 long var104
/* : Int */;
6020 long var105
/* : Int */;
6021 long var106
/* : Int */;
6022 short int var108
/* : Bool */;
6025 const char* var_class_name111
;
6026 long var112
/* : Int */;
6027 val
* var116
/* : nullable AType */;
6028 val
* var118
/* : nullable AType */;
6029 val
* var_ntype119
/* var ntype: nullable AType */;
6030 val
* var120
/* : null */;
6031 short int var121
/* : Bool */;
6032 short int var122
/* : Bool */;
6033 short int var124
/* : Bool */;
6034 short int var125
/* : Bool */;
6035 short int var126
/* : Bool */;
6036 val
* var127
/* : nullable MType */;
6037 val
* var129
/* : nullable MType */;
6038 val
* var131
/* : nullable MType */;
6039 val
* var132
/* : null */;
6040 short int var133
/* : Bool */;
6041 short int var134
/* : Bool */;
6042 short int var136
/* : Bool */;
6043 short int var138
/* : Bool */;
6044 short int var139
/* : Bool */;
6045 short int var140
/* : Bool */;
6046 short int var142
/* : Bool */;
6047 var_modelbuilder
= p0
;
6050 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
6051 var3
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
6052 if (unlikely(var3
== NULL
)) {
6053 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
6054 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
6063 { /* Inline modelize_property#ASignature#param_names (self) on <self:ASignature> */
6064 var6
= self
->attrs
[COLOR_modelize_property__ASignature___param_names
].val
; /* _param_names on <self:ASignature> */
6065 if (unlikely(var6
== NULL
)) {
6066 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_names");
6067 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 415);
6074 var_param_names
= var4
;
6076 { /* Inline modelize_property#ASignature#param_types (self) on <self:ASignature> */
6077 var9
= self
->attrs
[COLOR_modelize_property__ASignature___param_types
].val
; /* _param_types on <self:ASignature> */
6078 if (unlikely(var9
== NULL
)) {
6079 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_types");
6080 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 418);
6087 var_param_types
= var7
;
6089 { /* Inline parser_nodes#ASignature#n_params (self) on <self:ASignature> */
6090 var12
= self
->attrs
[COLOR_parser_nodes__ASignature___n_params
].val
; /* _n_params on <self:ASignature> */
6091 if (unlikely(var12
== NULL
)) {
6092 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
6093 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1279);
6097 RET_LABEL11
:(void)0;
6102 var13
= parser_nodes__ANodes__iterator(var_
);
6107 var15
= ((short int (*)(val
*))(var_14
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_14
) /* is_ok on <var_14:Iterator[AParam]>*/;
6111 var16
= ((val
* (*)(val
*))(var_14
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_14
) /* item on <var_14:Iterator[AParam]>*/;
6115 { /* Inline parser_nodes#AParam#n_id (var_np) on <var_np:AParam> */
6116 var19
= var_np
->attrs
[COLOR_parser_nodes__AParam___n_id
].val
; /* _n_id on <var_np:AParam> */
6117 if (unlikely(var19
== NULL
)) {
6118 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
6119 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1287);
6123 RET_LABEL18
:(void)0;
6127 var20
= lexer_work__Token__text(var17
);
6130 array__Array__add(var_param_names
, var20
); /* Direct call array#Array#add on <var_param_names:Array[String]>*/
6133 { /* Inline parser_nodes#AParam#n_type (var_np) on <var_np:AParam> */
6134 var23
= var_np
->attrs
[COLOR_parser_nodes__AParam___n_type
].val
; /* _n_type on <var_np:AParam> */
6136 RET_LABEL22
:(void)0;
6141 if (var_ntype
== NULL
) {
6142 var25
= 0; /* is null */
6144 var25
= 1; /* arg is null and recv is not */
6147 { /* Inline kernel#Object#!= (var_ntype,var24) on <var_ntype:nullable AType> */
6150 var29
= ((short int (*)(val
*, val
*))(var_ntype
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ntype
, var_other
) /* == on <var_ntype:nullable AType(AType)>*/;
6156 RET_LABEL27
:(void)0;
6162 var31
= modelize_class__ModelBuilder__resolve_mtype(var_modelbuilder
, var_mmodule
, var_mclassdef
, var_ntype
);
6166 if (var_mtype
== NULL
) {
6167 var33
= 1; /* is null */
6169 var33
= 0; /* arg is null but recv is not */
6172 { /* Inline kernel#Object#== (var_mtype,var32) on <var_mtype:nullable MType> */
6173 var_other36
= var32
;
6175 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other36) on <var_mtype:nullable MType(MType)> */
6176 var39
= var_mtype
== var_other36
;
6179 RET_LABEL38
:(void)0;
6184 RET_LABEL35
:(void)0;
6197 { /* Inline array#AbstractArrayRead#length (var_param_names) on <var_param_names:Array[String]> */
6198 var44
= var_param_names
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_param_names:Array[String]> */
6200 RET_LABEL43
:(void)0;
6204 { /* Inline array#AbstractArrayRead#length (var_param_types) on <var_param_types:Array[MType]> */
6205 var47
= var_param_types
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_param_types:Array[MType]> */
6207 RET_LABEL46
:(void)0;
6211 { /* Inline kernel#Int#- (var42,var45) on <var42:Int> */
6212 /* Covariant cast for argument 0 (i) <var45:Int> isa OTHER */
6213 /* <var45:Int> isa OTHER */
6214 var50
= 1; /* easy <var45:Int> isa OTHER*/
6215 if (unlikely(!var50
)) {
6216 var_class_name
= type_kernel__Int
.name
;
6217 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6218 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
6221 var51
= var42
- var45
;
6224 RET_LABEL49
:(void)0;
6230 { /* Inline kernel#Int#< (var_i,var_52) on <var_i:Int> */
6231 /* Covariant cast for argument 0 (i) <var_52:Int> isa OTHER */
6232 /* <var_52:Int> isa OTHER */
6233 var55
= 1; /* easy <var_52:Int> isa OTHER*/
6234 if (unlikely(!var55
)) {
6235 var_class_name58
= type_kernel__Int
.name
;
6236 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name58
);
6237 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
6240 var59
= var_i
< var_52
;
6243 RET_LABEL54
:(void)0;
6248 array__Array__add(var_param_types
, var_mtype
); /* Direct call array#Array#add on <var_param_types:Array[MType]>*/
6252 var61
= kernel__Int__successor(var_i
, var60
);
6259 BREAK_label
: (void)0;
6261 { /* Inline parser_nodes#AParam#n_dotdotdot (var_np) on <var_np:AParam> */
6262 var64
= var_np
->attrs
[COLOR_parser_nodes__AParam___n_dotdotdot
].val
; /* _n_dotdotdot on <var_np:AParam> */
6264 RET_LABEL63
:(void)0;
6268 if (var62
== NULL
) {
6269 var66
= 0; /* is null */
6271 var66
= 1; /* arg is null and recv is not */
6274 { /* Inline kernel#Object#!= (var62,var65) on <var62:nullable TDotdotdot> */
6277 var70
= ((short int (*)(val
*, val
*))(var62
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var62
, var_other
) /* == on <var62:nullable TDotdotdot(TDotdotdot)>*/;
6283 RET_LABEL68
:(void)0;
6289 { /* Inline modelize_property#ASignature#vararg_rank (self) on <self:ASignature> */
6290 var74
= self
->attrs
[COLOR_modelize_property__ASignature___vararg_rank
].l
; /* _vararg_rank on <self:ASignature> */
6292 RET_LABEL73
:(void)0;
6297 { /* Inline kernel#Int#unary - (var75) on <var75:Int> */
6301 RET_LABEL77
:(void)0;
6305 { /* Inline kernel#Int#!= (var72,var76) on <var72:Int> */
6306 var82
= var72
== var76
;
6310 RET_LABEL81
:(void)0;
6320 var87
= string__NativeString__to_s_with_length(var85
, var86
);
6325 { /* Inline modelize_property#ASignature#vararg_rank (self) on <self:ASignature> */
6326 var90
= self
->attrs
[COLOR_modelize_property__ASignature___vararg_rank
].l
; /* _vararg_rank on <self:ASignature> */
6328 RET_LABEL89
:(void)0;
6332 var91
= array__Array___91d_93d(var_param_names
, var88
);
6337 var94
= " is already a vararg";
6339 var96
= string__NativeString__to_s_with_length(var94
, var95
);
6343 var97
= NEW_array__Array(&type_array__Arraykernel__Object
);
6344 { /* var97 = array_instance Array[Object] */
6346 var99
= NEW_array__NativeArray(var98
, &type_array__NativeArraykernel__Object
);
6347 ((struct instance_array__NativeArray
*)var99
)->values
[0] = (val
*) var84
;
6348 ((struct instance_array__NativeArray
*)var99
)->values
[1] = (val
*) var91
;
6349 ((struct instance_array__NativeArray
*)var99
)->values
[2] = (val
*) var93
;
6351 ((void (*)(val
*, val
*, long))(var97
->class->vft
[COLOR_array__Array__with_native
]))(var97
, var99
, var98
) /* with_native on <var97:Array[Object]>*/;
6355 var100
= ((val
* (*)(val
*))(var97
->class->vft
[COLOR_string__Object__to_s
]))(var97
) /* to_s on <var97:Array[Object]>*/;
6358 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_np
, var100
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
6365 { /* Inline array#AbstractArrayRead#length (var_param_names) on <var_param_names:Array[String]> */
6366 var104
= var_param_names
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_param_names:Array[String]> */
6368 RET_LABEL103
:(void)0;
6373 { /* Inline kernel#Int#- (var102,var105) on <var102:Int> */
6374 /* Covariant cast for argument 0 (i) <var105:Int> isa OTHER */
6375 /* <var105:Int> isa OTHER */
6376 var108
= 1; /* easy <var105:Int> isa OTHER*/
6377 if (unlikely(!var108
)) {
6378 var_class_name111
= type_kernel__Int
.name
;
6379 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name111
);
6380 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
6383 var112
= var102
- var105
;
6386 RET_LABEL107
:(void)0;
6390 { /* Inline modelize_property#ASignature#vararg_rank= (self,var106) on <self:ASignature> */
6391 self
->attrs
[COLOR_modelize_property__ASignature___vararg_rank
].l
= var106
; /* _vararg_rank on <self:ASignature> */
6392 RET_LABEL113
:(void)0;
6401 ((void (*)(val
*))(var_14
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_14
) /* next on <var_14:Iterator[AParam]>*/;
6404 goto BREAK_label114
;
6407 BREAK_label114
: (void)0;
6409 { /* Inline abstract_collection#Iterator#finish (var_14) on <var_14:Iterator[AParam]> */
6410 RET_LABEL115
:(void)0;
6414 { /* Inline parser_nodes#ASignature#n_type (self) on <self:ASignature> */
6415 var118
= self
->attrs
[COLOR_parser_nodes__ASignature___n_type
].val
; /* _n_type on <self:ASignature> */
6417 RET_LABEL117
:(void)0;
6420 var_ntype119
= var116
;
6422 if (var_ntype119
== NULL
) {
6423 var121
= 0; /* is null */
6425 var121
= 1; /* arg is null and recv is not */
6428 { /* Inline kernel#Object#!= (var_ntype119,var120) on <var_ntype119:nullable AType> */
6431 var125
= ((short int (*)(val
*, val
*))(var_ntype119
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ntype119
, var_other
) /* == on <var_ntype119:nullable AType(AType)>*/;
6437 RET_LABEL123
:(void)0;
6443 var127
= modelize_class__ModelBuilder__resolve_mtype(var_modelbuilder
, var_mmodule
, var_mclassdef
, var_ntype119
);
6446 { /* Inline modelize_property#ASignature#ret_type= (self,var127) on <self:ASignature> */
6447 self
->attrs
[COLOR_modelize_property__ASignature___ret_type
].val
= var127
; /* _ret_type on <self:ASignature> */
6448 RET_LABEL128
:(void)0;
6452 { /* Inline modelize_property#ASignature#ret_type (self) on <self:ASignature> */
6453 var131
= self
->attrs
[COLOR_modelize_property__ASignature___ret_type
].val
; /* _ret_type on <self:ASignature> */
6455 RET_LABEL130
:(void)0;
6459 if (var129
== NULL
) {
6460 var133
= 1; /* is null */
6462 var133
= 0; /* arg is null but recv is not */
6465 { /* Inline kernel#Object#== (var129,var132) on <var129:nullable MType> */
6466 var_other36
= var132
;
6468 { /* Inline kernel#Object#is_same_instance (var129,var_other36) on <var129:nullable MType(MType)> */
6469 var138
= var129
== var_other36
;
6472 RET_LABEL137
:(void)0;
6477 RET_LABEL135
:(void)0;
6491 { /* Inline modelize_property#ASignature#is_visited= (self,var140) on <self:ASignature> */
6492 self
->attrs
[COLOR_modelize_property__ASignature___is_visited
].s
= var140
; /* _is_visited on <self:ASignature> */
6493 RET_LABEL141
:(void)0;
6502 /* method modelize_property#ASignature#visit_signature for (self: Object, ModelBuilder, MClassDef): Bool */
6503 short int VIRTUAL_modelize_property__ASignature__visit_signature(val
* self
, val
* p0
, val
* p1
) {
6504 short int var
/* : Bool */;
6505 short int var1
/* : Bool */;
6506 var1
= modelize_property__ASignature__visit_signature(self
, p0
, p1
);
6511 /* method modelize_property#AParam#mparameter= for (self: AParam, nullable MParameter) */
6512 void modelize_property__AParam__mparameter_61d(val
* self
, val
* p0
) {
6513 self
->attrs
[COLOR_modelize_property__AParam___mparameter
].val
= p0
; /* _mparameter on <self:AParam> */
6516 /* method modelize_property#AParam#mparameter= for (self: Object, nullable MParameter) */
6517 void VIRTUAL_modelize_property__AParam__mparameter_61d(val
* self
, val
* p0
) {
6518 { /* Inline modelize_property#AParam#mparameter= (self,p0) on <self:Object(AParam)> */
6519 self
->attrs
[COLOR_modelize_property__AParam___mparameter
].val
= p0
; /* _mparameter on <self:Object(AParam)> */
6524 /* method modelize_property#AMethPropdef#look_like_a_root_init for (self: AMethPropdef, ModelBuilder): Bool */
6525 short int modelize_property__AMethPropdef__look_like_a_root_init(val
* self
, val
* p0
) {
6526 short int var
/* : Bool */;
6527 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
6528 val
* var1
/* : nullable TKwinit */;
6529 val
* var3
/* : nullable TKwinit */;
6530 val
* var4
/* : null */;
6531 short int var5
/* : Bool */;
6532 short int var6
/* : Bool */;
6533 val
* var_other
/* var other: nullable Object */;
6534 short int var8
/* : Bool */;
6535 short int var10
/* : Bool */;
6536 short int var11
/* : Bool */;
6537 val
* var12
/* : nullable AMethid */;
6538 val
* var14
/* : nullable AMethid */;
6539 val
* var15
/* : null */;
6540 short int var16
/* : Bool */;
6541 short int var17
/* : Bool */;
6542 val
* var_other19
/* var other: nullable Object */;
6543 short int var20
/* : Bool */;
6544 short int var21
/* : Bool */;
6545 short int var22
/* : Bool */;
6546 short int var23
/* : Bool */;
6547 val
* var24
/* : nullable ASignature */;
6548 val
* var26
/* : nullable ASignature */;
6549 val
* var27
/* : ANodes[AParam] */;
6550 val
* var29
/* : ANodes[AParam] */;
6551 long var30
/* : Int */;
6552 long var31
/* : Int */;
6553 short int var32
/* : Bool */;
6554 short int var34
/* : Bool */;
6557 const char* var_class_name
;
6558 short int var35
/* : Bool */;
6559 short int var36
/* : Bool */;
6560 val
* var37
/* : nullable AVisibility */;
6561 val
* var39
/* : nullable AVisibility */;
6562 short int var40
/* : Bool */;
6565 short int var43
/* : Bool */;
6566 short int var44
/* : Bool */;
6567 static val
* varonce
;
6568 val
* var45
/* : String */;
6569 char* var46
/* : NativeString */;
6570 long var47
/* : Int */;
6571 val
* var48
/* : FlatString */;
6572 val
* var49
/* : nullable AAnnotation */;
6573 val
* var50
/* : null */;
6574 short int var51
/* : Bool */;
6575 short int var52
/* : Bool */;
6576 short int var54
/* : Bool */;
6577 short int var55
/* : Bool */;
6578 short int var56
/* : Bool */;
6579 short int var57
/* : Bool */;
6580 val
* var58
/* : nullable ANode */;
6581 val
* var60
/* : nullable ANode */;
6582 val
* var61
/* : nullable ANode */;
6583 val
* var63
/* : nullable ANode */;
6584 short int var64
/* : Bool */;
6587 const char* var_class_name67
;
6588 val
* var_amod
/* var amod: AModule */;
6589 val
* var68
/* : nullable AModuledecl */;
6590 val
* var70
/* : nullable AModuledecl */;
6591 val
* var_amoddecl
/* var amoddecl: nullable AModuledecl */;
6592 val
* var71
/* : null */;
6593 short int var72
/* : Bool */;
6594 short int var73
/* : Bool */;
6595 short int var75
/* : Bool */;
6596 short int var76
/* : Bool */;
6597 short int var77
/* : Bool */;
6598 static val
* varonce78
;
6599 val
* var79
/* : String */;
6600 char* var80
/* : NativeString */;
6601 long var81
/* : Int */;
6602 val
* var82
/* : FlatString */;
6603 val
* var83
/* : nullable AAnnotation */;
6604 val
* var_old
/* var old: nullable AAnnotation */;
6605 val
* var84
/* : null */;
6606 short int var85
/* : Bool */;
6607 short int var86
/* : Bool */;
6608 short int var88
/* : Bool */;
6609 short int var89
/* : Bool */;
6610 short int var90
/* : Bool */;
6611 short int var91
/* : Bool */;
6612 short int var92
/* : Bool */;
6613 var_modelbuilder
= p0
;
6615 { /* Inline parser_nodes#AMethPropdef#n_kwinit (self) on <self:AMethPropdef> */
6616 var3
= self
->attrs
[COLOR_parser_nodes__AMethPropdef___n_kwinit
].val
; /* _n_kwinit on <self:AMethPropdef> */
6623 var5
= 1; /* is null */
6625 var5
= 0; /* arg is null but recv is not */
6628 { /* Inline kernel#Object#== (var1,var4) on <var1:nullable TKwinit> */
6631 { /* Inline kernel#Object#is_same_instance (var1,var_other) on <var1:nullable TKwinit(TKwinit)> */
6632 var10
= var1
== var_other
;
6651 { /* Inline parser_nodes#AMethPropdef#n_methid (self) on <self:AMethPropdef> */
6652 var14
= self
->attrs
[COLOR_parser_nodes__AMethPropdef___n_methid
].val
; /* _n_methid on <self:AMethPropdef> */
6654 RET_LABEL13
:(void)0;
6658 if (var12
== NULL
) {
6659 var16
= 0; /* is null */
6661 var16
= 1; /* arg is null and recv is not */
6664 { /* Inline kernel#Object#!= (var12,var15) on <var12:nullable AMethid> */
6665 var_other19
= var15
;
6667 var21
= ((short int (*)(val
*, val
*))(var12
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var12
, var_other19
) /* == on <var12:nullable AMethid(AMethid)>*/;
6673 RET_LABEL18
:(void)0;
6684 { /* Inline parser_nodes#AMethPropdef#n_signature (self) on <self:AMethPropdef> */
6685 var26
= self
->attrs
[COLOR_parser_nodes__AMethPropdef___n_signature
].val
; /* _n_signature on <self:AMethPropdef> */
6687 RET_LABEL25
:(void)0;
6690 if (var24
== NULL
) {
6691 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6692 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 500);
6695 { /* Inline parser_nodes#ASignature#n_params (var24) on <var24:nullable ASignature> */
6696 if (unlikely(var24
== NULL
)) {
6697 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6698 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1279);
6701 var29
= var24
->attrs
[COLOR_parser_nodes__ASignature___n_params
].val
; /* _n_params on <var24:nullable ASignature> */
6702 if (unlikely(var29
== NULL
)) {
6703 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
6704 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1279);
6708 RET_LABEL28
:(void)0;
6712 var30
= parser_nodes__ANodes__length(var27
);
6716 { /* Inline kernel#Int#> (var30,var31) on <var30:Int> */
6717 /* Covariant cast for argument 0 (i) <var31:Int> isa OTHER */
6718 /* <var31:Int> isa OTHER */
6719 var34
= 1; /* easy <var31:Int> isa OTHER*/
6720 if (unlikely(!var34
)) {
6721 var_class_name
= type_kernel__Int
.name
;
6722 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6723 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
6726 var35
= var30
> var31
;
6729 RET_LABEL33
:(void)0;
6739 { /* Inline parser_nodes#APropdef#n_visibility (self) on <self:AMethPropdef> */
6740 var39
= self
->attrs
[COLOR_parser_nodes__APropdef___n_visibility
].val
; /* _n_visibility on <self:AMethPropdef> */
6742 RET_LABEL38
:(void)0;
6745 /* <var37:nullable AVisibility> isa APublicVisibility */
6746 cltype41
= type_parser_nodes__APublicVisibility
.color
;
6747 idtype42
= type_parser_nodes__APublicVisibility
.id
;
6751 if(cltype41
>= var37
->type
->table_size
) {
6754 var40
= var37
->type
->type_table
[cltype41
] == idtype42
;
6767 var46
= "old_style_init";
6769 var48
= string__NativeString__to_s_with_length(var46
, var47
);
6774 var49
= annotation__Prod__get_single_annotation(self
, var45
, var_modelbuilder
);
6777 if (var49
== NULL
) {
6778 var51
= 0; /* is null */
6780 var51
= 1; /* arg is null and recv is not */
6783 { /* Inline kernel#Object#!= (var49,var50) on <var49:nullable AAnnotation> */
6784 var_other19
= var50
;
6786 var55
= ((short int (*)(val
*, val
*))(var49
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var49
, var_other19
) /* == on <var49:nullable AAnnotation(AAnnotation)>*/;
6792 RET_LABEL53
:(void)0;
6803 { /* Inline parser_nodes#ANode#parent (self) on <self:AMethPropdef> */
6804 var60
= self
->attrs
[COLOR_parser_nodes__ANode___parent
].val
; /* _parent on <self:AMethPropdef> */
6806 RET_LABEL59
:(void)0;
6809 if (var58
== NULL
) {
6810 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6811 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 506);
6814 { /* Inline parser_nodes#ANode#parent (var58) on <var58:nullable ANode> */
6815 if (unlikely(var58
== NULL
)) {
6816 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6817 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
6820 var63
= var58
->attrs
[COLOR_parser_nodes__ANode___parent
].val
; /* _parent on <var58:nullable ANode> */
6822 RET_LABEL62
:(void)0;
6825 /* <var61:nullable ANode> isa AModule */
6826 cltype65
= type_parser_nodes__AModule
.color
;
6827 idtype66
= type_parser_nodes__AModule
.id
;
6831 if(cltype65
>= var61
->type
->table_size
) {
6834 var64
= var61
->type
->type_table
[cltype65
] == idtype66
;
6837 if (unlikely(!var64
)) {
6838 var_class_name67
= var61
== NULL ?
"null" : var61
->type
->name
;
6839 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AModule", var_class_name67
);
6840 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 506);
6845 { /* Inline parser_nodes#AModule#n_moduledecl (var_amod) on <var_amod:AModule> */
6846 var70
= var_amod
->attrs
[COLOR_parser_nodes__AModule___n_moduledecl
].val
; /* _n_moduledecl on <var_amod:AModule> */
6848 RET_LABEL69
:(void)0;
6851 var_amoddecl
= var68
;
6853 if (var_amoddecl
== NULL
) {
6854 var72
= 0; /* is null */
6856 var72
= 1; /* arg is null and recv is not */
6859 { /* Inline kernel#Object#!= (var_amoddecl,var71) on <var_amoddecl:nullable AModuledecl> */
6860 var_other19
= var71
;
6862 var76
= ((short int (*)(val
*, val
*))(var_amoddecl
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_amoddecl
, var_other19
) /* == on <var_amoddecl:nullable AModuledecl(AModuledecl)>*/;
6868 RET_LABEL74
:(void)0;
6876 var80
= "old_style_init";
6878 var82
= string__NativeString__to_s_with_length(var80
, var81
);
6883 var83
= annotation__Prod__get_single_annotation(var_amoddecl
, var79
, var_modelbuilder
);
6887 if (var_old
== NULL
) {
6888 var85
= 0; /* is null */
6890 var85
= 1; /* arg is null and recv is not */
6893 { /* Inline kernel#Object#!= (var_old,var84) on <var_old:nullable AAnnotation> */
6894 var_other19
= var84
;
6896 var89
= ((short int (*)(val
*, val
*))(var_old
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_old
, var_other19
) /* == on <var_old:nullable AAnnotation(AAnnotation)>*/;
6902 RET_LABEL87
:(void)0;
6920 /* method modelize_property#AMethPropdef#look_like_a_root_init for (self: Object, ModelBuilder): Bool */
6921 short int VIRTUAL_modelize_property__AMethPropdef__look_like_a_root_init(val
* self
, val
* p0
) {
6922 short int var
/* : Bool */;
6923 short int var1
/* : Bool */;
6924 var1
= modelize_property__AMethPropdef__look_like_a_root_init(self
, p0
);
6929 /* method modelize_property#AMethPropdef#build_property for (self: AMethPropdef, ModelBuilder, MClassDef) */
6930 void modelize_property__AMethPropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
6931 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
6932 val
* var_mclassdef
/* var mclassdef: MClassDef */;
6933 val
* var
/* : nullable TKwinit */;
6934 val
* var2
/* : nullable TKwinit */;
6935 val
* var_n_kwinit
/* var n_kwinit: nullable TKwinit */;
6936 val
* var3
/* : nullable TKwnew */;
6937 val
* var5
/* : nullable TKwnew */;
6938 val
* var_n_kwnew
/* var n_kwnew: nullable TKwnew */;
6939 short int var6
/* : Bool */;
6940 val
* var7
/* : null */;
6941 short int var8
/* : Bool */;
6942 short int var9
/* : Bool */;
6943 val
* var_other
/* var other: nullable Object */;
6944 short int var11
/* : Bool */;
6945 short int var12
/* : Bool */;
6946 short int var13
/* : Bool */;
6947 short int var_
/* var : Bool */;
6948 val
* var14
/* : null */;
6949 short int var15
/* : Bool */;
6950 short int var16
/* : Bool */;
6951 short int var18
/* : Bool */;
6952 short int var19
/* : Bool */;
6953 short int var20
/* : Bool */;
6954 short int var_is_init
/* var is_init: Bool */;
6955 val
* var21
/* : nullable AMethid */;
6956 val
* var23
/* : nullable AMethid */;
6957 val
* var_amethodid
/* var amethodid: nullable AMethid */;
6958 val
* var24
/* : null */;
6959 short int var25
/* : Bool */;
6960 short int var26
/* : Bool */;
6961 val
* var_other28
/* var other: nullable Object */;
6962 short int var29
/* : Bool */;
6963 short int var31
/* : Bool */;
6964 short int var32
/* : Bool */;
6965 static val
* varonce
;
6966 val
* var33
/* : String */;
6967 char* var34
/* : NativeString */;
6968 long var35
/* : Int */;
6969 val
* var36
/* : FlatString */;
6970 val
* var_name
/* var name: String */;
6971 val
* var_name_node
/* var name_node: ANode */;
6972 val
* var37
/* : null */;
6973 short int var38
/* : Bool */;
6974 short int var39
/* : Bool */;
6975 short int var41
/* : Bool */;
6976 short int var42
/* : Bool */;
6977 short int var43
/* : Bool */;
6978 static val
* varonce44
;
6979 val
* var45
/* : String */;
6980 char* var46
/* : NativeString */;
6981 long var47
/* : Int */;
6982 val
* var48
/* : FlatString */;
6983 val
* var49
/* : null */;
6984 short int var50
/* : Bool */;
6985 short int var51
/* : Bool */;
6986 short int var53
/* : Bool */;
6987 short int var54
/* : Bool */;
6988 short int var55
/* : Bool */;
6989 static val
* varonce56
;
6990 val
* var57
/* : String */;
6991 char* var58
/* : NativeString */;
6992 long var59
/* : Int */;
6993 val
* var60
/* : FlatString */;
6994 short int var61
/* : Bool */;
6997 val
* var62
/* : TId */;
6998 val
* var64
/* : TId */;
6999 val
* var65
/* : String */;
7000 val
* var66
/* : String */;
7001 short int var67
/* : Bool */;
7002 static val
* varonce68
;
7003 val
* var69
/* : String */;
7004 char* var70
/* : NativeString */;
7005 long var71
/* : Int */;
7006 val
* var72
/* : FlatString */;
7007 short int var73
/* : Bool */;
7008 short int var74
/* : Bool */;
7009 short int var_75
/* var : Bool */;
7010 val
* var76
/* : nullable ASignature */;
7011 val
* var78
/* : nullable ASignature */;
7012 val
* var79
/* : ANodes[AParam] */;
7013 val
* var81
/* : ANodes[AParam] */;
7014 long var82
/* : Int */;
7015 long var83
/* : Int */;
7016 short int var84
/* : Bool */;
7017 short int var85
/* : Bool */;
7018 short int var87
/* : Bool */;
7019 static val
* varonce88
;
7020 val
* var89
/* : String */;
7021 char* var90
/* : NativeString */;
7022 long var91
/* : Int */;
7023 val
* var92
/* : FlatString */;
7024 val
* var93
/* : null */;
7025 val
* var_mprop
/* var mprop: nullable MMethod */;
7026 short int var94
/* : Bool */;
7027 short int var95
/* : Bool */;
7028 short int var_96
/* var : Bool */;
7029 val
* var97
/* : nullable TKwredef */;
7030 val
* var99
/* : nullable TKwredef */;
7031 val
* var100
/* : null */;
7032 short int var101
/* : Bool */;
7033 short int var102
/* : Bool */;
7034 short int var104
/* : Bool */;
7035 short int var105
/* : Bool */;
7036 short int var106
/* : Bool */;
7037 val
* var107
/* : nullable MProperty */;
7038 short int var108
/* : Bool */;
7041 const char* var_class_name
;
7042 short int var111
/* : Bool */;
7043 val
* var112
/* : null */;
7044 short int var113
/* : Bool */;
7045 short int var114
/* : Bool */;
7046 short int var116
/* : Bool */;
7047 short int var118
/* : Bool */;
7048 short int var_119
/* var : Bool */;
7049 short int var120
/* : Bool */;
7050 val
* var121
/* : nullable MMethod */;
7051 val
* var123
/* : nullable MMethod */;
7052 val
* var124
/* : nullable AExpr */;
7053 val
* var126
/* : nullable AExpr */;
7054 val
* var_nb
/* var nb: nullable AExpr */;
7055 short int var127
/* : Bool */;
7056 short int var128
/* : Bool */;
7057 short int var129
/* : Bool */;
7060 short int var_132
/* var : Bool */;
7061 val
* var133
/* : ANodes[AExpr] */;
7062 val
* var135
/* : ANodes[AExpr] */;
7063 short int var136
/* : Bool */;
7064 short int var_137
/* var : Bool */;
7065 val
* var138
/* : nullable ADoc */;
7066 val
* var140
/* : nullable ADoc */;
7067 val
* var141
/* : null */;
7068 short int var142
/* : Bool */;
7069 short int var143
/* : Bool */;
7070 short int var145
/* : Bool */;
7071 short int var147
/* : Bool */;
7072 static val
* varonce148
;
7073 val
* var149
/* : String */;
7074 char* var150
/* : NativeString */;
7075 long var151
/* : Int */;
7076 val
* var152
/* : FlatString */;
7077 static val
* varonce153
;
7078 val
* var154
/* : String */;
7079 char* var155
/* : NativeString */;
7080 long var156
/* : Int */;
7081 val
* var157
/* : FlatString */;
7082 val
* var158
/* : Array[Object] */;
7083 long var159
/* : Int */;
7084 val
* var160
/* : NativeArray[Object] */;
7085 val
* var161
/* : String */;
7086 val
* var162
/* : null */;
7087 short int var163
/* : Bool */;
7088 short int var164
/* : Bool */;
7089 short int var166
/* : Bool */;
7090 short int var168
/* : Bool */;
7091 val
* var169
/* : nullable AVisibility */;
7092 val
* var171
/* : nullable AVisibility */;
7093 val
* var172
/* : MVisibility */;
7094 val
* var_mvisibility
/* var mvisibility: MVisibility */;
7095 val
* var173
/* : MMethod */;
7096 short int var174
/* : Bool */;
7097 short int var175
/* : Bool */;
7098 short int var_176
/* var : Bool */;
7099 val
* var177
/* : nullable MMethod */;
7100 val
* var179
/* : nullable MMethod */;
7101 val
* var180
/* : null */;
7102 short int var181
/* : Bool */;
7103 short int var182
/* : Bool */;
7104 short int var184
/* : Bool */;
7105 short int var186
/* : Bool */;
7106 short int var188
/* : Bool */;
7107 val
* var191
/* : null */;
7108 short int var192
/* : Bool */;
7109 short int var193
/* : Bool */;
7110 short int var195
/* : Bool */;
7111 short int var196
/* : Bool */;
7112 short int var197
/* : Bool */;
7113 val
* var199
/* : nullable ANode */;
7114 val
* var201
/* : nullable ANode */;
7115 short int var202
/* : Bool */;
7118 short int var205
/* : Bool */;
7119 val
* var207
/* : nullable TKwredef */;
7120 val
* var209
/* : nullable TKwredef */;
7121 short int var210
/* : Bool */;
7122 short int var211
/* : Bool */;
7123 short int var212
/* : Bool */;
7124 short int var213
/* : Bool */;
7125 short int var214
/* : Bool */;
7126 short int var216
/* : Bool */;
7127 short int var217
/* : Bool */;
7128 short int var_218
/* var : Bool */;
7129 val
* var219
/* : nullable TKwredef */;
7130 val
* var221
/* : nullable TKwredef */;
7131 short int var222
/* : Bool */;
7134 short int var225
/* : Bool */;
7135 short int var226
/* : Bool */;
7136 short int var227
/* : Bool */;
7137 val
* var228
/* : nullable AVisibility */;
7138 val
* var230
/* : nullable AVisibility */;
7139 val
* var231
/* : Map[MProperty, APropdef] */;
7140 val
* var233
/* : Map[MProperty, APropdef] */;
7141 val
* var234
/* : MMethodDef */;
7142 val
* var235
/* : Location */;
7143 val
* var237
/* : Location */;
7144 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
7145 short int var238
/* : Bool */;
7148 const struct type
* type_struct
;
7149 const char* var_class_name241
;
7150 short int var243
/* : Bool */;
7153 const struct type
* type_struct246
;
7154 const char* var_class_name247
;
7155 val
* var248
/* : HashMap[MPropDef, APropdef] */;
7156 val
* var250
/* : HashMap[MPropDef, APropdef] */;
7157 short int var251
/* : Bool */;
7158 val
* var252
/* : ToolContext */;
7159 val
* var254
/* : ToolContext */;
7160 static val
* varonce255
;
7161 val
* var256
/* : String */;
7162 char* var257
/* : NativeString */;
7163 long var258
/* : Int */;
7164 val
* var259
/* : FlatString */;
7165 val
* var260
/* : String */;
7166 val
* var261
/* : Array[Object] */;
7167 long var262
/* : Int */;
7168 val
* var263
/* : NativeArray[Object] */;
7169 val
* var264
/* : String */;
7170 long var265
/* : Int */;
7171 val
* var266
/* : ToolContext */;
7172 val
* var268
/* : ToolContext */;
7173 static val
* varonce269
;
7174 val
* var270
/* : String */;
7175 char* var271
/* : NativeString */;
7176 long var272
/* : Int */;
7177 val
* var273
/* : FlatString */;
7178 val
* var274
/* : String */;
7179 val
* var275
/* : Array[Object] */;
7180 long var276
/* : Int */;
7181 val
* var277
/* : NativeArray[Object] */;
7182 val
* var278
/* : String */;
7183 long var279
/* : Int */;
7184 var_modelbuilder
= p0
;
7187 { /* Inline parser_nodes#AMethPropdef#n_kwinit (self) on <self:AMethPropdef> */
7188 var2
= self
->attrs
[COLOR_parser_nodes__AMethPropdef___n_kwinit
].val
; /* _n_kwinit on <self:AMethPropdef> */
7195 { /* Inline parser_nodes#AMethPropdef#n_kwnew (self) on <self:AMethPropdef> */
7196 var5
= self
->attrs
[COLOR_parser_nodes__AMethPropdef___n_kwnew
].val
; /* _n_kwnew on <self:AMethPropdef> */
7203 if (var_n_kwinit
== NULL
) {
7204 var8
= 0; /* is null */
7206 var8
= 1; /* arg is null and recv is not */
7209 { /* Inline kernel#Object#!= (var_n_kwinit,var7) on <var_n_kwinit:nullable TKwinit> */
7212 var12
= ((short int (*)(val
*, val
*))(var_n_kwinit
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_kwinit
, var_other
) /* == on <var_n_kwinit:nullable TKwinit(TKwinit)>*/;
7218 RET_LABEL10
:(void)0;
7227 if (var_n_kwnew
== NULL
) {
7228 var15
= 0; /* is null */
7230 var15
= 1; /* arg is null and recv is not */
7233 { /* Inline kernel#Object#!= (var_n_kwnew,var14) on <var_n_kwnew:nullable TKwnew> */
7236 var19
= ((short int (*)(val
*, val
*))(var_n_kwnew
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_kwnew
, var_other
) /* == on <var_n_kwnew:nullable TKwnew(TKwnew)>*/;
7242 RET_LABEL17
:(void)0;
7250 { /* Inline parser_nodes#AMethPropdef#n_methid (self) on <self:AMethPropdef> */
7251 var23
= self
->attrs
[COLOR_parser_nodes__AMethPropdef___n_methid
].val
; /* _n_methid on <self:AMethPropdef> */
7253 RET_LABEL22
:(void)0;
7256 var_amethodid
= var21
;
7258 if (var_amethodid
== NULL
) {
7259 var25
= 1; /* is null */
7261 var25
= 0; /* arg is null but recv is not */
7264 { /* Inline kernel#Object#== (var_amethodid,var24) on <var_amethodid:nullable AMethid> */
7265 var_other28
= var24
;
7267 { /* Inline kernel#Object#is_same_instance (var_amethodid,var_other28) on <var_amethodid:nullable AMethid(AMethid)> */
7268 var31
= var_amethodid
== var_other28
;
7271 RET_LABEL30
:(void)0;
7276 RET_LABEL27
:(void)0;
7281 var32
= !var_is_init
;
7288 var36
= string__NativeString__to_s_with_length(var34
, var35
);
7293 var_name_node
= self
;
7296 if (var_n_kwinit
== NULL
) {
7297 var38
= 0; /* is null */
7299 var38
= 1; /* arg is null and recv is not */
7302 { /* Inline kernel#Object#!= (var_n_kwinit,var37) on <var_n_kwinit:nullable TKwinit> */
7305 var42
= ((short int (*)(val
*, val
*))(var_n_kwinit
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_kwinit
, var_other
) /* == on <var_n_kwinit:nullable TKwinit(TKwinit)>*/;
7311 RET_LABEL40
:(void)0;
7321 var48
= string__NativeString__to_s_with_length(var46
, var47
);
7326 var_name_node
= var_n_kwinit
;
7329 if (var_n_kwnew
== NULL
) {
7330 var50
= 0; /* is null */
7332 var50
= 1; /* arg is null and recv is not */
7335 { /* Inline kernel#Object#!= (var_n_kwnew,var49) on <var_n_kwnew:nullable TKwnew> */
7338 var54
= ((short int (*)(val
*, val
*))(var_n_kwnew
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_kwnew
, var_other
) /* == on <var_n_kwnew:nullable TKwnew(TKwnew)>*/;
7344 RET_LABEL52
:(void)0;
7354 var60
= string__NativeString__to_s_with_length(var58
, var59
);
7359 var_name_node
= var_n_kwnew
;
7361 PRINT_ERROR("Runtime error: %s", "Aborted");
7362 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 535);
7368 /* <var_amethodid:nullable AMethid(AMethid)> isa AIdMethid */
7369 cltype
= type_parser_nodes__AIdMethid
.color
;
7370 idtype
= type_parser_nodes__AIdMethid
.id
;
7371 if(cltype
>= var_amethodid
->type
->table_size
) {
7374 var61
= var_amethodid
->type
->type_table
[cltype
] == idtype
;
7378 { /* Inline parser_nodes#AIdMethid#n_id (var_amethodid) on <var_amethodid:nullable AMethid(AIdMethid)> */
7379 var64
= var_amethodid
->attrs
[COLOR_parser_nodes__AIdMethid___n_id
].val
; /* _n_id on <var_amethodid:nullable AMethid(AIdMethid)> */
7380 if (unlikely(var64
== NULL
)) {
7381 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
7382 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1160);
7386 RET_LABEL63
:(void)0;
7390 var65
= lexer_work__Token__text(var62
);
7393 var_name_node
= var_amethodid
;
7396 var66
= parser_work__Prod__collect_text(var_amethodid
);
7399 var_name_node
= var_amethodid
;
7405 var72
= string__NativeString__to_s_with_length(var70
, var71
);
7410 var74
= string__FlatString___61d_61d(var_name
, var69
);
7416 { /* Inline parser_nodes#AMethPropdef#n_signature (self) on <self:AMethPropdef> */
7417 var78
= self
->attrs
[COLOR_parser_nodes__AMethPropdef___n_signature
].val
; /* _n_signature on <self:AMethPropdef> */
7419 RET_LABEL77
:(void)0;
7422 if (var76
== NULL
) {
7423 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7424 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 545);
7427 { /* Inline parser_nodes#ASignature#n_params (var76) on <var76:nullable ASignature> */
7428 if (unlikely(var76
== NULL
)) {
7429 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7430 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1279);
7433 var81
= var76
->attrs
[COLOR_parser_nodes__ASignature___n_params
].val
; /* _n_params on <var76:nullable ASignature> */
7434 if (unlikely(var81
== NULL
)) {
7435 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
7436 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1279);
7440 RET_LABEL80
:(void)0;
7444 var82
= parser_nodes__ANodes__length(var79
);
7448 { /* Inline kernel#Int#== (var82,var83) on <var82:Int> */
7449 var87
= var82
== var83
;
7452 RET_LABEL86
:(void)0;
7466 var92
= string__NativeString__to_s_with_length(var90
, var91
);
7477 var95
= !var_is_init
;
7483 { /* Inline parser_nodes#APropdef#n_kwredef (self) on <self:AMethPropdef> */
7484 var99
= self
->attrs
[COLOR_parser_nodes__APropdef___n_kwredef
].val
; /* _n_kwredef on <self:AMethPropdef> */
7486 RET_LABEL98
:(void)0;
7490 if (var97
== NULL
) {
7491 var101
= 0; /* is null */
7493 var101
= 1; /* arg is null and recv is not */
7496 { /* Inline kernel#Object#!= (var97,var100) on <var97:nullable TKwredef> */
7499 var105
= ((short int (*)(val
*, val
*))(var97
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var97
, var_other
) /* == on <var97:nullable TKwredef(TKwredef)>*/;
7505 RET_LABEL103
:(void)0;
7513 var107
= modelbuilder__ModelBuilder__try_get_mproperty_by_name(var_modelbuilder
, var_name_node
, var_mclassdef
, var_name
);
7515 /* <var107:nullable MProperty> isa nullable MMethod */
7516 cltype109
= type_nullable_model__MMethod
.color
;
7517 idtype110
= type_nullable_model__MMethod
.id
;
7518 if(var107
== NULL
) {
7521 if(cltype109
>= var107
->type
->table_size
) {
7524 var108
= var107
->type
->type_table
[cltype109
] == idtype110
;
7527 if (unlikely(!var108
)) {
7528 var_class_name
= var107
== NULL ?
"null" : var107
->type
->name
;
7529 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name
);
7530 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 551);
7537 if (var_mprop
== NULL
) {
7538 var113
= 1; /* is null */
7540 var113
= 0; /* arg is null but recv is not */
7543 { /* Inline kernel#Object#== (var_mprop,var112) on <var_mprop:nullable MMethod> */
7544 var_other28
= var112
;
7546 { /* Inline kernel#Object#is_same_instance (var_mprop,var_other28) on <var_mprop:nullable MMethod(MMethod)> */
7547 var118
= var_mprop
== var_other28
;
7550 RET_LABEL117
:(void)0;
7555 RET_LABEL115
:(void)0;
7562 var120
= modelize_property__AMethPropdef__look_like_a_root_init(self
, var_modelbuilder
);
7570 { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
7571 var123
= var_modelbuilder
->attrs
[COLOR_modelize_property__ModelBuilder___the_root_init_mmethod
].val
; /* _the_root_init_mmethod on <var_modelbuilder:ModelBuilder> */
7573 RET_LABEL122
:(void)0;
7578 { /* Inline parser_nodes#AMethPropdef#n_block (self) on <self:AMethPropdef> */
7579 var126
= self
->attrs
[COLOR_parser_nodes__AMethPropdef___n_block
].val
; /* _n_block on <self:AMethPropdef> */
7581 RET_LABEL125
:(void)0;
7585 /* <var_nb:nullable AExpr> isa ABlockExpr */
7586 cltype130
= type_parser_nodes__ABlockExpr
.color
;
7587 idtype131
= type_parser_nodes__ABlockExpr
.id
;
7588 if(var_nb
== NULL
) {
7591 if(cltype130
>= var_nb
->type
->table_size
) {
7594 var129
= var_nb
->type
->type_table
[cltype130
] == idtype131
;
7600 { /* Inline parser_nodes#ABlockExpr#n_expr (var_nb) on <var_nb:nullable AExpr(ABlockExpr)> */
7601 var135
= var_nb
->attrs
[COLOR_parser_nodes__ABlockExpr___n_expr
].val
; /* _n_expr on <var_nb:nullable AExpr(ABlockExpr)> */
7602 if (unlikely(var135
== NULL
)) {
7603 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
7604 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1321);
7608 RET_LABEL134
:(void)0;
7612 var136
= parser_nodes__ANodes__is_empty(var133
);
7621 { /* Inline parser_nodes#APropdef#n_doc (self) on <self:AMethPropdef> */
7622 var140
= self
->attrs
[COLOR_parser_nodes__APropdef___n_doc
].val
; /* _n_doc on <self:AMethPropdef> */
7624 RET_LABEL139
:(void)0;
7628 if (var138
== NULL
) {
7629 var142
= 1; /* is null */
7631 var142
= 0; /* arg is null but recv is not */
7634 { /* Inline kernel#Object#== (var138,var141) on <var138:nullable ADoc> */
7635 var_other28
= var141
;
7637 { /* Inline kernel#Object#is_same_instance (var138,var_other28) on <var138:nullable ADoc(ADoc)> */
7638 var147
= var138
== var_other28
;
7641 RET_LABEL146
:(void)0;
7646 RET_LABEL144
:(void)0;
7656 var149
= varonce148
;
7658 var150
= "useless-init";
7660 var152
= string__NativeString__to_s_with_length(var150
, var151
);
7662 varonce148
= var149
;
7665 var154
= varonce153
;
7667 var155
= "Warning: useless empty init in ";
7669 var157
= string__NativeString__to_s_with_length(var155
, var156
);
7671 varonce153
= var154
;
7673 var158
= NEW_array__Array(&type_array__Arraykernel__Object
);
7674 { /* var158 = array_instance Array[Object] */
7676 var160
= NEW_array__NativeArray(var159
, &type_array__NativeArraykernel__Object
);
7677 ((struct instance_array__NativeArray
*)var160
)->values
[0] = (val
*) var154
;
7678 ((struct instance_array__NativeArray
*)var160
)->values
[1] = (val
*) var_mclassdef
;
7680 ((void (*)(val
*, val
*, long))(var158
->class->vft
[COLOR_array__Array__with_native
]))(var158
, var160
, var159
) /* with_native on <var158:Array[Object]>*/;
7684 var161
= ((val
* (*)(val
*))(var158
->class->vft
[COLOR_string__Object__to_s
]))(var158
) /* to_s on <var158:Array[Object]>*/;
7687 modelbuilder__ModelBuilder__advice(var_modelbuilder
, self
, var149
, var161
); /* Direct call modelbuilder#ModelBuilder#advice on <var_modelbuilder:ModelBuilder>*/
7694 if (var_mprop
== NULL
) {
7695 var163
= 1; /* is null */
7697 var163
= 0; /* arg is null but recv is not */
7700 { /* Inline kernel#Object#== (var_mprop,var162) on <var_mprop:nullable MMethod> */
7701 var_other28
= var162
;
7703 { /* Inline kernel#Object#is_same_instance (var_mprop,var_other28) on <var_mprop:nullable MMethod(MMethod)> */
7704 var168
= var_mprop
== var_other28
;
7707 RET_LABEL167
:(void)0;
7712 RET_LABEL165
:(void)0;
7718 { /* Inline parser_nodes#APropdef#n_visibility (self) on <self:AMethPropdef> */
7719 var171
= self
->attrs
[COLOR_parser_nodes__APropdef___n_visibility
].val
; /* _n_visibility on <self:AMethPropdef> */
7721 RET_LABEL170
:(void)0;
7725 var172
= modelize_property__APropdef__new_property_visibility(self
, var_modelbuilder
, var_mclassdef
, var169
);
7727 var_mvisibility
= var172
;
7728 var173
= NEW_model__MMethod(&type_model__MMethod
);
7730 model__MMethod__init(var173
, var_mclassdef
, var_name
, var_mvisibility
); /* Direct call model#MMethod#init on <var173:MMethod>*/
7734 var175
= modelize_property__AMethPropdef__look_like_a_root_init(self
, var_modelbuilder
);
7739 { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
7740 var179
= var_modelbuilder
->attrs
[COLOR_modelize_property__ModelBuilder___the_root_init_mmethod
].val
; /* _the_root_init_mmethod on <var_modelbuilder:ModelBuilder> */
7742 RET_LABEL178
:(void)0;
7746 if (var177
== NULL
) {
7747 var181
= 1; /* is null */
7749 var181
= 0; /* arg is null but recv is not */
7752 { /* Inline kernel#Object#== (var177,var180) on <var177:nullable MMethod> */
7753 var_other28
= var180
;
7755 { /* Inline kernel#Object#is_same_instance (var177,var_other28) on <var177:nullable MMethod(MMethod)> */
7756 var186
= var177
== var_other28
;
7759 RET_LABEL185
:(void)0;
7764 RET_LABEL183
:(void)0;
7774 { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod= (var_modelbuilder,var_mprop) on <var_modelbuilder:ModelBuilder> */
7775 var_modelbuilder
->attrs
[COLOR_modelize_property__ModelBuilder___the_root_init_mmethod
].val
= var_mprop
; /* _the_root_init_mmethod on <var_modelbuilder:ModelBuilder> */
7776 RET_LABEL187
:(void)0;
7781 { /* Inline model#MMethod#is_root_init= (var_mprop,var188) on <var_mprop:nullable MMethod(MMethod)> */
7782 var_mprop
->attrs
[COLOR_model__MMethod___is_root_init
].s
= var188
; /* _is_root_init on <var_mprop:nullable MMethod(MMethod)> */
7783 RET_LABEL189
:(void)0;
7789 { /* Inline model#MMethod#is_init= (var_mprop,var_is_init) on <var_mprop:nullable MMethod(MMethod)> */
7790 var_mprop
->attrs
[COLOR_model__MMethod___is_init
].s
= var_is_init
; /* _is_init on <var_mprop:nullable MMethod(MMethod)> */
7791 RET_LABEL190
:(void)0;
7795 if (var_n_kwnew
== NULL
) {
7796 var192
= 0; /* is null */
7798 var192
= 1; /* arg is null and recv is not */
7801 { /* Inline kernel#Object#!= (var_n_kwnew,var191) on <var_n_kwnew:nullable TKwnew> */
7804 var196
= ((short int (*)(val
*, val
*))(var_n_kwnew
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_kwnew
, var_other
) /* == on <var_n_kwnew:nullable TKwnew(TKwnew)>*/;
7810 RET_LABEL194
:(void)0;
7815 { /* Inline model#MMethod#is_new= (var_mprop,var192) on <var_mprop:nullable MMethod(MMethod)> */
7816 var_mprop
->attrs
[COLOR_model__MMethod___is_new
].s
= var192
; /* _is_new on <var_mprop:nullable MMethod(MMethod)> */
7817 RET_LABEL198
:(void)0;
7821 { /* Inline parser_nodes#ANode#parent (self) on <self:AMethPropdef> */
7822 var201
= self
->attrs
[COLOR_parser_nodes__ANode___parent
].val
; /* _parent on <self:AMethPropdef> */
7824 RET_LABEL200
:(void)0;
7827 /* <var199:nullable ANode> isa ATopClassdef */
7828 cltype203
= type_parser_nodes__ATopClassdef
.color
;
7829 idtype204
= type_parser_nodes__ATopClassdef
.id
;
7830 if(var199
== NULL
) {
7833 if(cltype203
>= var199
->type
->table_size
) {
7836 var202
= var199
->type
->type_table
[cltype203
] == idtype204
;
7842 { /* Inline model#MMethod#is_toplevel= (var_mprop,var205) on <var_mprop:nullable MMethod(MMethod)> */
7843 var_mprop
->attrs
[COLOR_model__MMethod___is_toplevel
].s
= var205
; /* _is_toplevel on <var_mprop:nullable MMethod(MMethod)> */
7844 RET_LABEL206
:(void)0;
7850 { /* Inline parser_nodes#APropdef#n_kwredef (self) on <self:AMethPropdef> */
7851 var209
= self
->attrs
[COLOR_parser_nodes__APropdef___n_kwredef
].val
; /* _n_kwredef on <self:AMethPropdef> */
7853 RET_LABEL208
:(void)0;
7858 var211
= modelize_property__APropdef__check_redef_keyword(self
, var_modelbuilder
, var_mclassdef
, var207
, var210
, var_mprop
);
7867 { /* Inline model#MMethod#is_root_init (var_mprop) on <var_mprop:nullable MMethod(MMethod)> */
7868 var216
= var_mprop
->attrs
[COLOR_model__MMethod___is_root_init
].s
; /* _is_root_init on <var_mprop:nullable MMethod(MMethod)> */
7870 RET_LABEL215
:(void)0;
7877 { /* Inline parser_nodes#APropdef#n_kwredef (self) on <self:AMethPropdef> */
7878 var221
= self
->attrs
[COLOR_parser_nodes__APropdef___n_kwredef
].val
; /* _n_kwredef on <self:AMethPropdef> */
7880 RET_LABEL220
:(void)0;
7883 /* <self:AMethPropdef> isa AMainMethPropdef */
7884 cltype223
= type_parser_nodes__AMainMethPropdef
.color
;
7885 idtype224
= type_parser_nodes__AMainMethPropdef
.id
;
7886 if(cltype223
>= self
->type
->table_size
) {
7889 var222
= self
->type
->type_table
[cltype223
] == idtype224
;
7893 var226
= modelize_property__APropdef__check_redef_keyword(self
, var_modelbuilder
, var_mclassdef
, var219
, var225
, var_mprop
);
7905 { /* Inline parser_nodes#APropdef#n_visibility (self) on <self:AMethPropdef> */
7906 var230
= self
->attrs
[COLOR_parser_nodes__APropdef___n_visibility
].val
; /* _n_visibility on <self:AMethPropdef> */
7908 RET_LABEL229
:(void)0;
7912 modelize_property__APropdef__check_redef_property_visibility(self
, var_modelbuilder
, var228
, var_mprop
); /* Direct call modelize_property#APropdef#check_redef_property_visibility on <self:AMethPropdef>*/
7916 { /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on <var_mclassdef:MClassDef> */
7917 var233
= var_mclassdef
->attrs
[COLOR_modelize_property__MClassDef___mprop2npropdef
].val
; /* _mprop2npropdef on <var_mclassdef:MClassDef> */
7918 if (unlikely(var233
== NULL
)) {
7919 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
7920 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 310);
7924 RET_LABEL232
:(void)0;
7928 ((void (*)(val
*, val
*, val
*))(var231
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var231
, var_mprop
, self
) /* []= on <var231:Map[MProperty, APropdef]>*/;
7930 var234
= NEW_model__MMethodDef(&type_model__MMethodDef
);
7932 { /* Inline parser_nodes#ANode#location (self) on <self:AMethPropdef> */
7933 var237
= self
->attrs
[COLOR_parser_nodes__ANode___location
].val
; /* _location on <self:AMethPropdef> */
7934 if (unlikely(var237
== NULL
)) {
7935 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
7936 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23);
7940 RET_LABEL236
:(void)0;
7944 model__MMethodDef__init(var234
, var_mclassdef
, var_mprop
, var235
); /* Direct call model#MMethodDef#init on <var234:MMethodDef>*/
7946 var_mpropdef
= var234
;
7948 modelize_property__APropdef__set_doc(self
, var_mpropdef
, var_modelbuilder
); /* Direct call modelize_property#APropdef#set_doc on <self:AMethPropdef>*/
7950 /* <var_mpropdef:MMethodDef> isa nullable MPROPDEF */
7951 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable_parser_nodes__APropdef_VTMPROPDEF
];
7952 cltype239
= type_struct
->color
;
7953 idtype240
= type_struct
->id
;
7954 if(cltype239
>= var_mpropdef
->type
->table_size
) {
7957 var238
= var_mpropdef
->type
->type_table
[cltype239
] == idtype240
;
7959 if (unlikely(!var238
)) {
7960 var_class_name241
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
7961 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name241
);
7962 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 580);
7966 { /* Inline modelize_property#APropdef#mpropdef= (self,var_mpropdef) on <self:AMethPropdef> */
7967 /* Covariant cast for argument 0 (mpropdef) <var_mpropdef:MMethodDef> isa nullable MPROPDEF */
7968 /* <var_mpropdef:MMethodDef> isa nullable MPROPDEF */
7969 type_struct246
= self
->type
->resolution_table
->types
[COLOR_nullable_parser_nodes__APropdef_VTMPROPDEF
];
7970 cltype244
= type_struct246
->color
;
7971 idtype245
= type_struct246
->id
;
7972 if(cltype244
>= var_mpropdef
->type
->table_size
) {
7975 var243
= var_mpropdef
->type
->type_table
[cltype244
] == idtype245
;
7977 if (unlikely(!var243
)) {
7978 var_class_name247
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
7979 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name247
);
7980 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 319);
7983 self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
= var_mpropdef
; /* _mpropdef on <self:AMethPropdef> */
7984 RET_LABEL242
:(void)0;
7988 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
7989 var250
= var_modelbuilder
->attrs
[COLOR_modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
7990 if (unlikely(var250
== NULL
)) {
7991 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
7992 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 39);
7996 RET_LABEL249
:(void)0;
8000 hash_collection__HashMap___91d_93d_61d(var248
, var_mpropdef
, self
); /* Direct call hash_collection#HashMap#[]= on <var248:HashMap[MPropDef, APropdef]>*/
8003 var251
= model__MPropDef__is_intro(var_mpropdef
);
8007 { /* Inline modelbuilder#ModelBuilder#toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
8008 var254
= var_modelbuilder
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
8009 if (unlikely(var254
== NULL
)) {
8010 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8011 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
8015 RET_LABEL253
:(void)0;
8019 var256
= varonce255
;
8021 var257
= " introduces new method ";
8023 var259
= string__NativeString__to_s_with_length(var257
, var258
);
8025 varonce255
= var256
;
8028 var260
= model__MProperty__full_name(var_mprop
);
8030 var261
= NEW_array__Array(&type_array__Arraykernel__Object
);
8031 { /* var261 = array_instance Array[Object] */
8033 var263
= NEW_array__NativeArray(var262
, &type_array__NativeArraykernel__Object
);
8034 ((struct instance_array__NativeArray
*)var263
)->values
[0] = (val
*) var_mpropdef
;
8035 ((struct instance_array__NativeArray
*)var263
)->values
[1] = (val
*) var256
;
8036 ((struct instance_array__NativeArray
*)var263
)->values
[2] = (val
*) var260
;
8038 ((void (*)(val
*, val
*, long))(var261
->class->vft
[COLOR_array__Array__with_native
]))(var261
, var263
, var262
) /* with_native on <var261:Array[Object]>*/;
8042 var264
= ((val
* (*)(val
*))(var261
->class->vft
[COLOR_string__Object__to_s
]))(var261
) /* to_s on <var261:Array[Object]>*/;
8046 toolcontext__ToolContext__info(var252
, var264
, var265
); /* Direct call toolcontext#ToolContext#info on <var252:ToolContext>*/
8050 { /* Inline modelbuilder#ModelBuilder#toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
8051 var268
= var_modelbuilder
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
8052 if (unlikely(var268
== NULL
)) {
8053 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8054 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
8058 RET_LABEL267
:(void)0;
8062 var270
= varonce269
;
8064 var271
= " redefines method ";
8066 var273
= string__NativeString__to_s_with_length(var271
, var272
);
8068 varonce269
= var270
;
8071 var274
= model__MProperty__full_name(var_mprop
);
8073 var275
= NEW_array__Array(&type_array__Arraykernel__Object
);
8074 { /* var275 = array_instance Array[Object] */
8076 var277
= NEW_array__NativeArray(var276
, &type_array__NativeArraykernel__Object
);
8077 ((struct instance_array__NativeArray
*)var277
)->values
[0] = (val
*) var_mpropdef
;
8078 ((struct instance_array__NativeArray
*)var277
)->values
[1] = (val
*) var270
;
8079 ((struct instance_array__NativeArray
*)var277
)->values
[2] = (val
*) var274
;
8081 ((void (*)(val
*, val
*, long))(var275
->class->vft
[COLOR_array__Array__with_native
]))(var275
, var277
, var276
) /* with_native on <var275:Array[Object]>*/;
8085 var278
= ((val
* (*)(val
*))(var275
->class->vft
[COLOR_string__Object__to_s
]))(var275
) /* to_s on <var275:Array[Object]>*/;
8089 toolcontext__ToolContext__info(var266
, var278
, var279
); /* Direct call toolcontext#ToolContext#info on <var266:ToolContext>*/
8094 /* method modelize_property#AMethPropdef#build_property for (self: Object, ModelBuilder, MClassDef) */
8095 void VIRTUAL_modelize_property__AMethPropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
8096 modelize_property__AMethPropdef__build_property(self
, p0
, p1
); /* Direct call modelize_property#AMethPropdef#build_property on <self:Object(AMethPropdef)>*/
8099 /* method modelize_property#AMethPropdef#build_signature for (self: AMethPropdef, ModelBuilder) */
8100 void modelize_property__AMethPropdef__build_signature(val
* self
, val
* p0
) {
8101 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
8102 val
* var
/* : nullable MPropDef */;
8103 val
* var2
/* : nullable MPropDef */;
8104 val
* var_mpropdef
/* var mpropdef: nullable MMethodDef */;
8105 val
* var3
/* : null */;
8106 short int var4
/* : Bool */;
8107 short int var5
/* : Bool */;
8108 val
* var_other
/* var other: nullable Object */;
8109 short int var7
/* : Bool */;
8110 short int var9
/* : Bool */;
8111 val
* var10
/* : MClassDef */;
8112 val
* var12
/* : MClassDef */;
8113 val
* var_mclassdef
/* var mclassdef: MClassDef */;
8114 val
* var13
/* : MModule */;
8115 val
* var15
/* : MModule */;
8116 val
* var_mmodule
/* var mmodule: MModule */;
8117 val
* var16
/* : nullable ASignature */;
8118 val
* var18
/* : nullable ASignature */;
8119 val
* var_nsig
/* var nsig: nullable ASignature */;
8120 short int var19
/* : Bool */;
8121 val
* var20
/* : MProperty */;
8122 val
* var22
/* : MProperty */;
8123 short int var23
/* : Bool */;
8124 short int var25
/* : Bool */;
8125 short int var_
/* var : Bool */;
8126 short int var26
/* : Bool */;
8127 short int var27
/* : Bool */;
8128 val
* var28
/* : MClass */;
8129 val
* var30
/* : MClass */;
8130 val
* var31
/* : nullable MMethodDef */;
8131 val
* var33
/* : nullable MMethodDef */;
8132 val
* var_root_init
/* var root_init: nullable MMethodDef */;
8133 val
* var34
/* : null */;
8134 short int var35
/* : Bool */;
8135 short int var36
/* : Bool */;
8136 val
* var_other38
/* var other: nullable Object */;
8137 short int var39
/* : Bool */;
8138 short int var40
/* : Bool */;
8139 short int var41
/* : Bool */;
8140 val
* var42
/* : nullable MSignature */;
8141 val
* var44
/* : nullable MSignature */;
8142 val
* var46
/* : Array[MProperty] */;
8143 val
* var48
/* : Array[MProperty] */;
8144 short int var49
/* : Bool */;
8145 val
* var50
/* : Array[MProperty] */;
8146 val
* var52
/* : Array[MProperty] */;
8147 val
* var53
/* : Array[MProperty] */;
8148 val
* var55
/* : Array[MProperty] */;
8149 val
* var56
/* : Array[String] */;
8150 val
* var_param_names
/* var param_names: Array[String] */;
8151 val
* var57
/* : Array[MType] */;
8152 val
* var_param_types
/* var param_types: Array[MType] */;
8153 long var58
/* : Int */;
8154 long var59
/* : Int */;
8155 long var61
/* : Int */;
8156 long var_vararg_rank
/* var vararg_rank: Int */;
8157 val
* var62
/* : null */;
8158 val
* var_ret_type
/* var ret_type: nullable MType */;
8159 val
* var63
/* : null */;
8160 short int var64
/* : Bool */;
8161 short int var65
/* : Bool */;
8162 short int var67
/* : Bool */;
8163 short int var68
/* : Bool */;
8164 short int var69
/* : Bool */;
8165 short int var70
/* : Bool */;
8166 short int var71
/* : Bool */;
8167 val
* var72
/* : Array[String] */;
8168 val
* var74
/* : Array[String] */;
8169 val
* var75
/* : Array[MType] */;
8170 val
* var77
/* : Array[MType] */;
8171 long var78
/* : Int */;
8172 long var80
/* : Int */;
8173 val
* var81
/* : nullable MType */;
8174 val
* var83
/* : nullable MType */;
8175 val
* var84
/* : null */;
8176 val
* var_msignature
/* var msignature: nullable MSignature */;
8177 short int var85
/* : Bool */;
8178 short int var86
/* : Bool */;
8179 val
* var87
/* : MProperty */;
8180 val
* var89
/* : MProperty */;
8181 val
* var90
/* : MPropDef */;
8182 val
* var92
/* : MPropDef */;
8183 val
* var93
/* : nullable MSignature */;
8184 val
* var95
/* : nullable MSignature */;
8185 val
* var96
/* : null */;
8186 short int var97
/* : Bool */;
8187 short int var98
/* : Bool */;
8188 short int var100
/* : Bool */;
8189 short int var102
/* : Bool */;
8190 long var103
/* : Int */;
8191 long var105
/* : Int */;
8192 long var106
/* : Int */;
8193 short int var107
/* : Bool */;
8194 short int var108
/* : Bool */;
8195 short int var110
/* : Bool */;
8196 short int var111
/* : Bool */;
8197 val
* var112
/* : null */;
8198 short int var113
/* : Bool */;
8199 short int var114
/* : Bool */;
8200 short int var116
/* : Bool */;
8201 short int var117
/* : Bool */;
8202 short int var118
/* : Bool */;
8203 val
* var_node
/* var node: ANode */;
8204 static val
* varonce
;
8205 val
* var119
/* : String */;
8206 char* var120
/* : NativeString */;
8207 long var121
/* : Int */;
8208 val
* var122
/* : FlatString */;
8209 static val
* varonce123
;
8210 val
* var124
/* : String */;
8211 char* var125
/* : NativeString */;
8212 long var126
/* : Int */;
8213 val
* var127
/* : FlatString */;
8214 val
* var128
/* : MProperty */;
8215 val
* var130
/* : MProperty */;
8216 val
* var131
/* : MPropDef */;
8217 val
* var133
/* : MPropDef */;
8218 static val
* varonce134
;
8219 val
* var135
/* : String */;
8220 char* var136
/* : NativeString */;
8221 long var137
/* : Int */;
8222 val
* var138
/* : FlatString */;
8223 long var139
/* : Int */;
8224 long var141
/* : Int */;
8225 static val
* varonce142
;
8226 val
* var143
/* : String */;
8227 char* var144
/* : NativeString */;
8228 long var145
/* : Int */;
8229 val
* var146
/* : FlatString */;
8230 long var147
/* : Int */;
8231 static val
* varonce148
;
8232 val
* var149
/* : String */;
8233 char* var150
/* : NativeString */;
8234 long var151
/* : Int */;
8235 val
* var152
/* : FlatString */;
8236 val
* var153
/* : Array[Object] */;
8237 long var154
/* : Int */;
8238 val
* var155
/* : NativeArray[Object] */;
8239 val
* var156
/* : Object */;
8240 val
* var157
/* : Object */;
8241 val
* var158
/* : String */;
8242 short int var159
/* : Bool */;
8243 val
* var160
/* : MProperty */;
8244 val
* var162
/* : MProperty */;
8245 short int var163
/* : Bool */;
8246 short int var165
/* : Bool */;
8247 short int var_166
/* var : Bool */;
8248 val
* var167
/* : MProperty */;
8249 val
* var169
/* : MProperty */;
8250 short int var170
/* : Bool */;
8251 short int var172
/* : Bool */;
8252 short int var173
/* : Bool */;
8253 val
* var174
/* : Array[MClassType] */;
8254 val
* var176
/* : Array[MClassType] */;
8255 val
* var_177
/* var : Array[MClassType] */;
8256 val
* var178
/* : ArrayIterator[nullable Object] */;
8257 val
* var_179
/* var : ArrayIterator[MClassType] */;
8258 short int var180
/* : Bool */;
8259 val
* var181
/* : nullable Object */;
8260 val
* var_msupertype
/* var msupertype: MClassType */;
8261 val
* var182
/* : MClassType */;
8262 val
* var184
/* : MClassType */;
8263 val
* var185
/* : MClassType */;
8264 val
* var186
/* : MProperty */;
8265 val
* var188
/* : MProperty */;
8266 val
* var189
/* : String */;
8267 val
* var191
/* : String */;
8268 val
* var192
/* : nullable MProperty */;
8269 val
* var_candidate
/* var candidate: nullable MProperty */;
8270 val
* var193
/* : null */;
8271 short int var194
/* : Bool */;
8272 short int var195
/* : Bool */;
8273 short int var197
/* : Bool */;
8274 short int var198
/* : Bool */;
8275 short int var199
/* : Bool */;
8276 val
* var200
/* : null */;
8277 short int var201
/* : Bool */;
8278 short int var202
/* : Bool */;
8279 short int var204
/* : Bool */;
8280 short int var206
/* : Bool */;
8281 val
* var207
/* : MPropDef */;
8282 val
* var209
/* : MPropDef */;
8283 short int var210
/* : Bool */;
8286 const char* var_class_name
;
8287 val
* var211
/* : nullable MSignature */;
8288 val
* var213
/* : nullable MSignature */;
8289 short int var215
/* : Bool */;
8290 short int var216
/* : Bool */;
8291 short int var217
/* : Bool */;
8292 val
* var218
/* : null */;
8293 short int var219
/* : Bool */;
8294 short int var220
/* : Bool */;
8295 short int var222
/* : Bool */;
8296 short int var223
/* : Bool */;
8297 short int var224
/* : Bool */;
8298 short int var_225
/* var : Bool */;
8299 long var226
/* : Int */;
8300 long var228
/* : Int */;
8301 long var229
/* : Int */;
8302 long var231
/* : Int */;
8303 short int var232
/* : Bool */;
8304 short int var233
/* : Bool */;
8305 short int var235
/* : Bool */;
8306 short int var236
/* : Bool */;
8307 short int var_237
/* var : Bool */;
8308 long var238
/* : Int */;
8309 long var240
/* : Int */;
8310 long var241
/* : Int */;
8311 short int var242
/* : Bool */;
8312 short int var243
/* : Bool */;
8313 short int var245
/* : Bool */;
8314 short int var_246
/* var : Bool */;
8315 long var247
/* : Int */;
8316 long var249
/* : Int */;
8317 long var250
/* : Int */;
8318 short int var251
/* : Bool */;
8319 short int var252
/* : Bool */;
8320 short int var254
/* : Bool */;
8321 val
* var255
/* : Array[MType] */;
8322 val
* var256
/* : Array[MParameter] */;
8323 val
* var258
/* : Array[MParameter] */;
8324 val
* var_259
/* var : Array[MParameter] */;
8325 val
* var260
/* : ArrayIterator[nullable Object] */;
8326 val
* var_261
/* var : ArrayIterator[MParameter] */;
8327 short int var262
/* : Bool */;
8328 val
* var263
/* : nullable Object */;
8329 val
* var_mparameter
/* var mparameter: MParameter */;
8330 val
* var264
/* : MType */;
8331 val
* var266
/* : MType */;
8332 long var269
/* : Int */;
8333 long var271
/* : Int */;
8334 short int var272
/* : Bool */;
8335 val
* var273
/* : null */;
8336 short int var274
/* : Bool */;
8337 short int var275
/* : Bool */;
8338 short int var277
/* : Bool */;
8339 short int var278
/* : Bool */;
8340 short int var279
/* : Bool */;
8341 short int var_280
/* var : Bool */;
8342 val
* var281
/* : null */;
8343 short int var282
/* : Bool */;
8344 short int var283
/* : Bool */;
8345 short int var285
/* : Bool */;
8346 short int var287
/* : Bool */;
8347 val
* var288
/* : nullable MType */;
8348 val
* var290
/* : nullable MType */;
8349 long var291
/* : Int */;
8350 long var293
/* : Int */;
8351 long var294
/* : Int */;
8352 long var296
/* : Int */;
8353 short int var297
/* : Bool */;
8354 short int var298
/* : Bool */;
8355 short int var300
/* : Bool */;
8356 short int var301
/* : Bool */;
8357 val
* var302
/* : ANodes[AParam] */;
8358 val
* var304
/* : ANodes[AParam] */;
8359 long var305
/* : Int */;
8360 long var307
/* : Int */;
8361 val
* var308
/* : ANode */;
8362 static val
* varonce309
;
8363 val
* var310
/* : String */;
8364 char* var311
/* : NativeString */;
8365 long var312
/* : Int */;
8366 val
* var313
/* : FlatString */;
8367 long var314
/* : Int */;
8368 long var316
/* : Int */;
8369 val
* var317
/* : nullable Object */;
8370 static val
* varonce318
;
8371 val
* var319
/* : String */;
8372 char* var320
/* : NativeString */;
8373 long var321
/* : Int */;
8374 val
* var322
/* : FlatString */;
8375 val
* var323
/* : Array[Object] */;
8376 long var324
/* : Int */;
8377 val
* var325
/* : NativeArray[Object] */;
8378 val
* var326
/* : String */;
8379 val
* var327
/* : Array[MParameter] */;
8380 val
* var_mparameters
/* var mparameters: Array[MParameter] */;
8381 long var328
/* : Int */;
8382 long var_i
/* var i: Int */;
8383 long var329
/* : Int */;
8384 long var331
/* : Int */;
8385 long var_332
/* var : Int */;
8386 short int var333
/* : Bool */;
8387 short int var335
/* : Bool */;
8390 const char* var_class_name338
;
8391 short int var339
/* : Bool */;
8392 val
* var340
/* : MParameter */;
8393 val
* var341
/* : nullable Object */;
8394 val
* var342
/* : nullable Object */;
8395 short int var343
/* : Bool */;
8396 short int var344
/* : Bool */;
8397 short int var346
/* : Bool */;
8398 val
* var_mparameter347
/* var mparameter: MParameter */;
8399 val
* var348
/* : null */;
8400 short int var349
/* : Bool */;
8401 short int var350
/* : Bool */;
8402 short int var352
/* : Bool */;
8403 short int var353
/* : Bool */;
8404 short int var354
/* : Bool */;
8405 val
* var355
/* : ANodes[AParam] */;
8406 val
* var357
/* : ANodes[AParam] */;
8407 val
* var358
/* : ANode */;
8408 long var360
/* : Int */;
8409 long var361
/* : Int */;
8410 short int var363
/* : Bool */;
8411 val
* var364
/* : null */;
8412 short int var365
/* : Bool */;
8413 short int var366
/* : Bool */;
8414 short int var368
/* : Bool */;
8415 short int var370
/* : Bool */;
8416 short int var_371
/* var : Bool */;
8417 val
* var372
/* : MProperty */;
8418 val
* var374
/* : MProperty */;
8419 short int var375
/* : Bool */;
8420 short int var377
/* : Bool */;
8421 val
* var378
/* : MClass */;
8422 val
* var380
/* : MClass */;
8423 val
* var381
/* : MClassType */;
8424 val
* var383
/* : MClassType */;
8425 val
* var384
/* : MSignature */;
8426 static val
* varonce386
;
8427 val
* var387
/* : String */;
8428 char* var388
/* : NativeString */;
8429 long var389
/* : Int */;
8430 val
* var390
/* : FlatString */;
8431 val
* var391
/* : nullable AAnnotation */;
8432 val
* var392
/* : null */;
8433 short int var393
/* : Bool */;
8434 short int var394
/* : Bool */;
8435 short int var396
/* : Bool */;
8436 short int var397
/* : Bool */;
8437 short int var398
/* : Bool */;
8438 static val
* varonce400
;
8439 val
* var401
/* : String */;
8440 char* var402
/* : NativeString */;
8441 long var403
/* : Int */;
8442 val
* var404
/* : FlatString */;
8443 val
* var405
/* : nullable AAnnotation */;
8444 val
* var406
/* : null */;
8445 short int var407
/* : Bool */;
8446 short int var408
/* : Bool */;
8447 short int var410
/* : Bool */;
8448 short int var411
/* : Bool */;
8449 short int var412
/* : Bool */;
8450 short int var414
/* : Bool */;
8451 val
* var415
/* : nullable AExternCodeBlock */;
8452 val
* var417
/* : nullable AExternCodeBlock */;
8453 val
* var418
/* : null */;
8454 short int var419
/* : Bool */;
8455 short int var420
/* : Bool */;
8456 short int var422
/* : Bool */;
8457 short int var423
/* : Bool */;
8458 short int var424
/* : Bool */;
8459 short int var_425
/* var : Bool */;
8460 static val
* varonce426
;
8461 val
* var427
/* : String */;
8462 char* var428
/* : NativeString */;
8463 long var429
/* : Int */;
8464 val
* var430
/* : FlatString */;
8465 val
* var431
/* : nullable AAnnotation */;
8466 val
* var432
/* : null */;
8467 short int var433
/* : Bool */;
8468 short int var434
/* : Bool */;
8469 short int var436
/* : Bool */;
8470 short int var437
/* : Bool */;
8471 short int var438
/* : Bool */;
8472 var_modelbuilder
= p0
;
8474 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
8475 var2
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
8482 if (var_mpropdef
== NULL
) {
8483 var4
= 1; /* is null */
8485 var4
= 0; /* arg is null but recv is not */
8488 { /* Inline kernel#Object#== (var_mpropdef,var3) on <var_mpropdef:nullable MMethodDef> */
8491 { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
8492 var9
= var_mpropdef
== var_other
;
8509 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
8510 var12
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
8511 if (unlikely(var12
== NULL
)) {
8512 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
8513 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
8517 RET_LABEL11
:(void)0;
8520 var_mclassdef
= var10
;
8522 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
8523 var15
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
8524 if (unlikely(var15
== NULL
)) {
8525 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
8526 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
8530 RET_LABEL14
:(void)0;
8533 var_mmodule
= var13
;
8535 { /* Inline parser_nodes#AMethPropdef#n_signature (self) on <self:AMethPropdef> */
8536 var18
= self
->attrs
[COLOR_parser_nodes__AMethPropdef___n_signature
].val
; /* _n_signature on <self:AMethPropdef> */
8538 RET_LABEL17
:(void)0;
8543 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
8544 var22
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
8545 if (unlikely(var22
== NULL
)) {
8546 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8547 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
8551 RET_LABEL21
:(void)0;
8555 { /* Inline model#MMethod#is_root_init (var20) on <var20:MProperty(MMethod)> */
8556 var25
= var20
->attrs
[COLOR_model__MMethod___is_root_init
].s
; /* _is_root_init on <var20:MProperty(MMethod)> */
8558 RET_LABEL24
:(void)0;
8564 var26
= model__MClassDef__is_intro(var_mclassdef
);
8573 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
8574 var30
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
8575 if (unlikely(var30
== NULL
)) {
8576 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8577 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
8581 RET_LABEL29
:(void)0;
8585 { /* Inline modelize_property#MClass#root_init (var28) on <var28:MClass> */
8586 var33
= var28
->attrs
[COLOR_modelize_property__MClass___root_init
].val
; /* _root_init on <var28:MClass> */
8588 RET_LABEL32
:(void)0;
8591 var_root_init
= var31
;
8593 if (var_root_init
== NULL
) {
8594 var35
= 0; /* is null */
8596 var35
= 1; /* arg is null and recv is not */
8599 { /* Inline kernel#Object#!= (var_root_init,var34) on <var_root_init:nullable MMethodDef> */
8600 var_other38
= var34
;
8602 var40
= ((short int (*)(val
*, val
*))(var_root_init
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_root_init
, var_other38
) /* == on <var_root_init:nullable MMethodDef(MMethodDef)>*/;
8608 RET_LABEL37
:(void)0;
8614 { /* Inline model#MMethodDef#new_msignature (var_root_init) on <var_root_init:nullable MMethodDef(MMethodDef)> */
8615 var44
= var_root_init
->attrs
[COLOR_model__MMethodDef___new_msignature
].val
; /* _new_msignature on <var_root_init:nullable MMethodDef(MMethodDef)> */
8617 RET_LABEL43
:(void)0;
8621 { /* Inline model#MMethodDef#new_msignature= (var_mpropdef,var42) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
8622 var_mpropdef
->attrs
[COLOR_model__MMethodDef___new_msignature
].val
= var42
; /* _new_msignature on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
8623 RET_LABEL45
:(void)0;
8627 { /* Inline model#MMethodDef#initializers (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
8628 var48
= var_mpropdef
->attrs
[COLOR_model__MMethodDef___initializers
].val
; /* _initializers on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
8629 if (unlikely(var48
== NULL
)) {
8630 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
8631 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1967);
8635 RET_LABEL47
:(void)0;
8639 var49
= array__AbstractArrayRead__is_empty(var46
);
8641 if (unlikely(!var49
)) {
8642 PRINT_ERROR("Runtime error: %s", "Assert failed");
8643 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 602);
8647 { /* Inline model#MMethodDef#initializers (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
8648 var52
= var_mpropdef
->attrs
[COLOR_model__MMethodDef___initializers
].val
; /* _initializers on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
8649 if (unlikely(var52
== NULL
)) {
8650 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
8651 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1967);
8655 RET_LABEL51
:(void)0;
8659 { /* Inline model#MMethodDef#initializers (var_root_init) on <var_root_init:nullable MMethodDef(MMethodDef)> */
8660 var55
= var_root_init
->attrs
[COLOR_model__MMethodDef___initializers
].val
; /* _initializers on <var_root_init:nullable MMethodDef(MMethodDef)> */
8661 if (unlikely(var55
== NULL
)) {
8662 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
8663 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1967);
8667 RET_LABEL54
:(void)0;
8671 abstract_collection__SimpleCollection__add_all(var50
, var53
); /* Direct call abstract_collection#SimpleCollection#add_all on <var50:Array[MProperty]>*/
8677 var56
= NEW_array__Array(&type_array__Arraystring__String
);
8679 ((void (*)(val
*))(var56
->class->vft
[COLOR_kernel__Object__init
]))(var56
) /* init on <var56:Array[String]>*/;
8681 var_param_names
= var56
;
8682 var57
= NEW_array__Array(&type_array__Arraymodel__MType
);
8684 ((void (*)(val
*))(var57
->class->vft
[COLOR_kernel__Object__init
]))(var57
) /* init on <var57:Array[MType]>*/;
8686 var_param_types
= var57
;
8689 { /* Inline kernel#Int#unary - (var58) on <var58:Int> */
8693 RET_LABEL60
:(void)0;
8696 var_vararg_rank
= var59
;
8698 var_ret_type
= var62
;
8700 if (var_nsig
== NULL
) {
8701 var64
= 0; /* is null */
8703 var64
= 1; /* arg is null and recv is not */
8706 { /* Inline kernel#Object#!= (var_nsig,var63) on <var_nsig:nullable ASignature> */
8707 var_other38
= var63
;
8709 var68
= ((short int (*)(val
*, val
*))(var_nsig
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nsig
, var_other38
) /* == on <var_nsig:nullable ASignature(ASignature)>*/;
8715 RET_LABEL66
:(void)0;
8721 var70
= modelize_property__ASignature__visit_signature(var_nsig
, var_modelbuilder
, var_mclassdef
);
8729 { /* Inline modelize_property#ASignature#param_names (var_nsig) on <var_nsig:nullable ASignature(ASignature)> */
8730 var74
= var_nsig
->attrs
[COLOR_modelize_property__ASignature___param_names
].val
; /* _param_names on <var_nsig:nullable ASignature(ASignature)> */
8731 if (unlikely(var74
== NULL
)) {
8732 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_names");
8733 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 415);
8737 RET_LABEL73
:(void)0;
8740 var_param_names
= var72
;
8742 { /* Inline modelize_property#ASignature#param_types (var_nsig) on <var_nsig:nullable ASignature(ASignature)> */
8743 var77
= var_nsig
->attrs
[COLOR_modelize_property__ASignature___param_types
].val
; /* _param_types on <var_nsig:nullable ASignature(ASignature)> */
8744 if (unlikely(var77
== NULL
)) {
8745 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_types");
8746 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 418);
8750 RET_LABEL76
:(void)0;
8753 var_param_types
= var75
;
8755 { /* Inline modelize_property#ASignature#vararg_rank (var_nsig) on <var_nsig:nullable ASignature(ASignature)> */
8756 var80
= var_nsig
->attrs
[COLOR_modelize_property__ASignature___vararg_rank
].l
; /* _vararg_rank on <var_nsig:nullable ASignature(ASignature)> */
8758 RET_LABEL79
:(void)0;
8761 var_vararg_rank
= var78
;
8763 { /* Inline modelize_property#ASignature#ret_type (var_nsig) on <var_nsig:nullable ASignature(ASignature)> */
8764 var83
= var_nsig
->attrs
[COLOR_modelize_property__ASignature___ret_type
].val
; /* _ret_type on <var_nsig:nullable ASignature(ASignature)> */
8766 RET_LABEL82
:(void)0;
8769 var_ret_type
= var81
;
8773 var_msignature
= var84
;
8775 var85
= model__MPropDef__is_intro(var_mpropdef
);
8780 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
8781 var89
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
8782 if (unlikely(var89
== NULL
)) {
8783 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8784 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
8788 RET_LABEL88
:(void)0;
8792 { /* Inline model#MProperty#intro (var87) on <var87:MProperty(MMethod)> */
8793 var92
= var87
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var87:MProperty(MMethod)> */
8794 if (unlikely(var92
== NULL
)) {
8795 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
8796 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
8800 RET_LABEL91
:(void)0;
8804 { /* Inline model#MMethodDef#msignature (var90) on <var90:MPropDef(MMethodDef)> */
8805 var95
= var90
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var90:MPropDef(MMethodDef)> */
8807 RET_LABEL94
:(void)0;
8810 var_msignature
= var93
;
8812 if (var_msignature
== NULL
) {
8813 var97
= 1; /* is null */
8815 var97
= 0; /* arg is null but recv is not */
8818 { /* Inline kernel#Object#== (var_msignature,var96) on <var_msignature:nullable MSignature> */
8821 { /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on <var_msignature:nullable MSignature(MSignature)> */
8822 var102
= var_msignature
== var_other
;
8825 RET_LABEL101
:(void)0;
8830 RET_LABEL99
:(void)0;
8839 { /* Inline array#AbstractArrayRead#length (var_param_names) on <var_param_names:Array[String]> */
8840 var105
= var_param_names
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_param_names:Array[String]> */
8842 RET_LABEL104
:(void)0;
8846 var106
= model__MSignature__arity(var_msignature
);
8849 { /* Inline kernel#Int#!= (var103,var106) on <var103:Int> */
8850 var110
= var103
== var106
;
8854 RET_LABEL109
:(void)0;
8860 if (var_nsig
== NULL
) {
8861 var113
= 0; /* is null */
8863 var113
= 1; /* arg is null and recv is not */
8866 { /* Inline kernel#Object#!= (var_nsig,var112) on <var_nsig:nullable ASignature> */
8867 var_other38
= var112
;
8869 var117
= ((short int (*)(val
*, val
*))(var_nsig
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nsig
, var_other38
) /* == on <var_nsig:nullable ASignature(ASignature)>*/;
8875 RET_LABEL115
:(void)0;
8880 var_node
= var_nsig
;
8887 var120
= "Redef error: ";
8889 var122
= string__NativeString__to_s_with_length(var120
, var121
);
8894 var124
= varonce123
;
8896 var125
= " redefines ";
8898 var127
= string__NativeString__to_s_with_length(var125
, var126
);
8900 varonce123
= var124
;
8903 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
8904 var130
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
8905 if (unlikely(var130
== NULL
)) {
8906 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8907 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
8911 RET_LABEL129
:(void)0;
8915 { /* Inline model#MProperty#intro (var128) on <var128:MProperty(MMethod)> */
8916 var133
= var128
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var128:MProperty(MMethod)> */
8917 if (unlikely(var133
== NULL
)) {
8918 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
8919 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
8923 RET_LABEL132
:(void)0;
8927 var135
= varonce134
;
8931 var138
= string__NativeString__to_s_with_length(var136
, var137
);
8933 varonce134
= var135
;
8936 { /* Inline array#AbstractArrayRead#length (var_param_names) on <var_param_names:Array[String]> */
8937 var141
= var_param_names
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_param_names:Array[String]> */
8939 RET_LABEL140
:(void)0;
8943 var143
= varonce142
;
8945 var144
= " parameter(s), ";
8947 var146
= string__NativeString__to_s_with_length(var144
, var145
);
8949 varonce142
= var143
;
8952 var147
= model__MSignature__arity(var_msignature
);
8955 var149
= varonce148
;
8957 var150
= " expected. Signature is ";
8959 var152
= string__NativeString__to_s_with_length(var150
, var151
);
8961 varonce148
= var149
;
8963 var153
= NEW_array__Array(&type_array__Arraykernel__Object
);
8964 { /* var153 = array_instance Array[Object] */
8966 var155
= NEW_array__NativeArray(var154
, &type_array__NativeArraykernel__Object
);
8967 ((struct instance_array__NativeArray
*)var155
)->values
[0] = (val
*) var119
;
8968 ((struct instance_array__NativeArray
*)var155
)->values
[1] = (val
*) var_mpropdef
;
8969 ((struct instance_array__NativeArray
*)var155
)->values
[2] = (val
*) var124
;
8970 ((struct instance_array__NativeArray
*)var155
)->values
[3] = (val
*) var131
;
8971 ((struct instance_array__NativeArray
*)var155
)->values
[4] = (val
*) var135
;
8972 var156
= BOX_kernel__Int(var139
); /* autobox from Int to Object */
8973 ((struct instance_array__NativeArray
*)var155
)->values
[5] = (val
*) var156
;
8974 ((struct instance_array__NativeArray
*)var155
)->values
[6] = (val
*) var143
;
8975 var157
= BOX_kernel__Int(var147
); /* autobox from Int to Object */
8976 ((struct instance_array__NativeArray
*)var155
)->values
[7] = (val
*) var157
;
8977 ((struct instance_array__NativeArray
*)var155
)->values
[8] = (val
*) var149
;
8978 ((struct instance_array__NativeArray
*)var155
)->values
[9] = (val
*) var_mpropdef
;
8979 ((struct instance_array__NativeArray
*)var155
)->values
[10] = (val
*) var_msignature
;
8981 ((void (*)(val
*, val
*, long))(var153
->class->vft
[COLOR_array__Array__with_native
]))(var153
, var155
, var154
) /* with_native on <var153:Array[Object]>*/;
8985 var158
= ((val
* (*)(val
*))(var153
->class->vft
[COLOR_string__Object__to_s
]))(var153
) /* to_s on <var153:Array[Object]>*/;
8988 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_node
, var158
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
8995 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
8996 var162
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
8997 if (unlikely(var162
== NULL
)) {
8998 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8999 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
9003 RET_LABEL161
:(void)0;
9007 { /* Inline model#MMethod#is_init (var160) on <var160:MProperty(MMethod)> */
9008 var165
= var160
->attrs
[COLOR_model__MMethod___is_init
].s
; /* _is_init on <var160:MProperty(MMethod)> */
9010 RET_LABEL164
:(void)0;
9016 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
9017 var169
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
9018 if (unlikely(var169
== NULL
)) {
9019 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
9020 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
9024 RET_LABEL168
:(void)0;
9028 { /* Inline model#MMethod#is_new (var167) on <var167:MProperty(MMethod)> */
9029 var172
= var167
->attrs
[COLOR_model__MMethod___is_new
].s
; /* _is_new on <var167:MProperty(MMethod)> */
9031 RET_LABEL171
:(void)0;
9041 { /* Inline model#MClassDef#supertypes (var_mclassdef) on <var_mclassdef:MClassDef> */
9042 var176
= var_mclassdef
->attrs
[COLOR_model__MClassDef___supertypes
].val
; /* _supertypes on <var_mclassdef:MClassDef> */
9043 if (unlikely(var176
== NULL
)) {
9044 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
9045 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 534);
9049 RET_LABEL175
:(void)0;
9054 var178
= array__AbstractArrayRead__iterator(var_177
);
9059 var180
= array__ArrayIterator__is_ok(var_179
);
9063 var181
= array__ArrayIterator__item(var_179
);
9065 var_msupertype
= var181
;
9067 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
9068 var184
= var_mclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
9069 if (unlikely(var184
== NULL
)) {
9070 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
9071 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
9075 RET_LABEL183
:(void)0;
9079 var185
= model__MClassType__anchor_to(var_msupertype
, var_mmodule
, var182
);
9081 var_msupertype
= var185
;
9083 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
9084 var188
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
9085 if (unlikely(var188
== NULL
)) {
9086 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
9087 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
9091 RET_LABEL187
:(void)0;
9095 { /* Inline model#MProperty#name (var186) on <var186:MProperty(MMethod)> */
9096 var191
= var186
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var186:MProperty(MMethod)> */
9097 if (unlikely(var191
== NULL
)) {
9098 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
9099 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
9103 RET_LABEL190
:(void)0;
9107 var192
= modelbuilder__ModelBuilder__try_get_mproperty_by_name2(var_modelbuilder
, self
, var_mmodule
, var_msupertype
, var189
);
9109 var_candidate
= var192
;
9111 if (var_candidate
== NULL
) {
9112 var194
= 0; /* is null */
9114 var194
= 1; /* arg is null and recv is not */
9117 { /* Inline kernel#Object#!= (var_candidate,var193) on <var_candidate:nullable MProperty> */
9118 var_other38
= var193
;
9120 var198
= ((short int (*)(val
*, val
*))(var_candidate
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_candidate
, var_other38
) /* == on <var_candidate:nullable MProperty(MProperty)>*/;
9126 RET_LABEL196
:(void)0;
9132 if (var_msignature
== NULL
) {
9133 var201
= 1; /* is null */
9135 var201
= 0; /* arg is null but recv is not */
9138 { /* Inline kernel#Object#== (var_msignature,var200) on <var_msignature:nullable MSignature> */
9141 { /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on <var_msignature:nullable MSignature(MSignature)> */
9142 var206
= var_msignature
== var_other
;
9145 RET_LABEL205
:(void)0;
9150 RET_LABEL203
:(void)0;
9156 { /* Inline model#MProperty#intro (var_candidate) on <var_candidate:nullable MProperty(MProperty)> */
9157 var209
= var_candidate
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var_candidate:nullable MProperty(MProperty)> */
9158 if (unlikely(var209
== NULL
)) {
9159 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
9160 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
9164 RET_LABEL208
:(void)0;
9167 /* <var207:MPropDef> isa MMethodDef */
9168 cltype
= type_model__MMethodDef
.color
;
9169 idtype
= type_model__MMethodDef
.id
;
9170 if(cltype
>= var207
->type
->table_size
) {
9173 var210
= var207
->type
->type_table
[cltype
] == idtype
;
9175 if (unlikely(!var210
)) {
9176 var_class_name
= var207
== NULL ?
"null" : var207
->type
->name
;
9177 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MMethodDef", var_class_name
);
9178 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 641);
9182 { /* Inline model#MMethodDef#msignature (var207) on <var207:MPropDef(MMethodDef)> */
9183 var213
= var207
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var207:MPropDef(MMethodDef)> */
9185 RET_LABEL212
:(void)0;
9188 var_msignature
= var211
;
9194 array__ArrayIterator__next(var_179
); /* Direct call array#ArrayIterator#next on <var_179:ArrayIterator[MClassType]>*/
9200 BREAK_label
: (void)0;
9202 { /* Inline abstract_collection#Iterator#finish (var_179) on <var_179:ArrayIterator[MClassType]> */
9203 RET_LABEL214
:(void)0;
9210 if (var_msignature
== NULL
) {
9211 var219
= 0; /* is null */
9213 var219
= 1; /* arg is null and recv is not */
9216 { /* Inline kernel#Object#!= (var_msignature,var218) on <var_msignature:nullable MSignature> */
9217 var_other38
= var218
;
9219 var223
= ((short int (*)(val
*, val
*))(var_msignature
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_msignature
, var_other38
) /* == on <var_msignature:nullable MSignature(MSignature)>*/;
9225 RET_LABEL221
:(void)0;
9232 { /* Inline array#AbstractArrayRead#length (var_param_names) on <var_param_names:Array[String]> */
9233 var228
= var_param_names
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_param_names:Array[String]> */
9235 RET_LABEL227
:(void)0;
9239 { /* Inline array#AbstractArrayRead#length (var_param_types) on <var_param_types:Array[MType]> */
9240 var231
= var_param_types
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_param_types:Array[MType]> */
9242 RET_LABEL230
:(void)0;
9246 { /* Inline kernel#Int#!= (var226,var229) on <var226:Int> */
9247 var235
= var226
== var229
;
9251 RET_LABEL234
:(void)0;
9262 { /* Inline array#AbstractArrayRead#length (var_param_names) on <var_param_names:Array[String]> */
9263 var240
= var_param_names
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_param_names:Array[String]> */
9265 RET_LABEL239
:(void)0;
9269 var241
= model__MSignature__arity(var_msignature
);
9272 { /* Inline kernel#Int#== (var238,var241) on <var238:Int> */
9273 var245
= var238
== var241
;
9276 RET_LABEL244
:(void)0;
9287 { /* Inline array#AbstractArrayRead#length (var_param_types) on <var_param_types:Array[MType]> */
9288 var249
= var_param_types
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_param_types:Array[MType]> */
9290 RET_LABEL248
:(void)0;
9295 { /* Inline kernel#Int#== (var247,var250) on <var247:Int> */
9296 var254
= var247
== var250
;
9299 RET_LABEL253
:(void)0;
9308 var255
= NEW_array__Array(&type_array__Arraymodel__MType
);
9310 ((void (*)(val
*))(var255
->class->vft
[COLOR_kernel__Object__init
]))(var255
) /* init on <var255:Array[MType]>*/;
9312 var_param_types
= var255
;
9314 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
9315 var258
= var_msignature
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:nullable MSignature(MSignature)> */
9316 if (unlikely(var258
== NULL
)) {
9317 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
9318 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
9322 RET_LABEL257
:(void)0;
9327 var260
= array__AbstractArrayRead__iterator(var_259
);
9332 var262
= array__ArrayIterator__is_ok(var_261
);
9336 var263
= array__ArrayIterator__item(var_261
);
9338 var_mparameter
= var263
;
9340 { /* Inline model#MParameter#mtype (var_mparameter) on <var_mparameter:MParameter> */
9341 var266
= var_mparameter
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var_mparameter:MParameter> */
9342 if (unlikely(var266
== NULL
)) {
9343 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9344 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
9348 RET_LABEL265
:(void)0;
9352 array__Array__add(var_param_types
, var264
); /* Direct call array#Array#add on <var_param_types:Array[MType]>*/
9355 array__ArrayIterator__next(var_261
); /* Direct call array#ArrayIterator#next on <var_261:ArrayIterator[MParameter]>*/
9358 goto BREAK_label267
;
9361 BREAK_label267
: (void)0;
9363 { /* Inline abstract_collection#Iterator#finish (var_261) on <var_261:ArrayIterator[MParameter]> */
9364 RET_LABEL268
:(void)0;
9368 { /* Inline model#MSignature#vararg_rank (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
9369 var271
= var_msignature
->attrs
[COLOR_model__MSignature___vararg_rank
].l
; /* _vararg_rank on <var_msignature:nullable MSignature(MSignature)> */
9371 RET_LABEL270
:(void)0;
9374 var_vararg_rank
= var269
;
9378 if (var_msignature
== NULL
) {
9379 var274
= 0; /* is null */
9381 var274
= 1; /* arg is null and recv is not */
9384 { /* Inline kernel#Object#!= (var_msignature,var273) on <var_msignature:nullable MSignature> */
9385 var_other38
= var273
;
9387 var278
= ((short int (*)(val
*, val
*))(var_msignature
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_msignature
, var_other38
) /* == on <var_msignature:nullable MSignature(MSignature)>*/;
9393 RET_LABEL276
:(void)0;
9400 if (var_ret_type
== NULL
) {
9401 var282
= 1; /* is null */
9403 var282
= 0; /* arg is null but recv is not */
9406 { /* Inline kernel#Object#== (var_ret_type,var281) on <var_ret_type:nullable MType> */
9409 { /* Inline kernel#Object#is_same_instance (var_ret_type,var_other) on <var_ret_type:nullable MType(MType)> */
9410 var287
= var_ret_type
== var_other
;
9413 RET_LABEL286
:(void)0;
9418 RET_LABEL284
:(void)0;
9428 { /* Inline model#MSignature#return_mtype (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
9429 var290
= var_msignature
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <var_msignature:nullable MSignature(MSignature)> */
9431 RET_LABEL289
:(void)0;
9434 var_ret_type
= var288
;
9438 { /* Inline array#AbstractArrayRead#length (var_param_names) on <var_param_names:Array[String]> */
9439 var293
= var_param_names
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_param_names:Array[String]> */
9441 RET_LABEL292
:(void)0;
9445 { /* Inline array#AbstractArrayRead#length (var_param_types) on <var_param_types:Array[MType]> */
9446 var296
= var_param_types
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_param_types:Array[MType]> */
9448 RET_LABEL295
:(void)0;
9452 { /* Inline kernel#Int#!= (var291,var294) on <var291:Int> */
9453 var300
= var291
== var294
;
9457 RET_LABEL299
:(void)0;
9462 if (var_nsig
== NULL
) {
9463 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9464 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 663);
9467 { /* Inline parser_nodes#ASignature#n_params (var_nsig) on <var_nsig:nullable ASignature> */
9468 if (unlikely(var_nsig
== NULL
)) {
9469 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9470 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1279);
9473 var304
= var_nsig
->attrs
[COLOR_parser_nodes__ASignature___n_params
].val
; /* _n_params on <var_nsig:nullable ASignature> */
9474 if (unlikely(var304
== NULL
)) {
9475 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
9476 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1279);
9480 RET_LABEL303
:(void)0;
9484 { /* Inline array#AbstractArrayRead#length (var_param_types) on <var_param_types:Array[MType]> */
9485 var307
= var_param_types
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_param_types:Array[MType]> */
9487 RET_LABEL306
:(void)0;
9491 var308
= parser_nodes__ANodes___91d_93d(var302
, var305
);
9494 var310
= varonce309
;
9496 var311
= "Error: Untyped parameter `";
9498 var313
= string__NativeString__to_s_with_length(var311
, var312
);
9500 varonce309
= var310
;
9503 { /* Inline array#AbstractArrayRead#length (var_param_types) on <var_param_types:Array[MType]> */
9504 var316
= var_param_types
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_param_types:Array[MType]> */
9506 RET_LABEL315
:(void)0;
9510 var317
= array__Array___91d_93d(var_param_names
, var314
);
9513 var319
= varonce318
;
9517 var322
= string__NativeString__to_s_with_length(var320
, var321
);
9519 varonce318
= var319
;
9521 var323
= NEW_array__Array(&type_array__Arraykernel__Object
);
9522 { /* var323 = array_instance Array[Object] */
9524 var325
= NEW_array__NativeArray(var324
, &type_array__NativeArraykernel__Object
);
9525 ((struct instance_array__NativeArray
*)var325
)->values
[0] = (val
*) var310
;
9526 ((struct instance_array__NativeArray
*)var325
)->values
[1] = (val
*) var317
;
9527 ((struct instance_array__NativeArray
*)var325
)->values
[2] = (val
*) var319
;
9529 ((void (*)(val
*, val
*, long))(var323
->class->vft
[COLOR_array__Array__with_native
]))(var323
, var325
, var324
) /* with_native on <var323:Array[Object]>*/;
9533 var326
= ((val
* (*)(val
*))(var323
->class->vft
[COLOR_string__Object__to_s
]))(var323
) /* to_s on <var323:Array[Object]>*/;
9536 modelbuilder__ModelBuilder__error(var_modelbuilder
, var308
, var326
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
9541 var327
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
9543 ((void (*)(val
*))(var327
->class->vft
[COLOR_kernel__Object__init
]))(var327
) /* init on <var327:Array[MParameter]>*/;
9545 var_mparameters
= var327
;
9549 { /* Inline array#AbstractArrayRead#length (var_param_names) on <var_param_names:Array[String]> */
9550 var331
= var_param_names
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_param_names:Array[String]> */
9552 RET_LABEL330
:(void)0;
9558 { /* Inline kernel#Int#< (var_i,var_332) on <var_i:Int> */
9559 /* Covariant cast for argument 0 (i) <var_332:Int> isa OTHER */
9560 /* <var_332:Int> isa OTHER */
9561 var335
= 1; /* easy <var_332:Int> isa OTHER*/
9562 if (unlikely(!var335
)) {
9563 var_class_name338
= type_kernel__Int
.name
;
9564 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name338
);
9565 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
9568 var339
= var_i
< var_332
;
9571 RET_LABEL334
:(void)0;
9575 var340
= NEW_model__MParameter(&type_model__MParameter
);
9577 var341
= array__Array___91d_93d(var_param_names
, var_i
);
9580 var342
= array__Array___91d_93d(var_param_types
, var_i
);
9583 { /* Inline kernel#Int#== (var_i,var_vararg_rank) on <var_i:Int> */
9584 var346
= var_i
== var_vararg_rank
;
9587 RET_LABEL345
:(void)0;
9592 model__MParameter__init(var340
, var341
, var342
, var343
); /* Direct call model#MParameter#init on <var340:MParameter>*/
9594 var_mparameter347
= var340
;
9596 if (var_nsig
== NULL
) {
9597 var349
= 0; /* is null */
9599 var349
= 1; /* arg is null and recv is not */
9602 { /* Inline kernel#Object#!= (var_nsig,var348) on <var_nsig:nullable ASignature> */
9603 var_other38
= var348
;
9605 var353
= ((short int (*)(val
*, val
*))(var_nsig
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nsig
, var_other38
) /* == on <var_nsig:nullable ASignature(ASignature)>*/;
9611 RET_LABEL351
:(void)0;
9617 { /* Inline parser_nodes#ASignature#n_params (var_nsig) on <var_nsig:nullable ASignature(ASignature)> */
9618 var357
= var_nsig
->attrs
[COLOR_parser_nodes__ASignature___n_params
].val
; /* _n_params on <var_nsig:nullable ASignature(ASignature)> */
9619 if (unlikely(var357
== NULL
)) {
9620 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
9621 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1279);
9625 RET_LABEL356
:(void)0;
9629 var358
= parser_nodes__ANodes___91d_93d(var355
, var_i
);
9632 { /* Inline modelize_property#AParam#mparameter= (var358,var_mparameter347) on <var358:ANode(AParam)> */
9633 var358
->attrs
[COLOR_modelize_property__AParam___mparameter
].val
= var_mparameter347
; /* _mparameter on <var358:ANode(AParam)> */
9634 RET_LABEL359
:(void)0;
9640 array__Array__add(var_mparameters
, var_mparameter347
); /* Direct call array#Array#add on <var_mparameters:Array[MParameter]>*/
9644 var361
= kernel__Int__successor(var_i
, var360
);
9648 goto BREAK_label362
;
9651 BREAK_label362
: (void)0;
9653 if (var_ret_type
== NULL
) {
9654 var365
= 1; /* is null */
9656 var365
= 0; /* arg is null but recv is not */
9659 { /* Inline kernel#Object#== (var_ret_type,var364) on <var_ret_type:nullable MType> */
9662 { /* Inline kernel#Object#is_same_instance (var_ret_type,var_other) on <var_ret_type:nullable MType(MType)> */
9663 var370
= var_ret_type
== var_other
;
9666 RET_LABEL369
:(void)0;
9671 RET_LABEL367
:(void)0;
9678 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
9679 var374
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
9680 if (unlikely(var374
== NULL
)) {
9681 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
9682 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
9686 RET_LABEL373
:(void)0;
9690 { /* Inline model#MMethod#is_new (var372) on <var372:MProperty(MMethod)> */
9691 var377
= var372
->attrs
[COLOR_model__MMethod___is_new
].s
; /* _is_new on <var372:MProperty(MMethod)> */
9693 RET_LABEL376
:(void)0;
9702 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
9703 var380
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
9704 if (unlikely(var380
== NULL
)) {
9705 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9706 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
9710 RET_LABEL379
:(void)0;
9714 { /* Inline model#MClass#mclass_type (var378) on <var378:MClass> */
9715 var383
= var378
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var378:MClass> */
9716 if (unlikely(var383
== NULL
)) {
9717 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
9718 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
9722 RET_LABEL382
:(void)0;
9725 var_ret_type
= var381
;
9728 var384
= NEW_model__MSignature(&type_model__MSignature
);
9730 model__MSignature__init(var384
, var_mparameters
, var_ret_type
); /* Direct call model#MSignature#init on <var384:MSignature>*/
9732 var_msignature
= var384
;
9734 { /* Inline model#MMethodDef#msignature= (var_mpropdef,var_msignature) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
9735 var_mpropdef
->attrs
[COLOR_model__MMethodDef___msignature
].val
= var_msignature
; /* _msignature on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
9736 RET_LABEL385
:(void)0;
9740 var387
= varonce386
;
9742 var388
= "abstract";
9744 var390
= string__NativeString__to_s_with_length(var388
, var389
);
9746 varonce386
= var387
;
9749 var391
= annotation__Prod__get_single_annotation(self
, var387
, var_modelbuilder
);
9752 if (var391
== NULL
) {
9753 var393
= 0; /* is null */
9755 var393
= 1; /* arg is null and recv is not */
9758 { /* Inline kernel#Object#!= (var391,var392) on <var391:nullable AAnnotation> */
9759 var_other38
= var392
;
9761 var397
= ((short int (*)(val
*, val
*))(var391
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var391
, var_other38
) /* == on <var391:nullable AAnnotation(AAnnotation)>*/;
9767 RET_LABEL395
:(void)0;
9772 { /* Inline model#MMethodDef#is_abstract= (var_mpropdef,var393) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
9773 var_mpropdef
->attrs
[COLOR_model__MMethodDef___is_abstract
].s
= var393
; /* _is_abstract on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
9774 RET_LABEL399
:(void)0;
9778 var401
= varonce400
;
9782 var404
= string__NativeString__to_s_with_length(var402
, var403
);
9784 varonce400
= var401
;
9787 var405
= annotation__Prod__get_single_annotation(self
, var401
, var_modelbuilder
);
9790 if (var405
== NULL
) {
9791 var407
= 0; /* is null */
9793 var407
= 1; /* arg is null and recv is not */
9796 { /* Inline kernel#Object#!= (var405,var406) on <var405:nullable AAnnotation> */
9797 var_other38
= var406
;
9799 var411
= ((short int (*)(val
*, val
*))(var405
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var405
, var_other38
) /* == on <var405:nullable AAnnotation(AAnnotation)>*/;
9805 RET_LABEL409
:(void)0;
9810 { /* Inline model#MMethodDef#is_intern= (var_mpropdef,var407) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
9811 var_mpropdef
->attrs
[COLOR_model__MMethodDef___is_intern
].s
= var407
; /* _is_intern on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
9812 RET_LABEL413
:(void)0;
9816 { /* Inline parser_nodes#AMethPropdef#n_extern_code_block (self) on <self:AMethPropdef> */
9817 var417
= self
->attrs
[COLOR_parser_nodes__AMethPropdef___n_extern_code_block
].val
; /* _n_extern_code_block on <self:AMethPropdef> */
9819 RET_LABEL416
:(void)0;
9823 if (var415
== NULL
) {
9824 var419
= 0; /* is null */
9826 var419
= 1; /* arg is null and recv is not */
9829 { /* Inline kernel#Object#!= (var415,var418) on <var415:nullable AExternCodeBlock> */
9830 var_other38
= var418
;
9832 var423
= ((short int (*)(val
*, val
*))(var415
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var415
, var_other38
) /* == on <var415:nullable AExternCodeBlock(AExternCodeBlock)>*/;
9838 RET_LABEL421
:(void)0;
9847 var427
= varonce426
;
9851 var430
= string__NativeString__to_s_with_length(var428
, var429
);
9853 varonce426
= var427
;
9856 var431
= annotation__Prod__get_single_annotation(self
, var427
, var_modelbuilder
);
9859 if (var431
== NULL
) {
9860 var433
= 0; /* is null */
9862 var433
= 1; /* arg is null and recv is not */
9865 { /* Inline kernel#Object#!= (var431,var432) on <var431:nullable AAnnotation> */
9866 var_other38
= var432
;
9868 var437
= ((short int (*)(val
*, val
*))(var431
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var431
, var_other38
) /* == on <var431:nullable AAnnotation(AAnnotation)>*/;
9874 RET_LABEL435
:(void)0;
9881 { /* Inline model#MMethodDef#is_extern= (var_mpropdef,var414) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
9882 var_mpropdef
->attrs
[COLOR_model__MMethodDef___is_extern
].s
= var414
; /* _is_extern on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
9883 RET_LABEL439
:(void)0;
9888 /* method modelize_property#AMethPropdef#build_signature for (self: Object, ModelBuilder) */
9889 void VIRTUAL_modelize_property__AMethPropdef__build_signature(val
* self
, val
* p0
) {
9890 modelize_property__AMethPropdef__build_signature(self
, p0
); /* Direct call modelize_property#AMethPropdef#build_signature on <self:Object(AMethPropdef)>*/