README: document nit_env.sh
[nit.git] / c_src / nit__mmodule.sep.1.c
1 #include "nit__mmodule.sep.0.h"
2 /* method mmodule#Model#mmodules for (self: Model): Array[MModule] */
3 val* nit__mmodule___Model___mmodules(val* self) {
4 val* var /* : Array[MModule] */;
5 val* var1 /* : Array[MModule] */;
6 var1 = self->attrs[COLOR_nit__mmodule__Model___mmodules].val; /* _mmodules on <self:Model> */
7 if (unlikely(var1 == NULL)) {
8 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodules");
9 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 27);
10 fatal_exit(1);
11 }
12 var = var1;
13 RET_LABEL:;
14 return var;
15 }
16 /* method mmodule#Model#mmodule_importation_hierarchy for (self: Model): POSet[MModule] */
17 val* nit__mmodule___Model___mmodule_importation_hierarchy(val* self) {
18 val* var /* : POSet[MModule] */;
19 val* var1 /* : POSet[MModule] */;
20 var1 = self->attrs[COLOR_nit__mmodule__Model___mmodule_importation_hierarchy].val; /* _mmodule_importation_hierarchy on <self:Model> */
21 if (unlikely(var1 == NULL)) {
22 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule_importation_hierarchy");
23 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 30);
24 fatal_exit(1);
25 }
26 var = var1;
27 RET_LABEL:;
28 return var;
29 }
30 /* method mmodule#Model#mmodules_by_name for (self: Model): MultiHashMap[String, MModule] */
31 val* nit__mmodule___Model___mmodules_by_name(val* self) {
32 val* var /* : MultiHashMap[String, MModule] */;
33 val* var1 /* : MultiHashMap[String, MModule] */;
34 var1 = self->attrs[COLOR_nit__mmodule__Model___mmodules_by_name].val; /* _mmodules_by_name on <self:Model> */
35 if (unlikely(var1 == NULL)) {
36 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodules_by_name");
37 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 33);
38 fatal_exit(1);
39 }
40 var = var1;
41 RET_LABEL:;
42 return var;
43 }
44 /* method mmodule#Model#get_mmodules_by_name for (self: Model, String): nullable Array[MModule] */
45 val* nit__mmodule___Model___get_mmodules_by_name(val* self, val* p0) {
46 val* var /* : nullable Array[MModule] */;
47 val* var_name /* var name: String */;
48 val* var1 /* : MultiHashMap[String, MModule] */;
49 val* var3 /* : MultiHashMap[String, MModule] */;
50 short int var4 /* : Bool */;
51 val* var5 /* : MultiHashMap[String, MModule] */;
52 val* var7 /* : MultiHashMap[String, MModule] */;
53 val* var8 /* : nullable Object */;
54 var_name = p0;
55 {
56 { /* Inline mmodule#Model#mmodules_by_name (self) on <self:Model> */
57 var3 = self->attrs[COLOR_nit__mmodule__Model___mmodules_by_name].val; /* _mmodules_by_name on <self:Model> */
58 if (unlikely(var3 == NULL)) {
59 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodules_by_name");
60 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 33);
61 fatal_exit(1);
62 }
63 var1 = var3;
64 RET_LABEL2:(void)0;
65 }
66 }
67 {
68 var4 = standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var1, var_name);
69 }
70 if (var4){
71 {
72 { /* Inline mmodule#Model#mmodules_by_name (self) on <self:Model> */
73 var7 = self->attrs[COLOR_nit__mmodule__Model___mmodules_by_name].val; /* _mmodules_by_name on <self:Model> */
74 if (unlikely(var7 == NULL)) {
75 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodules_by_name");
76 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 33);
77 fatal_exit(1);
78 }
79 var5 = var7;
80 RET_LABEL6:(void)0;
81 }
82 }
83 {
84 var8 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var5, var_name);
85 }
86 var = var8;
87 goto RET_LABEL;
88 } else {
89 var = ((val*)NULL);
90 goto RET_LABEL;
91 }
92 RET_LABEL:;
93 return var;
94 }
95 /* method mmodule#MGroup#mmodules for (self: MGroup): Array[MModule] */
96 val* nit__mmodule___MGroup___mmodules(val* self) {
97 val* var /* : Array[MModule] */;
98 val* var1 /* : Array[MModule] */;
99 var1 = self->attrs[COLOR_nit__mmodule__MGroup___mmodules].val; /* _mmodules on <self:MGroup> */
100 if (unlikely(var1 == NULL)) {
101 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodules");
102 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 51);
103 fatal_exit(1);
104 }
105 var = var1;
106 RET_LABEL:;
107 return var;
108 }
109 /* method mmodule#MGroup#default_mmodule for (self: MGroup): nullable MModule */
110 val* nit__mmodule___MGroup___default_mmodule(val* self) {
111 val* var /* : nullable MModule */;
112 val* var1 /* : nullable MModule */;
113 var1 = self->attrs[COLOR_nit__mmodule__MGroup___default_mmodule].val; /* _default_mmodule on <self:MGroup> */
114 var = var1;
115 RET_LABEL:;
116 return var;
117 }
118 /* method mmodule#MGroup#default_mmodule= for (self: MGroup, nullable MModule) */
119 void nit__mmodule___MGroup___default_mmodule_61d(val* self, val* p0) {
120 self->attrs[COLOR_nit__mmodule__MGroup___default_mmodule].val = p0; /* _default_mmodule on <self:MGroup> */
121 RET_LABEL:;
122 }
123 /* method mmodule#MModule#model for (self: MModule): Model */
124 val* nit___nit__MModule___nit__model_base__MEntity__model(val* self) {
125 val* var /* : Model */;
126 val* var1 /* : Model */;
127 var1 = self->attrs[COLOR_nit__mmodule__MModule___model].val; /* _model on <self:MModule> */
128 if (unlikely(var1 == NULL)) {
129 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
130 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 73);
131 fatal_exit(1);
132 }
133 var = var1;
134 RET_LABEL:;
135 return var;
136 }
137 /* method mmodule#MModule#model= for (self: MModule, Model) */
138 void nit___nit__MModule___model_61d(val* self, val* p0) {
139 self->attrs[COLOR_nit__mmodule__MModule___model].val = p0; /* _model on <self:MModule> */
140 RET_LABEL:;
141 }
142 /* method mmodule#MModule#mgroup for (self: MModule): nullable MGroup */
143 val* nit___nit__MModule___mgroup(val* self) {
144 val* var /* : nullable MGroup */;
145 val* var1 /* : nullable MGroup */;
146 var1 = self->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on <self:MModule> */
147 var = var1;
148 RET_LABEL:;
149 return var;
150 }
151 /* method mmodule#MModule#mgroup= for (self: MModule, nullable MGroup) */
152 void nit___nit__MModule___mgroup_61d(val* self, val* p0) {
153 self->attrs[COLOR_nit__mmodule__MModule___mgroup].val = p0; /* _mgroup on <self:MModule> */
154 RET_LABEL:;
155 }
156 /* method mmodule#MModule#mproject for (self: MModule): nullable MProject */
157 val* nit___nit__MModule___mproject(val* self) {
158 val* var /* : nullable MProject */;
159 val* var1 /* : nullable MGroup */;
160 val* var3 /* : nullable MGroup */;
161 val* var_g /* var g: nullable MGroup */;
162 short int var4 /* : Bool */;
163 short int var5 /* : Bool */;
164 val* var_other /* var other: nullable Object */;
165 short int var7 /* : Bool */;
166 short int var9 /* : Bool */;
167 val* var10 /* : MProject */;
168 val* var12 /* : MProject */;
169 {
170 { /* Inline mmodule#MModule#mgroup (self) on <self:MModule> */
171 var3 = self->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on <self:MModule> */
172 var1 = var3;
173 RET_LABEL2:(void)0;
174 }
175 }
176 var_g = var1;
177 if (var_g == NULL) {
178 var4 = 1; /* is null */
179 } else {
180 var4 = 0; /* arg is null but recv is not */
181 }
182 if (0) {
183 { /* Inline kernel#Object#== (var_g,((val*)NULL)) on <var_g:nullable MGroup> */
184 var_other = ((val*)NULL);
185 {
186 { /* Inline kernel#Object#is_same_instance (var_g,var_other) on <var_g:nullable MGroup(MGroup)> */
187 var9 = var_g == var_other;
188 var7 = var9;
189 goto RET_LABEL8;
190 RET_LABEL8:(void)0;
191 }
192 }
193 var5 = var7;
194 goto RET_LABEL6;
195 RET_LABEL6:(void)0;
196 }
197 var4 = var5;
198 }
199 if (var4){
200 var = ((val*)NULL);
201 goto RET_LABEL;
202 } else {
203 {
204 { /* Inline mproject#MGroup#mproject (var_g) on <var_g:nullable MGroup(MGroup)> */
205 var12 = var_g->attrs[COLOR_nit__mproject__MGroup___mproject].val; /* _mproject on <var_g:nullable MGroup(MGroup)> */
206 if (unlikely(var12 == NULL)) {
207 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject");
208 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69);
209 fatal_exit(1);
210 }
211 var10 = var12;
212 RET_LABEL11:(void)0;
213 }
214 }
215 var = var10;
216 goto RET_LABEL;
217 }
218 RET_LABEL:;
219 return var;
220 }
221 /* method mmodule#MModule#name for (self: MModule): String */
222 val* nit___nit__MModule___nit__model_base__MEntity__name(val* self) {
223 val* var /* : String */;
224 val* var1 /* : String */;
225 var1 = self->attrs[COLOR_nit__mmodule__MModule___name].val; /* _name on <self:MModule> */
226 if (unlikely(var1 == NULL)) {
227 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
228 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 87);
229 fatal_exit(1);
230 }
231 var = var1;
232 RET_LABEL:;
233 return var;
234 }
235 /* method mmodule#MModule#name= for (self: MModule, String) */
236 void nit___nit__MModule___name_61d(val* self, val* p0) {
237 self->attrs[COLOR_nit__mmodule__MModule___name].val = p0; /* _name on <self:MModule> */
238 RET_LABEL:;
239 }
240 /* method mmodule#MModule#location for (self: MModule): Location */
241 val* nit___nit__MModule___location(val* self) {
242 val* var /* : Location */;
243 val* var1 /* : Location */;
244 var1 = self->attrs[COLOR_nit__mmodule__MModule___location].val; /* _location on <self:MModule> */
245 if (unlikely(var1 == NULL)) {
246 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
247 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 90);
248 fatal_exit(1);
249 }
250 var = var1;
251 RET_LABEL:;
252 return var;
253 }
254 /* method mmodule#MModule#location= for (self: MModule, Location) */
255 void nit___nit__MModule___location_61d(val* self, val* p0) {
256 self->attrs[COLOR_nit__mmodule__MModule___location].val = p0; /* _location on <self:MModule> */
257 RET_LABEL:;
258 }
259 /* method mmodule#MModule#to_s for (self: MModule): String */
260 val* nit___nit__MModule___standard__string__Object__to_s(val* self) {
261 val* var /* : String */;
262 val* var1 /* : String */;
263 val* var3 /* : String */;
264 {
265 { /* Inline mmodule#MModule#name (self) on <self:MModule> */
266 var3 = self->attrs[COLOR_nit__mmodule__MModule___name].val; /* _name on <self:MModule> */
267 if (unlikely(var3 == NULL)) {
268 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
269 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 87);
270 fatal_exit(1);
271 }
272 var1 = var3;
273 RET_LABEL2:(void)0;
274 }
275 }
276 var = var1;
277 goto RET_LABEL;
278 RET_LABEL:;
279 return var;
280 }
281 /* method mmodule#MModule#in_importation for (self: MModule): POSetElement[MModule] */
282 val* nit___nit__MModule___in_importation(val* self) {
283 val* var /* : POSetElement[MModule] */;
284 val* var1 /* : POSetElement[MModule] */;
285 var1 = self->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on <self:MModule> */
286 if (unlikely(var1 == NULL)) {
287 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
288 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 96);
289 fatal_exit(1);
290 }
291 var = var1;
292 RET_LABEL:;
293 return var;
294 }
295 /* method mmodule#MModule#in_importation= for (self: MModule, POSetElement[MModule]) */
296 void nit___nit__MModule___in_importation_61d(val* self, val* p0) {
297 self->attrs[COLOR_nit__mmodule__MModule___in_importation].val = p0; /* _in_importation on <self:MModule> */
298 RET_LABEL:;
299 }
300 /* method mmodule#MModule#full_name for (self: MModule): String */
301 val* nit___nit__MModule___nit__model_base__MEntity__full_name(val* self) {
302 val* var /* : String */;
303 short int var1 /* : Bool */;
304 val* var2 /* : String */;
305 val* var3 /* : String */;
306 val* var5 /* : nullable MGroup */;
307 val* var7 /* : nullable MGroup */;
308 val* var_mgroup /* var mgroup: nullable MGroup */;
309 short int var8 /* : Bool */;
310 short int var9 /* : Bool */;
311 short int var10 /* : Bool */;
312 val* var_other /* var other: nullable Object */;
313 short int var12 /* : Bool */;
314 short int var14 /* : Bool */;
315 short int var_ /* var : Bool */;
316 val* var15 /* : MProject */;
317 val* var17 /* : MProject */;
318 val* var18 /* : String */;
319 val* var20 /* : String */;
320 val* var21 /* : String */;
321 val* var23 /* : String */;
322 short int var24 /* : Bool */;
323 val* var25 /* : String */;
324 val* var27 /* : String */;
325 val* var28 /* : NativeArray[String] */;
326 static val* varonce;
327 static val* varonce29;
328 val* var30 /* : String */;
329 char* var31 /* : NativeString */;
330 val* var32 /* : FlatString */;
331 val* var33 /* : MProject */;
332 val* var35 /* : MProject */;
333 val* var36 /* : String */;
334 val* var38 /* : String */;
335 val* var39 /* : String */;
336 val* var41 /* : String */;
337 val* var42 /* : String */;
338 var1 = self->attrs[COLOR_nit__mmodule__MModule___full_name].val != NULL; /* _full_name on <self:MModule> */
339 if(likely(var1)) {
340 var2 = self->attrs[COLOR_nit__mmodule__MModule___full_name].val; /* _full_name on <self:MModule> */
341 if (unlikely(var2 == NULL)) {
342 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _full_name");
343 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 99);
344 fatal_exit(1);
345 }
346 } else {
347 {
348 {
349 { /* Inline mmodule#MModule#mgroup (self) on <self:MModule> */
350 var7 = self->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on <self:MModule> */
351 var5 = var7;
352 RET_LABEL6:(void)0;
353 }
354 }
355 var_mgroup = var5;
356 if (var_mgroup == NULL) {
357 var9 = 1; /* is null */
358 } else {
359 var9 = 0; /* arg is null but recv is not */
360 }
361 if (0) {
362 { /* Inline kernel#Object#== (var_mgroup,((val*)NULL)) on <var_mgroup:nullable MGroup> */
363 var_other = ((val*)NULL);
364 {
365 { /* Inline kernel#Object#is_same_instance (var_mgroup,var_other) on <var_mgroup:nullable MGroup(MGroup)> */
366 var14 = var_mgroup == var_other;
367 var12 = var14;
368 goto RET_LABEL13;
369 RET_LABEL13:(void)0;
370 }
371 }
372 var10 = var12;
373 goto RET_LABEL11;
374 RET_LABEL11:(void)0;
375 }
376 var9 = var10;
377 }
378 var_ = var9;
379 if (var9){
380 var8 = var_;
381 } else {
382 {
383 { /* Inline mproject#MGroup#mproject (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
384 var17 = var_mgroup->attrs[COLOR_nit__mproject__MGroup___mproject].val; /* _mproject on <var_mgroup:nullable MGroup(MGroup)> */
385 if (unlikely(var17 == NULL)) {
386 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject");
387 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69);
388 fatal_exit(1);
389 }
390 var15 = var17;
391 RET_LABEL16:(void)0;
392 }
393 }
394 {
395 { /* Inline mproject#MProject#name (var15) on <var15:MProject> */
396 var20 = var15->attrs[COLOR_nit__mproject__MProject___name].val; /* _name on <var15:MProject> */
397 if (unlikely(var20 == NULL)) {
398 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
399 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 27);
400 fatal_exit(1);
401 }
402 var18 = var20;
403 RET_LABEL19:(void)0;
404 }
405 }
406 {
407 { /* Inline mmodule#MModule#name (self) on <self:MModule> */
408 var23 = self->attrs[COLOR_nit__mmodule__MModule___name].val; /* _name on <self:MModule> */
409 if (unlikely(var23 == NULL)) {
410 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
411 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 87);
412 fatal_exit(1);
413 }
414 var21 = var23;
415 RET_LABEL22:(void)0;
416 }
417 }
418 {
419 var24 = ((short int(*)(val* self, val* p0))(var18->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var18, var21); /* == on <var18:String>*/
420 }
421 var8 = var24;
422 }
423 if (var8){
424 {
425 { /* Inline mmodule#MModule#name (self) on <self:MModule> */
426 var27 = self->attrs[COLOR_nit__mmodule__MModule___name].val; /* _name on <self:MModule> */
427 if (unlikely(var27 == NULL)) {
428 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
429 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 87);
430 fatal_exit(1);
431 }
432 var25 = var27;
433 RET_LABEL26:(void)0;
434 }
435 }
436 var3 = var25;
437 goto RET_LABEL4;
438 } else {
439 if (unlikely(varonce==NULL)) {
440 var28 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
441 if (likely(varonce29!=NULL)) {
442 var30 = varonce29;
443 } else {
444 var31 = "::";
445 var32 = standard___standard__NativeString___to_s_with_length(var31, 2l);
446 var30 = var32;
447 varonce29 = var30;
448 }
449 ((struct instance_standard__NativeArray*)var28)->values[1]=var30;
450 } else {
451 var28 = varonce;
452 varonce = NULL;
453 }
454 {
455 { /* Inline mproject#MGroup#mproject (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
456 var35 = var_mgroup->attrs[COLOR_nit__mproject__MGroup___mproject].val; /* _mproject on <var_mgroup:nullable MGroup(MGroup)> */
457 if (unlikely(var35 == NULL)) {
458 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject");
459 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69);
460 fatal_exit(1);
461 }
462 var33 = var35;
463 RET_LABEL34:(void)0;
464 }
465 }
466 {
467 { /* Inline mproject#MProject#name (var33) on <var33:MProject> */
468 var38 = var33->attrs[COLOR_nit__mproject__MProject___name].val; /* _name on <var33:MProject> */
469 if (unlikely(var38 == NULL)) {
470 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
471 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 27);
472 fatal_exit(1);
473 }
474 var36 = var38;
475 RET_LABEL37:(void)0;
476 }
477 }
478 ((struct instance_standard__NativeArray*)var28)->values[0]=var36;
479 {
480 { /* Inline mmodule#MModule#name (self) on <self:MModule> */
481 var41 = self->attrs[COLOR_nit__mmodule__MModule___name].val; /* _name on <self:MModule> */
482 if (unlikely(var41 == NULL)) {
483 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
484 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 87);
485 fatal_exit(1);
486 }
487 var39 = var41;
488 RET_LABEL40:(void)0;
489 }
490 }
491 ((struct instance_standard__NativeArray*)var28)->values[2]=var39;
492 {
493 var42 = ((val*(*)(val* self))(var28->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var28); /* native_to_s on <var28:NativeArray[String]>*/
494 }
495 varonce = var28;
496 var3 = var42;
497 goto RET_LABEL4;
498 }
499 RET_LABEL4:(void)0;
500 }
501 self->attrs[COLOR_nit__mmodule__MModule___full_name].val = var3; /* _full_name on <self:MModule> */
502 var2 = var3;
503 }
504 var = var2;
505 RET_LABEL:;
506 return var;
507 }
508 /* method mmodule#MModule#namespace_for for (self: MModule, MVisibility): String */
509 val* nit___nit__MModule___namespace_for(val* self, val* p0) {
510 val* var /* : String */;
511 val* var_v /* var v: MVisibility */;
512 val* var1 /* : Sys */;
513 val* var2 /* : MVisibility */;
514 short int var3 /* : Bool */;
515 val* var4 /* : String */;
516 val* var5 /* : nullable MGroup */;
517 val* var7 /* : nullable MGroup */;
518 val* var_mgroup /* var mgroup: nullable MGroup */;
519 short int var8 /* : Bool */;
520 short int var9 /* : Bool */;
521 val* var_other /* var other: nullable Object */;
522 short int var11 /* : Bool */;
523 short int var13 /* : Bool */;
524 val* var14 /* : String */;
525 val* var15 /* : MProject */;
526 val* var17 /* : MProject */;
527 val* var18 /* : String */;
528 var_v = p0;
529 var1 = glob_sys;
530 {
531 var2 = nit__model_base___standard__Sys___private_visibility(var1);
532 }
533 {
534 var3 = standard___standard__Comparable____60d_61d(var_v, var2);
535 }
536 if (var3){
537 {
538 var4 = nit___nit__MModule___nit__model_base__MEntity__full_name(self);
539 }
540 var = var4;
541 goto RET_LABEL;
542 } else {
543 }
544 {
545 { /* Inline mmodule#MModule#mgroup (self) on <self:MModule> */
546 var7 = self->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on <self:MModule> */
547 var5 = var7;
548 RET_LABEL6:(void)0;
549 }
550 }
551 var_mgroup = var5;
552 if (var_mgroup == NULL) {
553 var8 = 1; /* is null */
554 } else {
555 var8 = 0; /* arg is null but recv is not */
556 }
557 if (0) {
558 { /* Inline kernel#Object#== (var_mgroup,((val*)NULL)) on <var_mgroup:nullable MGroup> */
559 var_other = ((val*)NULL);
560 {
561 { /* Inline kernel#Object#is_same_instance (var_mgroup,var_other) on <var_mgroup:nullable MGroup(MGroup)> */
562 var13 = var_mgroup == var_other;
563 var11 = var13;
564 goto RET_LABEL12;
565 RET_LABEL12:(void)0;
566 }
567 }
568 var9 = var11;
569 goto RET_LABEL10;
570 RET_LABEL10:(void)0;
571 }
572 var8 = var9;
573 }
574 if (var8){
575 {
576 var14 = nit___nit__MModule___nit__model_base__MEntity__full_name(self);
577 }
578 var = var14;
579 goto RET_LABEL;
580 } else {
581 {
582 { /* Inline mproject#MGroup#mproject (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
583 var17 = var_mgroup->attrs[COLOR_nit__mproject__MGroup___mproject].val; /* _mproject on <var_mgroup:nullable MGroup(MGroup)> */
584 if (unlikely(var17 == NULL)) {
585 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject");
586 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69);
587 fatal_exit(1);
588 }
589 var15 = var17;
590 RET_LABEL16:(void)0;
591 }
592 }
593 {
594 var18 = nit___nit__MProject___nit__model_base__MEntity__full_name(var15);
595 }
596 var = var18;
597 goto RET_LABEL;
598 }
599 RET_LABEL:;
600 return var;
601 }
602 /* method mmodule#MModule#c_name for (self: MModule): String */
603 val* nit___nit__MModule___nit__model_base__MEntity__c_name(val* self) {
604 val* var /* : String */;
605 short int var1 /* : Bool */;
606 val* var2 /* : String */;
607 val* var3 /* : String */;
608 val* var5 /* : nullable MGroup */;
609 val* var7 /* : nullable MGroup */;
610 val* var_g /* var g: nullable MGroup */;
611 short int var8 /* : Bool */;
612 short int var9 /* : Bool */;
613 short int var10 /* : Bool */;
614 val* var_other /* var other: nullable Object */;
615 short int var12 /* : Bool */;
616 short int var13 /* : Bool */;
617 short int var_ /* var : Bool */;
618 val* var14 /* : MProject */;
619 val* var16 /* : MProject */;
620 val* var17 /* : String */;
621 val* var19 /* : String */;
622 val* var20 /* : String */;
623 val* var22 /* : String */;
624 short int var23 /* : Bool */;
625 short int var25 /* : Bool */;
626 short int var26 /* : Bool */;
627 val* var27 /* : MProject */;
628 val* var29 /* : MProject */;
629 val* var30 /* : String */;
630 val* var32 /* : String */;
631 val* var33 /* : String */;
632 static val* varonce;
633 val* var34 /* : String */;
634 char* var35 /* : NativeString */;
635 val* var36 /* : FlatString */;
636 val* var37 /* : String */;
637 val* var38 /* : String */;
638 val* var40 /* : String */;
639 val* var41 /* : String */;
640 val* var42 /* : String */;
641 val* var_res /* var res: nullable Object */;
642 val* var43 /* : String */;
643 val* var45 /* : String */;
644 val* var46 /* : String */;
645 var1 = self->attrs[COLOR_nit__mmodule__MModule___c_name].val != NULL; /* _c_name on <self:MModule> */
646 if(likely(var1)) {
647 var2 = self->attrs[COLOR_nit__mmodule__MModule___c_name].val; /* _c_name on <self:MModule> */
648 if (unlikely(var2 == NULL)) {
649 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _c_name");
650 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 131);
651 fatal_exit(1);
652 }
653 } else {
654 {
655 {
656 { /* Inline mmodule#MModule#mgroup (self) on <self:MModule> */
657 var7 = self->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on <self:MModule> */
658 var5 = var7;
659 RET_LABEL6:(void)0;
660 }
661 }
662 var_g = var5;
663 if (var_g == NULL) {
664 var9 = 0; /* is null */
665 } else {
666 var9 = 1; /* arg is null and recv is not */
667 }
668 if (0) {
669 { /* Inline kernel#Object#!= (var_g,((val*)NULL)) on <var_g:nullable MGroup> */
670 var_other = ((val*)NULL);
671 {
672 var12 = ((short int(*)(val* self, val* p0))(var_g->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_g, var_other); /* == on <var_g:nullable MGroup(MGroup)>*/
673 }
674 var13 = !var12;
675 var10 = var13;
676 goto RET_LABEL11;
677 RET_LABEL11:(void)0;
678 }
679 var9 = var10;
680 }
681 var_ = var9;
682 if (var9){
683 {
684 { /* Inline mproject#MGroup#mproject (var_g) on <var_g:nullable MGroup(MGroup)> */
685 var16 = var_g->attrs[COLOR_nit__mproject__MGroup___mproject].val; /* _mproject on <var_g:nullable MGroup(MGroup)> */
686 if (unlikely(var16 == NULL)) {
687 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject");
688 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69);
689 fatal_exit(1);
690 }
691 var14 = var16;
692 RET_LABEL15:(void)0;
693 }
694 }
695 {
696 { /* Inline mproject#MProject#name (var14) on <var14:MProject> */
697 var19 = var14->attrs[COLOR_nit__mproject__MProject___name].val; /* _name on <var14:MProject> */
698 if (unlikely(var19 == NULL)) {
699 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
700 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 27);
701 fatal_exit(1);
702 }
703 var17 = var19;
704 RET_LABEL18:(void)0;
705 }
706 }
707 {
708 { /* Inline mmodule#MModule#name (self) on <self:MModule> */
709 var22 = self->attrs[COLOR_nit__mmodule__MModule___name].val; /* _name on <self:MModule> */
710 if (unlikely(var22 == NULL)) {
711 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
712 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 87);
713 fatal_exit(1);
714 }
715 var20 = var22;
716 RET_LABEL21:(void)0;
717 }
718 }
719 {
720 { /* Inline kernel#Object#!= (var17,var20) on <var17:String> */
721 var_other = var20;
722 {
723 var25 = ((short int(*)(val* self, val* p0))(var17->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var17, var_other); /* == on <var17:String>*/
724 }
725 var26 = !var25;
726 var23 = var26;
727 goto RET_LABEL24;
728 RET_LABEL24:(void)0;
729 }
730 }
731 var8 = var23;
732 } else {
733 var8 = var_;
734 }
735 if (var8){
736 {
737 { /* Inline mproject#MGroup#mproject (var_g) on <var_g:nullable MGroup(MGroup)> */
738 var29 = var_g->attrs[COLOR_nit__mproject__MGroup___mproject].val; /* _mproject on <var_g:nullable MGroup(MGroup)> */
739 if (unlikely(var29 == NULL)) {
740 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject");
741 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69);
742 fatal_exit(1);
743 }
744 var27 = var29;
745 RET_LABEL28:(void)0;
746 }
747 }
748 {
749 { /* Inline mproject#MProject#name (var27) on <var27:MProject> */
750 var32 = var27->attrs[COLOR_nit__mproject__MProject___name].val; /* _name on <var27:MProject> */
751 if (unlikely(var32 == NULL)) {
752 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
753 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 27);
754 fatal_exit(1);
755 }
756 var30 = var32;
757 RET_LABEL31:(void)0;
758 }
759 }
760 {
761 var33 = standard___standard__Text___to_cmangle(var30);
762 }
763 if (likely(varonce!=NULL)) {
764 var34 = varonce;
765 } else {
766 var35 = "__";
767 var36 = standard___standard__NativeString___to_s_with_length(var35, 2l);
768 var34 = var36;
769 varonce = var34;
770 }
771 {
772 var37 = ((val*(*)(val* self, val* p0))(var33->class->vft[COLOR_standard__string__String___43d]))(var33, var34); /* + on <var33:String>*/
773 }
774 {
775 { /* Inline mmodule#MModule#name (self) on <self:MModule> */
776 var40 = self->attrs[COLOR_nit__mmodule__MModule___name].val; /* _name on <self:MModule> */
777 if (unlikely(var40 == NULL)) {
778 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
779 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 87);
780 fatal_exit(1);
781 }
782 var38 = var40;
783 RET_LABEL39:(void)0;
784 }
785 }
786 {
787 var41 = standard___standard__Text___to_cmangle(var38);
788 }
789 {
790 var42 = ((val*(*)(val* self, val* p0))(var37->class->vft[COLOR_standard__string__String___43d]))(var37, var41); /* + on <var37:String>*/
791 }
792 var_res = var42;
793 } else {
794 {
795 { /* Inline mmodule#MModule#name (self) on <self:MModule> */
796 var45 = self->attrs[COLOR_nit__mmodule__MModule___name].val; /* _name on <self:MModule> */
797 if (unlikely(var45 == NULL)) {
798 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
799 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 87);
800 fatal_exit(1);
801 }
802 var43 = var45;
803 RET_LABEL44:(void)0;
804 }
805 }
806 {
807 var46 = standard___standard__Text___to_cmangle(var43);
808 }
809 var_res = var46;
810 }
811 var3 = var_res;
812 goto RET_LABEL4;
813 RET_LABEL4:(void)0;
814 }
815 self->attrs[COLOR_nit__mmodule__MModule___c_name].val = var3; /* _c_name on <self:MModule> */
816 var2 = var3;
817 }
818 var = var2;
819 RET_LABEL:;
820 return var;
821 }
822 /* method mmodule#MModule#c_namespace_for for (self: MModule, MVisibility): String */
823 val* nit___nit__MModule___c_namespace_for(val* self, val* p0) {
824 val* var /* : String */;
825 val* var_v /* var v: MVisibility */;
826 val* var1 /* : Sys */;
827 val* var2 /* : MVisibility */;
828 short int var3 /* : Bool */;
829 val* var4 /* : String */;
830 val* var5 /* : nullable MGroup */;
831 val* var7 /* : nullable MGroup */;
832 val* var_mgroup /* var mgroup: nullable MGroup */;
833 short int var8 /* : Bool */;
834 short int var9 /* : Bool */;
835 val* var_other /* var other: nullable Object */;
836 short int var11 /* : Bool */;
837 short int var13 /* : Bool */;
838 val* var14 /* : String */;
839 val* var15 /* : MProject */;
840 val* var17 /* : MProject */;
841 val* var18 /* : String */;
842 var_v = p0;
843 var1 = glob_sys;
844 {
845 var2 = nit__model_base___standard__Sys___private_visibility(var1);
846 }
847 {
848 var3 = standard___standard__Comparable____60d_61d(var_v, var2);
849 }
850 if (var3){
851 {
852 var4 = nit___nit__MModule___nit__model_base__MEntity__c_name(self);
853 }
854 var = var4;
855 goto RET_LABEL;
856 } else {
857 }
858 {
859 { /* Inline mmodule#MModule#mgroup (self) on <self:MModule> */
860 var7 = self->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on <self:MModule> */
861 var5 = var7;
862 RET_LABEL6:(void)0;
863 }
864 }
865 var_mgroup = var5;
866 if (var_mgroup == NULL) {
867 var8 = 1; /* is null */
868 } else {
869 var8 = 0; /* arg is null but recv is not */
870 }
871 if (0) {
872 { /* Inline kernel#Object#== (var_mgroup,((val*)NULL)) on <var_mgroup:nullable MGroup> */
873 var_other = ((val*)NULL);
874 {
875 { /* Inline kernel#Object#is_same_instance (var_mgroup,var_other) on <var_mgroup:nullable MGroup(MGroup)> */
876 var13 = var_mgroup == var_other;
877 var11 = var13;
878 goto RET_LABEL12;
879 RET_LABEL12:(void)0;
880 }
881 }
882 var9 = var11;
883 goto RET_LABEL10;
884 RET_LABEL10:(void)0;
885 }
886 var8 = var9;
887 }
888 if (var8){
889 {
890 var14 = nit___nit__MModule___nit__model_base__MEntity__c_name(self);
891 }
892 var = var14;
893 goto RET_LABEL;
894 } else {
895 {
896 { /* Inline mproject#MGroup#mproject (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
897 var17 = var_mgroup->attrs[COLOR_nit__mproject__MGroup___mproject].val; /* _mproject on <var_mgroup:nullable MGroup(MGroup)> */
898 if (unlikely(var17 == NULL)) {
899 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject");
900 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69);
901 fatal_exit(1);
902 }
903 var15 = var17;
904 RET_LABEL16:(void)0;
905 }
906 }
907 {
908 var18 = nit___nit__MProject___nit__model_base__MEntity__c_name(var15);
909 }
910 var = var18;
911 goto RET_LABEL;
912 }
913 RET_LABEL:;
914 return var;
915 }
916 /* method mmodule#MModule#init for (self: MModule) */
917 void nit___nit__MModule___standard__kernel__Object__init(val* self) {
918 val* var /* : Model */;
919 val* var2 /* : Model */;
920 val* var3 /* : MultiHashMap[String, MModule] */;
921 val* var5 /* : MultiHashMap[String, MModule] */;
922 val* var6 /* : String */;
923 val* var8 /* : String */;
924 val* var9 /* : Model */;
925 val* var11 /* : Model */;
926 val* var12 /* : Array[MModule] */;
927 val* var14 /* : Array[MModule] */;
928 val* var15 /* : nullable MGroup */;
929 val* var17 /* : nullable MGroup */;
930 short int var18 /* : Bool */;
931 short int var19 /* : Bool */;
932 val* var_other /* var other: nullable Object */;
933 short int var21 /* : Bool */;
934 short int var22 /* : Bool */;
935 val* var23 /* : nullable MGroup */;
936 val* var25 /* : nullable MGroup */;
937 val* var26 /* : Array[MModule] */;
938 val* var28 /* : Array[MModule] */;
939 val* var29 /* : nullable MGroup */;
940 val* var31 /* : nullable MGroup */;
941 val* var32 /* : String */;
942 val* var34 /* : String */;
943 val* var35 /* : String */;
944 val* var37 /* : String */;
945 short int var38 /* : Bool */;
946 val* var39 /* : nullable MGroup */;
947 val* var41 /* : nullable MGroup */;
948 val* var42 /* : nullable MModule */;
949 val* var44 /* : nullable MModule */;
950 short int var45 /* : Bool */;
951 short int var46 /* : Bool */;
952 val* var_other48 /* var other: nullable Object */;
953 short int var49 /* : Bool */;
954 short int var51 /* : Bool */;
955 val* var52 /* : nullable MGroup */;
956 val* var54 /* : nullable MGroup */;
957 val* var56 /* : Model */;
958 val* var58 /* : Model */;
959 val* var59 /* : POSet[MModule] */;
960 val* var61 /* : POSet[MModule] */;
961 val* var62 /* : POSetElement[nullable Object] */;
962 {
963 ((void(*)(val* self))(self->class->vft[COLOR_nit___nit__MModule___standard__kernel__Object__init]))(self); /* init on <self:MModule>*/
964 }
965 {
966 { /* Inline mmodule#MModule#model (self) on <self:MModule> */
967 var2 = self->attrs[COLOR_nit__mmodule__MModule___model].val; /* _model on <self:MModule> */
968 if (unlikely(var2 == NULL)) {
969 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
970 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 73);
971 fatal_exit(1);
972 }
973 var = var2;
974 RET_LABEL1:(void)0;
975 }
976 }
977 {
978 { /* Inline mmodule#Model#mmodules_by_name (var) on <var:Model> */
979 var5 = var->attrs[COLOR_nit__mmodule__Model___mmodules_by_name].val; /* _mmodules_by_name on <var:Model> */
980 if (unlikely(var5 == NULL)) {
981 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodules_by_name");
982 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 33);
983 fatal_exit(1);
984 }
985 var3 = var5;
986 RET_LABEL4:(void)0;
987 }
988 }
989 {
990 { /* Inline mmodule#MModule#name (self) on <self:MModule> */
991 var8 = self->attrs[COLOR_nit__mmodule__MModule___name].val; /* _name on <self:MModule> */
992 if (unlikely(var8 == NULL)) {
993 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
994 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 87);
995 fatal_exit(1);
996 }
997 var6 = var8;
998 RET_LABEL7:(void)0;
999 }
1000 }
1001 {
1002 more_collections___more_collections__MultiHashMap___add_one(var3, var6, self); /* Direct call more_collections#MultiHashMap#add_one on <var3:MultiHashMap[String, MModule]>*/
1003 }
1004 {
1005 { /* Inline mmodule#MModule#model (self) on <self:MModule> */
1006 var11 = self->attrs[COLOR_nit__mmodule__MModule___model].val; /* _model on <self:MModule> */
1007 if (unlikely(var11 == NULL)) {
1008 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
1009 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 73);
1010 fatal_exit(1);
1011 }
1012 var9 = var11;
1013 RET_LABEL10:(void)0;
1014 }
1015 }
1016 {
1017 { /* Inline mmodule#Model#mmodules (var9) on <var9:Model> */
1018 var14 = var9->attrs[COLOR_nit__mmodule__Model___mmodules].val; /* _mmodules on <var9:Model> */
1019 if (unlikely(var14 == NULL)) {
1020 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodules");
1021 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 27);
1022 fatal_exit(1);
1023 }
1024 var12 = var14;
1025 RET_LABEL13:(void)0;
1026 }
1027 }
1028 {
1029 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var12, self); /* Direct call array#Array#add on <var12:Array[MModule]>*/
1030 }
1031 {
1032 { /* Inline mmodule#MModule#mgroup (self) on <self:MModule> */
1033 var17 = self->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on <self:MModule> */
1034 var15 = var17;
1035 RET_LABEL16:(void)0;
1036 }
1037 }
1038 if (var15 == NULL) {
1039 var18 = 0; /* is null */
1040 } else {
1041 var18 = 1; /* arg is null and recv is not */
1042 }
1043 if (0) {
1044 { /* Inline kernel#Object#!= (var15,((val*)NULL)) on <var15:nullable MGroup> */
1045 var_other = ((val*)NULL);
1046 {
1047 var21 = ((short int(*)(val* self, val* p0))(var15->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var15, var_other); /* == on <var15:nullable MGroup(MGroup)>*/
1048 }
1049 var22 = !var21;
1050 var19 = var22;
1051 goto RET_LABEL20;
1052 RET_LABEL20:(void)0;
1053 }
1054 var18 = var19;
1055 }
1056 if (var18){
1057 {
1058 { /* Inline mmodule#MModule#mgroup (self) on <self:MModule> */
1059 var25 = self->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on <self:MModule> */
1060 var23 = var25;
1061 RET_LABEL24:(void)0;
1062 }
1063 }
1064 if (var23 == NULL) {
1065 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1066 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 164);
1067 fatal_exit(1);
1068 } else {
1069 { /* Inline mmodule#MGroup#mmodules (var23) on <var23:nullable MGroup> */
1070 if (unlikely(var23 == NULL)) {
1071 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1072 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 51);
1073 fatal_exit(1);
1074 }
1075 var28 = var23->attrs[COLOR_nit__mmodule__MGroup___mmodules].val; /* _mmodules on <var23:nullable MGroup> */
1076 if (unlikely(var28 == NULL)) {
1077 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodules");
1078 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 51);
1079 fatal_exit(1);
1080 }
1081 var26 = var28;
1082 RET_LABEL27:(void)0;
1083 }
1084 }
1085 {
1086 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var26, self); /* Direct call array#Array#add on <var26:Array[MModule]>*/
1087 }
1088 {
1089 { /* Inline mmodule#MModule#mgroup (self) on <self:MModule> */
1090 var31 = self->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on <self:MModule> */
1091 var29 = var31;
1092 RET_LABEL30:(void)0;
1093 }
1094 }
1095 if (var29 == NULL) {
1096 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1097 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 165);
1098 fatal_exit(1);
1099 } else {
1100 { /* Inline mproject#MGroup#name (var29) on <var29:nullable MGroup> */
1101 if (unlikely(var29 == NULL)) {
1102 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1103 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 65);
1104 fatal_exit(1);
1105 }
1106 var34 = var29->attrs[COLOR_nit__mproject__MGroup___name].val; /* _name on <var29:nullable MGroup> */
1107 if (unlikely(var34 == NULL)) {
1108 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1109 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 65);
1110 fatal_exit(1);
1111 }
1112 var32 = var34;
1113 RET_LABEL33:(void)0;
1114 }
1115 }
1116 {
1117 { /* Inline mmodule#MModule#name (self) on <self:MModule> */
1118 var37 = self->attrs[COLOR_nit__mmodule__MModule___name].val; /* _name on <self:MModule> */
1119 if (unlikely(var37 == NULL)) {
1120 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1121 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 87);
1122 fatal_exit(1);
1123 }
1124 var35 = var37;
1125 RET_LABEL36:(void)0;
1126 }
1127 }
1128 {
1129 var38 = ((short int(*)(val* self, val* p0))(var32->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var32, var35); /* == on <var32:String>*/
1130 }
1131 if (var38){
1132 {
1133 { /* Inline mmodule#MModule#mgroup (self) on <self:MModule> */
1134 var41 = self->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on <self:MModule> */
1135 var39 = var41;
1136 RET_LABEL40:(void)0;
1137 }
1138 }
1139 if (var39 == NULL) {
1140 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1141 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 166);
1142 fatal_exit(1);
1143 } else {
1144 { /* Inline mmodule#MGroup#default_mmodule (var39) on <var39:nullable MGroup> */
1145 if (unlikely(var39 == NULL)) {
1146 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1147 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 54);
1148 fatal_exit(1);
1149 }
1150 var44 = var39->attrs[COLOR_nit__mmodule__MGroup___default_mmodule].val; /* _default_mmodule on <var39:nullable MGroup> */
1151 var42 = var44;
1152 RET_LABEL43:(void)0;
1153 }
1154 }
1155 if (var42 == NULL) {
1156 var45 = 1; /* is null */
1157 } else {
1158 var45 = 0; /* arg is null but recv is not */
1159 }
1160 if (0) {
1161 { /* Inline kernel#Object#== (var42,((val*)NULL)) on <var42:nullable MModule> */
1162 var_other48 = ((val*)NULL);
1163 {
1164 { /* Inline kernel#Object#is_same_instance (var42,var_other48) on <var42:nullable MModule(MModule)> */
1165 var51 = var42 == var_other48;
1166 var49 = var51;
1167 goto RET_LABEL50;
1168 RET_LABEL50:(void)0;
1169 }
1170 }
1171 var46 = var49;
1172 goto RET_LABEL47;
1173 RET_LABEL47:(void)0;
1174 }
1175 var45 = var46;
1176 }
1177 if (unlikely(!var45)) {
1178 PRINT_ERROR("Runtime error: %s", "Assert failed");
1179 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 166);
1180 fatal_exit(1);
1181 }
1182 {
1183 { /* Inline mmodule#MModule#mgroup (self) on <self:MModule> */
1184 var54 = self->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on <self:MModule> */
1185 var52 = var54;
1186 RET_LABEL53:(void)0;
1187 }
1188 }
1189 if (var52 == NULL) {
1190 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1191 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 167);
1192 fatal_exit(1);
1193 } else {
1194 { /* Inline mmodule#MGroup#default_mmodule= (var52,self) on <var52:nullable MGroup> */
1195 if (unlikely(var52 == NULL)) {
1196 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1197 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 54);
1198 fatal_exit(1);
1199 }
1200 var52->attrs[COLOR_nit__mmodule__MGroup___default_mmodule].val = self; /* _default_mmodule on <var52:nullable MGroup> */
1201 RET_LABEL55:(void)0;
1202 }
1203 }
1204 } else {
1205 }
1206 } else {
1207 }
1208 {
1209 { /* Inline mmodule#MModule#model (self) on <self:MModule> */
1210 var58 = self->attrs[COLOR_nit__mmodule__MModule___model].val; /* _model on <self:MModule> */
1211 if (unlikely(var58 == NULL)) {
1212 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
1213 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 73);
1214 fatal_exit(1);
1215 }
1216 var56 = var58;
1217 RET_LABEL57:(void)0;
1218 }
1219 }
1220 {
1221 { /* Inline mmodule#Model#mmodule_importation_hierarchy (var56) on <var56:Model> */
1222 var61 = var56->attrs[COLOR_nit__mmodule__Model___mmodule_importation_hierarchy].val; /* _mmodule_importation_hierarchy on <var56:Model> */
1223 if (unlikely(var61 == NULL)) {
1224 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule_importation_hierarchy");
1225 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 30);
1226 fatal_exit(1);
1227 }
1228 var59 = var61;
1229 RET_LABEL60:(void)0;
1230 }
1231 }
1232 {
1233 var62 = poset___poset__POSet___add_node(var59, self);
1234 }
1235 {
1236 { /* Inline mmodule#MModule#in_importation= (self,var62) on <self:MModule> */
1237 self->attrs[COLOR_nit__mmodule__MModule___in_importation].val = var62; /* _in_importation on <self:MModule> */
1238 RET_LABEL63:(void)0;
1239 }
1240 }
1241 RET_LABEL:;
1242 }
1243 /* method mmodule#MModule#set_imported_mmodules for (self: MModule, Array[MModule]) */
1244 void nit___nit__MModule___set_imported_mmodules(val* self, val* p0) {
1245 val* var_imported_mmodules /* var imported_mmodules: Array[MModule] */;
1246 val* var /* : POSetElement[MModule] */;
1247 val* var2 /* : POSetElement[MModule] */;
1248 val* var3 /* : Collection[nullable Object] */;
1249 short int var4 /* : Bool */;
1250 val* var_ /* var : Array[MModule] */;
1251 val* var5 /* : ArrayIterator[nullable Object] */;
1252 val* var_6 /* var : ArrayIterator[MModule] */;
1253 short int var7 /* : Bool */;
1254 val* var8 /* : nullable Object */;
1255 val* var_m /* var m: MModule */;
1256 val* var9 /* : Model */;
1257 val* var11 /* : Model */;
1258 val* var12 /* : POSet[MModule] */;
1259 val* var14 /* : POSet[MModule] */;
1260 var_imported_mmodules = p0;
1261 {
1262 { /* Inline mmodule#MModule#in_importation (self) on <self:MModule> */
1263 var2 = self->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on <self:MModule> */
1264 if (unlikely(var2 == NULL)) {
1265 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
1266 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 96);
1267 fatal_exit(1);
1268 }
1269 var = var2;
1270 RET_LABEL1:(void)0;
1271 }
1272 }
1273 {
1274 var3 = poset___poset__POSetElement___direct_greaters(var);
1275 }
1276 {
1277 var4 = ((short int(*)(val* self))((((long)var3&3)?class_info[((long)var3&3)]:var3->class)->vft[COLOR_standard__abstract_collection__Collection__is_empty]))(var3); /* is_empty on <var3:Collection[nullable Object](Collection[MModule])>*/
1278 }
1279 if (unlikely(!var4)) {
1280 PRINT_ERROR("Runtime error: %s", "Assert \'unique_invocation\' failed");
1281 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 178);
1282 fatal_exit(1);
1283 }
1284 var_ = var_imported_mmodules;
1285 {
1286 var5 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_);
1287 }
1288 var_6 = var5;
1289 for(;;) {
1290 {
1291 var7 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_6);
1292 }
1293 if (var7){
1294 {
1295 var8 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_6);
1296 }
1297 var_m = var8;
1298 {
1299 { /* Inline mmodule#MModule#model (self) on <self:MModule> */
1300 var11 = self->attrs[COLOR_nit__mmodule__MModule___model].val; /* _model on <self:MModule> */
1301 if (unlikely(var11 == NULL)) {
1302 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
1303 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 73);
1304 fatal_exit(1);
1305 }
1306 var9 = var11;
1307 RET_LABEL10:(void)0;
1308 }
1309 }
1310 {
1311 { /* Inline mmodule#Model#mmodule_importation_hierarchy (var9) on <var9:Model> */
1312 var14 = var9->attrs[COLOR_nit__mmodule__Model___mmodule_importation_hierarchy].val; /* _mmodule_importation_hierarchy on <var9:Model> */
1313 if (unlikely(var14 == NULL)) {
1314 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule_importation_hierarchy");
1315 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 30);
1316 fatal_exit(1);
1317 }
1318 var12 = var14;
1319 RET_LABEL13:(void)0;
1320 }
1321 }
1322 {
1323 poset___poset__POSet___add_edge(var12, self, var_m); /* Direct call poset#POSet#add_edge on <var12:POSet[MModule]>*/
1324 }
1325 {
1326 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_6); /* Direct call array#ArrayIterator#next on <var_6:ArrayIterator[MModule]>*/
1327 }
1328 } else {
1329 goto BREAK_label;
1330 }
1331 }
1332 BREAK_label: (void)0;
1333 {
1334 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_6); /* Direct call array#ArrayIterator#finish on <var_6:ArrayIterator[MModule]>*/
1335 }
1336 RET_LABEL:;
1337 }
1338 /* method mmodule#MModule#intrude_mmodules for (self: MModule): HashSet[MModule] */
1339 val* nit___nit__MModule___intrude_mmodules(val* self) {
1340 val* var /* : HashSet[MModule] */;
1341 val* var1 /* : HashSet[MModule] */;
1342 var1 = self->attrs[COLOR_nit__mmodule__MModule___intrude_mmodules].val; /* _intrude_mmodules on <self:MModule> */
1343 if (unlikely(var1 == NULL)) {
1344 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intrude_mmodules");
1345 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 184);
1346 fatal_exit(1);
1347 }
1348 var = var1;
1349 RET_LABEL:;
1350 return var;
1351 }
1352 /* method mmodule#MModule#public_mmodules for (self: MModule): HashSet[MModule] */
1353 val* nit___nit__MModule___public_mmodules(val* self) {
1354 val* var /* : HashSet[MModule] */;
1355 val* var1 /* : HashSet[MModule] */;
1356 var1 = self->attrs[COLOR_nit__mmodule__MModule___public_mmodules].val; /* _public_mmodules on <self:MModule> */
1357 if (unlikely(var1 == NULL)) {
1358 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _public_mmodules");
1359 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 185);
1360 fatal_exit(1);
1361 }
1362 var = var1;
1363 RET_LABEL:;
1364 return var;
1365 }
1366 /* method mmodule#MModule#private_mmodules for (self: MModule): HashSet[MModule] */
1367 val* nit___nit__MModule___private_mmodules(val* self) {
1368 val* var /* : HashSet[MModule] */;
1369 val* var1 /* : HashSet[MModule] */;
1370 var1 = self->attrs[COLOR_nit__mmodule__MModule___private_mmodules].val; /* _private_mmodules on <self:MModule> */
1371 if (unlikely(var1 == NULL)) {
1372 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _private_mmodules");
1373 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 186);
1374 fatal_exit(1);
1375 }
1376 var = var1;
1377 RET_LABEL:;
1378 return var;
1379 }
1380 /* method mmodule#MModule#visibility_for for (self: MModule, MModule): MVisibility */
1381 val* nit___nit__MModule___visibility_for(val* self, val* p0) {
1382 val* var /* : MVisibility */;
1383 val* var_m /* var m: MModule */;
1384 short int var1 /* : Bool */;
1385 val* var_other /* var other: nullable Object */;
1386 short int var3 /* : Bool */;
1387 short int var5 /* : Bool */;
1388 val* var6 /* : Sys */;
1389 val* var7 /* : MVisibility */;
1390 val* var8 /* : HashSet[MModule] */;
1391 val* var10 /* : HashSet[MModule] */;
1392 short int var11 /* : Bool */;
1393 val* var12 /* : Sys */;
1394 val* var13 /* : MVisibility */;
1395 val* var14 /* : HashSet[MModule] */;
1396 val* var16 /* : HashSet[MModule] */;
1397 short int var17 /* : Bool */;
1398 val* var18 /* : Sys */;
1399 val* var19 /* : MVisibility */;
1400 val* var20 /* : HashSet[MModule] */;
1401 val* var22 /* : HashSet[MModule] */;
1402 short int var23 /* : Bool */;
1403 val* var24 /* : Sys */;
1404 val* var25 /* : MVisibility */;
1405 val* var26 /* : Sys */;
1406 val* var27 /* : MVisibility */;
1407 var_m = p0;
1408 {
1409 { /* Inline kernel#Object#== (var_m,self) on <var_m:MModule> */
1410 var_other = self;
1411 {
1412 { /* Inline kernel#Object#is_same_instance (var_m,var_other) on <var_m:MModule> */
1413 var5 = var_m == var_other;
1414 var3 = var5;
1415 goto RET_LABEL4;
1416 RET_LABEL4:(void)0;
1417 }
1418 }
1419 var1 = var3;
1420 goto RET_LABEL2;
1421 RET_LABEL2:(void)0;
1422 }
1423 }
1424 if (var1){
1425 var6 = glob_sys;
1426 {
1427 var7 = nit__model_base___standard__Sys___intrude_visibility(var6);
1428 }
1429 var = var7;
1430 goto RET_LABEL;
1431 } else {
1432 }
1433 {
1434 { /* Inline mmodule#MModule#intrude_mmodules (self) on <self:MModule> */
1435 var10 = self->attrs[COLOR_nit__mmodule__MModule___intrude_mmodules].val; /* _intrude_mmodules on <self:MModule> */
1436 if (unlikely(var10 == NULL)) {
1437 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intrude_mmodules");
1438 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 184);
1439 fatal_exit(1);
1440 }
1441 var8 = var10;
1442 RET_LABEL9:(void)0;
1443 }
1444 }
1445 {
1446 var11 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var8, var_m);
1447 }
1448 if (var11){
1449 var12 = glob_sys;
1450 {
1451 var13 = nit__model_base___standard__Sys___intrude_visibility(var12);
1452 }
1453 var = var13;
1454 goto RET_LABEL;
1455 } else {
1456 }
1457 {
1458 { /* Inline mmodule#MModule#public_mmodules (self) on <self:MModule> */
1459 var16 = self->attrs[COLOR_nit__mmodule__MModule___public_mmodules].val; /* _public_mmodules on <self:MModule> */
1460 if (unlikely(var16 == NULL)) {
1461 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _public_mmodules");
1462 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 185);
1463 fatal_exit(1);
1464 }
1465 var14 = var16;
1466 RET_LABEL15:(void)0;
1467 }
1468 }
1469 {
1470 var17 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var14, var_m);
1471 }
1472 if (var17){
1473 var18 = glob_sys;
1474 {
1475 var19 = nit__model_base___standard__Sys___public_visibility(var18);
1476 }
1477 var = var19;
1478 goto RET_LABEL;
1479 } else {
1480 }
1481 {
1482 { /* Inline mmodule#MModule#private_mmodules (self) on <self:MModule> */
1483 var22 = self->attrs[COLOR_nit__mmodule__MModule___private_mmodules].val; /* _private_mmodules on <self:MModule> */
1484 if (unlikely(var22 == NULL)) {
1485 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _private_mmodules");
1486 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 186);
1487 fatal_exit(1);
1488 }
1489 var20 = var22;
1490 RET_LABEL21:(void)0;
1491 }
1492 }
1493 {
1494 var23 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var20, var_m);
1495 }
1496 if (var23){
1497 var24 = glob_sys;
1498 {
1499 var25 = nit__model_base___standard__Sys___private_visibility(var24);
1500 }
1501 var = var25;
1502 goto RET_LABEL;
1503 } else {
1504 }
1505 var26 = glob_sys;
1506 {
1507 var27 = nit__model_base___standard__Sys___none_visibility(var26);
1508 }
1509 var = var27;
1510 goto RET_LABEL;
1511 RET_LABEL:;
1512 return var;
1513 }
1514 /* method mmodule#MModule#set_visibility_for for (self: MModule, MModule, MVisibility) */
1515 void nit___nit__MModule___set_visibility_for(val* self, val* p0, val* p1) {
1516 val* var_m /* var m: MModule */;
1517 val* var_v /* var v: MVisibility */;
1518 val* var /* : Sys */;
1519 val* var1 /* : MVisibility */;
1520 short int var2 /* : Bool */;
1521 val* var_other /* var other: nullable Object */;
1522 short int var4 /* : Bool */;
1523 short int var6 /* : Bool */;
1524 val* var7 /* : HashSet[MModule] */;
1525 val* var9 /* : HashSet[MModule] */;
1526 val* var10 /* : HashSet[MModule] */;
1527 val* var12 /* : HashSet[MModule] */;
1528 val* var13 /* : HashSet[MModule] */;
1529 val* var15 /* : HashSet[MModule] */;
1530 val* var16 /* : HashSet[MModule] */;
1531 val* var18 /* : HashSet[MModule] */;
1532 val* var19 /* : HashSet[MModule] */;
1533 val* var21 /* : HashSet[MModule] */;
1534 val* var22 /* : HashSet[MModule] */;
1535 val* var24 /* : HashSet[MModule] */;
1536 val* var25 /* : HashSet[MModule] */;
1537 val* var27 /* : HashSet[MModule] */;
1538 val* var28 /* : Sys */;
1539 val* var29 /* : MVisibility */;
1540 short int var30 /* : Bool */;
1541 short int var32 /* : Bool */;
1542 short int var34 /* : Bool */;
1543 val* var35 /* : HashSet[MModule] */;
1544 val* var37 /* : HashSet[MModule] */;
1545 val* var38 /* : HashSet[MModule] */;
1546 val* var40 /* : HashSet[MModule] */;
1547 val* var41 /* : HashSet[MModule] */;
1548 val* var43 /* : HashSet[MModule] */;
1549 val* var44 /* : HashSet[MModule] */;
1550 val* var46 /* : HashSet[MModule] */;
1551 val* var47 /* : HashSet[MModule] */;
1552 val* var49 /* : HashSet[MModule] */;
1553 val* var50 /* : Sys */;
1554 val* var51 /* : MVisibility */;
1555 short int var52 /* : Bool */;
1556 short int var54 /* : Bool */;
1557 short int var56 /* : Bool */;
1558 val* var57 /* : HashSet[MModule] */;
1559 val* var59 /* : HashSet[MModule] */;
1560 val* var60 /* : HashSet[MModule] */;
1561 val* var62 /* : HashSet[MModule] */;
1562 val* var63 /* : HashSet[MModule] */;
1563 val* var65 /* : HashSet[MModule] */;
1564 val* var66 /* : HashSet[MModule] */;
1565 val* var68 /* : HashSet[MModule] */;
1566 val* var69 /* : HashSet[MModule] */;
1567 val* var71 /* : HashSet[MModule] */;
1568 val* var72 /* : Sys */;
1569 val* var73 /* : NativeArray[String] */;
1570 static val* varonce;
1571 static val* varonce74;
1572 val* var75 /* : String */;
1573 char* var76 /* : NativeString */;
1574 val* var77 /* : FlatString */;
1575 static val* varonce78;
1576 val* var79 /* : String */;
1577 char* var80 /* : NativeString */;
1578 val* var81 /* : FlatString */;
1579 val* var82 /* : String */;
1580 val* var83 /* : String */;
1581 val* var84 /* : String */;
1582 val* var85 /* : String */;
1583 var_m = p0;
1584 var_v = p1;
1585 var = glob_sys;
1586 {
1587 var1 = nit__model_base___standard__Sys___intrude_visibility(var);
1588 }
1589 {
1590 { /* Inline kernel#Object#== (var_v,var1) on <var_v:MVisibility> */
1591 var_other = var1;
1592 {
1593 { /* Inline kernel#Object#is_same_instance (var_v,var_other) on <var_v:MVisibility> */
1594 var6 = var_v == var_other;
1595 var4 = var6;
1596 goto RET_LABEL5;
1597 RET_LABEL5:(void)0;
1598 }
1599 }
1600 var2 = var4;
1601 goto RET_LABEL3;
1602 RET_LABEL3:(void)0;
1603 }
1604 }
1605 if (var2){
1606 {
1607 { /* Inline mmodule#MModule#intrude_mmodules (self) on <self:MModule> */
1608 var9 = self->attrs[COLOR_nit__mmodule__MModule___intrude_mmodules].val; /* _intrude_mmodules on <self:MModule> */
1609 if (unlikely(var9 == NULL)) {
1610 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intrude_mmodules");
1611 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 184);
1612 fatal_exit(1);
1613 }
1614 var7 = var9;
1615 RET_LABEL8:(void)0;
1616 }
1617 }
1618 {
1619 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var7, var_m); /* Direct call hash_collection#HashSet#add on <var7:HashSet[MModule]>*/
1620 }
1621 {
1622 { /* Inline mmodule#MModule#intrude_mmodules (self) on <self:MModule> */
1623 var12 = self->attrs[COLOR_nit__mmodule__MModule___intrude_mmodules].val; /* _intrude_mmodules on <self:MModule> */
1624 if (unlikely(var12 == NULL)) {
1625 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intrude_mmodules");
1626 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 184);
1627 fatal_exit(1);
1628 }
1629 var10 = var12;
1630 RET_LABEL11:(void)0;
1631 }
1632 }
1633 {
1634 { /* Inline mmodule#MModule#intrude_mmodules (var_m) on <var_m:MModule> */
1635 var15 = var_m->attrs[COLOR_nit__mmodule__MModule___intrude_mmodules].val; /* _intrude_mmodules on <var_m:MModule> */
1636 if (unlikely(var15 == NULL)) {
1637 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intrude_mmodules");
1638 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 184);
1639 fatal_exit(1);
1640 }
1641 var13 = var15;
1642 RET_LABEL14:(void)0;
1643 }
1644 }
1645 {
1646 standard___standard__SimpleCollection___add_all(var10, var13); /* Direct call abstract_collection#SimpleCollection#add_all on <var10:HashSet[MModule]>*/
1647 }
1648 {
1649 { /* Inline mmodule#MModule#public_mmodules (self) on <self:MModule> */
1650 var18 = self->attrs[COLOR_nit__mmodule__MModule___public_mmodules].val; /* _public_mmodules on <self:MModule> */
1651 if (unlikely(var18 == NULL)) {
1652 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _public_mmodules");
1653 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 185);
1654 fatal_exit(1);
1655 }
1656 var16 = var18;
1657 RET_LABEL17:(void)0;
1658 }
1659 }
1660 {
1661 { /* Inline mmodule#MModule#public_mmodules (var_m) on <var_m:MModule> */
1662 var21 = var_m->attrs[COLOR_nit__mmodule__MModule___public_mmodules].val; /* _public_mmodules on <var_m:MModule> */
1663 if (unlikely(var21 == NULL)) {
1664 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _public_mmodules");
1665 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 185);
1666 fatal_exit(1);
1667 }
1668 var19 = var21;
1669 RET_LABEL20:(void)0;
1670 }
1671 }
1672 {
1673 standard___standard__SimpleCollection___add_all(var16, var19); /* Direct call abstract_collection#SimpleCollection#add_all on <var16:HashSet[MModule]>*/
1674 }
1675 {
1676 { /* Inline mmodule#MModule#private_mmodules (self) on <self:MModule> */
1677 var24 = self->attrs[COLOR_nit__mmodule__MModule___private_mmodules].val; /* _private_mmodules on <self:MModule> */
1678 if (unlikely(var24 == NULL)) {
1679 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _private_mmodules");
1680 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 186);
1681 fatal_exit(1);
1682 }
1683 var22 = var24;
1684 RET_LABEL23:(void)0;
1685 }
1686 }
1687 {
1688 { /* Inline mmodule#MModule#private_mmodules (var_m) on <var_m:MModule> */
1689 var27 = var_m->attrs[COLOR_nit__mmodule__MModule___private_mmodules].val; /* _private_mmodules on <var_m:MModule> */
1690 if (unlikely(var27 == NULL)) {
1691 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _private_mmodules");
1692 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 186);
1693 fatal_exit(1);
1694 }
1695 var25 = var27;
1696 RET_LABEL26:(void)0;
1697 }
1698 }
1699 {
1700 standard___standard__SimpleCollection___add_all(var22, var25); /* Direct call abstract_collection#SimpleCollection#add_all on <var22:HashSet[MModule]>*/
1701 }
1702 } else {
1703 var28 = glob_sys;
1704 {
1705 var29 = nit__model_base___standard__Sys___public_visibility(var28);
1706 }
1707 {
1708 { /* Inline kernel#Object#== (var_v,var29) on <var_v:MVisibility> */
1709 var_other = var29;
1710 {
1711 { /* Inline kernel#Object#is_same_instance (var_v,var_other) on <var_v:MVisibility> */
1712 var34 = var_v == var_other;
1713 var32 = var34;
1714 goto RET_LABEL33;
1715 RET_LABEL33:(void)0;
1716 }
1717 }
1718 var30 = var32;
1719 goto RET_LABEL31;
1720 RET_LABEL31:(void)0;
1721 }
1722 }
1723 if (var30){
1724 {
1725 { /* Inline mmodule#MModule#public_mmodules (self) on <self:MModule> */
1726 var37 = self->attrs[COLOR_nit__mmodule__MModule___public_mmodules].val; /* _public_mmodules on <self:MModule> */
1727 if (unlikely(var37 == NULL)) {
1728 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _public_mmodules");
1729 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 185);
1730 fatal_exit(1);
1731 }
1732 var35 = var37;
1733 RET_LABEL36:(void)0;
1734 }
1735 }
1736 {
1737 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var35, var_m); /* Direct call hash_collection#HashSet#add on <var35:HashSet[MModule]>*/
1738 }
1739 {
1740 { /* Inline mmodule#MModule#public_mmodules (self) on <self:MModule> */
1741 var40 = self->attrs[COLOR_nit__mmodule__MModule___public_mmodules].val; /* _public_mmodules on <self:MModule> */
1742 if (unlikely(var40 == NULL)) {
1743 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _public_mmodules");
1744 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 185);
1745 fatal_exit(1);
1746 }
1747 var38 = var40;
1748 RET_LABEL39:(void)0;
1749 }
1750 }
1751 {
1752 { /* Inline mmodule#MModule#intrude_mmodules (var_m) on <var_m:MModule> */
1753 var43 = var_m->attrs[COLOR_nit__mmodule__MModule___intrude_mmodules].val; /* _intrude_mmodules on <var_m:MModule> */
1754 if (unlikely(var43 == NULL)) {
1755 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intrude_mmodules");
1756 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 184);
1757 fatal_exit(1);
1758 }
1759 var41 = var43;
1760 RET_LABEL42:(void)0;
1761 }
1762 }
1763 {
1764 standard___standard__SimpleCollection___add_all(var38, var41); /* Direct call abstract_collection#SimpleCollection#add_all on <var38:HashSet[MModule]>*/
1765 }
1766 {
1767 { /* Inline mmodule#MModule#public_mmodules (self) on <self:MModule> */
1768 var46 = self->attrs[COLOR_nit__mmodule__MModule___public_mmodules].val; /* _public_mmodules on <self:MModule> */
1769 if (unlikely(var46 == NULL)) {
1770 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _public_mmodules");
1771 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 185);
1772 fatal_exit(1);
1773 }
1774 var44 = var46;
1775 RET_LABEL45:(void)0;
1776 }
1777 }
1778 {
1779 { /* Inline mmodule#MModule#public_mmodules (var_m) on <var_m:MModule> */
1780 var49 = var_m->attrs[COLOR_nit__mmodule__MModule___public_mmodules].val; /* _public_mmodules on <var_m:MModule> */
1781 if (unlikely(var49 == NULL)) {
1782 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _public_mmodules");
1783 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 185);
1784 fatal_exit(1);
1785 }
1786 var47 = var49;
1787 RET_LABEL48:(void)0;
1788 }
1789 }
1790 {
1791 standard___standard__SimpleCollection___add_all(var44, var47); /* Direct call abstract_collection#SimpleCollection#add_all on <var44:HashSet[MModule]>*/
1792 }
1793 } else {
1794 var50 = glob_sys;
1795 {
1796 var51 = nit__model_base___standard__Sys___private_visibility(var50);
1797 }
1798 {
1799 { /* Inline kernel#Object#== (var_v,var51) on <var_v:MVisibility> */
1800 var_other = var51;
1801 {
1802 { /* Inline kernel#Object#is_same_instance (var_v,var_other) on <var_v:MVisibility> */
1803 var56 = var_v == var_other;
1804 var54 = var56;
1805 goto RET_LABEL55;
1806 RET_LABEL55:(void)0;
1807 }
1808 }
1809 var52 = var54;
1810 goto RET_LABEL53;
1811 RET_LABEL53:(void)0;
1812 }
1813 }
1814 if (var52){
1815 {
1816 { /* Inline mmodule#MModule#private_mmodules (self) on <self:MModule> */
1817 var59 = self->attrs[COLOR_nit__mmodule__MModule___private_mmodules].val; /* _private_mmodules on <self:MModule> */
1818 if (unlikely(var59 == NULL)) {
1819 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _private_mmodules");
1820 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 186);
1821 fatal_exit(1);
1822 }
1823 var57 = var59;
1824 RET_LABEL58:(void)0;
1825 }
1826 }
1827 {
1828 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var57, var_m); /* Direct call hash_collection#HashSet#add on <var57:HashSet[MModule]>*/
1829 }
1830 {
1831 { /* Inline mmodule#MModule#private_mmodules (self) on <self:MModule> */
1832 var62 = self->attrs[COLOR_nit__mmodule__MModule___private_mmodules].val; /* _private_mmodules on <self:MModule> */
1833 if (unlikely(var62 == NULL)) {
1834 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _private_mmodules");
1835 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 186);
1836 fatal_exit(1);
1837 }
1838 var60 = var62;
1839 RET_LABEL61:(void)0;
1840 }
1841 }
1842 {
1843 { /* Inline mmodule#MModule#intrude_mmodules (var_m) on <var_m:MModule> */
1844 var65 = var_m->attrs[COLOR_nit__mmodule__MModule___intrude_mmodules].val; /* _intrude_mmodules on <var_m:MModule> */
1845 if (unlikely(var65 == NULL)) {
1846 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intrude_mmodules");
1847 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 184);
1848 fatal_exit(1);
1849 }
1850 var63 = var65;
1851 RET_LABEL64:(void)0;
1852 }
1853 }
1854 {
1855 standard___standard__SimpleCollection___add_all(var60, var63); /* Direct call abstract_collection#SimpleCollection#add_all on <var60:HashSet[MModule]>*/
1856 }
1857 {
1858 { /* Inline mmodule#MModule#private_mmodules (self) on <self:MModule> */
1859 var68 = self->attrs[COLOR_nit__mmodule__MModule___private_mmodules].val; /* _private_mmodules on <self:MModule> */
1860 if (unlikely(var68 == NULL)) {
1861 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _private_mmodules");
1862 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 186);
1863 fatal_exit(1);
1864 }
1865 var66 = var68;
1866 RET_LABEL67:(void)0;
1867 }
1868 }
1869 {
1870 { /* Inline mmodule#MModule#public_mmodules (var_m) on <var_m:MModule> */
1871 var71 = var_m->attrs[COLOR_nit__mmodule__MModule___public_mmodules].val; /* _public_mmodules on <var_m:MModule> */
1872 if (unlikely(var71 == NULL)) {
1873 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _public_mmodules");
1874 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 185);
1875 fatal_exit(1);
1876 }
1877 var69 = var71;
1878 RET_LABEL70:(void)0;
1879 }
1880 }
1881 {
1882 standard___standard__SimpleCollection___add_all(var66, var69); /* Direct call abstract_collection#SimpleCollection#add_all on <var66:HashSet[MModule]>*/
1883 }
1884 } else {
1885 var72 = glob_sys;
1886 if (unlikely(varonce==NULL)) {
1887 var73 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String);
1888 if (likely(varonce74!=NULL)) {
1889 var75 = varonce74;
1890 } else {
1891 var76 = " visibility for ";
1892 var77 = standard___standard__NativeString___to_s_with_length(var76, 16l);
1893 var75 = var77;
1894 varonce74 = var75;
1895 }
1896 ((struct instance_standard__NativeArray*)var73)->values[1]=var75;
1897 if (likely(varonce78!=NULL)) {
1898 var79 = varonce78;
1899 } else {
1900 var80 = " = ";
1901 var81 = standard___standard__NativeString___to_s_with_length(var80, 3l);
1902 var79 = var81;
1903 varonce78 = var79;
1904 }
1905 ((struct instance_standard__NativeArray*)var73)->values[3]=var79;
1906 } else {
1907 var73 = varonce;
1908 varonce = NULL;
1909 }
1910 {
1911 var82 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Object__to_s]))(self); /* to_s on <self:MModule>*/
1912 }
1913 ((struct instance_standard__NativeArray*)var73)->values[0]=var82;
1914 {
1915 var83 = ((val*(*)(val* self))(var_m->class->vft[COLOR_standard__string__Object__to_s]))(var_m); /* to_s on <var_m:MModule>*/
1916 }
1917 ((struct instance_standard__NativeArray*)var73)->values[2]=var83;
1918 {
1919 var84 = ((val*(*)(val* self))(var_v->class->vft[COLOR_standard__string__Object__to_s]))(var_v); /* to_s on <var_v:MVisibility>*/
1920 }
1921 ((struct instance_standard__NativeArray*)var73)->values[4]=var84;
1922 {
1923 var85 = ((val*(*)(val* self))(var73->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var73); /* native_to_s on <var73:NativeArray[String]>*/
1924 }
1925 varonce = var73;
1926 {
1927 standard__file___Sys___print(var72, var85); /* Direct call file#Sys#print on <var72:Sys>*/
1928 }
1929 PRINT_ERROR("Runtime error: %s", "Aborted");
1930 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 217);
1931 fatal_exit(1);
1932 }
1933 }
1934 }
1935 RET_LABEL:;
1936 }
1937 /* method mmodule#MModule#is_visible for (self: MModule, MModule, MVisibility): Bool */
1938 short int nit___nit__MModule___is_visible(val* self, val* p0, val* p1) {
1939 short int var /* : Bool */;
1940 val* var_intro_mmodule /* var intro_mmodule: MModule */;
1941 val* var_visibility /* var visibility: MVisibility */;
1942 val* var1 /* : MVisibility */;
1943 val* var_v /* var v: MVisibility */;
1944 val* var2 /* : Sys */;
1945 val* var3 /* : MVisibility */;
1946 short int var4 /* : Bool */;
1947 val* var_other /* var other: nullable Object */;
1948 short int var6 /* : Bool */;
1949 short int var8 /* : Bool */;
1950 val* var9 /* : Sys */;
1951 val* var10 /* : MVisibility */;
1952 short int var11 /* : Bool */;
1953 val* var12 /* : Sys */;
1954 val* var13 /* : MVisibility */;
1955 short int var14 /* : Bool */;
1956 short int var16 /* : Bool */;
1957 short int var18 /* : Bool */;
1958 val* var19 /* : Sys */;
1959 val* var20 /* : MVisibility */;
1960 short int var21 /* : Bool */;
1961 val* var22 /* : Sys */;
1962 val* var23 /* : MVisibility */;
1963 short int var24 /* : Bool */;
1964 short int var26 /* : Bool */;
1965 short int var28 /* : Bool */;
1966 val* var29 /* : Sys */;
1967 val* var30 /* : MVisibility */;
1968 short int var31 /* : Bool */;
1969 val* var32 /* : Sys */;
1970 val* var33 /* : MVisibility */;
1971 short int var34 /* : Bool */;
1972 short int var36 /* : Bool */;
1973 short int var38 /* : Bool */;
1974 var_intro_mmodule = p0;
1975 var_visibility = p1;
1976 {
1977 var1 = nit___nit__MModule___visibility_for(self, var_intro_mmodule);
1978 }
1979 var_v = var1;
1980 var2 = glob_sys;
1981 {
1982 var3 = nit__model_base___standard__Sys___intrude_visibility(var2);
1983 }
1984 {
1985 { /* Inline kernel#Object#== (var_v,var3) on <var_v:MVisibility> */
1986 var_other = var3;
1987 {
1988 { /* Inline kernel#Object#is_same_instance (var_v,var_other) on <var_v:MVisibility> */
1989 var8 = var_v == var_other;
1990 var6 = var8;
1991 goto RET_LABEL7;
1992 RET_LABEL7:(void)0;
1993 }
1994 }
1995 var4 = var6;
1996 goto RET_LABEL5;
1997 RET_LABEL5:(void)0;
1998 }
1999 }
2000 if (var4){
2001 var9 = glob_sys;
2002 {
2003 var10 = nit__model_base___standard__Sys___private_visibility(var9);
2004 }
2005 {
2006 var11 = standard___standard__Comparable____62d_61d(var_visibility, var10);
2007 }
2008 var = var11;
2009 goto RET_LABEL;
2010 } else {
2011 var12 = glob_sys;
2012 {
2013 var13 = nit__model_base___standard__Sys___public_visibility(var12);
2014 }
2015 {
2016 { /* Inline kernel#Object#== (var_v,var13) on <var_v:MVisibility> */
2017 var_other = var13;
2018 {
2019 { /* Inline kernel#Object#is_same_instance (var_v,var_other) on <var_v:MVisibility> */
2020 var18 = var_v == var_other;
2021 var16 = var18;
2022 goto RET_LABEL17;
2023 RET_LABEL17:(void)0;
2024 }
2025 }
2026 var14 = var16;
2027 goto RET_LABEL15;
2028 RET_LABEL15:(void)0;
2029 }
2030 }
2031 if (var14){
2032 var19 = glob_sys;
2033 {
2034 var20 = nit__model_base___standard__Sys___private_visibility(var19);
2035 }
2036 {
2037 var21 = standard___standard__Comparable____62d(var_visibility, var20);
2038 }
2039 var = var21;
2040 goto RET_LABEL;
2041 } else {
2042 var22 = glob_sys;
2043 {
2044 var23 = nit__model_base___standard__Sys___private_visibility(var22);
2045 }
2046 {
2047 { /* Inline kernel#Object#== (var_v,var23) on <var_v:MVisibility> */
2048 var_other = var23;
2049 {
2050 { /* Inline kernel#Object#is_same_instance (var_v,var_other) on <var_v:MVisibility> */
2051 var28 = var_v == var_other;
2052 var26 = var28;
2053 goto RET_LABEL27;
2054 RET_LABEL27:(void)0;
2055 }
2056 }
2057 var24 = var26;
2058 goto RET_LABEL25;
2059 RET_LABEL25:(void)0;
2060 }
2061 }
2062 if (var24){
2063 var29 = glob_sys;
2064 {
2065 var30 = nit__model_base___standard__Sys___private_visibility(var29);
2066 }
2067 {
2068 var31 = standard___standard__Comparable____62d(var_visibility, var30);
2069 }
2070 var = var31;
2071 goto RET_LABEL;
2072 } else {
2073 var32 = glob_sys;
2074 {
2075 var33 = nit__model_base___standard__Sys___none_visibility(var32);
2076 }
2077 {
2078 { /* Inline kernel#Object#== (var_v,var33) on <var_v:MVisibility> */
2079 var_other = var33;
2080 {
2081 { /* Inline kernel#Object#is_same_instance (var_v,var_other) on <var_v:MVisibility> */
2082 var38 = var_v == var_other;
2083 var36 = var38;
2084 goto RET_LABEL37;
2085 RET_LABEL37:(void)0;
2086 }
2087 }
2088 var34 = var36;
2089 goto RET_LABEL35;
2090 RET_LABEL35:(void)0;
2091 }
2092 }
2093 if (var34){
2094 var = 0;
2095 goto RET_LABEL;
2096 } else {
2097 PRINT_ERROR("Runtime error: %s", "Aborted");
2098 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 234);
2099 fatal_exit(1);
2100 }
2101 }
2102 }
2103 }
2104 RET_LABEL:;
2105 return var;
2106 }
2107 /* method mmodule#MModule#is_fictive for (self: MModule): Bool */
2108 short int nit___nit__MModule___is_fictive(val* self) {
2109 short int var /* : Bool */;
2110 short int var1 /* : Bool */;
2111 var1 = self->attrs[COLOR_nit__mmodule__MModule___is_fictive].s; /* _is_fictive on <self:MModule> */
2112 var = var1;
2113 RET_LABEL:;
2114 return var;
2115 }
2116 /* method mmodule#MModule#is_fictive= for (self: MModule, Bool) */
2117 void nit___nit__MModule___is_fictive_61d(val* self, short int p0) {
2118 self->attrs[COLOR_nit__mmodule__MModule___is_fictive].s = p0; /* _is_fictive on <self:MModule> */
2119 RET_LABEL:;
2120 }
2121 /* method mmodule#MModule#is_test_suite= for (self: MModule, Bool) */
2122 void nit___nit__MModule___is_test_suite_61d(val* self, short int p0) {
2123 self->attrs[COLOR_nit__mmodule__MModule___is_test_suite].s = p0; /* _is_test_suite on <self:MModule> */
2124 RET_LABEL:;
2125 }
2126 /* method mmodule#MModule#first_real_mmodule for (self: MModule): MModule */
2127 val* nit___nit__MModule___first_real_mmodule(val* self) {
2128 val* var /* : MModule */;
2129 val* var_mmodule /* var mmodule: MModule */;
2130 short int var1 /* : Bool */;
2131 short int var3 /* : Bool */;
2132 val* var4 /* : POSetElement[MModule] */;
2133 val* var6 /* : POSetElement[MModule] */;
2134 val* var7 /* : Collection[nullable Object] */;
2135 val* var8 /* : nullable Object */;
2136 var_mmodule = self;
2137 for(;;) {
2138 {
2139 { /* Inline mmodule#MModule#is_fictive (var_mmodule) on <var_mmodule:MModule> */
2140 var3 = var_mmodule->attrs[COLOR_nit__mmodule__MModule___is_fictive].s; /* _is_fictive on <var_mmodule:MModule> */
2141 var1 = var3;
2142 RET_LABEL2:(void)0;
2143 }
2144 }
2145 if (var1){
2146 {
2147 { /* Inline mmodule#MModule#in_importation (var_mmodule) on <var_mmodule:MModule> */
2148 var6 = var_mmodule->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on <var_mmodule:MModule> */
2149 if (unlikely(var6 == NULL)) {
2150 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
2151 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 96);
2152 fatal_exit(1);
2153 }
2154 var4 = var6;
2155 RET_LABEL5:(void)0;
2156 }
2157 }
2158 {
2159 var7 = poset___poset__POSetElement___direct_greaters(var4);
2160 }
2161 {
2162 var8 = ((val*(*)(val* self))((((long)var7&3)?class_info[((long)var7&3)]:var7->class)->vft[COLOR_standard__abstract_collection__Collection__first]))(var7); /* first on <var7:Collection[nullable Object](Collection[MModule])>*/
2163 }
2164 var_mmodule = var8;
2165 } else {
2166 goto BREAK_label;
2167 }
2168 }
2169 BREAK_label: (void)0;
2170 var = var_mmodule;
2171 goto RET_LABEL;
2172 RET_LABEL:;
2173 return var;
2174 }