1 #include "nit__modelize_property.sep.0.h"
2 /* method modelize_property#AMethPropdef#build_signature for (self: AMethPropdef, ModelBuilder) */
3 void nit__modelize_property___AMethPropdef___APropdef__build_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 short int var19
/* : Bool */;
24 val
* var20
/* : MProperty */;
25 val
* var22
/* : MProperty */;
26 short int var23
/* : Bool */;
27 short int var25
/* : Bool */;
28 short int var_
/* var : Bool */;
29 short int var26
/* : Bool */;
30 short int var27
/* : Bool */;
31 val
* var28
/* : MClass */;
32 val
* var30
/* : MClass */;
33 val
* var31
/* : nullable MMethodDef */;
34 val
* var33
/* : nullable MMethodDef */;
35 val
* var_root_init
/* var root_init: nullable MMethodDef */;
36 val
* var34
/* : null */;
37 short int var35
/* : Bool */;
38 short int var36
/* : Bool */;
39 val
* var_other38
/* var other: nullable Object */;
40 short int var39
/* : Bool */;
41 short int var40
/* : Bool */;
42 val
* var41
/* : nullable MSignature */;
43 val
* var43
/* : nullable MSignature */;
44 val
* var45
/* : Array[MProperty] */;
45 val
* var47
/* : Array[MProperty] */;
46 short int var48
/* : Bool */;
47 val
* var49
/* : Array[MProperty] */;
48 val
* var51
/* : Array[MProperty] */;
49 val
* var52
/* : Array[MProperty] */;
50 val
* var54
/* : Array[MProperty] */;
51 val
* var55
/* : Array[String] */;
52 val
* var_param_names
/* var param_names: Array[String] */;
53 val
* var56
/* : Array[MType] */;
54 val
* var_param_types
/* var param_types: Array[MType] */;
55 long var57
/* : Int */;
56 long var58
/* : Int */;
57 long var60
/* : Int */;
58 long var_vararg_rank
/* var vararg_rank: Int */;
59 val
* var61
/* : null */;
60 val
* var_ret_type
/* var ret_type: nullable MType */;
61 val
* var62
/* : null */;
62 short int var63
/* : Bool */;
63 short int var64
/* : Bool */;
64 short int var66
/* : Bool */;
65 short int var67
/* : Bool */;
66 short int var68
/* : Bool */;
67 short int var69
/* : Bool */;
68 val
* var70
/* : Array[String] */;
69 val
* var72
/* : Array[String] */;
70 val
* var73
/* : Array[MType] */;
71 val
* var75
/* : Array[MType] */;
72 long var76
/* : Int */;
73 long var78
/* : Int */;
74 val
* var79
/* : nullable MType */;
75 val
* var81
/* : nullable MType */;
76 val
* var82
/* : null */;
77 val
* var_msignature
/* var msignature: nullable MSignature */;
78 short int var83
/* : Bool */;
79 short int var84
/* : Bool */;
80 val
* var85
/* : MProperty */;
81 val
* var87
/* : MProperty */;
82 val
* var88
/* : MPropDef */;
83 val
* var90
/* : MPropDef */;
84 val
* var91
/* : nullable MSignature */;
85 val
* var93
/* : nullable MSignature */;
86 val
* var94
/* : null */;
87 short int var95
/* : Bool */;
88 short int var96
/* : Bool */;
89 short int var98
/* : Bool */;
90 short int var100
/* : Bool */;
91 val
* var101
/* : MClass */;
92 val
* var103
/* : MClass */;
93 val
* var104
/* : MClassType */;
94 val
* var106
/* : MClassType */;
95 val
* var107
/* : MClassType */;
96 val
* var109
/* : MClassType */;
97 short int var110
/* : Bool */;
98 val
* var111
/* : MSignature */;
99 long var112
/* : Int */;
100 long var114
/* : Int */;
101 long var115
/* : Int */;
102 short int var116
/* : Bool */;
103 short int var118
/* : Bool */;
104 short int var119
/* : Bool */;
105 val
* var120
/* : null */;
106 short int var121
/* : Bool */;
107 short int var122
/* : Bool */;
108 short int var124
/* : Bool */;
109 short int var125
/* : Bool */;
110 val
* var_node
/* var node: ANode */;
112 val
* var126
/* : String */;
113 char* var127
/* : NativeString */;
114 long var128
/* : Int */;
115 val
* var129
/* : FlatString */;
116 static val
* varonce130
;
117 val
* var131
/* : String */;
118 char* var132
/* : NativeString */;
119 long var133
/* : Int */;
120 val
* var134
/* : FlatString */;
121 val
* var135
/* : MProperty */;
122 val
* var137
/* : MProperty */;
123 val
* var138
/* : MPropDef */;
124 val
* var140
/* : MPropDef */;
125 static val
* varonce141
;
126 val
* var142
/* : String */;
127 char* var143
/* : NativeString */;
128 long var144
/* : Int */;
129 val
* var145
/* : FlatString */;
130 long var146
/* : Int */;
131 long var148
/* : Int */;
132 static val
* varonce149
;
133 val
* var150
/* : String */;
134 char* var151
/* : NativeString */;
135 long var152
/* : Int */;
136 val
* var153
/* : FlatString */;
137 long var154
/* : Int */;
138 static val
* varonce155
;
139 val
* var156
/* : String */;
140 char* var157
/* : NativeString */;
141 long var158
/* : Int */;
142 val
* var159
/* : FlatString */;
143 val
* var160
/* : Array[Object] */;
144 long var161
/* : Int */;
145 val
* var162
/* : NativeArray[Object] */;
146 val
* var163
/* : Object */;
147 val
* var164
/* : Object */;
148 val
* var165
/* : String */;
149 short int var166
/* : Bool */;
150 val
* var167
/* : MProperty */;
151 val
* var169
/* : MProperty */;
152 short int var170
/* : Bool */;
153 short int var172
/* : Bool */;
154 short int var_173
/* var : Bool */;
155 val
* var174
/* : MProperty */;
156 val
* var176
/* : MProperty */;
157 short int var177
/* : Bool */;
158 short int var179
/* : Bool */;
159 short int var180
/* : Bool */;
160 val
* var181
/* : Array[MClassType] */;
161 val
* var183
/* : Array[MClassType] */;
162 val
* var_184
/* var : Array[MClassType] */;
163 val
* var185
/* : ArrayIterator[nullable Object] */;
164 val
* var_186
/* var : ArrayIterator[MClassType] */;
165 short int var187
/* : Bool */;
166 val
* var188
/* : nullable Object */;
167 val
* var_msupertype
/* var msupertype: MClassType */;
168 val
* var189
/* : MClassType */;
169 val
* var191
/* : MClassType */;
170 val
* var192
/* : MClassType */;
171 val
* var193
/* : MProperty */;
172 val
* var195
/* : MProperty */;
173 val
* var196
/* : String */;
174 val
* var198
/* : String */;
175 val
* var199
/* : nullable MProperty */;
176 val
* var_candidate
/* var candidate: nullable MProperty */;
177 val
* var200
/* : null */;
178 short int var201
/* : Bool */;
179 short int var202
/* : Bool */;
180 short int var204
/* : Bool */;
181 short int var205
/* : Bool */;
182 val
* var206
/* : null */;
183 short int var207
/* : Bool */;
184 short int var208
/* : Bool */;
185 short int var210
/* : Bool */;
186 short int var212
/* : Bool */;
187 val
* var213
/* : MPropDef */;
188 val
* var215
/* : MPropDef */;
189 short int var216
/* : Bool */;
192 const char* var_class_name
;
193 val
* var217
/* : nullable MSignature */;
194 val
* var219
/* : nullable MSignature */;
195 short int var221
/* : Bool */;
196 short int var222
/* : Bool */;
197 short int var223
/* : Bool */;
198 val
* var224
/* : null */;
199 short int var225
/* : Bool */;
200 short int var226
/* : Bool */;
201 short int var228
/* : Bool */;
202 short int var229
/* : Bool */;
203 short int var_230
/* var : Bool */;
204 long var231
/* : Int */;
205 long var233
/* : Int */;
206 long var234
/* : Int */;
207 long var236
/* : Int */;
208 short int var237
/* : Bool */;
209 short int var239
/* : Bool */;
210 short int var240
/* : Bool */;
211 short int var_241
/* var : Bool */;
212 long var242
/* : Int */;
213 long var244
/* : Int */;
214 long var245
/* : Int */;
215 short int var246
/* : Bool */;
216 short int var248
/* : Bool */;
217 short int var_249
/* var : Bool */;
218 long var250
/* : Int */;
219 long var252
/* : Int */;
220 long var253
/* : Int */;
221 short int var254
/* : Bool */;
222 short int var256
/* : Bool */;
223 val
* var257
/* : Array[MType] */;
224 val
* var258
/* : Array[MParameter] */;
225 val
* var260
/* : Array[MParameter] */;
226 val
* var_261
/* var : Array[MParameter] */;
227 val
* var262
/* : ArrayIterator[nullable Object] */;
228 val
* var_263
/* var : ArrayIterator[MParameter] */;
229 short int var264
/* : Bool */;
230 val
* var265
/* : nullable Object */;
231 val
* var_mparameter
/* var mparameter: MParameter */;
232 val
* var266
/* : MType */;
233 val
* var268
/* : MType */;
234 long var271
/* : Int */;
235 long var273
/* : Int */;
236 short int var274
/* : Bool */;
237 val
* var275
/* : null */;
238 short int var276
/* : Bool */;
239 short int var277
/* : Bool */;
240 short int var279
/* : Bool */;
241 short int var280
/* : Bool */;
242 short int var_281
/* var : Bool */;
243 val
* var282
/* : null */;
244 short int var283
/* : Bool */;
245 short int var284
/* : Bool */;
246 short int var286
/* : Bool */;
247 short int var288
/* : Bool */;
248 val
* var289
/* : nullable MType */;
249 val
* var291
/* : nullable MType */;
250 long var292
/* : Int */;
251 long var294
/* : Int */;
252 long var295
/* : Int */;
253 long var297
/* : Int */;
254 short int var298
/* : Bool */;
255 short int var300
/* : Bool */;
256 short int var301
/* : Bool */;
257 val
* var302
/* : ANodes[AParam] */;
258 val
* var304
/* : ANodes[AParam] */;
259 long var305
/* : Int */;
260 long var307
/* : Int */;
261 val
* var308
/* : ANode */;
262 static val
* varonce309
;
263 val
* var310
/* : String */;
264 char* var311
/* : NativeString */;
265 long var312
/* : Int */;
266 val
* var313
/* : FlatString */;
267 long var314
/* : Int */;
268 long var316
/* : Int */;
269 val
* var317
/* : nullable Object */;
270 static val
* varonce318
;
271 val
* var319
/* : String */;
272 char* var320
/* : NativeString */;
273 long var321
/* : Int */;
274 val
* var322
/* : FlatString */;
275 val
* var323
/* : Array[Object] */;
276 long var324
/* : Int */;
277 val
* var325
/* : NativeArray[Object] */;
278 val
* var326
/* : String */;
279 val
* var327
/* : Array[MParameter] */;
280 val
* var_mparameters
/* var mparameters: Array[MParameter] */;
281 long var328
/* : Int */;
282 long var_i
/* var i: Int */;
283 long var329
/* : Int */;
284 long var331
/* : Int */;
285 long var_332
/* var : Int */;
286 short int var333
/* : Bool */;
287 short int var335
/* : Bool */;
290 const char* var_class_name338
;
291 short int var339
/* : Bool */;
292 val
* var340
/* : MParameter */;
293 val
* var341
/* : nullable Object */;
294 val
* var342
/* : nullable Object */;
295 short int var343
/* : Bool */;
296 short int var345
/* : Bool */;
297 val
* var_mparameter346
/* var mparameter: MParameter */;
298 val
* var347
/* : null */;
299 short int var348
/* : Bool */;
300 short int var349
/* : Bool */;
301 short int var351
/* : Bool */;
302 short int var352
/* : Bool */;
303 val
* var353
/* : ANodes[AParam] */;
304 val
* var355
/* : ANodes[AParam] */;
305 val
* var356
/* : ANode */;
306 long var358
/* : Int */;
307 long var359
/* : Int */;
308 short int var361
/* : Bool */;
309 val
* var362
/* : null */;
310 short int var363
/* : Bool */;
311 short int var364
/* : Bool */;
312 short int var366
/* : Bool */;
313 short int var368
/* : Bool */;
314 short int var_369
/* var : Bool */;
315 val
* var370
/* : MProperty */;
316 val
* var372
/* : MProperty */;
317 short int var373
/* : Bool */;
318 short int var375
/* : Bool */;
319 val
* var376
/* : MClass */;
320 val
* var378
/* : MClass */;
321 val
* var379
/* : MClassType */;
322 val
* var381
/* : MClassType */;
323 val
* var382
/* : MSignature */;
324 static val
* varonce384
;
325 val
* var385
/* : String */;
326 char* var386
/* : NativeString */;
327 long var387
/* : Int */;
328 val
* var388
/* : FlatString */;
329 val
* var389
/* : nullable AAnnotation */;
330 val
* var390
/* : null */;
331 short int var391
/* : Bool */;
332 short int var392
/* : Bool */;
333 short int var394
/* : Bool */;
334 short int var395
/* : Bool */;
335 static val
* varonce397
;
336 val
* var398
/* : String */;
337 char* var399
/* : NativeString */;
338 long var400
/* : Int */;
339 val
* var401
/* : FlatString */;
340 val
* var402
/* : nullable AAnnotation */;
341 val
* var403
/* : null */;
342 short int var404
/* : Bool */;
343 short int var405
/* : Bool */;
344 short int var407
/* : Bool */;
345 short int var408
/* : Bool */;
346 short int var410
/* : Bool */;
347 val
* var411
/* : nullable AExternCodeBlock */;
348 val
* var413
/* : nullable AExternCodeBlock */;
349 val
* var414
/* : null */;
350 short int var415
/* : Bool */;
351 short int var416
/* : Bool */;
352 short int var418
/* : Bool */;
353 short int var419
/* : Bool */;
354 short int var_420
/* var : Bool */;
355 static val
* varonce421
;
356 val
* var422
/* : String */;
357 char* var423
/* : NativeString */;
358 long var424
/* : Int */;
359 val
* var425
/* : FlatString */;
360 val
* var426
/* : nullable AAnnotation */;
361 val
* var427
/* : null */;
362 short int var428
/* : Bool */;
363 short int var429
/* : Bool */;
364 short int var431
/* : Bool */;
365 short int var432
/* : Bool */;
366 var_modelbuilder
= p0
;
368 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
369 var2
= self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
376 if (var_mpropdef
== NULL
) {
377 var4
= 1; /* is null */
379 var4
= 0; /* arg is null but recv is not */
382 { /* Inline kernel#Object#== (var_mpropdef,var3) on <var_mpropdef:nullable MMethodDef> */
385 { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
386 var9
= var_mpropdef
== var_other
;
403 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
404 var12
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
405 if (unlikely(var12
== NULL
)) {
406 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
407 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
414 var_mclassdef
= var10
;
416 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
417 var15
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
418 if (unlikely(var15
== NULL
)) {
419 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
420 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
429 { /* Inline parser_nodes#AMethPropdef#n_signature (self) on <self:AMethPropdef> */
430 var18
= self
->attrs
[COLOR_nit__parser_nodes__AMethPropdef___n_signature
].val
; /* _n_signature on <self:AMethPropdef> */
437 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
438 var22
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
439 if (unlikely(var22
== NULL
)) {
440 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
441 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
449 { /* Inline model#MMethod#is_root_init (var20) on <var20:MProperty(MMethod)> */
450 var25
= var20
->attrs
[COLOR_nit__model__MMethod___is_root_init
].s
; /* _is_root_init on <var20:MProperty(MMethod)> */
458 var26
= nit___nit__MClassDef___is_intro(var_mclassdef
);
467 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
468 var30
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
469 if (unlikely(var30
== NULL
)) {
470 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
471 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
479 { /* Inline modelize_property#MClass#root_init (var28) on <var28:MClass> */
480 var33
= var28
->attrs
[COLOR_nit__modelize_property__MClass___root_init
].val
; /* _root_init on <var28:MClass> */
485 var_root_init
= var31
;
487 if (var_root_init
== NULL
) {
488 var35
= 0; /* is null */
490 var35
= 1; /* arg is null and recv is not */
493 { /* Inline kernel#Object#!= (var_root_init,var34) on <var_root_init:nullable MMethodDef> */
496 var39
= ((short int (*)(val
* self
, val
* p0
))(var_root_init
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_root_init
, var_other38
) /* == on <var_root_init:nullable MMethodDef(MMethodDef)>*/;
507 { /* Inline model#MMethodDef#new_msignature (var_root_init) on <var_root_init:nullable MMethodDef(MMethodDef)> */
508 var43
= var_root_init
->attrs
[COLOR_nit__model__MMethodDef___new_msignature
].val
; /* _new_msignature on <var_root_init:nullable MMethodDef(MMethodDef)> */
514 { /* Inline model#MMethodDef#new_msignature= (var_mpropdef,var41) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
515 var_mpropdef
->attrs
[COLOR_nit__model__MMethodDef___new_msignature
].val
= var41
; /* _new_msignature on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
520 { /* Inline model#MMethodDef#initializers (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
521 var47
= var_mpropdef
->attrs
[COLOR_nit__model__MMethodDef___initializers
].val
; /* _initializers on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
522 if (unlikely(var47
== NULL
)) {
523 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
524 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2146);
532 var48
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var45
);
534 if (unlikely(!var48
)) {
535 PRINT_ERROR("Runtime error: %s", "Assert failed");
536 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 719);
540 { /* Inline model#MMethodDef#initializers (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
541 var51
= var_mpropdef
->attrs
[COLOR_nit__model__MMethodDef___initializers
].val
; /* _initializers on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
542 if (unlikely(var51
== NULL
)) {
543 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
544 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2146);
552 { /* Inline model#MMethodDef#initializers (var_root_init) on <var_root_init:nullable MMethodDef(MMethodDef)> */
553 var54
= var_root_init
->attrs
[COLOR_nit__model__MMethodDef___initializers
].val
; /* _initializers on <var_root_init:nullable MMethodDef(MMethodDef)> */
554 if (unlikely(var54
== NULL
)) {
555 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
556 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2146);
564 standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var49
, var52
); /* Direct call array#Array#add_all on <var49:Array[MProperty]>*/
570 var55
= NEW_standard__Array(&type_standard__Array__standard__String
);
572 standard___standard__Array___standard__kernel__Object__init(var55
); /* Direct call array#Array#init on <var55:Array[String]>*/
574 var_param_names
= var55
;
575 var56
= NEW_standard__Array(&type_standard__Array__nit__MType
);
577 standard___standard__Array___standard__kernel__Object__init(var56
); /* Direct call array#Array#init on <var56:Array[MType]>*/
579 var_param_types
= var56
;
582 { /* Inline kernel#Int#unary - (var57) on <var57:Int> */
589 var_vararg_rank
= var58
;
591 var_ret_type
= var61
;
593 if (var_nsig
== NULL
) {
594 var63
= 0; /* is null */
596 var63
= 1; /* arg is null and recv is not */
599 { /* Inline kernel#Object#!= (var_nsig,var62) on <var_nsig:nullable ASignature> */
602 var66
= ((short int (*)(val
* self
, val
* p0
))(var_nsig
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nsig
, var_other38
) /* == on <var_nsig:nullable ASignature(ASignature)>*/;
613 var68
= nit__modelize_property___ASignature___visit_signature(var_nsig
, var_modelbuilder
, var_mclassdef
);
621 { /* Inline modelize_property#ASignature#param_names (var_nsig) on <var_nsig:nullable ASignature(ASignature)> */
622 var72
= var_nsig
->attrs
[COLOR_nit__modelize_property__ASignature___param_names
].val
; /* _param_names on <var_nsig:nullable ASignature(ASignature)> */
623 if (unlikely(var72
== NULL
)) {
624 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_names");
625 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 514);
632 var_param_names
= var70
;
634 { /* Inline modelize_property#ASignature#param_types (var_nsig) on <var_nsig:nullable ASignature(ASignature)> */
635 var75
= var_nsig
->attrs
[COLOR_nit__modelize_property__ASignature___param_types
].val
; /* _param_types on <var_nsig:nullable ASignature(ASignature)> */
636 if (unlikely(var75
== NULL
)) {
637 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_types");
638 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 517);
645 var_param_types
= var73
;
647 { /* Inline modelize_property#ASignature#vararg_rank (var_nsig) on <var_nsig:nullable ASignature(ASignature)> */
648 var78
= var_nsig
->attrs
[COLOR_nit__modelize_property__ASignature___vararg_rank
].l
; /* _vararg_rank on <var_nsig:nullable ASignature(ASignature)> */
653 var_vararg_rank
= var76
;
655 { /* Inline modelize_property#ASignature#ret_type (var_nsig) on <var_nsig:nullable ASignature(ASignature)> */
656 var81
= var_nsig
->attrs
[COLOR_nit__modelize_property__ASignature___ret_type
].val
; /* _ret_type on <var_nsig:nullable ASignature(ASignature)> */
661 var_ret_type
= var79
;
665 var_msignature
= var82
;
667 var83
= nit___nit__MPropDef___is_intro(var_mpropdef
);
672 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
673 var87
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
674 if (unlikely(var87
== NULL
)) {
675 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
676 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
684 { /* Inline model#MProperty#intro (var85) on <var85:MProperty(MMethod)> */
685 var90
= var85
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var85:MProperty(MMethod)> */
686 if (unlikely(var90
== NULL
)) {
687 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
688 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1773);
696 { /* Inline model#MMethodDef#msignature (var88) on <var88:MPropDef(MMethodDef)> */
697 var93
= var88
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var88:MPropDef(MMethodDef)> */
702 var_msignature
= var91
;
704 if (var_msignature
== NULL
) {
705 var95
= 1; /* is null */
707 var95
= 0; /* arg is null but recv is not */
710 { /* Inline kernel#Object#== (var_msignature,var94) on <var_msignature:nullable MSignature> */
713 { /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on <var_msignature:nullable MSignature(MSignature)> */
714 var100
= var_msignature
== var_other
;
731 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
732 var103
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
733 if (unlikely(var103
== NULL
)) {
734 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
735 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
739 RET_LABEL102
:(void)0;
743 { /* Inline model#MClass#mclass_type (var101) on <var101:MClass> */
744 var106
= var101
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var101:MClass> */
745 if (unlikely(var106
== NULL
)) {
746 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
747 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
751 RET_LABEL105
:(void)0;
755 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
756 var109
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
757 if (unlikely(var109
== NULL
)) {
758 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
759 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
763 RET_LABEL108
:(void)0;
768 var111
= nit___nit__MSignature___MType__resolve_for(var_msignature
, var104
, var107
, var_mmodule
, var110
);
770 var_msignature
= var111
;
772 { /* Inline array#AbstractArrayRead#length (var_param_names) on <var_param_names:Array[String]> */
773 var114
= var_param_names
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_param_names:Array[String]> */
775 RET_LABEL113
:(void)0;
779 var115
= nit___nit__MSignature___arity(var_msignature
);
782 { /* Inline kernel#Int#!= (var112,var115) on <var112:Int> */
783 var118
= var112
== var115
;
787 RET_LABEL117
:(void)0;
792 if (var_nsig
== NULL
) {
793 var121
= 0; /* is null */
795 var121
= 1; /* arg is null and recv is not */
798 { /* Inline kernel#Object#!= (var_nsig,var120) on <var_nsig:nullable ASignature> */
799 var_other38
= var120
;
801 var124
= ((short int (*)(val
* self
, val
* p0
))(var_nsig
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nsig
, var_other38
) /* == on <var_nsig:nullable ASignature(ASignature)>*/;
806 RET_LABEL123
:(void)0;
818 var127
= "Redef error: ";
820 var129
= standard___standard__NativeString___to_s_with_length(var127
, var128
);
827 var132
= " redefines ";
829 var134
= standard___standard__NativeString___to_s_with_length(var132
, var133
);
834 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
835 var137
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
836 if (unlikely(var137
== NULL
)) {
837 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
838 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
842 RET_LABEL136
:(void)0;
846 { /* Inline model#MProperty#intro (var135) on <var135:MProperty(MMethod)> */
847 var140
= var135
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var135:MProperty(MMethod)> */
848 if (unlikely(var140
== NULL
)) {
849 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
850 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1773);
854 RET_LABEL139
:(void)0;
862 var145
= standard___standard__NativeString___to_s_with_length(var143
, var144
);
867 { /* Inline array#AbstractArrayRead#length (var_param_names) on <var_param_names:Array[String]> */
868 var148
= var_param_names
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_param_names:Array[String]> */
870 RET_LABEL147
:(void)0;
876 var151
= " parameter(s), ";
878 var153
= standard___standard__NativeString___to_s_with_length(var151
, var152
);
883 var154
= nit___nit__MSignature___arity(var_msignature
);
888 var157
= " expected. Signature is ";
890 var159
= standard___standard__NativeString___to_s_with_length(var157
, var158
);
894 var160
= NEW_standard__Array(&type_standard__Array__standard__Object
);
895 { /* var160 = array_instance Array[Object] */
897 var162
= NEW_standard__NativeArray(var161
, &type_standard__NativeArray__standard__Object
);
898 ((struct instance_standard__NativeArray
*)var162
)->values
[0] = (val
*) var126
;
899 ((struct instance_standard__NativeArray
*)var162
)->values
[1] = (val
*) var_mpropdef
;
900 ((struct instance_standard__NativeArray
*)var162
)->values
[2] = (val
*) var131
;
901 ((struct instance_standard__NativeArray
*)var162
)->values
[3] = (val
*) var138
;
902 ((struct instance_standard__NativeArray
*)var162
)->values
[4] = (val
*) var142
;
903 var163
= BOX_standard__Int(var146
); /* autobox from Int to Object */
904 ((struct instance_standard__NativeArray
*)var162
)->values
[5] = (val
*) var163
;
905 ((struct instance_standard__NativeArray
*)var162
)->values
[6] = (val
*) var150
;
906 var164
= BOX_standard__Int(var154
); /* autobox from Int to Object */
907 ((struct instance_standard__NativeArray
*)var162
)->values
[7] = (val
*) var164
;
908 ((struct instance_standard__NativeArray
*)var162
)->values
[8] = (val
*) var156
;
909 ((struct instance_standard__NativeArray
*)var162
)->values
[9] = (val
*) var_mpropdef
;
910 ((struct instance_standard__NativeArray
*)var162
)->values
[10] = (val
*) var_msignature
;
912 ((void (*)(val
* self
, val
* p0
, long p1
))(var160
->class->vft
[COLOR_standard__array__Array__with_native
]))(var160
, var162
, var161
) /* with_native on <var160:Array[Object]>*/;
916 var165
= ((val
* (*)(val
* self
))(var160
->class->vft
[COLOR_standard__string__Object__to_s
]))(var160
) /* to_s on <var160:Array[Object]>*/;
919 nit___nit__ModelBuilder___error(var_modelbuilder
, var_node
, var165
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
926 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
927 var169
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
928 if (unlikely(var169
== NULL
)) {
929 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
930 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
934 RET_LABEL168
:(void)0;
938 { /* Inline model#MMethod#is_init (var167) on <var167:MProperty(MMethod)> */
939 var172
= var167
->attrs
[COLOR_nit__model__MMethod___is_init
].s
; /* _is_init on <var167:MProperty(MMethod)> */
941 RET_LABEL171
:(void)0;
947 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
948 var176
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
949 if (unlikely(var176
== NULL
)) {
950 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
951 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
955 RET_LABEL175
:(void)0;
959 { /* Inline model#MMethod#is_new (var174) on <var174:MProperty(MMethod)> */
960 var179
= var174
->attrs
[COLOR_nit__model__MMethod___is_new
].s
; /* _is_new on <var174:MProperty(MMethod)> */
962 RET_LABEL178
:(void)0;
972 { /* Inline model#MClassDef#supertypes (var_mclassdef) on <var_mclassdef:MClassDef> */
973 var183
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___supertypes
].val
; /* _supertypes on <var_mclassdef:MClassDef> */
974 if (unlikely(var183
== NULL
)) {
975 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
976 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 566);
980 RET_LABEL182
:(void)0;
985 var185
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_184
);
990 var187
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_186
);
994 var188
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_186
);
996 var_msupertype
= var188
;
998 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
999 var191
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
1000 if (unlikely(var191
== NULL
)) {
1001 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1002 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
1006 RET_LABEL190
:(void)0;
1010 var192
= nit___nit__MClassType___MType__anchor_to(var_msupertype
, var_mmodule
, var189
);
1012 var_msupertype
= var192
;
1014 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
1015 var195
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
1016 if (unlikely(var195
== NULL
)) {
1017 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1018 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
1022 RET_LABEL194
:(void)0;
1026 { /* Inline model#MProperty#name (var193) on <var193:MProperty(MMethod)> */
1027 var198
= var193
->attrs
[COLOR_nit__model__MProperty___name
].val
; /* _name on <var193:MProperty(MMethod)> */
1028 if (unlikely(var198
== NULL
)) {
1029 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1030 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1741);
1034 RET_LABEL197
:(void)0;
1038 var199
= nit___nit__ModelBuilder___try_get_mproperty_by_name2(var_modelbuilder
, self
, var_mmodule
, var_msupertype
, var196
);
1040 var_candidate
= var199
;
1042 if (var_candidate
== NULL
) {
1043 var201
= 0; /* is null */
1045 var201
= 1; /* arg is null and recv is not */
1048 { /* Inline kernel#Object#!= (var_candidate,var200) on <var_candidate:nullable MProperty> */
1049 var_other38
= var200
;
1051 var204
= ((short int (*)(val
* self
, val
* p0
))(var_candidate
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_candidate
, var_other38
) /* == on <var_candidate:nullable MProperty(MProperty)>*/;
1056 RET_LABEL203
:(void)0;
1062 if (var_msignature
== NULL
) {
1063 var207
= 1; /* is null */
1065 var207
= 0; /* arg is null but recv is not */
1068 { /* Inline kernel#Object#== (var_msignature,var206) on <var_msignature:nullable MSignature> */
1071 { /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on <var_msignature:nullable MSignature(MSignature)> */
1072 var212
= var_msignature
== var_other
;
1075 RET_LABEL211
:(void)0;
1080 RET_LABEL209
:(void)0;
1086 { /* Inline model#MProperty#intro (var_candidate) on <var_candidate:nullable MProperty(MProperty)> */
1087 var215
= var_candidate
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var_candidate:nullable MProperty(MProperty)> */
1088 if (unlikely(var215
== NULL
)) {
1089 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
1090 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1773);
1094 RET_LABEL214
:(void)0;
1097 /* <var213:MPropDef> isa MMethodDef */
1098 cltype
= type_nit__MMethodDef
.color
;
1099 idtype
= type_nit__MMethodDef
.id
;
1100 if(cltype
>= var213
->type
->table_size
) {
1103 var216
= var213
->type
->type_table
[cltype
] == idtype
;
1105 if (unlikely(!var216
)) {
1106 var_class_name
= var213
== NULL ?
"null" : var213
->type
->name
;
1107 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MMethodDef", var_class_name
);
1108 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 761);
1112 { /* Inline model#MMethodDef#msignature (var213) on <var213:MPropDef(MMethodDef)> */
1113 var219
= var213
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var213:MPropDef(MMethodDef)> */
1115 RET_LABEL218
:(void)0;
1118 var_msignature
= var217
;
1124 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_186
); /* Direct call array#ArrayIterator#next on <var_186:ArrayIterator[MClassType]>*/
1130 BREAK_label
: (void)0;
1132 { /* Inline abstract_collection#Iterator#finish (var_186) on <var_186:ArrayIterator[MClassType]> */
1133 RET_LABEL220
:(void)0;
1140 if (var_msignature
== NULL
) {
1141 var225
= 0; /* is null */
1143 var225
= 1; /* arg is null and recv is not */
1146 { /* Inline kernel#Object#!= (var_msignature,var224) on <var_msignature:nullable MSignature> */
1147 var_other38
= var224
;
1149 var228
= ((short int (*)(val
* self
, val
* p0
))(var_msignature
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_msignature
, var_other38
) /* == on <var_msignature:nullable MSignature(MSignature)>*/;
1154 RET_LABEL227
:(void)0;
1161 { /* Inline array#AbstractArrayRead#length (var_param_names) on <var_param_names:Array[String]> */
1162 var233
= var_param_names
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_param_names:Array[String]> */
1164 RET_LABEL232
:(void)0;
1168 { /* Inline array#AbstractArrayRead#length (var_param_types) on <var_param_types:Array[MType]> */
1169 var236
= var_param_types
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_param_types:Array[MType]> */
1171 RET_LABEL235
:(void)0;
1175 { /* Inline kernel#Int#!= (var231,var234) on <var231:Int> */
1176 var239
= var231
== var234
;
1180 RET_LABEL238
:(void)0;
1190 { /* Inline array#AbstractArrayRead#length (var_param_names) on <var_param_names:Array[String]> */
1191 var244
= var_param_names
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_param_names:Array[String]> */
1193 RET_LABEL243
:(void)0;
1197 var245
= nit___nit__MSignature___arity(var_msignature
);
1200 { /* Inline kernel#Int#== (var242,var245) on <var242:Int> */
1201 var248
= var242
== var245
;
1204 RET_LABEL247
:(void)0;
1214 { /* Inline array#AbstractArrayRead#length (var_param_types) on <var_param_types:Array[MType]> */
1215 var252
= var_param_types
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_param_types:Array[MType]> */
1217 RET_LABEL251
:(void)0;
1222 { /* Inline kernel#Int#== (var250,var253) on <var250:Int> */
1223 var256
= var250
== var253
;
1226 RET_LABEL255
:(void)0;
1234 var257
= NEW_standard__Array(&type_standard__Array__nit__MType
);
1236 standard___standard__Array___standard__kernel__Object__init(var257
); /* Direct call array#Array#init on <var257:Array[MType]>*/
1238 var_param_types
= var257
;
1240 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
1241 var260
= var_msignature
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:nullable MSignature(MSignature)> */
1242 if (unlikely(var260
== NULL
)) {
1243 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
1244 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1592);
1248 RET_LABEL259
:(void)0;
1253 var262
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_261
);
1258 var264
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_263
);
1262 var265
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_263
);
1264 var_mparameter
= var265
;
1266 { /* Inline model#MParameter#mtype (var_mparameter) on <var_mparameter:MParameter> */
1267 var268
= var_mparameter
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var_mparameter:MParameter> */
1268 if (unlikely(var268
== NULL
)) {
1269 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1270 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1690);
1274 RET_LABEL267
:(void)0;
1278 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_param_types
, var266
); /* Direct call array#Array#add on <var_param_types:Array[MType]>*/
1281 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_263
); /* Direct call array#ArrayIterator#next on <var_263:ArrayIterator[MParameter]>*/
1284 goto BREAK_label269
;
1287 BREAK_label269
: (void)0;
1289 { /* Inline abstract_collection#Iterator#finish (var_263) on <var_263:ArrayIterator[MParameter]> */
1290 RET_LABEL270
:(void)0;
1294 { /* Inline model#MSignature#vararg_rank (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
1295 var273
= var_msignature
->attrs
[COLOR_nit__model__MSignature___vararg_rank
].l
; /* _vararg_rank on <var_msignature:nullable MSignature(MSignature)> */
1297 RET_LABEL272
:(void)0;
1300 var_vararg_rank
= var271
;
1304 if (var_msignature
== NULL
) {
1305 var276
= 0; /* is null */
1307 var276
= 1; /* arg is null and recv is not */
1310 { /* Inline kernel#Object#!= (var_msignature,var275) on <var_msignature:nullable MSignature> */
1311 var_other38
= var275
;
1313 var279
= ((short int (*)(val
* self
, val
* p0
))(var_msignature
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_msignature
, var_other38
) /* == on <var_msignature:nullable MSignature(MSignature)>*/;
1318 RET_LABEL278
:(void)0;
1325 if (var_ret_type
== NULL
) {
1326 var283
= 1; /* is null */
1328 var283
= 0; /* arg is null but recv is not */
1331 { /* Inline kernel#Object#== (var_ret_type,var282) on <var_ret_type:nullable MType> */
1334 { /* Inline kernel#Object#is_same_instance (var_ret_type,var_other) on <var_ret_type:nullable MType(MType)> */
1335 var288
= var_ret_type
== var_other
;
1338 RET_LABEL287
:(void)0;
1343 RET_LABEL285
:(void)0;
1353 { /* Inline model#MSignature#return_mtype (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
1354 var291
= var_msignature
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var_msignature:nullable MSignature(MSignature)> */
1356 RET_LABEL290
:(void)0;
1359 var_ret_type
= var289
;
1363 { /* Inline array#AbstractArrayRead#length (var_param_names) on <var_param_names:Array[String]> */
1364 var294
= var_param_names
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_param_names:Array[String]> */
1366 RET_LABEL293
:(void)0;
1370 { /* Inline array#AbstractArrayRead#length (var_param_types) on <var_param_types:Array[MType]> */
1371 var297
= var_param_types
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_param_types:Array[MType]> */
1373 RET_LABEL296
:(void)0;
1377 { /* Inline kernel#Int#!= (var292,var295) on <var292:Int> */
1378 var300
= var292
== var295
;
1382 RET_LABEL299
:(void)0;
1386 if (var_nsig
== NULL
) {
1387 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1388 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 783);
1391 { /* Inline parser_nodes#ASignature#n_params (var_nsig) on <var_nsig:nullable ASignature> */
1392 if (unlikely(var_nsig
== NULL
)) {
1393 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1394 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1506);
1397 var304
= var_nsig
->attrs
[COLOR_nit__parser_nodes__ASignature___n_params
].val
; /* _n_params on <var_nsig:nullable ASignature> */
1398 if (unlikely(var304
== NULL
)) {
1399 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
1400 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1506);
1404 RET_LABEL303
:(void)0;
1408 { /* Inline array#AbstractArrayRead#length (var_param_types) on <var_param_types:Array[MType]> */
1409 var307
= var_param_types
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_param_types:Array[MType]> */
1411 RET_LABEL306
:(void)0;
1415 var308
= nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var302
, var305
);
1418 var310
= varonce309
;
1420 var311
= "Error: Untyped parameter `";
1422 var313
= standard___standard__NativeString___to_s_with_length(var311
, var312
);
1424 varonce309
= var310
;
1427 { /* Inline array#AbstractArrayRead#length (var_param_types) on <var_param_types:Array[MType]> */
1428 var316
= var_param_types
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_param_types:Array[MType]> */
1430 RET_LABEL315
:(void)0;
1434 var317
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_param_names
, var314
);
1437 var319
= varonce318
;
1441 var322
= standard___standard__NativeString___to_s_with_length(var320
, var321
);
1443 varonce318
= var319
;
1445 var323
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1446 { /* var323 = array_instance Array[Object] */
1448 var325
= NEW_standard__NativeArray(var324
, &type_standard__NativeArray__standard__Object
);
1449 ((struct instance_standard__NativeArray
*)var325
)->values
[0] = (val
*) var310
;
1450 ((struct instance_standard__NativeArray
*)var325
)->values
[1] = (val
*) var317
;
1451 ((struct instance_standard__NativeArray
*)var325
)->values
[2] = (val
*) var319
;
1453 ((void (*)(val
* self
, val
* p0
, long p1
))(var323
->class->vft
[COLOR_standard__array__Array__with_native
]))(var323
, var325
, var324
) /* with_native on <var323:Array[Object]>*/;
1457 var326
= ((val
* (*)(val
* self
))(var323
->class->vft
[COLOR_standard__string__Object__to_s
]))(var323
) /* to_s on <var323:Array[Object]>*/;
1460 nit___nit__ModelBuilder___error(var_modelbuilder
, var308
, var326
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
1465 var327
= NEW_standard__Array(&type_standard__Array__nit__MParameter
);
1467 standard___standard__Array___standard__kernel__Object__init(var327
); /* Direct call array#Array#init on <var327:Array[MParameter]>*/
1469 var_mparameters
= var327
;
1473 { /* Inline array#AbstractArrayRead#length (var_param_names) on <var_param_names:Array[String]> */
1474 var331
= var_param_names
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_param_names:Array[String]> */
1476 RET_LABEL330
:(void)0;
1482 { /* Inline kernel#Int#< (var_i,var_332) on <var_i:Int> */
1483 /* Covariant cast for argument 0 (i) <var_332:Int> isa OTHER */
1484 /* <var_332:Int> isa OTHER */
1485 var335
= 1; /* easy <var_332:Int> isa OTHER*/
1486 if (unlikely(!var335
)) {
1487 var_class_name338
= type_standard__Int
.name
;
1488 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name338
);
1489 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
1492 var339
= var_i
< var_332
;
1495 RET_LABEL334
:(void)0;
1499 var340
= NEW_nit__MParameter(&type_nit__MParameter
);
1501 var341
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_param_names
, var_i
);
1504 var342
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_param_types
, var_i
);
1507 { /* Inline kernel#Int#== (var_i,var_vararg_rank) on <var_i:Int> */
1508 var345
= var_i
== var_vararg_rank
;
1511 RET_LABEL344
:(void)0;
1515 ((void (*)(val
* self
, val
* p0
))(var340
->class->vft
[COLOR_nit__model__MParameter__name_61d
]))(var340
, var341
) /* name= on <var340:MParameter>*/;
1518 ((void (*)(val
* self
, val
* p0
))(var340
->class->vft
[COLOR_nit__model__MParameter__mtype_61d
]))(var340
, var342
) /* mtype= on <var340:MParameter>*/;
1521 ((void (*)(val
* self
, short int p0
))(var340
->class->vft
[COLOR_nit__model__MParameter__is_vararg_61d
]))(var340
, var343
) /* is_vararg= on <var340:MParameter>*/;
1524 ((void (*)(val
* self
))(var340
->class->vft
[COLOR_standard__kernel__Object__init
]))(var340
) /* init on <var340:MParameter>*/;
1526 var_mparameter346
= var340
;
1528 if (var_nsig
== NULL
) {
1529 var348
= 0; /* is null */
1531 var348
= 1; /* arg is null and recv is not */
1534 { /* Inline kernel#Object#!= (var_nsig,var347) on <var_nsig:nullable ASignature> */
1535 var_other38
= var347
;
1537 var351
= ((short int (*)(val
* self
, val
* p0
))(var_nsig
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nsig
, var_other38
) /* == on <var_nsig:nullable ASignature(ASignature)>*/;
1542 RET_LABEL350
:(void)0;
1548 { /* Inline parser_nodes#ASignature#n_params (var_nsig) on <var_nsig:nullable ASignature(ASignature)> */
1549 var355
= var_nsig
->attrs
[COLOR_nit__parser_nodes__ASignature___n_params
].val
; /* _n_params on <var_nsig:nullable ASignature(ASignature)> */
1550 if (unlikely(var355
== NULL
)) {
1551 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
1552 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1506);
1556 RET_LABEL354
:(void)0;
1560 var356
= nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var353
, var_i
);
1563 { /* Inline modelize_property#AParam#mparameter= (var356,var_mparameter346) on <var356:ANode(AParam)> */
1564 var356
->attrs
[COLOR_nit__modelize_property__AParam___mparameter
].val
= var_mparameter346
; /* _mparameter on <var356:ANode(AParam)> */
1565 RET_LABEL357
:(void)0;
1571 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_mparameters
, var_mparameter346
); /* Direct call array#Array#add on <var_mparameters:Array[MParameter]>*/
1575 var359
= standard___standard__Int___Discrete__successor(var_i
, var358
);
1579 goto BREAK_label360
;
1582 BREAK_label360
: (void)0;
1584 if (var_ret_type
== NULL
) {
1585 var363
= 1; /* is null */
1587 var363
= 0; /* arg is null but recv is not */
1590 { /* Inline kernel#Object#== (var_ret_type,var362) on <var_ret_type:nullable MType> */
1593 { /* Inline kernel#Object#is_same_instance (var_ret_type,var_other) on <var_ret_type:nullable MType(MType)> */
1594 var368
= var_ret_type
== var_other
;
1597 RET_LABEL367
:(void)0;
1602 RET_LABEL365
:(void)0;
1609 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
1610 var372
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
1611 if (unlikely(var372
== NULL
)) {
1612 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1613 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
1617 RET_LABEL371
:(void)0;
1621 { /* Inline model#MMethod#is_new (var370) on <var370:MProperty(MMethod)> */
1622 var375
= var370
->attrs
[COLOR_nit__model__MMethod___is_new
].s
; /* _is_new on <var370:MProperty(MMethod)> */
1624 RET_LABEL374
:(void)0;
1633 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
1634 var378
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
1635 if (unlikely(var378
== NULL
)) {
1636 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1637 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
1641 RET_LABEL377
:(void)0;
1645 { /* Inline model#MClass#mclass_type (var376) on <var376:MClass> */
1646 var381
= var376
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var376:MClass> */
1647 if (unlikely(var381
== NULL
)) {
1648 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
1649 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
1653 RET_LABEL380
:(void)0;
1656 var_ret_type
= var379
;
1659 var382
= NEW_nit__MSignature(&type_nit__MSignature
);
1661 ((void (*)(val
* self
, val
* p0
))(var382
->class->vft
[COLOR_nit__model__MSignature__mparameters_61d
]))(var382
, var_mparameters
) /* mparameters= on <var382:MSignature>*/;
1664 ((void (*)(val
* self
, val
* p0
))(var382
->class->vft
[COLOR_nit__model__MSignature__return_mtype_61d
]))(var382
, var_ret_type
) /* return_mtype= on <var382:MSignature>*/;
1667 ((void (*)(val
* self
))(var382
->class->vft
[COLOR_standard__kernel__Object__init
]))(var382
) /* init on <var382:MSignature>*/;
1669 var_msignature
= var382
;
1671 { /* Inline model#MMethodDef#msignature= (var_mpropdef,var_msignature) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
1672 var_mpropdef
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
= var_msignature
; /* _msignature on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
1673 RET_LABEL383
:(void)0;
1677 var385
= varonce384
;
1679 var386
= "abstract";
1681 var388
= standard___standard__NativeString___to_s_with_length(var386
, var387
);
1683 varonce384
= var385
;
1686 var389
= nit__annotation___Prod___get_single_annotation(self
, var385
, var_modelbuilder
);
1689 if (var389
== NULL
) {
1690 var391
= 0; /* is null */
1692 var391
= 1; /* arg is null and recv is not */
1695 { /* Inline kernel#Object#!= (var389,var390) on <var389:nullable AAnnotation> */
1696 var_other38
= var390
;
1698 var394
= ((short int (*)(val
* self
, val
* p0
))(var389
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var389
, var_other38
) /* == on <var389:nullable AAnnotation(AAnnotation)>*/;
1703 RET_LABEL393
:(void)0;
1708 { /* Inline model#MMethodDef#is_abstract= (var_mpropdef,var391) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
1709 var_mpropdef
->attrs
[COLOR_nit__model__MMethodDef___is_abstract
].s
= var391
; /* _is_abstract on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
1710 RET_LABEL396
:(void)0;
1714 var398
= varonce397
;
1718 var401
= standard___standard__NativeString___to_s_with_length(var399
, var400
);
1720 varonce397
= var398
;
1723 var402
= nit__annotation___Prod___get_single_annotation(self
, var398
, var_modelbuilder
);
1726 if (var402
== NULL
) {
1727 var404
= 0; /* is null */
1729 var404
= 1; /* arg is null and recv is not */
1732 { /* Inline kernel#Object#!= (var402,var403) on <var402:nullable AAnnotation> */
1733 var_other38
= var403
;
1735 var407
= ((short int (*)(val
* self
, val
* p0
))(var402
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var402
, var_other38
) /* == on <var402:nullable AAnnotation(AAnnotation)>*/;
1740 RET_LABEL406
:(void)0;
1745 { /* Inline model#MMethodDef#is_intern= (var_mpropdef,var404) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
1746 var_mpropdef
->attrs
[COLOR_nit__model__MMethodDef___is_intern
].s
= var404
; /* _is_intern on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
1747 RET_LABEL409
:(void)0;
1751 { /* Inline parser_nodes#AMethPropdef#n_extern_code_block (self) on <self:AMethPropdef> */
1752 var413
= self
->attrs
[COLOR_nit__parser_nodes__AMethPropdef___n_extern_code_block
].val
; /* _n_extern_code_block on <self:AMethPropdef> */
1754 RET_LABEL412
:(void)0;
1758 if (var411
== NULL
) {
1759 var415
= 0; /* is null */
1761 var415
= 1; /* arg is null and recv is not */
1764 { /* Inline kernel#Object#!= (var411,var414) on <var411:nullable AExternCodeBlock> */
1765 var_other38
= var414
;
1767 var418
= ((short int (*)(val
* self
, val
* p0
))(var411
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var411
, var_other38
) /* == on <var411:nullable AExternCodeBlock(AExternCodeBlock)>*/;
1772 RET_LABEL417
:(void)0;
1781 var422
= varonce421
;
1785 var425
= standard___standard__NativeString___to_s_with_length(var423
, var424
);
1787 varonce421
= var422
;
1790 var426
= nit__annotation___Prod___get_single_annotation(self
, var422
, var_modelbuilder
);
1793 if (var426
== NULL
) {
1794 var428
= 0; /* is null */
1796 var428
= 1; /* arg is null and recv is not */
1799 { /* Inline kernel#Object#!= (var426,var427) on <var426:nullable AAnnotation> */
1800 var_other38
= var427
;
1802 var431
= ((short int (*)(val
* self
, val
* p0
))(var426
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var426
, var_other38
) /* == on <var426:nullable AAnnotation(AAnnotation)>*/;
1807 RET_LABEL430
:(void)0;
1814 { /* Inline model#MMethodDef#is_extern= (var_mpropdef,var410) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
1815 var_mpropdef
->attrs
[COLOR_nit__model__MMethodDef___is_extern
].s
= var410
; /* _is_extern on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
1816 RET_LABEL433
:(void)0;
1821 /* method modelize_property#AMethPropdef#check_signature for (self: AMethPropdef, ModelBuilder) */
1822 void nit__modelize_property___AMethPropdef___APropdef__check_signature(val
* self
, val
* p0
) {
1823 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
1824 val
* var
/* : nullable MPropDef */;
1825 val
* var2
/* : nullable MPropDef */;
1826 val
* var_mpropdef
/* var mpropdef: nullable MMethodDef */;
1827 val
* var3
/* : null */;
1828 short int var4
/* : Bool */;
1829 short int var5
/* : Bool */;
1830 val
* var_other
/* var other: nullable Object */;
1831 short int var7
/* : Bool */;
1832 short int var9
/* : Bool */;
1833 val
* var10
/* : MClassDef */;
1834 val
* var12
/* : MClassDef */;
1835 val
* var_mclassdef
/* var mclassdef: MClassDef */;
1836 val
* var13
/* : MModule */;
1837 val
* var15
/* : MModule */;
1838 val
* var_mmodule
/* var mmodule: MModule */;
1839 val
* var16
/* : nullable ASignature */;
1840 val
* var18
/* : nullable ASignature */;
1841 val
* var_nsig
/* var nsig: nullable ASignature */;
1842 val
* var19
/* : nullable MPropDef */;
1843 val
* var21
/* : nullable MPropDef */;
1844 val
* var22
/* : nullable MSignature */;
1845 val
* var24
/* : nullable MSignature */;
1846 val
* var_mysignature
/* var mysignature: nullable MSignature */;
1847 val
* var25
/* : null */;
1848 short int var26
/* : Bool */;
1849 short int var27
/* : Bool */;
1850 short int var29
/* : Bool */;
1851 short int var31
/* : Bool */;
1852 short int var32
/* : Bool */;
1853 short int var33
/* : Bool */;
1854 val
* var34
/* : MProperty */;
1855 val
* var36
/* : MProperty */;
1856 val
* var37
/* : MPropDef */;
1857 val
* var39
/* : MPropDef */;
1858 val
* var40
/* : nullable MSignature */;
1859 val
* var42
/* : nullable MSignature */;
1860 val
* var_msignature
/* var msignature: nullable MSignature */;
1861 val
* var43
/* : null */;
1862 short int var44
/* : Bool */;
1863 short int var45
/* : Bool */;
1864 short int var47
/* : Bool */;
1865 short int var49
/* : Bool */;
1866 val
* var50
/* : nullable MType */;
1867 val
* var52
/* : nullable MType */;
1868 val
* var_precursor_ret_type
/* var precursor_ret_type: nullable MType */;
1869 val
* var53
/* : nullable MType */;
1870 val
* var55
/* : nullable MType */;
1871 val
* var_ret_type
/* var ret_type: nullable MType */;
1872 short int var56
/* : Bool */;
1873 val
* var57
/* : null */;
1874 short int var58
/* : Bool */;
1875 short int var59
/* : Bool */;
1876 val
* var_other61
/* var other: nullable Object */;
1877 short int var62
/* : Bool */;
1878 short int var63
/* : Bool */;
1879 short int var_
/* var : Bool */;
1880 val
* var64
/* : null */;
1881 short int var65
/* : Bool */;
1882 short int var66
/* : Bool */;
1883 short int var68
/* : Bool */;
1884 short int var70
/* : Bool */;
1885 val
* var71
/* : nullable AType */;
1886 val
* var73
/* : nullable AType */;
1887 static val
* varonce
;
1888 val
* var74
/* : String */;
1889 char* var75
/* : NativeString */;
1890 long var76
/* : Int */;
1891 val
* var77
/* : FlatString */;
1892 val
* var78
/* : MProperty */;
1893 val
* var80
/* : MProperty */;
1894 static val
* varonce81
;
1895 val
* var82
/* : String */;
1896 char* var83
/* : NativeString */;
1897 long var84
/* : Int */;
1898 val
* var85
/* : FlatString */;
1899 val
* var86
/* : Array[Object] */;
1900 long var87
/* : Int */;
1901 val
* var88
/* : NativeArray[Object] */;
1902 val
* var89
/* : String */;
1903 long var90
/* : Int */;
1904 long var91
/* : Int */;
1905 short int var92
/* : Bool */;
1906 short int var94
/* : Bool */;
1909 const char* var_class_name
;
1910 short int var95
/* : Bool */;
1911 long var96
/* : Int */;
1912 long var_i
/* var i: Int */;
1913 long var97
/* : Int */;
1914 long var_98
/* var : Int */;
1915 short int var99
/* : Bool */;
1916 short int var101
/* : Bool */;
1919 const char* var_class_name104
;
1920 short int var105
/* : Bool */;
1921 val
* var106
/* : Array[MParameter] */;
1922 val
* var108
/* : Array[MParameter] */;
1923 val
* var109
/* : nullable Object */;
1924 val
* var110
/* : MType */;
1925 val
* var112
/* : MType */;
1926 val
* var_myt
/* var myt: MType */;
1927 val
* var113
/* : Array[MParameter] */;
1928 val
* var115
/* : Array[MParameter] */;
1929 val
* var116
/* : nullable Object */;
1930 val
* var117
/* : MType */;
1931 val
* var119
/* : MType */;
1932 val
* var_prt
/* var prt: MType */;
1933 short int var120
/* : Bool */;
1934 val
* var121
/* : MClassType */;
1935 val
* var123
/* : MClassType */;
1936 short int var124
/* : Bool */;
1937 short int var125
/* : Bool */;
1938 short int var_126
/* var : Bool */;
1939 val
* var127
/* : MClassType */;
1940 val
* var129
/* : MClassType */;
1941 short int var130
/* : Bool */;
1942 short int var131
/* : Bool */;
1943 val
* var132
/* : ANodes[AParam] */;
1944 val
* var134
/* : ANodes[AParam] */;
1945 val
* var135
/* : ANode */;
1946 static val
* varonce136
;
1947 val
* var137
/* : String */;
1948 char* var138
/* : NativeString */;
1949 long var139
/* : Int */;
1950 val
* var140
/* : FlatString */;
1951 val
* var141
/* : Array[MParameter] */;
1952 val
* var143
/* : Array[MParameter] */;
1953 val
* var144
/* : nullable Object */;
1954 val
* var145
/* : String */;
1955 val
* var147
/* : String */;
1956 static val
* varonce148
;
1957 val
* var149
/* : String */;
1958 char* var150
/* : NativeString */;
1959 long var151
/* : Int */;
1960 val
* var152
/* : FlatString */;
1961 static val
* varonce153
;
1962 val
* var154
/* : String */;
1963 char* var155
/* : NativeString */;
1964 long var156
/* : Int */;
1965 val
* var157
/* : FlatString */;
1966 static val
* varonce158
;
1967 val
* var159
/* : String */;
1968 char* var160
/* : NativeString */;
1969 long var161
/* : Int */;
1970 val
* var162
/* : FlatString */;
1971 val
* var163
/* : MProperty */;
1972 val
* var165
/* : MProperty */;
1973 val
* var166
/* : MPropDef */;
1974 val
* var168
/* : MPropDef */;
1975 static val
* varonce169
;
1976 val
* var170
/* : String */;
1977 char* var171
/* : NativeString */;
1978 long var172
/* : Int */;
1979 val
* var173
/* : FlatString */;
1980 val
* var174
/* : Array[Object] */;
1981 long var175
/* : Int */;
1982 val
* var176
/* : NativeArray[Object] */;
1983 val
* var177
/* : String */;
1984 long var178
/* : Int */;
1985 long var179
/* : Int */;
1986 val
* var180
/* : null */;
1987 short int var181
/* : Bool */;
1988 short int var182
/* : Bool */;
1989 short int var184
/* : Bool */;
1990 short int var185
/* : Bool */;
1991 val
* var186
/* : null */;
1992 short int var187
/* : Bool */;
1993 short int var188
/* : Bool */;
1994 short int var190
/* : Bool */;
1995 short int var192
/* : Bool */;
1996 val
* var193
/* : MClassType */;
1997 val
* var195
/* : MClassType */;
1998 short int var196
/* : Bool */;
1999 short int var197
/* : Bool */;
2000 val
* var198
/* : nullable AType */;
2001 val
* var200
/* : nullable AType */;
2002 static val
* varonce201
;
2003 val
* var202
/* : String */;
2004 char* var203
/* : NativeString */;
2005 long var204
/* : Int */;
2006 val
* var205
/* : FlatString */;
2007 static val
* varonce206
;
2008 val
* var207
/* : String */;
2009 char* var208
/* : NativeString */;
2010 long var209
/* : Int */;
2011 val
* var210
/* : FlatString */;
2012 static val
* varonce211
;
2013 val
* var212
/* : String */;
2014 char* var213
/* : NativeString */;
2015 long var214
/* : Int */;
2016 val
* var215
/* : FlatString */;
2017 val
* var216
/* : MProperty */;
2018 val
* var218
/* : MProperty */;
2019 val
* var219
/* : MPropDef */;
2020 val
* var221
/* : MPropDef */;
2021 static val
* varonce222
;
2022 val
* var223
/* : String */;
2023 char* var224
/* : NativeString */;
2024 long var225
/* : Int */;
2025 val
* var226
/* : FlatString */;
2026 val
* var227
/* : Array[Object] */;
2027 long var228
/* : Int */;
2028 val
* var229
/* : NativeArray[Object] */;
2029 val
* var230
/* : String */;
2030 long var231
/* : Int */;
2031 long var232
/* : Int */;
2032 short int var233
/* : Bool */;
2033 short int var235
/* : Bool */;
2036 const char* var_class_name238
;
2037 short int var239
/* : Bool */;
2038 long var240
/* : Int */;
2039 long var_i241
/* var i: Int */;
2040 long var242
/* : Int */;
2041 long var_243
/* var : Int */;
2042 short int var244
/* : Bool */;
2043 short int var246
/* : Bool */;
2046 const char* var_class_name249
;
2047 short int var250
/* : Bool */;
2048 val
* var251
/* : ANodes[AParam] */;
2049 val
* var253
/* : ANodes[AParam] */;
2050 val
* var254
/* : ANode */;
2051 val
* var255
/* : nullable AType */;
2052 val
* var257
/* : nullable AType */;
2053 val
* var_nt
/* var nt: nullable AType */;
2054 val
* var258
/* : null */;
2055 short int var259
/* : Bool */;
2056 short int var260
/* : Bool */;
2057 short int var262
/* : Bool */;
2058 short int var263
/* : Bool */;
2059 val
* var264
/* : nullable MType */;
2060 val
* var266
/* : nullable MType */;
2061 long var267
/* : Int */;
2062 long var268
/* : Int */;
2063 val
* var270
/* : nullable AType */;
2064 val
* var272
/* : nullable AType */;
2065 val
* var_nt273
/* var nt: nullable AType */;
2066 val
* var274
/* : null */;
2067 short int var275
/* : Bool */;
2068 short int var276
/* : Bool */;
2069 short int var278
/* : Bool */;
2070 short int var279
/* : Bool */;
2071 val
* var280
/* : nullable MType */;
2072 val
* var282
/* : nullable MType */;
2073 var_modelbuilder
= p0
;
2075 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
2076 var2
= self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
2083 if (var_mpropdef
== NULL
) {
2084 var4
= 1; /* is null */
2086 var4
= 0; /* arg is null but recv is not */
2089 { /* Inline kernel#Object#== (var_mpropdef,var3) on <var_mpropdef:nullable MMethodDef> */
2092 { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
2093 var9
= var_mpropdef
== var_other
;
2110 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
2111 var12
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
2112 if (unlikely(var12
== NULL
)) {
2113 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2114 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
2118 RET_LABEL11
:(void)0;
2121 var_mclassdef
= var10
;
2123 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
2124 var15
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
2125 if (unlikely(var15
== NULL
)) {
2126 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2127 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
2131 RET_LABEL14
:(void)0;
2134 var_mmodule
= var13
;
2136 { /* Inline parser_nodes#AMethPropdef#n_signature (self) on <self:AMethPropdef> */
2137 var18
= self
->attrs
[COLOR_nit__parser_nodes__AMethPropdef___n_signature
].val
; /* _n_signature on <self:AMethPropdef> */
2139 RET_LABEL17
:(void)0;
2144 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
2145 var21
= self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
2147 RET_LABEL20
:(void)0;
2150 if (var19
== NULL
) {
2151 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2152 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 811);
2155 { /* Inline model#MMethodDef#msignature (var19) on <var19:nullable MPropDef(nullable MMethodDef)> */
2156 if (unlikely(var19
== NULL
)) {
2157 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2158 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2137);
2161 var24
= var19
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var19:nullable MPropDef(nullable MMethodDef)> */
2163 RET_LABEL23
:(void)0;
2166 var_mysignature
= var22
;
2168 if (var_mysignature
== NULL
) {
2169 var26
= 1; /* is null */
2171 var26
= 0; /* arg is null but recv is not */
2174 { /* Inline kernel#Object#== (var_mysignature,var25) on <var_mysignature:nullable MSignature> */
2177 { /* Inline kernel#Object#is_same_instance (var_mysignature,var_other) on <var_mysignature:nullable MSignature(MSignature)> */
2178 var31
= var_mysignature
== var_other
;
2181 RET_LABEL30
:(void)0;
2186 RET_LABEL28
:(void)0;
2195 var32
= nit___nit__MPropDef___is_intro(var_mpropdef
);
2200 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
2201 var36
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
2202 if (unlikely(var36
== NULL
)) {
2203 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2204 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
2208 RET_LABEL35
:(void)0;
2212 { /* Inline model#MProperty#intro (var34) on <var34:MProperty(MMethod)> */
2213 var39
= var34
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var34:MProperty(MMethod)> */
2214 if (unlikely(var39
== NULL
)) {
2215 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
2216 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1773);
2220 RET_LABEL38
:(void)0;
2224 { /* Inline model#MMethodDef#msignature (var37) on <var37:MPropDef(MMethodDef)> */
2225 var42
= var37
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var37:MPropDef(MMethodDef)> */
2227 RET_LABEL41
:(void)0;
2230 var_msignature
= var40
;
2232 if (var_msignature
== NULL
) {
2233 var44
= 1; /* is null */
2235 var44
= 0; /* arg is null but recv is not */
2238 { /* Inline kernel#Object#== (var_msignature,var43) on <var_msignature:nullable MSignature> */
2241 { /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on <var_msignature:nullable MSignature(MSignature)> */
2242 var49
= var_msignature
== var_other
;
2245 RET_LABEL48
:(void)0;
2250 RET_LABEL46
:(void)0;
2259 { /* Inline model#MSignature#return_mtype (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
2260 var52
= var_msignature
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var_msignature:nullable MSignature(MSignature)> */
2262 RET_LABEL51
:(void)0;
2265 var_precursor_ret_type
= var50
;
2267 { /* Inline model#MSignature#return_mtype (var_mysignature) on <var_mysignature:nullable MSignature(MSignature)> */
2268 var55
= var_mysignature
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var_mysignature:nullable MSignature(MSignature)> */
2270 RET_LABEL54
:(void)0;
2273 var_ret_type
= var53
;
2275 if (var_ret_type
== NULL
) {
2276 var58
= 0; /* is null */
2278 var58
= 1; /* arg is null and recv is not */
2281 { /* Inline kernel#Object#!= (var_ret_type,var57) on <var_ret_type:nullable MType> */
2282 var_other61
= var57
;
2284 var62
= ((short int (*)(val
* self
, val
* p0
))(var_ret_type
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ret_type
, var_other61
) /* == on <var_ret_type:nullable MType(MType)>*/;
2289 RET_LABEL60
:(void)0;
2296 if (var_precursor_ret_type
== NULL
) {
2297 var65
= 1; /* is null */
2299 var65
= 0; /* arg is null but recv is not */
2302 { /* Inline kernel#Object#== (var_precursor_ret_type,var64) on <var_precursor_ret_type:nullable MType> */
2305 { /* Inline kernel#Object#is_same_instance (var_precursor_ret_type,var_other) on <var_precursor_ret_type:nullable MType(MType)> */
2306 var70
= var_precursor_ret_type
== var_other
;
2309 RET_LABEL69
:(void)0;
2314 RET_LABEL67
:(void)0;
2323 if (var_nsig
== NULL
) {
2324 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2325 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 823);
2328 { /* Inline parser_nodes#ASignature#n_type (var_nsig) on <var_nsig:nullable ASignature> */
2329 if (unlikely(var_nsig
== NULL
)) {
2330 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2331 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1512);
2334 var73
= var_nsig
->attrs
[COLOR_nit__parser_nodes__ASignature___n_type
].val
; /* _n_type on <var_nsig:nullable ASignature> */
2336 RET_LABEL72
:(void)0;
2339 if (unlikely(var71
== NULL
)) {
2340 PRINT_ERROR("Runtime error: %s", "Cast failed");
2341 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 823);
2347 var75
= "Redef Error: ";
2349 var77
= standard___standard__NativeString___to_s_with_length(var75
, var76
);
2354 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
2355 var80
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
2356 if (unlikely(var80
== NULL
)) {
2357 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2358 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
2362 RET_LABEL79
:(void)0;
2368 var83
= " is a procedure, not a function.";
2370 var85
= standard___standard__NativeString___to_s_with_length(var83
, var84
);
2374 var86
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2375 { /* var86 = array_instance Array[Object] */
2377 var88
= NEW_standard__NativeArray(var87
, &type_standard__NativeArray__standard__Object
);
2378 ((struct instance_standard__NativeArray
*)var88
)->values
[0] = (val
*) var74
;
2379 ((struct instance_standard__NativeArray
*)var88
)->values
[1] = (val
*) var78
;
2380 ((struct instance_standard__NativeArray
*)var88
)->values
[2] = (val
*) var82
;
2382 ((void (*)(val
* self
, val
* p0
, long p1
))(var86
->class->vft
[COLOR_standard__array__Array__with_native
]))(var86
, var88
, var87
) /* with_native on <var86:Array[Object]>*/;
2386 var89
= ((val
* (*)(val
* self
))(var86
->class->vft
[COLOR_standard__string__Object__to_s
]))(var86
) /* to_s on <var86:Array[Object]>*/;
2389 nit___nit__ModelBuilder___error(var_modelbuilder
, var71
, var89
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
2395 var90
= nit___nit__MSignature___arity(var_mysignature
);
2399 { /* Inline kernel#Int#> (var90,var91) on <var90:Int> */
2400 /* Covariant cast for argument 0 (i) <var91:Int> isa OTHER */
2401 /* <var91:Int> isa OTHER */
2402 var94
= 1; /* easy <var91:Int> isa OTHER*/
2403 if (unlikely(!var94
)) {
2404 var_class_name
= type_standard__Int
.name
;
2405 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2406 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 412);
2409 var95
= var90
> var91
;
2412 RET_LABEL93
:(void)0;
2419 var97
= nit___nit__MSignature___arity(var_mysignature
);
2424 { /* Inline kernel#Int#< (var_i,var_98) on <var_i:Int> */
2425 /* Covariant cast for argument 0 (i) <var_98:Int> isa OTHER */
2426 /* <var_98:Int> isa OTHER */
2427 var101
= 1; /* easy <var_98:Int> isa OTHER*/
2428 if (unlikely(!var101
)) {
2429 var_class_name104
= type_standard__Int
.name
;
2430 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name104
);
2431 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
2434 var105
= var_i
< var_98
;
2437 RET_LABEL100
:(void)0;
2442 { /* Inline model#MSignature#mparameters (var_mysignature) on <var_mysignature:nullable MSignature(MSignature)> */
2443 var108
= var_mysignature
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var_mysignature:nullable MSignature(MSignature)> */
2444 if (unlikely(var108
== NULL
)) {
2445 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
2446 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1592);
2450 RET_LABEL107
:(void)0;
2454 var109
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var106
, var_i
);
2457 { /* Inline model#MParameter#mtype (var109) on <var109:nullable Object(MParameter)> */
2458 var112
= var109
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var109:nullable Object(MParameter)> */
2459 if (unlikely(var112
== NULL
)) {
2460 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2461 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1690);
2465 RET_LABEL111
:(void)0;
2470 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
2471 var115
= var_msignature
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:nullable MSignature(MSignature)> */
2472 if (unlikely(var115
== NULL
)) {
2473 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
2474 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1592);
2478 RET_LABEL114
:(void)0;
2482 var116
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var113
, var_i
);
2485 { /* Inline model#MParameter#mtype (var116) on <var116:nullable Object(MParameter)> */
2486 var119
= var116
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var116:nullable Object(MParameter)> */
2487 if (unlikely(var119
== NULL
)) {
2488 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2489 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1690);
2493 RET_LABEL118
:(void)0;
2498 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
2499 var123
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
2500 if (unlikely(var123
== NULL
)) {
2501 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2502 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
2506 RET_LABEL122
:(void)0;
2510 var124
= nit___nit__MType___is_subtype(var_myt
, var_mmodule
, var121
, var_prt
);
2518 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
2519 var129
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
2520 if (unlikely(var129
== NULL
)) {
2521 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2522 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
2526 RET_LABEL128
:(void)0;
2530 var130
= nit___nit__MType___is_subtype(var_prt
, var_mmodule
, var127
, var_myt
);
2536 if (var_nsig
== NULL
) {
2537 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2538 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 834);
2541 { /* Inline parser_nodes#ASignature#n_params (var_nsig) on <var_nsig:nullable ASignature> */
2542 if (unlikely(var_nsig
== NULL
)) {
2543 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2544 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1506);
2547 var134
= var_nsig
->attrs
[COLOR_nit__parser_nodes__ASignature___n_params
].val
; /* _n_params on <var_nsig:nullable ASignature> */
2548 if (unlikely(var134
== NULL
)) {
2549 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
2550 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1506);
2554 RET_LABEL133
:(void)0;
2558 var135
= nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var132
, var_i
);
2561 var137
= varonce136
;
2563 var138
= "Redef Error: Wrong type for parameter `";
2565 var140
= standard___standard__NativeString___to_s_with_length(var138
, var139
);
2567 varonce136
= var137
;
2570 { /* Inline model#MSignature#mparameters (var_mysignature) on <var_mysignature:nullable MSignature(MSignature)> */
2571 var143
= var_mysignature
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var_mysignature:nullable MSignature(MSignature)> */
2572 if (unlikely(var143
== NULL
)) {
2573 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
2574 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1592);
2578 RET_LABEL142
:(void)0;
2582 var144
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var141
, var_i
);
2585 { /* Inline model#MParameter#name (var144) on <var144:nullable Object(MParameter)> */
2586 var147
= var144
->attrs
[COLOR_nit__model__MParameter___name
].val
; /* _name on <var144:nullable Object(MParameter)> */
2587 if (unlikely(var147
== NULL
)) {
2588 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2589 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1687);
2593 RET_LABEL146
:(void)0;
2597 var149
= varonce148
;
2599 var150
= "\'. found ";
2601 var152
= standard___standard__NativeString___to_s_with_length(var150
, var151
);
2603 varonce148
= var149
;
2606 var154
= varonce153
;
2608 var155
= ", expected ";
2610 var157
= standard___standard__NativeString___to_s_with_length(var155
, var156
);
2612 varonce153
= var154
;
2615 var159
= varonce158
;
2619 var162
= standard___standard__NativeString___to_s_with_length(var160
, var161
);
2621 varonce158
= var159
;
2624 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
2625 var165
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
2626 if (unlikely(var165
== NULL
)) {
2627 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2628 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
2632 RET_LABEL164
:(void)0;
2636 { /* Inline model#MProperty#intro (var163) on <var163:MProperty(MMethod)> */
2637 var168
= var163
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var163:MProperty(MMethod)> */
2638 if (unlikely(var168
== NULL
)) {
2639 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
2640 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1773);
2644 RET_LABEL167
:(void)0;
2648 var170
= varonce169
;
2652 var173
= standard___standard__NativeString___to_s_with_length(var171
, var172
);
2654 varonce169
= var170
;
2656 var174
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2657 { /* var174 = array_instance Array[Object] */
2659 var176
= NEW_standard__NativeArray(var175
, &type_standard__NativeArray__standard__Object
);
2660 ((struct instance_standard__NativeArray
*)var176
)->values
[0] = (val
*) var137
;
2661 ((struct instance_standard__NativeArray
*)var176
)->values
[1] = (val
*) var145
;
2662 ((struct instance_standard__NativeArray
*)var176
)->values
[2] = (val
*) var149
;
2663 ((struct instance_standard__NativeArray
*)var176
)->values
[3] = (val
*) var_myt
;
2664 ((struct instance_standard__NativeArray
*)var176
)->values
[4] = (val
*) var154
;
2665 ((struct instance_standard__NativeArray
*)var176
)->values
[5] = (val
*) var_prt
;
2666 ((struct instance_standard__NativeArray
*)var176
)->values
[6] = (val
*) var159
;
2667 ((struct instance_standard__NativeArray
*)var176
)->values
[7] = (val
*) var166
;
2668 ((struct instance_standard__NativeArray
*)var176
)->values
[8] = (val
*) var170
;
2670 ((void (*)(val
* self
, val
* p0
, long p1
))(var174
->class->vft
[COLOR_standard__array__Array__with_native
]))(var174
, var176
, var175
) /* with_native on <var174:Array[Object]>*/;
2674 var177
= ((val
* (*)(val
* self
))(var174
->class->vft
[COLOR_standard__string__Object__to_s
]))(var174
) /* to_s on <var174:Array[Object]>*/;
2677 nit___nit__ModelBuilder___error(var_modelbuilder
, var135
, var177
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
2683 var179
= standard___standard__Int___Discrete__successor(var_i
, var178
);
2690 BREAK_label
: (void)0;
2694 if (var_precursor_ret_type
== NULL
) {
2695 var181
= 0; /* is null */
2697 var181
= 1; /* arg is null and recv is not */
2700 { /* Inline kernel#Object#!= (var_precursor_ret_type,var180) on <var_precursor_ret_type:nullable MType> */
2701 var_other61
= var180
;
2703 var184
= ((short int (*)(val
* self
, val
* p0
))(var_precursor_ret_type
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_precursor_ret_type
, var_other61
) /* == on <var_precursor_ret_type:nullable MType(MType)>*/;
2708 RET_LABEL183
:(void)0;
2714 if (var_ret_type
== NULL
) {
2715 var187
= 1; /* is null */
2717 var187
= 0; /* arg is null but recv is not */
2720 { /* Inline kernel#Object#== (var_ret_type,var186) on <var_ret_type:nullable MType> */
2723 { /* Inline kernel#Object#is_same_instance (var_ret_type,var_other) on <var_ret_type:nullable MType(MType)> */
2724 var192
= var_ret_type
== var_other
;
2727 RET_LABEL191
:(void)0;
2732 RET_LABEL189
:(void)0;
2737 var_ret_type
= var_precursor_ret_type
;
2740 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
2741 var195
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
2742 if (unlikely(var195
== NULL
)) {
2743 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2744 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
2748 RET_LABEL194
:(void)0;
2752 var196
= nit___nit__MType___is_subtype(var_ret_type
, var_mmodule
, var193
, var_precursor_ret_type
);
2756 if (var_nsig
== NULL
) {
2757 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2758 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 843);
2761 { /* Inline parser_nodes#ASignature#n_type (var_nsig) on <var_nsig:nullable ASignature> */
2762 if (unlikely(var_nsig
== NULL
)) {
2763 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2764 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1512);
2767 var200
= var_nsig
->attrs
[COLOR_nit__parser_nodes__ASignature___n_type
].val
; /* _n_type on <var_nsig:nullable ASignature> */
2769 RET_LABEL199
:(void)0;
2772 if (unlikely(var198
== NULL
)) {
2773 PRINT_ERROR("Runtime error: %s", "Cast failed");
2774 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 843);
2778 var202
= varonce201
;
2780 var203
= "Redef Error: Wrong return type. found ";
2782 var205
= standard___standard__NativeString___to_s_with_length(var203
, var204
);
2784 varonce201
= var202
;
2787 var207
= varonce206
;
2789 var208
= ", expected ";
2791 var210
= standard___standard__NativeString___to_s_with_length(var208
, var209
);
2793 varonce206
= var207
;
2796 var212
= varonce211
;
2800 var215
= standard___standard__NativeString___to_s_with_length(var213
, var214
);
2802 varonce211
= var212
;
2805 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
2806 var218
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
2807 if (unlikely(var218
== NULL
)) {
2808 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2809 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
2813 RET_LABEL217
:(void)0;
2817 { /* Inline model#MProperty#intro (var216) on <var216:MProperty(MMethod)> */
2818 var221
= var216
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var216:MProperty(MMethod)> */
2819 if (unlikely(var221
== NULL
)) {
2820 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
2821 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1773);
2825 RET_LABEL220
:(void)0;
2829 var223
= varonce222
;
2833 var226
= standard___standard__NativeString___to_s_with_length(var224
, var225
);
2835 varonce222
= var223
;
2837 var227
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2838 { /* var227 = array_instance Array[Object] */
2840 var229
= NEW_standard__NativeArray(var228
, &type_standard__NativeArray__standard__Object
);
2841 ((struct instance_standard__NativeArray
*)var229
)->values
[0] = (val
*) var202
;
2842 ((struct instance_standard__NativeArray
*)var229
)->values
[1] = (val
*) var_ret_type
;
2843 ((struct instance_standard__NativeArray
*)var229
)->values
[2] = (val
*) var207
;
2844 ((struct instance_standard__NativeArray
*)var229
)->values
[3] = (val
*) var_precursor_ret_type
;
2845 ((struct instance_standard__NativeArray
*)var229
)->values
[4] = (val
*) var212
;
2846 ((struct instance_standard__NativeArray
*)var229
)->values
[5] = (val
*) var219
;
2847 ((struct instance_standard__NativeArray
*)var229
)->values
[6] = (val
*) var223
;
2849 ((void (*)(val
* self
, val
* p0
, long p1
))(var227
->class->vft
[COLOR_standard__array__Array__with_native
]))(var227
, var229
, var228
) /* with_native on <var227:Array[Object]>*/;
2853 var230
= ((val
* (*)(val
* self
))(var227
->class->vft
[COLOR_standard__string__Object__to_s
]))(var227
) /* to_s on <var227:Array[Object]>*/;
2856 nit___nit__ModelBuilder___error(var_modelbuilder
, var198
, var230
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
2866 var231
= nit___nit__MSignature___arity(var_mysignature
);
2870 { /* Inline kernel#Int#> (var231,var232) on <var231:Int> */
2871 /* Covariant cast for argument 0 (i) <var232:Int> isa OTHER */
2872 /* <var232:Int> isa OTHER */
2873 var235
= 1; /* easy <var232:Int> isa OTHER*/
2874 if (unlikely(!var235
)) {
2875 var_class_name238
= type_standard__Int
.name
;
2876 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name238
);
2877 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 412);
2880 var239
= var231
> var232
;
2883 RET_LABEL234
:(void)0;
2890 var242
= nit___nit__MSignature___arity(var_mysignature
);
2895 { /* Inline kernel#Int#< (var_i241,var_243) on <var_i241:Int> */
2896 /* Covariant cast for argument 0 (i) <var_243:Int> isa OTHER */
2897 /* <var_243:Int> isa OTHER */
2898 var246
= 1; /* easy <var_243:Int> isa OTHER*/
2899 if (unlikely(!var246
)) {
2900 var_class_name249
= type_standard__Int
.name
;
2901 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name249
);
2902 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
2905 var250
= var_i241
< var_243
;
2908 RET_LABEL245
:(void)0;
2912 if (var_nsig
== NULL
) {
2913 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2914 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 851);
2917 { /* Inline parser_nodes#ASignature#n_params (var_nsig) on <var_nsig:nullable ASignature> */
2918 if (unlikely(var_nsig
== NULL
)) {
2919 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2920 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1506);
2923 var253
= var_nsig
->attrs
[COLOR_nit__parser_nodes__ASignature___n_params
].val
; /* _n_params on <var_nsig:nullable ASignature> */
2924 if (unlikely(var253
== NULL
)) {
2925 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
2926 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1506);
2930 RET_LABEL252
:(void)0;
2934 var254
= nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var251
, var_i241
);
2937 { /* Inline parser_nodes#AParam#n_type (var254) on <var254:ANode(AParam)> */
2938 var257
= var254
->attrs
[COLOR_nit__parser_nodes__AParam___n_type
].val
; /* _n_type on <var254:ANode(AParam)> */
2940 RET_LABEL256
:(void)0;
2945 if (var_nt
== NULL
) {
2946 var259
= 0; /* is null */
2948 var259
= 1; /* arg is null and recv is not */
2951 { /* Inline kernel#Object#!= (var_nt,var258) on <var_nt:nullable AType> */
2952 var_other61
= var258
;
2954 var262
= ((short int (*)(val
* self
, val
* p0
))(var_nt
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nt
, var_other61
) /* == on <var_nt:nullable AType(AType)>*/;
2959 RET_LABEL261
:(void)0;
2965 { /* Inline modelize_class#AType#mtype (var_nt) on <var_nt:nullable AType(AType)> */
2966 var266
= var_nt
->attrs
[COLOR_nit__modelize_class__AType___mtype
].val
; /* _mtype on <var_nt:nullable AType(AType)> */
2968 RET_LABEL265
:(void)0;
2971 if (unlikely(var264
== NULL
)) {
2972 PRINT_ERROR("Runtime error: %s", "Cast failed");
2973 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 852);
2977 nit__modelize_property___ModelBuilder___check_visibility(var_modelbuilder
, var_nt
, var264
, var_mpropdef
); /* Direct call modelize_property#ModelBuilder#check_visibility on <var_modelbuilder:ModelBuilder>*/
2983 var268
= standard___standard__Int___Discrete__successor(var_i241
, var267
);
2987 goto BREAK_label269
;
2990 BREAK_label269
: (void)0;
2991 if (var_nsig
== NULL
) {
2992 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2993 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 854);
2996 { /* Inline parser_nodes#ASignature#n_type (var_nsig) on <var_nsig:nullable ASignature> */
2997 if (unlikely(var_nsig
== NULL
)) {
2998 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2999 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1512);
3002 var272
= var_nsig
->attrs
[COLOR_nit__parser_nodes__ASignature___n_type
].val
; /* _n_type on <var_nsig:nullable ASignature> */
3004 RET_LABEL271
:(void)0;
3009 if (var_nt273
== NULL
) {
3010 var275
= 0; /* is null */
3012 var275
= 1; /* arg is null and recv is not */
3015 { /* Inline kernel#Object#!= (var_nt273,var274) on <var_nt273:nullable AType> */
3016 var_other61
= var274
;
3018 var278
= ((short int (*)(val
* self
, val
* p0
))(var_nt273
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nt273
, var_other61
) /* == on <var_nt273:nullable AType(AType)>*/;
3023 RET_LABEL277
:(void)0;
3029 { /* Inline modelize_class#AType#mtype (var_nt273) on <var_nt273:nullable AType(AType)> */
3030 var282
= var_nt273
->attrs
[COLOR_nit__modelize_class__AType___mtype
].val
; /* _mtype on <var_nt273:nullable AType(AType)> */
3032 RET_LABEL281
:(void)0;
3035 if (unlikely(var280
== NULL
)) {
3036 PRINT_ERROR("Runtime error: %s", "Cast failed");
3037 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 855);
3041 nit__modelize_property___ModelBuilder___check_visibility(var_modelbuilder
, var_nt273
, var280
, var_mpropdef
); /* Direct call modelize_property#ModelBuilder#check_visibility on <var_modelbuilder:ModelBuilder>*/
3049 /* method modelize_property#AAttrPropdef#noinit for (self: AAttrPropdef): Bool */
3050 short int nit__modelize_property___AAttrPropdef___noinit(val
* self
) {
3051 short int var
/* : Bool */;
3052 short int var1
/* : Bool */;
3053 var1
= self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___noinit
].s
; /* _noinit on <self:AAttrPropdef> */
3058 /* method modelize_property#AAttrPropdef#noinit= for (self: AAttrPropdef, Bool) */
3059 void nit__modelize_property___AAttrPropdef___noinit_61d(val
* self
, short int p0
) {
3060 self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___noinit
].s
= p0
; /* _noinit on <self:AAttrPropdef> */
3063 /* method modelize_property#AAttrPropdef#is_lazy for (self: AAttrPropdef): Bool */
3064 short int nit__modelize_property___AAttrPropdef___is_lazy(val
* self
) {
3065 short int var
/* : Bool */;
3066 short int var1
/* : Bool */;
3067 var1
= self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___is_lazy
].s
; /* _is_lazy on <self:AAttrPropdef> */
3072 /* method modelize_property#AAttrPropdef#is_lazy= for (self: AAttrPropdef, Bool) */
3073 void nit__modelize_property___AAttrPropdef___is_lazy_61d(val
* self
, short int p0
) {
3074 self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___is_lazy
].s
= p0
; /* _is_lazy on <self:AAttrPropdef> */
3077 /* method modelize_property#AAttrPropdef#has_value for (self: AAttrPropdef): Bool */
3078 short int nit__modelize_property___AAttrPropdef___has_value(val
* self
) {
3079 short int var
/* : Bool */;
3080 short int var1
/* : Bool */;
3081 var1
= self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___has_value
].s
; /* _has_value on <self:AAttrPropdef> */
3086 /* method modelize_property#AAttrPropdef#has_value= for (self: AAttrPropdef, Bool) */
3087 void nit__modelize_property___AAttrPropdef___has_value_61d(val
* self
, short int p0
) {
3088 self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___has_value
].s
= p0
; /* _has_value on <self:AAttrPropdef> */
3091 /* method modelize_property#AAttrPropdef#mlazypropdef for (self: AAttrPropdef): nullable MAttributeDef */
3092 val
* nit__modelize_property___AAttrPropdef___mlazypropdef(val
* self
) {
3093 val
* var
/* : nullable MAttributeDef */;
3094 val
* var1
/* : nullable MAttributeDef */;
3095 var1
= self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___mlazypropdef
].val
; /* _mlazypropdef on <self:AAttrPropdef> */
3100 /* method modelize_property#AAttrPropdef#mlazypropdef= for (self: AAttrPropdef, nullable MAttributeDef) */
3101 void nit__modelize_property___AAttrPropdef___mlazypropdef_61d(val
* self
, val
* p0
) {
3102 self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___mlazypropdef
].val
= p0
; /* _mlazypropdef on <self:AAttrPropdef> */
3105 /* method modelize_property#AAttrPropdef#mreadpropdef for (self: AAttrPropdef): nullable MMethodDef */
3106 val
* nit__modelize_property___AAttrPropdef___mreadpropdef(val
* self
) {
3107 val
* var
/* : nullable MMethodDef */;
3108 val
* var1
/* : nullable MMethodDef */;
3109 var1
= self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___mreadpropdef
].val
; /* _mreadpropdef on <self:AAttrPropdef> */
3114 /* method modelize_property#AAttrPropdef#mreadpropdef= for (self: AAttrPropdef, nullable MMethodDef) */
3115 void nit__modelize_property___AAttrPropdef___mreadpropdef_61d(val
* self
, val
* p0
) {
3116 self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___mreadpropdef
].val
= p0
; /* _mreadpropdef on <self:AAttrPropdef> */
3119 /* method modelize_property#AAttrPropdef#mwritepropdef for (self: AAttrPropdef): nullable MMethodDef */
3120 val
* nit__modelize_property___AAttrPropdef___mwritepropdef(val
* self
) {
3121 val
* var
/* : nullable MMethodDef */;
3122 val
* var1
/* : nullable MMethodDef */;
3123 var1
= self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___mwritepropdef
].val
; /* _mwritepropdef on <self:AAttrPropdef> */
3128 /* method modelize_property#AAttrPropdef#mwritepropdef= for (self: AAttrPropdef, nullable MMethodDef) */
3129 void nit__modelize_property___AAttrPropdef___mwritepropdef_61d(val
* self
, val
* p0
) {
3130 self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___mwritepropdef
].val
= p0
; /* _mwritepropdef on <self:AAttrPropdef> */
3133 /* method modelize_property#AAttrPropdef#build_property for (self: AAttrPropdef, ModelBuilder, MClassDef) */
3134 void nit__modelize_property___AAttrPropdef___APropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
3135 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
3136 val
* var_mclassdef
/* var mclassdef: MClassDef */;
3137 val
* var
/* : MClass */;
3138 val
* var2
/* : MClass */;
3139 val
* var_mclass
/* var mclass: MClass */;
3140 val
* var3
/* : TId */;
3141 val
* var5
/* : TId */;
3142 val
* var6
/* : String */;
3143 val
* var_name
/* var name: String */;
3144 short int var7
/* : Bool */;
3145 val
* var8
/* : MClassKind */;
3146 val
* var10
/* : MClassKind */;
3147 val
* var11
/* : MClassKind */;
3148 short int var12
/* : Bool */;
3149 val
* var_other
/* var other: nullable Object */;
3150 short int var14
/* : Bool */;
3151 short int var16
/* : Bool */;
3152 short int var_
/* var : Bool */;
3153 val
* var17
/* : MClass */;
3154 val
* var19
/* : MClass */;
3155 val
* var20
/* : MClassKind */;
3156 val
* var22
/* : MClassKind */;
3157 val
* var23
/* : MClassKind */;
3158 short int var24
/* : Bool */;
3159 short int var26
/* : Bool */;
3160 short int var28
/* : Bool */;
3161 static val
* varonce
;
3162 val
* var29
/* : String */;
3163 char* var30
/* : NativeString */;
3164 long var31
/* : Int */;
3165 val
* var32
/* : FlatString */;
3166 static val
* varonce33
;
3167 val
* var34
/* : String */;
3168 char* var35
/* : NativeString */;
3169 long var36
/* : Int */;
3170 val
* var37
/* : FlatString */;
3171 static val
* varonce38
;
3172 val
* var39
/* : String */;
3173 char* var40
/* : NativeString */;
3174 long var41
/* : Int */;
3175 val
* var42
/* : FlatString */;
3176 val
* var43
/* : Array[Object] */;
3177 long var44
/* : Int */;
3178 val
* var45
/* : NativeArray[Object] */;
3179 val
* var46
/* : String */;
3180 val
* var47
/* : MClassKind */;
3181 val
* var49
/* : MClassKind */;
3182 val
* var50
/* : MClassKind */;
3183 short int var51
/* : Bool */;
3184 short int var53
/* : Bool */;
3185 short int var55
/* : Bool */;
3186 static val
* varonce56
;
3187 val
* var57
/* : String */;
3188 char* var58
/* : NativeString */;
3189 long var59
/* : Int */;
3190 val
* var60
/* : FlatString */;
3191 static val
* varonce61
;
3192 val
* var62
/* : String */;
3193 char* var63
/* : NativeString */;
3194 long var64
/* : Int */;
3195 val
* var65
/* : FlatString */;
3196 static val
* varonce66
;
3197 val
* var67
/* : String */;
3198 char* var68
/* : NativeString */;
3199 long var69
/* : Int */;
3200 val
* var70
/* : FlatString */;
3201 val
* var71
/* : Array[Object] */;
3202 long var72
/* : Int */;
3203 val
* var73
/* : NativeArray[Object] */;
3204 val
* var74
/* : String */;
3205 val
* var75
/* : MClassKind */;
3206 val
* var77
/* : MClassKind */;
3207 val
* var78
/* : MClassKind */;
3208 short int var79
/* : Bool */;
3209 short int var81
/* : Bool */;
3210 short int var83
/* : Bool */;
3211 static val
* varonce84
;
3212 val
* var85
/* : String */;
3213 char* var86
/* : NativeString */;
3214 long var87
/* : Int */;
3215 val
* var88
/* : FlatString */;
3216 static val
* varonce89
;
3217 val
* var90
/* : String */;
3218 char* var91
/* : NativeString */;
3219 long var92
/* : Int */;
3220 val
* var93
/* : FlatString */;
3221 static val
* varonce94
;
3222 val
* var95
/* : String */;
3223 char* var96
/* : NativeString */;
3224 long var97
/* : Int */;
3225 val
* var98
/* : FlatString */;
3226 val
* var99
/* : Array[Object] */;
3227 long var100
/* : Int */;
3228 val
* var101
/* : NativeArray[Object] */;
3229 val
* var102
/* : String */;
3230 val
* var103
/* : TId */;
3231 val
* var105
/* : TId */;
3232 val
* var_nid2
/* var nid2: TId */;
3233 val
* var106
/* : MAttribute */;
3234 static val
* varonce107
;
3235 val
* var108
/* : String */;
3236 char* var109
/* : NativeString */;
3237 long var110
/* : Int */;
3238 val
* var111
/* : FlatString */;
3239 val
* var112
/* : String */;
3240 val
* var113
/* : MVisibility */;
3241 val
* var_mprop
/* var mprop: MAttribute */;
3242 val
* var114
/* : MAttributeDef */;
3243 val
* var115
/* : Location */;
3244 val
* var117
/* : Location */;
3245 val
* var_mpropdef
/* var mpropdef: MAttributeDef */;
3246 short int var118
/* : Bool */;
3249 const struct type
* type_struct
;
3250 const char* var_class_name
;
3251 short int var120
/* : Bool */;
3254 const struct type
* type_struct123
;
3255 const char* var_class_name124
;
3256 val
* var125
/* : HashMap[MPropDef, APropdef] */;
3257 val
* var127
/* : HashMap[MPropDef, APropdef] */;
3258 val
* var_readname
/* var readname: String */;
3259 val
* var128
/* : nullable MProperty */;
3260 short int var129
/* : Bool */;
3263 const char* var_class_name132
;
3264 val
* var_mreadprop
/* var mreadprop: nullable MMethod */;
3265 val
* var133
/* : null */;
3266 short int var134
/* : Bool */;
3267 short int var135
/* : Bool */;
3268 short int var137
/* : Bool */;
3269 short int var139
/* : Bool */;
3270 val
* var140
/* : nullable AVisibility */;
3271 val
* var142
/* : nullable AVisibility */;
3272 val
* var143
/* : MVisibility */;
3273 val
* var_mvisibility
/* var mvisibility: MVisibility */;
3274 val
* var144
/* : MMethod */;
3275 val
* var145
/* : nullable TKwredef */;
3276 val
* var147
/* : nullable TKwredef */;
3277 short int var148
/* : Bool */;
3278 short int var149
/* : Bool */;
3279 short int var150
/* : Bool */;
3280 val
* var151
/* : nullable MDeprecationInfo */;
3281 val
* var153
/* : nullable MDeprecationInfo */;
3282 val
* var155
/* : nullable TKwredef */;
3283 val
* var157
/* : nullable TKwredef */;
3284 short int var158
/* : Bool */;
3285 short int var159
/* : Bool */;
3286 short int var160
/* : Bool */;
3287 val
* var161
/* : nullable AVisibility */;
3288 val
* var163
/* : nullable AVisibility */;
3289 val
* var164
/* : Map[MProperty, APropdef] */;
3290 val
* var166
/* : Map[MProperty, APropdef] */;
3291 val
* var167
/* : MMethodDef */;
3292 val
* var168
/* : Location */;
3293 val
* var170
/* : Location */;
3294 val
* var_mreadpropdef
/* var mreadpropdef: MMethodDef */;
3295 val
* var172
/* : HashMap[MPropDef, APropdef] */;
3296 val
* var174
/* : HashMap[MPropDef, APropdef] */;
3297 val
* var175
/* : nullable MDoc */;
3298 val
* var177
/* : nullable MDoc */;
3299 short int var179
/* : Bool */;
3300 val
* var180
/* : nullable AExpr */;
3301 val
* var182
/* : nullable AExpr */;
3302 val
* var183
/* : null */;
3303 short int var184
/* : Bool */;
3304 short int var185
/* : Bool */;
3305 val
* var_other187
/* var other: nullable Object */;
3306 short int var188
/* : Bool */;
3307 short int var189
/* : Bool */;
3308 short int var_190
/* var : Bool */;
3309 val
* var191
/* : nullable AExpr */;
3310 val
* var193
/* : nullable AExpr */;
3311 val
* var194
/* : null */;
3312 short int var195
/* : Bool */;
3313 short int var196
/* : Bool */;
3314 short int var198
/* : Bool */;
3315 short int var199
/* : Bool */;
3316 static val
* varonce201
;
3317 val
* var202
/* : String */;
3318 char* var203
/* : NativeString */;
3319 long var204
/* : Int */;
3320 val
* var205
/* : FlatString */;
3321 val
* var206
/* : nullable AAnnotation */;
3322 val
* var_atnoinit
/* var atnoinit: nullable AAnnotation */;
3323 val
* var207
/* : null */;
3324 short int var208
/* : Bool */;
3325 short int var209
/* : Bool */;
3326 short int var211
/* : Bool */;
3327 short int var212
/* : Bool */;
3328 short int var213
/* : Bool */;
3329 short int var215
/* : Bool */;
3330 short int var217
/* : Bool */;
3331 static val
* varonce218
;
3332 val
* var219
/* : String */;
3333 char* var220
/* : NativeString */;
3334 long var221
/* : Int */;
3335 val
* var222
/* : FlatString */;
3336 static val
* varonce223
;
3337 val
* var224
/* : String */;
3338 char* var225
/* : NativeString */;
3339 long var226
/* : Int */;
3340 val
* var227
/* : FlatString */;
3341 val
* var228
/* : nullable AAnnotation */;
3342 val
* var_atlazy
/* var atlazy: nullable AAnnotation */;
3343 static val
* varonce229
;
3344 val
* var230
/* : String */;
3345 char* var231
/* : NativeString */;
3346 long var232
/* : Int */;
3347 val
* var233
/* : FlatString */;
3348 val
* var234
/* : nullable AAnnotation */;
3349 val
* var_atautoinit
/* var atautoinit: nullable AAnnotation */;
3350 short int var235
/* : Bool */;
3351 val
* var236
/* : null */;
3352 short int var237
/* : Bool */;
3353 short int var238
/* : Bool */;
3354 short int var240
/* : Bool */;
3355 short int var241
/* : Bool */;
3356 short int var_242
/* var : Bool */;
3357 val
* var243
/* : null */;
3358 short int var244
/* : Bool */;
3359 short int var245
/* : Bool */;
3360 short int var247
/* : Bool */;
3361 short int var248
/* : Bool */;
3362 short int var249
/* : Bool */;
3363 val
* var250
/* : null */;
3364 short int var251
/* : Bool */;
3365 short int var252
/* : Bool */;
3366 short int var254
/* : Bool */;
3367 short int var255
/* : Bool */;
3368 short int var_256
/* var : Bool */;
3369 val
* var257
/* : null */;
3370 short int var258
/* : Bool */;
3371 short int var259
/* : Bool */;
3372 short int var261
/* : Bool */;
3373 short int var262
/* : Bool */;
3374 static val
* varonce263
;
3375 val
* var264
/* : String */;
3376 char* var265
/* : NativeString */;
3377 long var266
/* : Int */;
3378 val
* var267
/* : FlatString */;
3379 short int var268
/* : Bool */;
3380 short int var270
/* : Bool */;
3381 short int var271
/* : Bool */;
3382 val
* var272
/* : null */;
3383 short int var273
/* : Bool */;
3384 short int var274
/* : Bool */;
3385 short int var276
/* : Bool */;
3386 short int var277
/* : Bool */;
3387 static val
* varonce278
;
3388 val
* var279
/* : String */;
3389 char* var280
/* : NativeString */;
3390 long var281
/* : Int */;
3391 val
* var282
/* : FlatString */;
3392 val
* var283
/* : null */;
3393 short int var284
/* : Bool */;
3394 short int var285
/* : Bool */;
3395 short int var287
/* : Bool */;
3396 short int var288
/* : Bool */;
3397 static val
* varonce289
;
3398 val
* var290
/* : String */;
3399 char* var291
/* : NativeString */;
3400 long var292
/* : Int */;
3401 val
* var293
/* : FlatString */;
3402 short int var294
/* : Bool */;
3403 val
* var296
/* : MAttribute */;
3404 static val
* varonce297
;
3405 val
* var298
/* : String */;
3406 char* var299
/* : NativeString */;
3407 long var300
/* : Int */;
3408 val
* var301
/* : FlatString */;
3409 val
* var302
/* : String */;
3410 val
* var303
/* : MVisibility */;
3411 val
* var_mlazyprop
/* var mlazyprop: MAttribute */;
3412 val
* var304
/* : MAttributeDef */;
3413 val
* var305
/* : Location */;
3414 val
* var307
/* : Location */;
3415 val
* var_mlazypropdef
/* var mlazypropdef: MAttributeDef */;
3416 static val
* varonce309
;
3417 val
* var310
/* : String */;
3418 char* var311
/* : NativeString */;
3419 long var312
/* : Int */;
3420 val
* var313
/* : FlatString */;
3421 val
* var314
/* : nullable AAnnotation */;
3422 val
* var_atreadonly
/* var atreadonly: nullable AAnnotation */;
3423 val
* var315
/* : null */;
3424 short int var316
/* : Bool */;
3425 short int var317
/* : Bool */;
3426 short int var319
/* : Bool */;
3427 short int var320
/* : Bool */;
3428 short int var321
/* : Bool */;
3429 short int var323
/* : Bool */;
3430 short int var324
/* : Bool */;
3431 static val
* varonce325
;
3432 val
* var326
/* : String */;
3433 char* var327
/* : NativeString */;
3434 long var328
/* : Int */;
3435 val
* var329
/* : FlatString */;
3436 static val
* varonce330
;
3437 val
* var331
/* : String */;
3438 char* var332
/* : NativeString */;
3439 long var333
/* : Int */;
3440 val
* var334
/* : FlatString */;
3441 val
* var335
/* : String */;
3442 val
* var_writename
/* var writename: String */;
3443 static val
* varonce336
;
3444 val
* var337
/* : String */;
3445 char* var338
/* : NativeString */;
3446 long var339
/* : Int */;
3447 val
* var340
/* : FlatString */;
3448 val
* var341
/* : nullable AAnnotation */;
3449 val
* var_atwritable
/* var atwritable: nullable AAnnotation */;
3450 val
* var342
/* : null */;
3451 short int var343
/* : Bool */;
3452 short int var344
/* : Bool */;
3453 short int var346
/* : Bool */;
3454 short int var347
/* : Bool */;
3455 val
* var348
/* : ANodes[AExpr] */;
3456 val
* var350
/* : ANodes[AExpr] */;
3457 short int var351
/* : Bool */;
3458 short int var352
/* : Bool */;
3459 val
* var353
/* : String */;
3460 val
* var354
/* : nullable String */;
3461 val
* var355
/* : nullable MProperty */;
3462 short int var356
/* : Bool */;
3465 const char* var_class_name359
;
3466 val
* var_mwriteprop
/* var mwriteprop: nullable MMethod */;
3467 val
* var360
/* : null */;
3468 val
* var_nwkwredef
/* var nwkwredef: nullable Token */;
3469 val
* var361
/* : null */;
3470 short int var362
/* : Bool */;
3471 short int var363
/* : Bool */;
3472 short int var365
/* : Bool */;
3473 short int var366
/* : Bool */;
3474 val
* var367
/* : nullable TKwredef */;
3475 val
* var369
/* : nullable TKwredef */;
3476 val
* var370
/* : null */;
3477 short int var371
/* : Bool */;
3478 short int var372
/* : Bool */;
3479 short int var374
/* : Bool */;
3480 short int var376
/* : Bool */;
3481 val
* var377
/* : null */;
3482 short int var378
/* : Bool */;
3483 short int var379
/* : Bool */;
3484 short int var381
/* : Bool */;
3485 short int var382
/* : Bool */;
3486 val
* var383
/* : nullable AVisibility */;
3487 val
* var385
/* : nullable AVisibility */;
3488 val
* var386
/* : MVisibility */;
3489 val
* var_mvisibility387
/* var mvisibility: nullable Object */;
3490 val
* var388
/* : MVisibility */;
3491 val
* var389
/* : MMethod */;
3492 short int var390
/* : Bool */;
3493 short int var391
/* : Bool */;
3494 short int var392
/* : Bool */;
3495 val
* var393
/* : nullable MDeprecationInfo */;
3496 val
* var395
/* : nullable MDeprecationInfo */;
3497 val
* var397
/* : nullable Token */;
3498 val
* var398
/* : nullable TKwredef */;
3499 val
* var400
/* : nullable TKwredef */;
3500 short int var401
/* : Bool */;
3501 short int var402
/* : Bool */;
3502 short int var403
/* : Bool */;
3503 val
* var404
/* : null */;
3504 short int var405
/* : Bool */;
3505 short int var406
/* : Bool */;
3506 short int var408
/* : Bool */;
3507 short int var409
/* : Bool */;
3508 val
* var410
/* : nullable AVisibility */;
3509 val
* var412
/* : nullable AVisibility */;
3510 val
* var413
/* : Map[MProperty, APropdef] */;
3511 val
* var415
/* : Map[MProperty, APropdef] */;
3512 val
* var416
/* : MMethodDef */;
3513 val
* var417
/* : Location */;
3514 val
* var419
/* : Location */;
3515 val
* var_mwritepropdef
/* var mwritepropdef: MMethodDef */;
3516 val
* var421
/* : HashMap[MPropDef, APropdef] */;
3517 val
* var423
/* : HashMap[MPropDef, APropdef] */;
3518 val
* var424
/* : nullable MDoc */;
3519 val
* var426
/* : nullable MDoc */;
3520 var_modelbuilder
= p0
;
3523 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
3524 var2
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
3525 if (unlikely(var2
== NULL
)) {
3526 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3527 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
3536 { /* Inline parser_nodes#AAttrPropdef#n_id2 (self) on <self:AAttrPropdef> */
3537 var5
= self
->attrs
[COLOR_nit__parser_nodes__AAttrPropdef___n_id2
].val
; /* _n_id2 on <self:AAttrPropdef> */
3538 if (unlikely(var5
== NULL
)) {
3539 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id2");
3540 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1138);
3548 var6
= nit__lexer_work___Token___text(var3
);
3552 { /* Inline model#MClass#kind (var_mclass) on <var_mclass:MClass> */
3553 var10
= var_mclass
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var_mclass:MClass> */
3554 if (unlikely(var10
== NULL
)) {
3555 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3556 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
3564 var11
= nit__model___standard__Object___interface_kind(self
);
3567 { /* Inline kernel#Object#== (var8,var11) on <var8:MClassKind> */
3570 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:MClassKind> */
3571 var16
= var8
== var_other
;
3574 RET_LABEL15
:(void)0;
3579 RET_LABEL13
:(void)0;
3587 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
3588 var19
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
3589 if (unlikely(var19
== NULL
)) {
3590 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3591 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
3595 RET_LABEL18
:(void)0;
3599 { /* Inline model#MClass#kind (var17) on <var17:MClass> */
3600 var22
= var17
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var17:MClass> */
3601 if (unlikely(var22
== NULL
)) {
3602 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3603 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
3607 RET_LABEL21
:(void)0;
3611 var23
= nit__model___standard__Object___enum_kind(self
);
3614 { /* Inline kernel#Object#== (var20,var23) on <var20:MClassKind> */
3617 { /* Inline kernel#Object#is_same_instance (var20,var_other) on <var20:MClassKind> */
3618 var28
= var20
== var_other
;
3621 RET_LABEL27
:(void)0;
3626 RET_LABEL25
:(void)0;
3635 var30
= "Error: Attempt to define attribute ";
3637 var32
= standard___standard__NativeString___to_s_with_length(var30
, var31
);
3644 var35
= " in the interface ";
3646 var37
= standard___standard__NativeString___to_s_with_length(var35
, var36
);
3655 var42
= standard___standard__NativeString___to_s_with_length(var40
, var41
);
3659 var43
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3660 { /* var43 = array_instance Array[Object] */
3662 var45
= NEW_standard__NativeArray(var44
, &type_standard__NativeArray__standard__Object
);
3663 ((struct instance_standard__NativeArray
*)var45
)->values
[0] = (val
*) var29
;
3664 ((struct instance_standard__NativeArray
*)var45
)->values
[1] = (val
*) var_name
;
3665 ((struct instance_standard__NativeArray
*)var45
)->values
[2] = (val
*) var34
;
3666 ((struct instance_standard__NativeArray
*)var45
)->values
[3] = (val
*) var_mclass
;
3667 ((struct instance_standard__NativeArray
*)var45
)->values
[4] = (val
*) var39
;
3669 ((void (*)(val
* self
, val
* p0
, long p1
))(var43
->class->vft
[COLOR_standard__array__Array__with_native
]))(var43
, var45
, var44
) /* with_native on <var43:Array[Object]>*/;
3673 var46
= ((val
* (*)(val
* self
))(var43
->class->vft
[COLOR_standard__string__Object__to_s
]))(var43
) /* to_s on <var43:Array[Object]>*/;
3676 nit___nit__ModelBuilder___error(var_modelbuilder
, self
, var46
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
3680 { /* Inline model#MClass#kind (var_mclass) on <var_mclass:MClass> */
3681 var49
= var_mclass
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var_mclass:MClass> */
3682 if (unlikely(var49
== NULL
)) {
3683 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3684 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
3688 RET_LABEL48
:(void)0;
3692 var50
= nit__model___standard__Object___enum_kind(self
);
3695 { /* Inline kernel#Object#== (var47,var50) on <var47:MClassKind> */
3698 { /* Inline kernel#Object#is_same_instance (var47,var_other) on <var47:MClassKind> */
3699 var55
= var47
== var_other
;
3702 RET_LABEL54
:(void)0;
3707 RET_LABEL52
:(void)0;
3714 var58
= "Error: Attempt to define attribute ";
3716 var60
= standard___standard__NativeString___to_s_with_length(var58
, var59
);
3723 var63
= " in the enum class ";
3725 var65
= standard___standard__NativeString___to_s_with_length(var63
, var64
);
3734 var70
= standard___standard__NativeString___to_s_with_length(var68
, var69
);
3738 var71
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3739 { /* var71 = array_instance Array[Object] */
3741 var73
= NEW_standard__NativeArray(var72
, &type_standard__NativeArray__standard__Object
);
3742 ((struct instance_standard__NativeArray
*)var73
)->values
[0] = (val
*) var57
;
3743 ((struct instance_standard__NativeArray
*)var73
)->values
[1] = (val
*) var_name
;
3744 ((struct instance_standard__NativeArray
*)var73
)->values
[2] = (val
*) var62
;
3745 ((struct instance_standard__NativeArray
*)var73
)->values
[3] = (val
*) var_mclass
;
3746 ((struct instance_standard__NativeArray
*)var73
)->values
[4] = (val
*) var67
;
3748 ((void (*)(val
* self
, val
* p0
, long p1
))(var71
->class->vft
[COLOR_standard__array__Array__with_native
]))(var71
, var73
, var72
) /* with_native on <var71:Array[Object]>*/;
3752 var74
= ((val
* (*)(val
* self
))(var71
->class->vft
[COLOR_standard__string__Object__to_s
]))(var71
) /* to_s on <var71:Array[Object]>*/;
3755 nit___nit__ModelBuilder___error(var_modelbuilder
, self
, var74
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
3759 { /* Inline model#MClass#kind (var_mclass) on <var_mclass:MClass> */
3760 var77
= var_mclass
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var_mclass:MClass> */
3761 if (unlikely(var77
== NULL
)) {
3762 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3763 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
3767 RET_LABEL76
:(void)0;
3771 var78
= nit__model___standard__Object___extern_kind(self
);
3774 { /* Inline kernel#Object#== (var75,var78) on <var75:MClassKind> */
3777 { /* Inline kernel#Object#is_same_instance (var75,var_other) on <var75:MClassKind> */
3778 var83
= var75
== var_other
;
3781 RET_LABEL82
:(void)0;
3786 RET_LABEL80
:(void)0;
3793 var86
= "Error: Attempt to define attribute ";
3795 var88
= standard___standard__NativeString___to_s_with_length(var86
, var87
);
3802 var91
= " in the extern class ";
3804 var93
= standard___standard__NativeString___to_s_with_length(var91
, var92
);
3813 var98
= standard___standard__NativeString___to_s_with_length(var96
, var97
);
3817 var99
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3818 { /* var99 = array_instance Array[Object] */
3820 var101
= NEW_standard__NativeArray(var100
, &type_standard__NativeArray__standard__Object
);
3821 ((struct instance_standard__NativeArray
*)var101
)->values
[0] = (val
*) var85
;
3822 ((struct instance_standard__NativeArray
*)var101
)->values
[1] = (val
*) var_name
;
3823 ((struct instance_standard__NativeArray
*)var101
)->values
[2] = (val
*) var90
;
3824 ((struct instance_standard__NativeArray
*)var101
)->values
[3] = (val
*) var_mclass
;
3825 ((struct instance_standard__NativeArray
*)var101
)->values
[4] = (val
*) var95
;
3827 ((void (*)(val
* self
, val
* p0
, long p1
))(var99
->class->vft
[COLOR_standard__array__Array__with_native
]))(var99
, var101
, var100
) /* with_native on <var99:Array[Object]>*/;
3831 var102
= ((val
* (*)(val
* self
))(var99
->class->vft
[COLOR_standard__string__Object__to_s
]))(var99
) /* to_s on <var99:Array[Object]>*/;
3834 nit___nit__ModelBuilder___error(var_modelbuilder
, self
, var102
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
3841 { /* Inline parser_nodes#AAttrPropdef#n_id2 (self) on <self:AAttrPropdef> */
3842 var105
= self
->attrs
[COLOR_nit__parser_nodes__AAttrPropdef___n_id2
].val
; /* _n_id2 on <self:AAttrPropdef> */
3843 if (unlikely(var105
== NULL
)) {
3844 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id2");
3845 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1138);
3849 RET_LABEL104
:(void)0;
3853 var106
= NEW_nit__MAttribute(&type_nit__MAttribute
);
3855 var108
= varonce107
;
3859 var111
= standard___standard__NativeString___to_s_with_length(var109
, var110
);
3861 varonce107
= var108
;
3864 var112
= ((val
* (*)(val
* self
, val
* p0
))(var108
->class->vft
[COLOR_standard__string__String___43d
]))(var108
, var_name
) /* + on <var108:String>*/;
3867 var113
= nit__model_base___standard__Object___private_visibility(self
);
3870 ((void (*)(val
* self
, val
* p0
))(var106
->class->vft
[COLOR_nit__model__MProperty__intro_mclassdef_61d
]))(var106
, var_mclassdef
) /* intro_mclassdef= on <var106:MAttribute>*/;
3873 ((void (*)(val
* self
, val
* p0
))(var106
->class->vft
[COLOR_nit__model__MProperty__name_61d
]))(var106
, var112
) /* name= on <var106:MAttribute>*/;
3876 ((void (*)(val
* self
, val
* p0
))(var106
->class->vft
[COLOR_nit__model__MProperty__visibility_61d
]))(var106
, var113
) /* visibility= on <var106:MAttribute>*/;
3879 ((void (*)(val
* self
))(var106
->class->vft
[COLOR_standard__kernel__Object__init
]))(var106
) /* init on <var106:MAttribute>*/;
3882 var114
= NEW_nit__MAttributeDef(&type_nit__MAttributeDef
);
3884 { /* Inline parser_nodes#ANode#location (self) on <self:AAttrPropdef> */
3885 var117
= self
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <self:AAttrPropdef> */
3886 if (unlikely(var117
== NULL
)) {
3887 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
3888 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 23);
3892 RET_LABEL116
:(void)0;
3896 ((void (*)(val
* self
, val
* p0
))(var114
->class->vft
[COLOR_nit__model__MPropDef__mclassdef_61d
]))(var114
, var_mclassdef
) /* mclassdef= on <var114:MAttributeDef>*/;
3899 ((void (*)(val
* self
, val
* p0
))(var114
->class->vft
[COLOR_nit__model__MPropDef__mproperty_61d
]))(var114
, var_mprop
) /* mproperty= on <var114:MAttributeDef>*/;
3902 ((void (*)(val
* self
, val
* p0
))(var114
->class->vft
[COLOR_nit__model__MPropDef__location_61d
]))(var114
, var115
) /* location= on <var114:MAttributeDef>*/;
3905 ((void (*)(val
* self
))(var114
->class->vft
[COLOR_standard__kernel__Object__init
]))(var114
) /* init on <var114:MAttributeDef>*/;
3907 var_mpropdef
= var114
;
3908 /* <var_mpropdef:MAttributeDef> isa nullable MPROPDEF */
3909 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable__nit__modelize_property__APropdef__MPROPDEF
];
3910 cltype
= type_struct
->color
;
3911 idtype
= type_struct
->id
;
3912 if(cltype
>= var_mpropdef
->type
->table_size
) {
3915 var118
= var_mpropdef
->type
->type_table
[cltype
] == idtype
;
3917 if (unlikely(!var118
)) {
3918 var_class_name
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
3919 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name
);
3920 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 903);
3924 { /* Inline modelize_property#APropdef#mpropdef= (self,var_mpropdef) on <self:AAttrPropdef> */
3925 /* Covariant cast for argument 0 (mpropdef) <var_mpropdef:MAttributeDef> isa nullable MPROPDEF */
3926 /* <var_mpropdef:MAttributeDef> isa nullable MPROPDEF */
3927 type_struct123
= self
->type
->resolution_table
->types
[COLOR_nullable__nit__modelize_property__APropdef__MPROPDEF
];
3928 cltype121
= type_struct123
->color
;
3929 idtype122
= type_struct123
->id
;
3930 if(cltype121
>= var_mpropdef
->type
->table_size
) {
3933 var120
= var_mpropdef
->type
->type_table
[cltype121
] == idtype122
;
3935 if (unlikely(!var120
)) {
3936 var_class_name124
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
3937 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name124
);
3938 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 405);
3941 self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
= var_mpropdef
; /* _mpropdef on <self:AAttrPropdef> */
3942 RET_LABEL119
:(void)0;
3946 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
3947 var127
= var_modelbuilder
->attrs
[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
3948 if (unlikely(var127
== NULL
)) {
3949 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
3950 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 40);
3954 RET_LABEL126
:(void)0;
3958 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var125
, var_mpropdef
, self
); /* Direct call hash_collection#HashMap#[]= on <var125:HashMap[MPropDef, APropdef]>*/
3960 var_readname
= var_name
;
3962 var128
= nit___nit__ModelBuilder___try_get_mproperty_by_name(var_modelbuilder
, var_nid2
, var_mclassdef
, var_readname
);
3964 /* <var128:nullable MProperty> isa nullable MMethod */
3965 cltype130
= type_nullable__nit__MMethod
.color
;
3966 idtype131
= type_nullable__nit__MMethod
.id
;
3967 if(var128
== NULL
) {
3970 if(cltype130
>= var128
->type
->table_size
) {
3973 var129
= var128
->type
->type_table
[cltype130
] == idtype131
;
3976 if (unlikely(!var129
)) {
3977 var_class_name132
= var128
== NULL ?
"null" : var128
->type
->name
;
3978 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name132
);
3979 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 907);
3982 var_mreadprop
= var128
;
3984 if (var_mreadprop
== NULL
) {
3985 var134
= 1; /* is null */
3987 var134
= 0; /* arg is null but recv is not */
3990 { /* Inline kernel#Object#== (var_mreadprop,var133) on <var_mreadprop:nullable MMethod> */
3993 { /* Inline kernel#Object#is_same_instance (var_mreadprop,var_other) on <var_mreadprop:nullable MMethod(MMethod)> */
3994 var139
= var_mreadprop
== var_other
;
3997 RET_LABEL138
:(void)0;
4002 RET_LABEL136
:(void)0;
4008 { /* Inline parser_nodes#ADefinition#n_visibility (self) on <self:AAttrPropdef> */
4009 var142
= self
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_visibility
].val
; /* _n_visibility on <self:AAttrPropdef> */
4011 RET_LABEL141
:(void)0;
4015 var143
= nit__modelize_property___APropdef___new_property_visibility(self
, var_modelbuilder
, var_mclassdef
, var140
);
4017 var_mvisibility
= var143
;
4018 var144
= NEW_nit__MMethod(&type_nit__MMethod
);
4020 ((void (*)(val
* self
, val
* p0
))(var144
->class->vft
[COLOR_nit__model__MProperty__intro_mclassdef_61d
]))(var144
, var_mclassdef
) /* intro_mclassdef= on <var144:MMethod>*/;
4023 ((void (*)(val
* self
, val
* p0
))(var144
->class->vft
[COLOR_nit__model__MProperty__name_61d
]))(var144
, var_readname
) /* name= on <var144:MMethod>*/;
4026 ((void (*)(val
* self
, val
* p0
))(var144
->class->vft
[COLOR_nit__model__MProperty__visibility_61d
]))(var144
, var_mvisibility
) /* visibility= on <var144:MMethod>*/;
4029 ((void (*)(val
* self
))(var144
->class->vft
[COLOR_standard__kernel__Object__init
]))(var144
) /* init on <var144:MMethod>*/;
4031 var_mreadprop
= var144
;
4033 { /* Inline parser_nodes#ADefinition#n_kwredef (self) on <self:AAttrPropdef> */
4034 var147
= self
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_kwredef
].val
; /* _n_kwredef on <self:AAttrPropdef> */
4036 RET_LABEL146
:(void)0;
4041 var149
= nit__modelize_property___APropdef___check_redef_keyword(self
, var_modelbuilder
, var_mclassdef
, var145
, var148
, var_mreadprop
);
4049 { /* Inline mdoc#MEntity#deprecation (var_mprop) on <var_mprop:MAttribute> */
4050 var153
= var_mprop
->attrs
[COLOR_nit__mdoc__MEntity___deprecation
].val
; /* _deprecation on <var_mprop:MAttribute> */
4052 RET_LABEL152
:(void)0;
4056 { /* Inline mdoc#MEntity#deprecation= (var_mreadprop,var151) on <var_mreadprop:nullable MMethod(MMethod)> */
4057 var_mreadprop
->attrs
[COLOR_nit__mdoc__MEntity___deprecation
].val
= var151
; /* _deprecation on <var_mreadprop:nullable MMethod(MMethod)> */
4058 RET_LABEL154
:(void)0;
4063 { /* Inline parser_nodes#ADefinition#n_kwredef (self) on <self:AAttrPropdef> */
4064 var157
= self
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_kwredef
].val
; /* _n_kwredef on <self:AAttrPropdef> */
4066 RET_LABEL156
:(void)0;
4071 var159
= nit__modelize_property___APropdef___check_redef_keyword(self
, var_modelbuilder
, var_mclassdef
, var155
, var158
, var_mreadprop
);
4079 { /* Inline parser_nodes#ADefinition#n_visibility (self) on <self:AAttrPropdef> */
4080 var163
= self
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_visibility
].val
; /* _n_visibility on <self:AAttrPropdef> */
4082 RET_LABEL162
:(void)0;
4086 nit__modelize_property___APropdef___check_redef_property_visibility(self
, var_modelbuilder
, var161
, var_mreadprop
); /* Direct call modelize_property#APropdef#check_redef_property_visibility on <self:AAttrPropdef>*/
4090 { /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on <var_mclassdef:MClassDef> */
4091 var166
= var_mclassdef
->attrs
[COLOR_nit__modelize_property__MClassDef___mprop2npropdef
].val
; /* _mprop2npropdef on <var_mclassdef:MClassDef> */
4092 if (unlikely(var166
== NULL
)) {
4093 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
4094 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 352);
4098 RET_LABEL165
:(void)0;
4102 ((void (*)(val
* self
, val
* p0
, val
* p1
))(var164
->class->vft
[COLOR_standard__abstract_collection__Map___91d_93d_61d
]))(var164
, var_mreadprop
, self
) /* []= on <var164:Map[MProperty, APropdef]>*/;
4104 var167
= NEW_nit__MMethodDef(&type_nit__MMethodDef
);
4106 { /* Inline parser_nodes#ANode#location (self) on <self:AAttrPropdef> */
4107 var170
= self
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <self:AAttrPropdef> */
4108 if (unlikely(var170
== NULL
)) {
4109 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
4110 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 23);
4114 RET_LABEL169
:(void)0;
4118 ((void (*)(val
* self
, val
* p0
))(var167
->class->vft
[COLOR_nit__model__MPropDef__mclassdef_61d
]))(var167
, var_mclassdef
) /* mclassdef= on <var167:MMethodDef>*/;
4121 ((void (*)(val
* self
, val
* p0
))(var167
->class->vft
[COLOR_nit__model__MPropDef__mproperty_61d
]))(var167
, var_mreadprop
) /* mproperty= on <var167:MMethodDef>*/;
4124 ((void (*)(val
* self
, val
* p0
))(var167
->class->vft
[COLOR_nit__model__MPropDef__location_61d
]))(var167
, var168
) /* location= on <var167:MMethodDef>*/;
4127 ((void (*)(val
* self
))(var167
->class->vft
[COLOR_standard__kernel__Object__init
]))(var167
) /* init on <var167:MMethodDef>*/;
4129 var_mreadpropdef
= var167
;
4131 { /* Inline modelize_property#AAttrPropdef#mreadpropdef= (self,var_mreadpropdef) on <self:AAttrPropdef> */
4132 self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___mreadpropdef
].val
= var_mreadpropdef
; /* _mreadpropdef on <self:AAttrPropdef> */
4133 RET_LABEL171
:(void)0;
4137 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
4138 var174
= var_modelbuilder
->attrs
[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
4139 if (unlikely(var174
== NULL
)) {
4140 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
4141 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 40);
4145 RET_LABEL173
:(void)0;
4149 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var172
, var_mreadpropdef
, self
); /* Direct call hash_collection#HashMap#[]= on <var172:HashMap[MPropDef, APropdef]>*/
4152 nit__modelize_property___APropdef___set_doc(self
, var_mreadpropdef
, var_modelbuilder
); /* Direct call modelize_property#APropdef#set_doc on <self:AAttrPropdef>*/
4155 { /* Inline mdoc#MEntity#mdoc (var_mreadpropdef) on <var_mreadpropdef:MMethodDef> */
4156 var177
= var_mreadpropdef
->attrs
[COLOR_nit__mdoc__MEntity___mdoc
].val
; /* _mdoc on <var_mreadpropdef:MMethodDef> */
4158 RET_LABEL176
:(void)0;
4162 { /* Inline mdoc#MEntity#mdoc= (var_mpropdef,var175) on <var_mpropdef:MAttributeDef> */
4163 var_mpropdef
->attrs
[COLOR_nit__mdoc__MEntity___mdoc
].val
= var175
; /* _mdoc on <var_mpropdef:MAttributeDef> */
4164 RET_LABEL178
:(void)0;
4168 { /* Inline parser_nodes#AAttrPropdef#n_expr (self) on <self:AAttrPropdef> */
4169 var182
= self
->attrs
[COLOR_nit__parser_nodes__AAttrPropdef___n_expr
].val
; /* _n_expr on <self:AAttrPropdef> */
4171 RET_LABEL181
:(void)0;
4175 if (var180
== NULL
) {
4176 var184
= 0; /* is null */
4178 var184
= 1; /* arg is null and recv is not */
4181 { /* Inline kernel#Object#!= (var180,var183) on <var180:nullable AExpr> */
4182 var_other187
= var183
;
4184 var188
= ((short int (*)(val
* self
, val
* p0
))(var180
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var180
, var_other187
) /* == on <var180:nullable AExpr(AExpr)>*/;
4189 RET_LABEL186
:(void)0;
4198 { /* Inline parser_nodes#AAttrPropdef#n_block (self) on <self:AAttrPropdef> */
4199 var193
= self
->attrs
[COLOR_nit__parser_nodes__AAttrPropdef___n_block
].val
; /* _n_block on <self:AAttrPropdef> */
4201 RET_LABEL192
:(void)0;
4205 if (var191
== NULL
) {
4206 var195
= 0; /* is null */
4208 var195
= 1; /* arg is null and recv is not */
4211 { /* Inline kernel#Object#!= (var191,var194) on <var191:nullable AExpr> */
4212 var_other187
= var194
;
4214 var198
= ((short int (*)(val
* self
, val
* p0
))(var191
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var191
, var_other187
) /* == on <var191:nullable AExpr(AExpr)>*/;
4219 RET_LABEL197
:(void)0;
4226 { /* Inline modelize_property#AAttrPropdef#has_value= (self,var179) on <self:AAttrPropdef> */
4227 self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___has_value
].s
= var179
; /* _has_value on <self:AAttrPropdef> */
4228 RET_LABEL200
:(void)0;
4232 var202
= varonce201
;
4236 var205
= standard___standard__NativeString___to_s_with_length(var203
, var204
);
4238 varonce201
= var202
;
4241 var206
= nit__annotation___Prod___get_single_annotation(self
, var202
, var_modelbuilder
);
4243 var_atnoinit
= var206
;
4245 if (var_atnoinit
== NULL
) {
4246 var208
= 0; /* is null */
4248 var208
= 1; /* arg is null and recv is not */
4251 { /* Inline kernel#Object#!= (var_atnoinit,var207) on <var_atnoinit:nullable AAnnotation> */
4252 var_other187
= var207
;
4254 var211
= ((short int (*)(val
* self
, val
* p0
))(var_atnoinit
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_atnoinit
, var_other187
) /* == on <var_atnoinit:nullable AAnnotation(AAnnotation)>*/;
4259 RET_LABEL210
:(void)0;
4266 { /* Inline modelize_property#AAttrPropdef#noinit= (self,var213) on <self:AAttrPropdef> */
4267 self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___noinit
].s
= var213
; /* _noinit on <self:AAttrPropdef> */
4268 RET_LABEL214
:(void)0;
4272 { /* Inline modelize_property#AAttrPropdef#has_value (self) on <self:AAttrPropdef> */
4273 var217
= self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___has_value
].s
; /* _has_value on <self:AAttrPropdef> */
4275 RET_LABEL216
:(void)0;
4280 var219
= varonce218
;
4282 var220
= "Error: `noinit` attributes cannot have an initial value";
4284 var222
= standard___standard__NativeString___to_s_with_length(var220
, var221
);
4286 varonce218
= var219
;
4289 nit___nit__ModelBuilder___error(var_modelbuilder
, var_atnoinit
, var219
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
4297 var224
= varonce223
;
4301 var227
= standard___standard__NativeString___to_s_with_length(var225
, var226
);
4303 varonce223
= var224
;
4306 var228
= nit__annotation___Prod___get_single_annotation(self
, var224
, var_modelbuilder
);
4308 var_atlazy
= var228
;
4310 var230
= varonce229
;
4312 var231
= "autoinit";
4314 var233
= standard___standard__NativeString___to_s_with_length(var231
, var232
);
4316 varonce229
= var230
;
4319 var234
= nit__annotation___Prod___get_single_annotation(self
, var230
, var_modelbuilder
);
4321 var_atautoinit
= var234
;
4323 if (var_atlazy
== NULL
) {
4324 var237
= 0; /* is null */
4326 var237
= 1; /* arg is null and recv is not */
4329 { /* Inline kernel#Object#!= (var_atlazy,var236) on <var_atlazy:nullable AAnnotation> */
4330 var_other187
= var236
;
4332 var240
= ((short int (*)(val
* self
, val
* p0
))(var_atlazy
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_atlazy
, var_other187
) /* == on <var_atlazy:nullable AAnnotation(AAnnotation)>*/;
4337 RET_LABEL239
:(void)0;
4346 if (var_atautoinit
== NULL
) {
4347 var244
= 0; /* is null */
4349 var244
= 1; /* arg is null and recv is not */
4352 { /* Inline kernel#Object#!= (var_atautoinit,var243) on <var_atautoinit:nullable AAnnotation> */
4353 var_other187
= var243
;
4355 var247
= ((short int (*)(val
* self
, val
* p0
))(var_atautoinit
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_atautoinit
, var_other187
) /* == on <var_atautoinit:nullable AAnnotation(AAnnotation)>*/;
4360 RET_LABEL246
:(void)0;
4368 if (var_atlazy
== NULL
) {
4369 var251
= 0; /* is null */
4371 var251
= 1; /* arg is null and recv is not */
4374 { /* Inline kernel#Object#!= (var_atlazy,var250) on <var_atlazy:nullable AAnnotation> */
4375 var_other187
= var250
;
4377 var254
= ((short int (*)(val
* self
, val
* p0
))(var_atlazy
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_atlazy
, var_other187
) /* == on <var_atlazy:nullable AAnnotation(AAnnotation)>*/;
4382 RET_LABEL253
:(void)0;
4389 if (var_atautoinit
== NULL
) {
4390 var258
= 0; /* is null */
4392 var258
= 1; /* arg is null and recv is not */
4395 { /* Inline kernel#Object#!= (var_atautoinit,var257) on <var_atautoinit:nullable AAnnotation> */
4396 var_other187
= var257
;
4398 var261
= ((short int (*)(val
* self
, val
* p0
))(var_atautoinit
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_atautoinit
, var_other187
) /* == on <var_atautoinit:nullable AAnnotation(AAnnotation)>*/;
4403 RET_LABEL260
:(void)0;
4413 var264
= varonce263
;
4415 var265
= "Error: lazy incompatible with autoinit";
4417 var267
= standard___standard__NativeString___to_s_with_length(var265
, var266
);
4419 varonce263
= var264
;
4422 nit___nit__ModelBuilder___error(var_modelbuilder
, var_atlazy
, var264
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
4428 { /* Inline modelize_property#AAttrPropdef#has_value (self) on <self:AAttrPropdef> */
4429 var270
= self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___has_value
].s
; /* _has_value on <self:AAttrPropdef> */
4431 RET_LABEL269
:(void)0;
4437 if (var_atlazy
== NULL
) {
4438 var273
= 0; /* is null */
4440 var273
= 1; /* arg is null and recv is not */
4443 { /* Inline kernel#Object#!= (var_atlazy,var272) on <var_atlazy:nullable AAnnotation> */
4444 var_other187
= var272
;
4446 var276
= ((short int (*)(val
* self
, val
* p0
))(var_atlazy
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_atlazy
, var_other187
) /* == on <var_atlazy:nullable AAnnotation(AAnnotation)>*/;
4451 RET_LABEL275
:(void)0;
4457 var279
= varonce278
;
4459 var280
= "Error: a lazy attribute needs a value";
4461 var282
= standard___standard__NativeString___to_s_with_length(var280
, var281
);
4463 varonce278
= var279
;
4466 nit___nit__ModelBuilder___error(var_modelbuilder
, var_atlazy
, var279
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
4470 if (var_atautoinit
== NULL
) {
4471 var284
= 0; /* is null */
4473 var284
= 1; /* arg is null and recv is not */
4476 { /* Inline kernel#Object#!= (var_atautoinit,var283) on <var_atautoinit:nullable AAnnotation> */
4477 var_other187
= var283
;
4479 var287
= ((short int (*)(val
* self
, val
* p0
))(var_atautoinit
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_atautoinit
, var_other187
) /* == on <var_atautoinit:nullable AAnnotation(AAnnotation)>*/;
4484 RET_LABEL286
:(void)0;
4490 var290
= varonce289
;
4492 var291
= "Error: a autoinit attribute needs a value";
4494 var293
= standard___standard__NativeString___to_s_with_length(var291
, var292
);
4496 varonce289
= var290
;
4499 nit___nit__ModelBuilder___error(var_modelbuilder
, var_atautoinit
, var290
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
4509 { /* Inline modelize_property#AAttrPropdef#is_lazy= (self,var294) on <self:AAttrPropdef> */
4510 self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___is_lazy
].s
= var294
; /* _is_lazy on <self:AAttrPropdef> */
4511 RET_LABEL295
:(void)0;
4514 var296
= NEW_nit__MAttribute(&type_nit__MAttribute
);
4516 var298
= varonce297
;
4520 var301
= standard___standard__NativeString___to_s_with_length(var299
, var300
);
4522 varonce297
= var298
;
4525 var302
= ((val
* (*)(val
* self
, val
* p0
))(var298
->class->vft
[COLOR_standard__string__String___43d
]))(var298
, var_name
) /* + on <var298:String>*/;
4528 var303
= nit__model_base___standard__Object___none_visibility(self
);
4531 ((void (*)(val
* self
, val
* p0
))(var296
->class->vft
[COLOR_nit__model__MProperty__intro_mclassdef_61d
]))(var296
, var_mclassdef
) /* intro_mclassdef= on <var296:MAttribute>*/;
4534 ((void (*)(val
* self
, val
* p0
))(var296
->class->vft
[COLOR_nit__model__MProperty__name_61d
]))(var296
, var302
) /* name= on <var296:MAttribute>*/;
4537 ((void (*)(val
* self
, val
* p0
))(var296
->class->vft
[COLOR_nit__model__MProperty__visibility_61d
]))(var296
, var303
) /* visibility= on <var296:MAttribute>*/;
4540 ((void (*)(val
* self
))(var296
->class->vft
[COLOR_standard__kernel__Object__init
]))(var296
) /* init on <var296:MAttribute>*/;
4542 var_mlazyprop
= var296
;
4543 var304
= NEW_nit__MAttributeDef(&type_nit__MAttributeDef
);
4545 { /* Inline parser_nodes#ANode#location (self) on <self:AAttrPropdef> */
4546 var307
= self
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <self:AAttrPropdef> */
4547 if (unlikely(var307
== NULL
)) {
4548 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
4549 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 23);
4553 RET_LABEL306
:(void)0;
4557 ((void (*)(val
* self
, val
* p0
))(var304
->class->vft
[COLOR_nit__model__MPropDef__mclassdef_61d
]))(var304
, var_mclassdef
) /* mclassdef= on <var304:MAttributeDef>*/;
4560 ((void (*)(val
* self
, val
* p0
))(var304
->class->vft
[COLOR_nit__model__MPropDef__mproperty_61d
]))(var304
, var_mlazyprop
) /* mproperty= on <var304:MAttributeDef>*/;
4563 ((void (*)(val
* self
, val
* p0
))(var304
->class->vft
[COLOR_nit__model__MPropDef__location_61d
]))(var304
, var305
) /* location= on <var304:MAttributeDef>*/;
4566 ((void (*)(val
* self
))(var304
->class->vft
[COLOR_standard__kernel__Object__init
]))(var304
) /* init on <var304:MAttributeDef>*/;
4568 var_mlazypropdef
= var304
;
4570 { /* Inline modelize_property#AAttrPropdef#mlazypropdef= (self,var_mlazypropdef) on <self:AAttrPropdef> */
4571 self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___mlazypropdef
].val
= var_mlazypropdef
; /* _mlazypropdef on <self:AAttrPropdef> */
4572 RET_LABEL308
:(void)0;
4578 var310
= varonce309
;
4580 var311
= "readonly";
4582 var313
= standard___standard__NativeString___to_s_with_length(var311
, var312
);
4584 varonce309
= var310
;
4587 var314
= nit__annotation___Prod___get_single_annotation(self
, var310
, var_modelbuilder
);
4589 var_atreadonly
= var314
;
4591 if (var_atreadonly
== NULL
) {
4592 var316
= 0; /* is null */
4594 var316
= 1; /* arg is null and recv is not */
4597 { /* Inline kernel#Object#!= (var_atreadonly,var315) on <var_atreadonly:nullable AAnnotation> */
4598 var_other187
= var315
;
4600 var319
= ((short int (*)(val
* self
, val
* p0
))(var_atreadonly
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_atreadonly
, var_other187
) /* == on <var_atreadonly:nullable AAnnotation(AAnnotation)>*/;
4605 RET_LABEL318
:(void)0;
4611 { /* Inline modelize_property#AAttrPropdef#has_value (self) on <self:AAttrPropdef> */
4612 var323
= self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___has_value
].s
; /* _has_value on <self:AAttrPropdef> */
4614 RET_LABEL322
:(void)0;
4620 var326
= varonce325
;
4622 var327
= "Error: a readonly attribute needs a value";
4624 var329
= standard___standard__NativeString___to_s_with_length(var327
, var328
);
4626 varonce325
= var326
;
4629 nit___nit__ModelBuilder___error(var_modelbuilder
, var_atreadonly
, var326
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
4637 var331
= varonce330
;
4641 var334
= standard___standard__NativeString___to_s_with_length(var332
, var333
);
4643 varonce330
= var331
;
4646 var335
= ((val
* (*)(val
* self
, val
* p0
))(var_name
->class->vft
[COLOR_standard__string__String___43d
]))(var_name
, var331
) /* + on <var_name:String>*/;
4648 var_writename
= var335
;
4650 var337
= varonce336
;
4652 var338
= "writable";
4654 var340
= standard___standard__NativeString___to_s_with_length(var338
, var339
);
4656 varonce336
= var337
;
4659 var341
= nit__annotation___Prod___get_single_annotation(self
, var337
, var_modelbuilder
);
4661 var_atwritable
= var341
;
4663 if (var_atwritable
== NULL
) {
4664 var343
= 0; /* is null */
4666 var343
= 1; /* arg is null and recv is not */
4669 { /* Inline kernel#Object#!= (var_atwritable,var342) on <var_atwritable:nullable AAnnotation> */
4670 var_other187
= var342
;
4672 var346
= ((short int (*)(val
* self
, val
* p0
))(var_atwritable
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_atwritable
, var_other187
) /* == on <var_atwritable:nullable AAnnotation(AAnnotation)>*/;
4677 RET_LABEL345
:(void)0;
4683 { /* Inline parser_nodes#AAnnotation#n_args (var_atwritable) on <var_atwritable:nullable AAnnotation(AAnnotation)> */
4684 var350
= var_atwritable
->attrs
[COLOR_nit__parser_nodes__AAnnotation___n_args
].val
; /* _n_args on <var_atwritable:nullable AAnnotation(AAnnotation)> */
4685 if (unlikely(var350
== NULL
)) {
4686 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
4687 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2552);
4691 RET_LABEL349
:(void)0;
4695 var351
= nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var348
);
4700 var354
= nit__annotation___AAnnotation___arg_as_id(var_atwritable
, var_modelbuilder
);
4705 var353
= var_writename
;
4707 var_writename
= var353
;
4713 var355
= nit___nit__ModelBuilder___try_get_mproperty_by_name(var_modelbuilder
, var_nid2
, var_mclassdef
, var_writename
);
4715 /* <var355:nullable MProperty> isa nullable MMethod */
4716 cltype357
= type_nullable__nit__MMethod
.color
;
4717 idtype358
= type_nullable__nit__MMethod
.id
;
4718 if(var355
== NULL
) {
4721 if(cltype357
>= var355
->type
->table_size
) {
4724 var356
= var355
->type
->type_table
[cltype357
] == idtype358
;
4727 if (unlikely(!var356
)) {
4728 var_class_name359
= var355
== NULL ?
"null" : var355
->type
->name
;
4729 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name359
);
4730 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 973);
4733 var_mwriteprop
= var355
;
4735 var_nwkwredef
= var360
;
4737 if (var_atwritable
== NULL
) {
4738 var362
= 0; /* is null */
4740 var362
= 1; /* arg is null and recv is not */
4743 { /* Inline kernel#Object#!= (var_atwritable,var361) on <var_atwritable:nullable AAnnotation> */
4744 var_other187
= var361
;
4746 var365
= ((short int (*)(val
* self
, val
* p0
))(var_atwritable
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_atwritable
, var_other187
) /* == on <var_atwritable:nullable AAnnotation(AAnnotation)>*/;
4751 RET_LABEL364
:(void)0;
4757 { /* Inline parser_nodes#ADefinition#n_kwredef (var_atwritable) on <var_atwritable:nullable AAnnotation(AAnnotation)> */
4758 var369
= var_atwritable
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_kwredef
].val
; /* _n_kwredef on <var_atwritable:nullable AAnnotation(AAnnotation)> */
4760 RET_LABEL368
:(void)0;
4763 var_nwkwredef
= var367
;
4767 if (var_mwriteprop
== NULL
) {
4768 var371
= 1; /* is null */
4770 var371
= 0; /* arg is null but recv is not */
4773 { /* Inline kernel#Object#== (var_mwriteprop,var370) on <var_mwriteprop:nullable MMethod> */
4776 { /* Inline kernel#Object#is_same_instance (var_mwriteprop,var_other) on <var_mwriteprop:nullable MMethod(MMethod)> */
4777 var376
= var_mwriteprop
== var_other
;
4780 RET_LABEL375
:(void)0;
4785 RET_LABEL373
:(void)0;
4791 if (var_atwritable
== NULL
) {
4792 var378
= 0; /* is null */
4794 var378
= 1; /* arg is null and recv is not */
4797 { /* Inline kernel#Object#!= (var_atwritable,var377) on <var_atwritable:nullable AAnnotation> */
4798 var_other187
= var377
;
4800 var381
= ((short int (*)(val
* self
, val
* p0
))(var_atwritable
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_atwritable
, var_other187
) /* == on <var_atwritable:nullable AAnnotation(AAnnotation)>*/;
4805 RET_LABEL380
:(void)0;
4811 { /* Inline parser_nodes#ADefinition#n_visibility (var_atwritable) on <var_atwritable:nullable AAnnotation(AAnnotation)> */
4812 var385
= var_atwritable
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_visibility
].val
; /* _n_visibility on <var_atwritable:nullable AAnnotation(AAnnotation)> */
4814 RET_LABEL384
:(void)0;
4818 var386
= nit__modelize_property___APropdef___new_property_visibility(self
, var_modelbuilder
, var_mclassdef
, var383
);
4820 var_mvisibility387
= var386
;
4823 var388
= nit__model_base___standard__Object___private_visibility(self
);
4825 var_mvisibility387
= var388
;
4827 var389
= NEW_nit__MMethod(&type_nit__MMethod
);
4829 ((void (*)(val
* self
, val
* p0
))(var389
->class->vft
[COLOR_nit__model__MProperty__intro_mclassdef_61d
]))(var389
, var_mclassdef
) /* intro_mclassdef= on <var389:MMethod>*/;
4832 ((void (*)(val
* self
, val
* p0
))(var389
->class->vft
[COLOR_nit__model__MProperty__name_61d
]))(var389
, var_writename
) /* name= on <var389:MMethod>*/;
4835 ((void (*)(val
* self
, val
* p0
))(var389
->class->vft
[COLOR_nit__model__MProperty__visibility_61d
]))(var389
, var_mvisibility387
) /* visibility= on <var389:MMethod>*/;
4838 ((void (*)(val
* self
))(var389
->class->vft
[COLOR_standard__kernel__Object__init
]))(var389
) /* init on <var389:MMethod>*/;
4840 var_mwriteprop
= var389
;
4843 var391
= nit__modelize_property___APropdef___check_redef_keyword(self
, var_modelbuilder
, var_mclassdef
, var_nwkwredef
, var390
, var_mwriteprop
);
4851 { /* Inline mdoc#MEntity#deprecation (var_mprop) on <var_mprop:MAttribute> */
4852 var395
= var_mprop
->attrs
[COLOR_nit__mdoc__MEntity___deprecation
].val
; /* _deprecation on <var_mprop:MAttribute> */
4854 RET_LABEL394
:(void)0;
4858 { /* Inline mdoc#MEntity#deprecation= (var_mwriteprop,var393) on <var_mwriteprop:nullable MMethod(MMethod)> */
4859 var_mwriteprop
->attrs
[COLOR_nit__mdoc__MEntity___deprecation
].val
= var393
; /* _deprecation on <var_mwriteprop:nullable MMethod(MMethod)> */
4860 RET_LABEL396
:(void)0;
4864 if (var_nwkwredef
!=NULL
) {
4865 var397
= var_nwkwredef
;
4868 { /* Inline parser_nodes#ADefinition#n_kwredef (self) on <self:AAttrPropdef> */
4869 var400
= self
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_kwredef
].val
; /* _n_kwredef on <self:AAttrPropdef> */
4871 RET_LABEL399
:(void)0;
4878 var402
= nit__modelize_property___APropdef___check_redef_keyword(self
, var_modelbuilder
, var_mclassdef
, var397
, var401
, var_mwriteprop
);
4886 if (var_atwritable
== NULL
) {
4887 var405
= 0; /* is null */
4889 var405
= 1; /* arg is null and recv is not */
4892 { /* Inline kernel#Object#!= (var_atwritable,var404) on <var_atwritable:nullable AAnnotation> */
4893 var_other187
= var404
;
4895 var408
= ((short int (*)(val
* self
, val
* p0
))(var_atwritable
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_atwritable
, var_other187
) /* == on <var_atwritable:nullable AAnnotation(AAnnotation)>*/;
4900 RET_LABEL407
:(void)0;
4906 { /* Inline parser_nodes#ADefinition#n_visibility (var_atwritable) on <var_atwritable:nullable AAnnotation(AAnnotation)> */
4907 var412
= var_atwritable
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_visibility
].val
; /* _n_visibility on <var_atwritable:nullable AAnnotation(AAnnotation)> */
4909 RET_LABEL411
:(void)0;
4913 nit__modelize_property___APropdef___check_redef_property_visibility(self
, var_modelbuilder
, var410
, var_mwriteprop
); /* Direct call modelize_property#APropdef#check_redef_property_visibility on <self:AAttrPropdef>*/
4919 { /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on <var_mclassdef:MClassDef> */
4920 var415
= var_mclassdef
->attrs
[COLOR_nit__modelize_property__MClassDef___mprop2npropdef
].val
; /* _mprop2npropdef on <var_mclassdef:MClassDef> */
4921 if (unlikely(var415
== NULL
)) {
4922 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
4923 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 352);
4927 RET_LABEL414
:(void)0;
4931 ((void (*)(val
* self
, val
* p0
, val
* p1
))(var413
->class->vft
[COLOR_standard__abstract_collection__Map___91d_93d_61d
]))(var413
, var_mwriteprop
, self
) /* []= on <var413:Map[MProperty, APropdef]>*/;
4933 var416
= NEW_nit__MMethodDef(&type_nit__MMethodDef
);
4935 { /* Inline parser_nodes#ANode#location (self) on <self:AAttrPropdef> */
4936 var419
= self
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <self:AAttrPropdef> */
4937 if (unlikely(var419
== NULL
)) {
4938 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
4939 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 23);
4943 RET_LABEL418
:(void)0;
4947 ((void (*)(val
* self
, val
* p0
))(var416
->class->vft
[COLOR_nit__model__MPropDef__mclassdef_61d
]))(var416
, var_mclassdef
) /* mclassdef= on <var416:MMethodDef>*/;
4950 ((void (*)(val
* self
, val
* p0
))(var416
->class->vft
[COLOR_nit__model__MPropDef__mproperty_61d
]))(var416
, var_mwriteprop
) /* mproperty= on <var416:MMethodDef>*/;
4953 ((void (*)(val
* self
, val
* p0
))(var416
->class->vft
[COLOR_nit__model__MPropDef__location_61d
]))(var416
, var417
) /* location= on <var416:MMethodDef>*/;
4956 ((void (*)(val
* self
))(var416
->class->vft
[COLOR_standard__kernel__Object__init
]))(var416
) /* init on <var416:MMethodDef>*/;
4958 var_mwritepropdef
= var416
;
4960 { /* Inline modelize_property#AAttrPropdef#mwritepropdef= (self,var_mwritepropdef) on <self:AAttrPropdef> */
4961 self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___mwritepropdef
].val
= var_mwritepropdef
; /* _mwritepropdef on <self:AAttrPropdef> */
4962 RET_LABEL420
:(void)0;
4966 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
4967 var423
= var_modelbuilder
->attrs
[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
4968 if (unlikely(var423
== NULL
)) {
4969 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
4970 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 40);
4974 RET_LABEL422
:(void)0;
4978 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var421
, var_mwritepropdef
, self
); /* Direct call hash_collection#HashMap#[]= on <var421:HashMap[MPropDef, APropdef]>*/
4981 { /* Inline mdoc#MEntity#mdoc (var_mpropdef) on <var_mpropdef:MAttributeDef> */
4982 var426
= var_mpropdef
->attrs
[COLOR_nit__mdoc__MEntity___mdoc
].val
; /* _mdoc on <var_mpropdef:MAttributeDef> */
4984 RET_LABEL425
:(void)0;
4988 { /* Inline mdoc#MEntity#mdoc= (var_mwritepropdef,var424) on <var_mwritepropdef:MMethodDef> */
4989 var_mwritepropdef
->attrs
[COLOR_nit__mdoc__MEntity___mdoc
].val
= var424
; /* _mdoc on <var_mwritepropdef:MMethodDef> */
4990 RET_LABEL427
:(void)0;
4995 /* method modelize_property#AAttrPropdef#build_signature for (self: AAttrPropdef, ModelBuilder) */
4996 void nit__modelize_property___AAttrPropdef___APropdef__build_signature(val
* self
, val
* p0
) {
4997 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
4998 val
* var
/* : nullable MPropDef */;
4999 val
* var2
/* : nullable MPropDef */;
5000 val
* var_mpropdef
/* var mpropdef: nullable MAttributeDef */;
5001 val
* var3
/* : null */;
5002 short int var4
/* : Bool */;
5003 short int var5
/* : Bool */;
5004 val
* var_other
/* var other: nullable Object */;
5005 short int var7
/* : Bool */;
5006 short int var9
/* : Bool */;
5007 val
* var10
/* : MClassDef */;
5008 val
* var12
/* : MClassDef */;
5009 val
* var_mclassdef
/* var mclassdef: MClassDef */;
5010 val
* var13
/* : MModule */;
5011 val
* var15
/* : MModule */;
5012 val
* var_mmodule
/* var mmodule: MModule */;
5013 val
* var16
/* : null */;
5014 val
* var_mtype
/* var mtype: nullable MType */;
5015 val
* var17
/* : nullable MMethodDef */;
5016 val
* var19
/* : nullable MMethodDef */;
5017 val
* var_mreadpropdef
/* var mreadpropdef: nullable MMethodDef */;
5018 val
* var20
/* : nullable AType */;
5019 val
* var22
/* : nullable AType */;
5020 val
* var_ntype
/* var ntype: nullable AType */;
5021 val
* var23
/* : null */;
5022 short int var24
/* : Bool */;
5023 short int var25
/* : Bool */;
5024 val
* var_other27
/* var other: nullable Object */;
5025 short int var28
/* : Bool */;
5026 short int var29
/* : Bool */;
5027 val
* var30
/* : nullable MType */;
5028 val
* var31
/* : null */;
5029 short int var32
/* : Bool */;
5030 short int var33
/* : Bool */;
5031 short int var35
/* : Bool */;
5032 short int var37
/* : Bool */;
5033 val
* var38
/* : null */;
5034 val
* var_inherited_type
/* var inherited_type: nullable MType */;
5035 short int var39
/* : Bool */;
5036 val
* var40
/* : null */;
5037 short int var41
/* : Bool */;
5038 short int var42
/* : Bool */;
5039 short int var44
/* : Bool */;
5040 short int var45
/* : Bool */;
5041 short int var_
/* var : Bool */;
5042 short int var46
/* : Bool */;
5043 short int var47
/* : Bool */;
5044 val
* var48
/* : MProperty */;
5045 val
* var50
/* : MProperty */;
5046 val
* var51
/* : MPropDef */;
5047 val
* var53
/* : MPropDef */;
5048 val
* var54
/* : nullable MSignature */;
5049 val
* var56
/* : nullable MSignature */;
5050 val
* var_msignature
/* var msignature: nullable MSignature */;
5051 val
* var57
/* : null */;
5052 short int var58
/* : Bool */;
5053 short int var59
/* : Bool */;
5054 short int var61
/* : Bool */;
5055 short int var63
/* : Bool */;
5056 val
* var64
/* : nullable MType */;
5057 val
* var66
/* : nullable MType */;
5058 val
* var67
/* : null */;
5059 short int var68
/* : Bool */;
5060 short int var69
/* : Bool */;
5061 short int var71
/* : Bool */;
5062 short int var72
/* : Bool */;
5063 val
* var73
/* : MClass */;
5064 val
* var75
/* : MClass */;
5065 val
* var76
/* : MClassType */;
5066 val
* var78
/* : MClassType */;
5067 val
* var79
/* : MClassType */;
5068 val
* var81
/* : MClassType */;
5069 short int var82
/* : Bool */;
5070 val
* var83
/* : MType */;
5071 val
* var84
/* : null */;
5072 short int var85
/* : Bool */;
5073 short int var86
/* : Bool */;
5074 short int var88
/* : Bool */;
5075 short int var90
/* : Bool */;
5076 val
* var91
/* : nullable AExpr */;
5077 val
* var93
/* : nullable AExpr */;
5078 val
* var_nexpr
/* var nexpr: nullable AExpr */;
5079 val
* var94
/* : null */;
5080 short int var95
/* : Bool */;
5081 short int var96
/* : Bool */;
5082 short int var98
/* : Bool */;
5083 short int var100
/* : Bool */;
5084 val
* var101
/* : null */;
5085 short int var102
/* : Bool */;
5086 short int var103
/* : Bool */;
5087 short int var105
/* : Bool */;
5088 short int var106
/* : Bool */;
5089 short int var107
/* : Bool */;
5092 val
* var108
/* : AType */;
5093 val
* var110
/* : AType */;
5094 val
* var111
/* : nullable MType */;
5095 short int var112
/* : Bool */;
5098 static val
* varonce
;
5099 val
* var115
/* : String */;
5100 char* var116
/* : NativeString */;
5101 long var117
/* : Int */;
5102 val
* var118
/* : FlatString */;
5103 val
* var119
/* : nullable MClass */;
5104 val
* var_cla
/* var cla: nullable MClass */;
5105 val
* var120
/* : null */;
5106 short int var121
/* : Bool */;
5107 short int var122
/* : Bool */;
5108 short int var124
/* : Bool */;
5109 short int var125
/* : Bool */;
5110 val
* var126
/* : MClassType */;
5111 val
* var128
/* : MClassType */;
5112 short int var129
/* : Bool */;
5115 static val
* varonce132
;
5116 val
* var133
/* : String */;
5117 char* var134
/* : NativeString */;
5118 long var135
/* : Int */;
5119 val
* var136
/* : FlatString */;
5120 val
* var137
/* : nullable MClass */;
5121 val
* var_cla138
/* var cla: nullable MClass */;
5122 val
* var139
/* : null */;
5123 short int var140
/* : Bool */;
5124 short int var141
/* : Bool */;
5125 short int var143
/* : Bool */;
5126 short int var144
/* : Bool */;
5127 val
* var145
/* : MClassType */;
5128 val
* var147
/* : MClassType */;
5129 short int var148
/* : Bool */;
5132 static val
* varonce151
;
5133 val
* var152
/* : String */;
5134 char* var153
/* : NativeString */;
5135 long var154
/* : Int */;
5136 val
* var155
/* : FlatString */;
5137 val
* var156
/* : nullable MClass */;
5138 val
* var_cla157
/* var cla: nullable MClass */;
5139 val
* var158
/* : null */;
5140 short int var159
/* : Bool */;
5141 short int var160
/* : Bool */;
5142 short int var162
/* : Bool */;
5143 short int var163
/* : Bool */;
5144 val
* var164
/* : MClassType */;
5145 val
* var166
/* : MClassType */;
5146 short int var167
/* : Bool */;
5149 static val
* varonce170
;
5150 val
* var171
/* : String */;
5151 char* var172
/* : NativeString */;
5152 long var173
/* : Int */;
5153 val
* var174
/* : FlatString */;
5154 val
* var175
/* : nullable MClass */;
5155 val
* var_cla176
/* var cla: nullable MClass */;
5156 val
* var177
/* : null */;
5157 short int var178
/* : Bool */;
5158 short int var179
/* : Bool */;
5159 short int var181
/* : Bool */;
5160 short int var182
/* : Bool */;
5161 val
* var183
/* : MClassType */;
5162 val
* var185
/* : MClassType */;
5163 short int var186
/* : Bool */;
5166 static val
* varonce189
;
5167 val
* var190
/* : String */;
5168 char* var191
/* : NativeString */;
5169 long var192
/* : Int */;
5170 val
* var193
/* : FlatString */;
5171 val
* var194
/* : nullable MClass */;
5172 val
* var_cla195
/* var cla: nullable MClass */;
5173 val
* var196
/* : null */;
5174 short int var197
/* : Bool */;
5175 short int var198
/* : Bool */;
5176 short int var200
/* : Bool */;
5177 short int var201
/* : Bool */;
5178 val
* var202
/* : MClassType */;
5179 val
* var204
/* : MClassType */;
5180 short int var205
/* : Bool */;
5183 static val
* varonce208
;
5184 val
* var209
/* : String */;
5185 char* var210
/* : NativeString */;
5186 long var211
/* : Int */;
5187 val
* var212
/* : FlatString */;
5188 val
* var213
/* : nullable MClass */;
5189 val
* var_cla214
/* var cla: nullable MClass */;
5190 val
* var215
/* : null */;
5191 short int var216
/* : Bool */;
5192 short int var217
/* : Bool */;
5193 short int var219
/* : Bool */;
5194 short int var220
/* : Bool */;
5195 val
* var221
/* : MClassType */;
5196 val
* var223
/* : MClassType */;
5197 static val
* varonce224
;
5198 val
* var225
/* : String */;
5199 char* var226
/* : NativeString */;
5200 long var227
/* : Int */;
5201 val
* var228
/* : FlatString */;
5202 static val
* varonce229
;
5203 val
* var230
/* : String */;
5204 char* var231
/* : NativeString */;
5205 long var232
/* : Int */;
5206 val
* var233
/* : FlatString */;
5207 val
* var234
/* : Array[Object] */;
5208 long var235
/* : Int */;
5209 val
* var236
/* : NativeArray[Object] */;
5210 val
* var237
/* : String */;
5211 val
* var238
/* : null */;
5212 short int var239
/* : Bool */;
5213 short int var240
/* : Bool */;
5214 short int var242
/* : Bool */;
5215 short int var244
/* : Bool */;
5216 short int var245
/* : Bool */;
5217 val
* var246
/* : null */;
5218 short int var247
/* : Bool */;
5219 short int var248
/* : Bool */;
5220 short int var250
/* : Bool */;
5221 short int var251
/* : Bool */;
5222 short int var_252
/* var : Bool */;
5223 short int var253
/* : Bool */;
5224 short int var254
/* : Bool */;
5225 short int var256
/* : Bool */;
5226 short int var258
/* : Bool */;
5227 short int var259
/* : Bool */;
5230 val
* var262
/* : AType */;
5231 val
* var264
/* : AType */;
5232 val
* var265
/* : nullable MType */;
5233 val
* var_xmtype
/* var xmtype: nullable MType */;
5234 short int var266
/* : Bool */;
5235 short int var267
/* : Bool */;
5236 short int var269
/* : Bool */;
5237 short int var271
/* : Bool */;
5238 static val
* varonce272
;
5239 val
* var273
/* : String */;
5240 char* var274
/* : NativeString */;
5241 long var275
/* : Int */;
5242 val
* var276
/* : FlatString */;
5243 static val
* varonce277
;
5244 val
* var278
/* : String */;
5245 char* var279
/* : NativeString */;
5246 long var280
/* : Int */;
5247 val
* var281
/* : FlatString */;
5248 val
* var282
/* : null */;
5249 short int var283
/* : Bool */;
5250 short int var284
/* : Bool */;
5251 short int var286
/* : Bool */;
5252 short int var288
/* : Bool */;
5253 static val
* varonce289
;
5254 val
* var290
/* : String */;
5255 char* var291
/* : NativeString */;
5256 long var292
/* : Int */;
5257 val
* var293
/* : FlatString */;
5258 val
* var294
/* : Array[Object] */;
5259 long var295
/* : Int */;
5260 val
* var296
/* : NativeArray[Object] */;
5261 val
* var297
/* : String */;
5262 val
* var299
/* : null */;
5263 short int var300
/* : Bool */;
5264 short int var301
/* : Bool */;
5265 short int var303
/* : Bool */;
5266 short int var304
/* : Bool */;
5267 val
* var305
/* : MSignature */;
5268 val
* var306
/* : Array[MParameter] */;
5269 val
* var_msignature307
/* var msignature: MSignature */;
5270 val
* var309
/* : nullable MMethodDef */;
5271 val
* var311
/* : nullable MMethodDef */;
5272 val
* var_mwritepropdef
/* var mwritepropdef: nullable MMethodDef */;
5273 val
* var312
/* : null */;
5274 short int var313
/* : Bool */;
5275 short int var314
/* : Bool */;
5276 short int var316
/* : Bool */;
5277 short int var317
/* : Bool */;
5278 val
* var318
/* : TId */;
5279 val
* var320
/* : TId */;
5280 val
* var321
/* : String */;
5281 val
* var_name
/* var name: String */;
5282 val
* var322
/* : MParameter */;
5283 short int var323
/* : Bool */;
5284 val
* var_mparameter
/* var mparameter: MParameter */;
5285 val
* var324
/* : MSignature */;
5286 val
* var325
/* : Array[MParameter] */;
5287 long var326
/* : Int */;
5288 val
* var_327
/* var : Array[MParameter] */;
5289 val
* var328
/* : null */;
5290 val
* var_msignature329
/* var msignature: MSignature */;
5291 val
* var331
/* : nullable MAttributeDef */;
5292 val
* var333
/* : nullable MAttributeDef */;
5293 val
* var_mlazypropdef
/* var mlazypropdef: nullable MAttributeDef */;
5294 val
* var334
/* : null */;
5295 short int var335
/* : Bool */;
5296 short int var336
/* : Bool */;
5297 short int var338
/* : Bool */;
5298 short int var339
/* : Bool */;
5299 val
* var340
/* : Model */;
5300 val
* var342
/* : Model */;
5301 static val
* varonce343
;
5302 val
* var344
/* : String */;
5303 char* var345
/* : NativeString */;
5304 long var346
/* : Int */;
5305 val
* var347
/* : FlatString */;
5306 val
* var348
/* : nullable Array[MClass] */;
5307 val
* var349
/* : nullable Object */;
5308 val
* var350
/* : MClassType */;
5309 val
* var352
/* : MClassType */;
5310 var_modelbuilder
= p0
;
5312 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AAttrPropdef> */
5313 var2
= self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AAttrPropdef> */
5320 if (var_mpropdef
== NULL
) {
5321 var4
= 1; /* is null */
5323 var4
= 0; /* arg is null but recv is not */
5326 { /* Inline kernel#Object#== (var_mpropdef,var3) on <var_mpropdef:nullable MAttributeDef> */
5329 { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
5330 var9
= var_mpropdef
== var_other
;
5347 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
5348 var12
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
5349 if (unlikely(var12
== NULL
)) {
5350 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
5351 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
5355 RET_LABEL11
:(void)0;
5358 var_mclassdef
= var10
;
5360 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
5361 var15
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
5362 if (unlikely(var15
== NULL
)) {
5363 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5364 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
5368 RET_LABEL14
:(void)0;
5371 var_mmodule
= var13
;
5375 { /* Inline modelize_property#AAttrPropdef#mreadpropdef (self) on <self:AAttrPropdef> */
5376 var19
= self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___mreadpropdef
].val
; /* _mreadpropdef on <self:AAttrPropdef> */
5378 RET_LABEL18
:(void)0;
5381 var_mreadpropdef
= var17
;
5383 { /* Inline parser_nodes#AAttrPropdef#n_type (self) on <self:AAttrPropdef> */
5384 var22
= self
->attrs
[COLOR_nit__parser_nodes__AAttrPropdef___n_type
].val
; /* _n_type on <self:AAttrPropdef> */
5386 RET_LABEL21
:(void)0;
5391 if (var_ntype
== NULL
) {
5392 var24
= 0; /* is null */
5394 var24
= 1; /* arg is null and recv is not */
5397 { /* Inline kernel#Object#!= (var_ntype,var23) on <var_ntype:nullable AType> */
5398 var_other27
= var23
;
5400 var28
= ((short int (*)(val
* self
, val
* p0
))(var_ntype
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ntype
, var_other27
) /* == on <var_ntype:nullable AType(AType)>*/;
5405 RET_LABEL26
:(void)0;
5411 var30
= nit__modelize_class___ModelBuilder___resolve_mtype(var_modelbuilder
, var_mmodule
, var_mclassdef
, var_ntype
);
5415 if (var_mtype
== NULL
) {
5416 var32
= 1; /* is null */
5418 var32
= 0; /* arg is null but recv is not */
5421 { /* Inline kernel#Object#== (var_mtype,var31) on <var_mtype:nullable MType> */
5424 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
5425 var37
= var_mtype
== var_other
;
5428 RET_LABEL36
:(void)0;
5433 RET_LABEL34
:(void)0;
5444 var_inherited_type
= var38
;
5446 if (var_mreadpropdef
== NULL
) {
5447 var41
= 0; /* is null */
5449 var41
= 1; /* arg is null and recv is not */
5452 { /* Inline kernel#Object#!= (var_mreadpropdef,var40) on <var_mreadpropdef:nullable MMethodDef> */
5453 var_other27
= var40
;
5455 var44
= ((short int (*)(val
* self
, val
* p0
))(var_mreadpropdef
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mreadpropdef
, var_other27
) /* == on <var_mreadpropdef:nullable MMethodDef(MMethodDef)>*/;
5460 RET_LABEL43
:(void)0;
5467 var46
= nit___nit__MPropDef___is_intro(var_mreadpropdef
);
5476 { /* Inline model#MPropDef#mproperty (var_mreadpropdef) on <var_mreadpropdef:nullable MMethodDef(MMethodDef)> */
5477 var50
= var_mreadpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mreadpropdef:nullable MMethodDef(MMethodDef)> */
5478 if (unlikely(var50
== NULL
)) {
5479 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5480 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
5484 RET_LABEL49
:(void)0;
5488 { /* Inline model#MProperty#intro (var48) on <var48:MProperty(MMethod)> */
5489 var53
= var48
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var48:MProperty(MMethod)> */
5490 if (unlikely(var53
== NULL
)) {
5491 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
5492 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1773);
5496 RET_LABEL52
:(void)0;
5500 { /* Inline model#MMethodDef#msignature (var51) on <var51:MPropDef(MMethodDef)> */
5501 var56
= var51
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var51:MPropDef(MMethodDef)> */
5503 RET_LABEL55
:(void)0;
5506 var_msignature
= var54
;
5508 if (var_msignature
== NULL
) {
5509 var58
= 1; /* is null */
5511 var58
= 0; /* arg is null but recv is not */
5514 { /* Inline kernel#Object#== (var_msignature,var57) on <var_msignature:nullable MSignature> */
5517 { /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on <var_msignature:nullable MSignature(MSignature)> */
5518 var63
= var_msignature
== var_other
;
5521 RET_LABEL62
:(void)0;
5526 RET_LABEL60
:(void)0;
5535 { /* Inline model#MSignature#return_mtype (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
5536 var66
= var_msignature
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var_msignature:nullable MSignature(MSignature)> */
5538 RET_LABEL65
:(void)0;
5541 var_inherited_type
= var64
;
5543 if (var_inherited_type
== NULL
) {
5544 var68
= 0; /* is null */
5546 var68
= 1; /* arg is null and recv is not */
5549 { /* Inline kernel#Object#!= (var_inherited_type,var67) on <var_inherited_type:nullable MType> */
5550 var_other27
= var67
;
5552 var71
= ((short int (*)(val
* self
, val
* p0
))(var_inherited_type
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_inherited_type
, var_other27
) /* == on <var_inherited_type:nullable MType(MType)>*/;
5557 RET_LABEL70
:(void)0;
5563 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
5564 var75
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
5565 if (unlikely(var75
== NULL
)) {
5566 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5567 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
5571 RET_LABEL74
:(void)0;
5575 { /* Inline model#MClass#mclass_type (var73) on <var73:MClass> */
5576 var78
= var73
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var73:MClass> */
5577 if (unlikely(var78
== NULL
)) {
5578 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
5579 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
5583 RET_LABEL77
:(void)0;
5587 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
5588 var81
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
5589 if (unlikely(var81
== NULL
)) {
5590 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
5591 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
5595 RET_LABEL80
:(void)0;
5600 var83
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(var_inherited_type
->class->vft
[COLOR_nit__model__MType__resolve_for
]))(var_inherited_type
, var76
, var79
, var_mmodule
, var82
) /* resolve_for on <var_inherited_type:nullable MType(MType)>*/;
5602 var_inherited_type
= var83
;
5604 if (var_mtype
== NULL
) {
5605 var85
= 1; /* is null */
5607 var85
= 0; /* arg is null but recv is not */
5610 { /* Inline kernel#Object#== (var_mtype,var84) on <var_mtype:nullable MType> */
5613 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
5614 var90
= var_mtype
== var_other
;
5617 RET_LABEL89
:(void)0;
5622 RET_LABEL87
:(void)0;
5627 var_mtype
= var_inherited_type
;
5635 { /* Inline parser_nodes#AAttrPropdef#n_expr (self) on <self:AAttrPropdef> */
5636 var93
= self
->attrs
[COLOR_nit__parser_nodes__AAttrPropdef___n_expr
].val
; /* _n_expr on <self:AAttrPropdef> */
5638 RET_LABEL92
:(void)0;
5643 if (var_mtype
== NULL
) {
5644 var95
= 1; /* is null */
5646 var95
= 0; /* arg is null but recv is not */
5649 { /* Inline kernel#Object#== (var_mtype,var94) on <var_mtype:nullable MType> */
5652 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
5653 var100
= var_mtype
== var_other
;
5656 RET_LABEL99
:(void)0;
5661 RET_LABEL97
:(void)0;
5667 if (var_nexpr
== NULL
) {
5668 var102
= 0; /* is null */
5670 var102
= 1; /* arg is null and recv is not */
5673 { /* Inline kernel#Object#!= (var_nexpr,var101) on <var_nexpr:nullable AExpr> */
5674 var_other27
= var101
;
5676 var105
= ((short int (*)(val
* self
, val
* p0
))(var_nexpr
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nexpr
, var_other27
) /* == on <var_nexpr:nullable AExpr(AExpr)>*/;
5681 RET_LABEL104
:(void)0;
5686 /* <var_nexpr:nullable AExpr(AExpr)> isa ANewExpr */
5687 cltype
= type_nit__ANewExpr
.color
;
5688 idtype
= type_nit__ANewExpr
.id
;
5689 if(cltype
>= var_nexpr
->type
->table_size
) {
5692 var107
= var_nexpr
->type
->type_table
[cltype
] == idtype
;
5696 { /* Inline parser_nodes#ANewExpr#n_type (var_nexpr) on <var_nexpr:nullable AExpr(ANewExpr)> */
5697 var110
= var_nexpr
->attrs
[COLOR_nit__parser_nodes__ANewExpr___n_type
].val
; /* _n_type on <var_nexpr:nullable AExpr(ANewExpr)> */
5698 if (unlikely(var110
== NULL
)) {
5699 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
5700 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1962);
5704 RET_LABEL109
:(void)0;
5708 var111
= nit__modelize_class___ModelBuilder___resolve_mtype(var_modelbuilder
, var_mmodule
, var_mclassdef
, var108
);
5712 /* <var_nexpr:nullable AExpr(AExpr)> isa AIntExpr */
5713 cltype113
= type_nit__AIntExpr
.color
;
5714 idtype114
= type_nit__AIntExpr
.id
;
5715 if(cltype113
>= var_nexpr
->type
->table_size
) {
5718 var112
= var_nexpr
->type
->type_table
[cltype113
] == idtype114
;
5726 var118
= standard___standard__NativeString___to_s_with_length(var116
, var117
);
5731 var119
= nit___nit__ModelBuilder___try_get_mclass_by_name(var_modelbuilder
, var_nexpr
, var_mmodule
, var115
);
5735 if (var_cla
== NULL
) {
5736 var121
= 0; /* is null */
5738 var121
= 1; /* arg is null and recv is not */
5741 { /* Inline kernel#Object#!= (var_cla,var120) on <var_cla:nullable MClass> */
5742 var_other27
= var120
;
5744 var124
= ((short int (*)(val
* self
, val
* p0
))(var_cla
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_cla
, var_other27
) /* == on <var_cla:nullable MClass(MClass)>*/;
5749 RET_LABEL123
:(void)0;
5755 { /* Inline model#MClass#mclass_type (var_cla) on <var_cla:nullable MClass(MClass)> */
5756 var128
= var_cla
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_cla:nullable MClass(MClass)> */
5757 if (unlikely(var128
== NULL
)) {
5758 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
5759 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
5763 RET_LABEL127
:(void)0;
5770 /* <var_nexpr:nullable AExpr(AExpr)> isa AFloatExpr */
5771 cltype130
= type_nit__AFloatExpr
.color
;
5772 idtype131
= type_nit__AFloatExpr
.id
;
5773 if(cltype130
>= var_nexpr
->type
->table_size
) {
5776 var129
= var_nexpr
->type
->type_table
[cltype130
] == idtype131
;
5780 var133
= varonce132
;
5784 var136
= standard___standard__NativeString___to_s_with_length(var134
, var135
);
5786 varonce132
= var133
;
5789 var137
= nit___nit__ModelBuilder___try_get_mclass_by_name(var_modelbuilder
, var_nexpr
, var_mmodule
, var133
);
5791 var_cla138
= var137
;
5793 if (var_cla138
== NULL
) {
5794 var140
= 0; /* is null */
5796 var140
= 1; /* arg is null and recv is not */
5799 { /* Inline kernel#Object#!= (var_cla138,var139) on <var_cla138:nullable MClass> */
5800 var_other27
= var139
;
5802 var143
= ((short int (*)(val
* self
, val
* p0
))(var_cla138
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_cla138
, var_other27
) /* == on <var_cla138:nullable MClass(MClass)>*/;
5807 RET_LABEL142
:(void)0;
5813 { /* Inline model#MClass#mclass_type (var_cla138) on <var_cla138:nullable MClass(MClass)> */
5814 var147
= var_cla138
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_cla138:nullable MClass(MClass)> */
5815 if (unlikely(var147
== NULL
)) {
5816 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
5817 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
5821 RET_LABEL146
:(void)0;
5828 /* <var_nexpr:nullable AExpr(AExpr)> isa ACharExpr */
5829 cltype149
= type_nit__ACharExpr
.color
;
5830 idtype150
= type_nit__ACharExpr
.id
;
5831 if(cltype149
>= var_nexpr
->type
->table_size
) {
5834 var148
= var_nexpr
->type
->type_table
[cltype149
] == idtype150
;
5838 var152
= varonce151
;
5842 var155
= standard___standard__NativeString___to_s_with_length(var153
, var154
);
5844 varonce151
= var152
;
5847 var156
= nit___nit__ModelBuilder___try_get_mclass_by_name(var_modelbuilder
, var_nexpr
, var_mmodule
, var152
);
5849 var_cla157
= var156
;
5851 if (var_cla157
== NULL
) {
5852 var159
= 0; /* is null */
5854 var159
= 1; /* arg is null and recv is not */
5857 { /* Inline kernel#Object#!= (var_cla157,var158) on <var_cla157:nullable MClass> */
5858 var_other27
= var158
;
5860 var162
= ((short int (*)(val
* self
, val
* p0
))(var_cla157
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_cla157
, var_other27
) /* == on <var_cla157:nullable MClass(MClass)>*/;
5865 RET_LABEL161
:(void)0;
5871 { /* Inline model#MClass#mclass_type (var_cla157) on <var_cla157:nullable MClass(MClass)> */
5872 var166
= var_cla157
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_cla157:nullable MClass(MClass)> */
5873 if (unlikely(var166
== NULL
)) {
5874 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
5875 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
5879 RET_LABEL165
:(void)0;
5886 /* <var_nexpr:nullable AExpr(AExpr)> isa ABoolExpr */
5887 cltype168
= type_nit__ABoolExpr
.color
;
5888 idtype169
= type_nit__ABoolExpr
.id
;
5889 if(cltype168
>= var_nexpr
->type
->table_size
) {
5892 var167
= var_nexpr
->type
->type_table
[cltype168
] == idtype169
;
5896 var171
= varonce170
;
5900 var174
= standard___standard__NativeString___to_s_with_length(var172
, var173
);
5902 varonce170
= var171
;
5905 var175
= nit___nit__ModelBuilder___try_get_mclass_by_name(var_modelbuilder
, var_nexpr
, var_mmodule
, var171
);
5907 var_cla176
= var175
;
5909 if (var_cla176
== NULL
) {
5910 var178
= 0; /* is null */
5912 var178
= 1; /* arg is null and recv is not */
5915 { /* Inline kernel#Object#!= (var_cla176,var177) on <var_cla176:nullable MClass> */
5916 var_other27
= var177
;
5918 var181
= ((short int (*)(val
* self
, val
* p0
))(var_cla176
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_cla176
, var_other27
) /* == on <var_cla176:nullable MClass(MClass)>*/;
5923 RET_LABEL180
:(void)0;
5929 { /* Inline model#MClass#mclass_type (var_cla176) on <var_cla176:nullable MClass(MClass)> */
5930 var185
= var_cla176
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_cla176:nullable MClass(MClass)> */
5931 if (unlikely(var185
== NULL
)) {
5932 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
5933 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
5937 RET_LABEL184
:(void)0;
5944 /* <var_nexpr:nullable AExpr(AExpr)> isa ASuperstringExpr */
5945 cltype187
= type_nit__ASuperstringExpr
.color
;
5946 idtype188
= type_nit__ASuperstringExpr
.id
;
5947 if(cltype187
>= var_nexpr
->type
->table_size
) {
5950 var186
= var_nexpr
->type
->type_table
[cltype187
] == idtype188
;
5954 var190
= varonce189
;
5958 var193
= standard___standard__NativeString___to_s_with_length(var191
, var192
);
5960 varonce189
= var190
;
5963 var194
= nit___nit__ModelBuilder___try_get_mclass_by_name(var_modelbuilder
, var_nexpr
, var_mmodule
, var190
);
5965 var_cla195
= var194
;
5967 if (var_cla195
== NULL
) {
5968 var197
= 0; /* is null */
5970 var197
= 1; /* arg is null and recv is not */
5973 { /* Inline kernel#Object#!= (var_cla195,var196) on <var_cla195:nullable MClass> */
5974 var_other27
= var196
;
5976 var200
= ((short int (*)(val
* self
, val
* p0
))(var_cla195
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_cla195
, var_other27
) /* == on <var_cla195:nullable MClass(MClass)>*/;
5981 RET_LABEL199
:(void)0;
5987 { /* Inline model#MClass#mclass_type (var_cla195) on <var_cla195:nullable MClass(MClass)> */
5988 var204
= var_cla195
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_cla195:nullable MClass(MClass)> */
5989 if (unlikely(var204
== NULL
)) {
5990 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
5991 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
5995 RET_LABEL203
:(void)0;
6002 /* <var_nexpr:nullable AExpr(AExpr)> isa AStringFormExpr */
6003 cltype206
= type_nit__AStringFormExpr
.color
;
6004 idtype207
= type_nit__AStringFormExpr
.id
;
6005 if(cltype206
>= var_nexpr
->type
->table_size
) {
6008 var205
= var_nexpr
->type
->type_table
[cltype206
] == idtype207
;
6012 var209
= varonce208
;
6016 var212
= standard___standard__NativeString___to_s_with_length(var210
, var211
);
6018 varonce208
= var209
;
6021 var213
= nit___nit__ModelBuilder___try_get_mclass_by_name(var_modelbuilder
, var_nexpr
, var_mmodule
, var209
);
6023 var_cla214
= var213
;
6025 if (var_cla214
== NULL
) {
6026 var216
= 0; /* is null */
6028 var216
= 1; /* arg is null and recv is not */
6031 { /* Inline kernel#Object#!= (var_cla214,var215) on <var_cla214:nullable MClass> */
6032 var_other27
= var215
;
6034 var219
= ((short int (*)(val
* self
, val
* p0
))(var_cla214
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_cla214
, var_other27
) /* == on <var_cla214:nullable MClass(MClass)>*/;
6039 RET_LABEL218
:(void)0;
6045 { /* Inline model#MClass#mclass_type (var_cla214) on <var_cla214:nullable MClass(MClass)> */
6046 var223
= var_cla214
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_cla214:nullable MClass(MClass)> */
6047 if (unlikely(var223
== NULL
)) {
6048 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
6049 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
6053 RET_LABEL222
:(void)0;
6061 var225
= varonce224
;
6063 var226
= "Error: Untyped attribute ";
6065 var228
= standard___standard__NativeString___to_s_with_length(var226
, var227
);
6067 varonce224
= var225
;
6070 var230
= varonce229
;
6072 var231
= ". Implicit typing allowed only for literals and new.";
6074 var233
= standard___standard__NativeString___to_s_with_length(var231
, var232
);
6076 varonce229
= var230
;
6078 var234
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6079 { /* var234 = array_instance Array[Object] */
6081 var236
= NEW_standard__NativeArray(var235
, &type_standard__NativeArray__standard__Object
);
6082 ((struct instance_standard__NativeArray
*)var236
)->values
[0] = (val
*) var225
;
6083 ((struct instance_standard__NativeArray
*)var236
)->values
[1] = (val
*) var_mpropdef
;
6084 ((struct instance_standard__NativeArray
*)var236
)->values
[2] = (val
*) var230
;
6086 ((void (*)(val
* self
, val
* p0
, long p1
))(var234
->class->vft
[COLOR_standard__array__Array__with_native
]))(var234
, var236
, var235
) /* with_native on <var234:Array[Object]>*/;
6090 var237
= ((val
* (*)(val
* self
))(var234
->class->vft
[COLOR_standard__string__Object__to_s
]))(var234
) /* to_s on <var234:Array[Object]>*/;
6093 nit___nit__ModelBuilder___error(var_modelbuilder
, self
, var237
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
6103 if (var_mtype
== NULL
) {
6104 var239
= 1; /* is null */
6106 var239
= 0; /* arg is null but recv is not */
6109 { /* Inline kernel#Object#== (var_mtype,var238) on <var_mtype:nullable MType> */
6112 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
6113 var244
= var_mtype
== var_other
;
6116 RET_LABEL243
:(void)0;
6121 RET_LABEL241
:(void)0;
6133 if (var_ntype
== NULL
) {
6134 var247
= 0; /* is null */
6136 var247
= 1; /* arg is null and recv is not */
6139 { /* Inline kernel#Object#!= (var_ntype,var246) on <var_ntype:nullable AType> */
6140 var_other27
= var246
;
6142 var250
= ((short int (*)(val
* self
, val
* p0
))(var_ntype
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ntype
, var_other27
) /* == on <var_ntype:nullable AType(AType)>*/;
6147 RET_LABEL249
:(void)0;
6153 if (var_inherited_type
== NULL
) {
6154 var253
= 0; /* <var_mtype:nullable MType(MType)> cannot be null */
6156 { /* Inline kernel#Object#== (var_inherited_type,var_mtype) on <var_inherited_type:nullable MType> */
6157 var_other
= var_mtype
;
6159 { /* Inline kernel#Object#is_same_instance (var_inherited_type,var_other) on <var_inherited_type:nullable MType(MType)> */
6160 var258
= var_inherited_type
== var_other
;
6163 RET_LABEL257
:(void)0;
6168 RET_LABEL255
:(void)0;
6177 /* <var_nexpr:nullable AExpr> isa ANewExpr */
6178 cltype260
= type_nit__ANewExpr
.color
;
6179 idtype261
= type_nit__ANewExpr
.id
;
6180 if(var_nexpr
== NULL
) {
6183 if(cltype260
>= var_nexpr
->type
->table_size
) {
6186 var259
= var_nexpr
->type
->type_table
[cltype260
] == idtype261
;
6191 { /* Inline parser_nodes#ANewExpr#n_type (var_nexpr) on <var_nexpr:nullable AExpr(ANewExpr)> */
6192 var264
= var_nexpr
->attrs
[COLOR_nit__parser_nodes__ANewExpr___n_type
].val
; /* _n_type on <var_nexpr:nullable AExpr(ANewExpr)> */
6193 if (unlikely(var264
== NULL
)) {
6194 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
6195 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1962);
6199 RET_LABEL263
:(void)0;
6203 var265
= nit__modelize_class___ModelBuilder___resolve_mtype(var_modelbuilder
, var_mmodule
, var_mclassdef
, var262
);
6205 var_xmtype
= var265
;
6206 if (var_xmtype
== NULL
) {
6207 var266
= 0; /* <var_mtype:nullable MType(MType)> cannot be null */
6209 { /* Inline kernel#Object#== (var_xmtype,var_mtype) on <var_xmtype:nullable MType> */
6210 var_other
= var_mtype
;
6212 { /* Inline kernel#Object#is_same_instance (var_xmtype,var_other) on <var_xmtype:nullable MType(MType)> */
6213 var271
= var_xmtype
== var_other
;
6216 RET_LABEL270
:(void)0;
6221 RET_LABEL268
:(void)0;
6227 var273
= varonce272
;
6229 var274
= "useless-type";
6231 var276
= standard___standard__NativeString___to_s_with_length(var274
, var275
);
6233 varonce272
= var273
;
6236 var278
= varonce277
;
6238 var279
= "Warning: useless type definition";
6240 var281
= standard___standard__NativeString___to_s_with_length(var279
, var280
);
6242 varonce277
= var278
;
6245 nit___nit__ModelBuilder___advice(var_modelbuilder
, var_ntype
, var273
, var278
); /* Direct call modelbuilder_base#ModelBuilder#advice on <var_modelbuilder:ModelBuilder>*/
6255 if (var_mtype
== NULL
) {
6256 var283
= 1; /* is null */
6258 var283
= 0; /* arg is null but recv is not */
6261 { /* Inline kernel#Object#== (var_mtype,var282) on <var_mtype:nullable MType> */
6264 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
6265 var288
= var_mtype
== var_other
;
6268 RET_LABEL287
:(void)0;
6273 RET_LABEL285
:(void)0;
6279 var290
= varonce289
;
6281 var291
= "Error: Untyped attribute ";
6283 var293
= standard___standard__NativeString___to_s_with_length(var291
, var292
);
6285 varonce289
= var290
;
6287 var294
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6288 { /* var294 = array_instance Array[Object] */
6290 var296
= NEW_standard__NativeArray(var295
, &type_standard__NativeArray__standard__Object
);
6291 ((struct instance_standard__NativeArray
*)var296
)->values
[0] = (val
*) var290
;
6292 ((struct instance_standard__NativeArray
*)var296
)->values
[1] = (val
*) var_mpropdef
;
6294 ((void (*)(val
* self
, val
* p0
, long p1
))(var294
->class->vft
[COLOR_standard__array__Array__with_native
]))(var294
, var296
, var295
) /* with_native on <var294:Array[Object]>*/;
6298 var297
= ((val
* (*)(val
* self
))(var294
->class->vft
[COLOR_standard__string__Object__to_s
]))(var294
) /* to_s on <var294:Array[Object]>*/;
6301 nit___nit__ModelBuilder___error(var_modelbuilder
, self
, var297
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
6307 { /* Inline model#MAttributeDef#static_mtype= (var_mpropdef,var_mtype) on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
6308 var_mpropdef
->attrs
[COLOR_nit__model__MAttributeDef___static_mtype
].val
= var_mtype
; /* _static_mtype on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
6309 RET_LABEL298
:(void)0;
6313 if (var_mreadpropdef
== NULL
) {
6314 var300
= 0; /* is null */
6316 var300
= 1; /* arg is null and recv is not */
6319 { /* Inline kernel#Object#!= (var_mreadpropdef,var299) on <var_mreadpropdef:nullable MMethodDef> */
6320 var_other27
= var299
;
6322 var303
= ((short int (*)(val
* self
, val
* p0
))(var_mreadpropdef
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mreadpropdef
, var_other27
) /* == on <var_mreadpropdef:nullable MMethodDef(MMethodDef)>*/;
6327 RET_LABEL302
:(void)0;
6332 var305
= NEW_nit__MSignature(&type_nit__MSignature
);
6333 var306
= NEW_standard__Array(&type_standard__Array__nit__MParameter
);
6335 standard___standard__Array___standard__kernel__Object__init(var306
); /* Direct call array#Array#init on <var306:Array[MParameter]>*/
6338 ((void (*)(val
* self
, val
* p0
))(var305
->class->vft
[COLOR_nit__model__MSignature__mparameters_61d
]))(var305
, var306
) /* mparameters= on <var305:MSignature>*/;
6341 ((void (*)(val
* self
, val
* p0
))(var305
->class->vft
[COLOR_nit__model__MSignature__return_mtype_61d
]))(var305
, var_mtype
) /* return_mtype= on <var305:MSignature>*/;
6344 ((void (*)(val
* self
))(var305
->class->vft
[COLOR_standard__kernel__Object__init
]))(var305
) /* init on <var305:MSignature>*/;
6346 var_msignature307
= var305
;
6348 { /* Inline model#MMethodDef#msignature= (var_mreadpropdef,var_msignature307) on <var_mreadpropdef:nullable MMethodDef(MMethodDef)> */
6349 var_mreadpropdef
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
= var_msignature307
; /* _msignature on <var_mreadpropdef:nullable MMethodDef(MMethodDef)> */
6350 RET_LABEL308
:(void)0;
6356 { /* Inline modelize_property#AAttrPropdef#mwritepropdef (self) on <self:AAttrPropdef> */
6357 var311
= self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___mwritepropdef
].val
; /* _mwritepropdef on <self:AAttrPropdef> */
6359 RET_LABEL310
:(void)0;
6362 var_mwritepropdef
= var309
;
6364 if (var_mwritepropdef
== NULL
) {
6365 var313
= 0; /* is null */
6367 var313
= 1; /* arg is null and recv is not */
6370 { /* Inline kernel#Object#!= (var_mwritepropdef,var312) on <var_mwritepropdef:nullable MMethodDef> */
6371 var_other27
= var312
;
6373 var316
= ((short int (*)(val
* self
, val
* p0
))(var_mwritepropdef
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mwritepropdef
, var_other27
) /* == on <var_mwritepropdef:nullable MMethodDef(MMethodDef)>*/;
6378 RET_LABEL315
:(void)0;
6384 { /* Inline parser_nodes#AAttrPropdef#n_id2 (self) on <self:AAttrPropdef> */
6385 var320
= self
->attrs
[COLOR_nit__parser_nodes__AAttrPropdef___n_id2
].val
; /* _n_id2 on <self:AAttrPropdef> */
6386 if (unlikely(var320
== NULL
)) {
6387 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id2");
6388 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1138);
6392 RET_LABEL319
:(void)0;
6396 var321
= nit__lexer_work___Token___text(var318
);
6399 var322
= NEW_nit__MParameter(&type_nit__MParameter
);
6402 ((void (*)(val
* self
, val
* p0
))(var322
->class->vft
[COLOR_nit__model__MParameter__name_61d
]))(var322
, var_name
) /* name= on <var322:MParameter>*/;
6405 ((void (*)(val
* self
, val
* p0
))(var322
->class->vft
[COLOR_nit__model__MParameter__mtype_61d
]))(var322
, var_mtype
) /* mtype= on <var322:MParameter>*/;
6408 ((void (*)(val
* self
, short int p0
))(var322
->class->vft
[COLOR_nit__model__MParameter__is_vararg_61d
]))(var322
, var323
) /* is_vararg= on <var322:MParameter>*/;
6411 ((void (*)(val
* self
))(var322
->class->vft
[COLOR_standard__kernel__Object__init
]))(var322
) /* init on <var322:MParameter>*/;
6413 var_mparameter
= var322
;
6414 var324
= NEW_nit__MSignature(&type_nit__MSignature
);
6415 var325
= NEW_standard__Array(&type_standard__Array__nit__MParameter
);
6418 standard___standard__Array___with_capacity(var325
, var326
); /* Direct call array#Array#with_capacity on <var325:Array[MParameter]>*/
6422 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_327
, var_mparameter
); /* Direct call array#AbstractArray#push on <var_327:Array[MParameter]>*/
6426 ((void (*)(val
* self
, val
* p0
))(var324
->class->vft
[COLOR_nit__model__MSignature__mparameters_61d
]))(var324
, var_327
) /* mparameters= on <var324:MSignature>*/;
6429 ((void (*)(val
* self
, val
* p0
))(var324
->class->vft
[COLOR_nit__model__MSignature__return_mtype_61d
]))(var324
, var328
) /* return_mtype= on <var324:MSignature>*/;
6432 ((void (*)(val
* self
))(var324
->class->vft
[COLOR_standard__kernel__Object__init
]))(var324
) /* init on <var324:MSignature>*/;
6434 var_msignature329
= var324
;
6436 { /* Inline model#MMethodDef#msignature= (var_mwritepropdef,var_msignature329) on <var_mwritepropdef:nullable MMethodDef(MMethodDef)> */
6437 var_mwritepropdef
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
= var_msignature329
; /* _msignature on <var_mwritepropdef:nullable MMethodDef(MMethodDef)> */
6438 RET_LABEL330
:(void)0;
6444 { /* Inline modelize_property#AAttrPropdef#mlazypropdef (self) on <self:AAttrPropdef> */
6445 var333
= self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___mlazypropdef
].val
; /* _mlazypropdef on <self:AAttrPropdef> */
6447 RET_LABEL332
:(void)0;
6450 var_mlazypropdef
= var331
;
6452 if (var_mlazypropdef
== NULL
) {
6453 var335
= 0; /* is null */
6455 var335
= 1; /* arg is null and recv is not */
6458 { /* Inline kernel#Object#!= (var_mlazypropdef,var334) on <var_mlazypropdef:nullable MAttributeDef> */
6459 var_other27
= var334
;
6461 var338
= ((short int (*)(val
* self
, val
* p0
))(var_mlazypropdef
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mlazypropdef
, var_other27
) /* == on <var_mlazypropdef:nullable MAttributeDef(MAttributeDef)>*/;
6466 RET_LABEL337
:(void)0;
6472 { /* Inline modelbuilder_base#ModelBuilder#model (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
6473 var342
= var_modelbuilder
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___model
].val
; /* _model on <var_modelbuilder:ModelBuilder> */
6474 if (unlikely(var342
== NULL
)) {
6475 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
6476 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 44);
6480 RET_LABEL341
:(void)0;
6484 var344
= varonce343
;
6488 var347
= standard___standard__NativeString___to_s_with_length(var345
, var346
);
6490 varonce343
= var344
;
6493 var348
= nit__model___Model___get_mclasses_by_name(var340
, var344
);
6495 if (var348
== NULL
) {
6496 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6497 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 1090);
6500 var349
= standard___standard__SequenceRead___Collection__first(var348
);
6503 { /* Inline model#MClass#mclass_type (var349) on <var349:nullable Object(MClass)> */
6504 var352
= var349
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var349:nullable Object(MClass)> */
6505 if (unlikely(var352
== NULL
)) {
6506 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
6507 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
6511 RET_LABEL351
:(void)0;
6515 { /* Inline model#MAttributeDef#static_mtype= (var_mlazypropdef,var350) on <var_mlazypropdef:nullable MAttributeDef(MAttributeDef)> */
6516 var_mlazypropdef
->attrs
[COLOR_nit__model__MAttributeDef___static_mtype
].val
= var350
; /* _static_mtype on <var_mlazypropdef:nullable MAttributeDef(MAttributeDef)> */
6517 RET_LABEL353
:(void)0;
6524 /* method modelize_property#AAttrPropdef#check_signature for (self: AAttrPropdef, ModelBuilder) */
6525 void nit__modelize_property___AAttrPropdef___APropdef__check_signature(val
* self
, val
* p0
) {
6526 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
6527 val
* var
/* : nullable MPropDef */;
6528 val
* var2
/* : nullable MPropDef */;
6529 val
* var_mpropdef
/* var mpropdef: nullable MAttributeDef */;
6530 val
* var3
/* : null */;
6531 short int var4
/* : Bool */;
6532 short int var5
/* : Bool */;
6533 val
* var_other
/* var other: nullable Object */;
6534 short int var7
/* : Bool */;
6535 short int var9
/* : Bool */;
6536 val
* var10
/* : nullable AType */;
6537 val
* var12
/* : nullable AType */;
6538 val
* var_ntype
/* var ntype: nullable AType */;
6539 val
* var13
/* : nullable MPropDef */;
6540 val
* var15
/* : nullable MPropDef */;
6541 val
* var16
/* : nullable MType */;
6542 val
* var18
/* : nullable MType */;
6543 val
* var_mtype
/* var mtype: nullable MType */;
6544 val
* var19
/* : null */;
6545 short int var20
/* : Bool */;
6546 short int var21
/* : Bool */;
6547 short int var23
/* : Bool */;
6548 short int var25
/* : Bool */;
6549 short int var26
/* : Bool */;
6550 short int var27
/* : Bool */;
6551 val
* var28
/* : MProperty */;
6552 val
* var30
/* : MProperty */;
6553 val
* var31
/* : MPropDef */;
6554 val
* var33
/* : MPropDef */;
6555 val
* var34
/* : nullable MType */;
6556 val
* var36
/* : nullable MType */;
6557 val
* var_precursor_type
/* var precursor_type: nullable MType */;
6558 val
* var37
/* : null */;
6559 short int var38
/* : Bool */;
6560 short int var39
/* : Bool */;
6561 short int var41
/* : Bool */;
6562 short int var43
/* : Bool */;
6563 short int var44
/* : Bool */;
6564 val
* var_other46
/* var other: nullable Object */;
6565 short int var47
/* : Bool */;
6566 short int var48
/* : Bool */;
6567 static val
* varonce
;
6568 val
* var49
/* : String */;
6569 char* var50
/* : NativeString */;
6570 long var51
/* : Int */;
6571 val
* var52
/* : FlatString */;
6572 static val
* varonce53
;
6573 val
* var54
/* : String */;
6574 char* var55
/* : NativeString */;
6575 long var56
/* : Int */;
6576 val
* var57
/* : FlatString */;
6577 static val
* varonce58
;
6578 val
* var59
/* : String */;
6579 char* var60
/* : NativeString */;
6580 long var61
/* : Int */;
6581 val
* var62
/* : FlatString */;
6582 val
* var63
/* : Array[Object] */;
6583 long var64
/* : Int */;
6584 val
* var65
/* : NativeArray[Object] */;
6585 val
* var66
/* : String */;
6586 val
* var67
/* : nullable MMethodDef */;
6587 val
* var69
/* : nullable MMethodDef */;
6588 val
* var_meth
/* var meth: nullable MMethodDef */;
6589 val
* var70
/* : null */;
6590 short int var71
/* : Bool */;
6591 short int var72
/* : Bool */;
6592 short int var74
/* : Bool */;
6593 short int var75
/* : Bool */;
6594 val
* var_node
/* var node: nullable ANode */;
6595 val
* var76
/* : null */;
6596 short int var77
/* : Bool */;
6597 short int var78
/* : Bool */;
6598 short int var80
/* : Bool */;
6599 short int var82
/* : Bool */;
6600 val
* var83
/* : nullable MMethodDef */;
6601 val
* var85
/* : nullable MMethodDef */;
6602 val
* var86
/* : null */;
6603 short int var87
/* : Bool */;
6604 short int var88
/* : Bool */;
6605 short int var90
/* : Bool */;
6606 short int var91
/* : Bool */;
6607 val
* var_node92
/* var node: nullable ANode */;
6608 val
* var93
/* : null */;
6609 short int var94
/* : Bool */;
6610 short int var95
/* : Bool */;
6611 short int var97
/* : Bool */;
6612 short int var99
/* : Bool */;
6613 var_modelbuilder
= p0
;
6615 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AAttrPropdef> */
6616 var2
= self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AAttrPropdef> */
6623 if (var_mpropdef
== NULL
) {
6624 var4
= 1; /* is null */
6626 var4
= 0; /* arg is null but recv is not */
6629 { /* Inline kernel#Object#== (var_mpropdef,var3) on <var_mpropdef:nullable MAttributeDef> */
6632 { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
6633 var9
= var_mpropdef
== var_other
;
6650 { /* Inline parser_nodes#AAttrPropdef#n_type (self) on <self:AAttrPropdef> */
6651 var12
= self
->attrs
[COLOR_nit__parser_nodes__AAttrPropdef___n_type
].val
; /* _n_type on <self:AAttrPropdef> */
6653 RET_LABEL11
:(void)0;
6658 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AAttrPropdef> */
6659 var15
= self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AAttrPropdef> */
6661 RET_LABEL14
:(void)0;
6664 if (var13
== NULL
) {
6665 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6666 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 1099);
6669 { /* Inline model#MAttributeDef#static_mtype (var13) on <var13:nullable MPropDef(nullable MAttributeDef)> */
6670 if (unlikely(var13
== NULL
)) {
6671 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6672 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2180);
6675 var18
= var13
->attrs
[COLOR_nit__model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var13:nullable MPropDef(nullable MAttributeDef)> */
6677 RET_LABEL17
:(void)0;
6682 if (var_mtype
== NULL
) {
6683 var20
= 1; /* is null */
6685 var20
= 0; /* arg is null but recv is not */
6688 { /* Inline kernel#Object#== (var_mtype,var19) on <var_mtype:nullable MType> */
6691 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
6692 var25
= var_mtype
== var_other
;
6695 RET_LABEL24
:(void)0;
6700 RET_LABEL22
:(void)0;
6709 var26
= nit___nit__MPropDef___is_intro(var_mpropdef
);
6714 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
6715 var30
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
6716 if (unlikely(var30
== NULL
)) {
6717 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6718 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
6722 RET_LABEL29
:(void)0;
6726 { /* Inline model#MProperty#intro (var28) on <var28:MProperty(MAttribute)> */
6727 var33
= var28
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var28:MProperty(MAttribute)> */
6728 if (unlikely(var33
== NULL
)) {
6729 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
6730 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1773);
6734 RET_LABEL32
:(void)0;
6738 { /* Inline model#MAttributeDef#static_mtype (var31) on <var31:MPropDef(MAttributeDef)> */
6739 var36
= var31
->attrs
[COLOR_nit__model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var31:MPropDef(MAttributeDef)> */
6741 RET_LABEL35
:(void)0;
6744 var_precursor_type
= var34
;
6746 if (var_precursor_type
== NULL
) {
6747 var38
= 1; /* is null */
6749 var38
= 0; /* arg is null but recv is not */
6752 { /* Inline kernel#Object#== (var_precursor_type,var37) on <var_precursor_type:nullable MType> */
6755 { /* Inline kernel#Object#is_same_instance (var_precursor_type,var_other) on <var_precursor_type:nullable MType(MType)> */
6756 var43
= var_precursor_type
== var_other
;
6759 RET_LABEL42
:(void)0;
6764 RET_LABEL40
:(void)0;
6773 { /* Inline kernel#Object#!= (var_mtype,var_precursor_type) on <var_mtype:nullable MType(MType)> */
6774 var_other46
= var_precursor_type
;
6776 var47
= ((short int (*)(val
* self
, val
* p0
))(var_mtype
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mtype
, var_other46
) /* == on <var_mtype:nullable MType(MType)>*/;
6781 RET_LABEL45
:(void)0;
6785 if (unlikely(var_ntype
== NULL
)) {
6786 PRINT_ERROR("Runtime error: %s", "Cast failed");
6787 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 1109);
6793 var50
= "Redef Error: Wrong static type. found ";
6795 var52
= standard___standard__NativeString___to_s_with_length(var50
, var51
);
6802 var55
= ", expected ";
6804 var57
= standard___standard__NativeString___to_s_with_length(var55
, var56
);
6813 var62
= standard___standard__NativeString___to_s_with_length(var60
, var61
);
6817 var63
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6818 { /* var63 = array_instance Array[Object] */
6820 var65
= NEW_standard__NativeArray(var64
, &type_standard__NativeArray__standard__Object
);
6821 ((struct instance_standard__NativeArray
*)var65
)->values
[0] = (val
*) var49
;
6822 ((struct instance_standard__NativeArray
*)var65
)->values
[1] = (val
*) var_mtype
;
6823 ((struct instance_standard__NativeArray
*)var65
)->values
[2] = (val
*) var54
;
6824 ((struct instance_standard__NativeArray
*)var65
)->values
[3] = (val
*) var_precursor_type
;
6825 ((struct instance_standard__NativeArray
*)var65
)->values
[4] = (val
*) var59
;
6827 ((void (*)(val
* self
, val
* p0
, long p1
))(var63
->class->vft
[COLOR_standard__array__Array__with_native
]))(var63
, var65
, var64
) /* with_native on <var63:Array[Object]>*/;
6831 var66
= ((val
* (*)(val
* self
))(var63
->class->vft
[COLOR_standard__string__Object__to_s
]))(var63
) /* to_s on <var63:Array[Object]>*/;
6834 nit___nit__ModelBuilder___error(var_modelbuilder
, var_ntype
, var66
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
6842 { /* Inline modelize_property#AAttrPropdef#mreadpropdef (self) on <self:AAttrPropdef> */
6843 var69
= self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___mreadpropdef
].val
; /* _mreadpropdef on <self:AAttrPropdef> */
6845 RET_LABEL68
:(void)0;
6850 if (var_meth
== NULL
) {
6851 var71
= 0; /* is null */
6853 var71
= 1; /* arg is null and recv is not */
6856 { /* Inline kernel#Object#!= (var_meth,var70) on <var_meth:nullable MMethodDef> */
6857 var_other46
= var70
;
6859 var74
= ((short int (*)(val
* self
, val
* p0
))(var_meth
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_meth
, var_other46
) /* == on <var_meth:nullable MMethodDef(MMethodDef)>*/;
6864 RET_LABEL73
:(void)0;
6870 nit__modelize_property___AAttrPropdef___check_method_signature(self
, var_modelbuilder
, var_meth
); /* Direct call modelize_property#AAttrPropdef#check_method_signature on <self:AAttrPropdef>*/
6872 var_node
= var_ntype
;
6874 if (var_node
== NULL
) {
6875 var77
= 1; /* is null */
6877 var77
= 0; /* arg is null but recv is not */
6880 { /* Inline kernel#Object#== (var_node,var76) on <var_node:nullable ANode> */
6883 { /* Inline kernel#Object#is_same_instance (var_node,var_other) on <var_node:nullable ANode(ANode)> */
6884 var82
= var_node
== var_other
;
6887 RET_LABEL81
:(void)0;
6892 RET_LABEL79
:(void)0;
6901 nit__modelize_property___ModelBuilder___check_visibility(var_modelbuilder
, var_node
, var_mtype
, var_meth
); /* Direct call modelize_property#ModelBuilder#check_visibility on <var_modelbuilder:ModelBuilder>*/
6906 { /* Inline modelize_property#AAttrPropdef#mwritepropdef (self) on <self:AAttrPropdef> */
6907 var85
= self
->attrs
[COLOR_nit__modelize_property__AAttrPropdef___mwritepropdef
].val
; /* _mwritepropdef on <self:AAttrPropdef> */
6909 RET_LABEL84
:(void)0;
6914 if (var_meth
== NULL
) {
6915 var87
= 0; /* is null */
6917 var87
= 1; /* arg is null and recv is not */
6920 { /* Inline kernel#Object#!= (var_meth,var86) on <var_meth:nullable MMethodDef> */
6921 var_other46
= var86
;
6923 var90
= ((short int (*)(val
* self
, val
* p0
))(var_meth
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_meth
, var_other46
) /* == on <var_meth:nullable MMethodDef(MMethodDef)>*/;
6928 RET_LABEL89
:(void)0;
6934 nit__modelize_property___AAttrPropdef___check_method_signature(self
, var_modelbuilder
, var_meth
); /* Direct call modelize_property#AAttrPropdef#check_method_signature on <self:AAttrPropdef>*/
6936 var_node92
= var_ntype
;
6938 if (var_node92
== NULL
) {
6939 var94
= 1; /* is null */
6941 var94
= 0; /* arg is null but recv is not */
6944 { /* Inline kernel#Object#== (var_node92,var93) on <var_node92:nullable ANode> */
6947 { /* Inline kernel#Object#is_same_instance (var_node92,var_other) on <var_node92:nullable ANode(ANode)> */
6948 var99
= var_node92
== var_other
;
6951 RET_LABEL98
:(void)0;
6956 RET_LABEL96
:(void)0;
6965 nit__modelize_property___ModelBuilder___check_visibility(var_modelbuilder
, var_node92
, var_mtype
, var_meth
); /* Direct call modelize_property#ModelBuilder#check_visibility on <var_modelbuilder:ModelBuilder>*/
6971 /* method modelize_property#AAttrPropdef#check_method_signature for (self: AAttrPropdef, ModelBuilder, MMethodDef) */
6972 void nit__modelize_property___AAttrPropdef___check_method_signature(val
* self
, val
* p0
, val
* p1
) {
6973 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
6974 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
6975 val
* var
/* : MClassDef */;
6976 val
* var2
/* : MClassDef */;
6977 val
* var_mclassdef
/* var mclassdef: MClassDef */;
6978 val
* var3
/* : MModule */;
6979 val
* var5
/* : MModule */;
6980 val
* var_mmodule
/* var mmodule: MModule */;
6981 val
* var6
/* : nullable AType */;
6982 val
* var8
/* : nullable AType */;
6983 val
* var_nsig
/* var nsig: nullable AType */;
6984 val
* var9
/* : nullable MSignature */;
6985 val
* var11
/* : nullable MSignature */;
6986 val
* var_mysignature
/* var mysignature: nullable MSignature */;
6987 val
* var12
/* : null */;
6988 short int var13
/* : Bool */;
6989 short int var14
/* : Bool */;
6990 val
* var_other
/* var other: nullable Object */;
6991 short int var16
/* : Bool */;
6992 short int var18
/* : Bool */;
6993 short int var19
/* : Bool */;
6994 short int var20
/* : Bool */;
6995 val
* var21
/* : MProperty */;
6996 val
* var23
/* : MProperty */;
6997 val
* var24
/* : MPropDef */;
6998 val
* var26
/* : MPropDef */;
6999 val
* var27
/* : nullable MSignature */;
7000 val
* var29
/* : nullable MSignature */;
7001 val
* var_msignature
/* var msignature: nullable MSignature */;
7002 val
* var30
/* : null */;
7003 short int var31
/* : Bool */;
7004 short int var32
/* : Bool */;
7005 short int var34
/* : Bool */;
7006 short int var36
/* : Bool */;
7007 long var37
/* : Int */;
7008 long var38
/* : Int */;
7009 short int var39
/* : Bool */;
7010 short int var41
/* : Bool */;
7011 short int var42
/* : Bool */;
7012 val
* var43
/* : null */;
7013 short int var44
/* : Bool */;
7014 short int var45
/* : Bool */;
7015 val
* var_other47
/* var other: nullable Object */;
7016 short int var48
/* : Bool */;
7017 short int var49
/* : Bool */;
7018 val
* var_node
/* var node: ANode */;
7019 static val
* varonce
;
7020 val
* var50
/* : String */;
7021 char* var51
/* : NativeString */;
7022 long var52
/* : Int */;
7023 val
* var53
/* : FlatString */;
7024 long var54
/* : Int */;
7025 static val
* varonce55
;
7026 val
* var56
/* : String */;
7027 char* var57
/* : NativeString */;
7028 long var58
/* : Int */;
7029 val
* var59
/* : FlatString */;
7030 long var60
/* : Int */;
7031 static val
* varonce61
;
7032 val
* var62
/* : String */;
7033 char* var63
/* : NativeString */;
7034 long var64
/* : Int */;
7035 val
* var65
/* : FlatString */;
7036 val
* var66
/* : Array[Object] */;
7037 long var67
/* : Int */;
7038 val
* var68
/* : NativeArray[Object] */;
7039 val
* var69
/* : Object */;
7040 val
* var70
/* : Object */;
7041 val
* var71
/* : String */;
7042 val
* var72
/* : nullable MType */;
7043 val
* var74
/* : nullable MType */;
7044 val
* var_precursor_ret_type
/* var precursor_ret_type: nullable MType */;
7045 val
* var75
/* : nullable MType */;
7046 val
* var77
/* : nullable MType */;
7047 val
* var_ret_type
/* var ret_type: nullable MType */;
7048 short int var78
/* : Bool */;
7049 val
* var79
/* : null */;
7050 short int var80
/* : Bool */;
7051 short int var81
/* : Bool */;
7052 short int var83
/* : Bool */;
7053 short int var84
/* : Bool */;
7054 short int var_
/* var : Bool */;
7055 val
* var85
/* : null */;
7056 short int var86
/* : Bool */;
7057 short int var87
/* : Bool */;
7058 short int var89
/* : Bool */;
7059 short int var91
/* : Bool */;
7060 val
* var92
/* : null */;
7061 short int var93
/* : Bool */;
7062 short int var94
/* : Bool */;
7063 short int var96
/* : Bool */;
7064 short int var97
/* : Bool */;
7065 val
* var_node98
/* var node: ANode */;
7066 static val
* varonce99
;
7067 val
* var100
/* : String */;
7068 char* var101
/* : NativeString */;
7069 long var102
/* : Int */;
7070 val
* var103
/* : FlatString */;
7071 val
* var104
/* : MProperty */;
7072 val
* var106
/* : MProperty */;
7073 static val
* varonce107
;
7074 val
* var108
/* : String */;
7075 char* var109
/* : NativeString */;
7076 long var110
/* : Int */;
7077 val
* var111
/* : FlatString */;
7078 val
* var112
/* : Array[Object] */;
7079 long var113
/* : Int */;
7080 val
* var114
/* : NativeArray[Object] */;
7081 val
* var115
/* : String */;
7082 long var116
/* : Int */;
7083 long var117
/* : Int */;
7084 short int var118
/* : Bool */;
7085 short int var120
/* : Bool */;
7088 const char* var_class_name
;
7089 short int var121
/* : Bool */;
7090 long var122
/* : Int */;
7091 long var_i
/* var i: Int */;
7092 long var123
/* : Int */;
7093 long var_124
/* var : Int */;
7094 short int var125
/* : Bool */;
7095 short int var127
/* : Bool */;
7098 const char* var_class_name130
;
7099 short int var131
/* : Bool */;
7100 val
* var132
/* : Array[MParameter] */;
7101 val
* var134
/* : Array[MParameter] */;
7102 val
* var135
/* : nullable Object */;
7103 val
* var136
/* : MType */;
7104 val
* var138
/* : MType */;
7105 val
* var_myt
/* var myt: MType */;
7106 val
* var139
/* : Array[MParameter] */;
7107 val
* var141
/* : Array[MParameter] */;
7108 val
* var142
/* : nullable Object */;
7109 val
* var143
/* : MType */;
7110 val
* var145
/* : MType */;
7111 val
* var_prt
/* var prt: MType */;
7112 short int var146
/* : Bool */;
7113 val
* var147
/* : MClassType */;
7114 val
* var149
/* : MClassType */;
7115 short int var150
/* : Bool */;
7116 short int var151
/* : Bool */;
7117 short int var_152
/* var : Bool */;
7118 val
* var153
/* : MClassType */;
7119 val
* var155
/* : MClassType */;
7120 short int var156
/* : Bool */;
7121 short int var157
/* : Bool */;
7122 val
* var158
/* : null */;
7123 short int var159
/* : Bool */;
7124 short int var160
/* : Bool */;
7125 short int var162
/* : Bool */;
7126 short int var163
/* : Bool */;
7127 val
* var_node164
/* var node: ANode */;
7128 static val
* varonce165
;
7129 val
* var166
/* : String */;
7130 char* var167
/* : NativeString */;
7131 long var168
/* : Int */;
7132 val
* var169
/* : FlatString */;
7133 val
* var170
/* : Array[MParameter] */;
7134 val
* var172
/* : Array[MParameter] */;
7135 val
* var173
/* : nullable Object */;
7136 val
* var174
/* : String */;
7137 val
* var176
/* : String */;
7138 static val
* varonce177
;
7139 val
* var178
/* : String */;
7140 char* var179
/* : NativeString */;
7141 long var180
/* : Int */;
7142 val
* var181
/* : FlatString */;
7143 static val
* varonce182
;
7144 val
* var183
/* : String */;
7145 char* var184
/* : NativeString */;
7146 long var185
/* : Int */;
7147 val
* var186
/* : FlatString */;
7148 static val
* varonce187
;
7149 val
* var188
/* : String */;
7150 char* var189
/* : NativeString */;
7151 long var190
/* : Int */;
7152 val
* var191
/* : FlatString */;
7153 val
* var192
/* : Array[Object] */;
7154 long var193
/* : Int */;
7155 val
* var194
/* : NativeArray[Object] */;
7156 val
* var195
/* : String */;
7157 long var196
/* : Int */;
7158 long var197
/* : Int */;
7159 val
* var198
/* : null */;
7160 short int var199
/* : Bool */;
7161 short int var200
/* : Bool */;
7162 short int var202
/* : Bool */;
7163 short int var203
/* : Bool */;
7164 val
* var204
/* : null */;
7165 short int var205
/* : Bool */;
7166 short int var206
/* : Bool */;
7167 short int var208
/* : Bool */;
7168 short int var210
/* : Bool */;
7169 val
* var211
/* : MClassType */;
7170 val
* var213
/* : MClassType */;
7171 short int var214
/* : Bool */;
7172 short int var215
/* : Bool */;
7173 val
* var216
/* : null */;
7174 short int var217
/* : Bool */;
7175 short int var218
/* : Bool */;
7176 short int var220
/* : Bool */;
7177 short int var221
/* : Bool */;
7178 val
* var_node222
/* var node: ANode */;
7179 static val
* varonce223
;
7180 val
* var224
/* : String */;
7181 char* var225
/* : NativeString */;
7182 long var226
/* : Int */;
7183 val
* var227
/* : FlatString */;
7184 static val
* varonce228
;
7185 val
* var229
/* : String */;
7186 char* var230
/* : NativeString */;
7187 long var231
/* : Int */;
7188 val
* var232
/* : FlatString */;
7189 static val
* varonce233
;
7190 val
* var234
/* : String */;
7191 char* var235
/* : NativeString */;
7192 long var236
/* : Int */;
7193 val
* var237
/* : FlatString */;
7194 val
* var238
/* : Array[Object] */;
7195 long var239
/* : Int */;
7196 val
* var240
/* : NativeArray[Object] */;
7197 val
* var241
/* : String */;
7198 var_modelbuilder
= p0
;
7201 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
7202 var2
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
7203 if (unlikely(var2
== NULL
)) {
7204 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7205 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
7212 var_mclassdef
= var
;
7214 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
7215 var5
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
7216 if (unlikely(var5
== NULL
)) {
7217 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
7218 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
7227 { /* Inline parser_nodes#AAttrPropdef#n_type (self) on <self:AAttrPropdef> */
7228 var8
= self
->attrs
[COLOR_nit__parser_nodes__AAttrPropdef___n_type
].val
; /* _n_type on <self:AAttrPropdef> */
7235 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
7236 var11
= var_mpropdef
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:MMethodDef> */
7238 RET_LABEL10
:(void)0;
7241 var_mysignature
= var9
;
7243 if (var_mysignature
== NULL
) {
7244 var13
= 1; /* is null */
7246 var13
= 0; /* arg is null but recv is not */
7249 { /* Inline kernel#Object#== (var_mysignature,var12) on <var_mysignature:nullable MSignature> */
7252 { /* Inline kernel#Object#is_same_instance (var_mysignature,var_other) on <var_mysignature:nullable MSignature(MSignature)> */
7253 var18
= var_mysignature
== var_other
;
7256 RET_LABEL17
:(void)0;
7261 RET_LABEL15
:(void)0;
7270 var19
= nit___nit__MPropDef___is_intro(var_mpropdef
);
7275 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
7276 var23
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
7277 if (unlikely(var23
== NULL
)) {
7278 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
7279 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
7283 RET_LABEL22
:(void)0;
7287 { /* Inline model#MProperty#intro (var21) on <var21:MProperty(MMethod)> */
7288 var26
= var21
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var21:MProperty(MMethod)> */
7289 if (unlikely(var26
== NULL
)) {
7290 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
7291 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1773);
7295 RET_LABEL25
:(void)0;
7299 { /* Inline model#MMethodDef#msignature (var24) on <var24:MPropDef(MMethodDef)> */
7300 var29
= var24
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var24:MPropDef(MMethodDef)> */
7302 RET_LABEL28
:(void)0;
7305 var_msignature
= var27
;
7307 if (var_msignature
== NULL
) {
7308 var31
= 1; /* is null */
7310 var31
= 0; /* arg is null but recv is not */
7313 { /* Inline kernel#Object#== (var_msignature,var30) on <var_msignature:nullable MSignature> */
7316 { /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on <var_msignature:nullable MSignature(MSignature)> */
7317 var36
= var_msignature
== var_other
;
7320 RET_LABEL35
:(void)0;
7325 RET_LABEL33
:(void)0;
7334 var37
= nit___nit__MSignature___arity(var_mysignature
);
7337 var38
= nit___nit__MSignature___arity(var_msignature
);
7340 { /* Inline kernel#Int#!= (var37,var38) on <var37:Int> */
7341 var41
= var37
== var38
;
7345 RET_LABEL40
:(void)0;
7350 if (var_nsig
== NULL
) {
7351 var44
= 0; /* is null */
7353 var44
= 1; /* arg is null and recv is not */
7356 { /* Inline kernel#Object#!= (var_nsig,var43) on <var_nsig:nullable AType> */
7357 var_other47
= var43
;
7359 var48
= ((short int (*)(val
* self
, val
* p0
))(var_nsig
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nsig
, var_other47
) /* == on <var_nsig:nullable AType(AType)>*/;
7364 RET_LABEL46
:(void)0;
7369 var_node
= var_nsig
;
7376 var51
= "Redef Error: ";
7378 var53
= standard___standard__NativeString___to_s_with_length(var51
, var52
);
7383 var54
= nit___nit__MSignature___arity(var_mysignature
);
7388 var57
= " parameters found, ";
7390 var59
= standard___standard__NativeString___to_s_with_length(var57
, var58
);
7395 var60
= nit___nit__MSignature___arity(var_msignature
);
7400 var63
= " expected. Signature is ";
7402 var65
= standard___standard__NativeString___to_s_with_length(var63
, var64
);
7406 var66
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7407 { /* var66 = array_instance Array[Object] */
7409 var68
= NEW_standard__NativeArray(var67
, &type_standard__NativeArray__standard__Object
);
7410 ((struct instance_standard__NativeArray
*)var68
)->values
[0] = (val
*) var50
;
7411 var69
= BOX_standard__Int(var54
); /* autobox from Int to Object */
7412 ((struct instance_standard__NativeArray
*)var68
)->values
[1] = (val
*) var69
;
7413 ((struct instance_standard__NativeArray
*)var68
)->values
[2] = (val
*) var56
;
7414 var70
= BOX_standard__Int(var60
); /* autobox from Int to Object */
7415 ((struct instance_standard__NativeArray
*)var68
)->values
[3] = (val
*) var70
;
7416 ((struct instance_standard__NativeArray
*)var68
)->values
[4] = (val
*) var62
;
7417 ((struct instance_standard__NativeArray
*)var68
)->values
[5] = (val
*) var_mpropdef
;
7418 ((struct instance_standard__NativeArray
*)var68
)->values
[6] = (val
*) var_msignature
;
7420 ((void (*)(val
* self
, val
* p0
, long p1
))(var66
->class->vft
[COLOR_standard__array__Array__with_native
]))(var66
, var68
, var67
) /* with_native on <var66:Array[Object]>*/;
7424 var71
= ((val
* (*)(val
* self
))(var66
->class->vft
[COLOR_standard__string__Object__to_s
]))(var66
) /* to_s on <var66:Array[Object]>*/;
7427 nit___nit__ModelBuilder___error(var_modelbuilder
, var_node
, var71
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
7433 { /* Inline model#MSignature#return_mtype (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
7434 var74
= var_msignature
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var_msignature:nullable MSignature(MSignature)> */
7436 RET_LABEL73
:(void)0;
7439 var_precursor_ret_type
= var72
;
7441 { /* Inline model#MSignature#return_mtype (var_mysignature) on <var_mysignature:nullable MSignature(MSignature)> */
7442 var77
= var_mysignature
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var_mysignature:nullable MSignature(MSignature)> */
7444 RET_LABEL76
:(void)0;
7447 var_ret_type
= var75
;
7449 if (var_ret_type
== NULL
) {
7450 var80
= 0; /* is null */
7452 var80
= 1; /* arg is null and recv is not */
7455 { /* Inline kernel#Object#!= (var_ret_type,var79) on <var_ret_type:nullable MType> */
7456 var_other47
= var79
;
7458 var83
= ((short int (*)(val
* self
, val
* p0
))(var_ret_type
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ret_type
, var_other47
) /* == on <var_ret_type:nullable MType(MType)>*/;
7463 RET_LABEL82
:(void)0;
7470 if (var_precursor_ret_type
== NULL
) {
7471 var86
= 1; /* is null */
7473 var86
= 0; /* arg is null but recv is not */
7476 { /* Inline kernel#Object#== (var_precursor_ret_type,var85) on <var_precursor_ret_type:nullable MType> */
7479 { /* Inline kernel#Object#is_same_instance (var_precursor_ret_type,var_other) on <var_precursor_ret_type:nullable MType(MType)> */
7480 var91
= var_precursor_ret_type
== var_other
;
7483 RET_LABEL90
:(void)0;
7488 RET_LABEL88
:(void)0;
7498 if (var_nsig
== NULL
) {
7499 var93
= 0; /* is null */
7501 var93
= 1; /* arg is null and recv is not */
7504 { /* Inline kernel#Object#!= (var_nsig,var92) on <var_nsig:nullable AType> */
7505 var_other47
= var92
;
7507 var96
= ((short int (*)(val
* self
, val
* p0
))(var_nsig
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nsig
, var_other47
) /* == on <var_nsig:nullable AType(AType)>*/;
7512 RET_LABEL95
:(void)0;
7517 var_node98
= var_nsig
;
7524 var101
= "Redef Error: ";
7526 var103
= standard___standard__NativeString___to_s_with_length(var101
, var102
);
7531 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
7532 var106
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
7533 if (unlikely(var106
== NULL
)) {
7534 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
7535 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
7539 RET_LABEL105
:(void)0;
7543 var108
= varonce107
;
7545 var109
= " is a procedure, not a function.";
7547 var111
= standard___standard__NativeString___to_s_with_length(var109
, var110
);
7549 varonce107
= var108
;
7551 var112
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7552 { /* var112 = array_instance Array[Object] */
7554 var114
= NEW_standard__NativeArray(var113
, &type_standard__NativeArray__standard__Object
);
7555 ((struct instance_standard__NativeArray
*)var114
)->values
[0] = (val
*) var100
;
7556 ((struct instance_standard__NativeArray
*)var114
)->values
[1] = (val
*) var104
;
7557 ((struct instance_standard__NativeArray
*)var114
)->values
[2] = (val
*) var108
;
7559 ((void (*)(val
* self
, val
* p0
, long p1
))(var112
->class->vft
[COLOR_standard__array__Array__with_native
]))(var112
, var114
, var113
) /* with_native on <var112:Array[Object]>*/;
7563 var115
= ((val
* (*)(val
* self
))(var112
->class->vft
[COLOR_standard__string__Object__to_s
]))(var112
) /* to_s on <var112:Array[Object]>*/;
7566 nit___nit__ModelBuilder___error(var_modelbuilder
, var_node98
, var115
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
7572 var116
= nit___nit__MSignature___arity(var_mysignature
);
7576 { /* Inline kernel#Int#> (var116,var117) on <var116:Int> */
7577 /* Covariant cast for argument 0 (i) <var117:Int> isa OTHER */
7578 /* <var117:Int> isa OTHER */
7579 var120
= 1; /* easy <var117:Int> isa OTHER*/
7580 if (unlikely(!var120
)) {
7581 var_class_name
= type_standard__Int
.name
;
7582 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7583 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 412);
7586 var121
= var116
> var117
;
7589 RET_LABEL119
:(void)0;
7596 var123
= nit___nit__MSignature___arity(var_mysignature
);
7601 { /* Inline kernel#Int#< (var_i,var_124) on <var_i:Int> */
7602 /* Covariant cast for argument 0 (i) <var_124:Int> isa OTHER */
7603 /* <var_124:Int> isa OTHER */
7604 var127
= 1; /* easy <var_124:Int> isa OTHER*/
7605 if (unlikely(!var127
)) {
7606 var_class_name130
= type_standard__Int
.name
;
7607 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name130
);
7608 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
7611 var131
= var_i
< var_124
;
7614 RET_LABEL126
:(void)0;
7619 { /* Inline model#MSignature#mparameters (var_mysignature) on <var_mysignature:nullable MSignature(MSignature)> */
7620 var134
= var_mysignature
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var_mysignature:nullable MSignature(MSignature)> */
7621 if (unlikely(var134
== NULL
)) {
7622 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
7623 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1592);
7627 RET_LABEL133
:(void)0;
7631 var135
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var132
, var_i
);
7634 { /* Inline model#MParameter#mtype (var135) on <var135:nullable Object(MParameter)> */
7635 var138
= var135
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var135:nullable Object(MParameter)> */
7636 if (unlikely(var138
== NULL
)) {
7637 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7638 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1690);
7642 RET_LABEL137
:(void)0;
7647 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
7648 var141
= var_msignature
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:nullable MSignature(MSignature)> */
7649 if (unlikely(var141
== NULL
)) {
7650 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
7651 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1592);
7655 RET_LABEL140
:(void)0;
7659 var142
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var139
, var_i
);
7662 { /* Inline model#MParameter#mtype (var142) on <var142:nullable Object(MParameter)> */
7663 var145
= var142
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var142:nullable Object(MParameter)> */
7664 if (unlikely(var145
== NULL
)) {
7665 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7666 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1690);
7670 RET_LABEL144
:(void)0;
7675 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
7676 var149
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
7677 if (unlikely(var149
== NULL
)) {
7678 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
7679 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
7683 RET_LABEL148
:(void)0;
7687 var150
= nit___nit__MType___is_subtype(var_myt
, var_mmodule
, var147
, var_prt
);
7695 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
7696 var155
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
7697 if (unlikely(var155
== NULL
)) {
7698 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
7699 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
7703 RET_LABEL154
:(void)0;
7707 var156
= nit___nit__MType___is_subtype(var_prt
, var_mmodule
, var153
, var_myt
);
7714 if (var_nsig
== NULL
) {
7715 var159
= 0; /* is null */
7717 var159
= 1; /* arg is null and recv is not */
7720 { /* Inline kernel#Object#!= (var_nsig,var158) on <var_nsig:nullable AType> */
7721 var_other47
= var158
;
7723 var162
= ((short int (*)(val
* self
, val
* p0
))(var_nsig
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nsig
, var_other47
) /* == on <var_nsig:nullable AType(AType)>*/;
7728 RET_LABEL161
:(void)0;
7733 var_node164
= var_nsig
;
7738 var166
= varonce165
;
7740 var167
= "Redef Error: Wrong type for parameter `";
7742 var169
= standard___standard__NativeString___to_s_with_length(var167
, var168
);
7744 varonce165
= var166
;
7747 { /* Inline model#MSignature#mparameters (var_mysignature) on <var_mysignature:nullable MSignature(MSignature)> */
7748 var172
= var_mysignature
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var_mysignature:nullable MSignature(MSignature)> */
7749 if (unlikely(var172
== NULL
)) {
7750 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
7751 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1592);
7755 RET_LABEL171
:(void)0;
7759 var173
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var170
, var_i
);
7762 { /* Inline model#MParameter#name (var173) on <var173:nullable Object(MParameter)> */
7763 var176
= var173
->attrs
[COLOR_nit__model__MParameter___name
].val
; /* _name on <var173:nullable Object(MParameter)> */
7764 if (unlikely(var176
== NULL
)) {
7765 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
7766 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1687);
7770 RET_LABEL175
:(void)0;
7774 var178
= varonce177
;
7776 var179
= "\'. found ";
7778 var181
= standard___standard__NativeString___to_s_with_length(var179
, var180
);
7780 varonce177
= var178
;
7783 var183
= varonce182
;
7785 var184
= ", expected ";
7787 var186
= standard___standard__NativeString___to_s_with_length(var184
, var185
);
7789 varonce182
= var183
;
7792 var188
= varonce187
;
7796 var191
= standard___standard__NativeString___to_s_with_length(var189
, var190
);
7798 varonce187
= var188
;
7800 var192
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7801 { /* var192 = array_instance Array[Object] */
7803 var194
= NEW_standard__NativeArray(var193
, &type_standard__NativeArray__standard__Object
);
7804 ((struct instance_standard__NativeArray
*)var194
)->values
[0] = (val
*) var166
;
7805 ((struct instance_standard__NativeArray
*)var194
)->values
[1] = (val
*) var174
;
7806 ((struct instance_standard__NativeArray
*)var194
)->values
[2] = (val
*) var178
;
7807 ((struct instance_standard__NativeArray
*)var194
)->values
[3] = (val
*) var_myt
;
7808 ((struct instance_standard__NativeArray
*)var194
)->values
[4] = (val
*) var183
;
7809 ((struct instance_standard__NativeArray
*)var194
)->values
[5] = (val
*) var_prt
;
7810 ((struct instance_standard__NativeArray
*)var194
)->values
[6] = (val
*) var188
;
7812 ((void (*)(val
* self
, val
* p0
, long p1
))(var192
->class->vft
[COLOR_standard__array__Array__with_native
]))(var192
, var194
, var193
) /* with_native on <var192:Array[Object]>*/;
7816 var195
= ((val
* (*)(val
* self
))(var192
->class->vft
[COLOR_standard__string__Object__to_s
]))(var192
) /* to_s on <var192:Array[Object]>*/;
7819 nit___nit__ModelBuilder___error(var_modelbuilder
, var_node164
, var195
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
7825 var197
= standard___standard__Int___Discrete__successor(var_i
, var196
);
7832 BREAK_label
: (void)0;
7836 if (var_precursor_ret_type
== NULL
) {
7837 var199
= 0; /* is null */
7839 var199
= 1; /* arg is null and recv is not */
7842 { /* Inline kernel#Object#!= (var_precursor_ret_type,var198) on <var_precursor_ret_type:nullable MType> */
7843 var_other47
= var198
;
7845 var202
= ((short int (*)(val
* self
, val
* p0
))(var_precursor_ret_type
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_precursor_ret_type
, var_other47
) /* == on <var_precursor_ret_type:nullable MType(MType)>*/;
7850 RET_LABEL201
:(void)0;
7856 if (var_ret_type
== NULL
) {
7857 var205
= 1; /* is null */
7859 var205
= 0; /* arg is null but recv is not */
7862 { /* Inline kernel#Object#== (var_ret_type,var204) on <var_ret_type:nullable MType> */
7865 { /* Inline kernel#Object#is_same_instance (var_ret_type,var_other) on <var_ret_type:nullable MType(MType)> */
7866 var210
= var_ret_type
== var_other
;
7869 RET_LABEL209
:(void)0;
7874 RET_LABEL207
:(void)0;
7879 var_ret_type
= var_precursor_ret_type
;
7882 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
7883 var213
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
7884 if (unlikely(var213
== NULL
)) {
7885 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
7886 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
7890 RET_LABEL212
:(void)0;
7894 var214
= nit___nit__MType___is_subtype(var_ret_type
, var_mmodule
, var211
, var_precursor_ret_type
);
7899 if (var_nsig
== NULL
) {
7900 var217
= 0; /* is null */
7902 var217
= 1; /* arg is null and recv is not */
7905 { /* Inline kernel#Object#!= (var_nsig,var216) on <var_nsig:nullable AType> */
7906 var_other47
= var216
;
7908 var220
= ((short int (*)(val
* self
, val
* p0
))(var_nsig
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nsig
, var_other47
) /* == on <var_nsig:nullable AType(AType)>*/;
7913 RET_LABEL219
:(void)0;
7918 var_node222
= var_nsig
;
7923 var224
= varonce223
;
7925 var225
= "Redef Error: Wrong return type. found ";
7927 var227
= standard___standard__NativeString___to_s_with_length(var225
, var226
);
7929 varonce223
= var224
;
7932 var229
= varonce228
;
7934 var230
= ", expected ";
7936 var232
= standard___standard__NativeString___to_s_with_length(var230
, var231
);
7938 varonce228
= var229
;
7941 var234
= varonce233
;
7945 var237
= standard___standard__NativeString___to_s_with_length(var235
, var236
);
7947 varonce233
= var234
;
7949 var238
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7950 { /* var238 = array_instance Array[Object] */
7952 var240
= NEW_standard__NativeArray(var239
, &type_standard__NativeArray__standard__Object
);
7953 ((struct instance_standard__NativeArray
*)var240
)->values
[0] = (val
*) var224
;
7954 ((struct instance_standard__NativeArray
*)var240
)->values
[1] = (val
*) var_ret_type
;
7955 ((struct instance_standard__NativeArray
*)var240
)->values
[2] = (val
*) var229
;
7956 ((struct instance_standard__NativeArray
*)var240
)->values
[3] = (val
*) var_precursor_ret_type
;
7957 ((struct instance_standard__NativeArray
*)var240
)->values
[4] = (val
*) var234
;
7959 ((void (*)(val
* self
, val
* p0
, long p1
))(var238
->class->vft
[COLOR_standard__array__Array__with_native
]))(var238
, var240
, var239
) /* with_native on <var238:Array[Object]>*/;
7963 var241
= ((val
* (*)(val
* self
))(var238
->class->vft
[COLOR_standard__string__Object__to_s
]))(var238
) /* to_s on <var238:Array[Object]>*/;
7966 nit___nit__ModelBuilder___error(var_modelbuilder
, var_node222
, var241
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
7977 /* method modelize_property#ATypePropdef#build_property for (self: ATypePropdef, ModelBuilder, MClassDef) */
7978 void nit__modelize_property___ATypePropdef___APropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
7979 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
7980 val
* var_mclassdef
/* var mclassdef: MClassDef */;
7981 val
* var
/* : TClassid */;
7982 val
* var2
/* : TClassid */;
7983 val
* var3
/* : String */;
7984 val
* var_name
/* var name: String */;
7985 val
* var4
/* : TClassid */;
7986 val
* var6
/* : TClassid */;
7987 val
* var7
/* : nullable MProperty */;
7988 val
* var_mprop
/* var mprop: nullable MProperty */;
7989 val
* var8
/* : null */;
7990 short int var9
/* : Bool */;
7991 short int var10
/* : Bool */;
7992 val
* var_other
/* var other: nullable Object */;
7993 short int var12
/* : Bool */;
7994 short int var14
/* : Bool */;
7995 val
* var15
/* : nullable AVisibility */;
7996 val
* var17
/* : nullable AVisibility */;
7997 val
* var18
/* : MVisibility */;
7998 val
* var_mvisibility
/* var mvisibility: MVisibility */;
7999 val
* var19
/* : MVirtualTypeProp */;
8000 val
* var20
/* : SequenceRead[Char] */;
8001 val
* var_
/* var : SequenceRead[Char] */;
8002 val
* var21
/* : Iterator[nullable Object] */;
8003 val
* var_22
/* var : IndexedIterator[Char] */;
8004 short int var23
/* : Bool */;
8005 val
* var24
/* : nullable Object */;
8006 char var25
/* : Char */;
8007 char var_c
/* var c: Char */;
8008 short int var26
/* : Bool */;
8009 char var27
/* : Char */;
8010 short int var28
/* : Bool */;
8011 short int var30
/* : Bool */;
8014 const char* var_class_name
;
8015 short int var31
/* : Bool */;
8016 short int var_32
/* var : Bool */;
8017 char var33
/* : Char */;
8018 short int var34
/* : Bool */;
8019 short int var36
/* : Bool */;
8022 const char* var_class_name39
;
8023 short int var40
/* : Bool */;
8024 val
* var41
/* : TClassid */;
8025 val
* var43
/* : TClassid */;
8026 static val
* varonce
;
8027 val
* var44
/* : String */;
8028 char* var45
/* : NativeString */;
8029 long var46
/* : Int */;
8030 val
* var47
/* : FlatString */;
8031 static val
* varonce48
;
8032 val
* var49
/* : String */;
8033 char* var50
/* : NativeString */;
8034 long var51
/* : Int */;
8035 val
* var52
/* : FlatString */;
8036 val
* var53
/* : Array[Object] */;
8037 long var54
/* : Int */;
8038 val
* var55
/* : NativeArray[Object] */;
8039 val
* var56
/* : String */;
8040 val
* var58
/* : nullable TKwredef */;
8041 val
* var60
/* : nullable TKwredef */;
8042 short int var61
/* : Bool */;
8043 short int var62
/* : Bool */;
8044 short int var63
/* : Bool */;
8045 val
* var64
/* : nullable TKwredef */;
8046 val
* var66
/* : nullable TKwredef */;
8047 short int var67
/* : Bool */;
8048 short int var68
/* : Bool */;
8049 short int var69
/* : Bool */;
8050 short int var70
/* : Bool */;
8053 val
* var73
/* : nullable AVisibility */;
8054 val
* var75
/* : nullable AVisibility */;
8055 val
* var76
/* : Map[MProperty, APropdef] */;
8056 val
* var78
/* : Map[MProperty, APropdef] */;
8057 val
* var79
/* : MVirtualTypeDef */;
8058 val
* var80
/* : Location */;
8059 val
* var82
/* : Location */;
8060 val
* var_mpropdef
/* var mpropdef: MVirtualTypeDef */;
8061 short int var83
/* : Bool */;
8064 const struct type
* type_struct
;
8065 const char* var_class_name86
;
8066 short int var88
/* : Bool */;
8069 const struct type
* type_struct91
;
8070 const char* var_class_name92
;
8071 val
* var93
/* : HashMap[MPropDef, APropdef] */;
8072 val
* var95
/* : HashMap[MPropDef, APropdef] */;
8073 short int var96
/* : Bool */;
8074 val
* var97
/* : ToolContext */;
8075 val
* var99
/* : ToolContext */;
8076 static val
* varonce100
;
8077 val
* var101
/* : String */;
8078 char* var102
/* : NativeString */;
8079 long var103
/* : Int */;
8080 val
* var104
/* : FlatString */;
8081 val
* var105
/* : String */;
8082 val
* var106
/* : Array[Object] */;
8083 long var107
/* : Int */;
8084 val
* var108
/* : NativeArray[Object] */;
8085 val
* var109
/* : String */;
8086 long var110
/* : Int */;
8087 val
* var111
/* : ToolContext */;
8088 val
* var113
/* : ToolContext */;
8089 static val
* varonce114
;
8090 val
* var115
/* : String */;
8091 char* var116
/* : NativeString */;
8092 long var117
/* : Int */;
8093 val
* var118
/* : FlatString */;
8094 val
* var119
/* : String */;
8095 val
* var120
/* : Array[Object] */;
8096 long var121
/* : Int */;
8097 val
* var122
/* : NativeArray[Object] */;
8098 val
* var123
/* : String */;
8099 long var124
/* : Int */;
8100 static val
* varonce125
;
8101 val
* var126
/* : String */;
8102 char* var127
/* : NativeString */;
8103 long var128
/* : Int */;
8104 val
* var129
/* : FlatString */;
8105 val
* var130
/* : nullable AAnnotation */;
8106 val
* var_atfixed
/* var atfixed: nullable AAnnotation */;
8107 val
* var131
/* : null */;
8108 short int var132
/* : Bool */;
8109 short int var133
/* : Bool */;
8110 val
* var_other135
/* var other: nullable Object */;
8111 short int var136
/* : Bool */;
8112 short int var137
/* : Bool */;
8113 short int var138
/* : Bool */;
8114 var_modelbuilder
= p0
;
8117 { /* Inline parser_nodes#ATypePropdef#n_id (self) on <self:ATypePropdef> */
8118 var2
= self
->attrs
[COLOR_nit__parser_nodes__ATypePropdef___n_id
].val
; /* _n_id on <self:ATypePropdef> */
8119 if (unlikely(var2
== NULL
)) {
8120 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
8121 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1322);
8129 var3
= nit__lexer_work___Token___text(var
);
8133 { /* Inline parser_nodes#ATypePropdef#n_id (self) on <self:ATypePropdef> */
8134 var6
= self
->attrs
[COLOR_nit__parser_nodes__ATypePropdef___n_id
].val
; /* _n_id on <self:ATypePropdef> */
8135 if (unlikely(var6
== NULL
)) {
8136 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
8137 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1322);
8145 var7
= nit___nit__ModelBuilder___try_get_mproperty_by_name(var_modelbuilder
, var4
, var_mclassdef
, var_name
);
8149 if (var_mprop
== NULL
) {
8150 var9
= 1; /* is null */
8152 var9
= 0; /* arg is null but recv is not */
8155 { /* Inline kernel#Object#== (var_mprop,var8) on <var_mprop:nullable MProperty> */
8158 { /* Inline kernel#Object#is_same_instance (var_mprop,var_other) on <var_mprop:nullable MProperty(MProperty)> */
8159 var14
= var_mprop
== var_other
;
8162 RET_LABEL13
:(void)0;
8167 RET_LABEL11
:(void)0;
8173 { /* Inline parser_nodes#ADefinition#n_visibility (self) on <self:ATypePropdef> */
8174 var17
= self
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_visibility
].val
; /* _n_visibility on <self:ATypePropdef> */
8176 RET_LABEL16
:(void)0;
8180 var18
= nit__modelize_property___APropdef___new_property_visibility(self
, var_modelbuilder
, var_mclassdef
, var15
);
8182 var_mvisibility
= var18
;
8183 var19
= NEW_nit__MVirtualTypeProp(&type_nit__MVirtualTypeProp
);
8185 ((void (*)(val
* self
, val
* p0
))(var19
->class->vft
[COLOR_nit__model__MProperty__intro_mclassdef_61d
]))(var19
, var_mclassdef
) /* intro_mclassdef= on <var19:MVirtualTypeProp>*/;
8188 ((void (*)(val
* self
, val
* p0
))(var19
->class->vft
[COLOR_nit__model__MProperty__name_61d
]))(var19
, var_name
) /* name= on <var19:MVirtualTypeProp>*/;
8191 ((void (*)(val
* self
, val
* p0
))(var19
->class->vft
[COLOR_nit__model__MProperty__visibility_61d
]))(var19
, var_mvisibility
) /* visibility= on <var19:MVirtualTypeProp>*/;
8194 ((void (*)(val
* self
))(var19
->class->vft
[COLOR_standard__kernel__Object__init
]))(var19
) /* init on <var19:MVirtualTypeProp>*/;
8198 var20
= ((val
* (*)(val
* self
))(var_name
->class->vft
[COLOR_standard__string__Text__chars
]))(var_name
) /* chars on <var_name:String>*/;
8202 var21
= ((val
* (*)(val
* self
))(var_
->class->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_
) /* iterator on <var_:SequenceRead[Char]>*/;
8207 var23
= ((short int (*)(val
* self
))(var_22
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_22
) /* is_ok on <var_22:IndexedIterator[Char]>*/;
8211 var24
= ((val
* (*)(val
* self
))(var_22
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_22
) /* item on <var_22:IndexedIterator[Char]>*/;
8213 var25
= ((struct instance_standard__Char
*)var24
)->value
; /* autounbox from nullable Object to Char */;
8217 { /* Inline kernel#Char#>= (var_c,var27) on <var_c:Char> */
8218 /* Covariant cast for argument 0 (i) <var27:Char> isa OTHER */
8219 /* <var27:Char> isa OTHER */
8220 var30
= 1; /* easy <var27:Char> isa OTHER*/
8221 if (unlikely(!var30
)) {
8222 var_class_name
= type_standard__Char
.name
;
8223 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
8224 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 593);
8227 var31
= var_c
>= var27
;
8230 RET_LABEL29
:(void)0;
8237 { /* Inline kernel#Char#<= (var_c,var33) on <var_c:Char> */
8238 /* Covariant cast for argument 0 (i) <var33:Char> isa OTHER */
8239 /* <var33:Char> isa OTHER */
8240 var36
= 1; /* easy <var33:Char> isa OTHER*/
8241 if (unlikely(!var36
)) {
8242 var_class_name39
= type_standard__Char
.name
;
8243 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39
);
8244 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 591);
8247 var40
= var_c
<= var33
;
8250 RET_LABEL35
:(void)0;
8259 { /* Inline parser_nodes#ATypePropdef#n_id (self) on <self:ATypePropdef> */
8260 var43
= self
->attrs
[COLOR_nit__parser_nodes__ATypePropdef___n_id
].val
; /* _n_id on <self:ATypePropdef> */
8261 if (unlikely(var43
== NULL
)) {
8262 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
8263 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1322);
8267 RET_LABEL42
:(void)0;
8273 var45
= "bad-type-name";
8275 var47
= standard___standard__NativeString___to_s_with_length(var45
, var46
);
8282 var50
= "Warning: lowercase in the virtual type ";
8284 var52
= standard___standard__NativeString___to_s_with_length(var50
, var51
);
8288 var53
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8289 { /* var53 = array_instance Array[Object] */
8291 var55
= NEW_standard__NativeArray(var54
, &type_standard__NativeArray__standard__Object
);
8292 ((struct instance_standard__NativeArray
*)var55
)->values
[0] = (val
*) var49
;
8293 ((struct instance_standard__NativeArray
*)var55
)->values
[1] = (val
*) var_name
;
8295 ((void (*)(val
* self
, val
* p0
, long p1
))(var53
->class->vft
[COLOR_standard__array__Array__with_native
]))(var53
, var55
, var54
) /* with_native on <var53:Array[Object]>*/;
8299 var56
= ((val
* (*)(val
* self
))(var53
->class->vft
[COLOR_standard__string__Object__to_s
]))(var53
) /* to_s on <var53:Array[Object]>*/;
8302 nit___nit__ModelBuilder___warning(var_modelbuilder
, var41
, var44
, var56
); /* Direct call modelbuilder_base#ModelBuilder#warning on <var_modelbuilder:ModelBuilder>*/
8308 ((void (*)(val
* self
))(var_22
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_22
) /* next on <var_22:IndexedIterator[Char]>*/;
8314 BREAK_label
: (void)0;
8316 { /* Inline abstract_collection#Iterator#finish (var_22) on <var_22:IndexedIterator[Char]> */
8317 RET_LABEL57
:(void)0;
8321 { /* Inline parser_nodes#ADefinition#n_kwredef (self) on <self:ATypePropdef> */
8322 var60
= self
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_kwredef
].val
; /* _n_kwredef on <self:ATypePropdef> */
8324 RET_LABEL59
:(void)0;
8329 var62
= nit__modelize_property___APropdef___check_redef_keyword(self
, var_modelbuilder
, var_mclassdef
, var58
, var61
, var_mprop
);
8338 { /* Inline parser_nodes#ADefinition#n_kwredef (self) on <self:ATypePropdef> */
8339 var66
= self
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_kwredef
].val
; /* _n_kwredef on <self:ATypePropdef> */
8341 RET_LABEL65
:(void)0;
8346 var68
= nit__modelize_property___APropdef___check_redef_keyword(self
, var_modelbuilder
, var_mclassdef
, var64
, var67
, var_mprop
);
8353 /* <var_mprop:nullable MProperty(MProperty)> isa MVirtualTypeProp */
8354 cltype71
= type_nit__MVirtualTypeProp
.color
;
8355 idtype72
= type_nit__MVirtualTypeProp
.id
;
8356 if(cltype71
>= var_mprop
->type
->table_size
) {
8359 var70
= var_mprop
->type
->type_table
[cltype71
] == idtype72
;
8361 if (unlikely(!var70
)) {
8362 PRINT_ERROR("Runtime error: %s", "Assert failed");
8363 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 1204);
8367 { /* Inline parser_nodes#ADefinition#n_visibility (self) on <self:ATypePropdef> */
8368 var75
= self
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_visibility
].val
; /* _n_visibility on <self:ATypePropdef> */
8370 RET_LABEL74
:(void)0;
8374 nit__modelize_property___APropdef___check_redef_property_visibility(self
, var_modelbuilder
, var73
, var_mprop
); /* Direct call modelize_property#APropdef#check_redef_property_visibility on <self:ATypePropdef>*/
8378 { /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on <var_mclassdef:MClassDef> */
8379 var78
= var_mclassdef
->attrs
[COLOR_nit__modelize_property__MClassDef___mprop2npropdef
].val
; /* _mprop2npropdef on <var_mclassdef:MClassDef> */
8380 if (unlikely(var78
== NULL
)) {
8381 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
8382 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 352);
8386 RET_LABEL77
:(void)0;
8390 ((void (*)(val
* self
, val
* p0
, val
* p1
))(var76
->class->vft
[COLOR_standard__abstract_collection__Map___91d_93d_61d
]))(var76
, var_mprop
, self
) /* []= on <var76:Map[MProperty, APropdef]>*/;
8392 var79
= NEW_nit__MVirtualTypeDef(&type_nit__MVirtualTypeDef
);
8394 { /* Inline parser_nodes#ANode#location (self) on <self:ATypePropdef> */
8395 var82
= self
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <self:ATypePropdef> */
8396 if (unlikely(var82
== NULL
)) {
8397 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
8398 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 23);
8402 RET_LABEL81
:(void)0;
8406 ((void (*)(val
* self
, val
* p0
))(var79
->class->vft
[COLOR_nit__model__MPropDef__mclassdef_61d
]))(var79
, var_mclassdef
) /* mclassdef= on <var79:MVirtualTypeDef>*/;
8409 ((void (*)(val
* self
, val
* p0
))(var79
->class->vft
[COLOR_nit__model__MPropDef__mproperty_61d
]))(var79
, var_mprop
) /* mproperty= on <var79:MVirtualTypeDef>*/;
8412 ((void (*)(val
* self
, val
* p0
))(var79
->class->vft
[COLOR_nit__model__MPropDef__location_61d
]))(var79
, var80
) /* location= on <var79:MVirtualTypeDef>*/;
8415 ((void (*)(val
* self
))(var79
->class->vft
[COLOR_standard__kernel__Object__init
]))(var79
) /* init on <var79:MVirtualTypeDef>*/;
8417 var_mpropdef
= var79
;
8418 /* <var_mpropdef:MVirtualTypeDef> isa nullable MPROPDEF */
8419 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable__nit__modelize_property__APropdef__MPROPDEF
];
8420 cltype84
= type_struct
->color
;
8421 idtype85
= type_struct
->id
;
8422 if(cltype84
>= var_mpropdef
->type
->table_size
) {
8425 var83
= var_mpropdef
->type
->type_table
[cltype84
] == idtype85
;
8427 if (unlikely(!var83
)) {
8428 var_class_name86
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
8429 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name86
);
8430 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 1210);
8434 { /* Inline modelize_property#APropdef#mpropdef= (self,var_mpropdef) on <self:ATypePropdef> */
8435 /* Covariant cast for argument 0 (mpropdef) <var_mpropdef:MVirtualTypeDef> isa nullable MPROPDEF */
8436 /* <var_mpropdef:MVirtualTypeDef> isa nullable MPROPDEF */
8437 type_struct91
= self
->type
->resolution_table
->types
[COLOR_nullable__nit__modelize_property__APropdef__MPROPDEF
];
8438 cltype89
= type_struct91
->color
;
8439 idtype90
= type_struct91
->id
;
8440 if(cltype89
>= var_mpropdef
->type
->table_size
) {
8443 var88
= var_mpropdef
->type
->type_table
[cltype89
] == idtype90
;
8445 if (unlikely(!var88
)) {
8446 var_class_name92
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
8447 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name92
);
8448 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 405);
8451 self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
= var_mpropdef
; /* _mpropdef on <self:ATypePropdef> */
8452 RET_LABEL87
:(void)0;
8456 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
8457 var95
= var_modelbuilder
->attrs
[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
8458 if (unlikely(var95
== NULL
)) {
8459 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
8460 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 40);
8464 RET_LABEL94
:(void)0;
8468 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var93
, var_mpropdef
, self
); /* Direct call hash_collection#HashMap#[]= on <var93:HashMap[MPropDef, APropdef]>*/
8471 var96
= nit___nit__MPropDef___is_intro(var_mpropdef
);
8475 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
8476 var99
= var_modelbuilder
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
8477 if (unlikely(var99
== NULL
)) {
8478 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8479 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
8483 RET_LABEL98
:(void)0;
8487 var101
= varonce100
;
8489 var102
= " introduces new type ";
8491 var104
= standard___standard__NativeString___to_s_with_length(var102
, var103
);
8493 varonce100
= var101
;
8496 var105
= nit___nit__MProperty___nit__model_base__MEntity__full_name(var_mprop
);
8498 var106
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8499 { /* var106 = array_instance Array[Object] */
8501 var108
= NEW_standard__NativeArray(var107
, &type_standard__NativeArray__standard__Object
);
8502 ((struct instance_standard__NativeArray
*)var108
)->values
[0] = (val
*) var_mpropdef
;
8503 ((struct instance_standard__NativeArray
*)var108
)->values
[1] = (val
*) var101
;
8504 ((struct instance_standard__NativeArray
*)var108
)->values
[2] = (val
*) var105
;
8506 ((void (*)(val
* self
, val
* p0
, long p1
))(var106
->class->vft
[COLOR_standard__array__Array__with_native
]))(var106
, var108
, var107
) /* with_native on <var106:Array[Object]>*/;
8510 var109
= ((val
* (*)(val
* self
))(var106
->class->vft
[COLOR_standard__string__Object__to_s
]))(var106
) /* to_s on <var106:Array[Object]>*/;
8514 nit___nit__ToolContext___info(var97
, var109
, var110
); /* Direct call toolcontext#ToolContext#info on <var97:ToolContext>*/
8518 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
8519 var113
= var_modelbuilder
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
8520 if (unlikely(var113
== NULL
)) {
8521 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8522 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
8526 RET_LABEL112
:(void)0;
8530 var115
= varonce114
;
8532 var116
= " redefines type ";
8534 var118
= standard___standard__NativeString___to_s_with_length(var116
, var117
);
8536 varonce114
= var115
;
8539 var119
= nit___nit__MProperty___nit__model_base__MEntity__full_name(var_mprop
);
8541 var120
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8542 { /* var120 = array_instance Array[Object] */
8544 var122
= NEW_standard__NativeArray(var121
, &type_standard__NativeArray__standard__Object
);
8545 ((struct instance_standard__NativeArray
*)var122
)->values
[0] = (val
*) var_mpropdef
;
8546 ((struct instance_standard__NativeArray
*)var122
)->values
[1] = (val
*) var115
;
8547 ((struct instance_standard__NativeArray
*)var122
)->values
[2] = (val
*) var119
;
8549 ((void (*)(val
* self
, val
* p0
, long p1
))(var120
->class->vft
[COLOR_standard__array__Array__with_native
]))(var120
, var122
, var121
) /* with_native on <var120:Array[Object]>*/;
8553 var123
= ((val
* (*)(val
* self
))(var120
->class->vft
[COLOR_standard__string__Object__to_s
]))(var120
) /* to_s on <var120:Array[Object]>*/;
8557 nit___nit__ToolContext___info(var111
, var123
, var124
); /* Direct call toolcontext#ToolContext#info on <var111:ToolContext>*/
8561 nit__modelize_property___APropdef___set_doc(self
, var_mpropdef
, var_modelbuilder
); /* Direct call modelize_property#APropdef#set_doc on <self:ATypePropdef>*/
8564 var126
= varonce125
;
8568 var129
= standard___standard__NativeString___to_s_with_length(var127
, var128
);
8570 varonce125
= var126
;
8573 var130
= nit__annotation___Prod___get_single_annotation(self
, var126
, var_modelbuilder
);
8575 var_atfixed
= var130
;
8577 if (var_atfixed
== NULL
) {
8578 var132
= 0; /* is null */
8580 var132
= 1; /* arg is null and recv is not */
8583 { /* Inline kernel#Object#!= (var_atfixed,var131) on <var_atfixed:nullable AAnnotation> */
8584 var_other135
= var131
;
8586 var136
= ((short int (*)(val
* self
, val
* p0
))(var_atfixed
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_atfixed
, var_other135
) /* == on <var_atfixed:nullable AAnnotation(AAnnotation)>*/;
8591 RET_LABEL134
:(void)0;
8598 { /* Inline model#MVirtualTypeDef#is_fixed= (var_mpropdef,var138) on <var_mpropdef:MVirtualTypeDef> */
8599 var_mpropdef
->attrs
[COLOR_nit__model__MVirtualTypeDef___is_fixed
].s
= var138
; /* _is_fixed on <var_mpropdef:MVirtualTypeDef> */
8600 RET_LABEL139
:(void)0;
8607 /* method modelize_property#ATypePropdef#build_signature for (self: ATypePropdef, ModelBuilder) */
8608 void nit__modelize_property___ATypePropdef___APropdef__build_signature(val
* self
, val
* p0
) {
8609 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
8610 val
* var
/* : nullable MPropDef */;
8611 val
* var2
/* : nullable MPropDef */;
8612 val
* var_mpropdef
/* var mpropdef: nullable MVirtualTypeDef */;
8613 val
* var3
/* : null */;
8614 short int var4
/* : Bool */;
8615 short int var5
/* : Bool */;
8616 val
* var_other
/* var other: nullable Object */;
8617 short int var7
/* : Bool */;
8618 short int var9
/* : Bool */;
8619 val
* var10
/* : MClassDef */;
8620 val
* var12
/* : MClassDef */;
8621 val
* var_mclassdef
/* var mclassdef: MClassDef */;
8622 val
* var13
/* : MModule */;
8623 val
* var15
/* : MModule */;
8624 val
* var_mmodule
/* var mmodule: MModule */;
8625 val
* var16
/* : null */;
8626 val
* var_mtype
/* var mtype: nullable MType */;
8627 val
* var17
/* : AType */;
8628 val
* var19
/* : AType */;
8629 val
* var_ntype
/* var ntype: AType */;
8630 val
* var20
/* : nullable MType */;
8631 val
* var21
/* : null */;
8632 short int var22
/* : Bool */;
8633 short int var23
/* : Bool */;
8634 short int var25
/* : Bool */;
8635 short int var27
/* : Bool */;
8636 var_modelbuilder
= p0
;
8638 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:ATypePropdef> */
8639 var2
= self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:ATypePropdef> */
8646 if (var_mpropdef
== NULL
) {
8647 var4
= 1; /* is null */
8649 var4
= 0; /* arg is null but recv is not */
8652 { /* Inline kernel#Object#== (var_mpropdef,var3) on <var_mpropdef:nullable MVirtualTypeDef> */
8655 { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
8656 var9
= var_mpropdef
== var_other
;
8673 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
8674 var12
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
8675 if (unlikely(var12
== NULL
)) {
8676 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
8677 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
8681 RET_LABEL11
:(void)0;
8684 var_mclassdef
= var10
;
8686 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
8687 var15
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
8688 if (unlikely(var15
== NULL
)) {
8689 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
8690 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
8694 RET_LABEL14
:(void)0;
8697 var_mmodule
= var13
;
8701 { /* Inline parser_nodes#ATypePropdef#n_type (self) on <self:ATypePropdef> */
8702 var19
= self
->attrs
[COLOR_nit__parser_nodes__ATypePropdef___n_type
].val
; /* _n_type on <self:ATypePropdef> */
8703 if (unlikely(var19
== NULL
)) {
8704 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
8705 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1325);
8709 RET_LABEL18
:(void)0;
8714 var20
= nit__modelize_class___ModelBuilder___resolve_mtype(var_modelbuilder
, var_mmodule
, var_mclassdef
, var_ntype
);
8718 if (var_mtype
== NULL
) {
8719 var22
= 1; /* is null */
8721 var22
= 0; /* arg is null but recv is not */
8724 { /* Inline kernel#Object#== (var_mtype,var21) on <var_mtype:nullable MType> */
8727 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
8728 var27
= var_mtype
== var_other
;
8731 RET_LABEL26
:(void)0;
8736 RET_LABEL24
:(void)0;
8745 { /* Inline model#MVirtualTypeDef#bound= (var_mpropdef,var_mtype) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
8746 var_mpropdef
->attrs
[COLOR_nit__model__MVirtualTypeDef___bound
].val
= var_mtype
; /* _bound on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
8747 RET_LABEL28
:(void)0;
8752 /* method modelize_property#ATypePropdef#check_signature for (self: ATypePropdef, ModelBuilder) */
8753 void nit__modelize_property___ATypePropdef___APropdef__check_signature(val
* self
, val
* p0
) {
8754 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
8755 val
* var
/* : nullable MPropDef */;
8756 val
* var2
/* : nullable MPropDef */;
8757 val
* var_mpropdef
/* var mpropdef: nullable MVirtualTypeDef */;
8758 val
* var3
/* : null */;
8759 short int var4
/* : Bool */;
8760 short int var5
/* : Bool */;
8761 val
* var_other
/* var other: nullable Object */;
8762 short int var7
/* : Bool */;
8763 short int var9
/* : Bool */;
8764 val
* var10
/* : nullable MPropDef */;
8765 val
* var12
/* : nullable MPropDef */;
8766 val
* var13
/* : nullable MType */;
8767 val
* var15
/* : nullable MType */;
8768 val
* var_bound
/* var bound: nullable MType */;
8769 val
* var16
/* : null */;
8770 short int var17
/* : Bool */;
8771 short int var18
/* : Bool */;
8772 short int var20
/* : Bool */;
8773 short int var22
/* : Bool */;
8774 val
* var23
/* : AType */;
8775 val
* var25
/* : AType */;
8776 val
* var26
/* : MClassDef */;
8777 val
* var28
/* : MClassDef */;
8778 val
* var_mclassdef
/* var mclassdef: MClassDef */;
8779 val
* var29
/* : MModule */;
8780 val
* var31
/* : MModule */;
8781 val
* var_mmodule
/* var mmodule: MModule */;
8782 val
* var32
/* : MClassType */;
8783 val
* var34
/* : MClassType */;
8784 val
* var_anchor
/* var anchor: MClassType */;
8785 short int var35
/* : Bool */;
8788 val
* var36
/* : Array[MVirtualType] */;
8789 long var37
/* : Int */;
8790 val
* var_
/* var : Array[MVirtualType] */;
8791 val
* var38
/* : nullable MPropDef */;
8792 val
* var40
/* : nullable MPropDef */;
8793 val
* var41
/* : MProperty */;
8794 val
* var43
/* : MProperty */;
8795 val
* var44
/* : MVirtualType */;
8796 val
* var46
/* : MVirtualType */;
8797 val
* var_seen
/* var seen: Array[MVirtualType] */;
8798 short int var47
/* : Bool */;
8799 static val
* varonce
;
8800 val
* var48
/* : String */;
8801 char* var49
/* : NativeString */;
8802 long var50
/* : Int */;
8803 val
* var51
/* : FlatString */;
8804 static val
* varonce52
;
8805 val
* var53
/* : String */;
8806 char* var54
/* : NativeString */;
8807 long var55
/* : Int */;
8808 val
* var56
/* : FlatString */;
8809 val
* var57
/* : String */;
8810 val
* var58
/* : Array[Object] */;
8811 long var59
/* : Int */;
8812 val
* var60
/* : NativeArray[Object] */;
8813 val
* var61
/* : String */;
8814 val
* var62
/* : MType */;
8815 val
* var_next
/* var next: MType */;
8816 short int var63
/* : Bool */;
8819 short int var66
/* : Bool */;
8820 val
* var67
/* : nullable MType */;
8821 val
* var69
/* : nullable MType */;
8822 val
* var70
/* : MProperty */;
8823 val
* var72
/* : MProperty */;
8824 val
* var73
/* : Array[MPropDef] */;
8825 val
* var_74
/* var : Array[MVirtualTypeDef] */;
8826 val
* var75
/* : ArrayIterator[nullable Object] */;
8827 val
* var_76
/* var : ArrayIterator[MVirtualTypeDef] */;
8828 short int var77
/* : Bool */;
8829 val
* var78
/* : nullable Object */;
8830 val
* var_p
/* var p: MVirtualTypeDef */;
8831 val
* var79
/* : nullable MType */;
8832 val
* var81
/* : nullable MType */;
8833 val
* var_supbound
/* var supbound: nullable MType */;
8834 val
* var82
/* : null */;
8835 short int var83
/* : Bool */;
8836 short int var84
/* : Bool */;
8837 short int var86
/* : Bool */;
8838 short int var88
/* : Bool */;
8839 short int var90
/* : Bool */;
8840 short int var92
/* : Bool */;
8841 static val
* varonce93
;
8842 val
* var94
/* : String */;
8843 char* var95
/* : NativeString */;
8844 long var96
/* : Int */;
8845 val
* var97
/* : FlatString */;
8846 val
* var98
/* : MProperty */;
8847 val
* var100
/* : MProperty */;
8848 static val
* varonce101
;
8849 val
* var102
/* : String */;
8850 char* var103
/* : NativeString */;
8851 long var104
/* : Int */;
8852 val
* var105
/* : FlatString */;
8853 val
* var106
/* : MClassDef */;
8854 val
* var108
/* : MClassDef */;
8855 val
* var109
/* : MClass */;
8856 val
* var111
/* : MClass */;
8857 val
* var112
/* : Array[Object] */;
8858 long var113
/* : Int */;
8859 val
* var114
/* : NativeArray[Object] */;
8860 val
* var115
/* : String */;
8861 val
* var116
/* : MClassDef */;
8862 val
* var118
/* : MClassDef */;
8863 val
* var119
/* : MClass */;
8864 val
* var121
/* : MClass */;
8865 val
* var122
/* : MClass */;
8866 val
* var124
/* : MClass */;
8867 short int var125
/* : Bool */;
8868 short int var127
/* : Bool */;
8869 short int var129
/* : Bool */;
8870 val
* var130
/* : AType */;
8871 val
* var132
/* : AType */;
8872 static val
* varonce133
;
8873 val
* var134
/* : String */;
8874 char* var135
/* : NativeString */;
8875 long var136
/* : Int */;
8876 val
* var137
/* : FlatString */;
8877 static val
* varonce138
;
8878 val
* var139
/* : String */;
8879 char* var140
/* : NativeString */;
8880 long var141
/* : Int */;
8881 val
* var142
/* : FlatString */;
8882 short int var143
/* : Bool */;
8883 short int var144
/* : Bool */;
8884 val
* var145
/* : AType */;
8885 val
* var147
/* : AType */;
8886 static val
* varonce148
;
8887 val
* var149
/* : String */;
8888 char* var150
/* : NativeString */;
8889 long var151
/* : Int */;
8890 val
* var152
/* : FlatString */;
8891 static val
* varonce153
;
8892 val
* var154
/* : String */;
8893 char* var155
/* : NativeString */;
8894 long var156
/* : Int */;
8895 val
* var157
/* : FlatString */;
8896 static val
* varonce158
;
8897 val
* var159
/* : String */;
8898 char* var160
/* : NativeString */;
8899 long var161
/* : Int */;
8900 val
* var162
/* : FlatString */;
8901 static val
* varonce163
;
8902 val
* var164
/* : String */;
8903 char* var165
/* : NativeString */;
8904 long var166
/* : Int */;
8905 val
* var167
/* : FlatString */;
8906 val
* var168
/* : Array[Object] */;
8907 long var169
/* : Int */;
8908 val
* var170
/* : NativeArray[Object] */;
8909 val
* var171
/* : String */;
8910 var_modelbuilder
= p0
;
8912 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:ATypePropdef> */
8913 var2
= self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:ATypePropdef> */
8920 if (var_mpropdef
== NULL
) {
8921 var4
= 1; /* is null */
8923 var4
= 0; /* arg is null but recv is not */
8926 { /* Inline kernel#Object#== (var_mpropdef,var3) on <var_mpropdef:nullable MVirtualTypeDef> */
8929 { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
8930 var9
= var_mpropdef
== var_other
;
8947 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:ATypePropdef> */
8948 var12
= self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:ATypePropdef> */
8950 RET_LABEL11
:(void)0;
8953 if (var10
== NULL
) {
8954 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8955 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 1246);
8958 { /* Inline model#MVirtualTypeDef#bound (var10) on <var10:nullable MPropDef(nullable MVirtualTypeDef)> */
8959 if (unlikely(var10
== NULL
)) {
8960 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8961 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2191);
8964 var15
= var10
->attrs
[COLOR_nit__model__MVirtualTypeDef___bound
].val
; /* _bound on <var10:nullable MPropDef(nullable MVirtualTypeDef)> */
8966 RET_LABEL14
:(void)0;
8971 if (var_bound
== NULL
) {
8972 var17
= 1; /* is null */
8974 var17
= 0; /* arg is null but recv is not */
8977 { /* Inline kernel#Object#== (var_bound,var16) on <var_bound:nullable MType> */
8980 { /* Inline kernel#Object#is_same_instance (var_bound,var_other) on <var_bound:nullable MType(MType)> */
8981 var22
= var_bound
== var_other
;
8984 RET_LABEL21
:(void)0;
8989 RET_LABEL19
:(void)0;
8998 { /* Inline parser_nodes#ATypePropdef#n_type (self) on <self:ATypePropdef> */
8999 var25
= self
->attrs
[COLOR_nit__parser_nodes__ATypePropdef___n_type
].val
; /* _n_type on <self:ATypePropdef> */
9000 if (unlikely(var25
== NULL
)) {
9001 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
9002 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1325);
9006 RET_LABEL24
:(void)0;
9010 nit__modelize_property___ModelBuilder___check_visibility(var_modelbuilder
, var23
, var_bound
, var_mpropdef
); /* Direct call modelize_property#ModelBuilder#check_visibility on <var_modelbuilder:ModelBuilder>*/
9013 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
9014 var28
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
9015 if (unlikely(var28
== NULL
)) {
9016 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
9017 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
9021 RET_LABEL27
:(void)0;
9024 var_mclassdef
= var26
;
9026 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
9027 var31
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
9028 if (unlikely(var31
== NULL
)) {
9029 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
9030 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
9034 RET_LABEL30
:(void)0;
9037 var_mmodule
= var29
;
9039 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
9040 var34
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
9041 if (unlikely(var34
== NULL
)) {
9042 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
9043 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
9047 RET_LABEL33
:(void)0;
9051 /* <var_bound:nullable MType(MType)> isa MVirtualType */
9052 cltype
= type_nit__MVirtualType
.color
;
9053 idtype
= type_nit__MVirtualType
.id
;
9054 if(cltype
>= var_bound
->type
->table_size
) {
9057 var35
= var_bound
->type
->type_table
[cltype
] == idtype
;
9060 var36
= NEW_standard__Array(&type_standard__Array__nit__MVirtualType
);
9063 standard___standard__Array___with_capacity(var36
, var37
); /* Direct call array#Array#with_capacity on <var36:Array[MVirtualType]>*/
9067 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:ATypePropdef> */
9068 var40
= self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:ATypePropdef> */
9070 RET_LABEL39
:(void)0;
9073 if (var38
== NULL
) {
9074 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9075 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 1258);
9078 { /* Inline model#MPropDef#mproperty (var38) on <var38:nullable MPropDef(nullable MVirtualTypeDef)> */
9079 if (unlikely(var38
== NULL
)) {
9080 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9081 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
9084 var43
= var38
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var38:nullable MPropDef(nullable MVirtualTypeDef)> */
9085 if (unlikely(var43
== NULL
)) {
9086 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
9087 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
9091 RET_LABEL42
:(void)0;
9095 { /* Inline model#MVirtualTypeProp#mvirtualtype (var41) on <var41:MProperty(MVirtualTypeProp)> */
9096 var46
= var41
->attrs
[COLOR_nit__model__MVirtualTypeProp___mvirtualtype
].val
; /* _mvirtualtype on <var41:MProperty(MVirtualTypeProp)> */
9097 if (unlikely(var46
== NULL
)) {
9098 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mvirtualtype");
9099 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1992);
9103 RET_LABEL45
:(void)0;
9107 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var44
); /* Direct call array#AbstractArray#push on <var_:Array[MVirtualType]>*/
9112 var47
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_seen
, var_bound
);
9116 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_seen
, var_bound
); /* Direct call array#Array#add on <var_seen:Array[MVirtualType]>*/
9121 var49
= "Error: circularity of virtual type definition: ";
9123 var51
= standard___standard__NativeString___to_s_with_length(var49
, var50
);
9132 var56
= standard___standard__NativeString___to_s_with_length(var54
, var55
);
9137 var57
= standard__string___Collection___join(var_seen
, var53
);
9139 var58
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9140 { /* var58 = array_instance Array[Object] */
9142 var60
= NEW_standard__NativeArray(var59
, &type_standard__NativeArray__standard__Object
);
9143 ((struct instance_standard__NativeArray
*)var60
)->values
[0] = (val
*) var48
;
9144 ((struct instance_standard__NativeArray
*)var60
)->values
[1] = (val
*) var57
;
9146 ((void (*)(val
* self
, val
* p0
, long p1
))(var58
->class->vft
[COLOR_standard__array__Array__with_native
]))(var58
, var60
, var59
) /* with_native on <var58:Array[Object]>*/;
9150 var61
= ((val
* (*)(val
* self
))(var58
->class->vft
[COLOR_standard__string__Object__to_s
]))(var58
) /* to_s on <var58:Array[Object]>*/;
9153 nit___nit__ModelBuilder___error(var_modelbuilder
, self
, var61
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
9159 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_seen
, var_bound
); /* Direct call array#Array#add on <var_seen:Array[MVirtualType]>*/
9162 var62
= nit___nit__MVirtualType___MType__lookup_bound(var_bound
, var_mmodule
, var_anchor
);
9165 /* <var_next:MType> isa MVirtualType */
9166 cltype64
= type_nit__MVirtualType
.color
;
9167 idtype65
= type_nit__MVirtualType
.id
;
9168 if(cltype64
>= var_next
->type
->table_size
) {
9171 var63
= var_next
->type
->type_table
[cltype64
] == idtype65
;
9178 var_bound
= var_next
;
9180 BREAK_label
: (void)0;
9184 { /* Inline model#MVirtualTypeDef#bound (var_mpropdef) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
9185 var69
= var_mpropdef
->attrs
[COLOR_nit__model__MVirtualTypeDef___bound
].val
; /* _bound on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
9187 RET_LABEL68
:(void)0;
9190 if (unlikely(var67
== NULL
)) {
9191 PRINT_ERROR("Runtime error: %s", "Cast failed");
9192 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property
, 1273);
9197 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
9198 var72
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
9199 if (unlikely(var72
== NULL
)) {
9200 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
9201 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
9205 RET_LABEL71
:(void)0;
9209 var73
= nit___nit__MProperty___lookup_super_definitions(var70
, var_mmodule
, var_anchor
);
9213 var75
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_74
);
9218 var77
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_76
);
9222 var78
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_76
);
9226 { /* Inline model#MVirtualTypeDef#bound (var_p) on <var_p:MVirtualTypeDef> */
9227 var81
= var_p
->attrs
[COLOR_nit__model__MVirtualTypeDef___bound
].val
; /* _bound on <var_p:MVirtualTypeDef> */
9229 RET_LABEL80
:(void)0;
9232 var_supbound
= var79
;
9234 if (var_supbound
== NULL
) {
9235 var83
= 1; /* is null */
9237 var83
= 0; /* arg is null but recv is not */
9240 { /* Inline kernel#Object#== (var_supbound,var82) on <var_supbound:nullable MType> */
9243 { /* Inline kernel#Object#is_same_instance (var_supbound,var_other) on <var_supbound:nullable MType(MType)> */
9244 var88
= var_supbound
== var_other
;
9247 RET_LABEL87
:(void)0;
9252 RET_LABEL85
:(void)0;
9261 { /* Inline model#MVirtualTypeDef#is_fixed (var_p) on <var_p:MVirtualTypeDef> */
9262 var92
= var_p
->attrs
[COLOR_nit__model__MVirtualTypeDef___is_fixed
].s
; /* _is_fixed on <var_p:MVirtualTypeDef> */
9264 RET_LABEL91
:(void)0;
9271 var95
= "Redef Error: Virtual type ";
9273 var97
= standard___standard__NativeString___to_s_with_length(var95
, var96
);
9278 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
9279 var100
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
9280 if (unlikely(var100
== NULL
)) {
9281 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
9282 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
9286 RET_LABEL99
:(void)0;
9290 var102
= varonce101
;
9292 var103
= " is fixed in super-class ";
9294 var105
= standard___standard__NativeString___to_s_with_length(var103
, var104
);
9296 varonce101
= var102
;
9299 { /* Inline model#MPropDef#mclassdef (var_p) on <var_p:MVirtualTypeDef> */
9300 var108
= var_p
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_p:MVirtualTypeDef> */
9301 if (unlikely(var108
== NULL
)) {
9302 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
9303 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
9307 RET_LABEL107
:(void)0;
9311 { /* Inline model#MClassDef#mclass (var106) on <var106:MClassDef> */
9312 var111
= var106
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var106:MClassDef> */
9313 if (unlikely(var111
== NULL
)) {
9314 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9315 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
9319 RET_LABEL110
:(void)0;
9322 var112
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9323 { /* var112 = array_instance Array[Object] */
9325 var114
= NEW_standard__NativeArray(var113
, &type_standard__NativeArray__standard__Object
);
9326 ((struct instance_standard__NativeArray
*)var114
)->values
[0] = (val
*) var94
;
9327 ((struct instance_standard__NativeArray
*)var114
)->values
[1] = (val
*) var98
;
9328 ((struct instance_standard__NativeArray
*)var114
)->values
[2] = (val
*) var102
;
9329 ((struct instance_standard__NativeArray
*)var114
)->values
[3] = (val
*) var109
;
9331 ((void (*)(val
* self
, val
* p0
, long p1
))(var112
->class->vft
[COLOR_standard__array__Array__with_native
]))(var112
, var114
, var113
) /* with_native on <var112:Array[Object]>*/;
9335 var115
= ((val
* (*)(val
* self
))(var112
->class->vft
[COLOR_standard__string__Object__to_s
]))(var112
) /* to_s on <var112:Array[Object]>*/;
9338 nit___nit__ModelBuilder___error(var_modelbuilder
, self
, var115
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
9344 { /* Inline model#MPropDef#mclassdef (var_p) on <var_p:MVirtualTypeDef> */
9345 var118
= var_p
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_p:MVirtualTypeDef> */
9346 if (unlikely(var118
== NULL
)) {
9347 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
9348 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
9352 RET_LABEL117
:(void)0;
9356 { /* Inline model#MClassDef#mclass (var116) on <var116:MClassDef> */
9357 var121
= var116
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var116:MClassDef> */
9358 if (unlikely(var121
== NULL
)) {
9359 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9360 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
9364 RET_LABEL120
:(void)0;
9368 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
9369 var124
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
9370 if (unlikely(var124
== NULL
)) {
9371 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9372 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
9376 RET_LABEL123
:(void)0;
9380 { /* Inline kernel#Object#== (var119,var122) on <var119:MClass> */
9383 { /* Inline kernel#Object#is_same_instance (var119,var_other) on <var119:MClass> */
9384 var129
= var119
== var_other
;
9387 RET_LABEL128
:(void)0;
9392 RET_LABEL126
:(void)0;
9397 { /* Inline parser_nodes#ATypePropdef#n_type (self) on <self:ATypePropdef> */
9398 var132
= self
->attrs
[COLOR_nit__parser_nodes__ATypePropdef___n_type
].val
; /* _n_type on <self:ATypePropdef> */
9399 if (unlikely(var132
== NULL
)) {
9400 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
9401 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1325);
9405 RET_LABEL131
:(void)0;
9409 var134
= varonce133
;
9411 var135
= "refine-type";
9413 var137
= standard___standard__NativeString___to_s_with_length(var135
, var136
);
9415 varonce133
= var134
;
9418 var139
= varonce138
;
9420 var140
= "Redef Error: a virtual type cannot be refined.";
9422 var142
= standard___standard__NativeString___to_s_with_length(var140
, var141
);
9424 varonce138
= var139
;
9427 nit___nit__ModelBuilder___warning(var_modelbuilder
, var130
, var134
, var139
); /* Direct call modelbuilder_base#ModelBuilder#warning on <var_modelbuilder:ModelBuilder>*/
9433 var143
= nit___nit__MType___is_subtype(var_bound
, var_mmodule
, var_anchor
, var_supbound
);
9438 { /* Inline parser_nodes#ATypePropdef#n_type (self) on <self:ATypePropdef> */
9439 var147
= self
->attrs
[COLOR_nit__parser_nodes__ATypePropdef___n_type
].val
; /* _n_type on <self:ATypePropdef> */
9440 if (unlikely(var147
== NULL
)) {
9441 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
9442 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1325);
9446 RET_LABEL146
:(void)0;
9450 var149
= varonce148
;
9452 var150
= "Redef Error: Wrong bound type. Found ";
9454 var152
= standard___standard__NativeString___to_s_with_length(var150
, var151
);
9456 varonce148
= var149
;
9459 var154
= varonce153
;
9461 var155
= ", expected a subtype of ";
9463 var157
= standard___standard__NativeString___to_s_with_length(var155
, var156
);
9465 varonce153
= var154
;
9468 var159
= varonce158
;
9470 var160
= ", as in ";
9472 var162
= standard___standard__NativeString___to_s_with_length(var160
, var161
);
9474 varonce158
= var159
;
9477 var164
= varonce163
;
9481 var167
= standard___standard__NativeString___to_s_with_length(var165
, var166
);
9483 varonce163
= var164
;
9485 var168
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9486 { /* var168 = array_instance Array[Object] */
9488 var170
= NEW_standard__NativeArray(var169
, &type_standard__NativeArray__standard__Object
);
9489 ((struct instance_standard__NativeArray
*)var170
)->values
[0] = (val
*) var149
;
9490 ((struct instance_standard__NativeArray
*)var170
)->values
[1] = (val
*) var_bound
;
9491 ((struct instance_standard__NativeArray
*)var170
)->values
[2] = (val
*) var154
;
9492 ((struct instance_standard__NativeArray
*)var170
)->values
[3] = (val
*) var_supbound
;
9493 ((struct instance_standard__NativeArray
*)var170
)->values
[4] = (val
*) var159
;
9494 ((struct instance_standard__NativeArray
*)var170
)->values
[5] = (val
*) var_p
;
9495 ((struct instance_standard__NativeArray
*)var170
)->values
[6] = (val
*) var164
;
9497 ((void (*)(val
* self
, val
* p0
, long p1
))(var168
->class->vft
[COLOR_standard__array__Array__with_native
]))(var168
, var170
, var169
) /* with_native on <var168:Array[Object]>*/;
9501 var171
= ((val
* (*)(val
* self
))(var168
->class->vft
[COLOR_standard__string__Object__to_s
]))(var168
) /* to_s on <var168:Array[Object]>*/;
9504 nit___nit__ModelBuilder___error(var_modelbuilder
, var145
, var171
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
9510 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_76
); /* Direct call array#ArrayIterator#next on <var_76:ArrayIterator[MVirtualTypeDef]>*/
9516 BREAK_label89
: (void)0;
9518 { /* Inline abstract_collection#Iterator#finish (var_76) on <var_76:ArrayIterator[MVirtualTypeDef]> */
9519 RET_LABEL172
:(void)0;