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", "src/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", "src/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
* var3
/* : Iterator[ANode] */;
41 short int var4
/* : Bool */;
42 val
* var5
/* : nullable Object */;
43 val
* var_nclassdef
/* var nclassdef: AClassdef */;
44 val
* var6
/* : nullable Array[AClassdef] */;
45 val
* var8
/* : nullable Array[AClassdef] */;
46 val
* var9
/* : null */;
47 short int var10
/* : Bool */;
48 short int var11
/* : Bool */;
49 val
* var12
/* : ToolContext */;
50 val
* var14
/* : ToolContext */;
51 val
* var15
/* : ModelBuilder */;
54 { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on <var_nmodule:AModule> */
55 var2
= var_nmodule
->attrs
[COLOR_parser_nodes__AModule___n_classdefs
].val
; /* _n_classdefs on <var_nmodule:AModule> */
56 if (unlikely(var2
== NULL
)) {
57 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs");
58 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 699);
66 var3
= parser_nodes__ANodes__iterator(var
);
70 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[ANode]>*/;
74 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[ANode]>*/;
78 { /* Inline modelize_class#AClassdef#all_defs (var_nclassdef) on <var_nclassdef:AClassdef> */
79 var8
= var_nclassdef
->attrs
[COLOR_modelize_class__AClassdef___all_defs
].val
; /* _all_defs on <var_nclassdef:AClassdef> */
86 var10
= 1; /* is null */
88 var10
= 0; /* arg is null but recv is not */
91 var11
= abstract_collection__SequenceRead___61d_61d(var6
, var9
);
99 { /* Inline phase#Phase#toolcontext (self) on <self:ModelizePropertyPhase> */
100 var14
= self
->attrs
[COLOR_phase__Phase___toolcontext
].val
; /* _toolcontext on <self:ModelizePropertyPhase> */
101 if (unlikely(var14
== NULL
)) {
102 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
103 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 145);
111 var15
= modelbuilder__ToolContext__modelbuilder(var12
);
114 modelize_property__ModelBuilder__build_properties(var15
, var_nclassdef
); /* Direct call modelize_property#ModelBuilder#build_properties on <var15:ModelBuilder>*/
116 CONTINUE_label
: (void)0;
118 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[ANode]>*/;
121 BREAK_label
: (void)0;
124 /* method modelize_property#ModelizePropertyPhase#process_nmodule for (self: Object, AModule) */
125 void VIRTUAL_modelize_property__ModelizePropertyPhase__process_nmodule(val
* self
, val
* p0
) {
126 modelize_property__ModelizePropertyPhase__process_nmodule(self
, p0
); /* Direct call modelize_property#ModelizePropertyPhase#process_nmodule on <self:Object(ModelizePropertyPhase)>*/
129 /* method modelize_property#ModelBuilder#mpropdef2npropdef for (self: ModelBuilder): HashMap[MPropDef, APropdef] */
130 val
* modelize_property__ModelBuilder__mpropdef2npropdef(val
* self
) {
131 val
* var
/* : HashMap[MPropDef, APropdef] */;
132 val
* var1
/* : HashMap[MPropDef, APropdef] */;
133 var1
= self
->attrs
[COLOR_modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <self:ModelBuilder> */
134 if (unlikely(var1
== NULL
)) {
135 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
136 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 39);
143 /* method modelize_property#ModelBuilder#mpropdef2npropdef for (self: Object): HashMap[MPropDef, APropdef] */
144 val
* VIRTUAL_modelize_property__ModelBuilder__mpropdef2npropdef(val
* self
) {
145 val
* var
/* : HashMap[MPropDef, APropdef] */;
146 val
* var1
/* : HashMap[MPropDef, APropdef] */;
147 val
* var3
/* : HashMap[MPropDef, APropdef] */;
148 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (self) on <self:Object(ModelBuilder)> */
149 var3
= self
->attrs
[COLOR_modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <self:Object(ModelBuilder)> */
150 if (unlikely(var3
== NULL
)) {
151 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
152 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 39);
162 /* method modelize_property#ModelBuilder#build_properties for (self: ModelBuilder, AClassdef) */
163 void modelize_property__ModelBuilder__build_properties(val
* self
, val
* p0
) {
164 val
* var_nclassdef
/* var nclassdef: AClassdef */;
165 short int var
/* : Bool */;
166 short int var2
/* : Bool */;
167 short int var3
/* : Bool */;
168 val
* var5
/* : nullable MClassDef */;
169 val
* var7
/* : nullable MClassDef */;
170 val
* var_mclassdef
/* var mclassdef: MClassDef */;
171 val
* var8
/* : nullable POSetElement[MClassDef] */;
172 val
* var10
/* : nullable POSetElement[MClassDef] */;
173 val
* var11
/* : null */;
174 short int var12
/* : Bool */;
175 short int var13
/* : Bool */;
176 val
* var_other
/* var other: nullable Object */;
177 short int var15
/* : Bool */;
178 short int var17
/* : Bool */;
179 val
* var18
/* : nullable POSetElement[MClassDef] */;
180 val
* var20
/* : nullable POSetElement[MClassDef] */;
181 val
* var21
/* : Collection[Object] */;
182 val
* var22
/* : Iterator[nullable Object] */;
183 short int var23
/* : Bool */;
184 val
* var24
/* : nullable Object */;
185 val
* var_superclassdef
/* var superclassdef: MClassDef */;
186 val
* var25
/* : HashMap[MClassDef, AClassdef] */;
187 val
* var27
/* : HashMap[MClassDef, AClassdef] */;
188 short int var28
/* : Bool */;
189 short int var29
/* : Bool */;
190 val
* var30
/* : HashMap[MClassDef, AClassdef] */;
191 val
* var32
/* : HashMap[MClassDef, AClassdef] */;
192 val
* var33
/* : nullable Object */;
193 val
* var34
/* : nullable Array[AClassdef] */;
194 val
* var36
/* : nullable Array[AClassdef] */;
195 val
* var37
/* : ArrayIterator[nullable Object] */;
196 short int var38
/* : Bool */;
197 val
* var39
/* : nullable Object */;
198 val
* var_nclassdef2
/* var nclassdef2: AClassdef */;
199 val
* var40
/* : ANodes[APropdef] */;
200 val
* var42
/* : ANodes[APropdef] */;
201 val
* var43
/* : Iterator[ANode] */;
202 short int var44
/* : Bool */;
203 val
* var45
/* : nullable Object */;
204 val
* var_npropdef
/* var npropdef: APropdef */;
205 val
* var47
/* : ANodes[APropdef] */;
206 val
* var49
/* : ANodes[APropdef] */;
207 val
* var50
/* : Iterator[ANode] */;
208 short int var51
/* : Bool */;
209 val
* var52
/* : nullable Object */;
210 val
* var_npropdef53
/* var npropdef: APropdef */;
211 val
* var55
/* : ANodes[APropdef] */;
212 val
* var57
/* : ANodes[APropdef] */;
213 val
* var58
/* : Iterator[ANode] */;
214 short int var59
/* : Bool */;
215 val
* var60
/* : nullable Object */;
216 val
* var_npropdef61
/* var npropdef: APropdef */;
219 { /* Inline modelize_property#AClassdef#build_properties_is_done (var_nclassdef) on <var_nclassdef:AClassdef> */
220 var2
= var_nclassdef
->attrs
[COLOR_modelize_property__AClassdef___build_properties_is_done
].s
; /* _build_properties_is_done on <var_nclassdef:AClassdef> */
231 { /* Inline modelize_property#AClassdef#build_properties_is_done= (var_nclassdef,var3) on <var_nclassdef:AClassdef> */
232 var_nclassdef
->attrs
[COLOR_modelize_property__AClassdef___build_properties_is_done
].s
= var3
; /* _build_properties_is_done on <var_nclassdef:AClassdef> */
237 { /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef) on <var_nclassdef:AClassdef> */
238 var7
= var_nclassdef
->attrs
[COLOR_modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_nclassdef:AClassdef> */
243 if (unlikely(var5
== NULL
)) {
244 PRINT_ERROR("Runtime error: %s", "Cast failed");
245 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 50);
248 var_mclassdef
= var5
;
250 { /* Inline model#MClassDef#in_hierarchy (var_mclassdef) on <var_mclassdef:MClassDef> */
251 var10
= var_mclassdef
->attrs
[COLOR_model__MClassDef___in_hierarchy
].val
; /* _in_hierarchy on <var_mclassdef:MClassDef> */
258 var12
= 1; /* is null */
260 var12
= 0; /* arg is null but recv is not */
263 { /* Inline kernel#Object#== (var8,var11) on <var8:nullable POSetElement[MClassDef]> */
266 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:nullable POSetElement[MClassDef](POSetElement[MClassDef])> */
267 var17
= var8
== var_other
;
284 { /* Inline model#MClassDef#in_hierarchy (var_mclassdef) on <var_mclassdef:MClassDef> */
285 var20
= var_mclassdef
->attrs
[COLOR_model__MClassDef___in_hierarchy
].val
; /* _in_hierarchy on <var_mclassdef:MClassDef> */
291 PRINT_ERROR("Runtime error: %s", "Receiver is null");
292 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 52);
295 var21
= poset__POSetElement__direct_greaters(var18
);
298 var22
= ((val
* (*)(val
*))(var21
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var21
) /* iterator on <var21:Collection[Object](Collection[MClassDef])>*/;
302 var23
= ((short int (*)(val
*))(var22
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var22
) /* is_ok on <var22:Iterator[nullable Object]>*/;
306 var24
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var22
) /* item on <var22:Iterator[nullable Object]>*/;
308 var_superclassdef
= var24
;
310 { /* Inline modelize_class#ModelBuilder#mclassdef2nclassdef (self) on <self:ModelBuilder> */
311 var27
= self
->attrs
[COLOR_modelize_class__ModelBuilder___mclassdef2nclassdef
].val
; /* _mclassdef2nclassdef on <self:ModelBuilder> */
312 if (unlikely(var27
== NULL
)) {
313 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef2nclassdef");
314 PRINT_ERROR(" (%s:%d)\n", "src/modelize_class.nit", 399);
322 var28
= abstract_collection__MapRead__has_key(var25
, var_superclassdef
);
330 { /* Inline modelize_class#ModelBuilder#mclassdef2nclassdef (self) on <self:ModelBuilder> */
331 var32
= self
->attrs
[COLOR_modelize_class__ModelBuilder___mclassdef2nclassdef
].val
; /* _mclassdef2nclassdef on <self:ModelBuilder> */
332 if (unlikely(var32
== NULL
)) {
333 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef2nclassdef");
334 PRINT_ERROR(" (%s:%d)\n", "src/modelize_class.nit", 399);
342 var33
= hash_collection__HashMap___91d_93d(var30
, var_superclassdef
);
345 modelize_property__ModelBuilder__build_properties(self
, var33
); /* Direct call modelize_property#ModelBuilder#build_properties on <self:ModelBuilder>*/
347 CONTINUE_label
: (void)0;
349 ((void (*)(val
*))(var22
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var22
) /* next on <var22:Iterator[nullable Object]>*/;
352 BREAK_label
: (void)0;
354 { /* Inline modelize_class#AClassdef#all_defs (var_nclassdef) on <var_nclassdef:AClassdef> */
355 var36
= var_nclassdef
->attrs
[COLOR_modelize_class__AClassdef___all_defs
].val
; /* _all_defs on <var_nclassdef:AClassdef> */
361 PRINT_ERROR("Runtime error: %s", "Receiver is null");
362 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 57);
365 var37
= array__AbstractArrayRead__iterator(var34
);
369 var38
= array__ArrayIterator__is_ok(var37
);
373 var39
= array__ArrayIterator__item(var37
);
375 var_nclassdef2
= var39
;
377 { /* Inline parser_nodes#AClassdef#n_propdefs (var_nclassdef2) on <var_nclassdef2:AClassdef> */
378 var42
= var_nclassdef2
->attrs
[COLOR_parser_nodes__AClassdef___n_propdefs
].val
; /* _n_propdefs on <var_nclassdef2:AClassdef> */
379 if (unlikely(var42
== NULL
)) {
380 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs");
381 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 802);
389 var43
= parser_nodes__ANodes__iterator(var40
);
393 var44
= ((short int (*)(val
*))(var43
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var43
) /* is_ok on <var43:Iterator[ANode]>*/;
397 var45
= ((val
* (*)(val
*))(var43
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var43
) /* item on <var43:Iterator[ANode]>*/;
399 var_npropdef
= var45
;
401 ((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>*/;
403 CONTINUE_label46
: (void)0;
405 ((void (*)(val
*))(var43
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var43
) /* next on <var43:Iterator[ANode]>*/;
408 BREAK_label46
: (void)0;
410 { /* Inline parser_nodes#AClassdef#n_propdefs (var_nclassdef2) on <var_nclassdef2:AClassdef> */
411 var49
= var_nclassdef2
->attrs
[COLOR_parser_nodes__AClassdef___n_propdefs
].val
; /* _n_propdefs on <var_nclassdef2:AClassdef> */
412 if (unlikely(var49
== NULL
)) {
413 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs");
414 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 802);
422 var50
= parser_nodes__ANodes__iterator(var47
);
426 var51
= ((short int (*)(val
*))(var50
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var50
) /* is_ok on <var50:Iterator[ANode]>*/;
430 var52
= ((val
* (*)(val
*))(var50
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var50
) /* item on <var50:Iterator[ANode]>*/;
432 var_npropdef53
= var52
;
434 ((void (*)(val
*, val
*))(var_npropdef53
->class->vft
[COLOR_modelize_property__APropdef__build_signature
]))(var_npropdef53
, self
) /* build_signature on <var_npropdef53:APropdef>*/;
436 CONTINUE_label54
: (void)0;
438 ((void (*)(val
*))(var50
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var50
) /* next on <var50:Iterator[ANode]>*/;
441 BREAK_label54
: (void)0;
443 { /* Inline parser_nodes#AClassdef#n_propdefs (var_nclassdef2) on <var_nclassdef2:AClassdef> */
444 var57
= var_nclassdef2
->attrs
[COLOR_parser_nodes__AClassdef___n_propdefs
].val
; /* _n_propdefs on <var_nclassdef2:AClassdef> */
445 if (unlikely(var57
== NULL
)) {
446 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs");
447 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 802);
455 var58
= parser_nodes__ANodes__iterator(var55
);
459 var59
= ((short int (*)(val
*))(var58
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var58
) /* is_ok on <var58:Iterator[ANode]>*/;
463 var60
= ((val
* (*)(val
*))(var58
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var58
) /* item on <var58:Iterator[ANode]>*/;
465 var_npropdef61
= var60
;
467 ((void (*)(val
*, val
*))(var_npropdef61
->class->vft
[COLOR_modelize_property__APropdef__check_signature
]))(var_npropdef61
, self
) /* check_signature on <var_npropdef61:APropdef>*/;
469 CONTINUE_label62
: (void)0;
471 ((void (*)(val
*))(var58
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var58
) /* next on <var58:Iterator[ANode]>*/;
474 BREAK_label62
: (void)0;
475 CONTINUE_label63
: (void)0;
477 array__ArrayIterator__next(var37
); /* Direct call array#ArrayIterator#next on <var37:ArrayIterator[nullable Object]>*/
480 BREAK_label63
: (void)0;
482 modelize_property__ModelBuilder__process_default_constructors(self
, var_nclassdef
); /* Direct call modelize_property#ModelBuilder#process_default_constructors on <self:ModelBuilder>*/
486 /* method modelize_property#ModelBuilder#build_properties for (self: Object, AClassdef) */
487 void VIRTUAL_modelize_property__ModelBuilder__build_properties(val
* self
, val
* p0
) {
488 modelize_property__ModelBuilder__build_properties(self
, p0
); /* Direct call modelize_property#ModelBuilder#build_properties on <self:Object(ModelBuilder)>*/
491 /* method modelize_property#ModelBuilder#process_default_constructors for (self: ModelBuilder, AClassdef) */
492 void modelize_property__ModelBuilder__process_default_constructors(val
* self
, val
* p0
) {
493 val
* var_nclassdef
/* var nclassdef: AClassdef */;
494 val
* var
/* : nullable MClassDef */;
495 val
* var2
/* : nullable MClassDef */;
496 val
* var_mclassdef
/* var mclassdef: MClassDef */;
497 short int var3
/* : Bool */;
498 short int var4
/* : Bool */;
499 val
* var5
/* : MClass */;
500 val
* var7
/* : MClass */;
501 val
* var8
/* : MClassKind */;
502 val
* var10
/* : MClassKind */;
503 short int var11
/* : Bool */;
504 short int var13
/* : Bool */;
505 short int var14
/* : Bool */;
506 val
* var15
/* : Array[MPropDef] */;
507 val
* var17
/* : Array[MPropDef] */;
508 val
* var18
/* : ArrayIterator[nullable Object] */;
509 short int var19
/* : Bool */;
510 val
* var20
/* : nullable Object */;
511 val
* var_mpropdef
/* var mpropdef: MPropDef */;
512 short int var21
/* : Bool */;
515 short int var22
/* : Bool */;
516 val
* var23
/* : MProperty */;
517 val
* var25
/* : MProperty */;
518 short int var26
/* : Bool */;
519 short int var28
/* : Bool */;
520 short int var29
/* : Bool */;
523 short int var32
/* : Bool */;
524 val
* var33
/* : MModule */;
525 val
* var35
/* : MModule */;
526 val
* var_mmodule
/* var mmodule: MModule */;
527 val
* var36
/* : Array[MMethod] */;
528 val
* var_combine
/* var combine: Array[MMethod] */;
529 val
* var37
/* : null */;
530 val
* var_inhc
/* var inhc: nullable MClass */;
531 val
* var38
/* : Array[MClassType] */;
532 val
* var40
/* : Array[MClassType] */;
533 val
* var41
/* : ArrayIterator[nullable Object] */;
534 short int var42
/* : Bool */;
535 val
* var43
/* : nullable Object */;
536 val
* var_st
/* var st: MClassType */;
537 val
* var44
/* : MClass */;
538 val
* var46
/* : MClass */;
539 val
* var_c
/* var c: MClass */;
540 val
* var47
/* : MClassKind */;
541 val
* var49
/* : MClassKind */;
542 short int var50
/* : Bool */;
543 short int var52
/* : Bool */;
544 short int var53
/* : Bool */;
545 val
* var55
/* : MClassType */;
546 val
* var57
/* : MClassType */;
547 val
* var58
/* : MClassType */;
549 val
* var59
/* : String */;
550 char* var60
/* : NativeString */;
551 long var61
/* : Int */;
552 val
* var62
/* : FlatString */;
553 val
* var63
/* : nullable MProperty */;
554 short int var64
/* : Bool */;
557 const char* var_class_name
;
558 val
* var_candidate
/* var candidate: nullable MMethod */;
559 val
* var67
/* : null */;
560 short int var68
/* : Bool */;
561 short int var69
/* : Bool */;
562 val
* var_other
/* var other: nullable Object */;
563 short int var71
/* : Bool */;
564 short int var72
/* : Bool */;
565 short int var73
/* : Bool */;
566 val
* var74
/* : MPropDef */;
567 val
* var75
/* : nullable MSignature */;
568 val
* var77
/* : nullable MSignature */;
569 val
* var78
/* : null */;
570 short int var79
/* : Bool */;
571 short int var80
/* : Bool */;
572 short int var82
/* : Bool */;
573 short int var83
/* : Bool */;
574 short int var84
/* : Bool */;
575 val
* var85
/* : MPropDef */;
576 val
* var86
/* : nullable MSignature */;
577 val
* var88
/* : nullable MSignature */;
578 long var89
/* : Int */;
579 long var90
/* : Int */;
580 short int var91
/* : Bool */;
581 short int var92
/* : Bool */;
582 short int var94
/* : Bool */;
583 val
* var95
/* : nullable MClass */;
584 val
* var97
/* : nullable MClass */;
585 val
* var_inhc2
/* var inhc2: nullable MClass */;
586 val
* var98
/* : null */;
587 short int var99
/* : Bool */;
588 short int var100
/* : Bool */;
589 val
* var_other102
/* var other: nullable Object */;
590 short int var103
/* : Bool */;
591 short int var105
/* : Bool */;
592 short int var106
/* : Bool */;
593 short int var107
/* : Bool */;
594 short int var109
/* : Bool */;
595 short int var111
/* : Bool */;
596 val
* var112
/* : null */;
597 short int var113
/* : Bool */;
598 short int var114
/* : Bool */;
599 short int var116
/* : Bool */;
600 short int var117
/* : Bool */;
601 short int var118
/* : Bool */;
602 static val
* varonce119
;
603 val
* var120
/* : String */;
604 char* var121
/* : NativeString */;
605 long var122
/* : Int */;
606 val
* var123
/* : FlatString */;
607 static val
* varonce124
;
608 val
* var125
/* : String */;
609 char* var126
/* : NativeString */;
610 long var127
/* : Int */;
611 val
* var128
/* : FlatString */;
612 val
* var129
/* : Array[Object] */;
613 long var130
/* : Int */;
614 val
* var131
/* : NativeArray[Object] */;
615 val
* var132
/* : String */;
616 val
* var133
/* : Array[MParameter] */;
617 val
* var_mparameters
/* var mparameters: Array[MParameter] */;
618 val
* var134
/* : null */;
619 val
* var_anode
/* var anode: nullable ANode */;
620 val
* var135
/* : ANodes[APropdef] */;
621 val
* var137
/* : ANodes[APropdef] */;
622 val
* var138
/* : Iterator[ANode] */;
623 short int var139
/* : Bool */;
624 val
* var140
/* : nullable Object */;
625 val
* var_npropdef
/* var npropdef: APropdef */;
626 short int var141
/* : Bool */;
629 val
* var144
/* : nullable MPropDef */;
630 val
* var146
/* : nullable MPropDef */;
631 val
* var147
/* : null */;
632 short int var148
/* : Bool */;
633 short int var149
/* : Bool */;
634 short int var151
/* : Bool */;
635 short int var153
/* : Bool */;
636 static val
* varonce154
;
637 val
* var155
/* : String */;
638 char* var156
/* : NativeString */;
639 long var157
/* : Int */;
640 val
* var158
/* : FlatString */;
641 val
* var159
/* : nullable AAnnotation */;
642 val
* var_at
/* var at: nullable AAnnotation */;
643 val
* var160
/* : null */;
644 short int var161
/* : Bool */;
645 short int var162
/* : Bool */;
646 short int var164
/* : Bool */;
647 short int var165
/* : Bool */;
648 short int var166
/* : Bool */;
649 short int var167
/* : Bool */;
650 val
* var169
/* : nullable AExpr */;
651 val
* var170
/* : null */;
652 short int var171
/* : Bool */;
653 short int var172
/* : Bool */;
654 short int var174
/* : Bool */;
655 short int var175
/* : Bool */;
656 short int var176
/* : Bool */;
657 static val
* varonce177
;
658 val
* var178
/* : String */;
659 char* var179
/* : NativeString */;
660 long var180
/* : Int */;
661 val
* var181
/* : FlatString */;
662 val
* var183
/* : nullable AExpr */;
663 val
* var184
/* : null */;
664 short int var185
/* : Bool */;
665 short int var186
/* : Bool */;
666 short int var188
/* : Bool */;
667 short int var189
/* : Bool */;
668 short int var190
/* : Bool */;
669 val
* var191
/* : nullable MPropDef */;
670 val
* var193
/* : nullable MPropDef */;
671 val
* var194
/* : MProperty */;
672 val
* var196
/* : MProperty */;
673 val
* var197
/* : String */;
674 val
* var199
/* : String */;
675 long var200
/* : Int */;
676 val
* var201
/* : Text */;
677 val
* var_paramname
/* var paramname: String */;
678 val
* var202
/* : nullable MPropDef */;
679 val
* var204
/* : nullable MPropDef */;
680 val
* var205
/* : nullable MType */;
681 val
* var207
/* : nullable MType */;
682 val
* var_ret_type
/* var ret_type: nullable MType */;
683 val
* var208
/* : null */;
684 short int var209
/* : Bool */;
685 short int var210
/* : Bool */;
686 short int var212
/* : Bool */;
687 short int var214
/* : Bool */;
688 val
* var215
/* : MParameter */;
689 short int var216
/* : Bool */;
690 val
* var_mparameter
/* var mparameter: MParameter */;
691 val
* var217
/* : null */;
692 short int var218
/* : Bool */;
693 short int var219
/* : Bool */;
694 short int var221
/* : Bool */;
695 short int var223
/* : Bool */;
696 val
* var224
/* : null */;
697 short int var225
/* : Bool */;
698 short int var226
/* : Bool */;
699 short int var228
/* : Bool */;
700 short int var230
/* : Bool */;
701 short int var231
/* : Bool */;
702 short int var232
/* : Bool */;
703 short int var_
/* var : Bool */;
704 val
* var233
/* : null */;
705 short int var234
/* : Bool */;
706 short int var235
/* : Bool */;
707 short int var237
/* : Bool */;
708 short int var238
/* : Bool */;
709 short int var239
/* : Bool */;
710 short int var240
/* : Bool */;
711 short int var241
/* : Bool */;
712 static val
* varonce242
;
713 val
* var243
/* : String */;
714 char* var244
/* : NativeString */;
715 long var245
/* : Int */;
716 val
* var246
/* : FlatString */;
717 static val
* varonce247
;
718 val
* var248
/* : String */;
719 char* var249
/* : NativeString */;
720 long var250
/* : Int */;
721 val
* var251
/* : FlatString */;
722 static val
* varonce252
;
723 val
* var253
/* : String */;
724 char* var254
/* : NativeString */;
725 long var255
/* : Int */;
726 val
* var256
/* : FlatString */;
727 static val
* varonce257
;
728 val
* var258
/* : String */;
729 char* var259
/* : NativeString */;
730 long var260
/* : Int */;
731 val
* var261
/* : FlatString */;
732 val
* var262
/* : String */;
733 val
* var263
/* : Array[Object] */;
734 long var264
/* : Int */;
735 val
* var265
/* : NativeArray[Object] */;
736 val
* var266
/* : String */;
737 val
* var267
/* : ToolContext */;
738 val
* var269
/* : ToolContext */;
739 static val
* varonce270
;
740 val
* var271
/* : String */;
741 char* var272
/* : NativeString */;
742 long var273
/* : Int */;
743 val
* var274
/* : FlatString */;
744 val
* var275
/* : Array[Object] */;
745 long var276
/* : Int */;
746 val
* var277
/* : NativeArray[Object] */;
747 val
* var278
/* : String */;
748 long var279
/* : Int */;
749 val
* var280
/* : MClass */;
750 val
* var282
/* : MClass */;
751 short int var284
/* : Bool */;
752 short int var285
/* : Bool */;
753 short int var286
/* : Bool */;
754 short int var_287
/* var : Bool */;
755 val
* var288
/* : null */;
756 short int var289
/* : Bool */;
757 short int var290
/* : Bool */;
758 short int var292
/* : Bool */;
759 short int var293
/* : Bool */;
760 short int var294
/* : Bool */;
761 static val
* varonce295
;
762 val
* var296
/* : String */;
763 char* var297
/* : NativeString */;
764 long var298
/* : Int */;
765 val
* var299
/* : FlatString */;
766 static val
* varonce300
;
767 val
* var301
/* : String */;
768 char* var302
/* : NativeString */;
769 long var303
/* : Int */;
770 val
* var304
/* : FlatString */;
771 val
* var305
/* : String */;
772 static val
* varonce306
;
773 val
* var307
/* : String */;
774 char* var308
/* : NativeString */;
775 long var309
/* : Int */;
776 val
* var310
/* : FlatString */;
777 val
* var311
/* : Array[Object] */;
778 long var312
/* : Int */;
779 val
* var313
/* : NativeArray[Object] */;
780 val
* var314
/* : String */;
781 short int var315
/* : Bool */;
782 short int var316
/* : Bool */;
783 short int var317
/* : Bool */;
784 short int var318
/* : Bool */;
785 short int var_319
/* var : Bool */;
786 long var320
/* : Int */;
787 long var321
/* : Int */;
788 short int var322
/* : Bool */;
789 short int var323
/* : Bool */;
790 short int var325
/* : Bool */;
791 val
* var326
/* : nullable Object */;
792 val
* var327
/* : MClassDef */;
793 val
* var329
/* : MClassDef */;
794 val
* var330
/* : MClass */;
795 val
* var332
/* : MClass */;
796 val
* var333
/* : MClass */;
797 val
* var335
/* : MClass */;
798 val
* var337
/* : ToolContext */;
799 val
* var339
/* : ToolContext */;
800 static val
* varonce340
;
801 val
* var341
/* : String */;
802 char* var342
/* : NativeString */;
803 long var343
/* : Int */;
804 val
* var344
/* : FlatString */;
805 val
* var345
/* : Array[Object] */;
806 long var346
/* : Int */;
807 val
* var347
/* : NativeArray[Object] */;
808 val
* var348
/* : String */;
809 long var349
/* : Int */;
810 val
* var351
/* : MMethod */;
811 static val
* varonce352
;
812 val
* var353
/* : String */;
813 char* var354
/* : NativeString */;
814 long var355
/* : Int */;
815 val
* var356
/* : FlatString */;
816 val
* var357
/* : MClass */;
817 val
* var359
/* : MClass */;
818 val
* var360
/* : MVisibility */;
819 val
* var362
/* : MVisibility */;
820 val
* var_mprop
/* var mprop: MMethod */;
821 val
* var363
/* : MMethodDef */;
822 val
* var364
/* : Location */;
823 val
* var_mpropdef365
/* var mpropdef: MMethodDef */;
824 val
* var366
/* : MSignature */;
825 val
* var367
/* : null */;
826 val
* var_msignature
/* var msignature: MSignature */;
827 short int var369
/* : Bool */;
828 val
* var372
/* : ToolContext */;
829 val
* var374
/* : ToolContext */;
830 static val
* varonce375
;
831 val
* var376
/* : String */;
832 char* var377
/* : NativeString */;
833 long var378
/* : Int */;
834 val
* var379
/* : FlatString */;
835 val
* var380
/* : Array[Object] */;
836 long var381
/* : Int */;
837 val
* var382
/* : NativeArray[Object] */;
838 val
* var383
/* : String */;
839 long var384
/* : Int */;
842 { /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef) on <var_nclassdef:AClassdef> */
843 var2
= var_nclassdef
->attrs
[COLOR_modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_nclassdef:AClassdef> */
848 if (unlikely(var
== NULL
)) {
849 PRINT_ERROR("Runtime error: %s", "Cast failed");
850 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 75);
855 var3
= model__MClassDef__is_intro(var_mclassdef
);
863 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
864 var7
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
865 if (unlikely(var7
== NULL
)) {
866 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
867 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 474);
875 { /* Inline model#MClass#kind (var5) on <var5:MClass> */
876 var10
= var5
->attrs
[COLOR_model__MClass___kind
].val
; /* _kind on <var5:MClass> */
877 if (unlikely(var10
== NULL
)) {
878 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
879 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 355);
887 { /* Inline model#MClassKind#need_init (var8) on <var8:MClassKind> */
888 var13
= var8
->attrs
[COLOR_model__MClassKind___need_init
].s
; /* _need_init on <var8:MClassKind> */
899 { /* Inline model#MClassDef#mpropdefs (var_mclassdef) on <var_mclassdef:MClassDef> */
900 var17
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mpropdefs
].val
; /* _mpropdefs on <var_mclassdef:MClassDef> */
901 if (unlikely(var17
== NULL
)) {
902 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
903 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 574);
911 var18
= array__AbstractArrayRead__iterator(var15
);
915 var19
= array__ArrayIterator__is_ok(var18
);
919 var20
= array__ArrayIterator__item(var18
);
921 var_mpropdef
= var20
;
922 /* <var_mpropdef:MPropDef> isa MMethodDef */
923 cltype
= type_model__MMethodDef
.color
;
924 idtype
= type_model__MMethodDef
.id
;
925 if(cltype
>= var_mpropdef
->type
->table_size
) {
928 var21
= var_mpropdef
->type
->type_table
[cltype
] == idtype
;
936 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MPropDef(MMethodDef)> */
937 var25
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MPropDef(MMethodDef)> */
938 if (unlikely(var25
== NULL
)) {
939 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
940 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
948 { /* Inline model#MMethod#is_init (var23) on <var23:MProperty(MMethod)> */
949 var28
= var23
->attrs
[COLOR_model__MMethod___is_init
].s
; /* _is_init on <var23:MProperty(MMethod)> */
958 CONTINUE_label
: (void)0;
960 array__ArrayIterator__next(var18
); /* Direct call array#ArrayIterator#next on <var18:ArrayIterator[nullable Object]>*/
963 BREAK_label
: (void)0;
964 /* <var_nclassdef:AClassdef> isa AStdClassdef */
965 cltype30
= type_parser_nodes__AStdClassdef
.color
;
966 idtype31
= type_parser_nodes__AStdClassdef
.id
;
967 if(cltype30
>= var_nclassdef
->type
->table_size
) {
970 var29
= var_nclassdef
->type
->type_table
[cltype30
] == idtype31
;
978 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
979 var35
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
980 if (unlikely(var35
== NULL
)) {
981 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
982 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
990 var36
= NEW_array__Array(&type_array__Arraymodel__MMethod
);
992 array__Array__init(var36
); /* Direct call array#Array#init on <var36:Array[MMethod]>*/
998 { /* Inline model#MClassDef#supertypes (var_mclassdef) on <var_mclassdef:MClassDef> */
999 var40
= var_mclassdef
->attrs
[COLOR_model__MClassDef___supertypes
].val
; /* _supertypes on <var_mclassdef:MClassDef> */
1000 if (unlikely(var40
== NULL
)) {
1001 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
1002 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 517);
1006 RET_LABEL39
:(void)0;
1010 var41
= array__AbstractArrayRead__iterator(var38
);
1014 var42
= array__ArrayIterator__is_ok(var41
);
1018 var43
= array__ArrayIterator__item(var41
);
1022 { /* Inline model#MClassType#mclass (var_st) on <var_st:MClassType> */
1023 var46
= var_st
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_st:MClassType> */
1024 if (unlikely(var46
== NULL
)) {
1025 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1026 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
1030 RET_LABEL45
:(void)0;
1035 { /* Inline model#MClass#kind (var_c) on <var_c:MClass> */
1036 var49
= var_c
->attrs
[COLOR_model__MClass___kind
].val
; /* _kind on <var_c:MClass> */
1037 if (unlikely(var49
== NULL
)) {
1038 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
1039 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 355);
1043 RET_LABEL48
:(void)0;
1047 { /* Inline model#MClassKind#need_init (var47) on <var47:MClassKind> */
1048 var52
= var47
->attrs
[COLOR_model__MClassKind___need_init
].s
; /* _need_init on <var47:MClassKind> */
1050 RET_LABEL51
:(void)0;
1055 goto CONTINUE_label54
;
1059 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
1060 var57
= var_mclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
1061 if (unlikely(var57
== NULL
)) {
1062 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1063 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
1067 RET_LABEL56
:(void)0;
1071 var58
= model__MClassType__anchor_to(var_st
, var_mmodule
, var55
);
1079 var62
= string__NativeString__to_s_with_length(var60
, var61
);
1084 var63
= modelbuilder__ModelBuilder__try_get_mproperty_by_name2(self
, var_nclassdef
, var_mmodule
, var_st
, var59
);
1086 /* <var63:nullable MProperty> isa nullable MMethod */
1087 cltype65
= type_nullable_model__MMethod
.color
;
1088 idtype66
= type_nullable_model__MMethod
.id
;
1092 if(cltype65
>= var63
->type
->table_size
) {
1095 var64
= var63
->type
->type_table
[cltype65
] == idtype66
;
1098 if (unlikely(!var64
)) {
1099 var_class_name
= var63
== NULL ?
"null" : var63
->type
->name
;
1100 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name
);
1101 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 99);
1104 var_candidate
= var63
;
1106 if (var_candidate
== NULL
) {
1107 var68
= 0; /* is null */
1109 var68
= 1; /* arg is null and recv is not */
1112 { /* Inline kernel#Object#!= (var_candidate,var67) on <var_candidate:nullable MMethod> */
1115 var72
= ((short int (*)(val
*, val
*))(var_candidate
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_candidate
, var_other
) /* == on <var_candidate:nullable MMethod(MMethod)>*/;
1121 RET_LABEL70
:(void)0;
1127 var74
= model__MProperty__intro(var_candidate
);
1130 { /* Inline model#MMethodDef#msignature (var74) on <var74:MPropDef(MMethodDef)> */
1131 var77
= var74
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var74:MPropDef(MMethodDef)> */
1133 RET_LABEL76
:(void)0;
1137 if (var75
== NULL
) {
1138 var79
= 0; /* is null */
1140 var79
= 1; /* arg is null and recv is not */
1143 { /* Inline kernel#Object#!= (var75,var78) on <var75:nullable MSignature> */
1146 var83
= ((short int (*)(val
*, val
*))(var75
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var75
, var_other
) /* == on <var75:nullable MSignature(MSignature)>*/;
1152 RET_LABEL81
:(void)0;
1158 var85
= model__MProperty__intro(var_candidate
);
1161 { /* Inline model#MMethodDef#msignature (var85) on <var85:MPropDef(MMethodDef)> */
1162 var88
= var85
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var85:MPropDef(MMethodDef)> */
1164 RET_LABEL87
:(void)0;
1167 if (var86
== NULL
) {
1168 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1169 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 102);
1172 var89
= model__MSignature__arity(var86
);
1176 { /* Inline kernel#Int#== (var89,var90) on <var89:Int> */
1177 var94
= var89
== var90
;
1180 RET_LABEL93
:(void)0;
1186 array__Array__add(var_combine
, var_candidate
); /* Direct call array#Array#add on <var_combine:Array[MMethod]>*/
1188 goto CONTINUE_label54
;
1196 { /* Inline modelize_property#MClass#inherit_init_from (var_c) on <var_c:MClass> */
1197 var97
= var_c
->attrs
[COLOR_modelize_property__MClass___inherit_init_from
].val
; /* _inherit_init_from on <var_c:MClass> */
1199 RET_LABEL96
:(void)0;
1204 if (var_inhc2
== NULL
) {
1205 var99
= 1; /* is null */
1207 var99
= 0; /* arg is null but recv is not */
1210 { /* Inline kernel#Object#== (var_inhc2,var98) on <var_inhc2:nullable MClass> */
1211 var_other102
= var98
;
1213 { /* Inline kernel#Object#is_same_instance (var_inhc2,var_other102) on <var_inhc2:nullable MClass(MClass)> */
1214 var105
= var_inhc2
== var_other102
;
1217 RET_LABEL104
:(void)0;
1222 RET_LABEL101
:(void)0;
1231 { /* Inline kernel#Object#== (var_inhc2,var_inhc) on <var_inhc2:nullable MClass(MClass)> */
1232 var_other102
= var_inhc
;
1234 { /* Inline kernel#Object#is_same_instance (var_inhc2,var_other102) on <var_inhc2:nullable MClass(MClass)> */
1235 var111
= var_inhc2
== var_other102
;
1238 RET_LABEL110
:(void)0;
1243 RET_LABEL108
:(void)0;
1248 goto CONTINUE_label54
;
1252 if (var_inhc
== NULL
) {
1253 var113
= 0; /* is null */
1255 var113
= 1; /* arg is null and recv is not */
1258 { /* Inline kernel#Object#!= (var_inhc,var112) on <var_inhc:nullable MClass> */
1261 var117
= ((short int (*)(val
*, val
*))(var_inhc
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_inhc
, var_other
) /* == on <var_inhc:nullable MClass(MClass)>*/;
1267 RET_LABEL115
:(void)0;
1273 var120
= varonce119
;
1275 var121
= "Error: Cannot provide a defaut constructor: conflict for ";
1277 var123
= string__NativeString__to_s_with_length(var121
, var122
);
1279 varonce119
= var120
;
1282 var125
= varonce124
;
1286 var128
= string__NativeString__to_s_with_length(var126
, var127
);
1288 varonce124
= var125
;
1290 var129
= NEW_array__Array(&type_array__Arraykernel__Object
);
1291 { /* var129 = array_instance Array[Object] */
1293 var131
= NEW_array__NativeArray(var130
, &type_array__NativeArraykernel__Object
);
1294 ((struct instance_array__NativeArray
*)var131
)->values
[0] = (val
*) var120
;
1295 ((struct instance_array__NativeArray
*)var131
)->values
[1] = (val
*) var_inhc
;
1296 ((struct instance_array__NativeArray
*)var131
)->values
[2] = (val
*) var125
;
1297 ((struct instance_array__NativeArray
*)var131
)->values
[3] = (val
*) var_c
;
1299 ((void (*)(val
*, val
*, long))(var129
->class->vft
[COLOR_array__Array__with_native
]))(var129
, var131
, var130
) /* with_native on <var129:Array[Object]>*/;
1303 var132
= ((val
* (*)(val
*))(var129
->class->vft
[COLOR_string__Object__to_s
]))(var129
) /* to_s on <var129:Array[Object]>*/;
1306 modelbuilder__ModelBuilder__error(self
, var_nclassdef
, var132
); /* Direct call modelbuilder#ModelBuilder#error on <self:ModelBuilder>*/
1309 var_inhc
= var_inhc2
;
1311 CONTINUE_label54
: (void)0;
1313 array__ArrayIterator__next(var41
); /* Direct call array#ArrayIterator#next on <var41:ArrayIterator[nullable Object]>*/
1316 BREAK_label54
: (void)0;
1317 var133
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
1319 array__Array__init(var133
); /* Direct call array#Array#init on <var133:Array[MParameter]>*/
1321 var_mparameters
= var133
;
1325 { /* Inline parser_nodes#AClassdef#n_propdefs (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
1326 var137
= var_nclassdef
->attrs
[COLOR_parser_nodes__AClassdef___n_propdefs
].val
; /* _n_propdefs on <var_nclassdef:AClassdef(AStdClassdef)> */
1327 if (unlikely(var137
== NULL
)) {
1328 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs");
1329 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 802);
1333 RET_LABEL136
:(void)0;
1337 var138
= parser_nodes__ANodes__iterator(var135
);
1341 var139
= ((short int (*)(val
*))(var138
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var138
) /* is_ok on <var138:Iterator[ANode]>*/;
1345 var140
= ((val
* (*)(val
*))(var138
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var138
) /* item on <var138:Iterator[ANode]>*/;
1347 var_npropdef
= var140
;
1348 /* <var_npropdef:APropdef> isa AAttrPropdef */
1349 cltype142
= type_parser_nodes__AAttrPropdef
.color
;
1350 idtype143
= type_parser_nodes__AAttrPropdef
.id
;
1351 if(cltype142
>= var_npropdef
->type
->table_size
) {
1354 var141
= var_npropdef
->type
->type_table
[cltype142
] == idtype143
;
1358 { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on <var_npropdef:APropdef(AAttrPropdef)> */
1359 var146
= var_npropdef
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <var_npropdef:APropdef(AAttrPropdef)> */
1361 RET_LABEL145
:(void)0;
1365 if (var144
== NULL
) {
1366 var148
= 1; /* is null */
1368 var148
= 0; /* arg is null but recv is not */
1371 { /* Inline kernel#Object#== (var144,var147) on <var144:nullable MPropDef(nullable MAttributeDef)> */
1372 var_other102
= var147
;
1374 { /* Inline kernel#Object#is_same_instance (var144,var_other102) on <var144:nullable MAttributeDef(MAttributeDef)> */
1375 var153
= var144
== var_other102
;
1378 RET_LABEL152
:(void)0;
1383 RET_LABEL150
:(void)0;
1392 var155
= varonce154
;
1396 var158
= string__NativeString__to_s_with_length(var156
, var157
);
1398 varonce154
= var155
;
1401 var159
= annotation__Prod__get_single_annotation(var_npropdef
, var155
, self
);
1405 if (var_at
== NULL
) {
1406 var161
= 0; /* is null */
1408 var161
= 1; /* arg is null and recv is not */
1411 { /* Inline kernel#Object#!= (var_at,var160) on <var_at:nullable AAnnotation> */
1414 var165
= ((short int (*)(val
*, val
*))(var_at
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_at
, var_other
) /* == on <var_at:nullable AAnnotation(AAnnotation)>*/;
1420 RET_LABEL163
:(void)0;
1427 { /* Inline modelize_property#AAttrPropdef#noinit= (var_npropdef,var167) on <var_npropdef:APropdef(AAttrPropdef)> */
1428 var_npropdef
->attrs
[COLOR_modelize_property__AAttrPropdef___noinit
].s
= var167
; /* _noinit on <var_npropdef:APropdef(AAttrPropdef)> */
1429 RET_LABEL168
:(void)0;
1433 var169
= parser_nodes__AAttrPropdef__n_expr(var_npropdef
);
1436 if (var169
== NULL
) {
1437 var171
= 0; /* is null */
1439 var171
= 1; /* arg is null and recv is not */
1442 { /* Inline kernel#Object#!= (var169,var170) on <var169:nullable AExpr> */
1445 var175
= ((short int (*)(val
*, val
*))(var169
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var169
, var_other
) /* == on <var169:nullable AExpr(AExpr)>*/;
1451 RET_LABEL173
:(void)0;
1457 var178
= varonce177
;
1459 var179
= "Error: `noinit` attributes cannot have an initial value";
1461 var181
= string__NativeString__to_s_with_length(var179
, var180
);
1463 varonce177
= var178
;
1466 modelbuilder__ModelBuilder__error(self
, var_at
, var178
); /* Direct call modelbuilder#ModelBuilder#error on <self:ModelBuilder>*/
1470 goto CONTINUE_label182
;
1474 var183
= parser_nodes__AAttrPropdef__n_expr(var_npropdef
);
1477 if (var183
== NULL
) {
1478 var185
= 0; /* is null */
1480 var185
= 1; /* arg is null and recv is not */
1483 { /* Inline kernel#Object#!= (var183,var184) on <var183:nullable AExpr> */
1486 var189
= ((short int (*)(val
*, val
*))(var183
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var183
, var_other
) /* == on <var183:nullable AExpr(AExpr)>*/;
1492 RET_LABEL187
:(void)0;
1497 goto CONTINUE_label182
;
1501 { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on <var_npropdef:APropdef(AAttrPropdef)> */
1502 var193
= var_npropdef
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <var_npropdef:APropdef(AAttrPropdef)> */
1504 RET_LABEL192
:(void)0;
1507 if (var191
== NULL
) {
1508 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1509 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 133);
1512 { /* Inline model#MPropDef#mproperty (var191) on <var191:nullable MPropDef(nullable MAttributeDef)> */
1513 if (unlikely(var191
== NULL
)) {
1514 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1515 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
1518 var196
= var191
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var191:nullable MPropDef(nullable MAttributeDef)> */
1519 if (unlikely(var196
== NULL
)) {
1520 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1521 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
1525 RET_LABEL195
:(void)0;
1529 { /* Inline model#MProperty#name (var194) on <var194:MProperty(MAttribute)> */
1530 var199
= var194
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var194:MProperty(MAttribute)> */
1531 if (unlikely(var199
== NULL
)) {
1532 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1533 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1607);
1537 RET_LABEL198
:(void)0;
1542 var201
= string__Text__substring_from(var197
, var200
);
1544 var_paramname
= var201
;
1546 { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on <var_npropdef:APropdef(AAttrPropdef)> */
1547 var204
= var_npropdef
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <var_npropdef:APropdef(AAttrPropdef)> */
1549 RET_LABEL203
:(void)0;
1552 if (var202
== NULL
) {
1553 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1554 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 134);
1557 { /* Inline model#MAttributeDef#static_mtype (var202) on <var202:nullable MPropDef(nullable MAttributeDef)> */
1558 if (unlikely(var202
== NULL
)) {
1559 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1560 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1963);
1563 var207
= var202
->attrs
[COLOR_model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var202:nullable MPropDef(nullable MAttributeDef)> */
1565 RET_LABEL206
:(void)0;
1568 var_ret_type
= var205
;
1570 if (var_ret_type
== NULL
) {
1571 var209
= 1; /* is null */
1573 var209
= 0; /* arg is null but recv is not */
1576 { /* Inline kernel#Object#== (var_ret_type,var208) on <var_ret_type:nullable MType> */
1577 var_other102
= var208
;
1579 { /* Inline kernel#Object#is_same_instance (var_ret_type,var_other102) on <var_ret_type:nullable MType(MType)> */
1580 var214
= var_ret_type
== var_other102
;
1583 RET_LABEL213
:(void)0;
1588 RET_LABEL211
:(void)0;
1596 var215
= NEW_model__MParameter(&type_model__MParameter
);
1599 model__MParameter__init(var215
, var_paramname
, var_ret_type
, var216
); /* Direct call model#MParameter#init on <var215:MParameter>*/
1601 var_mparameter
= var215
;
1603 array__Array__add(var_mparameters
, var_mparameter
); /* Direct call array#Array#add on <var_mparameters:Array[MParameter]>*/
1606 if (var_anode
== NULL
) {
1607 var218
= 1; /* is null */
1609 var218
= 0; /* arg is null but recv is not */
1612 { /* Inline kernel#Object#== (var_anode,var217) on <var_anode:nullable ANode> */
1613 var_other102
= var217
;
1615 { /* Inline kernel#Object#is_same_instance (var_anode,var_other102) on <var_anode:nullable ANode(ANode)> */
1616 var223
= var_anode
== var_other102
;
1619 RET_LABEL222
:(void)0;
1624 RET_LABEL220
:(void)0;
1629 var_anode
= var_npropdef
;
1634 CONTINUE_label182
: (void)0;
1636 ((void (*)(val
*))(var138
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var138
) /* next on <var138:Iterator[ANode]>*/;
1639 BREAK_label182
: (void)0;
1641 if (var_anode
== NULL
) {
1642 var225
= 1; /* is null */
1644 var225
= 0; /* arg is null but recv is not */
1647 { /* Inline kernel#Object#== (var_anode,var224) on <var_anode:nullable ANode> */
1648 var_other102
= var224
;
1650 { /* Inline kernel#Object#is_same_instance (var_anode,var_other102) on <var_anode:nullable ANode(ANode)> */
1651 var230
= var_anode
== var_other102
;
1654 RET_LABEL229
:(void)0;
1659 RET_LABEL227
:(void)0;
1664 var_anode
= var_nclassdef
;
1668 var232
= array__AbstractArrayRead__is_empty(var_combine
);
1673 if (var_inhc
== NULL
) {
1674 var234
= 0; /* is null */
1676 var234
= 1; /* arg is null and recv is not */
1679 { /* Inline kernel#Object#!= (var_inhc,var233) on <var_inhc:nullable MClass> */
1682 var238
= ((short int (*)(val
*, val
*))(var_inhc
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_inhc
, var_other
) /* == on <var_inhc:nullable MClass(MClass)>*/;
1688 RET_LABEL236
:(void)0;
1698 var240
= array__AbstractArrayRead__is_empty(var_mparameters
);
1703 var243
= varonce242
;
1707 var246
= string__NativeString__to_s_with_length(var244
, var245
);
1709 varonce242
= var243
;
1712 var248
= varonce247
;
1714 var249
= " cannot inherit constructors from ";
1716 var251
= string__NativeString__to_s_with_length(var249
, var250
);
1718 varonce247
= var248
;
1721 var253
= varonce252
;
1723 var254
= " because there is attributes without initial values: ";
1725 var256
= string__NativeString__to_s_with_length(var254
, var255
);
1727 varonce252
= var253
;
1730 var258
= varonce257
;
1734 var261
= string__NativeString__to_s_with_length(var259
, var260
);
1736 varonce257
= var258
;
1739 var262
= string__Collection__join(var_mparameters
, var258
);
1741 var263
= NEW_array__Array(&type_array__Arraykernel__Object
);
1742 { /* var263 = array_instance Array[Object] */
1744 var265
= NEW_array__NativeArray(var264
, &type_array__NativeArraykernel__Object
);
1745 ((struct instance_array__NativeArray
*)var265
)->values
[0] = (val
*) var243
;
1746 ((struct instance_array__NativeArray
*)var265
)->values
[1] = (val
*) var_mclassdef
;
1747 ((struct instance_array__NativeArray
*)var265
)->values
[2] = (val
*) var248
;
1748 ((struct instance_array__NativeArray
*)var265
)->values
[3] = (val
*) var_inhc
;
1749 ((struct instance_array__NativeArray
*)var265
)->values
[4] = (val
*) var253
;
1750 ((struct instance_array__NativeArray
*)var265
)->values
[5] = (val
*) var262
;
1752 ((void (*)(val
*, val
*, long))(var263
->class->vft
[COLOR_array__Array__with_native
]))(var263
, var265
, var264
) /* with_native on <var263:Array[Object]>*/;
1756 var266
= ((val
* (*)(val
*))(var263
->class->vft
[COLOR_string__Object__to_s
]))(var263
) /* to_s on <var263:Array[Object]>*/;
1759 modelbuilder__ModelBuilder__error(self
, var_anode
, var266
); /* Direct call modelbuilder#ModelBuilder#error on <self:ModelBuilder>*/
1765 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
1766 var269
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
1767 if (unlikely(var269
== NULL
)) {
1768 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1769 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
1773 RET_LABEL268
:(void)0;
1777 var271
= varonce270
;
1779 var272
= " inherits all constructors from ";
1781 var274
= string__NativeString__to_s_with_length(var272
, var273
);
1783 varonce270
= var271
;
1785 var275
= NEW_array__Array(&type_array__Arraykernel__Object
);
1786 { /* var275 = array_instance Array[Object] */
1788 var277
= NEW_array__NativeArray(var276
, &type_array__NativeArraykernel__Object
);
1789 ((struct instance_array__NativeArray
*)var277
)->values
[0] = (val
*) var_mclassdef
;
1790 ((struct instance_array__NativeArray
*)var277
)->values
[1] = (val
*) var271
;
1791 ((struct instance_array__NativeArray
*)var277
)->values
[2] = (val
*) var_inhc
;
1793 ((void (*)(val
*, val
*, long))(var275
->class->vft
[COLOR_array__Array__with_native
]))(var275
, var277
, var276
) /* with_native on <var275:Array[Object]>*/;
1797 var278
= ((val
* (*)(val
*))(var275
->class->vft
[COLOR_string__Object__to_s
]))(var275
) /* to_s on <var275:Array[Object]>*/;
1801 toolcontext__ToolContext__info(var267
, var278
, var279
); /* Direct call toolcontext#ToolContext#info on <var267:ToolContext>*/
1804 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
1805 var282
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
1806 if (unlikely(var282
== NULL
)) {
1807 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1808 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 474);
1812 RET_LABEL281
:(void)0;
1816 { /* Inline modelize_property#MClass#inherit_init_from= (var280,var_inhc) on <var280:MClass> */
1817 var280
->attrs
[COLOR_modelize_property__MClass___inherit_init_from
].val
= var_inhc
; /* _inherit_init_from on <var280:MClass> */
1818 RET_LABEL283
:(void)0;
1825 var285
= array__AbstractArrayRead__is_empty(var_combine
);
1831 if (var_inhc
== NULL
) {
1832 var289
= 0; /* is null */
1834 var289
= 1; /* arg is null and recv is not */
1837 { /* Inline kernel#Object#!= (var_inhc,var288) on <var_inhc:nullable MClass> */
1840 var293
= ((short int (*)(val
*, val
*))(var_inhc
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_inhc
, var_other
) /* == on <var_inhc:nullable MClass(MClass)>*/;
1846 RET_LABEL291
:(void)0;
1856 var296
= varonce295
;
1858 var297
= "Error: Cannot provide a defaut constructor: conflict for ";
1860 var299
= string__NativeString__to_s_with_length(var297
, var298
);
1862 varonce295
= var296
;
1865 var301
= varonce300
;
1869 var304
= string__NativeString__to_s_with_length(var302
, var303
);
1871 varonce300
= var301
;
1874 var305
= string__Collection__join(var_combine
, var301
);
1877 var307
= varonce306
;
1881 var310
= string__NativeString__to_s_with_length(var308
, var309
);
1883 varonce306
= var307
;
1885 var311
= NEW_array__Array(&type_array__Arraykernel__Object
);
1886 { /* var311 = array_instance Array[Object] */
1888 var313
= NEW_array__NativeArray(var312
, &type_array__NativeArraykernel__Object
);
1889 ((struct instance_array__NativeArray
*)var313
)->values
[0] = (val
*) var296
;
1890 ((struct instance_array__NativeArray
*)var313
)->values
[1] = (val
*) var305
;
1891 ((struct instance_array__NativeArray
*)var313
)->values
[2] = (val
*) var307
;
1892 ((struct instance_array__NativeArray
*)var313
)->values
[3] = (val
*) var_inhc
;
1894 ((void (*)(val
*, val
*, long))(var311
->class->vft
[COLOR_array__Array__with_native
]))(var311
, var313
, var312
) /* with_native on <var311:Array[Object]>*/;
1898 var314
= ((val
* (*)(val
*))(var311
->class->vft
[COLOR_string__Object__to_s
]))(var311
) /* to_s on <var311:Array[Object]>*/;
1901 modelbuilder__ModelBuilder__error(self
, var_nclassdef
, var314
); /* Direct call modelbuilder#ModelBuilder#error on <self:ModelBuilder>*/
1907 var315
= array__AbstractArrayRead__is_empty(var_combine
);
1912 var318
= array__AbstractArrayRead__is_empty(var_mparameters
);
1917 var320
= array__AbstractArrayRead__length(var_combine
);
1921 { /* Inline kernel#Int#== (var320,var321) on <var320:Int> */
1922 var325
= var320
== var321
;
1925 RET_LABEL324
:(void)0;
1935 var326
= abstract_collection__SequenceRead__first(var_combine
);
1938 { /* Inline model#MProperty#intro_mclassdef (var326) on <var326:nullable Object(MMethod)> */
1939 var329
= var326
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var326:nullable Object(MMethod)> */
1940 if (unlikely(var329
== NULL
)) {
1941 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
1942 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1602);
1946 RET_LABEL328
:(void)0;
1950 { /* Inline model#MClassDef#mclass (var327) on <var327:MClassDef> */
1951 var332
= var327
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var327:MClassDef> */
1952 if (unlikely(var332
== NULL
)) {
1953 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1954 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 474);
1958 RET_LABEL331
:(void)0;
1963 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
1964 var335
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
1965 if (unlikely(var335
== NULL
)) {
1966 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1967 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 474);
1971 RET_LABEL334
:(void)0;
1975 { /* Inline modelize_property#MClass#inherit_init_from= (var333,var_inhc) on <var333:MClass> */
1976 var333
->attrs
[COLOR_modelize_property__MClass___inherit_init_from
].val
= var_inhc
; /* _inherit_init_from on <var333:MClass> */
1977 RET_LABEL336
:(void)0;
1981 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
1982 var339
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
1983 if (unlikely(var339
== NULL
)) {
1984 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1985 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
1989 RET_LABEL338
:(void)0;
1993 var341
= varonce340
;
1995 var342
= " inherits all constructors from ";
1997 var344
= string__NativeString__to_s_with_length(var342
, var343
);
1999 varonce340
= var341
;
2001 var345
= NEW_array__Array(&type_array__Arraykernel__Object
);
2002 { /* var345 = array_instance Array[Object] */
2004 var347
= NEW_array__NativeArray(var346
, &type_array__NativeArraykernel__Object
);
2005 ((struct instance_array__NativeArray
*)var347
)->values
[0] = (val
*) var_mclassdef
;
2006 ((struct instance_array__NativeArray
*)var347
)->values
[1] = (val
*) var341
;
2007 ((struct instance_array__NativeArray
*)var347
)->values
[2] = (val
*) var_inhc
;
2009 ((void (*)(val
*, val
*, long))(var345
->class->vft
[COLOR_array__Array__with_native
]))(var345
, var347
, var346
) /* with_native on <var345:Array[Object]>*/;
2013 var348
= ((val
* (*)(val
*))(var345
->class->vft
[COLOR_string__Object__to_s
]))(var345
) /* to_s on <var345:Array[Object]>*/;
2017 toolcontext__ToolContext__info(var337
, var348
, var349
); /* Direct call toolcontext#ToolContext#info on <var337:ToolContext>*/
2023 { /* Inline modelize_property#AClassdef#super_inits= (var_nclassdef,var_combine) on <var_nclassdef:AClassdef(AStdClassdef)> */
2024 var_nclassdef
->attrs
[COLOR_modelize_property__AClassdef___super_inits
].val
= var_combine
; /* _super_inits on <var_nclassdef:AClassdef(AStdClassdef)> */
2025 RET_LABEL350
:(void)0;
2030 var351
= NEW_model__MMethod(&type_model__MMethod
);
2032 var353
= varonce352
;
2036 var356
= string__NativeString__to_s_with_length(var354
, var355
);
2038 varonce352
= var353
;
2041 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
2042 var359
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
2043 if (unlikely(var359
== NULL
)) {
2044 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2045 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 474);
2049 RET_LABEL358
:(void)0;
2053 { /* Inline model#MClass#visibility (var357) on <var357:MClass> */
2054 var362
= var357
->attrs
[COLOR_model__MClass___visibility
].val
; /* _visibility on <var357:MClass> */
2055 if (unlikely(var362
== NULL
)) {
2056 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
2057 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 359);
2061 RET_LABEL361
:(void)0;
2065 model__MMethod__init(var351
, var_mclassdef
, var353
, var360
); /* Direct call model#MMethod#init on <var351:MMethod>*/
2068 var363
= NEW_model__MMethodDef(&type_model__MMethodDef
);
2070 var364
= parser_nodes__ANode__location(var_nclassdef
);
2073 model__MMethodDef__init(var363
, var_mclassdef
, var_mprop
, var364
); /* Direct call model#MMethodDef#init on <var363:MMethodDef>*/
2075 var_mpropdef365
= var363
;
2076 var366
= NEW_model__MSignature(&type_model__MSignature
);
2079 model__MSignature__init(var366
, var_mparameters
, var367
); /* Direct call model#MSignature#init on <var366:MSignature>*/
2081 var_msignature
= var366
;
2083 { /* Inline model#MMethodDef#msignature= (var_mpropdef365,var_msignature) on <var_mpropdef365:MMethodDef> */
2084 var_mpropdef365
->attrs
[COLOR_model__MMethodDef___msignature
].val
= var_msignature
; /* _msignature on <var_mpropdef365:MMethodDef> */
2085 RET_LABEL368
:(void)0;
2090 { /* Inline model#MMethod#is_init= (var_mprop,var369) on <var_mprop:MMethod> */
2091 var_mprop
->attrs
[COLOR_model__MMethod___is_init
].s
= var369
; /* _is_init on <var_mprop:MMethod> */
2092 RET_LABEL370
:(void)0;
2096 { /* Inline modelize_property#AClassdef#mfree_init= (var_nclassdef,var_mpropdef365) on <var_nclassdef:AClassdef(AStdClassdef)> */
2097 var_nclassdef
->attrs
[COLOR_modelize_property__AClassdef___mfree_init
].val
= var_mpropdef365
; /* _mfree_init on <var_nclassdef:AClassdef(AStdClassdef)> */
2098 RET_LABEL371
:(void)0;
2102 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
2103 var374
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
2104 if (unlikely(var374
== NULL
)) {
2105 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2106 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
2110 RET_LABEL373
:(void)0;
2114 var376
= varonce375
;
2116 var377
= " gets a free constructor for attributes ";
2118 var379
= string__NativeString__to_s_with_length(var377
, var378
);
2120 varonce375
= var376
;
2122 var380
= NEW_array__Array(&type_array__Arraykernel__Object
);
2123 { /* var380 = array_instance Array[Object] */
2125 var382
= NEW_array__NativeArray(var381
, &type_array__NativeArraykernel__Object
);
2126 ((struct instance_array__NativeArray
*)var382
)->values
[0] = (val
*) var_mclassdef
;
2127 ((struct instance_array__NativeArray
*)var382
)->values
[1] = (val
*) var376
;
2128 ((struct instance_array__NativeArray
*)var382
)->values
[2] = (val
*) var_mpropdef365
;
2129 ((struct instance_array__NativeArray
*)var382
)->values
[3] = (val
*) var_msignature
;
2131 ((void (*)(val
*, val
*, long))(var380
->class->vft
[COLOR_array__Array__with_native
]))(var380
, var382
, var381
) /* with_native on <var380:Array[Object]>*/;
2135 var383
= ((val
* (*)(val
*))(var380
->class->vft
[COLOR_string__Object__to_s
]))(var380
) /* to_s on <var380:Array[Object]>*/;
2139 toolcontext__ToolContext__info(var372
, var383
, var384
); /* Direct call toolcontext#ToolContext#info on <var372:ToolContext>*/
2143 /* method modelize_property#ModelBuilder#process_default_constructors for (self: Object, AClassdef) */
2144 void VIRTUAL_modelize_property__ModelBuilder__process_default_constructors(val
* self
, val
* p0
) {
2145 modelize_property__ModelBuilder__process_default_constructors(self
, p0
); /* Direct call modelize_property#ModelBuilder#process_default_constructors on <self:Object(ModelBuilder)>*/
2148 /* method modelize_property#ModelBuilder#check_visibility for (self: ModelBuilder, ANode, MType, MPropDef) */
2149 void modelize_property__ModelBuilder__check_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2150 val
* var_node
/* var node: ANode */;
2151 val
* var_mtype
/* var mtype: MType */;
2152 val
* var_mpropdef
/* var mpropdef: MPropDef */;
2153 val
* var
/* : MClassDef */;
2154 val
* var2
/* : MClassDef */;
2155 val
* var3
/* : MModule */;
2156 val
* var5
/* : MModule */;
2157 val
* var_mmodule
/* var mmodule: MModule */;
2158 val
* var6
/* : MProperty */;
2159 val
* var8
/* : MProperty */;
2160 val
* var_mproperty
/* var mproperty: MProperty */;
2161 val
* var9
/* : null */;
2162 val
* var_vis_type
/* var vis_type: nullable MVisibility */;
2163 val
* var10
/* : null */;
2164 val
* var_mmodule_type
/* var mmodule_type: nullable MModule */;
2165 val
* var11
/* : MType */;
2166 short int var12
/* : Bool */;
2169 val
* var13
/* : MClass */;
2170 val
* var15
/* : MClass */;
2171 val
* var16
/* : MVisibility */;
2172 val
* var18
/* : MVisibility */;
2173 val
* var19
/* : MClass */;
2174 val
* var21
/* : MClass */;
2175 val
* var22
/* : MClassDef */;
2176 val
* var23
/* : MModule */;
2177 val
* var25
/* : MModule */;
2178 short int var26
/* : Bool */;
2181 val
* var29
/* : MProperty */;
2182 val
* var31
/* : MProperty */;
2183 val
* var32
/* : MVisibility */;
2184 val
* var34
/* : MVisibility */;
2185 val
* var35
/* : MProperty */;
2186 val
* var37
/* : MProperty */;
2187 val
* var38
/* : MClassDef */;
2188 val
* var40
/* : MClassDef */;
2189 val
* var41
/* : MModule */;
2190 val
* var43
/* : MModule */;
2191 short int var44
/* : Bool */;
2194 static val
* varonce
;
2195 val
* var47
/* : String */;
2196 char* var48
/* : NativeString */;
2197 long var49
/* : Int */;
2198 val
* var50
/* : FlatString */;
2199 val
* var51
/* : Array[Object] */;
2200 long var52
/* : Int */;
2201 val
* var53
/* : NativeArray[Object] */;
2202 val
* var54
/* : String */;
2203 val
* var55
/* : null */;
2204 short int var56
/* : Bool */;
2205 short int var57
/* : Bool */;
2206 val
* var_other
/* var other: nullable Object */;
2207 short int var59
/* : Bool */;
2208 short int var60
/* : Bool */;
2209 short int var61
/* : Bool */;
2210 val
* var62
/* : null */;
2211 short int var63
/* : Bool */;
2212 short int var64
/* : Bool */;
2213 short int var66
/* : Bool */;
2214 short int var67
/* : Bool */;
2215 short int var68
/* : Bool */;
2216 val
* var69
/* : MVisibility */;
2217 val
* var_vis_module_type
/* var vis_module_type: MVisibility */;
2218 val
* var70
/* : MVisibility */;
2219 val
* var72
/* : MVisibility */;
2220 short int var73
/* : Bool */;
2221 static val
* varonce74
;
2222 val
* var75
/* : String */;
2223 char* var76
/* : NativeString */;
2224 long var77
/* : Int */;
2225 val
* var78
/* : FlatString */;
2226 val
* var79
/* : MVisibility */;
2227 val
* var81
/* : MVisibility */;
2228 static val
* varonce82
;
2229 val
* var83
/* : String */;
2230 char* var84
/* : NativeString */;
2231 long var85
/* : Int */;
2232 val
* var86
/* : FlatString */;
2233 static val
* varonce87
;
2234 val
* var88
/* : String */;
2235 char* var89
/* : NativeString */;
2236 long var90
/* : Int */;
2237 val
* var91
/* : FlatString */;
2238 static val
* varonce92
;
2239 val
* var93
/* : String */;
2240 char* var94
/* : NativeString */;
2241 long var95
/* : Int */;
2242 val
* var96
/* : FlatString */;
2243 static val
* varonce97
;
2244 val
* var98
/* : String */;
2245 char* var99
/* : NativeString */;
2246 long var100
/* : Int */;
2247 val
* var101
/* : FlatString */;
2248 val
* var102
/* : Array[Object] */;
2249 long var103
/* : Int */;
2250 val
* var104
/* : NativeArray[Object] */;
2251 val
* var105
/* : String */;
2252 val
* var106
/* : MVisibility */;
2253 val
* var108
/* : MVisibility */;
2254 short int var109
/* : Bool */;
2255 static val
* varonce110
;
2256 val
* var111
/* : String */;
2257 char* var112
/* : NativeString */;
2258 long var113
/* : Int */;
2259 val
* var114
/* : FlatString */;
2260 val
* var115
/* : MVisibility */;
2261 val
* var117
/* : MVisibility */;
2262 static val
* varonce118
;
2263 val
* var119
/* : String */;
2264 char* var120
/* : NativeString */;
2265 long var121
/* : Int */;
2266 val
* var122
/* : FlatString */;
2267 static val
* varonce123
;
2268 val
* var124
/* : String */;
2269 char* var125
/* : NativeString */;
2270 long var126
/* : Int */;
2271 val
* var127
/* : FlatString */;
2272 static val
* varonce128
;
2273 val
* var129
/* : String */;
2274 char* var130
/* : NativeString */;
2275 long var131
/* : Int */;
2276 val
* var132
/* : FlatString */;
2277 static val
* varonce133
;
2278 val
* var134
/* : String */;
2279 char* var135
/* : NativeString */;
2280 long var136
/* : Int */;
2281 val
* var137
/* : FlatString */;
2282 static val
* varonce138
;
2283 val
* var139
/* : String */;
2284 char* var140
/* : NativeString */;
2285 long var141
/* : Int */;
2286 val
* var142
/* : FlatString */;
2287 val
* var143
/* : Array[Object] */;
2288 long var144
/* : Int */;
2289 val
* var145
/* : NativeArray[Object] */;
2290 val
* var146
/* : String */;
2291 short int var147
/* : Bool */;
2294 val
* var150
/* : ANodes[AType] */;
2295 val
* var152
/* : ANodes[AType] */;
2296 val
* var153
/* : Iterator[ANode] */;
2297 short int var154
/* : Bool */;
2298 val
* var155
/* : nullable Object */;
2299 val
* var_a
/* var a: AType */;
2300 val
* var156
/* : nullable MType */;
2301 val
* var158
/* : nullable MType */;
2302 val
* var_t
/* var t: nullable MType */;
2303 val
* var159
/* : null */;
2304 short int var160
/* : Bool */;
2305 short int var161
/* : Bool */;
2306 val
* var_other163
/* var other: nullable Object */;
2307 short int var164
/* : Bool */;
2308 short int var166
/* : Bool */;
2309 short int var167
/* : Bool */;
2312 val
* var170
/* : Array[MType] */;
2313 val
* var172
/* : Array[MType] */;
2314 val
* var173
/* : ArrayIterator[nullable Object] */;
2315 short int var174
/* : Bool */;
2316 val
* var175
/* : nullable Object */;
2317 val
* var_t176
/* var t: MType */;
2322 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MPropDef> */
2323 var2
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MPropDef> */
2324 if (unlikely(var2
== NULL
)) {
2325 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2326 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
2334 { /* Inline model#MClassDef#mmodule (var) on <var:MClassDef> */
2335 var5
= var
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var:MClassDef> */
2336 if (unlikely(var5
== NULL
)) {
2337 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2338 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
2347 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MPropDef> */
2348 var8
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MPropDef> */
2349 if (unlikely(var8
== NULL
)) {
2350 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2351 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
2358 var_mproperty
= var6
;
2360 var_vis_type
= var9
;
2362 var_mmodule_type
= var10
;
2364 var11
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__as_notnullable
]))(var_mtype
) /* as_notnullable on <var_mtype:MType>*/;
2367 /* <var_mtype:MType> isa MClassType */
2368 cltype
= type_model__MClassType
.color
;
2369 idtype
= type_model__MClassType
.id
;
2370 if(cltype
>= var_mtype
->type
->table_size
) {
2373 var12
= var_mtype
->type
->type_table
[cltype
] == idtype
;
2377 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
2378 var15
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
2379 if (unlikely(var15
== NULL
)) {
2380 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2381 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
2385 RET_LABEL14
:(void)0;
2389 { /* Inline model#MClass#visibility (var13) on <var13:MClass> */
2390 var18
= var13
->attrs
[COLOR_model__MClass___visibility
].val
; /* _visibility on <var13:MClass> */
2391 if (unlikely(var18
== NULL
)) {
2392 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
2393 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 359);
2397 RET_LABEL17
:(void)0;
2400 var_vis_type
= var16
;
2402 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
2403 var21
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
2404 if (unlikely(var21
== NULL
)) {
2405 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2406 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
2410 RET_LABEL20
:(void)0;
2414 var22
= model__MClass__intro(var19
);
2417 { /* Inline model#MClassDef#mmodule (var22) on <var22:MClassDef> */
2418 var25
= var22
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var22:MClassDef> */
2419 if (unlikely(var25
== NULL
)) {
2420 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2421 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
2425 RET_LABEL24
:(void)0;
2428 var_mmodule_type
= var23
;
2430 /* <var_mtype:MType> isa MVirtualType */
2431 cltype27
= type_model__MVirtualType
.color
;
2432 idtype28
= type_model__MVirtualType
.id
;
2433 if(cltype27
>= var_mtype
->type
->table_size
) {
2436 var26
= var_mtype
->type
->type_table
[cltype27
] == idtype28
;
2440 { /* Inline model#MVirtualType#mproperty (var_mtype) on <var_mtype:MType(MVirtualType)> */
2441 var31
= var_mtype
->attrs
[COLOR_model__MVirtualType___mproperty
].val
; /* _mproperty on <var_mtype:MType(MVirtualType)> */
2442 if (unlikely(var31
== NULL
)) {
2443 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2444 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1135);
2448 RET_LABEL30
:(void)0;
2452 { /* Inline model#MProperty#visibility (var29) on <var29:MProperty> */
2453 var34
= var29
->attrs
[COLOR_model__MProperty___visibility
].val
; /* _visibility on <var29:MProperty> */
2454 if (unlikely(var34
== NULL
)) {
2455 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
2456 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1617);
2460 RET_LABEL33
:(void)0;
2463 var_vis_type
= var32
;
2465 { /* Inline model#MVirtualType#mproperty (var_mtype) on <var_mtype:MType(MVirtualType)> */
2466 var37
= var_mtype
->attrs
[COLOR_model__MVirtualType___mproperty
].val
; /* _mproperty on <var_mtype:MType(MVirtualType)> */
2467 if (unlikely(var37
== NULL
)) {
2468 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2469 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1135);
2473 RET_LABEL36
:(void)0;
2477 { /* Inline model#MProperty#intro_mclassdef (var35) on <var35:MProperty> */
2478 var40
= var35
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var35:MProperty> */
2479 if (unlikely(var40
== NULL
)) {
2480 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
2481 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1602);
2485 RET_LABEL39
:(void)0;
2489 { /* Inline model#MClassDef#mmodule (var38) on <var38:MClassDef> */
2490 var43
= var38
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var38:MClassDef> */
2491 if (unlikely(var43
== NULL
)) {
2492 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2493 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
2497 RET_LABEL42
:(void)0;
2500 var_mmodule_type
= var41
;
2502 /* <var_mtype:MType> isa MParameterType */
2503 cltype45
= type_model__MParameterType
.color
;
2504 idtype46
= type_model__MParameterType
.id
;
2505 if(cltype45
>= var_mtype
->type
->table_size
) {
2508 var44
= var_mtype
->type
->type_table
[cltype45
] == idtype46
;
2515 var48
= "Unexpected type ";
2517 var50
= string__NativeString__to_s_with_length(var48
, var49
);
2521 var51
= NEW_array__Array(&type_array__Arraykernel__Object
);
2522 { /* var51 = array_instance Array[Object] */
2524 var53
= NEW_array__NativeArray(var52
, &type_array__NativeArraykernel__Object
);
2525 ((struct instance_array__NativeArray
*)var53
)->values
[0] = (val
*) var47
;
2526 ((struct instance_array__NativeArray
*)var53
)->values
[1] = (val
*) var_mtype
;
2528 ((void (*)(val
*, val
*, long))(var51
->class->vft
[COLOR_array__Array__with_native
]))(var51
, var53
, var52
) /* with_native on <var51:Array[Object]>*/;
2532 var54
= ((val
* (*)(val
*))(var51
->class->vft
[COLOR_string__Object__to_s
]))(var51
) /* to_s on <var51:Array[Object]>*/;
2535 parser_nodes__ANode__debug(var_node
, var54
); /* Direct call parser_nodes#ANode#debug on <var_node:ANode>*/
2537 PRINT_ERROR("Runtime error: %s", "Aborted");
2538 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 201);
2544 if (var_vis_type
== NULL
) {
2545 var56
= 0; /* is null */
2547 var56
= 1; /* arg is null and recv is not */
2550 { /* Inline kernel#Object#!= (var_vis_type,var55) on <var_vis_type:nullable MVisibility> */
2553 var60
= ((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)>*/;
2559 RET_LABEL58
:(void)0;
2565 if (var_mmodule_type
== NULL
) {
2566 var63
= 0; /* is null */
2568 var63
= 1; /* arg is null and recv is not */
2571 { /* Inline kernel#Object#!= (var_mmodule_type,var62) on <var_mmodule_type:nullable MModule> */
2574 var67
= ((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)>*/;
2580 RET_LABEL65
:(void)0;
2584 if (unlikely(!var63
)) {
2585 PRINT_ERROR("Runtime error: %s", "Assert failed");
2586 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 205);
2590 var69
= mmodule__MModule__visibility_for(var_mmodule
, var_mmodule_type
);
2592 var_vis_module_type
= var69
;
2594 { /* Inline model#MProperty#visibility (var_mproperty) on <var_mproperty:MProperty> */
2595 var72
= var_mproperty
->attrs
[COLOR_model__MProperty___visibility
].val
; /* _visibility on <var_mproperty:MProperty> */
2596 if (unlikely(var72
== NULL
)) {
2597 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
2598 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1617);
2602 RET_LABEL71
:(void)0;
2606 var73
= kernel__Comparable___62d(var70
, var_vis_type
);
2612 var76
= "Error: The ";
2614 var78
= string__NativeString__to_s_with_length(var76
, var77
);
2619 { /* Inline model#MProperty#visibility (var_mproperty) on <var_mproperty:MProperty> */
2620 var81
= var_mproperty
->attrs
[COLOR_model__MProperty___visibility
].val
; /* _visibility on <var_mproperty:MProperty> */
2621 if (unlikely(var81
== NULL
)) {
2622 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
2623 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1617);
2627 RET_LABEL80
:(void)0;
2633 var84
= " property `";
2635 var86
= string__NativeString__to_s_with_length(var84
, var85
);
2642 var89
= "` cannot contain the ";
2644 var91
= string__NativeString__to_s_with_length(var89
, var90
);
2653 var96
= string__NativeString__to_s_with_length(var94
, var95
);
2662 var101
= string__NativeString__to_s_with_length(var99
, var100
);
2666 var102
= NEW_array__Array(&type_array__Arraykernel__Object
);
2667 { /* var102 = array_instance Array[Object] */
2669 var104
= NEW_array__NativeArray(var103
, &type_array__NativeArraykernel__Object
);
2670 ((struct instance_array__NativeArray
*)var104
)->values
[0] = (val
*) var75
;
2671 ((struct instance_array__NativeArray
*)var104
)->values
[1] = (val
*) var79
;
2672 ((struct instance_array__NativeArray
*)var104
)->values
[2] = (val
*) var83
;
2673 ((struct instance_array__NativeArray
*)var104
)->values
[3] = (val
*) var_mproperty
;
2674 ((struct instance_array__NativeArray
*)var104
)->values
[4] = (val
*) var88
;
2675 ((struct instance_array__NativeArray
*)var104
)->values
[5] = (val
*) var_vis_type
;
2676 ((struct instance_array__NativeArray
*)var104
)->values
[6] = (val
*) var93
;
2677 ((struct instance_array__NativeArray
*)var104
)->values
[7] = (val
*) var_mtype
;
2678 ((struct instance_array__NativeArray
*)var104
)->values
[8] = (val
*) var98
;
2680 ((void (*)(val
*, val
*, long))(var102
->class->vft
[COLOR_array__Array__with_native
]))(var102
, var104
, var103
) /* with_native on <var102:Array[Object]>*/;
2684 var105
= ((val
* (*)(val
*))(var102
->class->vft
[COLOR_string__Object__to_s
]))(var102
) /* to_s on <var102:Array[Object]>*/;
2687 modelbuilder__ModelBuilder__error(self
, var_node
, var105
); /* Direct call modelbuilder#ModelBuilder#error on <self:ModelBuilder>*/
2692 { /* Inline model#MProperty#visibility (var_mproperty) on <var_mproperty:MProperty> */
2693 var108
= var_mproperty
->attrs
[COLOR_model__MProperty___visibility
].val
; /* _visibility on <var_mproperty:MProperty> */
2694 if (unlikely(var108
== NULL
)) {
2695 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
2696 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1617);
2700 RET_LABEL107
:(void)0;
2704 var109
= kernel__Comparable___62d(var106
, var_vis_module_type
);
2708 var111
= varonce110
;
2710 var112
= "Error: The ";
2712 var114
= string__NativeString__to_s_with_length(var112
, var113
);
2714 varonce110
= var111
;
2717 { /* Inline model#MProperty#visibility (var_mproperty) on <var_mproperty:MProperty> */
2718 var117
= var_mproperty
->attrs
[COLOR_model__MProperty___visibility
].val
; /* _visibility on <var_mproperty:MProperty> */
2719 if (unlikely(var117
== NULL
)) {
2720 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
2721 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1617);
2725 RET_LABEL116
:(void)0;
2729 var119
= varonce118
;
2731 var120
= " property `";
2733 var122
= string__NativeString__to_s_with_length(var120
, var121
);
2735 varonce118
= var119
;
2738 var124
= varonce123
;
2740 var125
= "` cannot contain the type `";
2742 var127
= string__NativeString__to_s_with_length(var125
, var126
);
2744 varonce123
= var124
;
2747 var129
= varonce128
;
2749 var130
= "` from the ";
2751 var132
= string__NativeString__to_s_with_length(var130
, var131
);
2753 varonce128
= var129
;
2756 var134
= varonce133
;
2758 var135
= " module `";
2760 var137
= string__NativeString__to_s_with_length(var135
, var136
);
2762 varonce133
= var134
;
2765 var139
= varonce138
;
2769 var142
= string__NativeString__to_s_with_length(var140
, var141
);
2771 varonce138
= var139
;
2773 var143
= NEW_array__Array(&type_array__Arraykernel__Object
);
2774 { /* var143 = array_instance Array[Object] */
2776 var145
= NEW_array__NativeArray(var144
, &type_array__NativeArraykernel__Object
);
2777 ((struct instance_array__NativeArray
*)var145
)->values
[0] = (val
*) var111
;
2778 ((struct instance_array__NativeArray
*)var145
)->values
[1] = (val
*) var115
;
2779 ((struct instance_array__NativeArray
*)var145
)->values
[2] = (val
*) var119
;
2780 ((struct instance_array__NativeArray
*)var145
)->values
[3] = (val
*) var_mproperty
;
2781 ((struct instance_array__NativeArray
*)var145
)->values
[4] = (val
*) var124
;
2782 ((struct instance_array__NativeArray
*)var145
)->values
[5] = (val
*) var_mtype
;
2783 ((struct instance_array__NativeArray
*)var145
)->values
[6] = (val
*) var129
;
2784 ((struct instance_array__NativeArray
*)var145
)->values
[7] = (val
*) var_vis_module_type
;
2785 ((struct instance_array__NativeArray
*)var145
)->values
[8] = (val
*) var134
;
2786 ((struct instance_array__NativeArray
*)var145
)->values
[9] = (val
*) var_mmodule_type
;
2787 ((struct instance_array__NativeArray
*)var145
)->values
[10] = (val
*) var139
;
2789 ((void (*)(val
*, val
*, long))(var143
->class->vft
[COLOR_array__Array__with_native
]))(var143
, var145
, var144
) /* with_native on <var143:Array[Object]>*/;
2793 var146
= ((val
* (*)(val
*))(var143
->class->vft
[COLOR_string__Object__to_s
]))(var143
) /* to_s on <var143:Array[Object]>*/;
2796 modelbuilder__ModelBuilder__error(self
, var_node
, var146
); /* Direct call modelbuilder#ModelBuilder#error on <self:ModelBuilder>*/
2804 /* <var_node:ANode> isa AType */
2805 cltype148
= type_parser_nodes__AType
.color
;
2806 idtype149
= type_parser_nodes__AType
.id
;
2807 if(cltype148
>= var_node
->type
->table_size
) {
2810 var147
= var_node
->type
->type_table
[cltype148
] == idtype149
;
2814 { /* Inline parser_nodes#AType#n_types (var_node) on <var_node:ANode(AType)> */
2815 var152
= var_node
->attrs
[COLOR_parser_nodes__AType___n_types
].val
; /* _n_types on <var_node:ANode(AType)> */
2816 if (unlikely(var152
== NULL
)) {
2817 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types");
2818 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1397);
2822 RET_LABEL151
:(void)0;
2826 var153
= parser_nodes__ANodes__iterator(var150
);
2830 var154
= ((short int (*)(val
*))(var153
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var153
) /* is_ok on <var153:Iterator[ANode]>*/;
2834 var155
= ((val
* (*)(val
*))(var153
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var153
) /* item on <var153:Iterator[ANode]>*/;
2838 { /* Inline modelize_class#AType#mtype (var_a) on <var_a:AType> */
2839 var158
= var_a
->attrs
[COLOR_modelize_class__AType___mtype
].val
; /* _mtype on <var_a:AType> */
2841 RET_LABEL157
:(void)0;
2846 if (var_t
== NULL
) {
2847 var160
= 1; /* is null */
2849 var160
= 0; /* arg is null but recv is not */
2852 { /* Inline kernel#Object#== (var_t,var159) on <var_t:nullable MType> */
2853 var_other163
= var159
;
2855 { /* Inline kernel#Object#is_same_instance (var_t,var_other163) on <var_t:nullable MType(MType)> */
2856 var166
= var_t
== var_other163
;
2859 RET_LABEL165
:(void)0;
2864 RET_LABEL162
:(void)0;
2869 goto CONTINUE_label
;
2873 modelize_property__ModelBuilder__check_visibility(self
, var_a
, var_t
, var_mpropdef
); /* Direct call modelize_property#ModelBuilder#check_visibility on <self:ModelBuilder>*/
2875 CONTINUE_label
: (void)0;
2877 ((void (*)(val
*))(var153
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var153
) /* next on <var153:Iterator[ANode]>*/;
2880 BREAK_label
: (void)0;
2882 /* <var_mtype:MType> isa MGenericType */
2883 cltype168
= type_model__MGenericType
.color
;
2884 idtype169
= type_model__MGenericType
.id
;
2885 if(cltype168
>= var_mtype
->type
->table_size
) {
2888 var167
= var_mtype
->type
->type_table
[cltype168
] == idtype169
;
2892 { /* Inline model#MClassType#arguments (var_mtype) on <var_mtype:MType(MGenericType)> */
2893 var172
= var_mtype
->attrs
[COLOR_model__MClassType___arguments
].val
; /* _arguments on <var_mtype:MType(MGenericType)> */
2894 if (unlikely(var172
== NULL
)) {
2895 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
2896 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 979);
2900 RET_LABEL171
:(void)0;
2904 var173
= array__AbstractArrayRead__iterator(var170
);
2908 var174
= array__ArrayIterator__is_ok(var173
);
2912 var175
= array__ArrayIterator__item(var173
);
2916 modelize_property__ModelBuilder__check_visibility(self
, var_node
, var_t176
, var_mpropdef
); /* Direct call modelize_property#ModelBuilder#check_visibility on <self:ModelBuilder>*/
2918 CONTINUE_label177
: (void)0;
2920 array__ArrayIterator__next(var173
); /* Direct call array#ArrayIterator#next on <var173:ArrayIterator[nullable Object]>*/
2923 BREAK_label177
: (void)0;
2929 /* method modelize_property#ModelBuilder#check_visibility for (self: Object, ANode, MType, MPropDef) */
2930 void VIRTUAL_modelize_property__ModelBuilder__check_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2931 modelize_property__ModelBuilder__check_visibility(self
, p0
, p1
, p2
); /* Direct call modelize_property#ModelBuilder#check_visibility on <self:Object(ModelBuilder)>*/
2934 /* method modelize_property#MClass#inherit_init_from for (self: MClass): nullable MClass */
2935 val
* modelize_property__MClass__inherit_init_from(val
* self
) {
2936 val
* var
/* : nullable MClass */;
2937 val
* var1
/* : nullable MClass */;
2938 var1
= self
->attrs
[COLOR_modelize_property__MClass___inherit_init_from
].val
; /* _inherit_init_from on <self:MClass> */
2943 /* method modelize_property#MClass#inherit_init_from for (self: Object): nullable MClass */
2944 val
* VIRTUAL_modelize_property__MClass__inherit_init_from(val
* self
) {
2945 val
* var
/* : nullable MClass */;
2946 val
* var1
/* : nullable MClass */;
2947 val
* var3
/* : nullable MClass */;
2948 { /* Inline modelize_property#MClass#inherit_init_from (self) on <self:Object(MClass)> */
2949 var3
= self
->attrs
[COLOR_modelize_property__MClass___inherit_init_from
].val
; /* _inherit_init_from on <self:Object(MClass)> */
2957 /* method modelize_property#MClass#inherit_init_from= for (self: MClass, nullable MClass) */
2958 void modelize_property__MClass__inherit_init_from_61d(val
* self
, val
* p0
) {
2959 self
->attrs
[COLOR_modelize_property__MClass___inherit_init_from
].val
= p0
; /* _inherit_init_from on <self:MClass> */
2962 /* method modelize_property#MClass#inherit_init_from= for (self: Object, nullable MClass) */
2963 void VIRTUAL_modelize_property__MClass__inherit_init_from_61d(val
* self
, val
* p0
) {
2964 { /* Inline modelize_property#MClass#inherit_init_from= (self,p0) on <self:Object(MClass)> */
2965 self
->attrs
[COLOR_modelize_property__MClass___inherit_init_from
].val
= p0
; /* _inherit_init_from on <self:Object(MClass)> */
2970 /* method modelize_property#MPropDef#has_supercall for (self: MPropDef): Bool */
2971 short int modelize_property__MPropDef__has_supercall(val
* self
) {
2972 short int var
/* : Bool */;
2973 short int var1
/* : Bool */;
2974 var1
= self
->attrs
[COLOR_modelize_property__MPropDef___has_supercall
].s
; /* _has_supercall on <self:MPropDef> */
2979 /* method modelize_property#MPropDef#has_supercall for (self: Object): Bool */
2980 short int VIRTUAL_modelize_property__MPropDef__has_supercall(val
* self
) {
2981 short int var
/* : Bool */;
2982 short int var1
/* : Bool */;
2983 short int var3
/* : Bool */;
2984 { /* Inline modelize_property#MPropDef#has_supercall (self) on <self:Object(MPropDef)> */
2985 var3
= self
->attrs
[COLOR_modelize_property__MPropDef___has_supercall
].s
; /* _has_supercall on <self:Object(MPropDef)> */
2993 /* method modelize_property#MPropDef#has_supercall= for (self: MPropDef, Bool) */
2994 void modelize_property__MPropDef__has_supercall_61d(val
* self
, short int p0
) {
2995 self
->attrs
[COLOR_modelize_property__MPropDef___has_supercall
].s
= p0
; /* _has_supercall on <self:MPropDef> */
2998 /* method modelize_property#MPropDef#has_supercall= for (self: Object, Bool) */
2999 void VIRTUAL_modelize_property__MPropDef__has_supercall_61d(val
* self
, short int p0
) {
3000 { /* Inline modelize_property#MPropDef#has_supercall= (self,p0) on <self:Object(MPropDef)> */
3001 self
->attrs
[COLOR_modelize_property__MPropDef___has_supercall
].s
= p0
; /* _has_supercall on <self:Object(MPropDef)> */
3006 /* method modelize_property#AClassdef#build_properties_is_done for (self: AClassdef): Bool */
3007 short int modelize_property__AClassdef__build_properties_is_done(val
* self
) {
3008 short int var
/* : Bool */;
3009 short int var1
/* : Bool */;
3010 var1
= self
->attrs
[COLOR_modelize_property__AClassdef___build_properties_is_done
].s
; /* _build_properties_is_done on <self:AClassdef> */
3015 /* method modelize_property#AClassdef#build_properties_is_done for (self: Object): Bool */
3016 short int VIRTUAL_modelize_property__AClassdef__build_properties_is_done(val
* self
) {
3017 short int var
/* : Bool */;
3018 short int var1
/* : Bool */;
3019 short int var3
/* : Bool */;
3020 { /* Inline modelize_property#AClassdef#build_properties_is_done (self) on <self:Object(AClassdef)> */
3021 var3
= self
->attrs
[COLOR_modelize_property__AClassdef___build_properties_is_done
].s
; /* _build_properties_is_done on <self:Object(AClassdef)> */
3029 /* method modelize_property#AClassdef#build_properties_is_done= for (self: AClassdef, Bool) */
3030 void modelize_property__AClassdef__build_properties_is_done_61d(val
* self
, short int p0
) {
3031 self
->attrs
[COLOR_modelize_property__AClassdef___build_properties_is_done
].s
= p0
; /* _build_properties_is_done on <self:AClassdef> */
3034 /* method modelize_property#AClassdef#build_properties_is_done= for (self: Object, Bool) */
3035 void VIRTUAL_modelize_property__AClassdef__build_properties_is_done_61d(val
* self
, short int p0
) {
3036 { /* Inline modelize_property#AClassdef#build_properties_is_done= (self,p0) on <self:Object(AClassdef)> */
3037 self
->attrs
[COLOR_modelize_property__AClassdef___build_properties_is_done
].s
= p0
; /* _build_properties_is_done on <self:Object(AClassdef)> */
3042 /* method modelize_property#AClassdef#super_inits for (self: AClassdef): nullable Collection[MMethod] */
3043 val
* modelize_property__AClassdef__super_inits(val
* self
) {
3044 val
* var
/* : nullable Collection[MMethod] */;
3045 val
* var1
/* : nullable Collection[MMethod] */;
3046 var1
= self
->attrs
[COLOR_modelize_property__AClassdef___super_inits
].val
; /* _super_inits on <self:AClassdef> */
3051 /* method modelize_property#AClassdef#super_inits for (self: Object): nullable Collection[MMethod] */
3052 val
* VIRTUAL_modelize_property__AClassdef__super_inits(val
* self
) {
3053 val
* var
/* : nullable Collection[MMethod] */;
3054 val
* var1
/* : nullable Collection[MMethod] */;
3055 val
* var3
/* : nullable Collection[MMethod] */;
3056 { /* Inline modelize_property#AClassdef#super_inits (self) on <self:Object(AClassdef)> */
3057 var3
= self
->attrs
[COLOR_modelize_property__AClassdef___super_inits
].val
; /* _super_inits on <self:Object(AClassdef)> */
3065 /* method modelize_property#AClassdef#super_inits= for (self: AClassdef, nullable Collection[MMethod]) */
3066 void modelize_property__AClassdef__super_inits_61d(val
* self
, val
* p0
) {
3067 self
->attrs
[COLOR_modelize_property__AClassdef___super_inits
].val
= p0
; /* _super_inits on <self:AClassdef> */
3070 /* method modelize_property#AClassdef#super_inits= for (self: Object, nullable Collection[MMethod]) */
3071 void VIRTUAL_modelize_property__AClassdef__super_inits_61d(val
* self
, val
* p0
) {
3072 { /* Inline modelize_property#AClassdef#super_inits= (self,p0) on <self:Object(AClassdef)> */
3073 self
->attrs
[COLOR_modelize_property__AClassdef___super_inits
].val
= p0
; /* _super_inits on <self:Object(AClassdef)> */
3078 /* method modelize_property#AClassdef#mfree_init for (self: AClassdef): nullable MMethodDef */
3079 val
* modelize_property__AClassdef__mfree_init(val
* self
) {
3080 val
* var
/* : nullable MMethodDef */;
3081 val
* var1
/* : nullable MMethodDef */;
3082 var1
= self
->attrs
[COLOR_modelize_property__AClassdef___mfree_init
].val
; /* _mfree_init on <self:AClassdef> */
3087 /* method modelize_property#AClassdef#mfree_init for (self: Object): nullable MMethodDef */
3088 val
* VIRTUAL_modelize_property__AClassdef__mfree_init(val
* self
) {
3089 val
* var
/* : nullable MMethodDef */;
3090 val
* var1
/* : nullable MMethodDef */;
3091 val
* var3
/* : nullable MMethodDef */;
3092 { /* Inline modelize_property#AClassdef#mfree_init (self) on <self:Object(AClassdef)> */
3093 var3
= self
->attrs
[COLOR_modelize_property__AClassdef___mfree_init
].val
; /* _mfree_init on <self:Object(AClassdef)> */
3101 /* method modelize_property#AClassdef#mfree_init= for (self: AClassdef, nullable MMethodDef) */
3102 void modelize_property__AClassdef__mfree_init_61d(val
* self
, val
* p0
) {
3103 self
->attrs
[COLOR_modelize_property__AClassdef___mfree_init
].val
= p0
; /* _mfree_init on <self:AClassdef> */
3106 /* method modelize_property#AClassdef#mfree_init= for (self: Object, nullable MMethodDef) */
3107 void VIRTUAL_modelize_property__AClassdef__mfree_init_61d(val
* self
, val
* p0
) {
3108 { /* Inline modelize_property#AClassdef#mfree_init= (self,p0) on <self:Object(AClassdef)> */
3109 self
->attrs
[COLOR_modelize_property__AClassdef___mfree_init
].val
= p0
; /* _mfree_init on <self:Object(AClassdef)> */
3114 /* method modelize_property#MClassDef#mprop2npropdef for (self: MClassDef): Map[MProperty, APropdef] */
3115 val
* modelize_property__MClassDef__mprop2npropdef(val
* self
) {
3116 val
* var
/* : Map[MProperty, APropdef] */;
3117 val
* var1
/* : Map[MProperty, APropdef] */;
3118 var1
= self
->attrs
[COLOR_modelize_property__MClassDef___mprop2npropdef
].val
; /* _mprop2npropdef on <self:MClassDef> */
3119 if (unlikely(var1
== NULL
)) {
3120 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
3121 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 252);
3128 /* method modelize_property#MClassDef#mprop2npropdef for (self: Object): Map[MProperty, APropdef] */
3129 val
* VIRTUAL_modelize_property__MClassDef__mprop2npropdef(val
* self
) {
3130 val
* var
/* : Map[MProperty, APropdef] */;
3131 val
* var1
/* : Map[MProperty, APropdef] */;
3132 val
* var3
/* : Map[MProperty, APropdef] */;
3133 { /* Inline modelize_property#MClassDef#mprop2npropdef (self) on <self:Object(MClassDef)> */
3134 var3
= self
->attrs
[COLOR_modelize_property__MClassDef___mprop2npropdef
].val
; /* _mprop2npropdef on <self:Object(MClassDef)> */
3135 if (unlikely(var3
== NULL
)) {
3136 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
3137 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 252);
3147 /* method modelize_property#Prod#collect_text for (self: Prod): String */
3148 val
* modelize_property__Prod__collect_text(val
* self
) {
3149 val
* var
/* : String */;
3150 val
* var1
/* : TextCollectorVisitor */;
3151 val
* var_v
/* var v: TextCollectorVisitor */;
3152 val
* var3
/* : String */;
3153 val
* var5
/* : String */;
3154 static val
* varonce
;
3155 val
* var6
/* : String */;
3156 char* var7
/* : NativeString */;
3157 long var8
/* : Int */;
3158 val
* var9
/* : FlatString */;
3159 short int var10
/* : Bool */;
3160 short int var11
/* : Bool */;
3161 val
* var_other
/* var other: nullable Object */;
3162 short int var13
/* : Bool */;
3163 short int var14
/* : Bool */;
3164 short int var15
/* : Bool */;
3165 val
* var16
/* : String */;
3166 val
* var18
/* : String */;
3167 var1
= NEW_modelize_property__TextCollectorVisitor(&type_modelize_property__TextCollectorVisitor
);
3169 { /* Inline parser_nodes#Visitor#init (var1) on <var1:TextCollectorVisitor> */
3175 parser_nodes__Visitor__enter_visit(var_v
, self
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:TextCollectorVisitor>*/
3178 { /* Inline modelize_property#TextCollectorVisitor#text (var_v) on <var_v:TextCollectorVisitor> */
3179 var5
= var_v
->attrs
[COLOR_modelize_property__TextCollectorVisitor___text
].val
; /* _text on <var_v:TextCollectorVisitor> */
3180 if (unlikely(var5
== NULL
)) {
3181 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
3182 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 271);
3194 var9
= string__NativeString__to_s_with_length(var7
, var8
);
3199 { /* Inline kernel#Object#!= (var3,var6) on <var3:String> */
3202 var14
= ((short int (*)(val
*, val
*))(var3
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var3
, var_other
) /* == on <var3:String>*/;
3208 RET_LABEL12
:(void)0;
3212 if (unlikely(!var10
)) {
3213 PRINT_ERROR("Runtime error: %s", "Assert failed");
3214 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 264);
3218 { /* Inline modelize_property#TextCollectorVisitor#text (var_v) on <var_v:TextCollectorVisitor> */
3219 var18
= var_v
->attrs
[COLOR_modelize_property__TextCollectorVisitor___text
].val
; /* _text on <var_v:TextCollectorVisitor> */
3220 if (unlikely(var18
== NULL
)) {
3221 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
3222 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 271);
3226 RET_LABEL17
:(void)0;
3234 /* method modelize_property#Prod#collect_text for (self: Object): String */
3235 val
* VIRTUAL_modelize_property__Prod__collect_text(val
* self
) {
3236 val
* var
/* : String */;
3237 val
* var1
/* : String */;
3238 var1
= modelize_property__Prod__collect_text(self
);
3243 /* method modelize_property#TextCollectorVisitor#text for (self: TextCollectorVisitor): String */
3244 val
* modelize_property__TextCollectorVisitor__text(val
* self
) {
3245 val
* var
/* : String */;
3246 val
* var1
/* : String */;
3247 var1
= self
->attrs
[COLOR_modelize_property__TextCollectorVisitor___text
].val
; /* _text on <self:TextCollectorVisitor> */
3248 if (unlikely(var1
== NULL
)) {
3249 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
3250 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 271);
3257 /* method modelize_property#TextCollectorVisitor#text for (self: Object): String */
3258 val
* VIRTUAL_modelize_property__TextCollectorVisitor__text(val
* self
) {
3259 val
* var
/* : String */;
3260 val
* var1
/* : String */;
3261 val
* var3
/* : String */;
3262 { /* Inline modelize_property#TextCollectorVisitor#text (self) on <self:Object(TextCollectorVisitor)> */
3263 var3
= self
->attrs
[COLOR_modelize_property__TextCollectorVisitor___text
].val
; /* _text on <self:Object(TextCollectorVisitor)> */
3264 if (unlikely(var3
== NULL
)) {
3265 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
3266 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 271);
3276 /* method modelize_property#TextCollectorVisitor#text= for (self: TextCollectorVisitor, String) */
3277 void modelize_property__TextCollectorVisitor__text_61d(val
* self
, val
* p0
) {
3278 self
->attrs
[COLOR_modelize_property__TextCollectorVisitor___text
].val
= p0
; /* _text on <self:TextCollectorVisitor> */
3281 /* method modelize_property#TextCollectorVisitor#text= for (self: Object, String) */
3282 void VIRTUAL_modelize_property__TextCollectorVisitor__text_61d(val
* self
, val
* p0
) {
3283 { /* Inline modelize_property#TextCollectorVisitor#text= (self,p0) on <self:Object(TextCollectorVisitor)> */
3284 self
->attrs
[COLOR_modelize_property__TextCollectorVisitor___text
].val
= p0
; /* _text on <self:Object(TextCollectorVisitor)> */
3289 /* method modelize_property#TextCollectorVisitor#visit for (self: TextCollectorVisitor, ANode) */
3290 void modelize_property__TextCollectorVisitor__visit(val
* self
, val
* p0
) {
3291 val
* var_n
/* var n: ANode */;
3292 short int var
/* : Bool */;
3295 val
* var_
/* var : TextCollectorVisitor */;
3296 val
* var1
/* : String */;
3297 val
* var3
/* : String */;
3298 val
* var4
/* : String */;
3299 val
* var5
/* : String */;
3301 /* <var_n:ANode> isa Token */
3302 cltype
= type_parser_nodes__Token
.color
;
3303 idtype
= type_parser_nodes__Token
.id
;
3304 if(cltype
>= var_n
->type
->table_size
) {
3307 var
= var_n
->type
->type_table
[cltype
] == idtype
;
3312 { /* Inline modelize_property#TextCollectorVisitor#text (var_) on <var_:TextCollectorVisitor> */
3313 var3
= var_
->attrs
[COLOR_modelize_property__TextCollectorVisitor___text
].val
; /* _text on <var_:TextCollectorVisitor> */
3314 if (unlikely(var3
== NULL
)) {
3315 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
3316 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 271);
3324 var4
= lexer_work__Token__text(var_n
);
3327 var5
= string__FlatString___43d(var1
, var4
);
3330 { /* Inline modelize_property#TextCollectorVisitor#text= (var_,var5) on <var_:TextCollectorVisitor> */
3331 var_
->attrs
[COLOR_modelize_property__TextCollectorVisitor___text
].val
= var5
; /* _text on <var_:TextCollectorVisitor> */
3338 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(var_n
, self
) /* visit_all on <var_n:ANode>*/;
3342 /* method modelize_property#TextCollectorVisitor#visit for (self: Object, ANode) */
3343 void VIRTUAL_modelize_property__TextCollectorVisitor__visit(val
* self
, val
* p0
) {
3344 modelize_property__TextCollectorVisitor__visit(self
, p0
); /* Direct call modelize_property#TextCollectorVisitor#visit on <self:Object(TextCollectorVisitor)>*/
3347 /* method modelize_property#APropdef#mpropdef for (self: APropdef): nullable MPropDef */
3348 val
* modelize_property__APropdef__mpropdef(val
* self
) {
3349 val
* var
/* : nullable MPropDef */;
3350 val
* var1
/* : nullable MPropDef */;
3351 var1
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:APropdef> */
3356 /* method modelize_property#APropdef#mpropdef for (self: Object): nullable MPropDef */
3357 val
* VIRTUAL_modelize_property__APropdef__mpropdef(val
* self
) {
3358 val
* var
/* : nullable MPropDef */;
3359 val
* var1
/* : nullable MPropDef */;
3360 val
* var3
/* : nullable MPropDef */;
3361 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:Object(APropdef)> */
3362 var3
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:Object(APropdef)> */
3370 /* method modelize_property#APropdef#mpropdef= for (self: APropdef, nullable MPropDef) */
3371 void modelize_property__APropdef__mpropdef_61d(val
* self
, val
* p0
) {
3372 short int var
/* : Bool */;
3375 const struct type
* type_struct
;
3376 const char* var_class_name
;
3377 /* Covariant cast for argument 0 (mpropdef) <p0:nullable MPropDef> isa nullable MPROPDEF */
3378 /* <p0:nullable MPropDef> isa nullable MPROPDEF */
3379 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable_parser_nodes__APropdef_VTMPROPDEF
];
3380 cltype
= type_struct
->color
;
3381 idtype
= type_struct
->id
;
3385 if(cltype
>= p0
->type
->table_size
) {
3388 var
= p0
->type
->type_table
[cltype
] == idtype
;
3391 if (unlikely(!var
)) {
3392 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3393 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name
);
3394 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 283);
3397 self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
= p0
; /* _mpropdef on <self:APropdef> */
3400 /* method modelize_property#APropdef#mpropdef= for (self: Object, nullable MPropDef) */
3401 void VIRTUAL_modelize_property__APropdef__mpropdef_61d(val
* self
, val
* p0
) {
3402 short int var
/* : Bool */;
3405 const struct type
* type_struct
;
3406 const char* var_class_name
;
3407 { /* Inline modelize_property#APropdef#mpropdef= (self,p0) on <self:Object(APropdef)> */
3408 /* Covariant cast for argument 0 (mpropdef) <p0:nullable MPropDef> isa nullable MPROPDEF */
3409 /* <p0:nullable MPropDef> isa nullable MPROPDEF */
3410 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable_parser_nodes__APropdef_VTMPROPDEF
];
3411 cltype
= type_struct
->color
;
3412 idtype
= type_struct
->id
;
3416 if(cltype
>= p0
->type
->table_size
) {
3419 var
= p0
->type
->type_table
[cltype
] == idtype
;
3422 if (unlikely(!var
)) {
3423 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3424 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name
);
3425 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 283);
3428 self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
= p0
; /* _mpropdef on <self:Object(APropdef)> */
3433 /* method modelize_property#APropdef#new_property_visibility for (self: APropdef, ModelBuilder, MClassDef, nullable AVisibility): MVisibility */
3434 val
* modelize_property__APropdef__new_property_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3435 val
* var
/* : MVisibility */;
3436 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
3437 val
* var_mclassdef
/* var mclassdef: MClassDef */;
3438 val
* var_nvisibility
/* var nvisibility: nullable AVisibility */;
3439 val
* var1
/* : MVisibility */;
3440 val
* var_mvisibility
/* var mvisibility: MVisibility */;
3441 val
* var2
/* : null */;
3442 short int var3
/* : Bool */;
3443 short int var4
/* : Bool */;
3444 val
* var_other
/* var other: nullable Object */;
3445 short int var6
/* : Bool */;
3446 short int var7
/* : Bool */;
3447 short int var8
/* : Bool */;
3448 val
* var9
/* : MVisibility */;
3449 val
* var10
/* : MVisibility */;
3450 short int var11
/* : Bool */;
3451 short int var12
/* : Bool */;
3452 val
* var_other14
/* var other: nullable Object */;
3453 short int var15
/* : Bool */;
3454 short int var17
/* : Bool */;
3455 static val
* varonce
;
3456 val
* var18
/* : String */;
3457 char* var19
/* : NativeString */;
3458 long var20
/* : Int */;
3459 val
* var21
/* : FlatString */;
3460 val
* var22
/* : MVisibility */;
3461 val
* var23
/* : MClass */;
3462 val
* var25
/* : MClass */;
3463 val
* var26
/* : MVisibility */;
3464 val
* var28
/* : MVisibility */;
3465 val
* var29
/* : MVisibility */;
3466 short int var30
/* : Bool */;
3467 short int var31
/* : Bool */;
3468 short int var33
/* : Bool */;
3469 short int var35
/* : Bool */;
3470 val
* var36
/* : MVisibility */;
3471 short int var37
/* : Bool */;
3472 short int var38
/* : Bool */;
3473 short int var40
/* : Bool */;
3474 short int var42
/* : Bool */;
3475 val
* var43
/* : null */;
3476 short int var44
/* : Bool */;
3477 short int var45
/* : Bool */;
3478 short int var47
/* : Bool */;
3479 short int var48
/* : Bool */;
3480 short int var49
/* : Bool */;
3481 static val
* varonce50
;
3482 val
* var51
/* : String */;
3483 char* var52
/* : NativeString */;
3484 long var53
/* : Int */;
3485 val
* var54
/* : FlatString */;
3486 val
* var55
/* : MVisibility */;
3487 short int var56
/* : Bool */;
3488 short int var57
/* : Bool */;
3489 short int var59
/* : Bool */;
3490 short int var61
/* : Bool */;
3491 val
* var62
/* : null */;
3492 short int var63
/* : Bool */;
3493 short int var64
/* : Bool */;
3494 short int var66
/* : Bool */;
3495 short int var67
/* : Bool */;
3496 short int var68
/* : Bool */;
3497 val
* var69
/* : MVisibility */;
3498 var_modelbuilder
= p0
;
3500 var_nvisibility
= p2
;
3502 var1
= model_base__Object__public_visibility(self
);
3504 var_mvisibility
= var1
;
3506 if (var_nvisibility
== NULL
) {
3507 var3
= 0; /* is null */
3509 var3
= 1; /* arg is null and recv is not */
3512 { /* Inline kernel#Object#!= (var_nvisibility,var2) on <var_nvisibility:nullable AVisibility> */
3515 var7
= ((short int (*)(val
*, val
*))(var_nvisibility
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nvisibility
, var_other
) /* == on <var_nvisibility:nullable AVisibility(AVisibility)>*/;
3527 var9
= ((val
* (*)(val
*))(var_nvisibility
->class->vft
[COLOR_modelbuilder__AVisibility__mvisibility
]))(var_nvisibility
) /* mvisibility on <var_nvisibility:nullable AVisibility(AVisibility)>*/;
3529 var_mvisibility
= var9
;
3531 var10
= model_base__Object__intrude_visibility(self
);
3534 { /* Inline kernel#Object#== (var_mvisibility,var10) on <var_mvisibility:MVisibility> */
3535 var_other14
= var10
;
3537 { /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other14) on <var_mvisibility:MVisibility> */
3538 var17
= var_mvisibility
== var_other14
;
3541 RET_LABEL16
:(void)0;
3546 RET_LABEL13
:(void)0;
3554 var19
= "Error: intrude is not a legal visibility for properties.";
3556 var21
= string__NativeString__to_s_with_length(var19
, var20
);
3561 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_nvisibility
, var18
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
3564 var22
= model_base__Object__public_visibility(self
);
3566 var_mvisibility
= var22
;
3572 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
3573 var25
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
3574 if (unlikely(var25
== NULL
)) {
3575 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3576 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 474);
3580 RET_LABEL24
:(void)0;
3584 { /* Inline model#MClass#visibility (var23) on <var23:MClass> */
3585 var28
= var23
->attrs
[COLOR_model__MClass___visibility
].val
; /* _visibility on <var23:MClass> */
3586 if (unlikely(var28
== NULL
)) {
3587 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
3588 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 359);
3592 RET_LABEL27
:(void)0;
3596 var29
= model_base__Object__private_visibility(self
);
3599 { /* Inline kernel#Object#== (var26,var29) on <var26:MVisibility> */
3600 var_other14
= var29
;
3602 { /* Inline kernel#Object#is_same_instance (var26,var_other14) on <var26:MVisibility> */
3603 var35
= var26
== var_other14
;
3606 RET_LABEL34
:(void)0;
3611 RET_LABEL32
:(void)0;
3617 var36
= model_base__Object__protected_visibility(self
);
3620 { /* Inline kernel#Object#== (var_mvisibility,var36) on <var_mvisibility:MVisibility> */
3621 var_other14
= var36
;
3623 { /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other14) on <var_mvisibility:MVisibility> */
3624 var42
= var_mvisibility
== var_other14
;
3627 RET_LABEL41
:(void)0;
3632 RET_LABEL39
:(void)0;
3638 if (var_nvisibility
== NULL
) {
3639 var44
= 0; /* is null */
3641 var44
= 1; /* arg is null and recv is not */
3644 { /* Inline kernel#Object#!= (var_nvisibility,var43) on <var_nvisibility:nullable AVisibility> */
3647 var48
= ((short int (*)(val
*, val
*))(var_nvisibility
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nvisibility
, var_other
) /* == on <var_nvisibility:nullable AVisibility(AVisibility)>*/;
3653 RET_LABEL46
:(void)0;
3657 if (unlikely(!var44
)) {
3658 PRINT_ERROR("Runtime error: %s", "Assert failed");
3659 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 301);
3665 var52
= "Error: The only legal visibility for properties in a private class is private.";
3667 var54
= string__NativeString__to_s_with_length(var52
, var53
);
3672 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_nvisibility
, var51
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
3676 var55
= model_base__Object__private_visibility(self
);
3679 { /* Inline kernel#Object#== (var_mvisibility,var55) on <var_mvisibility:MVisibility> */
3680 var_other14
= var55
;
3682 { /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other14) on <var_mvisibility:MVisibility> */
3683 var61
= var_mvisibility
== var_other14
;
3686 RET_LABEL60
:(void)0;
3691 RET_LABEL58
:(void)0;
3697 if (var_nvisibility
== NULL
) {
3698 var63
= 0; /* is null */
3700 var63
= 1; /* arg is null and recv is not */
3703 { /* Inline kernel#Object#!= (var_nvisibility,var62) on <var_nvisibility:nullable AVisibility> */
3706 var67
= ((short int (*)(val
*, val
*))(var_nvisibility
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nvisibility
, var_other
) /* == on <var_nvisibility:nullable AVisibility(AVisibility)>*/;
3712 RET_LABEL65
:(void)0;
3716 if (unlikely(!var63
)) {
3717 PRINT_ERROR("Runtime error: %s", "Assert failed");
3718 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 304);
3725 var69
= model_base__Object__private_visibility(self
);
3727 var_mvisibility
= var69
;
3730 var
= var_mvisibility
;
3735 /* method modelize_property#APropdef#new_property_visibility for (self: Object, ModelBuilder, MClassDef, nullable AVisibility): MVisibility */
3736 val
* VIRTUAL_modelize_property__APropdef__new_property_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3737 val
* var
/* : MVisibility */;
3738 val
* var1
/* : MVisibility */;
3739 var1
= modelize_property__APropdef__new_property_visibility(self
, p0
, p1
, p2
);
3744 /* method modelize_property#APropdef#set_doc for (self: APropdef, MPropDef) */
3745 void modelize_property__APropdef__set_doc(val
* self
, val
* p0
) {
3746 val
* var_mpropdef
/* var mpropdef: MPropDef */;
3747 val
* var
/* : nullable ADoc */;
3748 val
* var_ndoc
/* var ndoc: nullable ADoc */;
3749 val
* var1
/* : null */;
3750 short int var2
/* : Bool */;
3751 short int var3
/* : Bool */;
3752 val
* var_other
/* var other: nullable Object */;
3753 short int var5
/* : Bool */;
3754 short int var6
/* : Bool */;
3755 short int var7
/* : Bool */;
3756 val
* var8
/* : MDoc */;
3757 val
* var_mdoc
/* var mdoc: MDoc */;
3760 var
= parser_nodes__APropdef__n_doc(self
);
3764 if (var_ndoc
== NULL
) {
3765 var2
= 0; /* is null */
3767 var2
= 1; /* arg is null and recv is not */
3770 { /* Inline kernel#Object#!= (var_ndoc,var1) on <var_ndoc:nullable ADoc> */
3773 var6
= ((short int (*)(val
*, val
*))(var_ndoc
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ndoc
, var_other
) /* == on <var_ndoc:nullable ADoc(ADoc)>*/;
3785 var8
= modelbuilder__ADoc__to_mdoc(var_ndoc
);
3789 { /* Inline mdoc#MEntity#mdoc= (var_mpropdef,var_mdoc) on <var_mpropdef:MPropDef> */
3790 var_mpropdef
->attrs
[COLOR_mdoc__MEntity___mdoc
].val
= var_mdoc
; /* _mdoc on <var_mpropdef:MPropDef> */
3795 { /* Inline mdoc#MDoc#original_mentity= (var_mdoc,var_mpropdef) on <var_mdoc:MDoc> */
3796 var_mdoc
->attrs
[COLOR_mdoc__MDoc___original_mentity
].val
= var_mpropdef
; /* _original_mentity on <var_mdoc:MDoc> */
3797 RET_LABEL10
:(void)0;
3804 /* method modelize_property#APropdef#set_doc for (self: Object, MPropDef) */
3805 void VIRTUAL_modelize_property__APropdef__set_doc(val
* self
, val
* p0
) {
3806 modelize_property__APropdef__set_doc(self
, p0
); /* Direct call modelize_property#APropdef#set_doc on <self:Object(APropdef)>*/
3809 /* method modelize_property#APropdef#check_redef_property_visibility for (self: APropdef, ModelBuilder, nullable AVisibility, MProperty) */
3810 void modelize_property__APropdef__check_redef_property_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3811 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
3812 val
* var_nvisibility
/* var nvisibility: nullable AVisibility */;
3813 val
* var_mprop
/* var mprop: MProperty */;
3814 val
* var
/* : null */;
3815 short int var1
/* : Bool */;
3816 short int var2
/* : Bool */;
3817 val
* var_other
/* var other: nullable Object */;
3818 short int var4
/* : Bool */;
3819 short int var6
/* : Bool */;
3820 val
* var7
/* : MVisibility */;
3821 val
* var_mvisibility
/* var mvisibility: MVisibility */;
3822 short int var8
/* : Bool */;
3823 val
* var9
/* : MVisibility */;
3824 val
* var11
/* : MVisibility */;
3825 short int var12
/* : Bool */;
3826 short int var13
/* : Bool */;
3827 val
* var_other15
/* var other: nullable Object */;
3828 short int var16
/* : Bool */;
3829 short int var17
/* : Bool */;
3830 short int var18
/* : Bool */;
3831 short int var_
/* var : Bool */;
3832 val
* var19
/* : MVisibility */;
3833 short int var20
/* : Bool */;
3834 short int var21
/* : Bool */;
3835 short int var23
/* : Bool */;
3836 short int var24
/* : Bool */;
3837 short int var25
/* : Bool */;
3838 static val
* varonce
;
3839 val
* var26
/* : String */;
3840 char* var27
/* : NativeString */;
3841 long var28
/* : Int */;
3842 val
* var29
/* : FlatString */;
3843 val
* var30
/* : MVisibility */;
3844 val
* var32
/* : MVisibility */;
3845 static val
* varonce33
;
3846 val
* var34
/* : String */;
3847 char* var35
/* : NativeString */;
3848 long var36
/* : Int */;
3849 val
* var37
/* : FlatString */;
3850 val
* var38
/* : Array[Object] */;
3851 long var39
/* : Int */;
3852 val
* var40
/* : NativeArray[Object] */;
3853 val
* var41
/* : String */;
3854 var_modelbuilder
= p0
;
3855 var_nvisibility
= p1
;
3858 if (var_nvisibility
== NULL
) {
3859 var1
= 1; /* is null */
3861 var1
= 0; /* arg is null but recv is not */
3864 { /* Inline kernel#Object#== (var_nvisibility,var) on <var_nvisibility:nullable AVisibility> */
3867 { /* Inline kernel#Object#is_same_instance (var_nvisibility,var_other) on <var_nvisibility:nullable AVisibility(AVisibility)> */
3868 var6
= var_nvisibility
== var_other
;
3885 var7
= ((val
* (*)(val
*))(var_nvisibility
->class->vft
[COLOR_modelbuilder__AVisibility__mvisibility
]))(var_nvisibility
) /* mvisibility on <var_nvisibility:nullable AVisibility(AVisibility)>*/;
3887 var_mvisibility
= var7
;
3889 { /* Inline model#MProperty#visibility (var_mprop) on <var_mprop:MProperty> */
3890 var11
= var_mprop
->attrs
[COLOR_model__MProperty___visibility
].val
; /* _visibility on <var_mprop:MProperty> */
3891 if (unlikely(var11
== NULL
)) {
3892 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
3893 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1617);
3897 RET_LABEL10
:(void)0;
3901 { /* Inline kernel#Object#!= (var_mvisibility,var9) on <var_mvisibility:MVisibility> */
3904 var17
= ((short int (*)(val
*, val
*))(var_mvisibility
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mvisibility
, var_other15
) /* == on <var_mvisibility:MVisibility>*/;
3910 RET_LABEL14
:(void)0;
3917 var19
= model_base__Object__public_visibility(self
);
3920 { /* Inline kernel#Object#!= (var_mvisibility,var19) on <var_mvisibility:MVisibility> */
3921 var_other15
= var19
;
3923 var24
= ((short int (*)(val
*, val
*))(var_mvisibility
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mvisibility
, var_other15
) /* == on <var_mvisibility:MVisibility>*/;
3929 RET_LABEL22
:(void)0;
3941 var27
= "Error: redefinition changed the visibility from a ";
3943 var29
= string__NativeString__to_s_with_length(var27
, var28
);
3948 { /* Inline model#MProperty#visibility (var_mprop) on <var_mprop:MProperty> */
3949 var32
= var_mprop
->attrs
[COLOR_model__MProperty___visibility
].val
; /* _visibility on <var_mprop:MProperty> */
3950 if (unlikely(var32
== NULL
)) {
3951 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
3952 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1617);
3956 RET_LABEL31
:(void)0;
3964 var37
= string__NativeString__to_s_with_length(var35
, var36
);
3968 var38
= NEW_array__Array(&type_array__Arraykernel__Object
);
3969 { /* var38 = array_instance Array[Object] */
3971 var40
= NEW_array__NativeArray(var39
, &type_array__NativeArraykernel__Object
);
3972 ((struct instance_array__NativeArray
*)var40
)->values
[0] = (val
*) var26
;
3973 ((struct instance_array__NativeArray
*)var40
)->values
[1] = (val
*) var30
;
3974 ((struct instance_array__NativeArray
*)var40
)->values
[2] = (val
*) var34
;
3975 ((struct instance_array__NativeArray
*)var40
)->values
[3] = (val
*) var_mvisibility
;
3977 ((void (*)(val
*, val
*, long))(var38
->class->vft
[COLOR_array__Array__with_native
]))(var38
, var40
, var39
) /* with_native on <var38:Array[Object]>*/;
3981 var41
= ((val
* (*)(val
*))(var38
->class->vft
[COLOR_string__Object__to_s
]))(var38
) /* to_s on <var38:Array[Object]>*/;
3984 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_nvisibility
, var41
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
3990 /* method modelize_property#APropdef#check_redef_property_visibility for (self: Object, ModelBuilder, nullable AVisibility, MProperty) */
3991 void VIRTUAL_modelize_property__APropdef__check_redef_property_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3992 modelize_property__APropdef__check_redef_property_visibility(self
, p0
, p1
, p2
); /* Direct call modelize_property#APropdef#check_redef_property_visibility on <self:Object(APropdef)>*/
3995 /* method modelize_property#APropdef#check_redef_keyword for (self: APropdef, ModelBuilder, MClassDef, nullable Token, Bool, MProperty): Bool */
3996 short int modelize_property__APropdef__check_redef_keyword(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
, val
* p4
) {
3997 short int var
/* : Bool */;
3998 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
3999 val
* var_mclassdef
/* var mclassdef: MClassDef */;
4000 val
* var_kwredef
/* var kwredef: nullable Token */;
4001 short int var_need_redef
/* var need_redef: Bool */;
4002 val
* var_mprop
/* var mprop: MProperty */;
4003 val
* var1
/* : Map[MProperty, APropdef] */;
4004 val
* var3
/* : Map[MProperty, APropdef] */;
4005 short int var4
/* : Bool */;
4006 static val
* varonce
;
4007 val
* var5
/* : String */;
4008 char* var6
/* : NativeString */;
4009 long var7
/* : Int */;
4010 val
* var8
/* : FlatString */;
4011 static val
* varonce9
;
4012 val
* var10
/* : String */;
4013 char* var11
/* : NativeString */;
4014 long var12
/* : Int */;
4015 val
* var13
/* : FlatString */;
4016 val
* var14
/* : MClass */;
4017 val
* var16
/* : MClass */;
4018 static val
* varonce17
;
4019 val
* var18
/* : String */;
4020 char* var19
/* : NativeString */;
4021 long var20
/* : Int */;
4022 val
* var21
/* : FlatString */;
4023 val
* var22
/* : Map[MProperty, APropdef] */;
4024 val
* var24
/* : Map[MProperty, APropdef] */;
4025 val
* var25
/* : nullable Object */;
4026 val
* var26
/* : Location */;
4027 long var27
/* : Int */;
4028 long var29
/* : Int */;
4029 static val
* varonce30
;
4030 val
* var31
/* : String */;
4031 char* var32
/* : NativeString */;
4032 long var33
/* : Int */;
4033 val
* var34
/* : FlatString */;
4034 val
* var35
/* : Array[Object] */;
4035 long var36
/* : Int */;
4036 val
* var37
/* : NativeArray[Object] */;
4037 val
* var38
/* : Object */;
4038 val
* var39
/* : String */;
4039 short int var40
/* : Bool */;
4040 short int var41
/* : Bool */;
4041 short int var42
/* : Bool */;
4044 short int var_
/* var : Bool */;
4045 short int var43
/* : Bool */;
4046 short int var45
/* : Bool */;
4047 val
* var46
/* : nullable ANode */;
4048 val
* var48
/* : nullable ANode */;
4049 short int var49
/* : Bool */;
4052 short int var52
/* : Bool */;
4053 short int var53
/* : Bool */;
4054 short int var55
/* : Bool */;
4055 short int var56
/* : Bool */;
4056 short int var57
/* : Bool */;
4057 short int var59
/* : Bool */;
4058 static val
* varonce60
;
4059 val
* var61
/* : String */;
4060 char* var62
/* : NativeString */;
4061 long var63
/* : Int */;
4062 val
* var64
/* : FlatString */;
4063 static val
* varonce65
;
4064 val
* var66
/* : String */;
4065 char* var67
/* : NativeString */;
4066 long var68
/* : Int */;
4067 val
* var69
/* : FlatString */;
4068 val
* var70
/* : Array[Object] */;
4069 long var71
/* : Int */;
4070 val
* var72
/* : NativeArray[Object] */;
4071 val
* var73
/* : String */;
4072 static val
* varonce74
;
4073 val
* var75
/* : String */;
4074 char* var76
/* : NativeString */;
4075 long var77
/* : Int */;
4076 val
* var78
/* : FlatString */;
4077 static val
* varonce79
;
4078 val
* var80
/* : String */;
4079 char* var81
/* : NativeString */;
4080 long var82
/* : Int */;
4081 val
* var83
/* : FlatString */;
4082 val
* var84
/* : Array[Object] */;
4083 long var85
/* : Int */;
4084 val
* var86
/* : NativeArray[Object] */;
4085 val
* var87
/* : String */;
4086 short int var88
/* : Bool */;
4087 val
* var89
/* : null */;
4088 short int var90
/* : Bool */;
4089 short int var91
/* : Bool */;
4090 val
* var_other
/* var other: nullable Object */;
4091 short int var93
/* : Bool */;
4092 short int var95
/* : Bool */;
4093 static val
* varonce96
;
4094 val
* var97
/* : String */;
4095 char* var98
/* : NativeString */;
4096 long var99
/* : Int */;
4097 val
* var100
/* : FlatString */;
4098 val
* var101
/* : MClass */;
4099 val
* var103
/* : MClass */;
4100 static val
* varonce104
;
4101 val
* var105
/* : String */;
4102 char* var106
/* : NativeString */;
4103 long var107
/* : Int */;
4104 val
* var108
/* : FlatString */;
4105 val
* var109
/* : String */;
4106 val
* var111
/* : String */;
4107 static val
* varonce112
;
4108 val
* var113
/* : String */;
4109 char* var114
/* : NativeString */;
4110 long var115
/* : Int */;
4111 val
* var116
/* : FlatString */;
4112 val
* var117
/* : Array[Object] */;
4113 long var118
/* : Int */;
4114 val
* var119
/* : NativeArray[Object] */;
4115 val
* var120
/* : String */;
4116 short int var121
/* : Bool */;
4117 short int var122
/* : Bool */;
4118 static val
* varonce123
;
4119 val
* var124
/* : String */;
4120 char* var125
/* : NativeString */;
4121 long var126
/* : Int */;
4122 val
* var127
/* : FlatString */;
4123 val
* var128
/* : MClass */;
4124 val
* var130
/* : MClass */;
4125 static val
* varonce131
;
4126 val
* var132
/* : String */;
4127 char* var133
/* : NativeString */;
4128 long var134
/* : Int */;
4129 val
* var135
/* : FlatString */;
4130 val
* var136
/* : String */;
4131 val
* var138
/* : String */;
4132 static val
* varonce139
;
4133 val
* var140
/* : String */;
4134 char* var141
/* : NativeString */;
4135 long var142
/* : Int */;
4136 val
* var143
/* : FlatString */;
4137 val
* var144
/* : Array[Object] */;
4138 long var145
/* : Int */;
4139 val
* var146
/* : NativeArray[Object] */;
4140 val
* var147
/* : String */;
4141 short int var148
/* : Bool */;
4142 short int var149
/* : Bool */;
4143 var_modelbuilder
= p0
;
4146 var_need_redef
= p3
;
4149 { /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on <var_mclassdef:MClassDef> */
4150 var3
= var_mclassdef
->attrs
[COLOR_modelize_property__MClassDef___mprop2npropdef
].val
; /* _mprop2npropdef on <var_mclassdef:MClassDef> */
4151 if (unlikely(var3
== NULL
)) {
4152 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
4153 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 252);
4161 var4
= abstract_collection__MapRead__has_key(var1
, var_mprop
);
4167 var6
= "Error: A property ";
4169 var8
= string__NativeString__to_s_with_length(var6
, var7
);
4176 var11
= " is already defined in class ";
4178 var13
= string__NativeString__to_s_with_length(var11
, var12
);
4183 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
4184 var16
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
4185 if (unlikely(var16
== NULL
)) {
4186 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4187 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 474);
4191 RET_LABEL15
:(void)0;
4197 var19
= " at line ";
4199 var21
= string__NativeString__to_s_with_length(var19
, var20
);
4204 { /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on <var_mclassdef:MClassDef> */
4205 var24
= var_mclassdef
->attrs
[COLOR_modelize_property__MClassDef___mprop2npropdef
].val
; /* _mprop2npropdef on <var_mclassdef:MClassDef> */
4206 if (unlikely(var24
== NULL
)) {
4207 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
4208 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 252);
4212 RET_LABEL23
:(void)0;
4216 var25
= ((val
* (*)(val
*, val
*))(var22
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var22
, var_mprop
) /* [] on <var22:Map[MProperty, APropdef]>*/;
4219 var26
= parser_nodes__ANode__location(var25
);
4222 { /* Inline location#Location#line_start (var26) on <var26:Location> */
4223 var29
= var26
->attrs
[COLOR_location__Location___line_start
].l
; /* _line_start on <var26:Location> */
4225 RET_LABEL28
:(void)0;
4233 var34
= string__NativeString__to_s_with_length(var32
, var33
);
4237 var35
= NEW_array__Array(&type_array__Arraykernel__Object
);
4238 { /* var35 = array_instance Array[Object] */
4240 var37
= NEW_array__NativeArray(var36
, &type_array__NativeArraykernel__Object
);
4241 ((struct instance_array__NativeArray
*)var37
)->values
[0] = (val
*) var5
;
4242 ((struct instance_array__NativeArray
*)var37
)->values
[1] = (val
*) var_mprop
;
4243 ((struct instance_array__NativeArray
*)var37
)->values
[2] = (val
*) var10
;
4244 ((struct instance_array__NativeArray
*)var37
)->values
[3] = (val
*) var14
;
4245 ((struct instance_array__NativeArray
*)var37
)->values
[4] = (val
*) var18
;
4246 var38
= BOX_kernel__Int(var27
); /* autobox from Int to Object */
4247 ((struct instance_array__NativeArray
*)var37
)->values
[5] = (val
*) var38
;
4248 ((struct instance_array__NativeArray
*)var37
)->values
[6] = (val
*) var31
;
4250 ((void (*)(val
*, val
*, long))(var35
->class->vft
[COLOR_array__Array__with_native
]))(var35
, var37
, var36
) /* with_native on <var35:Array[Object]>*/;
4254 var39
= ((val
* (*)(val
*))(var35
->class->vft
[COLOR_string__Object__to_s
]))(var35
) /* to_s on <var35:Array[Object]>*/;
4257 modelbuilder__ModelBuilder__error(var_modelbuilder
, self
, var39
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
4264 /* <var_mprop:MProperty> isa MMethod */
4265 cltype
= type_model__MMethod
.color
;
4266 idtype
= type_model__MMethod
.id
;
4267 if(cltype
>= var_mprop
->type
->table_size
) {
4270 var42
= var_mprop
->type
->type_table
[cltype
] == idtype
;
4275 { /* Inline model#MMethod#is_toplevel (var_mprop) on <var_mprop:MProperty(MMethod)> */
4276 var45
= var_mprop
->attrs
[COLOR_model__MMethod___is_toplevel
].s
; /* _is_toplevel on <var_mprop:MProperty(MMethod)> */
4278 RET_LABEL44
:(void)0;
4282 { /* Inline parser_nodes#ANode#parent (self) on <self:APropdef> */
4283 var48
= self
->attrs
[COLOR_parser_nodes__ANode___parent
].val
; /* _parent on <self:APropdef> */
4285 RET_LABEL47
:(void)0;
4288 /* <var46:nullable ANode> isa ATopClassdef */
4289 cltype50
= type_parser_nodes__ATopClassdef
.color
;
4290 idtype51
= type_parser_nodes__ATopClassdef
.id
;
4294 if(cltype50
>= var46
->type
->table_size
) {
4297 var49
= var46
->type
->type_table
[cltype50
] == idtype51
;
4301 { /* Inline kernel#Bool#!= (var43,var49) on <var43:Bool> */
4302 var55
= var43
== var49
;
4306 RET_LABEL54
:(void)0;
4316 { /* Inline model#MMethod#is_toplevel (var_mprop) on <var_mprop:MProperty(MMethod)> */
4317 var59
= var_mprop
->attrs
[COLOR_model__MMethod___is_toplevel
].s
; /* _is_toplevel on <var_mprop:MProperty(MMethod)> */
4319 RET_LABEL58
:(void)0;
4328 var64
= string__NativeString__to_s_with_length(var62
, var63
);
4335 var67
= " is a top level method.";
4337 var69
= string__NativeString__to_s_with_length(var67
, var68
);
4341 var70
= NEW_array__Array(&type_array__Arraykernel__Object
);
4342 { /* var70 = array_instance Array[Object] */
4344 var72
= NEW_array__NativeArray(var71
, &type_array__NativeArraykernel__Object
);
4345 ((struct instance_array__NativeArray
*)var72
)->values
[0] = (val
*) var61
;
4346 ((struct instance_array__NativeArray
*)var72
)->values
[1] = (val
*) var_mprop
;
4347 ((struct instance_array__NativeArray
*)var72
)->values
[2] = (val
*) var66
;
4349 ((void (*)(val
*, val
*, long))(var70
->class->vft
[COLOR_array__Array__with_native
]))(var70
, var72
, var71
) /* with_native on <var70:Array[Object]>*/;
4353 var73
= ((val
* (*)(val
*))(var70
->class->vft
[COLOR_string__Object__to_s
]))(var70
) /* to_s on <var70:Array[Object]>*/;
4356 modelbuilder__ModelBuilder__error(var_modelbuilder
, self
, var73
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
4364 var78
= string__NativeString__to_s_with_length(var76
, var77
);
4371 var81
= " is not a top level method.";
4373 var83
= string__NativeString__to_s_with_length(var81
, var82
);
4377 var84
= NEW_array__Array(&type_array__Arraykernel__Object
);
4378 { /* var84 = array_instance Array[Object] */
4380 var86
= NEW_array__NativeArray(var85
, &type_array__NativeArraykernel__Object
);
4381 ((struct instance_array__NativeArray
*)var86
)->values
[0] = (val
*) var75
;
4382 ((struct instance_array__NativeArray
*)var86
)->values
[1] = (val
*) var_mprop
;
4383 ((struct instance_array__NativeArray
*)var86
)->values
[2] = (val
*) var80
;
4385 ((void (*)(val
*, val
*, long))(var84
->class->vft
[COLOR_array__Array__with_native
]))(var84
, var86
, var85
) /* with_native on <var84:Array[Object]>*/;
4389 var87
= ((val
* (*)(val
*))(var84
->class->vft
[COLOR_string__Object__to_s
]))(var84
) /* to_s on <var84:Array[Object]>*/;
4392 modelbuilder__ModelBuilder__error(var_modelbuilder
, self
, var87
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
4401 if (var_kwredef
== NULL
) {
4402 var90
= 1; /* is null */
4404 var90
= 0; /* arg is null but recv is not */
4407 { /* Inline kernel#Object#== (var_kwredef,var89) on <var_kwredef:nullable Token> */
4410 { /* Inline kernel#Object#is_same_instance (var_kwredef,var_other) on <var_kwredef:nullable Token(Token)> */
4411 var95
= var_kwredef
== var_other
;
4414 RET_LABEL94
:(void)0;
4419 RET_LABEL92
:(void)0;
4424 if (var_need_redef
){
4428 var98
= "Redef error: ";
4430 var100
= string__NativeString__to_s_with_length(var98
, var99
);
4435 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
4436 var103
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
4437 if (unlikely(var103
== NULL
)) {
4438 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4439 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 474);
4443 RET_LABEL102
:(void)0;
4447 var105
= varonce104
;
4451 var108
= string__NativeString__to_s_with_length(var106
, var107
);
4453 varonce104
= var105
;
4456 { /* Inline model#MProperty#name (var_mprop) on <var_mprop:MProperty> */
4457 var111
= var_mprop
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var_mprop:MProperty> */
4458 if (unlikely(var111
== NULL
)) {
4459 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4460 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1607);
4464 RET_LABEL110
:(void)0;
4468 var113
= varonce112
;
4470 var114
= " is an inherited property. To redefine it, add the redef keyword.";
4472 var116
= string__NativeString__to_s_with_length(var114
, var115
);
4474 varonce112
= var113
;
4476 var117
= NEW_array__Array(&type_array__Arraykernel__Object
);
4477 { /* var117 = array_instance Array[Object] */
4479 var119
= NEW_array__NativeArray(var118
, &type_array__NativeArraykernel__Object
);
4480 ((struct instance_array__NativeArray
*)var119
)->values
[0] = (val
*) var97
;
4481 ((struct instance_array__NativeArray
*)var119
)->values
[1] = (val
*) var101
;
4482 ((struct instance_array__NativeArray
*)var119
)->values
[2] = (val
*) var105
;
4483 ((struct instance_array__NativeArray
*)var119
)->values
[3] = (val
*) var109
;
4484 ((struct instance_array__NativeArray
*)var119
)->values
[4] = (val
*) var113
;
4486 ((void (*)(val
*, val
*, long))(var117
->class->vft
[COLOR_array__Array__with_native
]))(var117
, var119
, var118
) /* with_native on <var117:Array[Object]>*/;
4490 var120
= ((val
* (*)(val
*))(var117
->class->vft
[COLOR_string__Object__to_s
]))(var117
) /* to_s on <var117:Array[Object]>*/;
4493 modelbuilder__ModelBuilder__error(var_modelbuilder
, self
, var120
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
4501 var122
= !var_need_redef
;
4504 var124
= varonce123
;
4506 var125
= "Error: No property ";
4508 var127
= string__NativeString__to_s_with_length(var125
, var126
);
4510 varonce123
= var124
;
4513 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
4514 var130
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
4515 if (unlikely(var130
== NULL
)) {
4516 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4517 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 474);
4521 RET_LABEL129
:(void)0;
4525 var132
= varonce131
;
4529 var135
= string__NativeString__to_s_with_length(var133
, var134
);
4531 varonce131
= var132
;
4534 { /* Inline model#MProperty#name (var_mprop) on <var_mprop:MProperty> */
4535 var138
= var_mprop
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var_mprop:MProperty> */
4536 if (unlikely(var138
== NULL
)) {
4537 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4538 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1607);
4542 RET_LABEL137
:(void)0;
4546 var140
= varonce139
;
4548 var141
= " is inherited. Remove the redef keyword to define a new property.";
4550 var143
= string__NativeString__to_s_with_length(var141
, var142
);
4552 varonce139
= var140
;
4554 var144
= NEW_array__Array(&type_array__Arraykernel__Object
);
4555 { /* var144 = array_instance Array[Object] */
4557 var146
= NEW_array__NativeArray(var145
, &type_array__NativeArraykernel__Object
);
4558 ((struct instance_array__NativeArray
*)var146
)->values
[0] = (val
*) var124
;
4559 ((struct instance_array__NativeArray
*)var146
)->values
[1] = (val
*) var128
;
4560 ((struct instance_array__NativeArray
*)var146
)->values
[2] = (val
*) var132
;
4561 ((struct instance_array__NativeArray
*)var146
)->values
[3] = (val
*) var136
;
4562 ((struct instance_array__NativeArray
*)var146
)->values
[4] = (val
*) var140
;
4564 ((void (*)(val
*, val
*, long))(var144
->class->vft
[COLOR_array__Array__with_native
]))(var144
, var146
, var145
) /* with_native on <var144:Array[Object]>*/;
4568 var147
= ((val
* (*)(val
*))(var144
->class->vft
[COLOR_string__Object__to_s
]))(var144
) /* to_s on <var144:Array[Object]>*/;
4571 modelbuilder__ModelBuilder__error(var_modelbuilder
, self
, var147
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
4585 /* method modelize_property#APropdef#check_redef_keyword for (self: Object, ModelBuilder, MClassDef, nullable Token, Bool, MProperty): Bool */
4586 short int VIRTUAL_modelize_property__APropdef__check_redef_keyword(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
, val
* p4
) {
4587 short int var
/* : Bool */;
4588 short int var1
/* : Bool */;
4589 var1
= modelize_property__APropdef__check_redef_keyword(self
, p0
, p1
, p2
, p3
, p4
);
4594 /* method modelize_property#ASignature#is_visited= for (self: ASignature, Bool) */
4595 void modelize_property__ASignature__is_visited_61d(val
* self
, short int p0
) {
4596 self
->attrs
[COLOR_modelize_property__ASignature___is_visited
].s
= p0
; /* _is_visited on <self:ASignature> */
4599 /* method modelize_property#ASignature#is_visited= for (self: Object, Bool) */
4600 void VIRTUAL_modelize_property__ASignature__is_visited_61d(val
* self
, short int p0
) {
4601 { /* Inline modelize_property#ASignature#is_visited= (self,p0) on <self:Object(ASignature)> */
4602 self
->attrs
[COLOR_modelize_property__ASignature___is_visited
].s
= p0
; /* _is_visited on <self:Object(ASignature)> */
4607 /* method modelize_property#ASignature#param_names for (self: ASignature): Array[String] */
4608 val
* modelize_property__ASignature__param_names(val
* self
) {
4609 val
* var
/* : Array[String] */;
4610 val
* var1
/* : Array[String] */;
4611 var1
= self
->attrs
[COLOR_modelize_property__ASignature___param_names
].val
; /* _param_names on <self:ASignature> */
4612 if (unlikely(var1
== NULL
)) {
4613 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_names");
4614 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 366);
4621 /* method modelize_property#ASignature#param_names for (self: Object): Array[String] */
4622 val
* VIRTUAL_modelize_property__ASignature__param_names(val
* self
) {
4623 val
* var
/* : Array[String] */;
4624 val
* var1
/* : Array[String] */;
4625 val
* var3
/* : Array[String] */;
4626 { /* Inline modelize_property#ASignature#param_names (self) on <self:Object(ASignature)> */
4627 var3
= self
->attrs
[COLOR_modelize_property__ASignature___param_names
].val
; /* _param_names on <self:Object(ASignature)> */
4628 if (unlikely(var3
== NULL
)) {
4629 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_names");
4630 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 366);
4640 /* method modelize_property#ASignature#param_types for (self: ASignature): Array[MType] */
4641 val
* modelize_property__ASignature__param_types(val
* self
) {
4642 val
* var
/* : Array[MType] */;
4643 val
* var1
/* : Array[MType] */;
4644 var1
= self
->attrs
[COLOR_modelize_property__ASignature___param_types
].val
; /* _param_types on <self:ASignature> */
4645 if (unlikely(var1
== NULL
)) {
4646 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_types");
4647 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 369);
4654 /* method modelize_property#ASignature#param_types for (self: Object): Array[MType] */
4655 val
* VIRTUAL_modelize_property__ASignature__param_types(val
* self
) {
4656 val
* var
/* : Array[MType] */;
4657 val
* var1
/* : Array[MType] */;
4658 val
* var3
/* : Array[MType] */;
4659 { /* Inline modelize_property#ASignature#param_types (self) on <self:Object(ASignature)> */
4660 var3
= self
->attrs
[COLOR_modelize_property__ASignature___param_types
].val
; /* _param_types on <self:Object(ASignature)> */
4661 if (unlikely(var3
== NULL
)) {
4662 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_types");
4663 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 369);
4673 /* method modelize_property#ASignature#vararg_rank for (self: ASignature): Int */
4674 long modelize_property__ASignature__vararg_rank(val
* self
) {
4675 long var
/* : Int */;
4676 long var1
/* : Int */;
4677 var1
= self
->attrs
[COLOR_modelize_property__ASignature___vararg_rank
].l
; /* _vararg_rank on <self:ASignature> */
4682 /* method modelize_property#ASignature#vararg_rank for (self: Object): Int */
4683 long VIRTUAL_modelize_property__ASignature__vararg_rank(val
* self
) {
4684 long var
/* : Int */;
4685 long var1
/* : Int */;
4686 long var3
/* : Int */;
4687 { /* Inline modelize_property#ASignature#vararg_rank (self) on <self:Object(ASignature)> */
4688 var3
= self
->attrs
[COLOR_modelize_property__ASignature___vararg_rank
].l
; /* _vararg_rank on <self:Object(ASignature)> */
4696 /* method modelize_property#ASignature#vararg_rank= for (self: ASignature, Int) */
4697 void modelize_property__ASignature__vararg_rank_61d(val
* self
, long p0
) {
4698 self
->attrs
[COLOR_modelize_property__ASignature___vararg_rank
].l
= p0
; /* _vararg_rank on <self:ASignature> */
4701 /* method modelize_property#ASignature#vararg_rank= for (self: Object, Int) */
4702 void VIRTUAL_modelize_property__ASignature__vararg_rank_61d(val
* self
, long p0
) {
4703 { /* Inline modelize_property#ASignature#vararg_rank= (self,p0) on <self:Object(ASignature)> */
4704 self
->attrs
[COLOR_modelize_property__ASignature___vararg_rank
].l
= p0
; /* _vararg_rank on <self:Object(ASignature)> */
4709 /* method modelize_property#ASignature#ret_type for (self: ASignature): nullable MType */
4710 val
* modelize_property__ASignature__ret_type(val
* self
) {
4711 val
* var
/* : nullable MType */;
4712 val
* var1
/* : nullable MType */;
4713 var1
= self
->attrs
[COLOR_modelize_property__ASignature___ret_type
].val
; /* _ret_type on <self:ASignature> */
4718 /* method modelize_property#ASignature#ret_type for (self: Object): nullable MType */
4719 val
* VIRTUAL_modelize_property__ASignature__ret_type(val
* self
) {
4720 val
* var
/* : nullable MType */;
4721 val
* var1
/* : nullable MType */;
4722 val
* var3
/* : nullable MType */;
4723 { /* Inline modelize_property#ASignature#ret_type (self) on <self:Object(ASignature)> */
4724 var3
= self
->attrs
[COLOR_modelize_property__ASignature___ret_type
].val
; /* _ret_type on <self:Object(ASignature)> */
4732 /* method modelize_property#ASignature#ret_type= for (self: ASignature, nullable MType) */
4733 void modelize_property__ASignature__ret_type_61d(val
* self
, val
* p0
) {
4734 self
->attrs
[COLOR_modelize_property__ASignature___ret_type
].val
= p0
; /* _ret_type on <self:ASignature> */
4737 /* method modelize_property#ASignature#ret_type= for (self: Object, nullable MType) */
4738 void VIRTUAL_modelize_property__ASignature__ret_type_61d(val
* self
, val
* p0
) {
4739 { /* Inline modelize_property#ASignature#ret_type= (self,p0) on <self:Object(ASignature)> */
4740 self
->attrs
[COLOR_modelize_property__ASignature___ret_type
].val
= p0
; /* _ret_type on <self:Object(ASignature)> */
4745 /* method modelize_property#ASignature#visit_signature for (self: ASignature, ModelBuilder, MClassDef): Bool */
4746 short int modelize_property__ASignature__visit_signature(val
* self
, val
* p0
, val
* p1
) {
4747 short int var
/* : Bool */;
4748 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
4749 val
* var_mclassdef
/* var mclassdef: MClassDef */;
4750 val
* var1
/* : MModule */;
4751 val
* var3
/* : MModule */;
4752 val
* var_mmodule
/* var mmodule: MModule */;
4753 val
* var4
/* : Array[String] */;
4754 val
* var6
/* : Array[String] */;
4755 val
* var_param_names
/* var param_names: Array[String] */;
4756 val
* var7
/* : Array[MType] */;
4757 val
* var9
/* : Array[MType] */;
4758 val
* var_param_types
/* var param_types: Array[MType] */;
4759 val
* var10
/* : ANodes[AParam] */;
4760 val
* var12
/* : ANodes[AParam] */;
4761 val
* var13
/* : Iterator[ANode] */;
4762 short int var14
/* : Bool */;
4763 val
* var15
/* : nullable Object */;
4764 val
* var_np
/* var np: AParam */;
4765 val
* var16
/* : TId */;
4766 val
* var17
/* : String */;
4767 val
* var18
/* : nullable AType */;
4768 val
* var_ntype
/* var ntype: nullable AType */;
4769 val
* var19
/* : null */;
4770 short int var20
/* : Bool */;
4771 short int var21
/* : Bool */;
4772 val
* var_other
/* var other: nullable Object */;
4773 short int var23
/* : Bool */;
4774 short int var24
/* : Bool */;
4775 short int var25
/* : Bool */;
4776 val
* var26
/* : nullable MType */;
4777 val
* var_mtype
/* var mtype: nullable MType */;
4778 val
* var27
/* : null */;
4779 short int var28
/* : Bool */;
4780 short int var29
/* : Bool */;
4781 val
* var_other31
/* var other: nullable Object */;
4782 short int var32
/* : Bool */;
4783 short int var34
/* : Bool */;
4784 short int var35
/* : Bool */;
4785 val
* var36
/* : Range[Int] */;
4786 long var37
/* : Int */;
4787 long var38
/* : Int */;
4788 long var39
/* : Int */;
4789 long var40
/* : Int */;
4790 short int var42
/* : Bool */;
4793 const char* var_class_name
;
4794 long var43
/* : Int */;
4795 val
* var44
/* : Discrete */;
4796 val
* var45
/* : Discrete */;
4797 val
* var46
/* : Iterator[Discrete] */;
4798 short int var47
/* : Bool */;
4799 val
* var48
/* : nullable Object */;
4800 long var_i
/* var i: Int */;
4801 long var49
/* : Int */;
4802 val
* var50
/* : nullable TDotdotdot */;
4803 val
* var51
/* : null */;
4804 short int var52
/* : Bool */;
4805 short int var53
/* : Bool */;
4806 short int var55
/* : Bool */;
4807 short int var56
/* : Bool */;
4808 short int var57
/* : Bool */;
4809 long var58
/* : Int */;
4810 long var60
/* : Int */;
4811 long var61
/* : Int */;
4812 long var62
/* : Int */;
4813 long var64
/* : Int */;
4814 short int var65
/* : Bool */;
4815 short int var66
/* : Bool */;
4816 short int var68
/* : Bool */;
4817 short int var69
/* : Bool */;
4818 static val
* varonce
;
4819 val
* var70
/* : String */;
4820 char* var71
/* : NativeString */;
4821 long var72
/* : Int */;
4822 val
* var73
/* : FlatString */;
4823 long var74
/* : Int */;
4824 long var76
/* : Int */;
4825 val
* var77
/* : nullable Object */;
4826 static val
* varonce78
;
4827 val
* var79
/* : String */;
4828 char* var80
/* : NativeString */;
4829 long var81
/* : Int */;
4830 val
* var82
/* : FlatString */;
4831 val
* var83
/* : Array[Object] */;
4832 long var84
/* : Int */;
4833 val
* var85
/* : NativeArray[Object] */;
4834 val
* var86
/* : String */;
4835 short int var87
/* : Bool */;
4836 long var88
/* : Int */;
4837 long var89
/* : Int */;
4838 long var90
/* : Int */;
4839 short int var92
/* : Bool */;
4842 const char* var_class_name95
;
4843 long var96
/* : Int */;
4844 val
* var99
/* : nullable AType */;
4845 val
* var_ntype100
/* var ntype: nullable AType */;
4846 val
* var101
/* : null */;
4847 short int var102
/* : Bool */;
4848 short int var103
/* : Bool */;
4849 short int var105
/* : Bool */;
4850 short int var106
/* : Bool */;
4851 short int var107
/* : Bool */;
4852 val
* var108
/* : nullable MType */;
4853 val
* var110
/* : nullable MType */;
4854 val
* var112
/* : nullable MType */;
4855 val
* var113
/* : null */;
4856 short int var114
/* : Bool */;
4857 short int var115
/* : Bool */;
4858 short int var117
/* : Bool */;
4859 short int var119
/* : Bool */;
4860 short int var120
/* : Bool */;
4861 short int var121
/* : Bool */;
4862 short int var123
/* : Bool */;
4863 var_modelbuilder
= p0
;
4866 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
4867 var3
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
4868 if (unlikely(var3
== NULL
)) {
4869 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4870 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
4879 { /* Inline modelize_property#ASignature#param_names (self) on <self:ASignature> */
4880 var6
= self
->attrs
[COLOR_modelize_property__ASignature___param_names
].val
; /* _param_names on <self:ASignature> */
4881 if (unlikely(var6
== NULL
)) {
4882 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_names");
4883 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 366);
4890 var_param_names
= var4
;
4892 { /* Inline modelize_property#ASignature#param_types (self) on <self:ASignature> */
4893 var9
= self
->attrs
[COLOR_modelize_property__ASignature___param_types
].val
; /* _param_types on <self:ASignature> */
4894 if (unlikely(var9
== NULL
)) {
4895 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_types");
4896 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 369);
4903 var_param_types
= var7
;
4905 { /* Inline parser_nodes#ASignature#n_params (self) on <self:ASignature> */
4906 var12
= self
->attrs
[COLOR_parser_nodes__ASignature___n_params
].val
; /* _n_params on <self:ASignature> */
4907 if (unlikely(var12
== NULL
)) {
4908 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
4909 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1360);
4913 RET_LABEL11
:(void)0;
4917 var13
= parser_nodes__ANodes__iterator(var10
);
4921 var14
= ((short int (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var13
) /* is_ok on <var13:Iterator[ANode]>*/;
4925 var15
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var13
) /* item on <var13:Iterator[ANode]>*/;
4929 var16
= parser_nodes__AParam__n_id(var_np
);
4932 var17
= lexer_work__Token__text(var16
);
4935 array__Array__add(var_param_names
, var17
); /* Direct call array#Array#add on <var_param_names:Array[String]>*/
4938 var18
= parser_nodes__AParam__n_type(var_np
);
4942 if (var_ntype
== NULL
) {
4943 var20
= 0; /* is null */
4945 var20
= 1; /* arg is null and recv is not */
4948 { /* Inline kernel#Object#!= (var_ntype,var19) on <var_ntype:nullable AType> */
4951 var24
= ((short int (*)(val
*, val
*))(var_ntype
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ntype
, var_other
) /* == on <var_ntype:nullable AType(AType)>*/;
4957 RET_LABEL22
:(void)0;
4963 var26
= modelize_class__ModelBuilder__resolve_mtype(var_modelbuilder
, var_mmodule
, var_mclassdef
, var_ntype
);
4967 if (var_mtype
== NULL
) {
4968 var28
= 1; /* is null */
4970 var28
= 0; /* arg is null but recv is not */
4973 { /* Inline kernel#Object#== (var_mtype,var27) on <var_mtype:nullable MType> */
4974 var_other31
= var27
;
4976 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other31) on <var_mtype:nullable MType(MType)> */
4977 var34
= var_mtype
== var_other31
;
4980 RET_LABEL33
:(void)0;
4985 RET_LABEL30
:(void)0;
4995 var36
= NEW_range__Range(&type_range__Rangekernel__Int
);
4998 var38
= array__AbstractArrayRead__length(var_param_names
);
5001 var39
= array__AbstractArrayRead__length(var_param_types
);
5004 { /* Inline kernel#Int#- (var38,var39) on <var38:Int> */
5005 /* Covariant cast for argument 0 (i) <var39:Int> isa OTHER */
5006 /* <var39:Int> isa OTHER */
5007 var42
= 1; /* easy <var39:Int> isa OTHER*/
5008 if (unlikely(!var42
)) {
5009 var_class_name
= type_kernel__Int
.name
;
5010 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5011 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
5014 var43
= var38
- var39
;
5017 RET_LABEL41
:(void)0;
5021 var44
= BOX_kernel__Int(var37
); /* autobox from Int to Discrete */
5022 var45
= BOX_kernel__Int(var40
); /* autobox from Int to Discrete */
5023 range__Range__without_last(var36
, var44
, var45
); /* Direct call range#Range#without_last on <var36:Range[Int]>*/
5026 var46
= range__Range__iterator(var36
);
5030 var47
= ((short int (*)(val
*))(var46
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var46
) /* is_ok on <var46:Iterator[Discrete]>*/;
5034 var48
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var46
) /* item on <var46:Iterator[Discrete]>*/;
5036 var49
= ((struct instance_kernel__Int
*)var48
)->value
; /* autounbox from nullable Object to Int */;
5039 array__Array__add(var_param_types
, var_mtype
); /* Direct call array#Array#add on <var_param_types:Array[MType]>*/
5041 CONTINUE_label
: (void)0;
5043 ((void (*)(val
*))(var46
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var46
) /* next on <var46:Iterator[Discrete]>*/;
5046 BREAK_label
: (void)0;
5048 var50
= parser_nodes__AParam__n_dotdotdot(var_np
);
5051 if (var50
== NULL
) {
5052 var52
= 0; /* is null */
5054 var52
= 1; /* arg is null and recv is not */
5057 { /* Inline kernel#Object#!= (var50,var51) on <var50:nullable TDotdotdot> */
5060 var56
= ((short int (*)(val
*, val
*))(var50
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var50
, var_other
) /* == on <var50:nullable TDotdotdot(TDotdotdot)>*/;
5066 RET_LABEL54
:(void)0;
5072 { /* Inline modelize_property#ASignature#vararg_rank (self) on <self:ASignature> */
5073 var60
= self
->attrs
[COLOR_modelize_property__ASignature___vararg_rank
].l
; /* _vararg_rank on <self:ASignature> */
5075 RET_LABEL59
:(void)0;
5080 { /* Inline kernel#Int#unary - (var61) on <var61:Int> */
5084 RET_LABEL63
:(void)0;
5088 { /* Inline kernel#Int#!= (var58,var62) on <var58:Int> */
5089 var68
= var58
== var62
;
5093 RET_LABEL67
:(void)0;
5103 var73
= string__NativeString__to_s_with_length(var71
, var72
);
5108 { /* Inline modelize_property#ASignature#vararg_rank (self) on <self:ASignature> */
5109 var76
= self
->attrs
[COLOR_modelize_property__ASignature___vararg_rank
].l
; /* _vararg_rank on <self:ASignature> */
5111 RET_LABEL75
:(void)0;
5115 var77
= array__Array___91d_93d(var_param_names
, var74
);
5120 var80
= " is already a vararg";
5122 var82
= string__NativeString__to_s_with_length(var80
, var81
);
5126 var83
= NEW_array__Array(&type_array__Arraykernel__Object
);
5127 { /* var83 = array_instance Array[Object] */
5129 var85
= NEW_array__NativeArray(var84
, &type_array__NativeArraykernel__Object
);
5130 ((struct instance_array__NativeArray
*)var85
)->values
[0] = (val
*) var70
;
5131 ((struct instance_array__NativeArray
*)var85
)->values
[1] = (val
*) var77
;
5132 ((struct instance_array__NativeArray
*)var85
)->values
[2] = (val
*) var79
;
5134 ((void (*)(val
*, val
*, long))(var83
->class->vft
[COLOR_array__Array__with_native
]))(var83
, var85
, var84
) /* with_native on <var83:Array[Object]>*/;
5138 var86
= ((val
* (*)(val
*))(var83
->class->vft
[COLOR_string__Object__to_s
]))(var83
) /* to_s on <var83:Array[Object]>*/;
5141 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_np
, var86
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
5148 var88
= array__AbstractArrayRead__length(var_param_names
);
5152 { /* Inline kernel#Int#- (var88,var89) on <var88:Int> */
5153 /* Covariant cast for argument 0 (i) <var89:Int> isa OTHER */
5154 /* <var89:Int> isa OTHER */
5155 var92
= 1; /* easy <var89:Int> isa OTHER*/
5156 if (unlikely(!var92
)) {
5157 var_class_name95
= type_kernel__Int
.name
;
5158 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name95
);
5159 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
5162 var96
= var88
- var89
;
5165 RET_LABEL91
:(void)0;
5169 { /* Inline modelize_property#ASignature#vararg_rank= (self,var90) on <self:ASignature> */
5170 self
->attrs
[COLOR_modelize_property__ASignature___vararg_rank
].l
= var90
; /* _vararg_rank on <self:ASignature> */
5171 RET_LABEL97
:(void)0;
5179 CONTINUE_label98
: (void)0;
5181 ((void (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var13
) /* next on <var13:Iterator[ANode]>*/;
5184 BREAK_label98
: (void)0;
5186 var99
= parser_nodes__ASignature__n_type(self
);
5188 var_ntype100
= var99
;
5190 if (var_ntype100
== NULL
) {
5191 var102
= 0; /* is null */
5193 var102
= 1; /* arg is null and recv is not */
5196 { /* Inline kernel#Object#!= (var_ntype100,var101) on <var_ntype100:nullable AType> */
5199 var106
= ((short int (*)(val
*, val
*))(var_ntype100
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ntype100
, var_other
) /* == on <var_ntype100:nullable AType(AType)>*/;
5205 RET_LABEL104
:(void)0;
5211 var108
= modelize_class__ModelBuilder__resolve_mtype(var_modelbuilder
, var_mmodule
, var_mclassdef
, var_ntype100
);
5214 { /* Inline modelize_property#ASignature#ret_type= (self,var108) on <self:ASignature> */
5215 self
->attrs
[COLOR_modelize_property__ASignature___ret_type
].val
= var108
; /* _ret_type on <self:ASignature> */
5216 RET_LABEL109
:(void)0;
5220 { /* Inline modelize_property#ASignature#ret_type (self) on <self:ASignature> */
5221 var112
= self
->attrs
[COLOR_modelize_property__ASignature___ret_type
].val
; /* _ret_type on <self:ASignature> */
5223 RET_LABEL111
:(void)0;
5227 if (var110
== NULL
) {
5228 var114
= 1; /* is null */
5230 var114
= 0; /* arg is null but recv is not */
5233 { /* Inline kernel#Object#== (var110,var113) on <var110:nullable MType> */
5234 var_other31
= var113
;
5236 { /* Inline kernel#Object#is_same_instance (var110,var_other31) on <var110:nullable MType(MType)> */
5237 var119
= var110
== var_other31
;
5240 RET_LABEL118
:(void)0;
5245 RET_LABEL116
:(void)0;
5259 { /* Inline modelize_property#ASignature#is_visited= (self,var121) on <self:ASignature> */
5260 self
->attrs
[COLOR_modelize_property__ASignature___is_visited
].s
= var121
; /* _is_visited on <self:ASignature> */
5261 RET_LABEL122
:(void)0;
5270 /* method modelize_property#ASignature#visit_signature for (self: Object, ModelBuilder, MClassDef): Bool */
5271 short int VIRTUAL_modelize_property__ASignature__visit_signature(val
* self
, val
* p0
, val
* p1
) {
5272 short int var
/* : Bool */;
5273 short int var1
/* : Bool */;
5274 var1
= modelize_property__ASignature__visit_signature(self
, p0
, p1
);
5279 /* method modelize_property#AParam#mparameter= for (self: AParam, nullable MParameter) */
5280 void modelize_property__AParam__mparameter_61d(val
* self
, val
* p0
) {
5281 self
->attrs
[COLOR_modelize_property__AParam___mparameter
].val
= p0
; /* _mparameter on <self:AParam> */
5284 /* method modelize_property#AParam#mparameter= for (self: Object, nullable MParameter) */
5285 void VIRTUAL_modelize_property__AParam__mparameter_61d(val
* self
, val
* p0
) {
5286 { /* Inline modelize_property#AParam#mparameter= (self,p0) on <self:Object(AParam)> */
5287 self
->attrs
[COLOR_modelize_property__AParam___mparameter
].val
= p0
; /* _mparameter on <self:Object(AParam)> */
5292 /* method modelize_property#AMethPropdef#build_property for (self: AMethPropdef, ModelBuilder, MClassDef) */
5293 void modelize_property__AMethPropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
5294 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
5295 val
* var_mclassdef
/* var mclassdef: MClassDef */;
5296 val
* var
/* : nullable TKwinit */;
5297 val
* var_n_kwinit
/* var n_kwinit: nullable TKwinit */;
5298 val
* var1
/* : nullable TKwnew */;
5299 val
* var_n_kwnew
/* var n_kwnew: nullable TKwnew */;
5300 short int var2
/* : Bool */;
5301 val
* var3
/* : null */;
5302 short int var4
/* : Bool */;
5303 short int var5
/* : Bool */;
5304 val
* var_other
/* var other: nullable Object */;
5305 short int var7
/* : Bool */;
5306 short int var8
/* : Bool */;
5307 short int var9
/* : Bool */;
5308 short int var_
/* var : Bool */;
5309 val
* var10
/* : null */;
5310 short int var11
/* : Bool */;
5311 short int var12
/* : Bool */;
5312 short int var14
/* : Bool */;
5313 short int var15
/* : Bool */;
5314 short int var16
/* : Bool */;
5315 short int var_is_init
/* var is_init: Bool */;
5316 val
* var17
/* : nullable AMethid */;
5317 val
* var_amethodid
/* var amethodid: nullable AMethid */;
5318 val
* var18
/* : null */;
5319 short int var19
/* : Bool */;
5320 short int var20
/* : Bool */;
5321 val
* var_other22
/* var other: nullable Object */;
5322 short int var23
/* : Bool */;
5323 short int var25
/* : Bool */;
5324 short int var26
/* : Bool */;
5325 static val
* varonce
;
5326 val
* var27
/* : String */;
5327 char* var28
/* : NativeString */;
5328 long var29
/* : Int */;
5329 val
* var30
/* : FlatString */;
5330 val
* var_name
/* var name: String */;
5331 val
* var_name_node
/* var name_node: ANode */;
5332 val
* var31
/* : null */;
5333 short int var32
/* : Bool */;
5334 short int var33
/* : Bool */;
5335 short int var35
/* : Bool */;
5336 short int var36
/* : Bool */;
5337 short int var37
/* : Bool */;
5338 static val
* varonce38
;
5339 val
* var39
/* : String */;
5340 char* var40
/* : NativeString */;
5341 long var41
/* : Int */;
5342 val
* var42
/* : FlatString */;
5343 val
* var43
/* : null */;
5344 short int var44
/* : Bool */;
5345 short int var45
/* : Bool */;
5346 short int var47
/* : Bool */;
5347 short int var48
/* : Bool */;
5348 short int var49
/* : Bool */;
5349 static val
* varonce50
;
5350 val
* var51
/* : String */;
5351 char* var52
/* : NativeString */;
5352 long var53
/* : Int */;
5353 val
* var54
/* : FlatString */;
5354 short int var55
/* : Bool */;
5357 val
* var56
/* : TId */;
5358 val
* var57
/* : String */;
5359 val
* var58
/* : String */;
5360 short int var59
/* : Bool */;
5361 static val
* varonce60
;
5362 val
* var61
/* : String */;
5363 char* var62
/* : NativeString */;
5364 long var63
/* : Int */;
5365 val
* var64
/* : FlatString */;
5366 short int var65
/* : Bool */;
5367 short int var66
/* : Bool */;
5368 short int var_67
/* var : Bool */;
5369 val
* var68
/* : nullable ASignature */;
5370 val
* var69
/* : ANodes[AParam] */;
5371 val
* var71
/* : ANodes[AParam] */;
5372 long var72
/* : Int */;
5373 long var73
/* : Int */;
5374 short int var74
/* : Bool */;
5375 short int var75
/* : Bool */;
5376 short int var77
/* : Bool */;
5377 static val
* varonce78
;
5378 val
* var79
/* : String */;
5379 char* var80
/* : NativeString */;
5380 long var81
/* : Int */;
5381 val
* var82
/* : FlatString */;
5382 val
* var83
/* : null */;
5383 val
* var_mprop
/* var mprop: nullable MMethod */;
5384 short int var84
/* : Bool */;
5385 short int var85
/* : Bool */;
5386 short int var_86
/* var : Bool */;
5387 val
* var87
/* : nullable TKwredef */;
5388 val
* var88
/* : null */;
5389 short int var89
/* : Bool */;
5390 short int var90
/* : Bool */;
5391 short int var92
/* : Bool */;
5392 short int var93
/* : Bool */;
5393 short int var94
/* : Bool */;
5394 val
* var95
/* : nullable MProperty */;
5395 short int var96
/* : Bool */;
5398 const char* var_class_name
;
5399 val
* var99
/* : null */;
5400 short int var100
/* : Bool */;
5401 short int var101
/* : Bool */;
5402 short int var103
/* : Bool */;
5403 short int var105
/* : Bool */;
5404 val
* var106
/* : nullable AVisibility */;
5405 val
* var107
/* : MVisibility */;
5406 val
* var_mvisibility
/* var mvisibility: MVisibility */;
5407 val
* var108
/* : MMethod */;
5408 val
* var110
/* : null */;
5409 short int var111
/* : Bool */;
5410 short int var112
/* : Bool */;
5411 short int var114
/* : Bool */;
5412 short int var115
/* : Bool */;
5413 short int var116
/* : Bool */;
5414 val
* var118
/* : nullable ANode */;
5415 val
* var120
/* : nullable ANode */;
5416 short int var121
/* : Bool */;
5419 short int var124
/* : Bool */;
5420 val
* var126
/* : nullable TKwredef */;
5421 short int var127
/* : Bool */;
5422 short int var128
/* : Bool */;
5423 short int var129
/* : Bool */;
5424 val
* var130
/* : nullable TKwredef */;
5425 short int var131
/* : Bool */;
5428 short int var134
/* : Bool */;
5429 short int var135
/* : Bool */;
5430 short int var136
/* : Bool */;
5431 val
* var137
/* : nullable AVisibility */;
5432 val
* var138
/* : Map[MProperty, APropdef] */;
5433 val
* var140
/* : Map[MProperty, APropdef] */;
5434 val
* var141
/* : MMethodDef */;
5435 val
* var142
/* : Location */;
5436 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
5437 short int var143
/* : Bool */;
5440 const struct type
* type_struct
;
5441 const char* var_class_name146
;
5442 short int var148
/* : Bool */;
5445 const struct type
* type_struct151
;
5446 const char* var_class_name152
;
5447 val
* var153
/* : HashMap[MPropDef, APropdef] */;
5448 val
* var155
/* : HashMap[MPropDef, APropdef] */;
5449 short int var156
/* : Bool */;
5450 val
* var157
/* : ToolContext */;
5451 val
* var159
/* : ToolContext */;
5452 static val
* varonce160
;
5453 val
* var161
/* : String */;
5454 char* var162
/* : NativeString */;
5455 long var163
/* : Int */;
5456 val
* var164
/* : FlatString */;
5457 val
* var165
/* : String */;
5458 val
* var166
/* : Array[Object] */;
5459 long var167
/* : Int */;
5460 val
* var168
/* : NativeArray[Object] */;
5461 val
* var169
/* : String */;
5462 long var170
/* : Int */;
5463 val
* var171
/* : ToolContext */;
5464 val
* var173
/* : ToolContext */;
5465 static val
* varonce174
;
5466 val
* var175
/* : String */;
5467 char* var176
/* : NativeString */;
5468 long var177
/* : Int */;
5469 val
* var178
/* : FlatString */;
5470 val
* var179
/* : String */;
5471 val
* var180
/* : Array[Object] */;
5472 long var181
/* : Int */;
5473 val
* var182
/* : NativeArray[Object] */;
5474 val
* var183
/* : String */;
5475 long var184
/* : Int */;
5476 var_modelbuilder
= p0
;
5479 var
= parser_nodes__AMethPropdef__n_kwinit(self
);
5483 var1
= parser_nodes__AMethPropdef__n_kwnew(self
);
5487 if (var_n_kwinit
== NULL
) {
5488 var4
= 0; /* is null */
5490 var4
= 1; /* arg is null and recv is not */
5493 { /* Inline kernel#Object#!= (var_n_kwinit,var3) on <var_n_kwinit:nullable TKwinit> */
5496 var8
= ((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)>*/;
5511 if (var_n_kwnew
== NULL
) {
5512 var11
= 0; /* is null */
5514 var11
= 1; /* arg is null and recv is not */
5517 { /* Inline kernel#Object#!= (var_n_kwnew,var10) on <var_n_kwnew:nullable TKwnew> */
5520 var15
= ((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)>*/;
5526 RET_LABEL13
:(void)0;
5534 var17
= parser_nodes__AMethPropdef__n_methid(self
);
5536 var_amethodid
= var17
;
5538 if (var_amethodid
== NULL
) {
5539 var19
= 1; /* is null */
5541 var19
= 0; /* arg is null but recv is not */
5544 { /* Inline kernel#Object#== (var_amethodid,var18) on <var_amethodid:nullable AMethid> */
5545 var_other22
= var18
;
5547 { /* Inline kernel#Object#is_same_instance (var_amethodid,var_other22) on <var_amethodid:nullable AMethid(AMethid)> */
5548 var25
= var_amethodid
== var_other22
;
5551 RET_LABEL24
:(void)0;
5556 RET_LABEL21
:(void)0;
5561 var26
= !var_is_init
;
5568 var30
= string__NativeString__to_s_with_length(var28
, var29
);
5573 var_name_node
= self
;
5576 if (var_n_kwinit
== NULL
) {
5577 var32
= 0; /* is null */
5579 var32
= 1; /* arg is null and recv is not */
5582 { /* Inline kernel#Object#!= (var_n_kwinit,var31) on <var_n_kwinit:nullable TKwinit> */
5585 var36
= ((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)>*/;
5591 RET_LABEL34
:(void)0;
5601 var42
= string__NativeString__to_s_with_length(var40
, var41
);
5606 var_name_node
= var_n_kwinit
;
5609 if (var_n_kwnew
== NULL
) {
5610 var44
= 0; /* is null */
5612 var44
= 1; /* arg is null and recv is not */
5615 { /* Inline kernel#Object#!= (var_n_kwnew,var43) on <var_n_kwnew:nullable TKwnew> */
5618 var48
= ((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)>*/;
5624 RET_LABEL46
:(void)0;
5634 var54
= string__NativeString__to_s_with_length(var52
, var53
);
5639 var_name_node
= var_n_kwnew
;
5641 PRINT_ERROR("Runtime error: %s", "Aborted");
5642 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 461);
5648 /* <var_amethodid:nullable AMethid(AMethid)> isa AIdMethid */
5649 cltype
= type_parser_nodes__AIdMethid
.color
;
5650 idtype
= type_parser_nodes__AIdMethid
.id
;
5651 if(cltype
>= var_amethodid
->type
->table_size
) {
5654 var55
= var_amethodid
->type
->type_table
[cltype
] == idtype
;
5658 var56
= parser_nodes__AIdMethid__n_id(var_amethodid
);
5661 var57
= lexer_work__Token__text(var56
);
5664 var_name_node
= var_amethodid
;
5667 var58
= modelize_property__Prod__collect_text(var_amethodid
);
5670 var_name_node
= var_amethodid
;
5676 var64
= string__NativeString__to_s_with_length(var62
, var63
);
5681 var66
= string__FlatString___61d_61d(var_name
, var61
);
5687 var68
= parser_nodes__AMethPropdef__n_signature(self
);
5689 if (var68
== NULL
) {
5690 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5691 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 471);
5694 { /* Inline parser_nodes#ASignature#n_params (var68) on <var68:nullable ASignature> */
5695 if (unlikely(var68
== NULL
)) {
5696 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5697 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1360);
5700 var71
= var68
->attrs
[COLOR_parser_nodes__ASignature___n_params
].val
; /* _n_params on <var68:nullable ASignature> */
5701 if (unlikely(var71
== NULL
)) {
5702 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
5703 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1360);
5707 RET_LABEL70
:(void)0;
5711 var72
= parser_nodes__ANodes__length(var69
);
5715 { /* Inline kernel#Int#== (var72,var73) on <var72:Int> */
5716 var77
= var72
== var73
;
5719 RET_LABEL76
:(void)0;
5733 var82
= string__NativeString__to_s_with_length(var80
, var81
);
5744 var85
= !var_is_init
;
5750 var87
= parser_nodes__APropdef__n_kwredef(self
);
5753 if (var87
== NULL
) {
5754 var89
= 0; /* is null */
5756 var89
= 1; /* arg is null and recv is not */
5759 { /* Inline kernel#Object#!= (var87,var88) on <var87:nullable TKwredef> */
5762 var93
= ((short int (*)(val
*, val
*))(var87
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var87
, var_other
) /* == on <var87:nullable TKwredef(TKwredef)>*/;
5768 RET_LABEL91
:(void)0;
5776 var95
= modelbuilder__ModelBuilder__try_get_mproperty_by_name(var_modelbuilder
, var_name_node
, var_mclassdef
, var_name
);
5778 /* <var95:nullable MProperty> isa nullable MMethod */
5779 cltype97
= type_nullable_model__MMethod
.color
;
5780 idtype98
= type_nullable_model__MMethod
.id
;
5784 if(cltype97
>= var95
->type
->table_size
) {
5787 var96
= var95
->type
->type_table
[cltype97
] == idtype98
;
5790 if (unlikely(!var96
)) {
5791 var_class_name
= var95
== NULL ?
"null" : var95
->type
->name
;
5792 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name
);
5793 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 477);
5800 if (var_mprop
== NULL
) {
5801 var100
= 1; /* is null */
5803 var100
= 0; /* arg is null but recv is not */
5806 { /* Inline kernel#Object#== (var_mprop,var99) on <var_mprop:nullable MMethod> */
5807 var_other22
= var99
;
5809 { /* Inline kernel#Object#is_same_instance (var_mprop,var_other22) on <var_mprop:nullable MMethod(MMethod)> */
5810 var105
= var_mprop
== var_other22
;
5813 RET_LABEL104
:(void)0;
5818 RET_LABEL102
:(void)0;
5824 var106
= parser_nodes__APropdef__n_visibility(self
);
5827 var107
= modelize_property__APropdef__new_property_visibility(self
, var_modelbuilder
, var_mclassdef
, var106
);
5829 var_mvisibility
= var107
;
5830 var108
= NEW_model__MMethod(&type_model__MMethod
);
5832 model__MMethod__init(var108
, var_mclassdef
, var_name
, var_mvisibility
); /* Direct call model#MMethod#init on <var108:MMethod>*/
5836 { /* Inline model#MMethod#is_init= (var_mprop,var_is_init) on <var_mprop:nullable MMethod(MMethod)> */
5837 var_mprop
->attrs
[COLOR_model__MMethod___is_init
].s
= var_is_init
; /* _is_init on <var_mprop:nullable MMethod(MMethod)> */
5838 RET_LABEL109
:(void)0;
5842 if (var_n_kwnew
== NULL
) {
5843 var111
= 0; /* is null */
5845 var111
= 1; /* arg is null and recv is not */
5848 { /* Inline kernel#Object#!= (var_n_kwnew,var110) on <var_n_kwnew:nullable TKwnew> */
5851 var115
= ((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)>*/;
5857 RET_LABEL113
:(void)0;
5862 { /* Inline model#MMethod#is_new= (var_mprop,var111) on <var_mprop:nullable MMethod(MMethod)> */
5863 var_mprop
->attrs
[COLOR_model__MMethod___is_new
].s
= var111
; /* _is_new on <var_mprop:nullable MMethod(MMethod)> */
5864 RET_LABEL117
:(void)0;
5868 { /* Inline parser_nodes#ANode#parent (self) on <self:AMethPropdef> */
5869 var120
= self
->attrs
[COLOR_parser_nodes__ANode___parent
].val
; /* _parent on <self:AMethPropdef> */
5871 RET_LABEL119
:(void)0;
5874 /* <var118:nullable ANode> isa ATopClassdef */
5875 cltype122
= type_parser_nodes__ATopClassdef
.color
;
5876 idtype123
= type_parser_nodes__ATopClassdef
.id
;
5877 if(var118
== NULL
) {
5880 if(cltype122
>= var118
->type
->table_size
) {
5883 var121
= var118
->type
->type_table
[cltype122
] == idtype123
;
5889 { /* Inline model#MMethod#is_toplevel= (var_mprop,var124) on <var_mprop:nullable MMethod(MMethod)> */
5890 var_mprop
->attrs
[COLOR_model__MMethod___is_toplevel
].s
= var124
; /* _is_toplevel on <var_mprop:nullable MMethod(MMethod)> */
5891 RET_LABEL125
:(void)0;
5897 var126
= parser_nodes__APropdef__n_kwredef(self
);
5901 var128
= modelize_property__APropdef__check_redef_keyword(self
, var_modelbuilder
, var_mclassdef
, var126
, var127
, var_mprop
);
5910 var130
= parser_nodes__APropdef__n_kwredef(self
);
5912 /* <self:AMethPropdef> isa AMainMethPropdef */
5913 cltype132
= type_parser_nodes__AMainMethPropdef
.color
;
5914 idtype133
= type_parser_nodes__AMainMethPropdef
.id
;
5915 if(cltype132
>= self
->type
->table_size
) {
5918 var131
= self
->type
->type_table
[cltype132
] == idtype133
;
5922 var135
= modelize_property__APropdef__check_redef_keyword(self
, var_modelbuilder
, var_mclassdef
, var130
, var134
, var_mprop
);
5930 var137
= parser_nodes__APropdef__n_visibility(self
);
5933 modelize_property__APropdef__check_redef_property_visibility(self
, var_modelbuilder
, var137
, var_mprop
); /* Direct call modelize_property#APropdef#check_redef_property_visibility on <self:AMethPropdef>*/
5937 { /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on <var_mclassdef:MClassDef> */
5938 var140
= var_mclassdef
->attrs
[COLOR_modelize_property__MClassDef___mprop2npropdef
].val
; /* _mprop2npropdef on <var_mclassdef:MClassDef> */
5939 if (unlikely(var140
== NULL
)) {
5940 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
5941 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 252);
5945 RET_LABEL139
:(void)0;
5949 ((void (*)(val
*, val
*, val
*))(var138
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var138
, var_mprop
, self
) /* []= on <var138:Map[MProperty, APropdef]>*/;
5951 var141
= NEW_model__MMethodDef(&type_model__MMethodDef
);
5953 var142
= parser_nodes__ANode__location(self
);
5956 model__MMethodDef__init(var141
, var_mclassdef
, var_mprop
, var142
); /* Direct call model#MMethodDef#init on <var141:MMethodDef>*/
5958 var_mpropdef
= var141
;
5960 modelize_property__APropdef__set_doc(self
, var_mpropdef
); /* Direct call modelize_property#APropdef#set_doc on <self:AMethPropdef>*/
5962 /* <var_mpropdef:MMethodDef> isa nullable MPROPDEF */
5963 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable_parser_nodes__APropdef_VTMPROPDEF
];
5964 cltype144
= type_struct
->color
;
5965 idtype145
= type_struct
->id
;
5966 if(cltype144
>= var_mpropdef
->type
->table_size
) {
5969 var143
= var_mpropdef
->type
->type_table
[cltype144
] == idtype145
;
5971 if (unlikely(!var143
)) {
5972 var_class_name146
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
5973 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name146
);
5974 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 495);
5978 { /* Inline modelize_property#APropdef#mpropdef= (self,var_mpropdef) on <self:AMethPropdef> */
5979 /* Covariant cast for argument 0 (mpropdef) <var_mpropdef:MMethodDef> isa nullable MPROPDEF */
5980 /* <var_mpropdef:MMethodDef> isa nullable MPROPDEF */
5981 type_struct151
= self
->type
->resolution_table
->types
[COLOR_nullable_parser_nodes__APropdef_VTMPROPDEF
];
5982 cltype149
= type_struct151
->color
;
5983 idtype150
= type_struct151
->id
;
5984 if(cltype149
>= var_mpropdef
->type
->table_size
) {
5987 var148
= var_mpropdef
->type
->type_table
[cltype149
] == idtype150
;
5989 if (unlikely(!var148
)) {
5990 var_class_name152
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
5991 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name152
);
5992 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 283);
5995 self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
= var_mpropdef
; /* _mpropdef on <self:AMethPropdef> */
5996 RET_LABEL147
:(void)0;
6000 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
6001 var155
= var_modelbuilder
->attrs
[COLOR_modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
6002 if (unlikely(var155
== NULL
)) {
6003 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
6004 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 39);
6008 RET_LABEL154
:(void)0;
6012 hash_collection__HashMap___91d_93d_61d(var153
, var_mpropdef
, self
); /* Direct call hash_collection#HashMap#[]= on <var153:HashMap[MPropDef, APropdef]>*/
6015 var156
= model__MPropDef__is_intro(var_mpropdef
);
6019 { /* Inline modelbuilder#ModelBuilder#toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
6020 var159
= var_modelbuilder
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
6021 if (unlikely(var159
== NULL
)) {
6022 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6023 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
6027 RET_LABEL158
:(void)0;
6031 var161
= varonce160
;
6033 var162
= " introduces new method ";
6035 var164
= string__NativeString__to_s_with_length(var162
, var163
);
6037 varonce160
= var161
;
6040 var165
= model__MProperty__full_name(var_mprop
);
6042 var166
= NEW_array__Array(&type_array__Arraykernel__Object
);
6043 { /* var166 = array_instance Array[Object] */
6045 var168
= NEW_array__NativeArray(var167
, &type_array__NativeArraykernel__Object
);
6046 ((struct instance_array__NativeArray
*)var168
)->values
[0] = (val
*) var_mpropdef
;
6047 ((struct instance_array__NativeArray
*)var168
)->values
[1] = (val
*) var161
;
6048 ((struct instance_array__NativeArray
*)var168
)->values
[2] = (val
*) var165
;
6050 ((void (*)(val
*, val
*, long))(var166
->class->vft
[COLOR_array__Array__with_native
]))(var166
, var168
, var167
) /* with_native on <var166:Array[Object]>*/;
6054 var169
= ((val
* (*)(val
*))(var166
->class->vft
[COLOR_string__Object__to_s
]))(var166
) /* to_s on <var166:Array[Object]>*/;
6058 toolcontext__ToolContext__info(var157
, var169
, var170
); /* Direct call toolcontext#ToolContext#info on <var157:ToolContext>*/
6062 { /* Inline modelbuilder#ModelBuilder#toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
6063 var173
= var_modelbuilder
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
6064 if (unlikely(var173
== NULL
)) {
6065 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6066 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
6070 RET_LABEL172
:(void)0;
6074 var175
= varonce174
;
6076 var176
= " redefines method ";
6078 var178
= string__NativeString__to_s_with_length(var176
, var177
);
6080 varonce174
= var175
;
6083 var179
= model__MProperty__full_name(var_mprop
);
6085 var180
= NEW_array__Array(&type_array__Arraykernel__Object
);
6086 { /* var180 = array_instance Array[Object] */
6088 var182
= NEW_array__NativeArray(var181
, &type_array__NativeArraykernel__Object
);
6089 ((struct instance_array__NativeArray
*)var182
)->values
[0] = (val
*) var_mpropdef
;
6090 ((struct instance_array__NativeArray
*)var182
)->values
[1] = (val
*) var175
;
6091 ((struct instance_array__NativeArray
*)var182
)->values
[2] = (val
*) var179
;
6093 ((void (*)(val
*, val
*, long))(var180
->class->vft
[COLOR_array__Array__with_native
]))(var180
, var182
, var181
) /* with_native on <var180:Array[Object]>*/;
6097 var183
= ((val
* (*)(val
*))(var180
->class->vft
[COLOR_string__Object__to_s
]))(var180
) /* to_s on <var180:Array[Object]>*/;
6101 toolcontext__ToolContext__info(var171
, var183
, var184
); /* Direct call toolcontext#ToolContext#info on <var171:ToolContext>*/
6106 /* method modelize_property#AMethPropdef#build_property for (self: Object, ModelBuilder, MClassDef) */
6107 void VIRTUAL_modelize_property__AMethPropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
6108 modelize_property__AMethPropdef__build_property(self
, p0
, p1
); /* Direct call modelize_property#AMethPropdef#build_property on <self:Object(AMethPropdef)>*/
6111 /* method modelize_property#AMethPropdef#build_signature for (self: AMethPropdef, ModelBuilder) */
6112 void modelize_property__AMethPropdef__build_signature(val
* self
, val
* p0
) {
6113 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
6114 val
* var
/* : nullable MPropDef */;
6115 val
* var2
/* : nullable MPropDef */;
6116 val
* var_mpropdef
/* var mpropdef: nullable MMethodDef */;
6117 val
* var3
/* : null */;
6118 short int var4
/* : Bool */;
6119 short int var5
/* : Bool */;
6120 val
* var_other
/* var other: nullable Object */;
6121 short int var7
/* : Bool */;
6122 short int var9
/* : Bool */;
6123 val
* var10
/* : MClassDef */;
6124 val
* var12
/* : MClassDef */;
6125 val
* var_mclassdef
/* var mclassdef: MClassDef */;
6126 val
* var13
/* : MModule */;
6127 val
* var15
/* : MModule */;
6128 val
* var_mmodule
/* var mmodule: MModule */;
6129 val
* var16
/* : nullable ASignature */;
6130 val
* var_nsig
/* var nsig: nullable ASignature */;
6131 val
* var17
/* : Array[String] */;
6132 val
* var_param_names
/* var param_names: Array[String] */;
6133 val
* var18
/* : Array[MType] */;
6134 val
* var_param_types
/* var param_types: Array[MType] */;
6135 long var19
/* : Int */;
6136 long var20
/* : Int */;
6137 long var22
/* : Int */;
6138 long var_vararg_rank
/* var vararg_rank: Int */;
6139 val
* var23
/* : null */;
6140 val
* var_ret_type
/* var ret_type: nullable MType */;
6141 val
* var24
/* : null */;
6142 short int var25
/* : Bool */;
6143 short int var26
/* : Bool */;
6144 val
* var_other28
/* var other: nullable Object */;
6145 short int var29
/* : Bool */;
6146 short int var30
/* : Bool */;
6147 short int var31
/* : Bool */;
6148 short int var32
/* : Bool */;
6149 short int var33
/* : Bool */;
6150 val
* var34
/* : Array[String] */;
6151 val
* var36
/* : Array[String] */;
6152 val
* var37
/* : Array[MType] */;
6153 val
* var39
/* : Array[MType] */;
6154 long var40
/* : Int */;
6155 long var42
/* : Int */;
6156 val
* var43
/* : nullable MType */;
6157 val
* var45
/* : nullable MType */;
6158 val
* var46
/* : null */;
6159 val
* var_msignature
/* var msignature: nullable MSignature */;
6160 short int var47
/* : Bool */;
6161 short int var48
/* : Bool */;
6162 val
* var49
/* : MProperty */;
6163 val
* var51
/* : MProperty */;
6164 val
* var52
/* : MPropDef */;
6165 val
* var53
/* : nullable MSignature */;
6166 val
* var55
/* : nullable MSignature */;
6167 val
* var56
/* : null */;
6168 short int var57
/* : Bool */;
6169 short int var58
/* : Bool */;
6170 short int var60
/* : Bool */;
6171 short int var62
/* : Bool */;
6172 long var63
/* : Int */;
6173 long var64
/* : Int */;
6174 short int var65
/* : Bool */;
6175 short int var66
/* : Bool */;
6176 short int var68
/* : Bool */;
6177 short int var69
/* : Bool */;
6178 val
* var70
/* : null */;
6179 short int var71
/* : Bool */;
6180 short int var72
/* : Bool */;
6181 short int var74
/* : Bool */;
6182 short int var75
/* : Bool */;
6183 short int var76
/* : Bool */;
6184 val
* var_node
/* var node: ANode */;
6185 static val
* varonce
;
6186 val
* var77
/* : String */;
6187 char* var78
/* : NativeString */;
6188 long var79
/* : Int */;
6189 val
* var80
/* : FlatString */;
6190 static val
* varonce81
;
6191 val
* var82
/* : String */;
6192 char* var83
/* : NativeString */;
6193 long var84
/* : Int */;
6194 val
* var85
/* : FlatString */;
6195 val
* var86
/* : MProperty */;
6196 val
* var88
/* : MProperty */;
6197 val
* var89
/* : MPropDef */;
6198 static val
* varonce90
;
6199 val
* var91
/* : String */;
6200 char* var92
/* : NativeString */;
6201 long var93
/* : Int */;
6202 val
* var94
/* : FlatString */;
6203 long var95
/* : Int */;
6204 static val
* varonce96
;
6205 val
* var97
/* : String */;
6206 char* var98
/* : NativeString */;
6207 long var99
/* : Int */;
6208 val
* var100
/* : FlatString */;
6209 long var101
/* : Int */;
6210 static val
* varonce102
;
6211 val
* var103
/* : String */;
6212 char* var104
/* : NativeString */;
6213 long var105
/* : Int */;
6214 val
* var106
/* : FlatString */;
6215 val
* var107
/* : Array[Object] */;
6216 long var108
/* : Int */;
6217 val
* var109
/* : NativeArray[Object] */;
6218 val
* var110
/* : Object */;
6219 val
* var111
/* : Object */;
6220 val
* var112
/* : String */;
6221 val
* var113
/* : MProperty */;
6222 val
* var115
/* : MProperty */;
6223 short int var116
/* : Bool */;
6224 short int var118
/* : Bool */;
6225 val
* var119
/* : Array[MClassType] */;
6226 val
* var121
/* : Array[MClassType] */;
6227 val
* var122
/* : ArrayIterator[nullable Object] */;
6228 short int var123
/* : Bool */;
6229 val
* var124
/* : nullable Object */;
6230 val
* var_msupertype
/* var msupertype: MClassType */;
6231 val
* var125
/* : MClassType */;
6232 val
* var127
/* : MClassType */;
6233 val
* var128
/* : MClassType */;
6234 val
* var129
/* : MProperty */;
6235 val
* var131
/* : MProperty */;
6236 val
* var132
/* : String */;
6237 val
* var134
/* : String */;
6238 val
* var135
/* : nullable MProperty */;
6239 val
* var_candidate
/* var candidate: nullable MProperty */;
6240 val
* var136
/* : null */;
6241 short int var137
/* : Bool */;
6242 short int var138
/* : Bool */;
6243 short int var140
/* : Bool */;
6244 short int var141
/* : Bool */;
6245 short int var142
/* : Bool */;
6246 val
* var143
/* : null */;
6247 short int var144
/* : Bool */;
6248 short int var145
/* : Bool */;
6249 short int var147
/* : Bool */;
6250 short int var149
/* : Bool */;
6251 val
* var150
/* : MPropDef */;
6252 short int var151
/* : Bool */;
6255 const char* var_class_name
;
6256 val
* var152
/* : nullable MSignature */;
6257 val
* var154
/* : nullable MSignature */;
6258 short int var155
/* : Bool */;
6259 short int var156
/* : Bool */;
6260 short int var157
/* : Bool */;
6261 val
* var158
/* : null */;
6262 short int var159
/* : Bool */;
6263 short int var160
/* : Bool */;
6264 short int var162
/* : Bool */;
6265 short int var163
/* : Bool */;
6266 short int var164
/* : Bool */;
6267 short int var_
/* var : Bool */;
6268 long var165
/* : Int */;
6269 long var166
/* : Int */;
6270 short int var167
/* : Bool */;
6271 short int var168
/* : Bool */;
6272 short int var170
/* : Bool */;
6273 short int var171
/* : Bool */;
6274 short int var_172
/* var : Bool */;
6275 long var173
/* : Int */;
6276 long var174
/* : Int */;
6277 short int var175
/* : Bool */;
6278 short int var176
/* : Bool */;
6279 short int var178
/* : Bool */;
6280 short int var_179
/* var : Bool */;
6281 long var180
/* : Int */;
6282 long var181
/* : Int */;
6283 short int var182
/* : Bool */;
6284 short int var183
/* : Bool */;
6285 short int var185
/* : Bool */;
6286 val
* var186
/* : Array[MType] */;
6287 val
* var187
/* : Array[MParameter] */;
6288 val
* var189
/* : Array[MParameter] */;
6289 val
* var190
/* : ArrayIterator[nullable Object] */;
6290 short int var191
/* : Bool */;
6291 val
* var192
/* : nullable Object */;
6292 val
* var_mparameter
/* var mparameter: MParameter */;
6293 val
* var193
/* : MType */;
6294 val
* var195
/* : MType */;
6295 long var197
/* : Int */;
6296 long var199
/* : Int */;
6297 short int var200
/* : Bool */;
6298 val
* var201
/* : null */;
6299 short int var202
/* : Bool */;
6300 short int var203
/* : Bool */;
6301 short int var205
/* : Bool */;
6302 short int var206
/* : Bool */;
6303 short int var207
/* : Bool */;
6304 short int var_208
/* var : Bool */;
6305 val
* var209
/* : null */;
6306 short int var210
/* : Bool */;
6307 short int var211
/* : Bool */;
6308 short int var213
/* : Bool */;
6309 short int var215
/* : Bool */;
6310 val
* var216
/* : nullable MType */;
6311 val
* var218
/* : nullable MType */;
6312 long var219
/* : Int */;
6313 long var220
/* : Int */;
6314 short int var221
/* : Bool */;
6315 short int var222
/* : Bool */;
6316 short int var224
/* : Bool */;
6317 short int var225
/* : Bool */;
6318 val
* var226
/* : ANodes[AParam] */;
6319 val
* var228
/* : ANodes[AParam] */;
6320 long var229
/* : Int */;
6321 val
* var230
/* : ANode */;
6322 static val
* varonce231
;
6323 val
* var232
/* : String */;
6324 char* var233
/* : NativeString */;
6325 long var234
/* : Int */;
6326 val
* var235
/* : FlatString */;
6327 long var236
/* : Int */;
6328 val
* var237
/* : nullable Object */;
6329 static val
* varonce238
;
6330 val
* var239
/* : String */;
6331 char* var240
/* : NativeString */;
6332 long var241
/* : Int */;
6333 val
* var242
/* : FlatString */;
6334 val
* var243
/* : Array[Object] */;
6335 long var244
/* : Int */;
6336 val
* var245
/* : NativeArray[Object] */;
6337 val
* var246
/* : String */;
6338 val
* var247
/* : Array[MParameter] */;
6339 val
* var_mparameters
/* var mparameters: Array[MParameter] */;
6340 val
* var248
/* : Range[Int] */;
6341 long var249
/* : Int */;
6342 long var250
/* : Int */;
6343 val
* var251
/* : Discrete */;
6344 val
* var252
/* : Discrete */;
6345 val
* var253
/* : Iterator[Discrete] */;
6346 short int var254
/* : Bool */;
6347 val
* var255
/* : nullable Object */;
6348 long var_i
/* var i: Int */;
6349 long var256
/* : Int */;
6350 val
* var257
/* : MParameter */;
6351 val
* var258
/* : nullable Object */;
6352 val
* var259
/* : nullable Object */;
6353 short int var260
/* : Bool */;
6354 short int var261
/* : Bool */;
6355 short int var263
/* : Bool */;
6356 val
* var_mparameter264
/* var mparameter: MParameter */;
6357 val
* var265
/* : null */;
6358 short int var266
/* : Bool */;
6359 short int var267
/* : Bool */;
6360 short int var269
/* : Bool */;
6361 short int var270
/* : Bool */;
6362 short int var271
/* : Bool */;
6363 val
* var272
/* : ANodes[AParam] */;
6364 val
* var274
/* : ANodes[AParam] */;
6365 val
* var275
/* : ANode */;
6366 val
* var278
/* : MSignature */;
6367 short int var280
/* : Bool */;
6370 short int var284
/* : Bool */;
6373 short int var288
/* : Bool */;
6376 var_modelbuilder
= p0
;
6378 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
6379 var2
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
6386 if (var_mpropdef
== NULL
) {
6387 var4
= 1; /* is null */
6389 var4
= 0; /* arg is null but recv is not */
6392 { /* Inline kernel#Object#== (var_mpropdef,var3) on <var_mpropdef:nullable MMethodDef> */
6395 { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
6396 var9
= var_mpropdef
== var_other
;
6413 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
6414 var12
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
6415 if (unlikely(var12
== NULL
)) {
6416 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
6417 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
6421 RET_LABEL11
:(void)0;
6424 var_mclassdef
= var10
;
6426 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
6427 var15
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
6428 if (unlikely(var15
== NULL
)) {
6429 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
6430 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
6434 RET_LABEL14
:(void)0;
6437 var_mmodule
= var13
;
6439 var16
= parser_nodes__AMethPropdef__n_signature(self
);
6442 var17
= NEW_array__Array(&type_array__Arraystring__String
);
6444 array__Array__init(var17
); /* Direct call array#Array#init on <var17:Array[String]>*/
6446 var_param_names
= var17
;
6447 var18
= NEW_array__Array(&type_array__Arraymodel__MType
);
6449 array__Array__init(var18
); /* Direct call array#Array#init on <var18:Array[MType]>*/
6451 var_param_types
= var18
;
6454 { /* Inline kernel#Int#unary - (var19) on <var19:Int> */
6458 RET_LABEL21
:(void)0;
6461 var_vararg_rank
= var20
;
6463 var_ret_type
= var23
;
6465 if (var_nsig
== NULL
) {
6466 var25
= 0; /* is null */
6468 var25
= 1; /* arg is null and recv is not */
6471 { /* Inline kernel#Object#!= (var_nsig,var24) on <var_nsig:nullable ASignature> */
6472 var_other28
= var24
;
6474 var30
= ((short int (*)(val
*, val
*))(var_nsig
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nsig
, var_other28
) /* == on <var_nsig:nullable ASignature(ASignature)>*/;
6480 RET_LABEL27
:(void)0;
6486 var32
= modelize_property__ASignature__visit_signature(var_nsig
, var_modelbuilder
, var_mclassdef
);
6494 { /* Inline modelize_property#ASignature#param_names (var_nsig) on <var_nsig:nullable ASignature(ASignature)> */
6495 var36
= var_nsig
->attrs
[COLOR_modelize_property__ASignature___param_names
].val
; /* _param_names on <var_nsig:nullable ASignature(ASignature)> */
6496 if (unlikely(var36
== NULL
)) {
6497 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_names");
6498 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 366);
6502 RET_LABEL35
:(void)0;
6505 var_param_names
= var34
;
6507 { /* Inline modelize_property#ASignature#param_types (var_nsig) on <var_nsig:nullable ASignature(ASignature)> */
6508 var39
= var_nsig
->attrs
[COLOR_modelize_property__ASignature___param_types
].val
; /* _param_types on <var_nsig:nullable ASignature(ASignature)> */
6509 if (unlikely(var39
== NULL
)) {
6510 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_types");
6511 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 369);
6515 RET_LABEL38
:(void)0;
6518 var_param_types
= var37
;
6520 { /* Inline modelize_property#ASignature#vararg_rank (var_nsig) on <var_nsig:nullable ASignature(ASignature)> */
6521 var42
= var_nsig
->attrs
[COLOR_modelize_property__ASignature___vararg_rank
].l
; /* _vararg_rank on <var_nsig:nullable ASignature(ASignature)> */
6523 RET_LABEL41
:(void)0;
6526 var_vararg_rank
= var40
;
6528 { /* Inline modelize_property#ASignature#ret_type (var_nsig) on <var_nsig:nullable ASignature(ASignature)> */
6529 var45
= var_nsig
->attrs
[COLOR_modelize_property__ASignature___ret_type
].val
; /* _ret_type on <var_nsig:nullable ASignature(ASignature)> */
6531 RET_LABEL44
:(void)0;
6534 var_ret_type
= var43
;
6538 var_msignature
= var46
;
6540 var47
= model__MPropDef__is_intro(var_mpropdef
);
6545 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
6546 var51
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
6547 if (unlikely(var51
== NULL
)) {
6548 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6549 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
6553 RET_LABEL50
:(void)0;
6557 var52
= model__MProperty__intro(var49
);
6560 { /* Inline model#MMethodDef#msignature (var52) on <var52:MPropDef(MMethodDef)> */
6561 var55
= var52
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var52:MPropDef(MMethodDef)> */
6563 RET_LABEL54
:(void)0;
6566 var_msignature
= var53
;
6568 if (var_msignature
== NULL
) {
6569 var57
= 1; /* is null */
6571 var57
= 0; /* arg is null but recv is not */
6574 { /* Inline kernel#Object#== (var_msignature,var56) on <var_msignature:nullable MSignature> */
6577 { /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on <var_msignature:nullable MSignature(MSignature)> */
6578 var62
= var_msignature
== var_other
;
6581 RET_LABEL61
:(void)0;
6586 RET_LABEL59
:(void)0;
6595 var63
= array__AbstractArrayRead__length(var_param_names
);
6598 var64
= model__MSignature__arity(var_msignature
);
6601 { /* Inline kernel#Int#!= (var63,var64) on <var63:Int> */
6602 var68
= var63
== var64
;
6606 RET_LABEL67
:(void)0;
6612 if (var_nsig
== NULL
) {
6613 var71
= 0; /* is null */
6615 var71
= 1; /* arg is null and recv is not */
6618 { /* Inline kernel#Object#!= (var_nsig,var70) on <var_nsig:nullable ASignature> */
6619 var_other28
= var70
;
6621 var75
= ((short int (*)(val
*, val
*))(var_nsig
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nsig
, var_other28
) /* == on <var_nsig:nullable ASignature(ASignature)>*/;
6627 RET_LABEL73
:(void)0;
6632 var_node
= var_nsig
;
6639 var78
= "Redef error: ";
6641 var80
= string__NativeString__to_s_with_length(var78
, var79
);
6648 var83
= " redefines ";
6650 var85
= string__NativeString__to_s_with_length(var83
, var84
);
6655 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
6656 var88
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
6657 if (unlikely(var88
== NULL
)) {
6658 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6659 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
6663 RET_LABEL87
:(void)0;
6667 var89
= model__MProperty__intro(var86
);
6674 var94
= string__NativeString__to_s_with_length(var92
, var93
);
6679 var95
= array__AbstractArrayRead__length(var_param_names
);
6684 var98
= " parameter(s), ";
6686 var100
= string__NativeString__to_s_with_length(var98
, var99
);
6691 var101
= model__MSignature__arity(var_msignature
);
6694 var103
= varonce102
;
6696 var104
= " expected. Signature is ";
6698 var106
= string__NativeString__to_s_with_length(var104
, var105
);
6700 varonce102
= var103
;
6702 var107
= NEW_array__Array(&type_array__Arraykernel__Object
);
6703 { /* var107 = array_instance Array[Object] */
6705 var109
= NEW_array__NativeArray(var108
, &type_array__NativeArraykernel__Object
);
6706 ((struct instance_array__NativeArray
*)var109
)->values
[0] = (val
*) var77
;
6707 ((struct instance_array__NativeArray
*)var109
)->values
[1] = (val
*) var_mpropdef
;
6708 ((struct instance_array__NativeArray
*)var109
)->values
[2] = (val
*) var82
;
6709 ((struct instance_array__NativeArray
*)var109
)->values
[3] = (val
*) var89
;
6710 ((struct instance_array__NativeArray
*)var109
)->values
[4] = (val
*) var91
;
6711 var110
= BOX_kernel__Int(var95
); /* autobox from Int to Object */
6712 ((struct instance_array__NativeArray
*)var109
)->values
[5] = (val
*) var110
;
6713 ((struct instance_array__NativeArray
*)var109
)->values
[6] = (val
*) var97
;
6714 var111
= BOX_kernel__Int(var101
); /* autobox from Int to Object */
6715 ((struct instance_array__NativeArray
*)var109
)->values
[7] = (val
*) var111
;
6716 ((struct instance_array__NativeArray
*)var109
)->values
[8] = (val
*) var103
;
6717 ((struct instance_array__NativeArray
*)var109
)->values
[9] = (val
*) var_mpropdef
;
6718 ((struct instance_array__NativeArray
*)var109
)->values
[10] = (val
*) var_msignature
;
6720 ((void (*)(val
*, val
*, long))(var107
->class->vft
[COLOR_array__Array__with_native
]))(var107
, var109
, var108
) /* with_native on <var107:Array[Object]>*/;
6724 var112
= ((val
* (*)(val
*))(var107
->class->vft
[COLOR_string__Object__to_s
]))(var107
) /* to_s on <var107:Array[Object]>*/;
6727 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_node
, var112
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
6734 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
6735 var115
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
6736 if (unlikely(var115
== NULL
)) {
6737 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6738 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
6742 RET_LABEL114
:(void)0;
6746 { /* Inline model#MMethod#is_init (var113) on <var113:MProperty(MMethod)> */
6747 var118
= var113
->attrs
[COLOR_model__MMethod___is_init
].s
; /* _is_init on <var113:MProperty(MMethod)> */
6749 RET_LABEL117
:(void)0;
6754 { /* Inline model#MClassDef#supertypes (var_mclassdef) on <var_mclassdef:MClassDef> */
6755 var121
= var_mclassdef
->attrs
[COLOR_model__MClassDef___supertypes
].val
; /* _supertypes on <var_mclassdef:MClassDef> */
6756 if (unlikely(var121
== NULL
)) {
6757 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
6758 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 517);
6762 RET_LABEL120
:(void)0;
6766 var122
= array__AbstractArrayRead__iterator(var119
);
6770 var123
= array__ArrayIterator__is_ok(var122
);
6774 var124
= array__ArrayIterator__item(var122
);
6776 var_msupertype
= var124
;
6778 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
6779 var127
= var_mclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
6780 if (unlikely(var127
== NULL
)) {
6781 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
6782 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
6786 RET_LABEL126
:(void)0;
6790 var128
= model__MClassType__anchor_to(var_msupertype
, var_mmodule
, var125
);
6792 var_msupertype
= var128
;
6794 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
6795 var131
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
6796 if (unlikely(var131
== NULL
)) {
6797 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6798 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
6802 RET_LABEL130
:(void)0;
6806 { /* Inline model#MProperty#name (var129) on <var129:MProperty(MMethod)> */
6807 var134
= var129
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var129:MProperty(MMethod)> */
6808 if (unlikely(var134
== NULL
)) {
6809 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
6810 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1607);
6814 RET_LABEL133
:(void)0;
6818 var135
= modelbuilder__ModelBuilder__try_get_mproperty_by_name2(var_modelbuilder
, self
, var_mmodule
, var_msupertype
, var132
);
6820 var_candidate
= var135
;
6822 if (var_candidate
== NULL
) {
6823 var137
= 0; /* is null */
6825 var137
= 1; /* arg is null and recv is not */
6828 { /* Inline kernel#Object#!= (var_candidate,var136) on <var_candidate:nullable MProperty> */
6829 var_other28
= var136
;
6831 var141
= ((short int (*)(val
*, val
*))(var_candidate
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_candidate
, var_other28
) /* == on <var_candidate:nullable MProperty(MProperty)>*/;
6837 RET_LABEL139
:(void)0;
6843 if (var_msignature
== NULL
) {
6844 var144
= 1; /* is null */
6846 var144
= 0; /* arg is null but recv is not */
6849 { /* Inline kernel#Object#== (var_msignature,var143) on <var_msignature:nullable MSignature> */
6852 { /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on <var_msignature:nullable MSignature(MSignature)> */
6853 var149
= var_msignature
== var_other
;
6856 RET_LABEL148
:(void)0;
6861 RET_LABEL146
:(void)0;
6867 var150
= model__MProperty__intro(var_candidate
);
6869 /* <var150:MPropDef> isa MMethodDef */
6870 cltype
= type_model__MMethodDef
.color
;
6871 idtype
= type_model__MMethodDef
.id
;
6872 if(cltype
>= var150
->type
->table_size
) {
6875 var151
= var150
->type
->type_table
[cltype
] == idtype
;
6877 if (unlikely(!var151
)) {
6878 var_class_name
= var150
== NULL ?
"null" : var150
->type
->name
;
6879 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MMethodDef", var_class_name
);
6880 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 546);
6884 { /* Inline model#MMethodDef#msignature (var150) on <var150:MPropDef(MMethodDef)> */
6885 var154
= var150
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var150:MPropDef(MMethodDef)> */
6887 RET_LABEL153
:(void)0;
6890 var_msignature
= var152
;
6895 CONTINUE_label
: (void)0;
6897 array__ArrayIterator__next(var122
); /* Direct call array#ArrayIterator#next on <var122:ArrayIterator[nullable Object]>*/
6900 BREAK_label
: (void)0;
6905 if (var_msignature
== NULL
) {
6906 var159
= 0; /* is null */
6908 var159
= 1; /* arg is null and recv is not */
6911 { /* Inline kernel#Object#!= (var_msignature,var158) on <var_msignature:nullable MSignature> */
6912 var_other28
= var158
;
6914 var163
= ((short int (*)(val
*, val
*))(var_msignature
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_msignature
, var_other28
) /* == on <var_msignature:nullable MSignature(MSignature)>*/;
6920 RET_LABEL161
:(void)0;
6927 var165
= array__AbstractArrayRead__length(var_param_names
);
6930 var166
= array__AbstractArrayRead__length(var_param_types
);
6933 { /* Inline kernel#Int#!= (var165,var166) on <var165:Int> */
6934 var170
= var165
== var166
;
6938 RET_LABEL169
:(void)0;
6949 var173
= array__AbstractArrayRead__length(var_param_names
);
6952 var174
= model__MSignature__arity(var_msignature
);
6955 { /* Inline kernel#Int#== (var173,var174) on <var173:Int> */
6956 var178
= var173
== var174
;
6959 RET_LABEL177
:(void)0;
6970 var180
= array__AbstractArrayRead__length(var_param_types
);
6974 { /* Inline kernel#Int#== (var180,var181) on <var180:Int> */
6975 var185
= var180
== var181
;
6978 RET_LABEL184
:(void)0;
6987 var186
= NEW_array__Array(&type_array__Arraymodel__MType
);
6989 array__Array__init(var186
); /* Direct call array#Array#init on <var186:Array[MType]>*/
6991 var_param_types
= var186
;
6993 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
6994 var189
= var_msignature
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:nullable MSignature(MSignature)> */
6995 if (unlikely(var189
== NULL
)) {
6996 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
6997 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
7001 RET_LABEL188
:(void)0;
7005 var190
= array__AbstractArrayRead__iterator(var187
);
7009 var191
= array__ArrayIterator__is_ok(var190
);
7013 var192
= array__ArrayIterator__item(var190
);
7015 var_mparameter
= var192
;
7017 { /* Inline model#MParameter#mtype (var_mparameter) on <var_mparameter:MParameter> */
7018 var195
= var_mparameter
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var_mparameter:MParameter> */
7019 if (unlikely(var195
== NULL
)) {
7020 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7021 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
7025 RET_LABEL194
:(void)0;
7029 array__Array__add(var_param_types
, var193
); /* Direct call array#Array#add on <var_param_types:Array[MType]>*/
7031 CONTINUE_label196
: (void)0;
7033 array__ArrayIterator__next(var190
); /* Direct call array#ArrayIterator#next on <var190:ArrayIterator[nullable Object]>*/
7036 BREAK_label196
: (void)0;
7038 { /* Inline model#MSignature#vararg_rank (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
7039 var199
= var_msignature
->attrs
[COLOR_model__MSignature___vararg_rank
].l
; /* _vararg_rank on <var_msignature:nullable MSignature(MSignature)> */
7041 RET_LABEL198
:(void)0;
7044 var_vararg_rank
= var197
;
7048 if (var_msignature
== NULL
) {
7049 var202
= 0; /* is null */
7051 var202
= 1; /* arg is null and recv is not */
7054 { /* Inline kernel#Object#!= (var_msignature,var201) on <var_msignature:nullable MSignature> */
7055 var_other28
= var201
;
7057 var206
= ((short int (*)(val
*, val
*))(var_msignature
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_msignature
, var_other28
) /* == on <var_msignature:nullable MSignature(MSignature)>*/;
7063 RET_LABEL204
:(void)0;
7070 if (var_ret_type
== NULL
) {
7071 var210
= 1; /* is null */
7073 var210
= 0; /* arg is null but recv is not */
7076 { /* Inline kernel#Object#== (var_ret_type,var209) on <var_ret_type:nullable MType> */
7079 { /* Inline kernel#Object#is_same_instance (var_ret_type,var_other) on <var_ret_type:nullable MType(MType)> */
7080 var215
= var_ret_type
== var_other
;
7083 RET_LABEL214
:(void)0;
7088 RET_LABEL212
:(void)0;
7098 { /* Inline model#MSignature#return_mtype (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
7099 var218
= var_msignature
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <var_msignature:nullable MSignature(MSignature)> */
7101 RET_LABEL217
:(void)0;
7104 var_ret_type
= var216
;
7108 var219
= array__AbstractArrayRead__length(var_param_names
);
7111 var220
= array__AbstractArrayRead__length(var_param_types
);
7114 { /* Inline kernel#Int#!= (var219,var220) on <var219:Int> */
7115 var224
= var219
== var220
;
7119 RET_LABEL223
:(void)0;
7124 if (var_nsig
== NULL
) {
7125 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7126 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 568);
7129 { /* Inline parser_nodes#ASignature#n_params (var_nsig) on <var_nsig:nullable ASignature> */
7130 if (unlikely(var_nsig
== NULL
)) {
7131 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7132 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1360);
7135 var228
= var_nsig
->attrs
[COLOR_parser_nodes__ASignature___n_params
].val
; /* _n_params on <var_nsig:nullable ASignature> */
7136 if (unlikely(var228
== NULL
)) {
7137 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
7138 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1360);
7142 RET_LABEL227
:(void)0;
7146 var229
= array__AbstractArrayRead__length(var_param_types
);
7149 var230
= parser_nodes__ANodes___91d_93d(var226
, var229
);
7152 var232
= varonce231
;
7154 var233
= "Error: Untyped parameter `";
7156 var235
= string__NativeString__to_s_with_length(var233
, var234
);
7158 varonce231
= var232
;
7161 var236
= array__AbstractArrayRead__length(var_param_types
);
7164 var237
= array__Array___91d_93d(var_param_names
, var236
);
7167 var239
= varonce238
;
7171 var242
= string__NativeString__to_s_with_length(var240
, var241
);
7173 varonce238
= var239
;
7175 var243
= NEW_array__Array(&type_array__Arraykernel__Object
);
7176 { /* var243 = array_instance Array[Object] */
7178 var245
= NEW_array__NativeArray(var244
, &type_array__NativeArraykernel__Object
);
7179 ((struct instance_array__NativeArray
*)var245
)->values
[0] = (val
*) var232
;
7180 ((struct instance_array__NativeArray
*)var245
)->values
[1] = (val
*) var237
;
7181 ((struct instance_array__NativeArray
*)var245
)->values
[2] = (val
*) var239
;
7183 ((void (*)(val
*, val
*, long))(var243
->class->vft
[COLOR_array__Array__with_native
]))(var243
, var245
, var244
) /* with_native on <var243:Array[Object]>*/;
7187 var246
= ((val
* (*)(val
*))(var243
->class->vft
[COLOR_string__Object__to_s
]))(var243
) /* to_s on <var243:Array[Object]>*/;
7190 modelbuilder__ModelBuilder__error(var_modelbuilder
, var230
, var246
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
7195 var247
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
7197 array__Array__init(var247
); /* Direct call array#Array#init on <var247:Array[MParameter]>*/
7199 var_mparameters
= var247
;
7200 var248
= NEW_range__Range(&type_range__Rangekernel__Int
);
7203 var250
= array__AbstractArrayRead__length(var_param_names
);
7206 var251
= BOX_kernel__Int(var249
); /* autobox from Int to Discrete */
7207 var252
= BOX_kernel__Int(var250
); /* autobox from Int to Discrete */
7208 range__Range__without_last(var248
, var251
, var252
); /* Direct call range#Range#without_last on <var248:Range[Int]>*/
7211 var253
= range__Range__iterator(var248
);
7215 var254
= ((short int (*)(val
*))(var253
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var253
) /* is_ok on <var253:Iterator[Discrete]>*/;
7219 var255
= ((val
* (*)(val
*))(var253
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var253
) /* item on <var253:Iterator[Discrete]>*/;
7221 var256
= ((struct instance_kernel__Int
*)var255
)->value
; /* autounbox from nullable Object to Int */;
7223 var257
= NEW_model__MParameter(&type_model__MParameter
);
7225 var258
= array__Array___91d_93d(var_param_names
, var_i
);
7228 var259
= array__Array___91d_93d(var_param_types
, var_i
);
7231 { /* Inline kernel#Int#== (var_i,var_vararg_rank) on <var_i:Int> */
7232 var263
= var_i
== var_vararg_rank
;
7235 RET_LABEL262
:(void)0;
7240 model__MParameter__init(var257
, var258
, var259
, var260
); /* Direct call model#MParameter#init on <var257:MParameter>*/
7242 var_mparameter264
= var257
;
7244 if (var_nsig
== NULL
) {
7245 var266
= 0; /* is null */
7247 var266
= 1; /* arg is null and recv is not */
7250 { /* Inline kernel#Object#!= (var_nsig,var265) on <var_nsig:nullable ASignature> */
7251 var_other28
= var265
;
7253 var270
= ((short int (*)(val
*, val
*))(var_nsig
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nsig
, var_other28
) /* == on <var_nsig:nullable ASignature(ASignature)>*/;
7259 RET_LABEL268
:(void)0;
7265 { /* Inline parser_nodes#ASignature#n_params (var_nsig) on <var_nsig:nullable ASignature(ASignature)> */
7266 var274
= var_nsig
->attrs
[COLOR_parser_nodes__ASignature___n_params
].val
; /* _n_params on <var_nsig:nullable ASignature(ASignature)> */
7267 if (unlikely(var274
== NULL
)) {
7268 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
7269 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1360);
7273 RET_LABEL273
:(void)0;
7277 var275
= parser_nodes__ANodes___91d_93d(var272
, var_i
);
7280 { /* Inline modelize_property#AParam#mparameter= (var275,var_mparameter264) on <var275:ANode(AParam)> */
7281 var275
->attrs
[COLOR_modelize_property__AParam___mparameter
].val
= var_mparameter264
; /* _mparameter on <var275:ANode(AParam)> */
7282 RET_LABEL276
:(void)0;
7288 array__Array__add(var_mparameters
, var_mparameter264
); /* Direct call array#Array#add on <var_mparameters:Array[MParameter]>*/
7290 CONTINUE_label277
: (void)0;
7292 ((void (*)(val
*))(var253
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var253
) /* next on <var253:Iterator[Discrete]>*/;
7295 BREAK_label277
: (void)0;
7296 var278
= NEW_model__MSignature(&type_model__MSignature
);
7298 model__MSignature__init(var278
, var_mparameters
, var_ret_type
); /* Direct call model#MSignature#init on <var278:MSignature>*/
7300 var_msignature
= var278
;
7302 { /* Inline model#MMethodDef#msignature= (var_mpropdef,var_msignature) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
7303 var_mpropdef
->attrs
[COLOR_model__MMethodDef___msignature
].val
= var_msignature
; /* _msignature on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
7304 RET_LABEL279
:(void)0;
7307 /* <self:AMethPropdef> isa ADeferredMethPropdef */
7308 cltype281
= type_parser_nodes__ADeferredMethPropdef
.color
;
7309 idtype282
= type_parser_nodes__ADeferredMethPropdef
.id
;
7310 if(cltype281
>= self
->type
->table_size
) {
7313 var280
= self
->type
->type_table
[cltype281
] == idtype282
;
7316 { /* Inline model#MMethodDef#is_abstract= (var_mpropdef,var280) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
7317 var_mpropdef
->attrs
[COLOR_model__MMethodDef___is_abstract
].s
= var280
; /* _is_abstract on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
7318 RET_LABEL283
:(void)0;
7321 /* <self:AMethPropdef> isa AInternMethPropdef */
7322 cltype285
= type_parser_nodes__AInternMethPropdef
.color
;
7323 idtype286
= type_parser_nodes__AInternMethPropdef
.id
;
7324 if(cltype285
>= self
->type
->table_size
) {
7327 var284
= self
->type
->type_table
[cltype285
] == idtype286
;
7330 { /* Inline model#MMethodDef#is_intern= (var_mpropdef,var284) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
7331 var_mpropdef
->attrs
[COLOR_model__MMethodDef___is_intern
].s
= var284
; /* _is_intern on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
7332 RET_LABEL287
:(void)0;
7335 /* <self:AMethPropdef> isa AExternPropdef */
7336 cltype289
= type_parser_nodes__AExternPropdef
.color
;
7337 idtype290
= type_parser_nodes__AExternPropdef
.id
;
7338 if(cltype289
>= self
->type
->table_size
) {
7341 var288
= self
->type
->type_table
[cltype289
] == idtype290
;
7344 { /* Inline model#MMethodDef#is_extern= (var_mpropdef,var288) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
7345 var_mpropdef
->attrs
[COLOR_model__MMethodDef___is_extern
].s
= var288
; /* _is_extern on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
7346 RET_LABEL291
:(void)0;
7351 /* method modelize_property#AMethPropdef#build_signature for (self: Object, ModelBuilder) */
7352 void VIRTUAL_modelize_property__AMethPropdef__build_signature(val
* self
, val
* p0
) {
7353 modelize_property__AMethPropdef__build_signature(self
, p0
); /* Direct call modelize_property#AMethPropdef#build_signature on <self:Object(AMethPropdef)>*/
7356 /* method modelize_property#AMethPropdef#check_signature for (self: AMethPropdef, ModelBuilder) */
7357 void modelize_property__AMethPropdef__check_signature(val
* self
, val
* p0
) {
7358 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
7359 val
* var
/* : nullable MPropDef */;
7360 val
* var2
/* : nullable MPropDef */;
7361 val
* var_mpropdef
/* var mpropdef: nullable MMethodDef */;
7362 val
* var3
/* : null */;
7363 short int var4
/* : Bool */;
7364 short int var5
/* : Bool */;
7365 val
* var_other
/* var other: nullable Object */;
7366 short int var7
/* : Bool */;
7367 short int var9
/* : Bool */;
7368 val
* var10
/* : MClassDef */;
7369 val
* var12
/* : MClassDef */;
7370 val
* var_mclassdef
/* var mclassdef: MClassDef */;
7371 val
* var13
/* : MModule */;
7372 val
* var15
/* : MModule */;
7373 val
* var_mmodule
/* var mmodule: MModule */;
7374 val
* var16
/* : nullable ASignature */;
7375 val
* var_nsig
/* var nsig: nullable ASignature */;
7376 val
* var17
/* : nullable MPropDef */;
7377 val
* var19
/* : nullable MPropDef */;
7378 val
* var20
/* : nullable MSignature */;
7379 val
* var22
/* : nullable MSignature */;
7380 val
* var_mysignature
/* var mysignature: nullable MSignature */;
7381 val
* var23
/* : null */;
7382 short int var24
/* : Bool */;
7383 short int var25
/* : Bool */;
7384 short int var27
/* : Bool */;
7385 short int var29
/* : Bool */;
7386 short int var30
/* : Bool */;
7387 short int var31
/* : Bool */;
7388 val
* var32
/* : MProperty */;
7389 val
* var34
/* : MProperty */;
7390 val
* var35
/* : MPropDef */;
7391 val
* var36
/* : nullable MSignature */;
7392 val
* var38
/* : nullable MSignature */;
7393 val
* var_msignature
/* var msignature: nullable MSignature */;
7394 val
* var39
/* : null */;
7395 short int var40
/* : Bool */;
7396 short int var41
/* : Bool */;
7397 short int var43
/* : Bool */;
7398 short int var45
/* : Bool */;
7399 val
* var46
/* : nullable MType */;
7400 val
* var48
/* : nullable MType */;
7401 val
* var_precursor_ret_type
/* var precursor_ret_type: nullable MType */;
7402 val
* var49
/* : nullable MType */;
7403 val
* var51
/* : nullable MType */;
7404 val
* var_ret_type
/* var ret_type: nullable MType */;
7405 short int var52
/* : Bool */;
7406 val
* var53
/* : null */;
7407 short int var54
/* : Bool */;
7408 short int var55
/* : Bool */;
7409 val
* var_other57
/* var other: nullable Object */;
7410 short int var58
/* : Bool */;
7411 short int var59
/* : Bool */;
7412 short int var60
/* : Bool */;
7413 short int var_
/* var : Bool */;
7414 val
* var61
/* : null */;
7415 short int var62
/* : Bool */;
7416 short int var63
/* : Bool */;
7417 short int var65
/* : Bool */;
7418 short int var67
/* : Bool */;
7419 val
* var68
/* : nullable AType */;
7420 static val
* varonce
;
7421 val
* var69
/* : String */;
7422 char* var70
/* : NativeString */;
7423 long var71
/* : Int */;
7424 val
* var72
/* : FlatString */;
7425 val
* var73
/* : MProperty */;
7426 val
* var75
/* : MProperty */;
7427 static val
* varonce76
;
7428 val
* var77
/* : String */;
7429 char* var78
/* : NativeString */;
7430 long var79
/* : Int */;
7431 val
* var80
/* : FlatString */;
7432 val
* var81
/* : Array[Object] */;
7433 long var82
/* : Int */;
7434 val
* var83
/* : NativeArray[Object] */;
7435 val
* var84
/* : String */;
7436 long var85
/* : Int */;
7437 long var86
/* : Int */;
7438 short int var87
/* : Bool */;
7439 short int var89
/* : Bool */;
7442 const char* var_class_name
;
7443 short int var90
/* : Bool */;
7444 val
* var91
/* : Range[Int] */;
7445 long var92
/* : Int */;
7446 long var93
/* : Int */;
7447 val
* var94
/* : Discrete */;
7448 val
* var95
/* : Discrete */;
7449 val
* var96
/* : Iterator[Discrete] */;
7450 short int var97
/* : Bool */;
7451 val
* var98
/* : nullable Object */;
7452 long var_i
/* var i: Int */;
7453 long var99
/* : Int */;
7454 val
* var100
/* : Array[MParameter] */;
7455 val
* var102
/* : Array[MParameter] */;
7456 val
* var103
/* : nullable Object */;
7457 val
* var104
/* : MType */;
7458 val
* var106
/* : MType */;
7459 val
* var_myt
/* var myt: MType */;
7460 val
* var107
/* : Array[MParameter] */;
7461 val
* var109
/* : Array[MParameter] */;
7462 val
* var110
/* : nullable Object */;
7463 val
* var111
/* : MType */;
7464 val
* var113
/* : MType */;
7465 val
* var_prt
/* var prt: MType */;
7466 short int var114
/* : Bool */;
7467 val
* var115
/* : MClassType */;
7468 val
* var117
/* : MClassType */;
7469 short int var118
/* : Bool */;
7470 short int var119
/* : Bool */;
7471 short int var_120
/* var : Bool */;
7472 val
* var121
/* : MClassType */;
7473 val
* var123
/* : MClassType */;
7474 short int var124
/* : Bool */;
7475 short int var125
/* : Bool */;
7476 val
* var126
/* : ANodes[AParam] */;
7477 val
* var128
/* : ANodes[AParam] */;
7478 val
* var129
/* : ANode */;
7479 static val
* varonce130
;
7480 val
* var131
/* : String */;
7481 char* var132
/* : NativeString */;
7482 long var133
/* : Int */;
7483 val
* var134
/* : FlatString */;
7484 val
* var135
/* : Array[MParameter] */;
7485 val
* var137
/* : Array[MParameter] */;
7486 val
* var138
/* : nullable Object */;
7487 val
* var139
/* : String */;
7488 val
* var141
/* : String */;
7489 static val
* varonce142
;
7490 val
* var143
/* : String */;
7491 char* var144
/* : NativeString */;
7492 long var145
/* : Int */;
7493 val
* var146
/* : FlatString */;
7494 static val
* varonce147
;
7495 val
* var148
/* : String */;
7496 char* var149
/* : NativeString */;
7497 long var150
/* : Int */;
7498 val
* var151
/* : FlatString */;
7499 static val
* varonce152
;
7500 val
* var153
/* : String */;
7501 char* var154
/* : NativeString */;
7502 long var155
/* : Int */;
7503 val
* var156
/* : FlatString */;
7504 val
* var157
/* : MProperty */;
7505 val
* var159
/* : MProperty */;
7506 val
* var160
/* : MPropDef */;
7507 static val
* varonce161
;
7508 val
* var162
/* : String */;
7509 char* var163
/* : NativeString */;
7510 long var164
/* : Int */;
7511 val
* var165
/* : FlatString */;
7512 val
* var166
/* : Array[Object] */;
7513 long var167
/* : Int */;
7514 val
* var168
/* : NativeArray[Object] */;
7515 val
* var169
/* : String */;
7516 val
* var170
/* : null */;
7517 short int var171
/* : Bool */;
7518 short int var172
/* : Bool */;
7519 short int var174
/* : Bool */;
7520 short int var175
/* : Bool */;
7521 short int var176
/* : Bool */;
7522 val
* var177
/* : null */;
7523 short int var178
/* : Bool */;
7524 short int var179
/* : Bool */;
7525 short int var181
/* : Bool */;
7526 short int var183
/* : Bool */;
7527 val
* var184
/* : MClassType */;
7528 val
* var186
/* : MClassType */;
7529 short int var187
/* : Bool */;
7530 short int var188
/* : Bool */;
7531 val
* var189
/* : nullable AType */;
7532 static val
* varonce190
;
7533 val
* var191
/* : String */;
7534 char* var192
/* : NativeString */;
7535 long var193
/* : Int */;
7536 val
* var194
/* : FlatString */;
7537 static val
* varonce195
;
7538 val
* var196
/* : String */;
7539 char* var197
/* : NativeString */;
7540 long var198
/* : Int */;
7541 val
* var199
/* : FlatString */;
7542 static val
* varonce200
;
7543 val
* var201
/* : String */;
7544 char* var202
/* : NativeString */;
7545 long var203
/* : Int */;
7546 val
* var204
/* : FlatString */;
7547 val
* var205
/* : MProperty */;
7548 val
* var207
/* : MProperty */;
7549 val
* var208
/* : MPropDef */;
7550 static val
* varonce209
;
7551 val
* var210
/* : String */;
7552 char* var211
/* : NativeString */;
7553 long var212
/* : Int */;
7554 val
* var213
/* : FlatString */;
7555 val
* var214
/* : Array[Object] */;
7556 long var215
/* : Int */;
7557 val
* var216
/* : NativeArray[Object] */;
7558 val
* var217
/* : String */;
7559 long var218
/* : Int */;
7560 long var219
/* : Int */;
7561 short int var220
/* : Bool */;
7562 short int var222
/* : Bool */;
7565 const char* var_class_name225
;
7566 short int var226
/* : Bool */;
7567 val
* var227
/* : Range[Int] */;
7568 long var228
/* : Int */;
7569 long var229
/* : Int */;
7570 val
* var230
/* : Discrete */;
7571 val
* var231
/* : Discrete */;
7572 val
* var232
/* : Iterator[Discrete] */;
7573 short int var233
/* : Bool */;
7574 val
* var234
/* : nullable Object */;
7575 long var_i235
/* var i: Int */;
7576 long var236
/* : Int */;
7577 val
* var237
/* : ANodes[AParam] */;
7578 val
* var239
/* : ANodes[AParam] */;
7579 val
* var240
/* : ANode */;
7580 val
* var241
/* : nullable AType */;
7581 val
* var_nt
/* var nt: nullable AType */;
7582 val
* var242
/* : null */;
7583 short int var243
/* : Bool */;
7584 short int var244
/* : Bool */;
7585 short int var246
/* : Bool */;
7586 short int var247
/* : Bool */;
7587 short int var248
/* : Bool */;
7588 val
* var249
/* : nullable MType */;
7589 val
* var251
/* : nullable MType */;
7590 val
* var253
/* : nullable AType */;
7591 val
* var_nt254
/* var nt: nullable AType */;
7592 val
* var255
/* : null */;
7593 short int var256
/* : Bool */;
7594 short int var257
/* : Bool */;
7595 short int var259
/* : Bool */;
7596 short int var260
/* : Bool */;
7597 short int var261
/* : Bool */;
7598 val
* var262
/* : nullable MType */;
7599 val
* var264
/* : nullable MType */;
7600 var_modelbuilder
= p0
;
7602 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
7603 var2
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
7610 if (var_mpropdef
== NULL
) {
7611 var4
= 1; /* is null */
7613 var4
= 0; /* arg is null but recv is not */
7616 { /* Inline kernel#Object#== (var_mpropdef,var3) on <var_mpropdef:nullable MMethodDef> */
7619 { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
7620 var9
= var_mpropdef
== var_other
;
7637 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
7638 var12
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
7639 if (unlikely(var12
== NULL
)) {
7640 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7641 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
7645 RET_LABEL11
:(void)0;
7648 var_mclassdef
= var10
;
7650 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
7651 var15
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
7652 if (unlikely(var15
== NULL
)) {
7653 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
7654 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
7658 RET_LABEL14
:(void)0;
7661 var_mmodule
= var13
;
7663 var16
= parser_nodes__AMethPropdef__n_signature(self
);
7667 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
7668 var19
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
7670 RET_LABEL18
:(void)0;
7673 if (var17
== NULL
) {
7674 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7675 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 593);
7678 { /* Inline model#MMethodDef#msignature (var17) on <var17:nullable MPropDef(nullable MMethodDef)> */
7679 if (unlikely(var17
== NULL
)) {
7680 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7681 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1938);
7684 var22
= var17
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var17:nullable MPropDef(nullable MMethodDef)> */
7686 RET_LABEL21
:(void)0;
7689 var_mysignature
= var20
;
7691 if (var_mysignature
== NULL
) {
7692 var24
= 1; /* is null */
7694 var24
= 0; /* arg is null but recv is not */
7697 { /* Inline kernel#Object#== (var_mysignature,var23) on <var_mysignature:nullable MSignature> */
7700 { /* Inline kernel#Object#is_same_instance (var_mysignature,var_other) on <var_mysignature:nullable MSignature(MSignature)> */
7701 var29
= var_mysignature
== var_other
;
7704 RET_LABEL28
:(void)0;
7709 RET_LABEL26
:(void)0;
7718 var30
= model__MPropDef__is_intro(var_mpropdef
);
7723 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
7724 var34
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
7725 if (unlikely(var34
== NULL
)) {
7726 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
7727 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
7731 RET_LABEL33
:(void)0;
7735 var35
= model__MProperty__intro(var32
);
7738 { /* Inline model#MMethodDef#msignature (var35) on <var35:MPropDef(MMethodDef)> */
7739 var38
= var35
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var35:MPropDef(MMethodDef)> */
7741 RET_LABEL37
:(void)0;
7744 var_msignature
= var36
;
7746 if (var_msignature
== NULL
) {
7747 var40
= 1; /* is null */
7749 var40
= 0; /* arg is null but recv is not */
7752 { /* Inline kernel#Object#== (var_msignature,var39) on <var_msignature:nullable MSignature> */
7755 { /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on <var_msignature:nullable MSignature(MSignature)> */
7756 var45
= var_msignature
== var_other
;
7759 RET_LABEL44
:(void)0;
7764 RET_LABEL42
:(void)0;
7773 { /* Inline model#MSignature#return_mtype (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
7774 var48
= var_msignature
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <var_msignature:nullable MSignature(MSignature)> */
7776 RET_LABEL47
:(void)0;
7779 var_precursor_ret_type
= var46
;
7781 { /* Inline model#MSignature#return_mtype (var_mysignature) on <var_mysignature:nullable MSignature(MSignature)> */
7782 var51
= var_mysignature
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <var_mysignature:nullable MSignature(MSignature)> */
7784 RET_LABEL50
:(void)0;
7787 var_ret_type
= var49
;
7789 if (var_ret_type
== NULL
) {
7790 var54
= 0; /* is null */
7792 var54
= 1; /* arg is null and recv is not */
7795 { /* Inline kernel#Object#!= (var_ret_type,var53) on <var_ret_type:nullable MType> */
7796 var_other57
= var53
;
7798 var59
= ((short int (*)(val
*, val
*))(var_ret_type
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ret_type
, var_other57
) /* == on <var_ret_type:nullable MType(MType)>*/;
7804 RET_LABEL56
:(void)0;
7811 if (var_precursor_ret_type
== NULL
) {
7812 var62
= 1; /* is null */
7814 var62
= 0; /* arg is null but recv is not */
7817 { /* Inline kernel#Object#== (var_precursor_ret_type,var61) on <var_precursor_ret_type:nullable MType> */
7820 { /* Inline kernel#Object#is_same_instance (var_precursor_ret_type,var_other) on <var_precursor_ret_type:nullable MType(MType)> */
7821 var67
= var_precursor_ret_type
== var_other
;
7824 RET_LABEL66
:(void)0;
7829 RET_LABEL64
:(void)0;
7838 if (var_nsig
== NULL
) {
7839 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7840 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 605);
7843 var68
= parser_nodes__ASignature__n_type(var_nsig
);
7845 if (unlikely(var68
== NULL
)) {
7846 PRINT_ERROR("Runtime error: %s", "Cast failed");
7847 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 605);
7853 var70
= "Redef Error: ";
7855 var72
= string__NativeString__to_s_with_length(var70
, var71
);
7860 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
7861 var75
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
7862 if (unlikely(var75
== NULL
)) {
7863 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
7864 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
7868 RET_LABEL74
:(void)0;
7874 var78
= " is a procedure, not a function.";
7876 var80
= string__NativeString__to_s_with_length(var78
, var79
);
7880 var81
= NEW_array__Array(&type_array__Arraykernel__Object
);
7881 { /* var81 = array_instance Array[Object] */
7883 var83
= NEW_array__NativeArray(var82
, &type_array__NativeArraykernel__Object
);
7884 ((struct instance_array__NativeArray
*)var83
)->values
[0] = (val
*) var69
;
7885 ((struct instance_array__NativeArray
*)var83
)->values
[1] = (val
*) var73
;
7886 ((struct instance_array__NativeArray
*)var83
)->values
[2] = (val
*) var77
;
7888 ((void (*)(val
*, val
*, long))(var81
->class->vft
[COLOR_array__Array__with_native
]))(var81
, var83
, var82
) /* with_native on <var81:Array[Object]>*/;
7892 var84
= ((val
* (*)(val
*))(var81
->class->vft
[COLOR_string__Object__to_s
]))(var81
) /* to_s on <var81:Array[Object]>*/;
7895 modelbuilder__ModelBuilder__error(var_modelbuilder
, var68
, var84
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
7901 var85
= model__MSignature__arity(var_mysignature
);
7905 { /* Inline kernel#Int#> (var85,var86) on <var85:Int> */
7906 /* Covariant cast for argument 0 (i) <var86:Int> isa OTHER */
7907 /* <var86:Int> isa OTHER */
7908 var89
= 1; /* easy <var86:Int> isa OTHER*/
7909 if (unlikely(!var89
)) {
7910 var_class_name
= type_kernel__Int
.name
;
7911 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7912 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
7915 var90
= var85
> var86
;
7918 RET_LABEL88
:(void)0;
7922 var91
= NEW_range__Range(&type_range__Rangekernel__Int
);
7925 var93
= model__MSignature__arity(var_mysignature
);
7928 var94
= BOX_kernel__Int(var92
); /* autobox from Int to Discrete */
7929 var95
= BOX_kernel__Int(var93
); /* autobox from Int to Discrete */
7930 range__Range__without_last(var91
, var94
, var95
); /* Direct call range#Range#without_last on <var91:Range[Int]>*/
7933 var96
= range__Range__iterator(var91
);
7937 var97
= ((short int (*)(val
*))(var96
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var96
) /* is_ok on <var96:Iterator[Discrete]>*/;
7941 var98
= ((val
* (*)(val
*))(var96
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var96
) /* item on <var96:Iterator[Discrete]>*/;
7943 var99
= ((struct instance_kernel__Int
*)var98
)->value
; /* autounbox from nullable Object to Int */;
7946 { /* Inline model#MSignature#mparameters (var_mysignature) on <var_mysignature:nullable MSignature(MSignature)> */
7947 var102
= var_mysignature
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var_mysignature:nullable MSignature(MSignature)> */
7948 if (unlikely(var102
== NULL
)) {
7949 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
7950 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
7954 RET_LABEL101
:(void)0;
7958 var103
= array__Array___91d_93d(var100
, var_i
);
7961 { /* Inline model#MParameter#mtype (var103) on <var103:nullable Object(MParameter)> */
7962 var106
= var103
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var103:nullable Object(MParameter)> */
7963 if (unlikely(var106
== NULL
)) {
7964 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7965 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
7969 RET_LABEL105
:(void)0;
7974 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
7975 var109
= var_msignature
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:nullable MSignature(MSignature)> */
7976 if (unlikely(var109
== NULL
)) {
7977 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
7978 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
7982 RET_LABEL108
:(void)0;
7986 var110
= array__Array___91d_93d(var107
, var_i
);
7989 { /* Inline model#MParameter#mtype (var110) on <var110:nullable Object(MParameter)> */
7990 var113
= var110
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var110:nullable Object(MParameter)> */
7991 if (unlikely(var113
== NULL
)) {
7992 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7993 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
7997 RET_LABEL112
:(void)0;
8002 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
8003 var117
= var_mclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
8004 if (unlikely(var117
== NULL
)) {
8005 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
8006 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
8010 RET_LABEL116
:(void)0;
8014 var118
= model__MType__is_subtype(var_myt
, var_mmodule
, var115
, var_prt
);
8022 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
8023 var123
= var_mclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
8024 if (unlikely(var123
== NULL
)) {
8025 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
8026 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
8030 RET_LABEL122
:(void)0;
8034 var124
= model__MType__is_subtype(var_prt
, var_mmodule
, var121
, var_myt
);
8040 if (var_nsig
== NULL
) {
8041 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8042 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 616);
8045 { /* Inline parser_nodes#ASignature#n_params (var_nsig) on <var_nsig:nullable ASignature> */
8046 if (unlikely(var_nsig
== NULL
)) {
8047 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8048 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1360);
8051 var128
= var_nsig
->attrs
[COLOR_parser_nodes__ASignature___n_params
].val
; /* _n_params on <var_nsig:nullable ASignature> */
8052 if (unlikely(var128
== NULL
)) {
8053 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
8054 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1360);
8058 RET_LABEL127
:(void)0;
8062 var129
= parser_nodes__ANodes___91d_93d(var126
, var_i
);
8065 var131
= varonce130
;
8067 var132
= "Redef Error: Wrong type for parameter `";
8069 var134
= string__NativeString__to_s_with_length(var132
, var133
);
8071 varonce130
= var131
;
8074 { /* Inline model#MSignature#mparameters (var_mysignature) on <var_mysignature:nullable MSignature(MSignature)> */
8075 var137
= var_mysignature
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var_mysignature:nullable MSignature(MSignature)> */
8076 if (unlikely(var137
== NULL
)) {
8077 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
8078 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
8082 RET_LABEL136
:(void)0;
8086 var138
= array__Array___91d_93d(var135
, var_i
);
8089 { /* Inline model#MParameter#name (var138) on <var138:nullable Object(MParameter)> */
8090 var141
= var138
->attrs
[COLOR_model__MParameter___name
].val
; /* _name on <var138:nullable Object(MParameter)> */
8091 if (unlikely(var141
== NULL
)) {
8092 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
8093 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1549);
8097 RET_LABEL140
:(void)0;
8101 var143
= varonce142
;
8103 var144
= "\'. found ";
8105 var146
= string__NativeString__to_s_with_length(var144
, var145
);
8107 varonce142
= var143
;
8110 var148
= varonce147
;
8112 var149
= ", expected ";
8114 var151
= string__NativeString__to_s_with_length(var149
, var150
);
8116 varonce147
= var148
;
8119 var153
= varonce152
;
8123 var156
= string__NativeString__to_s_with_length(var154
, var155
);
8125 varonce152
= var153
;
8128 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
8129 var159
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
8130 if (unlikely(var159
== NULL
)) {
8131 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8132 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
8136 RET_LABEL158
:(void)0;
8140 var160
= model__MProperty__intro(var157
);
8143 var162
= varonce161
;
8147 var165
= string__NativeString__to_s_with_length(var163
, var164
);
8149 varonce161
= var162
;
8151 var166
= NEW_array__Array(&type_array__Arraykernel__Object
);
8152 { /* var166 = array_instance Array[Object] */
8154 var168
= NEW_array__NativeArray(var167
, &type_array__NativeArraykernel__Object
);
8155 ((struct instance_array__NativeArray
*)var168
)->values
[0] = (val
*) var131
;
8156 ((struct instance_array__NativeArray
*)var168
)->values
[1] = (val
*) var139
;
8157 ((struct instance_array__NativeArray
*)var168
)->values
[2] = (val
*) var143
;
8158 ((struct instance_array__NativeArray
*)var168
)->values
[3] = (val
*) var_myt
;
8159 ((struct instance_array__NativeArray
*)var168
)->values
[4] = (val
*) var148
;
8160 ((struct instance_array__NativeArray
*)var168
)->values
[5] = (val
*) var_prt
;
8161 ((struct instance_array__NativeArray
*)var168
)->values
[6] = (val
*) var153
;
8162 ((struct instance_array__NativeArray
*)var168
)->values
[7] = (val
*) var160
;
8163 ((struct instance_array__NativeArray
*)var168
)->values
[8] = (val
*) var162
;
8165 ((void (*)(val
*, val
*, long))(var166
->class->vft
[COLOR_array__Array__with_native
]))(var166
, var168
, var167
) /* with_native on <var166:Array[Object]>*/;
8169 var169
= ((val
* (*)(val
*))(var166
->class->vft
[COLOR_string__Object__to_s
]))(var166
) /* to_s on <var166:Array[Object]>*/;
8172 modelbuilder__ModelBuilder__error(var_modelbuilder
, var129
, var169
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
8176 CONTINUE_label
: (void)0;
8178 ((void (*)(val
*))(var96
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var96
) /* next on <var96:Iterator[Discrete]>*/;
8181 BREAK_label
: (void)0;
8185 if (var_precursor_ret_type
== NULL
) {
8186 var171
= 0; /* is null */
8188 var171
= 1; /* arg is null and recv is not */
8191 { /* Inline kernel#Object#!= (var_precursor_ret_type,var170) on <var_precursor_ret_type:nullable MType> */
8192 var_other57
= var170
;
8194 var175
= ((short int (*)(val
*, val
*))(var_precursor_ret_type
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_precursor_ret_type
, var_other57
) /* == on <var_precursor_ret_type:nullable MType(MType)>*/;
8200 RET_LABEL173
:(void)0;
8206 if (var_ret_type
== NULL
) {
8207 var178
= 1; /* is null */
8209 var178
= 0; /* arg is null but recv is not */
8212 { /* Inline kernel#Object#== (var_ret_type,var177) on <var_ret_type:nullable MType> */
8215 { /* Inline kernel#Object#is_same_instance (var_ret_type,var_other) on <var_ret_type:nullable MType(MType)> */
8216 var183
= var_ret_type
== var_other
;
8219 RET_LABEL182
:(void)0;
8224 RET_LABEL180
:(void)0;
8229 var_ret_type
= var_precursor_ret_type
;
8232 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
8233 var186
= var_mclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
8234 if (unlikely(var186
== NULL
)) {
8235 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
8236 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
8240 RET_LABEL185
:(void)0;
8244 var187
= model__MType__is_subtype(var_ret_type
, var_mmodule
, var184
, var_precursor_ret_type
);
8248 if (var_nsig
== NULL
) {
8249 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8250 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 625);
8253 var189
= parser_nodes__ASignature__n_type(var_nsig
);
8255 if (unlikely(var189
== NULL
)) {
8256 PRINT_ERROR("Runtime error: %s", "Cast failed");
8257 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 625);
8261 var191
= varonce190
;
8263 var192
= "Redef Error: Wrong return type. found ";
8265 var194
= string__NativeString__to_s_with_length(var192
, var193
);
8267 varonce190
= var191
;
8270 var196
= varonce195
;
8272 var197
= ", expected ";
8274 var199
= string__NativeString__to_s_with_length(var197
, var198
);
8276 varonce195
= var196
;
8279 var201
= varonce200
;
8283 var204
= string__NativeString__to_s_with_length(var202
, var203
);
8285 varonce200
= var201
;
8288 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
8289 var207
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
8290 if (unlikely(var207
== NULL
)) {
8291 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8292 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
8296 RET_LABEL206
:(void)0;
8300 var208
= model__MProperty__intro(var205
);
8303 var210
= varonce209
;
8307 var213
= string__NativeString__to_s_with_length(var211
, var212
);
8309 varonce209
= var210
;
8311 var214
= NEW_array__Array(&type_array__Arraykernel__Object
);
8312 { /* var214 = array_instance Array[Object] */
8314 var216
= NEW_array__NativeArray(var215
, &type_array__NativeArraykernel__Object
);
8315 ((struct instance_array__NativeArray
*)var216
)->values
[0] = (val
*) var191
;
8316 ((struct instance_array__NativeArray
*)var216
)->values
[1] = (val
*) var_ret_type
;
8317 ((struct instance_array__NativeArray
*)var216
)->values
[2] = (val
*) var196
;
8318 ((struct instance_array__NativeArray
*)var216
)->values
[3] = (val
*) var_precursor_ret_type
;
8319 ((struct instance_array__NativeArray
*)var216
)->values
[4] = (val
*) var201
;
8320 ((struct instance_array__NativeArray
*)var216
)->values
[5] = (val
*) var208
;
8321 ((struct instance_array__NativeArray
*)var216
)->values
[6] = (val
*) var210
;
8323 ((void (*)(val
*, val
*, long))(var214
->class->vft
[COLOR_array__Array__with_native
]))(var214
, var216
, var215
) /* with_native on <var214:Array[Object]>*/;
8327 var217
= ((val
* (*)(val
*))(var214
->class->vft
[COLOR_string__Object__to_s
]))(var214
) /* to_s on <var214:Array[Object]>*/;
8330 modelbuilder__ModelBuilder__error(var_modelbuilder
, var189
, var217
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
8340 var218
= model__MSignature__arity(var_mysignature
);
8344 { /* Inline kernel#Int#> (var218,var219) on <var218:Int> */
8345 /* Covariant cast for argument 0 (i) <var219:Int> isa OTHER */
8346 /* <var219:Int> isa OTHER */
8347 var222
= 1; /* easy <var219:Int> isa OTHER*/
8348 if (unlikely(!var222
)) {
8349 var_class_name225
= type_kernel__Int
.name
;
8350 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name225
);
8351 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
8354 var226
= var218
> var219
;
8357 RET_LABEL221
:(void)0;
8361 var227
= NEW_range__Range(&type_range__Rangekernel__Int
);
8364 var229
= model__MSignature__arity(var_mysignature
);
8367 var230
= BOX_kernel__Int(var228
); /* autobox from Int to Discrete */
8368 var231
= BOX_kernel__Int(var229
); /* autobox from Int to Discrete */
8369 range__Range__without_last(var227
, var230
, var231
); /* Direct call range#Range#without_last on <var227:Range[Int]>*/
8372 var232
= range__Range__iterator(var227
);
8376 var233
= ((short int (*)(val
*))(var232
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var232
) /* is_ok on <var232:Iterator[Discrete]>*/;
8380 var234
= ((val
* (*)(val
*))(var232
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var232
) /* item on <var232:Iterator[Discrete]>*/;
8382 var236
= ((struct instance_kernel__Int
*)var234
)->value
; /* autounbox from nullable Object to Int */;
8384 if (var_nsig
== NULL
) {
8385 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8386 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 633);
8389 { /* Inline parser_nodes#ASignature#n_params (var_nsig) on <var_nsig:nullable ASignature> */
8390 if (unlikely(var_nsig
== NULL
)) {
8391 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8392 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1360);
8395 var239
= var_nsig
->attrs
[COLOR_parser_nodes__ASignature___n_params
].val
; /* _n_params on <var_nsig:nullable ASignature> */
8396 if (unlikely(var239
== NULL
)) {
8397 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
8398 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1360);
8402 RET_LABEL238
:(void)0;
8406 var240
= parser_nodes__ANodes___91d_93d(var237
, var_i235
);
8409 var241
= parser_nodes__AParam__n_type(var240
);
8413 if (var_nt
== NULL
) {
8414 var243
= 0; /* is null */
8416 var243
= 1; /* arg is null and recv is not */
8419 { /* Inline kernel#Object#!= (var_nt,var242) on <var_nt:nullable AType> */
8420 var_other57
= var242
;
8422 var247
= ((short int (*)(val
*, val
*))(var_nt
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nt
, var_other57
) /* == on <var_nt:nullable AType(AType)>*/;
8428 RET_LABEL245
:(void)0;
8434 { /* Inline modelize_class#AType#mtype (var_nt) on <var_nt:nullable AType(AType)> */
8435 var251
= var_nt
->attrs
[COLOR_modelize_class__AType___mtype
].val
; /* _mtype on <var_nt:nullable AType(AType)> */
8437 RET_LABEL250
:(void)0;
8440 if (unlikely(var249
== NULL
)) {
8441 PRINT_ERROR("Runtime error: %s", "Cast failed");
8442 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 634);
8446 modelize_property__ModelBuilder__check_visibility(var_modelbuilder
, var_nt
, var249
, var_mpropdef
); /* Direct call modelize_property#ModelBuilder#check_visibility on <var_modelbuilder:ModelBuilder>*/
8450 CONTINUE_label252
: (void)0;
8452 ((void (*)(val
*))(var232
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var232
) /* next on <var232:Iterator[Discrete]>*/;
8455 BREAK_label252
: (void)0;
8456 if (var_nsig
== NULL
) {
8457 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8458 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 636);
8461 var253
= parser_nodes__ASignature__n_type(var_nsig
);
8465 if (var_nt254
== NULL
) {
8466 var256
= 0; /* is null */
8468 var256
= 1; /* arg is null and recv is not */
8471 { /* Inline kernel#Object#!= (var_nt254,var255) on <var_nt254:nullable AType> */
8472 var_other57
= var255
;
8474 var260
= ((short int (*)(val
*, val
*))(var_nt254
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nt254
, var_other57
) /* == on <var_nt254:nullable AType(AType)>*/;
8480 RET_LABEL258
:(void)0;
8486 { /* Inline modelize_class#AType#mtype (var_nt254) on <var_nt254:nullable AType(AType)> */
8487 var264
= var_nt254
->attrs
[COLOR_modelize_class__AType___mtype
].val
; /* _mtype on <var_nt254:nullable AType(AType)> */
8489 RET_LABEL263
:(void)0;
8492 if (unlikely(var262
== NULL
)) {
8493 PRINT_ERROR("Runtime error: %s", "Cast failed");
8494 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 637);
8498 modelize_property__ModelBuilder__check_visibility(var_modelbuilder
, var_nt254
, var262
, var_mpropdef
); /* Direct call modelize_property#ModelBuilder#check_visibility on <var_modelbuilder:ModelBuilder>*/
8506 /* method modelize_property#AMethPropdef#check_signature for (self: Object, ModelBuilder) */
8507 void VIRTUAL_modelize_property__AMethPropdef__check_signature(val
* self
, val
* p0
) {
8508 modelize_property__AMethPropdef__check_signature(self
, p0
); /* Direct call modelize_property#AMethPropdef#check_signature on <self:Object(AMethPropdef)>*/
8511 /* method modelize_property#AAttrPropdef#noinit for (self: AAttrPropdef): Bool */
8512 short int modelize_property__AAttrPropdef__noinit(val
* self
) {
8513 short int var
/* : Bool */;
8514 short int var1
/* : Bool */;
8515 var1
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___noinit
].s
; /* _noinit on <self:AAttrPropdef> */
8520 /* method modelize_property#AAttrPropdef#noinit for (self: Object): Bool */
8521 short int VIRTUAL_modelize_property__AAttrPropdef__noinit(val
* self
) {
8522 short int var
/* : Bool */;
8523 short int var1
/* : Bool */;
8524 short int var3
/* : Bool */;
8525 { /* Inline modelize_property#AAttrPropdef#noinit (self) on <self:Object(AAttrPropdef)> */
8526 var3
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___noinit
].s
; /* _noinit on <self:Object(AAttrPropdef)> */
8534 /* method modelize_property#AAttrPropdef#noinit= for (self: AAttrPropdef, Bool) */
8535 void modelize_property__AAttrPropdef__noinit_61d(val
* self
, short int p0
) {
8536 self
->attrs
[COLOR_modelize_property__AAttrPropdef___noinit
].s
= p0
; /* _noinit on <self:AAttrPropdef> */
8539 /* method modelize_property#AAttrPropdef#noinit= for (self: Object, Bool) */
8540 void VIRTUAL_modelize_property__AAttrPropdef__noinit_61d(val
* self
, short int p0
) {
8541 { /* Inline modelize_property#AAttrPropdef#noinit= (self,p0) on <self:Object(AAttrPropdef)> */
8542 self
->attrs
[COLOR_modelize_property__AAttrPropdef___noinit
].s
= p0
; /* _noinit on <self:Object(AAttrPropdef)> */
8547 /* method modelize_property#AAttrPropdef#is_lazy for (self: AAttrPropdef): Bool */
8548 short int modelize_property__AAttrPropdef__is_lazy(val
* self
) {
8549 short int var
/* : Bool */;
8550 short int var1
/* : Bool */;
8551 var1
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___is_lazy
].s
; /* _is_lazy on <self:AAttrPropdef> */
8556 /* method modelize_property#AAttrPropdef#is_lazy for (self: Object): Bool */
8557 short int VIRTUAL_modelize_property__AAttrPropdef__is_lazy(val
* self
) {
8558 short int var
/* : Bool */;
8559 short int var1
/* : Bool */;
8560 short int var3
/* : Bool */;
8561 { /* Inline modelize_property#AAttrPropdef#is_lazy (self) on <self:Object(AAttrPropdef)> */
8562 var3
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___is_lazy
].s
; /* _is_lazy on <self:Object(AAttrPropdef)> */
8570 /* method modelize_property#AAttrPropdef#is_lazy= for (self: AAttrPropdef, Bool) */
8571 void modelize_property__AAttrPropdef__is_lazy_61d(val
* self
, short int p0
) {
8572 self
->attrs
[COLOR_modelize_property__AAttrPropdef___is_lazy
].s
= p0
; /* _is_lazy on <self:AAttrPropdef> */
8575 /* method modelize_property#AAttrPropdef#is_lazy= for (self: Object, Bool) */
8576 void VIRTUAL_modelize_property__AAttrPropdef__is_lazy_61d(val
* self
, short int p0
) {
8577 { /* Inline modelize_property#AAttrPropdef#is_lazy= (self,p0) on <self:Object(AAttrPropdef)> */
8578 self
->attrs
[COLOR_modelize_property__AAttrPropdef___is_lazy
].s
= p0
; /* _is_lazy on <self:Object(AAttrPropdef)> */
8583 /* method modelize_property#AAttrPropdef#mlazypropdef for (self: AAttrPropdef): nullable MAttributeDef */
8584 val
* modelize_property__AAttrPropdef__mlazypropdef(val
* self
) {
8585 val
* var
/* : nullable MAttributeDef */;
8586 val
* var1
/* : nullable MAttributeDef */;
8587 var1
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___mlazypropdef
].val
; /* _mlazypropdef on <self:AAttrPropdef> */
8592 /* method modelize_property#AAttrPropdef#mlazypropdef for (self: Object): nullable MAttributeDef */
8593 val
* VIRTUAL_modelize_property__AAttrPropdef__mlazypropdef(val
* self
) {
8594 val
* var
/* : nullable MAttributeDef */;
8595 val
* var1
/* : nullable MAttributeDef */;
8596 val
* var3
/* : nullable MAttributeDef */;
8597 { /* Inline modelize_property#AAttrPropdef#mlazypropdef (self) on <self:Object(AAttrPropdef)> */
8598 var3
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___mlazypropdef
].val
; /* _mlazypropdef on <self:Object(AAttrPropdef)> */
8606 /* method modelize_property#AAttrPropdef#mlazypropdef= for (self: AAttrPropdef, nullable MAttributeDef) */
8607 void modelize_property__AAttrPropdef__mlazypropdef_61d(val
* self
, val
* p0
) {
8608 self
->attrs
[COLOR_modelize_property__AAttrPropdef___mlazypropdef
].val
= p0
; /* _mlazypropdef on <self:AAttrPropdef> */
8611 /* method modelize_property#AAttrPropdef#mlazypropdef= for (self: Object, nullable MAttributeDef) */
8612 void VIRTUAL_modelize_property__AAttrPropdef__mlazypropdef_61d(val
* self
, val
* p0
) {
8613 { /* Inline modelize_property#AAttrPropdef#mlazypropdef= (self,p0) on <self:Object(AAttrPropdef)> */
8614 self
->attrs
[COLOR_modelize_property__AAttrPropdef___mlazypropdef
].val
= p0
; /* _mlazypropdef on <self:Object(AAttrPropdef)> */
8619 /* method modelize_property#AAttrPropdef#mreadpropdef for (self: AAttrPropdef): nullable MMethodDef */
8620 val
* modelize_property__AAttrPropdef__mreadpropdef(val
* self
) {
8621 val
* var
/* : nullable MMethodDef */;
8622 val
* var1
/* : nullable MMethodDef */;
8623 var1
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___mreadpropdef
].val
; /* _mreadpropdef on <self:AAttrPropdef> */
8628 /* method modelize_property#AAttrPropdef#mreadpropdef for (self: Object): nullable MMethodDef */
8629 val
* VIRTUAL_modelize_property__AAttrPropdef__mreadpropdef(val
* self
) {
8630 val
* var
/* : nullable MMethodDef */;
8631 val
* var1
/* : nullable MMethodDef */;
8632 val
* var3
/* : nullable MMethodDef */;
8633 { /* Inline modelize_property#AAttrPropdef#mreadpropdef (self) on <self:Object(AAttrPropdef)> */
8634 var3
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___mreadpropdef
].val
; /* _mreadpropdef on <self:Object(AAttrPropdef)> */
8642 /* method modelize_property#AAttrPropdef#mreadpropdef= for (self: AAttrPropdef, nullable MMethodDef) */
8643 void modelize_property__AAttrPropdef__mreadpropdef_61d(val
* self
, val
* p0
) {
8644 self
->attrs
[COLOR_modelize_property__AAttrPropdef___mreadpropdef
].val
= p0
; /* _mreadpropdef on <self:AAttrPropdef> */
8647 /* method modelize_property#AAttrPropdef#mreadpropdef= for (self: Object, nullable MMethodDef) */
8648 void VIRTUAL_modelize_property__AAttrPropdef__mreadpropdef_61d(val
* self
, val
* p0
) {
8649 { /* Inline modelize_property#AAttrPropdef#mreadpropdef= (self,p0) on <self:Object(AAttrPropdef)> */
8650 self
->attrs
[COLOR_modelize_property__AAttrPropdef___mreadpropdef
].val
= p0
; /* _mreadpropdef on <self:Object(AAttrPropdef)> */
8655 /* method modelize_property#AAttrPropdef#mwritepropdef for (self: AAttrPropdef): nullable MMethodDef */
8656 val
* modelize_property__AAttrPropdef__mwritepropdef(val
* self
) {
8657 val
* var
/* : nullable MMethodDef */;
8658 val
* var1
/* : nullable MMethodDef */;
8659 var1
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___mwritepropdef
].val
; /* _mwritepropdef on <self:AAttrPropdef> */
8664 /* method modelize_property#AAttrPropdef#mwritepropdef for (self: Object): nullable MMethodDef */
8665 val
* VIRTUAL_modelize_property__AAttrPropdef__mwritepropdef(val
* self
) {
8666 val
* var
/* : nullable MMethodDef */;
8667 val
* var1
/* : nullable MMethodDef */;
8668 val
* var3
/* : nullable MMethodDef */;
8669 { /* Inline modelize_property#AAttrPropdef#mwritepropdef (self) on <self:Object(AAttrPropdef)> */
8670 var3
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___mwritepropdef
].val
; /* _mwritepropdef on <self:Object(AAttrPropdef)> */
8678 /* method modelize_property#AAttrPropdef#mwritepropdef= for (self: AAttrPropdef, nullable MMethodDef) */
8679 void modelize_property__AAttrPropdef__mwritepropdef_61d(val
* self
, val
* p0
) {
8680 self
->attrs
[COLOR_modelize_property__AAttrPropdef___mwritepropdef
].val
= p0
; /* _mwritepropdef on <self:AAttrPropdef> */
8683 /* method modelize_property#AAttrPropdef#mwritepropdef= for (self: Object, nullable MMethodDef) */
8684 void VIRTUAL_modelize_property__AAttrPropdef__mwritepropdef_61d(val
* self
, val
* p0
) {
8685 { /* Inline modelize_property#AAttrPropdef#mwritepropdef= (self,p0) on <self:Object(AAttrPropdef)> */
8686 self
->attrs
[COLOR_modelize_property__AAttrPropdef___mwritepropdef
].val
= p0
; /* _mwritepropdef on <self:Object(AAttrPropdef)> */