nitc: fix calling extern constructors from extern code in separate compiler
[nit.git] / c_src / mproject.sep.1.c
1 #include "mproject.sep.0.h"
2 /* method mproject#MProject#name for (self: MProject): String */
3 val* mproject__MProject__name(val* self) {
4 val* var /* : String */;
5 val* var1 /* : String */;
6 var1 = self->attrs[COLOR_mproject__MProject___name].val; /* _name on <self:MProject> */
7 if (unlikely(var1 == NULL)) {
8 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
9 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 26);
10 show_backtrace(1);
11 }
12 var = var1;
13 RET_LABEL:;
14 return var;
15 }
16 /* method mproject#MProject#name for (self: Object): String */
17 val* VIRTUAL_mproject__MProject__name(val* self) {
18 val* var /* : String */;
19 val* var1 /* : String */;
20 val* var3 /* : String */;
21 { /* Inline mproject#MProject#name (self) on <self:Object(MProject)> */
22 var3 = self->attrs[COLOR_mproject__MProject___name].val; /* _name on <self:Object(MProject)> */
23 if (unlikely(var3 == NULL)) {
24 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
25 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 26);
26 show_backtrace(1);
27 }
28 var1 = var3;
29 RET_LABEL2:(void)0;
30 }
31 var = var1;
32 RET_LABEL:;
33 return var;
34 }
35 /* method mproject#MProject#name= for (self: MProject, String) */
36 void mproject__MProject__name_61d(val* self, val* p0) {
37 self->attrs[COLOR_mproject__MProject___name].val = p0; /* _name on <self:MProject> */
38 RET_LABEL:;
39 }
40 /* method mproject#MProject#name= for (self: Object, String) */
41 void VIRTUAL_mproject__MProject__name_61d(val* self, val* p0) {
42 { /* Inline mproject#MProject#name= (self,p0) on <self:Object(MProject)> */
43 self->attrs[COLOR_mproject__MProject___name].val = p0; /* _name on <self:Object(MProject)> */
44 RET_LABEL1:(void)0;
45 }
46 RET_LABEL:;
47 }
48 /* method mproject#MProject#model for (self: MProject): Model */
49 val* mproject__MProject__model(val* self) {
50 val* var /* : Model */;
51 val* var1 /* : Model */;
52 var1 = self->attrs[COLOR_mproject__MProject___model].val; /* _model on <self:MProject> */
53 if (unlikely(var1 == NULL)) {
54 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
55 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 29);
56 show_backtrace(1);
57 }
58 var = var1;
59 RET_LABEL:;
60 return var;
61 }
62 /* method mproject#MProject#model for (self: Object): Model */
63 val* VIRTUAL_mproject__MProject__model(val* self) {
64 val* var /* : Model */;
65 val* var1 /* : Model */;
66 val* var3 /* : Model */;
67 { /* Inline mproject#MProject#model (self) on <self:Object(MProject)> */
68 var3 = self->attrs[COLOR_mproject__MProject___model].val; /* _model on <self:Object(MProject)> */
69 if (unlikely(var3 == NULL)) {
70 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
71 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 29);
72 show_backtrace(1);
73 }
74 var1 = var3;
75 RET_LABEL2:(void)0;
76 }
77 var = var1;
78 RET_LABEL:;
79 return var;
80 }
81 /* method mproject#MProject#model= for (self: MProject, Model) */
82 void mproject__MProject__model_61d(val* self, val* p0) {
83 self->attrs[COLOR_mproject__MProject___model].val = p0; /* _model on <self:MProject> */
84 RET_LABEL:;
85 }
86 /* method mproject#MProject#model= for (self: Object, Model) */
87 void VIRTUAL_mproject__MProject__model_61d(val* self, val* p0) {
88 { /* Inline mproject#MProject#model= (self,p0) on <self:Object(MProject)> */
89 self->attrs[COLOR_mproject__MProject___model].val = p0; /* _model on <self:Object(MProject)> */
90 RET_LABEL1:(void)0;
91 }
92 RET_LABEL:;
93 }
94 /* method mproject#MProject#root for (self: MProject): nullable MGroup */
95 val* mproject__MProject__root(val* self) {
96 val* var /* : nullable MGroup */;
97 val* var1 /* : nullable MGroup */;
98 var1 = self->attrs[COLOR_mproject__MProject___root].val; /* _root on <self:MProject> */
99 var = var1;
100 RET_LABEL:;
101 return var;
102 }
103 /* method mproject#MProject#root for (self: Object): nullable MGroup */
104 val* VIRTUAL_mproject__MProject__root(val* self) {
105 val* var /* : nullable MGroup */;
106 val* var1 /* : nullable MGroup */;
107 val* var3 /* : nullable MGroup */;
108 { /* Inline mproject#MProject#root (self) on <self:Object(MProject)> */
109 var3 = self->attrs[COLOR_mproject__MProject___root].val; /* _root on <self:Object(MProject)> */
110 var1 = var3;
111 RET_LABEL2:(void)0;
112 }
113 var = var1;
114 RET_LABEL:;
115 return var;
116 }
117 /* method mproject#MProject#root= for (self: MProject, nullable MGroup) */
118 void mproject__MProject__root_61d(val* self, val* p0) {
119 self->attrs[COLOR_mproject__MProject___root].val = p0; /* _root on <self:MProject> */
120 RET_LABEL:;
121 }
122 /* method mproject#MProject#root= for (self: Object, nullable MGroup) */
123 void VIRTUAL_mproject__MProject__root_61d(val* self, val* p0) {
124 { /* Inline mproject#MProject#root= (self,p0) on <self:Object(MProject)> */
125 self->attrs[COLOR_mproject__MProject___root].val = p0; /* _root on <self:Object(MProject)> */
126 RET_LABEL1:(void)0;
127 }
128 RET_LABEL:;
129 }
130 /* method mproject#MProject#mgroups for (self: MProject): POSet[MGroup] */
131 val* mproject__MProject__mgroups(val* self) {
132 val* var /* : POSet[MGroup] */;
133 val* var1 /* : POSet[MGroup] */;
134 var1 = self->attrs[COLOR_mproject__MProject___mgroups].val; /* _mgroups on <self:MProject> */
135 if (unlikely(var1 == NULL)) {
136 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
137 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 35);
138 show_backtrace(1);
139 }
140 var = var1;
141 RET_LABEL:;
142 return var;
143 }
144 /* method mproject#MProject#mgroups for (self: Object): POSet[MGroup] */
145 val* VIRTUAL_mproject__MProject__mgroups(val* self) {
146 val* var /* : POSet[MGroup] */;
147 val* var1 /* : POSet[MGroup] */;
148 val* var3 /* : POSet[MGroup] */;
149 { /* Inline mproject#MProject#mgroups (self) on <self:Object(MProject)> */
150 var3 = self->attrs[COLOR_mproject__MProject___mgroups].val; /* _mgroups on <self:Object(MProject)> */
151 if (unlikely(var3 == NULL)) {
152 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
153 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 35);
154 show_backtrace(1);
155 }
156 var1 = var3;
157 RET_LABEL2:(void)0;
158 }
159 var = var1;
160 RET_LABEL:;
161 return var;
162 }
163 /* method mproject#MProject#to_s for (self: MProject): String */
164 val* mproject__MProject__to_s(val* self) {
165 val* var /* : String */;
166 val* var1 /* : String */;
167 val* var3 /* : String */;
168 {
169 { /* Inline mproject#MProject#name (self) on <self:MProject> */
170 var3 = self->attrs[COLOR_mproject__MProject___name].val; /* _name on <self:MProject> */
171 if (unlikely(var3 == NULL)) {
172 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
173 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 26);
174 show_backtrace(1);
175 }
176 var1 = var3;
177 RET_LABEL2:(void)0;
178 }
179 }
180 var = var1;
181 goto RET_LABEL;
182 RET_LABEL:;
183 return var;
184 }
185 /* method mproject#MProject#to_s for (self: Object): String */
186 val* VIRTUAL_mproject__MProject__to_s(val* self) {
187 val* var /* : String */;
188 val* var1 /* : String */;
189 var1 = mproject__MProject__to_s(self);
190 var = var1;
191 RET_LABEL:;
192 return var;
193 }
194 /* method mproject#MProject#init for (self: MProject, String, Model) */
195 void mproject__MProject__init(val* self, val* p0, val* p1) {
196 val* var_name /* var name: String */;
197 val* var_model /* var model: Model */;
198 val* var /* : Array[MProject] */;
199 val* var4 /* : Array[MProject] */;
200 val* var5 /* : MultiHashMap[String, MProject] */;
201 val* var7 /* : MultiHashMap[String, MProject] */;
202 {
203 ((void (*)(val*))(self->class->vft[COLOR_kernel__Object__init]))(self) /* init on <self:MProject>*/;
204 }
205 var_name = p0;
206 var_model = p1;
207 {
208 { /* Inline mproject#MProject#name= (self,var_name) on <self:MProject> */
209 self->attrs[COLOR_mproject__MProject___name].val = var_name; /* _name on <self:MProject> */
210 RET_LABEL1:(void)0;
211 }
212 }
213 {
214 { /* Inline mproject#MProject#model= (self,var_model) on <self:MProject> */
215 self->attrs[COLOR_mproject__MProject___model].val = var_model; /* _model on <self:MProject> */
216 RET_LABEL2:(void)0;
217 }
218 }
219 {
220 { /* Inline mproject#Model#mprojects (var_model) on <var_model:Model> */
221 var4 = var_model->attrs[COLOR_mproject__Model___mprojects].val; /* _mprojects on <var_model:Model> */
222 if (unlikely(var4 == NULL)) {
223 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprojects");
224 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 109);
225 show_backtrace(1);
226 }
227 var = var4;
228 RET_LABEL3:(void)0;
229 }
230 }
231 {
232 array__Array__add(var, self); /* Direct call array#Array#add on <var:Array[MProject]>*/
233 }
234 {
235 { /* Inline mproject#Model#mproject_by_name (var_model) on <var_model:Model> */
236 var7 = var_model->attrs[COLOR_mproject__Model___mproject_by_name].val; /* _mproject_by_name on <var_model:Model> */
237 if (unlikely(var7 == NULL)) {
238 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject_by_name");
239 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 112);
240 show_backtrace(1);
241 }
242 var5 = var7;
243 RET_LABEL6:(void)0;
244 }
245 }
246 {
247 more_collections__MultiHashMap__add_one(var5, var_name, self); /* Direct call more_collections#MultiHashMap#add_one on <var5:MultiHashMap[String, MProject]>*/
248 }
249 RET_LABEL:;
250 }
251 /* method mproject#MProject#init for (self: Object, String, Model) */
252 void VIRTUAL_mproject__MProject__init(val* self, val* p0, val* p1) {
253 mproject__MProject__init(self, p0, p1); /* Direct call mproject#MProject#init on <self:Object(MProject)>*/
254 RET_LABEL:;
255 }
256 /* method mproject#MGroup#name for (self: MGroup): String */
257 val* mproject__MGroup__name(val* self) {
258 val* var /* : String */;
259 val* var1 /* : String */;
260 var1 = self->attrs[COLOR_mproject__MGroup___name].val; /* _name on <self:MGroup> */
261 if (unlikely(var1 == NULL)) {
262 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
263 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 56);
264 show_backtrace(1);
265 }
266 var = var1;
267 RET_LABEL:;
268 return var;
269 }
270 /* method mproject#MGroup#name for (self: Object): String */
271 val* VIRTUAL_mproject__MGroup__name(val* self) {
272 val* var /* : String */;
273 val* var1 /* : String */;
274 val* var3 /* : String */;
275 { /* Inline mproject#MGroup#name (self) on <self:Object(MGroup)> */
276 var3 = self->attrs[COLOR_mproject__MGroup___name].val; /* _name on <self:Object(MGroup)> */
277 if (unlikely(var3 == NULL)) {
278 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
279 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 56);
280 show_backtrace(1);
281 }
282 var1 = var3;
283 RET_LABEL2:(void)0;
284 }
285 var = var1;
286 RET_LABEL:;
287 return var;
288 }
289 /* method mproject#MGroup#name= for (self: MGroup, String) */
290 void mproject__MGroup__name_61d(val* self, val* p0) {
291 self->attrs[COLOR_mproject__MGroup___name].val = p0; /* _name on <self:MGroup> */
292 RET_LABEL:;
293 }
294 /* method mproject#MGroup#name= for (self: Object, String) */
295 void VIRTUAL_mproject__MGroup__name_61d(val* self, val* p0) {
296 { /* Inline mproject#MGroup#name= (self,p0) on <self:Object(MGroup)> */
297 self->attrs[COLOR_mproject__MGroup___name].val = p0; /* _name on <self:Object(MGroup)> */
298 RET_LABEL1:(void)0;
299 }
300 RET_LABEL:;
301 }
302 /* method mproject#MGroup#mproject for (self: MGroup): MProject */
303 val* mproject__MGroup__mproject(val* self) {
304 val* var /* : MProject */;
305 val* var1 /* : MProject */;
306 var1 = self->attrs[COLOR_mproject__MGroup___mproject].val; /* _mproject on <self:MGroup> */
307 if (unlikely(var1 == NULL)) {
308 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject");
309 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 60);
310 show_backtrace(1);
311 }
312 var = var1;
313 RET_LABEL:;
314 return var;
315 }
316 /* method mproject#MGroup#mproject for (self: Object): MProject */
317 val* VIRTUAL_mproject__MGroup__mproject(val* self) {
318 val* var /* : MProject */;
319 val* var1 /* : MProject */;
320 val* var3 /* : MProject */;
321 { /* Inline mproject#MGroup#mproject (self) on <self:Object(MGroup)> */
322 var3 = self->attrs[COLOR_mproject__MGroup___mproject].val; /* _mproject on <self:Object(MGroup)> */
323 if (unlikely(var3 == NULL)) {
324 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject");
325 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 60);
326 show_backtrace(1);
327 }
328 var1 = var3;
329 RET_LABEL2:(void)0;
330 }
331 var = var1;
332 RET_LABEL:;
333 return var;
334 }
335 /* method mproject#MGroup#mproject= for (self: MGroup, MProject) */
336 void mproject__MGroup__mproject_61d(val* self, val* p0) {
337 self->attrs[COLOR_mproject__MGroup___mproject].val = p0; /* _mproject on <self:MGroup> */
338 RET_LABEL:;
339 }
340 /* method mproject#MGroup#mproject= for (self: Object, MProject) */
341 void VIRTUAL_mproject__MGroup__mproject_61d(val* self, val* p0) {
342 { /* Inline mproject#MGroup#mproject= (self,p0) on <self:Object(MGroup)> */
343 self->attrs[COLOR_mproject__MGroup___mproject].val = p0; /* _mproject on <self:Object(MGroup)> */
344 RET_LABEL1:(void)0;
345 }
346 RET_LABEL:;
347 }
348 /* method mproject#MGroup#parent for (self: MGroup): nullable MGroup */
349 val* mproject__MGroup__parent(val* self) {
350 val* var /* : nullable MGroup */;
351 val* var1 /* : nullable MGroup */;
352 var1 = self->attrs[COLOR_mproject__MGroup___parent].val; /* _parent on <self:MGroup> */
353 var = var1;
354 RET_LABEL:;
355 return var;
356 }
357 /* method mproject#MGroup#parent for (self: Object): nullable MGroup */
358 val* VIRTUAL_mproject__MGroup__parent(val* self) {
359 val* var /* : nullable MGroup */;
360 val* var1 /* : nullable MGroup */;
361 val* var3 /* : nullable MGroup */;
362 { /* Inline mproject#MGroup#parent (self) on <self:Object(MGroup)> */
363 var3 = self->attrs[COLOR_mproject__MGroup___parent].val; /* _parent on <self:Object(MGroup)> */
364 var1 = var3;
365 RET_LABEL2:(void)0;
366 }
367 var = var1;
368 RET_LABEL:;
369 return var;
370 }
371 /* method mproject#MGroup#parent= for (self: MGroup, nullable MGroup) */
372 void mproject__MGroup__parent_61d(val* self, val* p0) {
373 self->attrs[COLOR_mproject__MGroup___parent].val = p0; /* _parent on <self:MGroup> */
374 RET_LABEL:;
375 }
376 /* method mproject#MGroup#parent= for (self: Object, nullable MGroup) */
377 void VIRTUAL_mproject__MGroup__parent_61d(val* self, val* p0) {
378 { /* Inline mproject#MGroup#parent= (self,p0) on <self:Object(MGroup)> */
379 self->attrs[COLOR_mproject__MGroup___parent].val = p0; /* _parent on <self:Object(MGroup)> */
380 RET_LABEL1:(void)0;
381 }
382 RET_LABEL:;
383 }
384 /* method mproject#MGroup#full_name for (self: MGroup): String */
385 val* mproject__MGroup__full_name(val* self) {
386 val* var /* : String */;
387 val* var1 /* : nullable MGroup */;
388 val* var3 /* : nullable MGroup */;
389 val* var_p /* var p: nullable MGroup */;
390 val* var4 /* : null */;
391 short int var5 /* : Bool */;
392 short int var6 /* : Bool */;
393 val* var_other /* var other: nullable Object */;
394 short int var8 /* : Bool */;
395 short int var10 /* : Bool */;
396 val* var11 /* : String */;
397 val* var13 /* : String */;
398 val* var14 /* : String */;
399 static val* varonce;
400 val* var15 /* : String */;
401 char* var16 /* : NativeString */;
402 long var17 /* : Int */;
403 val* var18 /* : FlatString */;
404 val* var19 /* : String */;
405 val* var21 /* : String */;
406 val* var22 /* : Array[Object] */;
407 long var23 /* : Int */;
408 val* var24 /* : NativeArray[Object] */;
409 val* var25 /* : String */;
410 {
411 { /* Inline mproject#MGroup#parent (self) on <self:MGroup> */
412 var3 = self->attrs[COLOR_mproject__MGroup___parent].val; /* _parent on <self:MGroup> */
413 var1 = var3;
414 RET_LABEL2:(void)0;
415 }
416 }
417 var_p = var1;
418 var4 = NULL;
419 if (var_p == NULL) {
420 var5 = 1; /* is null */
421 } else {
422 var5 = 0; /* arg is null but recv is not */
423 }
424 if (0) {
425 { /* Inline kernel#Object#== (var_p,var4) on <var_p:nullable MGroup> */
426 var_other = var4;
427 {
428 { /* Inline kernel#Object#is_same_instance (var_p,var_other) on <var_p:nullable MGroup(MGroup)> */
429 var10 = var_p == var_other;
430 var8 = var10;
431 goto RET_LABEL9;
432 RET_LABEL9:(void)0;
433 }
434 }
435 var6 = var8;
436 goto RET_LABEL7;
437 RET_LABEL7:(void)0;
438 }
439 var5 = var6;
440 }
441 if (var5){
442 {
443 { /* Inline mproject#MGroup#name (self) on <self:MGroup> */
444 var13 = self->attrs[COLOR_mproject__MGroup___name].val; /* _name on <self:MGroup> */
445 if (unlikely(var13 == NULL)) {
446 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
447 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 56);
448 show_backtrace(1);
449 }
450 var11 = var13;
451 RET_LABEL12:(void)0;
452 }
453 }
454 var = var11;
455 goto RET_LABEL;
456 } else {
457 }
458 {
459 var14 = mproject__MGroup__full_name(var_p);
460 }
461 if (varonce) {
462 var15 = varonce;
463 } else {
464 var16 = "/";
465 var17 = 1;
466 var18 = string__NativeString__to_s_with_length(var16, var17);
467 var15 = var18;
468 varonce = var15;
469 }
470 {
471 { /* Inline mproject#MGroup#name (self) on <self:MGroup> */
472 var21 = self->attrs[COLOR_mproject__MGroup___name].val; /* _name on <self:MGroup> */
473 if (unlikely(var21 == NULL)) {
474 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
475 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 56);
476 show_backtrace(1);
477 }
478 var19 = var21;
479 RET_LABEL20:(void)0;
480 }
481 }
482 var22 = NEW_array__Array(&type_array__Arraykernel__Object);
483 { /* var22 = array_instance Array[Object] */
484 var23 = 3;
485 var24 = NEW_array__NativeArray(var23, &type_array__NativeArraykernel__Object);
486 ((struct instance_array__NativeArray*)var24)->values[0] = (val*) var14;
487 ((struct instance_array__NativeArray*)var24)->values[1] = (val*) var15;
488 ((struct instance_array__NativeArray*)var24)->values[2] = (val*) var19;
489 {
490 ((void (*)(val*, val*, long))(var22->class->vft[COLOR_array__Array__with_native]))(var22, var24, var23) /* with_native on <var22:Array[Object]>*/;
491 }
492 }
493 {
494 var25 = ((val* (*)(val*))(var22->class->vft[COLOR_string__Object__to_s]))(var22) /* to_s on <var22:Array[Object]>*/;
495 }
496 var = var25;
497 goto RET_LABEL;
498 RET_LABEL:;
499 return var;
500 }
501 /* method mproject#MGroup#full_name for (self: Object): String */
502 val* VIRTUAL_mproject__MGroup__full_name(val* self) {
503 val* var /* : String */;
504 val* var1 /* : String */;
505 var1 = mproject__MGroup__full_name(self);
506 var = var1;
507 RET_LABEL:;
508 return var;
509 }
510 /* method mproject#MGroup#in_nesting= for (self: MGroup, POSetElement[MGroup]) */
511 void mproject__MGroup__in_nesting_61d(val* self, val* p0) {
512 self->attrs[COLOR_mproject__MGroup___in_nesting].val = p0; /* _in_nesting on <self:MGroup> */
513 RET_LABEL:;
514 }
515 /* method mproject#MGroup#in_nesting= for (self: Object, POSetElement[MGroup]) */
516 void VIRTUAL_mproject__MGroup__in_nesting_61d(val* self, val* p0) {
517 { /* Inline mproject#MGroup#in_nesting= (self,p0) on <self:Object(MGroup)> */
518 self->attrs[COLOR_mproject__MGroup___in_nesting].val = p0; /* _in_nesting on <self:Object(MGroup)> */
519 RET_LABEL1:(void)0;
520 }
521 RET_LABEL:;
522 }
523 /* method mproject#MGroup#filepath for (self: MGroup): nullable String */
524 val* mproject__MGroup__filepath(val* self) {
525 val* var /* : nullable String */;
526 val* var1 /* : nullable String */;
527 var1 = self->attrs[COLOR_mproject__MGroup___filepath].val; /* _filepath on <self:MGroup> */
528 var = var1;
529 RET_LABEL:;
530 return var;
531 }
532 /* method mproject#MGroup#filepath for (self: Object): nullable String */
533 val* VIRTUAL_mproject__MGroup__filepath(val* self) {
534 val* var /* : nullable String */;
535 val* var1 /* : nullable String */;
536 val* var3 /* : nullable String */;
537 { /* Inline mproject#MGroup#filepath (self) on <self:Object(MGroup)> */
538 var3 = self->attrs[COLOR_mproject__MGroup___filepath].val; /* _filepath on <self:Object(MGroup)> */
539 var1 = var3;
540 RET_LABEL2:(void)0;
541 }
542 var = var1;
543 RET_LABEL:;
544 return var;
545 }
546 /* method mproject#MGroup#filepath= for (self: MGroup, nullable String) */
547 void mproject__MGroup__filepath_61d(val* self, val* p0) {
548 self->attrs[COLOR_mproject__MGroup___filepath].val = p0; /* _filepath on <self:MGroup> */
549 RET_LABEL:;
550 }
551 /* method mproject#MGroup#filepath= for (self: Object, nullable String) */
552 void VIRTUAL_mproject__MGroup__filepath_61d(val* self, val* p0) {
553 { /* Inline mproject#MGroup#filepath= (self,p0) on <self:Object(MGroup)> */
554 self->attrs[COLOR_mproject__MGroup___filepath].val = p0; /* _filepath on <self:Object(MGroup)> */
555 RET_LABEL1:(void)0;
556 }
557 RET_LABEL:;
558 }
559 /* method mproject#MGroup#init for (self: MGroup, String, MProject, nullable MGroup) */
560 void mproject__MGroup__init(val* self, val* p0, val* p1, val* p2) {
561 val* var_name /* var name: String */;
562 val* var_mproject /* var mproject: MProject */;
563 val* var_parent /* var parent: nullable MGroup */;
564 val* var /* : POSet[MGroup] */;
565 val* var5 /* : POSet[MGroup] */;
566 val* var_tree /* var tree: POSet[MGroup] */;
567 val* var6 /* : POSetElement[Object] */;
568 val* var8 /* : null */;
569 short int var9 /* : Bool */;
570 short int var10 /* : Bool */;
571 val* var_other /* var other: nullable Object */;
572 short int var12 /* : Bool */;
573 short int var13 /* : Bool */;
574 short int var14 /* : Bool */;
575 {
576 ((void (*)(val*))(self->class->vft[COLOR_kernel__Object__init]))(self) /* init on <self:MGroup>*/;
577 }
578 var_name = p0;
579 var_mproject = p1;
580 var_parent = p2;
581 {
582 { /* Inline mproject#MGroup#name= (self,var_name) on <self:MGroup> */
583 self->attrs[COLOR_mproject__MGroup___name].val = var_name; /* _name on <self:MGroup> */
584 RET_LABEL1:(void)0;
585 }
586 }
587 {
588 { /* Inline mproject#MGroup#mproject= (self,var_mproject) on <self:MGroup> */
589 self->attrs[COLOR_mproject__MGroup___mproject].val = var_mproject; /* _mproject on <self:MGroup> */
590 RET_LABEL2:(void)0;
591 }
592 }
593 {
594 { /* Inline mproject#MGroup#parent= (self,var_parent) on <self:MGroup> */
595 self->attrs[COLOR_mproject__MGroup___parent].val = var_parent; /* _parent on <self:MGroup> */
596 RET_LABEL3:(void)0;
597 }
598 }
599 {
600 { /* Inline mproject#MProject#mgroups (var_mproject) on <var_mproject:MProject> */
601 var5 = var_mproject->attrs[COLOR_mproject__MProject___mgroups].val; /* _mgroups on <var_mproject:MProject> */
602 if (unlikely(var5 == NULL)) {
603 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
604 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 35);
605 show_backtrace(1);
606 }
607 var = var5;
608 RET_LABEL4:(void)0;
609 }
610 }
611 var_tree = var;
612 {
613 var6 = poset__POSet__add_node(var_tree, self);
614 }
615 {
616 { /* Inline mproject#MGroup#in_nesting= (self,var6) on <self:MGroup> */
617 self->attrs[COLOR_mproject__MGroup___in_nesting].val = var6; /* _in_nesting on <self:MGroup> */
618 RET_LABEL7:(void)0;
619 }
620 }
621 var8 = NULL;
622 if (var_parent == NULL) {
623 var9 = 0; /* is null */
624 } else {
625 var9 = 1; /* arg is null and recv is not */
626 }
627 if (0) {
628 { /* Inline kernel#Object#!= (var_parent,var8) on <var_parent:nullable MGroup> */
629 var_other = var8;
630 {
631 var13 = ((short int (*)(val*, val*))(var_parent->class->vft[COLOR_kernel__Object___61d_61d]))(var_parent, var_other) /* == on <var_parent:nullable MGroup(MGroup)>*/;
632 var12 = var13;
633 }
634 var14 = !var12;
635 var10 = var14;
636 goto RET_LABEL11;
637 RET_LABEL11:(void)0;
638 }
639 var9 = var10;
640 }
641 if (var9){
642 {
643 poset__POSet__add_edge(var_tree, self, var_parent); /* Direct call poset#POSet#add_edge on <var_tree:POSet[MGroup]>*/
644 }
645 } else {
646 }
647 RET_LABEL:;
648 }
649 /* method mproject#MGroup#init for (self: Object, String, MProject, nullable MGroup) */
650 void VIRTUAL_mproject__MGroup__init(val* self, val* p0, val* p1, val* p2) {
651 mproject__MGroup__init(self, p0, p1, p2); /* Direct call mproject#MGroup#init on <self:Object(MGroup)>*/
652 RET_LABEL:;
653 }
654 /* method mproject#MGroup#model for (self: MGroup): Model */
655 val* mproject__MGroup__model(val* self) {
656 val* var /* : Model */;
657 val* var1 /* : MProject */;
658 val* var3 /* : MProject */;
659 val* var4 /* : Model */;
660 val* var6 /* : Model */;
661 {
662 { /* Inline mproject#MGroup#mproject (self) on <self:MGroup> */
663 var3 = self->attrs[COLOR_mproject__MGroup___mproject].val; /* _mproject on <self:MGroup> */
664 if (unlikely(var3 == NULL)) {
665 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject");
666 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 60);
667 show_backtrace(1);
668 }
669 var1 = var3;
670 RET_LABEL2:(void)0;
671 }
672 }
673 {
674 { /* Inline mproject#MProject#model (var1) on <var1:MProject> */
675 var6 = var1->attrs[COLOR_mproject__MProject___model].val; /* _model on <var1:MProject> */
676 if (unlikely(var6 == NULL)) {
677 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
678 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 29);
679 show_backtrace(1);
680 }
681 var4 = var6;
682 RET_LABEL5:(void)0;
683 }
684 }
685 var = var4;
686 goto RET_LABEL;
687 RET_LABEL:;
688 return var;
689 }
690 /* method mproject#MGroup#model for (self: Object): Model */
691 val* VIRTUAL_mproject__MGroup__model(val* self) {
692 val* var /* : Model */;
693 val* var1 /* : Model */;
694 var1 = mproject__MGroup__model(self);
695 var = var1;
696 RET_LABEL:;
697 return var;
698 }
699 /* method mproject#MGroup#to_s for (self: MGroup): String */
700 val* mproject__MGroup__to_s(val* self) {
701 val* var /* : String */;
702 val* var1 /* : String */;
703 val* var3 /* : String */;
704 {
705 { /* Inline mproject#MGroup#name (self) on <self:MGroup> */
706 var3 = self->attrs[COLOR_mproject__MGroup___name].val; /* _name on <self:MGroup> */
707 if (unlikely(var3 == NULL)) {
708 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
709 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 56);
710 show_backtrace(1);
711 }
712 var1 = var3;
713 RET_LABEL2:(void)0;
714 }
715 }
716 var = var1;
717 goto RET_LABEL;
718 RET_LABEL:;
719 return var;
720 }
721 /* method mproject#MGroup#to_s for (self: Object): String */
722 val* VIRTUAL_mproject__MGroup__to_s(val* self) {
723 val* var /* : String */;
724 val* var1 /* : String */;
725 var1 = mproject__MGroup__to_s(self);
726 var = var1;
727 RET_LABEL:;
728 return var;
729 }
730 /* method mproject#Model#mprojects for (self: Model): Array[MProject] */
731 val* mproject__Model__mprojects(val* self) {
732 val* var /* : Array[MProject] */;
733 val* var1 /* : Array[MProject] */;
734 var1 = self->attrs[COLOR_mproject__Model___mprojects].val; /* _mprojects on <self:Model> */
735 if (unlikely(var1 == NULL)) {
736 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprojects");
737 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 109);
738 show_backtrace(1);
739 }
740 var = var1;
741 RET_LABEL:;
742 return var;
743 }
744 /* method mproject#Model#mprojects for (self: Object): Array[MProject] */
745 val* VIRTUAL_mproject__Model__mprojects(val* self) {
746 val* var /* : Array[MProject] */;
747 val* var1 /* : Array[MProject] */;
748 val* var3 /* : Array[MProject] */;
749 { /* Inline mproject#Model#mprojects (self) on <self:Object(Model)> */
750 var3 = self->attrs[COLOR_mproject__Model___mprojects].val; /* _mprojects on <self:Object(Model)> */
751 if (unlikely(var3 == NULL)) {
752 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprojects");
753 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 109);
754 show_backtrace(1);
755 }
756 var1 = var3;
757 RET_LABEL2:(void)0;
758 }
759 var = var1;
760 RET_LABEL:;
761 return var;
762 }
763 /* method mproject#Model#mproject_by_name for (self: Model): MultiHashMap[String, MProject] */
764 val* mproject__Model__mproject_by_name(val* self) {
765 val* var /* : MultiHashMap[String, MProject] */;
766 val* var1 /* : MultiHashMap[String, MProject] */;
767 var1 = self->attrs[COLOR_mproject__Model___mproject_by_name].val; /* _mproject_by_name on <self:Model> */
768 if (unlikely(var1 == NULL)) {
769 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject_by_name");
770 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 112);
771 show_backtrace(1);
772 }
773 var = var1;
774 RET_LABEL:;
775 return var;
776 }
777 /* method mproject#Model#mproject_by_name for (self: Object): MultiHashMap[String, MProject] */
778 val* VIRTUAL_mproject__Model__mproject_by_name(val* self) {
779 val* var /* : MultiHashMap[String, MProject] */;
780 val* var1 /* : MultiHashMap[String, MProject] */;
781 val* var3 /* : MultiHashMap[String, MProject] */;
782 { /* Inline mproject#Model#mproject_by_name (self) on <self:Object(Model)> */
783 var3 = self->attrs[COLOR_mproject__Model___mproject_by_name].val; /* _mproject_by_name on <self:Object(Model)> */
784 if (unlikely(var3 == NULL)) {
785 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject_by_name");
786 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 112);
787 show_backtrace(1);
788 }
789 var1 = var3;
790 RET_LABEL2:(void)0;
791 }
792 var = var1;
793 RET_LABEL:;
794 return var;
795 }