lib/ropes_debug: Adapted new leaves for to_dot operation.
[nit.git] / c_src / mmodule.sep.1.c
1 #include "mmodule.sep.0.h"
2 /* method mmodule#Model#mmodules for (self: Model): Array[MModule] */
3 val* mmodule__Model__mmodules(val* self) {
4 val* var /* : Array[MModule] */;
5 val* var1 /* : Array[MModule] */;
6 var1 = self->attrs[COLOR_mmodule__Model___64dmmodules].val; /* @mmodules on <self:Model> */
7 if (var1 == NULL) {
8 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @mmodules");
9 fprintf(stderr, " (%s:%d)\n", "src/model/mmodule.nit", 28);
10 show_backtrace(1);
11 }
12 var = var1;
13 RET_LABEL:;
14 return var;
15 }
16 /* method mmodule#Model#mmodules for (self: Object): Array[MModule] */
17 val* VIRTUAL_mmodule__Model__mmodules(val* self) {
18 val* var /* : Array[MModule] */;
19 val* var1 /* : Array[MModule] */;
20 var1 = mmodule__Model__mmodules(self);
21 var = var1;
22 RET_LABEL:;
23 return var;
24 }
25 /* method mmodule#Model#mmodules= for (self: Model, Array[MModule]) */
26 void mmodule__Model__mmodules_61d(val* self, val* p0) {
27 self->attrs[COLOR_mmodule__Model___64dmmodules].val = p0; /* @mmodules on <self:Model> */
28 RET_LABEL:;
29 }
30 /* method mmodule#Model#mmodules= for (self: Object, Array[MModule]) */
31 void VIRTUAL_mmodule__Model__mmodules_61d(val* self, val* p0) {
32 mmodule__Model__mmodules_61d(self, p0);
33 RET_LABEL:;
34 }
35 /* method mmodule#Model#mmodule_nesting_hierarchy for (self: Model): POSet[MModule] */
36 val* mmodule__Model__mmodule_nesting_hierarchy(val* self) {
37 val* var /* : POSet[MModule] */;
38 val* var1 /* : POSet[MModule] */;
39 var1 = self->attrs[COLOR_mmodule__Model___64dmmodule_nesting_hierarchy].val; /* @mmodule_nesting_hierarchy on <self:Model> */
40 if (var1 == NULL) {
41 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @mmodule_nesting_hierarchy");
42 fprintf(stderr, " (%s:%d)\n", "src/model/mmodule.nit", 31);
43 show_backtrace(1);
44 }
45 var = var1;
46 RET_LABEL:;
47 return var;
48 }
49 /* method mmodule#Model#mmodule_nesting_hierarchy for (self: Object): POSet[MModule] */
50 val* VIRTUAL_mmodule__Model__mmodule_nesting_hierarchy(val* self) {
51 val* var /* : POSet[MModule] */;
52 val* var1 /* : POSet[MModule] */;
53 var1 = mmodule__Model__mmodule_nesting_hierarchy(self);
54 var = var1;
55 RET_LABEL:;
56 return var;
57 }
58 /* method mmodule#Model#mmodule_nesting_hierarchy= for (self: Model, POSet[MModule]) */
59 void mmodule__Model__mmodule_nesting_hierarchy_61d(val* self, val* p0) {
60 self->attrs[COLOR_mmodule__Model___64dmmodule_nesting_hierarchy].val = p0; /* @mmodule_nesting_hierarchy on <self:Model> */
61 RET_LABEL:;
62 }
63 /* method mmodule#Model#mmodule_nesting_hierarchy= for (self: Object, POSet[MModule]) */
64 void VIRTUAL_mmodule__Model__mmodule_nesting_hierarchy_61d(val* self, val* p0) {
65 mmodule__Model__mmodule_nesting_hierarchy_61d(self, p0);
66 RET_LABEL:;
67 }
68 /* method mmodule#Model#mmodule_importation_hierarchy for (self: Model): POSet[MModule] */
69 val* mmodule__Model__mmodule_importation_hierarchy(val* self) {
70 val* var /* : POSet[MModule] */;
71 val* var1 /* : POSet[MModule] */;
72 var1 = self->attrs[COLOR_mmodule__Model___64dmmodule_importation_hierarchy].val; /* @mmodule_importation_hierarchy on <self:Model> */
73 if (var1 == NULL) {
74 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @mmodule_importation_hierarchy");
75 fprintf(stderr, " (%s:%d)\n", "src/model/mmodule.nit", 37);
76 show_backtrace(1);
77 }
78 var = var1;
79 RET_LABEL:;
80 return var;
81 }
82 /* method mmodule#Model#mmodule_importation_hierarchy for (self: Object): POSet[MModule] */
83 val* VIRTUAL_mmodule__Model__mmodule_importation_hierarchy(val* self) {
84 val* var /* : POSet[MModule] */;
85 val* var1 /* : POSet[MModule] */;
86 var1 = mmodule__Model__mmodule_importation_hierarchy(self);
87 var = var1;
88 RET_LABEL:;
89 return var;
90 }
91 /* method mmodule#Model#mmodule_importation_hierarchy= for (self: Model, POSet[MModule]) */
92 void mmodule__Model__mmodule_importation_hierarchy_61d(val* self, val* p0) {
93 self->attrs[COLOR_mmodule__Model___64dmmodule_importation_hierarchy].val = p0; /* @mmodule_importation_hierarchy on <self:Model> */
94 RET_LABEL:;
95 }
96 /* method mmodule#Model#mmodule_importation_hierarchy= for (self: Object, POSet[MModule]) */
97 void VIRTUAL_mmodule__Model__mmodule_importation_hierarchy_61d(val* self, val* p0) {
98 mmodule__Model__mmodule_importation_hierarchy_61d(self, p0);
99 RET_LABEL:;
100 }
101 /* method mmodule#Model#mmodules_by_name for (self: Model): MultiHashMap[String, MModule] */
102 val* mmodule__Model__mmodules_by_name(val* self) {
103 val* var /* : MultiHashMap[String, MModule] */;
104 val* var1 /* : MultiHashMap[String, MModule] */;
105 var1 = self->attrs[COLOR_mmodule__Model___64dmmodules_by_name].val; /* @mmodules_by_name on <self:Model> */
106 if (var1 == NULL) {
107 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @mmodules_by_name");
108 fprintf(stderr, " (%s:%d)\n", "src/model/mmodule.nit", 40);
109 show_backtrace(1);
110 }
111 var = var1;
112 RET_LABEL:;
113 return var;
114 }
115 /* method mmodule#Model#mmodules_by_name for (self: Object): MultiHashMap[String, MModule] */
116 val* VIRTUAL_mmodule__Model__mmodules_by_name(val* self) {
117 val* var /* : MultiHashMap[String, MModule] */;
118 val* var1 /* : MultiHashMap[String, MModule] */;
119 var1 = mmodule__Model__mmodules_by_name(self);
120 var = var1;
121 RET_LABEL:;
122 return var;
123 }
124 /* method mmodule#Model#mmodules_by_name= for (self: Model, MultiHashMap[String, MModule]) */
125 void mmodule__Model__mmodules_by_name_61d(val* self, val* p0) {
126 self->attrs[COLOR_mmodule__Model___64dmmodules_by_name].val = p0; /* @mmodules_by_name on <self:Model> */
127 RET_LABEL:;
128 }
129 /* method mmodule#Model#mmodules_by_name= for (self: Object, MultiHashMap[String, MModule]) */
130 void VIRTUAL_mmodule__Model__mmodules_by_name_61d(val* self, val* p0) {
131 mmodule__Model__mmodules_by_name_61d(self, p0);
132 RET_LABEL:;
133 }
134 /* method mmodule#Model#get_mmodules_by_name for (self: Model, String): nullable Array[MModule] */
135 val* mmodule__Model__get_mmodules_by_name(val* self, val* p0) {
136 val* var /* : nullable Array[MModule] */;
137 val* var_name /* var name: String */;
138 val* var1 /* : MultiHashMap[String, MModule] */;
139 short int var2 /* : Bool */;
140 val* var3 /* : MultiHashMap[String, MModule] */;
141 val* var4 /* : nullable Object */;
142 val* var5 /* : null */;
143 var_name = p0;
144 var1 = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__Model__mmodules_by_name]))(self) /* mmodules_by_name on <self:Model>*/;
145 var2 = ((short int (*)(val*, val*))(var1->class->vft[COLOR_abstract_collection__MapRead__has_key]))(var1, var_name) /* has_key on <var1:MultiHashMap[String, MModule]>*/;
146 if (var2){
147 var3 = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__Model__mmodules_by_name]))(self) /* mmodules_by_name on <self:Model>*/;
148 var4 = ((val* (*)(val*, val*))(var3->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var3, var_name) /* [] on <var3:MultiHashMap[String, MModule]>*/;
149 var = var4;
150 goto RET_LABEL;
151 } else {
152 var5 = NULL;
153 var = var5;
154 goto RET_LABEL;
155 }
156 RET_LABEL:;
157 return var;
158 }
159 /* method mmodule#Model#get_mmodules_by_name for (self: Object, String): nullable Array[MModule] */
160 val* VIRTUAL_mmodule__Model__get_mmodules_by_name(val* self, val* p0) {
161 val* var /* : nullable Array[MModule] */;
162 val* var1 /* : nullable Array[MModule] */;
163 var1 = mmodule__Model__get_mmodules_by_name(self, p0);
164 var = var1;
165 RET_LABEL:;
166 return var;
167 }
168 /* method mmodule#MGroup#mmodules for (self: MGroup): Array[MModule] */
169 val* mmodule__MGroup__mmodules(val* self) {
170 val* var /* : Array[MModule] */;
171 val* var1 /* : Array[MModule] */;
172 var1 = self->attrs[COLOR_mmodule__MGroup___64dmmodules].val; /* @mmodules on <self:MGroup> */
173 if (var1 == NULL) {
174 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @mmodules");
175 fprintf(stderr, " (%s:%d)\n", "src/model/mmodule.nit", 58);
176 show_backtrace(1);
177 }
178 var = var1;
179 RET_LABEL:;
180 return var;
181 }
182 /* method mmodule#MGroup#mmodules for (self: Object): Array[MModule] */
183 val* VIRTUAL_mmodule__MGroup__mmodules(val* self) {
184 val* var /* : Array[MModule] */;
185 val* var1 /* : Array[MModule] */;
186 var1 = mmodule__MGroup__mmodules(self);
187 var = var1;
188 RET_LABEL:;
189 return var;
190 }
191 /* method mmodule#MGroup#mmodules= for (self: MGroup, Array[MModule]) */
192 void mmodule__MGroup__mmodules_61d(val* self, val* p0) {
193 self->attrs[COLOR_mmodule__MGroup___64dmmodules].val = p0; /* @mmodules on <self:MGroup> */
194 RET_LABEL:;
195 }
196 /* method mmodule#MGroup#mmodules= for (self: Object, Array[MModule]) */
197 void VIRTUAL_mmodule__MGroup__mmodules_61d(val* self, val* p0) {
198 mmodule__MGroup__mmodules_61d(self, p0);
199 RET_LABEL:;
200 }
201 /* method mmodule#MGroup#fuzzy_owner for (self: MGroup): nullable MModule */
202 val* mmodule__MGroup__fuzzy_owner(val* self) {
203 val* var /* : nullable MModule */;
204 val* var1 /* : Array[MModule] */;
205 val* var2 /* : Iterator[nullable Object] */;
206 short int var3 /* : Bool */;
207 val* var4 /* : nullable Object */;
208 val* var_m /* var m: MModule */;
209 val* var5 /* : String */;
210 val* var6 /* : String */;
211 short int var7 /* : Bool */;
212 val* var8 /* : null */;
213 var1 = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__MGroup__mmodules]))(self) /* mmodules on <self:MGroup>*/;
214 var2 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Collection__iterator]))(var1) /* iterator on <var1:Array[MModule]>*/;
215 for(;;) {
216 var3 = ((short int (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var2) /* is_ok on <var2:Iterator[nullable Object]>*/;
217 if(!var3) break;
218 var4 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__item]))(var2) /* item on <var2:Iterator[nullable Object]>*/;
219 var_m = var4;
220 var5 = ((val* (*)(val*))(var_m->class->vft[COLOR_mmodule__MModule__name]))(var_m) /* name on <var_m:MModule>*/;
221 var6 = ((val* (*)(val*))(self->class->vft[COLOR_mproject__MGroup__name]))(self) /* name on <self:MGroup>*/;
222 var7 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var6) /* == on <var5:String>*/;
223 if (var7){
224 var = var_m;
225 goto RET_LABEL;
226 } else {
227 }
228 CONTINUE_label: (void)0;
229 ((void (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__next]))(var2) /* next on <var2:Iterator[nullable Object]>*/;
230 }
231 BREAK_label: (void)0;
232 var8 = NULL;
233 var = var8;
234 goto RET_LABEL;
235 RET_LABEL:;
236 return var;
237 }
238 /* method mmodule#MGroup#fuzzy_owner for (self: Object): nullable MModule */
239 val* VIRTUAL_mmodule__MGroup__fuzzy_owner(val* self) {
240 val* var /* : nullable MModule */;
241 val* var1 /* : nullable MModule */;
242 var1 = mmodule__MGroup__fuzzy_owner(self);
243 var = var1;
244 RET_LABEL:;
245 return var;
246 }
247 /* method mmodule#MModule#model for (self: MModule): Model */
248 val* mmodule__MModule__model(val* self) {
249 val* var /* : Model */;
250 val* var1 /* : Model */;
251 var1 = self->attrs[COLOR_mmodule__MModule___64dmodel].val; /* @model on <self:MModule> */
252 if (var1 == NULL) {
253 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @model");
254 fprintf(stderr, " (%s:%d)\n", "src/model/mmodule.nit", 72);
255 show_backtrace(1);
256 }
257 var = var1;
258 RET_LABEL:;
259 return var;
260 }
261 /* method mmodule#MModule#model for (self: Object): Model */
262 val* VIRTUAL_mmodule__MModule__model(val* self) {
263 val* var /* : Model */;
264 val* var1 /* : Model */;
265 var1 = mmodule__MModule__model(self);
266 var = var1;
267 RET_LABEL:;
268 return var;
269 }
270 /* method mmodule#MModule#model= for (self: MModule, Model) */
271 void mmodule__MModule__model_61d(val* self, val* p0) {
272 self->attrs[COLOR_mmodule__MModule___64dmodel].val = p0; /* @model on <self:MModule> */
273 RET_LABEL:;
274 }
275 /* method mmodule#MModule#model= for (self: Object, Model) */
276 void VIRTUAL_mmodule__MModule__model_61d(val* self, val* p0) {
277 mmodule__MModule__model_61d(self, p0);
278 RET_LABEL:;
279 }
280 /* method mmodule#MModule#direct_owner for (self: MModule): nullable MModule */
281 val* mmodule__MModule__direct_owner(val* self) {
282 val* var /* : nullable MModule */;
283 val* var1 /* : nullable MModule */;
284 var1 = self->attrs[COLOR_mmodule__MModule___64ddirect_owner].val; /* @direct_owner on <self:MModule> */
285 var = var1;
286 RET_LABEL:;
287 return var;
288 }
289 /* method mmodule#MModule#direct_owner for (self: Object): nullable MModule */
290 val* VIRTUAL_mmodule__MModule__direct_owner(val* self) {
291 val* var /* : nullable MModule */;
292 val* var1 /* : nullable MModule */;
293 var1 = mmodule__MModule__direct_owner(self);
294 var = var1;
295 RET_LABEL:;
296 return var;
297 }
298 /* method mmodule#MModule#direct_owner= for (self: MModule, nullable MModule) */
299 void mmodule__MModule__direct_owner_61d(val* self, val* p0) {
300 self->attrs[COLOR_mmodule__MModule___64ddirect_owner].val = p0; /* @direct_owner on <self:MModule> */
301 RET_LABEL:;
302 }
303 /* method mmodule#MModule#direct_owner= for (self: Object, nullable MModule) */
304 void VIRTUAL_mmodule__MModule__direct_owner_61d(val* self, val* p0) {
305 mmodule__MModule__direct_owner_61d(self, p0);
306 RET_LABEL:;
307 }
308 /* method mmodule#MModule#mgroup for (self: MModule): nullable MGroup */
309 val* mmodule__MModule__mgroup(val* self) {
310 val* var /* : nullable MGroup */;
311 val* var1 /* : nullable MGroup */;
312 var1 = self->attrs[COLOR_mmodule__MModule___64dmgroup].val; /* @mgroup on <self:MModule> */
313 var = var1;
314 RET_LABEL:;
315 return var;
316 }
317 /* method mmodule#MModule#mgroup for (self: Object): nullable MGroup */
318 val* VIRTUAL_mmodule__MModule__mgroup(val* self) {
319 val* var /* : nullable MGroup */;
320 val* var1 /* : nullable MGroup */;
321 var1 = mmodule__MModule__mgroup(self);
322 var = var1;
323 RET_LABEL:;
324 return var;
325 }
326 /* method mmodule#MModule#mgroup= for (self: MModule, nullable MGroup) */
327 void mmodule__MModule__mgroup_61d(val* self, val* p0) {
328 self->attrs[COLOR_mmodule__MModule___64dmgroup].val = p0; /* @mgroup on <self:MModule> */
329 RET_LABEL:;
330 }
331 /* method mmodule#MModule#mgroup= for (self: Object, nullable MGroup) */
332 void VIRTUAL_mmodule__MModule__mgroup_61d(val* self, val* p0) {
333 mmodule__MModule__mgroup_61d(self, p0);
334 RET_LABEL:;
335 }
336 /* method mmodule#MModule#name for (self: MModule): String */
337 val* mmodule__MModule__name(val* self) {
338 val* var /* : String */;
339 val* var1 /* : String */;
340 var1 = self->attrs[COLOR_mmodule__MModule___64dname].val; /* @name on <self:MModule> */
341 if (var1 == NULL) {
342 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @name");
343 fprintf(stderr, " (%s:%d)\n", "src/model/mmodule.nit", 84);
344 show_backtrace(1);
345 }
346 var = var1;
347 RET_LABEL:;
348 return var;
349 }
350 /* method mmodule#MModule#name for (self: Object): String */
351 val* VIRTUAL_mmodule__MModule__name(val* self) {
352 val* var /* : String */;
353 val* var1 /* : String */;
354 var1 = mmodule__MModule__name(self);
355 var = var1;
356 RET_LABEL:;
357 return var;
358 }
359 /* method mmodule#MModule#name= for (self: MModule, String) */
360 void mmodule__MModule__name_61d(val* self, val* p0) {
361 self->attrs[COLOR_mmodule__MModule___64dname].val = p0; /* @name on <self:MModule> */
362 RET_LABEL:;
363 }
364 /* method mmodule#MModule#name= for (self: Object, String) */
365 void VIRTUAL_mmodule__MModule__name_61d(val* self, val* p0) {
366 mmodule__MModule__name_61d(self, p0);
367 RET_LABEL:;
368 }
369 /* method mmodule#MModule#location for (self: MModule): Location */
370 val* mmodule__MModule__location(val* self) {
371 val* var /* : Location */;
372 val* var1 /* : Location */;
373 var1 = self->attrs[COLOR_mmodule__MModule___64dlocation].val; /* @location on <self:MModule> */
374 if (var1 == NULL) {
375 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @location");
376 fprintf(stderr, " (%s:%d)\n", "src/model/mmodule.nit", 87);
377 show_backtrace(1);
378 }
379 var = var1;
380 RET_LABEL:;
381 return var;
382 }
383 /* method mmodule#MModule#location for (self: Object): Location */
384 val* VIRTUAL_mmodule__MModule__location(val* self) {
385 val* var /* : Location */;
386 val* var1 /* : Location */;
387 var1 = mmodule__MModule__location(self);
388 var = var1;
389 RET_LABEL:;
390 return var;
391 }
392 /* method mmodule#MModule#location= for (self: MModule, Location) */
393 void mmodule__MModule__location_61d(val* self, val* p0) {
394 self->attrs[COLOR_mmodule__MModule___64dlocation].val = p0; /* @location on <self:MModule> */
395 RET_LABEL:;
396 }
397 /* method mmodule#MModule#location= for (self: Object, Location) */
398 void VIRTUAL_mmodule__MModule__location_61d(val* self, val* p0) {
399 mmodule__MModule__location_61d(self, p0);
400 RET_LABEL:;
401 }
402 /* method mmodule#MModule#to_s for (self: MModule): String */
403 val* mmodule__MModule__to_s(val* self) {
404 val* var /* : String */;
405 val* var1 /* : String */;
406 var1 = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__MModule__name]))(self) /* name on <self:MModule>*/;
407 var = var1;
408 goto RET_LABEL;
409 RET_LABEL:;
410 return var;
411 }
412 /* method mmodule#MModule#to_s for (self: Object): String */
413 val* VIRTUAL_mmodule__MModule__to_s(val* self) {
414 val* var /* : String */;
415 val* var1 /* : String */;
416 var1 = mmodule__MModule__to_s(self);
417 var = var1;
418 RET_LABEL:;
419 return var;
420 }
421 /* method mmodule#MModule#in_nesting for (self: MModule): POSetElement[MModule] */
422 val* mmodule__MModule__in_nesting(val* self) {
423 val* var /* : POSetElement[MModule] */;
424 val* var1 /* : POSetElement[MModule] */;
425 var1 = self->attrs[COLOR_mmodule__MModule___64din_nesting].val; /* @in_nesting on <self:MModule> */
426 if (var1 == NULL) {
427 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @in_nesting");
428 fprintf(stderr, " (%s:%d)\n", "src/model/mmodule.nit", 93);
429 show_backtrace(1);
430 }
431 var = var1;
432 RET_LABEL:;
433 return var;
434 }
435 /* method mmodule#MModule#in_nesting for (self: Object): POSetElement[MModule] */
436 val* VIRTUAL_mmodule__MModule__in_nesting(val* self) {
437 val* var /* : POSetElement[MModule] */;
438 val* var1 /* : POSetElement[MModule] */;
439 var1 = mmodule__MModule__in_nesting(self);
440 var = var1;
441 RET_LABEL:;
442 return var;
443 }
444 /* method mmodule#MModule#in_nesting= for (self: MModule, POSetElement[MModule]) */
445 void mmodule__MModule__in_nesting_61d(val* self, val* p0) {
446 self->attrs[COLOR_mmodule__MModule___64din_nesting].val = p0; /* @in_nesting on <self:MModule> */
447 RET_LABEL:;
448 }
449 /* method mmodule#MModule#in_nesting= for (self: Object, POSetElement[MModule]) */
450 void VIRTUAL_mmodule__MModule__in_nesting_61d(val* self, val* p0) {
451 mmodule__MModule__in_nesting_61d(self, p0);
452 RET_LABEL:;
453 }
454 /* method mmodule#MModule#in_importation for (self: MModule): POSetElement[MModule] */
455 val* mmodule__MModule__in_importation(val* self) {
456 val* var /* : POSetElement[MModule] */;
457 val* var1 /* : POSetElement[MModule] */;
458 var1 = self->attrs[COLOR_mmodule__MModule___64din_importation].val; /* @in_importation on <self:MModule> */
459 if (var1 == NULL) {
460 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @in_importation");
461 fprintf(stderr, " (%s:%d)\n", "src/model/mmodule.nit", 99);
462 show_backtrace(1);
463 }
464 var = var1;
465 RET_LABEL:;
466 return var;
467 }
468 /* method mmodule#MModule#in_importation for (self: Object): POSetElement[MModule] */
469 val* VIRTUAL_mmodule__MModule__in_importation(val* self) {
470 val* var /* : POSetElement[MModule] */;
471 val* var1 /* : POSetElement[MModule] */;
472 var1 = mmodule__MModule__in_importation(self);
473 var = var1;
474 RET_LABEL:;
475 return var;
476 }
477 /* method mmodule#MModule#in_importation= for (self: MModule, POSetElement[MModule]) */
478 void mmodule__MModule__in_importation_61d(val* self, val* p0) {
479 self->attrs[COLOR_mmodule__MModule___64din_importation].val = p0; /* @in_importation on <self:MModule> */
480 RET_LABEL:;
481 }
482 /* method mmodule#MModule#in_importation= for (self: Object, POSetElement[MModule]) */
483 void VIRTUAL_mmodule__MModule__in_importation_61d(val* self, val* p0) {
484 mmodule__MModule__in_importation_61d(self, p0);
485 RET_LABEL:;
486 }
487 /* method mmodule#MModule#full_name for (self: MModule): String */
488 val* mmodule__MModule__full_name(val* self) {
489 val* var /* : String */;
490 val* var1 /* : nullable MGroup */;
491 val* var_mgroup /* var mgroup: nullable MGroup */;
492 short int var2 /* : Bool */;
493 val* var3 /* : null */;
494 short int var4 /* : Bool */;
495 short int var_ /* var : Bool */;
496 val* var5 /* : MProject */;
497 val* var6 /* : String */;
498 val* var7 /* : String */;
499 short int var8 /* : Bool */;
500 val* var9 /* : String */;
501 val* var10 /* : Array[Object] */;
502 long var11 /* : Int */;
503 val* var_12 /* var : Array[Object] */;
504 static val* varonce;
505 val* var13 /* : String */;
506 char* var14 /* : NativeString */;
507 long var15 /* : Int */;
508 val* var16 /* : String */;
509 val* var17 /* : MProject */;
510 val* var18 /* : String */;
511 static val* varonce19;
512 val* var20 /* : String */;
513 char* var21 /* : NativeString */;
514 long var22 /* : Int */;
515 val* var23 /* : String */;
516 val* var24 /* : String */;
517 static val* varonce25;
518 val* var26 /* : String */;
519 char* var27 /* : NativeString */;
520 long var28 /* : Int */;
521 val* var29 /* : String */;
522 val* var30 /* : String */;
523 var1 = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__MModule__mgroup]))(self) /* mgroup on <self:MModule>*/;
524 var_mgroup = var1;
525 var3 = NULL;
526 if (var_mgroup == NULL) {
527 var4 = 1; /* is null */
528 } else {
529 var4 = 0; /* arg is null but recv is not */
530 }
531 var_ = var4;
532 if (var4){
533 var2 = var_;
534 } else {
535 var5 = ((val* (*)(val*))(var_mgroup->class->vft[COLOR_mproject__MGroup__mproject]))(var_mgroup) /* mproject on <var_mgroup:nullable MGroup(MGroup)>*/;
536 var6 = ((val* (*)(val*))(var5->class->vft[COLOR_mproject__MProject__name]))(var5) /* name on <var5:MProject>*/;
537 var7 = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__MModule__name]))(self) /* name on <self:MModule>*/;
538 var8 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var7) /* == on <var6:String>*/;
539 var2 = var8;
540 }
541 if (var2){
542 var9 = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__MModule__name]))(self) /* name on <self:MModule>*/;
543 var = var9;
544 goto RET_LABEL;
545 } else {
546 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
547 var11 = 5;
548 ((void (*)(val*, long))(var10->class->vft[COLOR_array__Array__with_capacity]))(var10, var11) /* with_capacity on <var10:Array[Object]>*/;
549 var_12 = var10;
550 if (varonce) {
551 var13 = varonce;
552 } else {
553 var14 = "";
554 var15 = 0;
555 var16 = string__NativeString__to_s_with_length(var14, var15);
556 var13 = var16;
557 varonce = var13;
558 }
559 ((void (*)(val*, val*))(var_12->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_12, var13) /* add on <var_12:Array[Object]>*/;
560 var17 = ((val* (*)(val*))(var_mgroup->class->vft[COLOR_mproject__MGroup__mproject]))(var_mgroup) /* mproject on <var_mgroup:nullable MGroup(MGroup)>*/;
561 var18 = ((val* (*)(val*))(var17->class->vft[COLOR_mproject__MProject__name]))(var17) /* name on <var17:MProject>*/;
562 ((void (*)(val*, val*))(var_12->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_12, var18) /* add on <var_12:Array[Object]>*/;
563 if (varonce19) {
564 var20 = varonce19;
565 } else {
566 var21 = "::";
567 var22 = 2;
568 var23 = string__NativeString__to_s_with_length(var21, var22);
569 var20 = var23;
570 varonce19 = var20;
571 }
572 ((void (*)(val*, val*))(var_12->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_12, var20) /* add on <var_12:Array[Object]>*/;
573 var24 = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__MModule__name]))(self) /* name on <self:MModule>*/;
574 ((void (*)(val*, val*))(var_12->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_12, var24) /* add on <var_12:Array[Object]>*/;
575 if (varonce25) {
576 var26 = varonce25;
577 } else {
578 var27 = "";
579 var28 = 0;
580 var29 = string__NativeString__to_s_with_length(var27, var28);
581 var26 = var29;
582 varonce25 = var26;
583 }
584 ((void (*)(val*, val*))(var_12->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_12, var26) /* add on <var_12:Array[Object]>*/;
585 var30 = ((val* (*)(val*))(var_12->class->vft[COLOR_string__Object__to_s]))(var_12) /* to_s on <var_12:Array[Object]>*/;
586 var = var30;
587 goto RET_LABEL;
588 }
589 RET_LABEL:;
590 return var;
591 }
592 /* method mmodule#MModule#full_name for (self: Object): String */
593 val* VIRTUAL_mmodule__MModule__full_name(val* self) {
594 val* var /* : String */;
595 val* var1 /* : String */;
596 var1 = mmodule__MModule__full_name(self);
597 var = var1;
598 RET_LABEL:;
599 return var;
600 }
601 /* method mmodule#MModule#init for (self: MModule, Model, nullable MGroup, String, Location) */
602 void mmodule__MModule__init(val* self, val* p0, val* p1, val* p2, val* p3) {
603 val* var_model /* var model: Model */;
604 val* var_mgroup /* var mgroup: nullable MGroup */;
605 val* var_name /* var name: String */;
606 val* var_location /* var location: Location */;
607 val* var /* : MultiHashMap[String, MModule] */;
608 val* var1 /* : Array[MModule] */;
609 val* var2 /* : POSet[MModule] */;
610 val* var3 /* : POSetElement[Object] */;
611 val* var4 /* : null */;
612 short int var5 /* : Bool */;
613 val* var6 /* : Array[MModule] */;
614 val* var7 /* : nullable MModule */;
615 val* var_direct_owner /* var direct_owner: nullable MModule */;
616 short int var8 /* : Bool */;
617 val* var9 /* : Array[MModule] */;
618 val* var10 /* : Iterator[nullable Object] */;
619 short int var11 /* : Bool */;
620 val* var12 /* : nullable Object */;
621 val* var_m /* var m: MModule */;
622 short int var13 /* : Bool */;
623 val* var14 /* : POSet[MModule] */;
624 val* var15 /* : nullable MGroup */;
625 val* var16 /* : null */;
626 short int var17 /* : Bool */;
627 val* var18 /* : nullable MGroup */;
628 val* var19 /* : nullable MModule */;
629 short int var20 /* : Bool */;
630 short int var21 /* : Bool */;
631 short int var_ /* var : Bool */;
632 val* var22 /* : null */;
633 short int var23 /* : Bool */;
634 val* var24 /* : POSet[MModule] */;
635 val* var25 /* : POSet[MModule] */;
636 val* var26 /* : POSetElement[Object] */;
637 var_model = p0;
638 var_mgroup = p1;
639 var_name = p2;
640 var_location = p3;
641 ((void (*)(val*, val*))(self->class->vft[COLOR_mmodule__MModule__model_61d]))(self, var_model) /* model= on <self:MModule>*/;
642 ((void (*)(val*, val*))(self->class->vft[COLOR_mmodule__MModule__name_61d]))(self, var_name) /* name= on <self:MModule>*/;
643 ((void (*)(val*, val*))(self->class->vft[COLOR_mmodule__MModule__location_61d]))(self, var_location) /* location= on <self:MModule>*/;
644 var = ((val* (*)(val*))(var_model->class->vft[COLOR_mmodule__Model__mmodules_by_name]))(var_model) /* mmodules_by_name on <var_model:Model>*/;
645 ((void (*)(val*, val*, val*))(var->class->vft[COLOR_more_collections__MultiHashMap__add_one]))(var, var_name, self) /* add_one on <var:MultiHashMap[String, MModule]>*/;
646 var1 = ((val* (*)(val*))(var_model->class->vft[COLOR_mmodule__Model__mmodules]))(var_model) /* mmodules on <var_model:Model>*/;
647 ((void (*)(val*, val*))(var1->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var1, self) /* add on <var1:Array[MModule]>*/;
648 var2 = ((val* (*)(val*))(var_model->class->vft[COLOR_mmodule__Model__mmodule_nesting_hierarchy]))(var_model) /* mmodule_nesting_hierarchy on <var_model:Model>*/;
649 var3 = ((val* (*)(val*, val*))(var2->class->vft[COLOR_poset__POSet__add_node]))(var2, self) /* add_node on <var2:POSet[MModule]>*/;
650 ((void (*)(val*, val*))(self->class->vft[COLOR_mmodule__MModule__in_nesting_61d]))(self, var3) /* in_nesting= on <self:MModule>*/;
651 ((void (*)(val*, val*))(self->class->vft[COLOR_mmodule__MModule__mgroup_61d]))(self, var_mgroup) /* mgroup= on <self:MModule>*/;
652 var4 = NULL;
653 if (var_mgroup == NULL) {
654 var5 = 0; /* is null */
655 } else {
656 var5 = 1; /* arg is null and recv is not */
657 }
658 if (var5){
659 var6 = ((val* (*)(val*))(var_mgroup->class->vft[COLOR_mmodule__MGroup__mmodules]))(var_mgroup) /* mmodules on <var_mgroup:nullable MGroup(MGroup)>*/;
660 ((void (*)(val*, val*))(var6->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var6, self) /* add on <var6:Array[MModule]>*/;
661 var7 = ((val* (*)(val*))(var_mgroup->class->vft[COLOR_mmodule__MGroup__fuzzy_owner]))(var_mgroup) /* fuzzy_owner on <var_mgroup:nullable MGroup(MGroup)>*/;
662 var_direct_owner = var7;
663 if (var_direct_owner == NULL) {
664 var8 = 0; /* <self:MModule> cannot be null */
665 } else {
666 var8 = ((short int (*)(val*, val*))(var_direct_owner->class->vft[COLOR_kernel__Object___61d_61d]))(var_direct_owner, self) /* == on <var_direct_owner:nullable MModule>*/;
667 }
668 if (var8){
669 var9 = ((val* (*)(val*))(var_mgroup->class->vft[COLOR_mmodule__MGroup__mmodules]))(var_mgroup) /* mmodules on <var_mgroup:nullable MGroup(MGroup)>*/;
670 var10 = ((val* (*)(val*))(var9->class->vft[COLOR_abstract_collection__Collection__iterator]))(var9) /* iterator on <var9:Array[MModule]>*/;
671 for(;;) {
672 var11 = ((short int (*)(val*))(var10->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var10) /* is_ok on <var10:Iterator[nullable Object]>*/;
673 if(!var11) break;
674 var12 = ((val* (*)(val*))(var10->class->vft[COLOR_abstract_collection__Iterator__item]))(var10) /* item on <var10:Iterator[nullable Object]>*/;
675 var_m = var12;
676 var13 = ((short int (*)(val*, val*))(var_m->class->vft[COLOR_kernel__Object___61d_61d]))(var_m, self) /* == on <var_m:MModule>*/;
677 if (var13){
678 goto CONTINUE_label;
679 } else {
680 }
681 ((void (*)(val*, val*))(var_m->class->vft[COLOR_mmodule__MModule__direct_owner_61d]))(var_m, self) /* direct_owner= on <var_m:MModule>*/;
682 var14 = ((val* (*)(val*))(var_model->class->vft[COLOR_mmodule__Model__mmodule_nesting_hierarchy]))(var_model) /* mmodule_nesting_hierarchy on <var_model:Model>*/;
683 ((void (*)(val*, val*, val*))(var14->class->vft[COLOR_poset__POSet__add_edge]))(var14, self, var_m) /* add_edge on <var14:POSet[MModule]>*/;
684 CONTINUE_label: (void)0;
685 ((void (*)(val*))(var10->class->vft[COLOR_abstract_collection__Iterator__next]))(var10) /* next on <var10:Iterator[nullable Object]>*/;
686 }
687 BREAK_label: (void)0;
688 var15 = ((val* (*)(val*))(var_mgroup->class->vft[COLOR_mproject__MGroup__parent]))(var_mgroup) /* parent on <var_mgroup:nullable MGroup(MGroup)>*/;
689 var16 = NULL;
690 if (var15 == NULL) {
691 var17 = 0; /* is null */
692 } else {
693 var17 = 1; /* arg is null and recv is not */
694 }
695 if (var17){
696 var18 = ((val* (*)(val*))(var_mgroup->class->vft[COLOR_mproject__MGroup__parent]))(var_mgroup) /* parent on <var_mgroup:nullable MGroup(MGroup)>*/;
697 if (var18 == NULL) {
698 fprintf(stderr, "Runtime error: %s", "Receiver is null");
699 fprintf(stderr, " (%s:%d)\n", "src/model/mmodule.nit", 136);
700 show_backtrace(1);
701 } else {
702 var19 = ((val* (*)(val*))(var18->class->vft[COLOR_mmodule__MGroup__fuzzy_owner]))(var18) /* fuzzy_owner on <var18:nullable MGroup>*/;
703 }
704 var_direct_owner = var19;
705 } else {
706 }
707 } else {
708 }
709 if (var_direct_owner == NULL) {
710 var21 = 1; /* <self:MModule> cannot be null */
711 } else {
712 var21 = ((short int (*)(val*, val*))(var_direct_owner->class->vft[COLOR_kernel__Object___33d_61d]))(var_direct_owner, self) /* != on <var_direct_owner:nullable MModule>*/;
713 }
714 var_ = var21;
715 if (var21){
716 var22 = NULL;
717 if (var_direct_owner == NULL) {
718 var23 = 0; /* is null */
719 } else {
720 var23 = 1; /* arg is null and recv is not */
721 }
722 var20 = var23;
723 } else {
724 var20 = var_;
725 }
726 if (var20){
727 ((void (*)(val*, val*))(self->class->vft[COLOR_mmodule__MModule__direct_owner_61d]))(self, var_direct_owner) /* direct_owner= on <self:MModule>*/;
728 var24 = ((val* (*)(val*))(var_model->class->vft[COLOR_mmodule__Model__mmodule_nesting_hierarchy]))(var_model) /* mmodule_nesting_hierarchy on <var_model:Model>*/;
729 ((void (*)(val*, val*, val*))(var24->class->vft[COLOR_poset__POSet__add_edge]))(var24, var_direct_owner, self) /* add_edge on <var24:POSet[MModule]>*/;
730 } else {
731 }
732 } else {
733 }
734 var25 = ((val* (*)(val*))(var_model->class->vft[COLOR_mmodule__Model__mmodule_importation_hierarchy]))(var_model) /* mmodule_importation_hierarchy on <var_model:Model>*/;
735 var26 = ((val* (*)(val*, val*))(var25->class->vft[COLOR_poset__POSet__add_node]))(var25, self) /* add_node on <var25:POSet[MModule]>*/;
736 ((void (*)(val*, val*))(self->class->vft[COLOR_mmodule__MModule__in_importation_61d]))(self, var26) /* in_importation= on <self:MModule>*/;
737 RET_LABEL:;
738 }
739 /* method mmodule#MModule#init for (self: Object, Model, nullable MGroup, String, Location) */
740 void VIRTUAL_mmodule__MModule__init(val* self, val* p0, val* p1, val* p2, val* p3) {
741 mmodule__MModule__init(self, p0, p1, p2, p3);
742 RET_LABEL:;
743 }
744 /* method mmodule#MModule#set_imported_mmodules for (self: MModule, Array[MModule]) */
745 void mmodule__MModule__set_imported_mmodules(val* self, val* p0) {
746 val* var_imported_mmodules /* var imported_mmodules: Array[MModule] */;
747 val* var /* : POSetElement[MModule] */;
748 val* var1 /* : Collection[Object] */;
749 short int var2 /* : Bool */;
750 val* var3 /* : Iterator[nullable Object] */;
751 short int var4 /* : Bool */;
752 val* var5 /* : nullable Object */;
753 val* var_m /* var m: MModule */;
754 val* var6 /* : Model */;
755 val* var7 /* : POSet[MModule] */;
756 var_imported_mmodules = p0;
757 var = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__MModule__in_importation]))(self) /* in_importation on <self:MModule>*/;
758 var1 = ((val* (*)(val*))(var->class->vft[COLOR_poset__POSetElement__direct_greaters]))(var) /* direct_greaters on <var:POSetElement[MModule]>*/;
759 var2 = ((short int (*)(val*))(var1->class->vft[COLOR_abstract_collection__Collection__is_empty]))(var1) /* is_empty on <var1:Collection[Object](Collection[MModule])>*/;
760 if (!var2) {
761 fprintf(stderr, "Runtime error: %s", "Assert \'unique_invocation\' failed");
762 fprintf(stderr, " (%s:%d)\n", "src/model/mmodule.nit", 151);
763 show_backtrace(1);
764 }
765 var3 = ((val* (*)(val*))(var_imported_mmodules->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_imported_mmodules) /* iterator on <var_imported_mmodules:Array[MModule]>*/;
766 for(;;) {
767 var4 = ((short int (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var3) /* is_ok on <var3:Iterator[nullable Object]>*/;
768 if(!var4) break;
769 var5 = ((val* (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__item]))(var3) /* item on <var3:Iterator[nullable Object]>*/;
770 var_m = var5;
771 var6 = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__MModule__model]))(self) /* model on <self:MModule>*/;
772 var7 = ((val* (*)(val*))(var6->class->vft[COLOR_mmodule__Model__mmodule_importation_hierarchy]))(var6) /* mmodule_importation_hierarchy on <var6:Model>*/;
773 ((void (*)(val*, val*, val*))(var7->class->vft[COLOR_poset__POSet__add_edge]))(var7, self, var_m) /* add_edge on <var7:POSet[MModule]>*/;
774 CONTINUE_label: (void)0;
775 ((void (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__next]))(var3) /* next on <var3:Iterator[nullable Object]>*/;
776 }
777 BREAK_label: (void)0;
778 RET_LABEL:;
779 }
780 /* method mmodule#MModule#set_imported_mmodules for (self: Object, Array[MModule]) */
781 void VIRTUAL_mmodule__MModule__set_imported_mmodules(val* self, val* p0) {
782 mmodule__MModule__set_imported_mmodules(self, p0);
783 RET_LABEL:;
784 }
785 /* method mmodule#MModule#intrude_mmodules for (self: MModule): HashSet[MModule] */
786 val* mmodule__MModule__intrude_mmodules(val* self) {
787 val* var /* : HashSet[MModule] */;
788 val* var1 /* : HashSet[MModule] */;
789 var1 = self->attrs[COLOR_mmodule__MModule___64dintrude_mmodules].val; /* @intrude_mmodules on <self:MModule> */
790 if (var1 == NULL) {
791 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @intrude_mmodules");
792 fprintf(stderr, " (%s:%d)\n", "src/model/mmodule.nit", 157);
793 show_backtrace(1);
794 }
795 var = var1;
796 RET_LABEL:;
797 return var;
798 }
799 /* method mmodule#MModule#intrude_mmodules for (self: Object): HashSet[MModule] */
800 val* VIRTUAL_mmodule__MModule__intrude_mmodules(val* self) {
801 val* var /* : HashSet[MModule] */;
802 val* var1 /* : HashSet[MModule] */;
803 var1 = mmodule__MModule__intrude_mmodules(self);
804 var = var1;
805 RET_LABEL:;
806 return var;
807 }
808 /* method mmodule#MModule#intrude_mmodules= for (self: MModule, HashSet[MModule]) */
809 void mmodule__MModule__intrude_mmodules_61d(val* self, val* p0) {
810 self->attrs[COLOR_mmodule__MModule___64dintrude_mmodules].val = p0; /* @intrude_mmodules on <self:MModule> */
811 RET_LABEL:;
812 }
813 /* method mmodule#MModule#intrude_mmodules= for (self: Object, HashSet[MModule]) */
814 void VIRTUAL_mmodule__MModule__intrude_mmodules_61d(val* self, val* p0) {
815 mmodule__MModule__intrude_mmodules_61d(self, p0);
816 RET_LABEL:;
817 }
818 /* method mmodule#MModule#public_mmodules for (self: MModule): HashSet[MModule] */
819 val* mmodule__MModule__public_mmodules(val* self) {
820 val* var /* : HashSet[MModule] */;
821 val* var1 /* : HashSet[MModule] */;
822 var1 = self->attrs[COLOR_mmodule__MModule___64dpublic_mmodules].val; /* @public_mmodules on <self:MModule> */
823 if (var1 == NULL) {
824 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @public_mmodules");
825 fprintf(stderr, " (%s:%d)\n", "src/model/mmodule.nit", 158);
826 show_backtrace(1);
827 }
828 var = var1;
829 RET_LABEL:;
830 return var;
831 }
832 /* method mmodule#MModule#public_mmodules for (self: Object): HashSet[MModule] */
833 val* VIRTUAL_mmodule__MModule__public_mmodules(val* self) {
834 val* var /* : HashSet[MModule] */;
835 val* var1 /* : HashSet[MModule] */;
836 var1 = mmodule__MModule__public_mmodules(self);
837 var = var1;
838 RET_LABEL:;
839 return var;
840 }
841 /* method mmodule#MModule#public_mmodules= for (self: MModule, HashSet[MModule]) */
842 void mmodule__MModule__public_mmodules_61d(val* self, val* p0) {
843 self->attrs[COLOR_mmodule__MModule___64dpublic_mmodules].val = p0; /* @public_mmodules on <self:MModule> */
844 RET_LABEL:;
845 }
846 /* method mmodule#MModule#public_mmodules= for (self: Object, HashSet[MModule]) */
847 void VIRTUAL_mmodule__MModule__public_mmodules_61d(val* self, val* p0) {
848 mmodule__MModule__public_mmodules_61d(self, p0);
849 RET_LABEL:;
850 }
851 /* method mmodule#MModule#private_mmodules for (self: MModule): HashSet[MModule] */
852 val* mmodule__MModule__private_mmodules(val* self) {
853 val* var /* : HashSet[MModule] */;
854 val* var1 /* : HashSet[MModule] */;
855 var1 = self->attrs[COLOR_mmodule__MModule___64dprivate_mmodules].val; /* @private_mmodules on <self:MModule> */
856 if (var1 == NULL) {
857 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @private_mmodules");
858 fprintf(stderr, " (%s:%d)\n", "src/model/mmodule.nit", 159);
859 show_backtrace(1);
860 }
861 var = var1;
862 RET_LABEL:;
863 return var;
864 }
865 /* method mmodule#MModule#private_mmodules for (self: Object): HashSet[MModule] */
866 val* VIRTUAL_mmodule__MModule__private_mmodules(val* self) {
867 val* var /* : HashSet[MModule] */;
868 val* var1 /* : HashSet[MModule] */;
869 var1 = mmodule__MModule__private_mmodules(self);
870 var = var1;
871 RET_LABEL:;
872 return var;
873 }
874 /* method mmodule#MModule#private_mmodules= for (self: MModule, HashSet[MModule]) */
875 void mmodule__MModule__private_mmodules_61d(val* self, val* p0) {
876 self->attrs[COLOR_mmodule__MModule___64dprivate_mmodules].val = p0; /* @private_mmodules on <self:MModule> */
877 RET_LABEL:;
878 }
879 /* method mmodule#MModule#private_mmodules= for (self: Object, HashSet[MModule]) */
880 void VIRTUAL_mmodule__MModule__private_mmodules_61d(val* self, val* p0) {
881 mmodule__MModule__private_mmodules_61d(self, p0);
882 RET_LABEL:;
883 }
884 /* method mmodule#MModule#visibility_for for (self: MModule, MModule): MVisibility */
885 val* mmodule__MModule__visibility_for(val* self, val* p0) {
886 val* var /* : MVisibility */;
887 val* var_m /* var m: MModule */;
888 short int var1 /* : Bool */;
889 val* var2 /* : MVisibility */;
890 val* var3 /* : HashSet[MModule] */;
891 short int var4 /* : Bool */;
892 val* var5 /* : MVisibility */;
893 val* var6 /* : HashSet[MModule] */;
894 short int var7 /* : Bool */;
895 val* var8 /* : MVisibility */;
896 val* var9 /* : HashSet[MModule] */;
897 short int var10 /* : Bool */;
898 val* var11 /* : MVisibility */;
899 val* var12 /* : MVisibility */;
900 var_m = p0;
901 var1 = ((short int (*)(val*, val*))(var_m->class->vft[COLOR_kernel__Object___61d_61d]))(var_m, self) /* == on <var_m:MModule>*/;
902 if (var1){
903 var2 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__intrude_visibility]))(self) /* intrude_visibility on <self:MModule>*/;
904 var = var2;
905 goto RET_LABEL;
906 } else {
907 }
908 var3 = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__MModule__intrude_mmodules]))(self) /* intrude_mmodules on <self:MModule>*/;
909 var4 = ((short int (*)(val*, val*))(var3->class->vft[COLOR_abstract_collection__Collection__has]))(var3, var_m) /* has on <var3:HashSet[MModule]>*/;
910 if (var4){
911 var5 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__intrude_visibility]))(self) /* intrude_visibility on <self:MModule>*/;
912 var = var5;
913 goto RET_LABEL;
914 } else {
915 }
916 var6 = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__MModule__public_mmodules]))(self) /* public_mmodules on <self:MModule>*/;
917 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_abstract_collection__Collection__has]))(var6, var_m) /* has on <var6:HashSet[MModule]>*/;
918 if (var7){
919 var8 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__public_visibility]))(self) /* public_visibility on <self:MModule>*/;
920 var = var8;
921 goto RET_LABEL;
922 } else {
923 }
924 var9 = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__MModule__private_mmodules]))(self) /* private_mmodules on <self:MModule>*/;
925 var10 = ((short int (*)(val*, val*))(var9->class->vft[COLOR_abstract_collection__Collection__has]))(var9, var_m) /* has on <var9:HashSet[MModule]>*/;
926 if (var10){
927 var11 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__private_visibility]))(self) /* private_visibility on <self:MModule>*/;
928 var = var11;
929 goto RET_LABEL;
930 } else {
931 }
932 var12 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__none_visibility]))(self) /* none_visibility on <self:MModule>*/;
933 var = var12;
934 goto RET_LABEL;
935 RET_LABEL:;
936 return var;
937 }
938 /* method mmodule#MModule#visibility_for for (self: Object, MModule): MVisibility */
939 val* VIRTUAL_mmodule__MModule__visibility_for(val* self, val* p0) {
940 val* var /* : MVisibility */;
941 val* var1 /* : MVisibility */;
942 var1 = mmodule__MModule__visibility_for(self, p0);
943 var = var1;
944 RET_LABEL:;
945 return var;
946 }
947 /* method mmodule#MModule#set_visibility_for for (self: MModule, MModule, MVisibility) */
948 void mmodule__MModule__set_visibility_for(val* self, val* p0, val* p1) {
949 val* var_m /* var m: MModule */;
950 val* var_v /* var v: MVisibility */;
951 val* var /* : MVisibility */;
952 short int var1 /* : Bool */;
953 val* var2 /* : HashSet[MModule] */;
954 val* var3 /* : HashSet[MModule] */;
955 val* var4 /* : HashSet[MModule] */;
956 val* var5 /* : HashSet[MModule] */;
957 val* var6 /* : HashSet[MModule] */;
958 val* var7 /* : HashSet[MModule] */;
959 val* var8 /* : HashSet[MModule] */;
960 val* var9 /* : MVisibility */;
961 short int var10 /* : Bool */;
962 val* var11 /* : HashSet[MModule] */;
963 val* var12 /* : HashSet[MModule] */;
964 val* var13 /* : HashSet[MModule] */;
965 val* var14 /* : HashSet[MModule] */;
966 val* var15 /* : HashSet[MModule] */;
967 val* var16 /* : MVisibility */;
968 short int var17 /* : Bool */;
969 val* var18 /* : HashSet[MModule] */;
970 val* var19 /* : HashSet[MModule] */;
971 val* var20 /* : HashSet[MModule] */;
972 val* var21 /* : HashSet[MModule] */;
973 val* var22 /* : HashSet[MModule] */;
974 static val* varonce;
975 val* var23 /* : String */;
976 char* var24 /* : NativeString */;
977 long var25 /* : Int */;
978 val* var26 /* : String */;
979 static val* varonce27;
980 val* var28 /* : String */;
981 char* var29 /* : NativeString */;
982 long var30 /* : Int */;
983 val* var31 /* : String */;
984 val* var32 /* : Array[Object] */;
985 long var33 /* : Int */;
986 val* var34 /* : NativeArray[Object] */;
987 val* var35 /* : String */;
988 var_m = p0;
989 var_v = p1;
990 var = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__intrude_visibility]))(self) /* intrude_visibility on <self:MModule>*/;
991 var1 = ((short int (*)(val*, val*))(var_v->class->vft[COLOR_kernel__Object___61d_61d]))(var_v, var) /* == on <var_v:MVisibility>*/;
992 if (var1){
993 var2 = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__MModule__intrude_mmodules]))(self) /* intrude_mmodules on <self:MModule>*/;
994 ((void (*)(val*, val*))(var2->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var2, var_m) /* add on <var2:HashSet[MModule]>*/;
995 var3 = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__MModule__intrude_mmodules]))(self) /* intrude_mmodules on <self:MModule>*/;
996 var4 = ((val* (*)(val*))(var_m->class->vft[COLOR_mmodule__MModule__intrude_mmodules]))(var_m) /* intrude_mmodules on <var_m:MModule>*/;
997 ((void (*)(val*, val*))(var3->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var3, var4) /* add_all on <var3:HashSet[MModule]>*/;
998 var5 = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__MModule__public_mmodules]))(self) /* public_mmodules on <self:MModule>*/;
999 var6 = ((val* (*)(val*))(var_m->class->vft[COLOR_mmodule__MModule__public_mmodules]))(var_m) /* public_mmodules on <var_m:MModule>*/;
1000 ((void (*)(val*, val*))(var5->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var5, var6) /* add_all on <var5:HashSet[MModule]>*/;
1001 var7 = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__MModule__private_mmodules]))(self) /* private_mmodules on <self:MModule>*/;
1002 var8 = ((val* (*)(val*))(var_m->class->vft[COLOR_mmodule__MModule__private_mmodules]))(var_m) /* private_mmodules on <var_m:MModule>*/;
1003 ((void (*)(val*, val*))(var7->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var7, var8) /* add_all on <var7:HashSet[MModule]>*/;
1004 } else {
1005 var9 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__public_visibility]))(self) /* public_visibility on <self:MModule>*/;
1006 var10 = ((short int (*)(val*, val*))(var_v->class->vft[COLOR_kernel__Object___61d_61d]))(var_v, var9) /* == on <var_v:MVisibility>*/;
1007 if (var10){
1008 var11 = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__MModule__public_mmodules]))(self) /* public_mmodules on <self:MModule>*/;
1009 ((void (*)(val*, val*))(var11->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var11, var_m) /* add on <var11:HashSet[MModule]>*/;
1010 var12 = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__MModule__public_mmodules]))(self) /* public_mmodules on <self:MModule>*/;
1011 var13 = ((val* (*)(val*))(var_m->class->vft[COLOR_mmodule__MModule__intrude_mmodules]))(var_m) /* intrude_mmodules on <var_m:MModule>*/;
1012 ((void (*)(val*, val*))(var12->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var12, var13) /* add_all on <var12:HashSet[MModule]>*/;
1013 var14 = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__MModule__public_mmodules]))(self) /* public_mmodules on <self:MModule>*/;
1014 var15 = ((val* (*)(val*))(var_m->class->vft[COLOR_mmodule__MModule__public_mmodules]))(var_m) /* public_mmodules on <var_m:MModule>*/;
1015 ((void (*)(val*, val*))(var14->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var14, var15) /* add_all on <var14:HashSet[MModule]>*/;
1016 } else {
1017 var16 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__private_visibility]))(self) /* private_visibility on <self:MModule>*/;
1018 var17 = ((short int (*)(val*, val*))(var_v->class->vft[COLOR_kernel__Object___61d_61d]))(var_v, var16) /* == on <var_v:MVisibility>*/;
1019 if (var17){
1020 var18 = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__MModule__private_mmodules]))(self) /* private_mmodules on <self:MModule>*/;
1021 ((void (*)(val*, val*))(var18->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var18, var_m) /* add on <var18:HashSet[MModule]>*/;
1022 var19 = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__MModule__private_mmodules]))(self) /* private_mmodules on <self:MModule>*/;
1023 var20 = ((val* (*)(val*))(var_m->class->vft[COLOR_mmodule__MModule__intrude_mmodules]))(var_m) /* intrude_mmodules on <var_m:MModule>*/;
1024 ((void (*)(val*, val*))(var19->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var19, var20) /* add_all on <var19:HashSet[MModule]>*/;
1025 var21 = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__MModule__private_mmodules]))(self) /* private_mmodules on <self:MModule>*/;
1026 var22 = ((val* (*)(val*))(var_m->class->vft[COLOR_mmodule__MModule__public_mmodules]))(var_m) /* public_mmodules on <var_m:MModule>*/;
1027 ((void (*)(val*, val*))(var21->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var21, var22) /* add_all on <var21:HashSet[MModule]>*/;
1028 } else {
1029 if (varonce) {
1030 var23 = varonce;
1031 } else {
1032 var24 = " visibility for ";
1033 var25 = 16;
1034 var26 = string__NativeString__to_s_with_length(var24, var25);
1035 var23 = var26;
1036 varonce = var23;
1037 }
1038 if (varonce27) {
1039 var28 = varonce27;
1040 } else {
1041 var29 = " = ";
1042 var30 = 3;
1043 var31 = string__NativeString__to_s_with_length(var29, var30);
1044 var28 = var31;
1045 varonce27 = var28;
1046 }
1047 var32 = NEW_array__Array(&type_array__Arraykernel__Object);
1048 { /* var32 = array_instance Array[Object] */
1049 var33 = 5;
1050 var34 = NEW_array__NativeArray(var33, &type_array__NativeArraykernel__Object);
1051 ((struct instance_array__NativeArray*)var34)->values[0] = (val*) self;
1052 ((struct instance_array__NativeArray*)var34)->values[1] = (val*) var23;
1053 ((struct instance_array__NativeArray*)var34)->values[2] = (val*) var_m;
1054 ((struct instance_array__NativeArray*)var34)->values[3] = (val*) var28;
1055 ((struct instance_array__NativeArray*)var34)->values[4] = (val*) var_v;
1056 ((void (*)(val*, val*, long))(var32->class->vft[COLOR_array__Array__with_native]))(var32, var34, var33) /* with_native on <var32:Array[Object]>*/;
1057 }
1058 var35 = ((val* (*)(val*))(var32->class->vft[COLOR_string__Object__to_s]))(var32) /* to_s on <var32:Array[Object]>*/;
1059 ((void (*)(val*, val*))(self->class->vft[COLOR_file__Object__print]))(self, var35) /* print on <self:MModule>*/;
1060 fprintf(stderr, "Runtime error: %s", "Aborted");
1061 fprintf(stderr, " (%s:%d)\n", "src/model/mmodule.nit", 190);
1062 show_backtrace(1);
1063 }
1064 }
1065 }
1066 RET_LABEL:;
1067 }
1068 /* method mmodule#MModule#set_visibility_for for (self: Object, MModule, MVisibility) */
1069 void VIRTUAL_mmodule__MModule__set_visibility_for(val* self, val* p0, val* p1) {
1070 mmodule__MModule__set_visibility_for(self, p0, p1);
1071 RET_LABEL:;
1072 }
1073 /* method mmodule#MModule#public_owner for (self: MModule): nullable MModule */
1074 val* mmodule__MModule__public_owner(val* self) {
1075 val* var /* : nullable MModule */;
1076 val* var1 /* : nullable MGroup */;
1077 val* var_mgroup /* var mgroup: nullable MGroup */;
1078 val* var2 /* : null */;
1079 short int var3 /* : Bool */;
1080 val* var4 /* : null */;
1081 val* var5 /* : MProject */;
1082 val* var6 /* : nullable MGroup */;
1083 val* var7 /* : Array[MModule] */;
1084 short int var8 /* : Bool */;
1085 val* var9 /* : null */;
1086 val* var10 /* : nullable MModule */;
1087 val* var_res /* var res: nullable MModule */;
1088 short int var11 /* : Bool */;
1089 val* var12 /* : null */;
1090 var1 = ((val* (*)(val*))(self->class->vft[COLOR_mmodule__MModule__mgroup]))(self) /* mgroup on <self:MModule>*/;
1091 var_mgroup = var1;
1092 var2 = NULL;
1093 if (var_mgroup == NULL) {
1094 var3 = 1; /* is null */
1095 } else {
1096 var3 = 0; /* arg is null but recv is not */
1097 }
1098 if (var3){
1099 var4 = NULL;
1100 var = var4;
1101 goto RET_LABEL;
1102 } else {
1103 }
1104 var5 = ((val* (*)(val*))(var_mgroup->class->vft[COLOR_mproject__MGroup__mproject]))(var_mgroup) /* mproject on <var_mgroup:nullable MGroup(MGroup)>*/;
1105 var6 = ((val* (*)(val*))(var5->class->vft[COLOR_mproject__MProject__root]))(var5) /* root on <var5:MProject>*/;
1106 var_mgroup = var6;
1107 if (var_mgroup == NULL) {
1108 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1109 fprintf(stderr, " (%s:%d)\n", "src/model/mmodule.nit", 200);
1110 show_backtrace(1);
1111 } else {
1112 var7 = ((val* (*)(val*))(var_mgroup->class->vft[COLOR_mmodule__MGroup__mmodules]))(var_mgroup) /* mmodules on <var_mgroup:nullable MGroup>*/;
1113 }
1114 var8 = ((short int (*)(val*))(var7->class->vft[COLOR_abstract_collection__Collection__is_empty]))(var7) /* is_empty on <var7:Array[MModule]>*/;
1115 if (var8){
1116 var9 = NULL;
1117 var = var9;
1118 goto RET_LABEL;
1119 } else {
1120 }
1121 if (var_mgroup == NULL) {
1122 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1123 fprintf(stderr, " (%s:%d)\n", "src/model/mmodule.nit", 201);
1124 show_backtrace(1);
1125 } else {
1126 var10 = ((val* (*)(val*))(var_mgroup->class->vft[COLOR_mmodule__MGroup__fuzzy_owner]))(var_mgroup) /* fuzzy_owner on <var_mgroup:nullable MGroup>*/;
1127 }
1128 var_res = var10;
1129 if (var_res == NULL) {
1130 var11 = 0; /* <self:MModule> cannot be null */
1131 } else {
1132 var11 = ((short int (*)(val*, val*))(var_res->class->vft[COLOR_kernel__Object___61d_61d]))(var_res, self) /* == on <var_res:nullable MModule>*/;
1133 }
1134 if (var11){
1135 var12 = NULL;
1136 var = var12;
1137 goto RET_LABEL;
1138 } else {
1139 }
1140 var = var_res;
1141 goto RET_LABEL;
1142 RET_LABEL:;
1143 return var;
1144 }
1145 /* method mmodule#MModule#public_owner for (self: Object): nullable MModule */
1146 val* VIRTUAL_mmodule__MModule__public_owner(val* self) {
1147 val* var /* : nullable MModule */;
1148 val* var1 /* : nullable MModule */;
1149 var1 = mmodule__MModule__public_owner(self);
1150 var = var1;
1151 RET_LABEL:;
1152 return var;
1153 }
1154 /* method mmodule#MModule#is_visible for (self: MModule, MModule, MVisibility): Bool */
1155 short int mmodule__MModule__is_visible(val* self, val* p0, val* p1) {
1156 short int var /* : Bool */;
1157 val* var_intro_mmodule /* var intro_mmodule: MModule */;
1158 val* var_visibility /* var visibility: MVisibility */;
1159 val* var1 /* : MVisibility */;
1160 val* var_v /* var v: MVisibility */;
1161 val* var2 /* : MVisibility */;
1162 short int var3 /* : Bool */;
1163 val* var4 /* : MVisibility */;
1164 short int var5 /* : Bool */;
1165 val* var6 /* : MVisibility */;
1166 short int var7 /* : Bool */;
1167 val* var8 /* : MVisibility */;
1168 short int var9 /* : Bool */;
1169 val* var10 /* : MVisibility */;
1170 short int var11 /* : Bool */;
1171 val* var12 /* : MVisibility */;
1172 short int var13 /* : Bool */;
1173 val* var14 /* : MVisibility */;
1174 short int var15 /* : Bool */;
1175 short int var16 /* : Bool */;
1176 var_intro_mmodule = p0;
1177 var_visibility = p1;
1178 var1 = ((val* (*)(val*, val*))(self->class->vft[COLOR_mmodule__MModule__visibility_for]))(self, var_intro_mmodule) /* visibility_for on <self:MModule>*/;
1179 var_v = var1;
1180 var2 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__intrude_visibility]))(self) /* intrude_visibility on <self:MModule>*/;
1181 var3 = ((short int (*)(val*, val*))(var_v->class->vft[COLOR_kernel__Object___61d_61d]))(var_v, var2) /* == on <var_v:MVisibility>*/;
1182 if (var3){
1183 var4 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__private_visibility]))(self) /* private_visibility on <self:MModule>*/;
1184 var5 = ((short int (*)(val*, val*))(var_visibility->class->vft[COLOR_kernel__Comparable___62d_61d]))(var_visibility, var4) /* >= on <var_visibility:MVisibility>*/;
1185 var = var5;
1186 goto RET_LABEL;
1187 } else {
1188 var6 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__public_visibility]))(self) /* public_visibility on <self:MModule>*/;
1189 var7 = ((short int (*)(val*, val*))(var_v->class->vft[COLOR_kernel__Object___61d_61d]))(var_v, var6) /* == on <var_v:MVisibility>*/;
1190 if (var7){
1191 var8 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__private_visibility]))(self) /* private_visibility on <self:MModule>*/;
1192 var9 = ((short int (*)(val*, val*))(var_visibility->class->vft[COLOR_kernel__Comparable___62d]))(var_visibility, var8) /* > on <var_visibility:MVisibility>*/;
1193 var = var9;
1194 goto RET_LABEL;
1195 } else {
1196 var10 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__private_visibility]))(self) /* private_visibility on <self:MModule>*/;
1197 var11 = ((short int (*)(val*, val*))(var_v->class->vft[COLOR_kernel__Object___61d_61d]))(var_v, var10) /* == on <var_v:MVisibility>*/;
1198 if (var11){
1199 var12 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__private_visibility]))(self) /* private_visibility on <self:MModule>*/;
1200 var13 = ((short int (*)(val*, val*))(var_visibility->class->vft[COLOR_kernel__Comparable___62d]))(var_visibility, var12) /* > on <var_visibility:MVisibility>*/;
1201 var = var13;
1202 goto RET_LABEL;
1203 } else {
1204 var14 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__none_visibility]))(self) /* none_visibility on <self:MModule>*/;
1205 var15 = ((short int (*)(val*, val*))(var_v->class->vft[COLOR_kernel__Object___61d_61d]))(var_v, var14) /* == on <var_v:MVisibility>*/;
1206 if (var15){
1207 var16 = 0;
1208 var = var16;
1209 goto RET_LABEL;
1210 } else {
1211 fprintf(stderr, "Runtime error: %s", "Aborted");
1212 fprintf(stderr, " (%s:%d)\n", "src/model/mmodule.nit", 219);
1213 show_backtrace(1);
1214 }
1215 }
1216 }
1217 }
1218 RET_LABEL:;
1219 return var;
1220 }
1221 /* method mmodule#MModule#is_visible for (self: Object, MModule, MVisibility): Bool */
1222 short int VIRTUAL_mmodule__MModule__is_visible(val* self, val* p0, val* p1) {
1223 short int var /* : Bool */;
1224 short int var1 /* : Bool */;
1225 var1 = mmodule__MModule__is_visible(self, p0, p1);
1226 var = var1;
1227 RET_LABEL:;
1228 return var;
1229 }