1 #include "nit__modelize_class.sep.0.h"
2 /* method modelize_class#ToolContext#modelize_class_phase for (self: ToolContext): Phase */
3 val
* nit__modelize_class___ToolContext___modelize_class_phase(val
* self
) {
4 val
* var
/* : Phase */;
5 val
* var1
/* : Phase */;
6 var1
= self
->attrs
[COLOR_nit__modelize_class__ToolContext___modelize_class_phase
].val
; /* _modelize_class_phase on <self:ToolContext> */
7 if (unlikely(var1
== NULL
)) {
8 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelize_class_phase");
9 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 23);
16 /* method modelize_class#ModelizeClassPhase#process_nmodule for (self: ModelizeClassPhase, AModule) */
17 void nit__modelize_class___nit__modelize_class__ModelizeClassPhase___nit__phase__Phase__process_nmodule(val
* self
, val
* p0
) {
18 val
* var_nmodule
/* var nmodule: AModule */;
19 val
* var
/* : ToolContext */;
20 val
* var2
/* : ToolContext */;
21 val
* var3
/* : ModelBuilder */;
24 { /* Inline phase#Phase#toolcontext (self) on <self:ModelizeClassPhase> */
25 var2
= self
->attrs
[COLOR_nit__phase__Phase___toolcontext
].val
; /* _toolcontext on <self:ModelizeClassPhase> */
26 if (unlikely(var2
== NULL
)) {
27 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
28 PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase
, 201);
36 var3
= nit__modelbuilder_base___ToolContext___modelbuilder(var
);
39 nit__modelize_class___ModelBuilder___build_classes(var3
, var_nmodule
); /* Direct call modelize_class#ModelBuilder#build_classes on <var3:ModelBuilder>*/
43 /* method modelize_class#ModelBuilder#build_a_mclass for (self: ModelBuilder, AModule, AClassdef) */
44 void nit__modelize_class___ModelBuilder___build_a_mclass(val
* self
, val
* p0
, val
* p1
) {
45 val
* var_nmodule
/* var nmodule: AModule */;
46 val
* var_nclassdef
/* var nclassdef: AClassdef */;
47 val
* var
/* : nullable MModule */;
48 val
* var2
/* : nullable MModule */;
49 val
* var_mmodule
/* var mmodule: MModule */;
50 long var3
/* : Int */;
51 long var_arity
/* var arity: Int */;
52 val
* var4
/* : Array[String] */;
53 val
* var_names
/* var names: Array[String] */;
54 short int var5
/* : Bool */;
57 val
* var6
/* : nullable TClassid */;
58 val
* var8
/* : nullable TClassid */;
59 val
* var9
/* : String */;
60 val
* var_name
/* var name: String */;
61 val
* var10
/* : AClasskind */;
62 val
* var12
/* : AClasskind */;
63 val
* var_nkind
/* var nkind: nullable AClasskind */;
64 val
* var13
/* : MClassKind */;
65 val
* var_mkind
/* var mkind: MClassKind */;
66 val
* var14
/* : nullable AVisibility */;
67 val
* var16
/* : nullable AVisibility */;
68 val
* var_nvisibility
/* var nvisibility: nullable AVisibility */;
69 val
* var17
/* : MVisibility */;
70 val
* var_mvisibility
/* var mvisibility: nullable MVisibility */;
71 val
* var18
/* : ANodes[AFormaldef] */;
72 val
* var20
/* : ANodes[AFormaldef] */;
73 long var21
/* : Int */;
74 val
* var22
/* : MVisibility */;
75 short int var23
/* : Bool */;
76 val
* var_other
/* var other: nullable Object */;
77 short int var25
/* : Bool */;
78 short int var27
/* : Bool */;
80 val
* var28
/* : String */;
81 char* var29
/* : NativeString */;
82 long var30
/* : Int */;
83 val
* var31
/* : FlatString */;
84 val
* var32
/* : MVisibility */;
85 short int var33
/* : Bool */;
86 short int var35
/* : Bool */;
87 short int var37
/* : Bool */;
88 static val
* varonce38
;
89 val
* var39
/* : String */;
90 char* var40
/* : NativeString */;
91 long var41
/* : Int */;
92 val
* var42
/* : FlatString */;
93 long var43
/* : Int */;
94 long var_i
/* var i: Int */;
95 long var_
/* var : Int */;
96 short int var44
/* : Bool */;
97 short int var46
/* : Bool */;
100 const char* var_class_name
;
101 short int var49
/* : Bool */;
102 val
* var50
/* : ANodes[AFormaldef] */;
103 val
* var52
/* : ANodes[AFormaldef] */;
104 val
* var53
/* : ANode */;
105 val
* var_nfd
/* var nfd: AFormaldef */;
106 val
* var54
/* : TClassid */;
107 val
* var56
/* : TClassid */;
108 val
* var57
/* : String */;
109 val
* var_ptname
/* var ptname: String */;
110 short int var58
/* : Bool */;
111 static val
* varonce59
;
112 val
* var60
/* : String */;
113 char* var61
/* : NativeString */;
114 long var62
/* : Int */;
115 val
* var63
/* : FlatString */;
116 static val
* varonce64
;
117 val
* var65
/* : String */;
118 char* var66
/* : NativeString */;
119 long var67
/* : Int */;
120 val
* var68
/* : FlatString */;
121 val
* var69
/* : Array[Object] */;
122 long var70
/* : Int */;
123 val
* var71
/* : NativeArray[Object] */;
124 val
* var72
/* : String */;
125 val
* var73
/* : SequenceRead[Char] */;
126 val
* var_74
/* var : SequenceRead[Char] */;
127 val
* var75
/* : Iterator[nullable Object] */;
128 val
* var_76
/* var : IndexedIterator[Char] */;
129 short int var77
/* : Bool */;
130 val
* var78
/* : nullable Object */;
131 char var79
/* : Char */;
132 char var_c
/* var c: Char */;
133 short int var80
/* : Bool */;
134 char var81
/* : Char */;
135 short int var82
/* : Bool */;
136 short int var84
/* : Bool */;
139 const char* var_class_name87
;
140 short int var88
/* : Bool */;
141 short int var_89
/* var : Bool */;
142 char var90
/* : Char */;
143 short int var91
/* : Bool */;
144 short int var93
/* : Bool */;
147 const char* var_class_name96
;
148 short int var97
/* : Bool */;
149 static val
* varonce98
;
150 val
* var99
/* : String */;
151 char* var100
/* : NativeString */;
152 long var101
/* : Int */;
153 val
* var102
/* : FlatString */;
154 static val
* varonce103
;
155 val
* var104
/* : String */;
156 char* var105
/* : NativeString */;
157 long var106
/* : Int */;
158 val
* var107
/* : FlatString */;
159 val
* var108
/* : Array[Object] */;
160 long var109
/* : Int */;
161 val
* var110
/* : NativeArray[Object] */;
162 val
* var111
/* : String */;
163 long var113
/* : Int */;
164 long var114
/* : Int */;
165 short int var116
/* : Bool */;
168 static val
* varonce119
;
169 val
* var120
/* : String */;
170 char* var121
/* : NativeString */;
171 long var122
/* : Int */;
172 val
* var123
/* : FlatString */;
173 val
* var124
/* : null */;
174 val
* var125
/* : MClassKind */;
175 val
* var126
/* : null */;
176 val
* var127
/* : MVisibility */;
177 short int var128
/* : Bool */;
180 static val
* varonce131
;
181 val
* var132
/* : String */;
182 char* var133
/* : NativeString */;
183 long var134
/* : Int */;
184 val
* var135
/* : FlatString */;
185 val
* var136
/* : null */;
186 val
* var137
/* : MClassKind */;
187 val
* var138
/* : null */;
188 val
* var139
/* : MVisibility */;
189 val
* var140
/* : nullable MClass */;
190 val
* var_mclass
/* var mclass: nullable MClass */;
191 val
* var141
/* : null */;
192 short int var142
/* : Bool */;
193 short int var143
/* : Bool */;
194 short int var145
/* : Bool */;
195 short int var147
/* : Bool */;
196 short int var148
/* : Bool */;
197 short int var149
/* : Bool */;
200 short int var_152
/* var : Bool */;
201 val
* var153
/* : nullable TKwredef */;
202 val
* var155
/* : nullable TKwredef */;
203 val
* var156
/* : null */;
204 short int var157
/* : Bool */;
205 short int var158
/* : Bool */;
206 val
* var_other160
/* var other: nullable Object */;
207 short int var161
/* : Bool */;
208 short int var162
/* : Bool */;
209 static val
* varonce163
;
210 val
* var164
/* : String */;
211 char* var165
/* : NativeString */;
212 long var166
/* : Int */;
213 val
* var167
/* : FlatString */;
214 static val
* varonce168
;
215 val
* var169
/* : String */;
216 char* var170
/* : NativeString */;
217 long var171
/* : Int */;
218 val
* var172
/* : FlatString */;
219 val
* var173
/* : Array[Object] */;
220 long var174
/* : Int */;
221 val
* var175
/* : NativeArray[Object] */;
222 val
* var176
/* : String */;
223 short int var177
/* : Bool */;
224 val
* var178
/* : nullable MGroup */;
225 val
* var180
/* : nullable MGroup */;
226 val
* var181
/* : null */;
227 short int var182
/* : Bool */;
228 short int var183
/* : Bool */;
229 short int var185
/* : Bool */;
230 short int var186
/* : Bool */;
231 short int var_187
/* var : Bool */;
232 val
* var188
/* : MVisibility */;
233 short int var189
/* : Bool */;
234 val
* var190
/* : Model */;
235 val
* var192
/* : Model */;
236 val
* var193
/* : nullable Array[MClass] */;
237 val
* var_mclasses
/* var mclasses: nullable Array[MClass] */;
238 val
* var194
/* : null */;
239 short int var195
/* : Bool */;
240 short int var196
/* : Bool */;
241 short int var198
/* : Bool */;
242 short int var199
/* : Bool */;
243 val
* var_200
/* var : Array[MClass] */;
244 val
* var201
/* : ArrayIterator[nullable Object] */;
245 val
* var_202
/* var : ArrayIterator[MClass] */;
246 short int var203
/* : Bool */;
247 val
* var204
/* : nullable Object */;
248 val
* var_other205
/* var other: MClass */;
249 short int var206
/* : Bool */;
250 val
* var207
/* : MModule */;
251 val
* var209
/* : MModule */;
252 val
* var210
/* : nullable MGroup */;
253 val
* var212
/* : nullable MGroup */;
254 val
* var213
/* : null */;
255 short int var214
/* : Bool */;
256 short int var215
/* : Bool */;
257 short int var217
/* : Bool */;
258 short int var218
/* : Bool */;
259 short int var_219
/* var : Bool */;
260 val
* var220
/* : MModule */;
261 val
* var222
/* : MModule */;
262 val
* var223
/* : nullable MGroup */;
263 val
* var225
/* : nullable MGroup */;
264 val
* var226
/* : MProject */;
265 val
* var228
/* : MProject */;
266 val
* var229
/* : nullable MGroup */;
267 val
* var231
/* : nullable MGroup */;
268 val
* var232
/* : MProject */;
269 val
* var234
/* : MProject */;
270 short int var235
/* : Bool */;
271 short int var237
/* : Bool */;
272 short int var239
/* : Bool */;
273 static val
* varonce240
;
274 val
* var241
/* : String */;
275 char* var242
/* : NativeString */;
276 long var243
/* : Int */;
277 val
* var244
/* : FlatString */;
278 val
* var245
/* : String */;
279 static val
* varonce246
;
280 val
* var247
/* : String */;
281 char* var248
/* : NativeString */;
282 long var249
/* : Int */;
283 val
* var250
/* : FlatString */;
284 val
* var251
/* : MModule */;
285 val
* var253
/* : MModule */;
286 static val
* varonce254
;
287 val
* var255
/* : String */;
288 char* var256
/* : NativeString */;
289 long var257
/* : Int */;
290 val
* var258
/* : FlatString */;
291 val
* var259
/* : MClassDef */;
292 val
* var261
/* : MClassDef */;
293 val
* var262
/* : Location */;
294 val
* var264
/* : Location */;
295 static val
* varonce265
;
296 val
* var266
/* : String */;
297 char* var267
/* : NativeString */;
298 long var268
/* : Int */;
299 val
* var269
/* : FlatString */;
300 val
* var270
/* : Array[Object] */;
301 long var271
/* : Int */;
302 val
* var272
/* : NativeArray[Object] */;
303 val
* var273
/* : String */;
304 val
* var276
/* : MClass */;
305 short int var277
/* : Bool */;
306 short int var278
/* : Bool */;
309 short int var_281
/* var : Bool */;
310 val
* var282
/* : Map[MClass, AClassdef] */;
311 val
* var284
/* : Map[MClass, AClassdef] */;
312 short int var285
/* : Bool */;
313 static val
* varonce286
;
314 val
* var287
/* : String */;
315 char* var288
/* : NativeString */;
316 long var289
/* : Int */;
317 val
* var290
/* : FlatString */;
318 static val
* varonce291
;
319 val
* var292
/* : String */;
320 char* var293
/* : NativeString */;
321 long var294
/* : Int */;
322 val
* var295
/* : FlatString */;
323 val
* var296
/* : Map[MClass, AClassdef] */;
324 val
* var298
/* : Map[MClass, AClassdef] */;
325 val
* var299
/* : nullable Object */;
326 val
* var300
/* : Location */;
327 val
* var302
/* : Location */;
328 long var303
/* : Int */;
329 long var305
/* : Int */;
330 static val
* varonce306
;
331 val
* var307
/* : String */;
332 char* var308
/* : NativeString */;
333 long var309
/* : Int */;
334 val
* var310
/* : FlatString */;
335 val
* var311
/* : Array[Object] */;
336 long var312
/* : Int */;
337 val
* var313
/* : NativeArray[Object] */;
338 val
* var314
/* : Object */;
339 val
* var315
/* : String */;
340 short int var316
/* : Bool */;
341 short int var317
/* : Bool */;
344 short int var_320
/* var : Bool */;
345 val
* var321
/* : nullable TKwredef */;
346 val
* var323
/* : nullable TKwredef */;
347 val
* var324
/* : null */;
348 short int var325
/* : Bool */;
349 short int var326
/* : Bool */;
350 short int var328
/* : Bool */;
351 short int var330
/* : Bool */;
352 static val
* varonce331
;
353 val
* var332
/* : String */;
354 char* var333
/* : NativeString */;
355 long var334
/* : Int */;
356 val
* var335
/* : FlatString */;
357 static val
* varonce336
;
358 val
* var337
/* : String */;
359 char* var338
/* : NativeString */;
360 long var339
/* : Int */;
361 val
* var340
/* : FlatString */;
362 val
* var341
/* : Array[Object] */;
363 long var342
/* : Int */;
364 val
* var343
/* : NativeArray[Object] */;
365 val
* var344
/* : String */;
366 short int var345
/* : Bool */;
367 long var346
/* : Int */;
368 short int var347
/* : Bool */;
369 short int var349
/* : Bool */;
370 short int var350
/* : Bool */;
371 short int var_351
/* var : Bool */;
372 long var352
/* : Int */;
373 long var354
/* : Int */;
374 short int var355
/* : Bool */;
375 short int var357
/* : Bool */;
376 short int var358
/* : Bool */;
377 static val
* varonce359
;
378 val
* var360
/* : String */;
379 char* var361
/* : NativeString */;
380 long var362
/* : Int */;
381 val
* var363
/* : FlatString */;
382 static val
* varonce364
;
383 val
* var365
/* : String */;
384 char* var366
/* : NativeString */;
385 long var367
/* : Int */;
386 val
* var368
/* : FlatString */;
387 long var369
/* : Int */;
388 long var371
/* : Int */;
389 static val
* varonce372
;
390 val
* var373
/* : String */;
391 char* var374
/* : NativeString */;
392 long var375
/* : Int */;
393 val
* var376
/* : FlatString */;
394 val
* var377
/* : Array[Object] */;
395 long var378
/* : Int */;
396 val
* var379
/* : NativeArray[Object] */;
397 val
* var380
/* : Object */;
398 val
* var381
/* : Object */;
399 val
* var382
/* : String */;
400 short int var383
/* : Bool */;
401 short int var384
/* : Bool */;
402 val
* var385
/* : null */;
403 short int var386
/* : Bool */;
404 short int var387
/* : Bool */;
405 short int var389
/* : Bool */;
406 short int var390
/* : Bool */;
407 short int var_391
/* var : Bool */;
408 val
* var392
/* : MClassKind */;
409 short int var393
/* : Bool */;
410 short int var395
/* : Bool */;
411 short int var396
/* : Bool */;
412 short int var_397
/* var : Bool */;
413 val
* var398
/* : MClassKind */;
414 val
* var400
/* : MClassKind */;
415 short int var401
/* : Bool */;
416 short int var403
/* : Bool */;
417 short int var404
/* : Bool */;
418 static val
* varonce405
;
419 val
* var406
/* : String */;
420 char* var407
/* : NativeString */;
421 long var408
/* : Int */;
422 val
* var409
/* : FlatString */;
423 val
* var410
/* : MClassKind */;
424 val
* var412
/* : MClassKind */;
425 static val
* varonce413
;
426 val
* var414
/* : String */;
427 char* var415
/* : NativeString */;
428 long var416
/* : Int */;
429 val
* var417
/* : FlatString */;
430 val
* var418
/* : Array[Object] */;
431 long var419
/* : Int */;
432 val
* var420
/* : NativeArray[Object] */;
433 val
* var421
/* : String */;
434 short int var422
/* : Bool */;
435 short int var423
/* : Bool */;
436 val
* var424
/* : null */;
437 short int var425
/* : Bool */;
438 short int var426
/* : Bool */;
439 short int var428
/* : Bool */;
440 short int var429
/* : Bool */;
441 short int var_430
/* var : Bool */;
442 val
* var431
/* : MVisibility */;
443 short int var432
/* : Bool */;
444 short int var434
/* : Bool */;
445 short int var435
/* : Bool */;
446 short int var_436
/* var : Bool */;
447 val
* var437
/* : MVisibility */;
448 val
* var439
/* : MVisibility */;
449 short int var440
/* : Bool */;
450 short int var442
/* : Bool */;
451 short int var443
/* : Bool */;
452 static val
* varonce444
;
453 val
* var445
/* : String */;
454 char* var446
/* : NativeString */;
455 long var447
/* : Int */;
456 val
* var448
/* : FlatString */;
457 val
* var449
/* : MVisibility */;
458 val
* var451
/* : MVisibility */;
459 static val
* varonce452
;
460 val
* var453
/* : String */;
461 char* var454
/* : NativeString */;
462 long var455
/* : Int */;
463 val
* var456
/* : FlatString */;
464 val
* var457
/* : Array[Object] */;
465 long var458
/* : Int */;
466 val
* var459
/* : NativeArray[Object] */;
467 val
* var460
/* : String */;
468 val
* var462
/* : Map[MClass, AClassdef] */;
469 val
* var464
/* : Map[MClass, AClassdef] */;
470 short int var465
/* : Bool */;
471 short int var466
/* : Bool */;
472 val
* var467
/* : Map[MClass, AClassdef] */;
473 val
* var469
/* : Map[MClass, AClassdef] */;
474 val
* var470
/* : Array[AClassdef] */;
475 long var471
/* : Int */;
476 val
* var_472
/* var : Array[AClassdef] */;
477 val
* var474
/* : Map[MClass, AClassdef] */;
478 val
* var476
/* : Map[MClass, AClassdef] */;
479 val
* var477
/* : nullable Object */;
480 val
* var478
/* : nullable Array[AClassdef] */;
481 val
* var480
/* : nullable Array[AClassdef] */;
485 { /* Inline loader#AModule#mmodule (var_nmodule) on <var_nmodule:AModule> */
486 var2
= var_nmodule
->attrs
[COLOR_nit__loader__AModule___mmodule
].val
; /* _mmodule on <var_nmodule:AModule> */
491 if (unlikely(var
== NULL
)) {
492 PRINT_ERROR("Runtime error: %s", "Cast failed");
493 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 40);
499 var4
= NEW_standard__Array(&type_standard__Array__standard__String
);
501 standard___standard__Array___standard__kernel__Object__init(var4
); /* Direct call array#Array#init on <var4:Array[String]>*/
504 /* <var_nclassdef:AClassdef> isa AStdClassdef */
505 cltype
= type_nit__AStdClassdef
.color
;
506 idtype
= type_nit__AStdClassdef
.id
;
507 if(cltype
>= var_nclassdef
->type
->table_size
) {
510 var5
= var_nclassdef
->type
->type_table
[cltype
] == idtype
;
514 { /* Inline parser_nodes#AStdClassdef#n_id (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
515 var8
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__AStdClassdef___n_id
].val
; /* _n_id on <var_nclassdef:AClassdef(AStdClassdef)> */
521 PRINT_ERROR("Runtime error: %s", "Receiver is null");
522 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 50);
525 var9
= nit__lexer_work___Token___text(var6
);
529 { /* Inline parser_nodes#AStdClassdef#n_classkind (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
530 var12
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__AStdClassdef___n_classkind
].val
; /* _n_classkind on <var_nclassdef:AClassdef(AStdClassdef)> */
531 if (unlikely(var12
== NULL
)) {
532 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classkind");
533 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1021);
542 var13
= ((val
* (*)(val
* self
))(var_nkind
->class->vft
[COLOR_nit__modelize_class__AClasskind__mkind
]))(var_nkind
) /* mkind on <var_nkind:nullable AClasskind(AClasskind)>*/;
546 { /* Inline parser_nodes#ADefinition#n_visibility (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
547 var16
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_visibility
].val
; /* _n_visibility on <var_nclassdef:AClassdef(AStdClassdef)> */
552 var_nvisibility
= var14
;
553 if (var_nvisibility
== NULL
) {
554 PRINT_ERROR("Runtime error: %s", "Receiver is null");
555 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 54);
558 var17
= ((val
* (*)(val
* self
))(var_nvisibility
->class->vft
[COLOR_nit__modelbuilder_base__AVisibility__mvisibility
]))(var_nvisibility
) /* mvisibility on <var_nvisibility:nullable AVisibility>*/;
560 var_mvisibility
= var17
;
562 { /* Inline parser_nodes#AStdClassdef#n_formaldefs (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
563 var20
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__AStdClassdef___n_formaldefs
].val
; /* _n_formaldefs on <var_nclassdef:AClassdef(AStdClassdef)> */
564 if (unlikely(var20
== NULL
)) {
565 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_formaldefs");
566 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1027);
574 var21
= nit___nit__ANodes___standard__abstract_collection__Collection__length(var18
);
578 var22
= nit__model_base___standard__Object___protected_visibility(self
);
581 { /* Inline kernel#Object#== (var_mvisibility,var22) on <var_mvisibility:nullable MVisibility(MVisibility)> */
584 { /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other) on <var_mvisibility:nullable MVisibility(MVisibility)> */
585 var27
= var_mvisibility
== var_other
;
600 var29
= "Error: only properties can be protected.";
602 var31
= standard___standard__NativeString___to_s_with_length(var29
, var30
);
607 nit___nit__ModelBuilder___error(self
, var_nvisibility
, var28
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
612 var32
= nit__model_base___standard__Object___intrude_visibility(self
);
615 { /* Inline kernel#Object#== (var_mvisibility,var32) on <var_mvisibility:nullable MVisibility(MVisibility)> */
618 { /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other) on <var_mvisibility:nullable MVisibility(MVisibility)> */
619 var37
= var_mvisibility
== var_other
;
634 var40
= "Error: intrude is not a legal visibility for classes.";
636 var42
= standard___standard__NativeString___to_s_with_length(var40
, var41
);
641 nit___nit__ModelBuilder___error(self
, var_nvisibility
, var39
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
652 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
653 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
654 /* <var_:Int> isa OTHER */
655 var46
= 1; /* easy <var_:Int> isa OTHER*/
656 if (unlikely(!var46
)) {
657 var_class_name
= type_standard__Int
.name
;
658 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
659 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
662 var49
= var_i
< var_
;
670 { /* Inline parser_nodes#AStdClassdef#n_formaldefs (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
671 var52
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__AStdClassdef___n_formaldefs
].val
; /* _n_formaldefs on <var_nclassdef:AClassdef(AStdClassdef)> */
672 if (unlikely(var52
== NULL
)) {
673 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_formaldefs");
674 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1027);
682 var53
= nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var50
, var_i
);
686 { /* Inline parser_nodes#AFormaldef#n_id (var_nfd) on <var_nfd:AFormaldef> */
687 var56
= var_nfd
->attrs
[COLOR_nit__parser_nodes__AFormaldef___n_id
].val
; /* _n_id on <var_nfd:AFormaldef> */
688 if (unlikely(var56
== NULL
)) {
689 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
690 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1107);
698 var57
= nit__lexer_work___Token___text(var54
);
702 var58
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_names
, var_ptname
);
708 var61
= "Error: A formal parameter type `";
710 var63
= standard___standard__NativeString___to_s_with_length(var61
, var62
);
717 var66
= "\' already exists";
719 var68
= standard___standard__NativeString___to_s_with_length(var66
, var67
);
723 var69
= NEW_standard__Array(&type_standard__Array__standard__Object
);
724 { /* var69 = array_instance Array[Object] */
726 var71
= NEW_standard__NativeArray(var70
, &type_standard__NativeArray__standard__Object
);
727 ((struct instance_standard__NativeArray
*)var71
)->values
[0] = (val
*) var60
;
728 ((struct instance_standard__NativeArray
*)var71
)->values
[1] = (val
*) var_ptname
;
729 ((struct instance_standard__NativeArray
*)var71
)->values
[2] = (val
*) var65
;
731 ((void (*)(val
* self
, val
* p0
, long p1
))(var69
->class->vft
[COLOR_standard__array__Array__with_native
]))(var69
, var71
, var70
) /* with_native on <var69:Array[Object]>*/;
735 var72
= ((val
* (*)(val
* self
))(var69
->class->vft
[COLOR_standard__string__Object__to_s
]))(var69
) /* to_s on <var69:Array[Object]>*/;
738 nit___nit__ModelBuilder___error(self
, var_nfd
, var72
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
744 var73
= ((val
* (*)(val
* self
))(var_ptname
->class->vft
[COLOR_standard__string__Text__chars
]))(var_ptname
) /* chars on <var_ptname:String>*/;
748 var75
= ((val
* (*)(val
* self
))(var_74
->class->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_74
) /* iterator on <var_74:SequenceRead[Char]>*/;
753 var77
= ((short int (*)(val
* self
))(var_76
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_76
) /* is_ok on <var_76:IndexedIterator[Char]>*/;
757 var78
= ((val
* (*)(val
* self
))(var_76
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_76
) /* item on <var_76:IndexedIterator[Char]>*/;
759 var79
= ((struct instance_standard__Char
*)var78
)->value
; /* autounbox from nullable Object to Char */;
763 { /* Inline kernel#Char#>= (var_c,var81) on <var_c:Char> */
764 /* Covariant cast for argument 0 (i) <var81:Char> isa OTHER */
765 /* <var81:Char> isa OTHER */
766 var84
= 1; /* easy <var81:Char> isa OTHER*/
767 if (unlikely(!var84
)) {
768 var_class_name87
= type_standard__Char
.name
;
769 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name87
);
770 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 593);
773 var88
= var_c
>= var81
;
783 { /* Inline kernel#Char#<= (var_c,var90) on <var_c:Char> */
784 /* Covariant cast for argument 0 (i) <var90:Char> isa OTHER */
785 /* <var90:Char> isa OTHER */
786 var93
= 1; /* easy <var90:Char> isa OTHER*/
787 if (unlikely(!var93
)) {
788 var_class_name96
= type_standard__Char
.name
;
789 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name96
);
790 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 591);
793 var97
= var_c
<= var90
;
807 var100
= "formal-type-name";
809 var102
= standard___standard__NativeString___to_s_with_length(var100
, var101
);
816 var105
= "Warning: lowercase in the formal parameter type ";
818 var107
= standard___standard__NativeString___to_s_with_length(var105
, var106
);
822 var108
= NEW_standard__Array(&type_standard__Array__standard__Object
);
823 { /* var108 = array_instance Array[Object] */
825 var110
= NEW_standard__NativeArray(var109
, &type_standard__NativeArray__standard__Object
);
826 ((struct instance_standard__NativeArray
*)var110
)->values
[0] = (val
*) var104
;
827 ((struct instance_standard__NativeArray
*)var110
)->values
[1] = (val
*) var_ptname
;
829 ((void (*)(val
* self
, val
* p0
, long p1
))(var108
->class->vft
[COLOR_standard__array__Array__with_native
]))(var108
, var110
, var109
) /* with_native on <var108:Array[Object]>*/;
833 var111
= ((val
* (*)(val
* self
))(var108
->class->vft
[COLOR_standard__string__Object__to_s
]))(var108
) /* to_s on <var108:Array[Object]>*/;
836 nit___nit__ModelBuilder___warning(self
, var_nfd
, var99
, var111
); /* Direct call modelbuilder_base#ModelBuilder#warning on <self:ModelBuilder>*/
842 ((void (*)(val
* self
))(var_76
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_76
) /* next on <var_76:IndexedIterator[Char]>*/;
848 BREAK_label
: (void)0;
850 { /* Inline abstract_collection#Iterator#finish (var_76) on <var_76:IndexedIterator[Char]> */
851 RET_LABEL112
:(void)0;
855 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_names
, var_ptname
); /* Direct call array#Array#add on <var_names:Array[String]>*/
859 var114
= standard___standard__Int___Discrete__successor(var_i
, var113
);
866 BREAK_label115
: (void)0;
868 /* <var_nclassdef:AClassdef> isa ATopClassdef */
869 cltype117
= type_nit__ATopClassdef
.color
;
870 idtype118
= type_nit__ATopClassdef
.id
;
871 if(cltype117
>= var_nclassdef
->type
->table_size
) {
874 var116
= var_nclassdef
->type
->type_table
[cltype117
] == idtype118
;
882 var123
= standard___standard__NativeString___to_s_with_length(var121
, var122
);
890 var125
= nit__model___standard__Object___interface_kind(self
);
894 var_nvisibility
= var126
;
896 var127
= nit__model_base___standard__Object___public_visibility(self
);
898 var_mvisibility
= var127
;
900 /* <var_nclassdef:AClassdef> isa AMainClassdef */
901 cltype129
= type_nit__AMainClassdef
.color
;
902 idtype130
= type_nit__AMainClassdef
.id
;
903 if(cltype129
>= var_nclassdef
->type
->table_size
) {
906 var128
= var_nclassdef
->type
->type_table
[cltype129
] == idtype130
;
914 var135
= standard___standard__NativeString___to_s_with_length(var133
, var134
);
922 var137
= nit__model___standard__Object___concrete_kind(self
);
926 var_nvisibility
= var138
;
928 var139
= nit__model_base___standard__Object___public_visibility(self
);
930 var_mvisibility
= var139
;
932 PRINT_ERROR("Runtime error: %s", "Aborted");
933 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 91);
939 var140
= nit___nit__ModelBuilder___try_get_mclass_by_name(self
, var_nclassdef
, var_mmodule
, var_name
);
943 if (var_mclass
== NULL
) {
944 var142
= 1; /* is null */
946 var142
= 0; /* arg is null but recv is not */
949 { /* Inline kernel#Object#== (var_mclass,var141) on <var_mclass:nullable MClass> */
952 { /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
953 var147
= var_mclass
== var_other
;
956 RET_LABEL146
:(void)0;
961 RET_LABEL144
:(void)0;
966 /* <var_nclassdef:AClassdef> isa AStdClassdef */
967 cltype150
= type_nit__AStdClassdef
.color
;
968 idtype151
= type_nit__AStdClassdef
.id
;
969 if(cltype150
>= var_nclassdef
->type
->table_size
) {
972 var149
= var_nclassdef
->type
->type_table
[cltype150
] == idtype151
;
977 { /* Inline parser_nodes#ADefinition#n_kwredef (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
978 var155
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_kwredef
].val
; /* _n_kwredef on <var_nclassdef:AClassdef(AStdClassdef)> */
980 RET_LABEL154
:(void)0;
984 if (var153
== NULL
) {
985 var157
= 0; /* is null */
987 var157
= 1; /* arg is null and recv is not */
990 { /* Inline kernel#Object#!= (var153,var156) on <var153:nullable TKwredef> */
991 var_other160
= var156
;
993 var161
= ((short int (*)(val
* self
, val
* p0
))(var153
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var153
, var_other160
) /* == on <var153:nullable TKwredef(TKwredef)>*/;
998 RET_LABEL159
:(void)0;
1008 var164
= varonce163
;
1010 var165
= "Redef error: No imported class ";
1012 var167
= standard___standard__NativeString___to_s_with_length(var165
, var166
);
1014 varonce163
= var164
;
1017 var169
= varonce168
;
1019 var170
= " to refine.";
1021 var172
= standard___standard__NativeString___to_s_with_length(var170
, var171
);
1023 varonce168
= var169
;
1025 var173
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1026 { /* var173 = array_instance Array[Object] */
1028 var175
= NEW_standard__NativeArray(var174
, &type_standard__NativeArray__standard__Object
);
1029 ((struct instance_standard__NativeArray
*)var175
)->values
[0] = (val
*) var164
;
1030 ((struct instance_standard__NativeArray
*)var175
)->values
[1] = (val
*) var_name
;
1031 ((struct instance_standard__NativeArray
*)var175
)->values
[2] = (val
*) var169
;
1033 ((void (*)(val
* self
, val
* p0
, long p1
))(var173
->class->vft
[COLOR_standard__array__Array__with_native
]))(var173
, var175
, var174
) /* with_native on <var173:Array[Object]>*/;
1037 var176
= ((val
* (*)(val
* self
))(var173
->class->vft
[COLOR_standard__string__Object__to_s
]))(var173
) /* to_s on <var173:Array[Object]>*/;
1040 nit___nit__ModelBuilder___error(self
, var_nclassdef
, var176
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
1046 { /* Inline mmodule#MModule#mgroup (var_mmodule) on <var_mmodule:MModule> */
1047 var180
= var_mmodule
->attrs
[COLOR_nit__mmodule__MModule___mgroup
].val
; /* _mgroup on <var_mmodule:MModule> */
1049 RET_LABEL179
:(void)0;
1053 if (var178
== NULL
) {
1054 var182
= 0; /* is null */
1056 var182
= 1; /* arg is null and recv is not */
1059 { /* Inline kernel#Object#!= (var178,var181) on <var178:nullable MGroup> */
1060 var_other160
= var181
;
1062 var185
= ((short int (*)(val
* self
, val
* p0
))(var178
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var178
, var_other160
) /* == on <var178:nullable MGroup(MGroup)>*/;
1067 RET_LABEL184
:(void)0;
1074 var188
= nit__model_base___standard__Object___protected_visibility(self
);
1077 var189
= standard___standard__Comparable____62d_61d(var_mvisibility
, var188
);
1085 { /* Inline modelbuilder_base#ModelBuilder#model (self) on <self:ModelBuilder> */
1086 var192
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
1087 if (unlikely(var192
== NULL
)) {
1088 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
1089 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 44);
1093 RET_LABEL191
:(void)0;
1097 var193
= nit__model___Model___get_mclasses_by_name(var190
, var_name
);
1099 var_mclasses
= var193
;
1101 if (var_mclasses
== NULL
) {
1102 var195
= 0; /* is null */
1104 var195
= 1; /* arg is null and recv is not */
1107 { /* Inline kernel#Object#!= (var_mclasses,var194) on <var_mclasses:nullable Array[MClass]> */
1108 var_other160
= var194
;
1110 var198
= ((short int (*)(val
* self
, val
* p0
))(var_mclasses
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mclasses
, var_other160
) /* == on <var_mclasses:nullable Array[MClass](Array[MClass])>*/;
1115 RET_LABEL197
:(void)0;
1120 var_200
= var_mclasses
;
1122 var201
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_200
);
1127 var203
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_202
);
1131 var204
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_202
);
1133 var_other205
= var204
;
1135 { /* Inline model#MClass#intro_mmodule (var_other205) on <var_other205:MClass> */
1136 var209
= var_other205
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var_other205:MClass> */
1137 if (unlikely(var209
== NULL
)) {
1138 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
1139 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 343);
1143 RET_LABEL208
:(void)0;
1147 { /* Inline mmodule#MModule#mgroup (var207) on <var207:MModule> */
1148 var212
= var207
->attrs
[COLOR_nit__mmodule__MModule___mgroup
].val
; /* _mgroup on <var207:MModule> */
1150 RET_LABEL211
:(void)0;
1154 if (var210
== NULL
) {
1155 var214
= 0; /* is null */
1157 var214
= 1; /* arg is null and recv is not */
1160 { /* Inline kernel#Object#!= (var210,var213) on <var210:nullable MGroup> */
1161 var_other160
= var213
;
1163 var217
= ((short int (*)(val
* self
, val
* p0
))(var210
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var210
, var_other160
) /* == on <var210:nullable MGroup(MGroup)>*/;
1168 RET_LABEL216
:(void)0;
1175 { /* Inline model#MClass#intro_mmodule (var_other205) on <var_other205:MClass> */
1176 var222
= var_other205
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var_other205:MClass> */
1177 if (unlikely(var222
== NULL
)) {
1178 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
1179 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 343);
1183 RET_LABEL221
:(void)0;
1187 { /* Inline mmodule#MModule#mgroup (var220) on <var220:MModule> */
1188 var225
= var220
->attrs
[COLOR_nit__mmodule__MModule___mgroup
].val
; /* _mgroup on <var220:MModule> */
1190 RET_LABEL224
:(void)0;
1193 if (var223
== NULL
) {
1194 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1195 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 105);
1198 { /* Inline mproject#MGroup#mproject (var223) on <var223:nullable MGroup> */
1199 if (unlikely(var223
== NULL
)) {
1200 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1201 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject
, 69);
1204 var228
= var223
->attrs
[COLOR_nit__mproject__MGroup___mproject
].val
; /* _mproject on <var223:nullable MGroup> */
1205 if (unlikely(var228
== NULL
)) {
1206 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject");
1207 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject
, 69);
1211 RET_LABEL227
:(void)0;
1215 { /* Inline mmodule#MModule#mgroup (var_mmodule) on <var_mmodule:MModule> */
1216 var231
= var_mmodule
->attrs
[COLOR_nit__mmodule__MModule___mgroup
].val
; /* _mgroup on <var_mmodule:MModule> */
1218 RET_LABEL230
:(void)0;
1221 if (var229
== NULL
) {
1222 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1223 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 105);
1226 { /* Inline mproject#MGroup#mproject (var229) on <var229:nullable MGroup> */
1227 if (unlikely(var229
== NULL
)) {
1228 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1229 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject
, 69);
1232 var234
= var229
->attrs
[COLOR_nit__mproject__MGroup___mproject
].val
; /* _mproject on <var229:nullable MGroup> */
1233 if (unlikely(var234
== NULL
)) {
1234 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject");
1235 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject
, 69);
1239 RET_LABEL233
:(void)0;
1243 { /* Inline kernel#Object#== (var226,var232) on <var226:MProject> */
1246 { /* Inline kernel#Object#is_same_instance (var226,var_other) on <var226:MProject> */
1247 var239
= var226
== var_other
;
1250 RET_LABEL238
:(void)0;
1255 RET_LABEL236
:(void)0;
1264 var241
= varonce240
;
1266 var242
= "Error: A class named `";
1268 var244
= standard___standard__NativeString___to_s_with_length(var242
, var243
);
1270 varonce240
= var241
;
1273 var245
= nit___nit__MClass___nit__model_base__MEntity__full_name(var_other205
);
1276 var247
= varonce246
;
1278 var248
= "` is already defined in module `";
1280 var250
= standard___standard__NativeString___to_s_with_length(var248
, var249
);
1282 varonce246
= var247
;
1285 { /* Inline model#MClass#intro_mmodule (var_other205) on <var_other205:MClass> */
1286 var253
= var_other205
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var_other205:MClass> */
1287 if (unlikely(var253
== NULL
)) {
1288 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
1289 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 343);
1293 RET_LABEL252
:(void)0;
1297 var255
= varonce254
;
1301 var258
= standard___standard__NativeString___to_s_with_length(var256
, var257
);
1303 varonce254
= var255
;
1306 { /* Inline model#MClass#intro (var_other205) on <var_other205:MClass> */
1307 var261
= var_other205
->attrs
[COLOR_nit__model__MClass___intro
].val
; /* _intro on <var_other205:MClass> */
1308 if (unlikely(var261
== NULL
)) {
1309 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
1310 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 423);
1314 RET_LABEL260
:(void)0;
1318 { /* Inline model#MClassDef#location (var259) on <var259:MClassDef> */
1319 var264
= var259
->attrs
[COLOR_nit__model__MClassDef___location
].val
; /* _location on <var259:MClassDef> */
1320 if (unlikely(var264
== NULL
)) {
1321 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
1322 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 507);
1326 RET_LABEL263
:(void)0;
1330 var266
= varonce265
;
1334 var269
= standard___standard__NativeString___to_s_with_length(var267
, var268
);
1336 varonce265
= var266
;
1338 var270
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1339 { /* var270 = array_instance Array[Object] */
1341 var272
= NEW_standard__NativeArray(var271
, &type_standard__NativeArray__standard__Object
);
1342 ((struct instance_standard__NativeArray
*)var272
)->values
[0] = (val
*) var241
;
1343 ((struct instance_standard__NativeArray
*)var272
)->values
[1] = (val
*) var245
;
1344 ((struct instance_standard__NativeArray
*)var272
)->values
[2] = (val
*) var247
;
1345 ((struct instance_standard__NativeArray
*)var272
)->values
[3] = (val
*) var251
;
1346 ((struct instance_standard__NativeArray
*)var272
)->values
[4] = (val
*) var255
;
1347 ((struct instance_standard__NativeArray
*)var272
)->values
[5] = (val
*) var262
;
1348 ((struct instance_standard__NativeArray
*)var272
)->values
[6] = (val
*) var266
;
1350 ((void (*)(val
* self
, val
* p0
, long p1
))(var270
->class->vft
[COLOR_standard__array__Array__with_native
]))(var270
, var272
, var271
) /* with_native on <var270:Array[Object]>*/;
1354 var273
= ((val
* (*)(val
* self
))(var270
->class->vft
[COLOR_standard__string__Object__to_s
]))(var270
) /* to_s on <var270:Array[Object]>*/;
1357 nit___nit__ModelBuilder___error(self
, var_nclassdef
, var273
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
1359 goto BREAK_label274
;
1363 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_202
); /* Direct call array#ArrayIterator#next on <var_202:ArrayIterator[MClass]>*/
1366 goto BREAK_label274
;
1369 BREAK_label274
: (void)0;
1371 { /* Inline abstract_collection#Iterator#finish (var_202) on <var_202:ArrayIterator[MClass]> */
1372 RET_LABEL275
:(void)0;
1379 var276
= NEW_nit__MClass(&type_nit__MClass
);
1381 ((void (*)(val
* self
, val
* p0
))(var276
->class->vft
[COLOR_nit__model__MClass__intro_mmodule_61d
]))(var276
, var_mmodule
) /* intro_mmodule= on <var276:MClass>*/;
1384 ((void (*)(val
* self
, val
* p0
))(var276
->class->vft
[COLOR_nit__model__MClass__name_61d
]))(var276
, var_name
) /* name= on <var276:MClass>*/;
1387 ((void (*)(val
* self
, val
* p0
))(var276
->class->vft
[COLOR_nit__model__MClass__setup_parameter_names
]))(var276
, var_names
) /* setup_parameter_names on <var276:MClass>*/;
1390 ((void (*)(val
* self
, val
* p0
))(var276
->class->vft
[COLOR_nit__model__MClass__kind_61d
]))(var276
, var_mkind
) /* kind= on <var276:MClass>*/;
1393 ((void (*)(val
* self
, val
* p0
))(var276
->class->vft
[COLOR_nit__model__MClass__visibility_61d
]))(var276
, var_mvisibility
) /* visibility= on <var276:MClass>*/;
1396 ((void (*)(val
* self
))(var276
->class->vft
[COLOR_standard__kernel__Object__init
]))(var276
) /* init on <var276:MClass>*/;
1398 var_mclass
= var276
;
1400 /* <var_nclassdef:AClassdef> isa AStdClassdef */
1401 cltype279
= type_nit__AStdClassdef
.color
;
1402 idtype280
= type_nit__AStdClassdef
.id
;
1403 if(cltype279
>= var_nclassdef
->type
->table_size
) {
1406 var278
= var_nclassdef
->type
->type_table
[cltype279
] == idtype280
;
1411 { /* Inline modelize_class#AModule#mclass2nclassdef (var_nmodule) on <var_nmodule:AModule> */
1412 var284
= var_nmodule
->attrs
[COLOR_nit__modelize_class__AModule___mclass2nclassdef
].val
; /* _mclass2nclassdef on <var_nmodule:AModule> */
1413 if (unlikely(var284
== NULL
)) {
1414 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass2nclassdef");
1415 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 541);
1419 RET_LABEL283
:(void)0;
1423 var285
= standard___standard__MapRead___has_key(var282
, var_mclass
);
1431 var287
= varonce286
;
1433 var288
= "Error: A class ";
1435 var290
= standard___standard__NativeString___to_s_with_length(var288
, var289
);
1437 varonce286
= var287
;
1440 var292
= varonce291
;
1442 var293
= " is already defined at line ";
1444 var295
= standard___standard__NativeString___to_s_with_length(var293
, var294
);
1446 varonce291
= var292
;
1449 { /* Inline modelize_class#AModule#mclass2nclassdef (var_nmodule) on <var_nmodule:AModule> */
1450 var298
= var_nmodule
->attrs
[COLOR_nit__modelize_class__AModule___mclass2nclassdef
].val
; /* _mclass2nclassdef on <var_nmodule:AModule> */
1451 if (unlikely(var298
== NULL
)) {
1452 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass2nclassdef");
1453 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 541);
1457 RET_LABEL297
:(void)0;
1461 var299
= ((val
* (*)(val
* self
, val
* p0
))(var296
->class->vft
[COLOR_standard__abstract_collection__MapRead___91d_93d
]))(var296
, var_mclass
) /* [] on <var296:Map[MClass, AClassdef]>*/;
1464 { /* Inline parser_nodes#ANode#location (var299) on <var299:nullable Object(AClassdef)> */
1465 var302
= var299
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <var299:nullable Object(AClassdef)> */
1466 if (unlikely(var302
== NULL
)) {
1467 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
1468 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 23);
1472 RET_LABEL301
:(void)0;
1476 { /* Inline location#Location#line_start (var300) on <var300:Location> */
1477 var305
= var300
->attrs
[COLOR_nit__location__Location___line_start
].l
; /* _line_start on <var300:Location> */
1479 RET_LABEL304
:(void)0;
1483 var307
= varonce306
;
1487 var310
= standard___standard__NativeString___to_s_with_length(var308
, var309
);
1489 varonce306
= var307
;
1491 var311
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1492 { /* var311 = array_instance Array[Object] */
1494 var313
= NEW_standard__NativeArray(var312
, &type_standard__NativeArray__standard__Object
);
1495 ((struct instance_standard__NativeArray
*)var313
)->values
[0] = (val
*) var287
;
1496 ((struct instance_standard__NativeArray
*)var313
)->values
[1] = (val
*) var_name
;
1497 ((struct instance_standard__NativeArray
*)var313
)->values
[2] = (val
*) var292
;
1498 var314
= BOX_standard__Int(var303
); /* autobox from Int to Object */
1499 ((struct instance_standard__NativeArray
*)var313
)->values
[3] = (val
*) var314
;
1500 ((struct instance_standard__NativeArray
*)var313
)->values
[4] = (val
*) var307
;
1502 ((void (*)(val
* self
, val
* p0
, long p1
))(var311
->class->vft
[COLOR_standard__array__Array__with_native
]))(var311
, var313
, var312
) /* with_native on <var311:Array[Object]>*/;
1506 var315
= ((val
* (*)(val
* self
))(var311
->class->vft
[COLOR_standard__string__Object__to_s
]))(var311
) /* to_s on <var311:Array[Object]>*/;
1509 nit___nit__ModelBuilder___error(self
, var_nclassdef
, var315
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
1513 /* <var_nclassdef:AClassdef> isa AStdClassdef */
1514 cltype318
= type_nit__AStdClassdef
.color
;
1515 idtype319
= type_nit__AStdClassdef
.id
;
1516 if(cltype318
>= var_nclassdef
->type
->table_size
) {
1519 var317
= var_nclassdef
->type
->type_table
[cltype318
] == idtype319
;
1524 { /* Inline parser_nodes#ADefinition#n_kwredef (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
1525 var323
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_kwredef
].val
; /* _n_kwredef on <var_nclassdef:AClassdef(AStdClassdef)> */
1527 RET_LABEL322
:(void)0;
1531 if (var321
== NULL
) {
1532 var325
= 1; /* is null */
1534 var325
= 0; /* arg is null but recv is not */
1537 { /* Inline kernel#Object#== (var321,var324) on <var321:nullable TKwredef> */
1540 { /* Inline kernel#Object#is_same_instance (var321,var_other) on <var321:nullable TKwredef(TKwredef)> */
1541 var330
= var321
== var_other
;
1544 RET_LABEL329
:(void)0;
1549 RET_LABEL327
:(void)0;
1559 var332
= varonce331
;
1561 var333
= "Redef error: ";
1563 var335
= standard___standard__NativeString___to_s_with_length(var333
, var334
);
1565 varonce331
= var332
;
1568 var337
= varonce336
;
1570 var338
= " is an imported class. Add the redef keyword to refine it.";
1572 var340
= standard___standard__NativeString___to_s_with_length(var338
, var339
);
1574 varonce336
= var337
;
1576 var341
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1577 { /* var341 = array_instance Array[Object] */
1579 var343
= NEW_standard__NativeArray(var342
, &type_standard__NativeArray__standard__Object
);
1580 ((struct instance_standard__NativeArray
*)var343
)->values
[0] = (val
*) var332
;
1581 ((struct instance_standard__NativeArray
*)var343
)->values
[1] = (val
*) var_name
;
1582 ((struct instance_standard__NativeArray
*)var343
)->values
[2] = (val
*) var337
;
1584 ((void (*)(val
* self
, val
* p0
, long p1
))(var341
->class->vft
[COLOR_standard__array__Array__with_native
]))(var341
, var343
, var342
) /* with_native on <var341:Array[Object]>*/;
1588 var344
= ((val
* (*)(val
* self
))(var341
->class->vft
[COLOR_standard__string__Object__to_s
]))(var341
) /* to_s on <var341:Array[Object]>*/;
1591 nit___nit__ModelBuilder___error(self
, var_nclassdef
, var344
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
1597 { /* Inline kernel#Int#!= (var_arity,var346) on <var_arity:Int> */
1598 var349
= var_arity
== var346
;
1602 RET_LABEL348
:(void)0;
1608 { /* Inline model#MClass#arity (var_mclass) on <var_mclass:nullable MClass(MClass)> */
1609 var354
= var_mclass
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <var_mclass:nullable MClass(MClass)> */
1611 RET_LABEL353
:(void)0;
1615 { /* Inline kernel#Int#!= (var352,var_arity) on <var352:Int> */
1616 var357
= var352
== var_arity
;
1620 RET_LABEL356
:(void)0;
1629 var360
= varonce359
;
1631 var361
= "Redef error: Formal parameter arity missmatch; got ";
1633 var363
= standard___standard__NativeString___to_s_with_length(var361
, var362
);
1635 varonce359
= var360
;
1638 var365
= varonce364
;
1640 var366
= ", expected ";
1642 var368
= standard___standard__NativeString___to_s_with_length(var366
, var367
);
1644 varonce364
= var365
;
1647 { /* Inline model#MClass#arity (var_mclass) on <var_mclass:nullable MClass(MClass)> */
1648 var371
= var_mclass
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <var_mclass:nullable MClass(MClass)> */
1650 RET_LABEL370
:(void)0;
1654 var373
= varonce372
;
1658 var376
= standard___standard__NativeString___to_s_with_length(var374
, var375
);
1660 varonce372
= var373
;
1662 var377
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1663 { /* var377 = array_instance Array[Object] */
1665 var379
= NEW_standard__NativeArray(var378
, &type_standard__NativeArray__standard__Object
);
1666 ((struct instance_standard__NativeArray
*)var379
)->values
[0] = (val
*) var360
;
1667 var380
= BOX_standard__Int(var_arity
); /* autobox from Int to Object */
1668 ((struct instance_standard__NativeArray
*)var379
)->values
[1] = (val
*) var380
;
1669 ((struct instance_standard__NativeArray
*)var379
)->values
[2] = (val
*) var365
;
1670 var381
= BOX_standard__Int(var369
); /* autobox from Int to Object */
1671 ((struct instance_standard__NativeArray
*)var379
)->values
[3] = (val
*) var381
;
1672 ((struct instance_standard__NativeArray
*)var379
)->values
[4] = (val
*) var373
;
1674 ((void (*)(val
* self
, val
* p0
, long p1
))(var377
->class->vft
[COLOR_standard__array__Array__with_native
]))(var377
, var379
, var378
) /* with_native on <var377:Array[Object]>*/;
1678 var382
= ((val
* (*)(val
* self
))(var377
->class->vft
[COLOR_standard__string__Object__to_s
]))(var377
) /* to_s on <var377:Array[Object]>*/;
1681 nit___nit__ModelBuilder___error(self
, var_nclassdef
, var382
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
1686 if (var_nkind
== NULL
) {
1687 var386
= 0; /* is null */
1689 var386
= 1; /* arg is null and recv is not */
1692 { /* Inline kernel#Object#!= (var_nkind,var385) on <var_nkind:nullable AClasskind> */
1693 var_other160
= var385
;
1695 var389
= ((short int (*)(val
* self
, val
* p0
))(var_nkind
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nkind
, var_other160
) /* == on <var_nkind:nullable AClasskind(AClasskind)>*/;
1700 RET_LABEL388
:(void)0;
1707 var392
= nit__model___standard__Object___concrete_kind(self
);
1710 { /* Inline kernel#Object#!= (var_mkind,var392) on <var_mkind:MClassKind> */
1711 var_other160
= var392
;
1713 var395
= ((short int (*)(val
* self
, val
* p0
))(var_mkind
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mkind
, var_other160
) /* == on <var_mkind:MClassKind>*/;
1718 RET_LABEL394
:(void)0;
1728 { /* Inline model#MClass#kind (var_mclass) on <var_mclass:nullable MClass(MClass)> */
1729 var400
= var_mclass
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var_mclass:nullable MClass(MClass)> */
1730 if (unlikely(var400
== NULL
)) {
1731 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
1732 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
1736 RET_LABEL399
:(void)0;
1740 { /* Inline kernel#Object#!= (var398,var_mkind) on <var398:MClassKind> */
1741 var_other160
= var_mkind
;
1743 var403
= ((short int (*)(val
* self
, val
* p0
))(var398
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var398
, var_other160
) /* == on <var398:MClassKind>*/;
1748 RET_LABEL402
:(void)0;
1757 var406
= varonce405
;
1759 var407
= "Error: refinement changed the kind from a ";
1761 var409
= standard___standard__NativeString___to_s_with_length(var407
, var408
);
1763 varonce405
= var406
;
1766 { /* Inline model#MClass#kind (var_mclass) on <var_mclass:nullable MClass(MClass)> */
1767 var412
= var_mclass
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var_mclass:nullable MClass(MClass)> */
1768 if (unlikely(var412
== NULL
)) {
1769 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
1770 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
1774 RET_LABEL411
:(void)0;
1778 var414
= varonce413
;
1782 var417
= standard___standard__NativeString___to_s_with_length(var415
, var416
);
1784 varonce413
= var414
;
1786 var418
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1787 { /* var418 = array_instance Array[Object] */
1789 var420
= NEW_standard__NativeArray(var419
, &type_standard__NativeArray__standard__Object
);
1790 ((struct instance_standard__NativeArray
*)var420
)->values
[0] = (val
*) var406
;
1791 ((struct instance_standard__NativeArray
*)var420
)->values
[1] = (val
*) var410
;
1792 ((struct instance_standard__NativeArray
*)var420
)->values
[2] = (val
*) var414
;
1793 ((struct instance_standard__NativeArray
*)var420
)->values
[3] = (val
*) var_mkind
;
1795 ((void (*)(val
* self
, val
* p0
, long p1
))(var418
->class->vft
[COLOR_standard__array__Array__with_native
]))(var418
, var420
, var419
) /* with_native on <var418:Array[Object]>*/;
1799 var421
= ((val
* (*)(val
* self
))(var418
->class->vft
[COLOR_standard__string__Object__to_s
]))(var418
) /* to_s on <var418:Array[Object]>*/;
1802 nit___nit__ModelBuilder___error(self
, var_nkind
, var421
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
1806 if (var_nvisibility
== NULL
) {
1807 var425
= 0; /* is null */
1809 var425
= 1; /* arg is null and recv is not */
1812 { /* Inline kernel#Object#!= (var_nvisibility,var424) on <var_nvisibility:nullable AVisibility> */
1813 var_other160
= var424
;
1815 var428
= ((short int (*)(val
* self
, val
* p0
))(var_nvisibility
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nvisibility
, var_other160
) /* == on <var_nvisibility:nullable AVisibility(AVisibility)>*/;
1820 RET_LABEL427
:(void)0;
1827 var431
= nit__model_base___standard__Object___public_visibility(self
);
1830 { /* Inline kernel#Object#!= (var_mvisibility,var431) on <var_mvisibility:nullable MVisibility(MVisibility)> */
1831 var_other160
= var431
;
1833 var434
= ((short int (*)(val
* self
, val
* p0
))(var_mvisibility
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mvisibility
, var_other160
) /* == on <var_mvisibility:nullable MVisibility(MVisibility)>*/;
1838 RET_LABEL433
:(void)0;
1848 { /* Inline model#MClass#visibility (var_mclass) on <var_mclass:nullable MClass(MClass)> */
1849 var439
= var_mclass
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <var_mclass:nullable MClass(MClass)> */
1850 if (unlikely(var439
== NULL
)) {
1851 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
1852 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 403);
1856 RET_LABEL438
:(void)0;
1860 { /* Inline kernel#Object#!= (var437,var_mvisibility) on <var437:MVisibility> */
1861 var_other160
= var_mvisibility
;
1863 var442
= ((short int (*)(val
* self
, val
* p0
))(var437
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var437
, var_other160
) /* == on <var437:MVisibility>*/;
1868 RET_LABEL441
:(void)0;
1877 var445
= varonce444
;
1879 var446
= "Error: refinement changed the visibility from a ";
1881 var448
= standard___standard__NativeString___to_s_with_length(var446
, var447
);
1883 varonce444
= var445
;
1886 { /* Inline model#MClass#visibility (var_mclass) on <var_mclass:nullable MClass(MClass)> */
1887 var451
= var_mclass
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <var_mclass:nullable MClass(MClass)> */
1888 if (unlikely(var451
== NULL
)) {
1889 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
1890 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 403);
1894 RET_LABEL450
:(void)0;
1898 var453
= varonce452
;
1902 var456
= standard___standard__NativeString___to_s_with_length(var454
, var455
);
1904 varonce452
= var453
;
1906 var457
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1907 { /* var457 = array_instance Array[Object] */
1909 var459
= NEW_standard__NativeArray(var458
, &type_standard__NativeArray__standard__Object
);
1910 ((struct instance_standard__NativeArray
*)var459
)->values
[0] = (val
*) var445
;
1911 ((struct instance_standard__NativeArray
*)var459
)->values
[1] = (val
*) var449
;
1912 ((struct instance_standard__NativeArray
*)var459
)->values
[2] = (val
*) var453
;
1913 ((struct instance_standard__NativeArray
*)var459
)->values
[3] = (val
*) var_mvisibility
;
1915 ((void (*)(val
* self
, val
* p0
, long p1
))(var457
->class->vft
[COLOR_standard__array__Array__with_native
]))(var457
, var459
, var458
) /* with_native on <var457:Array[Object]>*/;
1919 var460
= ((val
* (*)(val
* self
))(var457
->class->vft
[COLOR_standard__string__Object__to_s
]))(var457
) /* to_s on <var457:Array[Object]>*/;
1922 nit___nit__ModelBuilder___error(self
, var_nvisibility
, var460
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
1932 { /* Inline modelize_class#AClassdef#mclass= (var_nclassdef,var_mclass) on <var_nclassdef:AClassdef> */
1933 var_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___mclass
].val
= var_mclass
; /* _mclass on <var_nclassdef:AClassdef> */
1934 RET_LABEL461
:(void)0;
1938 { /* Inline modelize_class#AModule#mclass2nclassdef (var_nmodule) on <var_nmodule:AModule> */
1939 var464
= var_nmodule
->attrs
[COLOR_nit__modelize_class__AModule___mclass2nclassdef
].val
; /* _mclass2nclassdef on <var_nmodule:AModule> */
1940 if (unlikely(var464
== NULL
)) {
1941 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass2nclassdef");
1942 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 541);
1946 RET_LABEL463
:(void)0;
1950 var465
= standard___standard__MapRead___has_key(var462
, var_mclass
);
1955 { /* Inline modelize_class#AModule#mclass2nclassdef (var_nmodule) on <var_nmodule:AModule> */
1956 var469
= var_nmodule
->attrs
[COLOR_nit__modelize_class__AModule___mclass2nclassdef
].val
; /* _mclass2nclassdef on <var_nmodule:AModule> */
1957 if (unlikely(var469
== NULL
)) {
1958 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass2nclassdef");
1959 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 541);
1963 RET_LABEL468
:(void)0;
1967 ((void (*)(val
* self
, val
* p0
, val
* p1
))(var467
->class->vft
[COLOR_standard__abstract_collection__Map___91d_93d_61d
]))(var467
, var_mclass
, var_nclassdef
) /* []= on <var467:Map[MClass, AClassdef]>*/;
1969 var470
= NEW_standard__Array(&type_standard__Array__nit__AClassdef
);
1972 standard___standard__Array___with_capacity(var470
, var471
); /* Direct call array#Array#with_capacity on <var470:Array[AClassdef]>*/
1976 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_472
, var_nclassdef
); /* Direct call array#AbstractArray#push on <var_472:Array[AClassdef]>*/
1979 { /* Inline modelize_class#AClassdef#all_defs= (var_nclassdef,var_472) on <var_nclassdef:AClassdef> */
1980 var_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___all_defs
].val
= var_472
; /* _all_defs on <var_nclassdef:AClassdef> */
1981 RET_LABEL473
:(void)0;
1986 { /* Inline modelize_class#AModule#mclass2nclassdef (var_nmodule) on <var_nmodule:AModule> */
1987 var476
= var_nmodule
->attrs
[COLOR_nit__modelize_class__AModule___mclass2nclassdef
].val
; /* _mclass2nclassdef on <var_nmodule:AModule> */
1988 if (unlikely(var476
== NULL
)) {
1989 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass2nclassdef");
1990 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 541);
1994 RET_LABEL475
:(void)0;
1998 var477
= ((val
* (*)(val
* self
, val
* p0
))(var474
->class->vft
[COLOR_standard__abstract_collection__MapRead___91d_93d
]))(var474
, var_mclass
) /* [] on <var474:Map[MClass, AClassdef]>*/;
2001 { /* Inline modelize_class#AClassdef#all_defs (var477) on <var477:nullable Object(AClassdef)> */
2002 var480
= var477
->attrs
[COLOR_nit__modelize_class__AClassdef___all_defs
].val
; /* _all_defs on <var477:nullable Object(AClassdef)> */
2004 RET_LABEL479
:(void)0;
2007 if (var478
== NULL
) {
2008 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2009 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 133);
2012 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var478
, var_nclassdef
); /* Direct call array#Array#add on <var478:nullable Array[AClassdef]>*/
2017 /* method modelize_class#ModelBuilder#build_a_mclassdef for (self: ModelBuilder, AModule, AClassdef) */
2018 void nit__modelize_class___ModelBuilder___build_a_mclassdef(val
* self
, val
* p0
, val
* p1
) {
2019 val
* var_nmodule
/* var nmodule: AModule */;
2020 val
* var_nclassdef
/* var nclassdef: AClassdef */;
2021 val
* var
/* : nullable MModule */;
2022 val
* var2
/* : nullable MModule */;
2023 val
* var_mmodule
/* var mmodule: MModule */;
2024 static val
* varonce
;
2025 val
* var3
/* : String */;
2026 char* var4
/* : NativeString */;
2027 long var5
/* : Int */;
2028 val
* var6
/* : FlatString */;
2029 val
* var7
/* : nullable MClass */;
2030 val
* var_objectclass
/* var objectclass: nullable MClass */;
2031 val
* var8
/* : nullable MClass */;
2032 val
* var10
/* : nullable MClass */;
2033 val
* var_mclass
/* var mclass: nullable MClass */;
2034 val
* var11
/* : null */;
2035 short int var12
/* : Bool */;
2036 short int var13
/* : Bool */;
2037 val
* var_other
/* var other: nullable Object */;
2038 short int var15
/* : Bool */;
2039 short int var17
/* : Bool */;
2040 val
* var18
/* : Map[MClass, AClassdef] */;
2041 val
* var20
/* : Map[MClass, AClassdef] */;
2042 val
* var21
/* : nullable Object */;
2043 val
* var_other_nclassdef
/* var other_nclassdef: AClassdef */;
2044 short int var22
/* : Bool */;
2045 val
* var_other24
/* var other: nullable Object */;
2046 short int var25
/* : Bool */;
2047 short int var26
/* : Bool */;
2048 short int var27
/* : Bool */;
2051 short int var28
/* : Bool */;
2052 val
* var29
/* : nullable MClassDef */;
2053 val
* var31
/* : nullable MClassDef */;
2054 val
* var33
/* : Array[MType] */;
2055 val
* var_bounds
/* var bounds: Array[MType] */;
2056 short int var34
/* : Bool */;
2057 short int var35
/* : Bool */;
2060 short int var_
/* var : Bool */;
2061 long var38
/* : Int */;
2062 long var40
/* : Int */;
2063 long var41
/* : Int */;
2064 short int var42
/* : Bool */;
2065 short int var44
/* : Bool */;
2068 const char* var_class_name
;
2069 short int var47
/* : Bool */;
2070 long var48
/* : Int */;
2071 long var_i
/* var i: Int */;
2072 long var49
/* : Int */;
2073 long var51
/* : Int */;
2074 long var_52
/* var : Int */;
2075 short int var53
/* : Bool */;
2076 short int var55
/* : Bool */;
2079 const char* var_class_name58
;
2080 short int var59
/* : Bool */;
2081 val
* var60
/* : ANodes[AFormaldef] */;
2082 val
* var62
/* : ANodes[AFormaldef] */;
2083 short int var63
/* : Bool */;
2084 val
* var64
/* : MClassDef */;
2085 val
* var66
/* : MClassDef */;
2086 val
* var67
/* : MClassType */;
2087 val
* var69
/* : MClassType */;
2088 val
* var70
/* : Array[MType] */;
2089 val
* var71
/* : nullable Object */;
2090 val
* var_bound
/* var bound: MType */;
2091 val
* var72
/* : ANodes[AFormaldef] */;
2092 val
* var74
/* : ANodes[AFormaldef] */;
2093 val
* var75
/* : ANode */;
2094 val
* var_nfd
/* var nfd: AFormaldef */;
2095 val
* var76
/* : Array[MParameterType] */;
2096 val
* var78
/* : Array[MParameterType] */;
2097 val
* var79
/* : nullable Object */;
2098 val
* var80
/* : String */;
2099 val
* var82
/* : String */;
2100 val
* var_pname
/* var pname: String */;
2101 val
* var83
/* : TClassid */;
2102 val
* var85
/* : TClassid */;
2103 val
* var86
/* : String */;
2104 short int var87
/* : Bool */;
2105 short int var89
/* : Bool */;
2106 short int var90
/* : Bool */;
2107 val
* var91
/* : TClassid */;
2108 val
* var93
/* : TClassid */;
2109 static val
* varonce94
;
2110 val
* var95
/* : String */;
2111 char* var96
/* : NativeString */;
2112 long var97
/* : Int */;
2113 val
* var98
/* : FlatString */;
2114 static val
* varonce99
;
2115 val
* var100
/* : String */;
2116 char* var101
/* : NativeString */;
2117 long var102
/* : Int */;
2118 val
* var103
/* : FlatString */;
2119 val
* var104
/* : TClassid */;
2120 val
* var106
/* : TClassid */;
2121 val
* var107
/* : String */;
2122 static val
* varonce108
;
2123 val
* var109
/* : String */;
2124 char* var110
/* : NativeString */;
2125 long var111
/* : Int */;
2126 val
* var112
/* : FlatString */;
2127 static val
* varonce113
;
2128 val
* var114
/* : String */;
2129 char* var115
/* : NativeString */;
2130 long var116
/* : Int */;
2131 val
* var117
/* : FlatString */;
2132 val
* var118
/* : MClassDef */;
2133 val
* var120
/* : MClassDef */;
2134 val
* var121
/* : MModule */;
2135 val
* var123
/* : MModule */;
2136 static val
* varonce124
;
2137 val
* var125
/* : String */;
2138 char* var126
/* : NativeString */;
2139 long var127
/* : Int */;
2140 val
* var128
/* : FlatString */;
2141 val
* var129
/* : Array[Object] */;
2142 long var130
/* : Int */;
2143 val
* var131
/* : NativeArray[Object] */;
2144 val
* var132
/* : Object */;
2145 val
* var133
/* : String */;
2146 val
* var134
/* : nullable AType */;
2147 val
* var136
/* : nullable AType */;
2148 val
* var_nfdt
/* var nfdt: nullable AType */;
2149 val
* var137
/* : null */;
2150 short int var138
/* : Bool */;
2151 short int var139
/* : Bool */;
2152 short int var141
/* : Bool */;
2153 short int var142
/* : Bool */;
2154 val
* var143
/* : null */;
2155 short int var144
/* : Bool */;
2156 val
* var145
/* : nullable MType */;
2157 val
* var_bound146
/* var bound: nullable MType */;
2158 val
* var147
/* : null */;
2159 short int var148
/* : Bool */;
2160 short int var149
/* : Bool */;
2161 short int var151
/* : Bool */;
2162 short int var153
/* : Bool */;
2163 short int var154
/* : Bool */;
2164 static val
* varonce155
;
2165 val
* var156
/* : String */;
2166 char* var157
/* : NativeString */;
2167 long var158
/* : Int */;
2168 val
* var159
/* : FlatString */;
2169 static val
* varonce160
;
2170 val
* var161
/* : String */;
2171 char* var162
/* : NativeString */;
2172 long var163
/* : Int */;
2173 val
* var164
/* : FlatString */;
2174 val
* var165
/* : Array[Object] */;
2175 long var166
/* : Int */;
2176 val
* var167
/* : NativeArray[Object] */;
2177 val
* var168
/* : String */;
2178 short int var170
/* : Bool */;
2179 short int var171
/* : Bool */;
2182 short int var_174
/* var : Bool */;
2183 val
* var175
/* : MClass */;
2184 val
* var177
/* : MClass */;
2185 val
* var178
/* : MClassKind */;
2186 val
* var180
/* : MClassKind */;
2187 val
* var181
/* : MClassKind */;
2188 short int var182
/* : Bool */;
2189 short int var184
/* : Bool */;
2190 short int var186
/* : Bool */;
2191 static val
* varonce187
;
2192 val
* var188
/* : String */;
2193 char* var189
/* : NativeString */;
2194 long var190
/* : Int */;
2195 val
* var191
/* : FlatString */;
2196 static val
* varonce192
;
2197 val
* var193
/* : String */;
2198 char* var194
/* : NativeString */;
2199 long var195
/* : Int */;
2200 val
* var196
/* : FlatString */;
2201 static val
* varonce197
;
2202 val
* var198
/* : String */;
2203 char* var199
/* : NativeString */;
2204 long var200
/* : Int */;
2205 val
* var201
/* : FlatString */;
2206 val
* var202
/* : Array[Object] */;
2207 long var203
/* : Int */;
2208 val
* var204
/* : NativeArray[Object] */;
2209 val
* var205
/* : String */;
2210 val
* var206
/* : Array[MClassDef] */;
2211 val
* var208
/* : Array[MClassDef] */;
2212 short int var209
/* : Bool */;
2213 val
* var210
/* : null */;
2214 short int var211
/* : Bool */;
2215 short int var212
/* : Bool */;
2216 short int var214
/* : Bool */;
2217 short int var216
/* : Bool */;
2218 static val
* varonce217
;
2219 val
* var218
/* : String */;
2220 char* var219
/* : NativeString */;
2221 long var220
/* : Int */;
2222 val
* var221
/* : FlatString */;
2223 static val
* varonce222
;
2224 val
* var223
/* : String */;
2225 char* var224
/* : NativeString */;
2226 long var225
/* : Int */;
2227 val
* var226
/* : FlatString */;
2228 val
* var227
/* : Array[Object] */;
2229 long var228
/* : Int */;
2230 val
* var229
/* : NativeArray[Object] */;
2231 val
* var230
/* : String */;
2232 val
* var231
/* : MClassType */;
2233 val
* var233
/* : MClassType */;
2234 val
* var234
/* : MType */;
2235 val
* var_bound235
/* var bound: MType */;
2236 val
* var237
/* : MClassDef */;
2237 val
* var239
/* : MClassDef */;
2238 val
* var240
/* : MClassType */;
2239 val
* var242
/* : MClassType */;
2240 val
* var243
/* : Array[MType] */;
2241 val
* var244
/* : nullable Object */;
2242 val
* var_bound245
/* var bound: MType */;
2243 long var247
/* : Int */;
2244 long var248
/* : Int */;
2245 val
* var250
/* : MClassType */;
2246 val
* var_bound_mtype
/* var bound_mtype: MClassType */;
2247 val
* var251
/* : MClassDef */;
2248 val
* var252
/* : Location */;
2249 val
* var254
/* : Location */;
2250 val
* var_mclassdef
/* var mclassdef: MClassDef */;
2251 val
* var256
/* : HashMap[MClassDef, AClassdef] */;
2252 val
* var258
/* : HashMap[MClassDef, AClassdef] */;
2253 short int var259
/* : Bool */;
2256 val
* var262
/* : nullable ADoc */;
2257 val
* var264
/* : nullable ADoc */;
2258 val
* var_ndoc
/* var ndoc: nullable ADoc */;
2259 val
* var265
/* : null */;
2260 short int var266
/* : Bool */;
2261 short int var267
/* : Bool */;
2262 short int var269
/* : Bool */;
2263 short int var270
/* : Bool */;
2264 val
* var271
/* : MDoc */;
2265 val
* var_mdoc
/* var mdoc: MDoc */;
2266 short int var274
/* : Bool */;
2267 short int var275
/* : Bool */;
2268 short int var_276
/* var : Bool */;
2269 val
* var277
/* : MVisibility */;
2270 val
* var279
/* : MVisibility */;
2271 val
* var280
/* : MVisibility */;
2272 short int var281
/* : Bool */;
2273 static val
* varonce282
;
2274 val
* var283
/* : String */;
2275 char* var284
/* : NativeString */;
2276 long var285
/* : Int */;
2277 val
* var286
/* : FlatString */;
2278 static val
* varonce287
;
2279 val
* var288
/* : String */;
2280 char* var289
/* : NativeString */;
2281 long var290
/* : Int */;
2282 val
* var291
/* : FlatString */;
2283 static val
* varonce292
;
2284 val
* var293
/* : String */;
2285 char* var294
/* : NativeString */;
2286 long var295
/* : Int */;
2287 val
* var296
/* : FlatString */;
2288 val
* var297
/* : Array[Object] */;
2289 long var298
/* : Int */;
2290 val
* var299
/* : NativeArray[Object] */;
2291 val
* var300
/* : String */;
2292 short int var301
/* : Bool */;
2293 val
* var302
/* : ToolContext */;
2294 val
* var304
/* : ToolContext */;
2295 static val
* varonce305
;
2296 val
* var306
/* : String */;
2297 char* var307
/* : NativeString */;
2298 long var308
/* : Int */;
2299 val
* var309
/* : FlatString */;
2300 val
* var310
/* : MClassKind */;
2301 val
* var312
/* : MClassKind */;
2302 static val
* varonce313
;
2303 val
* var314
/* : String */;
2304 char* var315
/* : NativeString */;
2305 long var316
/* : Int */;
2306 val
* var317
/* : FlatString */;
2307 val
* var318
/* : String */;
2308 val
* var319
/* : Array[Object] */;
2309 long var320
/* : Int */;
2310 val
* var321
/* : NativeArray[Object] */;
2311 val
* var322
/* : String */;
2312 long var323
/* : Int */;
2313 val
* var324
/* : ToolContext */;
2314 val
* var326
/* : ToolContext */;
2315 static val
* varonce327
;
2316 val
* var328
/* : String */;
2317 char* var329
/* : NativeString */;
2318 long var330
/* : Int */;
2319 val
* var331
/* : FlatString */;
2320 val
* var332
/* : MClassKind */;
2321 val
* var334
/* : MClassKind */;
2322 static val
* varonce335
;
2323 val
* var336
/* : String */;
2324 char* var337
/* : NativeString */;
2325 long var338
/* : Int */;
2326 val
* var339
/* : FlatString */;
2327 val
* var340
/* : String */;
2328 val
* var341
/* : Array[Object] */;
2329 long var342
/* : Int */;
2330 val
* var343
/* : NativeArray[Object] */;
2331 val
* var344
/* : String */;
2332 long var345
/* : Int */;
2336 { /* Inline loader#AModule#mmodule (var_nmodule) on <var_nmodule:AModule> */
2337 var2
= var_nmodule
->attrs
[COLOR_nit__loader__AModule___mmodule
].val
; /* _mmodule on <var_nmodule:AModule> */
2342 if (unlikely(var
== NULL
)) {
2343 PRINT_ERROR("Runtime error: %s", "Cast failed");
2344 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 140);
2353 var6
= standard___standard__NativeString___to_s_with_length(var4
, var5
);
2358 var7
= nit___nit__ModelBuilder___try_get_mclass_by_name(self
, var_nmodule
, var_mmodule
, var3
);
2360 var_objectclass
= var7
;
2362 { /* Inline modelize_class#AClassdef#mclass (var_nclassdef) on <var_nclassdef:AClassdef> */
2363 var10
= var_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___mclass
].val
; /* _mclass on <var_nclassdef:AClassdef> */
2370 if (var_mclass
== NULL
) {
2371 var12
= 1; /* is null */
2373 var12
= 0; /* arg is null but recv is not */
2376 { /* Inline kernel#Object#== (var_mclass,var11) on <var_mclass:nullable MClass> */
2379 { /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
2380 var17
= var_mclass
== var_other
;
2383 RET_LABEL16
:(void)0;
2388 RET_LABEL14
:(void)0;
2397 { /* Inline modelize_class#AModule#mclass2nclassdef (var_nmodule) on <var_nmodule:AModule> */
2398 var20
= var_nmodule
->attrs
[COLOR_nit__modelize_class__AModule___mclass2nclassdef
].val
; /* _mclass2nclassdef on <var_nmodule:AModule> */
2399 if (unlikely(var20
== NULL
)) {
2400 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass2nclassdef");
2401 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 541);
2405 RET_LABEL19
:(void)0;
2409 var21
= ((val
* (*)(val
* self
, val
* p0
))(var18
->class->vft
[COLOR_standard__abstract_collection__MapRead___91d_93d
]))(var18
, var_mclass
) /* [] on <var18:Map[MClass, AClassdef]>*/;
2411 var_other_nclassdef
= var21
;
2413 { /* Inline kernel#Object#!= (var_other_nclassdef,var_nclassdef) on <var_other_nclassdef:AClassdef> */
2414 var_other24
= var_nclassdef
;
2416 var25
= ((short int (*)(val
* self
, val
* p0
))(var_other_nclassdef
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_other_nclassdef
, var_other24
) /* == on <var_other_nclassdef:AClassdef>*/;
2421 RET_LABEL23
:(void)0;
2425 /* <var_nclassdef:AClassdef> isa AStdClassdef */
2426 cltype
= type_nit__AStdClassdef
.color
;
2427 idtype
= type_nit__AStdClassdef
.id
;
2428 if(cltype
>= var_nclassdef
->type
->table_size
) {
2431 var27
= var_nclassdef
->type
->type_table
[cltype
] == idtype
;
2434 if (unlikely(!var28
)) {
2435 PRINT_ERROR("Runtime error: %s", "Assert failed");
2436 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 148);
2440 { /* Inline modelize_class#AClassdef#mclassdef (var_other_nclassdef) on <var_other_nclassdef:AClassdef> */
2441 var31
= var_other_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_other_nclassdef:AClassdef> */
2443 RET_LABEL30
:(void)0;
2447 { /* Inline modelize_class#AClassdef#mclassdef= (var_nclassdef,var29) on <var_nclassdef:AClassdef> */
2448 var_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___mclassdef
].val
= var29
; /* _mclassdef on <var_nclassdef:AClassdef> */
2449 RET_LABEL32
:(void)0;
2455 var33
= NEW_standard__Array(&type_standard__Array__nit__MType
);
2457 standard___standard__Array___standard__kernel__Object__init(var33
); /* Direct call array#Array#init on <var33:Array[MType]>*/
2460 /* <var_nclassdef:AClassdef> isa AStdClassdef */
2461 cltype36
= type_nit__AStdClassdef
.color
;
2462 idtype37
= type_nit__AStdClassdef
.id
;
2463 if(cltype36
>= var_nclassdef
->type
->table_size
) {
2466 var35
= var_nclassdef
->type
->type_table
[cltype36
] == idtype37
;
2471 { /* Inline model#MClass#arity (var_mclass) on <var_mclass:nullable MClass(MClass)> */
2472 var40
= var_mclass
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <var_mclass:nullable MClass(MClass)> */
2474 RET_LABEL39
:(void)0;
2479 { /* Inline kernel#Int#> (var38,var41) on <var38:Int> */
2480 /* Covariant cast for argument 0 (i) <var41:Int> isa OTHER */
2481 /* <var41:Int> isa OTHER */
2482 var44
= 1; /* easy <var41:Int> isa OTHER*/
2483 if (unlikely(!var44
)) {
2484 var_class_name
= type_standard__Int
.name
;
2485 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2486 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 412);
2489 var47
= var38
> var41
;
2492 RET_LABEL43
:(void)0;
2503 { /* Inline model#MClass#arity (var_mclass) on <var_mclass:nullable MClass(MClass)> */
2504 var51
= var_mclass
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <var_mclass:nullable MClass(MClass)> */
2506 RET_LABEL50
:(void)0;
2512 { /* Inline kernel#Int#< (var_i,var_52) on <var_i:Int> */
2513 /* Covariant cast for argument 0 (i) <var_52:Int> isa OTHER */
2514 /* <var_52:Int> isa OTHER */
2515 var55
= 1; /* easy <var_52:Int> isa OTHER*/
2516 if (unlikely(!var55
)) {
2517 var_class_name58
= type_standard__Int
.name
;
2518 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name58
);
2519 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
2522 var59
= var_i
< var_52
;
2525 RET_LABEL54
:(void)0;
2530 { /* Inline parser_nodes#AStdClassdef#n_formaldefs (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
2531 var62
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__AStdClassdef___n_formaldefs
].val
; /* _n_formaldefs on <var_nclassdef:AClassdef(AStdClassdef)> */
2532 if (unlikely(var62
== NULL
)) {
2533 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_formaldefs");
2534 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1027);
2538 RET_LABEL61
:(void)0;
2542 var63
= nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var60
);
2546 { /* Inline model#MClass#intro (var_mclass) on <var_mclass:nullable MClass(MClass)> */
2547 var66
= var_mclass
->attrs
[COLOR_nit__model__MClass___intro
].val
; /* _intro on <var_mclass:nullable MClass(MClass)> */
2548 if (unlikely(var66
== NULL
)) {
2549 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
2550 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 423);
2554 RET_LABEL65
:(void)0;
2558 { /* Inline model#MClassDef#bound_mtype (var64) on <var64:MClassDef> */
2559 var69
= var64
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var64:MClassDef> */
2560 if (unlikely(var69
== NULL
)) {
2561 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2562 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
2566 RET_LABEL68
:(void)0;
2570 var70
= ((val
* (*)(val
* self
))(var67
->class->vft
[COLOR_nit__model__MClassType__arguments
]))(var67
) /* arguments on <var67:MClassType>*/;
2573 var71
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var70
, var_i
);
2577 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_bounds
, var_bound
); /* Direct call array#Array#add on <var_bounds:Array[MType]>*/
2583 { /* Inline parser_nodes#AStdClassdef#n_formaldefs (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
2584 var74
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__AStdClassdef___n_formaldefs
].val
; /* _n_formaldefs on <var_nclassdef:AClassdef(AStdClassdef)> */
2585 if (unlikely(var74
== NULL
)) {
2586 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_formaldefs");
2587 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1027);
2591 RET_LABEL73
:(void)0;
2595 var75
= nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var72
, var_i
);
2599 { /* Inline model#MClass#mparameters (var_mclass) on <var_mclass:nullable MClass(MClass)> */
2600 var78
= var_mclass
->attrs
[COLOR_nit__model__MClass___mparameters
].val
; /* _mparameters on <var_mclass:nullable MClass(MClass)> */
2601 if (unlikely(var78
== NULL
)) {
2602 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
2603 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 368);
2607 RET_LABEL77
:(void)0;
2611 var79
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var76
, var_i
);
2614 { /* Inline model#MParameterType#name (var79) on <var79:nullable Object(MParameterType)> */
2615 var82
= var79
->attrs
[COLOR_nit__model__MParameterType___name
].val
; /* _name on <var79:nullable Object(MParameterType)> */
2616 if (unlikely(var82
== NULL
)) {
2617 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2618 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1391);
2622 RET_LABEL81
:(void)0;
2627 { /* Inline parser_nodes#AFormaldef#n_id (var_nfd) on <var_nfd:AFormaldef> */
2628 var85
= var_nfd
->attrs
[COLOR_nit__parser_nodes__AFormaldef___n_id
].val
; /* _n_id on <var_nfd:AFormaldef> */
2629 if (unlikely(var85
== NULL
)) {
2630 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
2631 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1107);
2635 RET_LABEL84
:(void)0;
2639 var86
= nit__lexer_work___Token___text(var83
);
2642 { /* Inline kernel#Object#!= (var86,var_pname) on <var86:String> */
2643 var_other24
= var_pname
;
2645 var89
= ((short int (*)(val
* self
, val
* p0
))(var86
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var86
, var_other24
) /* == on <var86:String>*/;
2650 RET_LABEL88
:(void)0;
2655 { /* Inline parser_nodes#AFormaldef#n_id (var_nfd) on <var_nfd:AFormaldef> */
2656 var93
= var_nfd
->attrs
[COLOR_nit__parser_nodes__AFormaldef___n_id
].val
; /* _n_id on <var_nfd:AFormaldef> */
2657 if (unlikely(var93
== NULL
)) {
2658 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
2659 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1107);
2663 RET_LABEL92
:(void)0;
2669 var96
= "Error: Formal parameter type #";
2671 var98
= standard___standard__NativeString___to_s_with_length(var96
, var97
);
2680 var103
= standard___standard__NativeString___to_s_with_length(var101
, var102
);
2685 { /* Inline parser_nodes#AFormaldef#n_id (var_nfd) on <var_nfd:AFormaldef> */
2686 var106
= var_nfd
->attrs
[COLOR_nit__parser_nodes__AFormaldef___n_id
].val
; /* _n_id on <var_nfd:AFormaldef> */
2687 if (unlikely(var106
== NULL
)) {
2688 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
2689 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1107);
2693 RET_LABEL105
:(void)0;
2697 var107
= nit__lexer_work___Token___text(var104
);
2700 var109
= varonce108
;
2702 var110
= "` must be named `";
2704 var112
= standard___standard__NativeString___to_s_with_length(var110
, var111
);
2706 varonce108
= var109
;
2709 var114
= varonce113
;
2711 var115
= "\' as in the original definition in module `";
2713 var117
= standard___standard__NativeString___to_s_with_length(var115
, var116
);
2715 varonce113
= var114
;
2718 { /* Inline model#MClass#intro (var_mclass) on <var_mclass:nullable MClass(MClass)> */
2719 var120
= var_mclass
->attrs
[COLOR_nit__model__MClass___intro
].val
; /* _intro on <var_mclass:nullable MClass(MClass)> */
2720 if (unlikely(var120
== NULL
)) {
2721 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
2722 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 423);
2726 RET_LABEL119
:(void)0;
2730 { /* Inline model#MClassDef#mmodule (var118) on <var118:MClassDef> */
2731 var123
= var118
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var118:MClassDef> */
2732 if (unlikely(var123
== NULL
)) {
2733 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2734 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
2738 RET_LABEL122
:(void)0;
2742 var125
= varonce124
;
2746 var128
= standard___standard__NativeString___to_s_with_length(var126
, var127
);
2748 varonce124
= var125
;
2750 var129
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2751 { /* var129 = array_instance Array[Object] */
2753 var131
= NEW_standard__NativeArray(var130
, &type_standard__NativeArray__standard__Object
);
2754 ((struct instance_standard__NativeArray
*)var131
)->values
[0] = (val
*) var95
;
2755 var132
= BOX_standard__Int(var_i
); /* autobox from Int to Object */
2756 ((struct instance_standard__NativeArray
*)var131
)->values
[1] = (val
*) var132
;
2757 ((struct instance_standard__NativeArray
*)var131
)->values
[2] = (val
*) var100
;
2758 ((struct instance_standard__NativeArray
*)var131
)->values
[3] = (val
*) var107
;
2759 ((struct instance_standard__NativeArray
*)var131
)->values
[4] = (val
*) var109
;
2760 ((struct instance_standard__NativeArray
*)var131
)->values
[5] = (val
*) var_pname
;
2761 ((struct instance_standard__NativeArray
*)var131
)->values
[6] = (val
*) var114
;
2762 ((struct instance_standard__NativeArray
*)var131
)->values
[7] = (val
*) var121
;
2763 ((struct instance_standard__NativeArray
*)var131
)->values
[8] = (val
*) var125
;
2765 ((void (*)(val
* self
, val
* p0
, long p1
))(var129
->class->vft
[COLOR_standard__array__Array__with_native
]))(var129
, var131
, var130
) /* with_native on <var129:Array[Object]>*/;
2769 var133
= ((val
* (*)(val
* self
))(var129
->class->vft
[COLOR_standard__string__Object__to_s
]))(var129
) /* to_s on <var129:Array[Object]>*/;
2772 nit___nit__ModelBuilder___error(self
, var91
, var133
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
2777 { /* Inline parser_nodes#AFormaldef#n_type (var_nfd) on <var_nfd:AFormaldef> */
2778 var136
= var_nfd
->attrs
[COLOR_nit__parser_nodes__AFormaldef___n_type
].val
; /* _n_type on <var_nfd:AFormaldef> */
2780 RET_LABEL135
:(void)0;
2785 if (var_nfdt
== NULL
) {
2786 var138
= 0; /* is null */
2788 var138
= 1; /* arg is null and recv is not */
2791 { /* Inline kernel#Object#!= (var_nfdt,var137) on <var_nfdt:nullable AType> */
2792 var_other24
= var137
;
2794 var141
= ((short int (*)(val
* self
, val
* p0
))(var_nfdt
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nfdt
, var_other24
) /* == on <var_nfdt:nullable AType(AType)>*/;
2799 RET_LABEL140
:(void)0;
2807 var145
= nit__modelize_class___ModelBuilder___resolve_mtype_unchecked(self
, var_mmodule
, var143
, var_nfdt
, var144
);
2809 var_bound146
= var145
;
2811 if (var_bound146
== NULL
) {
2812 var148
= 1; /* is null */
2814 var148
= 0; /* arg is null but recv is not */
2817 { /* Inline kernel#Object#== (var_bound146,var147) on <var_bound146:nullable MType> */
2820 { /* Inline kernel#Object#is_same_instance (var_bound146,var_other) on <var_bound146:nullable MType(MType)> */
2821 var153
= var_bound146
== var_other
;
2824 RET_LABEL152
:(void)0;
2829 RET_LABEL150
:(void)0;
2838 var154
= ((short int (*)(val
* self
))(var_bound146
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_bound146
) /* need_anchor on <var_bound146:nullable MType(MType)>*/;
2842 var156
= varonce155
;
2844 var157
= "Error: Formal parameter type `";
2846 var159
= standard___standard__NativeString___to_s_with_length(var157
, var158
);
2848 varonce155
= var156
;
2851 var161
= varonce160
;
2853 var162
= "\' bounded with a formal parameter type";
2855 var164
= standard___standard__NativeString___to_s_with_length(var162
, var163
);
2857 varonce160
= var161
;
2859 var165
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2860 { /* var165 = array_instance Array[Object] */
2862 var167
= NEW_standard__NativeArray(var166
, &type_standard__NativeArray__standard__Object
);
2863 ((struct instance_standard__NativeArray
*)var167
)->values
[0] = (val
*) var156
;
2864 ((struct instance_standard__NativeArray
*)var167
)->values
[1] = (val
*) var_pname
;
2865 ((struct instance_standard__NativeArray
*)var167
)->values
[2] = (val
*) var161
;
2867 ((void (*)(val
* self
, val
* p0
, long p1
))(var165
->class->vft
[COLOR_standard__array__Array__with_native
]))(var165
, var167
, var166
) /* with_native on <var165:Array[Object]>*/;
2871 var168
= ((val
* (*)(val
* self
))(var165
->class->vft
[COLOR_standard__string__Object__to_s
]))(var165
) /* to_s on <var165:Array[Object]>*/;
2874 nit___nit__ModelBuilder___error(self
, var_nfd
, var168
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
2878 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_bounds
, var_bound146
); /* Direct call array#Array#add on <var_bounds:Array[MType]>*/
2881 { /* Inline modelize_class#AFormaldef#bound= (var_nfd,var_bound146) on <var_nfd:AFormaldef> */
2882 var_nfd
->attrs
[COLOR_nit__modelize_class__AFormaldef___bound
].val
= var_bound146
; /* _bound on <var_nfd:AFormaldef> */
2883 RET_LABEL169
:(void)0;
2887 /* <var_bound146:nullable MType(MType)> isa MClassType */
2888 cltype172
= type_nit__MClassType
.color
;
2889 idtype173
= type_nit__MClassType
.id
;
2890 if(cltype172
>= var_bound146
->type
->table_size
) {
2893 var171
= var_bound146
->type
->type_table
[cltype172
] == idtype173
;
2898 { /* Inline model#MClassType#mclass (var_bound146) on <var_bound146:nullable MType(MClassType)> */
2899 var177
= var_bound146
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_bound146:nullable MType(MClassType)> */
2900 if (unlikely(var177
== NULL
)) {
2901 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2902 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
2906 RET_LABEL176
:(void)0;
2910 { /* Inline model#MClass#kind (var175) on <var175:MClass> */
2911 var180
= var175
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var175:MClass> */
2912 if (unlikely(var180
== NULL
)) {
2913 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
2914 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
2918 RET_LABEL179
:(void)0;
2922 var181
= nit__model___standard__Object___enum_kind(self
);
2925 { /* Inline kernel#Object#== (var178,var181) on <var178:MClassKind> */
2928 { /* Inline kernel#Object#is_same_instance (var178,var_other) on <var178:MClassKind> */
2929 var186
= var178
== var_other
;
2932 RET_LABEL185
:(void)0;
2937 RET_LABEL183
:(void)0;
2946 var188
= varonce187
;
2948 var189
= "useless-bound";
2950 var191
= standard___standard__NativeString___to_s_with_length(var189
, var190
);
2952 varonce187
= var188
;
2955 var193
= varonce192
;
2957 var194
= "Warning: Useless formal parameter type since `";
2959 var196
= standard___standard__NativeString___to_s_with_length(var194
, var195
);
2961 varonce192
= var193
;
2964 var198
= varonce197
;
2966 var199
= "` cannnot have subclasses.";
2968 var201
= standard___standard__NativeString___to_s_with_length(var199
, var200
);
2970 varonce197
= var198
;
2972 var202
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2973 { /* var202 = array_instance Array[Object] */
2975 var204
= NEW_standard__NativeArray(var203
, &type_standard__NativeArray__standard__Object
);
2976 ((struct instance_standard__NativeArray
*)var204
)->values
[0] = (val
*) var193
;
2977 ((struct instance_standard__NativeArray
*)var204
)->values
[1] = (val
*) var_bound146
;
2978 ((struct instance_standard__NativeArray
*)var204
)->values
[2] = (val
*) var198
;
2980 ((void (*)(val
* self
, val
* p0
, long p1
))(var202
->class->vft
[COLOR_standard__array__Array__with_native
]))(var202
, var204
, var203
) /* with_native on <var202:Array[Object]>*/;
2984 var205
= ((val
* (*)(val
* self
))(var202
->class->vft
[COLOR_standard__string__Object__to_s
]))(var202
) /* to_s on <var202:Array[Object]>*/;
2987 nit___nit__ModelBuilder___warning(self
, var_nfdt
, var188
, var205
); /* Direct call modelbuilder_base#ModelBuilder#warning on <self:ModelBuilder>*/
2993 { /* Inline model#MClass#mclassdefs (var_mclass) on <var_mclass:nullable MClass(MClass)> */
2994 var208
= var_mclass
->attrs
[COLOR_nit__model__MClass___mclassdefs
].val
; /* _mclassdefs on <var_mclass:nullable MClass(MClass)> */
2995 if (unlikely(var208
== NULL
)) {
2996 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
2997 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 417);
3001 RET_LABEL207
:(void)0;
3005 var209
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var206
);
3009 if (var_objectclass
== NULL
) {
3010 var211
= 1; /* is null */
3012 var211
= 0; /* arg is null but recv is not */
3015 { /* Inline kernel#Object#== (var_objectclass,var210) on <var_objectclass:nullable MClass> */
3018 { /* Inline kernel#Object#is_same_instance (var_objectclass,var_other) on <var_objectclass:nullable MClass(MClass)> */
3019 var216
= var_objectclass
== var_other
;
3022 RET_LABEL215
:(void)0;
3027 RET_LABEL213
:(void)0;
3033 var218
= varonce217
;
3035 var219
= "Error: Formal parameter type `";
3037 var221
= standard___standard__NativeString___to_s_with_length(var219
, var220
);
3039 varonce217
= var218
;
3042 var223
= varonce222
;
3044 var224
= "\' unbounded but no Object class exist.";
3046 var226
= standard___standard__NativeString___to_s_with_length(var224
, var225
);
3048 varonce222
= var223
;
3050 var227
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3051 { /* var227 = array_instance Array[Object] */
3053 var229
= NEW_standard__NativeArray(var228
, &type_standard__NativeArray__standard__Object
);
3054 ((struct instance_standard__NativeArray
*)var229
)->values
[0] = (val
*) var218
;
3055 ((struct instance_standard__NativeArray
*)var229
)->values
[1] = (val
*) var_pname
;
3056 ((struct instance_standard__NativeArray
*)var229
)->values
[2] = (val
*) var223
;
3058 ((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]>*/;
3062 var230
= ((val
* (*)(val
* self
))(var227
->class->vft
[COLOR_standard__string__Object__to_s
]))(var227
) /* to_s on <var227:Array[Object]>*/;
3065 nit___nit__ModelBuilder___error(self
, var_nfd
, var230
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
3071 { /* Inline model#MClass#mclass_type (var_objectclass) on <var_objectclass:nullable MClass(MClass)> */
3072 var233
= var_objectclass
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_objectclass:nullable MClass(MClass)> */
3073 if (unlikely(var233
== NULL
)) {
3074 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
3075 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
3079 RET_LABEL232
:(void)0;
3083 var234
= nit___nit__MType___as_nullable(var231
);
3085 var_bound235
= var234
;
3087 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_bounds
, var_bound235
); /* Direct call array#Array#add on <var_bounds:Array[MType]>*/
3090 { /* Inline modelize_class#AFormaldef#bound= (var_nfd,var_bound235) on <var_nfd:AFormaldef> */
3091 var_nfd
->attrs
[COLOR_nit__modelize_class__AFormaldef___bound
].val
= var_bound235
; /* _bound on <var_nfd:AFormaldef> */
3092 RET_LABEL236
:(void)0;
3097 { /* Inline model#MClass#intro (var_mclass) on <var_mclass:nullable MClass(MClass)> */
3098 var239
= var_mclass
->attrs
[COLOR_nit__model__MClass___intro
].val
; /* _intro on <var_mclass:nullable MClass(MClass)> */
3099 if (unlikely(var239
== NULL
)) {
3100 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3101 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 423);
3105 RET_LABEL238
:(void)0;
3109 { /* Inline model#MClassDef#bound_mtype (var237) on <var237:MClassDef> */
3110 var242
= var237
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var237:MClassDef> */
3111 if (unlikely(var242
== NULL
)) {
3112 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3113 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
3117 RET_LABEL241
:(void)0;
3121 var243
= ((val
* (*)(val
* self
))(var240
->class->vft
[COLOR_nit__model__MClassType__arguments
]))(var240
) /* arguments on <var240:MClassType>*/;
3124 var244
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var243
, var_i
);
3126 var_bound245
= var244
;
3128 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_bounds
, var_bound245
); /* Direct call array#Array#add on <var_bounds:Array[MType]>*/
3131 { /* Inline modelize_class#AFormaldef#bound= (var_nfd,var_bound245) on <var_nfd:AFormaldef> */
3132 var_nfd
->attrs
[COLOR_nit__modelize_class__AFormaldef___bound
].val
= var_bound245
; /* _bound on <var_nfd:AFormaldef> */
3133 RET_LABEL246
:(void)0;
3138 BREAK_label
: (void)0;
3141 var248
= standard___standard__Int___Discrete__successor(var_i
, var247
);
3145 goto BREAK_label249
;
3148 BREAK_label249
: (void)0;
3152 var250
= nit___nit__MClass___get_mtype(var_mclass
, var_bounds
);
3154 var_bound_mtype
= var250
;
3155 var251
= NEW_nit__MClassDef(&type_nit__MClassDef
);
3157 { /* Inline parser_nodes#ANode#location (var_nclassdef) on <var_nclassdef:AClassdef> */
3158 var254
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <var_nclassdef:AClassdef> */
3159 if (unlikely(var254
== NULL
)) {
3160 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
3161 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 23);
3165 RET_LABEL253
:(void)0;
3169 ((void (*)(val
* self
, val
* p0
))(var251
->class->vft
[COLOR_nit__model__MClassDef__mmodule_61d
]))(var251
, var_mmodule
) /* mmodule= on <var251:MClassDef>*/;
3172 ((void (*)(val
* self
, val
* p0
))(var251
->class->vft
[COLOR_nit__model__MClassDef__bound_mtype_61d
]))(var251
, var_bound_mtype
) /* bound_mtype= on <var251:MClassDef>*/;
3175 ((void (*)(val
* self
, val
* p0
))(var251
->class->vft
[COLOR_nit__model__MClassDef__location_61d
]))(var251
, var252
) /* location= on <var251:MClassDef>*/;
3178 ((void (*)(val
* self
))(var251
->class->vft
[COLOR_standard__kernel__Object__init
]))(var251
) /* init on <var251:MClassDef>*/;
3180 var_mclassdef
= var251
;
3182 { /* Inline modelize_class#AClassdef#mclassdef= (var_nclassdef,var_mclassdef) on <var_nclassdef:AClassdef> */
3183 var_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___mclassdef
].val
= var_mclassdef
; /* _mclassdef on <var_nclassdef:AClassdef> */
3184 RET_LABEL255
:(void)0;
3188 { /* Inline modelize_class#ModelBuilder#mclassdef2nclassdef (self) on <self:ModelBuilder> */
3189 var258
= self
->attrs
[COLOR_nit__modelize_class__ModelBuilder___mclassdef2nclassdef
].val
; /* _mclassdef2nclassdef on <self:ModelBuilder> */
3190 if (unlikely(var258
== NULL
)) {
3191 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef2nclassdef");
3192 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 426);
3196 RET_LABEL257
:(void)0;
3200 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var256
, var_mclassdef
, var_nclassdef
); /* Direct call hash_collection#HashMap#[]= on <var256:HashMap[MClassDef, AClassdef]>*/
3202 /* <var_nclassdef:AClassdef> isa AStdClassdef */
3203 cltype260
= type_nit__AStdClassdef
.color
;
3204 idtype261
= type_nit__AStdClassdef
.id
;
3205 if(cltype260
>= var_nclassdef
->type
->table_size
) {
3208 var259
= var_nclassdef
->type
->type_table
[cltype260
] == idtype261
;
3212 { /* Inline parser_nodes#ADefinition#n_doc (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
3213 var264
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_doc
].val
; /* _n_doc on <var_nclassdef:AClassdef(AStdClassdef)> */
3215 RET_LABEL263
:(void)0;
3220 if (var_ndoc
== NULL
) {
3221 var266
= 0; /* is null */
3223 var266
= 1; /* arg is null and recv is not */
3226 { /* Inline kernel#Object#!= (var_ndoc,var265) on <var_ndoc:nullable ADoc> */
3227 var_other24
= var265
;
3229 var269
= ((short int (*)(val
* self
, val
* p0
))(var_ndoc
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ndoc
, var_other24
) /* == on <var_ndoc:nullable ADoc(ADoc)>*/;
3234 RET_LABEL268
:(void)0;
3240 var271
= nit__modelbuilder_base___ADoc___to_mdoc(var_ndoc
);
3244 { /* Inline mdoc#MEntity#mdoc= (var_mclassdef,var_mdoc) on <var_mclassdef:MClassDef> */
3245 var_mclassdef
->attrs
[COLOR_nit__mdoc__MEntity___mdoc
].val
= var_mdoc
; /* _mdoc on <var_mclassdef:MClassDef> */
3246 RET_LABEL272
:(void)0;
3250 { /* Inline mdoc#MDoc#original_mentity= (var_mdoc,var_mclassdef) on <var_mdoc:MDoc> */
3251 var_mdoc
->attrs
[COLOR_nit__mdoc__MDoc___original_mentity
].val
= var_mclassdef
; /* _original_mentity on <var_mdoc:MDoc> */
3252 RET_LABEL273
:(void)0;
3257 var275
= nit___nit__MClassDef___is_intro(var_mclassdef
);
3262 { /* Inline model#MClass#visibility (var_mclass) on <var_mclass:nullable MClass(MClass)> */
3263 var279
= var_mclass
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <var_mclass:nullable MClass(MClass)> */
3264 if (unlikely(var279
== NULL
)) {
3265 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
3266 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 403);
3270 RET_LABEL278
:(void)0;
3274 var280
= nit__model_base___standard__Object___public_visibility(self
);
3277 var281
= standard___standard__Comparable____62d_61d(var277
, var280
);
3285 var283
= varonce282
;
3287 var284
= "missing-doc";
3289 var286
= standard___standard__NativeString___to_s_with_length(var284
, var285
);
3291 varonce282
= var283
;
3294 var288
= varonce287
;
3296 var289
= "Documentation warning: Undocumented public class `";
3298 var291
= standard___standard__NativeString___to_s_with_length(var289
, var290
);
3300 varonce287
= var288
;
3303 var293
= varonce292
;
3307 var296
= standard___standard__NativeString___to_s_with_length(var294
, var295
);
3309 varonce292
= var293
;
3311 var297
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3312 { /* var297 = array_instance Array[Object] */
3314 var299
= NEW_standard__NativeArray(var298
, &type_standard__NativeArray__standard__Object
);
3315 ((struct instance_standard__NativeArray
*)var299
)->values
[0] = (val
*) var288
;
3316 ((struct instance_standard__NativeArray
*)var299
)->values
[1] = (val
*) var_mclass
;
3317 ((struct instance_standard__NativeArray
*)var299
)->values
[2] = (val
*) var293
;
3319 ((void (*)(val
* self
, val
* p0
, long p1
))(var297
->class->vft
[COLOR_standard__array__Array__with_native
]))(var297
, var299
, var298
) /* with_native on <var297:Array[Object]>*/;
3323 var300
= ((val
* (*)(val
* self
))(var297
->class->vft
[COLOR_standard__string__Object__to_s
]))(var297
) /* to_s on <var297:Array[Object]>*/;
3326 nit___nit__ModelBuilder___advice(self
, var_nclassdef
, var283
, var300
); /* Direct call modelbuilder_base#ModelBuilder#advice on <self:ModelBuilder>*/
3334 var301
= nit___nit__MClassDef___is_intro(var_mclassdef
);
3338 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
3339 var304
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
3340 if (unlikely(var304
== NULL
)) {
3341 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3342 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
3346 RET_LABEL303
:(void)0;
3350 var306
= varonce305
;
3352 var307
= " introduces new ";
3354 var309
= standard___standard__NativeString___to_s_with_length(var307
, var308
);
3356 varonce305
= var306
;
3359 { /* Inline model#MClass#kind (var_mclass) on <var_mclass:nullable MClass(MClass)> */
3360 var312
= var_mclass
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var_mclass:nullable MClass(MClass)> */
3361 if (unlikely(var312
== NULL
)) {
3362 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3363 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
3367 RET_LABEL311
:(void)0;
3371 var314
= varonce313
;
3375 var317
= standard___standard__NativeString___to_s_with_length(var315
, var316
);
3377 varonce313
= var314
;
3380 var318
= nit___nit__MClass___nit__model_base__MEntity__full_name(var_mclass
);
3382 var319
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3383 { /* var319 = array_instance Array[Object] */
3385 var321
= NEW_standard__NativeArray(var320
, &type_standard__NativeArray__standard__Object
);
3386 ((struct instance_standard__NativeArray
*)var321
)->values
[0] = (val
*) var_mclassdef
;
3387 ((struct instance_standard__NativeArray
*)var321
)->values
[1] = (val
*) var306
;
3388 ((struct instance_standard__NativeArray
*)var321
)->values
[2] = (val
*) var310
;
3389 ((struct instance_standard__NativeArray
*)var321
)->values
[3] = (val
*) var314
;
3390 ((struct instance_standard__NativeArray
*)var321
)->values
[4] = (val
*) var318
;
3392 ((void (*)(val
* self
, val
* p0
, long p1
))(var319
->class->vft
[COLOR_standard__array__Array__with_native
]))(var319
, var321
, var320
) /* with_native on <var319:Array[Object]>*/;
3396 var322
= ((val
* (*)(val
* self
))(var319
->class->vft
[COLOR_standard__string__Object__to_s
]))(var319
) /* to_s on <var319:Array[Object]>*/;
3400 nit___nit__ToolContext___info(var302
, var322
, var323
); /* Direct call toolcontext#ToolContext#info on <var302:ToolContext>*/
3404 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
3405 var326
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
3406 if (unlikely(var326
== NULL
)) {
3407 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3408 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
3412 RET_LABEL325
:(void)0;
3416 var328
= varonce327
;
3418 var329
= " refine ";
3420 var331
= standard___standard__NativeString___to_s_with_length(var329
, var330
);
3422 varonce327
= var328
;
3425 { /* Inline model#MClass#kind (var_mclass) on <var_mclass:nullable MClass(MClass)> */
3426 var334
= var_mclass
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var_mclass:nullable MClass(MClass)> */
3427 if (unlikely(var334
== NULL
)) {
3428 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3429 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
3433 RET_LABEL333
:(void)0;
3437 var336
= varonce335
;
3441 var339
= standard___standard__NativeString___to_s_with_length(var337
, var338
);
3443 varonce335
= var336
;
3446 var340
= nit___nit__MClass___nit__model_base__MEntity__full_name(var_mclass
);
3448 var341
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3449 { /* var341 = array_instance Array[Object] */
3451 var343
= NEW_standard__NativeArray(var342
, &type_standard__NativeArray__standard__Object
);
3452 ((struct instance_standard__NativeArray
*)var343
)->values
[0] = (val
*) var_mclassdef
;
3453 ((struct instance_standard__NativeArray
*)var343
)->values
[1] = (val
*) var328
;
3454 ((struct instance_standard__NativeArray
*)var343
)->values
[2] = (val
*) var332
;
3455 ((struct instance_standard__NativeArray
*)var343
)->values
[3] = (val
*) var336
;
3456 ((struct instance_standard__NativeArray
*)var343
)->values
[4] = (val
*) var340
;
3458 ((void (*)(val
* self
, val
* p0
, long p1
))(var341
->class->vft
[COLOR_standard__array__Array__with_native
]))(var341
, var343
, var342
) /* with_native on <var341:Array[Object]>*/;
3462 var344
= ((val
* (*)(val
* self
))(var341
->class->vft
[COLOR_standard__string__Object__to_s
]))(var341
) /* to_s on <var341:Array[Object]>*/;
3466 nit___nit__ToolContext___info(var324
, var344
, var345
); /* Direct call toolcontext#ToolContext#info on <var324:ToolContext>*/
3471 /* method modelize_class#ModelBuilder#collect_a_mclassdef_inheritance for (self: ModelBuilder, AModule, AClassdef) */
3472 void nit__modelize_class___ModelBuilder___collect_a_mclassdef_inheritance(val
* self
, val
* p0
, val
* p1
) {
3473 val
* var_nmodule
/* var nmodule: AModule */;
3474 val
* var_nclassdef
/* var nclassdef: AClassdef */;
3475 val
* var
/* : nullable MModule */;
3476 val
* var2
/* : nullable MModule */;
3477 val
* var_mmodule
/* var mmodule: MModule */;
3478 static val
* varonce
;
3479 val
* var3
/* : String */;
3480 char* var4
/* : NativeString */;
3481 long var5
/* : Int */;
3482 val
* var6
/* : FlatString */;
3483 val
* var7
/* : nullable MClass */;
3484 val
* var_objectclass
/* var objectclass: nullable MClass */;
3485 static val
* varonce8
;
3486 val
* var9
/* : String */;
3487 char* var10
/* : NativeString */;
3488 long var11
/* : Int */;
3489 val
* var12
/* : FlatString */;
3490 val
* var13
/* : nullable MClass */;
3491 val
* var_pointerclass
/* var pointerclass: nullable MClass */;
3492 val
* var14
/* : nullable MClass */;
3493 val
* var16
/* : nullable MClass */;
3494 val
* var_mclass
/* var mclass: MClass */;
3495 val
* var17
/* : nullable MClassDef */;
3496 val
* var19
/* : nullable MClassDef */;
3497 val
* var_mclassdef
/* var mclassdef: MClassDef */;
3498 short int var20
/* : Bool */;
3499 short int var_specobject
/* var specobject: Bool */;
3500 short int var21
/* : Bool */;
3501 short int var_specpointer
/* var specpointer: Bool */;
3502 val
* var22
/* : Array[MClassType] */;
3503 val
* var_supertypes
/* var supertypes: Array[MClassType] */;
3504 short int var23
/* : Bool */;
3507 val
* var24
/* : ANodes[ASuperclass] */;
3508 val
* var26
/* : ANodes[ASuperclass] */;
3509 val
* var_
/* var : ANodes[ASuperclass] */;
3510 val
* var27
/* : Iterator[ANode] */;
3511 val
* var_28
/* var : Iterator[ASuperclass] */;
3512 short int var29
/* : Bool */;
3513 val
* var30
/* : nullable Object */;
3514 val
* var_nsc
/* var nsc: ASuperclass */;
3515 short int var31
/* : Bool */;
3516 val
* var32
/* : AType */;
3517 val
* var34
/* : AType */;
3518 val
* var_ntype
/* var ntype: AType */;
3519 short int var35
/* : Bool */;
3520 val
* var36
/* : nullable MType */;
3521 val
* var_mtype
/* var mtype: nullable MType */;
3522 val
* var37
/* : null */;
3523 short int var38
/* : Bool */;
3524 short int var39
/* : Bool */;
3525 val
* var_other
/* var other: nullable Object */;
3526 short int var41
/* : Bool */;
3527 short int var43
/* : Bool */;
3528 short int var44
/* : Bool */;
3531 short int var47
/* : Bool */;
3532 static val
* varonce48
;
3533 val
* var49
/* : String */;
3534 char* var50
/* : NativeString */;
3535 long var51
/* : Int */;
3536 val
* var52
/* : FlatString */;
3537 val
* var53
/* : MClassKind */;
3538 val
* var55
/* : MClassKind */;
3539 val
* var56
/* : MClass */;
3540 val
* var58
/* : MClass */;
3541 val
* var59
/* : MClassKind */;
3542 val
* var61
/* : MClassKind */;
3543 short int var62
/* : Bool */;
3544 short int var63
/* : Bool */;
3545 static val
* varonce64
;
3546 val
* var65
/* : String */;
3547 char* var66
/* : NativeString */;
3548 long var67
/* : Int */;
3549 val
* var68
/* : FlatString */;
3550 val
* var69
/* : MClassKind */;
3551 val
* var71
/* : MClassKind */;
3552 static val
* varonce72
;
3553 val
* var73
/* : String */;
3554 char* var74
/* : NativeString */;
3555 long var75
/* : Int */;
3556 val
* var76
/* : FlatString */;
3557 static val
* varonce77
;
3558 val
* var78
/* : String */;
3559 char* var79
/* : NativeString */;
3560 long var80
/* : Int */;
3561 val
* var81
/* : FlatString */;
3562 val
* var82
/* : MClass */;
3563 val
* var84
/* : MClass */;
3564 val
* var85
/* : MClassKind */;
3565 val
* var87
/* : MClassKind */;
3566 static val
* varonce88
;
3567 val
* var89
/* : String */;
3568 char* var90
/* : NativeString */;
3569 long var91
/* : Int */;
3570 val
* var92
/* : FlatString */;
3571 val
* var93
/* : MClass */;
3572 val
* var95
/* : MClass */;
3573 val
* var96
/* : Array[Object] */;
3574 long var97
/* : Int */;
3575 val
* var98
/* : NativeArray[Object] */;
3576 val
* var99
/* : String */;
3577 val
* var100
/* : MClass */;
3578 val
* var102
/* : MClass */;
3579 val
* var103
/* : MClassKind */;
3580 val
* var105
/* : MClassKind */;
3581 val
* var106
/* : MClassKind */;
3582 short int var107
/* : Bool */;
3583 short int var109
/* : Bool */;
3584 short int var111
/* : Bool */;
3585 short int var112
/* : Bool */;
3586 short int var115
/* : Bool */;
3587 short int var116
/* : Bool */;
3588 short int var_117
/* var : Bool */;
3589 val
* var118
/* : null */;
3590 short int var119
/* : Bool */;
3591 short int var120
/* : Bool */;
3592 val
* var_other122
/* var other: nullable Object */;
3593 short int var123
/* : Bool */;
3594 short int var124
/* : Bool */;
3595 short int var125
/* : Bool */;
3596 val
* var126
/* : MClassKind */;
3597 val
* var128
/* : MClassKind */;
3598 val
* var129
/* : MClassKind */;
3599 short int var130
/* : Bool */;
3600 short int var132
/* : Bool */;
3601 short int var134
/* : Bool */;
3602 short int var_135
/* var : Bool */;
3603 val
* var136
/* : String */;
3604 val
* var138
/* : String */;
3605 static val
* varonce139
;
3606 val
* var140
/* : String */;
3607 char* var141
/* : NativeString */;
3608 long var142
/* : Int */;
3609 val
* var143
/* : FlatString */;
3610 short int var144
/* : Bool */;
3611 short int var146
/* : Bool */;
3612 short int var147
/* : Bool */;
3613 val
* var148
/* : MClassType */;
3614 val
* var150
/* : MClassType */;
3615 short int var151
/* : Bool */;
3616 short int var_152
/* var : Bool */;
3617 val
* var153
/* : String */;
3618 val
* var155
/* : String */;
3619 static val
* varonce156
;
3620 val
* var157
/* : String */;
3621 char* var158
/* : NativeString */;
3622 long var159
/* : Int */;
3623 val
* var160
/* : FlatString */;
3624 short int var161
/* : Bool */;
3625 short int var163
/* : Bool */;
3626 short int var164
/* : Bool */;
3627 val
* var165
/* : MClassType */;
3628 val
* var167
/* : MClassType */;
3629 short int var168
/* : Bool */;
3630 short int var169
/* : Bool */;
3631 val
* var170
/* : ToolContext */;
3632 val
* var172
/* : ToolContext */;
3633 static val
* varonce173
;
3634 val
* var174
/* : String */;
3635 char* var175
/* : NativeString */;
3636 long var176
/* : Int */;
3637 val
* var177
/* : FlatString */;
3638 static val
* varonce178
;
3639 val
* var179
/* : String */;
3640 char* var180
/* : NativeString */;
3641 long var181
/* : Int */;
3642 val
* var182
/* : FlatString */;
3643 val
* var183
/* : String */;
3644 val
* var184
/* : Array[Object] */;
3645 long var185
/* : Int */;
3646 val
* var186
/* : NativeArray[Object] */;
3647 val
* var187
/* : String */;
3648 long var188
/* : Int */;
3652 { /* Inline loader#AModule#mmodule (var_nmodule) on <var_nmodule:AModule> */
3653 var2
= var_nmodule
->attrs
[COLOR_nit__loader__AModule___mmodule
].val
; /* _mmodule on <var_nmodule:AModule> */
3658 if (unlikely(var
== NULL
)) {
3659 PRINT_ERROR("Runtime error: %s", "Cast failed");
3660 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 227);
3669 var6
= standard___standard__NativeString___to_s_with_length(var4
, var5
);
3674 var7
= nit___nit__ModelBuilder___try_get_mclass_by_name(self
, var_nmodule
, var_mmodule
, var3
);
3676 var_objectclass
= var7
;
3682 var12
= standard___standard__NativeString___to_s_with_length(var10
, var11
);
3687 var13
= nit___nit__ModelBuilder___try_get_mclass_by_name(self
, var_nmodule
, var_mmodule
, var9
);
3689 var_pointerclass
= var13
;
3691 { /* Inline modelize_class#AClassdef#mclass (var_nclassdef) on <var_nclassdef:AClassdef> */
3692 var16
= var_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___mclass
].val
; /* _mclass on <var_nclassdef:AClassdef> */
3694 RET_LABEL15
:(void)0;
3697 if (unlikely(var14
== NULL
)) {
3698 PRINT_ERROR("Runtime error: %s", "Cast failed");
3699 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 230);
3704 { /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef) on <var_nclassdef:AClassdef> */
3705 var19
= var_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_nclassdef:AClassdef> */
3707 RET_LABEL18
:(void)0;
3710 if (unlikely(var17
== NULL
)) {
3711 PRINT_ERROR("Runtime error: %s", "Cast failed");
3712 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 231);
3715 var_mclassdef
= var17
;
3717 var_specobject
= var20
;
3719 var_specpointer
= var21
;
3720 var22
= NEW_standard__Array(&type_standard__Array__nit__MClassType
);
3722 standard___standard__Array___standard__kernel__Object__init(var22
); /* Direct call array#Array#init on <var22:Array[MClassType]>*/
3724 var_supertypes
= var22
;
3725 /* <var_nclassdef:AClassdef> isa AStdClassdef */
3726 cltype
= type_nit__AStdClassdef
.color
;
3727 idtype
= type_nit__AStdClassdef
.id
;
3728 if(cltype
>= var_nclassdef
->type
->table_size
) {
3731 var23
= var_nclassdef
->type
->type_table
[cltype
] == idtype
;
3735 { /* Inline parser_nodes#AStdClassdef#n_superclasses (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
3736 var26
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__AStdClassdef___n_superclasses
].val
; /* _n_superclasses on <var_nclassdef:AClassdef(AStdClassdef)> */
3737 if (unlikely(var26
== NULL
)) {
3738 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_superclasses");
3739 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1033);
3743 RET_LABEL25
:(void)0;
3748 var27
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_
);
3753 var29
= ((short int (*)(val
* self
))(var_28
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_28
) /* is_ok on <var_28:Iterator[ASuperclass]>*/;
3757 var30
= ((val
* (*)(val
* self
))(var_28
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_28
) /* item on <var_28:Iterator[ASuperclass]>*/;
3761 var_specobject
= var31
;
3763 { /* Inline parser_nodes#ASuperclass#n_type (var_nsc) on <var_nsc:ASuperclass> */
3764 var34
= var_nsc
->attrs
[COLOR_nit__parser_nodes__ASuperclass___n_type
].val
; /* _n_type on <var_nsc:ASuperclass> */
3765 if (unlikely(var34
== NULL
)) {
3766 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
3767 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1121);
3771 RET_LABEL33
:(void)0;
3777 var36
= nit__modelize_class___ModelBuilder___resolve_mtype_unchecked(self
, var_mmodule
, var_mclassdef
, var_ntype
, var35
);
3781 if (var_mtype
== NULL
) {
3782 var38
= 1; /* is null */
3784 var38
= 0; /* arg is null but recv is not */
3787 { /* Inline kernel#Object#== (var_mtype,var37) on <var_mtype:nullable MType> */
3790 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
3791 var43
= var_mtype
== var_other
;
3794 RET_LABEL42
:(void)0;
3799 RET_LABEL40
:(void)0;
3807 /* <var_mtype:nullable MType(MType)> isa MClassType */
3808 cltype45
= type_nit__MClassType
.color
;
3809 idtype46
= type_nit__MClassType
.id
;
3810 if(cltype45
>= var_mtype
->type
->table_size
) {
3813 var44
= var_mtype
->type
->type_table
[cltype45
] == idtype46
;
3820 var50
= "Error: supertypes cannot be a formal type";
3822 var52
= standard___standard__NativeString___to_s_with_length(var50
, var51
);
3827 nit___nit__ModelBuilder___error(self
, var_ntype
, var49
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
3833 { /* Inline model#MClass#kind (var_mclass) on <var_mclass:MClass> */
3834 var55
= var_mclass
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var_mclass:MClass> */
3835 if (unlikely(var55
== NULL
)) {
3836 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3837 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
3841 RET_LABEL54
:(void)0;
3845 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:nullable MType(MClassType)> */
3846 var58
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:nullable MType(MClassType)> */
3847 if (unlikely(var58
== NULL
)) {
3848 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3849 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
3853 RET_LABEL57
:(void)0;
3857 { /* Inline model#MClass#kind (var56) on <var56:MClass> */
3858 var61
= var56
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var56:MClass> */
3859 if (unlikely(var61
== NULL
)) {
3860 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3861 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
3865 RET_LABEL60
:(void)0;
3869 var62
= nit___nit__MClassKind___can_specialize(var53
, var59
);
3878 var68
= standard___standard__NativeString___to_s_with_length(var66
, var67
);
3883 { /* Inline model#MClass#kind (var_mclass) on <var_mclass:MClass> */
3884 var71
= var_mclass
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var_mclass:MClass> */
3885 if (unlikely(var71
== NULL
)) {
3886 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3887 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
3891 RET_LABEL70
:(void)0;
3899 var76
= standard___standard__NativeString___to_s_with_length(var74
, var75
);
3906 var79
= " cannot specialize ";
3908 var81
= standard___standard__NativeString___to_s_with_length(var79
, var80
);
3913 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:nullable MType(MClassType)> */
3914 var84
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:nullable MType(MClassType)> */
3915 if (unlikely(var84
== NULL
)) {
3916 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3917 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
3921 RET_LABEL83
:(void)0;
3925 { /* Inline model#MClass#kind (var82) on <var82:MClass> */
3926 var87
= var82
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var82:MClass> */
3927 if (unlikely(var87
== NULL
)) {
3928 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3929 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
3933 RET_LABEL86
:(void)0;
3941 var92
= standard___standard__NativeString___to_s_with_length(var90
, var91
);
3946 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:nullable MType(MClassType)> */
3947 var95
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:nullable MType(MClassType)> */
3948 if (unlikely(var95
== NULL
)) {
3949 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3950 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
3954 RET_LABEL94
:(void)0;
3957 var96
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3958 { /* var96 = array_instance Array[Object] */
3960 var98
= NEW_standard__NativeArray(var97
, &type_standard__NativeArray__standard__Object
);
3961 ((struct instance_standard__NativeArray
*)var98
)->values
[0] = (val
*) var65
;
3962 ((struct instance_standard__NativeArray
*)var98
)->values
[1] = (val
*) var69
;
3963 ((struct instance_standard__NativeArray
*)var98
)->values
[2] = (val
*) var73
;
3964 ((struct instance_standard__NativeArray
*)var98
)->values
[3] = (val
*) var_mclass
;
3965 ((struct instance_standard__NativeArray
*)var98
)->values
[4] = (val
*) var78
;
3966 ((struct instance_standard__NativeArray
*)var98
)->values
[5] = (val
*) var85
;
3967 ((struct instance_standard__NativeArray
*)var98
)->values
[6] = (val
*) var89
;
3968 ((struct instance_standard__NativeArray
*)var98
)->values
[7] = (val
*) var93
;
3970 ((void (*)(val
* self
, val
* p0
, long p1
))(var96
->class->vft
[COLOR_standard__array__Array__with_native
]))(var96
, var98
, var97
) /* with_native on <var96:Array[Object]>*/;
3974 var99
= ((val
* (*)(val
* self
))(var96
->class->vft
[COLOR_standard__string__Object__to_s
]))(var96
) /* to_s on <var96:Array[Object]>*/;
3977 nit___nit__ModelBuilder___error(self
, var_ntype
, var99
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
3982 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_supertypes
, var_mtype
); /* Direct call array#Array#add on <var_supertypes:Array[MClassType]>*/
3985 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:nullable MType(MClassType)> */
3986 var102
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:nullable MType(MClassType)> */
3987 if (unlikely(var102
== NULL
)) {
3988 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3989 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
3993 RET_LABEL101
:(void)0;
3997 { /* Inline model#MClass#kind (var100) on <var100:MClass> */
3998 var105
= var100
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var100:MClass> */
3999 if (unlikely(var105
== NULL
)) {
4000 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
4001 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
4005 RET_LABEL104
:(void)0;
4009 var106
= nit__model___standard__Object___extern_kind(self
);
4012 { /* Inline kernel#Object#== (var103,var106) on <var103:MClassKind> */
4015 { /* Inline kernel#Object#is_same_instance (var103,var_other) on <var103:MClassKind> */
4016 var111
= var103
== var_other
;
4019 RET_LABEL110
:(void)0;
4024 RET_LABEL108
:(void)0;
4029 var_specpointer
= var112
;
4032 BREAK_label
: (void)0;
4034 ((void (*)(val
* self
))(var_28
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_28
) /* next on <var_28:Iterator[ASuperclass]>*/;
4037 goto BREAK_label113
;
4040 BREAK_label113
: (void)0;
4042 { /* Inline abstract_collection#Iterator#finish (var_28) on <var_28:Iterator[ASuperclass]> */
4043 RET_LABEL114
:(void)0;
4049 var116
= nit___nit__MClassDef___is_intro(var_mclassdef
);
4054 if (var_objectclass
== NULL
) {
4055 var119
= 0; /* is null */
4057 var119
= 1; /* arg is null and recv is not */
4060 { /* Inline kernel#Object#!= (var_objectclass,var118) on <var_objectclass:nullable MClass> */
4061 var_other122
= var118
;
4063 var123
= ((short int (*)(val
* self
, val
* p0
))(var_objectclass
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_objectclass
, var_other122
) /* == on <var_objectclass:nullable MClass(MClass)>*/;
4068 RET_LABEL121
:(void)0;
4078 { /* Inline model#MClass#kind (var_mclass) on <var_mclass:MClass> */
4079 var128
= var_mclass
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var_mclass:MClass> */
4080 if (unlikely(var128
== NULL
)) {
4081 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
4082 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
4086 RET_LABEL127
:(void)0;
4090 var129
= nit__model___standard__Object___extern_kind(self
);
4093 { /* Inline kernel#Object#== (var126,var129) on <var126:MClassKind> */
4096 { /* Inline kernel#Object#is_same_instance (var126,var_other) on <var126:MClassKind> */
4097 var134
= var126
== var_other
;
4100 RET_LABEL133
:(void)0;
4105 RET_LABEL131
:(void)0;
4111 { /* Inline model#MClass#name (var_mclass) on <var_mclass:MClass> */
4112 var138
= var_mclass
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var_mclass:MClass> */
4113 if (unlikely(var138
== NULL
)) {
4114 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4115 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
4119 RET_LABEL137
:(void)0;
4123 var140
= varonce139
;
4127 var143
= standard___standard__NativeString___to_s_with_length(var141
, var142
);
4129 varonce139
= var140
;
4132 { /* Inline kernel#Object#!= (var136,var140) on <var136:String> */
4133 var_other122
= var140
;
4135 var146
= ((short int (*)(val
* self
, val
* p0
))(var136
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var136
, var_other122
) /* == on <var136:String>*/;
4140 RET_LABEL145
:(void)0;
4148 if (var_specpointer
){
4149 if (var_pointerclass
== NULL
) {
4150 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4151 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 263);
4154 { /* Inline model#MClass#mclass_type (var_pointerclass) on <var_pointerclass:nullable MClass> */
4155 if (unlikely(var_pointerclass
== NULL
)) {
4156 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4157 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
4160 var150
= var_pointerclass
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_pointerclass:nullable MClass> */
4161 if (unlikely(var150
== NULL
)) {
4162 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
4163 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
4167 RET_LABEL149
:(void)0;
4171 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_supertypes
, var148
); /* Direct call array#Array#add on <var_supertypes:Array[MClassType]>*/
4176 var_152
= var_specobject
;
4177 if (var_specobject
){
4179 { /* Inline model#MClass#name (var_mclass) on <var_mclass:MClass> */
4180 var155
= var_mclass
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var_mclass:MClass> */
4181 if (unlikely(var155
== NULL
)) {
4182 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4183 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
4187 RET_LABEL154
:(void)0;
4191 var157
= varonce156
;
4195 var160
= standard___standard__NativeString___to_s_with_length(var158
, var159
);
4197 varonce156
= var157
;
4200 { /* Inline kernel#Object#!= (var153,var157) on <var153:String> */
4201 var_other122
= var157
;
4203 var163
= ((short int (*)(val
* self
, val
* p0
))(var153
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var153
, var_other122
) /* == on <var153:String>*/;
4208 RET_LABEL162
:(void)0;
4217 { /* Inline model#MClass#mclass_type (var_objectclass) on <var_objectclass:nullable MClass(MClass)> */
4218 var167
= var_objectclass
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_objectclass:nullable MClass(MClass)> */
4219 if (unlikely(var167
== NULL
)) {
4220 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
4221 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
4225 RET_LABEL166
:(void)0;
4229 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_supertypes
, var165
); /* Direct call array#Array#add on <var_supertypes:Array[MClassType]>*/
4237 nit___nit__MClassDef___set_supertypes(var_mclassdef
, var_supertypes
); /* Direct call model#MClassDef#set_supertypes on <var_mclassdef:MClassDef>*/
4240 var168
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_supertypes
);
4245 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
4246 var172
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
4247 if (unlikely(var172
== NULL
)) {
4248 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4249 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
4253 RET_LABEL171
:(void)0;
4257 var174
= varonce173
;
4259 var175
= " new super-types: ";
4261 var177
= standard___standard__NativeString___to_s_with_length(var175
, var176
);
4263 varonce173
= var174
;
4266 var179
= varonce178
;
4270 var182
= standard___standard__NativeString___to_s_with_length(var180
, var181
);
4272 varonce178
= var179
;
4275 var183
= standard__string___Collection___join(var_supertypes
, var179
);
4277 var184
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4278 { /* var184 = array_instance Array[Object] */
4280 var186
= NEW_standard__NativeArray(var185
, &type_standard__NativeArray__standard__Object
);
4281 ((struct instance_standard__NativeArray
*)var186
)->values
[0] = (val
*) var_mclassdef
;
4282 ((struct instance_standard__NativeArray
*)var186
)->values
[1] = (val
*) var174
;
4283 ((struct instance_standard__NativeArray
*)var186
)->values
[2] = (val
*) var183
;
4285 ((void (*)(val
* self
, val
* p0
, long p1
))(var184
->class->vft
[COLOR_standard__array__Array__with_native
]))(var184
, var186
, var185
) /* with_native on <var184:Array[Object]>*/;
4289 var187
= ((val
* (*)(val
* self
))(var184
->class->vft
[COLOR_standard__string__Object__to_s
]))(var184
) /* to_s on <var184:Array[Object]>*/;
4293 nit___nit__ToolContext___info(var170
, var187
, var188
); /* Direct call toolcontext#ToolContext#info on <var170:ToolContext>*/
4299 /* method modelize_class#ModelBuilder#check_supertypes for (self: ModelBuilder, AModule, AClassdef) */
4300 void nit__modelize_class___ModelBuilder___check_supertypes(val
* self
, val
* p0
, val
* p1
) {
4301 val
* var_nmodule
/* var nmodule: AModule */;
4302 val
* var_nclassdef
/* var nclassdef: AClassdef */;
4303 val
* var
/* : nullable MModule */;
4304 val
* var2
/* : nullable MModule */;
4305 val
* var_mmodule
/* var mmodule: MModule */;
4306 val
* var3
/* : nullable MClass */;
4307 val
* var5
/* : nullable MClass */;
4308 val
* var_mclass
/* var mclass: MClass */;
4309 val
* var6
/* : nullable MClassDef */;
4310 val
* var8
/* : nullable MClassDef */;
4311 val
* var_mclassdef
/* var mclassdef: MClassDef */;
4312 val
* var9
/* : Array[MClassType] */;
4313 val
* var11
/* : Array[MClassType] */;
4314 val
* var_
/* var : Array[MClassType] */;
4315 val
* var12
/* : ArrayIterator[nullable Object] */;
4316 val
* var_13
/* var : ArrayIterator[MClassType] */;
4317 short int var14
/* : Bool */;
4318 val
* var15
/* : nullable Object */;
4319 val
* var_s
/* var s: MClassType */;
4320 val
* var16
/* : MClassType */;
4321 val
* var18
/* : MClassType */;
4322 val
* var19
/* : MClassType */;
4323 val
* var21
/* : MClassType */;
4324 short int var22
/* : Bool */;
4325 static val
* varonce
;
4326 val
* var23
/* : String */;
4327 char* var24
/* : NativeString */;
4328 long var25
/* : Int */;
4329 val
* var26
/* : FlatString */;
4330 static val
* varonce27
;
4331 val
* var28
/* : String */;
4332 char* var29
/* : NativeString */;
4333 long var30
/* : Int */;
4334 val
* var31
/* : FlatString */;
4335 val
* var32
/* : Array[Object] */;
4336 long var33
/* : Int */;
4337 val
* var34
/* : NativeArray[Object] */;
4338 val
* var35
/* : String */;
4342 { /* Inline loader#AModule#mmodule (var_nmodule) on <var_nmodule:AModule> */
4343 var2
= var_nmodule
->attrs
[COLOR_nit__loader__AModule___mmodule
].val
; /* _mmodule on <var_nmodule:AModule> */
4348 if (unlikely(var
== NULL
)) {
4349 PRINT_ERROR("Runtime error: %s", "Cast failed");
4350 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 277);
4355 { /* Inline modelize_class#AClassdef#mclass (var_nclassdef) on <var_nclassdef:AClassdef> */
4356 var5
= var_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___mclass
].val
; /* _mclass on <var_nclassdef:AClassdef> */
4361 if (unlikely(var3
== NULL
)) {
4362 PRINT_ERROR("Runtime error: %s", "Cast failed");
4363 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 278);
4368 { /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef) on <var_nclassdef:AClassdef> */
4369 var8
= var_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_nclassdef:AClassdef> */
4374 if (unlikely(var6
== NULL
)) {
4375 PRINT_ERROR("Runtime error: %s", "Cast failed");
4376 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 279);
4379 var_mclassdef
= var6
;
4381 { /* Inline model#MClassDef#supertypes (var_mclassdef) on <var_mclassdef:MClassDef> */
4382 var11
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___supertypes
].val
; /* _supertypes on <var_mclassdef:MClassDef> */
4383 if (unlikely(var11
== NULL
)) {
4384 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
4385 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 566);
4389 RET_LABEL10
:(void)0;
4394 var12
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
4399 var14
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_13
);
4403 var15
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_13
);
4407 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
4408 var18
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
4409 if (unlikely(var18
== NULL
)) {
4410 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
4411 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
4415 RET_LABEL17
:(void)0;
4419 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
4420 var21
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
4421 if (unlikely(var21
== NULL
)) {
4422 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
4423 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
4427 RET_LABEL20
:(void)0;
4431 var22
= nit___nit__MType___is_subtype(var_s
, var_mmodule
, var16
, var19
);
4437 var24
= "Error: Inheritance loop for class ";
4439 var26
= standard___standard__NativeString___to_s_with_length(var24
, var25
);
4446 var29
= " with type ";
4448 var31
= standard___standard__NativeString___to_s_with_length(var29
, var30
);
4452 var32
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4453 { /* var32 = array_instance Array[Object] */
4455 var34
= NEW_standard__NativeArray(var33
, &type_standard__NativeArray__standard__Object
);
4456 ((struct instance_standard__NativeArray
*)var34
)->values
[0] = (val
*) var23
;
4457 ((struct instance_standard__NativeArray
*)var34
)->values
[1] = (val
*) var_mclass
;
4458 ((struct instance_standard__NativeArray
*)var34
)->values
[2] = (val
*) var28
;
4459 ((struct instance_standard__NativeArray
*)var34
)->values
[3] = (val
*) var_s
;
4461 ((void (*)(val
* self
, val
* p0
, long p1
))(var32
->class->vft
[COLOR_standard__array__Array__with_native
]))(var32
, var34
, var33
) /* with_native on <var32:Array[Object]>*/;
4465 var35
= ((val
* (*)(val
* self
))(var32
->class->vft
[COLOR_standard__string__Object__to_s
]))(var32
) /* to_s on <var32:Array[Object]>*/;
4468 nit___nit__ModelBuilder___error(self
, var_nclassdef
, var35
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
4473 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_13
); /* Direct call array#ArrayIterator#next on <var_13:ArrayIterator[MClassType]>*/
4479 BREAK_label
: (void)0;
4481 { /* Inline abstract_collection#Iterator#finish (var_13) on <var_13:ArrayIterator[MClassType]> */
4482 RET_LABEL36
:(void)0;
4487 /* method modelize_class#ModelBuilder#build_classes for (self: ModelBuilder, AModule) */
4488 void nit__modelize_class___ModelBuilder___build_classes(val
* self
, val
* p0
) {
4489 val
* var_nmodule
/* var nmodule: AModule */;
4490 val
* var
/* : ToolContext */;
4491 val
* var2
/* : ToolContext */;
4492 long var3
/* : Int */;
4493 long var5
/* : Int */;
4494 long var_errcount
/* var errcount: Int */;
4495 short int var6
/* : Bool */;
4496 short int var8
/* : Bool */;
4497 short int var9
/* : Bool */;
4498 val
* var11
/* : nullable MModule */;
4499 val
* var13
/* : nullable MModule */;
4500 val
* var_mmodule
/* var mmodule: MModule */;
4501 val
* var14
/* : POSetElement[MModule] */;
4502 val
* var16
/* : POSetElement[MModule] */;
4503 val
* var17
/* : Collection[nullable Object] */;
4504 val
* var_
/* var : Collection[MModule] */;
4505 val
* var18
/* : Iterator[nullable Object] */;
4506 val
* var_19
/* var : Iterator[MModule] */;
4507 short int var20
/* : Bool */;
4508 val
* var21
/* : nullable Object */;
4509 val
* var_imp
/* var imp: MModule */;
4510 val
* var22
/* : nullable AModule */;
4511 val
* var_nimp
/* var nimp: nullable AModule */;
4512 val
* var23
/* : null */;
4513 short int var24
/* : Bool */;
4514 short int var25
/* : Bool */;
4515 val
* var_other
/* var other: nullable Object */;
4516 short int var27
/* : Bool */;
4517 short int var28
/* : Bool */;
4518 val
* var30
/* : ToolContext */;
4519 val
* var32
/* : ToolContext */;
4520 long var33
/* : Int */;
4521 long var35
/* : Int */;
4522 short int var36
/* : Bool */;
4523 short int var38
/* : Bool */;
4524 short int var39
/* : Bool */;
4525 val
* var40
/* : ANodes[AClassdef] */;
4526 val
* var42
/* : ANodes[AClassdef] */;
4527 val
* var_43
/* var : ANodes[AClassdef] */;
4528 val
* var44
/* : Iterator[ANode] */;
4529 val
* var_45
/* var : Iterator[AClassdef] */;
4530 short int var46
/* : Bool */;
4531 val
* var47
/* : nullable Object */;
4532 val
* var_nclassdef
/* var nclassdef: AClassdef */;
4533 val
* var50
/* : ToolContext */;
4534 val
* var52
/* : ToolContext */;
4535 long var53
/* : Int */;
4536 long var55
/* : Int */;
4537 short int var56
/* : Bool */;
4538 short int var58
/* : Bool */;
4539 short int var59
/* : Bool */;
4540 val
* var60
/* : ANodes[AClassdef] */;
4541 val
* var62
/* : ANodes[AClassdef] */;
4542 val
* var_63
/* var : ANodes[AClassdef] */;
4543 val
* var64
/* : Iterator[ANode] */;
4544 val
* var_65
/* var : Iterator[AClassdef] */;
4545 short int var66
/* : Bool */;
4546 val
* var67
/* : nullable Object */;
4547 val
* var_nclassdef68
/* var nclassdef: AClassdef */;
4548 val
* var71
/* : ToolContext */;
4549 val
* var73
/* : ToolContext */;
4550 long var74
/* : Int */;
4551 long var76
/* : Int */;
4552 short int var77
/* : Bool */;
4553 short int var79
/* : Bool */;
4554 short int var80
/* : Bool */;
4555 val
* var81
/* : ANodes[AClassdef] */;
4556 val
* var83
/* : ANodes[AClassdef] */;
4557 val
* var_84
/* var : ANodes[AClassdef] */;
4558 val
* var85
/* : Iterator[ANode] */;
4559 val
* var_86
/* var : Iterator[AClassdef] */;
4560 short int var87
/* : Bool */;
4561 val
* var88
/* : nullable Object */;
4562 val
* var_nclassdef89
/* var nclassdef: AClassdef */;
4563 val
* var92
/* : ToolContext */;
4564 val
* var94
/* : ToolContext */;
4565 long var95
/* : Int */;
4566 long var97
/* : Int */;
4567 short int var98
/* : Bool */;
4568 short int var100
/* : Bool */;
4569 short int var101
/* : Bool */;
4570 val
* var102
/* : Array[MClassDef] */;
4571 val
* var104
/* : Array[MClassDef] */;
4572 val
* var_105
/* var : Array[MClassDef] */;
4573 val
* var106
/* : ArrayIterator[nullable Object] */;
4574 val
* var_107
/* var : ArrayIterator[MClassDef] */;
4575 short int var108
/* : Bool */;
4576 val
* var109
/* : nullable Object */;
4577 val
* var_mclassdef
/* var mclassdef: MClassDef */;
4578 val
* var112
/* : ToolContext */;
4579 val
* var114
/* : ToolContext */;
4580 long var115
/* : Int */;
4581 long var117
/* : Int */;
4582 short int var118
/* : Bool */;
4583 short int var120
/* : Bool */;
4584 short int var121
/* : Bool */;
4585 val
* var122
/* : ANodes[AClassdef] */;
4586 val
* var124
/* : ANodes[AClassdef] */;
4587 val
* var_125
/* var : ANodes[AClassdef] */;
4588 val
* var126
/* : Iterator[ANode] */;
4589 val
* var_127
/* var : Iterator[AClassdef] */;
4590 short int var128
/* : Bool */;
4591 val
* var129
/* : nullable Object */;
4592 val
* var_nclassdef130
/* var nclassdef: AClassdef */;
4593 val
* var133
/* : ToolContext */;
4594 val
* var135
/* : ToolContext */;
4595 long var136
/* : Int */;
4596 long var138
/* : Int */;
4597 short int var139
/* : Bool */;
4598 short int var141
/* : Bool */;
4599 short int var142
/* : Bool */;
4600 val
* var143
/* : ANodes[AClassdef] */;
4601 val
* var145
/* : ANodes[AClassdef] */;
4602 val
* var_146
/* var : ANodes[AClassdef] */;
4603 val
* var147
/* : Iterator[ANode] */;
4604 val
* var_148
/* var : Iterator[AClassdef] */;
4605 short int var149
/* : Bool */;
4606 val
* var150
/* : nullable Object */;
4607 val
* var_nclassdef151
/* var nclassdef: AClassdef */;
4608 short int var152
/* : Bool */;
4611 val
* var153
/* : nullable MClassDef */;
4612 val
* var155
/* : nullable MClassDef */;
4613 val
* var_mclassdef156
/* var mclassdef: nullable MClassDef */;
4614 val
* var157
/* : ANodes[AFormaldef] */;
4615 val
* var159
/* : ANodes[AFormaldef] */;
4616 val
* var_160
/* var : ANodes[AFormaldef] */;
4617 val
* var161
/* : Iterator[ANode] */;
4618 val
* var_162
/* var : Iterator[AFormaldef] */;
4619 short int var163
/* : Bool */;
4620 val
* var164
/* : nullable Object */;
4621 val
* var_nfd
/* var nfd: AFormaldef */;
4622 val
* var165
/* : nullable AType */;
4623 val
* var167
/* : nullable AType */;
4624 val
* var_nfdt
/* var nfdt: nullable AType */;
4625 short int var168
/* : Bool */;
4626 val
* var169
/* : null */;
4627 short int var170
/* : Bool */;
4628 short int var171
/* : Bool */;
4629 short int var173
/* : Bool */;
4630 short int var174
/* : Bool */;
4631 short int var_175
/* var : Bool */;
4632 val
* var176
/* : nullable MType */;
4633 val
* var178
/* : nullable MType */;
4634 val
* var179
/* : null */;
4635 short int var180
/* : Bool */;
4636 short int var181
/* : Bool */;
4637 short int var183
/* : Bool */;
4638 short int var184
/* : Bool */;
4639 val
* var185
/* : nullable MType */;
4640 val
* var_bound
/* var bound: nullable MType */;
4641 val
* var186
/* : null */;
4642 short int var187
/* : Bool */;
4643 short int var188
/* : Bool */;
4644 val
* var_other190
/* var other: nullable Object */;
4645 short int var191
/* : Bool */;
4646 short int var193
/* : Bool */;
4647 val
* var196
/* : ANodes[ASuperclass] */;
4648 val
* var198
/* : ANodes[ASuperclass] */;
4649 val
* var_199
/* var : ANodes[ASuperclass] */;
4650 val
* var200
/* : Iterator[ANode] */;
4651 val
* var_201
/* var : Iterator[ASuperclass] */;
4652 short int var202
/* : Bool */;
4653 val
* var203
/* : nullable Object */;
4654 val
* var_nsc
/* var nsc: ASuperclass */;
4655 val
* var204
/* : AType */;
4656 val
* var206
/* : AType */;
4657 val
* var_ntype
/* var ntype: AType */;
4658 val
* var207
/* : nullable MType */;
4659 val
* var209
/* : nullable MType */;
4660 val
* var210
/* : null */;
4661 short int var211
/* : Bool */;
4662 short int var212
/* : Bool */;
4663 short int var214
/* : Bool */;
4664 short int var215
/* : Bool */;
4665 val
* var216
/* : nullable MType */;
4666 val
* var_mtype
/* var mtype: nullable MType */;
4667 val
* var217
/* : null */;
4668 short int var218
/* : Bool */;
4669 short int var219
/* : Bool */;
4670 short int var221
/* : Bool */;
4671 short int var223
/* : Bool */;
4672 val
* var228
/* : ToolContext */;
4673 val
* var230
/* : ToolContext */;
4674 long var231
/* : Int */;
4675 long var233
/* : Int */;
4676 short int var234
/* : Bool */;
4677 short int var236
/* : Bool */;
4678 short int var237
/* : Bool */;
4679 val
* var238
/* : ANodes[AClassdef] */;
4680 val
* var240
/* : ANodes[AClassdef] */;
4681 val
* var_241
/* var : ANodes[AClassdef] */;
4682 val
* var242
/* : Iterator[ANode] */;
4683 val
* var_243
/* var : Iterator[AClassdef] */;
4684 short int var244
/* : Bool */;
4685 val
* var245
/* : nullable Object */;
4686 val
* var_nclassdef246
/* var nclassdef: AClassdef */;
4687 val
* var247
/* : nullable MClassDef */;
4688 val
* var249
/* : nullable MClassDef */;
4689 val
* var_mclassdef250
/* var mclassdef: MClassDef */;
4690 val
* var251
/* : HashMap[MClass, MClassType] */;
4691 val
* var_superclasses
/* var superclasses: HashMap[MClass, MClassType] */;
4692 val
* var252
/* : nullable POSetElement[MClassDef] */;
4693 val
* var254
/* : nullable POSetElement[MClassDef] */;
4694 val
* var255
/* : Collection[nullable Object] */;
4695 val
* var_256
/* var : Collection[MClassDef] */;
4696 val
* var257
/* : Iterator[nullable Object] */;
4697 val
* var_258
/* var : Iterator[MClassDef] */;
4698 short int var259
/* : Bool */;
4699 val
* var260
/* : nullable Object */;
4700 val
* var_scd
/* var scd: MClassDef */;
4701 val
* var261
/* : Array[MClassType] */;
4702 val
* var263
/* : Array[MClassType] */;
4703 val
* var_264
/* var : Array[MClassType] */;
4704 val
* var265
/* : ArrayIterator[nullable Object] */;
4705 val
* var_266
/* var : ArrayIterator[MClassType] */;
4706 short int var267
/* : Bool */;
4707 val
* var268
/* : nullable Object */;
4708 val
* var_st
/* var st: MClassType */;
4709 val
* var269
/* : MClass */;
4710 val
* var271
/* : MClass */;
4711 short int var272
/* : Bool */;
4712 short int var273
/* : Bool */;
4713 val
* var274
/* : MClass */;
4714 val
* var276
/* : MClass */;
4715 val
* var277
/* : MClass */;
4716 val
* var279
/* : MClass */;
4717 val
* var280
/* : nullable Object */;
4718 short int var281
/* : Bool */;
4719 short int var283
/* : Bool */;
4720 short int var284
/* : Bool */;
4721 val
* var285
/* : MClass */;
4722 val
* var287
/* : MClass */;
4723 val
* var288
/* : nullable Object */;
4724 val
* var289
/* : MClass */;
4725 val
* var291
/* : MClass */;
4726 val
* var292
/* : MClassType */;
4727 val
* var294
/* : MClassType */;
4728 val
* var295
/* : MClassType */;
4729 val
* var297
/* : MClassType */;
4730 short int var298
/* : Bool */;
4731 val
* var299
/* : MType */;
4732 val
* var_st1
/* var st1: MClassType */;
4733 val
* var300
/* : MClass */;
4734 val
* var302
/* : MClass */;
4735 val
* var303
/* : MClassType */;
4736 val
* var305
/* : MClassType */;
4737 val
* var306
/* : MClassType */;
4738 val
* var308
/* : MClassType */;
4739 short int var309
/* : Bool */;
4740 val
* var310
/* : MType */;
4741 val
* var_st2
/* var st2: MClassType */;
4742 short int var311
/* : Bool */;
4743 short int var313
/* : Bool */;
4744 short int var314
/* : Bool */;
4745 static val
* varonce
;
4746 val
* var315
/* : String */;
4747 char* var316
/* : NativeString */;
4748 long var317
/* : Int */;
4749 val
* var318
/* : FlatString */;
4750 val
* var319
/* : MClass */;
4751 val
* var321
/* : MClass */;
4752 static val
* varonce322
;
4753 val
* var323
/* : String */;
4754 char* var324
/* : NativeString */;
4755 long var325
/* : Int */;
4756 val
* var326
/* : FlatString */;
4757 static val
* varonce327
;
4758 val
* var328
/* : String */;
4759 char* var329
/* : NativeString */;
4760 long var330
/* : Int */;
4761 val
* var331
/* : FlatString */;
4762 val
* var332
/* : Array[Object] */;
4763 long var333
/* : Int */;
4764 val
* var334
/* : NativeArray[Object] */;
4765 val
* var335
/* : String */;
4766 val
* var342
/* : ToolContext */;
4767 val
* var344
/* : ToolContext */;
4768 long var345
/* : Int */;
4769 long var347
/* : Int */;
4770 short int var348
/* : Bool */;
4771 short int var350
/* : Bool */;
4772 short int var351
/* : Bool */;
4773 val
* var352
/* : ANodes[AClassdef] */;
4774 val
* var354
/* : ANodes[AClassdef] */;
4775 val
* var_355
/* var : ANodes[AClassdef] */;
4776 val
* var356
/* : Iterator[ANode] */;
4777 val
* var_357
/* var : Iterator[AClassdef] */;
4778 short int var358
/* : Bool */;
4779 val
* var359
/* : nullable Object */;
4780 val
* var_nclassdef360
/* var nclassdef: AClassdef */;
4781 short int var361
/* : Bool */;
4784 short int var364
/* : Bool */;
4785 val
* var366
/* : nullable MClassDef */;
4786 val
* var368
/* : nullable MClassDef */;
4787 val
* var_mclassdef369
/* var mclassdef: MClassDef */;
4788 val
* var370
/* : Array[MClass] */;
4789 val
* var_parents
/* var parents: Array[MClass] */;
4790 val
* var371
/* : nullable POSetElement[MClassDef] */;
4791 val
* var373
/* : nullable POSetElement[MClassDef] */;
4792 val
* var374
/* : Collection[nullable Object] */;
4793 val
* var_375
/* var : Collection[MClassDef] */;
4794 val
* var376
/* : Iterator[nullable Object] */;
4795 val
* var_377
/* var : Iterator[MClassDef] */;
4796 short int var378
/* : Bool */;
4797 val
* var379
/* : nullable Object */;
4798 val
* var_sup
/* var sup: MClassDef */;
4799 val
* var380
/* : MClass */;
4800 val
* var382
/* : MClass */;
4801 val
* var385
/* : ArrayMap[MClass, AType] */;
4802 val
* var_seen_parents
/* var seen_parents: ArrayMap[MClass, AType] */;
4803 static val
* varonce387
;
4804 val
* var388
/* : String */;
4805 char* var389
/* : NativeString */;
4806 long var390
/* : Int */;
4807 val
* var391
/* : FlatString */;
4808 val
* var392
/* : nullable MClass */;
4809 val
* var_objectclass
/* var objectclass: nullable MClass */;
4810 val
* var393
/* : ANodes[ASuperclass] */;
4811 val
* var395
/* : ANodes[ASuperclass] */;
4812 val
* var_396
/* var : ANodes[ASuperclass] */;
4813 val
* var397
/* : Iterator[ANode] */;
4814 val
* var_398
/* var : Iterator[ASuperclass] */;
4815 short int var399
/* : Bool */;
4816 val
* var400
/* : nullable Object */;
4817 val
* var_nsc401
/* var nsc: ASuperclass */;
4818 val
* var402
/* : AType */;
4819 val
* var404
/* : AType */;
4820 val
* var_ntype405
/* var ntype: AType */;
4821 val
* var406
/* : nullable MType */;
4822 val
* var408
/* : nullable MType */;
4823 val
* var_mtype409
/* var mtype: nullable MType */;
4824 val
* var410
/* : null */;
4825 short int var411
/* : Bool */;
4826 short int var412
/* : Bool */;
4827 short int var414
/* : Bool */;
4828 short int var416
/* : Bool */;
4829 short int var418
/* : Bool */;
4832 val
* var421
/* : MClass */;
4833 val
* var423
/* : MClass */;
4834 val
* var_sc
/* var sc: MClass */;
4835 short int var424
/* : Bool */;
4836 short int var425
/* : Bool */;
4837 short int var426
/* : Bool */;
4838 short int var_427
/* var : Bool */;
4839 short int var428
/* : Bool */;
4840 short int var430
/* : Bool */;
4841 short int var432
/* : Bool */;
4842 short int var433
/* : Bool */;
4843 val
* var434
/* : Location */;
4844 val
* var436
/* : Location */;
4845 val
* var437
/* : nullable SourceFile */;
4846 val
* var439
/* : nullable SourceFile */;
4847 val
* var440
/* : null */;
4848 short int var441
/* : Bool */;
4849 short int var442
/* : Bool */;
4850 short int var444
/* : Bool */;
4851 short int var445
/* : Bool */;
4852 short int var_446
/* var : Bool */;
4853 val
* var447
/* : Location */;
4854 val
* var449
/* : Location */;
4855 val
* var450
/* : nullable SourceFile */;
4856 val
* var452
/* : nullable SourceFile */;
4857 val
* var453
/* : String */;
4858 val
* var455
/* : String */;
4859 short int var456
/* : Bool */;
4860 short int var457
/* : Bool */;
4861 static val
* varonce458
;
4862 val
* var459
/* : String */;
4863 char* var460
/* : NativeString */;
4864 long var461
/* : Int */;
4865 val
* var462
/* : FlatString */;
4866 static val
* varonce463
;
4867 val
* var464
/* : String */;
4868 char* var465
/* : NativeString */;
4869 long var466
/* : Int */;
4870 val
* var467
/* : FlatString */;
4871 static val
* varonce468
;
4872 val
* var469
/* : String */;
4873 char* var470
/* : NativeString */;
4874 long var471
/* : Int */;
4875 val
* var472
/* : FlatString */;
4876 val
* var473
/* : MClass */;
4877 val
* var475
/* : MClass */;
4878 static val
* varonce476
;
4879 val
* var477
/* : String */;
4880 char* var478
/* : NativeString */;
4881 long var479
/* : Int */;
4882 val
* var480
/* : FlatString */;
4883 val
* var481
/* : Array[Object] */;
4884 long var482
/* : Int */;
4885 val
* var483
/* : NativeArray[Object] */;
4886 val
* var484
/* : String */;
4887 short int var485
/* : Bool */;
4888 short int var486
/* : Bool */;
4889 static val
* varonce487
;
4890 val
* var488
/* : String */;
4891 char* var489
/* : NativeString */;
4892 long var490
/* : Int */;
4893 val
* var491
/* : FlatString */;
4894 static val
* varonce492
;
4895 val
* var493
/* : String */;
4896 char* var494
/* : NativeString */;
4897 long var495
/* : Int */;
4898 val
* var496
/* : FlatString */;
4899 static val
* varonce497
;
4900 val
* var498
/* : String */;
4901 char* var499
/* : NativeString */;
4902 long var500
/* : Int */;
4903 val
* var501
/* : FlatString */;
4904 val
* var502
/* : MClass */;
4905 val
* var504
/* : MClass */;
4906 static val
* varonce505
;
4907 val
* var506
/* : String */;
4908 char* var507
/* : NativeString */;
4909 long var508
/* : Int */;
4910 val
* var509
/* : FlatString */;
4911 val
* var510
/* : Array[Object] */;
4912 long var511
/* : Int */;
4913 val
* var512
/* : NativeArray[Object] */;
4914 val
* var513
/* : String */;
4917 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
4918 var2
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
4919 if (unlikely(var2
== NULL
)) {
4920 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4921 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
4929 { /* Inline toolcontext#ToolContext#error_count (var) on <var:ToolContext> */
4930 var5
= var
->attrs
[COLOR_nit__toolcontext__ToolContext___error_count
].l
; /* _error_count on <var:ToolContext> */
4935 var_errcount
= var3
;
4937 { /* Inline modelize_class#AModule#build_classes_is_done (var_nmodule) on <var_nmodule:AModule> */
4938 var8
= var_nmodule
->attrs
[COLOR_nit__modelize_class__AModule___build_classes_is_done
].s
; /* _build_classes_is_done on <var_nmodule:AModule> */
4949 { /* Inline modelize_class#AModule#build_classes_is_done= (var_nmodule,var9) on <var_nmodule:AModule> */
4950 var_nmodule
->attrs
[COLOR_nit__modelize_class__AModule___build_classes_is_done
].s
= var9
; /* _build_classes_is_done on <var_nmodule:AModule> */
4951 RET_LABEL10
:(void)0;
4955 { /* Inline loader#AModule#mmodule (var_nmodule) on <var_nmodule:AModule> */
4956 var13
= var_nmodule
->attrs
[COLOR_nit__loader__AModule___mmodule
].val
; /* _mmodule on <var_nmodule:AModule> */
4958 RET_LABEL12
:(void)0;
4961 if (unlikely(var11
== NULL
)) {
4962 PRINT_ERROR("Runtime error: %s", "Cast failed");
4963 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 296);
4966 var_mmodule
= var11
;
4968 { /* Inline mmodule#MModule#in_importation (var_mmodule) on <var_mmodule:MModule> */
4969 var16
= var_mmodule
->attrs
[COLOR_nit__mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mmodule:MModule> */
4970 if (unlikely(var16
== NULL
)) {
4971 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
4972 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 96);
4976 RET_LABEL15
:(void)0;
4980 var17
= poset___poset__POSetElement___direct_greaters(var14
);
4984 var18
= ((val
* (*)(val
* self
))(var_
->class->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_
) /* iterator on <var_:Collection[MModule]>*/;
4989 var20
= ((short int (*)(val
* self
))(var_19
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_19
) /* is_ok on <var_19:Iterator[MModule]>*/;
4993 var21
= ((val
* (*)(val
* self
))(var_19
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_19
) /* item on <var_19:Iterator[MModule]>*/;
4997 var22
= nit__loader___ModelBuilder___mmodule2node(self
, var_imp
);
5001 if (var_nimp
== NULL
) {
5002 var24
= 0; /* is null */
5004 var24
= 1; /* arg is null and recv is not */
5007 { /* Inline kernel#Object#!= (var_nimp,var23) on <var_nimp:nullable AModule> */
5010 var27
= ((short int (*)(val
* self
, val
* p0
))(var_nimp
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nimp
, var_other
) /* == on <var_nimp:nullable AModule(AModule)>*/;
5015 RET_LABEL26
:(void)0;
5021 nit__modelize_class___ModelBuilder___build_classes(self
, var_nimp
); /* Direct call modelize_class#ModelBuilder#build_classes on <self:ModelBuilder>*/
5026 ((void (*)(val
* self
))(var_19
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_19
) /* next on <var_19:Iterator[MModule]>*/;
5032 BREAK_label
: (void)0;
5034 { /* Inline abstract_collection#Iterator#finish (var_19) on <var_19:Iterator[MModule]> */
5035 RET_LABEL29
:(void)0;
5039 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
5040 var32
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
5041 if (unlikely(var32
== NULL
)) {
5042 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5043 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
5047 RET_LABEL31
:(void)0;
5051 { /* Inline toolcontext#ToolContext#error_count (var30) on <var30:ToolContext> */
5052 var35
= var30
->attrs
[COLOR_nit__toolcontext__ToolContext___error_count
].l
; /* _error_count on <var30:ToolContext> */
5054 RET_LABEL34
:(void)0;
5058 { /* Inline kernel#Int#!= (var_errcount,var33) on <var_errcount:Int> */
5059 var38
= var_errcount
== var33
;
5063 RET_LABEL37
:(void)0;
5071 { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on <var_nmodule:AModule> */
5072 var42
= var_nmodule
->attrs
[COLOR_nit__parser_nodes__AModule___n_classdefs
].val
; /* _n_classdefs on <var_nmodule:AModule> */
5073 if (unlikely(var42
== NULL
)) {
5074 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs");
5075 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 919);
5079 RET_LABEL41
:(void)0;
5084 var44
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_43
);
5089 var46
= ((short int (*)(val
* self
))(var_45
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_45
) /* is_ok on <var_45:Iterator[AClassdef]>*/;
5093 var47
= ((val
* (*)(val
* self
))(var_45
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_45
) /* item on <var_45:Iterator[AClassdef]>*/;
5095 var_nclassdef
= var47
;
5097 nit__modelize_class___ModelBuilder___build_a_mclass(self
, var_nmodule
, var_nclassdef
); /* Direct call modelize_class#ModelBuilder#build_a_mclass on <self:ModelBuilder>*/
5100 ((void (*)(val
* self
))(var_45
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_45
) /* next on <var_45:Iterator[AClassdef]>*/;
5106 BREAK_label48
: (void)0;
5108 { /* Inline abstract_collection#Iterator#finish (var_45) on <var_45:Iterator[AClassdef]> */
5109 RET_LABEL49
:(void)0;
5113 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
5114 var52
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
5115 if (unlikely(var52
== NULL
)) {
5116 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5117 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
5121 RET_LABEL51
:(void)0;
5125 { /* Inline toolcontext#ToolContext#error_count (var50) on <var50:ToolContext> */
5126 var55
= var50
->attrs
[COLOR_nit__toolcontext__ToolContext___error_count
].l
; /* _error_count on <var50:ToolContext> */
5128 RET_LABEL54
:(void)0;
5132 { /* Inline kernel#Int#!= (var_errcount,var53) on <var_errcount:Int> */
5133 var58
= var_errcount
== var53
;
5137 RET_LABEL57
:(void)0;
5145 { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on <var_nmodule:AModule> */
5146 var62
= var_nmodule
->attrs
[COLOR_nit__parser_nodes__AModule___n_classdefs
].val
; /* _n_classdefs on <var_nmodule:AModule> */
5147 if (unlikely(var62
== NULL
)) {
5148 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs");
5149 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 919);
5153 RET_LABEL61
:(void)0;
5158 var64
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_63
);
5163 var66
= ((short int (*)(val
* self
))(var_65
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_65
) /* is_ok on <var_65:Iterator[AClassdef]>*/;
5167 var67
= ((val
* (*)(val
* self
))(var_65
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_65
) /* item on <var_65:Iterator[AClassdef]>*/;
5169 var_nclassdef68
= var67
;
5171 nit__modelize_class___ModelBuilder___build_a_mclassdef(self
, var_nmodule
, var_nclassdef68
); /* Direct call modelize_class#ModelBuilder#build_a_mclassdef on <self:ModelBuilder>*/
5174 ((void (*)(val
* self
))(var_65
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_65
) /* next on <var_65:Iterator[AClassdef]>*/;
5180 BREAK_label69
: (void)0;
5182 { /* Inline abstract_collection#Iterator#finish (var_65) on <var_65:Iterator[AClassdef]> */
5183 RET_LABEL70
:(void)0;
5187 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
5188 var73
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
5189 if (unlikely(var73
== NULL
)) {
5190 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5191 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
5195 RET_LABEL72
:(void)0;
5199 { /* Inline toolcontext#ToolContext#error_count (var71) on <var71:ToolContext> */
5200 var76
= var71
->attrs
[COLOR_nit__toolcontext__ToolContext___error_count
].l
; /* _error_count on <var71:ToolContext> */
5202 RET_LABEL75
:(void)0;
5206 { /* Inline kernel#Int#!= (var_errcount,var74) on <var_errcount:Int> */
5207 var79
= var_errcount
== var74
;
5211 RET_LABEL78
:(void)0;
5219 { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on <var_nmodule:AModule> */
5220 var83
= var_nmodule
->attrs
[COLOR_nit__parser_nodes__AModule___n_classdefs
].val
; /* _n_classdefs on <var_nmodule:AModule> */
5221 if (unlikely(var83
== NULL
)) {
5222 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs");
5223 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 919);
5227 RET_LABEL82
:(void)0;
5232 var85
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_84
);
5237 var87
= ((short int (*)(val
* self
))(var_86
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_86
) /* is_ok on <var_86:Iterator[AClassdef]>*/;
5241 var88
= ((val
* (*)(val
* self
))(var_86
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_86
) /* item on <var_86:Iterator[AClassdef]>*/;
5243 var_nclassdef89
= var88
;
5245 nit__modelize_class___ModelBuilder___collect_a_mclassdef_inheritance(self
, var_nmodule
, var_nclassdef89
); /* Direct call modelize_class#ModelBuilder#collect_a_mclassdef_inheritance on <self:ModelBuilder>*/
5248 ((void (*)(val
* self
))(var_86
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_86
) /* next on <var_86:Iterator[AClassdef]>*/;
5254 BREAK_label90
: (void)0;
5256 { /* Inline abstract_collection#Iterator#finish (var_86) on <var_86:Iterator[AClassdef]> */
5257 RET_LABEL91
:(void)0;
5261 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
5262 var94
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
5263 if (unlikely(var94
== NULL
)) {
5264 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5265 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
5269 RET_LABEL93
:(void)0;
5273 { /* Inline toolcontext#ToolContext#error_count (var92) on <var92:ToolContext> */
5274 var97
= var92
->attrs
[COLOR_nit__toolcontext__ToolContext___error_count
].l
; /* _error_count on <var92:ToolContext> */
5276 RET_LABEL96
:(void)0;
5280 { /* Inline kernel#Int#!= (var_errcount,var95) on <var_errcount:Int> */
5281 var100
= var_errcount
== var95
;
5285 RET_LABEL99
:(void)0;
5293 { /* Inline model#MModule#mclassdefs (var_mmodule) on <var_mmodule:MModule> */
5294 var104
= var_mmodule
->attrs
[COLOR_nit__model__MModule___mclassdefs
].val
; /* _mclassdefs on <var_mmodule:MModule> */
5295 if (unlikely(var104
== NULL
)) {
5296 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
5297 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 131);
5301 RET_LABEL103
:(void)0;
5306 var106
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_105
);
5311 var108
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_107
);
5315 var109
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_107
);
5317 var_mclassdef
= var109
;
5319 nit___nit__MClassDef___add_in_hierarchy(var_mclassdef
); /* Direct call model#MClassDef#add_in_hierarchy on <var_mclassdef:MClassDef>*/
5322 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_107
); /* Direct call array#ArrayIterator#next on <var_107:ArrayIterator[MClassDef]>*/
5325 goto BREAK_label110
;
5328 BREAK_label110
: (void)0;
5330 { /* Inline abstract_collection#Iterator#finish (var_107) on <var_107:ArrayIterator[MClassDef]> */
5331 RET_LABEL111
:(void)0;
5335 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
5336 var114
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
5337 if (unlikely(var114
== NULL
)) {
5338 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5339 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
5343 RET_LABEL113
:(void)0;
5347 { /* Inline toolcontext#ToolContext#error_count (var112) on <var112:ToolContext> */
5348 var117
= var112
->attrs
[COLOR_nit__toolcontext__ToolContext___error_count
].l
; /* _error_count on <var112:ToolContext> */
5350 RET_LABEL116
:(void)0;
5354 { /* Inline kernel#Int#!= (var_errcount,var115) on <var_errcount:Int> */
5355 var120
= var_errcount
== var115
;
5359 RET_LABEL119
:(void)0;
5367 { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on <var_nmodule:AModule> */
5368 var124
= var_nmodule
->attrs
[COLOR_nit__parser_nodes__AModule___n_classdefs
].val
; /* _n_classdefs on <var_nmodule:AModule> */
5369 if (unlikely(var124
== NULL
)) {
5370 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs");
5371 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 919);
5375 RET_LABEL123
:(void)0;
5380 var126
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_125
);
5385 var128
= ((short int (*)(val
* self
))(var_127
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_127
) /* is_ok on <var_127:Iterator[AClassdef]>*/;
5389 var129
= ((val
* (*)(val
* self
))(var_127
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_127
) /* item on <var_127:Iterator[AClassdef]>*/;
5391 var_nclassdef130
= var129
;
5393 nit__modelize_class___ModelBuilder___check_supertypes(self
, var_nmodule
, var_nclassdef130
); /* Direct call modelize_class#ModelBuilder#check_supertypes on <self:ModelBuilder>*/
5396 ((void (*)(val
* self
))(var_127
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_127
) /* next on <var_127:Iterator[AClassdef]>*/;
5399 goto BREAK_label131
;
5402 BREAK_label131
: (void)0;
5404 { /* Inline abstract_collection#Iterator#finish (var_127) on <var_127:Iterator[AClassdef]> */
5405 RET_LABEL132
:(void)0;
5409 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
5410 var135
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
5411 if (unlikely(var135
== NULL
)) {
5412 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5413 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
5417 RET_LABEL134
:(void)0;
5421 { /* Inline toolcontext#ToolContext#error_count (var133) on <var133:ToolContext> */
5422 var138
= var133
->attrs
[COLOR_nit__toolcontext__ToolContext___error_count
].l
; /* _error_count on <var133:ToolContext> */
5424 RET_LABEL137
:(void)0;
5428 { /* Inline kernel#Int#!= (var_errcount,var136) on <var_errcount:Int> */
5429 var141
= var_errcount
== var136
;
5433 RET_LABEL140
:(void)0;
5441 { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on <var_nmodule:AModule> */
5442 var145
= var_nmodule
->attrs
[COLOR_nit__parser_nodes__AModule___n_classdefs
].val
; /* _n_classdefs on <var_nmodule:AModule> */
5443 if (unlikely(var145
== NULL
)) {
5444 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs");
5445 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 919);
5449 RET_LABEL144
:(void)0;
5454 var147
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_146
);
5459 var149
= ((short int (*)(val
* self
))(var_148
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_148
) /* is_ok on <var_148:Iterator[AClassdef]>*/;
5463 var150
= ((val
* (*)(val
* self
))(var_148
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_148
) /* item on <var_148:Iterator[AClassdef]>*/;
5465 var_nclassdef151
= var150
;
5466 /* <var_nclassdef151:AClassdef> isa AStdClassdef */
5467 cltype
= type_nit__AStdClassdef
.color
;
5468 idtype
= type_nit__AStdClassdef
.id
;
5469 if(cltype
>= var_nclassdef151
->type
->table_size
) {
5472 var152
= var_nclassdef151
->type
->type_table
[cltype
] == idtype
;
5476 { /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef151) on <var_nclassdef151:AClassdef(AStdClassdef)> */
5477 var155
= var_nclassdef151
->attrs
[COLOR_nit__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_nclassdef151:AClassdef(AStdClassdef)> */
5479 RET_LABEL154
:(void)0;
5482 var_mclassdef156
= var153
;
5484 { /* Inline parser_nodes#AStdClassdef#n_formaldefs (var_nclassdef151) on <var_nclassdef151:AClassdef(AStdClassdef)> */
5485 var159
= var_nclassdef151
->attrs
[COLOR_nit__parser_nodes__AStdClassdef___n_formaldefs
].val
; /* _n_formaldefs on <var_nclassdef151:AClassdef(AStdClassdef)> */
5486 if (unlikely(var159
== NULL
)) {
5487 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_formaldefs");
5488 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1027);
5492 RET_LABEL158
:(void)0;
5497 var161
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_160
);
5502 var163
= ((short int (*)(val
* self
))(var_162
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_162
) /* is_ok on <var_162:Iterator[AFormaldef]>*/;
5506 var164
= ((val
* (*)(val
* self
))(var_162
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_162
) /* item on <var_162:Iterator[AFormaldef]>*/;
5510 { /* Inline parser_nodes#AFormaldef#n_type (var_nfd) on <var_nfd:AFormaldef> */
5511 var167
= var_nfd
->attrs
[COLOR_nit__parser_nodes__AFormaldef___n_type
].val
; /* _n_type on <var_nfd:AFormaldef> */
5513 RET_LABEL166
:(void)0;
5518 if (var_nfdt
== NULL
) {
5519 var170
= 0; /* is null */
5521 var170
= 1; /* arg is null and recv is not */
5524 { /* Inline kernel#Object#!= (var_nfdt,var169) on <var_nfdt:nullable AType> */
5527 var173
= ((short int (*)(val
* self
, val
* p0
))(var_nfdt
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nfdt
, var_other
) /* == on <var_nfdt:nullable AType(AType)>*/;
5532 RET_LABEL172
:(void)0;
5539 { /* Inline modelize_class#AType#mtype (var_nfdt) on <var_nfdt:nullable AType(AType)> */
5540 var178
= var_nfdt
->attrs
[COLOR_nit__modelize_class__AType___mtype
].val
; /* _mtype on <var_nfdt:nullable AType(AType)> */
5542 RET_LABEL177
:(void)0;
5546 if (var176
== NULL
) {
5547 var180
= 0; /* is null */
5549 var180
= 1; /* arg is null and recv is not */
5552 { /* Inline kernel#Object#!= (var176,var179) on <var176:nullable MType> */
5555 var183
= ((short int (*)(val
* self
, val
* p0
))(var176
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var176
, var_other
) /* == on <var176:nullable MType(MType)>*/;
5560 RET_LABEL182
:(void)0;
5570 var185
= nit__modelize_class___ModelBuilder___resolve_mtype(self
, var_mmodule
, var_mclassdef156
, var_nfdt
);
5574 if (var_bound
== NULL
) {
5575 var187
= 1; /* is null */
5577 var187
= 0; /* arg is null but recv is not */
5580 { /* Inline kernel#Object#== (var_bound,var186) on <var_bound:nullable MType> */
5581 var_other190
= var186
;
5583 { /* Inline kernel#Object#is_same_instance (var_bound,var_other190) on <var_bound:nullable MType(MType)> */
5584 var193
= var_bound
== var_other190
;
5587 RET_LABEL192
:(void)0;
5592 RET_LABEL189
:(void)0;
5603 ((void (*)(val
* self
))(var_162
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_162
) /* next on <var_162:Iterator[AFormaldef]>*/;
5606 goto BREAK_label194
;
5609 BREAK_label194
: (void)0;
5611 { /* Inline abstract_collection#Iterator#finish (var_162) on <var_162:Iterator[AFormaldef]> */
5612 RET_LABEL195
:(void)0;
5616 { /* Inline parser_nodes#AStdClassdef#n_superclasses (var_nclassdef151) on <var_nclassdef151:AClassdef(AStdClassdef)> */
5617 var198
= var_nclassdef151
->attrs
[COLOR_nit__parser_nodes__AStdClassdef___n_superclasses
].val
; /* _n_superclasses on <var_nclassdef151:AClassdef(AStdClassdef)> */
5618 if (unlikely(var198
== NULL
)) {
5619 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_superclasses");
5620 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1033);
5624 RET_LABEL197
:(void)0;
5629 var200
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_199
);
5634 var202
= ((short int (*)(val
* self
))(var_201
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_201
) /* is_ok on <var_201:Iterator[ASuperclass]>*/;
5638 var203
= ((val
* (*)(val
* self
))(var_201
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_201
) /* item on <var_201:Iterator[ASuperclass]>*/;
5642 { /* Inline parser_nodes#ASuperclass#n_type (var_nsc) on <var_nsc:ASuperclass> */
5643 var206
= var_nsc
->attrs
[COLOR_nit__parser_nodes__ASuperclass___n_type
].val
; /* _n_type on <var_nsc:ASuperclass> */
5644 if (unlikely(var206
== NULL
)) {
5645 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
5646 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1121);
5650 RET_LABEL205
:(void)0;
5655 { /* Inline modelize_class#AType#mtype (var_ntype) on <var_ntype:AType> */
5656 var209
= var_ntype
->attrs
[COLOR_nit__modelize_class__AType___mtype
].val
; /* _mtype on <var_ntype:AType> */
5658 RET_LABEL208
:(void)0;
5662 if (var207
== NULL
) {
5663 var211
= 0; /* is null */
5665 var211
= 1; /* arg is null and recv is not */
5668 { /* Inline kernel#Object#!= (var207,var210) on <var207:nullable MType> */
5671 var214
= ((short int (*)(val
* self
, val
* p0
))(var207
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var207
, var_other
) /* == on <var207:nullable MType(MType)>*/;
5676 RET_LABEL213
:(void)0;
5682 var216
= nit__modelize_class___ModelBuilder___resolve_mtype(self
, var_mmodule
, var_mclassdef156
, var_ntype
);
5686 if (var_mtype
== NULL
) {
5687 var218
= 1; /* is null */
5689 var218
= 0; /* arg is null but recv is not */
5692 { /* Inline kernel#Object#== (var_mtype,var217) on <var_mtype:nullable MType> */
5693 var_other190
= var217
;
5695 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other190) on <var_mtype:nullable MType(MType)> */
5696 var223
= var_mtype
== var_other190
;
5699 RET_LABEL222
:(void)0;
5704 RET_LABEL220
:(void)0;
5715 ((void (*)(val
* self
))(var_201
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_201
) /* next on <var_201:Iterator[ASuperclass]>*/;
5718 goto BREAK_label224
;
5721 BREAK_label224
: (void)0;
5723 { /* Inline abstract_collection#Iterator#finish (var_201) on <var_201:Iterator[ASuperclass]> */
5724 RET_LABEL225
:(void)0;
5730 ((void (*)(val
* self
))(var_148
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_148
) /* next on <var_148:Iterator[AClassdef]>*/;
5733 goto BREAK_label226
;
5736 BREAK_label226
: (void)0;
5738 { /* Inline abstract_collection#Iterator#finish (var_148) on <var_148:Iterator[AClassdef]> */
5739 RET_LABEL227
:(void)0;
5743 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
5744 var230
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
5745 if (unlikely(var230
== NULL
)) {
5746 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5747 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
5751 RET_LABEL229
:(void)0;
5755 { /* Inline toolcontext#ToolContext#error_count (var228) on <var228:ToolContext> */
5756 var233
= var228
->attrs
[COLOR_nit__toolcontext__ToolContext___error_count
].l
; /* _error_count on <var228:ToolContext> */
5758 RET_LABEL232
:(void)0;
5762 { /* Inline kernel#Int#!= (var_errcount,var231) on <var_errcount:Int> */
5763 var236
= var_errcount
== var231
;
5767 RET_LABEL235
:(void)0;
5775 { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on <var_nmodule:AModule> */
5776 var240
= var_nmodule
->attrs
[COLOR_nit__parser_nodes__AModule___n_classdefs
].val
; /* _n_classdefs on <var_nmodule:AModule> */
5777 if (unlikely(var240
== NULL
)) {
5778 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs");
5779 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 919);
5783 RET_LABEL239
:(void)0;
5788 var242
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_241
);
5793 var244
= ((short int (*)(val
* self
))(var_243
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_243
) /* is_ok on <var_243:Iterator[AClassdef]>*/;
5797 var245
= ((val
* (*)(val
* self
))(var_243
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_243
) /* item on <var_243:Iterator[AClassdef]>*/;
5799 var_nclassdef246
= var245
;
5801 { /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef246) on <var_nclassdef246:AClassdef> */
5802 var249
= var_nclassdef246
->attrs
[COLOR_nit__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_nclassdef246:AClassdef> */
5804 RET_LABEL248
:(void)0;
5807 if (unlikely(var247
== NULL
)) {
5808 PRINT_ERROR("Runtime error: %s", "Cast failed");
5809 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 366);
5812 var_mclassdef250
= var247
;
5813 var251
= NEW_standard__HashMap(&type_standard__HashMap__nit__MClass__nit__MClassType
);
5815 standard___standard__HashMap___standard__kernel__Object__init(var251
); /* Direct call hash_collection#HashMap#init on <var251:HashMap[MClass, MClassType]>*/
5817 var_superclasses
= var251
;
5819 { /* Inline model#MClassDef#in_hierarchy (var_mclassdef250) on <var_mclassdef250:MClassDef> */
5820 var254
= var_mclassdef250
->attrs
[COLOR_nit__model__MClassDef___in_hierarchy
].val
; /* _in_hierarchy on <var_mclassdef250:MClassDef> */
5822 RET_LABEL253
:(void)0;
5825 if (var252
== NULL
) {
5826 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5827 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 368);
5830 var255
= poset___poset__POSetElement___greaters(var252
);
5834 var257
= ((val
* (*)(val
* self
))(var_256
->class->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_256
) /* iterator on <var_256:Collection[MClassDef]>*/;
5839 var259
= ((short int (*)(val
* self
))(var_258
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_258
) /* is_ok on <var_258:Iterator[MClassDef]>*/;
5843 var260
= ((val
* (*)(val
* self
))(var_258
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_258
) /* item on <var_258:Iterator[MClassDef]>*/;
5847 { /* Inline model#MClassDef#supertypes (var_scd) on <var_scd:MClassDef> */
5848 var263
= var_scd
->attrs
[COLOR_nit__model__MClassDef___supertypes
].val
; /* _supertypes on <var_scd:MClassDef> */
5849 if (unlikely(var263
== NULL
)) {
5850 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
5851 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 566);
5855 RET_LABEL262
:(void)0;
5860 var265
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_264
);
5865 var267
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_266
);
5869 var268
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_266
);
5873 { /* Inline model#MClassType#mclass (var_st) on <var_st:MClassType> */
5874 var271
= var_st
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_st:MClassType> */
5875 if (unlikely(var271
== NULL
)) {
5876 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5877 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
5881 RET_LABEL270
:(void)0;
5885 var272
= standard___standard__MapRead___has_key(var_superclasses
, var269
);
5890 { /* Inline model#MClassType#mclass (var_st) on <var_st:MClassType> */
5891 var276
= var_st
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_st:MClassType> */
5892 if (unlikely(var276
== NULL
)) {
5893 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5894 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
5898 RET_LABEL275
:(void)0;
5902 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_superclasses
, var274
, var_st
); /* Direct call hash_collection#HashMap#[]= on <var_superclasses:HashMap[MClass, MClassType]>*/
5906 { /* Inline model#MClassType#mclass (var_st) on <var_st:MClassType> */
5907 var279
= var_st
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_st:MClassType> */
5908 if (unlikely(var279
== NULL
)) {
5909 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5910 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
5914 RET_LABEL278
:(void)0;
5918 var280
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_superclasses
, var277
);
5921 { /* Inline kernel#Object#!= (var280,var_st) on <var280:nullable Object(MClassType)> */
5924 var283
= ((short int (*)(val
* self
, val
* p0
))(var280
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var280
, var_other
) /* == on <var280:nullable Object(MClassType)>*/;
5929 RET_LABEL282
:(void)0;
5934 { /* Inline model#MClassType#mclass (var_st) on <var_st:MClassType> */
5935 var287
= var_st
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_st:MClassType> */
5936 if (unlikely(var287
== NULL
)) {
5937 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5938 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
5942 RET_LABEL286
:(void)0;
5946 var288
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_superclasses
, var285
);
5949 { /* Inline model#MClassDef#mclass (var_mclassdef250) on <var_mclassdef250:MClassDef> */
5950 var291
= var_mclassdef250
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef250:MClassDef> */
5951 if (unlikely(var291
== NULL
)) {
5952 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5953 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
5957 RET_LABEL290
:(void)0;
5961 { /* Inline model#MClass#mclass_type (var289) on <var289:MClass> */
5962 var294
= var289
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var289:MClass> */
5963 if (unlikely(var294
== NULL
)) {
5964 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
5965 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
5969 RET_LABEL293
:(void)0;
5973 { /* Inline model#MClassDef#bound_mtype (var_mclassdef250) on <var_mclassdef250:MClassDef> */
5974 var297
= var_mclassdef250
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef250:MClassDef> */
5975 if (unlikely(var297
== NULL
)) {
5976 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
5977 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
5981 RET_LABEL296
:(void)0;
5986 var299
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(var288
->class->vft
[COLOR_nit__model__MType__resolve_for
]))(var288
, var292
, var295
, var_mmodule
, var298
) /* resolve_for on <var288:nullable Object(MClassType)>*/;
5990 { /* Inline model#MClassDef#mclass (var_mclassdef250) on <var_mclassdef250:MClassDef> */
5991 var302
= var_mclassdef250
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef250:MClassDef> */
5992 if (unlikely(var302
== NULL
)) {
5993 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5994 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
5998 RET_LABEL301
:(void)0;
6002 { /* Inline model#MClass#mclass_type (var300) on <var300:MClass> */
6003 var305
= var300
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var300:MClass> */
6004 if (unlikely(var305
== NULL
)) {
6005 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
6006 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
6010 RET_LABEL304
:(void)0;
6014 { /* Inline model#MClassDef#bound_mtype (var_mclassdef250) on <var_mclassdef250:MClassDef> */
6015 var308
= var_mclassdef250
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef250:MClassDef> */
6016 if (unlikely(var308
== NULL
)) {
6017 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
6018 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
6022 RET_LABEL307
:(void)0;
6027 var310
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(var_st
->class->vft
[COLOR_nit__model__MType__resolve_for
]))(var_st
, var303
, var306
, var_mmodule
, var309
) /* resolve_for on <var_st:MClassType>*/;
6031 { /* Inline kernel#Object#!= (var_st1,var_st2) on <var_st1:MClassType> */
6032 var_other
= var_st2
;
6034 var313
= ((short int (*)(val
* self
, val
* p0
))(var_st1
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_st1
, var_other
) /* == on <var_st1:MClassType>*/;
6039 RET_LABEL312
:(void)0;
6046 var316
= "Error: Incompatibles ancestors for ";
6048 var318
= standard___standard__NativeString___to_s_with_length(var316
, var317
);
6053 { /* Inline model#MClassDef#mclass (var_mclassdef250) on <var_mclassdef250:MClassDef> */
6054 var321
= var_mclassdef250
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef250:MClassDef> */
6055 if (unlikely(var321
== NULL
)) {
6056 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6057 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
6061 RET_LABEL320
:(void)0;
6065 var323
= varonce322
;
6069 var326
= standard___standard__NativeString___to_s_with_length(var324
, var325
);
6071 varonce322
= var323
;
6074 var328
= varonce327
;
6078 var331
= standard___standard__NativeString___to_s_with_length(var329
, var330
);
6080 varonce327
= var328
;
6082 var332
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6083 { /* var332 = array_instance Array[Object] */
6085 var334
= NEW_standard__NativeArray(var333
, &type_standard__NativeArray__standard__Object
);
6086 ((struct instance_standard__NativeArray
*)var334
)->values
[0] = (val
*) var315
;
6087 ((struct instance_standard__NativeArray
*)var334
)->values
[1] = (val
*) var319
;
6088 ((struct instance_standard__NativeArray
*)var334
)->values
[2] = (val
*) var323
;
6089 ((struct instance_standard__NativeArray
*)var334
)->values
[3] = (val
*) var_st1
;
6090 ((struct instance_standard__NativeArray
*)var334
)->values
[4] = (val
*) var328
;
6091 ((struct instance_standard__NativeArray
*)var334
)->values
[5] = (val
*) var_st2
;
6093 ((void (*)(val
* self
, val
* p0
, long p1
))(var332
->class->vft
[COLOR_standard__array__Array__with_native
]))(var332
, var334
, var333
) /* with_native on <var332:Array[Object]>*/;
6097 var335
= ((val
* (*)(val
* self
))(var332
->class->vft
[COLOR_standard__string__Object__to_s
]))(var332
) /* to_s on <var332:Array[Object]>*/;
6100 nit___nit__ModelBuilder___error(self
, var_nclassdef246
, var335
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
6108 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_266
); /* Direct call array#ArrayIterator#next on <var_266:ArrayIterator[MClassType]>*/
6111 goto BREAK_label336
;
6114 BREAK_label336
: (void)0;
6116 { /* Inline abstract_collection#Iterator#finish (var_266) on <var_266:ArrayIterator[MClassType]> */
6117 RET_LABEL337
:(void)0;
6121 ((void (*)(val
* self
))(var_258
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_258
) /* next on <var_258:Iterator[MClassDef]>*/;
6124 goto BREAK_label338
;
6127 BREAK_label338
: (void)0;
6129 { /* Inline abstract_collection#Iterator#finish (var_258) on <var_258:Iterator[MClassDef]> */
6130 RET_LABEL339
:(void)0;
6134 ((void (*)(val
* self
))(var_243
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_243
) /* next on <var_243:Iterator[AClassdef]>*/;
6137 goto BREAK_label340
;
6140 BREAK_label340
: (void)0;
6142 { /* Inline abstract_collection#Iterator#finish (var_243) on <var_243:Iterator[AClassdef]> */
6143 RET_LABEL341
:(void)0;
6147 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
6148 var344
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
6149 if (unlikely(var344
== NULL
)) {
6150 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6151 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
6155 RET_LABEL343
:(void)0;
6159 { /* Inline toolcontext#ToolContext#error_count (var342) on <var342:ToolContext> */
6160 var347
= var342
->attrs
[COLOR_nit__toolcontext__ToolContext___error_count
].l
; /* _error_count on <var342:ToolContext> */
6162 RET_LABEL346
:(void)0;
6166 { /* Inline kernel#Int#!= (var_errcount,var345) on <var_errcount:Int> */
6167 var350
= var_errcount
== var345
;
6171 RET_LABEL349
:(void)0;
6179 { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on <var_nmodule:AModule> */
6180 var354
= var_nmodule
->attrs
[COLOR_nit__parser_nodes__AModule___n_classdefs
].val
; /* _n_classdefs on <var_nmodule:AModule> */
6181 if (unlikely(var354
== NULL
)) {
6182 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs");
6183 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 919);
6187 RET_LABEL353
:(void)0;
6192 var356
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_355
);
6197 var358
= ((short int (*)(val
* self
))(var_357
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_357
) /* is_ok on <var_357:Iterator[AClassdef]>*/;
6201 var359
= ((val
* (*)(val
* self
))(var_357
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_357
) /* item on <var_357:Iterator[AClassdef]>*/;
6203 var_nclassdef360
= var359
;
6204 /* <var_nclassdef360:AClassdef> isa AStdClassdef */
6205 cltype362
= type_nit__AStdClassdef
.color
;
6206 idtype363
= type_nit__AStdClassdef
.id
;
6207 if(cltype362
>= var_nclassdef360
->type
->table_size
) {
6210 var361
= var_nclassdef360
->type
->type_table
[cltype362
] == idtype363
;
6214 goto BREAK_label365
;
6218 { /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef360) on <var_nclassdef360:AClassdef(AStdClassdef)> */
6219 var368
= var_nclassdef360
->attrs
[COLOR_nit__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_nclassdef360:AClassdef(AStdClassdef)> */
6221 RET_LABEL367
:(void)0;
6224 if (unlikely(var366
== NULL
)) {
6225 PRINT_ERROR("Runtime error: %s", "Cast failed");
6226 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 390);
6229 var_mclassdef369
= var366
;
6230 var370
= NEW_standard__Array(&type_standard__Array__nit__MClass
);
6232 standard___standard__Array___standard__kernel__Object__init(var370
); /* Direct call array#Array#init on <var370:Array[MClass]>*/
6234 var_parents
= var370
;
6236 { /* Inline model#MClassDef#in_hierarchy (var_mclassdef369) on <var_mclassdef369:MClassDef> */
6237 var373
= var_mclassdef369
->attrs
[COLOR_nit__model__MClassDef___in_hierarchy
].val
; /* _in_hierarchy on <var_mclassdef369:MClassDef> */
6239 RET_LABEL372
:(void)0;
6242 if (var371
== NULL
) {
6243 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6244 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 395);
6247 var374
= poset___poset__POSetElement___direct_greaters(var371
);
6251 var376
= ((val
* (*)(val
* self
))(var_375
->class->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_375
) /* iterator on <var_375:Collection[MClassDef]>*/;
6256 var378
= ((short int (*)(val
* self
))(var_377
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_377
) /* is_ok on <var_377:Iterator[MClassDef]>*/;
6260 var379
= ((val
* (*)(val
* self
))(var_377
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_377
) /* item on <var_377:Iterator[MClassDef]>*/;
6264 { /* Inline model#MClassDef#mclass (var_sup) on <var_sup:MClassDef> */
6265 var382
= var_sup
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_sup:MClassDef> */
6266 if (unlikely(var382
== NULL
)) {
6267 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6268 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
6272 RET_LABEL381
:(void)0;
6276 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_parents
, var380
); /* Direct call array#Array#add on <var_parents:Array[MClass]>*/
6279 ((void (*)(val
* self
))(var_377
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_377
) /* next on <var_377:Iterator[MClassDef]>*/;
6282 goto BREAK_label383
;
6285 BREAK_label383
: (void)0;
6287 { /* Inline abstract_collection#Iterator#finish (var_377) on <var_377:Iterator[MClassDef]> */
6288 RET_LABEL384
:(void)0;
6291 var385
= NEW_standard__ArrayMap(&type_standard__ArrayMap__nit__MClass__nit__AType
);
6293 { /* Inline kernel#Object#init (var385) on <var385:ArrayMap[MClass, AType]> */
6294 RET_LABEL386
:(void)0;
6297 var_seen_parents
= var385
;
6299 var388
= varonce387
;
6303 var391
= standard___standard__NativeString___to_s_with_length(var389
, var390
);
6305 varonce387
= var388
;
6308 var392
= nit___nit__ModelBuilder___try_get_mclass_by_name(self
, var_nmodule
, var_mmodule
, var388
);
6310 var_objectclass
= var392
;
6312 { /* Inline parser_nodes#AStdClassdef#n_superclasses (var_nclassdef360) on <var_nclassdef360:AClassdef(AStdClassdef)> */
6313 var395
= var_nclassdef360
->attrs
[COLOR_nit__parser_nodes__AStdClassdef___n_superclasses
].val
; /* _n_superclasses on <var_nclassdef360:AClassdef(AStdClassdef)> */
6314 if (unlikely(var395
== NULL
)) {
6315 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_superclasses");
6316 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1033);
6320 RET_LABEL394
:(void)0;
6325 var397
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_396
);
6330 var399
= ((short int (*)(val
* self
))(var_398
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_398
) /* is_ok on <var_398:Iterator[ASuperclass]>*/;
6334 var400
= ((val
* (*)(val
* self
))(var_398
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_398
) /* item on <var_398:Iterator[ASuperclass]>*/;
6336 var_nsc401
= var400
;
6338 { /* Inline parser_nodes#ASuperclass#n_type (var_nsc401) on <var_nsc401:ASuperclass> */
6339 var404
= var_nsc401
->attrs
[COLOR_nit__parser_nodes__ASuperclass___n_type
].val
; /* _n_type on <var_nsc401:ASuperclass> */
6340 if (unlikely(var404
== NULL
)) {
6341 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
6342 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1121);
6346 RET_LABEL403
:(void)0;
6349 var_ntype405
= var402
;
6351 { /* Inline modelize_class#AType#mtype (var_ntype405) on <var_ntype405:AType> */
6352 var408
= var_ntype405
->attrs
[COLOR_nit__modelize_class__AType___mtype
].val
; /* _mtype on <var_ntype405:AType> */
6354 RET_LABEL407
:(void)0;
6357 var_mtype409
= var406
;
6359 if (var_mtype409
== NULL
) {
6360 var411
= 1; /* is null */
6362 var411
= 0; /* arg is null but recv is not */
6365 { /* Inline kernel#Object#== (var_mtype409,var410) on <var_mtype409:nullable MType> */
6366 var_other190
= var410
;
6368 { /* Inline kernel#Object#is_same_instance (var_mtype409,var_other190) on <var_mtype409:nullable MType(MType)> */
6369 var416
= var_mtype409
== var_other190
;
6372 RET_LABEL415
:(void)0;
6377 RET_LABEL413
:(void)0;
6382 goto BREAK_label417
;
6385 /* <var_mtype409:nullable MType(MType)> isa MClassType */
6386 cltype419
= type_nit__MClassType
.color
;
6387 idtype420
= type_nit__MClassType
.id
;
6388 if(cltype419
>= var_mtype409
->type
->table_size
) {
6391 var418
= var_mtype409
->type
->type_table
[cltype419
] == idtype420
;
6393 if (unlikely(!var418
)) {
6394 PRINT_ERROR("Runtime error: %s", "Assert failed");
6395 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 410);
6399 { /* Inline model#MClassType#mclass (var_mtype409) on <var_mtype409:nullable MType(MClassType)> */
6400 var423
= var_mtype409
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype409:nullable MType(MClassType)> */
6401 if (unlikely(var423
== NULL
)) {
6402 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6403 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
6407 RET_LABEL422
:(void)0;
6412 var425
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_parents
, var_sc
);
6420 { /* Inline kernel#Object#== (var_sc,var_objectclass) on <var_sc:MClass> */
6421 var_other190
= var_objectclass
;
6423 { /* Inline kernel#Object#is_same_instance (var_sc,var_other190) on <var_sc:MClass> */
6424 var432
= var_sc
== var_other190
;
6427 RET_LABEL431
:(void)0;
6432 RET_LABEL429
:(void)0;
6439 { /* Inline parser_nodes#ANode#location (var_ntype405) on <var_ntype405:AType> */
6440 var436
= var_ntype405
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <var_ntype405:AType> */
6441 if (unlikely(var436
== NULL
)) {
6442 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
6443 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 23);
6447 RET_LABEL435
:(void)0;
6451 { /* Inline location#Location#file (var434) on <var434:Location> */
6452 var439
= var434
->attrs
[COLOR_nit__location__Location___file
].val
; /* _file on <var434:Location> */
6454 RET_LABEL438
:(void)0;
6458 if (var437
== NULL
) {
6459 var441
= 0; /* is null */
6461 var441
= 1; /* arg is null and recv is not */
6464 { /* Inline kernel#Object#!= (var437,var440) on <var437:nullable SourceFile> */
6467 var444
= ((short int (*)(val
* self
, val
* p0
))(var437
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var437
, var_other
) /* == on <var437:nullable SourceFile(SourceFile)>*/;
6472 RET_LABEL443
:(void)0;
6479 { /* Inline parser_nodes#ANode#location (var_ntype405) on <var_ntype405:AType> */
6480 var449
= var_ntype405
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <var_ntype405:AType> */
6481 if (unlikely(var449
== NULL
)) {
6482 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
6483 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 23);
6487 RET_LABEL448
:(void)0;
6491 { /* Inline location#Location#file (var447) on <var447:Location> */
6492 var452
= var447
->attrs
[COLOR_nit__location__Location___file
].val
; /* _file on <var447:Location> */
6494 RET_LABEL451
:(void)0;
6497 if (var450
== NULL
) {
6498 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6499 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 414);
6502 { /* Inline location#SourceFile#filename (var450) on <var450:nullable SourceFile> */
6503 if (unlikely(var450
== NULL
)) {
6504 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6505 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location
, 22);
6508 var455
= var450
->attrs
[COLOR_nit__location__SourceFile___filename
].val
; /* _filename on <var450:nullable SourceFile> */
6509 if (unlikely(var455
== NULL
)) {
6510 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
6511 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location
, 22);
6515 RET_LABEL454
:(void)0;
6519 var456
= standard___standard__Text___is_empty(var453
);
6528 var459
= varonce458
;
6530 var460
= "useless-superclass";
6532 var462
= standard___standard__NativeString___to_s_with_length(var460
, var461
);
6534 varonce458
= var459
;
6537 var464
= varonce463
;
6539 var465
= "Warning: superfluous super-class ";
6541 var467
= standard___standard__NativeString___to_s_with_length(var465
, var466
);
6543 varonce463
= var464
;
6546 var469
= varonce468
;
6548 var470
= " in class ";
6550 var472
= standard___standard__NativeString___to_s_with_length(var470
, var471
);
6552 varonce468
= var469
;
6555 { /* Inline model#MClassDef#mclass (var_mclassdef369) on <var_mclassdef369:MClassDef> */
6556 var475
= var_mclassdef369
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef369:MClassDef> */
6557 if (unlikely(var475
== NULL
)) {
6558 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6559 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
6563 RET_LABEL474
:(void)0;
6567 var477
= varonce476
;
6571 var480
= standard___standard__NativeString___to_s_with_length(var478
, var479
);
6573 varonce476
= var477
;
6575 var481
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6576 { /* var481 = array_instance Array[Object] */
6578 var483
= NEW_standard__NativeArray(var482
, &type_standard__NativeArray__standard__Object
);
6579 ((struct instance_standard__NativeArray
*)var483
)->values
[0] = (val
*) var464
;
6580 ((struct instance_standard__NativeArray
*)var483
)->values
[1] = (val
*) var_mtype409
;
6581 ((struct instance_standard__NativeArray
*)var483
)->values
[2] = (val
*) var469
;
6582 ((struct instance_standard__NativeArray
*)var483
)->values
[3] = (val
*) var473
;
6583 ((struct instance_standard__NativeArray
*)var483
)->values
[4] = (val
*) var477
;
6585 ((void (*)(val
* self
, val
* p0
, long p1
))(var481
->class->vft
[COLOR_standard__array__Array__with_native
]))(var481
, var483
, var482
) /* with_native on <var481:Array[Object]>*/;
6589 var484
= ((val
* (*)(val
* self
))(var481
->class->vft
[COLOR_standard__string__Object__to_s
]))(var481
) /* to_s on <var481:Array[Object]>*/;
6592 nit___nit__ModelBuilder___warning(self
, var_ntype405
, var459
, var484
); /* Direct call modelbuilder_base#ModelBuilder#warning on <self:ModelBuilder>*/
6598 var485
= standard___standard__MapRead___has_key(var_seen_parents
, var_sc
);
6603 standard___standard__ArrayMap___standard__abstract_collection__Map___91d_93d_61d(var_seen_parents
, var_sc
, var_ntype405
); /* Direct call array#ArrayMap#[]= on <var_seen_parents:ArrayMap[MClass, AType]>*/
6607 var488
= varonce487
;
6609 var489
= "useless-superclass";
6611 var491
= standard___standard__NativeString___to_s_with_length(var489
, var490
);
6613 varonce487
= var488
;
6616 var493
= varonce492
;
6618 var494
= "Warning: duplicated super-class ";
6620 var496
= standard___standard__NativeString___to_s_with_length(var494
, var495
);
6622 varonce492
= var493
;
6625 var498
= varonce497
;
6627 var499
= " in class ";
6629 var501
= standard___standard__NativeString___to_s_with_length(var499
, var500
);
6631 varonce497
= var498
;
6634 { /* Inline model#MClassDef#mclass (var_mclassdef369) on <var_mclassdef369:MClassDef> */
6635 var504
= var_mclassdef369
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef369:MClassDef> */
6636 if (unlikely(var504
== NULL
)) {
6637 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6638 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
6642 RET_LABEL503
:(void)0;
6646 var506
= varonce505
;
6650 var509
= standard___standard__NativeString___to_s_with_length(var507
, var508
);
6652 varonce505
= var506
;
6654 var510
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6655 { /* var510 = array_instance Array[Object] */
6657 var512
= NEW_standard__NativeArray(var511
, &type_standard__NativeArray__standard__Object
);
6658 ((struct instance_standard__NativeArray
*)var512
)->values
[0] = (val
*) var493
;
6659 ((struct instance_standard__NativeArray
*)var512
)->values
[1] = (val
*) var_mtype409
;
6660 ((struct instance_standard__NativeArray
*)var512
)->values
[2] = (val
*) var498
;
6661 ((struct instance_standard__NativeArray
*)var512
)->values
[3] = (val
*) var502
;
6662 ((struct instance_standard__NativeArray
*)var512
)->values
[4] = (val
*) var506
;
6664 ((void (*)(val
* self
, val
* p0
, long p1
))(var510
->class->vft
[COLOR_standard__array__Array__with_native
]))(var510
, var512
, var511
) /* with_native on <var510:Array[Object]>*/;
6668 var513
= ((val
* (*)(val
* self
))(var510
->class->vft
[COLOR_standard__string__Object__to_s
]))(var510
) /* to_s on <var510:Array[Object]>*/;
6671 nit___nit__ModelBuilder___warning(self
, var_ntype405
, var488
, var513
); /* Direct call modelbuilder_base#ModelBuilder#warning on <self:ModelBuilder>*/
6675 BREAK_label417
: (void)0;
6677 ((void (*)(val
* self
))(var_398
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_398
) /* next on <var_398:Iterator[ASuperclass]>*/;
6680 goto BREAK_label514
;
6683 BREAK_label514
: (void)0;
6685 { /* Inline abstract_collection#Iterator#finish (var_398) on <var_398:Iterator[ASuperclass]> */
6686 RET_LABEL515
:(void)0;
6689 BREAK_label365
: (void)0;
6691 ((void (*)(val
* self
))(var_357
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_357
) /* next on <var_357:Iterator[AClassdef]>*/;
6694 goto BREAK_label516
;
6697 BREAK_label516
: (void)0;
6699 { /* Inline abstract_collection#Iterator#finish (var_357) on <var_357:Iterator[AClassdef]> */
6700 RET_LABEL517
:(void)0;
6705 /* method modelize_class#ModelBuilder#mclassdef2nclassdef for (self: ModelBuilder): HashMap[MClassDef, AClassdef] */
6706 val
* nit__modelize_class___ModelBuilder___mclassdef2nclassdef(val
* self
) {
6707 val
* var
/* : HashMap[MClassDef, AClassdef] */;
6708 val
* var1
/* : HashMap[MClassDef, AClassdef] */;
6709 var1
= self
->attrs
[COLOR_nit__modelize_class__ModelBuilder___mclassdef2nclassdef
].val
; /* _mclassdef2nclassdef on <self:ModelBuilder> */
6710 if (unlikely(var1
== NULL
)) {
6711 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef2nclassdef");
6712 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 426);
6719 /* method modelize_class#ModelBuilder#resolve_mtype_unchecked for (self: ModelBuilder, MModule, nullable MClassDef, AType, Bool): nullable MType */
6720 val
* nit__modelize_class___ModelBuilder___resolve_mtype_unchecked(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
) {
6721 val
* var
/* : nullable MType */;
6722 val
* var_mmodule
/* var mmodule: MModule */;
6723 val
* var_mclassdef
/* var mclassdef: nullable MClassDef */;
6724 val
* var_ntype
/* var ntype: AType */;
6725 short int var_with_virtual
/* var with_virtual: Bool */;
6726 val
* var1
/* : TClassid */;
6727 val
* var3
/* : TClassid */;
6728 val
* var4
/* : String */;
6729 val
* var_name
/* var name: String */;
6730 short int var5
/* : Bool */;
6731 val
* var6
/* : null */;
6732 short int var7
/* : Bool */;
6733 short int var8
/* : Bool */;
6734 val
* var_other
/* var other: nullable Object */;
6735 short int var10
/* : Bool */;
6736 short int var11
/* : Bool */;
6737 short int var_
/* var : Bool */;
6738 val
* var12
/* : nullable MProperty */;
6739 short int var13
/* : Bool */;
6742 const char* var_class_name
;
6743 val
* var_prop
/* var prop: nullable MVirtualTypeProp */;
6744 val
* var14
/* : null */;
6745 short int var15
/* : Bool */;
6746 short int var16
/* : Bool */;
6747 short int var18
/* : Bool */;
6748 short int var19
/* : Bool */;
6749 val
* var20
/* : ANodes[AType] */;
6750 val
* var22
/* : ANodes[AType] */;
6751 short int var23
/* : Bool */;
6752 short int var24
/* : Bool */;
6753 static val
* varonce
;
6754 val
* var25
/* : String */;
6755 char* var26
/* : NativeString */;
6756 long var27
/* : Int */;
6757 val
* var28
/* : FlatString */;
6758 static val
* varonce29
;
6759 val
* var30
/* : String */;
6760 char* var31
/* : NativeString */;
6761 long var32
/* : Int */;
6762 val
* var33
/* : FlatString */;
6763 val
* var34
/* : Array[Object] */;
6764 long var35
/* : Int */;
6765 val
* var36
/* : NativeArray[Object] */;
6766 val
* var37
/* : String */;
6767 val
* var38
/* : MVirtualType */;
6768 val
* var40
/* : MVirtualType */;
6769 val
* var_res
/* var res: MType */;
6770 val
* var41
/* : nullable TKwnullable */;
6771 val
* var43
/* : nullable TKwnullable */;
6772 val
* var44
/* : null */;
6773 short int var45
/* : Bool */;
6774 short int var46
/* : Bool */;
6775 short int var48
/* : Bool */;
6776 short int var49
/* : Bool */;
6777 val
* var50
/* : MType */;
6778 val
* var52
/* : null */;
6779 short int var53
/* : Bool */;
6780 short int var54
/* : Bool */;
6781 short int var56
/* : Bool */;
6782 short int var57
/* : Bool */;
6783 val
* var58
/* : MClass */;
6784 val
* var60
/* : MClass */;
6785 val
* var61
/* : Array[MParameterType] */;
6786 val
* var63
/* : Array[MParameterType] */;
6787 val
* var_64
/* var : Array[MParameterType] */;
6788 val
* var65
/* : ArrayIterator[nullable Object] */;
6789 val
* var_66
/* var : ArrayIterator[MParameterType] */;
6790 short int var67
/* : Bool */;
6791 val
* var68
/* : nullable Object */;
6792 val
* var_p
/* var p: MParameterType */;
6793 val
* var69
/* : String */;
6794 val
* var71
/* : String */;
6795 short int var72
/* : Bool */;
6796 short int var74
/* : Bool */;
6797 short int var75
/* : Bool */;
6798 val
* var76
/* : ANodes[AType] */;
6799 val
* var78
/* : ANodes[AType] */;
6800 short int var79
/* : Bool */;
6801 short int var80
/* : Bool */;
6802 static val
* varonce81
;
6803 val
* var82
/* : String */;
6804 char* var83
/* : NativeString */;
6805 long var84
/* : Int */;
6806 val
* var85
/* : FlatString */;
6807 static val
* varonce86
;
6808 val
* var87
/* : String */;
6809 char* var88
/* : NativeString */;
6810 long var89
/* : Int */;
6811 val
* var90
/* : FlatString */;
6812 val
* var91
/* : Array[Object] */;
6813 long var92
/* : Int */;
6814 val
* var93
/* : NativeArray[Object] */;
6815 val
* var94
/* : String */;
6816 val
* var95
/* : nullable TKwnullable */;
6817 val
* var97
/* : nullable TKwnullable */;
6818 val
* var98
/* : null */;
6819 short int var99
/* : Bool */;
6820 short int var100
/* : Bool */;
6821 short int var102
/* : Bool */;
6822 short int var103
/* : Bool */;
6823 val
* var104
/* : MType */;
6824 val
* var108
/* : nullable MClass */;
6825 val
* var_mclass
/* var mclass: nullable MClass */;
6826 val
* var109
/* : null */;
6827 short int var110
/* : Bool */;
6828 short int var111
/* : Bool */;
6829 short int var113
/* : Bool */;
6830 short int var114
/* : Bool */;
6831 val
* var115
/* : ANodes[AType] */;
6832 val
* var117
/* : ANodes[AType] */;
6833 long var118
/* : Int */;
6834 long var_arity
/* var arity: Int */;
6835 long var119
/* : Int */;
6836 long var121
/* : Int */;
6837 short int var122
/* : Bool */;
6838 short int var124
/* : Bool */;
6839 short int var125
/* : Bool */;
6840 long var126
/* : Int */;
6841 short int var127
/* : Bool */;
6842 short int var129
/* : Bool */;
6843 static val
* varonce130
;
6844 val
* var131
/* : String */;
6845 char* var132
/* : NativeString */;
6846 long var133
/* : Int */;
6847 val
* var134
/* : FlatString */;
6848 static val
* varonce135
;
6849 val
* var136
/* : String */;
6850 char* var137
/* : NativeString */;
6851 long var138
/* : Int */;
6852 val
* var139
/* : FlatString */;
6853 val
* var140
/* : Array[Object] */;
6854 long var141
/* : Int */;
6855 val
* var142
/* : NativeArray[Object] */;
6856 val
* var143
/* : String */;
6857 long var144
/* : Int */;
6858 long var146
/* : Int */;
6859 long var147
/* : Int */;
6860 short int var148
/* : Bool */;
6861 short int var150
/* : Bool */;
6862 static val
* varonce151
;
6863 val
* var152
/* : String */;
6864 char* var153
/* : NativeString */;
6865 long var154
/* : Int */;
6866 val
* var155
/* : FlatString */;
6867 static val
* varonce156
;
6868 val
* var157
/* : String */;
6869 char* var158
/* : NativeString */;
6870 long var159
/* : Int */;
6871 val
* var160
/* : FlatString */;
6872 val
* var161
/* : Array[Object] */;
6873 long var162
/* : Int */;
6874 val
* var163
/* : NativeArray[Object] */;
6875 val
* var164
/* : String */;
6876 static val
* varonce165
;
6877 val
* var166
/* : String */;
6878 char* var167
/* : NativeString */;
6879 long var168
/* : Int */;
6880 val
* var169
/* : FlatString */;
6881 static val
* varonce170
;
6882 val
* var171
/* : String */;
6883 char* var172
/* : NativeString */;
6884 long var173
/* : Int */;
6885 val
* var174
/* : FlatString */;
6886 long var175
/* : Int */;
6887 long var177
/* : Int */;
6888 static val
* varonce178
;
6889 val
* var179
/* : String */;
6890 char* var180
/* : NativeString */;
6891 long var181
/* : Int */;
6892 val
* var182
/* : FlatString */;
6893 static val
* varonce183
;
6894 val
* var184
/* : String */;
6895 char* var185
/* : NativeString */;
6896 long var186
/* : Int */;
6897 val
* var187
/* : FlatString */;
6898 val
* var188
/* : Array[Object] */;
6899 long var189
/* : Int */;
6900 val
* var190
/* : NativeArray[Object] */;
6901 val
* var191
/* : Object */;
6902 val
* var192
/* : Object */;
6903 val
* var193
/* : String */;
6904 val
* var194
/* : null */;
6905 long var195
/* : Int */;
6906 short int var196
/* : Bool */;
6907 short int var198
/* : Bool */;
6908 val
* var199
/* : MClassType */;
6909 val
* var201
/* : MClassType */;
6910 val
* var202
/* : nullable TKwnullable */;
6911 val
* var204
/* : nullable TKwnullable */;
6912 val
* var205
/* : null */;
6913 short int var206
/* : Bool */;
6914 short int var207
/* : Bool */;
6915 short int var209
/* : Bool */;
6916 short int var210
/* : Bool */;
6917 val
* var211
/* : MType */;
6918 val
* var213
/* : Array[MType] */;
6919 val
* var_mtypes
/* var mtypes: Array[MType] */;
6920 val
* var214
/* : ANodes[AType] */;
6921 val
* var216
/* : ANodes[AType] */;
6922 val
* var_217
/* var : ANodes[AType] */;
6923 val
* var218
/* : Iterator[ANode] */;
6924 val
* var_219
/* var : Iterator[AType] */;
6925 short int var220
/* : Bool */;
6926 val
* var221
/* : nullable Object */;
6927 val
* var_nt
/* var nt: AType */;
6928 val
* var222
/* : nullable MType */;
6929 val
* var_mt
/* var mt: nullable MType */;
6930 val
* var223
/* : null */;
6931 short int var224
/* : Bool */;
6932 short int var225
/* : Bool */;
6933 val
* var_other227
/* var other: nullable Object */;
6934 short int var228
/* : Bool */;
6935 short int var230
/* : Bool */;
6936 val
* var231
/* : null */;
6937 val
* var234
/* : MClassType */;
6938 val
* var235
/* : nullable TKwnullable */;
6939 val
* var237
/* : nullable TKwnullable */;
6940 val
* var238
/* : null */;
6941 short int var239
/* : Bool */;
6942 short int var240
/* : Bool */;
6943 short int var242
/* : Bool */;
6944 short int var243
/* : Bool */;
6945 val
* var244
/* : MType */;
6946 static val
* varonce246
;
6947 val
* var247
/* : String */;
6948 char* var248
/* : NativeString */;
6949 long var249
/* : Int */;
6950 val
* var250
/* : FlatString */;
6951 static val
* varonce251
;
6952 val
* var252
/* : String */;
6953 char* var253
/* : NativeString */;
6954 long var254
/* : Int */;
6955 val
* var255
/* : FlatString */;
6956 static val
* varonce256
;
6957 val
* var257
/* : String */;
6958 char* var258
/* : NativeString */;
6959 long var259
/* : Int */;
6960 val
* var260
/* : FlatString */;
6961 val
* var261
/* : Array[Object] */;
6962 long var262
/* : Int */;
6963 val
* var263
/* : NativeArray[Object] */;
6964 val
* var264
/* : String */;
6965 val
* var265
/* : null */;
6969 var_with_virtual
= p3
;
6971 { /* Inline parser_nodes#AType#n_id (var_ntype) on <var_ntype:AType> */
6972 var3
= var_ntype
->attrs
[COLOR_nit__parser_nodes__AType___n_id
].val
; /* _n_id on <var_ntype:AType> */
6973 if (unlikely(var3
== NULL
)) {
6974 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
6975 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1536);
6983 var4
= nit__lexer_work___Token___text(var1
);
6987 if (var_mclassdef
== NULL
) {
6988 var7
= 0; /* is null */
6990 var7
= 1; /* arg is null and recv is not */
6993 { /* Inline kernel#Object#!= (var_mclassdef,var6) on <var_mclassdef:nullable MClassDef> */
6996 var10
= ((short int (*)(val
* self
, val
* p0
))(var_mclassdef
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mclassdef
, var_other
) /* == on <var_mclassdef:nullable MClassDef(MClassDef)>*/;
7007 var5
= var_with_virtual
;
7013 var12
= nit___nit__ModelBuilder___try_get_mproperty_by_name(self
, var_ntype
, var_mclassdef
, var_name
);
7015 /* <var12:nullable MProperty> isa nullable MVirtualTypeProp */
7016 cltype
= type_nullable__nit__MVirtualTypeProp
.color
;
7017 idtype
= type_nullable__nit__MVirtualTypeProp
.id
;
7021 if(cltype
>= var12
->type
->table_size
) {
7024 var13
= var12
->type
->type_table
[cltype
] == idtype
;
7027 if (unlikely(!var13
)) {
7028 var_class_name
= var12
== NULL ?
"null" : var12
->type
->name
;
7029 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MVirtualTypeProp", var_class_name
);
7030 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 440);
7035 if (var_prop
== NULL
) {
7036 var15
= 0; /* is null */
7038 var15
= 1; /* arg is null and recv is not */
7041 { /* Inline kernel#Object#!= (var_prop,var14) on <var_prop:nullable MVirtualTypeProp> */
7044 var18
= ((short int (*)(val
* self
, val
* p0
))(var_prop
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_prop
, var_other
) /* == on <var_prop:nullable MVirtualTypeProp(MVirtualTypeProp)>*/;
7049 RET_LABEL17
:(void)0;
7055 { /* Inline parser_nodes#AType#n_types (var_ntype) on <var_ntype:AType> */
7056 var22
= var_ntype
->attrs
[COLOR_nit__parser_nodes__AType___n_types
].val
; /* _n_types on <var_ntype:AType> */
7057 if (unlikely(var22
== NULL
)) {
7058 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types");
7059 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1539);
7063 RET_LABEL21
:(void)0;
7067 var23
= nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var20
);
7074 var26
= "Type error: formal type ";
7076 var28
= standard___standard__NativeString___to_s_with_length(var26
, var27
);
7083 var31
= " cannot have formal parameters.";
7085 var33
= standard___standard__NativeString___to_s_with_length(var31
, var32
);
7089 var34
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7090 { /* var34 = array_instance Array[Object] */
7092 var36
= NEW_standard__NativeArray(var35
, &type_standard__NativeArray__standard__Object
);
7093 ((struct instance_standard__NativeArray
*)var36
)->values
[0] = (val
*) var25
;
7094 ((struct instance_standard__NativeArray
*)var36
)->values
[1] = (val
*) var_name
;
7095 ((struct instance_standard__NativeArray
*)var36
)->values
[2] = (val
*) var30
;
7097 ((void (*)(val
* self
, val
* p0
, long p1
))(var34
->class->vft
[COLOR_standard__array__Array__with_native
]))(var34
, var36
, var35
) /* with_native on <var34:Array[Object]>*/;
7101 var37
= ((val
* (*)(val
* self
))(var34
->class->vft
[COLOR_standard__string__Object__to_s
]))(var34
) /* to_s on <var34:Array[Object]>*/;
7104 nit___nit__ModelBuilder___error(self
, var_ntype
, var37
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
7109 { /* Inline model#MVirtualTypeProp#mvirtualtype (var_prop) on <var_prop:nullable MVirtualTypeProp(MVirtualTypeProp)> */
7110 var40
= var_prop
->attrs
[COLOR_nit__model__MVirtualTypeProp___mvirtualtype
].val
; /* _mvirtualtype on <var_prop:nullable MVirtualTypeProp(MVirtualTypeProp)> */
7111 if (unlikely(var40
== NULL
)) {
7112 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mvirtualtype");
7113 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1992);
7117 RET_LABEL39
:(void)0;
7122 { /* Inline parser_nodes#AType#n_kwnullable (var_ntype) on <var_ntype:AType> */
7123 var43
= var_ntype
->attrs
[COLOR_nit__parser_nodes__AType___n_kwnullable
].val
; /* _n_kwnullable on <var_ntype:AType> */
7125 RET_LABEL42
:(void)0;
7129 if (var41
== NULL
) {
7130 var45
= 0; /* is null */
7132 var45
= 1; /* arg is null and recv is not */
7135 { /* Inline kernel#Object#!= (var41,var44) on <var41:nullable TKwnullable> */
7138 var48
= ((short int (*)(val
* self
, val
* p0
))(var41
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var41
, var_other
) /* == on <var41:nullable TKwnullable(TKwnullable)>*/;
7143 RET_LABEL47
:(void)0;
7149 var50
= nit___nit__MType___as_nullable(var_res
);
7155 { /* Inline modelize_class#AType#mtype= (var_ntype,var_res) on <var_ntype:AType> */
7156 var_ntype
->attrs
[COLOR_nit__modelize_class__AType___mtype
].val
= var_res
; /* _mtype on <var_ntype:AType> */
7157 RET_LABEL51
:(void)0;
7167 if (var_mclassdef
== NULL
) {
7168 var53
= 0; /* is null */
7170 var53
= 1; /* arg is null and recv is not */
7173 { /* Inline kernel#Object#!= (var_mclassdef,var52) on <var_mclassdef:nullable MClassDef> */
7176 var56
= ((short int (*)(val
* self
, val
* p0
))(var_mclassdef
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mclassdef
, var_other
) /* == on <var_mclassdef:nullable MClassDef(MClassDef)>*/;
7181 RET_LABEL55
:(void)0;
7187 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
7188 var60
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:nullable MClassDef(MClassDef)> */
7189 if (unlikely(var60
== NULL
)) {
7190 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7191 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
7195 RET_LABEL59
:(void)0;
7199 { /* Inline model#MClass#mparameters (var58) on <var58:MClass> */
7200 var63
= var58
->attrs
[COLOR_nit__model__MClass___mparameters
].val
; /* _mparameters on <var58:MClass> */
7201 if (unlikely(var63
== NULL
)) {
7202 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
7203 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 368);
7207 RET_LABEL62
:(void)0;
7212 var65
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_64
);
7217 var67
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_66
);
7221 var68
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_66
);
7225 { /* Inline model#MParameterType#name (var_p) on <var_p:MParameterType> */
7226 var71
= var_p
->attrs
[COLOR_nit__model__MParameterType___name
].val
; /* _name on <var_p:MParameterType> */
7227 if (unlikely(var71
== NULL
)) {
7228 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
7229 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1391);
7233 RET_LABEL70
:(void)0;
7237 { /* Inline kernel#Object#!= (var69,var_name) on <var69:String> */
7238 var_other
= var_name
;
7240 var74
= ((short int (*)(val
* self
, val
* p0
))(var69
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var69
, var_other
) /* == on <var69:String>*/;
7245 RET_LABEL73
:(void)0;
7253 { /* Inline parser_nodes#AType#n_types (var_ntype) on <var_ntype:AType> */
7254 var78
= var_ntype
->attrs
[COLOR_nit__parser_nodes__AType___n_types
].val
; /* _n_types on <var_ntype:AType> */
7255 if (unlikely(var78
== NULL
)) {
7256 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types");
7257 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1539);
7261 RET_LABEL77
:(void)0;
7265 var79
= nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var76
);
7272 var83
= "Type error: formal type ";
7274 var85
= standard___standard__NativeString___to_s_with_length(var83
, var84
);
7281 var88
= " cannot have formal parameters.";
7283 var90
= standard___standard__NativeString___to_s_with_length(var88
, var89
);
7287 var91
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7288 { /* var91 = array_instance Array[Object] */
7290 var93
= NEW_standard__NativeArray(var92
, &type_standard__NativeArray__standard__Object
);
7291 ((struct instance_standard__NativeArray
*)var93
)->values
[0] = (val
*) var82
;
7292 ((struct instance_standard__NativeArray
*)var93
)->values
[1] = (val
*) var_name
;
7293 ((struct instance_standard__NativeArray
*)var93
)->values
[2] = (val
*) var87
;
7295 ((void (*)(val
* self
, val
* p0
, long p1
))(var91
->class->vft
[COLOR_standard__array__Array__with_native
]))(var91
, var93
, var92
) /* with_native on <var91:Array[Object]>*/;
7299 var94
= ((val
* (*)(val
* self
))(var91
->class->vft
[COLOR_standard__string__Object__to_s
]))(var91
) /* to_s on <var91:Array[Object]>*/;
7302 nit___nit__ModelBuilder___error(self
, var_ntype
, var94
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
7308 { /* Inline parser_nodes#AType#n_kwnullable (var_ntype) on <var_ntype:AType> */
7309 var97
= var_ntype
->attrs
[COLOR_nit__parser_nodes__AType___n_kwnullable
].val
; /* _n_kwnullable on <var_ntype:AType> */
7311 RET_LABEL96
:(void)0;
7315 if (var95
== NULL
) {
7316 var99
= 0; /* is null */
7318 var99
= 1; /* arg is null and recv is not */
7321 { /* Inline kernel#Object#!= (var95,var98) on <var95:nullable TKwnullable> */
7324 var102
= ((short int (*)(val
* self
, val
* p0
))(var95
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var95
, var_other
) /* == on <var95:nullable TKwnullable(TKwnullable)>*/;
7329 RET_LABEL101
:(void)0;
7335 var104
= nit___nit__MType___as_nullable(var_res
);
7341 { /* Inline modelize_class#AType#mtype= (var_ntype,var_res) on <var_ntype:AType> */
7342 var_ntype
->attrs
[COLOR_nit__modelize_class__AType___mtype
].val
= var_res
; /* _mtype on <var_ntype:AType> */
7343 RET_LABEL105
:(void)0;
7348 BREAK_label
: (void)0;
7350 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_66
); /* Direct call array#ArrayIterator#next on <var_66:ArrayIterator[MParameterType]>*/
7353 goto BREAK_label106
;
7356 BREAK_label106
: (void)0;
7358 { /* Inline abstract_collection#Iterator#finish (var_66) on <var_66:ArrayIterator[MParameterType]> */
7359 RET_LABEL107
:(void)0;
7365 var108
= nit___nit__ModelBuilder___try_get_mclass_by_name(self
, var_ntype
, var_mmodule
, var_name
);
7367 var_mclass
= var108
;
7369 if (var_mclass
== NULL
) {
7370 var110
= 0; /* is null */
7372 var110
= 1; /* arg is null and recv is not */
7375 { /* Inline kernel#Object#!= (var_mclass,var109) on <var_mclass:nullable MClass> */
7378 var113
= ((short int (*)(val
* self
, val
* p0
))(var_mclass
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mclass
, var_other
) /* == on <var_mclass:nullable MClass(MClass)>*/;
7383 RET_LABEL112
:(void)0;
7389 { /* Inline parser_nodes#AType#n_types (var_ntype) on <var_ntype:AType> */
7390 var117
= var_ntype
->attrs
[COLOR_nit__parser_nodes__AType___n_types
].val
; /* _n_types on <var_ntype:AType> */
7391 if (unlikely(var117
== NULL
)) {
7392 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types");
7393 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1539);
7397 RET_LABEL116
:(void)0;
7401 var118
= nit___nit__ANodes___standard__abstract_collection__Collection__length(var115
);
7405 { /* Inline model#MClass#arity (var_mclass) on <var_mclass:nullable MClass(MClass)> */
7406 var121
= var_mclass
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <var_mclass:nullable MClass(MClass)> */
7408 RET_LABEL120
:(void)0;
7412 { /* Inline kernel#Int#!= (var_arity,var119) on <var_arity:Int> */
7413 var124
= var_arity
== var119
;
7417 RET_LABEL123
:(void)0;
7423 { /* Inline kernel#Int#== (var_arity,var126) on <var_arity:Int> */
7424 var129
= var_arity
== var126
;
7427 RET_LABEL128
:(void)0;
7432 var131
= varonce130
;
7434 var132
= "Type error: \'";
7436 var134
= standard___standard__NativeString___to_s_with_length(var132
, var133
);
7438 varonce130
= var131
;
7441 var136
= varonce135
;
7443 var137
= "\' is a generic class.";
7445 var139
= standard___standard__NativeString___to_s_with_length(var137
, var138
);
7447 varonce135
= var136
;
7449 var140
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7450 { /* var140 = array_instance Array[Object] */
7452 var142
= NEW_standard__NativeArray(var141
, &type_standard__NativeArray__standard__Object
);
7453 ((struct instance_standard__NativeArray
*)var142
)->values
[0] = (val
*) var131
;
7454 ((struct instance_standard__NativeArray
*)var142
)->values
[1] = (val
*) var_name
;
7455 ((struct instance_standard__NativeArray
*)var142
)->values
[2] = (val
*) var136
;
7457 ((void (*)(val
* self
, val
* p0
, long p1
))(var140
->class->vft
[COLOR_standard__array__Array__with_native
]))(var140
, var142
, var141
) /* with_native on <var140:Array[Object]>*/;
7461 var143
= ((val
* (*)(val
* self
))(var140
->class->vft
[COLOR_standard__string__Object__to_s
]))(var140
) /* to_s on <var140:Array[Object]>*/;
7464 nit___nit__ModelBuilder___error(self
, var_ntype
, var143
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
7468 { /* Inline model#MClass#arity (var_mclass) on <var_mclass:nullable MClass(MClass)> */
7469 var146
= var_mclass
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <var_mclass:nullable MClass(MClass)> */
7471 RET_LABEL145
:(void)0;
7476 { /* Inline kernel#Int#== (var144,var147) on <var144:Int> */
7477 var150
= var144
== var147
;
7480 RET_LABEL149
:(void)0;
7485 var152
= varonce151
;
7487 var153
= "Type error: \'";
7489 var155
= standard___standard__NativeString___to_s_with_length(var153
, var154
);
7491 varonce151
= var152
;
7494 var157
= varonce156
;
7496 var158
= "\' is not a generic class.";
7498 var160
= standard___standard__NativeString___to_s_with_length(var158
, var159
);
7500 varonce156
= var157
;
7502 var161
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7503 { /* var161 = array_instance Array[Object] */
7505 var163
= NEW_standard__NativeArray(var162
, &type_standard__NativeArray__standard__Object
);
7506 ((struct instance_standard__NativeArray
*)var163
)->values
[0] = (val
*) var152
;
7507 ((struct instance_standard__NativeArray
*)var163
)->values
[1] = (val
*) var_name
;
7508 ((struct instance_standard__NativeArray
*)var163
)->values
[2] = (val
*) var157
;
7510 ((void (*)(val
* self
, val
* p0
, long p1
))(var161
->class->vft
[COLOR_standard__array__Array__with_native
]))(var161
, var163
, var162
) /* with_native on <var161:Array[Object]>*/;
7514 var164
= ((val
* (*)(val
* self
))(var161
->class->vft
[COLOR_standard__string__Object__to_s
]))(var161
) /* to_s on <var161:Array[Object]>*/;
7517 nit___nit__ModelBuilder___error(self
, var_ntype
, var164
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
7521 var166
= varonce165
;
7523 var167
= "Type error: \'";
7525 var169
= standard___standard__NativeString___to_s_with_length(var167
, var168
);
7527 varonce165
= var166
;
7530 var171
= varonce170
;
7534 var174
= standard___standard__NativeString___to_s_with_length(var172
, var173
);
7536 varonce170
= var171
;
7539 { /* Inline model#MClass#arity (var_mclass) on <var_mclass:nullable MClass(MClass)> */
7540 var177
= var_mclass
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <var_mclass:nullable MClass(MClass)> */
7542 RET_LABEL176
:(void)0;
7546 var179
= varonce178
;
7548 var180
= " parameters (";
7550 var182
= standard___standard__NativeString___to_s_with_length(var180
, var181
);
7552 varonce178
= var179
;
7555 var184
= varonce183
;
7557 var185
= " are provided).";
7559 var187
= standard___standard__NativeString___to_s_with_length(var185
, var186
);
7561 varonce183
= var184
;
7563 var188
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7564 { /* var188 = array_instance Array[Object] */
7566 var190
= NEW_standard__NativeArray(var189
, &type_standard__NativeArray__standard__Object
);
7567 ((struct instance_standard__NativeArray
*)var190
)->values
[0] = (val
*) var166
;
7568 ((struct instance_standard__NativeArray
*)var190
)->values
[1] = (val
*) var_name
;
7569 ((struct instance_standard__NativeArray
*)var190
)->values
[2] = (val
*) var171
;
7570 var191
= BOX_standard__Int(var175
); /* autobox from Int to Object */
7571 ((struct instance_standard__NativeArray
*)var190
)->values
[3] = (val
*) var191
;
7572 ((struct instance_standard__NativeArray
*)var190
)->values
[4] = (val
*) var179
;
7573 var192
= BOX_standard__Int(var_arity
); /* autobox from Int to Object */
7574 ((struct instance_standard__NativeArray
*)var190
)->values
[5] = (val
*) var192
;
7575 ((struct instance_standard__NativeArray
*)var190
)->values
[6] = (val
*) var184
;
7577 ((void (*)(val
* self
, val
* p0
, long p1
))(var188
->class->vft
[COLOR_standard__array__Array__with_native
]))(var188
, var190
, var189
) /* with_native on <var188:Array[Object]>*/;
7581 var193
= ((val
* (*)(val
* self
))(var188
->class->vft
[COLOR_standard__string__Object__to_s
]))(var188
) /* to_s on <var188:Array[Object]>*/;
7584 nit___nit__ModelBuilder___error(self
, var_ntype
, var193
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
7595 { /* Inline kernel#Int#== (var_arity,var195) on <var_arity:Int> */
7596 var198
= var_arity
== var195
;
7599 RET_LABEL197
:(void)0;
7604 { /* Inline model#MClass#mclass_type (var_mclass) on <var_mclass:nullable MClass(MClass)> */
7605 var201
= var_mclass
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_mclass:nullable MClass(MClass)> */
7606 if (unlikely(var201
== NULL
)) {
7607 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
7608 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
7612 RET_LABEL200
:(void)0;
7617 { /* Inline parser_nodes#AType#n_kwnullable (var_ntype) on <var_ntype:AType> */
7618 var204
= var_ntype
->attrs
[COLOR_nit__parser_nodes__AType___n_kwnullable
].val
; /* _n_kwnullable on <var_ntype:AType> */
7620 RET_LABEL203
:(void)0;
7624 if (var202
== NULL
) {
7625 var206
= 0; /* is null */
7627 var206
= 1; /* arg is null and recv is not */
7630 { /* Inline kernel#Object#!= (var202,var205) on <var202:nullable TKwnullable> */
7633 var209
= ((short int (*)(val
* self
, val
* p0
))(var202
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var202
, var_other
) /* == on <var202:nullable TKwnullable(TKwnullable)>*/;
7638 RET_LABEL208
:(void)0;
7644 var211
= nit___nit__MType___as_nullable(var_res
);
7650 { /* Inline modelize_class#AType#mtype= (var_ntype,var_res) on <var_ntype:AType> */
7651 var_ntype
->attrs
[COLOR_nit__modelize_class__AType___mtype
].val
= var_res
; /* _mtype on <var_ntype:AType> */
7652 RET_LABEL212
:(void)0;
7658 var213
= NEW_standard__Array(&type_standard__Array__nit__MType
);
7660 standard___standard__Array___standard__kernel__Object__init(var213
); /* Direct call array#Array#init on <var213:Array[MType]>*/
7662 var_mtypes
= var213
;
7664 { /* Inline parser_nodes#AType#n_types (var_ntype) on <var_ntype:AType> */
7665 var216
= var_ntype
->attrs
[COLOR_nit__parser_nodes__AType___n_types
].val
; /* _n_types on <var_ntype:AType> */
7666 if (unlikely(var216
== NULL
)) {
7667 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types");
7668 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1539);
7672 RET_LABEL215
:(void)0;
7677 var218
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_217
);
7682 var220
= ((short int (*)(val
* self
))(var_219
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_219
) /* is_ok on <var_219:Iterator[AType]>*/;
7686 var221
= ((val
* (*)(val
* self
))(var_219
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_219
) /* item on <var_219:Iterator[AType]>*/;
7690 var222
= nit__modelize_class___ModelBuilder___resolve_mtype_unchecked(self
, var_mmodule
, var_mclassdef
, var_nt
, var_with_virtual
);
7694 if (var_mt
== NULL
) {
7695 var224
= 1; /* is null */
7697 var224
= 0; /* arg is null but recv is not */
7700 { /* Inline kernel#Object#== (var_mt,var223) on <var_mt:nullable MType> */
7701 var_other227
= var223
;
7703 { /* Inline kernel#Object#is_same_instance (var_mt,var_other227) on <var_mt:nullable MType(MType)> */
7704 var230
= var_mt
== var_other227
;
7707 RET_LABEL229
:(void)0;
7712 RET_LABEL226
:(void)0;
7723 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_mtypes
, var_mt
); /* Direct call array#Array#add on <var_mtypes:Array[MType]>*/
7726 ((void (*)(val
* self
))(var_219
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_219
) /* next on <var_219:Iterator[AType]>*/;
7729 goto BREAK_label232
;
7732 BREAK_label232
: (void)0;
7734 { /* Inline abstract_collection#Iterator#finish (var_219) on <var_219:Iterator[AType]> */
7735 RET_LABEL233
:(void)0;
7739 var234
= nit___nit__MClass___get_mtype(var_mclass
, var_mtypes
);
7743 { /* Inline parser_nodes#AType#n_kwnullable (var_ntype) on <var_ntype:AType> */
7744 var237
= var_ntype
->attrs
[COLOR_nit__parser_nodes__AType___n_kwnullable
].val
; /* _n_kwnullable on <var_ntype:AType> */
7746 RET_LABEL236
:(void)0;
7750 if (var235
== NULL
) {
7751 var239
= 0; /* is null */
7753 var239
= 1; /* arg is null and recv is not */
7756 { /* Inline kernel#Object#!= (var235,var238) on <var235:nullable TKwnullable> */
7759 var242
= ((short int (*)(val
* self
, val
* p0
))(var235
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var235
, var_other
) /* == on <var235:nullable TKwnullable(TKwnullable)>*/;
7764 RET_LABEL241
:(void)0;
7770 var244
= nit___nit__MType___as_nullable(var_res
);
7776 { /* Inline modelize_class#AType#mtype= (var_ntype,var_res) on <var_ntype:AType> */
7777 var_ntype
->attrs
[COLOR_nit__modelize_class__AType___mtype
].val
= var_res
; /* _mtype on <var_ntype:AType> */
7778 RET_LABEL245
:(void)0;
7787 var247
= varonce246
;
7789 var248
= "Type error: class ";
7791 var250
= standard___standard__NativeString___to_s_with_length(var248
, var249
);
7793 varonce246
= var247
;
7796 var252
= varonce251
;
7798 var253
= " not found in module ";
7800 var255
= standard___standard__NativeString___to_s_with_length(var253
, var254
);
7802 varonce251
= var252
;
7805 var257
= varonce256
;
7809 var260
= standard___standard__NativeString___to_s_with_length(var258
, var259
);
7811 varonce256
= var257
;
7813 var261
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7814 { /* var261 = array_instance Array[Object] */
7816 var263
= NEW_standard__NativeArray(var262
, &type_standard__NativeArray__standard__Object
);
7817 ((struct instance_standard__NativeArray
*)var263
)->values
[0] = (val
*) var247
;
7818 ((struct instance_standard__NativeArray
*)var263
)->values
[1] = (val
*) var_name
;
7819 ((struct instance_standard__NativeArray
*)var263
)->values
[2] = (val
*) var252
;
7820 ((struct instance_standard__NativeArray
*)var263
)->values
[3] = (val
*) var_mmodule
;
7821 ((struct instance_standard__NativeArray
*)var263
)->values
[4] = (val
*) var257
;
7823 ((void (*)(val
* self
, val
* p0
, long p1
))(var261
->class->vft
[COLOR_standard__array__Array__with_native
]))(var261
, var263
, var262
) /* with_native on <var261:Array[Object]>*/;
7827 var264
= ((val
* (*)(val
* self
))(var261
->class->vft
[COLOR_standard__string__Object__to_s
]))(var261
) /* to_s on <var261:Array[Object]>*/;
7830 nit___nit__ModelBuilder___error(self
, var_ntype
, var264
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
7838 /* method modelize_class#ModelBuilder#resolve_mtype for (self: ModelBuilder, MModule, nullable MClassDef, AType): nullable MType */
7839 val
* nit__modelize_class___ModelBuilder___resolve_mtype(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7840 val
* var
/* : nullable MType */;
7841 val
* var_mmodule
/* var mmodule: MModule */;
7842 val
* var_mclassdef
/* var mclassdef: nullable MClassDef */;
7843 val
* var_ntype
/* var ntype: AType */;
7844 val
* var1
/* : nullable MType */;
7845 val
* var3
/* : nullable MType */;
7846 val
* var_mtype
/* var mtype: nullable MType */;
7847 val
* var4
/* : null */;
7848 short int var5
/* : Bool */;
7849 short int var6
/* : Bool */;
7850 val
* var_other
/* var other: nullable Object */;
7851 short int var8
/* : Bool */;
7852 short int var10
/* : Bool */;
7853 short int var11
/* : Bool */;
7854 val
* var12
/* : nullable MType */;
7855 val
* var13
/* : null */;
7856 short int var14
/* : Bool */;
7857 short int var15
/* : Bool */;
7858 short int var17
/* : Bool */;
7859 short int var19
/* : Bool */;
7860 val
* var20
/* : null */;
7861 short int var21
/* : Bool */;
7862 short int var23
/* : Bool */;
7863 short int var24
/* : Bool */;
7866 val
* var25
/* : MClass */;
7867 val
* var27
/* : MClass */;
7868 val
* var_mclass
/* var mclass: MClass */;
7869 long var28
/* : Int */;
7870 long var_i
/* var i: Int */;
7871 long var29
/* : Int */;
7872 long var31
/* : Int */;
7873 long var_
/* var : Int */;
7874 short int var32
/* : Bool */;
7875 short int var34
/* : Bool */;
7878 const char* var_class_name
;
7879 short int var37
/* : Bool */;
7880 val
* var38
/* : MClassDef */;
7881 val
* var40
/* : MClassDef */;
7882 val
* var41
/* : MClassType */;
7883 val
* var43
/* : MClassType */;
7884 val
* var44
/* : Array[MType] */;
7885 val
* var45
/* : nullable Object */;
7886 val
* var_bound
/* var bound: MType */;
7887 val
* var46
/* : ANodes[AType] */;
7888 val
* var48
/* : ANodes[AType] */;
7889 val
* var49
/* : ANode */;
7890 val
* var_nt
/* var nt: AType */;
7891 val
* var50
/* : nullable MType */;
7892 val
* var_mt
/* var mt: nullable MType */;
7893 val
* var51
/* : null */;
7894 short int var52
/* : Bool */;
7895 short int var53
/* : Bool */;
7896 short int var55
/* : Bool */;
7897 short int var57
/* : Bool */;
7898 val
* var58
/* : null */;
7899 val
* var59
/* : null */;
7900 short int var60
/* : Bool */;
7901 short int var61
/* : Bool */;
7902 val
* var_other63
/* var other: nullable Object */;
7903 short int var64
/* : Bool */;
7904 short int var65
/* : Bool */;
7905 val
* var66
/* : MClassType */;
7906 val
* var68
/* : MClassType */;
7907 val
* var_anchor
/* var anchor: nullable Object */;
7908 val
* var69
/* : null */;
7909 short int var70
/* : Bool */;
7910 short int var71
/* : Bool */;
7911 static val
* varonce
;
7912 val
* var72
/* : String */;
7913 char* var73
/* : NativeString */;
7914 long var74
/* : Int */;
7915 val
* var75
/* : FlatString */;
7916 static val
* varonce76
;
7917 val
* var77
/* : String */;
7918 char* var78
/* : NativeString */;
7919 long var79
/* : Int */;
7920 val
* var80
/* : FlatString */;
7921 val
* var81
/* : Array[Object] */;
7922 long var82
/* : Int */;
7923 val
* var83
/* : NativeArray[Object] */;
7924 val
* var84
/* : String */;
7925 val
* var85
/* : null */;
7926 long var86
/* : Int */;
7927 long var87
/* : Int */;
7928 short int var88
/* : Bool */;
7933 { /* Inline modelize_class#AType#mtype (var_ntype) on <var_ntype:AType> */
7934 var3
= var_ntype
->attrs
[COLOR_nit__modelize_class__AType___mtype
].val
; /* _mtype on <var_ntype:AType> */
7941 if (var_mtype
== NULL
) {
7942 var5
= 1; /* is null */
7944 var5
= 0; /* arg is null but recv is not */
7947 { /* Inline kernel#Object#== (var_mtype,var4) on <var_mtype:nullable MType> */
7950 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
7951 var10
= var_mtype
== var_other
;
7966 var12
= nit__modelize_class___ModelBuilder___resolve_mtype_unchecked(self
, var_mmodule
, var_mclassdef
, var_ntype
, var11
);
7972 if (var_mtype
== NULL
) {
7973 var14
= 1; /* is null */
7975 var14
= 0; /* arg is null but recv is not */
7978 { /* Inline kernel#Object#== (var_mtype,var13) on <var_mtype:nullable MType> */
7981 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
7982 var19
= var_mtype
== var_other
;
7985 RET_LABEL18
:(void)0;
7990 RET_LABEL16
:(void)0;
8001 { /* Inline modelize_class#AType#checked_mtype (var_ntype) on <var_ntype:AType> */
8002 var23
= var_ntype
->attrs
[COLOR_nit__modelize_class__AType___checked_mtype
].s
; /* _checked_mtype on <var_ntype:AType> */
8004 RET_LABEL22
:(void)0;
8012 /* <var_mtype:nullable MType(MType)> isa MGenericType */
8013 cltype
= type_nit__MGenericType
.color
;
8014 idtype
= type_nit__MGenericType
.id
;
8015 if(cltype
>= var_mtype
->type
->table_size
) {
8018 var24
= var_mtype
->type
->type_table
[cltype
] == idtype
;
8022 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:nullable MType(MGenericType)> */
8023 var27
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:nullable MType(MGenericType)> */
8024 if (unlikely(var27
== NULL
)) {
8025 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8026 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
8030 RET_LABEL26
:(void)0;
8037 { /* Inline model#MClass#arity (var_mclass) on <var_mclass:MClass> */
8038 var31
= var_mclass
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <var_mclass:MClass> */
8040 RET_LABEL30
:(void)0;
8046 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
8047 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
8048 /* <var_:Int> isa OTHER */
8049 var34
= 1; /* easy <var_:Int> isa OTHER*/
8050 if (unlikely(!var34
)) {
8051 var_class_name
= type_standard__Int
.name
;
8052 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
8053 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
8056 var37
= var_i
< var_
;
8059 RET_LABEL33
:(void)0;
8064 { /* Inline model#MClass#intro (var_mclass) on <var_mclass:MClass> */
8065 var40
= var_mclass
->attrs
[COLOR_nit__model__MClass___intro
].val
; /* _intro on <var_mclass:MClass> */
8066 if (unlikely(var40
== NULL
)) {
8067 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
8068 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 423);
8072 RET_LABEL39
:(void)0;
8076 { /* Inline model#MClassDef#bound_mtype (var38) on <var38:MClassDef> */
8077 var43
= var38
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var38:MClassDef> */
8078 if (unlikely(var43
== NULL
)) {
8079 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
8080 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
8084 RET_LABEL42
:(void)0;
8088 var44
= ((val
* (*)(val
* self
))(var41
->class->vft
[COLOR_nit__model__MClassType__arguments
]))(var41
) /* arguments on <var41:MClassType>*/;
8091 var45
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var44
, var_i
);
8095 { /* Inline parser_nodes#AType#n_types (var_ntype) on <var_ntype:AType> */
8096 var48
= var_ntype
->attrs
[COLOR_nit__parser_nodes__AType___n_types
].val
; /* _n_types on <var_ntype:AType> */
8097 if (unlikely(var48
== NULL
)) {
8098 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types");
8099 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1539);
8103 RET_LABEL47
:(void)0;
8107 var49
= nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var46
, var_i
);
8111 var50
= nit__modelize_class___ModelBuilder___resolve_mtype(self
, var_mmodule
, var_mclassdef
, var_nt
);
8115 if (var_mt
== NULL
) {
8116 var52
= 1; /* is null */
8118 var52
= 0; /* arg is null but recv is not */
8121 { /* Inline kernel#Object#== (var_mt,var51) on <var_mt:nullable MType> */
8124 { /* Inline kernel#Object#is_same_instance (var_mt,var_other) on <var_mt:nullable MType(MType)> */
8125 var57
= var_mt
== var_other
;
8128 RET_LABEL56
:(void)0;
8133 RET_LABEL54
:(void)0;
8144 if (var_mclassdef
== NULL
) {
8145 var60
= 0; /* is null */
8147 var60
= 1; /* arg is null and recv is not */
8150 { /* Inline kernel#Object#!= (var_mclassdef,var59) on <var_mclassdef:nullable MClassDef> */
8151 var_other63
= var59
;
8153 var64
= ((short int (*)(val
* self
, val
* p0
))(var_mclassdef
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mclassdef
, var_other63
) /* == on <var_mclassdef:nullable MClassDef(MClassDef)>*/;
8158 RET_LABEL62
:(void)0;
8164 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
8165 var68
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:nullable MClassDef(MClassDef)> */
8166 if (unlikely(var68
== NULL
)) {
8167 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
8168 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
8172 RET_LABEL67
:(void)0;
8181 var70
= nit___nit__MType___is_subtype(var_mt
, var_mmodule
, var_anchor
, var_bound
);
8188 var73
= "Type error: expected ";
8190 var75
= standard___standard__NativeString___to_s_with_length(var73
, var74
);
8199 var80
= standard___standard__NativeString___to_s_with_length(var78
, var79
);
8203 var81
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8204 { /* var81 = array_instance Array[Object] */
8206 var83
= NEW_standard__NativeArray(var82
, &type_standard__NativeArray__standard__Object
);
8207 ((struct instance_standard__NativeArray
*)var83
)->values
[0] = (val
*) var72
;
8208 ((struct instance_standard__NativeArray
*)var83
)->values
[1] = (val
*) var_bound
;
8209 ((struct instance_standard__NativeArray
*)var83
)->values
[2] = (val
*) var77
;
8210 ((struct instance_standard__NativeArray
*)var83
)->values
[3] = (val
*) var_mt
;
8212 ((void (*)(val
* self
, val
* p0
, long p1
))(var81
->class->vft
[COLOR_standard__array__Array__with_native
]))(var81
, var83
, var82
) /* with_native on <var81:Array[Object]>*/;
8216 var84
= ((val
* (*)(val
* self
))(var81
->class->vft
[COLOR_standard__string__Object__to_s
]))(var81
) /* to_s on <var81:Array[Object]>*/;
8219 nit___nit__ModelBuilder___error(self
, var_nt
, var84
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
8228 var87
= standard___standard__Int___Discrete__successor(var_i
, var86
);
8235 BREAK_label
: (void)0;
8240 { /* Inline modelize_class#AType#checked_mtype= (var_ntype,var88) on <var_ntype:AType> */
8241 var_ntype
->attrs
[COLOR_nit__modelize_class__AType___checked_mtype
].s
= var88
; /* _checked_mtype on <var_ntype:AType> */
8242 RET_LABEL89
:(void)0;
8250 /* method modelize_class#AModule#build_classes_is_done for (self: AModule): Bool */
8251 short int nit__modelize_class___AModule___build_classes_is_done(val
* self
) {
8252 short int var
/* : Bool */;
8253 short int var1
/* : Bool */;
8254 var1
= self
->attrs
[COLOR_nit__modelize_class__AModule___build_classes_is_done
].s
; /* _build_classes_is_done on <self:AModule> */
8259 /* method modelize_class#AModule#build_classes_is_done= for (self: AModule, Bool) */
8260 void nit__modelize_class___AModule___build_classes_is_done_61d(val
* self
, short int p0
) {
8261 self
->attrs
[COLOR_nit__modelize_class__AModule___build_classes_is_done
].s
= p0
; /* _build_classes_is_done on <self:AModule> */
8264 /* method modelize_class#AModule#mclass2nclassdef for (self: AModule): Map[MClass, AClassdef] */
8265 val
* nit__modelize_class___AModule___mclass2nclassdef(val
* self
) {
8266 val
* var
/* : Map[MClass, AClassdef] */;
8267 val
* var1
/* : Map[MClass, AClassdef] */;
8268 var1
= self
->attrs
[COLOR_nit__modelize_class__AModule___mclass2nclassdef
].val
; /* _mclass2nclassdef on <self:AModule> */
8269 if (unlikely(var1
== NULL
)) {
8270 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass2nclassdef");
8271 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 541);
8278 /* method modelize_class#AClassdef#mclass for (self: AClassdef): nullable MClass */
8279 val
* nit__modelize_class___AClassdef___mclass(val
* self
) {
8280 val
* var
/* : nullable MClass */;
8281 val
* var1
/* : nullable MClass */;
8282 var1
= self
->attrs
[COLOR_nit__modelize_class__AClassdef___mclass
].val
; /* _mclass on <self:AClassdef> */
8287 /* method modelize_class#AClassdef#mclass= for (self: AClassdef, nullable MClass) */
8288 void nit__modelize_class___AClassdef___mclass_61d(val
* self
, val
* p0
) {
8289 self
->attrs
[COLOR_nit__modelize_class__AClassdef___mclass
].val
= p0
; /* _mclass on <self:AClassdef> */
8292 /* method modelize_class#AClassdef#mclassdef for (self: AClassdef): nullable MClassDef */
8293 val
* nit__modelize_class___AClassdef___mclassdef(val
* self
) {
8294 val
* var
/* : nullable MClassDef */;
8295 val
* var1
/* : nullable MClassDef */;
8296 var1
= self
->attrs
[COLOR_nit__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <self:AClassdef> */
8301 /* method modelize_class#AClassdef#mclassdef= for (self: AClassdef, nullable MClassDef) */
8302 void nit__modelize_class___AClassdef___mclassdef_61d(val
* self
, val
* p0
) {
8303 self
->attrs
[COLOR_nit__modelize_class__AClassdef___mclassdef
].val
= p0
; /* _mclassdef on <self:AClassdef> */
8306 /* method modelize_class#AClassdef#all_defs for (self: AClassdef): nullable Array[AClassdef] */
8307 val
* nit__modelize_class___AClassdef___all_defs(val
* self
) {
8308 val
* var
/* : nullable Array[AClassdef] */;
8309 val
* var1
/* : nullable Array[AClassdef] */;
8310 var1
= self
->attrs
[COLOR_nit__modelize_class__AClassdef___all_defs
].val
; /* _all_defs on <self:AClassdef> */
8315 /* method modelize_class#AClassdef#all_defs= for (self: AClassdef, nullable Array[AClassdef]) */
8316 void nit__modelize_class___AClassdef___all_defs_61d(val
* self
, val
* p0
) {
8317 self
->attrs
[COLOR_nit__modelize_class__AClassdef___all_defs
].val
= p0
; /* _all_defs on <self:AClassdef> */
8320 /* method modelize_class#AConcreteClasskind#mkind for (self: AConcreteClasskind): MClassKind */
8321 val
* nit__modelize_class___AConcreteClasskind___AClasskind__mkind(val
* self
) {
8322 val
* var
/* : MClassKind */;
8323 val
* var1
/* : MClassKind */;
8325 var1
= nit__model___standard__Object___concrete_kind(self
);
8332 /* method modelize_class#AAbstractClasskind#mkind for (self: AAbstractClasskind): MClassKind */
8333 val
* nit__modelize_class___AAbstractClasskind___AClasskind__mkind(val
* self
) {
8334 val
* var
/* : MClassKind */;
8335 val
* var1
/* : MClassKind */;
8337 var1
= nit__model___standard__Object___abstract_kind(self
);
8344 /* method modelize_class#AInterfaceClasskind#mkind for (self: AInterfaceClasskind): MClassKind */
8345 val
* nit__modelize_class___AInterfaceClasskind___AClasskind__mkind(val
* self
) {
8346 val
* var
/* : MClassKind */;
8347 val
* var1
/* : MClassKind */;
8349 var1
= nit__model___standard__Object___interface_kind(self
);
8356 /* method modelize_class#AEnumClasskind#mkind for (self: AEnumClasskind): MClassKind */
8357 val
* nit__modelize_class___AEnumClasskind___AClasskind__mkind(val
* self
) {
8358 val
* var
/* : MClassKind */;
8359 val
* var1
/* : MClassKind */;
8361 var1
= nit__model___standard__Object___enum_kind(self
);
8368 /* method modelize_class#AExternClasskind#mkind for (self: AExternClasskind): MClassKind */
8369 val
* nit__modelize_class___AExternClasskind___AClasskind__mkind(val
* self
) {
8370 val
* var
/* : MClassKind */;
8371 val
* var1
/* : MClassKind */;
8373 var1
= nit__model___standard__Object___extern_kind(self
);
8380 /* method modelize_class#AFormaldef#bound= for (self: AFormaldef, nullable MType) */
8381 void nit__modelize_class___AFormaldef___bound_61d(val
* self
, val
* p0
) {
8382 self
->attrs
[COLOR_nit__modelize_class__AFormaldef___bound
].val
= p0
; /* _bound on <self:AFormaldef> */
8385 /* method modelize_class#AType#mtype for (self: AType): nullable MType */
8386 val
* nit__modelize_class___AType___mtype(val
* self
) {
8387 val
* var
/* : nullable MType */;
8388 val
* var1
/* : nullable MType */;
8389 var1
= self
->attrs
[COLOR_nit__modelize_class__AType___mtype
].val
; /* _mtype on <self:AType> */
8394 /* method modelize_class#AType#mtype= for (self: AType, nullable MType) */
8395 void nit__modelize_class___AType___mtype_61d(val
* self
, val
* p0
) {
8396 self
->attrs
[COLOR_nit__modelize_class__AType___mtype
].val
= p0
; /* _mtype on <self:AType> */
8399 /* method modelize_class#AType#checked_mtype for (self: AType): Bool */
8400 short int nit__modelize_class___AType___checked_mtype(val
* self
) {
8401 short int var
/* : Bool */;
8402 short int var1
/* : Bool */;
8403 var1
= self
->attrs
[COLOR_nit__modelize_class__AType___checked_mtype
].s
; /* _checked_mtype on <self:AType> */
8408 /* method modelize_class#AType#checked_mtype= for (self: AType, Bool) */
8409 void nit__modelize_class___AType___checked_mtype_61d(val
* self
, short int p0
) {
8410 self
->attrs
[COLOR_nit__modelize_class__AType___checked_mtype
].s
= p0
; /* _checked_mtype on <self:AType> */