lib/json_serialization: fix support for Char
[nit.git] / c_src / model_base.sep.1.c
1 #include "model_base.sep.0.h"
2 /* method model_base#Model#mmodules for (self: Model): Array[MModule] */
3 val* model_base__Model__mmodules(val* self) {
4 val* var /* : Array[MModule] */;
5 val* var1 /* : Array[MModule] */;
6 var1 = self->attrs[COLOR_model_base__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/model_base.nit", 26);
10 exit(1);
11 }
12 var = var1;
13 RET_LABEL:;
14 return var;
15 }
16 /* method model_base#Model#mmodules for (self: Object): Array[MModule] */
17 val* VIRTUAL_model_base__Model__mmodules(val* self) {
18 val* var /* : Array[MModule] */;
19 val* var1 /* : Array[MModule] */;
20 var1 = model_base__Model__mmodules(self);
21 var = var1;
22 RET_LABEL:;
23 return var;
24 }
25 /* method model_base#Model#mmodules= for (self: Model, Array[MModule]) */
26 void model_base__Model__mmodules_61d(val* self, val* p0) {
27 self->attrs[COLOR_model_base__Model___64dmmodules].val = p0; /* @mmodules on <self:Model> */
28 RET_LABEL:;
29 }
30 /* method model_base#Model#mmodules= for (self: Object, Array[MModule]) */
31 void VIRTUAL_model_base__Model__mmodules_61d(val* self, val* p0) {
32 model_base__Model__mmodules_61d(self, p0);
33 RET_LABEL:;
34 }
35 /* method model_base#Model#mmodule_nesting_hierarchy for (self: Model): POSet[MModule] */
36 val* model_base__Model__mmodule_nesting_hierarchy(val* self) {
37 val* var /* : POSet[MModule] */;
38 val* var1 /* : POSet[MModule] */;
39 var1 = self->attrs[COLOR_model_base__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/model_base.nit", 29);
43 exit(1);
44 }
45 var = var1;
46 RET_LABEL:;
47 return var;
48 }
49 /* method model_base#Model#mmodule_nesting_hierarchy for (self: Object): POSet[MModule] */
50 val* VIRTUAL_model_base__Model__mmodule_nesting_hierarchy(val* self) {
51 val* var /* : POSet[MModule] */;
52 val* var1 /* : POSet[MModule] */;
53 var1 = model_base__Model__mmodule_nesting_hierarchy(self);
54 var = var1;
55 RET_LABEL:;
56 return var;
57 }
58 /* method model_base#Model#mmodule_nesting_hierarchy= for (self: Model, POSet[MModule]) */
59 void model_base__Model__mmodule_nesting_hierarchy_61d(val* self, val* p0) {
60 self->attrs[COLOR_model_base__Model___64dmmodule_nesting_hierarchy].val = p0; /* @mmodule_nesting_hierarchy on <self:Model> */
61 RET_LABEL:;
62 }
63 /* method model_base#Model#mmodule_nesting_hierarchy= for (self: Object, POSet[MModule]) */
64 void VIRTUAL_model_base__Model__mmodule_nesting_hierarchy_61d(val* self, val* p0) {
65 model_base__Model__mmodule_nesting_hierarchy_61d(self, p0);
66 RET_LABEL:;
67 }
68 /* method model_base#Model#mmodule_importation_hierarchy for (self: Model): POSet[MModule] */
69 val* model_base__Model__mmodule_importation_hierarchy(val* self) {
70 val* var /* : POSet[MModule] */;
71 val* var1 /* : POSet[MModule] */;
72 var1 = self->attrs[COLOR_model_base__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/model_base.nit", 33);
76 exit(1);
77 }
78 var = var1;
79 RET_LABEL:;
80 return var;
81 }
82 /* method model_base#Model#mmodule_importation_hierarchy for (self: Object): POSet[MModule] */
83 val* VIRTUAL_model_base__Model__mmodule_importation_hierarchy(val* self) {
84 val* var /* : POSet[MModule] */;
85 val* var1 /* : POSet[MModule] */;
86 var1 = model_base__Model__mmodule_importation_hierarchy(self);
87 var = var1;
88 RET_LABEL:;
89 return var;
90 }
91 /* method model_base#Model#mmodule_importation_hierarchy= for (self: Model, POSet[MModule]) */
92 void model_base__Model__mmodule_importation_hierarchy_61d(val* self, val* p0) {
93 self->attrs[COLOR_model_base__Model___64dmmodule_importation_hierarchy].val = p0; /* @mmodule_importation_hierarchy on <self:Model> */
94 RET_LABEL:;
95 }
96 /* method model_base#Model#mmodule_importation_hierarchy= for (self: Object, POSet[MModule]) */
97 void VIRTUAL_model_base__Model__mmodule_importation_hierarchy_61d(val* self, val* p0) {
98 model_base__Model__mmodule_importation_hierarchy_61d(self, p0);
99 RET_LABEL:;
100 }
101 /* method model_base#Model#mmodules_by_name for (self: Model): MultiHashMap[String, MModule] */
102 val* model_base__Model__mmodules_by_name(val* self) {
103 val* var /* : MultiHashMap[String, MModule] */;
104 val* var1 /* : MultiHashMap[String, MModule] */;
105 var1 = self->attrs[COLOR_model_base__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/model_base.nit", 36);
109 exit(1);
110 }
111 var = var1;
112 RET_LABEL:;
113 return var;
114 }
115 /* method model_base#Model#mmodules_by_name for (self: Object): MultiHashMap[String, MModule] */
116 val* VIRTUAL_model_base__Model__mmodules_by_name(val* self) {
117 val* var /* : MultiHashMap[String, MModule] */;
118 val* var1 /* : MultiHashMap[String, MModule] */;
119 var1 = model_base__Model__mmodules_by_name(self);
120 var = var1;
121 RET_LABEL:;
122 return var;
123 }
124 /* method model_base#Model#mmodules_by_name= for (self: Model, MultiHashMap[String, MModule]) */
125 void model_base__Model__mmodules_by_name_61d(val* self, val* p0) {
126 self->attrs[COLOR_model_base__Model___64dmmodules_by_name].val = p0; /* @mmodules_by_name on <self:Model> */
127 RET_LABEL:;
128 }
129 /* method model_base#Model#mmodules_by_name= for (self: Object, MultiHashMap[String, MModule]) */
130 void VIRTUAL_model_base__Model__mmodules_by_name_61d(val* self, val* p0) {
131 model_base__Model__mmodules_by_name_61d(self, p0);
132 RET_LABEL:;
133 }
134 /* method model_base#Model#get_mmodules_by_name for (self: Model, String): nullable Array[MModule] */
135 val* model_base__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_model_base__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_model_base__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 model_base#Model#get_mmodules_by_name for (self: Object, String): nullable Array[MModule] */
160 val* VIRTUAL_model_base__Model__get_mmodules_by_name(val* self, val* p0) {
161 val* var /* : nullable Array[MModule] */;
162 val* var1 /* : nullable Array[MModule] */;
163 var1 = model_base__Model__get_mmodules_by_name(self, p0);
164 var = var1;
165 RET_LABEL:;
166 return var;
167 }
168 /* method model_base#Model#init for (self: Model) */
169 void model_base__Model__init(val* self) {
170 RET_LABEL:;
171 }
172 /* method model_base#Model#init for (self: Object) */
173 void VIRTUAL_model_base__Model__init(val* self) {
174 model_base__Model__init(self);
175 RET_LABEL:;
176 }
177 /* method model_base#MModule#model for (self: MModule): Model */
178 val* model_base__MModule__model(val* self) {
179 val* var /* : Model */;
180 val* var1 /* : Model */;
181 var1 = self->attrs[COLOR_model_base__MModule___64dmodel].val; /* @model on <self:MModule> */
182 if (var1 == NULL) {
183 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @model");
184 fprintf(stderr, " (%s:%d)\n", "src/model/model_base.nit", 56);
185 exit(1);
186 }
187 var = var1;
188 RET_LABEL:;
189 return var;
190 }
191 /* method model_base#MModule#model for (self: Object): Model */
192 val* VIRTUAL_model_base__MModule__model(val* self) {
193 val* var /* : Model */;
194 val* var1 /* : Model */;
195 var1 = model_base__MModule__model(self);
196 var = var1;
197 RET_LABEL:;
198 return var;
199 }
200 /* method model_base#MModule#model= for (self: MModule, Model) */
201 void model_base__MModule__model_61d(val* self, val* p0) {
202 self->attrs[COLOR_model_base__MModule___64dmodel].val = p0; /* @model on <self:MModule> */
203 RET_LABEL:;
204 }
205 /* method model_base#MModule#model= for (self: Object, Model) */
206 void VIRTUAL_model_base__MModule__model_61d(val* self, val* p0) {
207 model_base__MModule__model_61d(self, p0);
208 RET_LABEL:;
209 }
210 /* method model_base#MModule#direct_owner for (self: MModule): nullable MModule */
211 val* model_base__MModule__direct_owner(val* self) {
212 val* var /* : nullable MModule */;
213 val* var1 /* : nullable MModule */;
214 var1 = self->attrs[COLOR_model_base__MModule___64ddirect_owner].val; /* @direct_owner on <self:MModule> */
215 var = var1;
216 RET_LABEL:;
217 return var;
218 }
219 /* method model_base#MModule#direct_owner for (self: Object): nullable MModule */
220 val* VIRTUAL_model_base__MModule__direct_owner(val* self) {
221 val* var /* : nullable MModule */;
222 val* var1 /* : nullable MModule */;
223 var1 = model_base__MModule__direct_owner(self);
224 var = var1;
225 RET_LABEL:;
226 return var;
227 }
228 /* method model_base#MModule#direct_owner= for (self: MModule, nullable MModule) */
229 void model_base__MModule__direct_owner_61d(val* self, val* p0) {
230 self->attrs[COLOR_model_base__MModule___64ddirect_owner].val = p0; /* @direct_owner on <self:MModule> */
231 RET_LABEL:;
232 }
233 /* method model_base#MModule#direct_owner= for (self: Object, nullable MModule) */
234 void VIRTUAL_model_base__MModule__direct_owner_61d(val* self, val* p0) {
235 model_base__MModule__direct_owner_61d(self, p0);
236 RET_LABEL:;
237 }
238 /* method model_base#MModule#name for (self: MModule): String */
239 val* model_base__MModule__name(val* self) {
240 val* var /* : String */;
241 val* var1 /* : String */;
242 var1 = self->attrs[COLOR_model_base__MModule___64dname].val; /* @name on <self:MModule> */
243 if (var1 == NULL) {
244 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @name");
245 fprintf(stderr, " (%s:%d)\n", "src/model/model_base.nit", 62);
246 exit(1);
247 }
248 var = var1;
249 RET_LABEL:;
250 return var;
251 }
252 /* method model_base#MModule#name for (self: Object): String */
253 val* VIRTUAL_model_base__MModule__name(val* self) {
254 val* var /* : String */;
255 val* var1 /* : String */;
256 var1 = model_base__MModule__name(self);
257 var = var1;
258 RET_LABEL:;
259 return var;
260 }
261 /* method model_base#MModule#name= for (self: MModule, String) */
262 void model_base__MModule__name_61d(val* self, val* p0) {
263 self->attrs[COLOR_model_base__MModule___64dname].val = p0; /* @name on <self:MModule> */
264 RET_LABEL:;
265 }
266 /* method model_base#MModule#name= for (self: Object, String) */
267 void VIRTUAL_model_base__MModule__name_61d(val* self, val* p0) {
268 model_base__MModule__name_61d(self, p0);
269 RET_LABEL:;
270 }
271 /* method model_base#MModule#location for (self: MModule): Location */
272 val* model_base__MModule__location(val* self) {
273 val* var /* : Location */;
274 val* var1 /* : Location */;
275 var1 = self->attrs[COLOR_model_base__MModule___64dlocation].val; /* @location on <self:MModule> */
276 if (var1 == NULL) {
277 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @location");
278 fprintf(stderr, " (%s:%d)\n", "src/model/model_base.nit", 65);
279 exit(1);
280 }
281 var = var1;
282 RET_LABEL:;
283 return var;
284 }
285 /* method model_base#MModule#location for (self: Object): Location */
286 val* VIRTUAL_model_base__MModule__location(val* self) {
287 val* var /* : Location */;
288 val* var1 /* : Location */;
289 var1 = model_base__MModule__location(self);
290 var = var1;
291 RET_LABEL:;
292 return var;
293 }
294 /* method model_base#MModule#location= for (self: MModule, Location) */
295 void model_base__MModule__location_61d(val* self, val* p0) {
296 self->attrs[COLOR_model_base__MModule___64dlocation].val = p0; /* @location on <self:MModule> */
297 RET_LABEL:;
298 }
299 /* method model_base#MModule#location= for (self: Object, Location) */
300 void VIRTUAL_model_base__MModule__location_61d(val* self, val* p0) {
301 model_base__MModule__location_61d(self, p0);
302 RET_LABEL:;
303 }
304 /* method model_base#MModule#to_s for (self: MModule): String */
305 val* model_base__MModule__to_s(val* self) {
306 val* var /* : String */;
307 val* var1 /* : String */;
308 var1 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__MModule__name]))(self) /* name on <self:MModule>*/;
309 var = var1;
310 goto RET_LABEL;
311 RET_LABEL:;
312 return var;
313 }
314 /* method model_base#MModule#to_s for (self: Object): String */
315 val* VIRTUAL_model_base__MModule__to_s(val* self) {
316 val* var /* : String */;
317 val* var1 /* : String */;
318 var1 = model_base__MModule__to_s(self);
319 var = var1;
320 RET_LABEL:;
321 return var;
322 }
323 /* method model_base#MModule#in_nesting for (self: MModule): POSetElement[MModule] */
324 val* model_base__MModule__in_nesting(val* self) {
325 val* var /* : POSetElement[MModule] */;
326 val* var1 /* : POSetElement[MModule] */;
327 var1 = self->attrs[COLOR_model_base__MModule___64din_nesting].val; /* @in_nesting on <self:MModule> */
328 if (var1 == NULL) {
329 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @in_nesting");
330 fprintf(stderr, " (%s:%d)\n", "src/model/model_base.nit", 71);
331 exit(1);
332 }
333 var = var1;
334 RET_LABEL:;
335 return var;
336 }
337 /* method model_base#MModule#in_nesting for (self: Object): POSetElement[MModule] */
338 val* VIRTUAL_model_base__MModule__in_nesting(val* self) {
339 val* var /* : POSetElement[MModule] */;
340 val* var1 /* : POSetElement[MModule] */;
341 var1 = model_base__MModule__in_nesting(self);
342 var = var1;
343 RET_LABEL:;
344 return var;
345 }
346 /* method model_base#MModule#in_nesting= for (self: MModule, POSetElement[MModule]) */
347 void model_base__MModule__in_nesting_61d(val* self, val* p0) {
348 self->attrs[COLOR_model_base__MModule___64din_nesting].val = p0; /* @in_nesting on <self:MModule> */
349 RET_LABEL:;
350 }
351 /* method model_base#MModule#in_nesting= for (self: Object, POSetElement[MModule]) */
352 void VIRTUAL_model_base__MModule__in_nesting_61d(val* self, val* p0) {
353 model_base__MModule__in_nesting_61d(self, p0);
354 RET_LABEL:;
355 }
356 /* method model_base#MModule#in_importation for (self: MModule): POSetElement[MModule] */
357 val* model_base__MModule__in_importation(val* self) {
358 val* var /* : POSetElement[MModule] */;
359 val* var1 /* : POSetElement[MModule] */;
360 var1 = self->attrs[COLOR_model_base__MModule___64din_importation].val; /* @in_importation on <self:MModule> */
361 if (var1 == NULL) {
362 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @in_importation");
363 fprintf(stderr, " (%s:%d)\n", "src/model/model_base.nit", 74);
364 exit(1);
365 }
366 var = var1;
367 RET_LABEL:;
368 return var;
369 }
370 /* method model_base#MModule#in_importation for (self: Object): POSetElement[MModule] */
371 val* VIRTUAL_model_base__MModule__in_importation(val* self) {
372 val* var /* : POSetElement[MModule] */;
373 val* var1 /* : POSetElement[MModule] */;
374 var1 = model_base__MModule__in_importation(self);
375 var = var1;
376 RET_LABEL:;
377 return var;
378 }
379 /* method model_base#MModule#in_importation= for (self: MModule, POSetElement[MModule]) */
380 void model_base__MModule__in_importation_61d(val* self, val* p0) {
381 self->attrs[COLOR_model_base__MModule___64din_importation].val = p0; /* @in_importation on <self:MModule> */
382 RET_LABEL:;
383 }
384 /* method model_base#MModule#in_importation= for (self: Object, POSetElement[MModule]) */
385 void VIRTUAL_model_base__MModule__in_importation_61d(val* self, val* p0) {
386 model_base__MModule__in_importation_61d(self, p0);
387 RET_LABEL:;
388 }
389 /* method model_base#MModule#full_name for (self: MModule): String */
390 val* model_base__MModule__full_name(val* self) {
391 val* var /* : String */;
392 val* var1 /* : nullable MModule */;
393 val* var_owner /* var owner: nullable MModule */;
394 val* var2 /* : null */;
395 short int var3 /* : Bool */;
396 val* var4 /* : String */;
397 val* var5 /* : Array[Object] */;
398 long var6 /* : Int */;
399 val* var_ /* var : Array[Object] */;
400 static val* varonce;
401 val* var7 /* : String */;
402 char* var8 /* : NativeString */;
403 long var9 /* : Int */;
404 val* var10 /* : String */;
405 val* var11 /* : String */;
406 static val* varonce12;
407 val* var13 /* : String */;
408 char* var14 /* : NativeString */;
409 long var15 /* : Int */;
410 val* var16 /* : String */;
411 val* var17 /* : String */;
412 static val* varonce18;
413 val* var19 /* : String */;
414 char* var20 /* : NativeString */;
415 long var21 /* : Int */;
416 val* var22 /* : String */;
417 val* var23 /* : String */;
418 var1 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__MModule__public_owner]))(self) /* public_owner on <self:MModule>*/;
419 var_owner = var1;
420 var2 = NULL;
421 if (var_owner == NULL) {
422 var3 = 1; /* is null */
423 } else {
424 var3 = 0; /* arg is null but recv is not */
425 }
426 if (var3){
427 var4 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__MModule__name]))(self) /* name on <self:MModule>*/;
428 var = var4;
429 goto RET_LABEL;
430 } else {
431 var5 = NEW_array__Array(&type_array__Arraykernel__Object);
432 var6 = 5;
433 ((void (*)(val*, long))(var5->class->vft[COLOR_array__Array__with_capacity]))(var5, var6) /* with_capacity on <var5:Array[Object]>*/;
434 CHECK_NEW_array__Array(var5);
435 var_ = var5;
436 if (varonce) {
437 var7 = varonce;
438 } else {
439 var8 = "";
440 var9 = 0;
441 var10 = string__NativeString__to_s_with_length(var8, var9);
442 var7 = var10;
443 varonce = var7;
444 }
445 ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var7) /* add on <var_:Array[Object]>*/;
446 var11 = ((val* (*)(val*))(var_owner->class->vft[COLOR_model_base__MModule__full_name]))(var_owner) /* full_name on <var_owner:nullable MModule(MModule)>*/;
447 ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var11) /* add on <var_:Array[Object]>*/;
448 if (varonce12) {
449 var13 = varonce12;
450 } else {
451 var14 = "::";
452 var15 = 2;
453 var16 = string__NativeString__to_s_with_length(var14, var15);
454 var13 = var16;
455 varonce12 = var13;
456 }
457 ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var13) /* add on <var_:Array[Object]>*/;
458 var17 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__MModule__name]))(self) /* name on <self:MModule>*/;
459 ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var17) /* add on <var_:Array[Object]>*/;
460 if (varonce18) {
461 var19 = varonce18;
462 } else {
463 var20 = "";
464 var21 = 0;
465 var22 = string__NativeString__to_s_with_length(var20, var21);
466 var19 = var22;
467 varonce18 = var19;
468 }
469 ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var19) /* add on <var_:Array[Object]>*/;
470 var23 = ((val* (*)(val*))(var_->class->vft[COLOR_string__Object__to_s]))(var_) /* to_s on <var_:Array[Object]>*/;
471 var = var23;
472 goto RET_LABEL;
473 }
474 RET_LABEL:;
475 return var;
476 }
477 /* method model_base#MModule#full_name for (self: Object): String */
478 val* VIRTUAL_model_base__MModule__full_name(val* self) {
479 val* var /* : String */;
480 val* var1 /* : String */;
481 var1 = model_base__MModule__full_name(self);
482 var = var1;
483 RET_LABEL:;
484 return var;
485 }
486 /* method model_base#MModule#init for (self: MModule, Model, nullable MModule, String, Location) */
487 void model_base__MModule__init(val* self, val* p0, val* p1, val* p2, val* p3) {
488 val* var_model /* var model: Model */;
489 val* var_direct_owner /* var direct_owner: nullable MModule */;
490 val* var_name /* var name: String */;
491 val* var_location /* var location: Location */;
492 val* var /* : MultiHashMap[String, MModule] */;
493 val* var1 /* : Array[MModule] */;
494 val* var2 /* : POSet[MModule] */;
495 val* var3 /* : POSetElement[Object] */;
496 val* var4 /* : null */;
497 short int var5 /* : Bool */;
498 val* var6 /* : POSet[MModule] */;
499 val* var7 /* : POSet[MModule] */;
500 val* var8 /* : POSetElement[Object] */;
501 var_model = p0;
502 var_direct_owner = p1;
503 var_name = p2;
504 var_location = p3;
505 ((void (*)(val*, val*))(self->class->vft[COLOR_model_base__MModule__model_61d]))(self, var_model) /* model= on <self:MModule>*/;
506 ((void (*)(val*, val*))(self->class->vft[COLOR_model_base__MModule__name_61d]))(self, var_name) /* name= on <self:MModule>*/;
507 ((void (*)(val*, val*))(self->class->vft[COLOR_model_base__MModule__location_61d]))(self, var_location) /* location= on <self:MModule>*/;
508 var = ((val* (*)(val*))(var_model->class->vft[COLOR_model_base__Model__mmodules_by_name]))(var_model) /* mmodules_by_name on <var_model:Model>*/;
509 ((void (*)(val*, val*, val*))(var->class->vft[COLOR_more_collections__MultiHashMap__add_one]))(var, var_name, self) /* add_one on <var:MultiHashMap[String, MModule]>*/;
510 var1 = ((val* (*)(val*))(var_model->class->vft[COLOR_model_base__Model__mmodules]))(var_model) /* mmodules on <var_model:Model>*/;
511 ((void (*)(val*, val*))(var1->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var1, self) /* add on <var1:Array[MModule]>*/;
512 var2 = ((val* (*)(val*))(var_model->class->vft[COLOR_model_base__Model__mmodule_nesting_hierarchy]))(var_model) /* mmodule_nesting_hierarchy on <var_model:Model>*/;
513 var3 = ((val* (*)(val*, val*))(var2->class->vft[COLOR_poset__POSet__add_node]))(var2, self) /* add_node on <var2:POSet[MModule]>*/;
514 ((void (*)(val*, val*))(self->class->vft[COLOR_model_base__MModule__in_nesting_61d]))(self, var3) /* in_nesting= on <self:MModule>*/;
515 ((void (*)(val*, val*))(self->class->vft[COLOR_model_base__MModule__direct_owner_61d]))(self, var_direct_owner) /* direct_owner= on <self:MModule>*/;
516 var4 = NULL;
517 if (var_direct_owner == NULL) {
518 var5 = 0; /* is null */
519 } else {
520 var5 = 1; /* arg is null and recv is not */
521 }
522 if (var5){
523 var6 = ((val* (*)(val*))(var_model->class->vft[COLOR_model_base__Model__mmodule_nesting_hierarchy]))(var_model) /* mmodule_nesting_hierarchy on <var_model:Model>*/;
524 ((void (*)(val*, val*, val*))(var6->class->vft[COLOR_poset__POSet__add_edge]))(var6, var_direct_owner, self) /* add_edge on <var6:POSet[MModule]>*/;
525 } else {
526 }
527 var7 = ((val* (*)(val*))(var_model->class->vft[COLOR_model_base__Model__mmodule_importation_hierarchy]))(var_model) /* mmodule_importation_hierarchy on <var_model:Model>*/;
528 var8 = ((val* (*)(val*, val*))(var7->class->vft[COLOR_poset__POSet__add_node]))(var7, self) /* add_node on <var7:POSet[MModule]>*/;
529 ((void (*)(val*, val*))(self->class->vft[COLOR_model_base__MModule__in_importation_61d]))(self, var8) /* in_importation= on <self:MModule>*/;
530 RET_LABEL:;
531 }
532 /* method model_base#MModule#init for (self: Object, Model, nullable MModule, String, Location) */
533 void VIRTUAL_model_base__MModule__init(val* self, val* p0, val* p1, val* p2, val* p3) {
534 model_base__MModule__init(self, p0, p1, p2, p3);
535 RET_LABEL:;
536 }
537 /* method model_base#MModule#set_imported_mmodules for (self: MModule, Array[MModule]) */
538 void model_base__MModule__set_imported_mmodules(val* self, val* p0) {
539 val* var_imported_mmodules /* var imported_mmodules: Array[MModule] */;
540 val* var /* : POSetElement[MModule] */;
541 val* var1 /* : Collection[Object] */;
542 short int var2 /* : Bool */;
543 val* var3 /* : Iterator[nullable Object] */;
544 short int var4 /* : Bool */;
545 val* var5 /* : nullable Object */;
546 val* var_m /* var m: MModule */;
547 val* var6 /* : Model */;
548 val* var7 /* : POSet[MModule] */;
549 var_imported_mmodules = p0;
550 var = ((val* (*)(val*))(self->class->vft[COLOR_model_base__MModule__in_importation]))(self) /* in_importation on <self:MModule>*/;
551 var1 = ((val* (*)(val*))(var->class->vft[COLOR_poset__POSetElement__direct_greaters]))(var) /* direct_greaters on <var:POSetElement[MModule]>*/;
552 var2 = ((short int (*)(val*))(var1->class->vft[COLOR_abstract_collection__Collection__is_empty]))(var1) /* is_empty on <var1:Collection[Object](Collection[MModule])>*/;
553 if (!var2) {
554 fprintf(stderr, "Runtime error: %s", "Assert \'unique_invocation\' failed");
555 fprintf(stderr, " (%s:%d)\n", "src/model/model_base.nit", 111);
556 exit(1);
557 }
558 var3 = ((val* (*)(val*))(var_imported_mmodules->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_imported_mmodules) /* iterator on <var_imported_mmodules:Array[MModule]>*/;
559 for(;;) {
560 var4 = ((short int (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var3) /* is_ok on <var3:Iterator[nullable Object]>*/;
561 if(!var4) break;
562 var5 = ((val* (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__item]))(var3) /* item on <var3:Iterator[nullable Object]>*/;
563 var_m = var5;
564 var6 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__MModule__model]))(self) /* model on <self:MModule>*/;
565 var7 = ((val* (*)(val*))(var6->class->vft[COLOR_model_base__Model__mmodule_importation_hierarchy]))(var6) /* mmodule_importation_hierarchy on <var6:Model>*/;
566 ((void (*)(val*, val*, val*))(var7->class->vft[COLOR_poset__POSet__add_edge]))(var7, self, var_m) /* add_edge on <var7:POSet[MModule]>*/;
567 CONTINUE_label: (void)0;
568 ((void (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__next]))(var3) /* next on <var3:Iterator[nullable Object]>*/;
569 }
570 BREAK_label: (void)0;
571 RET_LABEL:;
572 }
573 /* method model_base#MModule#set_imported_mmodules for (self: Object, Array[MModule]) */
574 void VIRTUAL_model_base__MModule__set_imported_mmodules(val* self, val* p0) {
575 model_base__MModule__set_imported_mmodules(self, p0);
576 RET_LABEL:;
577 }
578 /* method model_base#MModule#intrude_mmodules for (self: MModule): HashSet[MModule] */
579 val* model_base__MModule__intrude_mmodules(val* self) {
580 val* var /* : HashSet[MModule] */;
581 val* var1 /* : HashSet[MModule] */;
582 var1 = self->attrs[COLOR_model_base__MModule___64dintrude_mmodules].val; /* @intrude_mmodules on <self:MModule> */
583 if (var1 == NULL) {
584 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @intrude_mmodules");
585 fprintf(stderr, " (%s:%d)\n", "src/model/model_base.nit", 117);
586 exit(1);
587 }
588 var = var1;
589 RET_LABEL:;
590 return var;
591 }
592 /* method model_base#MModule#intrude_mmodules for (self: Object): HashSet[MModule] */
593 val* VIRTUAL_model_base__MModule__intrude_mmodules(val* self) {
594 val* var /* : HashSet[MModule] */;
595 val* var1 /* : HashSet[MModule] */;
596 var1 = model_base__MModule__intrude_mmodules(self);
597 var = var1;
598 RET_LABEL:;
599 return var;
600 }
601 /* method model_base#MModule#intrude_mmodules= for (self: MModule, HashSet[MModule]) */
602 void model_base__MModule__intrude_mmodules_61d(val* self, val* p0) {
603 self->attrs[COLOR_model_base__MModule___64dintrude_mmodules].val = p0; /* @intrude_mmodules on <self:MModule> */
604 RET_LABEL:;
605 }
606 /* method model_base#MModule#intrude_mmodules= for (self: Object, HashSet[MModule]) */
607 void VIRTUAL_model_base__MModule__intrude_mmodules_61d(val* self, val* p0) {
608 model_base__MModule__intrude_mmodules_61d(self, p0);
609 RET_LABEL:;
610 }
611 /* method model_base#MModule#public_mmodules for (self: MModule): HashSet[MModule] */
612 val* model_base__MModule__public_mmodules(val* self) {
613 val* var /* : HashSet[MModule] */;
614 val* var1 /* : HashSet[MModule] */;
615 var1 = self->attrs[COLOR_model_base__MModule___64dpublic_mmodules].val; /* @public_mmodules on <self:MModule> */
616 if (var1 == NULL) {
617 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @public_mmodules");
618 fprintf(stderr, " (%s:%d)\n", "src/model/model_base.nit", 118);
619 exit(1);
620 }
621 var = var1;
622 RET_LABEL:;
623 return var;
624 }
625 /* method model_base#MModule#public_mmodules for (self: Object): HashSet[MModule] */
626 val* VIRTUAL_model_base__MModule__public_mmodules(val* self) {
627 val* var /* : HashSet[MModule] */;
628 val* var1 /* : HashSet[MModule] */;
629 var1 = model_base__MModule__public_mmodules(self);
630 var = var1;
631 RET_LABEL:;
632 return var;
633 }
634 /* method model_base#MModule#public_mmodules= for (self: MModule, HashSet[MModule]) */
635 void model_base__MModule__public_mmodules_61d(val* self, val* p0) {
636 self->attrs[COLOR_model_base__MModule___64dpublic_mmodules].val = p0; /* @public_mmodules on <self:MModule> */
637 RET_LABEL:;
638 }
639 /* method model_base#MModule#public_mmodules= for (self: Object, HashSet[MModule]) */
640 void VIRTUAL_model_base__MModule__public_mmodules_61d(val* self, val* p0) {
641 model_base__MModule__public_mmodules_61d(self, p0);
642 RET_LABEL:;
643 }
644 /* method model_base#MModule#private_mmodules for (self: MModule): HashSet[MModule] */
645 val* model_base__MModule__private_mmodules(val* self) {
646 val* var /* : HashSet[MModule] */;
647 val* var1 /* : HashSet[MModule] */;
648 var1 = self->attrs[COLOR_model_base__MModule___64dprivate_mmodules].val; /* @private_mmodules on <self:MModule> */
649 if (var1 == NULL) {
650 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @private_mmodules");
651 fprintf(stderr, " (%s:%d)\n", "src/model/model_base.nit", 119);
652 exit(1);
653 }
654 var = var1;
655 RET_LABEL:;
656 return var;
657 }
658 /* method model_base#MModule#private_mmodules for (self: Object): HashSet[MModule] */
659 val* VIRTUAL_model_base__MModule__private_mmodules(val* self) {
660 val* var /* : HashSet[MModule] */;
661 val* var1 /* : HashSet[MModule] */;
662 var1 = model_base__MModule__private_mmodules(self);
663 var = var1;
664 RET_LABEL:;
665 return var;
666 }
667 /* method model_base#MModule#private_mmodules= for (self: MModule, HashSet[MModule]) */
668 void model_base__MModule__private_mmodules_61d(val* self, val* p0) {
669 self->attrs[COLOR_model_base__MModule___64dprivate_mmodules].val = p0; /* @private_mmodules on <self:MModule> */
670 RET_LABEL:;
671 }
672 /* method model_base#MModule#private_mmodules= for (self: Object, HashSet[MModule]) */
673 void VIRTUAL_model_base__MModule__private_mmodules_61d(val* self, val* p0) {
674 model_base__MModule__private_mmodules_61d(self, p0);
675 RET_LABEL:;
676 }
677 /* method model_base#MModule#visibility_for for (self: MModule, MModule): MVisibility */
678 val* model_base__MModule__visibility_for(val* self, val* p0) {
679 val* var /* : MVisibility */;
680 val* var_m /* var m: MModule */;
681 short int var1 /* : Bool */;
682 val* var2 /* : MVisibility */;
683 val* var3 /* : HashSet[MModule] */;
684 short int var4 /* : Bool */;
685 val* var5 /* : MVisibility */;
686 val* var6 /* : HashSet[MModule] */;
687 short int var7 /* : Bool */;
688 val* var8 /* : MVisibility */;
689 val* var9 /* : HashSet[MModule] */;
690 short int var10 /* : Bool */;
691 val* var11 /* : MVisibility */;
692 val* var12 /* : MVisibility */;
693 var_m = p0;
694 var1 = ((short int (*)(val*, val*))(var_m->class->vft[COLOR_kernel__Object___61d_61d]))(var_m, self) /* == on <var_m:MModule>*/;
695 if (var1){
696 var2 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__intrude_visibility]))(self) /* intrude_visibility on <self:MModule>*/;
697 var = var2;
698 goto RET_LABEL;
699 } else {
700 }
701 var3 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__MModule__intrude_mmodules]))(self) /* intrude_mmodules on <self:MModule>*/;
702 var4 = ((short int (*)(val*, val*))(var3->class->vft[COLOR_abstract_collection__Collection__has]))(var3, var_m) /* has on <var3:HashSet[MModule]>*/;
703 if (var4){
704 var5 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__intrude_visibility]))(self) /* intrude_visibility on <self:MModule>*/;
705 var = var5;
706 goto RET_LABEL;
707 } else {
708 }
709 var6 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__MModule__public_mmodules]))(self) /* public_mmodules on <self:MModule>*/;
710 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_abstract_collection__Collection__has]))(var6, var_m) /* has on <var6:HashSet[MModule]>*/;
711 if (var7){
712 var8 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__public_visibility]))(self) /* public_visibility on <self:MModule>*/;
713 var = var8;
714 goto RET_LABEL;
715 } else {
716 }
717 var9 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__MModule__private_mmodules]))(self) /* private_mmodules on <self:MModule>*/;
718 var10 = ((short int (*)(val*, val*))(var9->class->vft[COLOR_abstract_collection__Collection__has]))(var9, var_m) /* has on <var9:HashSet[MModule]>*/;
719 if (var10){
720 var11 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__private_visibility]))(self) /* private_visibility on <self:MModule>*/;
721 var = var11;
722 goto RET_LABEL;
723 } else {
724 }
725 var12 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__none_visibility]))(self) /* none_visibility on <self:MModule>*/;
726 var = var12;
727 goto RET_LABEL;
728 RET_LABEL:;
729 return var;
730 }
731 /* method model_base#MModule#visibility_for for (self: Object, MModule): MVisibility */
732 val* VIRTUAL_model_base__MModule__visibility_for(val* self, val* p0) {
733 val* var /* : MVisibility */;
734 val* var1 /* : MVisibility */;
735 var1 = model_base__MModule__visibility_for(self, p0);
736 var = var1;
737 RET_LABEL:;
738 return var;
739 }
740 /* method model_base#MModule#set_visibility_for for (self: MModule, MModule, MVisibility) */
741 void model_base__MModule__set_visibility_for(val* self, val* p0, val* p1) {
742 val* var_m /* var m: MModule */;
743 val* var_v /* var v: MVisibility */;
744 val* var /* : MVisibility */;
745 short int var1 /* : Bool */;
746 val* var2 /* : HashSet[MModule] */;
747 val* var3 /* : HashSet[MModule] */;
748 val* var4 /* : HashSet[MModule] */;
749 val* var5 /* : HashSet[MModule] */;
750 val* var6 /* : HashSet[MModule] */;
751 val* var7 /* : HashSet[MModule] */;
752 val* var8 /* : HashSet[MModule] */;
753 val* var9 /* : MVisibility */;
754 short int var10 /* : Bool */;
755 val* var11 /* : HashSet[MModule] */;
756 val* var12 /* : HashSet[MModule] */;
757 val* var13 /* : HashSet[MModule] */;
758 val* var14 /* : HashSet[MModule] */;
759 val* var15 /* : HashSet[MModule] */;
760 val* var16 /* : MVisibility */;
761 short int var17 /* : Bool */;
762 val* var18 /* : HashSet[MModule] */;
763 val* var19 /* : HashSet[MModule] */;
764 val* var20 /* : HashSet[MModule] */;
765 val* var21 /* : HashSet[MModule] */;
766 val* var22 /* : HashSet[MModule] */;
767 static val* varonce;
768 val* var23 /* : String */;
769 char* var24 /* : NativeString */;
770 long var25 /* : Int */;
771 val* var26 /* : String */;
772 static val* varonce27;
773 val* var28 /* : String */;
774 char* var29 /* : NativeString */;
775 long var30 /* : Int */;
776 val* var31 /* : String */;
777 val* var32 /* : Array[Object] */;
778 long var33 /* : Int */;
779 val* var34 /* : NativeArray[Object] */;
780 val* var35 /* : String */;
781 var_m = p0;
782 var_v = p1;
783 var = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__intrude_visibility]))(self) /* intrude_visibility on <self:MModule>*/;
784 var1 = ((short int (*)(val*, val*))(var_v->class->vft[COLOR_kernel__Object___61d_61d]))(var_v, var) /* == on <var_v:MVisibility>*/;
785 if (var1){
786 var2 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__MModule__intrude_mmodules]))(self) /* intrude_mmodules on <self:MModule>*/;
787 ((void (*)(val*, val*))(var2->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var2, var_m) /* add on <var2:HashSet[MModule]>*/;
788 var3 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__MModule__intrude_mmodules]))(self) /* intrude_mmodules on <self:MModule>*/;
789 var4 = ((val* (*)(val*))(var_m->class->vft[COLOR_model_base__MModule__intrude_mmodules]))(var_m) /* intrude_mmodules on <var_m:MModule>*/;
790 ((void (*)(val*, val*))(var3->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var3, var4) /* add_all on <var3:HashSet[MModule]>*/;
791 var5 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__MModule__public_mmodules]))(self) /* public_mmodules on <self:MModule>*/;
792 var6 = ((val* (*)(val*))(var_m->class->vft[COLOR_model_base__MModule__public_mmodules]))(var_m) /* public_mmodules on <var_m:MModule>*/;
793 ((void (*)(val*, val*))(var5->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var5, var6) /* add_all on <var5:HashSet[MModule]>*/;
794 var7 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__MModule__private_mmodules]))(self) /* private_mmodules on <self:MModule>*/;
795 var8 = ((val* (*)(val*))(var_m->class->vft[COLOR_model_base__MModule__private_mmodules]))(var_m) /* private_mmodules on <var_m:MModule>*/;
796 ((void (*)(val*, val*))(var7->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var7, var8) /* add_all on <var7:HashSet[MModule]>*/;
797 } else {
798 var9 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__public_visibility]))(self) /* public_visibility on <self:MModule>*/;
799 var10 = ((short int (*)(val*, val*))(var_v->class->vft[COLOR_kernel__Object___61d_61d]))(var_v, var9) /* == on <var_v:MVisibility>*/;
800 if (var10){
801 var11 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__MModule__public_mmodules]))(self) /* public_mmodules on <self:MModule>*/;
802 ((void (*)(val*, val*))(var11->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var11, var_m) /* add on <var11:HashSet[MModule]>*/;
803 var12 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__MModule__public_mmodules]))(self) /* public_mmodules on <self:MModule>*/;
804 var13 = ((val* (*)(val*))(var_m->class->vft[COLOR_model_base__MModule__intrude_mmodules]))(var_m) /* intrude_mmodules on <var_m:MModule>*/;
805 ((void (*)(val*, val*))(var12->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var12, var13) /* add_all on <var12:HashSet[MModule]>*/;
806 var14 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__MModule__public_mmodules]))(self) /* public_mmodules on <self:MModule>*/;
807 var15 = ((val* (*)(val*))(var_m->class->vft[COLOR_model_base__MModule__public_mmodules]))(var_m) /* public_mmodules on <var_m:MModule>*/;
808 ((void (*)(val*, val*))(var14->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var14, var15) /* add_all on <var14:HashSet[MModule]>*/;
809 } else {
810 var16 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__private_visibility]))(self) /* private_visibility on <self:MModule>*/;
811 var17 = ((short int (*)(val*, val*))(var_v->class->vft[COLOR_kernel__Object___61d_61d]))(var_v, var16) /* == on <var_v:MVisibility>*/;
812 if (var17){
813 var18 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__MModule__private_mmodules]))(self) /* private_mmodules on <self:MModule>*/;
814 ((void (*)(val*, val*))(var18->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var18, var_m) /* add on <var18:HashSet[MModule]>*/;
815 var19 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__MModule__private_mmodules]))(self) /* private_mmodules on <self:MModule>*/;
816 var20 = ((val* (*)(val*))(var_m->class->vft[COLOR_model_base__MModule__intrude_mmodules]))(var_m) /* intrude_mmodules on <var_m:MModule>*/;
817 ((void (*)(val*, val*))(var19->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var19, var20) /* add_all on <var19:HashSet[MModule]>*/;
818 var21 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__MModule__private_mmodules]))(self) /* private_mmodules on <self:MModule>*/;
819 var22 = ((val* (*)(val*))(var_m->class->vft[COLOR_model_base__MModule__public_mmodules]))(var_m) /* public_mmodules on <var_m:MModule>*/;
820 ((void (*)(val*, val*))(var21->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var21, var22) /* add_all on <var21:HashSet[MModule]>*/;
821 } else {
822 if (varonce) {
823 var23 = varonce;
824 } else {
825 var24 = " visibility for ";
826 var25 = 16;
827 var26 = string__NativeString__to_s_with_length(var24, var25);
828 var23 = var26;
829 varonce = var23;
830 }
831 if (varonce27) {
832 var28 = varonce27;
833 } else {
834 var29 = " = ";
835 var30 = 3;
836 var31 = string__NativeString__to_s_with_length(var29, var30);
837 var28 = var31;
838 varonce27 = var28;
839 }
840 var32 = NEW_array__Array(&type_array__Arraykernel__Object);
841 { /* var32 = array_instance Array[Object] */
842 var33 = 5;
843 var34 = NEW_array__NativeArray(var33, &type_array__NativeArraykernel__Object);
844 ((struct instance_array__NativeArray*)var34)->values[0] = (val*) self;
845 ((struct instance_array__NativeArray*)var34)->values[1] = (val*) var23;
846 ((struct instance_array__NativeArray*)var34)->values[2] = (val*) var_m;
847 ((struct instance_array__NativeArray*)var34)->values[3] = (val*) var28;
848 ((struct instance_array__NativeArray*)var34)->values[4] = (val*) var_v;
849 ((void (*)(val*, val*, long))(var32->class->vft[COLOR_array__Array__with_native]))(var32, var34, var33) /* with_native on <var32:Array[Object]>*/;
850 CHECK_NEW_array__Array(var32);
851 }
852 var35 = ((val* (*)(val*))(var32->class->vft[COLOR_string__Object__to_s]))(var32) /* to_s on <var32:Array[Object]>*/;
853 ((void (*)(val*, val*))(self->class->vft[COLOR_file__Object__print]))(self, var35) /* print on <self:MModule>*/;
854 fprintf(stderr, "Runtime error: %s", "Aborted");
855 fprintf(stderr, " (%s:%d)\n", "src/model/model_base.nit", 150);
856 exit(1);
857 }
858 }
859 }
860 RET_LABEL:;
861 }
862 /* method model_base#MModule#set_visibility_for for (self: Object, MModule, MVisibility) */
863 void VIRTUAL_model_base__MModule__set_visibility_for(val* self, val* p0, val* p1) {
864 model_base__MModule__set_visibility_for(self, p0, p1);
865 RET_LABEL:;
866 }
867 /* method model_base#MModule#public_owner for (self: MModule): nullable MModule */
868 val* model_base__MModule__public_owner(val* self) {
869 val* var /* : nullable MModule */;
870 val* var1 /* : nullable MModule */;
871 val* var_res /* var res: nullable MModule */;
872 val* var_last /* var last: nullable MModule */;
873 val* var2 /* : null */;
874 short int var3 /* : Bool */;
875 val* var4 /* : MVisibility */;
876 val* var5 /* : MVisibility */;
877 short int var6 /* : Bool */;
878 val* var7 /* : nullable MModule */;
879 var1 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__MModule__direct_owner]))(self) /* direct_owner on <self:MModule>*/;
880 var_res = var1;
881 var_last = var_res;
882 for(;;) {
883 var2 = NULL;
884 if (var_last == NULL) {
885 var3 = 0; /* is null */
886 } else {
887 var3 = 1; /* arg is null and recv is not */
888 }
889 if (!var3) break;
890 var4 = ((val* (*)(val*, val*))(var_last->class->vft[COLOR_model_base__MModule__visibility_for]))(var_last, self) /* visibility_for on <var_last:nullable MModule(MModule)>*/;
891 var5 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__public_visibility]))(self) /* public_visibility on <self:MModule>*/;
892 var6 = ((short int (*)(val*, val*))(var4->class->vft[COLOR_kernel__Comparable___62d_61d]))(var4, var5) /* >= on <var4:MVisibility>*/;
893 if (var6){
894 var_res = var_last;
895 } else {
896 }
897 var7 = ((val* (*)(val*))(var_last->class->vft[COLOR_model_base__MModule__direct_owner]))(var_last) /* direct_owner on <var_last:nullable MModule(MModule)>*/;
898 var_last = var7;
899 CONTINUE_label: (void)0;
900 }
901 BREAK_label: (void)0;
902 var = var_res;
903 goto RET_LABEL;
904 RET_LABEL:;
905 return var;
906 }
907 /* method model_base#MModule#public_owner for (self: Object): nullable MModule */
908 val* VIRTUAL_model_base__MModule__public_owner(val* self) {
909 val* var /* : nullable MModule */;
910 val* var1 /* : nullable MModule */;
911 var1 = model_base__MModule__public_owner(self);
912 var = var1;
913 RET_LABEL:;
914 return var;
915 }
916 /* method model_base#MModule#is_visible for (self: MModule, MModule, MVisibility): Bool */
917 short int model_base__MModule__is_visible(val* self, val* p0, val* p1) {
918 short int var /* : Bool */;
919 val* var_intro_mmodule /* var intro_mmodule: MModule */;
920 val* var_visibility /* var visibility: MVisibility */;
921 val* var1 /* : MVisibility */;
922 val* var_v /* var v: MVisibility */;
923 val* var2 /* : MVisibility */;
924 short int var3 /* : Bool */;
925 val* var4 /* : MVisibility */;
926 short int var5 /* : Bool */;
927 val* var6 /* : MVisibility */;
928 short int var7 /* : Bool */;
929 val* var8 /* : MVisibility */;
930 short int var9 /* : Bool */;
931 val* var10 /* : MVisibility */;
932 short int var11 /* : Bool */;
933 val* var12 /* : MVisibility */;
934 short int var13 /* : Bool */;
935 val* var14 /* : MVisibility */;
936 short int var15 /* : Bool */;
937 short int var16 /* : Bool */;
938 var_intro_mmodule = p0;
939 var_visibility = p1;
940 var1 = ((val* (*)(val*, val*))(self->class->vft[COLOR_model_base__MModule__visibility_for]))(self, var_intro_mmodule) /* visibility_for on <self:MModule>*/;
941 var_v = var1;
942 var2 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__intrude_visibility]))(self) /* intrude_visibility on <self:MModule>*/;
943 var3 = ((short int (*)(val*, val*))(var_v->class->vft[COLOR_kernel__Object___61d_61d]))(var_v, var2) /* == on <var_v:MVisibility>*/;
944 if (var3){
945 var4 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__private_visibility]))(self) /* private_visibility on <self:MModule>*/;
946 var5 = ((short int (*)(val*, val*))(var_visibility->class->vft[COLOR_kernel__Comparable___62d_61d]))(var_visibility, var4) /* >= on <var_visibility:MVisibility>*/;
947 var = var5;
948 goto RET_LABEL;
949 } else {
950 var6 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__public_visibility]))(self) /* public_visibility on <self:MModule>*/;
951 var7 = ((short int (*)(val*, val*))(var_v->class->vft[COLOR_kernel__Object___61d_61d]))(var_v, var6) /* == on <var_v:MVisibility>*/;
952 if (var7){
953 var8 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__private_visibility]))(self) /* private_visibility on <self:MModule>*/;
954 var9 = ((short int (*)(val*, val*))(var_visibility->class->vft[COLOR_kernel__Comparable___62d]))(var_visibility, var8) /* > on <var_visibility:MVisibility>*/;
955 var = var9;
956 goto RET_LABEL;
957 } else {
958 var10 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__private_visibility]))(self) /* private_visibility on <self:MModule>*/;
959 var11 = ((short int (*)(val*, val*))(var_v->class->vft[COLOR_kernel__Object___61d_61d]))(var_v, var10) /* == on <var_v:MVisibility>*/;
960 if (var11){
961 var12 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__private_visibility]))(self) /* private_visibility on <self:MModule>*/;
962 var13 = ((short int (*)(val*, val*))(var_visibility->class->vft[COLOR_kernel__Comparable___62d]))(var_visibility, var12) /* > on <var_visibility:MVisibility>*/;
963 var = var13;
964 goto RET_LABEL;
965 } else {
966 var14 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__none_visibility]))(self) /* none_visibility on <self:MModule>*/;
967 var15 = ((short int (*)(val*, val*))(var_v->class->vft[COLOR_kernel__Object___61d_61d]))(var_v, var14) /* == on <var_v:MVisibility>*/;
968 if (var15){
969 var16 = 0;
970 var = var16;
971 goto RET_LABEL;
972 } else {
973 fprintf(stderr, "Runtime error: %s", "Aborted");
974 fprintf(stderr, " (%s:%d)\n", "src/model/model_base.nit", 181);
975 exit(1);
976 }
977 }
978 }
979 }
980 RET_LABEL:;
981 return var;
982 }
983 /* method model_base#MModule#is_visible for (self: Object, MModule, MVisibility): Bool */
984 short int VIRTUAL_model_base__MModule__is_visible(val* self, val* p0, val* p1) {
985 short int var /* : Bool */;
986 short int var1 /* : Bool */;
987 var1 = model_base__MModule__is_visible(self, p0, p1);
988 var = var1;
989 RET_LABEL:;
990 return var;
991 }
992 /* method model_base#MVisibility#to_s for (self: MVisibility): String */
993 val* model_base__MVisibility__to_s(val* self) {
994 val* var /* : String */;
995 val* var1 /* : String */;
996 var1 = self->attrs[COLOR_model_base__MVisibility___64dto_s].val; /* @to_s on <self:MVisibility> */
997 if (var1 == NULL) {
998 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @to_s");
999 fprintf(stderr, " (%s:%d)\n", "src/model/model_base.nit", 200);
1000 exit(1);
1001 }
1002 var = var1;
1003 RET_LABEL:;
1004 return var;
1005 }
1006 /* method model_base#MVisibility#to_s for (self: Object): String */
1007 val* VIRTUAL_model_base__MVisibility__to_s(val* self) {
1008 val* var /* : String */;
1009 val* var1 /* : String */;
1010 var1 = model_base__MVisibility__to_s(self);
1011 var = var1;
1012 RET_LABEL:;
1013 return var;
1014 }
1015 /* method model_base#MVisibility#to_s= for (self: MVisibility, String) */
1016 void model_base__MVisibility__to_s_61d(val* self, val* p0) {
1017 self->attrs[COLOR_model_base__MVisibility___64dto_s].val = p0; /* @to_s on <self:MVisibility> */
1018 RET_LABEL:;
1019 }
1020 /* method model_base#MVisibility#to_s= for (self: Object, String) */
1021 void VIRTUAL_model_base__MVisibility__to_s_61d(val* self, val* p0) {
1022 model_base__MVisibility__to_s_61d(self, p0);
1023 RET_LABEL:;
1024 }
1025 /* method model_base#MVisibility#level for (self: MVisibility): Int */
1026 long model_base__MVisibility__level(val* self) {
1027 long var /* : Int */;
1028 long var1 /* : Int */;
1029 var1 = self->attrs[COLOR_model_base__MVisibility___64dlevel].l; /* @level on <self:MVisibility> */
1030 var = var1;
1031 RET_LABEL:;
1032 return var;
1033 }
1034 /* method model_base#MVisibility#level for (self: Object): Int */
1035 long VIRTUAL_model_base__MVisibility__level(val* self) {
1036 long var /* : Int */;
1037 long var1 /* : Int */;
1038 var1 = model_base__MVisibility__level(self);
1039 var = var1;
1040 RET_LABEL:;
1041 return var;
1042 }
1043 /* method model_base#MVisibility#level= for (self: MVisibility, Int) */
1044 void model_base__MVisibility__level_61d(val* self, long p0) {
1045 self->attrs[COLOR_model_base__MVisibility___64dlevel].l = p0; /* @level on <self:MVisibility> */
1046 RET_LABEL:;
1047 }
1048 /* method model_base#MVisibility#level= for (self: Object, Int) */
1049 void VIRTUAL_model_base__MVisibility__level_61d(val* self, long p0) {
1050 model_base__MVisibility__level_61d(self, p0);
1051 RET_LABEL:;
1052 }
1053 /* method model_base#MVisibility#init for (self: MVisibility, String, Int) */
1054 void model_base__MVisibility__init(val* self, val* p0, long p1) {
1055 val* var_s /* var s: String */;
1056 long var_level /* var level: Int */;
1057 var_s = p0;
1058 var_level = p1;
1059 ((void (*)(val*, val*))(self->class->vft[COLOR_model_base__MVisibility__to_s_61d]))(self, var_s) /* to_s= on <self:MVisibility>*/;
1060 ((void (*)(val*, long))(self->class->vft[COLOR_model_base__MVisibility__level_61d]))(self, var_level) /* level= on <self:MVisibility>*/;
1061 RET_LABEL:;
1062 }
1063 /* method model_base#MVisibility#init for (self: Object, String, Int) */
1064 void VIRTUAL_model_base__MVisibility__init(val* self, val* p0, long p1) {
1065 model_base__MVisibility__init(self, p0, p1);
1066 RET_LABEL:;
1067 }
1068 /* method model_base#MVisibility#< for (self: MVisibility, MVisibility): Bool */
1069 short int model_base__MVisibility___60d(val* self, val* p0) {
1070 short int var /* : Bool */;
1071 short int var1 /* : Bool */;
1072 int cltype;
1073 int idtype;
1074 const struct type* type_struct;
1075 const char* var_class_name;
1076 val* var_other /* var other: MVisibility */;
1077 long var2 /* : Int */;
1078 long var3 /* : Int */;
1079 short int var4 /* : Bool */;
1080 short int var6 /* : Bool */;
1081 int cltype7;
1082 int idtype8;
1083 const char* var_class_name9;
1084 short int var10 /* : Bool */;
1085 /* Covariant cast for argument 0 (other) <p0:MVisibility> isa OTHER */
1086 /* <p0:MVisibility> isa OTHER */
1087 type_struct = self->type->resolution_table->types[COLOR_kernel__Comparable_VTOTHER];
1088 cltype = type_struct->color;
1089 idtype = type_struct->id;
1090 if(cltype >= p0->type->table_size) {
1091 var1 = 0;
1092 } else {
1093 var1 = p0->type->type_table[cltype] == idtype;
1094 }
1095 if (!var1) {
1096 var_class_name = p0 == NULL ? "null" : p0->type->name;
1097 fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1098 fprintf(stderr, " (%s:%d)\n", "src/model/model_base.nit", 210);
1099 exit(1);
1100 }
1101 var_other = p0;
1102 var2 = ((long (*)(val*))(self->class->vft[COLOR_model_base__MVisibility__level]))(self) /* level on <self:MVisibility>*/;
1103 var3 = ((long (*)(val*))(var_other->class->vft[COLOR_model_base__MVisibility__level]))(var_other) /* level on <var_other:MVisibility>*/;
1104 { /* Inline kernel#Int#< (var2,var3) */
1105 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
1106 /* <var3:Int> isa OTHER */
1107 var6 = 1; /* easy <var3:Int> isa OTHER*/
1108 if (!var6) {
1109 var_class_name9 = type_kernel__Int.name;
1110 fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9);
1111 fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
1112 exit(1);
1113 }
1114 var10 = var2 < var3;
1115 var4 = var10;
1116 goto RET_LABEL5;
1117 RET_LABEL5:(void)0;
1118 }
1119 var = var4;
1120 goto RET_LABEL;
1121 RET_LABEL:;
1122 return var;
1123 }
1124 /* method model_base#MVisibility#< for (self: Object, Comparable): Bool */
1125 short int VIRTUAL_model_base__MVisibility___60d(val* self, val* p0) {
1126 short int var /* : Bool */;
1127 short int var1 /* : Bool */;
1128 var1 = model_base__MVisibility___60d(self, p0);
1129 var = var1;
1130 RET_LABEL:;
1131 return var;
1132 }
1133 /* method model_base#Object#intrude_visibility for (self: Object): MVisibility */
1134 val* model_base__Object__intrude_visibility(val* self) {
1135 val* var /* : MVisibility */;
1136 static val* varonce;
1137 static int varonce_guard;
1138 val* var1 /* : MVisibility */;
1139 val* var2 /* : MVisibility */;
1140 static val* varonce3;
1141 val* var4 /* : String */;
1142 char* var5 /* : NativeString */;
1143 long var6 /* : Int */;
1144 val* var7 /* : String */;
1145 long var8 /* : Int */;
1146 if (varonce_guard) {
1147 var1 = varonce;
1148 } else {
1149 var2 = NEW_model_base__MVisibility(&type_model_base__MVisibility);
1150 if (varonce3) {
1151 var4 = varonce3;
1152 } else {
1153 var5 = "intrude";
1154 var6 = 7;
1155 var7 = string__NativeString__to_s_with_length(var5, var6);
1156 var4 = var7;
1157 varonce3 = var4;
1158 }
1159 var8 = 4;
1160 ((void (*)(val*, val*, long))(var2->class->vft[COLOR_model_base__MVisibility__init]))(var2, var4, var8) /* init on <var2:MVisibility>*/;
1161 CHECK_NEW_model_base__MVisibility(var2);
1162 var1 = var2;
1163 varonce = var1;
1164 varonce_guard = 1;
1165 }
1166 var = var1;
1167 goto RET_LABEL;
1168 RET_LABEL:;
1169 return var;
1170 }
1171 /* method model_base#Object#intrude_visibility for (self: Object): MVisibility */
1172 val* VIRTUAL_model_base__Object__intrude_visibility(val* self) {
1173 val* var /* : MVisibility */;
1174 val* var1 /* : MVisibility */;
1175 var1 = model_base__Object__intrude_visibility(self);
1176 var = var1;
1177 RET_LABEL:;
1178 return var;
1179 }
1180 /* method model_base#Object#public_visibility for (self: Object): MVisibility */
1181 val* model_base__Object__public_visibility(val* self) {
1182 val* var /* : MVisibility */;
1183 static val* varonce;
1184 static int varonce_guard;
1185 val* var1 /* : MVisibility */;
1186 val* var2 /* : MVisibility */;
1187 static val* varonce3;
1188 val* var4 /* : String */;
1189 char* var5 /* : NativeString */;
1190 long var6 /* : Int */;
1191 val* var7 /* : String */;
1192 long var8 /* : Int */;
1193 if (varonce_guard) {
1194 var1 = varonce;
1195 } else {
1196 var2 = NEW_model_base__MVisibility(&type_model_base__MVisibility);
1197 if (varonce3) {
1198 var4 = varonce3;
1199 } else {
1200 var5 = "public";
1201 var6 = 6;
1202 var7 = string__NativeString__to_s_with_length(var5, var6);
1203 var4 = var7;
1204 varonce3 = var4;
1205 }
1206 var8 = 4;
1207 ((void (*)(val*, val*, long))(var2->class->vft[COLOR_model_base__MVisibility__init]))(var2, var4, var8) /* init on <var2:MVisibility>*/;
1208 CHECK_NEW_model_base__MVisibility(var2);
1209 var1 = var2;
1210 varonce = var1;
1211 varonce_guard = 1;
1212 }
1213 var = var1;
1214 goto RET_LABEL;
1215 RET_LABEL:;
1216 return var;
1217 }
1218 /* method model_base#Object#public_visibility for (self: Object): MVisibility */
1219 val* VIRTUAL_model_base__Object__public_visibility(val* self) {
1220 val* var /* : MVisibility */;
1221 val* var1 /* : MVisibility */;
1222 var1 = model_base__Object__public_visibility(self);
1223 var = var1;
1224 RET_LABEL:;
1225 return var;
1226 }
1227 /* method model_base#Object#protected_visibility for (self: Object): MVisibility */
1228 val* model_base__Object__protected_visibility(val* self) {
1229 val* var /* : MVisibility */;
1230 static val* varonce;
1231 static int varonce_guard;
1232 val* var1 /* : MVisibility */;
1233 val* var2 /* : MVisibility */;
1234 static val* varonce3;
1235 val* var4 /* : String */;
1236 char* var5 /* : NativeString */;
1237 long var6 /* : Int */;
1238 val* var7 /* : String */;
1239 long var8 /* : Int */;
1240 if (varonce_guard) {
1241 var1 = varonce;
1242 } else {
1243 var2 = NEW_model_base__MVisibility(&type_model_base__MVisibility);
1244 if (varonce3) {
1245 var4 = varonce3;
1246 } else {
1247 var5 = "protected";
1248 var6 = 9;
1249 var7 = string__NativeString__to_s_with_length(var5, var6);
1250 var4 = var7;
1251 varonce3 = var4;
1252 }
1253 var8 = 3;
1254 ((void (*)(val*, val*, long))(var2->class->vft[COLOR_model_base__MVisibility__init]))(var2, var4, var8) /* init on <var2:MVisibility>*/;
1255 CHECK_NEW_model_base__MVisibility(var2);
1256 var1 = var2;
1257 varonce = var1;
1258 varonce_guard = 1;
1259 }
1260 var = var1;
1261 goto RET_LABEL;
1262 RET_LABEL:;
1263 return var;
1264 }
1265 /* method model_base#Object#protected_visibility for (self: Object): MVisibility */
1266 val* VIRTUAL_model_base__Object__protected_visibility(val* self) {
1267 val* var /* : MVisibility */;
1268 val* var1 /* : MVisibility */;
1269 var1 = model_base__Object__protected_visibility(self);
1270 var = var1;
1271 RET_LABEL:;
1272 return var;
1273 }
1274 /* method model_base#Object#private_visibility for (self: Object): MVisibility */
1275 val* model_base__Object__private_visibility(val* self) {
1276 val* var /* : MVisibility */;
1277 static val* varonce;
1278 static int varonce_guard;
1279 val* var1 /* : MVisibility */;
1280 val* var2 /* : MVisibility */;
1281 static val* varonce3;
1282 val* var4 /* : String */;
1283 char* var5 /* : NativeString */;
1284 long var6 /* : Int */;
1285 val* var7 /* : String */;
1286 long var8 /* : Int */;
1287 if (varonce_guard) {
1288 var1 = varonce;
1289 } else {
1290 var2 = NEW_model_base__MVisibility(&type_model_base__MVisibility);
1291 if (varonce3) {
1292 var4 = varonce3;
1293 } else {
1294 var5 = "private";
1295 var6 = 7;
1296 var7 = string__NativeString__to_s_with_length(var5, var6);
1297 var4 = var7;
1298 varonce3 = var4;
1299 }
1300 var8 = 2;
1301 ((void (*)(val*, val*, long))(var2->class->vft[COLOR_model_base__MVisibility__init]))(var2, var4, var8) /* init on <var2:MVisibility>*/;
1302 CHECK_NEW_model_base__MVisibility(var2);
1303 var1 = var2;
1304 varonce = var1;
1305 varonce_guard = 1;
1306 }
1307 var = var1;
1308 goto RET_LABEL;
1309 RET_LABEL:;
1310 return var;
1311 }
1312 /* method model_base#Object#private_visibility for (self: Object): MVisibility */
1313 val* VIRTUAL_model_base__Object__private_visibility(val* self) {
1314 val* var /* : MVisibility */;
1315 val* var1 /* : MVisibility */;
1316 var1 = model_base__Object__private_visibility(self);
1317 var = var1;
1318 RET_LABEL:;
1319 return var;
1320 }
1321 /* method model_base#Object#none_visibility for (self: Object): MVisibility */
1322 val* model_base__Object__none_visibility(val* self) {
1323 val* var /* : MVisibility */;
1324 static val* varonce;
1325 static int varonce_guard;
1326 val* var1 /* : MVisibility */;
1327 val* var2 /* : MVisibility */;
1328 static val* varonce3;
1329 val* var4 /* : String */;
1330 char* var5 /* : NativeString */;
1331 long var6 /* : Int */;
1332 val* var7 /* : String */;
1333 long var8 /* : Int */;
1334 if (varonce_guard) {
1335 var1 = varonce;
1336 } else {
1337 var2 = NEW_model_base__MVisibility(&type_model_base__MVisibility);
1338 if (varonce3) {
1339 var4 = varonce3;
1340 } else {
1341 var5 = "none";
1342 var6 = 4;
1343 var7 = string__NativeString__to_s_with_length(var5, var6);
1344 var4 = var7;
1345 varonce3 = var4;
1346 }
1347 var8 = 2;
1348 ((void (*)(val*, val*, long))(var2->class->vft[COLOR_model_base__MVisibility__init]))(var2, var4, var8) /* init on <var2:MVisibility>*/;
1349 CHECK_NEW_model_base__MVisibility(var2);
1350 var1 = var2;
1351 varonce = var1;
1352 varonce_guard = 1;
1353 }
1354 var = var1;
1355 goto RET_LABEL;
1356 RET_LABEL:;
1357 return var;
1358 }
1359 /* method model_base#Object#none_visibility for (self: Object): MVisibility */
1360 val* VIRTUAL_model_base__Object__none_visibility(val* self) {
1361 val* var /* : MVisibility */;
1362 val* var1 /* : MVisibility */;
1363 var1 = model_base__Object__none_visibility(self);
1364 var = var1;
1365 RET_LABEL:;
1366 return var;
1367 }