1 #include "modelize_property.sep.0.h"
2 /* method modelize_property#AMethPropdef#check_signature for (self: AMethPropdef, ModelBuilder) */
3 void modelize_property__AMethPropdef__check_signature(val
* self
, val
* p0
) {
4 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
5 val
* var
/* : nullable MPropDef */;
6 val
* var2
/* : nullable MPropDef */;
7 val
* var_mpropdef
/* var mpropdef: nullable MMethodDef */;
8 val
* var3
/* : null */;
9 short int var4
/* : Bool */;
10 short int var5
/* : Bool */;
11 val
* var_other
/* var other: nullable Object */;
12 short int var7
/* : Bool */;
13 short int var9
/* : Bool */;
14 val
* var10
/* : MClassDef */;
15 val
* var12
/* : MClassDef */;
16 val
* var_mclassdef
/* var mclassdef: MClassDef */;
17 val
* var13
/* : MModule */;
18 val
* var15
/* : MModule */;
19 val
* var_mmodule
/* var mmodule: MModule */;
20 val
* var16
/* : nullable ASignature */;
21 val
* var18
/* : nullable ASignature */;
22 val
* var_nsig
/* var nsig: nullable ASignature */;
23 val
* var19
/* : nullable MPropDef */;
24 val
* var21
/* : nullable MPropDef */;
25 val
* var22
/* : nullable MSignature */;
26 val
* var24
/* : nullable MSignature */;
27 val
* var_mysignature
/* var mysignature: nullable MSignature */;
28 val
* var25
/* : null */;
29 short int var26
/* : Bool */;
30 short int var27
/* : Bool */;
31 short int var29
/* : Bool */;
32 short int var31
/* : Bool */;
33 short int var32
/* : Bool */;
34 short int var33
/* : Bool */;
35 val
* var34
/* : MProperty */;
36 val
* var36
/* : MProperty */;
37 val
* var37
/* : MPropDef */;
38 val
* var39
/* : MPropDef */;
39 val
* var40
/* : nullable MSignature */;
40 val
* var42
/* : nullable MSignature */;
41 val
* var_msignature
/* var msignature: nullable MSignature */;
42 val
* var43
/* : null */;
43 short int var44
/* : Bool */;
44 short int var45
/* : Bool */;
45 short int var47
/* : Bool */;
46 short int var49
/* : Bool */;
47 val
* var50
/* : nullable MType */;
48 val
* var52
/* : nullable MType */;
49 val
* var_precursor_ret_type
/* var precursor_ret_type: nullable MType */;
50 val
* var53
/* : nullable MType */;
51 val
* var55
/* : nullable MType */;
52 val
* var_ret_type
/* var ret_type: nullable MType */;
53 short int var56
/* : Bool */;
54 val
* var57
/* : null */;
55 short int var58
/* : Bool */;
56 short int var59
/* : Bool */;
57 val
* var_other61
/* var other: nullable Object */;
58 short int var62
/* : Bool */;
59 short int var63
/* : Bool */;
60 short int var64
/* : Bool */;
61 short int var_
/* var : Bool */;
62 val
* var65
/* : null */;
63 short int var66
/* : Bool */;
64 short int var67
/* : Bool */;
65 short int var69
/* : Bool */;
66 short int var71
/* : Bool */;
67 val
* var72
/* : nullable AType */;
68 val
* var74
/* : nullable AType */;
70 val
* var75
/* : String */;
71 char* var76
/* : NativeString */;
72 long var77
/* : Int */;
73 val
* var78
/* : FlatString */;
74 val
* var79
/* : MProperty */;
75 val
* var81
/* : MProperty */;
76 static val
* varonce82
;
77 val
* var83
/* : String */;
78 char* var84
/* : NativeString */;
79 long var85
/* : Int */;
80 val
* var86
/* : FlatString */;
81 val
* var87
/* : Array[Object] */;
82 long var88
/* : Int */;
83 val
* var89
/* : NativeArray[Object] */;
84 val
* var90
/* : String */;
85 long var91
/* : Int */;
86 long var92
/* : Int */;
87 short int var93
/* : Bool */;
88 short int var95
/* : Bool */;
91 const char* var_class_name
;
92 short int var96
/* : Bool */;
93 long var97
/* : Int */;
94 long var_i
/* var i: Int */;
95 long var98
/* : Int */;
96 long var_99
/* var : Int */;
97 short int var100
/* : Bool */;
98 short int var102
/* : Bool */;
101 const char* var_class_name105
;
102 short int var106
/* : Bool */;
103 val
* var107
/* : Array[MParameter] */;
104 val
* var109
/* : Array[MParameter] */;
105 val
* var110
/* : nullable Object */;
106 val
* var111
/* : MType */;
107 val
* var113
/* : MType */;
108 val
* var_myt
/* var myt: MType */;
109 val
* var114
/* : Array[MParameter] */;
110 val
* var116
/* : Array[MParameter] */;
111 val
* var117
/* : nullable Object */;
112 val
* var118
/* : MType */;
113 val
* var120
/* : MType */;
114 val
* var_prt
/* var prt: MType */;
115 short int var121
/* : Bool */;
116 val
* var122
/* : MClassType */;
117 val
* var124
/* : MClassType */;
118 short int var125
/* : Bool */;
119 short int var126
/* : Bool */;
120 short int var_127
/* var : Bool */;
121 val
* var128
/* : MClassType */;
122 val
* var130
/* : MClassType */;
123 short int var131
/* : Bool */;
124 short int var132
/* : Bool */;
125 val
* var133
/* : ANodes[AParam] */;
126 val
* var135
/* : ANodes[AParam] */;
127 val
* var136
/* : ANode */;
128 static val
* varonce137
;
129 val
* var138
/* : String */;
130 char* var139
/* : NativeString */;
131 long var140
/* : Int */;
132 val
* var141
/* : FlatString */;
133 val
* var142
/* : Array[MParameter] */;
134 val
* var144
/* : Array[MParameter] */;
135 val
* var145
/* : nullable Object */;
136 val
* var146
/* : String */;
137 val
* var148
/* : String */;
138 static val
* varonce149
;
139 val
* var150
/* : String */;
140 char* var151
/* : NativeString */;
141 long var152
/* : Int */;
142 val
* var153
/* : FlatString */;
143 static val
* varonce154
;
144 val
* var155
/* : String */;
145 char* var156
/* : NativeString */;
146 long var157
/* : Int */;
147 val
* var158
/* : FlatString */;
148 static val
* varonce159
;
149 val
* var160
/* : String */;
150 char* var161
/* : NativeString */;
151 long var162
/* : Int */;
152 val
* var163
/* : FlatString */;
153 val
* var164
/* : MProperty */;
154 val
* var166
/* : MProperty */;
155 val
* var167
/* : MPropDef */;
156 val
* var169
/* : MPropDef */;
157 static val
* varonce170
;
158 val
* var171
/* : String */;
159 char* var172
/* : NativeString */;
160 long var173
/* : Int */;
161 val
* var174
/* : FlatString */;
162 val
* var175
/* : Array[Object] */;
163 long var176
/* : Int */;
164 val
* var177
/* : NativeArray[Object] */;
165 val
* var178
/* : String */;
166 long var179
/* : Int */;
167 long var180
/* : Int */;
168 val
* var181
/* : null */;
169 short int var182
/* : Bool */;
170 short int var183
/* : Bool */;
171 short int var185
/* : Bool */;
172 short int var186
/* : Bool */;
173 short int var187
/* : Bool */;
174 val
* var188
/* : null */;
175 short int var189
/* : Bool */;
176 short int var190
/* : Bool */;
177 short int var192
/* : Bool */;
178 short int var194
/* : Bool */;
179 val
* var195
/* : MClassType */;
180 val
* var197
/* : MClassType */;
181 short int var198
/* : Bool */;
182 short int var199
/* : Bool */;
183 val
* var200
/* : nullable AType */;
184 val
* var202
/* : nullable AType */;
185 static val
* varonce203
;
186 val
* var204
/* : String */;
187 char* var205
/* : NativeString */;
188 long var206
/* : Int */;
189 val
* var207
/* : FlatString */;
190 static val
* varonce208
;
191 val
* var209
/* : String */;
192 char* var210
/* : NativeString */;
193 long var211
/* : Int */;
194 val
* var212
/* : FlatString */;
195 static val
* varonce213
;
196 val
* var214
/* : String */;
197 char* var215
/* : NativeString */;
198 long var216
/* : Int */;
199 val
* var217
/* : FlatString */;
200 val
* var218
/* : MProperty */;
201 val
* var220
/* : MProperty */;
202 val
* var221
/* : MPropDef */;
203 val
* var223
/* : MPropDef */;
204 static val
* varonce224
;
205 val
* var225
/* : String */;
206 char* var226
/* : NativeString */;
207 long var227
/* : Int */;
208 val
* var228
/* : FlatString */;
209 val
* var229
/* : Array[Object] */;
210 long var230
/* : Int */;
211 val
* var231
/* : NativeArray[Object] */;
212 val
* var232
/* : String */;
213 long var233
/* : Int */;
214 long var234
/* : Int */;
215 short int var235
/* : Bool */;
216 short int var237
/* : Bool */;
219 const char* var_class_name240
;
220 short int var241
/* : Bool */;
221 long var242
/* : Int */;
222 long var_i243
/* var i: Int */;
223 long var244
/* : Int */;
224 long var_245
/* var : Int */;
225 short int var246
/* : Bool */;
226 short int var248
/* : Bool */;
229 const char* var_class_name251
;
230 short int var252
/* : Bool */;
231 val
* var253
/* : ANodes[AParam] */;
232 val
* var255
/* : ANodes[AParam] */;
233 val
* var256
/* : ANode */;
234 val
* var257
/* : nullable AType */;
235 val
* var259
/* : nullable AType */;
236 val
* var_nt
/* var nt: nullable AType */;
237 val
* var260
/* : null */;
238 short int var261
/* : Bool */;
239 short int var262
/* : Bool */;
240 short int var264
/* : Bool */;
241 short int var265
/* : Bool */;
242 short int var266
/* : Bool */;
243 val
* var267
/* : nullable MType */;
244 val
* var269
/* : nullable MType */;
245 long var270
/* : Int */;
246 long var271
/* : Int */;
247 val
* var273
/* : nullable AType */;
248 val
* var275
/* : nullable AType */;
249 val
* var_nt276
/* var nt: nullable AType */;
250 val
* var277
/* : null */;
251 short int var278
/* : Bool */;
252 short int var279
/* : Bool */;
253 short int var281
/* : Bool */;
254 short int var282
/* : Bool */;
255 short int var283
/* : Bool */;
256 val
* var284
/* : nullable MType */;
257 val
* var286
/* : nullable MType */;
258 var_modelbuilder
= p0
;
260 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
261 var2
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
268 if (var_mpropdef
== NULL
) {
269 var4
= 1; /* is null */
271 var4
= 0; /* arg is null but recv is not */
274 { /* Inline kernel#Object#== (var_mpropdef,var3) on <var_mpropdef:nullable MMethodDef> */
277 { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
278 var9
= var_mpropdef
== var_other
;
295 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
296 var12
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
297 if (unlikely(var12
== NULL
)) {
298 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
299 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
306 var_mclassdef
= var10
;
308 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
309 var15
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
310 if (unlikely(var15
== NULL
)) {
311 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
312 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
321 { /* Inline parser_nodes#AMethPropdef#n_signature (self) on <self:AMethPropdef> */
322 var18
= self
->attrs
[COLOR_parser_nodes__AMethPropdef___n_signature
].val
; /* _n_signature on <self:AMethPropdef> */
329 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
330 var21
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
336 PRINT_ERROR("Runtime error: %s", "Receiver is null");
337 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 691);
340 { /* Inline model#MMethodDef#msignature (var19) on <var19:nullable MPropDef(nullable MMethodDef)> */
341 if (unlikely(var19
== NULL
)) {
342 PRINT_ERROR("Runtime error: %s", "Receiver is null");
343 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1958);
346 var24
= var19
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var19:nullable MPropDef(nullable MMethodDef)> */
351 var_mysignature
= var22
;
353 if (var_mysignature
== NULL
) {
354 var26
= 1; /* is null */
356 var26
= 0; /* arg is null but recv is not */
359 { /* Inline kernel#Object#== (var_mysignature,var25) on <var_mysignature:nullable MSignature> */
362 { /* Inline kernel#Object#is_same_instance (var_mysignature,var_other) on <var_mysignature:nullable MSignature(MSignature)> */
363 var31
= var_mysignature
== var_other
;
380 var32
= model__MPropDef__is_intro(var_mpropdef
);
385 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
386 var36
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
387 if (unlikely(var36
== NULL
)) {
388 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
389 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
397 { /* Inline model#MProperty#intro (var34) on <var34:MProperty(MMethod)> */
398 var39
= var34
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var34:MProperty(MMethod)> */
399 if (unlikely(var39
== NULL
)) {
400 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
401 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
409 { /* Inline model#MMethodDef#msignature (var37) on <var37:MPropDef(MMethodDef)> */
410 var42
= var37
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var37:MPropDef(MMethodDef)> */
415 var_msignature
= var40
;
417 if (var_msignature
== NULL
) {
418 var44
= 1; /* is null */
420 var44
= 0; /* arg is null but recv is not */
423 { /* Inline kernel#Object#== (var_msignature,var43) on <var_msignature:nullable MSignature> */
426 { /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on <var_msignature:nullable MSignature(MSignature)> */
427 var49
= var_msignature
== var_other
;
444 { /* Inline model#MSignature#return_mtype (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
445 var52
= var_msignature
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <var_msignature:nullable MSignature(MSignature)> */
450 var_precursor_ret_type
= var50
;
452 { /* Inline model#MSignature#return_mtype (var_mysignature) on <var_mysignature:nullable MSignature(MSignature)> */
453 var55
= var_mysignature
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <var_mysignature:nullable MSignature(MSignature)> */
458 var_ret_type
= var53
;
460 if (var_ret_type
== NULL
) {
461 var58
= 0; /* is null */
463 var58
= 1; /* arg is null and recv is not */
466 { /* Inline kernel#Object#!= (var_ret_type,var57) on <var_ret_type:nullable MType> */
469 var63
= ((short int (*)(val
*, val
*))(var_ret_type
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ret_type
, var_other61
) /* == on <var_ret_type:nullable MType(MType)>*/;
482 if (var_precursor_ret_type
== NULL
) {
483 var66
= 1; /* is null */
485 var66
= 0; /* arg is null but recv is not */
488 { /* Inline kernel#Object#== (var_precursor_ret_type,var65) on <var_precursor_ret_type:nullable MType> */
491 { /* Inline kernel#Object#is_same_instance (var_precursor_ret_type,var_other) on <var_precursor_ret_type:nullable MType(MType)> */
492 var71
= var_precursor_ret_type
== var_other
;
509 if (var_nsig
== NULL
) {
510 PRINT_ERROR("Runtime error: %s", "Receiver is null");
511 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 703);
514 { /* Inline parser_nodes#ASignature#n_type (var_nsig) on <var_nsig:nullable ASignature> */
515 if (unlikely(var_nsig
== NULL
)) {
516 PRINT_ERROR("Runtime error: %s", "Receiver is null");
517 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1281);
520 var74
= var_nsig
->attrs
[COLOR_parser_nodes__ASignature___n_type
].val
; /* _n_type on <var_nsig:nullable ASignature> */
525 if (unlikely(var72
== NULL
)) {
526 PRINT_ERROR("Runtime error: %s", "Cast failed");
527 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 703);
533 var76
= "Redef Error: ";
535 var78
= string__NativeString__to_s_with_length(var76
, var77
);
540 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
541 var81
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
542 if (unlikely(var81
== NULL
)) {
543 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
544 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
554 var84
= " is a procedure, not a function.";
556 var86
= string__NativeString__to_s_with_length(var84
, var85
);
560 var87
= NEW_array__Array(&type_array__Arraykernel__Object
);
561 { /* var87 = array_instance Array[Object] */
563 var89
= NEW_array__NativeArray(var88
, &type_array__NativeArraykernel__Object
);
564 ((struct instance_array__NativeArray
*)var89
)->values
[0] = (val
*) var75
;
565 ((struct instance_array__NativeArray
*)var89
)->values
[1] = (val
*) var79
;
566 ((struct instance_array__NativeArray
*)var89
)->values
[2] = (val
*) var83
;
568 ((void (*)(val
*, val
*, long))(var87
->class->vft
[COLOR_array__Array__with_native
]))(var87
, var89
, var88
) /* with_native on <var87:Array[Object]>*/;
572 var90
= ((val
* (*)(val
*))(var87
->class->vft
[COLOR_string__Object__to_s
]))(var87
) /* to_s on <var87:Array[Object]>*/;
575 modelbuilder__ModelBuilder__error(var_modelbuilder
, var72
, var90
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
581 var91
= model__MSignature__arity(var_mysignature
);
585 { /* Inline kernel#Int#> (var91,var92) on <var91:Int> */
586 /* Covariant cast for argument 0 (i) <var92:Int> isa OTHER */
587 /* <var92:Int> isa OTHER */
588 var95
= 1; /* easy <var92:Int> isa OTHER*/
589 if (unlikely(!var95
)) {
590 var_class_name
= type_kernel__Int
.name
;
591 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
592 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
595 var96
= var91
> var92
;
605 var98
= model__MSignature__arity(var_mysignature
);
610 { /* Inline kernel#Int#< (var_i,var_99) on <var_i:Int> */
611 /* Covariant cast for argument 0 (i) <var_99:Int> isa OTHER */
612 /* <var_99:Int> isa OTHER */
613 var102
= 1; /* easy <var_99:Int> isa OTHER*/
614 if (unlikely(!var102
)) {
615 var_class_name105
= type_kernel__Int
.name
;
616 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name105
);
617 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
620 var106
= var_i
< var_99
;
623 RET_LABEL101
:(void)0;
628 { /* Inline model#MSignature#mparameters (var_mysignature) on <var_mysignature:nullable MSignature(MSignature)> */
629 var109
= var_mysignature
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var_mysignature:nullable MSignature(MSignature)> */
630 if (unlikely(var109
== NULL
)) {
631 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
632 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
636 RET_LABEL108
:(void)0;
640 var110
= array__Array___91d_93d(var107
, var_i
);
643 { /* Inline model#MParameter#mtype (var110) on <var110:nullable Object(MParameter)> */
644 var113
= var110
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var110:nullable Object(MParameter)> */
645 if (unlikely(var113
== NULL
)) {
646 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
647 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
651 RET_LABEL112
:(void)0;
656 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
657 var116
= var_msignature
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:nullable MSignature(MSignature)> */
658 if (unlikely(var116
== NULL
)) {
659 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
660 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
664 RET_LABEL115
:(void)0;
668 var117
= array__Array___91d_93d(var114
, var_i
);
671 { /* Inline model#MParameter#mtype (var117) on <var117:nullable Object(MParameter)> */
672 var120
= var117
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var117:nullable Object(MParameter)> */
673 if (unlikely(var120
== NULL
)) {
674 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
675 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
679 RET_LABEL119
:(void)0;
684 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
685 var124
= var_mclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
686 if (unlikely(var124
== NULL
)) {
687 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
688 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
692 RET_LABEL123
:(void)0;
696 var125
= model__MType__is_subtype(var_myt
, var_mmodule
, var122
, var_prt
);
704 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
705 var130
= var_mclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
706 if (unlikely(var130
== NULL
)) {
707 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
708 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
712 RET_LABEL129
:(void)0;
716 var131
= model__MType__is_subtype(var_prt
, var_mmodule
, var128
, var_myt
);
722 if (var_nsig
== NULL
) {
723 PRINT_ERROR("Runtime error: %s", "Receiver is null");
724 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 714);
727 { /* Inline parser_nodes#ASignature#n_params (var_nsig) on <var_nsig:nullable ASignature> */
728 if (unlikely(var_nsig
== NULL
)) {
729 PRINT_ERROR("Runtime error: %s", "Receiver is null");
730 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1279);
733 var135
= var_nsig
->attrs
[COLOR_parser_nodes__ASignature___n_params
].val
; /* _n_params on <var_nsig:nullable ASignature> */
734 if (unlikely(var135
== NULL
)) {
735 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
736 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1279);
740 RET_LABEL134
:(void)0;
744 var136
= parser_nodes__ANodes___91d_93d(var133
, var_i
);
749 var139
= "Redef Error: Wrong type for parameter `";
751 var141
= string__NativeString__to_s_with_length(var139
, var140
);
756 { /* Inline model#MSignature#mparameters (var_mysignature) on <var_mysignature:nullable MSignature(MSignature)> */
757 var144
= var_mysignature
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var_mysignature:nullable MSignature(MSignature)> */
758 if (unlikely(var144
== NULL
)) {
759 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
760 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
764 RET_LABEL143
:(void)0;
768 var145
= array__Array___91d_93d(var142
, var_i
);
771 { /* Inline model#MParameter#name (var145) on <var145:nullable Object(MParameter)> */
772 var148
= var145
->attrs
[COLOR_model__MParameter___name
].val
; /* _name on <var145:nullable Object(MParameter)> */
773 if (unlikely(var148
== NULL
)) {
774 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
775 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1562);
779 RET_LABEL147
:(void)0;
785 var151
= "\'. found ";
787 var153
= string__NativeString__to_s_with_length(var151
, var152
);
794 var156
= ", expected ";
796 var158
= string__NativeString__to_s_with_length(var156
, var157
);
805 var163
= string__NativeString__to_s_with_length(var161
, var162
);
810 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
811 var166
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
812 if (unlikely(var166
== NULL
)) {
813 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
814 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
818 RET_LABEL165
:(void)0;
822 { /* Inline model#MProperty#intro (var164) on <var164:MProperty(MMethod)> */
823 var169
= var164
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var164:MProperty(MMethod)> */
824 if (unlikely(var169
== NULL
)) {
825 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
826 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
830 RET_LABEL168
:(void)0;
838 var174
= string__NativeString__to_s_with_length(var172
, var173
);
842 var175
= NEW_array__Array(&type_array__Arraykernel__Object
);
843 { /* var175 = array_instance Array[Object] */
845 var177
= NEW_array__NativeArray(var176
, &type_array__NativeArraykernel__Object
);
846 ((struct instance_array__NativeArray
*)var177
)->values
[0] = (val
*) var138
;
847 ((struct instance_array__NativeArray
*)var177
)->values
[1] = (val
*) var146
;
848 ((struct instance_array__NativeArray
*)var177
)->values
[2] = (val
*) var150
;
849 ((struct instance_array__NativeArray
*)var177
)->values
[3] = (val
*) var_myt
;
850 ((struct instance_array__NativeArray
*)var177
)->values
[4] = (val
*) var155
;
851 ((struct instance_array__NativeArray
*)var177
)->values
[5] = (val
*) var_prt
;
852 ((struct instance_array__NativeArray
*)var177
)->values
[6] = (val
*) var160
;
853 ((struct instance_array__NativeArray
*)var177
)->values
[7] = (val
*) var167
;
854 ((struct instance_array__NativeArray
*)var177
)->values
[8] = (val
*) var171
;
856 ((void (*)(val
*, val
*, long))(var175
->class->vft
[COLOR_array__Array__with_native
]))(var175
, var177
, var176
) /* with_native on <var175:Array[Object]>*/;
860 var178
= ((val
* (*)(val
*))(var175
->class->vft
[COLOR_string__Object__to_s
]))(var175
) /* to_s on <var175:Array[Object]>*/;
863 modelbuilder__ModelBuilder__error(var_modelbuilder
, var136
, var178
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
869 var180
= kernel__Int__successor(var_i
, var179
);
876 BREAK_label
: (void)0;
880 if (var_precursor_ret_type
== NULL
) {
881 var182
= 0; /* is null */
883 var182
= 1; /* arg is null and recv is not */
886 { /* Inline kernel#Object#!= (var_precursor_ret_type,var181) on <var_precursor_ret_type:nullable MType> */
887 var_other61
= var181
;
889 var186
= ((short int (*)(val
*, val
*))(var_precursor_ret_type
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_precursor_ret_type
, var_other61
) /* == on <var_precursor_ret_type:nullable MType(MType)>*/;
895 RET_LABEL184
:(void)0;
901 if (var_ret_type
== NULL
) {
902 var189
= 1; /* is null */
904 var189
= 0; /* arg is null but recv is not */
907 { /* Inline kernel#Object#== (var_ret_type,var188) on <var_ret_type:nullable MType> */
910 { /* Inline kernel#Object#is_same_instance (var_ret_type,var_other) on <var_ret_type:nullable MType(MType)> */
911 var194
= var_ret_type
== var_other
;
914 RET_LABEL193
:(void)0;
919 RET_LABEL191
:(void)0;
924 var_ret_type
= var_precursor_ret_type
;
927 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
928 var197
= var_mclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
929 if (unlikely(var197
== NULL
)) {
930 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
931 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
935 RET_LABEL196
:(void)0;
939 var198
= model__MType__is_subtype(var_ret_type
, var_mmodule
, var195
, var_precursor_ret_type
);
943 if (var_nsig
== NULL
) {
944 PRINT_ERROR("Runtime error: %s", "Receiver is null");
945 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 723);
948 { /* Inline parser_nodes#ASignature#n_type (var_nsig) on <var_nsig:nullable ASignature> */
949 if (unlikely(var_nsig
== NULL
)) {
950 PRINT_ERROR("Runtime error: %s", "Receiver is null");
951 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1281);
954 var202
= var_nsig
->attrs
[COLOR_parser_nodes__ASignature___n_type
].val
; /* _n_type on <var_nsig:nullable ASignature> */
956 RET_LABEL201
:(void)0;
959 if (unlikely(var200
== NULL
)) {
960 PRINT_ERROR("Runtime error: %s", "Cast failed");
961 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 723);
967 var205
= "Redef Error: Wrong return type. found ";
969 var207
= string__NativeString__to_s_with_length(var205
, var206
);
976 var210
= ", expected ";
978 var212
= string__NativeString__to_s_with_length(var210
, var211
);
987 var217
= string__NativeString__to_s_with_length(var215
, var216
);
992 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
993 var220
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
994 if (unlikely(var220
== NULL
)) {
995 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
996 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
1000 RET_LABEL219
:(void)0;
1004 { /* Inline model#MProperty#intro (var218) on <var218:MProperty(MMethod)> */
1005 var223
= var218
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var218:MProperty(MMethod)> */
1006 if (unlikely(var223
== NULL
)) {
1007 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
1008 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
1012 RET_LABEL222
:(void)0;
1016 var225
= varonce224
;
1020 var228
= string__NativeString__to_s_with_length(var226
, var227
);
1022 varonce224
= var225
;
1024 var229
= NEW_array__Array(&type_array__Arraykernel__Object
);
1025 { /* var229 = array_instance Array[Object] */
1027 var231
= NEW_array__NativeArray(var230
, &type_array__NativeArraykernel__Object
);
1028 ((struct instance_array__NativeArray
*)var231
)->values
[0] = (val
*) var204
;
1029 ((struct instance_array__NativeArray
*)var231
)->values
[1] = (val
*) var_ret_type
;
1030 ((struct instance_array__NativeArray
*)var231
)->values
[2] = (val
*) var209
;
1031 ((struct instance_array__NativeArray
*)var231
)->values
[3] = (val
*) var_precursor_ret_type
;
1032 ((struct instance_array__NativeArray
*)var231
)->values
[4] = (val
*) var214
;
1033 ((struct instance_array__NativeArray
*)var231
)->values
[5] = (val
*) var221
;
1034 ((struct instance_array__NativeArray
*)var231
)->values
[6] = (val
*) var225
;
1036 ((void (*)(val
*, val
*, long))(var229
->class->vft
[COLOR_array__Array__with_native
]))(var229
, var231
, var230
) /* with_native on <var229:Array[Object]>*/;
1040 var232
= ((val
* (*)(val
*))(var229
->class->vft
[COLOR_string__Object__to_s
]))(var229
) /* to_s on <var229:Array[Object]>*/;
1043 modelbuilder__ModelBuilder__error(var_modelbuilder
, var200
, var232
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
1053 var233
= model__MSignature__arity(var_mysignature
);
1057 { /* Inline kernel#Int#> (var233,var234) on <var233:Int> */
1058 /* Covariant cast for argument 0 (i) <var234:Int> isa OTHER */
1059 /* <var234:Int> isa OTHER */
1060 var237
= 1; /* easy <var234:Int> isa OTHER*/
1061 if (unlikely(!var237
)) {
1062 var_class_name240
= type_kernel__Int
.name
;
1063 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name240
);
1064 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
1067 var241
= var233
> var234
;
1070 RET_LABEL236
:(void)0;
1077 var244
= model__MSignature__arity(var_mysignature
);
1082 { /* Inline kernel#Int#< (var_i243,var_245) on <var_i243:Int> */
1083 /* Covariant cast for argument 0 (i) <var_245:Int> isa OTHER */
1084 /* <var_245:Int> isa OTHER */
1085 var248
= 1; /* easy <var_245:Int> isa OTHER*/
1086 if (unlikely(!var248
)) {
1087 var_class_name251
= type_kernel__Int
.name
;
1088 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name251
);
1089 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
1092 var252
= var_i243
< var_245
;
1095 RET_LABEL247
:(void)0;
1099 if (var_nsig
== NULL
) {
1100 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1101 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 731);
1104 { /* Inline parser_nodes#ASignature#n_params (var_nsig) on <var_nsig:nullable ASignature> */
1105 if (unlikely(var_nsig
== NULL
)) {
1106 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1107 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1279);
1110 var255
= var_nsig
->attrs
[COLOR_parser_nodes__ASignature___n_params
].val
; /* _n_params on <var_nsig:nullable ASignature> */
1111 if (unlikely(var255
== NULL
)) {
1112 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
1113 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1279);
1117 RET_LABEL254
:(void)0;
1121 var256
= parser_nodes__ANodes___91d_93d(var253
, var_i243
);
1124 { /* Inline parser_nodes#AParam#n_type (var256) on <var256:ANode(AParam)> */
1125 var259
= var256
->attrs
[COLOR_parser_nodes__AParam___n_type
].val
; /* _n_type on <var256:ANode(AParam)> */
1127 RET_LABEL258
:(void)0;
1132 if (var_nt
== NULL
) {
1133 var261
= 0; /* is null */
1135 var261
= 1; /* arg is null and recv is not */
1138 { /* Inline kernel#Object#!= (var_nt,var260) on <var_nt:nullable AType> */
1139 var_other61
= var260
;
1141 var265
= ((short int (*)(val
*, val
*))(var_nt
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nt
, var_other61
) /* == on <var_nt:nullable AType(AType)>*/;
1147 RET_LABEL263
:(void)0;
1153 { /* Inline modelize_class#AType#mtype (var_nt) on <var_nt:nullable AType(AType)> */
1154 var269
= var_nt
->attrs
[COLOR_modelize_class__AType___mtype
].val
; /* _mtype on <var_nt:nullable AType(AType)> */
1156 RET_LABEL268
:(void)0;
1159 if (unlikely(var267
== NULL
)) {
1160 PRINT_ERROR("Runtime error: %s", "Cast failed");
1161 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 732);
1165 modelize_property__ModelBuilder__check_visibility(var_modelbuilder
, var_nt
, var267
, var_mpropdef
); /* Direct call modelize_property#ModelBuilder#check_visibility on <var_modelbuilder:ModelBuilder>*/
1171 var271
= kernel__Int__successor(var_i243
, var270
);
1175 goto BREAK_label272
;
1178 BREAK_label272
: (void)0;
1179 if (var_nsig
== NULL
) {
1180 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1181 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 734);
1184 { /* Inline parser_nodes#ASignature#n_type (var_nsig) on <var_nsig:nullable ASignature> */
1185 if (unlikely(var_nsig
== NULL
)) {
1186 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1187 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1281);
1190 var275
= var_nsig
->attrs
[COLOR_parser_nodes__ASignature___n_type
].val
; /* _n_type on <var_nsig:nullable ASignature> */
1192 RET_LABEL274
:(void)0;
1197 if (var_nt276
== NULL
) {
1198 var278
= 0; /* is null */
1200 var278
= 1; /* arg is null and recv is not */
1203 { /* Inline kernel#Object#!= (var_nt276,var277) on <var_nt276:nullable AType> */
1204 var_other61
= var277
;
1206 var282
= ((short int (*)(val
*, val
*))(var_nt276
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nt276
, var_other61
) /* == on <var_nt276:nullable AType(AType)>*/;
1212 RET_LABEL280
:(void)0;
1218 { /* Inline modelize_class#AType#mtype (var_nt276) on <var_nt276:nullable AType(AType)> */
1219 var286
= var_nt276
->attrs
[COLOR_modelize_class__AType___mtype
].val
; /* _mtype on <var_nt276:nullable AType(AType)> */
1221 RET_LABEL285
:(void)0;
1224 if (unlikely(var284
== NULL
)) {
1225 PRINT_ERROR("Runtime error: %s", "Cast failed");
1226 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 735);
1230 modelize_property__ModelBuilder__check_visibility(var_modelbuilder
, var_nt276
, var284
, var_mpropdef
); /* Direct call modelize_property#ModelBuilder#check_visibility on <var_modelbuilder:ModelBuilder>*/
1238 /* method modelize_property#AMethPropdef#check_signature for (self: Object, ModelBuilder) */
1239 void VIRTUAL_modelize_property__AMethPropdef__check_signature(val
* self
, val
* p0
) {
1240 modelize_property__AMethPropdef__check_signature(self
, p0
); /* Direct call modelize_property#AMethPropdef#check_signature on <self:Object(AMethPropdef)>*/
1243 /* method modelize_property#AAttrPropdef#noinit for (self: AAttrPropdef): Bool */
1244 short int modelize_property__AAttrPropdef__noinit(val
* self
) {
1245 short int var
/* : Bool */;
1246 short int var1
/* : Bool */;
1247 var1
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___noinit
].s
; /* _noinit on <self:AAttrPropdef> */
1252 /* method modelize_property#AAttrPropdef#noinit for (self: Object): Bool */
1253 short int VIRTUAL_modelize_property__AAttrPropdef__noinit(val
* self
) {
1254 short int var
/* : Bool */;
1255 short int var1
/* : Bool */;
1256 short int var3
/* : Bool */;
1257 { /* Inline modelize_property#AAttrPropdef#noinit (self) on <self:Object(AAttrPropdef)> */
1258 var3
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___noinit
].s
; /* _noinit on <self:Object(AAttrPropdef)> */
1266 /* method modelize_property#AAttrPropdef#noinit= for (self: AAttrPropdef, Bool) */
1267 void modelize_property__AAttrPropdef__noinit_61d(val
* self
, short int p0
) {
1268 self
->attrs
[COLOR_modelize_property__AAttrPropdef___noinit
].s
= p0
; /* _noinit on <self:AAttrPropdef> */
1271 /* method modelize_property#AAttrPropdef#noinit= for (self: Object, Bool) */
1272 void VIRTUAL_modelize_property__AAttrPropdef__noinit_61d(val
* self
, short int p0
) {
1273 { /* Inline modelize_property#AAttrPropdef#noinit= (self,p0) on <self:Object(AAttrPropdef)> */
1274 self
->attrs
[COLOR_modelize_property__AAttrPropdef___noinit
].s
= p0
; /* _noinit on <self:Object(AAttrPropdef)> */
1279 /* method modelize_property#AAttrPropdef#is_lazy for (self: AAttrPropdef): Bool */
1280 short int modelize_property__AAttrPropdef__is_lazy(val
* self
) {
1281 short int var
/* : Bool */;
1282 short int var1
/* : Bool */;
1283 var1
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___is_lazy
].s
; /* _is_lazy on <self:AAttrPropdef> */
1288 /* method modelize_property#AAttrPropdef#is_lazy for (self: Object): Bool */
1289 short int VIRTUAL_modelize_property__AAttrPropdef__is_lazy(val
* self
) {
1290 short int var
/* : Bool */;
1291 short int var1
/* : Bool */;
1292 short int var3
/* : Bool */;
1293 { /* Inline modelize_property#AAttrPropdef#is_lazy (self) on <self:Object(AAttrPropdef)> */
1294 var3
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___is_lazy
].s
; /* _is_lazy on <self:Object(AAttrPropdef)> */
1302 /* method modelize_property#AAttrPropdef#is_lazy= for (self: AAttrPropdef, Bool) */
1303 void modelize_property__AAttrPropdef__is_lazy_61d(val
* self
, short int p0
) {
1304 self
->attrs
[COLOR_modelize_property__AAttrPropdef___is_lazy
].s
= p0
; /* _is_lazy on <self:AAttrPropdef> */
1307 /* method modelize_property#AAttrPropdef#is_lazy= for (self: Object, Bool) */
1308 void VIRTUAL_modelize_property__AAttrPropdef__is_lazy_61d(val
* self
, short int p0
) {
1309 { /* Inline modelize_property#AAttrPropdef#is_lazy= (self,p0) on <self:Object(AAttrPropdef)> */
1310 self
->attrs
[COLOR_modelize_property__AAttrPropdef___is_lazy
].s
= p0
; /* _is_lazy on <self:Object(AAttrPropdef)> */
1315 /* method modelize_property#AAttrPropdef#has_value for (self: AAttrPropdef): Bool */
1316 short int modelize_property__AAttrPropdef__has_value(val
* self
) {
1317 short int var
/* : Bool */;
1318 short int var1
/* : Bool */;
1319 var1
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___has_value
].s
; /* _has_value on <self:AAttrPropdef> */
1324 /* method modelize_property#AAttrPropdef#has_value for (self: Object): Bool */
1325 short int VIRTUAL_modelize_property__AAttrPropdef__has_value(val
* self
) {
1326 short int var
/* : Bool */;
1327 short int var1
/* : Bool */;
1328 short int var3
/* : Bool */;
1329 { /* Inline modelize_property#AAttrPropdef#has_value (self) on <self:Object(AAttrPropdef)> */
1330 var3
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___has_value
].s
; /* _has_value on <self:Object(AAttrPropdef)> */
1338 /* method modelize_property#AAttrPropdef#has_value= for (self: AAttrPropdef, Bool) */
1339 void modelize_property__AAttrPropdef__has_value_61d(val
* self
, short int p0
) {
1340 self
->attrs
[COLOR_modelize_property__AAttrPropdef___has_value
].s
= p0
; /* _has_value on <self:AAttrPropdef> */
1343 /* method modelize_property#AAttrPropdef#has_value= for (self: Object, Bool) */
1344 void VIRTUAL_modelize_property__AAttrPropdef__has_value_61d(val
* self
, short int p0
) {
1345 { /* Inline modelize_property#AAttrPropdef#has_value= (self,p0) on <self:Object(AAttrPropdef)> */
1346 self
->attrs
[COLOR_modelize_property__AAttrPropdef___has_value
].s
= p0
; /* _has_value on <self:Object(AAttrPropdef)> */
1351 /* method modelize_property#AAttrPropdef#mlazypropdef for (self: AAttrPropdef): nullable MAttributeDef */
1352 val
* modelize_property__AAttrPropdef__mlazypropdef(val
* self
) {
1353 val
* var
/* : nullable MAttributeDef */;
1354 val
* var1
/* : nullable MAttributeDef */;
1355 var1
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___mlazypropdef
].val
; /* _mlazypropdef on <self:AAttrPropdef> */
1360 /* method modelize_property#AAttrPropdef#mlazypropdef for (self: Object): nullable MAttributeDef */
1361 val
* VIRTUAL_modelize_property__AAttrPropdef__mlazypropdef(val
* self
) {
1362 val
* var
/* : nullable MAttributeDef */;
1363 val
* var1
/* : nullable MAttributeDef */;
1364 val
* var3
/* : nullable MAttributeDef */;
1365 { /* Inline modelize_property#AAttrPropdef#mlazypropdef (self) on <self:Object(AAttrPropdef)> */
1366 var3
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___mlazypropdef
].val
; /* _mlazypropdef on <self:Object(AAttrPropdef)> */
1374 /* method modelize_property#AAttrPropdef#mlazypropdef= for (self: AAttrPropdef, nullable MAttributeDef) */
1375 void modelize_property__AAttrPropdef__mlazypropdef_61d(val
* self
, val
* p0
) {
1376 self
->attrs
[COLOR_modelize_property__AAttrPropdef___mlazypropdef
].val
= p0
; /* _mlazypropdef on <self:AAttrPropdef> */
1379 /* method modelize_property#AAttrPropdef#mlazypropdef= for (self: Object, nullable MAttributeDef) */
1380 void VIRTUAL_modelize_property__AAttrPropdef__mlazypropdef_61d(val
* self
, val
* p0
) {
1381 { /* Inline modelize_property#AAttrPropdef#mlazypropdef= (self,p0) on <self:Object(AAttrPropdef)> */
1382 self
->attrs
[COLOR_modelize_property__AAttrPropdef___mlazypropdef
].val
= p0
; /* _mlazypropdef on <self:Object(AAttrPropdef)> */
1387 /* method modelize_property#AAttrPropdef#mreadpropdef for (self: AAttrPropdef): nullable MMethodDef */
1388 val
* modelize_property__AAttrPropdef__mreadpropdef(val
* self
) {
1389 val
* var
/* : nullable MMethodDef */;
1390 val
* var1
/* : nullable MMethodDef */;
1391 var1
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___mreadpropdef
].val
; /* _mreadpropdef on <self:AAttrPropdef> */
1396 /* method modelize_property#AAttrPropdef#mreadpropdef for (self: Object): nullable MMethodDef */
1397 val
* VIRTUAL_modelize_property__AAttrPropdef__mreadpropdef(val
* self
) {
1398 val
* var
/* : nullable MMethodDef */;
1399 val
* var1
/* : nullable MMethodDef */;
1400 val
* var3
/* : nullable MMethodDef */;
1401 { /* Inline modelize_property#AAttrPropdef#mreadpropdef (self) on <self:Object(AAttrPropdef)> */
1402 var3
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___mreadpropdef
].val
; /* _mreadpropdef on <self:Object(AAttrPropdef)> */
1410 /* method modelize_property#AAttrPropdef#mreadpropdef= for (self: AAttrPropdef, nullable MMethodDef) */
1411 void modelize_property__AAttrPropdef__mreadpropdef_61d(val
* self
, val
* p0
) {
1412 self
->attrs
[COLOR_modelize_property__AAttrPropdef___mreadpropdef
].val
= p0
; /* _mreadpropdef on <self:AAttrPropdef> */
1415 /* method modelize_property#AAttrPropdef#mreadpropdef= for (self: Object, nullable MMethodDef) */
1416 void VIRTUAL_modelize_property__AAttrPropdef__mreadpropdef_61d(val
* self
, val
* p0
) {
1417 { /* Inline modelize_property#AAttrPropdef#mreadpropdef= (self,p0) on <self:Object(AAttrPropdef)> */
1418 self
->attrs
[COLOR_modelize_property__AAttrPropdef___mreadpropdef
].val
= p0
; /* _mreadpropdef on <self:Object(AAttrPropdef)> */
1423 /* method modelize_property#AAttrPropdef#mwritepropdef for (self: AAttrPropdef): nullable MMethodDef */
1424 val
* modelize_property__AAttrPropdef__mwritepropdef(val
* self
) {
1425 val
* var
/* : nullable MMethodDef */;
1426 val
* var1
/* : nullable MMethodDef */;
1427 var1
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___mwritepropdef
].val
; /* _mwritepropdef on <self:AAttrPropdef> */
1432 /* method modelize_property#AAttrPropdef#mwritepropdef for (self: Object): nullable MMethodDef */
1433 val
* VIRTUAL_modelize_property__AAttrPropdef__mwritepropdef(val
* self
) {
1434 val
* var
/* : nullable MMethodDef */;
1435 val
* var1
/* : nullable MMethodDef */;
1436 val
* var3
/* : nullable MMethodDef */;
1437 { /* Inline modelize_property#AAttrPropdef#mwritepropdef (self) on <self:Object(AAttrPropdef)> */
1438 var3
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___mwritepropdef
].val
; /* _mwritepropdef on <self:Object(AAttrPropdef)> */
1446 /* method modelize_property#AAttrPropdef#mwritepropdef= for (self: AAttrPropdef, nullable MMethodDef) */
1447 void modelize_property__AAttrPropdef__mwritepropdef_61d(val
* self
, val
* p0
) {
1448 self
->attrs
[COLOR_modelize_property__AAttrPropdef___mwritepropdef
].val
= p0
; /* _mwritepropdef on <self:AAttrPropdef> */
1451 /* method modelize_property#AAttrPropdef#mwritepropdef= for (self: Object, nullable MMethodDef) */
1452 void VIRTUAL_modelize_property__AAttrPropdef__mwritepropdef_61d(val
* self
, val
* p0
) {
1453 { /* Inline modelize_property#AAttrPropdef#mwritepropdef= (self,p0) on <self:Object(AAttrPropdef)> */
1454 self
->attrs
[COLOR_modelize_property__AAttrPropdef___mwritepropdef
].val
= p0
; /* _mwritepropdef on <self:Object(AAttrPropdef)> */
1459 /* method modelize_property#AAttrPropdef#build_property for (self: AAttrPropdef, ModelBuilder, MClassDef) */
1460 void modelize_property__AAttrPropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
1461 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
1462 val
* var_mclassdef
/* var mclassdef: MClassDef */;
1463 val
* var
/* : MClass */;
1464 val
* var2
/* : MClass */;
1465 val
* var_mclass
/* var mclass: MClass */;
1466 val
* var3
/* : TId */;
1467 val
* var5
/* : TId */;
1468 val
* var6
/* : String */;
1469 val
* var_name
/* var name: String */;
1470 short int var7
/* : Bool */;
1471 val
* var8
/* : MClassKind */;
1472 val
* var10
/* : MClassKind */;
1473 val
* var11
/* : MClassKind */;
1474 short int var12
/* : Bool */;
1475 short int var13
/* : Bool */;
1476 val
* var_other
/* var other: nullable Object */;
1477 short int var15
/* : Bool */;
1478 short int var17
/* : Bool */;
1479 short int var_
/* var : Bool */;
1480 val
* var18
/* : MClass */;
1481 val
* var20
/* : MClass */;
1482 val
* var21
/* : MClassKind */;
1483 val
* var23
/* : MClassKind */;
1484 val
* var24
/* : MClassKind */;
1485 short int var25
/* : Bool */;
1486 short int var26
/* : Bool */;
1487 short int var28
/* : Bool */;
1488 short int var30
/* : Bool */;
1489 static val
* varonce
;
1490 val
* var31
/* : String */;
1491 char* var32
/* : NativeString */;
1492 long var33
/* : Int */;
1493 val
* var34
/* : FlatString */;
1494 static val
* varonce35
;
1495 val
* var36
/* : String */;
1496 char* var37
/* : NativeString */;
1497 long var38
/* : Int */;
1498 val
* var39
/* : FlatString */;
1499 static val
* varonce40
;
1500 val
* var41
/* : String */;
1501 char* var42
/* : NativeString */;
1502 long var43
/* : Int */;
1503 val
* var44
/* : FlatString */;
1504 val
* var45
/* : Array[Object] */;
1505 long var46
/* : Int */;
1506 val
* var47
/* : NativeArray[Object] */;
1507 val
* var48
/* : String */;
1508 val
* var49
/* : MClassKind */;
1509 val
* var51
/* : MClassKind */;
1510 val
* var52
/* : MClassKind */;
1511 short int var53
/* : Bool */;
1512 short int var54
/* : Bool */;
1513 short int var56
/* : Bool */;
1514 short int var58
/* : Bool */;
1515 static val
* varonce59
;
1516 val
* var60
/* : String */;
1517 char* var61
/* : NativeString */;
1518 long var62
/* : Int */;
1519 val
* var63
/* : FlatString */;
1520 static val
* varonce64
;
1521 val
* var65
/* : String */;
1522 char* var66
/* : NativeString */;
1523 long var67
/* : Int */;
1524 val
* var68
/* : FlatString */;
1525 static val
* varonce69
;
1526 val
* var70
/* : String */;
1527 char* var71
/* : NativeString */;
1528 long var72
/* : Int */;
1529 val
* var73
/* : FlatString */;
1530 val
* var74
/* : Array[Object] */;
1531 long var75
/* : Int */;
1532 val
* var76
/* : NativeArray[Object] */;
1533 val
* var77
/* : String */;
1534 val
* var78
/* : MClassKind */;
1535 val
* var80
/* : MClassKind */;
1536 val
* var81
/* : MClassKind */;
1537 short int var82
/* : Bool */;
1538 short int var83
/* : Bool */;
1539 short int var85
/* : Bool */;
1540 short int var87
/* : Bool */;
1541 static val
* varonce88
;
1542 val
* var89
/* : String */;
1543 char* var90
/* : NativeString */;
1544 long var91
/* : Int */;
1545 val
* var92
/* : FlatString */;
1546 static val
* varonce93
;
1547 val
* var94
/* : String */;
1548 char* var95
/* : NativeString */;
1549 long var96
/* : Int */;
1550 val
* var97
/* : FlatString */;
1551 static val
* varonce98
;
1552 val
* var99
/* : String */;
1553 char* var100
/* : NativeString */;
1554 long var101
/* : Int */;
1555 val
* var102
/* : FlatString */;
1556 val
* var103
/* : Array[Object] */;
1557 long var104
/* : Int */;
1558 val
* var105
/* : NativeArray[Object] */;
1559 val
* var106
/* : String */;
1560 val
* var107
/* : TId */;
1561 val
* var109
/* : TId */;
1562 val
* var_nid2
/* var nid2: TId */;
1563 val
* var110
/* : MAttribute */;
1564 static val
* varonce111
;
1565 val
* var112
/* : String */;
1566 char* var113
/* : NativeString */;
1567 long var114
/* : Int */;
1568 val
* var115
/* : FlatString */;
1569 val
* var116
/* : String */;
1570 val
* var117
/* : MVisibility */;
1571 val
* var_mprop
/* var mprop: MAttribute */;
1572 val
* var118
/* : MAttributeDef */;
1573 val
* var119
/* : Location */;
1574 val
* var121
/* : Location */;
1575 val
* var_mpropdef
/* var mpropdef: MAttributeDef */;
1576 short int var122
/* : Bool */;
1579 const struct type
* type_struct
;
1580 const char* var_class_name
;
1581 short int var124
/* : Bool */;
1584 const struct type
* type_struct127
;
1585 const char* var_class_name128
;
1586 val
* var129
/* : HashMap[MPropDef, APropdef] */;
1587 val
* var131
/* : HashMap[MPropDef, APropdef] */;
1588 val
* var_readname
/* var readname: String */;
1589 val
* var132
/* : nullable MProperty */;
1590 short int var133
/* : Bool */;
1593 const char* var_class_name136
;
1594 val
* var_mreadprop
/* var mreadprop: nullable MMethod */;
1595 val
* var137
/* : null */;
1596 short int var138
/* : Bool */;
1597 short int var139
/* : Bool */;
1598 short int var141
/* : Bool */;
1599 short int var143
/* : Bool */;
1600 val
* var144
/* : nullable AVisibility */;
1601 val
* var146
/* : nullable AVisibility */;
1602 val
* var147
/* : MVisibility */;
1603 val
* var_mvisibility
/* var mvisibility: MVisibility */;
1604 val
* var148
/* : MMethod */;
1605 val
* var149
/* : nullable TKwredef */;
1606 val
* var151
/* : nullable TKwredef */;
1607 short int var152
/* : Bool */;
1608 short int var153
/* : Bool */;
1609 short int var154
/* : Bool */;
1610 val
* var155
/* : nullable MDeprecationInfo */;
1611 val
* var157
/* : nullable MDeprecationInfo */;
1612 val
* var159
/* : nullable TKwredef */;
1613 val
* var161
/* : nullable TKwredef */;
1614 short int var162
/* : Bool */;
1615 short int var163
/* : Bool */;
1616 short int var164
/* : Bool */;
1617 val
* var165
/* : nullable AVisibility */;
1618 val
* var167
/* : nullable AVisibility */;
1619 val
* var168
/* : Map[MProperty, APropdef] */;
1620 val
* var170
/* : Map[MProperty, APropdef] */;
1621 val
* var171
/* : MMethodDef */;
1622 val
* var172
/* : Location */;
1623 val
* var174
/* : Location */;
1624 val
* var_mreadpropdef
/* var mreadpropdef: MMethodDef */;
1625 val
* var176
/* : HashMap[MPropDef, APropdef] */;
1626 val
* var178
/* : HashMap[MPropDef, APropdef] */;
1627 val
* var179
/* : nullable MDoc */;
1628 val
* var181
/* : nullable MDoc */;
1629 short int var183
/* : Bool */;
1630 val
* var184
/* : nullable AExpr */;
1631 val
* var186
/* : nullable AExpr */;
1632 val
* var187
/* : null */;
1633 short int var188
/* : Bool */;
1634 short int var189
/* : Bool */;
1635 val
* var_other191
/* var other: nullable Object */;
1636 short int var192
/* : Bool */;
1637 short int var193
/* : Bool */;
1638 short int var194
/* : Bool */;
1639 short int var_195
/* var : Bool */;
1640 val
* var196
/* : nullable AExpr */;
1641 val
* var198
/* : nullable AExpr */;
1642 val
* var199
/* : null */;
1643 short int var200
/* : Bool */;
1644 short int var201
/* : Bool */;
1645 short int var203
/* : Bool */;
1646 short int var204
/* : Bool */;
1647 short int var205
/* : Bool */;
1648 static val
* varonce207
;
1649 val
* var208
/* : String */;
1650 char* var209
/* : NativeString */;
1651 long var210
/* : Int */;
1652 val
* var211
/* : FlatString */;
1653 val
* var212
/* : nullable AAnnotation */;
1654 val
* var_atnoinit
/* var atnoinit: nullable AAnnotation */;
1655 val
* var213
/* : null */;
1656 short int var214
/* : Bool */;
1657 short int var215
/* : Bool */;
1658 short int var217
/* : Bool */;
1659 short int var218
/* : Bool */;
1660 short int var219
/* : Bool */;
1661 short int var220
/* : Bool */;
1662 short int var222
/* : Bool */;
1663 short int var224
/* : Bool */;
1664 static val
* varonce225
;
1665 val
* var226
/* : String */;
1666 char* var227
/* : NativeString */;
1667 long var228
/* : Int */;
1668 val
* var229
/* : FlatString */;
1669 static val
* varonce230
;
1670 val
* var231
/* : String */;
1671 char* var232
/* : NativeString */;
1672 long var233
/* : Int */;
1673 val
* var234
/* : FlatString */;
1674 val
* var235
/* : nullable AAnnotation */;
1675 val
* var_atlazy
/* var atlazy: nullable AAnnotation */;
1676 static val
* varonce236
;
1677 val
* var237
/* : String */;
1678 char* var238
/* : NativeString */;
1679 long var239
/* : Int */;
1680 val
* var240
/* : FlatString */;
1681 val
* var241
/* : nullable AAnnotation */;
1682 val
* var_atautoinit
/* var atautoinit: nullable AAnnotation */;
1683 short int var242
/* : Bool */;
1684 val
* var243
/* : null */;
1685 short int var244
/* : Bool */;
1686 short int var245
/* : Bool */;
1687 short int var247
/* : Bool */;
1688 short int var248
/* : Bool */;
1689 short int var249
/* : Bool */;
1690 short int var_250
/* var : Bool */;
1691 val
* var251
/* : null */;
1692 short int var252
/* : Bool */;
1693 short int var253
/* : Bool */;
1694 short int var255
/* : Bool */;
1695 short int var256
/* : Bool */;
1696 short int var257
/* : Bool */;
1697 short int var258
/* : Bool */;
1698 val
* var259
/* : null */;
1699 short int var260
/* : Bool */;
1700 short int var261
/* : Bool */;
1701 short int var263
/* : Bool */;
1702 short int var264
/* : Bool */;
1703 short int var265
/* : Bool */;
1704 short int var_266
/* var : Bool */;
1705 val
* var267
/* : null */;
1706 short int var268
/* : Bool */;
1707 short int var269
/* : Bool */;
1708 short int var271
/* : Bool */;
1709 short int var272
/* : Bool */;
1710 short int var273
/* : Bool */;
1711 static val
* varonce274
;
1712 val
* var275
/* : String */;
1713 char* var276
/* : NativeString */;
1714 long var277
/* : Int */;
1715 val
* var278
/* : FlatString */;
1716 short int var279
/* : Bool */;
1717 short int var281
/* : Bool */;
1718 short int var282
/* : Bool */;
1719 val
* var283
/* : null */;
1720 short int var284
/* : Bool */;
1721 short int var285
/* : Bool */;
1722 short int var287
/* : Bool */;
1723 short int var288
/* : Bool */;
1724 short int var289
/* : Bool */;
1725 static val
* varonce290
;
1726 val
* var291
/* : String */;
1727 char* var292
/* : NativeString */;
1728 long var293
/* : Int */;
1729 val
* var294
/* : FlatString */;
1730 val
* var295
/* : null */;
1731 short int var296
/* : Bool */;
1732 short int var297
/* : Bool */;
1733 short int var299
/* : Bool */;
1734 short int var300
/* : Bool */;
1735 short int var301
/* : Bool */;
1736 static val
* varonce302
;
1737 val
* var303
/* : String */;
1738 char* var304
/* : NativeString */;
1739 long var305
/* : Int */;
1740 val
* var306
/* : FlatString */;
1741 short int var307
/* : Bool */;
1742 val
* var309
/* : MAttribute */;
1743 static val
* varonce310
;
1744 val
* var311
/* : String */;
1745 char* var312
/* : NativeString */;
1746 long var313
/* : Int */;
1747 val
* var314
/* : FlatString */;
1748 val
* var315
/* : String */;
1749 val
* var316
/* : MVisibility */;
1750 val
* var_mlazyprop
/* var mlazyprop: MAttribute */;
1751 val
* var317
/* : MAttributeDef */;
1752 val
* var318
/* : Location */;
1753 val
* var320
/* : Location */;
1754 val
* var_mlazypropdef
/* var mlazypropdef: MAttributeDef */;
1755 static val
* varonce322
;
1756 val
* var323
/* : String */;
1757 char* var324
/* : NativeString */;
1758 long var325
/* : Int */;
1759 val
* var326
/* : FlatString */;
1760 val
* var327
/* : nullable AAnnotation */;
1761 val
* var_atreadonly
/* var atreadonly: nullable AAnnotation */;
1762 val
* var328
/* : null */;
1763 short int var329
/* : Bool */;
1764 short int var330
/* : Bool */;
1765 short int var332
/* : Bool */;
1766 short int var333
/* : Bool */;
1767 short int var334
/* : Bool */;
1768 short int var335
/* : Bool */;
1769 short int var337
/* : Bool */;
1770 short int var338
/* : Bool */;
1771 static val
* varonce339
;
1772 val
* var340
/* : String */;
1773 char* var341
/* : NativeString */;
1774 long var342
/* : Int */;
1775 val
* var343
/* : FlatString */;
1776 static val
* varonce344
;
1777 val
* var345
/* : String */;
1778 char* var346
/* : NativeString */;
1779 long var347
/* : Int */;
1780 val
* var348
/* : FlatString */;
1781 val
* var349
/* : String */;
1782 val
* var_writename
/* var writename: String */;
1783 static val
* varonce350
;
1784 val
* var351
/* : String */;
1785 char* var352
/* : NativeString */;
1786 long var353
/* : Int */;
1787 val
* var354
/* : FlatString */;
1788 val
* var355
/* : nullable AAnnotation */;
1789 val
* var_atwritable
/* var atwritable: nullable AAnnotation */;
1790 val
* var356
/* : null */;
1791 short int var357
/* : Bool */;
1792 short int var358
/* : Bool */;
1793 short int var360
/* : Bool */;
1794 short int var361
/* : Bool */;
1795 short int var362
/* : Bool */;
1796 val
* var363
/* : ANodes[AExpr] */;
1797 val
* var365
/* : ANodes[AExpr] */;
1798 short int var366
/* : Bool */;
1799 short int var367
/* : Bool */;
1800 val
* var368
/* : String */;
1801 val
* var369
/* : nullable String */;
1802 val
* var370
/* : nullable MProperty */;
1803 short int var371
/* : Bool */;
1806 const char* var_class_name374
;
1807 val
* var_mwriteprop
/* var mwriteprop: nullable MMethod */;
1808 val
* var375
/* : null */;
1809 val
* var_nwkwredef
/* var nwkwredef: nullable Token */;
1810 val
* var376
/* : null */;
1811 short int var377
/* : Bool */;
1812 short int var378
/* : Bool */;
1813 short int var380
/* : Bool */;
1814 short int var381
/* : Bool */;
1815 short int var382
/* : Bool */;
1816 val
* var383
/* : nullable TKwredef */;
1817 val
* var385
/* : nullable TKwredef */;
1818 val
* var386
/* : null */;
1819 short int var387
/* : Bool */;
1820 short int var388
/* : Bool */;
1821 short int var390
/* : Bool */;
1822 short int var392
/* : Bool */;
1823 val
* var393
/* : null */;
1824 short int var394
/* : Bool */;
1825 short int var395
/* : Bool */;
1826 short int var397
/* : Bool */;
1827 short int var398
/* : Bool */;
1828 short int var399
/* : Bool */;
1829 val
* var400
/* : nullable AVisibility */;
1830 val
* var402
/* : nullable AVisibility */;
1831 val
* var403
/* : MVisibility */;
1832 val
* var_mvisibility404
/* var mvisibility: nullable Object */;
1833 val
* var405
/* : MVisibility */;
1834 val
* var406
/* : MMethod */;
1835 short int var407
/* : Bool */;
1836 short int var408
/* : Bool */;
1837 short int var409
/* : Bool */;
1838 val
* var410
/* : nullable MDeprecationInfo */;
1839 val
* var412
/* : nullable MDeprecationInfo */;
1840 val
* var414
/* : nullable Token */;
1841 val
* var415
/* : nullable TKwredef */;
1842 val
* var417
/* : nullable TKwredef */;
1843 short int var418
/* : Bool */;
1844 short int var419
/* : Bool */;
1845 short int var420
/* : Bool */;
1846 val
* var421
/* : null */;
1847 short int var422
/* : Bool */;
1848 short int var423
/* : Bool */;
1849 short int var425
/* : Bool */;
1850 short int var426
/* : Bool */;
1851 short int var427
/* : Bool */;
1852 val
* var428
/* : nullable AVisibility */;
1853 val
* var430
/* : nullable AVisibility */;
1854 val
* var431
/* : Map[MProperty, APropdef] */;
1855 val
* var433
/* : Map[MProperty, APropdef] */;
1856 val
* var434
/* : MMethodDef */;
1857 val
* var435
/* : Location */;
1858 val
* var437
/* : Location */;
1859 val
* var_mwritepropdef
/* var mwritepropdef: MMethodDef */;
1860 val
* var439
/* : HashMap[MPropDef, APropdef] */;
1861 val
* var441
/* : HashMap[MPropDef, APropdef] */;
1862 val
* var442
/* : nullable MDoc */;
1863 val
* var444
/* : nullable MDoc */;
1864 var_modelbuilder
= p0
;
1867 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
1868 var2
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
1869 if (unlikely(var2
== NULL
)) {
1870 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1871 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
1880 { /* Inline parser_nodes#AAttrPropdef#n_id2 (self) on <self:AAttrPropdef> */
1881 var5
= self
->attrs
[COLOR_parser_nodes__AAttrPropdef___n_id2
].val
; /* _n_id2 on <self:AAttrPropdef> */
1882 if (unlikely(var5
== NULL
)) {
1883 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id2");
1884 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1023);
1892 var6
= lexer_work__Token__text(var3
);
1896 { /* Inline model#MClass#kind (var_mclass) on <var_mclass:MClass> */
1897 var10
= var_mclass
->attrs
[COLOR_model__MClass___kind
].val
; /* _kind on <var_mclass:MClass> */
1898 if (unlikely(var10
== NULL
)) {
1899 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
1900 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 371);
1908 var11
= model__Object__interface_kind(self
);
1911 { /* Inline kernel#Object#== (var8,var11) on <var8:MClassKind> */
1914 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:MClassKind> */
1915 var17
= var8
== var_other
;
1918 RET_LABEL16
:(void)0;
1923 RET_LABEL14
:(void)0;
1932 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
1933 var20
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
1934 if (unlikely(var20
== NULL
)) {
1935 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1936 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
1940 RET_LABEL19
:(void)0;
1944 { /* Inline model#MClass#kind (var18) on <var18:MClass> */
1945 var23
= var18
->attrs
[COLOR_model__MClass___kind
].val
; /* _kind on <var18:MClass> */
1946 if (unlikely(var23
== NULL
)) {
1947 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
1948 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 371);
1952 RET_LABEL22
:(void)0;
1956 var24
= model__Object__enum_kind(self
);
1959 { /* Inline kernel#Object#== (var21,var24) on <var21:MClassKind> */
1962 { /* Inline kernel#Object#is_same_instance (var21,var_other) on <var21:MClassKind> */
1963 var30
= var21
== var_other
;
1966 RET_LABEL29
:(void)0;
1971 RET_LABEL27
:(void)0;
1981 var32
= "Error: Attempt to define attribute ";
1983 var34
= string__NativeString__to_s_with_length(var32
, var33
);
1990 var37
= " in the interface ";
1992 var39
= string__NativeString__to_s_with_length(var37
, var38
);
2001 var44
= string__NativeString__to_s_with_length(var42
, var43
);
2005 var45
= NEW_array__Array(&type_array__Arraykernel__Object
);
2006 { /* var45 = array_instance Array[Object] */
2008 var47
= NEW_array__NativeArray(var46
, &type_array__NativeArraykernel__Object
);
2009 ((struct instance_array__NativeArray
*)var47
)->values
[0] = (val
*) var31
;
2010 ((struct instance_array__NativeArray
*)var47
)->values
[1] = (val
*) var_name
;
2011 ((struct instance_array__NativeArray
*)var47
)->values
[2] = (val
*) var36
;
2012 ((struct instance_array__NativeArray
*)var47
)->values
[3] = (val
*) var_mclass
;
2013 ((struct instance_array__NativeArray
*)var47
)->values
[4] = (val
*) var41
;
2015 ((void (*)(val
*, val
*, long))(var45
->class->vft
[COLOR_array__Array__with_native
]))(var45
, var47
, var46
) /* with_native on <var45:Array[Object]>*/;
2019 var48
= ((val
* (*)(val
*))(var45
->class->vft
[COLOR_string__Object__to_s
]))(var45
) /* to_s on <var45:Array[Object]>*/;
2022 modelbuilder__ModelBuilder__error(var_modelbuilder
, self
, var48
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
2026 { /* Inline model#MClass#kind (var_mclass) on <var_mclass:MClass> */
2027 var51
= var_mclass
->attrs
[COLOR_model__MClass___kind
].val
; /* _kind on <var_mclass:MClass> */
2028 if (unlikely(var51
== NULL
)) {
2029 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
2030 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 371);
2034 RET_LABEL50
:(void)0;
2038 var52
= model__Object__enum_kind(self
);
2041 { /* Inline kernel#Object#== (var49,var52) on <var49:MClassKind> */
2044 { /* Inline kernel#Object#is_same_instance (var49,var_other) on <var49:MClassKind> */
2045 var58
= var49
== var_other
;
2048 RET_LABEL57
:(void)0;
2053 RET_LABEL55
:(void)0;
2061 var61
= "Error: Attempt to define attribute ";
2063 var63
= string__NativeString__to_s_with_length(var61
, var62
);
2070 var66
= " in the enum class ";
2072 var68
= string__NativeString__to_s_with_length(var66
, var67
);
2081 var73
= string__NativeString__to_s_with_length(var71
, var72
);
2085 var74
= NEW_array__Array(&type_array__Arraykernel__Object
);
2086 { /* var74 = array_instance Array[Object] */
2088 var76
= NEW_array__NativeArray(var75
, &type_array__NativeArraykernel__Object
);
2089 ((struct instance_array__NativeArray
*)var76
)->values
[0] = (val
*) var60
;
2090 ((struct instance_array__NativeArray
*)var76
)->values
[1] = (val
*) var_name
;
2091 ((struct instance_array__NativeArray
*)var76
)->values
[2] = (val
*) var65
;
2092 ((struct instance_array__NativeArray
*)var76
)->values
[3] = (val
*) var_mclass
;
2093 ((struct instance_array__NativeArray
*)var76
)->values
[4] = (val
*) var70
;
2095 ((void (*)(val
*, val
*, long))(var74
->class->vft
[COLOR_array__Array__with_native
]))(var74
, var76
, var75
) /* with_native on <var74:Array[Object]>*/;
2099 var77
= ((val
* (*)(val
*))(var74
->class->vft
[COLOR_string__Object__to_s
]))(var74
) /* to_s on <var74:Array[Object]>*/;
2102 modelbuilder__ModelBuilder__error(var_modelbuilder
, self
, var77
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
2106 { /* Inline model#MClass#kind (var_mclass) on <var_mclass:MClass> */
2107 var80
= var_mclass
->attrs
[COLOR_model__MClass___kind
].val
; /* _kind on <var_mclass:MClass> */
2108 if (unlikely(var80
== NULL
)) {
2109 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
2110 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 371);
2114 RET_LABEL79
:(void)0;
2118 var81
= model__Object__extern_kind(self
);
2121 { /* Inline kernel#Object#== (var78,var81) on <var78:MClassKind> */
2124 { /* Inline kernel#Object#is_same_instance (var78,var_other) on <var78:MClassKind> */
2125 var87
= var78
== var_other
;
2128 RET_LABEL86
:(void)0;
2133 RET_LABEL84
:(void)0;
2141 var90
= "Error: Attempt to define attribute ";
2143 var92
= string__NativeString__to_s_with_length(var90
, var91
);
2150 var95
= " in the extern class ";
2152 var97
= string__NativeString__to_s_with_length(var95
, var96
);
2161 var102
= string__NativeString__to_s_with_length(var100
, var101
);
2165 var103
= NEW_array__Array(&type_array__Arraykernel__Object
);
2166 { /* var103 = array_instance Array[Object] */
2168 var105
= NEW_array__NativeArray(var104
, &type_array__NativeArraykernel__Object
);
2169 ((struct instance_array__NativeArray
*)var105
)->values
[0] = (val
*) var89
;
2170 ((struct instance_array__NativeArray
*)var105
)->values
[1] = (val
*) var_name
;
2171 ((struct instance_array__NativeArray
*)var105
)->values
[2] = (val
*) var94
;
2172 ((struct instance_array__NativeArray
*)var105
)->values
[3] = (val
*) var_mclass
;
2173 ((struct instance_array__NativeArray
*)var105
)->values
[4] = (val
*) var99
;
2175 ((void (*)(val
*, val
*, long))(var103
->class->vft
[COLOR_array__Array__with_native
]))(var103
, var105
, var104
) /* with_native on <var103:Array[Object]>*/;
2179 var106
= ((val
* (*)(val
*))(var103
->class->vft
[COLOR_string__Object__to_s
]))(var103
) /* to_s on <var103:Array[Object]>*/;
2182 modelbuilder__ModelBuilder__error(var_modelbuilder
, self
, var106
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
2189 { /* Inline parser_nodes#AAttrPropdef#n_id2 (self) on <self:AAttrPropdef> */
2190 var109
= self
->attrs
[COLOR_parser_nodes__AAttrPropdef___n_id2
].val
; /* _n_id2 on <self:AAttrPropdef> */
2191 if (unlikely(var109
== NULL
)) {
2192 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id2");
2193 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1023);
2197 RET_LABEL108
:(void)0;
2201 var110
= NEW_model__MAttribute(&type_model__MAttribute
);
2203 var112
= varonce111
;
2207 var115
= string__NativeString__to_s_with_length(var113
, var114
);
2209 varonce111
= var112
;
2212 var116
= string__FlatString___43d(var112
, var_name
);
2215 var117
= model_base__Object__private_visibility(self
);
2218 model__MAttribute__init(var110
, var_mclassdef
, var116
, var117
); /* Direct call model#MAttribute#init on <var110:MAttribute>*/
2221 var118
= NEW_model__MAttributeDef(&type_model__MAttributeDef
);
2223 { /* Inline parser_nodes#ANode#location (self) on <self:AAttrPropdef> */
2224 var121
= self
->attrs
[COLOR_parser_nodes__ANode___location
].val
; /* _location on <self:AAttrPropdef> */
2225 if (unlikely(var121
== NULL
)) {
2226 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
2227 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23);
2231 RET_LABEL120
:(void)0;
2235 model__MAttributeDef__init(var118
, var_mclassdef
, var_mprop
, var119
); /* Direct call model#MAttributeDef#init on <var118:MAttributeDef>*/
2237 var_mpropdef
= var118
;
2238 /* <var_mpropdef:MAttributeDef> isa nullable MPROPDEF */
2239 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable_parser_nodes__APropdef_VTMPROPDEF
];
2240 cltype
= type_struct
->color
;
2241 idtype
= type_struct
->id
;
2242 if(cltype
>= var_mpropdef
->type
->table_size
) {
2245 var122
= var_mpropdef
->type
->type_table
[cltype
] == idtype
;
2247 if (unlikely(!var122
)) {
2248 var_class_name
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
2249 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name
);
2250 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 783);
2254 { /* Inline modelize_property#APropdef#mpropdef= (self,var_mpropdef) on <self:AAttrPropdef> */
2255 /* Covariant cast for argument 0 (mpropdef) <var_mpropdef:MAttributeDef> isa nullable MPROPDEF */
2256 /* <var_mpropdef:MAttributeDef> isa nullable MPROPDEF */
2257 type_struct127
= self
->type
->resolution_table
->types
[COLOR_nullable_parser_nodes__APropdef_VTMPROPDEF
];
2258 cltype125
= type_struct127
->color
;
2259 idtype126
= type_struct127
->id
;
2260 if(cltype125
>= var_mpropdef
->type
->table_size
) {
2263 var124
= var_mpropdef
->type
->type_table
[cltype125
] == idtype126
;
2265 if (unlikely(!var124
)) {
2266 var_class_name128
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
2267 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name128
);
2268 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 319);
2271 self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
= var_mpropdef
; /* _mpropdef on <self:AAttrPropdef> */
2272 RET_LABEL123
:(void)0;
2276 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
2277 var131
= var_modelbuilder
->attrs
[COLOR_modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
2278 if (unlikely(var131
== NULL
)) {
2279 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
2280 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 39);
2284 RET_LABEL130
:(void)0;
2288 hash_collection__HashMap___91d_93d_61d(var129
, var_mpropdef
, self
); /* Direct call hash_collection#HashMap#[]= on <var129:HashMap[MPropDef, APropdef]>*/
2290 var_readname
= var_name
;
2292 var132
= modelbuilder__ModelBuilder__try_get_mproperty_by_name(var_modelbuilder
, var_nid2
, var_mclassdef
, var_readname
);
2294 /* <var132:nullable MProperty> isa nullable MMethod */
2295 cltype134
= type_nullable_model__MMethod
.color
;
2296 idtype135
= type_nullable_model__MMethod
.id
;
2297 if(var132
== NULL
) {
2300 if(cltype134
>= var132
->type
->table_size
) {
2303 var133
= var132
->type
->type_table
[cltype134
] == idtype135
;
2306 if (unlikely(!var133
)) {
2307 var_class_name136
= var132
== NULL ?
"null" : var132
->type
->name
;
2308 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name136
);
2309 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 787);
2312 var_mreadprop
= var132
;
2314 if (var_mreadprop
== NULL
) {
2315 var138
= 1; /* is null */
2317 var138
= 0; /* arg is null but recv is not */
2320 { /* Inline kernel#Object#== (var_mreadprop,var137) on <var_mreadprop:nullable MMethod> */
2323 { /* Inline kernel#Object#is_same_instance (var_mreadprop,var_other) on <var_mreadprop:nullable MMethod(MMethod)> */
2324 var143
= var_mreadprop
== var_other
;
2327 RET_LABEL142
:(void)0;
2332 RET_LABEL140
:(void)0;
2338 { /* Inline parser_nodes#APropdef#n_visibility (self) on <self:AAttrPropdef> */
2339 var146
= self
->attrs
[COLOR_parser_nodes__APropdef___n_visibility
].val
; /* _n_visibility on <self:AAttrPropdef> */
2341 RET_LABEL145
:(void)0;
2345 var147
= modelize_property__APropdef__new_property_visibility(self
, var_modelbuilder
, var_mclassdef
, var144
);
2347 var_mvisibility
= var147
;
2348 var148
= NEW_model__MMethod(&type_model__MMethod
);
2350 model__MMethod__init(var148
, var_mclassdef
, var_readname
, var_mvisibility
); /* Direct call model#MMethod#init on <var148:MMethod>*/
2352 var_mreadprop
= var148
;
2354 { /* Inline parser_nodes#APropdef#n_kwredef (self) on <self:AAttrPropdef> */
2355 var151
= self
->attrs
[COLOR_parser_nodes__APropdef___n_kwredef
].val
; /* _n_kwredef on <self:AAttrPropdef> */
2357 RET_LABEL150
:(void)0;
2362 var153
= modelize_property__APropdef__check_redef_keyword(self
, var_modelbuilder
, var_mclassdef
, var149
, var152
, var_mreadprop
);
2370 { /* Inline mdoc#MEntity#deprecation (var_mprop) on <var_mprop:MAttribute> */
2371 var157
= var_mprop
->attrs
[COLOR_mdoc__MEntity___deprecation
].val
; /* _deprecation on <var_mprop:MAttribute> */
2373 RET_LABEL156
:(void)0;
2377 { /* Inline mdoc#MEntity#deprecation= (var_mreadprop,var155) on <var_mreadprop:nullable MMethod(MMethod)> */
2378 var_mreadprop
->attrs
[COLOR_mdoc__MEntity___deprecation
].val
= var155
; /* _deprecation on <var_mreadprop:nullable MMethod(MMethod)> */
2379 RET_LABEL158
:(void)0;
2384 { /* Inline parser_nodes#APropdef#n_kwredef (self) on <self:AAttrPropdef> */
2385 var161
= self
->attrs
[COLOR_parser_nodes__APropdef___n_kwredef
].val
; /* _n_kwredef on <self:AAttrPropdef> */
2387 RET_LABEL160
:(void)0;
2392 var163
= modelize_property__APropdef__check_redef_keyword(self
, var_modelbuilder
, var_mclassdef
, var159
, var162
, var_mreadprop
);
2400 { /* Inline parser_nodes#APropdef#n_visibility (self) on <self:AAttrPropdef> */
2401 var167
= self
->attrs
[COLOR_parser_nodes__APropdef___n_visibility
].val
; /* _n_visibility on <self:AAttrPropdef> */
2403 RET_LABEL166
:(void)0;
2407 modelize_property__APropdef__check_redef_property_visibility(self
, var_modelbuilder
, var165
, var_mreadprop
); /* Direct call modelize_property#APropdef#check_redef_property_visibility on <self:AAttrPropdef>*/
2411 { /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on <var_mclassdef:MClassDef> */
2412 var170
= var_mclassdef
->attrs
[COLOR_modelize_property__MClassDef___mprop2npropdef
].val
; /* _mprop2npropdef on <var_mclassdef:MClassDef> */
2413 if (unlikely(var170
== NULL
)) {
2414 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
2415 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 310);
2419 RET_LABEL169
:(void)0;
2423 ((void (*)(val
*, val
*, val
*))(var168
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var168
, var_mreadprop
, self
) /* []= on <var168:Map[MProperty, APropdef]>*/;
2425 var171
= NEW_model__MMethodDef(&type_model__MMethodDef
);
2427 { /* Inline parser_nodes#ANode#location (self) on <self:AAttrPropdef> */
2428 var174
= self
->attrs
[COLOR_parser_nodes__ANode___location
].val
; /* _location on <self:AAttrPropdef> */
2429 if (unlikely(var174
== NULL
)) {
2430 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
2431 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23);
2435 RET_LABEL173
:(void)0;
2439 model__MMethodDef__init(var171
, var_mclassdef
, var_mreadprop
, var172
); /* Direct call model#MMethodDef#init on <var171:MMethodDef>*/
2441 var_mreadpropdef
= var171
;
2443 { /* Inline modelize_property#AAttrPropdef#mreadpropdef= (self,var_mreadpropdef) on <self:AAttrPropdef> */
2444 self
->attrs
[COLOR_modelize_property__AAttrPropdef___mreadpropdef
].val
= var_mreadpropdef
; /* _mreadpropdef on <self:AAttrPropdef> */
2445 RET_LABEL175
:(void)0;
2449 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
2450 var178
= var_modelbuilder
->attrs
[COLOR_modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
2451 if (unlikely(var178
== NULL
)) {
2452 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
2453 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 39);
2457 RET_LABEL177
:(void)0;
2461 hash_collection__HashMap___91d_93d_61d(var176
, var_mreadpropdef
, self
); /* Direct call hash_collection#HashMap#[]= on <var176:HashMap[MPropDef, APropdef]>*/
2464 modelize_property__APropdef__set_doc(self
, var_mreadpropdef
, var_modelbuilder
); /* Direct call modelize_property#APropdef#set_doc on <self:AAttrPropdef>*/
2467 { /* Inline mdoc#MEntity#mdoc (var_mreadpropdef) on <var_mreadpropdef:MMethodDef> */
2468 var181
= var_mreadpropdef
->attrs
[COLOR_mdoc__MEntity___mdoc
].val
; /* _mdoc on <var_mreadpropdef:MMethodDef> */
2470 RET_LABEL180
:(void)0;
2474 { /* Inline mdoc#MEntity#mdoc= (var_mpropdef,var179) on <var_mpropdef:MAttributeDef> */
2475 var_mpropdef
->attrs
[COLOR_mdoc__MEntity___mdoc
].val
= var179
; /* _mdoc on <var_mpropdef:MAttributeDef> */
2476 RET_LABEL182
:(void)0;
2480 { /* Inline parser_nodes#AAttrPropdef#n_expr (self) on <self:AAttrPropdef> */
2481 var186
= self
->attrs
[COLOR_parser_nodes__AAttrPropdef___n_expr
].val
; /* _n_expr on <self:AAttrPropdef> */
2483 RET_LABEL185
:(void)0;
2487 if (var184
== NULL
) {
2488 var188
= 0; /* is null */
2490 var188
= 1; /* arg is null and recv is not */
2493 { /* Inline kernel#Object#!= (var184,var187) on <var184:nullable AExpr> */
2494 var_other191
= var187
;
2496 var193
= ((short int (*)(val
*, val
*))(var184
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var184
, var_other191
) /* == on <var184:nullable AExpr(AExpr)>*/;
2502 RET_LABEL190
:(void)0;
2511 { /* Inline parser_nodes#AAttrPropdef#n_block (self) on <self:AAttrPropdef> */
2512 var198
= self
->attrs
[COLOR_parser_nodes__AAttrPropdef___n_block
].val
; /* _n_block on <self:AAttrPropdef> */
2514 RET_LABEL197
:(void)0;
2518 if (var196
== NULL
) {
2519 var200
= 0; /* is null */
2521 var200
= 1; /* arg is null and recv is not */
2524 { /* Inline kernel#Object#!= (var196,var199) on <var196:nullable AExpr> */
2525 var_other191
= var199
;
2527 var204
= ((short int (*)(val
*, val
*))(var196
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var196
, var_other191
) /* == on <var196:nullable AExpr(AExpr)>*/;
2533 RET_LABEL202
:(void)0;
2540 { /* Inline modelize_property#AAttrPropdef#has_value= (self,var183) on <self:AAttrPropdef> */
2541 self
->attrs
[COLOR_modelize_property__AAttrPropdef___has_value
].s
= var183
; /* _has_value on <self:AAttrPropdef> */
2542 RET_LABEL206
:(void)0;
2546 var208
= varonce207
;
2550 var211
= string__NativeString__to_s_with_length(var209
, var210
);
2552 varonce207
= var208
;
2555 var212
= annotation__Prod__get_single_annotation(self
, var208
, var_modelbuilder
);
2557 var_atnoinit
= var212
;
2559 if (var_atnoinit
== NULL
) {
2560 var214
= 0; /* is null */
2562 var214
= 1; /* arg is null and recv is not */
2565 { /* Inline kernel#Object#!= (var_atnoinit,var213) on <var_atnoinit:nullable AAnnotation> */
2566 var_other191
= var213
;
2568 var218
= ((short int (*)(val
*, val
*))(var_atnoinit
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_atnoinit
, var_other191
) /* == on <var_atnoinit:nullable AAnnotation(AAnnotation)>*/;
2574 RET_LABEL216
:(void)0;
2581 { /* Inline modelize_property#AAttrPropdef#noinit= (self,var220) on <self:AAttrPropdef> */
2582 self
->attrs
[COLOR_modelize_property__AAttrPropdef___noinit
].s
= var220
; /* _noinit on <self:AAttrPropdef> */
2583 RET_LABEL221
:(void)0;
2587 { /* Inline modelize_property#AAttrPropdef#has_value (self) on <self:AAttrPropdef> */
2588 var224
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___has_value
].s
; /* _has_value on <self:AAttrPropdef> */
2590 RET_LABEL223
:(void)0;
2595 var226
= varonce225
;
2597 var227
= "Error: `noinit` attributes cannot have an initial value";
2599 var229
= string__NativeString__to_s_with_length(var227
, var228
);
2601 varonce225
= var226
;
2604 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_atnoinit
, var226
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
2612 var231
= varonce230
;
2616 var234
= string__NativeString__to_s_with_length(var232
, var233
);
2618 varonce230
= var231
;
2621 var235
= annotation__Prod__get_single_annotation(self
, var231
, var_modelbuilder
);
2623 var_atlazy
= var235
;
2625 var237
= varonce236
;
2627 var238
= "autoinit";
2629 var240
= string__NativeString__to_s_with_length(var238
, var239
);
2631 varonce236
= var237
;
2634 var241
= annotation__Prod__get_single_annotation(self
, var237
, var_modelbuilder
);
2636 var_atautoinit
= var241
;
2638 if (var_atlazy
== NULL
) {
2639 var244
= 0; /* is null */
2641 var244
= 1; /* arg is null and recv is not */
2644 { /* Inline kernel#Object#!= (var_atlazy,var243) on <var_atlazy:nullable AAnnotation> */
2645 var_other191
= var243
;
2647 var248
= ((short int (*)(val
*, val
*))(var_atlazy
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_atlazy
, var_other191
) /* == on <var_atlazy:nullable AAnnotation(AAnnotation)>*/;
2653 RET_LABEL246
:(void)0;
2662 if (var_atautoinit
== NULL
) {
2663 var252
= 0; /* is null */
2665 var252
= 1; /* arg is null and recv is not */
2668 { /* Inline kernel#Object#!= (var_atautoinit,var251) on <var_atautoinit:nullable AAnnotation> */
2669 var_other191
= var251
;
2671 var256
= ((short int (*)(val
*, val
*))(var_atautoinit
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_atautoinit
, var_other191
) /* == on <var_atautoinit:nullable AAnnotation(AAnnotation)>*/;
2677 RET_LABEL254
:(void)0;
2685 if (var_atlazy
== NULL
) {
2686 var260
= 0; /* is null */
2688 var260
= 1; /* arg is null and recv is not */
2691 { /* Inline kernel#Object#!= (var_atlazy,var259) on <var_atlazy:nullable AAnnotation> */
2692 var_other191
= var259
;
2694 var264
= ((short int (*)(val
*, val
*))(var_atlazy
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_atlazy
, var_other191
) /* == on <var_atlazy:nullable AAnnotation(AAnnotation)>*/;
2700 RET_LABEL262
:(void)0;
2707 if (var_atautoinit
== NULL
) {
2708 var268
= 0; /* is null */
2710 var268
= 1; /* arg is null and recv is not */
2713 { /* Inline kernel#Object#!= (var_atautoinit,var267) on <var_atautoinit:nullable AAnnotation> */
2714 var_other191
= var267
;
2716 var272
= ((short int (*)(val
*, val
*))(var_atautoinit
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_atautoinit
, var_other191
) /* == on <var_atautoinit:nullable AAnnotation(AAnnotation)>*/;
2722 RET_LABEL270
:(void)0;
2732 var275
= varonce274
;
2734 var276
= "Error: lazy incompatible with autoinit";
2736 var278
= string__NativeString__to_s_with_length(var276
, var277
);
2738 varonce274
= var275
;
2741 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_atlazy
, var275
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
2747 { /* Inline modelize_property#AAttrPropdef#has_value (self) on <self:AAttrPropdef> */
2748 var281
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___has_value
].s
; /* _has_value on <self:AAttrPropdef> */
2750 RET_LABEL280
:(void)0;
2756 if (var_atlazy
== NULL
) {
2757 var284
= 0; /* is null */
2759 var284
= 1; /* arg is null and recv is not */
2762 { /* Inline kernel#Object#!= (var_atlazy,var283) on <var_atlazy:nullable AAnnotation> */
2763 var_other191
= var283
;
2765 var288
= ((short int (*)(val
*, val
*))(var_atlazy
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_atlazy
, var_other191
) /* == on <var_atlazy:nullable AAnnotation(AAnnotation)>*/;
2771 RET_LABEL286
:(void)0;
2777 var291
= varonce290
;
2779 var292
= "Error: a lazy attribute needs a value";
2781 var294
= string__NativeString__to_s_with_length(var292
, var293
);
2783 varonce290
= var291
;
2786 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_atlazy
, var291
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
2790 if (var_atautoinit
== NULL
) {
2791 var296
= 0; /* is null */
2793 var296
= 1; /* arg is null and recv is not */
2796 { /* Inline kernel#Object#!= (var_atautoinit,var295) on <var_atautoinit:nullable AAnnotation> */
2797 var_other191
= var295
;
2799 var300
= ((short int (*)(val
*, val
*))(var_atautoinit
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_atautoinit
, var_other191
) /* == on <var_atautoinit:nullable AAnnotation(AAnnotation)>*/;
2805 RET_LABEL298
:(void)0;
2811 var303
= varonce302
;
2813 var304
= "Error: a autoinit attribute needs a value";
2815 var306
= string__NativeString__to_s_with_length(var304
, var305
);
2817 varonce302
= var303
;
2820 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_atautoinit
, var303
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
2830 { /* Inline modelize_property#AAttrPropdef#is_lazy= (self,var307) on <self:AAttrPropdef> */
2831 self
->attrs
[COLOR_modelize_property__AAttrPropdef___is_lazy
].s
= var307
; /* _is_lazy on <self:AAttrPropdef> */
2832 RET_LABEL308
:(void)0;
2835 var309
= NEW_model__MAttribute(&type_model__MAttribute
);
2837 var311
= varonce310
;
2841 var314
= string__NativeString__to_s_with_length(var312
, var313
);
2843 varonce310
= var311
;
2846 var315
= string__FlatString___43d(var311
, var_name
);
2849 var316
= model_base__Object__none_visibility(self
);
2852 model__MAttribute__init(var309
, var_mclassdef
, var315
, var316
); /* Direct call model#MAttribute#init on <var309:MAttribute>*/
2854 var_mlazyprop
= var309
;
2855 var317
= NEW_model__MAttributeDef(&type_model__MAttributeDef
);
2857 { /* Inline parser_nodes#ANode#location (self) on <self:AAttrPropdef> */
2858 var320
= self
->attrs
[COLOR_parser_nodes__ANode___location
].val
; /* _location on <self:AAttrPropdef> */
2859 if (unlikely(var320
== NULL
)) {
2860 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
2861 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23);
2865 RET_LABEL319
:(void)0;
2869 model__MAttributeDef__init(var317
, var_mclassdef
, var_mlazyprop
, var318
); /* Direct call model#MAttributeDef#init on <var317:MAttributeDef>*/
2871 var_mlazypropdef
= var317
;
2873 { /* Inline modelize_property#AAttrPropdef#mlazypropdef= (self,var_mlazypropdef) on <self:AAttrPropdef> */
2874 self
->attrs
[COLOR_modelize_property__AAttrPropdef___mlazypropdef
].val
= var_mlazypropdef
; /* _mlazypropdef on <self:AAttrPropdef> */
2875 RET_LABEL321
:(void)0;
2881 var323
= varonce322
;
2883 var324
= "readonly";
2885 var326
= string__NativeString__to_s_with_length(var324
, var325
);
2887 varonce322
= var323
;
2890 var327
= annotation__Prod__get_single_annotation(self
, var323
, var_modelbuilder
);
2892 var_atreadonly
= var327
;
2894 if (var_atreadonly
== NULL
) {
2895 var329
= 0; /* is null */
2897 var329
= 1; /* arg is null and recv is not */
2900 { /* Inline kernel#Object#!= (var_atreadonly,var328) on <var_atreadonly:nullable AAnnotation> */
2901 var_other191
= var328
;
2903 var333
= ((short int (*)(val
*, val
*))(var_atreadonly
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_atreadonly
, var_other191
) /* == on <var_atreadonly:nullable AAnnotation(AAnnotation)>*/;
2909 RET_LABEL331
:(void)0;
2915 { /* Inline modelize_property#AAttrPropdef#has_value (self) on <self:AAttrPropdef> */
2916 var337
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___has_value
].s
; /* _has_value on <self:AAttrPropdef> */
2918 RET_LABEL336
:(void)0;
2924 var340
= varonce339
;
2926 var341
= "Error: a readonly attribute needs a value";
2928 var343
= string__NativeString__to_s_with_length(var341
, var342
);
2930 varonce339
= var340
;
2933 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_atreadonly
, var340
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
2941 var345
= varonce344
;
2945 var348
= string__NativeString__to_s_with_length(var346
, var347
);
2947 varonce344
= var345
;
2950 var349
= string__FlatString___43d(var_name
, var345
);
2952 var_writename
= var349
;
2954 var351
= varonce350
;
2956 var352
= "writable";
2958 var354
= string__NativeString__to_s_with_length(var352
, var353
);
2960 varonce350
= var351
;
2963 var355
= annotation__Prod__get_single_annotation(self
, var351
, var_modelbuilder
);
2965 var_atwritable
= var355
;
2967 if (var_atwritable
== NULL
) {
2968 var357
= 0; /* is null */
2970 var357
= 1; /* arg is null and recv is not */
2973 { /* Inline kernel#Object#!= (var_atwritable,var356) on <var_atwritable:nullable AAnnotation> */
2974 var_other191
= var356
;
2976 var361
= ((short int (*)(val
*, val
*))(var_atwritable
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_atwritable
, var_other191
) /* == on <var_atwritable:nullable AAnnotation(AAnnotation)>*/;
2982 RET_LABEL359
:(void)0;
2988 { /* Inline parser_nodes#AAnnotation#n_args (var_atwritable) on <var_atwritable:nullable AAnnotation(AAnnotation)> */
2989 var365
= var_atwritable
->attrs
[COLOR_parser_nodes__AAnnotation___n_args
].val
; /* _n_args on <var_atwritable:nullable AAnnotation(AAnnotation)> */
2990 if (unlikely(var365
== NULL
)) {
2991 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
2992 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 2039);
2996 RET_LABEL364
:(void)0;
3000 var366
= parser_nodes__ANodes__is_empty(var363
);
3005 var369
= annotation__AAnnotation__arg_as_id(var_atwritable
, var_modelbuilder
);
3010 var368
= var_writename
;
3012 var_writename
= var368
;
3018 var370
= modelbuilder__ModelBuilder__try_get_mproperty_by_name(var_modelbuilder
, var_nid2
, var_mclassdef
, var_writename
);
3020 /* <var370:nullable MProperty> isa nullable MMethod */
3021 cltype372
= type_nullable_model__MMethod
.color
;
3022 idtype373
= type_nullable_model__MMethod
.id
;
3023 if(var370
== NULL
) {
3026 if(cltype372
>= var370
->type
->table_size
) {
3029 var371
= var370
->type
->type_table
[cltype372
] == idtype373
;
3032 if (unlikely(!var371
)) {
3033 var_class_name374
= var370
== NULL ?
"null" : var370
->type
->name
;
3034 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name374
);
3035 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 853);
3038 var_mwriteprop
= var370
;
3040 var_nwkwredef
= var375
;
3042 if (var_atwritable
== NULL
) {
3043 var377
= 0; /* is null */
3045 var377
= 1; /* arg is null and recv is not */
3048 { /* Inline kernel#Object#!= (var_atwritable,var376) on <var_atwritable:nullable AAnnotation> */
3049 var_other191
= var376
;
3051 var381
= ((short int (*)(val
*, val
*))(var_atwritable
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_atwritable
, var_other191
) /* == on <var_atwritable:nullable AAnnotation(AAnnotation)>*/;
3057 RET_LABEL379
:(void)0;
3063 { /* Inline parser_nodes#AAnnotation#n_kwredef (var_atwritable) on <var_atwritable:nullable AAnnotation(AAnnotation)> */
3064 var385
= var_atwritable
->attrs
[COLOR_parser_nodes__AAnnotation___n_kwredef
].val
; /* _n_kwredef on <var_atwritable:nullable AAnnotation(AAnnotation)> */
3066 RET_LABEL384
:(void)0;
3069 var_nwkwredef
= var383
;
3073 if (var_mwriteprop
== NULL
) {
3074 var387
= 1; /* is null */
3076 var387
= 0; /* arg is null but recv is not */
3079 { /* Inline kernel#Object#== (var_mwriteprop,var386) on <var_mwriteprop:nullable MMethod> */
3082 { /* Inline kernel#Object#is_same_instance (var_mwriteprop,var_other) on <var_mwriteprop:nullable MMethod(MMethod)> */
3083 var392
= var_mwriteprop
== var_other
;
3086 RET_LABEL391
:(void)0;
3091 RET_LABEL389
:(void)0;
3097 if (var_atwritable
== NULL
) {
3098 var394
= 0; /* is null */
3100 var394
= 1; /* arg is null and recv is not */
3103 { /* Inline kernel#Object#!= (var_atwritable,var393) on <var_atwritable:nullable AAnnotation> */
3104 var_other191
= var393
;
3106 var398
= ((short int (*)(val
*, val
*))(var_atwritable
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_atwritable
, var_other191
) /* == on <var_atwritable:nullable AAnnotation(AAnnotation)>*/;
3112 RET_LABEL396
:(void)0;
3118 { /* Inline parser_nodes#AAnnotation#n_visibility (var_atwritable) on <var_atwritable:nullable AAnnotation(AAnnotation)> */
3119 var402
= var_atwritable
->attrs
[COLOR_parser_nodes__AAnnotation___n_visibility
].val
; /* _n_visibility on <var_atwritable:nullable AAnnotation(AAnnotation)> */
3121 RET_LABEL401
:(void)0;
3125 var403
= modelize_property__APropdef__new_property_visibility(self
, var_modelbuilder
, var_mclassdef
, var400
);
3127 var_mvisibility404
= var403
;
3130 var405
= model_base__Object__private_visibility(self
);
3132 var_mvisibility404
= var405
;
3134 var406
= NEW_model__MMethod(&type_model__MMethod
);
3136 model__MMethod__init(var406
, var_mclassdef
, var_writename
, var_mvisibility404
); /* Direct call model#MMethod#init on <var406:MMethod>*/
3138 var_mwriteprop
= var406
;
3141 var408
= modelize_property__APropdef__check_redef_keyword(self
, var_modelbuilder
, var_mclassdef
, var_nwkwredef
, var407
, var_mwriteprop
);
3149 { /* Inline mdoc#MEntity#deprecation (var_mprop) on <var_mprop:MAttribute> */
3150 var412
= var_mprop
->attrs
[COLOR_mdoc__MEntity___deprecation
].val
; /* _deprecation on <var_mprop:MAttribute> */
3152 RET_LABEL411
:(void)0;
3156 { /* Inline mdoc#MEntity#deprecation= (var_mwriteprop,var410) on <var_mwriteprop:nullable MMethod(MMethod)> */
3157 var_mwriteprop
->attrs
[COLOR_mdoc__MEntity___deprecation
].val
= var410
; /* _deprecation on <var_mwriteprop:nullable MMethod(MMethod)> */
3158 RET_LABEL413
:(void)0;
3162 if (var_nwkwredef
!=NULL
) {
3163 var414
= var_nwkwredef
;
3166 { /* Inline parser_nodes#APropdef#n_kwredef (self) on <self:AAttrPropdef> */
3167 var417
= self
->attrs
[COLOR_parser_nodes__APropdef___n_kwredef
].val
; /* _n_kwredef on <self:AAttrPropdef> */
3169 RET_LABEL416
:(void)0;
3176 var419
= modelize_property__APropdef__check_redef_keyword(self
, var_modelbuilder
, var_mclassdef
, var414
, var418
, var_mwriteprop
);
3184 if (var_atwritable
== NULL
) {
3185 var422
= 0; /* is null */
3187 var422
= 1; /* arg is null and recv is not */
3190 { /* Inline kernel#Object#!= (var_atwritable,var421) on <var_atwritable:nullable AAnnotation> */
3191 var_other191
= var421
;
3193 var426
= ((short int (*)(val
*, val
*))(var_atwritable
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_atwritable
, var_other191
) /* == on <var_atwritable:nullable AAnnotation(AAnnotation)>*/;
3199 RET_LABEL424
:(void)0;
3205 { /* Inline parser_nodes#AAnnotation#n_visibility (var_atwritable) on <var_atwritable:nullable AAnnotation(AAnnotation)> */
3206 var430
= var_atwritable
->attrs
[COLOR_parser_nodes__AAnnotation___n_visibility
].val
; /* _n_visibility on <var_atwritable:nullable AAnnotation(AAnnotation)> */
3208 RET_LABEL429
:(void)0;
3212 modelize_property__APropdef__check_redef_property_visibility(self
, var_modelbuilder
, var428
, var_mwriteprop
); /* Direct call modelize_property#APropdef#check_redef_property_visibility on <self:AAttrPropdef>*/
3218 { /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on <var_mclassdef:MClassDef> */
3219 var433
= var_mclassdef
->attrs
[COLOR_modelize_property__MClassDef___mprop2npropdef
].val
; /* _mprop2npropdef on <var_mclassdef:MClassDef> */
3220 if (unlikely(var433
== NULL
)) {
3221 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
3222 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 310);
3226 RET_LABEL432
:(void)0;
3230 ((void (*)(val
*, val
*, val
*))(var431
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var431
, var_mwriteprop
, self
) /* []= on <var431:Map[MProperty, APropdef]>*/;
3232 var434
= NEW_model__MMethodDef(&type_model__MMethodDef
);
3234 { /* Inline parser_nodes#ANode#location (self) on <self:AAttrPropdef> */
3235 var437
= self
->attrs
[COLOR_parser_nodes__ANode___location
].val
; /* _location on <self:AAttrPropdef> */
3236 if (unlikely(var437
== NULL
)) {
3237 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
3238 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23);
3242 RET_LABEL436
:(void)0;
3246 model__MMethodDef__init(var434
, var_mclassdef
, var_mwriteprop
, var435
); /* Direct call model#MMethodDef#init on <var434:MMethodDef>*/
3248 var_mwritepropdef
= var434
;
3250 { /* Inline modelize_property#AAttrPropdef#mwritepropdef= (self,var_mwritepropdef) on <self:AAttrPropdef> */
3251 self
->attrs
[COLOR_modelize_property__AAttrPropdef___mwritepropdef
].val
= var_mwritepropdef
; /* _mwritepropdef on <self:AAttrPropdef> */
3252 RET_LABEL438
:(void)0;
3256 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
3257 var441
= var_modelbuilder
->attrs
[COLOR_modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
3258 if (unlikely(var441
== NULL
)) {
3259 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
3260 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 39);
3264 RET_LABEL440
:(void)0;
3268 hash_collection__HashMap___91d_93d_61d(var439
, var_mwritepropdef
, self
); /* Direct call hash_collection#HashMap#[]= on <var439:HashMap[MPropDef, APropdef]>*/
3271 { /* Inline mdoc#MEntity#mdoc (var_mpropdef) on <var_mpropdef:MAttributeDef> */
3272 var444
= var_mpropdef
->attrs
[COLOR_mdoc__MEntity___mdoc
].val
; /* _mdoc on <var_mpropdef:MAttributeDef> */
3274 RET_LABEL443
:(void)0;
3278 { /* Inline mdoc#MEntity#mdoc= (var_mwritepropdef,var442) on <var_mwritepropdef:MMethodDef> */
3279 var_mwritepropdef
->attrs
[COLOR_mdoc__MEntity___mdoc
].val
= var442
; /* _mdoc on <var_mwritepropdef:MMethodDef> */
3280 RET_LABEL445
:(void)0;
3285 /* method modelize_property#AAttrPropdef#build_property for (self: Object, ModelBuilder, MClassDef) */
3286 void VIRTUAL_modelize_property__AAttrPropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
3287 modelize_property__AAttrPropdef__build_property(self
, p0
, p1
); /* Direct call modelize_property#AAttrPropdef#build_property on <self:Object(AAttrPropdef)>*/
3290 /* method modelize_property#AAttrPropdef#build_signature for (self: AAttrPropdef, ModelBuilder) */
3291 void modelize_property__AAttrPropdef__build_signature(val
* self
, val
* p0
) {
3292 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
3293 val
* var
/* : nullable MPropDef */;
3294 val
* var2
/* : nullable MPropDef */;
3295 val
* var_mpropdef
/* var mpropdef: nullable MAttributeDef */;
3296 val
* var3
/* : null */;
3297 short int var4
/* : Bool */;
3298 short int var5
/* : Bool */;
3299 val
* var_other
/* var other: nullable Object */;
3300 short int var7
/* : Bool */;
3301 short int var9
/* : Bool */;
3302 val
* var10
/* : MClassDef */;
3303 val
* var12
/* : MClassDef */;
3304 val
* var_mclassdef
/* var mclassdef: MClassDef */;
3305 val
* var13
/* : MModule */;
3306 val
* var15
/* : MModule */;
3307 val
* var_mmodule
/* var mmodule: MModule */;
3308 val
* var16
/* : null */;
3309 val
* var_mtype
/* var mtype: nullable MType */;
3310 val
* var17
/* : nullable MMethodDef */;
3311 val
* var19
/* : nullable MMethodDef */;
3312 val
* var_mreadpropdef
/* var mreadpropdef: nullable MMethodDef */;
3313 val
* var20
/* : nullable AType */;
3314 val
* var22
/* : nullable AType */;
3315 val
* var_ntype
/* var ntype: nullable AType */;
3316 val
* var23
/* : null */;
3317 short int var24
/* : Bool */;
3318 short int var25
/* : Bool */;
3319 val
* var_other27
/* var other: nullable Object */;
3320 short int var28
/* : Bool */;
3321 short int var29
/* : Bool */;
3322 short int var30
/* : Bool */;
3323 val
* var31
/* : nullable MType */;
3324 val
* var32
/* : null */;
3325 short int var33
/* : Bool */;
3326 short int var34
/* : Bool */;
3327 short int var36
/* : Bool */;
3328 short int var38
/* : Bool */;
3329 short int var39
/* : Bool */;
3330 short int var40
/* : Bool */;
3331 val
* var41
/* : null */;
3332 short int var42
/* : Bool */;
3333 short int var43
/* : Bool */;
3334 short int var45
/* : Bool */;
3335 short int var47
/* : Bool */;
3336 short int var_
/* var : Bool */;
3337 val
* var48
/* : null */;
3338 short int var49
/* : Bool */;
3339 short int var50
/* : Bool */;
3340 short int var52
/* : Bool */;
3341 short int var53
/* : Bool */;
3342 short int var54
/* : Bool */;
3343 short int var_55
/* var : Bool */;
3344 short int var56
/* : Bool */;
3345 short int var57
/* : Bool */;
3346 val
* var58
/* : MProperty */;
3347 val
* var60
/* : MProperty */;
3348 val
* var61
/* : MPropDef */;
3349 val
* var63
/* : MPropDef */;
3350 val
* var64
/* : nullable MSignature */;
3351 val
* var66
/* : nullable MSignature */;
3352 val
* var_msignature
/* var msignature: nullable MSignature */;
3353 val
* var67
/* : null */;
3354 short int var68
/* : Bool */;
3355 short int var69
/* : Bool */;
3356 short int var71
/* : Bool */;
3357 short int var73
/* : Bool */;
3358 val
* var74
/* : nullable MType */;
3359 val
* var76
/* : nullable MType */;
3360 val
* var77
/* : nullable AExpr */;
3361 val
* var79
/* : nullable AExpr */;
3362 val
* var_nexpr
/* var nexpr: nullable AExpr */;
3363 val
* var80
/* : null */;
3364 short int var81
/* : Bool */;
3365 short int var82
/* : Bool */;
3366 short int var84
/* : Bool */;
3367 short int var86
/* : Bool */;
3368 val
* var87
/* : null */;
3369 short int var88
/* : Bool */;
3370 short int var89
/* : Bool */;
3371 short int var91
/* : Bool */;
3372 short int var92
/* : Bool */;
3373 short int var93
/* : Bool */;
3374 short int var94
/* : Bool */;
3377 val
* var95
/* : AType */;
3378 val
* var97
/* : AType */;
3379 val
* var98
/* : nullable MType */;
3380 short int var99
/* : Bool */;
3383 static val
* varonce
;
3384 val
* var102
/* : String */;
3385 char* var103
/* : NativeString */;
3386 long var104
/* : Int */;
3387 val
* var105
/* : FlatString */;
3388 val
* var106
/* : nullable MClass */;
3389 val
* var_cla
/* var cla: nullable MClass */;
3390 val
* var107
/* : null */;
3391 short int var108
/* : Bool */;
3392 short int var109
/* : Bool */;
3393 short int var111
/* : Bool */;
3394 short int var112
/* : Bool */;
3395 short int var113
/* : Bool */;
3396 val
* var114
/* : MClassType */;
3397 val
* var116
/* : MClassType */;
3398 short int var117
/* : Bool */;
3401 static val
* varonce120
;
3402 val
* var121
/* : String */;
3403 char* var122
/* : NativeString */;
3404 long var123
/* : Int */;
3405 val
* var124
/* : FlatString */;
3406 val
* var125
/* : nullable MClass */;
3407 val
* var_cla126
/* var cla: nullable MClass */;
3408 val
* var127
/* : null */;
3409 short int var128
/* : Bool */;
3410 short int var129
/* : Bool */;
3411 short int var131
/* : Bool */;
3412 short int var132
/* : Bool */;
3413 short int var133
/* : Bool */;
3414 val
* var134
/* : MClassType */;
3415 val
* var136
/* : MClassType */;
3416 short int var137
/* : Bool */;
3419 static val
* varonce140
;
3420 val
* var141
/* : String */;
3421 char* var142
/* : NativeString */;
3422 long var143
/* : Int */;
3423 val
* var144
/* : FlatString */;
3424 val
* var145
/* : nullable MClass */;
3425 val
* var_cla146
/* var cla: nullable MClass */;
3426 val
* var147
/* : null */;
3427 short int var148
/* : Bool */;
3428 short int var149
/* : Bool */;
3429 short int var151
/* : Bool */;
3430 short int var152
/* : Bool */;
3431 short int var153
/* : Bool */;
3432 val
* var154
/* : MClassType */;
3433 val
* var156
/* : MClassType */;
3434 short int var157
/* : Bool */;
3437 static val
* varonce160
;
3438 val
* var161
/* : String */;
3439 char* var162
/* : NativeString */;
3440 long var163
/* : Int */;
3441 val
* var164
/* : FlatString */;
3442 val
* var165
/* : nullable MClass */;
3443 val
* var_cla166
/* var cla: nullable MClass */;
3444 val
* var167
/* : null */;
3445 short int var168
/* : Bool */;
3446 short int var169
/* : Bool */;
3447 short int var171
/* : Bool */;
3448 short int var172
/* : Bool */;
3449 short int var173
/* : Bool */;
3450 val
* var174
/* : MClassType */;
3451 val
* var176
/* : MClassType */;
3452 short int var177
/* : Bool */;
3455 static val
* varonce180
;
3456 val
* var181
/* : String */;
3457 char* var182
/* : NativeString */;
3458 long var183
/* : Int */;
3459 val
* var184
/* : FlatString */;
3460 val
* var185
/* : nullable MClass */;
3461 val
* var_cla186
/* var cla: nullable MClass */;
3462 val
* var187
/* : null */;
3463 short int var188
/* : Bool */;
3464 short int var189
/* : Bool */;
3465 short int var191
/* : Bool */;
3466 short int var192
/* : Bool */;
3467 short int var193
/* : Bool */;
3468 val
* var194
/* : MClassType */;
3469 val
* var196
/* : MClassType */;
3470 short int var197
/* : Bool */;
3473 static val
* varonce200
;
3474 val
* var201
/* : String */;
3475 char* var202
/* : NativeString */;
3476 long var203
/* : Int */;
3477 val
* var204
/* : FlatString */;
3478 val
* var205
/* : nullable MClass */;
3479 val
* var_cla206
/* var cla: nullable MClass */;
3480 val
* var207
/* : null */;
3481 short int var208
/* : Bool */;
3482 short int var209
/* : Bool */;
3483 short int var211
/* : Bool */;
3484 short int var212
/* : Bool */;
3485 short int var213
/* : Bool */;
3486 val
* var214
/* : MClassType */;
3487 val
* var216
/* : MClassType */;
3488 static val
* varonce217
;
3489 val
* var218
/* : String */;
3490 char* var219
/* : NativeString */;
3491 long var220
/* : Int */;
3492 val
* var221
/* : FlatString */;
3493 static val
* varonce222
;
3494 val
* var223
/* : String */;
3495 char* var224
/* : NativeString */;
3496 long var225
/* : Int */;
3497 val
* var226
/* : FlatString */;
3498 val
* var227
/* : Array[Object] */;
3499 long var228
/* : Int */;
3500 val
* var229
/* : NativeArray[Object] */;
3501 val
* var230
/* : String */;
3502 val
* var231
/* : null */;
3503 short int var232
/* : Bool */;
3504 short int var233
/* : Bool */;
3505 short int var235
/* : Bool */;
3506 short int var237
/* : Bool */;
3507 val
* var238
/* : null */;
3508 short int var239
/* : Bool */;
3509 short int var240
/* : Bool */;
3510 short int var242
/* : Bool */;
3511 short int var243
/* : Bool */;
3512 short int var244
/* : Bool */;
3513 short int var245
/* : Bool */;
3516 val
* var248
/* : AType */;
3517 val
* var250
/* : AType */;
3518 val
* var251
/* : nullable MType */;
3519 val
* var_xmtype
/* var xmtype: nullable MType */;
3520 short int var252
/* : Bool */;
3521 short int var253
/* : Bool */;
3522 short int var255
/* : Bool */;
3523 short int var257
/* : Bool */;
3524 static val
* varonce258
;
3525 val
* var259
/* : String */;
3526 char* var260
/* : NativeString */;
3527 long var261
/* : Int */;
3528 val
* var262
/* : FlatString */;
3529 static val
* varonce263
;
3530 val
* var264
/* : String */;
3531 char* var265
/* : NativeString */;
3532 long var266
/* : Int */;
3533 val
* var267
/* : FlatString */;
3534 val
* var268
/* : null */;
3535 short int var269
/* : Bool */;
3536 short int var270
/* : Bool */;
3537 short int var272
/* : Bool */;
3538 short int var274
/* : Bool */;
3539 static val
* varonce275
;
3540 val
* var276
/* : String */;
3541 char* var277
/* : NativeString */;
3542 long var278
/* : Int */;
3543 val
* var279
/* : FlatString */;
3544 val
* var280
/* : Array[Object] */;
3545 long var281
/* : Int */;
3546 val
* var282
/* : NativeArray[Object] */;
3547 val
* var283
/* : String */;
3548 val
* var285
/* : null */;
3549 short int var286
/* : Bool */;
3550 short int var287
/* : Bool */;
3551 short int var289
/* : Bool */;
3552 short int var290
/* : Bool */;
3553 short int var291
/* : Bool */;
3554 val
* var292
/* : MSignature */;
3555 val
* var293
/* : Array[MParameter] */;
3556 val
* var_msignature294
/* var msignature: MSignature */;
3557 val
* var296
/* : nullable MMethodDef */;
3558 val
* var298
/* : nullable MMethodDef */;
3559 val
* var_mwritepropdef
/* var mwritepropdef: nullable MMethodDef */;
3560 val
* var299
/* : null */;
3561 short int var300
/* : Bool */;
3562 short int var301
/* : Bool */;
3563 short int var303
/* : Bool */;
3564 short int var304
/* : Bool */;
3565 short int var305
/* : Bool */;
3566 val
* var306
/* : TId */;
3567 val
* var308
/* : TId */;
3568 val
* var309
/* : String */;
3569 val
* var_name
/* var name: String */;
3570 val
* var310
/* : MParameter */;
3571 short int var311
/* : Bool */;
3572 val
* var_mparameter
/* var mparameter: MParameter */;
3573 val
* var312
/* : MSignature */;
3574 val
* var313
/* : Array[MParameter] */;
3575 long var314
/* : Int */;
3576 val
* var_315
/* var : Array[MParameter] */;
3577 val
* var316
/* : null */;
3578 val
* var_msignature317
/* var msignature: MSignature */;
3579 val
* var319
/* : nullable MAttributeDef */;
3580 val
* var321
/* : nullable MAttributeDef */;
3581 val
* var_mlazypropdef
/* var mlazypropdef: nullable MAttributeDef */;
3582 val
* var322
/* : null */;
3583 short int var323
/* : Bool */;
3584 short int var324
/* : Bool */;
3585 short int var326
/* : Bool */;
3586 short int var327
/* : Bool */;
3587 short int var328
/* : Bool */;
3588 val
* var329
/* : Model */;
3589 val
* var331
/* : Model */;
3590 static val
* varonce332
;
3591 val
* var333
/* : String */;
3592 char* var334
/* : NativeString */;
3593 long var335
/* : Int */;
3594 val
* var336
/* : FlatString */;
3595 val
* var337
/* : nullable Array[MClass] */;
3596 val
* var338
/* : nullable Object */;
3597 val
* var339
/* : MClassType */;
3598 val
* var341
/* : MClassType */;
3599 var_modelbuilder
= p0
;
3601 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AAttrPropdef> */
3602 var2
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AAttrPropdef> */
3609 if (var_mpropdef
== NULL
) {
3610 var4
= 1; /* is null */
3612 var4
= 0; /* arg is null but recv is not */
3615 { /* Inline kernel#Object#== (var_mpropdef,var3) on <var_mpropdef:nullable MAttributeDef> */
3618 { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
3619 var9
= var_mpropdef
== var_other
;
3636 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
3637 var12
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
3638 if (unlikely(var12
== NULL
)) {
3639 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
3640 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
3644 RET_LABEL11
:(void)0;
3647 var_mclassdef
= var10
;
3649 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
3650 var15
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
3651 if (unlikely(var15
== NULL
)) {
3652 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
3653 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
3657 RET_LABEL14
:(void)0;
3660 var_mmodule
= var13
;
3664 { /* Inline modelize_property#AAttrPropdef#mreadpropdef (self) on <self:AAttrPropdef> */
3665 var19
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___mreadpropdef
].val
; /* _mreadpropdef on <self:AAttrPropdef> */
3667 RET_LABEL18
:(void)0;
3670 var_mreadpropdef
= var17
;
3672 { /* Inline parser_nodes#AAttrPropdef#n_type (self) on <self:AAttrPropdef> */
3673 var22
= self
->attrs
[COLOR_parser_nodes__AAttrPropdef___n_type
].val
; /* _n_type on <self:AAttrPropdef> */
3675 RET_LABEL21
:(void)0;
3680 if (var_ntype
== NULL
) {
3681 var24
= 0; /* is null */
3683 var24
= 1; /* arg is null and recv is not */
3686 { /* Inline kernel#Object#!= (var_ntype,var23) on <var_ntype:nullable AType> */
3687 var_other27
= var23
;
3689 var29
= ((short int (*)(val
*, val
*))(var_ntype
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ntype
, var_other27
) /* == on <var_ntype:nullable AType(AType)>*/;
3695 RET_LABEL26
:(void)0;
3701 var31
= modelize_class__ModelBuilder__resolve_mtype(var_modelbuilder
, var_mmodule
, var_mclassdef
, var_ntype
);
3705 if (var_mtype
== NULL
) {
3706 var33
= 1; /* is null */
3708 var33
= 0; /* arg is null but recv is not */
3711 { /* Inline kernel#Object#== (var_mtype,var32) on <var_mtype:nullable MType> */
3714 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
3715 var38
= var_mtype
== var_other
;
3718 RET_LABEL37
:(void)0;
3723 RET_LABEL35
:(void)0;
3734 if (var_mtype
== NULL
) {
3735 var42
= 1; /* is null */
3737 var42
= 0; /* arg is null but recv is not */
3740 { /* Inline kernel#Object#== (var_mtype,var41) on <var_mtype:nullable MType> */
3743 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
3744 var47
= var_mtype
== var_other
;
3747 RET_LABEL46
:(void)0;
3752 RET_LABEL44
:(void)0;
3759 if (var_mreadpropdef
== NULL
) {
3760 var49
= 0; /* is null */
3762 var49
= 1; /* arg is null and recv is not */
3765 { /* Inline kernel#Object#!= (var_mreadpropdef,var48) on <var_mreadpropdef:nullable MMethodDef> */
3766 var_other27
= var48
;
3768 var53
= ((short int (*)(val
*, val
*))(var_mreadpropdef
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mreadpropdef
, var_other27
) /* == on <var_mreadpropdef:nullable MMethodDef(MMethodDef)>*/;
3774 RET_LABEL51
:(void)0;
3785 var56
= model__MPropDef__is_intro(var_mreadpropdef
);
3794 { /* Inline model#MPropDef#mproperty (var_mreadpropdef) on <var_mreadpropdef:nullable MMethodDef(MMethodDef)> */
3795 var60
= var_mreadpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mreadpropdef:nullable MMethodDef(MMethodDef)> */
3796 if (unlikely(var60
== NULL
)) {
3797 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
3798 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
3802 RET_LABEL59
:(void)0;
3806 { /* Inline model#MProperty#intro (var58) on <var58:MProperty(MMethod)> */
3807 var63
= var58
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var58:MProperty(MMethod)> */
3808 if (unlikely(var63
== NULL
)) {
3809 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3810 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
3814 RET_LABEL62
:(void)0;
3818 { /* Inline model#MMethodDef#msignature (var61) on <var61:MPropDef(MMethodDef)> */
3819 var66
= var61
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var61:MPropDef(MMethodDef)> */
3821 RET_LABEL65
:(void)0;
3824 var_msignature
= var64
;
3826 if (var_msignature
== NULL
) {
3827 var68
= 1; /* is null */
3829 var68
= 0; /* arg is null but recv is not */
3832 { /* Inline kernel#Object#== (var_msignature,var67) on <var_msignature:nullable MSignature> */
3835 { /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on <var_msignature:nullable MSignature(MSignature)> */
3836 var73
= var_msignature
== var_other
;
3839 RET_LABEL72
:(void)0;
3844 RET_LABEL70
:(void)0;
3853 { /* Inline model#MSignature#return_mtype (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
3854 var76
= var_msignature
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <var_msignature:nullable MSignature(MSignature)> */
3856 RET_LABEL75
:(void)0;
3863 { /* Inline parser_nodes#AAttrPropdef#n_expr (self) on <self:AAttrPropdef> */
3864 var79
= self
->attrs
[COLOR_parser_nodes__AAttrPropdef___n_expr
].val
; /* _n_expr on <self:AAttrPropdef> */
3866 RET_LABEL78
:(void)0;
3871 if (var_mtype
== NULL
) {
3872 var81
= 1; /* is null */
3874 var81
= 0; /* arg is null but recv is not */
3877 { /* Inline kernel#Object#== (var_mtype,var80) on <var_mtype:nullable MType> */
3880 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
3881 var86
= var_mtype
== var_other
;
3884 RET_LABEL85
:(void)0;
3889 RET_LABEL83
:(void)0;
3895 if (var_nexpr
== NULL
) {
3896 var88
= 0; /* is null */
3898 var88
= 1; /* arg is null and recv is not */
3901 { /* Inline kernel#Object#!= (var_nexpr,var87) on <var_nexpr:nullable AExpr> */
3902 var_other27
= var87
;
3904 var92
= ((short int (*)(val
*, val
*))(var_nexpr
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nexpr
, var_other27
) /* == on <var_nexpr:nullable AExpr(AExpr)>*/;
3910 RET_LABEL90
:(void)0;
3915 /* <var_nexpr:nullable AExpr(AExpr)> isa ANewExpr */
3916 cltype
= type_parser_nodes__ANewExpr
.color
;
3917 idtype
= type_parser_nodes__ANewExpr
.id
;
3918 if(cltype
>= var_nexpr
->type
->table_size
) {
3921 var94
= var_nexpr
->type
->type_table
[cltype
] == idtype
;
3925 { /* Inline parser_nodes#ANewExpr#n_type (var_nexpr) on <var_nexpr:nullable AExpr(ANewExpr)> */
3926 var97
= var_nexpr
->attrs
[COLOR_parser_nodes__ANewExpr___n_type
].val
; /* _n_type on <var_nexpr:nullable AExpr(ANewExpr)> */
3927 if (unlikely(var97
== NULL
)) {
3928 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
3929 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1610);
3933 RET_LABEL96
:(void)0;
3937 var98
= modelize_class__ModelBuilder__resolve_mtype(var_modelbuilder
, var_mmodule
, var_mclassdef
, var95
);
3941 /* <var_nexpr:nullable AExpr(AExpr)> isa AIntExpr */
3942 cltype100
= type_parser_nodes__AIntExpr
.color
;
3943 idtype101
= type_parser_nodes__AIntExpr
.id
;
3944 if(cltype100
>= var_nexpr
->type
->table_size
) {
3947 var99
= var_nexpr
->type
->type_table
[cltype100
] == idtype101
;
3955 var105
= string__NativeString__to_s_with_length(var103
, var104
);
3960 var106
= modelbuilder__ModelBuilder__try_get_mclass_by_name(var_modelbuilder
, var_nexpr
, var_mmodule
, var102
);
3964 if (var_cla
== NULL
) {
3965 var108
= 0; /* is null */
3967 var108
= 1; /* arg is null and recv is not */
3970 { /* Inline kernel#Object#!= (var_cla,var107) on <var_cla:nullable MClass> */
3971 var_other27
= var107
;
3973 var112
= ((short int (*)(val
*, val
*))(var_cla
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_cla
, var_other27
) /* == on <var_cla:nullable MClass(MClass)>*/;
3979 RET_LABEL110
:(void)0;
3985 { /* Inline model#MClass#mclass_type (var_cla) on <var_cla:nullable MClass(MClass)> */
3986 var116
= var_cla
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var_cla:nullable MClass(MClass)> */
3987 if (unlikely(var116
== NULL
)) {
3988 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
3989 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
3993 RET_LABEL115
:(void)0;
4000 /* <var_nexpr:nullable AExpr(AExpr)> isa AFloatExpr */
4001 cltype118
= type_parser_nodes__AFloatExpr
.color
;
4002 idtype119
= type_parser_nodes__AFloatExpr
.id
;
4003 if(cltype118
>= var_nexpr
->type
->table_size
) {
4006 var117
= var_nexpr
->type
->type_table
[cltype118
] == idtype119
;
4010 var121
= varonce120
;
4014 var124
= string__NativeString__to_s_with_length(var122
, var123
);
4016 varonce120
= var121
;
4019 var125
= modelbuilder__ModelBuilder__try_get_mclass_by_name(var_modelbuilder
, var_nexpr
, var_mmodule
, var121
);
4021 var_cla126
= var125
;
4023 if (var_cla126
== NULL
) {
4024 var128
= 0; /* is null */
4026 var128
= 1; /* arg is null and recv is not */
4029 { /* Inline kernel#Object#!= (var_cla126,var127) on <var_cla126:nullable MClass> */
4030 var_other27
= var127
;
4032 var132
= ((short int (*)(val
*, val
*))(var_cla126
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_cla126
, var_other27
) /* == on <var_cla126:nullable MClass(MClass)>*/;
4038 RET_LABEL130
:(void)0;
4044 { /* Inline model#MClass#mclass_type (var_cla126) on <var_cla126:nullable MClass(MClass)> */
4045 var136
= var_cla126
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var_cla126:nullable MClass(MClass)> */
4046 if (unlikely(var136
== NULL
)) {
4047 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
4048 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
4052 RET_LABEL135
:(void)0;
4059 /* <var_nexpr:nullable AExpr(AExpr)> isa ACharExpr */
4060 cltype138
= type_parser_nodes__ACharExpr
.color
;
4061 idtype139
= type_parser_nodes__ACharExpr
.id
;
4062 if(cltype138
>= var_nexpr
->type
->table_size
) {
4065 var137
= var_nexpr
->type
->type_table
[cltype138
] == idtype139
;
4069 var141
= varonce140
;
4073 var144
= string__NativeString__to_s_with_length(var142
, var143
);
4075 varonce140
= var141
;
4078 var145
= modelbuilder__ModelBuilder__try_get_mclass_by_name(var_modelbuilder
, var_nexpr
, var_mmodule
, var141
);
4080 var_cla146
= var145
;
4082 if (var_cla146
== NULL
) {
4083 var148
= 0; /* is null */
4085 var148
= 1; /* arg is null and recv is not */
4088 { /* Inline kernel#Object#!= (var_cla146,var147) on <var_cla146:nullable MClass> */
4089 var_other27
= var147
;
4091 var152
= ((short int (*)(val
*, val
*))(var_cla146
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_cla146
, var_other27
) /* == on <var_cla146:nullable MClass(MClass)>*/;
4097 RET_LABEL150
:(void)0;
4103 { /* Inline model#MClass#mclass_type (var_cla146) on <var_cla146:nullable MClass(MClass)> */
4104 var156
= var_cla146
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var_cla146:nullable MClass(MClass)> */
4105 if (unlikely(var156
== NULL
)) {
4106 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
4107 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
4111 RET_LABEL155
:(void)0;
4118 /* <var_nexpr:nullable AExpr(AExpr)> isa ABoolExpr */
4119 cltype158
= type_parser_nodes__ABoolExpr
.color
;
4120 idtype159
= type_parser_nodes__ABoolExpr
.id
;
4121 if(cltype158
>= var_nexpr
->type
->table_size
) {
4124 var157
= var_nexpr
->type
->type_table
[cltype158
] == idtype159
;
4128 var161
= varonce160
;
4132 var164
= string__NativeString__to_s_with_length(var162
, var163
);
4134 varonce160
= var161
;
4137 var165
= modelbuilder__ModelBuilder__try_get_mclass_by_name(var_modelbuilder
, var_nexpr
, var_mmodule
, var161
);
4139 var_cla166
= var165
;
4141 if (var_cla166
== NULL
) {
4142 var168
= 0; /* is null */
4144 var168
= 1; /* arg is null and recv is not */
4147 { /* Inline kernel#Object#!= (var_cla166,var167) on <var_cla166:nullable MClass> */
4148 var_other27
= var167
;
4150 var172
= ((short int (*)(val
*, val
*))(var_cla166
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_cla166
, var_other27
) /* == on <var_cla166:nullable MClass(MClass)>*/;
4156 RET_LABEL170
:(void)0;
4162 { /* Inline model#MClass#mclass_type (var_cla166) on <var_cla166:nullable MClass(MClass)> */
4163 var176
= var_cla166
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var_cla166:nullable MClass(MClass)> */
4164 if (unlikely(var176
== NULL
)) {
4165 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
4166 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
4170 RET_LABEL175
:(void)0;
4177 /* <var_nexpr:nullable AExpr(AExpr)> isa ASuperstringExpr */
4178 cltype178
= type_parser_nodes__ASuperstringExpr
.color
;
4179 idtype179
= type_parser_nodes__ASuperstringExpr
.id
;
4180 if(cltype178
>= var_nexpr
->type
->table_size
) {
4183 var177
= var_nexpr
->type
->type_table
[cltype178
] == idtype179
;
4187 var181
= varonce180
;
4191 var184
= string__NativeString__to_s_with_length(var182
, var183
);
4193 varonce180
= var181
;
4196 var185
= modelbuilder__ModelBuilder__try_get_mclass_by_name(var_modelbuilder
, var_nexpr
, var_mmodule
, var181
);
4198 var_cla186
= var185
;
4200 if (var_cla186
== NULL
) {
4201 var188
= 0; /* is null */
4203 var188
= 1; /* arg is null and recv is not */
4206 { /* Inline kernel#Object#!= (var_cla186,var187) on <var_cla186:nullable MClass> */
4207 var_other27
= var187
;
4209 var192
= ((short int (*)(val
*, val
*))(var_cla186
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_cla186
, var_other27
) /* == on <var_cla186:nullable MClass(MClass)>*/;
4215 RET_LABEL190
:(void)0;
4221 { /* Inline model#MClass#mclass_type (var_cla186) on <var_cla186:nullable MClass(MClass)> */
4222 var196
= var_cla186
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var_cla186:nullable MClass(MClass)> */
4223 if (unlikely(var196
== NULL
)) {
4224 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
4225 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
4229 RET_LABEL195
:(void)0;
4236 /* <var_nexpr:nullable AExpr(AExpr)> isa AStringFormExpr */
4237 cltype198
= type_parser_nodes__AStringFormExpr
.color
;
4238 idtype199
= type_parser_nodes__AStringFormExpr
.id
;
4239 if(cltype198
>= var_nexpr
->type
->table_size
) {
4242 var197
= var_nexpr
->type
->type_table
[cltype198
] == idtype199
;
4246 var201
= varonce200
;
4250 var204
= string__NativeString__to_s_with_length(var202
, var203
);
4252 varonce200
= var201
;
4255 var205
= modelbuilder__ModelBuilder__try_get_mclass_by_name(var_modelbuilder
, var_nexpr
, var_mmodule
, var201
);
4257 var_cla206
= var205
;
4259 if (var_cla206
== NULL
) {
4260 var208
= 0; /* is null */
4262 var208
= 1; /* arg is null and recv is not */
4265 { /* Inline kernel#Object#!= (var_cla206,var207) on <var_cla206:nullable MClass> */
4266 var_other27
= var207
;
4268 var212
= ((short int (*)(val
*, val
*))(var_cla206
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_cla206
, var_other27
) /* == on <var_cla206:nullable MClass(MClass)>*/;
4274 RET_LABEL210
:(void)0;
4280 { /* Inline model#MClass#mclass_type (var_cla206) on <var_cla206:nullable MClass(MClass)> */
4281 var216
= var_cla206
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var_cla206:nullable MClass(MClass)> */
4282 if (unlikely(var216
== NULL
)) {
4283 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
4284 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
4288 RET_LABEL215
:(void)0;
4296 var218
= varonce217
;
4298 var219
= "Error: Untyped attribute ";
4300 var221
= string__NativeString__to_s_with_length(var219
, var220
);
4302 varonce217
= var218
;
4305 var223
= varonce222
;
4307 var224
= ". Implicit typing allowed only for literals and new.";
4309 var226
= string__NativeString__to_s_with_length(var224
, var225
);
4311 varonce222
= var223
;
4313 var227
= NEW_array__Array(&type_array__Arraykernel__Object
);
4314 { /* var227 = array_instance Array[Object] */
4316 var229
= NEW_array__NativeArray(var228
, &type_array__NativeArraykernel__Object
);
4317 ((struct instance_array__NativeArray
*)var229
)->values
[0] = (val
*) var218
;
4318 ((struct instance_array__NativeArray
*)var229
)->values
[1] = (val
*) var_mpropdef
;
4319 ((struct instance_array__NativeArray
*)var229
)->values
[2] = (val
*) var223
;
4321 ((void (*)(val
*, val
*, long))(var227
->class->vft
[COLOR_array__Array__with_native
]))(var227
, var229
, var228
) /* with_native on <var227:Array[Object]>*/;
4325 var230
= ((val
* (*)(val
*))(var227
->class->vft
[COLOR_string__Object__to_s
]))(var227
) /* to_s on <var227:Array[Object]>*/;
4328 modelbuilder__ModelBuilder__error(var_modelbuilder
, self
, var230
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
4338 if (var_mtype
== NULL
) {
4339 var232
= 1; /* is null */
4341 var232
= 0; /* arg is null but recv is not */
4344 { /* Inline kernel#Object#== (var_mtype,var231) on <var_mtype:nullable MType> */
4347 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
4348 var237
= var_mtype
== var_other
;
4351 RET_LABEL236
:(void)0;
4356 RET_LABEL234
:(void)0;
4368 if (var_ntype
== NULL
) {
4369 var239
= 0; /* is null */
4371 var239
= 1; /* arg is null and recv is not */
4374 { /* Inline kernel#Object#!= (var_ntype,var238) on <var_ntype:nullable AType> */
4375 var_other27
= var238
;
4377 var243
= ((short int (*)(val
*, val
*))(var_ntype
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ntype
, var_other27
) /* == on <var_ntype:nullable AType(AType)>*/;
4383 RET_LABEL241
:(void)0;
4388 /* <var_nexpr:nullable AExpr> isa ANewExpr */
4389 cltype246
= type_parser_nodes__ANewExpr
.color
;
4390 idtype247
= type_parser_nodes__ANewExpr
.id
;
4391 if(var_nexpr
== NULL
) {
4394 if(cltype246
>= var_nexpr
->type
->table_size
) {
4397 var245
= var_nexpr
->type
->type_table
[cltype246
] == idtype247
;
4402 { /* Inline parser_nodes#ANewExpr#n_type (var_nexpr) on <var_nexpr:nullable AExpr(ANewExpr)> */
4403 var250
= var_nexpr
->attrs
[COLOR_parser_nodes__ANewExpr___n_type
].val
; /* _n_type on <var_nexpr:nullable AExpr(ANewExpr)> */
4404 if (unlikely(var250
== NULL
)) {
4405 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
4406 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1610);
4410 RET_LABEL249
:(void)0;
4414 var251
= modelize_class__ModelBuilder__resolve_mtype(var_modelbuilder
, var_mmodule
, var_mclassdef
, var248
);
4416 var_xmtype
= var251
;
4417 if (var_xmtype
== NULL
) {
4418 var252
= 0; /* <var_mtype:nullable MType(MType)> cannot be null */
4420 { /* Inline kernel#Object#== (var_xmtype,var_mtype) on <var_xmtype:nullable MType> */
4421 var_other
= var_mtype
;
4423 { /* Inline kernel#Object#is_same_instance (var_xmtype,var_other) on <var_xmtype:nullable MType(MType)> */
4424 var257
= var_xmtype
== var_other
;
4427 RET_LABEL256
:(void)0;
4432 RET_LABEL254
:(void)0;
4438 var259
= varonce258
;
4440 var260
= "useless-type";
4442 var262
= string__NativeString__to_s_with_length(var260
, var261
);
4444 varonce258
= var259
;
4447 var264
= varonce263
;
4449 var265
= "Warning: useless type definition";
4451 var267
= string__NativeString__to_s_with_length(var265
, var266
);
4453 varonce263
= var264
;
4456 modelbuilder__ModelBuilder__advice(var_modelbuilder
, var_ntype
, var259
, var264
); /* Direct call modelbuilder#ModelBuilder#advice on <var_modelbuilder:ModelBuilder>*/
4466 if (var_mtype
== NULL
) {
4467 var269
= 1; /* is null */
4469 var269
= 0; /* arg is null but recv is not */
4472 { /* Inline kernel#Object#== (var_mtype,var268) on <var_mtype:nullable MType> */
4475 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
4476 var274
= var_mtype
== var_other
;
4479 RET_LABEL273
:(void)0;
4484 RET_LABEL271
:(void)0;
4490 var276
= varonce275
;
4492 var277
= "Error: Untyped attribute ";
4494 var279
= string__NativeString__to_s_with_length(var277
, var278
);
4496 varonce275
= var276
;
4498 var280
= NEW_array__Array(&type_array__Arraykernel__Object
);
4499 { /* var280 = array_instance Array[Object] */
4501 var282
= NEW_array__NativeArray(var281
, &type_array__NativeArraykernel__Object
);
4502 ((struct instance_array__NativeArray
*)var282
)->values
[0] = (val
*) var276
;
4503 ((struct instance_array__NativeArray
*)var282
)->values
[1] = (val
*) var_mpropdef
;
4505 ((void (*)(val
*, val
*, long))(var280
->class->vft
[COLOR_array__Array__with_native
]))(var280
, var282
, var281
) /* with_native on <var280:Array[Object]>*/;
4509 var283
= ((val
* (*)(val
*))(var280
->class->vft
[COLOR_string__Object__to_s
]))(var280
) /* to_s on <var280:Array[Object]>*/;
4512 modelbuilder__ModelBuilder__error(var_modelbuilder
, self
, var283
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
4518 { /* Inline model#MAttributeDef#static_mtype= (var_mpropdef,var_mtype) on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
4519 var_mpropdef
->attrs
[COLOR_model__MAttributeDef___static_mtype
].val
= var_mtype
; /* _static_mtype on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
4520 RET_LABEL284
:(void)0;
4524 if (var_mreadpropdef
== NULL
) {
4525 var286
= 0; /* is null */
4527 var286
= 1; /* arg is null and recv is not */
4530 { /* Inline kernel#Object#!= (var_mreadpropdef,var285) on <var_mreadpropdef:nullable MMethodDef> */
4531 var_other27
= var285
;
4533 var290
= ((short int (*)(val
*, val
*))(var_mreadpropdef
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mreadpropdef
, var_other27
) /* == on <var_mreadpropdef:nullable MMethodDef(MMethodDef)>*/;
4539 RET_LABEL288
:(void)0;
4544 var292
= NEW_model__MSignature(&type_model__MSignature
);
4545 var293
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
4547 ((void (*)(val
*))(var293
->class->vft
[COLOR_kernel__Object__init
]))(var293
) /* init on <var293:Array[MParameter]>*/;
4550 model__MSignature__init(var292
, var293
, var_mtype
); /* Direct call model#MSignature#init on <var292:MSignature>*/
4552 var_msignature294
= var292
;
4554 { /* Inline model#MMethodDef#msignature= (var_mreadpropdef,var_msignature294) on <var_mreadpropdef:nullable MMethodDef(MMethodDef)> */
4555 var_mreadpropdef
->attrs
[COLOR_model__MMethodDef___msignature
].val
= var_msignature294
; /* _msignature on <var_mreadpropdef:nullable MMethodDef(MMethodDef)> */
4556 RET_LABEL295
:(void)0;
4562 { /* Inline modelize_property#AAttrPropdef#mwritepropdef (self) on <self:AAttrPropdef> */
4563 var298
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___mwritepropdef
].val
; /* _mwritepropdef on <self:AAttrPropdef> */
4565 RET_LABEL297
:(void)0;
4568 var_mwritepropdef
= var296
;
4570 if (var_mwritepropdef
== NULL
) {
4571 var300
= 0; /* is null */
4573 var300
= 1; /* arg is null and recv is not */
4576 { /* Inline kernel#Object#!= (var_mwritepropdef,var299) on <var_mwritepropdef:nullable MMethodDef> */
4577 var_other27
= var299
;
4579 var304
= ((short int (*)(val
*, val
*))(var_mwritepropdef
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mwritepropdef
, var_other27
) /* == on <var_mwritepropdef:nullable MMethodDef(MMethodDef)>*/;
4585 RET_LABEL302
:(void)0;
4591 { /* Inline parser_nodes#AAttrPropdef#n_id2 (self) on <self:AAttrPropdef> */
4592 var308
= self
->attrs
[COLOR_parser_nodes__AAttrPropdef___n_id2
].val
; /* _n_id2 on <self:AAttrPropdef> */
4593 if (unlikely(var308
== NULL
)) {
4594 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id2");
4595 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1023);
4599 RET_LABEL307
:(void)0;
4603 var309
= lexer_work__Token__text(var306
);
4606 var310
= NEW_model__MParameter(&type_model__MParameter
);
4609 model__MParameter__init(var310
, var_name
, var_mtype
, var311
); /* Direct call model#MParameter#init on <var310:MParameter>*/
4611 var_mparameter
= var310
;
4612 var312
= NEW_model__MSignature(&type_model__MSignature
);
4613 var313
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
4616 array__Array__with_capacity(var313
, var314
); /* Direct call array#Array#with_capacity on <var313:Array[MParameter]>*/
4620 array__AbstractArray__push(var_315
, var_mparameter
); /* Direct call array#AbstractArray#push on <var_315:Array[MParameter]>*/
4624 model__MSignature__init(var312
, var_315
, var316
); /* Direct call model#MSignature#init on <var312:MSignature>*/
4626 var_msignature317
= var312
;
4628 { /* Inline model#MMethodDef#msignature= (var_mwritepropdef,var_msignature317) on <var_mwritepropdef:nullable MMethodDef(MMethodDef)> */
4629 var_mwritepropdef
->attrs
[COLOR_model__MMethodDef___msignature
].val
= var_msignature317
; /* _msignature on <var_mwritepropdef:nullable MMethodDef(MMethodDef)> */
4630 RET_LABEL318
:(void)0;
4636 { /* Inline modelize_property#AAttrPropdef#mlazypropdef (self) on <self:AAttrPropdef> */
4637 var321
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___mlazypropdef
].val
; /* _mlazypropdef on <self:AAttrPropdef> */
4639 RET_LABEL320
:(void)0;
4642 var_mlazypropdef
= var319
;
4644 if (var_mlazypropdef
== NULL
) {
4645 var323
= 0; /* is null */
4647 var323
= 1; /* arg is null and recv is not */
4650 { /* Inline kernel#Object#!= (var_mlazypropdef,var322) on <var_mlazypropdef:nullable MAttributeDef> */
4651 var_other27
= var322
;
4653 var327
= ((short int (*)(val
*, val
*))(var_mlazypropdef
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mlazypropdef
, var_other27
) /* == on <var_mlazypropdef:nullable MAttributeDef(MAttributeDef)>*/;
4659 RET_LABEL325
:(void)0;
4665 { /* Inline modelbuilder#ModelBuilder#model (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
4666 var331
= var_modelbuilder
->attrs
[COLOR_modelbuilder__ModelBuilder___model
].val
; /* _model on <var_modelbuilder:ModelBuilder> */
4667 if (unlikely(var331
== NULL
)) {
4668 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
4669 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 103);
4673 RET_LABEL330
:(void)0;
4677 var333
= varonce332
;
4681 var336
= string__NativeString__to_s_with_length(var334
, var335
);
4683 varonce332
= var333
;
4686 var337
= model__Model__get_mclasses_by_name(var329
, var333
);
4688 if (var337
== NULL
) {
4689 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4690 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 964);
4693 var338
= abstract_collection__SequenceRead__first(var337
);
4696 { /* Inline model#MClass#mclass_type (var338) on <var338:nullable Object(MClass)> */
4697 var341
= var338
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var338:nullable Object(MClass)> */
4698 if (unlikely(var341
== NULL
)) {
4699 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
4700 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
4704 RET_LABEL340
:(void)0;
4708 { /* Inline model#MAttributeDef#static_mtype= (var_mlazypropdef,var339) on <var_mlazypropdef:nullable MAttributeDef(MAttributeDef)> */
4709 var_mlazypropdef
->attrs
[COLOR_model__MAttributeDef___static_mtype
].val
= var339
; /* _static_mtype on <var_mlazypropdef:nullable MAttributeDef(MAttributeDef)> */
4710 RET_LABEL342
:(void)0;
4717 /* method modelize_property#AAttrPropdef#build_signature for (self: Object, ModelBuilder) */
4718 void VIRTUAL_modelize_property__AAttrPropdef__build_signature(val
* self
, val
* p0
) {
4719 modelize_property__AAttrPropdef__build_signature(self
, p0
); /* Direct call modelize_property#AAttrPropdef#build_signature on <self:Object(AAttrPropdef)>*/
4722 /* method modelize_property#AAttrPropdef#check_signature for (self: AAttrPropdef, ModelBuilder) */
4723 void modelize_property__AAttrPropdef__check_signature(val
* self
, val
* p0
) {
4724 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
4725 val
* var
/* : nullable MPropDef */;
4726 val
* var2
/* : nullable MPropDef */;
4727 val
* var_mpropdef
/* var mpropdef: nullable MAttributeDef */;
4728 val
* var3
/* : null */;
4729 short int var4
/* : Bool */;
4730 short int var5
/* : Bool */;
4731 val
* var_other
/* var other: nullable Object */;
4732 short int var7
/* : Bool */;
4733 short int var9
/* : Bool */;
4734 val
* var10
/* : nullable AType */;
4735 val
* var12
/* : nullable AType */;
4736 val
* var_ntype
/* var ntype: nullable AType */;
4737 val
* var13
/* : nullable MPropDef */;
4738 val
* var15
/* : nullable MPropDef */;
4739 val
* var16
/* : nullable MType */;
4740 val
* var18
/* : nullable MType */;
4741 val
* var_mtype
/* var mtype: nullable MType */;
4742 val
* var19
/* : null */;
4743 short int var20
/* : Bool */;
4744 short int var21
/* : Bool */;
4745 short int var23
/* : Bool */;
4746 short int var25
/* : Bool */;
4747 short int var26
/* : Bool */;
4748 short int var27
/* : Bool */;
4749 val
* var28
/* : MProperty */;
4750 val
* var30
/* : MProperty */;
4751 val
* var31
/* : MPropDef */;
4752 val
* var33
/* : MPropDef */;
4753 val
* var34
/* : nullable MType */;
4754 val
* var36
/* : nullable MType */;
4755 val
* var_precursor_type
/* var precursor_type: nullable MType */;
4756 val
* var37
/* : null */;
4757 short int var38
/* : Bool */;
4758 short int var39
/* : Bool */;
4759 short int var41
/* : Bool */;
4760 short int var43
/* : Bool */;
4761 short int var44
/* : Bool */;
4762 short int var45
/* : Bool */;
4763 val
* var_other47
/* var other: nullable Object */;
4764 short int var48
/* : Bool */;
4765 short int var49
/* : Bool */;
4766 short int var50
/* : Bool */;
4767 static val
* varonce
;
4768 val
* var51
/* : String */;
4769 char* var52
/* : NativeString */;
4770 long var53
/* : Int */;
4771 val
* var54
/* : FlatString */;
4772 static val
* varonce55
;
4773 val
* var56
/* : String */;
4774 char* var57
/* : NativeString */;
4775 long var58
/* : Int */;
4776 val
* var59
/* : FlatString */;
4777 static val
* varonce60
;
4778 val
* var61
/* : String */;
4779 char* var62
/* : NativeString */;
4780 long var63
/* : Int */;
4781 val
* var64
/* : FlatString */;
4782 val
* var65
/* : Array[Object] */;
4783 long var66
/* : Int */;
4784 val
* var67
/* : NativeArray[Object] */;
4785 val
* var68
/* : String */;
4786 val
* var69
/* : nullable MMethodDef */;
4787 val
* var71
/* : nullable MMethodDef */;
4788 val
* var_meth
/* var meth: nullable MMethodDef */;
4789 val
* var72
/* : null */;
4790 short int var73
/* : Bool */;
4791 short int var74
/* : Bool */;
4792 short int var76
/* : Bool */;
4793 short int var77
/* : Bool */;
4794 short int var78
/* : Bool */;
4795 val
* var_node
/* var node: nullable ANode */;
4796 val
* var79
/* : null */;
4797 short int var80
/* : Bool */;
4798 short int var81
/* : Bool */;
4799 short int var83
/* : Bool */;
4800 short int var85
/* : Bool */;
4801 val
* var86
/* : nullable MMethodDef */;
4802 val
* var88
/* : nullable MMethodDef */;
4803 val
* var89
/* : null */;
4804 short int var90
/* : Bool */;
4805 short int var91
/* : Bool */;
4806 short int var93
/* : Bool */;
4807 short int var94
/* : Bool */;
4808 short int var95
/* : Bool */;
4809 val
* var_node96
/* var node: nullable ANode */;
4810 val
* var97
/* : null */;
4811 short int var98
/* : Bool */;
4812 short int var99
/* : Bool */;
4813 short int var101
/* : Bool */;
4814 short int var103
/* : Bool */;
4815 var_modelbuilder
= p0
;
4817 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AAttrPropdef> */
4818 var2
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AAttrPropdef> */
4825 if (var_mpropdef
== NULL
) {
4826 var4
= 1; /* is null */
4828 var4
= 0; /* arg is null but recv is not */
4831 { /* Inline kernel#Object#== (var_mpropdef,var3) on <var_mpropdef:nullable MAttributeDef> */
4834 { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
4835 var9
= var_mpropdef
== var_other
;
4852 { /* Inline parser_nodes#AAttrPropdef#n_type (self) on <self:AAttrPropdef> */
4853 var12
= self
->attrs
[COLOR_parser_nodes__AAttrPropdef___n_type
].val
; /* _n_type on <self:AAttrPropdef> */
4855 RET_LABEL11
:(void)0;
4860 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AAttrPropdef> */
4861 var15
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AAttrPropdef> */
4863 RET_LABEL14
:(void)0;
4866 if (var13
== NULL
) {
4867 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4868 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 973);
4871 { /* Inline model#MAttributeDef#static_mtype (var13) on <var13:nullable MPropDef(nullable MAttributeDef)> */
4872 if (unlikely(var13
== NULL
)) {
4873 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4874 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 2006);
4877 var18
= var13
->attrs
[COLOR_model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var13:nullable MPropDef(nullable MAttributeDef)> */
4879 RET_LABEL17
:(void)0;
4884 if (var_mtype
== NULL
) {
4885 var20
= 1; /* is null */
4887 var20
= 0; /* arg is null but recv is not */
4890 { /* Inline kernel#Object#== (var_mtype,var19) on <var_mtype:nullable MType> */
4893 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
4894 var25
= var_mtype
== var_other
;
4897 RET_LABEL24
:(void)0;
4902 RET_LABEL22
:(void)0;
4911 var26
= model__MPropDef__is_intro(var_mpropdef
);
4916 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
4917 var30
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
4918 if (unlikely(var30
== NULL
)) {
4919 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
4920 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
4924 RET_LABEL29
:(void)0;
4928 { /* Inline model#MProperty#intro (var28) on <var28:MProperty(MAttribute)> */
4929 var33
= var28
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var28:MProperty(MAttribute)> */
4930 if (unlikely(var33
== NULL
)) {
4931 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
4932 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
4936 RET_LABEL32
:(void)0;
4940 { /* Inline model#MAttributeDef#static_mtype (var31) on <var31:MPropDef(MAttributeDef)> */
4941 var36
= var31
->attrs
[COLOR_model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var31:MPropDef(MAttributeDef)> */
4943 RET_LABEL35
:(void)0;
4946 var_precursor_type
= var34
;
4948 if (var_precursor_type
== NULL
) {
4949 var38
= 1; /* is null */
4951 var38
= 0; /* arg is null but recv is not */
4954 { /* Inline kernel#Object#== (var_precursor_type,var37) on <var_precursor_type:nullable MType> */
4957 { /* Inline kernel#Object#is_same_instance (var_precursor_type,var_other) on <var_precursor_type:nullable MType(MType)> */
4958 var43
= var_precursor_type
== var_other
;
4961 RET_LABEL42
:(void)0;
4966 RET_LABEL40
:(void)0;
4975 { /* Inline kernel#Object#!= (var_mtype,var_precursor_type) on <var_mtype:nullable MType(MType)> */
4976 var_other47
= var_precursor_type
;
4978 var49
= ((short int (*)(val
*, val
*))(var_mtype
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mtype
, var_other47
) /* == on <var_mtype:nullable MType(MType)>*/;
4984 RET_LABEL46
:(void)0;
4989 if (unlikely(var_ntype
== NULL
)) {
4990 PRINT_ERROR("Runtime error: %s", "Cast failed");
4991 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 983);
4997 var52
= "Redef Error: Wrong static type. found ";
4999 var54
= string__NativeString__to_s_with_length(var52
, var53
);
5006 var57
= ", expected ";
5008 var59
= string__NativeString__to_s_with_length(var57
, var58
);
5017 var64
= string__NativeString__to_s_with_length(var62
, var63
);
5021 var65
= NEW_array__Array(&type_array__Arraykernel__Object
);
5022 { /* var65 = array_instance Array[Object] */
5024 var67
= NEW_array__NativeArray(var66
, &type_array__NativeArraykernel__Object
);
5025 ((struct instance_array__NativeArray
*)var67
)->values
[0] = (val
*) var51
;
5026 ((struct instance_array__NativeArray
*)var67
)->values
[1] = (val
*) var_mtype
;
5027 ((struct instance_array__NativeArray
*)var67
)->values
[2] = (val
*) var56
;
5028 ((struct instance_array__NativeArray
*)var67
)->values
[3] = (val
*) var_precursor_type
;
5029 ((struct instance_array__NativeArray
*)var67
)->values
[4] = (val
*) var61
;
5031 ((void (*)(val
*, val
*, long))(var65
->class->vft
[COLOR_array__Array__with_native
]))(var65
, var67
, var66
) /* with_native on <var65:Array[Object]>*/;
5035 var68
= ((val
* (*)(val
*))(var65
->class->vft
[COLOR_string__Object__to_s
]))(var65
) /* to_s on <var65:Array[Object]>*/;
5038 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_ntype
, var68
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
5046 { /* Inline modelize_property#AAttrPropdef#mreadpropdef (self) on <self:AAttrPropdef> */
5047 var71
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___mreadpropdef
].val
; /* _mreadpropdef on <self:AAttrPropdef> */
5049 RET_LABEL70
:(void)0;
5054 if (var_meth
== NULL
) {
5055 var73
= 0; /* is null */
5057 var73
= 1; /* arg is null and recv is not */
5060 { /* Inline kernel#Object#!= (var_meth,var72) on <var_meth:nullable MMethodDef> */
5061 var_other47
= var72
;
5063 var77
= ((short int (*)(val
*, val
*))(var_meth
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_meth
, var_other47
) /* == on <var_meth:nullable MMethodDef(MMethodDef)>*/;
5069 RET_LABEL75
:(void)0;
5075 modelize_property__AAttrPropdef__check_method_signature(self
, var_modelbuilder
, var_meth
); /* Direct call modelize_property#AAttrPropdef#check_method_signature on <self:AAttrPropdef>*/
5077 var_node
= var_ntype
;
5079 if (var_node
== NULL
) {
5080 var80
= 1; /* is null */
5082 var80
= 0; /* arg is null but recv is not */
5085 { /* Inline kernel#Object#== (var_node,var79) on <var_node:nullable ANode> */
5088 { /* Inline kernel#Object#is_same_instance (var_node,var_other) on <var_node:nullable ANode(ANode)> */
5089 var85
= var_node
== var_other
;
5092 RET_LABEL84
:(void)0;
5097 RET_LABEL82
:(void)0;
5106 modelize_property__ModelBuilder__check_visibility(var_modelbuilder
, var_node
, var_mtype
, var_meth
); /* Direct call modelize_property#ModelBuilder#check_visibility on <var_modelbuilder:ModelBuilder>*/
5111 { /* Inline modelize_property#AAttrPropdef#mwritepropdef (self) on <self:AAttrPropdef> */
5112 var88
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___mwritepropdef
].val
; /* _mwritepropdef on <self:AAttrPropdef> */
5114 RET_LABEL87
:(void)0;
5119 if (var_meth
== NULL
) {
5120 var90
= 0; /* is null */
5122 var90
= 1; /* arg is null and recv is not */
5125 { /* Inline kernel#Object#!= (var_meth,var89) on <var_meth:nullable MMethodDef> */
5126 var_other47
= var89
;
5128 var94
= ((short int (*)(val
*, val
*))(var_meth
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_meth
, var_other47
) /* == on <var_meth:nullable MMethodDef(MMethodDef)>*/;
5134 RET_LABEL92
:(void)0;
5140 modelize_property__AAttrPropdef__check_method_signature(self
, var_modelbuilder
, var_meth
); /* Direct call modelize_property#AAttrPropdef#check_method_signature on <self:AAttrPropdef>*/
5142 var_node96
= var_ntype
;
5144 if (var_node96
== NULL
) {
5145 var98
= 1; /* is null */
5147 var98
= 0; /* arg is null but recv is not */
5150 { /* Inline kernel#Object#== (var_node96,var97) on <var_node96:nullable ANode> */
5153 { /* Inline kernel#Object#is_same_instance (var_node96,var_other) on <var_node96:nullable ANode(ANode)> */
5154 var103
= var_node96
== var_other
;
5157 RET_LABEL102
:(void)0;
5162 RET_LABEL100
:(void)0;
5171 modelize_property__ModelBuilder__check_visibility(var_modelbuilder
, var_node96
, var_mtype
, var_meth
); /* Direct call modelize_property#ModelBuilder#check_visibility on <var_modelbuilder:ModelBuilder>*/
5177 /* method modelize_property#AAttrPropdef#check_signature for (self: Object, ModelBuilder) */
5178 void VIRTUAL_modelize_property__AAttrPropdef__check_signature(val
* self
, val
* p0
) {
5179 modelize_property__AAttrPropdef__check_signature(self
, p0
); /* Direct call modelize_property#AAttrPropdef#check_signature on <self:Object(AAttrPropdef)>*/
5182 /* method modelize_property#AAttrPropdef#check_method_signature for (self: AAttrPropdef, ModelBuilder, MMethodDef) */
5183 void modelize_property__AAttrPropdef__check_method_signature(val
* self
, val
* p0
, val
* p1
) {
5184 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
5185 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
5186 val
* var
/* : MClassDef */;
5187 val
* var2
/* : MClassDef */;
5188 val
* var_mclassdef
/* var mclassdef: MClassDef */;
5189 val
* var3
/* : MModule */;
5190 val
* var5
/* : MModule */;
5191 val
* var_mmodule
/* var mmodule: MModule */;
5192 val
* var6
/* : nullable AType */;
5193 val
* var8
/* : nullable AType */;
5194 val
* var_nsig
/* var nsig: nullable AType */;
5195 val
* var9
/* : nullable MSignature */;
5196 val
* var11
/* : nullable MSignature */;
5197 val
* var_mysignature
/* var mysignature: nullable MSignature */;
5198 val
* var12
/* : null */;
5199 short int var13
/* : Bool */;
5200 short int var14
/* : Bool */;
5201 val
* var_other
/* var other: nullable Object */;
5202 short int var16
/* : Bool */;
5203 short int var18
/* : Bool */;
5204 short int var19
/* : Bool */;
5205 short int var20
/* : Bool */;
5206 val
* var21
/* : MProperty */;
5207 val
* var23
/* : MProperty */;
5208 val
* var24
/* : MPropDef */;
5209 val
* var26
/* : MPropDef */;
5210 val
* var27
/* : nullable MSignature */;
5211 val
* var29
/* : nullable MSignature */;
5212 val
* var_msignature
/* var msignature: nullable MSignature */;
5213 val
* var30
/* : null */;
5214 short int var31
/* : Bool */;
5215 short int var32
/* : Bool */;
5216 short int var34
/* : Bool */;
5217 short int var36
/* : Bool */;
5218 long var37
/* : Int */;
5219 long var38
/* : Int */;
5220 short int var39
/* : Bool */;
5221 short int var40
/* : Bool */;
5222 short int var42
/* : Bool */;
5223 short int var43
/* : Bool */;
5224 val
* var44
/* : null */;
5225 short int var45
/* : Bool */;
5226 short int var46
/* : Bool */;
5227 val
* var_other48
/* var other: nullable Object */;
5228 short int var49
/* : Bool */;
5229 short int var50
/* : Bool */;
5230 short int var51
/* : Bool */;
5231 val
* var_node
/* var node: ANode */;
5232 static val
* varonce
;
5233 val
* var52
/* : String */;
5234 char* var53
/* : NativeString */;
5235 long var54
/* : Int */;
5236 val
* var55
/* : FlatString */;
5237 long var56
/* : Int */;
5238 static val
* varonce57
;
5239 val
* var58
/* : String */;
5240 char* var59
/* : NativeString */;
5241 long var60
/* : Int */;
5242 val
* var61
/* : FlatString */;
5243 long var62
/* : Int */;
5244 static val
* varonce63
;
5245 val
* var64
/* : String */;
5246 char* var65
/* : NativeString */;
5247 long var66
/* : Int */;
5248 val
* var67
/* : FlatString */;
5249 val
* var68
/* : Array[Object] */;
5250 long var69
/* : Int */;
5251 val
* var70
/* : NativeArray[Object] */;
5252 val
* var71
/* : Object */;
5253 val
* var72
/* : Object */;
5254 val
* var73
/* : String */;
5255 val
* var74
/* : nullable MType */;
5256 val
* var76
/* : nullable MType */;
5257 val
* var_precursor_ret_type
/* var precursor_ret_type: nullable MType */;
5258 val
* var77
/* : nullable MType */;
5259 val
* var79
/* : nullable MType */;
5260 val
* var_ret_type
/* var ret_type: nullable MType */;
5261 short int var80
/* : Bool */;
5262 val
* var81
/* : null */;
5263 short int var82
/* : Bool */;
5264 short int var83
/* : Bool */;
5265 short int var85
/* : Bool */;
5266 short int var86
/* : Bool */;
5267 short int var87
/* : Bool */;
5268 short int var_
/* var : Bool */;
5269 val
* var88
/* : null */;
5270 short int var89
/* : Bool */;
5271 short int var90
/* : Bool */;
5272 short int var92
/* : Bool */;
5273 short int var94
/* : Bool */;
5274 val
* var95
/* : null */;
5275 short int var96
/* : Bool */;
5276 short int var97
/* : Bool */;
5277 short int var99
/* : Bool */;
5278 short int var100
/* : Bool */;
5279 short int var101
/* : Bool */;
5280 val
* var_node102
/* var node: ANode */;
5281 static val
* varonce103
;
5282 val
* var104
/* : String */;
5283 char* var105
/* : NativeString */;
5284 long var106
/* : Int */;
5285 val
* var107
/* : FlatString */;
5286 val
* var108
/* : MProperty */;
5287 val
* var110
/* : MProperty */;
5288 static val
* varonce111
;
5289 val
* var112
/* : String */;
5290 char* var113
/* : NativeString */;
5291 long var114
/* : Int */;
5292 val
* var115
/* : FlatString */;
5293 val
* var116
/* : Array[Object] */;
5294 long var117
/* : Int */;
5295 val
* var118
/* : NativeArray[Object] */;
5296 val
* var119
/* : String */;
5297 long var120
/* : Int */;
5298 long var121
/* : Int */;
5299 short int var122
/* : Bool */;
5300 short int var124
/* : Bool */;
5303 const char* var_class_name
;
5304 short int var125
/* : Bool */;
5305 long var126
/* : Int */;
5306 long var_i
/* var i: Int */;
5307 long var127
/* : Int */;
5308 long var_128
/* var : Int */;
5309 short int var129
/* : Bool */;
5310 short int var131
/* : Bool */;
5313 const char* var_class_name134
;
5314 short int var135
/* : Bool */;
5315 val
* var136
/* : Array[MParameter] */;
5316 val
* var138
/* : Array[MParameter] */;
5317 val
* var139
/* : nullable Object */;
5318 val
* var140
/* : MType */;
5319 val
* var142
/* : MType */;
5320 val
* var_myt
/* var myt: MType */;
5321 val
* var143
/* : Array[MParameter] */;
5322 val
* var145
/* : Array[MParameter] */;
5323 val
* var146
/* : nullable Object */;
5324 val
* var147
/* : MType */;
5325 val
* var149
/* : MType */;
5326 val
* var_prt
/* var prt: MType */;
5327 short int var150
/* : Bool */;
5328 val
* var151
/* : MClassType */;
5329 val
* var153
/* : MClassType */;
5330 short int var154
/* : Bool */;
5331 short int var155
/* : Bool */;
5332 short int var_156
/* var : Bool */;
5333 val
* var157
/* : MClassType */;
5334 val
* var159
/* : MClassType */;
5335 short int var160
/* : Bool */;
5336 short int var161
/* : Bool */;
5337 val
* var162
/* : null */;
5338 short int var163
/* : Bool */;
5339 short int var164
/* : Bool */;
5340 short int var166
/* : Bool */;
5341 short int var167
/* : Bool */;
5342 short int var168
/* : Bool */;
5343 val
* var_node169
/* var node: ANode */;
5344 static val
* varonce170
;
5345 val
* var171
/* : String */;
5346 char* var172
/* : NativeString */;
5347 long var173
/* : Int */;
5348 val
* var174
/* : FlatString */;
5349 val
* var175
/* : Array[MParameter] */;
5350 val
* var177
/* : Array[MParameter] */;
5351 val
* var178
/* : nullable Object */;
5352 val
* var179
/* : String */;
5353 val
* var181
/* : String */;
5354 static val
* varonce182
;
5355 val
* var183
/* : String */;
5356 char* var184
/* : NativeString */;
5357 long var185
/* : Int */;
5358 val
* var186
/* : FlatString */;
5359 static val
* varonce187
;
5360 val
* var188
/* : String */;
5361 char* var189
/* : NativeString */;
5362 long var190
/* : Int */;
5363 val
* var191
/* : FlatString */;
5364 static val
* varonce192
;
5365 val
* var193
/* : String */;
5366 char* var194
/* : NativeString */;
5367 long var195
/* : Int */;
5368 val
* var196
/* : FlatString */;
5369 val
* var197
/* : Array[Object] */;
5370 long var198
/* : Int */;
5371 val
* var199
/* : NativeArray[Object] */;
5372 val
* var200
/* : String */;
5373 long var201
/* : Int */;
5374 long var202
/* : Int */;
5375 val
* var203
/* : null */;
5376 short int var204
/* : Bool */;
5377 short int var205
/* : Bool */;
5378 short int var207
/* : Bool */;
5379 short int var208
/* : Bool */;
5380 short int var209
/* : Bool */;
5381 val
* var210
/* : null */;
5382 short int var211
/* : Bool */;
5383 short int var212
/* : Bool */;
5384 short int var214
/* : Bool */;
5385 short int var216
/* : Bool */;
5386 val
* var217
/* : MClassType */;
5387 val
* var219
/* : MClassType */;
5388 short int var220
/* : Bool */;
5389 short int var221
/* : Bool */;
5390 val
* var222
/* : null */;
5391 short int var223
/* : Bool */;
5392 short int var224
/* : Bool */;
5393 short int var226
/* : Bool */;
5394 short int var227
/* : Bool */;
5395 short int var228
/* : Bool */;
5396 val
* var_node229
/* var node: ANode */;
5397 static val
* varonce230
;
5398 val
* var231
/* : String */;
5399 char* var232
/* : NativeString */;
5400 long var233
/* : Int */;
5401 val
* var234
/* : FlatString */;
5402 static val
* varonce235
;
5403 val
* var236
/* : String */;
5404 char* var237
/* : NativeString */;
5405 long var238
/* : Int */;
5406 val
* var239
/* : FlatString */;
5407 static val
* varonce240
;
5408 val
* var241
/* : String */;
5409 char* var242
/* : NativeString */;
5410 long var243
/* : Int */;
5411 val
* var244
/* : FlatString */;
5412 val
* var245
/* : Array[Object] */;
5413 long var246
/* : Int */;
5414 val
* var247
/* : NativeArray[Object] */;
5415 val
* var248
/* : String */;
5416 var_modelbuilder
= p0
;
5419 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
5420 var2
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
5421 if (unlikely(var2
== NULL
)) {
5422 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
5423 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
5430 var_mclassdef
= var
;
5432 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
5433 var5
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
5434 if (unlikely(var5
== NULL
)) {
5435 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5436 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
5445 { /* Inline parser_nodes#AAttrPropdef#n_type (self) on <self:AAttrPropdef> */
5446 var8
= self
->attrs
[COLOR_parser_nodes__AAttrPropdef___n_type
].val
; /* _n_type on <self:AAttrPropdef> */
5453 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
5454 var11
= var_mpropdef
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:MMethodDef> */
5456 RET_LABEL10
:(void)0;
5459 var_mysignature
= var9
;
5461 if (var_mysignature
== NULL
) {
5462 var13
= 1; /* is null */
5464 var13
= 0; /* arg is null but recv is not */
5467 { /* Inline kernel#Object#== (var_mysignature,var12) on <var_mysignature:nullable MSignature> */
5470 { /* Inline kernel#Object#is_same_instance (var_mysignature,var_other) on <var_mysignature:nullable MSignature(MSignature)> */
5471 var18
= var_mysignature
== var_other
;
5474 RET_LABEL17
:(void)0;
5479 RET_LABEL15
:(void)0;
5488 var19
= model__MPropDef__is_intro(var_mpropdef
);
5493 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
5494 var23
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
5495 if (unlikely(var23
== NULL
)) {
5496 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5497 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
5501 RET_LABEL22
:(void)0;
5505 { /* Inline model#MProperty#intro (var21) on <var21:MProperty(MMethod)> */
5506 var26
= var21
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var21:MProperty(MMethod)> */
5507 if (unlikely(var26
== NULL
)) {
5508 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
5509 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
5513 RET_LABEL25
:(void)0;
5517 { /* Inline model#MMethodDef#msignature (var24) on <var24:MPropDef(MMethodDef)> */
5518 var29
= var24
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var24:MPropDef(MMethodDef)> */
5520 RET_LABEL28
:(void)0;
5523 var_msignature
= var27
;
5525 if (var_msignature
== NULL
) {
5526 var31
= 1; /* is null */
5528 var31
= 0; /* arg is null but recv is not */
5531 { /* Inline kernel#Object#== (var_msignature,var30) on <var_msignature:nullable MSignature> */
5534 { /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on <var_msignature:nullable MSignature(MSignature)> */
5535 var36
= var_msignature
== var_other
;
5538 RET_LABEL35
:(void)0;
5543 RET_LABEL33
:(void)0;
5552 var37
= model__MSignature__arity(var_mysignature
);
5555 var38
= model__MSignature__arity(var_msignature
);
5558 { /* Inline kernel#Int#!= (var37,var38) on <var37:Int> */
5559 var42
= var37
== var38
;
5563 RET_LABEL41
:(void)0;
5569 if (var_nsig
== NULL
) {
5570 var45
= 0; /* is null */
5572 var45
= 1; /* arg is null and recv is not */
5575 { /* Inline kernel#Object#!= (var_nsig,var44) on <var_nsig:nullable AType> */
5576 var_other48
= var44
;
5578 var50
= ((short int (*)(val
*, val
*))(var_nsig
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nsig
, var_other48
) /* == on <var_nsig:nullable AType(AType)>*/;
5584 RET_LABEL47
:(void)0;
5589 var_node
= var_nsig
;
5596 var53
= "Redef Error: ";
5598 var55
= string__NativeString__to_s_with_length(var53
, var54
);
5603 var56
= model__MSignature__arity(var_mysignature
);
5608 var59
= " parameters found, ";
5610 var61
= string__NativeString__to_s_with_length(var59
, var60
);
5615 var62
= model__MSignature__arity(var_msignature
);
5620 var65
= " expected. Signature is ";
5622 var67
= string__NativeString__to_s_with_length(var65
, var66
);
5626 var68
= NEW_array__Array(&type_array__Arraykernel__Object
);
5627 { /* var68 = array_instance Array[Object] */
5629 var70
= NEW_array__NativeArray(var69
, &type_array__NativeArraykernel__Object
);
5630 ((struct instance_array__NativeArray
*)var70
)->values
[0] = (val
*) var52
;
5631 var71
= BOX_kernel__Int(var56
); /* autobox from Int to Object */
5632 ((struct instance_array__NativeArray
*)var70
)->values
[1] = (val
*) var71
;
5633 ((struct instance_array__NativeArray
*)var70
)->values
[2] = (val
*) var58
;
5634 var72
= BOX_kernel__Int(var62
); /* autobox from Int to Object */
5635 ((struct instance_array__NativeArray
*)var70
)->values
[3] = (val
*) var72
;
5636 ((struct instance_array__NativeArray
*)var70
)->values
[4] = (val
*) var64
;
5637 ((struct instance_array__NativeArray
*)var70
)->values
[5] = (val
*) var_mpropdef
;
5638 ((struct instance_array__NativeArray
*)var70
)->values
[6] = (val
*) var_msignature
;
5640 ((void (*)(val
*, val
*, long))(var68
->class->vft
[COLOR_array__Array__with_native
]))(var68
, var70
, var69
) /* with_native on <var68:Array[Object]>*/;
5644 var73
= ((val
* (*)(val
*))(var68
->class->vft
[COLOR_string__Object__to_s
]))(var68
) /* to_s on <var68:Array[Object]>*/;
5647 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_node
, var73
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
5653 { /* Inline model#MSignature#return_mtype (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
5654 var76
= var_msignature
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <var_msignature:nullable MSignature(MSignature)> */
5656 RET_LABEL75
:(void)0;
5659 var_precursor_ret_type
= var74
;
5661 { /* Inline model#MSignature#return_mtype (var_mysignature) on <var_mysignature:nullable MSignature(MSignature)> */
5662 var79
= var_mysignature
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <var_mysignature:nullable MSignature(MSignature)> */
5664 RET_LABEL78
:(void)0;
5667 var_ret_type
= var77
;
5669 if (var_ret_type
== NULL
) {
5670 var82
= 0; /* is null */
5672 var82
= 1; /* arg is null and recv is not */
5675 { /* Inline kernel#Object#!= (var_ret_type,var81) on <var_ret_type:nullable MType> */
5676 var_other48
= var81
;
5678 var86
= ((short int (*)(val
*, val
*))(var_ret_type
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ret_type
, var_other48
) /* == on <var_ret_type:nullable MType(MType)>*/;
5684 RET_LABEL84
:(void)0;
5691 if (var_precursor_ret_type
== NULL
) {
5692 var89
= 1; /* is null */
5694 var89
= 0; /* arg is null but recv is not */
5697 { /* Inline kernel#Object#== (var_precursor_ret_type,var88) on <var_precursor_ret_type:nullable MType> */
5700 { /* Inline kernel#Object#is_same_instance (var_precursor_ret_type,var_other) on <var_precursor_ret_type:nullable MType(MType)> */
5701 var94
= var_precursor_ret_type
== var_other
;
5704 RET_LABEL93
:(void)0;
5709 RET_LABEL91
:(void)0;
5719 if (var_nsig
== NULL
) {
5720 var96
= 0; /* is null */
5722 var96
= 1; /* arg is null and recv is not */
5725 { /* Inline kernel#Object#!= (var_nsig,var95) on <var_nsig:nullable AType> */
5726 var_other48
= var95
;
5728 var100
= ((short int (*)(val
*, val
*))(var_nsig
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nsig
, var_other48
) /* == on <var_nsig:nullable AType(AType)>*/;
5734 RET_LABEL98
:(void)0;
5739 var_node102
= var_nsig
;
5744 var104
= varonce103
;
5746 var105
= "Redef Error: ";
5748 var107
= string__NativeString__to_s_with_length(var105
, var106
);
5750 varonce103
= var104
;
5753 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
5754 var110
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
5755 if (unlikely(var110
== NULL
)) {
5756 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5757 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
5761 RET_LABEL109
:(void)0;
5765 var112
= varonce111
;
5767 var113
= " is a procedure, not a function.";
5769 var115
= string__NativeString__to_s_with_length(var113
, var114
);
5771 varonce111
= var112
;
5773 var116
= NEW_array__Array(&type_array__Arraykernel__Object
);
5774 { /* var116 = array_instance Array[Object] */
5776 var118
= NEW_array__NativeArray(var117
, &type_array__NativeArraykernel__Object
);
5777 ((struct instance_array__NativeArray
*)var118
)->values
[0] = (val
*) var104
;
5778 ((struct instance_array__NativeArray
*)var118
)->values
[1] = (val
*) var108
;
5779 ((struct instance_array__NativeArray
*)var118
)->values
[2] = (val
*) var112
;
5781 ((void (*)(val
*, val
*, long))(var116
->class->vft
[COLOR_array__Array__with_native
]))(var116
, var118
, var117
) /* with_native on <var116:Array[Object]>*/;
5785 var119
= ((val
* (*)(val
*))(var116
->class->vft
[COLOR_string__Object__to_s
]))(var116
) /* to_s on <var116:Array[Object]>*/;
5788 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_node102
, var119
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
5794 var120
= model__MSignature__arity(var_mysignature
);
5798 { /* Inline kernel#Int#> (var120,var121) on <var120:Int> */
5799 /* Covariant cast for argument 0 (i) <var121:Int> isa OTHER */
5800 /* <var121:Int> isa OTHER */
5801 var124
= 1; /* easy <var121:Int> isa OTHER*/
5802 if (unlikely(!var124
)) {
5803 var_class_name
= type_kernel__Int
.name
;
5804 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5805 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
5808 var125
= var120
> var121
;
5811 RET_LABEL123
:(void)0;
5818 var127
= model__MSignature__arity(var_mysignature
);
5823 { /* Inline kernel#Int#< (var_i,var_128) on <var_i:Int> */
5824 /* Covariant cast for argument 0 (i) <var_128:Int> isa OTHER */
5825 /* <var_128:Int> isa OTHER */
5826 var131
= 1; /* easy <var_128:Int> isa OTHER*/
5827 if (unlikely(!var131
)) {
5828 var_class_name134
= type_kernel__Int
.name
;
5829 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name134
);
5830 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
5833 var135
= var_i
< var_128
;
5836 RET_LABEL130
:(void)0;
5841 { /* Inline model#MSignature#mparameters (var_mysignature) on <var_mysignature:nullable MSignature(MSignature)> */
5842 var138
= var_mysignature
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var_mysignature:nullable MSignature(MSignature)> */
5843 if (unlikely(var138
== NULL
)) {
5844 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
5845 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
5849 RET_LABEL137
:(void)0;
5853 var139
= array__Array___91d_93d(var136
, var_i
);
5856 { /* Inline model#MParameter#mtype (var139) on <var139:nullable Object(MParameter)> */
5857 var142
= var139
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var139:nullable Object(MParameter)> */
5858 if (unlikely(var142
== NULL
)) {
5859 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
5860 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
5864 RET_LABEL141
:(void)0;
5869 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
5870 var145
= var_msignature
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:nullable MSignature(MSignature)> */
5871 if (unlikely(var145
== NULL
)) {
5872 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
5873 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
5877 RET_LABEL144
:(void)0;
5881 var146
= array__Array___91d_93d(var143
, var_i
);
5884 { /* Inline model#MParameter#mtype (var146) on <var146:nullable Object(MParameter)> */
5885 var149
= var146
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var146:nullable Object(MParameter)> */
5886 if (unlikely(var149
== NULL
)) {
5887 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
5888 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
5892 RET_LABEL148
:(void)0;
5897 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
5898 var153
= var_mclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
5899 if (unlikely(var153
== NULL
)) {
5900 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
5901 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
5905 RET_LABEL152
:(void)0;
5909 var154
= model__MType__is_subtype(var_myt
, var_mmodule
, var151
, var_prt
);
5917 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
5918 var159
= var_mclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
5919 if (unlikely(var159
== NULL
)) {
5920 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
5921 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
5925 RET_LABEL158
:(void)0;
5929 var160
= model__MType__is_subtype(var_prt
, var_mmodule
, var157
, var_myt
);
5936 if (var_nsig
== NULL
) {
5937 var163
= 0; /* is null */
5939 var163
= 1; /* arg is null and recv is not */
5942 { /* Inline kernel#Object#!= (var_nsig,var162) on <var_nsig:nullable AType> */
5943 var_other48
= var162
;
5945 var167
= ((short int (*)(val
*, val
*))(var_nsig
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nsig
, var_other48
) /* == on <var_nsig:nullable AType(AType)>*/;
5951 RET_LABEL165
:(void)0;
5956 var_node169
= var_nsig
;
5961 var171
= varonce170
;
5963 var172
= "Redef Error: Wrong type for parameter `";
5965 var174
= string__NativeString__to_s_with_length(var172
, var173
);
5967 varonce170
= var171
;
5970 { /* Inline model#MSignature#mparameters (var_mysignature) on <var_mysignature:nullable MSignature(MSignature)> */
5971 var177
= var_mysignature
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var_mysignature:nullable MSignature(MSignature)> */
5972 if (unlikely(var177
== NULL
)) {
5973 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
5974 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
5978 RET_LABEL176
:(void)0;
5982 var178
= array__Array___91d_93d(var175
, var_i
);
5985 { /* Inline model#MParameter#name (var178) on <var178:nullable Object(MParameter)> */
5986 var181
= var178
->attrs
[COLOR_model__MParameter___name
].val
; /* _name on <var178:nullable Object(MParameter)> */
5987 if (unlikely(var181
== NULL
)) {
5988 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5989 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1562);
5993 RET_LABEL180
:(void)0;
5997 var183
= varonce182
;
5999 var184
= "\'. found ";
6001 var186
= string__NativeString__to_s_with_length(var184
, var185
);
6003 varonce182
= var183
;
6006 var188
= varonce187
;
6008 var189
= ", expected ";
6010 var191
= string__NativeString__to_s_with_length(var189
, var190
);
6012 varonce187
= var188
;
6015 var193
= varonce192
;
6019 var196
= string__NativeString__to_s_with_length(var194
, var195
);
6021 varonce192
= var193
;
6023 var197
= NEW_array__Array(&type_array__Arraykernel__Object
);
6024 { /* var197 = array_instance Array[Object] */
6026 var199
= NEW_array__NativeArray(var198
, &type_array__NativeArraykernel__Object
);
6027 ((struct instance_array__NativeArray
*)var199
)->values
[0] = (val
*) var171
;
6028 ((struct instance_array__NativeArray
*)var199
)->values
[1] = (val
*) var179
;
6029 ((struct instance_array__NativeArray
*)var199
)->values
[2] = (val
*) var183
;
6030 ((struct instance_array__NativeArray
*)var199
)->values
[3] = (val
*) var_myt
;
6031 ((struct instance_array__NativeArray
*)var199
)->values
[4] = (val
*) var188
;
6032 ((struct instance_array__NativeArray
*)var199
)->values
[5] = (val
*) var_prt
;
6033 ((struct instance_array__NativeArray
*)var199
)->values
[6] = (val
*) var193
;
6035 ((void (*)(val
*, val
*, long))(var197
->class->vft
[COLOR_array__Array__with_native
]))(var197
, var199
, var198
) /* with_native on <var197:Array[Object]>*/;
6039 var200
= ((val
* (*)(val
*))(var197
->class->vft
[COLOR_string__Object__to_s
]))(var197
) /* to_s on <var197:Array[Object]>*/;
6042 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_node169
, var200
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
6048 var202
= kernel__Int__successor(var_i
, var201
);
6055 BREAK_label
: (void)0;
6059 if (var_precursor_ret_type
== NULL
) {
6060 var204
= 0; /* is null */
6062 var204
= 1; /* arg is null and recv is not */
6065 { /* Inline kernel#Object#!= (var_precursor_ret_type,var203) on <var_precursor_ret_type:nullable MType> */
6066 var_other48
= var203
;
6068 var208
= ((short int (*)(val
*, val
*))(var_precursor_ret_type
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_precursor_ret_type
, var_other48
) /* == on <var_precursor_ret_type:nullable MType(MType)>*/;
6074 RET_LABEL206
:(void)0;
6080 if (var_ret_type
== NULL
) {
6081 var211
= 1; /* is null */
6083 var211
= 0; /* arg is null but recv is not */
6086 { /* Inline kernel#Object#== (var_ret_type,var210) on <var_ret_type:nullable MType> */
6089 { /* Inline kernel#Object#is_same_instance (var_ret_type,var_other) on <var_ret_type:nullable MType(MType)> */
6090 var216
= var_ret_type
== var_other
;
6093 RET_LABEL215
:(void)0;
6098 RET_LABEL213
:(void)0;
6103 var_ret_type
= var_precursor_ret_type
;
6106 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
6107 var219
= var_mclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
6108 if (unlikely(var219
== NULL
)) {
6109 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
6110 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
6114 RET_LABEL218
:(void)0;
6118 var220
= model__MType__is_subtype(var_ret_type
, var_mmodule
, var217
, var_precursor_ret_type
);
6123 if (var_nsig
== NULL
) {
6124 var223
= 0; /* is null */
6126 var223
= 1; /* arg is null and recv is not */
6129 { /* Inline kernel#Object#!= (var_nsig,var222) on <var_nsig:nullable AType> */
6130 var_other48
= var222
;
6132 var227
= ((short int (*)(val
*, val
*))(var_nsig
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nsig
, var_other48
) /* == on <var_nsig:nullable AType(AType)>*/;
6138 RET_LABEL225
:(void)0;
6143 var_node229
= var_nsig
;
6148 var231
= varonce230
;
6150 var232
= "Redef Error: Wrong return type. found ";
6152 var234
= string__NativeString__to_s_with_length(var232
, var233
);
6154 varonce230
= var231
;
6157 var236
= varonce235
;
6159 var237
= ", expected ";
6161 var239
= string__NativeString__to_s_with_length(var237
, var238
);
6163 varonce235
= var236
;
6166 var241
= varonce240
;
6170 var244
= string__NativeString__to_s_with_length(var242
, var243
);
6172 varonce240
= var241
;
6174 var245
= NEW_array__Array(&type_array__Arraykernel__Object
);
6175 { /* var245 = array_instance Array[Object] */
6177 var247
= NEW_array__NativeArray(var246
, &type_array__NativeArraykernel__Object
);
6178 ((struct instance_array__NativeArray
*)var247
)->values
[0] = (val
*) var231
;
6179 ((struct instance_array__NativeArray
*)var247
)->values
[1] = (val
*) var_ret_type
;
6180 ((struct instance_array__NativeArray
*)var247
)->values
[2] = (val
*) var236
;
6181 ((struct instance_array__NativeArray
*)var247
)->values
[3] = (val
*) var_precursor_ret_type
;
6182 ((struct instance_array__NativeArray
*)var247
)->values
[4] = (val
*) var241
;
6184 ((void (*)(val
*, val
*, long))(var245
->class->vft
[COLOR_array__Array__with_native
]))(var245
, var247
, var246
) /* with_native on <var245:Array[Object]>*/;
6188 var248
= ((val
* (*)(val
*))(var245
->class->vft
[COLOR_string__Object__to_s
]))(var245
) /* to_s on <var245:Array[Object]>*/;
6191 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_node229
, var248
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
6202 /* method modelize_property#AAttrPropdef#check_method_signature for (self: Object, ModelBuilder, MMethodDef) */
6203 void VIRTUAL_modelize_property__AAttrPropdef__check_method_signature(val
* self
, val
* p0
, val
* p1
) {
6204 modelize_property__AAttrPropdef__check_method_signature(self
, p0
, p1
); /* Direct call modelize_property#AAttrPropdef#check_method_signature on <self:Object(AAttrPropdef)>*/
6207 /* method modelize_property#ATypePropdef#build_property for (self: ATypePropdef, ModelBuilder, MClassDef) */
6208 void modelize_property__ATypePropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
6209 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
6210 val
* var_mclassdef
/* var mclassdef: MClassDef */;
6211 val
* var
/* : TClassid */;
6212 val
* var2
/* : TClassid */;
6213 val
* var3
/* : String */;
6214 val
* var_name
/* var name: String */;
6215 val
* var4
/* : TClassid */;
6216 val
* var6
/* : TClassid */;
6217 val
* var7
/* : nullable MProperty */;
6218 val
* var_mprop
/* var mprop: nullable MProperty */;
6219 val
* var8
/* : null */;
6220 short int var9
/* : Bool */;
6221 short int var10
/* : Bool */;
6222 val
* var_other
/* var other: nullable Object */;
6223 short int var12
/* : Bool */;
6224 short int var14
/* : Bool */;
6225 val
* var15
/* : nullable AVisibility */;
6226 val
* var17
/* : nullable AVisibility */;
6227 val
* var18
/* : MVisibility */;
6228 val
* var_mvisibility
/* var mvisibility: MVisibility */;
6229 val
* var19
/* : MVirtualTypeProp */;
6230 val
* var20
/* : SequenceRead[Char] */;
6231 val
* var22
/* : SequenceRead[Char] */;
6232 val
* var_
/* var : SequenceRead[Char] */;
6233 val
* var23
/* : Iterator[nullable Object] */;
6234 val
* var_24
/* var : IndexedIterator[Char] */;
6235 short int var25
/* : Bool */;
6236 val
* var26
/* : nullable Object */;
6237 char var27
/* : Char */;
6238 char var_c
/* var c: Char */;
6239 short int var28
/* : Bool */;
6240 char var29
/* : Char */;
6241 short int var30
/* : Bool */;
6242 short int var32
/* : Bool */;
6245 const char* var_class_name
;
6246 short int var33
/* : Bool */;
6247 short int var_34
/* var : Bool */;
6248 char var35
/* : Char */;
6249 short int var36
/* : Bool */;
6250 short int var38
/* : Bool */;
6253 const char* var_class_name41
;
6254 short int var42
/* : Bool */;
6255 val
* var43
/* : TClassid */;
6256 val
* var45
/* : TClassid */;
6257 static val
* varonce
;
6258 val
* var46
/* : String */;
6259 char* var47
/* : NativeString */;
6260 long var48
/* : Int */;
6261 val
* var49
/* : FlatString */;
6262 static val
* varonce50
;
6263 val
* var51
/* : String */;
6264 char* var52
/* : NativeString */;
6265 long var53
/* : Int */;
6266 val
* var54
/* : FlatString */;
6267 val
* var55
/* : Array[Object] */;
6268 long var56
/* : Int */;
6269 val
* var57
/* : NativeArray[Object] */;
6270 val
* var58
/* : String */;
6271 val
* var60
/* : nullable TKwredef */;
6272 val
* var62
/* : nullable TKwredef */;
6273 short int var63
/* : Bool */;
6274 short int var64
/* : Bool */;
6275 short int var65
/* : Bool */;
6276 val
* var66
/* : nullable TKwredef */;
6277 val
* var68
/* : nullable TKwredef */;
6278 short int var69
/* : Bool */;
6279 short int var70
/* : Bool */;
6280 short int var71
/* : Bool */;
6281 short int var72
/* : Bool */;
6284 val
* var75
/* : nullable AVisibility */;
6285 val
* var77
/* : nullable AVisibility */;
6286 val
* var78
/* : Map[MProperty, APropdef] */;
6287 val
* var80
/* : Map[MProperty, APropdef] */;
6288 val
* var81
/* : MVirtualTypeDef */;
6289 val
* var82
/* : Location */;
6290 val
* var84
/* : Location */;
6291 val
* var_mpropdef
/* var mpropdef: MVirtualTypeDef */;
6292 short int var85
/* : Bool */;
6295 const struct type
* type_struct
;
6296 const char* var_class_name88
;
6297 short int var90
/* : Bool */;
6300 const struct type
* type_struct93
;
6301 const char* var_class_name94
;
6302 val
* var95
/* : HashMap[MPropDef, APropdef] */;
6303 val
* var97
/* : HashMap[MPropDef, APropdef] */;
6304 static val
* varonce98
;
6305 val
* var99
/* : String */;
6306 char* var100
/* : NativeString */;
6307 long var101
/* : Int */;
6308 val
* var102
/* : FlatString */;
6309 val
* var103
/* : nullable AAnnotation */;
6310 val
* var_atfixed
/* var atfixed: nullable AAnnotation */;
6311 val
* var104
/* : null */;
6312 short int var105
/* : Bool */;
6313 short int var106
/* : Bool */;
6314 val
* var_other108
/* var other: nullable Object */;
6315 short int var109
/* : Bool */;
6316 short int var110
/* : Bool */;
6317 short int var111
/* : Bool */;
6318 short int var112
/* : Bool */;
6319 var_modelbuilder
= p0
;
6322 { /* Inline parser_nodes#ATypePropdef#n_id (self) on <self:ATypePropdef> */
6323 var2
= self
->attrs
[COLOR_parser_nodes__ATypePropdef___n_id
].val
; /* _n_id on <self:ATypePropdef> */
6324 if (unlikely(var2
== NULL
)) {
6325 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
6326 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1147);
6334 var3
= lexer_work__Token__text(var
);
6338 { /* Inline parser_nodes#ATypePropdef#n_id (self) on <self:ATypePropdef> */
6339 var6
= self
->attrs
[COLOR_parser_nodes__ATypePropdef___n_id
].val
; /* _n_id on <self:ATypePropdef> */
6340 if (unlikely(var6
== NULL
)) {
6341 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
6342 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1147);
6350 var7
= modelbuilder__ModelBuilder__try_get_mproperty_by_name(var_modelbuilder
, var4
, var_mclassdef
, var_name
);
6354 if (var_mprop
== NULL
) {
6355 var9
= 1; /* is null */
6357 var9
= 0; /* arg is null but recv is not */
6360 { /* Inline kernel#Object#== (var_mprop,var8) on <var_mprop:nullable MProperty> */
6363 { /* Inline kernel#Object#is_same_instance (var_mprop,var_other) on <var_mprop:nullable MProperty(MProperty)> */
6364 var14
= var_mprop
== var_other
;
6367 RET_LABEL13
:(void)0;
6372 RET_LABEL11
:(void)0;
6378 { /* Inline parser_nodes#APropdef#n_visibility (self) on <self:ATypePropdef> */
6379 var17
= self
->attrs
[COLOR_parser_nodes__APropdef___n_visibility
].val
; /* _n_visibility on <self:ATypePropdef> */
6381 RET_LABEL16
:(void)0;
6385 var18
= modelize_property__APropdef__new_property_visibility(self
, var_modelbuilder
, var_mclassdef
, var15
);
6387 var_mvisibility
= var18
;
6388 var19
= NEW_model__MVirtualTypeProp(&type_model__MVirtualTypeProp
);
6390 model__MVirtualTypeProp__init(var19
, var_mclassdef
, var_name
, var_mvisibility
); /* Direct call model#MVirtualTypeProp#init on <var19:MVirtualTypeProp>*/
6394 { /* Inline string#FlatString#chars (var_name) on <var_name:String> */
6395 var22
= var_name
->attrs
[COLOR_string__FlatString___chars
].val
; /* _chars on <var_name:String> */
6396 if (unlikely(var22
== NULL
)) {
6397 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
6398 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 939);
6402 RET_LABEL21
:(void)0;
6407 var23
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_
) /* iterator on <var_:SequenceRead[Char]>*/;
6412 var25
= ((short int (*)(val
*))(var_24
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_24
) /* is_ok on <var_24:IndexedIterator[Char]>*/;
6416 var26
= ((val
* (*)(val
*))(var_24
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_24
) /* item on <var_24:IndexedIterator[Char]>*/;
6418 var27
= ((struct instance_kernel__Char
*)var26
)->value
; /* autounbox from nullable Object to Char */;
6422 { /* Inline kernel#Char#>= (var_c,var29) on <var_c:Char> */
6423 /* Covariant cast for argument 0 (i) <var29:Char> isa OTHER */
6424 /* <var29:Char> isa OTHER */
6425 var32
= 1; /* easy <var29:Char> isa OTHER*/
6426 if (unlikely(!var32
)) {
6427 var_class_name
= type_kernel__Char
.name
;
6428 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6429 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 547);
6432 var33
= var_c
>= var29
;
6435 RET_LABEL31
:(void)0;
6442 { /* Inline kernel#Char#<= (var_c,var35) on <var_c:Char> */
6443 /* Covariant cast for argument 0 (i) <var35:Char> isa OTHER */
6444 /* <var35:Char> isa OTHER */
6445 var38
= 1; /* easy <var35:Char> isa OTHER*/
6446 if (unlikely(!var38
)) {
6447 var_class_name41
= type_kernel__Char
.name
;
6448 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41
);
6449 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 545);
6452 var42
= var_c
<= var35
;
6455 RET_LABEL37
:(void)0;
6464 { /* Inline parser_nodes#ATypePropdef#n_id (self) on <self:ATypePropdef> */
6465 var45
= self
->attrs
[COLOR_parser_nodes__ATypePropdef___n_id
].val
; /* _n_id on <self:ATypePropdef> */
6466 if (unlikely(var45
== NULL
)) {
6467 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
6468 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1147);
6472 RET_LABEL44
:(void)0;
6478 var47
= "bad-type-name";
6480 var49
= string__NativeString__to_s_with_length(var47
, var48
);
6487 var52
= "Warning: lowercase in the virtual type ";
6489 var54
= string__NativeString__to_s_with_length(var52
, var53
);
6493 var55
= NEW_array__Array(&type_array__Arraykernel__Object
);
6494 { /* var55 = array_instance Array[Object] */
6496 var57
= NEW_array__NativeArray(var56
, &type_array__NativeArraykernel__Object
);
6497 ((struct instance_array__NativeArray
*)var57
)->values
[0] = (val
*) var51
;
6498 ((struct instance_array__NativeArray
*)var57
)->values
[1] = (val
*) var_name
;
6500 ((void (*)(val
*, val
*, long))(var55
->class->vft
[COLOR_array__Array__with_native
]))(var55
, var57
, var56
) /* with_native on <var55:Array[Object]>*/;
6504 var58
= ((val
* (*)(val
*))(var55
->class->vft
[COLOR_string__Object__to_s
]))(var55
) /* to_s on <var55:Array[Object]>*/;
6507 modelbuilder__ModelBuilder__warning(var_modelbuilder
, var43
, var46
, var58
); /* Direct call modelbuilder#ModelBuilder#warning on <var_modelbuilder:ModelBuilder>*/
6513 ((void (*)(val
*))(var_24
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_24
) /* next on <var_24:IndexedIterator[Char]>*/;
6519 BREAK_label
: (void)0;
6521 { /* Inline abstract_collection#Iterator#finish (var_24) on <var_24:IndexedIterator[Char]> */
6522 RET_LABEL59
:(void)0;
6526 { /* Inline parser_nodes#APropdef#n_kwredef (self) on <self:ATypePropdef> */
6527 var62
= self
->attrs
[COLOR_parser_nodes__APropdef___n_kwredef
].val
; /* _n_kwredef on <self:ATypePropdef> */
6529 RET_LABEL61
:(void)0;
6534 var64
= modelize_property__APropdef__check_redef_keyword(self
, var_modelbuilder
, var_mclassdef
, var60
, var63
, var_mprop
);
6543 { /* Inline parser_nodes#APropdef#n_kwredef (self) on <self:ATypePropdef> */
6544 var68
= self
->attrs
[COLOR_parser_nodes__APropdef___n_kwredef
].val
; /* _n_kwredef on <self:ATypePropdef> */
6546 RET_LABEL67
:(void)0;
6551 var70
= modelize_property__APropdef__check_redef_keyword(self
, var_modelbuilder
, var_mclassdef
, var66
, var69
, var_mprop
);
6558 /* <var_mprop:nullable MProperty(MProperty)> isa MVirtualTypeProp */
6559 cltype73
= type_model__MVirtualTypeProp
.color
;
6560 idtype74
= type_model__MVirtualTypeProp
.id
;
6561 if(cltype73
>= var_mprop
->type
->table_size
) {
6564 var72
= var_mprop
->type
->type_table
[cltype73
] == idtype74
;
6566 if (unlikely(!var72
)) {
6567 PRINT_ERROR("Runtime error: %s", "Assert failed");
6568 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 1078);
6572 { /* Inline parser_nodes#APropdef#n_visibility (self) on <self:ATypePropdef> */
6573 var77
= self
->attrs
[COLOR_parser_nodes__APropdef___n_visibility
].val
; /* _n_visibility on <self:ATypePropdef> */
6575 RET_LABEL76
:(void)0;
6579 modelize_property__APropdef__check_redef_property_visibility(self
, var_modelbuilder
, var75
, var_mprop
); /* Direct call modelize_property#APropdef#check_redef_property_visibility on <self:ATypePropdef>*/
6583 { /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on <var_mclassdef:MClassDef> */
6584 var80
= var_mclassdef
->attrs
[COLOR_modelize_property__MClassDef___mprop2npropdef
].val
; /* _mprop2npropdef on <var_mclassdef:MClassDef> */
6585 if (unlikely(var80
== NULL
)) {
6586 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
6587 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 310);
6591 RET_LABEL79
:(void)0;
6595 ((void (*)(val
*, val
*, val
*))(var78
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var78
, var_mprop
, self
) /* []= on <var78:Map[MProperty, APropdef]>*/;
6597 var81
= NEW_model__MVirtualTypeDef(&type_model__MVirtualTypeDef
);
6599 { /* Inline parser_nodes#ANode#location (self) on <self:ATypePropdef> */
6600 var84
= self
->attrs
[COLOR_parser_nodes__ANode___location
].val
; /* _location on <self:ATypePropdef> */
6601 if (unlikely(var84
== NULL
)) {
6602 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
6603 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23);
6607 RET_LABEL83
:(void)0;
6611 model__MVirtualTypeDef__init(var81
, var_mclassdef
, var_mprop
, var82
); /* Direct call model#MVirtualTypeDef#init on <var81:MVirtualTypeDef>*/
6613 var_mpropdef
= var81
;
6614 /* <var_mpropdef:MVirtualTypeDef> isa nullable MPROPDEF */
6615 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable_parser_nodes__APropdef_VTMPROPDEF
];
6616 cltype86
= type_struct
->color
;
6617 idtype87
= type_struct
->id
;
6618 if(cltype86
>= var_mpropdef
->type
->table_size
) {
6621 var85
= var_mpropdef
->type
->type_table
[cltype86
] == idtype87
;
6623 if (unlikely(!var85
)) {
6624 var_class_name88
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
6625 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name88
);
6626 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 1084);
6630 { /* Inline modelize_property#APropdef#mpropdef= (self,var_mpropdef) on <self:ATypePropdef> */
6631 /* Covariant cast for argument 0 (mpropdef) <var_mpropdef:MVirtualTypeDef> isa nullable MPROPDEF */
6632 /* <var_mpropdef:MVirtualTypeDef> isa nullable MPROPDEF */
6633 type_struct93
= self
->type
->resolution_table
->types
[COLOR_nullable_parser_nodes__APropdef_VTMPROPDEF
];
6634 cltype91
= type_struct93
->color
;
6635 idtype92
= type_struct93
->id
;
6636 if(cltype91
>= var_mpropdef
->type
->table_size
) {
6639 var90
= var_mpropdef
->type
->type_table
[cltype91
] == idtype92
;
6641 if (unlikely(!var90
)) {
6642 var_class_name94
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
6643 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name94
);
6644 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 319);
6647 self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
= var_mpropdef
; /* _mpropdef on <self:ATypePropdef> */
6648 RET_LABEL89
:(void)0;
6652 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
6653 var97
= var_modelbuilder
->attrs
[COLOR_modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
6654 if (unlikely(var97
== NULL
)) {
6655 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
6656 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 39);
6660 RET_LABEL96
:(void)0;
6664 hash_collection__HashMap___91d_93d_61d(var95
, var_mpropdef
, self
); /* Direct call hash_collection#HashMap#[]= on <var95:HashMap[MPropDef, APropdef]>*/
6667 modelize_property__APropdef__set_doc(self
, var_mpropdef
, var_modelbuilder
); /* Direct call modelize_property#APropdef#set_doc on <self:ATypePropdef>*/
6674 var102
= string__NativeString__to_s_with_length(var100
, var101
);
6679 var103
= annotation__Prod__get_single_annotation(self
, var99
, var_modelbuilder
);
6681 var_atfixed
= var103
;
6683 if (var_atfixed
== NULL
) {
6684 var105
= 0; /* is null */
6686 var105
= 1; /* arg is null and recv is not */
6689 { /* Inline kernel#Object#!= (var_atfixed,var104) on <var_atfixed:nullable AAnnotation> */
6690 var_other108
= var104
;
6692 var110
= ((short int (*)(val
*, val
*))(var_atfixed
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_atfixed
, var_other108
) /* == on <var_atfixed:nullable AAnnotation(AAnnotation)>*/;
6698 RET_LABEL107
:(void)0;
6705 { /* Inline model#MVirtualTypeDef#is_fixed= (var_mpropdef,var112) on <var_mpropdef:MVirtualTypeDef> */
6706 var_mpropdef
->attrs
[COLOR_model__MVirtualTypeDef___is_fixed
].s
= var112
; /* _is_fixed on <var_mpropdef:MVirtualTypeDef> */
6707 RET_LABEL113
:(void)0;
6714 /* method modelize_property#ATypePropdef#build_property for (self: Object, ModelBuilder, MClassDef) */
6715 void VIRTUAL_modelize_property__ATypePropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
6716 modelize_property__ATypePropdef__build_property(self
, p0
, p1
); /* Direct call modelize_property#ATypePropdef#build_property on <self:Object(ATypePropdef)>*/
6719 /* method modelize_property#ATypePropdef#build_signature for (self: ATypePropdef, ModelBuilder) */
6720 void modelize_property__ATypePropdef__build_signature(val
* self
, val
* p0
) {
6721 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
6722 val
* var
/* : nullable MPropDef */;
6723 val
* var2
/* : nullable MPropDef */;
6724 val
* var_mpropdef
/* var mpropdef: nullable MVirtualTypeDef */;
6725 val
* var3
/* : null */;
6726 short int var4
/* : Bool */;
6727 short int var5
/* : Bool */;
6728 val
* var_other
/* var other: nullable Object */;
6729 short int var7
/* : Bool */;
6730 short int var9
/* : Bool */;
6731 val
* var10
/* : MClassDef */;
6732 val
* var12
/* : MClassDef */;
6733 val
* var_mclassdef
/* var mclassdef: MClassDef */;
6734 val
* var13
/* : MModule */;
6735 val
* var15
/* : MModule */;
6736 val
* var_mmodule
/* var mmodule: MModule */;
6737 val
* var16
/* : null */;
6738 val
* var_mtype
/* var mtype: nullable MType */;
6739 val
* var17
/* : AType */;
6740 val
* var19
/* : AType */;
6741 val
* var_ntype
/* var ntype: AType */;
6742 val
* var20
/* : nullable MType */;
6743 val
* var21
/* : null */;
6744 short int var22
/* : Bool */;
6745 short int var23
/* : Bool */;
6746 short int var25
/* : Bool */;
6747 short int var27
/* : Bool */;
6748 var_modelbuilder
= p0
;
6750 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:ATypePropdef> */
6751 var2
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:ATypePropdef> */
6758 if (var_mpropdef
== NULL
) {
6759 var4
= 1; /* is null */
6761 var4
= 0; /* arg is null but recv is not */
6764 { /* Inline kernel#Object#== (var_mpropdef,var3) on <var_mpropdef:nullable MVirtualTypeDef> */
6767 { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
6768 var9
= var_mpropdef
== var_other
;
6785 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
6786 var12
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
6787 if (unlikely(var12
== NULL
)) {
6788 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
6789 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
6793 RET_LABEL11
:(void)0;
6796 var_mclassdef
= var10
;
6798 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
6799 var15
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
6800 if (unlikely(var15
== NULL
)) {
6801 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
6802 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
6806 RET_LABEL14
:(void)0;
6809 var_mmodule
= var13
;
6813 { /* Inline parser_nodes#ATypePropdef#n_type (self) on <self:ATypePropdef> */
6814 var19
= self
->attrs
[COLOR_parser_nodes__ATypePropdef___n_type
].val
; /* _n_type on <self:ATypePropdef> */
6815 if (unlikely(var19
== NULL
)) {
6816 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
6817 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1148);
6821 RET_LABEL18
:(void)0;
6826 var20
= modelize_class__ModelBuilder__resolve_mtype(var_modelbuilder
, var_mmodule
, var_mclassdef
, var_ntype
);
6830 if (var_mtype
== NULL
) {
6831 var22
= 1; /* is null */
6833 var22
= 0; /* arg is null but recv is not */
6836 { /* Inline kernel#Object#== (var_mtype,var21) on <var_mtype:nullable MType> */
6839 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
6840 var27
= var_mtype
== var_other
;
6843 RET_LABEL26
:(void)0;
6848 RET_LABEL24
:(void)0;
6857 { /* Inline model#MVirtualTypeDef#bound= (var_mpropdef,var_mtype) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
6858 var_mpropdef
->attrs
[COLOR_model__MVirtualTypeDef___bound
].val
= var_mtype
; /* _bound on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
6859 RET_LABEL28
:(void)0;
6864 /* method modelize_property#ATypePropdef#build_signature for (self: Object, ModelBuilder) */
6865 void VIRTUAL_modelize_property__ATypePropdef__build_signature(val
* self
, val
* p0
) {
6866 modelize_property__ATypePropdef__build_signature(self
, p0
); /* Direct call modelize_property#ATypePropdef#build_signature on <self:Object(ATypePropdef)>*/
6869 /* method modelize_property#ATypePropdef#check_signature for (self: ATypePropdef, ModelBuilder) */
6870 void modelize_property__ATypePropdef__check_signature(val
* self
, val
* p0
) {
6871 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
6872 val
* var
/* : nullable MPropDef */;
6873 val
* var2
/* : nullable MPropDef */;
6874 val
* var_mpropdef
/* var mpropdef: nullable MVirtualTypeDef */;
6875 val
* var3
/* : null */;
6876 short int var4
/* : Bool */;
6877 short int var5
/* : Bool */;
6878 val
* var_other
/* var other: nullable Object */;
6879 short int var7
/* : Bool */;
6880 short int var9
/* : Bool */;
6881 val
* var10
/* : nullable MPropDef */;
6882 val
* var12
/* : nullable MPropDef */;
6883 val
* var13
/* : nullable MType */;
6884 val
* var15
/* : nullable MType */;
6885 val
* var_bound
/* var bound: nullable MType */;
6886 val
* var16
/* : null */;
6887 short int var17
/* : Bool */;
6888 short int var18
/* : Bool */;
6889 short int var20
/* : Bool */;
6890 short int var22
/* : Bool */;
6891 val
* var23
/* : AType */;
6892 val
* var25
/* : AType */;
6893 val
* var26
/* : MClassDef */;
6894 val
* var28
/* : MClassDef */;
6895 val
* var_mclassdef
/* var mclassdef: MClassDef */;
6896 val
* var29
/* : MModule */;
6897 val
* var31
/* : MModule */;
6898 val
* var_mmodule
/* var mmodule: MModule */;
6899 val
* var32
/* : MClassType */;
6900 val
* var34
/* : MClassType */;
6901 val
* var_anchor
/* var anchor: MClassType */;
6902 short int var35
/* : Bool */;
6905 val
* var36
/* : Array[MVirtualType] */;
6906 long var37
/* : Int */;
6907 val
* var_
/* var : Array[MVirtualType] */;
6908 val
* var38
/* : nullable MPropDef */;
6909 val
* var40
/* : nullable MPropDef */;
6910 val
* var41
/* : MProperty */;
6911 val
* var43
/* : MProperty */;
6912 val
* var44
/* : MVirtualType */;
6913 val
* var46
/* : MVirtualType */;
6914 val
* var_seen
/* var seen: Array[MVirtualType] */;
6915 short int var47
/* : Bool */;
6916 static val
* varonce
;
6917 val
* var48
/* : String */;
6918 char* var49
/* : NativeString */;
6919 long var50
/* : Int */;
6920 val
* var51
/* : FlatString */;
6921 static val
* varonce52
;
6922 val
* var53
/* : String */;
6923 char* var54
/* : NativeString */;
6924 long var55
/* : Int */;
6925 val
* var56
/* : FlatString */;
6926 val
* var57
/* : String */;
6927 val
* var58
/* : Array[Object] */;
6928 long var59
/* : Int */;
6929 val
* var60
/* : NativeArray[Object] */;
6930 val
* var61
/* : String */;
6931 val
* var62
/* : MType */;
6932 val
* var_next
/* var next: MType */;
6933 short int var63
/* : Bool */;
6936 short int var66
/* : Bool */;
6937 val
* var67
/* : nullable MType */;
6938 val
* var69
/* : nullable MType */;
6939 val
* var70
/* : MProperty */;
6940 val
* var72
/* : MProperty */;
6941 val
* var73
/* : Array[MPropDef] */;
6942 val
* var_74
/* var : Array[MVirtualTypeDef] */;
6943 val
* var75
/* : ArrayIterator[nullable Object] */;
6944 val
* var_76
/* var : ArrayIterator[MVirtualTypeDef] */;
6945 short int var77
/* : Bool */;
6946 val
* var78
/* : nullable Object */;
6947 val
* var_p
/* var p: MVirtualTypeDef */;
6948 val
* var79
/* : nullable MType */;
6949 val
* var81
/* : nullable MType */;
6950 val
* var_supbound
/* var supbound: MType */;
6951 short int var82
/* : Bool */;
6952 short int var84
/* : Bool */;
6953 static val
* varonce85
;
6954 val
* var86
/* : String */;
6955 char* var87
/* : NativeString */;
6956 long var88
/* : Int */;
6957 val
* var89
/* : FlatString */;
6958 val
* var90
/* : MProperty */;
6959 val
* var92
/* : MProperty */;
6960 static val
* varonce93
;
6961 val
* var94
/* : String */;
6962 char* var95
/* : NativeString */;
6963 long var96
/* : Int */;
6964 val
* var97
/* : FlatString */;
6965 val
* var98
/* : MClassDef */;
6966 val
* var100
/* : MClassDef */;
6967 val
* var101
/* : MClass */;
6968 val
* var103
/* : MClass */;
6969 val
* var104
/* : Array[Object] */;
6970 long var105
/* : Int */;
6971 val
* var106
/* : NativeArray[Object] */;
6972 val
* var107
/* : String */;
6973 val
* var109
/* : MClassDef */;
6974 val
* var111
/* : MClassDef */;
6975 val
* var112
/* : MClass */;
6976 val
* var114
/* : MClass */;
6977 val
* var115
/* : MClass */;
6978 val
* var117
/* : MClass */;
6979 short int var118
/* : Bool */;
6980 short int var119
/* : Bool */;
6981 short int var121
/* : Bool */;
6982 short int var123
/* : Bool */;
6983 val
* var124
/* : AType */;
6984 val
* var126
/* : AType */;
6985 static val
* varonce127
;
6986 val
* var128
/* : String */;
6987 char* var129
/* : NativeString */;
6988 long var130
/* : Int */;
6989 val
* var131
/* : FlatString */;
6990 static val
* varonce132
;
6991 val
* var133
/* : String */;
6992 char* var134
/* : NativeString */;
6993 long var135
/* : Int */;
6994 val
* var136
/* : FlatString */;
6995 short int var137
/* : Bool */;
6996 short int var138
/* : Bool */;
6997 val
* var139
/* : AType */;
6998 val
* var141
/* : AType */;
6999 static val
* varonce142
;
7000 val
* var143
/* : String */;
7001 char* var144
/* : NativeString */;
7002 long var145
/* : Int */;
7003 val
* var146
/* : FlatString */;
7004 static val
* varonce147
;
7005 val
* var148
/* : String */;
7006 char* var149
/* : NativeString */;
7007 long var150
/* : Int */;
7008 val
* var151
/* : FlatString */;
7009 static val
* varonce152
;
7010 val
* var153
/* : String */;
7011 char* var154
/* : NativeString */;
7012 long var155
/* : Int */;
7013 val
* var156
/* : FlatString */;
7014 static val
* varonce157
;
7015 val
* var158
/* : String */;
7016 char* var159
/* : NativeString */;
7017 long var160
/* : Int */;
7018 val
* var161
/* : FlatString */;
7019 val
* var162
/* : Array[Object] */;
7020 long var163
/* : Int */;
7021 val
* var164
/* : NativeArray[Object] */;
7022 val
* var165
/* : String */;
7023 var_modelbuilder
= p0
;
7025 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:ATypePropdef> */
7026 var2
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:ATypePropdef> */
7033 if (var_mpropdef
== NULL
) {
7034 var4
= 1; /* is null */
7036 var4
= 0; /* arg is null but recv is not */
7039 { /* Inline kernel#Object#== (var_mpropdef,var3) on <var_mpropdef:nullable MVirtualTypeDef> */
7042 { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
7043 var9
= var_mpropdef
== var_other
;
7060 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:ATypePropdef> */
7061 var12
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:ATypePropdef> */
7063 RET_LABEL11
:(void)0;
7066 if (var10
== NULL
) {
7067 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7068 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 1115);
7071 { /* Inline model#MVirtualTypeDef#bound (var10) on <var10:nullable MPropDef(nullable MVirtualTypeDef)> */
7072 if (unlikely(var10
== NULL
)) {
7073 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7074 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 2022);
7077 var15
= var10
->attrs
[COLOR_model__MVirtualTypeDef___bound
].val
; /* _bound on <var10:nullable MPropDef(nullable MVirtualTypeDef)> */
7079 RET_LABEL14
:(void)0;
7084 if (var_bound
== NULL
) {
7085 var17
= 1; /* is null */
7087 var17
= 0; /* arg is null but recv is not */
7090 { /* Inline kernel#Object#== (var_bound,var16) on <var_bound:nullable MType> */
7093 { /* Inline kernel#Object#is_same_instance (var_bound,var_other) on <var_bound:nullable MType(MType)> */
7094 var22
= var_bound
== var_other
;
7097 RET_LABEL21
:(void)0;
7102 RET_LABEL19
:(void)0;
7111 { /* Inline parser_nodes#ATypePropdef#n_type (self) on <self:ATypePropdef> */
7112 var25
= self
->attrs
[COLOR_parser_nodes__ATypePropdef___n_type
].val
; /* _n_type on <self:ATypePropdef> */
7113 if (unlikely(var25
== NULL
)) {
7114 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
7115 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1148);
7119 RET_LABEL24
:(void)0;
7123 modelize_property__ModelBuilder__check_visibility(var_modelbuilder
, var23
, var_bound
, var_mpropdef
); /* Direct call modelize_property#ModelBuilder#check_visibility on <var_modelbuilder:ModelBuilder>*/
7126 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
7127 var28
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
7128 if (unlikely(var28
== NULL
)) {
7129 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7130 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
7134 RET_LABEL27
:(void)0;
7137 var_mclassdef
= var26
;
7139 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
7140 var31
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
7141 if (unlikely(var31
== NULL
)) {
7142 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
7143 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
7147 RET_LABEL30
:(void)0;
7150 var_mmodule
= var29
;
7152 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
7153 var34
= var_mclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
7154 if (unlikely(var34
== NULL
)) {
7155 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
7156 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
7160 RET_LABEL33
:(void)0;
7164 /* <var_bound:nullable MType(MType)> isa MVirtualType */
7165 cltype
= type_model__MVirtualType
.color
;
7166 idtype
= type_model__MVirtualType
.id
;
7167 if(cltype
>= var_bound
->type
->table_size
) {
7170 var35
= var_bound
->type
->type_table
[cltype
] == idtype
;
7173 var36
= NEW_array__Array(&type_array__Arraymodel__MVirtualType
);
7176 array__Array__with_capacity(var36
, var37
); /* Direct call array#Array#with_capacity on <var36:Array[MVirtualType]>*/
7180 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:ATypePropdef> */
7181 var40
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:ATypePropdef> */
7183 RET_LABEL39
:(void)0;
7186 if (var38
== NULL
) {
7187 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7188 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 1127);
7191 { /* Inline model#MPropDef#mproperty (var38) on <var38:nullable MPropDef(nullable MVirtualTypeDef)> */
7192 if (unlikely(var38
== NULL
)) {
7193 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7194 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
7197 var43
= var38
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var38:nullable MPropDef(nullable MVirtualTypeDef)> */
7198 if (unlikely(var43
== NULL
)) {
7199 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
7200 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
7204 RET_LABEL42
:(void)0;
7208 { /* Inline model#MVirtualTypeProp#mvirtualtype (var41) on <var41:MProperty(MVirtualTypeProp)> */
7209 var46
= var41
->attrs
[COLOR_model__MVirtualTypeProp___mvirtualtype
].val
; /* _mvirtualtype on <var41:MProperty(MVirtualTypeProp)> */
7210 if (unlikely(var46
== NULL
)) {
7211 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mvirtualtype");
7212 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1874);
7216 RET_LABEL45
:(void)0;
7220 array__AbstractArray__push(var_
, var44
); /* Direct call array#AbstractArray#push on <var_:Array[MVirtualType]>*/
7225 var47
= array__AbstractArrayRead__has(var_seen
, var_bound
);
7229 array__Array__add(var_seen
, var_bound
); /* Direct call array#Array#add on <var_seen:Array[MVirtualType]>*/
7234 var49
= "Error: circularity of virtual type definition: ";
7236 var51
= string__NativeString__to_s_with_length(var49
, var50
);
7245 var56
= string__NativeString__to_s_with_length(var54
, var55
);
7250 var57
= string__Collection__join(var_seen
, var53
);
7252 var58
= NEW_array__Array(&type_array__Arraykernel__Object
);
7253 { /* var58 = array_instance Array[Object] */
7255 var60
= NEW_array__NativeArray(var59
, &type_array__NativeArraykernel__Object
);
7256 ((struct instance_array__NativeArray
*)var60
)->values
[0] = (val
*) var48
;
7257 ((struct instance_array__NativeArray
*)var60
)->values
[1] = (val
*) var57
;
7259 ((void (*)(val
*, val
*, long))(var58
->class->vft
[COLOR_array__Array__with_native
]))(var58
, var60
, var59
) /* with_native on <var58:Array[Object]>*/;
7263 var61
= ((val
* (*)(val
*))(var58
->class->vft
[COLOR_string__Object__to_s
]))(var58
) /* to_s on <var58:Array[Object]>*/;
7266 modelbuilder__ModelBuilder__error(var_modelbuilder
, self
, var61
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
7272 array__Array__add(var_seen
, var_bound
); /* Direct call array#Array#add on <var_seen:Array[MVirtualType]>*/
7275 var62
= model__MVirtualType__lookup_bound(var_bound
, var_mmodule
, var_anchor
);
7278 /* <var_next:MType> isa MVirtualType */
7279 cltype64
= type_model__MVirtualType
.color
;
7280 idtype65
= type_model__MVirtualType
.id
;
7281 if(cltype64
>= var_next
->type
->table_size
) {
7284 var63
= var_next
->type
->type_table
[cltype64
] == idtype65
;
7291 var_bound
= var_next
;
7293 BREAK_label
: (void)0;
7297 { /* Inline model#MVirtualTypeDef#bound (var_mpropdef) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
7298 var69
= var_mpropdef
->attrs
[COLOR_model__MVirtualTypeDef___bound
].val
; /* _bound on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
7300 RET_LABEL68
:(void)0;
7303 if (unlikely(var67
== NULL
)) {
7304 PRINT_ERROR("Runtime error: %s", "Cast failed");
7305 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 1142);
7310 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
7311 var72
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
7312 if (unlikely(var72
== NULL
)) {
7313 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
7314 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
7318 RET_LABEL71
:(void)0;
7322 var73
= model__MProperty__lookup_super_definitions(var70
, var_mmodule
, var_anchor
);
7326 var75
= array__AbstractArrayRead__iterator(var_74
);
7331 var77
= array__ArrayIterator__is_ok(var_76
);
7335 var78
= array__ArrayIterator__item(var_76
);
7339 { /* Inline model#MVirtualTypeDef#bound (var_p) on <var_p:MVirtualTypeDef> */
7340 var81
= var_p
->attrs
[COLOR_model__MVirtualTypeDef___bound
].val
; /* _bound on <var_p:MVirtualTypeDef> */
7342 RET_LABEL80
:(void)0;
7345 if (unlikely(var79
== NULL
)) {
7346 PRINT_ERROR("Runtime error: %s", "Cast failed");
7347 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 1144);
7350 var_supbound
= var79
;
7352 { /* Inline model#MVirtualTypeDef#is_fixed (var_p) on <var_p:MVirtualTypeDef> */
7353 var84
= var_p
->attrs
[COLOR_model__MVirtualTypeDef___is_fixed
].s
; /* _is_fixed on <var_p:MVirtualTypeDef> */
7355 RET_LABEL83
:(void)0;
7362 var87
= "Redef Error: Virtual type ";
7364 var89
= string__NativeString__to_s_with_length(var87
, var88
);
7369 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
7370 var92
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
7371 if (unlikely(var92
== NULL
)) {
7372 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
7373 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
7377 RET_LABEL91
:(void)0;
7383 var95
= " is fixed in super-class ";
7385 var97
= string__NativeString__to_s_with_length(var95
, var96
);
7390 { /* Inline model#MPropDef#mclassdef (var_p) on <var_p:MVirtualTypeDef> */
7391 var100
= var_p
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_p:MVirtualTypeDef> */
7392 if (unlikely(var100
== NULL
)) {
7393 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7394 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
7398 RET_LABEL99
:(void)0;
7402 { /* Inline model#MClassDef#mclass (var98) on <var98:MClassDef> */
7403 var103
= var98
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var98:MClassDef> */
7404 if (unlikely(var103
== NULL
)) {
7405 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7406 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
7410 RET_LABEL102
:(void)0;
7413 var104
= NEW_array__Array(&type_array__Arraykernel__Object
);
7414 { /* var104 = array_instance Array[Object] */
7416 var106
= NEW_array__NativeArray(var105
, &type_array__NativeArraykernel__Object
);
7417 ((struct instance_array__NativeArray
*)var106
)->values
[0] = (val
*) var86
;
7418 ((struct instance_array__NativeArray
*)var106
)->values
[1] = (val
*) var90
;
7419 ((struct instance_array__NativeArray
*)var106
)->values
[2] = (val
*) var94
;
7420 ((struct instance_array__NativeArray
*)var106
)->values
[3] = (val
*) var101
;
7422 ((void (*)(val
*, val
*, long))(var104
->class->vft
[COLOR_array__Array__with_native
]))(var104
, var106
, var105
) /* with_native on <var104:Array[Object]>*/;
7426 var107
= ((val
* (*)(val
*))(var104
->class->vft
[COLOR_string__Object__to_s
]))(var104
) /* to_s on <var104:Array[Object]>*/;
7429 modelbuilder__ModelBuilder__error(var_modelbuilder
, self
, var107
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
7431 goto BREAK_label108
;
7435 { /* Inline model#MPropDef#mclassdef (var_p) on <var_p:MVirtualTypeDef> */
7436 var111
= var_p
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_p:MVirtualTypeDef> */
7437 if (unlikely(var111
== NULL
)) {
7438 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7439 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
7443 RET_LABEL110
:(void)0;
7447 { /* Inline model#MClassDef#mclass (var109) on <var109:MClassDef> */
7448 var114
= var109
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var109:MClassDef> */
7449 if (unlikely(var114
== NULL
)) {
7450 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7451 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
7455 RET_LABEL113
:(void)0;
7459 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
7460 var117
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
7461 if (unlikely(var117
== NULL
)) {
7462 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7463 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
7467 RET_LABEL116
:(void)0;
7471 { /* Inline kernel#Object#== (var112,var115) on <var112:MClass> */
7474 { /* Inline kernel#Object#is_same_instance (var112,var_other) on <var112:MClass> */
7475 var123
= var112
== var_other
;
7478 RET_LABEL122
:(void)0;
7483 RET_LABEL120
:(void)0;
7489 { /* Inline parser_nodes#ATypePropdef#n_type (self) on <self:ATypePropdef> */
7490 var126
= self
->attrs
[COLOR_parser_nodes__ATypePropdef___n_type
].val
; /* _n_type on <self:ATypePropdef> */
7491 if (unlikely(var126
== NULL
)) {
7492 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
7493 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1148);
7497 RET_LABEL125
:(void)0;
7501 var128
= varonce127
;
7503 var129
= "refine-type";
7505 var131
= string__NativeString__to_s_with_length(var129
, var130
);
7507 varonce127
= var128
;
7510 var133
= varonce132
;
7512 var134
= "Redef Error: a virtual type cannot be refined.";
7514 var136
= string__NativeString__to_s_with_length(var134
, var135
);
7516 varonce132
= var133
;
7519 modelbuilder__ModelBuilder__warning(var_modelbuilder
, var124
, var128
, var133
); /* Direct call modelbuilder#ModelBuilder#warning on <var_modelbuilder:ModelBuilder>*/
7521 goto BREAK_label108
;
7525 var137
= model__MType__is_subtype(var_bound
, var_mmodule
, var_anchor
, var_supbound
);
7530 { /* Inline parser_nodes#ATypePropdef#n_type (self) on <self:ATypePropdef> */
7531 var141
= self
->attrs
[COLOR_parser_nodes__ATypePropdef___n_type
].val
; /* _n_type on <self:ATypePropdef> */
7532 if (unlikely(var141
== NULL
)) {
7533 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
7534 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1148);
7538 RET_LABEL140
:(void)0;
7542 var143
= varonce142
;
7544 var144
= "Redef Error: Wrong bound type. Found ";
7546 var146
= string__NativeString__to_s_with_length(var144
, var145
);
7548 varonce142
= var143
;
7551 var148
= varonce147
;
7553 var149
= ", expected a subtype of ";
7555 var151
= string__NativeString__to_s_with_length(var149
, var150
);
7557 varonce147
= var148
;
7560 var153
= varonce152
;
7562 var154
= ", as in ";
7564 var156
= string__NativeString__to_s_with_length(var154
, var155
);
7566 varonce152
= var153
;
7569 var158
= varonce157
;
7573 var161
= string__NativeString__to_s_with_length(var159
, var160
);
7575 varonce157
= var158
;
7577 var162
= NEW_array__Array(&type_array__Arraykernel__Object
);
7578 { /* var162 = array_instance Array[Object] */
7580 var164
= NEW_array__NativeArray(var163
, &type_array__NativeArraykernel__Object
);
7581 ((struct instance_array__NativeArray
*)var164
)->values
[0] = (val
*) var143
;
7582 ((struct instance_array__NativeArray
*)var164
)->values
[1] = (val
*) var_bound
;
7583 ((struct instance_array__NativeArray
*)var164
)->values
[2] = (val
*) var148
;
7584 ((struct instance_array__NativeArray
*)var164
)->values
[3] = (val
*) var_supbound
;
7585 ((struct instance_array__NativeArray
*)var164
)->values
[4] = (val
*) var153
;
7586 ((struct instance_array__NativeArray
*)var164
)->values
[5] = (val
*) var_p
;
7587 ((struct instance_array__NativeArray
*)var164
)->values
[6] = (val
*) var158
;
7589 ((void (*)(val
*, val
*, long))(var162
->class->vft
[COLOR_array__Array__with_native
]))(var162
, var164
, var163
) /* with_native on <var162:Array[Object]>*/;
7593 var165
= ((val
* (*)(val
*))(var162
->class->vft
[COLOR_string__Object__to_s
]))(var162
) /* to_s on <var162:Array[Object]>*/;
7596 modelbuilder__ModelBuilder__error(var_modelbuilder
, var139
, var165
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
7598 goto BREAK_label108
;
7602 array__ArrayIterator__next(var_76
); /* Direct call array#ArrayIterator#next on <var_76:ArrayIterator[MVirtualTypeDef]>*/
7605 goto BREAK_label108
;
7608 BREAK_label108
: (void)0;
7610 { /* Inline abstract_collection#Iterator#finish (var_76) on <var_76:ArrayIterator[MVirtualTypeDef]> */
7611 RET_LABEL166
:(void)0;
7616 /* method modelize_property#ATypePropdef#check_signature for (self: Object, ModelBuilder) */
7617 void VIRTUAL_modelize_property__ATypePropdef__check_signature(val
* self
, val
* p0
) {
7618 modelize_property__ATypePropdef__check_signature(self
, p0
); /* Direct call modelize_property#ATypePropdef#check_signature on <self:Object(ATypePropdef)>*/