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