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