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
, 200);
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 var_arity
/* var arity: Int */;
51 val
* var3
/* : Array[String] */;
52 val
* var_names
/* var names: Array[String] */;
53 short int var4
/* : Bool */;
56 val
* var5
/* : nullable TClassid */;
57 val
* var7
/* : nullable TClassid */;
58 val
* var8
/* : String */;
59 val
* var_name
/* var name: String */;
60 val
* var9
/* : AClasskind */;
61 val
* var11
/* : AClasskind */;
62 val
* var_nkind
/* var nkind: nullable AClasskind */;
63 val
* var12
/* : MClassKind */;
64 val
* var_mkind
/* var mkind: MClassKind */;
65 val
* var13
/* : nullable AVisibility */;
66 val
* var15
/* : nullable AVisibility */;
67 val
* var_nvisibility
/* var nvisibility: nullable AVisibility */;
68 val
* var16
/* : MVisibility */;
69 val
* var_mvisibility
/* var mvisibility: nullable MVisibility */;
70 val
* var17
/* : ANodes[AFormaldef] */;
71 val
* var19
/* : ANodes[AFormaldef] */;
72 long var20
/* : Int */;
73 val
* var21
/* : Sys */;
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 val
* var30
/* : FlatString */;
83 val
* var31
/* : Sys */;
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 val
* var41
/* : FlatString */;
92 long var_i
/* var i: Int */;
93 long var_
/* var : Int */;
94 short int var42
/* : Bool */;
95 short int var44
/* : Bool */;
98 const char* var_class_name
;
99 short int var47
/* : Bool */;
100 val
* var48
/* : ANodes[AFormaldef] */;
101 val
* var50
/* : ANodes[AFormaldef] */;
102 val
* var51
/* : ANode */;
103 val
* var_nfd
/* var nfd: AFormaldef */;
104 val
* var52
/* : TClassid */;
105 val
* var54
/* : TClassid */;
106 val
* var55
/* : String */;
107 val
* var_ptname
/* var ptname: String */;
108 short int var56
/* : Bool */;
109 val
* var58
/* : NativeArray[String] */;
110 static val
* varonce57
;
111 static val
* varonce59
;
112 val
* var60
/* : String */;
113 char* var61
/* : NativeString */;
114 val
* var62
/* : FlatString */;
115 static val
* varonce63
;
116 val
* var64
/* : String */;
117 char* var65
/* : NativeString */;
118 val
* var66
/* : FlatString */;
119 val
* var67
/* : String */;
120 val
* var68
/* : SequenceRead[Char] */;
121 val
* var_69
/* var : SequenceRead[Char] */;
122 val
* var70
/* : Iterator[nullable Object] */;
123 val
* var_71
/* var : IndexedIterator[Char] */;
124 short int var72
/* : Bool */;
125 val
* var73
/* : nullable Object */;
126 uint32_t var74
/* : Char */;
127 uint32_t var_c
/* var c: Char */;
128 short int var75
/* : Bool */;
129 short int var76
/* : Bool */;
130 short int var78
/* : Bool */;
133 const char* var_class_name81
;
134 short int var82
/* : Bool */;
135 short int var_83
/* var : Bool */;
136 short int var84
/* : Bool */;
137 short int var86
/* : Bool */;
140 const char* var_class_name89
;
141 short int var90
/* : Bool */;
142 static val
* varonce91
;
143 val
* var92
/* : String */;
144 char* var93
/* : NativeString */;
145 val
* var94
/* : FlatString */;
146 val
* var96
/* : NativeArray[String] */;
147 static val
* varonce95
;
148 static val
* varonce97
;
149 val
* var98
/* : String */;
150 char* var99
/* : NativeString */;
151 val
* var100
/* : FlatString */;
152 static val
* varonce101
;
153 val
* var102
/* : String */;
154 char* var103
/* : NativeString */;
155 val
* var104
/* : FlatString */;
156 val
* var105
/* : String */;
157 long var106
/* : Int */;
158 short int var108
/* : Bool */;
159 short int var109
/* : Bool */;
162 short int var_112
/* var : Bool */;
163 val
* var113
/* : ANodes[APropdef] */;
164 val
* var115
/* : ANodes[APropdef] */;
165 val
* var116
/* : nullable Object */;
166 short int var117
/* : Bool */;
169 const char* var_class_name120
;
170 val
* var121
/* : nullable AMethid */;
171 val
* var123
/* : nullable AMethid */;
172 val
* var124
/* : String */;
173 static val
* varonce125
;
174 val
* var126
/* : String */;
175 char* var127
/* : NativeString */;
176 val
* var128
/* : FlatString */;
177 short int var129
/* : Bool */;
178 static val
* varonce130
;
179 val
* var131
/* : String */;
180 char* var132
/* : NativeString */;
181 val
* var133
/* : FlatString */;
182 val
* var134
/* : Sys */;
183 val
* var135
/* : MClassKind */;
184 val
* var136
/* : Sys */;
185 val
* var137
/* : MVisibility */;
186 static val
* varonce138
;
187 val
* var139
/* : String */;
188 char* var140
/* : NativeString */;
189 val
* var141
/* : FlatString */;
190 val
* var142
/* : Sys */;
191 val
* var143
/* : MClassKind */;
192 val
* var144
/* : Sys */;
193 val
* var145
/* : MVisibility */;
194 val
* var146
/* : nullable MClass */;
195 val
* var_mclass
/* var mclass: nullable MClass */;
196 short int var147
/* : Bool */;
197 short int var148
/* : Bool */;
198 short int var150
/* : Bool */;
199 short int var152
/* : Bool */;
200 short int var153
/* : Bool */;
201 short int var154
/* : Bool */;
204 short int var_157
/* var : Bool */;
205 val
* var158
/* : nullable TKwredef */;
206 val
* var160
/* : nullable TKwredef */;
207 short int var161
/* : Bool */;
208 short int var162
/* : Bool */;
209 val
* var_other164
/* var other: nullable Object */;
210 short int var165
/* : Bool */;
211 short int var166
/* : Bool */;
212 val
* var168
/* : NativeArray[String] */;
213 static val
* varonce167
;
214 static val
* varonce169
;
215 val
* var170
/* : String */;
216 char* var171
/* : NativeString */;
217 val
* var172
/* : FlatString */;
218 static val
* varonce173
;
219 val
* var174
/* : String */;
220 char* var175
/* : NativeString */;
221 val
* var176
/* : FlatString */;
222 val
* var177
/* : String */;
223 short int var178
/* : Bool */;
224 val
* var179
/* : nullable MGroup */;
225 val
* var181
/* : nullable MGroup */;
226 short int var182
/* : Bool */;
227 short int var183
/* : Bool */;
228 short int var185
/* : Bool */;
229 short int var186
/* : Bool */;
230 short int var_187
/* var : Bool */;
231 val
* var188
/* : Sys */;
232 val
* var189
/* : MVisibility */;
233 short int var190
/* : Bool */;
234 val
* var191
/* : Model */;
235 val
* var193
/* : Model */;
236 val
* var194
/* : nullable Array[MClass] */;
237 val
* var_mclasses
/* var mclasses: nullable Array[MClass] */;
238 short int var195
/* : Bool */;
239 short int var196
/* : Bool */;
240 short int var198
/* : Bool */;
241 short int var199
/* : Bool */;
242 val
* var_200
/* var : Array[MClass] */;
243 val
* var201
/* : ArrayIterator[nullable Object] */;
244 val
* var_202
/* var : ArrayIterator[MClass] */;
245 short int var203
/* : Bool */;
246 val
* var204
/* : nullable Object */;
247 val
* var_other205
/* var other: MClass */;
248 short int var206
/* : Bool */;
249 val
* var207
/* : MModule */;
250 val
* var209
/* : MModule */;
251 val
* var210
/* : nullable MGroup */;
252 val
* var212
/* : nullable MGroup */;
253 short int var213
/* : Bool */;
254 short int var214
/* : Bool */;
255 short int var216
/* : Bool */;
256 short int var217
/* : Bool */;
257 short int var_218
/* var : Bool */;
258 val
* var219
/* : MModule */;
259 val
* var221
/* : MModule */;
260 val
* var222
/* : nullable MGroup */;
261 val
* var224
/* : nullable MGroup */;
262 val
* var225
/* : MProject */;
263 val
* var227
/* : MProject */;
264 val
* var228
/* : nullable MGroup */;
265 val
* var230
/* : nullable MGroup */;
266 val
* var231
/* : MProject */;
267 val
* var233
/* : MProject */;
268 short int var234
/* : Bool */;
269 short int var236
/* : Bool */;
270 short int var238
/* : Bool */;
271 val
* var239
/* : nullable MClassDef */;
272 short int var240
/* : Bool */;
273 short int var241
/* : Bool */;
274 short int var243
/* : Bool */;
275 short int var245
/* : Bool */;
276 static val
* varonce247
;
277 val
* var248
/* : String */;
278 char* var249
/* : NativeString */;
279 val
* var250
/* : FlatString */;
280 val
* var252
/* : NativeArray[String] */;
281 static val
* varonce251
;
282 static val
* varonce253
;
283 val
* var254
/* : String */;
284 char* var255
/* : NativeString */;
285 val
* var256
/* : FlatString */;
286 static val
* varonce257
;
287 val
* var258
/* : String */;
288 char* var259
/* : NativeString */;
289 val
* var260
/* : FlatString */;
290 static val
* varonce261
;
291 val
* var262
/* : String */;
292 char* var263
/* : NativeString */;
293 val
* var264
/* : FlatString */;
294 static val
* varonce265
;
295 val
* var266
/* : String */;
296 char* var267
/* : NativeString */;
297 val
* var268
/* : FlatString */;
298 val
* var269
/* : String */;
299 val
* var270
/* : MModule */;
300 val
* var272
/* : MModule */;
301 val
* var273
/* : String */;
302 val
* var274
/* : MClassDef */;
303 val
* var276
/* : MClassDef */;
304 val
* var277
/* : Location */;
305 val
* var279
/* : Location */;
306 val
* var280
/* : String */;
307 val
* var281
/* : String */;
308 val
* var283
/* : MClass */;
309 short int var284
/* : Bool */;
310 short int var285
/* : Bool */;
313 short int var_288
/* var : Bool */;
314 val
* var289
/* : Map[MClass, AClassdef] */;
315 val
* var291
/* : Map[MClass, AClassdef] */;
316 short int var292
/* : Bool */;
317 val
* var294
/* : NativeArray[String] */;
318 static val
* varonce293
;
319 static val
* varonce295
;
320 val
* var296
/* : String */;
321 char* var297
/* : NativeString */;
322 val
* var298
/* : FlatString */;
323 static val
* varonce299
;
324 val
* var300
/* : String */;
325 char* var301
/* : NativeString */;
326 val
* var302
/* : FlatString */;
327 static val
* varonce303
;
328 val
* var304
/* : String */;
329 char* var305
/* : NativeString */;
330 val
* var306
/* : FlatString */;
331 val
* var307
/* : Map[MClass, AClassdef] */;
332 val
* var309
/* : Map[MClass, AClassdef] */;
333 val
* var310
/* : nullable Object */;
334 val
* var311
/* : Location */;
335 val
* var313
/* : Location */;
336 long var314
/* : Int */;
337 long var316
/* : Int */;
338 val
* var317
/* : String */;
339 val
* var318
/* : String */;
340 short int var319
/* : Bool */;
341 short int var320
/* : Bool */;
344 short int var_323
/* var : Bool */;
345 val
* var324
/* : nullable TKwredef */;
346 val
* var326
/* : nullable TKwredef */;
347 short int var327
/* : Bool */;
348 short int var328
/* : Bool */;
349 short int var330
/* : Bool */;
350 short int var332
/* : Bool */;
351 val
* var334
/* : NativeArray[String] */;
352 static val
* varonce333
;
353 static val
* varonce335
;
354 val
* var336
/* : String */;
355 char* var337
/* : NativeString */;
356 val
* var338
/* : FlatString */;
357 static val
* varonce339
;
358 val
* var340
/* : String */;
359 char* var341
/* : NativeString */;
360 val
* var342
/* : FlatString */;
361 val
* var343
/* : String */;
362 short int var344
/* : Bool */;
363 short int var345
/* : Bool */;
364 short int var347
/* : Bool */;
365 short int var348
/* : Bool */;
366 short int var_349
/* var : Bool */;
367 long var350
/* : Int */;
368 long var352
/* : Int */;
369 short int var353
/* : Bool */;
370 short int var355
/* : Bool */;
371 short int var356
/* : Bool */;
372 val
* var358
/* : NativeArray[String] */;
373 static val
* varonce357
;
374 static val
* varonce359
;
375 val
* var360
/* : String */;
376 char* var361
/* : NativeString */;
377 val
* var362
/* : FlatString */;
378 static val
* varonce363
;
379 val
* var364
/* : String */;
380 char* var365
/* : NativeString */;
381 val
* var366
/* : FlatString */;
382 static val
* varonce367
;
383 val
* var368
/* : String */;
384 char* var369
/* : NativeString */;
385 val
* var370
/* : FlatString */;
386 static val
* varonce371
;
387 val
* var372
/* : String */;
388 char* var373
/* : NativeString */;
389 val
* var374
/* : FlatString */;
390 long var375
/* : Int */;
391 long var377
/* : Int */;
392 val
* var378
/* : String */;
393 val
* var379
/* : String */;
394 val
* var380
/* : String */;
395 val
* var381
/* : String */;
396 short int var382
/* : Bool */;
397 short int var383
/* : Bool */;
398 short int var384
/* : Bool */;
399 short int var385
/* : Bool */;
400 short int var387
/* : Bool */;
401 short int var388
/* : Bool */;
402 short int var_389
/* var : Bool */;
403 val
* var390
/* : Sys */;
404 val
* var391
/* : MClassKind */;
405 short int var392
/* : Bool */;
406 short int var394
/* : Bool */;
407 short int var395
/* : Bool */;
408 short int var_396
/* var : Bool */;
409 val
* var397
/* : MClassKind */;
410 val
* var399
/* : MClassKind */;
411 short int var400
/* : Bool */;
412 short int var402
/* : Bool */;
413 short int var403
/* : Bool */;
414 val
* var405
/* : NativeArray[String] */;
415 static val
* varonce404
;
416 static val
* varonce406
;
417 val
* var407
/* : String */;
418 char* var408
/* : NativeString */;
419 val
* var409
/* : FlatString */;
420 static val
* varonce410
;
421 val
* var411
/* : String */;
422 char* var412
/* : NativeString */;
423 val
* var413
/* : FlatString */;
424 static val
* varonce414
;
425 val
* var415
/* : String */;
426 char* var416
/* : NativeString */;
427 val
* var417
/* : FlatString */;
428 val
* var418
/* : MClassKind */;
429 val
* var420
/* : MClassKind */;
430 val
* var421
/* : String */;
431 val
* var422
/* : String */;
432 val
* var423
/* : String */;
433 short int var424
/* : Bool */;
434 short int var425
/* : Bool */;
435 short int var426
/* : Bool */;
436 short int var427
/* : Bool */;
437 short int var429
/* : Bool */;
438 short int var430
/* : Bool */;
439 short int var_431
/* var : Bool */;
440 val
* var432
/* : Sys */;
441 val
* var433
/* : MVisibility */;
442 short int var434
/* : Bool */;
443 short int var436
/* : Bool */;
444 short int var437
/* : Bool */;
445 short int var_438
/* var : Bool */;
446 val
* var439
/* : MVisibility */;
447 val
* var441
/* : MVisibility */;
448 short int var442
/* : Bool */;
449 short int var444
/* : Bool */;
450 short int var445
/* : Bool */;
451 val
* var447
/* : NativeArray[String] */;
452 static val
* varonce446
;
453 static val
* varonce448
;
454 val
* var449
/* : String */;
455 char* var450
/* : NativeString */;
456 val
* var451
/* : FlatString */;
457 static val
* varonce452
;
458 val
* var453
/* : String */;
459 char* var454
/* : NativeString */;
460 val
* var455
/* : FlatString */;
461 static val
* varonce456
;
462 val
* var457
/* : String */;
463 char* var458
/* : NativeString */;
464 val
* var459
/* : FlatString */;
465 val
* var460
/* : MVisibility */;
466 val
* var462
/* : MVisibility */;
467 val
* var463
/* : String */;
468 val
* var464
/* : String */;
469 val
* var465
/* : String */;
470 val
* var467
/* : Map[MClass, AClassdef] */;
471 val
* var469
/* : Map[MClass, AClassdef] */;
472 short int var470
/* : Bool */;
473 short int var471
/* : Bool */;
474 val
* var472
/* : Map[MClass, AClassdef] */;
475 val
* var474
/* : Map[MClass, AClassdef] */;
476 val
* var475
/* : Array[AClassdef] */;
477 val
* var_476
/* var : Array[AClassdef] */;
478 val
* var478
/* : Map[MClass, AClassdef] */;
479 val
* var480
/* : Map[MClass, AClassdef] */;
480 val
* var481
/* : nullable Object */;
481 val
* var482
/* : nullable Array[AClassdef] */;
482 val
* var484
/* : nullable Array[AClassdef] */;
486 { /* Inline loader#AModule#mmodule (var_nmodule) on <var_nmodule:AModule> */
487 var2
= var_nmodule
->attrs
[COLOR_nit__loader__AModule___mmodule
].val
; /* _mmodule on <var_nmodule:AModule> */
492 if (unlikely(var
== NULL
)) {
493 PRINT_ERROR("Runtime error: %s", "Cast failed");
494 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 40);
499 var3
= NEW_standard__Array(&type_standard__Array__standard__String
);
501 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3: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 var4
= var_nclassdef
->type
->type_table
[cltype
] == idtype
;
514 { /* Inline parser_nodes#AStdClassdef#n_id (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
515 var7
= 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 var8
= nit__lexer_work___Token___text(var5
);
529 { /* Inline parser_nodes#AStdClassdef#n_classkind (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
530 var11
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__AStdClassdef___n_classkind
].val
; /* _n_classkind on <var_nclassdef:AClassdef(AStdClassdef)> */
531 if (unlikely(var11
== NULL
)) {
532 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classkind");
533 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1198);
542 var12
= ((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 var15
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_visibility
].val
; /* _n_visibility on <var_nclassdef:AClassdef(AStdClassdef)> */
552 var_nvisibility
= var13
;
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 var16
= ((val
*(*)(val
* self
))(var_nvisibility
->class->vft
[COLOR_nit__modelbuilder_base__AVisibility__mvisibility
]))(var_nvisibility
); /* mvisibility on <var_nvisibility:nullable AVisibility>*/
560 var_mvisibility
= var16
;
562 { /* Inline parser_nodes#AStdClassdef#n_formaldefs (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
563 var19
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__AStdClassdef___n_formaldefs
].val
; /* _n_formaldefs on <var_nclassdef:AClassdef(AStdClassdef)> */
564 if (unlikely(var19
== NULL
)) {
565 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_formaldefs");
566 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1207);
574 var20
= nit___nit__ANodes___standard__abstract_collection__Collection__length(var17
);
579 var22
= nit__model_base___standard__Sys___protected_visibility(var21
);
582 { /* Inline kernel#Object#== (var_mvisibility,var22) on <var_mvisibility:nullable MVisibility(MVisibility)> */
585 { /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other) on <var_mvisibility:nullable MVisibility(MVisibility)> */
586 var27
= var_mvisibility
== var_other
;
598 if (likely(varonce
!=NULL
)) {
601 var29
= "Error: only properties can be protected.";
602 var30
= standard___standard__NativeString___to_s_with_length(var29
, 40l);
607 nit___nit__ModelBuilder___error(self
, var_nvisibility
, var28
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
613 var32
= nit__model_base___standard__Sys___intrude_visibility(var31
);
616 { /* Inline kernel#Object#== (var_mvisibility,var32) on <var_mvisibility:nullable MVisibility(MVisibility)> */
619 { /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other) on <var_mvisibility:nullable MVisibility(MVisibility)> */
620 var37
= var_mvisibility
== var_other
;
632 if (likely(varonce38
!=NULL
)) {
635 var40
= "Error: intrude is not a legal visibility for classes.";
636 var41
= standard___standard__NativeString___to_s_with_length(var40
, 53l);
641 nit___nit__ModelBuilder___error(self
, var_nvisibility
, var39
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
651 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
652 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
653 /* <var_:Int> isa OTHER */
654 var44
= 1; /* easy <var_:Int> isa OTHER*/
655 if (unlikely(!var44
)) {
656 var_class_name
= type_standard__Int
.name
;
657 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
658 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
661 var47
= var_i
< var_
;
669 { /* Inline parser_nodes#AStdClassdef#n_formaldefs (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
670 var50
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__AStdClassdef___n_formaldefs
].val
; /* _n_formaldefs on <var_nclassdef:AClassdef(AStdClassdef)> */
671 if (unlikely(var50
== NULL
)) {
672 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_formaldefs");
673 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1207);
681 var51
= nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var48
, var_i
);
685 { /* Inline parser_nodes#AFormaldef#n_id (var_nfd) on <var_nfd:AFormaldef> */
686 var54
= var_nfd
->attrs
[COLOR_nit__parser_nodes__AFormaldef___n_id
].val
; /* _n_id on <var_nfd:AFormaldef> */
687 if (unlikely(var54
== NULL
)) {
688 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
689 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1291);
697 var55
= nit__lexer_work___Token___text(var52
);
701 var56
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_names
, var_ptname
);
704 if (unlikely(varonce57
==NULL
)) {
705 var58
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
706 if (likely(varonce59
!=NULL
)) {
709 var61
= "Error: a formal parameter type `";
710 var62
= standard___standard__NativeString___to_s_with_length(var61
, 32l);
714 ((struct instance_standard__NativeArray
*)var58
)->values
[0]=var60
;
715 if (likely(varonce63
!=NULL
)) {
718 var65
= "` already exists.";
719 var66
= standard___standard__NativeString___to_s_with_length(var65
, 17l);
723 ((struct instance_standard__NativeArray
*)var58
)->values
[2]=var64
;
728 ((struct instance_standard__NativeArray
*)var58
)->values
[1]=var_ptname
;
730 var67
= ((val
*(*)(val
* self
))(var58
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var58
); /* native_to_s on <var58:NativeArray[String]>*/
734 nit___nit__ModelBuilder___error(self
, var_nfd
, var67
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
740 var68
= ((val
*(*)(val
* self
))(var_ptname
->class->vft
[COLOR_standard__string__Text__chars
]))(var_ptname
); /* chars on <var_ptname:String>*/
744 var70
= ((val
*(*)(val
* self
))((((long)var_69
&3)?class_info
[((long)var_69
&3)]:var_69
->class)->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_69
); /* iterator on <var_69:SequenceRead[Char]>*/
749 var72
= ((short int(*)(val
* self
))((((long)var_71
&3)?class_info
[((long)var_71
&3)]:var_71
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_71
); /* is_ok on <var_71:IndexedIterator[Char]>*/
753 var73
= ((val
*(*)(val
* self
))((((long)var_71
&3)?class_info
[((long)var_71
&3)]:var_71
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_71
); /* item on <var_71:IndexedIterator[Char]>*/
755 var74
= (uint32_t)((long)(var73
)>>2);
758 { /* Inline kernel#Char#>= (var_c,'a') on <var_c:Char> */
759 /* Covariant cast for argument 0 (i) <'a':Char> isa OTHER */
760 /* <'a':Char> isa OTHER */
761 var78
= 1; /* easy <'a':Char> isa OTHER*/
762 if (unlikely(!var78
)) {
763 var_class_name81
= type_standard__Char
.name
;
764 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name81
);
765 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 724);
768 var82
= var_c
>= 'a';
777 { /* Inline kernel#Char#<= (var_c,'z') on <var_c:Char> */
778 /* Covariant cast for argument 0 (i) <'z':Char> isa OTHER */
779 /* <'z':Char> isa OTHER */
780 var86
= 1; /* easy <'z':Char> isa OTHER*/
781 if (unlikely(!var86
)) {
782 var_class_name89
= type_standard__Char
.name
;
783 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name89
);
784 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 722);
787 var90
= var_c
<= 'z';
798 if (likely(varonce91
!=NULL
)) {
801 var93
= "formal-type-name";
802 var94
= standard___standard__NativeString___to_s_with_length(var93
, 16l);
806 if (unlikely(varonce95
==NULL
)) {
807 var96
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
808 if (likely(varonce97
!=NULL
)) {
811 var99
= "Warning: lowercase in the formal parameter type `";
812 var100
= standard___standard__NativeString___to_s_with_length(var99
, 49l);
816 ((struct instance_standard__NativeArray
*)var96
)->values
[0]=var98
;
817 if (likely(varonce101
!=NULL
)) {
821 var104
= standard___standard__NativeString___to_s_with_length(var103
, 2l);
825 ((struct instance_standard__NativeArray
*)var96
)->values
[2]=var102
;
830 ((struct instance_standard__NativeArray
*)var96
)->values
[1]=var_ptname
;
832 var105
= ((val
*(*)(val
* self
))(var96
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var96
); /* native_to_s on <var96:NativeArray[String]>*/
836 nit___nit__ModelBuilder___warning(self
, var_nfd
, var92
, var105
); /* Direct call modelbuilder_base#ModelBuilder#warning on <self:ModelBuilder>*/
842 ((void(*)(val
* self
))((((long)var_71
&3)?class_info
[((long)var_71
&3)]:var_71
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_71
); /* next on <var_71:IndexedIterator[Char]>*/
848 BREAK_label
: (void)0;
850 ((void(*)(val
* self
))((((long)var_71
&3)?class_info
[((long)var_71
&3)]:var_71
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_71
); /* finish on <var_71:IndexedIterator[Char]>*/
853 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_names
, var_ptname
); /* Direct call array#Array#add on <var_names:Array[String]>*/
856 var106
= standard___standard__Int___Discrete__successor(var_i
, 1l);
863 BREAK_label107
: (void)0;
865 /* <var_nclassdef:AClassdef> isa ATopClassdef */
866 cltype110
= type_nit__ATopClassdef
.color
;
867 idtype111
= type_nit__ATopClassdef
.id
;
868 if(cltype110
>= var_nclassdef
->type
->table_size
) {
871 var109
= var_nclassdef
->type
->type_table
[cltype110
] == idtype111
;
876 { /* Inline parser_nodes#AClassdef#n_propdefs (var_nclassdef) on <var_nclassdef:AClassdef(ATopClassdef)> */
877 var115
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__AClassdef___n_propdefs
].val
; /* _n_propdefs on <var_nclassdef:AClassdef(ATopClassdef)> */
878 if (unlikely(var115
== NULL
)) {
879 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs");
880 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1189);
884 RET_LABEL114
:(void)0;
888 var116
= standard___standard__SequenceRead___Collection__first(var113
);
890 /* <var116:nullable Object(APropdef)> isa AMethPropdef */
891 cltype118
= type_nit__AMethPropdef
.color
;
892 idtype119
= type_nit__AMethPropdef
.id
;
893 if(cltype118
>= var116
->type
->table_size
) {
896 var117
= var116
->type
->type_table
[cltype118
] == idtype119
;
898 if (unlikely(!var117
)) {
899 var_class_name120
= var116
== NULL ?
"null" : var116
->type
->name
;
900 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AMethPropdef", var_class_name120
);
901 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 78);
905 { /* Inline parser_nodes#AMethPropdef#n_methid (var116) on <var116:APropdef(AMethPropdef)> */
906 var123
= var116
->attrs
[COLOR_nit__parser_nodes__AMethPropdef___n_methid
].val
; /* _n_methid on <var116:APropdef(AMethPropdef)> */
908 RET_LABEL122
:(void)0;
911 if (var121
== NULL
) {
912 PRINT_ERROR("Runtime error: %s", "Receiver is null");
913 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 78);
916 var124
= nit__parser_work___Prod___collect_text(var121
);
918 if (likely(varonce125
!=NULL
)) {
922 var128
= standard___standard__NativeString___to_s_with_length(var127
, 3l);
927 var129
= ((short int(*)(val
* self
, val
* p0
))(var124
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var124
, var126
); /* == on <var124:String>*/
934 if (likely(varonce130
!=NULL
)) {
938 var133
= standard___standard__NativeString___to_s_with_length(var132
, 6l);
943 var_nkind
= ((val
*)NULL
);
946 var135
= nit__model___standard__Sys___interface_kind(var134
);
949 var_nvisibility
= ((val
*)NULL
);
952 var137
= nit__model_base___standard__Sys___public_visibility(var136
);
954 var_mvisibility
= var137
;
956 if (likely(varonce138
!=NULL
)) {
960 var141
= standard___standard__NativeString___to_s_with_length(var140
, 3l);
965 var_nkind
= ((val
*)NULL
);
968 var143
= nit__model___standard__Sys___concrete_kind(var142
);
971 var_nvisibility
= ((val
*)NULL
);
974 var145
= nit__model_base___standard__Sys___public_visibility(var144
);
976 var_mvisibility
= var145
;
980 var146
= nit___nit__ModelBuilder___try_get_mclass_by_name(self
, var_nclassdef
, var_mmodule
, var_name
);
983 if (var_mclass
== NULL
) {
984 var147
= 1; /* is null */
986 var147
= 0; /* arg is null but recv is not */
989 { /* Inline kernel#Object#== (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
990 var_other
= ((val
*)NULL
);
992 { /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
993 var152
= var_mclass
== var_other
;
996 RET_LABEL151
:(void)0;
1001 RET_LABEL149
:(void)0;
1006 /* <var_nclassdef:AClassdef> isa AStdClassdef */
1007 cltype155
= type_nit__AStdClassdef
.color
;
1008 idtype156
= type_nit__AStdClassdef
.id
;
1009 if(cltype155
>= var_nclassdef
->type
->table_size
) {
1012 var154
= var_nclassdef
->type
->type_table
[cltype155
] == idtype156
;
1017 { /* Inline parser_nodes#ADefinition#n_kwredef (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
1018 var160
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_kwredef
].val
; /* _n_kwredef on <var_nclassdef:AClassdef(AStdClassdef)> */
1020 RET_LABEL159
:(void)0;
1023 if (var158
== NULL
) {
1024 var161
= 0; /* is null */
1026 var161
= 1; /* arg is null and recv is not */
1029 { /* Inline kernel#Object#!= (var158,((val*)NULL)) on <var158:nullable TKwredef> */
1030 var_other164
= ((val
*)NULL
);
1032 var165
= ((short int(*)(val
* self
, val
* p0
))(var158
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var158
, var_other164
); /* == on <var158:nullable TKwredef(TKwredef)>*/
1037 RET_LABEL163
:(void)0;
1046 if (unlikely(varonce167
==NULL
)) {
1047 var168
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1048 if (likely(varonce169
!=NULL
)) {
1049 var170
= varonce169
;
1051 var171
= "Redef Error: no imported class `";
1052 var172
= standard___standard__NativeString___to_s_with_length(var171
, 32l);
1054 varonce169
= var170
;
1056 ((struct instance_standard__NativeArray
*)var168
)->values
[0]=var170
;
1057 if (likely(varonce173
!=NULL
)) {
1058 var174
= varonce173
;
1060 var175
= "` to refine.";
1061 var176
= standard___standard__NativeString___to_s_with_length(var175
, 12l);
1063 varonce173
= var174
;
1065 ((struct instance_standard__NativeArray
*)var168
)->values
[2]=var174
;
1067 var168
= varonce167
;
1070 ((struct instance_standard__NativeArray
*)var168
)->values
[1]=var_name
;
1072 var177
= ((val
*(*)(val
* self
))(var168
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var168
); /* native_to_s on <var168:NativeArray[String]>*/
1074 varonce167
= var168
;
1076 nit___nit__ModelBuilder___error(self
, var_nclassdef
, var177
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
1082 { /* Inline mmodule#MModule#mgroup (var_mmodule) on <var_mmodule:MModule> */
1083 var181
= var_mmodule
->attrs
[COLOR_nit__mmodule__MModule___mgroup
].val
; /* _mgroup on <var_mmodule:MModule> */
1085 RET_LABEL180
:(void)0;
1088 if (var179
== NULL
) {
1089 var182
= 0; /* is null */
1091 var182
= 1; /* arg is null and recv is not */
1094 { /* Inline kernel#Object#!= (var179,((val*)NULL)) on <var179:nullable MGroup> */
1095 var_other164
= ((val
*)NULL
);
1097 var185
= ((short int(*)(val
* self
, val
* p0
))(var179
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var179
, var_other164
); /* == on <var179:nullable MGroup(MGroup)>*/
1102 RET_LABEL184
:(void)0;
1110 var189
= nit__model_base___standard__Sys___protected_visibility(var188
);
1113 var190
= standard___standard__Comparable____62d_61d(var_mvisibility
, var189
);
1121 { /* Inline modelbuilder_base#ModelBuilder#model (self) on <self:ModelBuilder> */
1122 var193
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
1123 if (unlikely(var193
== NULL
)) {
1124 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
1125 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 44);
1129 RET_LABEL192
:(void)0;
1133 var194
= nit__model___Model___get_mclasses_by_name(var191
, var_name
);
1135 var_mclasses
= var194
;
1136 if (var_mclasses
== NULL
) {
1137 var195
= 0; /* is null */
1139 var195
= 1; /* arg is null and recv is not */
1142 { /* Inline kernel#Object#!= (var_mclasses,((val*)NULL)) on <var_mclasses:nullable Array[MClass]> */
1143 var_other164
= ((val
*)NULL
);
1145 var198
= ((short int(*)(val
* self
, val
* p0
))(var_mclasses
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mclasses
, var_other164
); /* == on <var_mclasses:nullable Array[MClass](Array[MClass])>*/
1150 RET_LABEL197
:(void)0;
1155 var_200
= var_mclasses
;
1157 var201
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_200
);
1162 var203
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_202
);
1166 var204
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_202
);
1168 var_other205
= var204
;
1170 { /* Inline model#MClass#intro_mmodule (var_other205) on <var_other205:MClass> */
1171 var209
= var_other205
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var_other205:MClass> */
1172 if (unlikely(var209
== NULL
)) {
1173 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
1174 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 357);
1178 RET_LABEL208
:(void)0;
1182 { /* Inline mmodule#MModule#mgroup (var207) on <var207:MModule> */
1183 var212
= var207
->attrs
[COLOR_nit__mmodule__MModule___mgroup
].val
; /* _mgroup on <var207:MModule> */
1185 RET_LABEL211
:(void)0;
1188 if (var210
== NULL
) {
1189 var213
= 0; /* is null */
1191 var213
= 1; /* arg is null and recv is not */
1194 { /* Inline kernel#Object#!= (var210,((val*)NULL)) on <var210:nullable MGroup> */
1195 var_other164
= ((val
*)NULL
);
1197 var216
= ((short int(*)(val
* self
, val
* p0
))(var210
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var210
, var_other164
); /* == on <var210:nullable MGroup(MGroup)>*/
1202 RET_LABEL215
:(void)0;
1209 { /* Inline model#MClass#intro_mmodule (var_other205) on <var_other205:MClass> */
1210 var221
= var_other205
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var_other205:MClass> */
1211 if (unlikely(var221
== NULL
)) {
1212 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
1213 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 357);
1217 RET_LABEL220
:(void)0;
1221 { /* Inline mmodule#MModule#mgroup (var219) on <var219:MModule> */
1222 var224
= var219
->attrs
[COLOR_nit__mmodule__MModule___mgroup
].val
; /* _mgroup on <var219:MModule> */
1224 RET_LABEL223
:(void)0;
1227 if (var222
== NULL
) {
1228 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1229 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 106);
1232 { /* Inline mproject#MGroup#mproject (var222) on <var222:nullable MGroup> */
1233 if (unlikely(var222
== NULL
)) {
1234 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1235 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject
, 69);
1238 var227
= var222
->attrs
[COLOR_nit__mproject__MGroup___mproject
].val
; /* _mproject on <var222:nullable MGroup> */
1239 if (unlikely(var227
== NULL
)) {
1240 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject");
1241 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject
, 69);
1245 RET_LABEL226
:(void)0;
1249 { /* Inline mmodule#MModule#mgroup (var_mmodule) on <var_mmodule:MModule> */
1250 var230
= var_mmodule
->attrs
[COLOR_nit__mmodule__MModule___mgroup
].val
; /* _mgroup on <var_mmodule:MModule> */
1252 RET_LABEL229
:(void)0;
1255 if (var228
== NULL
) {
1256 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1257 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 106);
1260 { /* Inline mproject#MGroup#mproject (var228) on <var228:nullable MGroup> */
1261 if (unlikely(var228
== NULL
)) {
1262 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1263 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject
, 69);
1266 var233
= var228
->attrs
[COLOR_nit__mproject__MGroup___mproject
].val
; /* _mproject on <var228:nullable MGroup> */
1267 if (unlikely(var233
== NULL
)) {
1268 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject");
1269 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject
, 69);
1273 RET_LABEL232
:(void)0;
1277 { /* Inline kernel#Object#== (var225,var231) on <var225:MProject> */
1280 { /* Inline kernel#Object#is_same_instance (var225,var_other) on <var225:MProject> */
1281 var238
= var225
== var_other
;
1284 RET_LABEL237
:(void)0;
1289 RET_LABEL235
:(void)0;
1298 var239
= nit___nit__MClass___try_intro(var_other205
);
1300 if (var239
== NULL
) {
1301 var240
= 1; /* is null */
1303 var240
= 0; /* arg is null but recv is not */
1306 { /* Inline kernel#Object#== (var239,((val*)NULL)) on <var239:nullable MClassDef> */
1307 var_other
= ((val
*)NULL
);
1309 { /* Inline kernel#Object#is_same_instance (var239,var_other) on <var239:nullable MClassDef(MClassDef)> */
1310 var245
= var239
== var_other
;
1313 RET_LABEL244
:(void)0;
1318 RET_LABEL242
:(void)0;
1323 goto BREAK_label246
;
1326 if (likely(varonce247
!=NULL
)) {
1327 var248
= varonce247
;
1329 var249
= "full-name-conflict";
1330 var250
= standard___standard__NativeString___to_s_with_length(var249
, 18l);
1332 varonce247
= var248
;
1334 if (unlikely(varonce251
==NULL
)) {
1335 var252
= NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String
);
1336 if (likely(varonce253
!=NULL
)) {
1337 var254
= varonce253
;
1339 var255
= "Error: a class named `";
1340 var256
= standard___standard__NativeString___to_s_with_length(var255
, 22l);
1342 varonce253
= var254
;
1344 ((struct instance_standard__NativeArray
*)var252
)->values
[0]=var254
;
1345 if (likely(varonce257
!=NULL
)) {
1346 var258
= varonce257
;
1348 var259
= "` is already defined in module `";
1349 var260
= standard___standard__NativeString___to_s_with_length(var259
, 32l);
1351 varonce257
= var258
;
1353 ((struct instance_standard__NativeArray
*)var252
)->values
[2]=var258
;
1354 if (likely(varonce261
!=NULL
)) {
1355 var262
= varonce261
;
1358 var264
= standard___standard__NativeString___to_s_with_length(var263
, 5l);
1360 varonce261
= var262
;
1362 ((struct instance_standard__NativeArray
*)var252
)->values
[4]=var262
;
1363 if (likely(varonce265
!=NULL
)) {
1364 var266
= varonce265
;
1367 var268
= standard___standard__NativeString___to_s_with_length(var267
, 1l);
1369 varonce265
= var266
;
1371 ((struct instance_standard__NativeArray
*)var252
)->values
[6]=var266
;
1373 var252
= varonce251
;
1377 var269
= nit___nit__MClass___nit__model_base__MEntity__full_name(var_other205
);
1379 ((struct instance_standard__NativeArray
*)var252
)->values
[1]=var269
;
1381 { /* Inline model#MClass#intro_mmodule (var_other205) on <var_other205:MClass> */
1382 var272
= var_other205
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var_other205:MClass> */
1383 if (unlikely(var272
== NULL
)) {
1384 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
1385 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 357);
1389 RET_LABEL271
:(void)0;
1393 var273
= ((val
*(*)(val
* self
))(var270
->class->vft
[COLOR_standard__string__Object__to_s
]))(var270
); /* to_s on <var270:MModule>*/
1395 ((struct instance_standard__NativeArray
*)var252
)->values
[3]=var273
;
1397 { /* Inline model#MClass#intro (var_other205) on <var_other205:MClass> */
1398 var276
= var_other205
->attrs
[COLOR_nit__model__MClass___intro
].val
; /* _intro on <var_other205:MClass> */
1399 if (unlikely(var276
== NULL
)) {
1400 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
1401 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 460);
1405 RET_LABEL275
:(void)0;
1409 { /* Inline model#MClassDef#location (var274) on <var274:MClassDef> */
1410 var279
= var274
->attrs
[COLOR_nit__model__MClassDef___location
].val
; /* _location on <var274:MClassDef> */
1411 if (unlikely(var279
== NULL
)) {
1412 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
1413 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 568);
1417 RET_LABEL278
:(void)0;
1421 var280
= ((val
*(*)(val
* self
))(var277
->class->vft
[COLOR_standard__string__Object__to_s
]))(var277
); /* to_s on <var277:Location>*/
1423 ((struct instance_standard__NativeArray
*)var252
)->values
[5]=var280
;
1425 var281
= ((val
*(*)(val
* self
))(var252
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var252
); /* native_to_s on <var252:NativeArray[String]>*/
1427 varonce251
= var252
;
1429 nit___nit__ModelBuilder___warning(self
, var_nclassdef
, var248
, var281
); /* Direct call modelbuilder_base#ModelBuilder#warning on <self:ModelBuilder>*/
1431 goto BREAK_label282
;
1434 BREAK_label246
: (void)0;
1436 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_202
); /* Direct call array#ArrayIterator#next on <var_202:ArrayIterator[MClass]>*/
1439 goto BREAK_label282
;
1442 BREAK_label282
: (void)0;
1444 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_202
); /* Direct call array#ArrayIterator#finish on <var_202:ArrayIterator[MClass]>*/
1450 var283
= NEW_nit__MClass(&type_nit__MClass
);
1452 ((void(*)(val
* self
, val
* p0
))(var283
->class->vft
[COLOR_nit__model__MClass__intro_mmodule_61d
]))(var283
, var_mmodule
); /* intro_mmodule= on <var283:MClass>*/
1455 ((void(*)(val
* self
, val
* p0
))(var283
->class->vft
[COLOR_nit__model__MClass__name_61d
]))(var283
, var_name
); /* name= on <var283:MClass>*/
1458 ((void(*)(val
* self
, val
* p0
))(var283
->class->vft
[COLOR_nit__model__MClass__setup_parameter_names
]))(var283
, var_names
); /* setup_parameter_names on <var283:MClass>*/
1461 ((void(*)(val
* self
, val
* p0
))(var283
->class->vft
[COLOR_nit__model__MClass__kind_61d
]))(var283
, var_mkind
); /* kind= on <var283:MClass>*/
1464 ((void(*)(val
* self
, val
* p0
))(var283
->class->vft
[COLOR_nit__model__MClass__visibility_61d
]))(var283
, var_mvisibility
); /* visibility= on <var283:MClass>*/
1467 ((void(*)(val
* self
))(var283
->class->vft
[COLOR_standard__kernel__Object__init
]))(var283
); /* init on <var283:MClass>*/
1469 var_mclass
= var283
;
1471 /* <var_nclassdef:AClassdef> isa AStdClassdef */
1472 cltype286
= type_nit__AStdClassdef
.color
;
1473 idtype287
= type_nit__AStdClassdef
.id
;
1474 if(cltype286
>= var_nclassdef
->type
->table_size
) {
1477 var285
= var_nclassdef
->type
->type_table
[cltype286
] == idtype287
;
1482 { /* Inline modelize_class#AModule#mclass2nclassdef (var_nmodule) on <var_nmodule:AModule> */
1483 var291
= var_nmodule
->attrs
[COLOR_nit__modelize_class__AModule___mclass2nclassdef
].val
; /* _mclass2nclassdef on <var_nmodule:AModule> */
1484 if (unlikely(var291
== NULL
)) {
1485 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass2nclassdef");
1486 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 464);
1490 RET_LABEL290
:(void)0;
1494 var292
= ((short int(*)(val
* self
, val
* p0
))((((long)var289
&3)?class_info
[((long)var289
&3)]:var289
->class)->vft
[COLOR_standard__abstract_collection__MapRead__has_key
]))(var289
, var_mclass
); /* has_key on <var289:Map[MClass, AClassdef]>*/
1501 if (unlikely(varonce293
==NULL
)) {
1502 var294
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
1503 if (likely(varonce295
!=NULL
)) {
1504 var296
= varonce295
;
1506 var297
= "Error: a class `";
1507 var298
= standard___standard__NativeString___to_s_with_length(var297
, 16l);
1509 varonce295
= var296
;
1511 ((struct instance_standard__NativeArray
*)var294
)->values
[0]=var296
;
1512 if (likely(varonce299
!=NULL
)) {
1513 var300
= varonce299
;
1515 var301
= "` is already defined at line ";
1516 var302
= standard___standard__NativeString___to_s_with_length(var301
, 29l);
1518 varonce299
= var300
;
1520 ((struct instance_standard__NativeArray
*)var294
)->values
[2]=var300
;
1521 if (likely(varonce303
!=NULL
)) {
1522 var304
= varonce303
;
1525 var306
= standard___standard__NativeString___to_s_with_length(var305
, 1l);
1527 varonce303
= var304
;
1529 ((struct instance_standard__NativeArray
*)var294
)->values
[4]=var304
;
1531 var294
= varonce293
;
1534 ((struct instance_standard__NativeArray
*)var294
)->values
[1]=var_name
;
1536 { /* Inline modelize_class#AModule#mclass2nclassdef (var_nmodule) on <var_nmodule:AModule> */
1537 var309
= var_nmodule
->attrs
[COLOR_nit__modelize_class__AModule___mclass2nclassdef
].val
; /* _mclass2nclassdef on <var_nmodule:AModule> */
1538 if (unlikely(var309
== NULL
)) {
1539 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass2nclassdef");
1540 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 464);
1544 RET_LABEL308
:(void)0;
1548 var310
= ((val
*(*)(val
* self
, val
* p0
))((((long)var307
&3)?class_info
[((long)var307
&3)]:var307
->class)->vft
[COLOR_standard__abstract_collection__MapRead___91d_93d
]))(var307
, var_mclass
); /* [] on <var307:Map[MClass, AClassdef]>*/
1551 { /* Inline parser_nodes#ANode#location (var310) on <var310:nullable Object(AClassdef)> */
1552 var313
= var310
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <var310:nullable Object(AClassdef)> */
1553 if (unlikely(var313
== NULL
)) {
1554 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
1555 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 24);
1559 RET_LABEL312
:(void)0;
1563 { /* Inline location#Location#line_start (var311) on <var311:Location> */
1564 var316
= var311
->attrs
[COLOR_nit__location__Location___line_start
].l
; /* _line_start on <var311:Location> */
1566 RET_LABEL315
:(void)0;
1569 var317
= standard__string___Int___Object__to_s(var314
);
1570 ((struct instance_standard__NativeArray
*)var294
)->values
[3]=var317
;
1572 var318
= ((val
*(*)(val
* self
))(var294
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var294
); /* native_to_s on <var294:NativeArray[String]>*/
1574 varonce293
= var294
;
1576 nit___nit__ModelBuilder___error(self
, var_nclassdef
, var318
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
1580 /* <var_nclassdef:AClassdef> isa AStdClassdef */
1581 cltype321
= type_nit__AStdClassdef
.color
;
1582 idtype322
= type_nit__AStdClassdef
.id
;
1583 if(cltype321
>= var_nclassdef
->type
->table_size
) {
1586 var320
= var_nclassdef
->type
->type_table
[cltype321
] == idtype322
;
1591 { /* Inline parser_nodes#ADefinition#n_kwredef (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
1592 var326
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_kwredef
].val
; /* _n_kwredef on <var_nclassdef:AClassdef(AStdClassdef)> */
1594 RET_LABEL325
:(void)0;
1597 if (var324
== NULL
) {
1598 var327
= 1; /* is null */
1600 var327
= 0; /* arg is null but recv is not */
1603 { /* Inline kernel#Object#== (var324,((val*)NULL)) on <var324:nullable TKwredef> */
1604 var_other
= ((val
*)NULL
);
1606 { /* Inline kernel#Object#is_same_instance (var324,var_other) on <var324:nullable TKwredef(TKwredef)> */
1607 var332
= var324
== var_other
;
1610 RET_LABEL331
:(void)0;
1615 RET_LABEL329
:(void)0;
1624 if (unlikely(varonce333
==NULL
)) {
1625 var334
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1626 if (likely(varonce335
!=NULL
)) {
1627 var336
= varonce335
;
1629 var337
= "Redef Error: `";
1630 var338
= standard___standard__NativeString___to_s_with_length(var337
, 14l);
1632 varonce335
= var336
;
1634 ((struct instance_standard__NativeArray
*)var334
)->values
[0]=var336
;
1635 if (likely(varonce339
!=NULL
)) {
1636 var340
= varonce339
;
1638 var341
= "` is an imported class. Add the `redef` keyword to refine it.";
1639 var342
= standard___standard__NativeString___to_s_with_length(var341
, 61l);
1641 varonce339
= var340
;
1643 ((struct instance_standard__NativeArray
*)var334
)->values
[2]=var340
;
1645 var334
= varonce333
;
1648 ((struct instance_standard__NativeArray
*)var334
)->values
[1]=var_name
;
1650 var343
= ((val
*(*)(val
* self
))(var334
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var334
); /* native_to_s on <var334:NativeArray[String]>*/
1652 varonce333
= var334
;
1654 nit___nit__ModelBuilder___error(self
, var_nclassdef
, var343
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
1659 { /* Inline kernel#Int#!= (var_arity,0l) on <var_arity:Int> */
1660 var347
= var_arity
== 0l;
1664 RET_LABEL346
:(void)0;
1670 { /* Inline model#MClass#arity (var_mclass) on <var_mclass:nullable MClass(MClass)> */
1671 var352
= var_mclass
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <var_mclass:nullable MClass(MClass)> */
1673 RET_LABEL351
:(void)0;
1677 { /* Inline kernel#Int#!= (var350,var_arity) on <var350:Int> */
1678 var355
= var350
== var_arity
;
1682 RET_LABEL354
:(void)0;
1690 if (unlikely(varonce357
==NULL
)) {
1691 var358
= NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String
);
1692 if (likely(varonce359
!=NULL
)) {
1693 var360
= varonce359
;
1695 var361
= "Redef Error: expected ";
1696 var362
= standard___standard__NativeString___to_s_with_length(var361
, 22l);
1698 varonce359
= var360
;
1700 ((struct instance_standard__NativeArray
*)var358
)->values
[0]=var360
;
1701 if (likely(varonce363
!=NULL
)) {
1702 var364
= varonce363
;
1704 var365
= " formal parameter(s) for ";
1705 var366
= standard___standard__NativeString___to_s_with_length(var365
, 25l);
1707 varonce363
= var364
;
1709 ((struct instance_standard__NativeArray
*)var358
)->values
[2]=var364
;
1710 if (likely(varonce367
!=NULL
)) {
1711 var368
= varonce367
;
1714 var370
= standard___standard__NativeString___to_s_with_length(var369
, 6l);
1716 varonce367
= var368
;
1718 ((struct instance_standard__NativeArray
*)var358
)->values
[4]=var368
;
1719 if (likely(varonce371
!=NULL
)) {
1720 var372
= varonce371
;
1723 var374
= standard___standard__NativeString___to_s_with_length(var373
, 1l);
1725 varonce371
= var372
;
1727 ((struct instance_standard__NativeArray
*)var358
)->values
[6]=var372
;
1729 var358
= varonce357
;
1733 { /* Inline model#MClass#arity (var_mclass) on <var_mclass:nullable MClass(MClass)> */
1734 var377
= var_mclass
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <var_mclass:nullable MClass(MClass)> */
1736 RET_LABEL376
:(void)0;
1739 var378
= standard__string___Int___Object__to_s(var375
);
1740 ((struct instance_standard__NativeArray
*)var358
)->values
[1]=var378
;
1742 var379
= nit___nit__MClass___signature_to_s(var_mclass
);
1744 ((struct instance_standard__NativeArray
*)var358
)->values
[3]=var379
;
1745 var380
= standard__string___Int___Object__to_s(var_arity
);
1746 ((struct instance_standard__NativeArray
*)var358
)->values
[5]=var380
;
1748 var381
= ((val
*(*)(val
* self
))(var358
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var358
); /* native_to_s on <var358:NativeArray[String]>*/
1750 varonce357
= var358
;
1752 nit___nit__ModelBuilder___error(self
, var_nclassdef
, var381
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
1756 if (var_nkind
== NULL
) {
1757 var384
= 0; /* is null */
1759 var384
= 1; /* arg is null and recv is not */
1762 { /* Inline kernel#Object#!= (var_nkind,((val*)NULL)) on <var_nkind:nullable AClasskind> */
1763 var_other164
= ((val
*)NULL
);
1765 var387
= ((short int(*)(val
* self
, val
* p0
))(var_nkind
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nkind
, var_other164
); /* == on <var_nkind:nullable AClasskind(AClasskind)>*/
1770 RET_LABEL386
:(void)0;
1778 var391
= nit__model___standard__Sys___concrete_kind(var390
);
1781 { /* Inline kernel#Object#!= (var_mkind,var391) on <var_mkind:MClassKind> */
1782 var_other164
= var391
;
1784 var394
= ((short int(*)(val
* self
, val
* p0
))(var_mkind
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mkind
, var_other164
); /* == on <var_mkind:MClassKind>*/
1789 RET_LABEL393
:(void)0;
1799 { /* Inline model#MClass#kind (var_mclass) on <var_mclass:nullable MClass(MClass)> */
1800 var399
= var_mclass
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var_mclass:nullable MClass(MClass)> */
1801 if (unlikely(var399
== NULL
)) {
1802 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
1803 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 436);
1807 RET_LABEL398
:(void)0;
1811 { /* Inline kernel#Object#!= (var397,var_mkind) on <var397:MClassKind> */
1812 var_other164
= var_mkind
;
1814 var402
= ((short int(*)(val
* self
, val
* p0
))(var397
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var397
, var_other164
); /* == on <var397:MClassKind>*/
1819 RET_LABEL401
:(void)0;
1827 if (unlikely(varonce404
==NULL
)) {
1828 var405
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
1829 if (likely(varonce406
!=NULL
)) {
1830 var407
= varonce406
;
1832 var408
= "Redef Error: refinement changed the kind from `";
1833 var409
= standard___standard__NativeString___to_s_with_length(var408
, 47l);
1835 varonce406
= var407
;
1837 ((struct instance_standard__NativeArray
*)var405
)->values
[0]=var407
;
1838 if (likely(varonce410
!=NULL
)) {
1839 var411
= varonce410
;
1842 var413
= standard___standard__NativeString___to_s_with_length(var412
, 6l);
1844 varonce410
= var411
;
1846 ((struct instance_standard__NativeArray
*)var405
)->values
[2]=var411
;
1847 if (likely(varonce414
!=NULL
)) {
1848 var415
= varonce414
;
1851 var417
= standard___standard__NativeString___to_s_with_length(var416
, 2l);
1853 varonce414
= var415
;
1855 ((struct instance_standard__NativeArray
*)var405
)->values
[4]=var415
;
1857 var405
= varonce404
;
1861 { /* Inline model#MClass#kind (var_mclass) on <var_mclass:nullable MClass(MClass)> */
1862 var420
= var_mclass
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var_mclass:nullable MClass(MClass)> */
1863 if (unlikely(var420
== NULL
)) {
1864 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
1865 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 436);
1869 RET_LABEL419
:(void)0;
1873 var421
= ((val
*(*)(val
* self
))(var418
->class->vft
[COLOR_standard__string__Object__to_s
]))(var418
); /* to_s on <var418:MClassKind>*/
1875 ((struct instance_standard__NativeArray
*)var405
)->values
[1]=var421
;
1877 var422
= ((val
*(*)(val
* self
))(var_mkind
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mkind
); /* to_s on <var_mkind:MClassKind>*/
1879 ((struct instance_standard__NativeArray
*)var405
)->values
[3]=var422
;
1881 var423
= ((val
*(*)(val
* self
))(var405
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var405
); /* native_to_s on <var405:NativeArray[String]>*/
1883 varonce404
= var405
;
1885 nit___nit__ModelBuilder___error(self
, var_nkind
, var423
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
1888 if (var_nvisibility
== NULL
) {
1889 var426
= 0; /* is null */
1891 var426
= 1; /* arg is null and recv is not */
1894 { /* Inline kernel#Object#!= (var_nvisibility,((val*)NULL)) on <var_nvisibility:nullable AVisibility> */
1895 var_other164
= ((val
*)NULL
);
1897 var429
= ((short int(*)(val
* self
, val
* p0
))(var_nvisibility
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nvisibility
, var_other164
); /* == on <var_nvisibility:nullable AVisibility(AVisibility)>*/
1902 RET_LABEL428
:(void)0;
1910 var433
= nit__model_base___standard__Sys___public_visibility(var432
);
1913 { /* Inline kernel#Object#!= (var_mvisibility,var433) on <var_mvisibility:nullable MVisibility(MVisibility)> */
1914 var_other164
= var433
;
1916 var436
= ((short int(*)(val
* self
, val
* p0
))(var_mvisibility
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mvisibility
, var_other164
); /* == on <var_mvisibility:nullable MVisibility(MVisibility)>*/
1921 RET_LABEL435
:(void)0;
1931 { /* Inline model#MClass#visibility (var_mclass) on <var_mclass:nullable MClass(MClass)> */
1932 var441
= var_mclass
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <var_mclass:nullable MClass(MClass)> */
1933 if (unlikely(var441
== NULL
)) {
1934 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
1935 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 440);
1939 RET_LABEL440
:(void)0;
1943 { /* Inline kernel#Object#!= (var439,var_mvisibility) on <var439:MVisibility> */
1944 var_other164
= var_mvisibility
;
1946 var444
= ((short int(*)(val
* self
, val
* p0
))(var439
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var439
, var_other164
); /* == on <var439:MVisibility>*/
1951 RET_LABEL443
:(void)0;
1959 if (unlikely(varonce446
==NULL
)) {
1960 var447
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
1961 if (likely(varonce448
!=NULL
)) {
1962 var449
= varonce448
;
1964 var450
= "Redef Error: refinement changed the visibility from `";
1965 var451
= standard___standard__NativeString___to_s_with_length(var450
, 53l);
1967 varonce448
= var449
;
1969 ((struct instance_standard__NativeArray
*)var447
)->values
[0]=var449
;
1970 if (likely(varonce452
!=NULL
)) {
1971 var453
= varonce452
;
1974 var455
= standard___standard__NativeString___to_s_with_length(var454
, 6l);
1976 varonce452
= var453
;
1978 ((struct instance_standard__NativeArray
*)var447
)->values
[2]=var453
;
1979 if (likely(varonce456
!=NULL
)) {
1980 var457
= varonce456
;
1983 var459
= standard___standard__NativeString___to_s_with_length(var458
, 1l);
1985 varonce456
= var457
;
1987 ((struct instance_standard__NativeArray
*)var447
)->values
[4]=var457
;
1989 var447
= varonce446
;
1993 { /* Inline model#MClass#visibility (var_mclass) on <var_mclass:nullable MClass(MClass)> */
1994 var462
= var_mclass
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <var_mclass:nullable MClass(MClass)> */
1995 if (unlikely(var462
== NULL
)) {
1996 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
1997 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 440);
2001 RET_LABEL461
:(void)0;
2005 var463
= ((val
*(*)(val
* self
))(var460
->class->vft
[COLOR_standard__string__Object__to_s
]))(var460
); /* to_s on <var460:MVisibility>*/
2007 ((struct instance_standard__NativeArray
*)var447
)->values
[1]=var463
;
2009 var464
= ((val
*(*)(val
* self
))(var_mvisibility
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mvisibility
); /* to_s on <var_mvisibility:nullable MVisibility(MVisibility)>*/
2011 ((struct instance_standard__NativeArray
*)var447
)->values
[3]=var464
;
2013 var465
= ((val
*(*)(val
* self
))(var447
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var447
); /* native_to_s on <var447:NativeArray[String]>*/
2015 varonce446
= var447
;
2017 nit___nit__ModelBuilder___error(self
, var_nvisibility
, var465
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
2027 { /* Inline modelize_class#AClassdef#mclass= (var_nclassdef,var_mclass) on <var_nclassdef:AClassdef> */
2028 var_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___mclass
].val
= var_mclass
; /* _mclass on <var_nclassdef:AClassdef> */
2029 RET_LABEL466
:(void)0;
2033 { /* Inline modelize_class#AModule#mclass2nclassdef (var_nmodule) on <var_nmodule:AModule> */
2034 var469
= var_nmodule
->attrs
[COLOR_nit__modelize_class__AModule___mclass2nclassdef
].val
; /* _mclass2nclassdef on <var_nmodule:AModule> */
2035 if (unlikely(var469
== NULL
)) {
2036 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass2nclassdef");
2037 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 464);
2041 RET_LABEL468
:(void)0;
2045 var470
= ((short int(*)(val
* self
, val
* p0
))((((long)var467
&3)?class_info
[((long)var467
&3)]:var467
->class)->vft
[COLOR_standard__abstract_collection__MapRead__has_key
]))(var467
, var_mclass
); /* has_key on <var467:Map[MClass, AClassdef]>*/
2050 { /* Inline modelize_class#AModule#mclass2nclassdef (var_nmodule) on <var_nmodule:AModule> */
2051 var474
= var_nmodule
->attrs
[COLOR_nit__modelize_class__AModule___mclass2nclassdef
].val
; /* _mclass2nclassdef on <var_nmodule:AModule> */
2052 if (unlikely(var474
== NULL
)) {
2053 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass2nclassdef");
2054 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 464);
2058 RET_LABEL473
:(void)0;
2062 ((void(*)(val
* self
, val
* p0
, val
* p1
))((((long)var472
&3)?class_info
[((long)var472
&3)]:var472
->class)->vft
[COLOR_standard__abstract_collection__Map___91d_93d_61d
]))(var472
, var_mclass
, var_nclassdef
); /* []= on <var472:Map[MClass, AClassdef]>*/
2064 var475
= NEW_standard__Array(&type_standard__Array__nit__AClassdef
);
2066 standard___standard__Array___with_capacity(var475
, 1l); /* Direct call array#Array#with_capacity on <var475:Array[AClassdef]>*/
2070 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_476
, var_nclassdef
); /* Direct call array#AbstractArray#push on <var_476:Array[AClassdef]>*/
2073 { /* Inline modelize_class#AClassdef#all_defs= (var_nclassdef,var_476) on <var_nclassdef:AClassdef> */
2074 var_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___all_defs
].val
= var_476
; /* _all_defs on <var_nclassdef:AClassdef> */
2075 RET_LABEL477
:(void)0;
2080 { /* Inline modelize_class#AModule#mclass2nclassdef (var_nmodule) on <var_nmodule:AModule> */
2081 var480
= var_nmodule
->attrs
[COLOR_nit__modelize_class__AModule___mclass2nclassdef
].val
; /* _mclass2nclassdef on <var_nmodule:AModule> */
2082 if (unlikely(var480
== NULL
)) {
2083 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass2nclassdef");
2084 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 464);
2088 RET_LABEL479
:(void)0;
2092 var481
= ((val
*(*)(val
* self
, val
* p0
))((((long)var478
&3)?class_info
[((long)var478
&3)]:var478
->class)->vft
[COLOR_standard__abstract_collection__MapRead___91d_93d
]))(var478
, var_mclass
); /* [] on <var478:Map[MClass, AClassdef]>*/
2095 { /* Inline modelize_class#AClassdef#all_defs (var481) on <var481:nullable Object(AClassdef)> */
2096 var484
= var481
->attrs
[COLOR_nit__modelize_class__AClassdef___all_defs
].val
; /* _all_defs on <var481:nullable Object(AClassdef)> */
2098 RET_LABEL483
:(void)0;
2101 if (var482
== NULL
) {
2102 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2103 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 136);
2106 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var482
, var_nclassdef
); /* Direct call array#Array#add on <var482:nullable Array[AClassdef]>*/
2111 /* method modelize_class#ModelBuilder#build_a_mclassdef for (self: ModelBuilder, AModule, AClassdef) */
2112 void nit__modelize_class___ModelBuilder___build_a_mclassdef(val
* self
, val
* p0
, val
* p1
) {
2113 val
* var_nmodule
/* var nmodule: AModule */;
2114 val
* var_nclassdef
/* var nclassdef: AClassdef */;
2115 val
* var
/* : nullable MModule */;
2116 val
* var2
/* : nullable MModule */;
2117 val
* var_mmodule
/* var mmodule: MModule */;
2118 static val
* varonce
;
2119 val
* var3
/* : String */;
2120 char* var4
/* : NativeString */;
2121 val
* var5
/* : FlatString */;
2122 val
* var6
/* : nullable MClass */;
2123 val
* var_objectclass
/* var objectclass: nullable MClass */;
2124 val
* var7
/* : nullable MClass */;
2125 val
* var9
/* : nullable MClass */;
2126 val
* var_mclass
/* var mclass: nullable MClass */;
2127 short int var10
/* : Bool */;
2128 short int var11
/* : Bool */;
2129 val
* var_other
/* var other: nullable Object */;
2130 short int var13
/* : Bool */;
2131 short int var15
/* : Bool */;
2132 val
* var16
/* : Map[MClass, AClassdef] */;
2133 val
* var18
/* : Map[MClass, AClassdef] */;
2134 val
* var19
/* : nullable Object */;
2135 val
* var_other_nclassdef
/* var other_nclassdef: AClassdef */;
2136 short int var20
/* : Bool */;
2137 val
* var_other22
/* var other: nullable Object */;
2138 short int var23
/* : Bool */;
2139 short int var24
/* : Bool */;
2140 short int var25
/* : Bool */;
2143 short int var26
/* : Bool */;
2144 val
* var27
/* : nullable MClassDef */;
2145 val
* var29
/* : nullable MClassDef */;
2146 val
* var31
/* : Array[MType] */;
2147 val
* var_bounds
/* var bounds: Array[MType] */;
2148 short int var32
/* : Bool */;
2149 short int var33
/* : Bool */;
2152 short int var_
/* var : Bool */;
2153 long var36
/* : Int */;
2154 long var38
/* : Int */;
2155 short int var39
/* : Bool */;
2156 short int var41
/* : Bool */;
2159 const char* var_class_name
;
2160 short int var44
/* : Bool */;
2161 long var_i
/* var i: Int */;
2162 long var45
/* : Int */;
2163 long var47
/* : Int */;
2164 long var_48
/* var : Int */;
2165 short int var49
/* : Bool */;
2166 short int var51
/* : Bool */;
2169 const char* var_class_name54
;
2170 short int var55
/* : Bool */;
2171 val
* var56
/* : ANodes[AFormaldef] */;
2172 val
* var58
/* : ANodes[AFormaldef] */;
2173 short int var59
/* : Bool */;
2174 val
* var60
/* : MClassDef */;
2175 val
* var62
/* : MClassDef */;
2176 val
* var63
/* : MClassType */;
2177 val
* var65
/* : MClassType */;
2178 val
* var66
/* : Array[MType] */;
2179 val
* var67
/* : nullable Object */;
2180 val
* var_bound
/* var bound: MType */;
2181 val
* var68
/* : ANodes[AFormaldef] */;
2182 val
* var70
/* : ANodes[AFormaldef] */;
2183 val
* var71
/* : ANode */;
2184 val
* var_nfd
/* var nfd: AFormaldef */;
2185 val
* var72
/* : Array[MParameterType] */;
2186 val
* var74
/* : Array[MParameterType] */;
2187 val
* var75
/* : nullable Object */;
2188 val
* var76
/* : String */;
2189 val
* var78
/* : String */;
2190 val
* var_pname
/* var pname: String */;
2191 val
* var79
/* : TClassid */;
2192 val
* var81
/* : TClassid */;
2193 val
* var82
/* : String */;
2194 short int var83
/* : Bool */;
2195 short int var85
/* : Bool */;
2196 short int var86
/* : Bool */;
2197 val
* var87
/* : TClassid */;
2198 val
* var89
/* : TClassid */;
2199 val
* var91
/* : NativeArray[String] */;
2200 static val
* varonce90
;
2201 static val
* varonce92
;
2202 val
* var93
/* : String */;
2203 char* var94
/* : NativeString */;
2204 val
* var95
/* : FlatString */;
2205 static val
* varonce96
;
2206 val
* var97
/* : String */;
2207 char* var98
/* : NativeString */;
2208 val
* var99
/* : FlatString */;
2209 static val
* varonce100
;
2210 val
* var101
/* : String */;
2211 char* var102
/* : NativeString */;
2212 val
* var103
/* : FlatString */;
2213 static val
* varonce104
;
2214 val
* var105
/* : String */;
2215 char* var106
/* : NativeString */;
2216 val
* var107
/* : FlatString */;
2217 static val
* varonce108
;
2218 val
* var109
/* : String */;
2219 char* var110
/* : NativeString */;
2220 val
* var111
/* : FlatString */;
2221 val
* var112
/* : String */;
2222 val
* var113
/* : TClassid */;
2223 val
* var115
/* : TClassid */;
2224 val
* var116
/* : String */;
2225 val
* var117
/* : MClassDef */;
2226 val
* var119
/* : MClassDef */;
2227 val
* var120
/* : MModule */;
2228 val
* var122
/* : MModule */;
2229 val
* var123
/* : String */;
2230 val
* var124
/* : String */;
2231 val
* var125
/* : nullable AType */;
2232 val
* var127
/* : nullable AType */;
2233 val
* var_nfdt
/* var nfdt: nullable AType */;
2234 short int var128
/* : Bool */;
2235 short int var129
/* : Bool */;
2236 short int var131
/* : Bool */;
2237 short int var132
/* : Bool */;
2238 val
* var133
/* : nullable MType */;
2239 val
* var_bound134
/* var bound: nullable MType */;
2240 short int var135
/* : Bool */;
2241 short int var136
/* : Bool */;
2242 short int var138
/* : Bool */;
2243 short int var140
/* : Bool */;
2244 short int var141
/* : Bool */;
2245 val
* var143
/* : NativeArray[String] */;
2246 static val
* varonce142
;
2247 static val
* varonce144
;
2248 val
* var145
/* : String */;
2249 char* var146
/* : NativeString */;
2250 val
* var147
/* : FlatString */;
2251 static val
* varonce148
;
2252 val
* var149
/* : String */;
2253 char* var150
/* : NativeString */;
2254 val
* var151
/* : FlatString */;
2255 val
* var152
/* : String */;
2256 short int var154
/* : Bool */;
2257 short int var155
/* : Bool */;
2260 short int var_158
/* var : Bool */;
2261 val
* var159
/* : MClass */;
2262 val
* var161
/* : MClass */;
2263 val
* var162
/* : MClassKind */;
2264 val
* var164
/* : MClassKind */;
2265 val
* var165
/* : Sys */;
2266 val
* var166
/* : MClassKind */;
2267 short int var167
/* : Bool */;
2268 short int var169
/* : Bool */;
2269 short int var171
/* : Bool */;
2270 static val
* varonce172
;
2271 val
* var173
/* : String */;
2272 char* var174
/* : NativeString */;
2273 val
* var175
/* : FlatString */;
2274 val
* var177
/* : NativeArray[String] */;
2275 static val
* varonce176
;
2276 static val
* varonce178
;
2277 val
* var179
/* : String */;
2278 char* var180
/* : NativeString */;
2279 val
* var181
/* : FlatString */;
2280 static val
* varonce182
;
2281 val
* var183
/* : String */;
2282 char* var184
/* : NativeString */;
2283 val
* var185
/* : FlatString */;
2284 val
* var186
/* : String */;
2285 val
* var187
/* : String */;
2286 val
* var188
/* : Array[MClassDef] */;
2287 val
* var190
/* : Array[MClassDef] */;
2288 short int var191
/* : Bool */;
2289 short int var192
/* : Bool */;
2290 short int var193
/* : Bool */;
2291 short int var195
/* : Bool */;
2292 short int var197
/* : Bool */;
2293 val
* var199
/* : NativeArray[String] */;
2294 static val
* varonce198
;
2295 static val
* varonce200
;
2296 val
* var201
/* : String */;
2297 char* var202
/* : NativeString */;
2298 val
* var203
/* : FlatString */;
2299 static val
* varonce204
;
2300 val
* var205
/* : String */;
2301 char* var206
/* : NativeString */;
2302 val
* var207
/* : FlatString */;
2303 val
* var208
/* : String */;
2304 val
* var209
/* : MClassType */;
2305 val
* var211
/* : MClassType */;
2306 val
* var212
/* : MType */;
2307 val
* var_bound213
/* var bound: MType */;
2308 val
* var215
/* : MClassDef */;
2309 val
* var217
/* : MClassDef */;
2310 val
* var218
/* : MClassType */;
2311 val
* var220
/* : MClassType */;
2312 val
* var221
/* : Array[MType] */;
2313 val
* var222
/* : nullable Object */;
2314 val
* var_bound223
/* var bound: MType */;
2315 long var225
/* : Int */;
2316 val
* var227
/* : MClassType */;
2317 val
* var_bound_mtype
/* var bound_mtype: MClassType */;
2318 val
* var228
/* : MClassDef */;
2319 val
* var229
/* : Location */;
2320 val
* var231
/* : Location */;
2321 val
* var_mclassdef
/* var mclassdef: MClassDef */;
2322 val
* var233
/* : HashMap[MClassDef, AClassdef] */;
2323 val
* var235
/* : HashMap[MClassDef, AClassdef] */;
2324 short int var236
/* : Bool */;
2327 val
* var239
/* : nullable ADoc */;
2328 val
* var241
/* : nullable ADoc */;
2329 val
* var_ndoc
/* var ndoc: nullable ADoc */;
2330 short int var242
/* : Bool */;
2331 short int var243
/* : Bool */;
2332 short int var245
/* : Bool */;
2333 short int var246
/* : Bool */;
2334 val
* var247
/* : MDoc */;
2335 val
* var_mdoc
/* var mdoc: MDoc */;
2336 short int var250
/* : Bool */;
2337 short int var251
/* : Bool */;
2338 short int var_252
/* var : Bool */;
2339 val
* var253
/* : MVisibility */;
2340 val
* var255
/* : MVisibility */;
2341 val
* var256
/* : Sys */;
2342 val
* var257
/* : MVisibility */;
2343 short int var258
/* : Bool */;
2344 static val
* varonce259
;
2345 val
* var260
/* : String */;
2346 char* var261
/* : NativeString */;
2347 val
* var262
/* : FlatString */;
2348 val
* var264
/* : NativeArray[String] */;
2349 static val
* varonce263
;
2350 static val
* varonce265
;
2351 val
* var266
/* : String */;
2352 char* var267
/* : NativeString */;
2353 val
* var268
/* : FlatString */;
2354 static val
* varonce269
;
2355 val
* var270
/* : String */;
2356 char* var271
/* : NativeString */;
2357 val
* var272
/* : FlatString */;
2358 val
* var273
/* : String */;
2359 val
* var274
/* : String */;
2360 short int var275
/* : Bool */;
2361 val
* var276
/* : ToolContext */;
2362 val
* var278
/* : ToolContext */;
2363 val
* var280
/* : NativeArray[String] */;
2364 static val
* varonce279
;
2365 static val
* varonce281
;
2366 val
* var282
/* : String */;
2367 char* var283
/* : NativeString */;
2368 val
* var284
/* : FlatString */;
2369 static val
* varonce285
;
2370 val
* var286
/* : String */;
2371 char* var287
/* : NativeString */;
2372 val
* var288
/* : FlatString */;
2373 val
* var289
/* : String */;
2374 val
* var290
/* : MClassKind */;
2375 val
* var292
/* : MClassKind */;
2376 val
* var293
/* : String */;
2377 val
* var294
/* : String */;
2378 val
* var295
/* : String */;
2379 val
* var296
/* : ToolContext */;
2380 val
* var298
/* : ToolContext */;
2381 val
* var300
/* : NativeArray[String] */;
2382 static val
* varonce299
;
2383 static val
* varonce301
;
2384 val
* var302
/* : String */;
2385 char* var303
/* : NativeString */;
2386 val
* var304
/* : FlatString */;
2387 static val
* varonce305
;
2388 val
* var306
/* : String */;
2389 char* var307
/* : NativeString */;
2390 val
* var308
/* : FlatString */;
2391 val
* var309
/* : String */;
2392 val
* var310
/* : MClassKind */;
2393 val
* var312
/* : MClassKind */;
2394 val
* var313
/* : String */;
2395 val
* var314
/* : String */;
2396 val
* var315
/* : String */;
2400 { /* Inline loader#AModule#mmodule (var_nmodule) on <var_nmodule:AModule> */
2401 var2
= var_nmodule
->attrs
[COLOR_nit__loader__AModule___mmodule
].val
; /* _mmodule on <var_nmodule:AModule> */
2406 if (unlikely(var
== NULL
)) {
2407 PRINT_ERROR("Runtime error: %s", "Cast failed");
2408 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 143);
2412 if (likely(varonce
!=NULL
)) {
2416 var5
= standard___standard__NativeString___to_s_with_length(var4
, 6l);
2421 var6
= nit___nit__ModelBuilder___try_get_mclass_by_name(self
, var_nmodule
, var_mmodule
, var3
);
2423 var_objectclass
= var6
;
2425 { /* Inline modelize_class#AClassdef#mclass (var_nclassdef) on <var_nclassdef:AClassdef> */
2426 var9
= var_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___mclass
].val
; /* _mclass on <var_nclassdef:AClassdef> */
2432 if (var_mclass
== NULL
) {
2433 var10
= 1; /* is null */
2435 var10
= 0; /* arg is null but recv is not */
2438 { /* Inline kernel#Object#== (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
2439 var_other
= ((val
*)NULL
);
2441 { /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
2442 var15
= var_mclass
== var_other
;
2445 RET_LABEL14
:(void)0;
2450 RET_LABEL12
:(void)0;
2459 { /* Inline modelize_class#AModule#mclass2nclassdef (var_nmodule) on <var_nmodule:AModule> */
2460 var18
= var_nmodule
->attrs
[COLOR_nit__modelize_class__AModule___mclass2nclassdef
].val
; /* _mclass2nclassdef on <var_nmodule:AModule> */
2461 if (unlikely(var18
== NULL
)) {
2462 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass2nclassdef");
2463 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 464);
2467 RET_LABEL17
:(void)0;
2471 var19
= ((val
*(*)(val
* self
, val
* p0
))((((long)var16
&3)?class_info
[((long)var16
&3)]:var16
->class)->vft
[COLOR_standard__abstract_collection__MapRead___91d_93d
]))(var16
, var_mclass
); /* [] on <var16:Map[MClass, AClassdef]>*/
2473 var_other_nclassdef
= var19
;
2475 { /* Inline kernel#Object#!= (var_other_nclassdef,var_nclassdef) on <var_other_nclassdef:AClassdef> */
2476 var_other22
= var_nclassdef
;
2478 var23
= ((short int(*)(val
* self
, val
* p0
))(var_other_nclassdef
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_other_nclassdef
, var_other22
); /* == on <var_other_nclassdef:AClassdef>*/
2483 RET_LABEL21
:(void)0;
2487 /* <var_nclassdef:AClassdef> isa AStdClassdef */
2488 cltype
= type_nit__AStdClassdef
.color
;
2489 idtype
= type_nit__AStdClassdef
.id
;
2490 if(cltype
>= var_nclassdef
->type
->table_size
) {
2493 var25
= var_nclassdef
->type
->type_table
[cltype
] == idtype
;
2496 if (unlikely(!var26
)) {
2497 PRINT_ERROR("Runtime error: %s", "Assert failed");
2498 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 151);
2502 { /* Inline modelize_class#AClassdef#mclassdef (var_other_nclassdef) on <var_other_nclassdef:AClassdef> */
2503 var29
= var_other_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_other_nclassdef:AClassdef> */
2505 RET_LABEL28
:(void)0;
2509 { /* Inline modelize_class#AClassdef#mclassdef= (var_nclassdef,var27) on <var_nclassdef:AClassdef> */
2510 var_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___mclassdef
].val
= var27
; /* _mclassdef on <var_nclassdef:AClassdef> */
2511 RET_LABEL30
:(void)0;
2517 var31
= NEW_standard__Array(&type_standard__Array__nit__MType
);
2519 standard___standard__Array___standard__kernel__Object__init(var31
); /* Direct call array#Array#init on <var31:Array[MType]>*/
2522 /* <var_nclassdef:AClassdef> isa AStdClassdef */
2523 cltype34
= type_nit__AStdClassdef
.color
;
2524 idtype35
= type_nit__AStdClassdef
.id
;
2525 if(cltype34
>= var_nclassdef
->type
->table_size
) {
2528 var33
= var_nclassdef
->type
->type_table
[cltype34
] == idtype35
;
2533 { /* Inline model#MClass#arity (var_mclass) on <var_mclass:nullable MClass(MClass)> */
2534 var38
= var_mclass
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <var_mclass:nullable MClass(MClass)> */
2536 RET_LABEL37
:(void)0;
2540 { /* Inline kernel#Int#> (var36,0l) on <var36:Int> */
2541 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
2542 /* <0l:Int> isa OTHER */
2543 var41
= 1; /* easy <0l:Int> isa OTHER*/
2544 if (unlikely(!var41
)) {
2545 var_class_name
= type_standard__Int
.name
;
2546 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2547 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 536);
2553 RET_LABEL40
:(void)0;
2563 { /* Inline model#MClass#arity (var_mclass) on <var_mclass:nullable MClass(MClass)> */
2564 var47
= var_mclass
->attrs
[COLOR_nit__model__MClass___arity
].l
; /* _arity on <var_mclass:nullable MClass(MClass)> */
2566 RET_LABEL46
:(void)0;
2572 { /* Inline kernel#Int#< (var_i,var_48) on <var_i:Int> */
2573 /* Covariant cast for argument 0 (i) <var_48:Int> isa OTHER */
2574 /* <var_48:Int> isa OTHER */
2575 var51
= 1; /* easy <var_48:Int> isa OTHER*/
2576 if (unlikely(!var51
)) {
2577 var_class_name54
= type_standard__Int
.name
;
2578 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name54
);
2579 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
2582 var55
= var_i
< var_48
;
2585 RET_LABEL50
:(void)0;
2590 { /* Inline parser_nodes#AStdClassdef#n_formaldefs (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
2591 var58
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__AStdClassdef___n_formaldefs
].val
; /* _n_formaldefs on <var_nclassdef:AClassdef(AStdClassdef)> */
2592 if (unlikely(var58
== NULL
)) {
2593 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_formaldefs");
2594 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1207);
2598 RET_LABEL57
:(void)0;
2602 var59
= nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var56
);
2606 { /* Inline model#MClass#intro (var_mclass) on <var_mclass:nullable MClass(MClass)> */
2607 var62
= var_mclass
->attrs
[COLOR_nit__model__MClass___intro
].val
; /* _intro on <var_mclass:nullable MClass(MClass)> */
2608 if (unlikely(var62
== NULL
)) {
2609 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
2610 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 460);
2614 RET_LABEL61
:(void)0;
2618 { /* Inline model#MClassDef#bound_mtype (var60) on <var60:MClassDef> */
2619 var65
= var60
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var60:MClassDef> */
2620 if (unlikely(var65
== NULL
)) {
2621 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2622 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
2626 RET_LABEL64
:(void)0;
2630 var66
= ((val
*(*)(val
* self
))(var63
->class->vft
[COLOR_nit__model__MClassType__arguments
]))(var63
); /* arguments on <var63:MClassType>*/
2633 var67
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var66
, var_i
);
2637 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_bounds
, var_bound
); /* Direct call array#Array#add on <var_bounds:Array[MType]>*/
2643 { /* Inline parser_nodes#AStdClassdef#n_formaldefs (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
2644 var70
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__AStdClassdef___n_formaldefs
].val
; /* _n_formaldefs on <var_nclassdef:AClassdef(AStdClassdef)> */
2645 if (unlikely(var70
== NULL
)) {
2646 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_formaldefs");
2647 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1207);
2651 RET_LABEL69
:(void)0;
2655 var71
= nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var68
, var_i
);
2659 { /* Inline model#MClass#mparameters (var_mclass) on <var_mclass:nullable MClass(MClass)> */
2660 var74
= var_mclass
->attrs
[COLOR_nit__model__MClass___mparameters
].val
; /* _mparameters on <var_mclass:nullable MClass(MClass)> */
2661 if (unlikely(var74
== NULL
)) {
2662 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
2663 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 382);
2667 RET_LABEL73
:(void)0;
2671 var75
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var72
, var_i
);
2674 { /* Inline model#MParameterType#name (var75) on <var75:nullable Object(MParameterType)> */
2675 var78
= var75
->attrs
[COLOR_nit__model__MParameterType___name
].val
; /* _name on <var75:nullable Object(MParameterType)> */
2676 if (unlikely(var78
== NULL
)) {
2677 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2678 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1481);
2682 RET_LABEL77
:(void)0;
2687 { /* Inline parser_nodes#AFormaldef#n_id (var_nfd) on <var_nfd:AFormaldef> */
2688 var81
= var_nfd
->attrs
[COLOR_nit__parser_nodes__AFormaldef___n_id
].val
; /* _n_id on <var_nfd:AFormaldef> */
2689 if (unlikely(var81
== NULL
)) {
2690 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
2691 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1291);
2695 RET_LABEL80
:(void)0;
2699 var82
= nit__lexer_work___Token___text(var79
);
2702 { /* Inline kernel#Object#!= (var82,var_pname) on <var82:String> */
2703 var_other22
= var_pname
;
2705 var85
= ((short int(*)(val
* self
, val
* p0
))(var82
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var82
, var_other22
); /* == on <var82:String>*/
2710 RET_LABEL84
:(void)0;
2715 { /* Inline parser_nodes#AFormaldef#n_id (var_nfd) on <var_nfd:AFormaldef> */
2716 var89
= var_nfd
->attrs
[COLOR_nit__parser_nodes__AFormaldef___n_id
].val
; /* _n_id on <var_nfd:AFormaldef> */
2717 if (unlikely(var89
== NULL
)) {
2718 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
2719 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1291);
2723 RET_LABEL88
:(void)0;
2726 if (unlikely(varonce90
==NULL
)) {
2727 var91
= NEW_standard__NativeArray(9l, &type_standard__NativeArray__standard__String
);
2728 if (likely(varonce92
!=NULL
)) {
2731 var94
= "Error: formal parameter type #";
2732 var95
= standard___standard__NativeString___to_s_with_length(var94
, 30l);
2736 ((struct instance_standard__NativeArray
*)var91
)->values
[0]=var93
;
2737 if (likely(varonce96
!=NULL
)) {
2741 var99
= standard___standard__NativeString___to_s_with_length(var98
, 2l);
2745 ((struct instance_standard__NativeArray
*)var91
)->values
[2]=var97
;
2746 if (likely(varonce100
!=NULL
)) {
2747 var101
= varonce100
;
2749 var102
= "` must be named `";
2750 var103
= standard___standard__NativeString___to_s_with_length(var102
, 17l);
2752 varonce100
= var101
;
2754 ((struct instance_standard__NativeArray
*)var91
)->values
[4]=var101
;
2755 if (likely(varonce104
!=NULL
)) {
2756 var105
= varonce104
;
2758 var106
= "` as in the original definition in module `";
2759 var107
= standard___standard__NativeString___to_s_with_length(var106
, 43l);
2761 varonce104
= var105
;
2763 ((struct instance_standard__NativeArray
*)var91
)->values
[6]=var105
;
2764 if (likely(varonce108
!=NULL
)) {
2765 var109
= varonce108
;
2768 var111
= standard___standard__NativeString___to_s_with_length(var110
, 2l);
2770 varonce108
= var109
;
2772 ((struct instance_standard__NativeArray
*)var91
)->values
[8]=var109
;
2777 var112
= standard__string___Int___Object__to_s(var_i
);
2778 ((struct instance_standard__NativeArray
*)var91
)->values
[1]=var112
;
2780 { /* Inline parser_nodes#AFormaldef#n_id (var_nfd) on <var_nfd:AFormaldef> */
2781 var115
= var_nfd
->attrs
[COLOR_nit__parser_nodes__AFormaldef___n_id
].val
; /* _n_id on <var_nfd:AFormaldef> */
2782 if (unlikely(var115
== NULL
)) {
2783 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
2784 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1291);
2788 RET_LABEL114
:(void)0;
2792 var116
= nit__lexer_work___Token___text(var113
);
2794 ((struct instance_standard__NativeArray
*)var91
)->values
[3]=var116
;
2795 ((struct instance_standard__NativeArray
*)var91
)->values
[5]=var_pname
;
2797 { /* Inline model#MClass#intro (var_mclass) on <var_mclass:nullable MClass(MClass)> */
2798 var119
= var_mclass
->attrs
[COLOR_nit__model__MClass___intro
].val
; /* _intro on <var_mclass:nullable MClass(MClass)> */
2799 if (unlikely(var119
== NULL
)) {
2800 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
2801 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 460);
2805 RET_LABEL118
:(void)0;
2809 { /* Inline model#MClassDef#mmodule (var117) on <var117:MClassDef> */
2810 var122
= var117
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var117:MClassDef> */
2811 if (unlikely(var122
== NULL
)) {
2812 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2813 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
2817 RET_LABEL121
:(void)0;
2821 var123
= ((val
*(*)(val
* self
))(var120
->class->vft
[COLOR_standard__string__Object__to_s
]))(var120
); /* to_s on <var120:MModule>*/
2823 ((struct instance_standard__NativeArray
*)var91
)->values
[7]=var123
;
2825 var124
= ((val
*(*)(val
* self
))(var91
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var91
); /* native_to_s on <var91:NativeArray[String]>*/
2829 nit___nit__ModelBuilder___error(self
, var87
, var124
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
2834 { /* Inline parser_nodes#AFormaldef#n_type (var_nfd) on <var_nfd:AFormaldef> */
2835 var127
= var_nfd
->attrs
[COLOR_nit__parser_nodes__AFormaldef___n_type
].val
; /* _n_type on <var_nfd:AFormaldef> */
2837 RET_LABEL126
:(void)0;
2841 if (var_nfdt
== NULL
) {
2842 var128
= 0; /* is null */
2844 var128
= 1; /* arg is null and recv is not */
2847 { /* Inline kernel#Object#!= (var_nfdt,((val*)NULL)) on <var_nfdt:nullable AType> */
2848 var_other22
= ((val
*)NULL
);
2850 var131
= ((short int(*)(val
* self
, val
* p0
))(var_nfdt
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nfdt
, var_other22
); /* == on <var_nfdt:nullable AType(AType)>*/
2855 RET_LABEL130
:(void)0;
2861 var133
= nit___nit__ModelBuilder___resolve_mtype_unchecked(self
, var_mmodule
, ((val
*)NULL
), var_nfdt
, 0);
2863 var_bound134
= var133
;
2864 if (var_bound134
== NULL
) {
2865 var135
= 1; /* is null */
2867 var135
= 0; /* arg is null but recv is not */
2870 { /* Inline kernel#Object#== (var_bound134,((val*)NULL)) on <var_bound134:nullable MType> */
2871 var_other
= ((val
*)NULL
);
2873 { /* Inline kernel#Object#is_same_instance (var_bound134,var_other) on <var_bound134:nullable MType(MType)> */
2874 var140
= var_bound134
== var_other
;
2877 RET_LABEL139
:(void)0;
2882 RET_LABEL137
:(void)0;
2891 var141
= ((short int(*)(val
* self
))(var_bound134
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_bound134
); /* need_anchor on <var_bound134:nullable MType(MType)>*/
2894 if (unlikely(varonce142
==NULL
)) {
2895 var143
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2896 if (likely(varonce144
!=NULL
)) {
2897 var145
= varonce144
;
2899 var146
= "Error: formal parameter type `";
2900 var147
= standard___standard__NativeString___to_s_with_length(var146
, 30l);
2902 varonce144
= var145
;
2904 ((struct instance_standard__NativeArray
*)var143
)->values
[0]=var145
;
2905 if (likely(varonce148
!=NULL
)) {
2906 var149
= varonce148
;
2908 var150
= "` bounded with a formal parameter type.";
2909 var151
= standard___standard__NativeString___to_s_with_length(var150
, 39l);
2911 varonce148
= var149
;
2913 ((struct instance_standard__NativeArray
*)var143
)->values
[2]=var149
;
2915 var143
= varonce142
;
2918 ((struct instance_standard__NativeArray
*)var143
)->values
[1]=var_pname
;
2920 var152
= ((val
*(*)(val
* self
))(var143
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var143
); /* native_to_s on <var143:NativeArray[String]>*/
2922 varonce142
= var143
;
2924 nit___nit__ModelBuilder___error(self
, var_nfd
, var152
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
2928 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_bounds
, var_bound134
); /* Direct call array#Array#add on <var_bounds:Array[MType]>*/
2931 { /* Inline modelize_class#AFormaldef#bound= (var_nfd,var_bound134) on <var_nfd:AFormaldef> */
2932 var_nfd
->attrs
[COLOR_nit__modelize_class__AFormaldef___bound
].val
= var_bound134
; /* _bound on <var_nfd:AFormaldef> */
2933 RET_LABEL153
:(void)0;
2937 /* <var_bound134:nullable MType(MType)> isa MClassType */
2938 cltype156
= type_nit__MClassType
.color
;
2939 idtype157
= type_nit__MClassType
.id
;
2940 if(cltype156
>= var_bound134
->type
->table_size
) {
2943 var155
= var_bound134
->type
->type_table
[cltype156
] == idtype157
;
2948 { /* Inline model#MClassType#mclass (var_bound134) on <var_bound134:nullable MType(MClassType)> */
2949 var161
= var_bound134
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_bound134:nullable MType(MClassType)> */
2950 if (unlikely(var161
== NULL
)) {
2951 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2952 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
2956 RET_LABEL160
:(void)0;
2960 { /* Inline model#MClass#kind (var159) on <var159:MClass> */
2961 var164
= var159
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var159:MClass> */
2962 if (unlikely(var164
== NULL
)) {
2963 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
2964 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 436);
2968 RET_LABEL163
:(void)0;
2973 var166
= nit__model___standard__Sys___enum_kind(var165
);
2976 { /* Inline kernel#Object#== (var162,var166) on <var162:MClassKind> */
2979 { /* Inline kernel#Object#is_same_instance (var162,var_other) on <var162:MClassKind> */
2980 var171
= var162
== var_other
;
2983 RET_LABEL170
:(void)0;
2988 RET_LABEL168
:(void)0;
2996 if (likely(varonce172
!=NULL
)) {
2997 var173
= varonce172
;
2999 var174
= "useless-bound";
3000 var175
= standard___standard__NativeString___to_s_with_length(var174
, 13l);
3002 varonce172
= var173
;
3004 if (unlikely(varonce176
==NULL
)) {
3005 var177
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
3006 if (likely(varonce178
!=NULL
)) {
3007 var179
= varonce178
;
3009 var180
= "Warning: useless formal parameter type since `";
3010 var181
= standard___standard__NativeString___to_s_with_length(var180
, 46l);
3012 varonce178
= var179
;
3014 ((struct instance_standard__NativeArray
*)var177
)->values
[0]=var179
;
3015 if (likely(varonce182
!=NULL
)) {
3016 var183
= varonce182
;
3018 var184
= "` cannot have subclasses.";
3019 var185
= standard___standard__NativeString___to_s_with_length(var184
, 25l);
3021 varonce182
= var183
;
3023 ((struct instance_standard__NativeArray
*)var177
)->values
[2]=var183
;
3025 var177
= varonce176
;
3029 var186
= ((val
*(*)(val
* self
))(var_bound134
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_bound134
); /* to_s on <var_bound134:nullable MType(MClassType)>*/
3031 ((struct instance_standard__NativeArray
*)var177
)->values
[1]=var186
;
3033 var187
= ((val
*(*)(val
* self
))(var177
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var177
); /* native_to_s on <var177:NativeArray[String]>*/
3035 varonce176
= var177
;
3037 nit___nit__ModelBuilder___warning(self
, var_nfdt
, var173
, var187
); /* Direct call modelbuilder_base#ModelBuilder#warning on <self:ModelBuilder>*/
3043 { /* Inline model#MClass#mclassdefs (var_mclass) on <var_mclass:nullable MClass(MClass)> */
3044 var190
= var_mclass
->attrs
[COLOR_nit__model__MClass___mclassdefs
].val
; /* _mclassdefs on <var_mclass:nullable MClass(MClass)> */
3045 if (unlikely(var190
== NULL
)) {
3046 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
3047 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 454);
3051 RET_LABEL189
:(void)0;
3055 var191
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var188
);
3058 if (var_objectclass
== NULL
) {
3059 var192
= 1; /* is null */
3061 var192
= 0; /* arg is null but recv is not */
3064 { /* Inline kernel#Object#== (var_objectclass,((val*)NULL)) on <var_objectclass:nullable MClass> */
3065 var_other
= ((val
*)NULL
);
3067 { /* Inline kernel#Object#is_same_instance (var_objectclass,var_other) on <var_objectclass:nullable MClass(MClass)> */
3068 var197
= var_objectclass
== var_other
;
3071 RET_LABEL196
:(void)0;
3076 RET_LABEL194
:(void)0;
3081 if (unlikely(varonce198
==NULL
)) {
3082 var199
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
3083 if (likely(varonce200
!=NULL
)) {
3084 var201
= varonce200
;
3086 var202
= "Error: formal parameter type `";
3087 var203
= standard___standard__NativeString___to_s_with_length(var202
, 30l);
3089 varonce200
= var201
;
3091 ((struct instance_standard__NativeArray
*)var199
)->values
[0]=var201
;
3092 if (likely(varonce204
!=NULL
)) {
3093 var205
= varonce204
;
3095 var206
= "` unbounded but no `Object` class exists.";
3096 var207
= standard___standard__NativeString___to_s_with_length(var206
, 41l);
3098 varonce204
= var205
;
3100 ((struct instance_standard__NativeArray
*)var199
)->values
[2]=var205
;
3102 var199
= varonce198
;
3105 ((struct instance_standard__NativeArray
*)var199
)->values
[1]=var_pname
;
3107 var208
= ((val
*(*)(val
* self
))(var199
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var199
); /* native_to_s on <var199:NativeArray[String]>*/
3109 varonce198
= var199
;
3111 nit___nit__ModelBuilder___error(self
, var_nfd
, var208
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
3117 { /* Inline model#MClass#mclass_type (var_objectclass) on <var_objectclass:nullable MClass(MClass)> */
3118 var211
= var_objectclass
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_objectclass:nullable MClass(MClass)> */
3119 if (unlikely(var211
== NULL
)) {
3120 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
3121 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
3125 RET_LABEL210
:(void)0;
3129 var212
= nit___nit__MType___as_nullable(var209
);
3131 var_bound213
= var212
;
3133 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_bounds
, var_bound213
); /* Direct call array#Array#add on <var_bounds:Array[MType]>*/
3136 { /* Inline modelize_class#AFormaldef#bound= (var_nfd,var_bound213) on <var_nfd:AFormaldef> */
3137 var_nfd
->attrs
[COLOR_nit__modelize_class__AFormaldef___bound
].val
= var_bound213
; /* _bound on <var_nfd:AFormaldef> */
3138 RET_LABEL214
:(void)0;
3143 { /* Inline model#MClass#intro (var_mclass) on <var_mclass:nullable MClass(MClass)> */
3144 var217
= var_mclass
->attrs
[COLOR_nit__model__MClass___intro
].val
; /* _intro on <var_mclass:nullable MClass(MClass)> */
3145 if (unlikely(var217
== NULL
)) {
3146 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3147 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 460);
3151 RET_LABEL216
:(void)0;
3155 { /* Inline model#MClassDef#bound_mtype (var215) on <var215:MClassDef> */
3156 var220
= var215
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var215:MClassDef> */
3157 if (unlikely(var220
== NULL
)) {
3158 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
3159 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
3163 RET_LABEL219
:(void)0;
3167 var221
= ((val
*(*)(val
* self
))(var218
->class->vft
[COLOR_nit__model__MClassType__arguments
]))(var218
); /* arguments on <var218:MClassType>*/
3170 var222
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var221
, var_i
);
3172 var_bound223
= var222
;
3174 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_bounds
, var_bound223
); /* Direct call array#Array#add on <var_bounds:Array[MType]>*/
3177 { /* Inline modelize_class#AFormaldef#bound= (var_nfd,var_bound223) on <var_nfd:AFormaldef> */
3178 var_nfd
->attrs
[COLOR_nit__modelize_class__AFormaldef___bound
].val
= var_bound223
; /* _bound on <var_nfd:AFormaldef> */
3179 RET_LABEL224
:(void)0;
3184 BREAK_label
: (void)0;
3186 var225
= standard___standard__Int___Discrete__successor(var_i
, 1l);
3190 goto BREAK_label226
;
3193 BREAK_label226
: (void)0;
3197 var227
= nit___nit__MClass___get_mtype(var_mclass
, var_bounds
);
3199 var_bound_mtype
= var227
;
3200 var228
= NEW_nit__MClassDef(&type_nit__MClassDef
);
3202 { /* Inline parser_nodes#ANode#location (var_nclassdef) on <var_nclassdef:AClassdef> */
3203 var231
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <var_nclassdef:AClassdef> */
3204 if (unlikely(var231
== NULL
)) {
3205 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
3206 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 24);
3210 RET_LABEL230
:(void)0;
3214 ((void(*)(val
* self
, val
* p0
))(var228
->class->vft
[COLOR_nit__model__MClassDef__mmodule_61d
]))(var228
, var_mmodule
); /* mmodule= on <var228:MClassDef>*/
3217 ((void(*)(val
* self
, val
* p0
))(var228
->class->vft
[COLOR_nit__model__MClassDef__bound_mtype_61d
]))(var228
, var_bound_mtype
); /* bound_mtype= on <var228:MClassDef>*/
3220 ((void(*)(val
* self
, val
* p0
))(var228
->class->vft
[COLOR_nit__model__MClassDef__location_61d
]))(var228
, var229
); /* location= on <var228:MClassDef>*/
3223 ((void(*)(val
* self
))(var228
->class->vft
[COLOR_standard__kernel__Object__init
]))(var228
); /* init on <var228:MClassDef>*/
3225 var_mclassdef
= var228
;
3227 { /* Inline modelize_class#AClassdef#mclassdef= (var_nclassdef,var_mclassdef) on <var_nclassdef:AClassdef> */
3228 var_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___mclassdef
].val
= var_mclassdef
; /* _mclassdef on <var_nclassdef:AClassdef> */
3229 RET_LABEL232
:(void)0;
3233 { /* Inline modelize_class#ModelBuilder#mclassdef2nclassdef (self) on <self:ModelBuilder> */
3234 var235
= self
->attrs
[COLOR_nit__modelize_class__ModelBuilder___mclassdef2nclassdef
].val
; /* _mclassdef2nclassdef on <self:ModelBuilder> */
3235 if (unlikely(var235
== NULL
)) {
3236 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef2nclassdef");
3237 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 449);
3241 RET_LABEL234
:(void)0;
3245 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var233
, var_mclassdef
, var_nclassdef
); /* Direct call hash_collection#HashMap#[]= on <var233:HashMap[MClassDef, AClassdef]>*/
3247 /* <var_nclassdef:AClassdef> isa AStdClassdef */
3248 cltype237
= type_nit__AStdClassdef
.color
;
3249 idtype238
= type_nit__AStdClassdef
.id
;
3250 if(cltype237
>= var_nclassdef
->type
->table_size
) {
3253 var236
= var_nclassdef
->type
->type_table
[cltype237
] == idtype238
;
3257 { /* Inline parser_nodes#ADefinition#n_doc (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
3258 var241
= var_nclassdef
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_doc
].val
; /* _n_doc on <var_nclassdef:AClassdef(AStdClassdef)> */
3260 RET_LABEL240
:(void)0;
3264 if (var_ndoc
== NULL
) {
3265 var242
= 0; /* is null */
3267 var242
= 1; /* arg is null and recv is not */
3270 { /* Inline kernel#Object#!= (var_ndoc,((val*)NULL)) on <var_ndoc:nullable ADoc> */
3271 var_other22
= ((val
*)NULL
);
3273 var245
= ((short int(*)(val
* self
, val
* p0
))(var_ndoc
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ndoc
, var_other22
); /* == on <var_ndoc:nullable ADoc(ADoc)>*/
3278 RET_LABEL244
:(void)0;
3284 var247
= nit__modelbuilder_base___ADoc___to_mdoc(var_ndoc
);
3288 { /* Inline mdoc#MEntity#mdoc= (var_mclassdef,var_mdoc) on <var_mclassdef:MClassDef> */
3289 var_mclassdef
->attrs
[COLOR_nit__mdoc__MEntity___mdoc
].val
= var_mdoc
; /* _mdoc on <var_mclassdef:MClassDef> */
3290 RET_LABEL248
:(void)0;
3294 { /* Inline mdoc#MDoc#original_mentity= (var_mdoc,var_mclassdef) on <var_mdoc:MDoc> */
3295 var_mdoc
->attrs
[COLOR_nit__mdoc__MDoc___original_mentity
].val
= var_mclassdef
; /* _original_mentity on <var_mdoc:MDoc> */
3296 RET_LABEL249
:(void)0;
3301 var251
= nit___nit__MClassDef___is_intro(var_mclassdef
);
3306 { /* Inline model#MClass#visibility (var_mclass) on <var_mclass:nullable MClass(MClass)> */
3307 var255
= var_mclass
->attrs
[COLOR_nit__model__MClass___visibility
].val
; /* _visibility on <var_mclass:nullable MClass(MClass)> */
3308 if (unlikely(var255
== NULL
)) {
3309 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
3310 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 440);
3314 RET_LABEL254
:(void)0;
3319 var257
= nit__model_base___standard__Sys___public_visibility(var256
);
3322 var258
= standard___standard__Comparable____62d_61d(var253
, var257
);
3329 if (likely(varonce259
!=NULL
)) {
3330 var260
= varonce259
;
3332 var261
= "missing-doc";
3333 var262
= standard___standard__NativeString___to_s_with_length(var261
, 11l);
3335 varonce259
= var260
;
3337 if (unlikely(varonce263
==NULL
)) {
3338 var264
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
3339 if (likely(varonce265
!=NULL
)) {
3340 var266
= varonce265
;
3342 var267
= "Documentation warning: Undocumented public class `";
3343 var268
= standard___standard__NativeString___to_s_with_length(var267
, 50l);
3345 varonce265
= var266
;
3347 ((struct instance_standard__NativeArray
*)var264
)->values
[0]=var266
;
3348 if (likely(varonce269
!=NULL
)) {
3349 var270
= varonce269
;
3352 var272
= standard___standard__NativeString___to_s_with_length(var271
, 1l);
3354 varonce269
= var270
;
3356 ((struct instance_standard__NativeArray
*)var264
)->values
[2]=var270
;
3358 var264
= varonce263
;
3362 var273
= ((val
*(*)(val
* self
))(var_mclass
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mclass
); /* to_s on <var_mclass:nullable MClass(MClass)>*/
3364 ((struct instance_standard__NativeArray
*)var264
)->values
[1]=var273
;
3366 var274
= ((val
*(*)(val
* self
))(var264
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var264
); /* native_to_s on <var264:NativeArray[String]>*/
3368 varonce263
= var264
;
3370 nit___nit__ModelBuilder___advice(self
, var_nclassdef
, var260
, var274
); /* Direct call modelbuilder_base#ModelBuilder#advice on <self:ModelBuilder>*/
3378 var275
= nit___nit__MClassDef___is_intro(var_mclassdef
);
3382 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
3383 var278
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
3384 if (unlikely(var278
== NULL
)) {
3385 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3386 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
3390 RET_LABEL277
:(void)0;
3393 if (unlikely(varonce279
==NULL
)) {
3394 var280
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
3395 if (likely(varonce281
!=NULL
)) {
3396 var282
= varonce281
;
3398 var283
= " introduces new ";
3399 var284
= standard___standard__NativeString___to_s_with_length(var283
, 16l);
3401 varonce281
= var282
;
3403 ((struct instance_standard__NativeArray
*)var280
)->values
[1]=var282
;
3404 if (likely(varonce285
!=NULL
)) {
3405 var286
= varonce285
;
3408 var288
= standard___standard__NativeString___to_s_with_length(var287
, 1l);
3410 varonce285
= var286
;
3412 ((struct instance_standard__NativeArray
*)var280
)->values
[3]=var286
;
3414 var280
= varonce279
;
3418 var289
= ((val
*(*)(val
* self
))(var_mclassdef
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mclassdef
); /* to_s on <var_mclassdef:MClassDef>*/
3420 ((struct instance_standard__NativeArray
*)var280
)->values
[0]=var289
;
3422 { /* Inline model#MClass#kind (var_mclass) on <var_mclass:nullable MClass(MClass)> */
3423 var292
= var_mclass
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var_mclass:nullable MClass(MClass)> */
3424 if (unlikely(var292
== NULL
)) {
3425 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3426 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 436);
3430 RET_LABEL291
:(void)0;
3434 var293
= ((val
*(*)(val
* self
))(var290
->class->vft
[COLOR_standard__string__Object__to_s
]))(var290
); /* to_s on <var290:MClassKind>*/
3436 ((struct instance_standard__NativeArray
*)var280
)->values
[2]=var293
;
3438 var294
= nit___nit__MClass___nit__model_base__MEntity__full_name(var_mclass
);
3440 ((struct instance_standard__NativeArray
*)var280
)->values
[4]=var294
;
3442 var295
= ((val
*(*)(val
* self
))(var280
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var280
); /* native_to_s on <var280:NativeArray[String]>*/
3444 varonce279
= var280
;
3446 nit___nit__ToolContext___info(var276
, var295
, 3l); /* Direct call toolcontext#ToolContext#info on <var276:ToolContext>*/
3450 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
3451 var298
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
3452 if (unlikely(var298
== NULL
)) {
3453 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3454 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
3458 RET_LABEL297
:(void)0;
3461 if (unlikely(varonce299
==NULL
)) {
3462 var300
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
3463 if (likely(varonce301
!=NULL
)) {
3464 var302
= varonce301
;
3466 var303
= " refine ";
3467 var304
= standard___standard__NativeString___to_s_with_length(var303
, 8l);
3469 varonce301
= var302
;
3471 ((struct instance_standard__NativeArray
*)var300
)->values
[1]=var302
;
3472 if (likely(varonce305
!=NULL
)) {
3473 var306
= varonce305
;
3476 var308
= standard___standard__NativeString___to_s_with_length(var307
, 1l);
3478 varonce305
= var306
;
3480 ((struct instance_standard__NativeArray
*)var300
)->values
[3]=var306
;
3482 var300
= varonce299
;
3486 var309
= ((val
*(*)(val
* self
))(var_mclassdef
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mclassdef
); /* to_s on <var_mclassdef:MClassDef>*/
3488 ((struct instance_standard__NativeArray
*)var300
)->values
[0]=var309
;
3490 { /* Inline model#MClass#kind (var_mclass) on <var_mclass:nullable MClass(MClass)> */
3491 var312
= var_mclass
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var_mclass:nullable MClass(MClass)> */
3492 if (unlikely(var312
== NULL
)) {
3493 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3494 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 436);
3498 RET_LABEL311
:(void)0;
3502 var313
= ((val
*(*)(val
* self
))(var310
->class->vft
[COLOR_standard__string__Object__to_s
]))(var310
); /* to_s on <var310:MClassKind>*/
3504 ((struct instance_standard__NativeArray
*)var300
)->values
[2]=var313
;
3506 var314
= nit___nit__MClass___nit__model_base__MEntity__full_name(var_mclass
);
3508 ((struct instance_standard__NativeArray
*)var300
)->values
[4]=var314
;
3510 var315
= ((val
*(*)(val
* self
))(var300
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var300
); /* native_to_s on <var300:NativeArray[String]>*/
3512 varonce299
= var300
;
3514 nit___nit__ToolContext___info(var296
, var315
, 3l); /* Direct call toolcontext#ToolContext#info on <var296:ToolContext>*/
3519 /* method modelize_class#ModelBuilder#collect_a_mclassdef_inheritance for (self: ModelBuilder, AModule, AClassdef) */
3520 void nit__modelize_class___ModelBuilder___collect_a_mclassdef_inheritance(val
* self
, val
* p0
, val
* p1
) {
3521 val
* var_nmodule
/* var nmodule: AModule */;
3522 val
* var_nclassdef
/* var nclassdef: AClassdef */;
3523 val
* var
/* : nullable MModule */;
3524 val
* var2
/* : nullable MModule */;
3525 val
* var_mmodule
/* var mmodule: nullable MModule */;
3526 short int var3
/* : Bool */;
3527 short int var4
/* : Bool */;
3528 val
* var_other
/* var other: nullable Object */;
3529 short int var6
/* : Bool */;
3530 short int var8
/* : Bool */;
3531 static val
* varonce
;
3532 val
* var9
/* : String */;
3533 char* var10
/* : NativeString */;
3534 val
* var11
/* : FlatString */;
3535 val
* var12
/* : nullable MClass */;
3536 val
* var_objectclass
/* var objectclass: nullable MClass */;
3537 static val
* varonce13
;
3538 val
* var14
/* : String */;
3539 char* var15
/* : NativeString */;
3540 val
* var16
/* : FlatString */;
3541 val
* var17
/* : nullable MClass */;
3542 val
* var_pointerclass
/* var pointerclass: nullable MClass */;
3543 val
* var18
/* : nullable MClass */;
3544 val
* var20
/* : nullable MClass */;
3545 val
* var_mclass
/* var mclass: nullable MClass */;
3546 short int var21
/* : Bool */;
3547 short int var22
/* : Bool */;
3548 short int var24
/* : Bool */;
3549 short int var26
/* : Bool */;
3550 val
* var27
/* : nullable MClassDef */;
3551 val
* var29
/* : nullable MClassDef */;
3552 val
* var_mclassdef
/* var mclassdef: nullable MClassDef */;
3553 short int var30
/* : Bool */;
3554 short int var31
/* : Bool */;
3555 short int var33
/* : Bool */;
3556 short int var35
/* : Bool */;
3557 short int var_specobject
/* var specobject: Bool */;
3558 short int var_specpointer
/* var specpointer: Bool */;
3559 val
* var36
/* : Array[MClassType] */;
3560 val
* var_supertypes
/* var supertypes: Array[MClassType] */;
3561 short int var37
/* : Bool */;
3564 val
* var38
/* : Array[ASuperPropdef] */;
3565 val
* var_
/* var : Array[ASuperPropdef] */;
3566 val
* var39
/* : ArrayIterator[nullable Object] */;
3567 val
* var_40
/* var : ArrayIterator[ASuperPropdef] */;
3568 short int var41
/* : Bool */;
3569 val
* var42
/* : nullable Object */;
3570 val
* var_nsc
/* var nsc: ASuperPropdef */;
3571 val
* var43
/* : AType */;
3572 val
* var45
/* : AType */;
3573 val
* var_ntype
/* var ntype: AType */;
3574 val
* var46
/* : nullable MType */;
3575 val
* var_mtype
/* var mtype: nullable MType */;
3576 short int var47
/* : Bool */;
3577 short int var48
/* : Bool */;
3578 short int var50
/* : Bool */;
3579 short int var52
/* : Bool */;
3580 short int var53
/* : Bool */;
3583 short int var56
/* : Bool */;
3584 static val
* varonce57
;
3585 val
* var58
/* : String */;
3586 char* var59
/* : NativeString */;
3587 val
* var60
/* : FlatString */;
3588 val
* var61
/* : MClassKind */;
3589 val
* var63
/* : MClassKind */;
3590 val
* var64
/* : MClass */;
3591 val
* var66
/* : MClass */;
3592 val
* var67
/* : MClassKind */;
3593 val
* var69
/* : MClassKind */;
3594 short int var70
/* : Bool */;
3595 short int var71
/* : Bool */;
3596 val
* var73
/* : NativeArray[String] */;
3597 static val
* varonce72
;
3598 static val
* varonce74
;
3599 val
* var75
/* : String */;
3600 char* var76
/* : NativeString */;
3601 val
* var77
/* : FlatString */;
3602 static val
* varonce78
;
3603 val
* var79
/* : String */;
3604 char* var80
/* : NativeString */;
3605 val
* var81
/* : FlatString */;
3606 static val
* varonce82
;
3607 val
* var83
/* : String */;
3608 char* var84
/* : NativeString */;
3609 val
* var85
/* : FlatString */;
3610 static val
* varonce86
;
3611 val
* var87
/* : String */;
3612 char* var88
/* : NativeString */;
3613 val
* var89
/* : FlatString */;
3614 static val
* varonce90
;
3615 val
* var91
/* : String */;
3616 char* var92
/* : NativeString */;
3617 val
* var93
/* : FlatString */;
3618 val
* var94
/* : MClassKind */;
3619 val
* var96
/* : MClassKind */;
3620 val
* var97
/* : String */;
3621 val
* var98
/* : String */;
3622 val
* var99
/* : MClass */;
3623 val
* var101
/* : MClass */;
3624 val
* var102
/* : MClassKind */;
3625 val
* var104
/* : MClassKind */;
3626 val
* var105
/* : String */;
3627 val
* var106
/* : MClass */;
3628 val
* var108
/* : MClass */;
3629 val
* var109
/* : String */;
3630 val
* var110
/* : String */;
3631 val
* var111
/* : MClass */;
3632 val
* var113
/* : MClass */;
3633 val
* var114
/* : MClassKind */;
3634 val
* var116
/* : MClassKind */;
3635 val
* var117
/* : Sys */;
3636 val
* var118
/* : MClassKind */;
3637 short int var119
/* : Bool */;
3638 short int var121
/* : Bool */;
3639 short int var123
/* : Bool */;
3640 short int var125
/* : Bool */;
3641 short int var126
/* : Bool */;
3642 short int var_127
/* var : Bool */;
3643 short int var128
/* : Bool */;
3644 short int var129
/* : Bool */;
3645 val
* var_other131
/* var other: nullable Object */;
3646 short int var132
/* : Bool */;
3647 short int var133
/* : Bool */;
3648 short int var134
/* : Bool */;
3649 val
* var135
/* : MClassKind */;
3650 val
* var137
/* : MClassKind */;
3651 val
* var138
/* : Sys */;
3652 val
* var139
/* : MClassKind */;
3653 short int var140
/* : Bool */;
3654 short int var142
/* : Bool */;
3655 short int var144
/* : Bool */;
3656 short int var_145
/* var : Bool */;
3657 val
* var146
/* : String */;
3658 val
* var148
/* : String */;
3659 static val
* varonce149
;
3660 val
* var150
/* : String */;
3661 char* var151
/* : NativeString */;
3662 val
* var152
/* : FlatString */;
3663 short int var153
/* : Bool */;
3664 short int var155
/* : Bool */;
3665 short int var156
/* : Bool */;
3666 val
* var157
/* : MClassType */;
3667 val
* var159
/* : MClassType */;
3668 short int var160
/* : Bool */;
3669 short int var_161
/* var : Bool */;
3670 val
* var162
/* : String */;
3671 val
* var164
/* : String */;
3672 static val
* varonce165
;
3673 val
* var166
/* : String */;
3674 char* var167
/* : NativeString */;
3675 val
* var168
/* : FlatString */;
3676 short int var169
/* : Bool */;
3677 short int var171
/* : Bool */;
3678 short int var172
/* : Bool */;
3679 val
* var173
/* : MClassType */;
3680 val
* var175
/* : MClassType */;
3681 short int var176
/* : Bool */;
3682 short int var177
/* : Bool */;
3683 val
* var178
/* : ToolContext */;
3684 val
* var180
/* : ToolContext */;
3685 val
* var182
/* : NativeArray[String] */;
3686 static val
* varonce181
;
3687 static val
* varonce183
;
3688 val
* var184
/* : String */;
3689 char* var185
/* : NativeString */;
3690 val
* var186
/* : FlatString */;
3691 val
* var187
/* : String */;
3692 static val
* varonce188
;
3693 val
* var189
/* : String */;
3694 char* var190
/* : NativeString */;
3695 val
* var191
/* : FlatString */;
3696 val
* var192
/* : String */;
3697 val
* var193
/* : String */;
3701 { /* Inline loader#AModule#mmodule (var_nmodule) on <var_nmodule:AModule> */
3702 var2
= var_nmodule
->attrs
[COLOR_nit__loader__AModule___mmodule
].val
; /* _mmodule on <var_nmodule:AModule> */
3708 if (var_mmodule
== NULL
) {
3709 var3
= 1; /* is null */
3711 var3
= 0; /* arg is null but recv is not */
3714 { /* Inline kernel#Object#== (var_mmodule,((val*)NULL)) on <var_mmodule:nullable MModule> */
3715 var_other
= ((val
*)NULL
);
3717 { /* Inline kernel#Object#is_same_instance (var_mmodule,var_other) on <var_mmodule:nullable MModule(MModule)> */
3718 var8
= var_mmodule
== var_other
;
3734 if (likely(varonce
!=NULL
)) {
3738 var11
= standard___standard__NativeString___to_s_with_length(var10
, 6l);
3743 var12
= nit___nit__ModelBuilder___try_get_mclass_by_name(self
, var_nmodule
, var_mmodule
, var9
);
3745 var_objectclass
= var12
;
3746 if (likely(varonce13
!=NULL
)) {
3750 var16
= standard___standard__NativeString___to_s_with_length(var15
, 7l);
3755 var17
= nit___nit__ModelBuilder___try_get_mclass_by_name(self
, var_nmodule
, var_mmodule
, var14
);
3757 var_pointerclass
= var17
;
3759 { /* Inline modelize_class#AClassdef#mclass (var_nclassdef) on <var_nclassdef:AClassdef> */
3760 var20
= var_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___mclass
].val
; /* _mclass on <var_nclassdef:AClassdef> */
3762 RET_LABEL19
:(void)0;
3766 if (var_mclass
== NULL
) {
3767 var21
= 1; /* is null */
3769 var21
= 0; /* arg is null but recv is not */
3772 { /* Inline kernel#Object#== (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
3773 var_other
= ((val
*)NULL
);
3775 { /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
3776 var26
= var_mclass
== var_other
;
3779 RET_LABEL25
:(void)0;
3784 RET_LABEL23
:(void)0;
3793 { /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef) on <var_nclassdef:AClassdef> */
3794 var29
= var_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_nclassdef:AClassdef> */
3796 RET_LABEL28
:(void)0;
3799 var_mclassdef
= var27
;
3800 if (var_mclassdef
== NULL
) {
3801 var30
= 1; /* is null */
3803 var30
= 0; /* arg is null but recv is not */
3806 { /* Inline kernel#Object#== (var_mclassdef,((val*)NULL)) on <var_mclassdef:nullable MClassDef> */
3807 var_other
= ((val
*)NULL
);
3809 { /* Inline kernel#Object#is_same_instance (var_mclassdef,var_other) on <var_mclassdef:nullable MClassDef(MClassDef)> */
3810 var35
= var_mclassdef
== var_other
;
3813 RET_LABEL34
:(void)0;
3818 RET_LABEL32
:(void)0;
3827 var_specpointer
= 1;
3828 var36
= NEW_standard__Array(&type_standard__Array__nit__MClassType
);
3830 standard___standard__Array___standard__kernel__Object__init(var36
); /* Direct call array#Array#init on <var36:Array[MClassType]>*/
3832 var_supertypes
= var36
;
3833 /* <var_nclassdef:AClassdef> isa AStdClassdef */
3834 cltype
= type_nit__AStdClassdef
.color
;
3835 idtype
= type_nit__AStdClassdef
.id
;
3836 if(cltype
>= var_nclassdef
->type
->table_size
) {
3839 var37
= var_nclassdef
->type
->type_table
[cltype
] == idtype
;
3843 var38
= nit___nit__AStdClassdef___n_superclasses(var_nclassdef
);
3847 var39
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
3852 var41
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_40
);
3856 var42
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_40
);
3861 { /* Inline parser_nodes#ASuperPropdef#n_type (var_nsc) on <var_nsc:ASuperPropdef> */
3862 var45
= var_nsc
->attrs
[COLOR_nit__parser_nodes__ASuperPropdef___n_type
].val
; /* _n_type on <var_nsc:ASuperPropdef> */
3863 if (unlikely(var45
== NULL
)) {
3864 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
3865 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1403);
3869 RET_LABEL44
:(void)0;
3874 var46
= nit___nit__ModelBuilder___resolve_mtype_unchecked(self
, var_mmodule
, var_mclassdef
, var_ntype
, 0);
3877 if (var_mtype
== NULL
) {
3878 var47
= 1; /* is null */
3880 var47
= 0; /* arg is null but recv is not */
3883 { /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
3884 var_other
= ((val
*)NULL
);
3886 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
3887 var52
= var_mtype
== var_other
;
3890 RET_LABEL51
:(void)0;
3895 RET_LABEL49
:(void)0;
3903 /* <var_mtype:nullable MType(MType)> isa MClassType */
3904 cltype54
= type_nit__MClassType
.color
;
3905 idtype55
= type_nit__MClassType
.id
;
3906 if(cltype54
>= var_mtype
->type
->table_size
) {
3909 var53
= var_mtype
->type
->type_table
[cltype54
] == idtype55
;
3913 if (likely(varonce57
!=NULL
)) {
3916 var59
= "Error: supertypes cannot be a formal type.";
3917 var60
= standard___standard__NativeString___to_s_with_length(var59
, 42l);
3922 nit___nit__ModelBuilder___error(self
, var_ntype
, var58
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
3928 { /* Inline model#MClass#kind (var_mclass) on <var_mclass:nullable MClass(MClass)> */
3929 var63
= var_mclass
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var_mclass:nullable MClass(MClass)> */
3930 if (unlikely(var63
== NULL
)) {
3931 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3932 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 436);
3936 RET_LABEL62
:(void)0;
3940 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:nullable MType(MClassType)> */
3941 var66
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:nullable MType(MClassType)> */
3942 if (unlikely(var66
== NULL
)) {
3943 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3944 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
3948 RET_LABEL65
:(void)0;
3952 { /* Inline model#MClass#kind (var64) on <var64:MClass> */
3953 var69
= var64
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var64:MClass> */
3954 if (unlikely(var69
== NULL
)) {
3955 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3956 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 436);
3960 RET_LABEL68
:(void)0;
3964 var70
= nit___nit__MClassKind___can_specialize(var61
, var67
);
3968 if (unlikely(varonce72
==NULL
)) {
3969 var73
= NEW_standard__NativeArray(9l, &type_standard__NativeArray__standard__String
);
3970 if (likely(varonce74
!=NULL
)) {
3974 var77
= standard___standard__NativeString___to_s_with_length(var76
, 7l);
3978 ((struct instance_standard__NativeArray
*)var73
)->values
[0]=var75
;
3979 if (likely(varonce78
!=NULL
)) {
3983 var81
= standard___standard__NativeString___to_s_with_length(var80
, 2l);
3987 ((struct instance_standard__NativeArray
*)var73
)->values
[2]=var79
;
3988 if (likely(varonce82
!=NULL
)) {
3991 var84
= "` cannot specialize ";
3992 var85
= standard___standard__NativeString___to_s_with_length(var84
, 20l);
3996 ((struct instance_standard__NativeArray
*)var73
)->values
[4]=var83
;
3997 if (likely(varonce86
!=NULL
)) {
4001 var89
= standard___standard__NativeString___to_s_with_length(var88
, 2l);
4005 ((struct instance_standard__NativeArray
*)var73
)->values
[6]=var87
;
4006 if (likely(varonce90
!=NULL
)) {
4010 var93
= standard___standard__NativeString___to_s_with_length(var92
, 2l);
4014 ((struct instance_standard__NativeArray
*)var73
)->values
[8]=var91
;
4020 { /* Inline model#MClass#kind (var_mclass) on <var_mclass:nullable MClass(MClass)> */
4021 var96
= var_mclass
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var_mclass:nullable MClass(MClass)> */
4022 if (unlikely(var96
== NULL
)) {
4023 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
4024 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 436);
4028 RET_LABEL95
:(void)0;
4032 var97
= ((val
*(*)(val
* self
))(var94
->class->vft
[COLOR_standard__string__Object__to_s
]))(var94
); /* to_s on <var94:MClassKind>*/
4034 ((struct instance_standard__NativeArray
*)var73
)->values
[1]=var97
;
4036 var98
= ((val
*(*)(val
* self
))(var_mclass
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mclass
); /* to_s on <var_mclass:nullable MClass(MClass)>*/
4038 ((struct instance_standard__NativeArray
*)var73
)->values
[3]=var98
;
4040 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:nullable MType(MClassType)> */
4041 var101
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:nullable MType(MClassType)> */
4042 if (unlikely(var101
== NULL
)) {
4043 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4044 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
4048 RET_LABEL100
:(void)0;
4052 { /* Inline model#MClass#kind (var99) on <var99:MClass> */
4053 var104
= var99
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var99:MClass> */
4054 if (unlikely(var104
== NULL
)) {
4055 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
4056 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 436);
4060 RET_LABEL103
:(void)0;
4064 var105
= ((val
*(*)(val
* self
))(var102
->class->vft
[COLOR_standard__string__Object__to_s
]))(var102
); /* to_s on <var102:MClassKind>*/
4066 ((struct instance_standard__NativeArray
*)var73
)->values
[5]=var105
;
4068 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:nullable MType(MClassType)> */
4069 var108
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:nullable MType(MClassType)> */
4070 if (unlikely(var108
== NULL
)) {
4071 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4072 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
4076 RET_LABEL107
:(void)0;
4080 var109
= ((val
*(*)(val
* self
))(var106
->class->vft
[COLOR_standard__string__Object__to_s
]))(var106
); /* to_s on <var106:MClass>*/
4082 ((struct instance_standard__NativeArray
*)var73
)->values
[7]=var109
;
4084 var110
= ((val
*(*)(val
* self
))(var73
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var73
); /* native_to_s on <var73:NativeArray[String]>*/
4088 nit___nit__ModelBuilder___error(self
, var_ntype
, var110
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
4093 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_supertypes
, var_mtype
); /* Direct call array#Array#add on <var_supertypes:Array[MClassType]>*/
4096 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:nullable MType(MClassType)> */
4097 var113
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:nullable MType(MClassType)> */
4098 if (unlikely(var113
== NULL
)) {
4099 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4100 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
4104 RET_LABEL112
:(void)0;
4108 { /* Inline model#MClass#kind (var111) on <var111:MClass> */
4109 var116
= var111
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var111:MClass> */
4110 if (unlikely(var116
== NULL
)) {
4111 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
4112 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 436);
4116 RET_LABEL115
:(void)0;
4121 var118
= nit__model___standard__Sys___extern_kind(var117
);
4124 { /* Inline kernel#Object#== (var114,var118) on <var114:MClassKind> */
4127 { /* Inline kernel#Object#is_same_instance (var114,var_other) on <var114:MClassKind> */
4128 var123
= var114
== var_other
;
4131 RET_LABEL122
:(void)0;
4136 RET_LABEL120
:(void)0;
4140 var_specpointer
= 0;
4143 BREAK_label
: (void)0;
4145 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_40
); /* Direct call array#ArrayIterator#next on <var_40:ArrayIterator[ASuperPropdef]>*/
4148 goto BREAK_label124
;
4151 BREAK_label124
: (void)0;
4153 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_40
); /* Direct call array#ArrayIterator#finish on <var_40:ArrayIterator[ASuperPropdef]>*/
4158 var126
= nit___nit__MClassDef___is_intro(var_mclassdef
);
4162 if (var_objectclass
== NULL
) {
4163 var128
= 0; /* is null */
4165 var128
= 1; /* arg is null and recv is not */
4168 { /* Inline kernel#Object#!= (var_objectclass,((val*)NULL)) on <var_objectclass:nullable MClass> */
4169 var_other131
= ((val
*)NULL
);
4171 var132
= ((short int(*)(val
* self
, val
* p0
))(var_objectclass
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_objectclass
, var_other131
); /* == on <var_objectclass:nullable MClass(MClass)>*/
4176 RET_LABEL130
:(void)0;
4186 { /* Inline model#MClass#kind (var_mclass) on <var_mclass:nullable MClass(MClass)> */
4187 var137
= var_mclass
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var_mclass:nullable MClass(MClass)> */
4188 if (unlikely(var137
== NULL
)) {
4189 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
4190 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 436);
4194 RET_LABEL136
:(void)0;
4199 var139
= nit__model___standard__Sys___extern_kind(var138
);
4202 { /* Inline kernel#Object#== (var135,var139) on <var135:MClassKind> */
4205 { /* Inline kernel#Object#is_same_instance (var135,var_other) on <var135:MClassKind> */
4206 var144
= var135
== var_other
;
4209 RET_LABEL143
:(void)0;
4214 RET_LABEL141
:(void)0;
4220 { /* Inline model#MClass#name (var_mclass) on <var_mclass:nullable MClass(MClass)> */
4221 var148
= var_mclass
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var_mclass:nullable MClass(MClass)> */
4222 if (unlikely(var148
== NULL
)) {
4223 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4224 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
4228 RET_LABEL147
:(void)0;
4231 if (likely(varonce149
!=NULL
)) {
4232 var150
= varonce149
;
4235 var152
= standard___standard__NativeString___to_s_with_length(var151
, 7l);
4237 varonce149
= var150
;
4240 { /* Inline kernel#Object#!= (var146,var150) on <var146:String> */
4241 var_other131
= var150
;
4243 var155
= ((short int(*)(val
* self
, val
* p0
))(var146
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var146
, var_other131
); /* == on <var146:String>*/
4248 RET_LABEL154
:(void)0;
4256 if (var_specpointer
){
4257 if (var_pointerclass
== NULL
) {
4258 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4259 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 269);
4262 { /* Inline model#MClass#mclass_type (var_pointerclass) on <var_pointerclass:nullable MClass> */
4263 if (unlikely(var_pointerclass
== NULL
)) {
4264 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4265 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
4268 var159
= var_pointerclass
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_pointerclass:nullable MClass> */
4269 if (unlikely(var159
== NULL
)) {
4270 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
4271 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
4275 RET_LABEL158
:(void)0;
4279 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_supertypes
, var157
); /* Direct call array#Array#add on <var_supertypes:Array[MClassType]>*/
4284 var_161
= var_specobject
;
4285 if (var_specobject
){
4287 { /* Inline model#MClass#name (var_mclass) on <var_mclass:nullable MClass(MClass)> */
4288 var164
= var_mclass
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var_mclass:nullable MClass(MClass)> */
4289 if (unlikely(var164
== NULL
)) {
4290 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4291 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
4295 RET_LABEL163
:(void)0;
4298 if (likely(varonce165
!=NULL
)) {
4299 var166
= varonce165
;
4302 var168
= standard___standard__NativeString___to_s_with_length(var167
, 6l);
4304 varonce165
= var166
;
4307 { /* Inline kernel#Object#!= (var162,var166) on <var162:String> */
4308 var_other131
= var166
;
4310 var171
= ((short int(*)(val
* self
, val
* p0
))(var162
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var162
, var_other131
); /* == on <var162:String>*/
4315 RET_LABEL170
:(void)0;
4324 { /* Inline model#MClass#mclass_type (var_objectclass) on <var_objectclass:nullable MClass(MClass)> */
4325 var175
= var_objectclass
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var_objectclass:nullable MClass(MClass)> */
4326 if (unlikely(var175
== NULL
)) {
4327 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
4328 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
4332 RET_LABEL174
:(void)0;
4336 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_supertypes
, var173
); /* Direct call array#Array#add on <var_supertypes:Array[MClassType]>*/
4344 nit___nit__MClassDef___set_supertypes(var_mclassdef
, var_supertypes
); /* Direct call model#MClassDef#set_supertypes on <var_mclassdef:nullable MClassDef(MClassDef)>*/
4347 var176
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_supertypes
);
4352 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
4353 var180
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
4354 if (unlikely(var180
== NULL
)) {
4355 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4356 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
4360 RET_LABEL179
:(void)0;
4363 if (unlikely(varonce181
==NULL
)) {
4364 var182
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
4365 if (likely(varonce183
!=NULL
)) {
4366 var184
= varonce183
;
4368 var185
= " new super-types: ";
4369 var186
= standard___standard__NativeString___to_s_with_length(var185
, 18l);
4371 varonce183
= var184
;
4373 ((struct instance_standard__NativeArray
*)var182
)->values
[1]=var184
;
4375 var182
= varonce181
;
4379 var187
= ((val
*(*)(val
* self
))(var_mclassdef
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mclassdef
); /* to_s on <var_mclassdef:nullable MClassDef(MClassDef)>*/
4381 ((struct instance_standard__NativeArray
*)var182
)->values
[0]=var187
;
4382 if (likely(varonce188
!=NULL
)) {
4383 var189
= varonce188
;
4386 var191
= standard___standard__NativeString___to_s_with_length(var190
, 2l);
4388 varonce188
= var189
;
4391 var192
= standard__string___Collection___join(var_supertypes
, var189
);
4393 ((struct instance_standard__NativeArray
*)var182
)->values
[2]=var192
;
4395 var193
= ((val
*(*)(val
* self
))(var182
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var182
); /* native_to_s on <var182:NativeArray[String]>*/
4397 varonce181
= var182
;
4399 nit___nit__ToolContext___info(var178
, var193
, 3l); /* Direct call toolcontext#ToolContext#info on <var178:ToolContext>*/
4405 /* method modelize_class#ModelBuilder#check_supertypes for (self: ModelBuilder, AModule, AClassdef) */
4406 void nit__modelize_class___ModelBuilder___check_supertypes(val
* self
, val
* p0
, val
* p1
) {
4407 val
* var_nmodule
/* var nmodule: AModule */;
4408 val
* var_nclassdef
/* var nclassdef: AClassdef */;
4409 val
* var
/* : nullable MModule */;
4410 val
* var2
/* : nullable MModule */;
4411 val
* var_mmodule
/* var mmodule: nullable MModule */;
4412 short int var3
/* : Bool */;
4413 short int var4
/* : Bool */;
4414 val
* var_other
/* var other: nullable Object */;
4415 short int var6
/* : Bool */;
4416 short int var8
/* : Bool */;
4417 val
* var9
/* : nullable MClass */;
4418 val
* var11
/* : nullable MClass */;
4419 val
* var_mclass
/* var mclass: nullable MClass */;
4420 short int var12
/* : Bool */;
4421 short int var13
/* : Bool */;
4422 short int var15
/* : Bool */;
4423 short int var17
/* : Bool */;
4424 val
* var18
/* : nullable MClassDef */;
4425 val
* var20
/* : nullable MClassDef */;
4426 val
* var_mclassdef
/* var mclassdef: nullable MClassDef */;
4427 short int var21
/* : Bool */;
4428 short int var22
/* : Bool */;
4429 short int var24
/* : Bool */;
4430 short int var26
/* : Bool */;
4431 val
* var27
/* : Array[MClassType] */;
4432 val
* var29
/* : Array[MClassType] */;
4433 val
* var_
/* var : Array[MClassType] */;
4434 val
* var30
/* : ArrayIterator[nullable Object] */;
4435 val
* var_31
/* var : ArrayIterator[MClassType] */;
4436 short int var32
/* : Bool */;
4437 val
* var33
/* : nullable Object */;
4438 val
* var_s
/* var s: MClassType */;
4439 val
* var34
/* : MClassType */;
4440 val
* var36
/* : MClassType */;
4441 val
* var37
/* : MClassType */;
4442 val
* var39
/* : MClassType */;
4443 short int var40
/* : Bool */;
4444 val
* var41
/* : NativeArray[String] */;
4445 static val
* varonce
;
4446 static val
* varonce42
;
4447 val
* var43
/* : String */;
4448 char* var44
/* : NativeString */;
4449 val
* var45
/* : FlatString */;
4450 static val
* varonce46
;
4451 val
* var47
/* : String */;
4452 char* var48
/* : NativeString */;
4453 val
* var49
/* : FlatString */;
4454 static val
* varonce50
;
4455 val
* var51
/* : String */;
4456 char* var52
/* : NativeString */;
4457 val
* var53
/* : FlatString */;
4458 val
* var54
/* : String */;
4459 val
* var55
/* : String */;
4460 val
* var56
/* : String */;
4464 { /* Inline loader#AModule#mmodule (var_nmodule) on <var_nmodule:AModule> */
4465 var2
= var_nmodule
->attrs
[COLOR_nit__loader__AModule___mmodule
].val
; /* _mmodule on <var_nmodule:AModule> */
4471 if (var_mmodule
== NULL
) {
4472 var3
= 1; /* is null */
4474 var3
= 0; /* arg is null but recv is not */
4477 { /* Inline kernel#Object#== (var_mmodule,((val*)NULL)) on <var_mmodule:nullable MModule> */
4478 var_other
= ((val
*)NULL
);
4480 { /* Inline kernel#Object#is_same_instance (var_mmodule,var_other) on <var_mmodule:nullable MModule(MModule)> */
4481 var8
= var_mmodule
== var_other
;
4498 { /* Inline modelize_class#AClassdef#mclass (var_nclassdef) on <var_nclassdef:AClassdef> */
4499 var11
= var_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___mclass
].val
; /* _mclass on <var_nclassdef:AClassdef> */
4501 RET_LABEL10
:(void)0;
4505 if (var_mclass
== NULL
) {
4506 var12
= 1; /* is null */
4508 var12
= 0; /* arg is null but recv is not */
4511 { /* Inline kernel#Object#== (var_mclass,((val*)NULL)) on <var_mclass:nullable MClass> */
4512 var_other
= ((val
*)NULL
);
4514 { /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on <var_mclass:nullable MClass(MClass)> */
4515 var17
= var_mclass
== var_other
;
4518 RET_LABEL16
:(void)0;
4523 RET_LABEL14
:(void)0;
4532 { /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef) on <var_nclassdef:AClassdef> */
4533 var20
= var_nclassdef
->attrs
[COLOR_nit__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_nclassdef:AClassdef> */
4535 RET_LABEL19
:(void)0;
4538 var_mclassdef
= var18
;
4539 if (var_mclassdef
== NULL
) {
4540 var21
= 1; /* is null */
4542 var21
= 0; /* arg is null but recv is not */
4545 { /* Inline kernel#Object#== (var_mclassdef,((val*)NULL)) on <var_mclassdef:nullable MClassDef> */
4546 var_other
= ((val
*)NULL
);
4548 { /* Inline kernel#Object#is_same_instance (var_mclassdef,var_other) on <var_mclassdef:nullable MClassDef(MClassDef)> */
4549 var26
= var_mclassdef
== var_other
;
4552 RET_LABEL25
:(void)0;
4557 RET_LABEL23
:(void)0;
4566 { /* Inline model#MClassDef#supertypes (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
4567 var29
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___supertypes
].val
; /* _supertypes on <var_mclassdef:nullable MClassDef(MClassDef)> */
4568 if (unlikely(var29
== NULL
)) {
4569 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
4570 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 627);
4574 RET_LABEL28
:(void)0;
4579 var30
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
4584 var32
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_31
);
4588 var33
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_31
);
4592 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
4593 var36
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:nullable MClassDef(MClassDef)> */
4594 if (unlikely(var36
== NULL
)) {
4595 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
4596 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
4600 RET_LABEL35
:(void)0;
4604 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
4605 var39
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:nullable MClassDef(MClassDef)> */
4606 if (unlikely(var39
== NULL
)) {
4607 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
4608 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
4612 RET_LABEL38
:(void)0;
4616 var40
= nit___nit__MType___is_subtype(var_s
, var_mmodule
, var34
, var37
);
4619 if (unlikely(varonce
==NULL
)) {
4620 var41
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
4621 if (likely(varonce42
!=NULL
)) {
4624 var44
= "Error: inheritance loop for class `";
4625 var45
= standard___standard__NativeString___to_s_with_length(var44
, 35l);
4629 ((struct instance_standard__NativeArray
*)var41
)->values
[0]=var43
;
4630 if (likely(varonce46
!=NULL
)) {
4633 var48
= "` with type `";
4634 var49
= standard___standard__NativeString___to_s_with_length(var48
, 13l);
4638 ((struct instance_standard__NativeArray
*)var41
)->values
[2]=var47
;
4639 if (likely(varonce50
!=NULL
)) {
4643 var53
= standard___standard__NativeString___to_s_with_length(var52
, 2l);
4647 ((struct instance_standard__NativeArray
*)var41
)->values
[4]=var51
;
4653 var54
= ((val
*(*)(val
* self
))(var_mclass
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mclass
); /* to_s on <var_mclass:nullable MClass(MClass)>*/
4655 ((struct instance_standard__NativeArray
*)var41
)->values
[1]=var54
;
4657 var55
= ((val
*(*)(val
* self
))(var_s
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_s
); /* to_s on <var_s:MClassType>*/
4659 ((struct instance_standard__NativeArray
*)var41
)->values
[3]=var55
;
4661 var56
= ((val
*(*)(val
* self
))(var41
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var41
); /* native_to_s on <var41:NativeArray[String]>*/
4665 nit___nit__ModelBuilder___error(self
, var_nclassdef
, var56
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
4670 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_31
); /* Direct call array#ArrayIterator#next on <var_31:ArrayIterator[MClassType]>*/
4676 BREAK_label
: (void)0;
4678 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_31
); /* Direct call array#ArrayIterator#finish on <var_31:ArrayIterator[MClassType]>*/
4682 /* method modelize_class#ModelBuilder#build_classes for (self: ModelBuilder, AModule) */
4683 void nit__modelize_class___ModelBuilder___build_classes(val
* self
, val
* p0
) {
4684 val
* var_nmodule
/* var nmodule: AModule */;
4685 val
* var
/* : ToolContext */;
4686 val
* var2
/* : ToolContext */;
4687 long var3
/* : Int */;
4688 long var5
/* : Int */;
4689 long var_errcount
/* var errcount: Int */;
4690 short int var6
/* : Bool */;
4691 short int var8
/* : Bool */;
4692 val
* var10
/* : nullable MModule */;
4693 val
* var12
/* : nullable MModule */;
4694 val
* var_mmodule
/* var mmodule: nullable MModule */;
4695 short int var13
/* : Bool */;
4696 short int var14
/* : Bool */;
4697 val
* var_other
/* var other: nullable Object */;
4698 short int var16
/* : Bool */;
4699 short int var18
/* : Bool */;
4700 val
* var19
/* : POSetElement[MModule] */;
4701 val
* var21
/* : POSetElement[MModule] */;
4702 val
* var22
/* : Collection[nullable Object] */;
4703 val
* var_
/* var : Collection[MModule] */;
4704 val
* var23
/* : Iterator[nullable Object] */;
4705 val
* var_24
/* var : Iterator[MModule] */;
4706 short int var25
/* : Bool */;
4707 val
* var26
/* : nullable Object */;
4708 val
* var_imp
/* var imp: MModule */;
4709 val
* var27
/* : nullable AModule */;
4710 val
* var_nimp
/* var nimp: nullable AModule */;
4711 short int var28
/* : Bool */;
4712 short int var29
/* : Bool */;
4713 val
* var_other31
/* var other: nullable Object */;
4714 short int var32
/* : Bool */;
4715 short int var33
/* : Bool */;
4716 val
* var34
/* : ToolContext */;
4717 val
* var36
/* : ToolContext */;
4718 long var37
/* : Int */;
4719 long var39
/* : Int */;
4720 short int var40
/* : Bool */;
4721 short int var42
/* : Bool */;
4722 short int var43
/* : Bool */;
4723 val
* var44
/* : ANodes[AClassdef] */;
4724 val
* var46
/* : ANodes[AClassdef] */;
4725 val
* var_47
/* var : ANodes[AClassdef] */;
4726 val
* var48
/* : Iterator[ANode] */;
4727 val
* var_49
/* var : Iterator[AClassdef] */;
4728 short int var50
/* : Bool */;
4729 val
* var51
/* : nullable Object */;
4730 val
* var_nclassdef
/* var nclassdef: AClassdef */;
4731 short int var52
/* : Bool */;
4734 short int var53
/* : Bool */;
4735 val
* var56
/* : ANodes[AClassdef] */;
4736 val
* var58
/* : ANodes[AClassdef] */;
4737 val
* var_59
/* var : ANodes[AClassdef] */;
4738 val
* var60
/* : Iterator[ANode] */;
4739 val
* var_61
/* var : Iterator[AClassdef] */;
4740 short int var62
/* : Bool */;
4741 val
* var63
/* : nullable Object */;
4742 val
* var_nclassdef64
/* var nclassdef: AClassdef */;
4743 short int var65
/* : Bool */;
4746 val
* var70
/* : ToolContext */;
4747 val
* var72
/* : ToolContext */;
4748 long var73
/* : Int */;
4749 long var75
/* : Int */;
4750 short int var76
/* : Bool */;
4751 short int var78
/* : Bool */;
4752 short int var79
/* : Bool */;
4753 val
* var80
/* : ANodes[AClassdef] */;
4754 val
* var82
/* : ANodes[AClassdef] */;
4755 val
* var_83
/* var : ANodes[AClassdef] */;
4756 val
* var84
/* : Iterator[ANode] */;
4757 val
* var_85
/* var : Iterator[AClassdef] */;
4758 short int var86
/* : Bool */;
4759 val
* var87
/* : nullable Object */;
4760 val
* var_nclassdef88
/* var nclassdef: AClassdef */;
4761 short int var89
/* : Bool */;
4764 short int var92
/* : Bool */;
4765 val
* var95
/* : ANodes[AClassdef] */;
4766 val
* var97
/* : ANodes[AClassdef] */;
4767 val
* var_98
/* var : ANodes[AClassdef] */;
4768 val
* var99
/* : Iterator[ANode] */;
4769 val
* var_100
/* var : Iterator[AClassdef] */;
4770 short int var101
/* : Bool */;
4771 val
* var102
/* : nullable Object */;
4772 val
* var_nclassdef103
/* var nclassdef: AClassdef */;
4773 short int var104
/* : Bool */;
4776 val
* var109
/* : ToolContext */;
4777 val
* var111
/* : ToolContext */;
4778 long var112
/* : Int */;
4779 long var114
/* : Int */;
4780 short int var115
/* : Bool */;
4781 short int var117
/* : Bool */;
4782 short int var118
/* : Bool */;
4783 val
* var119
/* : ANodes[AClassdef] */;
4784 val
* var121
/* : ANodes[AClassdef] */;
4785 val
* var_122
/* var : ANodes[AClassdef] */;
4786 val
* var123
/* : Iterator[ANode] */;
4787 val
* var_124
/* var : Iterator[AClassdef] */;
4788 short int var125
/* : Bool */;
4789 val
* var126
/* : nullable Object */;
4790 val
* var_nclassdef127
/* var nclassdef: AClassdef */;
4791 val
* var129
/* : ToolContext */;
4792 val
* var131
/* : ToolContext */;
4793 long var132
/* : Int */;
4794 long var134
/* : Int */;
4795 short int var135
/* : Bool */;
4796 short int var137
/* : Bool */;
4797 short int var138
/* : Bool */;
4798 val
* var139
/* : Array[MClassDef] */;
4799 val
* var141
/* : Array[MClassDef] */;
4800 val
* var_142
/* var : Array[MClassDef] */;
4801 val
* var143
/* : ArrayIterator[nullable Object] */;
4802 val
* var_144
/* var : ArrayIterator[MClassDef] */;
4803 short int var145
/* : Bool */;
4804 val
* var146
/* : nullable Object */;
4805 val
* var_mclassdef
/* var mclassdef: MClassDef */;
4806 val
* var148
/* : ToolContext */;
4807 val
* var150
/* : ToolContext */;
4808 long var151
/* : Int */;
4809 long var153
/* : Int */;
4810 short int var154
/* : Bool */;
4811 short int var156
/* : Bool */;
4812 short int var157
/* : Bool */;
4813 val
* var158
/* : ANodes[AClassdef] */;
4814 val
* var160
/* : ANodes[AClassdef] */;
4815 val
* var_161
/* var : ANodes[AClassdef] */;
4816 val
* var162
/* : Iterator[ANode] */;
4817 val
* var_163
/* var : Iterator[AClassdef] */;
4818 short int var164
/* : Bool */;
4819 val
* var165
/* : nullable Object */;
4820 val
* var_nclassdef166
/* var nclassdef: AClassdef */;
4821 val
* var168
/* : ToolContext */;
4822 val
* var170
/* : ToolContext */;
4823 long var171
/* : Int */;
4824 long var173
/* : Int */;
4825 short int var174
/* : Bool */;
4826 short int var176
/* : Bool */;
4827 short int var177
/* : Bool */;
4828 val
* var178
/* : ANodes[AClassdef] */;
4829 val
* var180
/* : ANodes[AClassdef] */;
4830 val
* var_181
/* var : ANodes[AClassdef] */;
4831 val
* var182
/* : Iterator[ANode] */;
4832 val
* var_183
/* var : Iterator[AClassdef] */;
4833 short int var184
/* : Bool */;
4834 val
* var185
/* : nullable Object */;
4835 val
* var_nclassdef186
/* var nclassdef: AClassdef */;
4836 short int var187
/* : Bool */;
4839 val
* var190
/* : nullable MClassDef */;
4840 val
* var192
/* : nullable MClassDef */;
4841 val
* var_mclassdef193
/* var mclassdef: nullable MClassDef */;
4842 val
* var194
/* : ANodes[AFormaldef] */;
4843 val
* var196
/* : ANodes[AFormaldef] */;
4844 val
* var_197
/* var : ANodes[AFormaldef] */;
4845 val
* var198
/* : Iterator[ANode] */;
4846 val
* var_199
/* var : Iterator[AFormaldef] */;
4847 short int var200
/* : Bool */;
4848 val
* var201
/* : nullable Object */;
4849 val
* var_nfd
/* var nfd: AFormaldef */;
4850 val
* var202
/* : nullable AType */;
4851 val
* var204
/* : nullable AType */;
4852 val
* var_nfdt
/* var nfdt: nullable AType */;
4853 short int var205
/* : Bool */;
4854 short int var206
/* : Bool */;
4855 short int var207
/* : Bool */;
4856 short int var209
/* : Bool */;
4857 short int var210
/* : Bool */;
4858 short int var_211
/* var : Bool */;
4859 val
* var212
/* : nullable MType */;
4860 val
* var214
/* : nullable MType */;
4861 short int var215
/* : Bool */;
4862 short int var216
/* : Bool */;
4863 short int var218
/* : Bool */;
4864 short int var219
/* : Bool */;
4865 val
* var220
/* : nullable MType */;
4866 val
* var_bound
/* var bound: nullable MType */;
4867 short int var221
/* : Bool */;
4868 short int var222
/* : Bool */;
4869 short int var224
/* : Bool */;
4870 short int var226
/* : Bool */;
4871 val
* var228
/* : Array[ASuperPropdef] */;
4872 val
* var_229
/* var : Array[ASuperPropdef] */;
4873 val
* var230
/* : ArrayIterator[nullable Object] */;
4874 val
* var_231
/* var : ArrayIterator[ASuperPropdef] */;
4875 short int var232
/* : Bool */;
4876 val
* var233
/* : nullable Object */;
4877 val
* var_nsc
/* var nsc: ASuperPropdef */;
4878 val
* var234
/* : AType */;
4879 val
* var236
/* : AType */;
4880 val
* var_ntype
/* var ntype: AType */;
4881 val
* var237
/* : nullable MType */;
4882 val
* var239
/* : nullable MType */;
4883 short int var240
/* : Bool */;
4884 short int var241
/* : Bool */;
4885 short int var243
/* : Bool */;
4886 short int var244
/* : Bool */;
4887 val
* var245
/* : nullable MType */;
4888 val
* var_mtype
/* var mtype: nullable MType */;
4889 short int var246
/* : Bool */;
4890 short int var247
/* : Bool */;
4891 short int var249
/* : Bool */;
4892 short int var251
/* : Bool */;
4893 val
* var254
/* : ToolContext */;
4894 val
* var256
/* : ToolContext */;
4895 long var257
/* : Int */;
4896 long var259
/* : Int */;
4897 short int var260
/* : Bool */;
4898 short int var262
/* : Bool */;
4899 short int var263
/* : Bool */;
4900 val
* var264
/* : ANodes[AClassdef] */;
4901 val
* var266
/* : ANodes[AClassdef] */;
4902 val
* var_267
/* var : ANodes[AClassdef] */;
4903 val
* var268
/* : Iterator[ANode] */;
4904 val
* var_269
/* var : Iterator[AClassdef] */;
4905 short int var270
/* : Bool */;
4906 val
* var271
/* : nullable Object */;
4907 val
* var_nclassdef272
/* var nclassdef: AClassdef */;
4908 val
* var273
/* : nullable MClassDef */;
4909 val
* var275
/* : nullable MClassDef */;
4910 val
* var_mclassdef276
/* var mclassdef: nullable MClassDef */;
4911 short int var277
/* : Bool */;
4912 short int var278
/* : Bool */;
4913 short int var280
/* : Bool */;
4914 short int var282
/* : Bool */;
4915 val
* var284
/* : HashMap[MClass, MClassType] */;
4916 val
* var_superclasses
/* var superclasses: HashMap[MClass, MClassType] */;
4917 val
* var285
/* : nullable POSetElement[MClassDef] */;
4918 val
* var287
/* : nullable POSetElement[MClassDef] */;
4919 val
* var288
/* : Collection[nullable Object] */;
4920 val
* var_289
/* var : Collection[MClassDef] */;
4921 val
* var290
/* : Iterator[nullable Object] */;
4922 val
* var_291
/* var : Iterator[MClassDef] */;
4923 short int var292
/* : Bool */;
4924 val
* var293
/* : nullable Object */;
4925 val
* var_scd
/* var scd: MClassDef */;
4926 val
* var294
/* : Array[MClassType] */;
4927 val
* var296
/* : Array[MClassType] */;
4928 val
* var_297
/* var : Array[MClassType] */;
4929 val
* var298
/* : ArrayIterator[nullable Object] */;
4930 val
* var_299
/* var : ArrayIterator[MClassType] */;
4931 short int var300
/* : Bool */;
4932 val
* var301
/* : nullable Object */;
4933 val
* var_st
/* var st: MClassType */;
4934 val
* var302
/* : MClass */;
4935 val
* var304
/* : MClass */;
4936 short int var305
/* : Bool */;
4937 short int var306
/* : Bool */;
4938 val
* var307
/* : MClass */;
4939 val
* var309
/* : MClass */;
4940 val
* var310
/* : MClass */;
4941 val
* var312
/* : MClass */;
4942 val
* var313
/* : nullable Object */;
4943 short int var314
/* : Bool */;
4944 short int var316
/* : Bool */;
4945 short int var317
/* : Bool */;
4946 val
* var318
/* : MClass */;
4947 val
* var320
/* : MClass */;
4948 val
* var321
/* : nullable Object */;
4949 val
* var322
/* : MClass */;
4950 val
* var324
/* : MClass */;
4951 val
* var325
/* : MClassType */;
4952 val
* var327
/* : MClassType */;
4953 val
* var328
/* : MClassType */;
4954 val
* var330
/* : MClassType */;
4955 val
* var331
/* : MType */;
4956 val
* var_st1
/* var st1: MClassType */;
4957 val
* var332
/* : MClass */;
4958 val
* var334
/* : MClass */;
4959 val
* var335
/* : MClassType */;
4960 val
* var337
/* : MClassType */;
4961 val
* var338
/* : MClassType */;
4962 val
* var340
/* : MClassType */;
4963 val
* var341
/* : MType */;
4964 val
* var_st2
/* var st2: MClassType */;
4965 short int var342
/* : Bool */;
4966 short int var344
/* : Bool */;
4967 short int var345
/* : Bool */;
4968 val
* var346
/* : NativeArray[String] */;
4969 static val
* varonce
;
4970 static val
* varonce347
;
4971 val
* var348
/* : String */;
4972 char* var349
/* : NativeString */;
4973 val
* var350
/* : FlatString */;
4974 static val
* varonce351
;
4975 val
* var352
/* : String */;
4976 char* var353
/* : NativeString */;
4977 val
* var354
/* : FlatString */;
4978 static val
* varonce355
;
4979 val
* var356
/* : String */;
4980 char* var357
/* : NativeString */;
4981 val
* var358
/* : FlatString */;
4982 static val
* varonce359
;
4983 val
* var360
/* : String */;
4984 char* var361
/* : NativeString */;
4985 val
* var362
/* : FlatString */;
4986 val
* var363
/* : MClass */;
4987 val
* var365
/* : MClass */;
4988 val
* var366
/* : String */;
4989 val
* var367
/* : String */;
4990 val
* var368
/* : String */;
4991 val
* var369
/* : String */;
4992 val
* var373
/* : ToolContext */;
4993 val
* var375
/* : ToolContext */;
4994 long var376
/* : Int */;
4995 long var378
/* : Int */;
4996 short int var379
/* : Bool */;
4997 short int var381
/* : Bool */;
4998 short int var382
/* : Bool */;
4999 val
* var383
/* : ANodes[AClassdef] */;
5000 val
* var385
/* : ANodes[AClassdef] */;
5001 val
* var_386
/* var : ANodes[AClassdef] */;
5002 val
* var387
/* : Iterator[ANode] */;
5003 val
* var_388
/* var : Iterator[AClassdef] */;
5004 short int var389
/* : Bool */;
5005 val
* var390
/* : nullable Object */;
5006 val
* var_nclassdef391
/* var nclassdef: AClassdef */;
5007 short int var392
/* : Bool */;
5010 short int var395
/* : Bool */;
5011 val
* var397
/* : nullable MClassDef */;
5012 val
* var399
/* : nullable MClassDef */;
5013 val
* var_mclassdef400
/* var mclassdef: nullable MClassDef */;
5014 short int var401
/* : Bool */;
5015 short int var402
/* : Bool */;
5016 short int var404
/* : Bool */;
5017 short int var406
/* : Bool */;
5018 val
* var407
/* : Array[MClass] */;
5019 val
* var_parents
/* var parents: Array[MClass] */;
5020 val
* var408
/* : nullable POSetElement[MClassDef] */;
5021 val
* var410
/* : nullable POSetElement[MClassDef] */;
5022 val
* var411
/* : Collection[nullable Object] */;
5023 val
* var_412
/* var : Collection[MClassDef] */;
5024 val
* var413
/* : Iterator[nullable Object] */;
5025 val
* var_414
/* var : Iterator[MClassDef] */;
5026 short int var415
/* : Bool */;
5027 val
* var416
/* : nullable Object */;
5028 val
* var_sup
/* var sup: MClassDef */;
5029 val
* var417
/* : MClass */;
5030 val
* var419
/* : MClass */;
5031 val
* var421
/* : ArrayMap[MClass, AType] */;
5032 val
* var_seen_parents
/* var seen_parents: ArrayMap[MClass, AType] */;
5033 static val
* varonce423
;
5034 val
* var424
/* : String */;
5035 char* var425
/* : NativeString */;
5036 val
* var426
/* : FlatString */;
5037 val
* var427
/* : nullable MClass */;
5038 val
* var_objectclass
/* var objectclass: nullable MClass */;
5039 val
* var428
/* : Array[ASuperPropdef] */;
5040 val
* var_429
/* var : Array[ASuperPropdef] */;
5041 val
* var430
/* : ArrayIterator[nullable Object] */;
5042 val
* var_431
/* var : ArrayIterator[ASuperPropdef] */;
5043 short int var432
/* : Bool */;
5044 val
* var433
/* : nullable Object */;
5045 val
* var_nsc434
/* var nsc: ASuperPropdef */;
5046 val
* var435
/* : AType */;
5047 val
* var437
/* : AType */;
5048 val
* var_ntype438
/* var ntype: AType */;
5049 val
* var439
/* : nullable MType */;
5050 val
* var441
/* : nullable MType */;
5051 val
* var_mtype442
/* var mtype: nullable MType */;
5052 short int var443
/* : Bool */;
5053 short int var444
/* : Bool */;
5054 short int var446
/* : Bool */;
5055 short int var448
/* : Bool */;
5056 short int var450
/* : Bool */;
5059 val
* var453
/* : MClass */;
5060 val
* var455
/* : MClass */;
5061 val
* var_sc
/* var sc: MClass */;
5062 short int var456
/* : Bool */;
5063 short int var457
/* : Bool */;
5064 short int var458
/* : Bool */;
5065 short int var_459
/* var : Bool */;
5066 short int var460
/* : Bool */;
5067 short int var462
/* : Bool */;
5068 short int var464
/* : Bool */;
5069 short int var465
/* : Bool */;
5070 val
* var466
/* : Location */;
5071 val
* var468
/* : Location */;
5072 val
* var469
/* : nullable SourceFile */;
5073 val
* var471
/* : nullable SourceFile */;
5074 short int var472
/* : Bool */;
5075 short int var473
/* : Bool */;
5076 short int var475
/* : Bool */;
5077 short int var476
/* : Bool */;
5078 short int var_477
/* var : Bool */;
5079 val
* var478
/* : Location */;
5080 val
* var480
/* : Location */;
5081 val
* var481
/* : nullable SourceFile */;
5082 val
* var483
/* : nullable SourceFile */;
5083 val
* var484
/* : String */;
5084 val
* var486
/* : String */;
5085 short int var487
/* : Bool */;
5086 short int var488
/* : Bool */;
5087 static val
* varonce489
;
5088 val
* var490
/* : String */;
5089 char* var491
/* : NativeString */;
5090 val
* var492
/* : FlatString */;
5091 val
* var494
/* : NativeArray[String] */;
5092 static val
* varonce493
;
5093 static val
* varonce495
;
5094 val
* var496
/* : String */;
5095 char* var497
/* : NativeString */;
5096 val
* var498
/* : FlatString */;
5097 static val
* varonce499
;
5098 val
* var500
/* : String */;
5099 char* var501
/* : NativeString */;
5100 val
* var502
/* : FlatString */;
5101 static val
* varonce503
;
5102 val
* var504
/* : String */;
5103 char* var505
/* : NativeString */;
5104 val
* var506
/* : FlatString */;
5105 val
* var507
/* : String */;
5106 val
* var508
/* : MClass */;
5107 val
* var510
/* : MClass */;
5108 val
* var511
/* : String */;
5109 val
* var512
/* : String */;
5110 short int var513
/* : Bool */;
5111 short int var514
/* : Bool */;
5112 static val
* varonce515
;
5113 val
* var516
/* : String */;
5114 char* var517
/* : NativeString */;
5115 val
* var518
/* : FlatString */;
5116 val
* var520
/* : NativeArray[String] */;
5117 static val
* varonce519
;
5118 static val
* varonce521
;
5119 val
* var522
/* : String */;
5120 char* var523
/* : NativeString */;
5121 val
* var524
/* : FlatString */;
5122 static val
* varonce525
;
5123 val
* var526
/* : String */;
5124 char* var527
/* : NativeString */;
5125 val
* var528
/* : FlatString */;
5126 static val
* varonce529
;
5127 val
* var530
/* : String */;
5128 char* var531
/* : NativeString */;
5129 val
* var532
/* : FlatString */;
5130 val
* var533
/* : String */;
5131 val
* var534
/* : MClass */;
5132 val
* var536
/* : MClass */;
5133 val
* var537
/* : String */;
5134 val
* var538
/* : String */;
5137 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
5138 var2
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
5139 if (unlikely(var2
== NULL
)) {
5140 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5141 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
5149 { /* Inline toolcontext#ToolContext#error_count (var) on <var:ToolContext> */
5150 var5
= var
->attrs
[COLOR_nit__toolcontext__ToolContext___error_count
].l
; /* _error_count on <var:ToolContext> */
5155 var_errcount
= var3
;
5157 { /* Inline modelize_class#AModule#build_classes_is_done (var_nmodule) on <var_nmodule:AModule> */
5158 var8
= var_nmodule
->attrs
[COLOR_nit__modelize_class__AModule___build_classes_is_done
].s
; /* _build_classes_is_done on <var_nmodule:AModule> */
5168 { /* Inline modelize_class#AModule#build_classes_is_done= (var_nmodule,1) on <var_nmodule:AModule> */
5169 var_nmodule
->attrs
[COLOR_nit__modelize_class__AModule___build_classes_is_done
].s
= 1; /* _build_classes_is_done on <var_nmodule:AModule> */
5174 { /* Inline loader#AModule#mmodule (var_nmodule) on <var_nmodule:AModule> */
5175 var12
= var_nmodule
->attrs
[COLOR_nit__loader__AModule___mmodule
].val
; /* _mmodule on <var_nmodule:AModule> */
5177 RET_LABEL11
:(void)0;
5180 var_mmodule
= var10
;
5181 if (var_mmodule
== NULL
) {
5182 var13
= 1; /* is null */
5184 var13
= 0; /* arg is null but recv is not */
5187 { /* Inline kernel#Object#== (var_mmodule,((val*)NULL)) on <var_mmodule:nullable MModule> */
5188 var_other
= ((val
*)NULL
);
5190 { /* Inline kernel#Object#is_same_instance (var_mmodule,var_other) on <var_mmodule:nullable MModule(MModule)> */
5191 var18
= var_mmodule
== var_other
;
5194 RET_LABEL17
:(void)0;
5199 RET_LABEL15
:(void)0;
5208 { /* Inline mmodule#MModule#in_importation (var_mmodule) on <var_mmodule:nullable MModule(MModule)> */
5209 var21
= var_mmodule
->attrs
[COLOR_nit__mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mmodule:nullable MModule(MModule)> */
5210 if (unlikely(var21
== NULL
)) {
5211 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
5212 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 96);
5216 RET_LABEL20
:(void)0;
5220 var22
= poset___poset__POSetElement___direct_greaters(var19
);
5224 var23
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[MModule]>*/
5229 var25
= ((short int(*)(val
* self
))((((long)var_24
&3)?class_info
[((long)var_24
&3)]:var_24
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_24
); /* is_ok on <var_24:Iterator[MModule]>*/
5233 var26
= ((val
*(*)(val
* self
))((((long)var_24
&3)?class_info
[((long)var_24
&3)]:var_24
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_24
); /* item on <var_24:Iterator[MModule]>*/
5237 var27
= nit__loader___ModelBuilder___mmodule2node(self
, var_imp
);
5240 if (var_nimp
== NULL
) {
5241 var28
= 0; /* is null */
5243 var28
= 1; /* arg is null and recv is not */
5246 { /* Inline kernel#Object#!= (var_nimp,((val*)NULL)) on <var_nimp:nullable AModule> */
5247 var_other31
= ((val
*)NULL
);
5249 var32
= ((short int(*)(val
* self
, val
* p0
))(var_nimp
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nimp
, var_other31
); /* == on <var_nimp:nullable AModule(AModule)>*/
5254 RET_LABEL30
:(void)0;
5260 nit__modelize_class___ModelBuilder___build_classes(self
, var_nimp
); /* Direct call modelize_class#ModelBuilder#build_classes on <self:ModelBuilder>*/
5265 ((void(*)(val
* self
))((((long)var_24
&3)?class_info
[((long)var_24
&3)]:var_24
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_24
); /* next on <var_24:Iterator[MModule]>*/
5271 BREAK_label
: (void)0;
5273 ((void(*)(val
* self
))((((long)var_24
&3)?class_info
[((long)var_24
&3)]:var_24
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_24
); /* finish on <var_24:Iterator[MModule]>*/
5276 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
5277 var36
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
5278 if (unlikely(var36
== NULL
)) {
5279 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5280 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
5284 RET_LABEL35
:(void)0;
5288 { /* Inline toolcontext#ToolContext#error_count (var34) on <var34:ToolContext> */
5289 var39
= var34
->attrs
[COLOR_nit__toolcontext__ToolContext___error_count
].l
; /* _error_count on <var34:ToolContext> */
5291 RET_LABEL38
:(void)0;
5295 { /* Inline kernel#Int#!= (var_errcount,var37) on <var_errcount:Int> */
5296 var42
= var_errcount
== var37
;
5300 RET_LABEL41
:(void)0;
5308 { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on <var_nmodule:AModule> */
5309 var46
= var_nmodule
->attrs
[COLOR_nit__parser_nodes__AModule___n_classdefs
].val
; /* _n_classdefs on <var_nmodule:AModule> */
5310 if (unlikely(var46
== NULL
)) {
5311 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs");
5312 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1096);
5316 RET_LABEL45
:(void)0;
5321 var48
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_47
);
5326 var50
= ((short int(*)(val
* self
))((((long)var_49
&3)?class_info
[((long)var_49
&3)]:var_49
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_49
); /* is_ok on <var_49:Iterator[AClassdef]>*/
5330 var51
= ((val
*(*)(val
* self
))((((long)var_49
&3)?class_info
[((long)var_49
&3)]:var_49
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_49
); /* item on <var_49:Iterator[AClassdef]>*/
5332 var_nclassdef
= var51
;
5333 /* <var_nclassdef:AClassdef> isa AStdClassdef */
5334 cltype
= type_nit__AStdClassdef
.color
;
5335 idtype
= type_nit__AStdClassdef
.id
;
5336 if(cltype
>= var_nclassdef
->type
->table_size
) {
5339 var52
= var_nclassdef
->type
->type_table
[cltype
] == idtype
;
5347 nit__modelize_class___ModelBuilder___build_a_mclass(self
, var_nmodule
, var_nclassdef
); /* Direct call modelize_class#ModelBuilder#build_a_mclass on <self:ModelBuilder>*/
5349 BREAK_label54
: (void)0;
5351 ((void(*)(val
* self
))((((long)var_49
&3)?class_info
[((long)var_49
&3)]:var_49
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_49
); /* next on <var_49:Iterator[AClassdef]>*/
5357 BREAK_label55
: (void)0;
5359 ((void(*)(val
* self
))((((long)var_49
&3)?class_info
[((long)var_49
&3)]:var_49
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_49
); /* finish on <var_49:Iterator[AClassdef]>*/
5362 { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on <var_nmodule:AModule> */
5363 var58
= var_nmodule
->attrs
[COLOR_nit__parser_nodes__AModule___n_classdefs
].val
; /* _n_classdefs on <var_nmodule:AModule> */
5364 if (unlikely(var58
== NULL
)) {
5365 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs");
5366 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1096);
5370 RET_LABEL57
:(void)0;
5375 var60
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_59
);
5380 var62
= ((short int(*)(val
* self
))((((long)var_61
&3)?class_info
[((long)var_61
&3)]:var_61
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_61
); /* is_ok on <var_61:Iterator[AClassdef]>*/
5384 var63
= ((val
*(*)(val
* self
))((((long)var_61
&3)?class_info
[((long)var_61
&3)]:var_61
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_61
); /* item on <var_61:Iterator[AClassdef]>*/
5386 var_nclassdef64
= var63
;
5387 /* <var_nclassdef64:AClassdef> isa AStdClassdef */
5388 cltype66
= type_nit__AStdClassdef
.color
;
5389 idtype67
= type_nit__AStdClassdef
.id
;
5390 if(cltype66
>= var_nclassdef64
->type
->table_size
) {
5393 var65
= var_nclassdef64
->type
->type_table
[cltype66
] == idtype67
;
5400 nit__modelize_class___ModelBuilder___build_a_mclass(self
, var_nmodule
, var_nclassdef64
); /* Direct call modelize_class#ModelBuilder#build_a_mclass on <self:ModelBuilder>*/
5402 BREAK_label68
: (void)0;
5404 ((void(*)(val
* self
))((((long)var_61
&3)?class_info
[((long)var_61
&3)]:var_61
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_61
); /* next on <var_61:Iterator[AClassdef]>*/
5410 BREAK_label69
: (void)0;
5412 ((void(*)(val
* self
))((((long)var_61
&3)?class_info
[((long)var_61
&3)]:var_61
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_61
); /* finish on <var_61:Iterator[AClassdef]>*/
5415 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
5416 var72
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
5417 if (unlikely(var72
== NULL
)) {
5418 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5419 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
5423 RET_LABEL71
:(void)0;
5427 { /* Inline toolcontext#ToolContext#error_count (var70) on <var70:ToolContext> */
5428 var75
= var70
->attrs
[COLOR_nit__toolcontext__ToolContext___error_count
].l
; /* _error_count on <var70:ToolContext> */
5430 RET_LABEL74
:(void)0;
5434 { /* Inline kernel#Int#!= (var_errcount,var73) on <var_errcount:Int> */
5435 var78
= var_errcount
== var73
;
5439 RET_LABEL77
:(void)0;
5447 { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on <var_nmodule:AModule> */
5448 var82
= var_nmodule
->attrs
[COLOR_nit__parser_nodes__AModule___n_classdefs
].val
; /* _n_classdefs on <var_nmodule:AModule> */
5449 if (unlikely(var82
== NULL
)) {
5450 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs");
5451 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1096);
5455 RET_LABEL81
:(void)0;
5460 var84
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_83
);
5465 var86
= ((short int(*)(val
* self
))((((long)var_85
&3)?class_info
[((long)var_85
&3)]:var_85
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_85
); /* is_ok on <var_85:Iterator[AClassdef]>*/
5469 var87
= ((val
*(*)(val
* self
))((((long)var_85
&3)?class_info
[((long)var_85
&3)]:var_85
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_85
); /* item on <var_85:Iterator[AClassdef]>*/
5471 var_nclassdef88
= var87
;
5472 /* <var_nclassdef88:AClassdef> isa AStdClassdef */
5473 cltype90
= type_nit__AStdClassdef
.color
;
5474 idtype91
= type_nit__AStdClassdef
.id
;
5475 if(cltype90
>= var_nclassdef88
->type
->table_size
) {
5478 var89
= var_nclassdef88
->type
->type_table
[cltype90
] == idtype91
;
5486 nit__modelize_class___ModelBuilder___build_a_mclassdef(self
, var_nmodule
, var_nclassdef88
); /* Direct call modelize_class#ModelBuilder#build_a_mclassdef on <self:ModelBuilder>*/
5488 BREAK_label93
: (void)0;
5490 ((void(*)(val
* self
))((((long)var_85
&3)?class_info
[((long)var_85
&3)]:var_85
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_85
); /* next on <var_85:Iterator[AClassdef]>*/
5496 BREAK_label94
: (void)0;
5498 ((void(*)(val
* self
))((((long)var_85
&3)?class_info
[((long)var_85
&3)]:var_85
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_85
); /* finish on <var_85:Iterator[AClassdef]>*/
5501 { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on <var_nmodule:AModule> */
5502 var97
= var_nmodule
->attrs
[COLOR_nit__parser_nodes__AModule___n_classdefs
].val
; /* _n_classdefs on <var_nmodule:AModule> */
5503 if (unlikely(var97
== NULL
)) {
5504 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs");
5505 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1096);
5509 RET_LABEL96
:(void)0;
5514 var99
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_98
);
5519 var101
= ((short int(*)(val
* self
))((((long)var_100
&3)?class_info
[((long)var_100
&3)]:var_100
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_100
); /* is_ok on <var_100:Iterator[AClassdef]>*/
5523 var102
= ((val
*(*)(val
* self
))((((long)var_100
&3)?class_info
[((long)var_100
&3)]:var_100
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_100
); /* item on <var_100:Iterator[AClassdef]>*/
5525 var_nclassdef103
= var102
;
5526 /* <var_nclassdef103:AClassdef> isa AStdClassdef */
5527 cltype105
= type_nit__AStdClassdef
.color
;
5528 idtype106
= type_nit__AStdClassdef
.id
;
5529 if(cltype105
>= var_nclassdef103
->type
->table_size
) {
5532 var104
= var_nclassdef103
->type
->type_table
[cltype105
] == idtype106
;
5535 goto BREAK_label107
;
5539 nit__modelize_class___ModelBuilder___build_a_mclassdef(self
, var_nmodule
, var_nclassdef103
); /* Direct call modelize_class#ModelBuilder#build_a_mclassdef on <self:ModelBuilder>*/
5541 BREAK_label107
: (void)0;
5543 ((void(*)(val
* self
))((((long)var_100
&3)?class_info
[((long)var_100
&3)]:var_100
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_100
); /* next on <var_100:Iterator[AClassdef]>*/
5546 goto BREAK_label108
;
5549 BREAK_label108
: (void)0;
5551 ((void(*)(val
* self
))((((long)var_100
&3)?class_info
[((long)var_100
&3)]:var_100
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_100
); /* finish on <var_100:Iterator[AClassdef]>*/
5554 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
5555 var111
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
5556 if (unlikely(var111
== NULL
)) {
5557 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5558 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
5562 RET_LABEL110
:(void)0;
5566 { /* Inline toolcontext#ToolContext#error_count (var109) on <var109:ToolContext> */
5567 var114
= var109
->attrs
[COLOR_nit__toolcontext__ToolContext___error_count
].l
; /* _error_count on <var109:ToolContext> */
5569 RET_LABEL113
:(void)0;
5573 { /* Inline kernel#Int#!= (var_errcount,var112) on <var_errcount:Int> */
5574 var117
= var_errcount
== var112
;
5578 RET_LABEL116
:(void)0;
5586 { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on <var_nmodule:AModule> */
5587 var121
= var_nmodule
->attrs
[COLOR_nit__parser_nodes__AModule___n_classdefs
].val
; /* _n_classdefs on <var_nmodule:AModule> */
5588 if (unlikely(var121
== NULL
)) {
5589 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs");
5590 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1096);
5594 RET_LABEL120
:(void)0;
5599 var123
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_122
);
5604 var125
= ((short int(*)(val
* self
))((((long)var_124
&3)?class_info
[((long)var_124
&3)]:var_124
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_124
); /* is_ok on <var_124:Iterator[AClassdef]>*/
5608 var126
= ((val
*(*)(val
* self
))((((long)var_124
&3)?class_info
[((long)var_124
&3)]:var_124
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_124
); /* item on <var_124:Iterator[AClassdef]>*/
5610 var_nclassdef127
= var126
;
5612 nit__modelize_class___ModelBuilder___collect_a_mclassdef_inheritance(self
, var_nmodule
, var_nclassdef127
); /* Direct call modelize_class#ModelBuilder#collect_a_mclassdef_inheritance on <self:ModelBuilder>*/
5615 ((void(*)(val
* self
))((((long)var_124
&3)?class_info
[((long)var_124
&3)]:var_124
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_124
); /* next on <var_124:Iterator[AClassdef]>*/
5618 goto BREAK_label128
;
5621 BREAK_label128
: (void)0;
5623 ((void(*)(val
* self
))((((long)var_124
&3)?class_info
[((long)var_124
&3)]:var_124
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_124
); /* finish on <var_124:Iterator[AClassdef]>*/
5626 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
5627 var131
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
5628 if (unlikely(var131
== NULL
)) {
5629 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5630 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
5634 RET_LABEL130
:(void)0;
5638 { /* Inline toolcontext#ToolContext#error_count (var129) on <var129:ToolContext> */
5639 var134
= var129
->attrs
[COLOR_nit__toolcontext__ToolContext___error_count
].l
; /* _error_count on <var129:ToolContext> */
5641 RET_LABEL133
:(void)0;
5645 { /* Inline kernel#Int#!= (var_errcount,var132) on <var_errcount:Int> */
5646 var137
= var_errcount
== var132
;
5650 RET_LABEL136
:(void)0;
5658 { /* Inline model#MModule#mclassdefs (var_mmodule) on <var_mmodule:nullable MModule(MModule)> */
5659 var141
= var_mmodule
->attrs
[COLOR_nit__model__MModule___mclassdefs
].val
; /* _mclassdefs on <var_mmodule:nullable MModule(MModule)> */
5660 if (unlikely(var141
== NULL
)) {
5661 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
5662 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 131);
5666 RET_LABEL140
:(void)0;
5671 var143
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_142
);
5676 var145
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_144
);
5680 var146
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_144
);
5682 var_mclassdef
= var146
;
5684 nit___nit__MClassDef___add_in_hierarchy(var_mclassdef
); /* Direct call model#MClassDef#add_in_hierarchy on <var_mclassdef:MClassDef>*/
5687 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_144
); /* Direct call array#ArrayIterator#next on <var_144:ArrayIterator[MClassDef]>*/
5690 goto BREAK_label147
;
5693 BREAK_label147
: (void)0;
5695 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_144
); /* Direct call array#ArrayIterator#finish on <var_144:ArrayIterator[MClassDef]>*/
5698 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
5699 var150
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
5700 if (unlikely(var150
== NULL
)) {
5701 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5702 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
5706 RET_LABEL149
:(void)0;
5710 { /* Inline toolcontext#ToolContext#error_count (var148) on <var148:ToolContext> */
5711 var153
= var148
->attrs
[COLOR_nit__toolcontext__ToolContext___error_count
].l
; /* _error_count on <var148:ToolContext> */
5713 RET_LABEL152
:(void)0;
5717 { /* Inline kernel#Int#!= (var_errcount,var151) on <var_errcount:Int> */
5718 var156
= var_errcount
== var151
;
5722 RET_LABEL155
:(void)0;
5730 { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on <var_nmodule:AModule> */
5731 var160
= var_nmodule
->attrs
[COLOR_nit__parser_nodes__AModule___n_classdefs
].val
; /* _n_classdefs on <var_nmodule:AModule> */
5732 if (unlikely(var160
== NULL
)) {
5733 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs");
5734 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1096);
5738 RET_LABEL159
:(void)0;
5743 var162
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_161
);
5748 var164
= ((short int(*)(val
* self
))((((long)var_163
&3)?class_info
[((long)var_163
&3)]:var_163
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_163
); /* is_ok on <var_163:Iterator[AClassdef]>*/
5752 var165
= ((val
*(*)(val
* self
))((((long)var_163
&3)?class_info
[((long)var_163
&3)]:var_163
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_163
); /* item on <var_163:Iterator[AClassdef]>*/
5754 var_nclassdef166
= var165
;
5756 nit__modelize_class___ModelBuilder___check_supertypes(self
, var_nmodule
, var_nclassdef166
); /* Direct call modelize_class#ModelBuilder#check_supertypes on <self:ModelBuilder>*/
5759 ((void(*)(val
* self
))((((long)var_163
&3)?class_info
[((long)var_163
&3)]:var_163
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_163
); /* next on <var_163:Iterator[AClassdef]>*/
5762 goto BREAK_label167
;
5765 BREAK_label167
: (void)0;
5767 ((void(*)(val
* self
))((((long)var_163
&3)?class_info
[((long)var_163
&3)]:var_163
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_163
); /* finish on <var_163:Iterator[AClassdef]>*/
5770 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
5771 var170
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
5772 if (unlikely(var170
== NULL
)) {
5773 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5774 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
5778 RET_LABEL169
:(void)0;
5782 { /* Inline toolcontext#ToolContext#error_count (var168) on <var168:ToolContext> */
5783 var173
= var168
->attrs
[COLOR_nit__toolcontext__ToolContext___error_count
].l
; /* _error_count on <var168:ToolContext> */
5785 RET_LABEL172
:(void)0;
5789 { /* Inline kernel#Int#!= (var_errcount,var171) on <var_errcount:Int> */
5790 var176
= var_errcount
== var171
;
5794 RET_LABEL175
:(void)0;
5802 { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on <var_nmodule:AModule> */
5803 var180
= var_nmodule
->attrs
[COLOR_nit__parser_nodes__AModule___n_classdefs
].val
; /* _n_classdefs on <var_nmodule:AModule> */
5804 if (unlikely(var180
== NULL
)) {
5805 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs");
5806 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1096);
5810 RET_LABEL179
:(void)0;
5815 var182
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_181
);
5820 var184
= ((short int(*)(val
* self
))((((long)var_183
&3)?class_info
[((long)var_183
&3)]:var_183
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_183
); /* is_ok on <var_183:Iterator[AClassdef]>*/
5824 var185
= ((val
*(*)(val
* self
))((((long)var_183
&3)?class_info
[((long)var_183
&3)]:var_183
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_183
); /* item on <var_183:Iterator[AClassdef]>*/
5826 var_nclassdef186
= var185
;
5827 /* <var_nclassdef186:AClassdef> isa AStdClassdef */
5828 cltype188
= type_nit__AStdClassdef
.color
;
5829 idtype189
= type_nit__AStdClassdef
.id
;
5830 if(cltype188
>= var_nclassdef186
->type
->table_size
) {
5833 var187
= var_nclassdef186
->type
->type_table
[cltype188
] == idtype189
;
5837 { /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef186) on <var_nclassdef186:AClassdef(AStdClassdef)> */
5838 var192
= var_nclassdef186
->attrs
[COLOR_nit__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_nclassdef186:AClassdef(AStdClassdef)> */
5840 RET_LABEL191
:(void)0;
5843 var_mclassdef193
= var190
;
5845 { /* Inline parser_nodes#AStdClassdef#n_formaldefs (var_nclassdef186) on <var_nclassdef186:AClassdef(AStdClassdef)> */
5846 var196
= var_nclassdef186
->attrs
[COLOR_nit__parser_nodes__AStdClassdef___n_formaldefs
].val
; /* _n_formaldefs on <var_nclassdef186:AClassdef(AStdClassdef)> */
5847 if (unlikely(var196
== NULL
)) {
5848 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_formaldefs");
5849 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1207);
5853 RET_LABEL195
:(void)0;
5858 var198
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_197
);
5863 var200
= ((short int(*)(val
* self
))((((long)var_199
&3)?class_info
[((long)var_199
&3)]:var_199
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_199
); /* is_ok on <var_199:Iterator[AFormaldef]>*/
5867 var201
= ((val
*(*)(val
* self
))((((long)var_199
&3)?class_info
[((long)var_199
&3)]:var_199
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_199
); /* item on <var_199:Iterator[AFormaldef]>*/
5871 { /* Inline parser_nodes#AFormaldef#n_type (var_nfd) on <var_nfd:AFormaldef> */
5872 var204
= var_nfd
->attrs
[COLOR_nit__parser_nodes__AFormaldef___n_type
].val
; /* _n_type on <var_nfd:AFormaldef> */
5874 RET_LABEL203
:(void)0;
5878 if (var_nfdt
== NULL
) {
5879 var206
= 0; /* is null */
5881 var206
= 1; /* arg is null and recv is not */
5884 { /* Inline kernel#Object#!= (var_nfdt,((val*)NULL)) on <var_nfdt:nullable AType> */
5885 var_other31
= ((val
*)NULL
);
5887 var209
= ((short int(*)(val
* self
, val
* p0
))(var_nfdt
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nfdt
, var_other31
); /* == on <var_nfdt:nullable AType(AType)>*/
5892 RET_LABEL208
:(void)0;
5899 { /* Inline modelbuilder_base#AType#mtype (var_nfdt) on <var_nfdt:nullable AType(AType)> */
5900 var214
= var_nfdt
->attrs
[COLOR_nit__modelbuilder_base__AType___mtype
].val
; /* _mtype on <var_nfdt:nullable AType(AType)> */
5902 RET_LABEL213
:(void)0;
5905 if (var212
== NULL
) {
5906 var215
= 0; /* is null */
5908 var215
= 1; /* arg is null and recv is not */
5911 { /* Inline kernel#Object#!= (var212,((val*)NULL)) on <var212:nullable MType> */
5912 var_other31
= ((val
*)NULL
);
5914 var218
= ((short int(*)(val
* self
, val
* p0
))(var212
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var212
, var_other31
); /* == on <var212:nullable MType(MType)>*/
5919 RET_LABEL217
:(void)0;
5929 var220
= nit___nit__ModelBuilder___resolve_mtype(self
, var_mmodule
, var_mclassdef193
, var_nfdt
);
5932 if (var_bound
== NULL
) {
5933 var221
= 1; /* is null */
5935 var221
= 0; /* arg is null but recv is not */
5938 { /* Inline kernel#Object#== (var_bound,((val*)NULL)) on <var_bound:nullable MType> */
5939 var_other
= ((val
*)NULL
);
5941 { /* Inline kernel#Object#is_same_instance (var_bound,var_other) on <var_bound:nullable MType(MType)> */
5942 var226
= var_bound
== var_other
;
5945 RET_LABEL225
:(void)0;
5950 RET_LABEL223
:(void)0;
5961 ((void(*)(val
* self
))((((long)var_199
&3)?class_info
[((long)var_199
&3)]:var_199
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_199
); /* next on <var_199:Iterator[AFormaldef]>*/
5964 goto BREAK_label227
;
5967 BREAK_label227
: (void)0;
5969 ((void(*)(val
* self
))((((long)var_199
&3)?class_info
[((long)var_199
&3)]:var_199
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_199
); /* finish on <var_199:Iterator[AFormaldef]>*/
5972 var228
= nit___nit__AStdClassdef___n_superclasses(var_nclassdef186
);
5976 var230
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_229
);
5981 var232
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_231
);
5985 var233
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_231
);
5989 { /* Inline parser_nodes#ASuperPropdef#n_type (var_nsc) on <var_nsc:ASuperPropdef> */
5990 var236
= var_nsc
->attrs
[COLOR_nit__parser_nodes__ASuperPropdef___n_type
].val
; /* _n_type on <var_nsc:ASuperPropdef> */
5991 if (unlikely(var236
== NULL
)) {
5992 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
5993 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1403);
5997 RET_LABEL235
:(void)0;
6002 { /* Inline modelbuilder_base#AType#mtype (var_ntype) on <var_ntype:AType> */
6003 var239
= var_ntype
->attrs
[COLOR_nit__modelbuilder_base__AType___mtype
].val
; /* _mtype on <var_ntype:AType> */
6005 RET_LABEL238
:(void)0;
6008 if (var237
== NULL
) {
6009 var240
= 0; /* is null */
6011 var240
= 1; /* arg is null and recv is not */
6014 { /* Inline kernel#Object#!= (var237,((val*)NULL)) on <var237:nullable MType> */
6015 var_other31
= ((val
*)NULL
);
6017 var243
= ((short int(*)(val
* self
, val
* p0
))(var237
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var237
, var_other31
); /* == on <var237:nullable MType(MType)>*/
6022 RET_LABEL242
:(void)0;
6028 var245
= nit___nit__ModelBuilder___resolve_mtype(self
, var_mmodule
, var_mclassdef193
, var_ntype
);
6031 if (var_mtype
== NULL
) {
6032 var246
= 1; /* is null */
6034 var246
= 0; /* arg is null but recv is not */
6037 { /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
6038 var_other
= ((val
*)NULL
);
6040 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
6041 var251
= var_mtype
== var_other
;
6044 RET_LABEL250
:(void)0;
6049 RET_LABEL248
:(void)0;
6060 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_231
); /* Direct call array#ArrayIterator#next on <var_231:ArrayIterator[ASuperPropdef]>*/
6063 goto BREAK_label252
;
6066 BREAK_label252
: (void)0;
6068 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_231
); /* Direct call array#ArrayIterator#finish on <var_231:ArrayIterator[ASuperPropdef]>*/
6073 ((void(*)(val
* self
))((((long)var_183
&3)?class_info
[((long)var_183
&3)]:var_183
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_183
); /* next on <var_183:Iterator[AClassdef]>*/
6076 goto BREAK_label253
;
6079 BREAK_label253
: (void)0;
6081 ((void(*)(val
* self
))((((long)var_183
&3)?class_info
[((long)var_183
&3)]:var_183
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_183
); /* finish on <var_183:Iterator[AClassdef]>*/
6084 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
6085 var256
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
6086 if (unlikely(var256
== NULL
)) {
6087 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6088 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
6092 RET_LABEL255
:(void)0;
6096 { /* Inline toolcontext#ToolContext#error_count (var254) on <var254:ToolContext> */
6097 var259
= var254
->attrs
[COLOR_nit__toolcontext__ToolContext___error_count
].l
; /* _error_count on <var254:ToolContext> */
6099 RET_LABEL258
:(void)0;
6103 { /* Inline kernel#Int#!= (var_errcount,var257) on <var_errcount:Int> */
6104 var262
= var_errcount
== var257
;
6108 RET_LABEL261
:(void)0;
6116 { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on <var_nmodule:AModule> */
6117 var266
= var_nmodule
->attrs
[COLOR_nit__parser_nodes__AModule___n_classdefs
].val
; /* _n_classdefs on <var_nmodule:AModule> */
6118 if (unlikely(var266
== NULL
)) {
6119 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs");
6120 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1096);
6124 RET_LABEL265
:(void)0;
6129 var268
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_267
);
6134 var270
= ((short int(*)(val
* self
))((((long)var_269
&3)?class_info
[((long)var_269
&3)]:var_269
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_269
); /* is_ok on <var_269:Iterator[AClassdef]>*/
6138 var271
= ((val
*(*)(val
* self
))((((long)var_269
&3)?class_info
[((long)var_269
&3)]:var_269
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_269
); /* item on <var_269:Iterator[AClassdef]>*/
6140 var_nclassdef272
= var271
;
6142 { /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef272) on <var_nclassdef272:AClassdef> */
6143 var275
= var_nclassdef272
->attrs
[COLOR_nit__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_nclassdef272:AClassdef> */
6145 RET_LABEL274
:(void)0;
6148 var_mclassdef276
= var273
;
6149 if (var_mclassdef276
== NULL
) {
6150 var277
= 1; /* is null */
6152 var277
= 0; /* arg is null but recv is not */
6155 { /* Inline kernel#Object#== (var_mclassdef276,((val*)NULL)) on <var_mclassdef276:nullable MClassDef> */
6156 var_other
= ((val
*)NULL
);
6158 { /* Inline kernel#Object#is_same_instance (var_mclassdef276,var_other) on <var_mclassdef276:nullable MClassDef(MClassDef)> */
6159 var282
= var_mclassdef276
== var_other
;
6162 RET_LABEL281
:(void)0;
6167 RET_LABEL279
:(void)0;
6172 goto BREAK_label283
;
6175 var284
= NEW_standard__HashMap(&type_standard__HashMap__nit__MClass__nit__MClassType
);
6177 standard___standard__HashMap___standard__kernel__Object__init(var284
); /* Direct call hash_collection#HashMap#init on <var284:HashMap[MClass, MClassType]>*/
6179 var_superclasses
= var284
;
6181 { /* Inline model#MClassDef#in_hierarchy (var_mclassdef276) on <var_mclassdef276:nullable MClassDef(MClassDef)> */
6182 var287
= var_mclassdef276
->attrs
[COLOR_nit__model__MClassDef___in_hierarchy
].val
; /* _in_hierarchy on <var_mclassdef276:nullable MClassDef(MClassDef)> */
6184 RET_LABEL286
:(void)0;
6187 if (var285
== NULL
) {
6188 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6189 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 390);
6192 var288
= poset___poset__POSetElement___greaters(var285
);
6196 var290
= ((val
*(*)(val
* self
))((((long)var_289
&3)?class_info
[((long)var_289
&3)]:var_289
->class)->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_289
); /* iterator on <var_289:Collection[MClassDef]>*/
6201 var292
= ((short int(*)(val
* self
))((((long)var_291
&3)?class_info
[((long)var_291
&3)]:var_291
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_291
); /* is_ok on <var_291:Iterator[MClassDef]>*/
6205 var293
= ((val
*(*)(val
* self
))((((long)var_291
&3)?class_info
[((long)var_291
&3)]:var_291
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_291
); /* item on <var_291:Iterator[MClassDef]>*/
6209 { /* Inline model#MClassDef#supertypes (var_scd) on <var_scd:MClassDef> */
6210 var296
= var_scd
->attrs
[COLOR_nit__model__MClassDef___supertypes
].val
; /* _supertypes on <var_scd:MClassDef> */
6211 if (unlikely(var296
== NULL
)) {
6212 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
6213 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 627);
6217 RET_LABEL295
:(void)0;
6222 var298
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_297
);
6227 var300
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_299
);
6231 var301
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_299
);
6235 { /* Inline model#MClassType#mclass (var_st) on <var_st:MClassType> */
6236 var304
= var_st
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_st:MClassType> */
6237 if (unlikely(var304
== NULL
)) {
6238 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6239 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
6243 RET_LABEL303
:(void)0;
6247 var305
= standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var_superclasses
, var302
);
6252 { /* Inline model#MClassType#mclass (var_st) on <var_st:MClassType> */
6253 var309
= var_st
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_st:MClassType> */
6254 if (unlikely(var309
== NULL
)) {
6255 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6256 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
6260 RET_LABEL308
:(void)0;
6264 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_superclasses
, var307
, var_st
); /* Direct call hash_collection#HashMap#[]= on <var_superclasses:HashMap[MClass, MClassType]>*/
6268 { /* Inline model#MClassType#mclass (var_st) on <var_st:MClassType> */
6269 var312
= var_st
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_st:MClassType> */
6270 if (unlikely(var312
== NULL
)) {
6271 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6272 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
6276 RET_LABEL311
:(void)0;
6280 var313
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_superclasses
, var310
);
6283 { /* Inline kernel#Object#!= (var313,var_st) on <var313:nullable Object(MClassType)> */
6284 var_other31
= var_st
;
6286 var316
= ((short int(*)(val
* self
, val
* p0
))(var313
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var313
, var_other31
); /* == on <var313:nullable Object(MClassType)>*/
6291 RET_LABEL315
:(void)0;
6296 { /* Inline model#MClassType#mclass (var_st) on <var_st:MClassType> */
6297 var320
= var_st
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_st:MClassType> */
6298 if (unlikely(var320
== NULL
)) {
6299 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6300 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
6304 RET_LABEL319
:(void)0;
6308 var321
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_superclasses
, var318
);
6311 { /* Inline model#MClassDef#mclass (var_mclassdef276) on <var_mclassdef276:nullable MClassDef(MClassDef)> */
6312 var324
= var_mclassdef276
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef276:nullable MClassDef(MClassDef)> */
6313 if (unlikely(var324
== NULL
)) {
6314 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6315 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
6319 RET_LABEL323
:(void)0;
6323 { /* Inline model#MClass#mclass_type (var322) on <var322:MClass> */
6324 var327
= var322
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var322:MClass> */
6325 if (unlikely(var327
== NULL
)) {
6326 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
6327 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
6331 RET_LABEL326
:(void)0;
6335 { /* Inline model#MClassDef#bound_mtype (var_mclassdef276) on <var_mclassdef276:nullable MClassDef(MClassDef)> */
6336 var330
= var_mclassdef276
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef276:nullable MClassDef(MClassDef)> */
6337 if (unlikely(var330
== NULL
)) {
6338 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
6339 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
6343 RET_LABEL329
:(void)0;
6347 var331
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(var321
->class->vft
[COLOR_nit__model__MType__resolve_for
]))(var321
, var325
, var328
, var_mmodule
, 0); /* resolve_for on <var321:nullable Object(MClassType)>*/
6351 { /* Inline model#MClassDef#mclass (var_mclassdef276) on <var_mclassdef276:nullable MClassDef(MClassDef)> */
6352 var334
= var_mclassdef276
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef276:nullable MClassDef(MClassDef)> */
6353 if (unlikely(var334
== NULL
)) {
6354 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6355 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
6359 RET_LABEL333
:(void)0;
6363 { /* Inline model#MClass#mclass_type (var332) on <var332:MClass> */
6364 var337
= var332
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var332:MClass> */
6365 if (unlikely(var337
== NULL
)) {
6366 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
6367 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
6371 RET_LABEL336
:(void)0;
6375 { /* Inline model#MClassDef#bound_mtype (var_mclassdef276) on <var_mclassdef276:nullable MClassDef(MClassDef)> */
6376 var340
= var_mclassdef276
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef276:nullable MClassDef(MClassDef)> */
6377 if (unlikely(var340
== NULL
)) {
6378 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
6379 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
6383 RET_LABEL339
:(void)0;
6387 var341
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(var_st
->class->vft
[COLOR_nit__model__MType__resolve_for
]))(var_st
, var335
, var338
, var_mmodule
, 0); /* resolve_for on <var_st:MClassType>*/
6391 { /* Inline kernel#Object#!= (var_st1,var_st2) on <var_st1:MClassType> */
6392 var_other31
= var_st2
;
6394 var344
= ((short int(*)(val
* self
, val
* p0
))(var_st1
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_st1
, var_other31
); /* == on <var_st1:MClassType>*/
6399 RET_LABEL343
:(void)0;
6403 if (unlikely(varonce
==NULL
)) {
6404 var346
= NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String
);
6405 if (likely(varonce347
!=NULL
)) {
6406 var348
= varonce347
;
6408 var349
= "Error: incompatible ancestors for `";
6409 var350
= standard___standard__NativeString___to_s_with_length(var349
, 35l);
6411 varonce347
= var348
;
6413 ((struct instance_standard__NativeArray
*)var346
)->values
[0]=var348
;
6414 if (likely(varonce351
!=NULL
)) {
6415 var352
= varonce351
;
6417 var353
= "`; conflict: `";
6418 var354
= standard___standard__NativeString___to_s_with_length(var353
, 14l);
6420 varonce351
= var352
;
6422 ((struct instance_standard__NativeArray
*)var346
)->values
[2]=var352
;
6423 if (likely(varonce355
!=NULL
)) {
6424 var356
= varonce355
;
6427 var358
= standard___standard__NativeString___to_s_with_length(var357
, 7l);
6429 varonce355
= var356
;
6431 ((struct instance_standard__NativeArray
*)var346
)->values
[4]=var356
;
6432 if (likely(varonce359
!=NULL
)) {
6433 var360
= varonce359
;
6436 var362
= standard___standard__NativeString___to_s_with_length(var361
, 1l);
6438 varonce359
= var360
;
6440 ((struct instance_standard__NativeArray
*)var346
)->values
[6]=var360
;
6446 { /* Inline model#MClassDef#mclass (var_mclassdef276) on <var_mclassdef276:nullable MClassDef(MClassDef)> */
6447 var365
= var_mclassdef276
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef276:nullable MClassDef(MClassDef)> */
6448 if (unlikely(var365
== NULL
)) {
6449 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6450 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
6454 RET_LABEL364
:(void)0;
6458 var366
= ((val
*(*)(val
* self
))(var363
->class->vft
[COLOR_standard__string__Object__to_s
]))(var363
); /* to_s on <var363:MClass>*/
6460 ((struct instance_standard__NativeArray
*)var346
)->values
[1]=var366
;
6462 var367
= ((val
*(*)(val
* self
))(var_st1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_st1
); /* to_s on <var_st1:MClassType>*/
6464 ((struct instance_standard__NativeArray
*)var346
)->values
[3]=var367
;
6466 var368
= ((val
*(*)(val
* self
))(var_st2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_st2
); /* to_s on <var_st2:MClassType>*/
6468 ((struct instance_standard__NativeArray
*)var346
)->values
[5]=var368
;
6470 var369
= ((val
*(*)(val
* self
))(var346
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var346
); /* native_to_s on <var346:NativeArray[String]>*/
6474 nit___nit__ModelBuilder___error(self
, var_nclassdef272
, var369
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
6482 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_299
); /* Direct call array#ArrayIterator#next on <var_299:ArrayIterator[MClassType]>*/
6485 goto BREAK_label370
;
6488 BREAK_label370
: (void)0;
6490 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_299
); /* Direct call array#ArrayIterator#finish on <var_299:ArrayIterator[MClassType]>*/
6493 ((void(*)(val
* self
))((((long)var_291
&3)?class_info
[((long)var_291
&3)]:var_291
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_291
); /* next on <var_291:Iterator[MClassDef]>*/
6496 goto BREAK_label371
;
6499 BREAK_label371
: (void)0;
6501 ((void(*)(val
* self
))((((long)var_291
&3)?class_info
[((long)var_291
&3)]:var_291
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_291
); /* finish on <var_291:Iterator[MClassDef]>*/
6503 BREAK_label283
: (void)0;
6505 ((void(*)(val
* self
))((((long)var_269
&3)?class_info
[((long)var_269
&3)]:var_269
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_269
); /* next on <var_269:Iterator[AClassdef]>*/
6508 goto BREAK_label372
;
6511 BREAK_label372
: (void)0;
6513 ((void(*)(val
* self
))((((long)var_269
&3)?class_info
[((long)var_269
&3)]:var_269
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_269
); /* finish on <var_269:Iterator[AClassdef]>*/
6516 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
6517 var375
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
6518 if (unlikely(var375
== NULL
)) {
6519 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6520 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
6524 RET_LABEL374
:(void)0;
6528 { /* Inline toolcontext#ToolContext#error_count (var373) on <var373:ToolContext> */
6529 var378
= var373
->attrs
[COLOR_nit__toolcontext__ToolContext___error_count
].l
; /* _error_count on <var373:ToolContext> */
6531 RET_LABEL377
:(void)0;
6535 { /* Inline kernel#Int#!= (var_errcount,var376) on <var_errcount:Int> */
6536 var381
= var_errcount
== var376
;
6540 RET_LABEL380
:(void)0;
6548 { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on <var_nmodule:AModule> */
6549 var385
= var_nmodule
->attrs
[COLOR_nit__parser_nodes__AModule___n_classdefs
].val
; /* _n_classdefs on <var_nmodule:AModule> */
6550 if (unlikely(var385
== NULL
)) {
6551 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs");
6552 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1096);
6556 RET_LABEL384
:(void)0;
6561 var387
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_386
);
6566 var389
= ((short int(*)(val
* self
))((((long)var_388
&3)?class_info
[((long)var_388
&3)]:var_388
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_388
); /* is_ok on <var_388:Iterator[AClassdef]>*/
6570 var390
= ((val
*(*)(val
* self
))((((long)var_388
&3)?class_info
[((long)var_388
&3)]:var_388
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_388
); /* item on <var_388:Iterator[AClassdef]>*/
6572 var_nclassdef391
= var390
;
6573 /* <var_nclassdef391:AClassdef> isa AStdClassdef */
6574 cltype393
= type_nit__AStdClassdef
.color
;
6575 idtype394
= type_nit__AStdClassdef
.id
;
6576 if(cltype393
>= var_nclassdef391
->type
->table_size
) {
6579 var392
= var_nclassdef391
->type
->type_table
[cltype393
] == idtype394
;
6583 goto BREAK_label396
;
6587 { /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef391) on <var_nclassdef391:AClassdef(AStdClassdef)> */
6588 var399
= var_nclassdef391
->attrs
[COLOR_nit__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_nclassdef391:AClassdef(AStdClassdef)> */
6590 RET_LABEL398
:(void)0;
6593 var_mclassdef400
= var397
;
6594 if (var_mclassdef400
== NULL
) {
6595 var401
= 1; /* is null */
6597 var401
= 0; /* arg is null but recv is not */
6600 { /* Inline kernel#Object#== (var_mclassdef400,((val*)NULL)) on <var_mclassdef400:nullable MClassDef> */
6601 var_other
= ((val
*)NULL
);
6603 { /* Inline kernel#Object#is_same_instance (var_mclassdef400,var_other) on <var_mclassdef400:nullable MClassDef(MClassDef)> */
6604 var406
= var_mclassdef400
== var_other
;
6607 RET_LABEL405
:(void)0;
6612 RET_LABEL403
:(void)0;
6617 goto BREAK_label396
;
6620 var407
= NEW_standard__Array(&type_standard__Array__nit__MClass
);
6622 standard___standard__Array___standard__kernel__Object__init(var407
); /* Direct call array#Array#init on <var407:Array[MClass]>*/
6624 var_parents
= var407
;
6626 { /* Inline model#MClassDef#in_hierarchy (var_mclassdef400) on <var_mclassdef400:nullable MClassDef(MClassDef)> */
6627 var410
= var_mclassdef400
->attrs
[COLOR_nit__model__MClassDef___in_hierarchy
].val
; /* _in_hierarchy on <var_mclassdef400:nullable MClassDef(MClassDef)> */
6629 RET_LABEL409
:(void)0;
6632 if (var408
== NULL
) {
6633 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6634 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 418);
6637 var411
= poset___poset__POSetElement___direct_greaters(var408
);
6641 var413
= ((val
*(*)(val
* self
))((((long)var_412
&3)?class_info
[((long)var_412
&3)]:var_412
->class)->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_412
); /* iterator on <var_412:Collection[MClassDef]>*/
6646 var415
= ((short int(*)(val
* self
))((((long)var_414
&3)?class_info
[((long)var_414
&3)]:var_414
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_414
); /* is_ok on <var_414:Iterator[MClassDef]>*/
6650 var416
= ((val
*(*)(val
* self
))((((long)var_414
&3)?class_info
[((long)var_414
&3)]:var_414
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_414
); /* item on <var_414:Iterator[MClassDef]>*/
6654 { /* Inline model#MClassDef#mclass (var_sup) on <var_sup:MClassDef> */
6655 var419
= var_sup
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_sup:MClassDef> */
6656 if (unlikely(var419
== NULL
)) {
6657 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6658 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
6662 RET_LABEL418
:(void)0;
6666 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_parents
, var417
); /* Direct call array#Array#add on <var_parents:Array[MClass]>*/
6669 ((void(*)(val
* self
))((((long)var_414
&3)?class_info
[((long)var_414
&3)]:var_414
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_414
); /* next on <var_414:Iterator[MClassDef]>*/
6672 goto BREAK_label420
;
6675 BREAK_label420
: (void)0;
6677 ((void(*)(val
* self
))((((long)var_414
&3)?class_info
[((long)var_414
&3)]:var_414
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_414
); /* finish on <var_414:Iterator[MClassDef]>*/
6679 var421
= NEW_standard__ArrayMap(&type_standard__ArrayMap__nit__MClass__nit__AType
);
6681 { /* Inline kernel#Object#init (var421) on <var421:ArrayMap[MClass, AType]> */
6682 RET_LABEL422
:(void)0;
6685 var_seen_parents
= var421
;
6686 if (likely(varonce423
!=NULL
)) {
6687 var424
= varonce423
;
6690 var426
= standard___standard__NativeString___to_s_with_length(var425
, 6l);
6692 varonce423
= var424
;
6695 var427
= nit___nit__ModelBuilder___try_get_mclass_by_name(self
, var_nmodule
, var_mmodule
, var424
);
6697 var_objectclass
= var427
;
6699 var428
= nit___nit__AStdClassdef___n_superclasses(var_nclassdef391
);
6703 var430
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_429
);
6708 var432
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_431
);
6712 var433
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_431
);
6714 var_nsc434
= var433
;
6716 { /* Inline parser_nodes#ASuperPropdef#n_type (var_nsc434) on <var_nsc434:ASuperPropdef> */
6717 var437
= var_nsc434
->attrs
[COLOR_nit__parser_nodes__ASuperPropdef___n_type
].val
; /* _n_type on <var_nsc434:ASuperPropdef> */
6718 if (unlikely(var437
== NULL
)) {
6719 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
6720 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1403);
6724 RET_LABEL436
:(void)0;
6727 var_ntype438
= var435
;
6729 { /* Inline modelbuilder_base#AType#mtype (var_ntype438) on <var_ntype438:AType> */
6730 var441
= var_ntype438
->attrs
[COLOR_nit__modelbuilder_base__AType___mtype
].val
; /* _mtype on <var_ntype438:AType> */
6732 RET_LABEL440
:(void)0;
6735 var_mtype442
= var439
;
6736 if (var_mtype442
== NULL
) {
6737 var443
= 1; /* is null */
6739 var443
= 0; /* arg is null but recv is not */
6742 { /* Inline kernel#Object#== (var_mtype442,((val*)NULL)) on <var_mtype442:nullable MType> */
6743 var_other
= ((val
*)NULL
);
6745 { /* Inline kernel#Object#is_same_instance (var_mtype442,var_other) on <var_mtype442:nullable MType(MType)> */
6746 var448
= var_mtype442
== var_other
;
6749 RET_LABEL447
:(void)0;
6754 RET_LABEL445
:(void)0;
6759 goto BREAK_label449
;
6762 /* <var_mtype442:nullable MType(MType)> isa MClassType */
6763 cltype451
= type_nit__MClassType
.color
;
6764 idtype452
= type_nit__MClassType
.id
;
6765 if(cltype451
>= var_mtype442
->type
->table_size
) {
6768 var450
= var_mtype442
->type
->type_table
[cltype451
] == idtype452
;
6770 if (unlikely(!var450
)) {
6771 PRINT_ERROR("Runtime error: %s", "Assert failed");
6772 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 433);
6776 { /* Inline model#MClassType#mclass (var_mtype442) on <var_mtype442:nullable MType(MClassType)> */
6777 var455
= var_mtype442
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype442:nullable MType(MClassType)> */
6778 if (unlikely(var455
== NULL
)) {
6779 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6780 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
6784 RET_LABEL454
:(void)0;
6789 var457
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_parents
, var_sc
);
6797 { /* Inline kernel#Object#== (var_sc,var_objectclass) on <var_sc:MClass> */
6798 var_other
= var_objectclass
;
6800 { /* Inline kernel#Object#is_same_instance (var_sc,var_other) on <var_sc:MClass> */
6801 var464
= var_sc
== var_other
;
6804 RET_LABEL463
:(void)0;
6809 RET_LABEL461
:(void)0;
6816 { /* Inline parser_nodes#ANode#location (var_ntype438) on <var_ntype438:AType> */
6817 var468
= var_ntype438
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <var_ntype438:AType> */
6818 if (unlikely(var468
== NULL
)) {
6819 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
6820 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 24);
6824 RET_LABEL467
:(void)0;
6828 { /* Inline location#Location#file (var466) on <var466:Location> */
6829 var471
= var466
->attrs
[COLOR_nit__location__Location___file
].val
; /* _file on <var466:Location> */
6831 RET_LABEL470
:(void)0;
6834 if (var469
== NULL
) {
6835 var472
= 0; /* is null */
6837 var472
= 1; /* arg is null and recv is not */
6840 { /* Inline kernel#Object#!= (var469,((val*)NULL)) on <var469:nullable SourceFile> */
6841 var_other31
= ((val
*)NULL
);
6843 var475
= ((short int(*)(val
* self
, val
* p0
))(var469
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var469
, var_other31
); /* == on <var469:nullable SourceFile(SourceFile)>*/
6848 RET_LABEL474
:(void)0;
6855 { /* Inline parser_nodes#ANode#location (var_ntype438) on <var_ntype438:AType> */
6856 var480
= var_ntype438
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <var_ntype438:AType> */
6857 if (unlikely(var480
== NULL
)) {
6858 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
6859 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 24);
6863 RET_LABEL479
:(void)0;
6867 { /* Inline location#Location#file (var478) on <var478:Location> */
6868 var483
= var478
->attrs
[COLOR_nit__location__Location___file
].val
; /* _file on <var478:Location> */
6870 RET_LABEL482
:(void)0;
6873 if (var481
== NULL
) {
6874 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6875 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 437);
6878 { /* Inline location#SourceFile#filename (var481) on <var481:nullable SourceFile> */
6879 if (unlikely(var481
== NULL
)) {
6880 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6881 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location
, 22);
6884 var486
= var481
->attrs
[COLOR_nit__location__SourceFile___filename
].val
; /* _filename on <var481:nullable SourceFile> */
6885 if (unlikely(var486
== NULL
)) {
6886 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
6887 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location
, 22);
6891 RET_LABEL485
:(void)0;
6895 var487
= standard___standard__Text___is_empty(var484
);
6903 if (likely(varonce489
!=NULL
)) {
6904 var490
= varonce489
;
6906 var491
= "useless-superclass";
6907 var492
= standard___standard__NativeString___to_s_with_length(var491
, 18l);
6909 varonce489
= var490
;
6911 if (unlikely(varonce493
==NULL
)) {
6912 var494
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
6913 if (likely(varonce495
!=NULL
)) {
6914 var496
= varonce495
;
6916 var497
= "Warning: superfluous super-class `";
6917 var498
= standard___standard__NativeString___to_s_with_length(var497
, 34l);
6919 varonce495
= var496
;
6921 ((struct instance_standard__NativeArray
*)var494
)->values
[0]=var496
;
6922 if (likely(varonce499
!=NULL
)) {
6923 var500
= varonce499
;
6925 var501
= "` in class `";
6926 var502
= standard___standard__NativeString___to_s_with_length(var501
, 12l);
6928 varonce499
= var500
;
6930 ((struct instance_standard__NativeArray
*)var494
)->values
[2]=var500
;
6931 if (likely(varonce503
!=NULL
)) {
6932 var504
= varonce503
;
6935 var506
= standard___standard__NativeString___to_s_with_length(var505
, 2l);
6937 varonce503
= var504
;
6939 ((struct instance_standard__NativeArray
*)var494
)->values
[4]=var504
;
6941 var494
= varonce493
;
6945 var507
= ((val
*(*)(val
* self
))(var_mtype442
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mtype442
); /* to_s on <var_mtype442:nullable MType(MClassType)>*/
6947 ((struct instance_standard__NativeArray
*)var494
)->values
[1]=var507
;
6949 { /* Inline model#MClassDef#mclass (var_mclassdef400) on <var_mclassdef400:nullable MClassDef(MClassDef)> */
6950 var510
= var_mclassdef400
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef400:nullable MClassDef(MClassDef)> */
6951 if (unlikely(var510
== NULL
)) {
6952 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6953 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
6957 RET_LABEL509
:(void)0;
6961 var511
= ((val
*(*)(val
* self
))(var508
->class->vft
[COLOR_standard__string__Object__to_s
]))(var508
); /* to_s on <var508:MClass>*/
6963 ((struct instance_standard__NativeArray
*)var494
)->values
[3]=var511
;
6965 var512
= ((val
*(*)(val
* self
))(var494
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var494
); /* native_to_s on <var494:NativeArray[String]>*/
6967 varonce493
= var494
;
6969 nit___nit__ModelBuilder___warning(self
, var_ntype438
, var490
, var512
); /* Direct call modelbuilder_base#ModelBuilder#warning on <self:ModelBuilder>*/
6975 var513
= standard___standard__CoupleMap___MapRead__has_key(var_seen_parents
, var_sc
);
6980 standard___standard__ArrayMap___standard__abstract_collection__Map___91d_93d_61d(var_seen_parents
, var_sc
, var_ntype438
); /* Direct call array#ArrayMap#[]= on <var_seen_parents:ArrayMap[MClass, AType]>*/
6983 if (likely(varonce515
!=NULL
)) {
6984 var516
= varonce515
;
6986 var517
= "useless-superclass";
6987 var518
= standard___standard__NativeString___to_s_with_length(var517
, 18l);
6989 varonce515
= var516
;
6991 if (unlikely(varonce519
==NULL
)) {
6992 var520
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
6993 if (likely(varonce521
!=NULL
)) {
6994 var522
= varonce521
;
6996 var523
= "Warning: duplicated super-class `";
6997 var524
= standard___standard__NativeString___to_s_with_length(var523
, 33l);
6999 varonce521
= var522
;
7001 ((struct instance_standard__NativeArray
*)var520
)->values
[0]=var522
;
7002 if (likely(varonce525
!=NULL
)) {
7003 var526
= varonce525
;
7005 var527
= "` in class `";
7006 var528
= standard___standard__NativeString___to_s_with_length(var527
, 12l);
7008 varonce525
= var526
;
7010 ((struct instance_standard__NativeArray
*)var520
)->values
[2]=var526
;
7011 if (likely(varonce529
!=NULL
)) {
7012 var530
= varonce529
;
7015 var532
= standard___standard__NativeString___to_s_with_length(var531
, 2l);
7017 varonce529
= var530
;
7019 ((struct instance_standard__NativeArray
*)var520
)->values
[4]=var530
;
7021 var520
= varonce519
;
7025 var533
= ((val
*(*)(val
* self
))(var_mtype442
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mtype442
); /* to_s on <var_mtype442:nullable MType(MClassType)>*/
7027 ((struct instance_standard__NativeArray
*)var520
)->values
[1]=var533
;
7029 { /* Inline model#MClassDef#mclass (var_mclassdef400) on <var_mclassdef400:nullable MClassDef(MClassDef)> */
7030 var536
= var_mclassdef400
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef400:nullable MClassDef(MClassDef)> */
7031 if (unlikely(var536
== NULL
)) {
7032 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7033 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
7037 RET_LABEL535
:(void)0;
7041 var537
= ((val
*(*)(val
* self
))(var534
->class->vft
[COLOR_standard__string__Object__to_s
]))(var534
); /* to_s on <var534:MClass>*/
7043 ((struct instance_standard__NativeArray
*)var520
)->values
[3]=var537
;
7045 var538
= ((val
*(*)(val
* self
))(var520
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var520
); /* native_to_s on <var520:NativeArray[String]>*/
7047 varonce519
= var520
;
7049 nit___nit__ModelBuilder___warning(self
, var_ntype438
, var516
, var538
); /* Direct call modelbuilder_base#ModelBuilder#warning on <self:ModelBuilder>*/
7053 BREAK_label449
: (void)0;
7055 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_431
); /* Direct call array#ArrayIterator#next on <var_431:ArrayIterator[ASuperPropdef]>*/
7058 goto BREAK_label539
;
7061 BREAK_label539
: (void)0;
7063 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_431
); /* Direct call array#ArrayIterator#finish on <var_431:ArrayIterator[ASuperPropdef]>*/
7065 BREAK_label396
: (void)0;
7067 ((void(*)(val
* self
))((((long)var_388
&3)?class_info
[((long)var_388
&3)]:var_388
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_388
); /* next on <var_388:Iterator[AClassdef]>*/
7070 goto BREAK_label540
;
7073 BREAK_label540
: (void)0;
7075 ((void(*)(val
* self
))((((long)var_388
&3)?class_info
[((long)var_388
&3)]:var_388
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_388
); /* finish on <var_388:Iterator[AClassdef]>*/
7079 /* method modelize_class#ModelBuilder#mclassdef2nclassdef for (self: ModelBuilder): HashMap[MClassDef, AClassdef] */
7080 val
* nit__modelize_class___ModelBuilder___mclassdef2nclassdef(val
* self
) {
7081 val
* var
/* : HashMap[MClassDef, AClassdef] */;
7082 val
* var1
/* : HashMap[MClassDef, AClassdef] */;
7083 var1
= self
->attrs
[COLOR_nit__modelize_class__ModelBuilder___mclassdef2nclassdef
].val
; /* _mclassdef2nclassdef on <self:ModelBuilder> */
7084 if (unlikely(var1
== NULL
)) {
7085 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef2nclassdef");
7086 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 449);
7093 /* method modelize_class#AModule#build_classes_is_done for (self: AModule): Bool */
7094 short int nit__modelize_class___AModule___build_classes_is_done(val
* self
) {
7095 short int var
/* : Bool */;
7096 short int var1
/* : Bool */;
7097 var1
= self
->attrs
[COLOR_nit__modelize_class__AModule___build_classes_is_done
].s
; /* _build_classes_is_done on <self:AModule> */
7102 /* method modelize_class#AModule#build_classes_is_done= for (self: AModule, Bool) */
7103 void nit__modelize_class___AModule___build_classes_is_done_61d(val
* self
, short int p0
) {
7104 self
->attrs
[COLOR_nit__modelize_class__AModule___build_classes_is_done
].s
= p0
; /* _build_classes_is_done on <self:AModule> */
7107 /* method modelize_class#AModule#mclass2nclassdef for (self: AModule): Map[MClass, AClassdef] */
7108 val
* nit__modelize_class___AModule___mclass2nclassdef(val
* self
) {
7109 val
* var
/* : Map[MClass, AClassdef] */;
7110 val
* var1
/* : Map[MClass, AClassdef] */;
7111 var1
= self
->attrs
[COLOR_nit__modelize_class__AModule___mclass2nclassdef
].val
; /* _mclass2nclassdef on <self:AModule> */
7112 if (unlikely(var1
== NULL
)) {
7113 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass2nclassdef");
7114 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class
, 464);
7121 /* method modelize_class#AClassdef#mclass for (self: AClassdef): nullable MClass */
7122 val
* nit__modelize_class___AClassdef___mclass(val
* self
) {
7123 val
* var
/* : nullable MClass */;
7124 val
* var1
/* : nullable MClass */;
7125 var1
= self
->attrs
[COLOR_nit__modelize_class__AClassdef___mclass
].val
; /* _mclass on <self:AClassdef> */
7130 /* method modelize_class#AClassdef#mclass= for (self: AClassdef, nullable MClass) */
7131 void nit__modelize_class___AClassdef___mclass_61d(val
* self
, val
* p0
) {
7132 self
->attrs
[COLOR_nit__modelize_class__AClassdef___mclass
].val
= p0
; /* _mclass on <self:AClassdef> */
7135 /* method modelize_class#AClassdef#mclassdef for (self: AClassdef): nullable MClassDef */
7136 val
* nit__modelize_class___AClassdef___mclassdef(val
* self
) {
7137 val
* var
/* : nullable MClassDef */;
7138 val
* var1
/* : nullable MClassDef */;
7139 var1
= self
->attrs
[COLOR_nit__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <self:AClassdef> */
7144 /* method modelize_class#AClassdef#mclassdef= for (self: AClassdef, nullable MClassDef) */
7145 void nit__modelize_class___AClassdef___mclassdef_61d(val
* self
, val
* p0
) {
7146 self
->attrs
[COLOR_nit__modelize_class__AClassdef___mclassdef
].val
= p0
; /* _mclassdef on <self:AClassdef> */
7149 /* method modelize_class#AClassdef#all_defs for (self: AClassdef): nullable Array[AClassdef] */
7150 val
* nit__modelize_class___AClassdef___all_defs(val
* self
) {
7151 val
* var
/* : nullable Array[AClassdef] */;
7152 val
* var1
/* : nullable Array[AClassdef] */;
7153 var1
= self
->attrs
[COLOR_nit__modelize_class__AClassdef___all_defs
].val
; /* _all_defs on <self:AClassdef> */
7158 /* method modelize_class#AClassdef#all_defs= for (self: AClassdef, nullable Array[AClassdef]) */
7159 void nit__modelize_class___AClassdef___all_defs_61d(val
* self
, val
* p0
) {
7160 self
->attrs
[COLOR_nit__modelize_class__AClassdef___all_defs
].val
= p0
; /* _all_defs on <self:AClassdef> */
7163 /* method modelize_class#AConcreteClasskind#mkind for (self: AConcreteClasskind): MClassKind */
7164 val
* nit__modelize_class___AConcreteClasskind___AClasskind__mkind(val
* self
) {
7165 val
* var
/* : MClassKind */;
7166 val
* var1
/* : Sys */;
7167 val
* var2
/* : MClassKind */;
7170 var2
= nit__model___standard__Sys___concrete_kind(var1
);
7177 /* method modelize_class#AAbstractClasskind#mkind for (self: AAbstractClasskind): MClassKind */
7178 val
* nit__modelize_class___AAbstractClasskind___AClasskind__mkind(val
* self
) {
7179 val
* var
/* : MClassKind */;
7180 val
* var1
/* : Sys */;
7181 val
* var2
/* : MClassKind */;
7184 var2
= nit__model___standard__Sys___abstract_kind(var1
);
7191 /* method modelize_class#AInterfaceClasskind#mkind for (self: AInterfaceClasskind): MClassKind */
7192 val
* nit__modelize_class___AInterfaceClasskind___AClasskind__mkind(val
* self
) {
7193 val
* var
/* : MClassKind */;
7194 val
* var1
/* : Sys */;
7195 val
* var2
/* : MClassKind */;
7198 var2
= nit__model___standard__Sys___interface_kind(var1
);
7205 /* method modelize_class#AEnumClasskind#mkind for (self: AEnumClasskind): MClassKind */
7206 val
* nit__modelize_class___AEnumClasskind___AClasskind__mkind(val
* self
) {
7207 val
* var
/* : MClassKind */;
7208 val
* var1
/* : Sys */;
7209 val
* var2
/* : MClassKind */;
7212 var2
= nit__model___standard__Sys___enum_kind(var1
);
7219 /* method modelize_class#AExternClasskind#mkind for (self: AExternClasskind): MClassKind */
7220 val
* nit__modelize_class___AExternClasskind___AClasskind__mkind(val
* self
) {
7221 val
* var
/* : MClassKind */;
7222 val
* var1
/* : Sys */;
7223 val
* var2
/* : MClassKind */;
7226 var2
= nit__model___standard__Sys___extern_kind(var1
);
7233 /* method modelize_class#AFormaldef#bound= for (self: AFormaldef, nullable MType) */
7234 void nit__modelize_class___AFormaldef___bound_61d(val
* self
, val
* p0
) {
7235 self
->attrs
[COLOR_nit__modelize_class__AFormaldef___bound
].val
= p0
; /* _bound on <self:AFormaldef> */